Skip to content

Publish tidy-html5 to package managers #120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mcandre opened this issue Jul 30, 2014 · 37 comments
Closed

Publish tidy-html5 to package managers #120

mcandre opened this issue Jul 30, 2014 · 37 comments

Comments

@mcandre
Copy link

mcandre commented Jul 30, 2014

I'm not sure how long before the original tidy maintainers decide to merge in our HTML5 support.

In the mean time, could we publish our own binary (tidy-html5) and package (also tidy-html5), such as on the Debian, RedHat, Homebrew, and Chocolatey repositories?

@balthisar
Copy link
Member

Given that the last commit to the official repo on SF is more than five years old, I think that the original maintainers have let the project wither. This repo, despite the 'experimental' monicker is released under the auspices of the W3C, so it's probably about as official as it will get.

I would suggest that we remove the "experimental" description from this repo.

Clearly this repo would benefit from having a more closely tied maintainer, but (a) I'm not sure if w3c is looking for one, and (b) no one seems to have volunteered.

There are several useful pending pull requests that I've merged into my own fork (not sure if I've pushed them up yet), but I'm not sure that we're enough of a community to vet the contributions at a level that the original devs would. I guess time will tell (current Balthisar Tidy uses most of the non-merged PR's currently, and I'm not getting bug reports related to Tidy).

As for *nix distros, taking Ubuntu for example, it sounds like you'd like to see newer Tidy in, say, Main or Universe, but that's a decision someone at Canonical makes. Of course you can can always maintain your own distribution and even set up your own repo, but that's not much of an advantage. I don't see that w3c has it's own Ubuntu repo, and I don't know remember enough about other Linux distros these days to recall their own particular distribution mechanisms.

I don't immediately see a Tidy for Mac Homebrew -- maybe I could contribute there, or feel free to contribute! It looks like there's a maintainer for Macports, but stable is at least a couple of years old.

Ubuntu 14.04 (Main or Universe, didn't check) installs "HTML Tidy for Linux released on 25 March 2009"

And Mac OS X Mavericks is even worse: "HTML Tidy for Mac OS X released on 31 October 2006 - Apple Inc. build 15.12"

Any of use could distribute an updated binary, but we're not the WC3, we're just some guys on the internet.

@sierkb
Copy link

sierkb commented Jul 31, 2014

It looks like there's a maintainer for Macports, but stable is at least a couple of years old.

See https://trac.macports.org/changeset/96009

And Mac OS X Mavericks is even worse: "HTML Tidy for Mac OS X released on 31 October 2006 - Apple Inc. build 15.12"

See Apple Radar ticket: rdar://6376494 resp. Open Radar ticket 6376494: http://openradar.appspot.com/6376494

@jyasskin
Copy link

Homebrew is waiting for a "stable" release: Homebrew/legacy-homebrew#17082

@balthisar
Copy link
Member

As soon as we have roadmap we can make plans for a stable release. Hopefully package managers will be able to update their distributions then.

@geoffmcl
Copy link
Contributor

With develop-500 branch available for testing I hope we can consider a release in short order, perhaps 1-2 weeks...

When we reach that point, I know very little about how to encourage package manager to post the latest, so need help, pointers on this...

And I know less about where, how to setup a MAC OS X release... where, what, etc...

And then there is a question of where to put Windows binaries? And what binaries to put there, aside from the obvious 32-bit and 64-bit favours? But...

So again would appreciate discussion on this, but perhaps all this should be moved to the public-htacg list, or all lists?

@mcandre
Copy link
Author

mcandre commented Jan 24, 2015

Windows packages go on Chocolatey!

https://chocolatey.org/

On Sat, Jan 24, 2015 at 11:21 AM, Geoff McLane notifications@github.com
wrote:

With develop-500 branch available for testing I hope we can consider a
release in short order, perhaps 1-2 weeks...

When we reach that point, I know very little about how to encourage
package manager to post the latest, so need help, pointers on this...

And I know less about where, how to setup a MAC OS X release... where,
what, etc...

And then there is a question of where to put Windows binaries? And what
binaries to put there, aside from the obvious 32-bit and 64-bit favours?
But...

So again would appreciate discussion on this, but perhaps all this should
be moved to the public-htacg list, or all lists?


Reply to this email directly or view it on GitHub
#120 (comment).

Cheers,

Andrew Pennebaker
www.yellosoft.us

@geoffmcl
Copy link
Contributor

Thanks, will try to check out https://chocolatey.org/ but requires I 'join'...
Is any tidy contributor already a member, and could handle this?
And what about other windows release site?

@balthisar
Copy link
Member

Reference material.

This is definitely a goal of the project and I'll look into it a lot closer once 5.0.0 releases.

@deviantintegral
Copy link

Once we have a stable release I'll be glad to redo my Homebrew PR so we can get it in there.

@pedromorgan
Copy link
Contributor

Is this project intending to use cpack ?

@balthisar
Copy link
Member

@deviantintegral, homebrew would be great for us Mac users.
@pedromorgan, yes, cpack.

@pedromorgan
Copy link
Contributor

A quick cpack patch for linux
#174

@thierry-FreeBSD
Copy link

Port (and package) for FreeBSD: http://www.freshports.org/www/tidy-html5/

@pedromorgan
Copy link
Contributor

And jenkins build linux
http://jenkins.freeflightsim.org/view/tidy5/job/tidy5-linux-32/
http://jenkins.freeflightsim.org/view/tidy5/job/tidy5-linux-64/

If anyones got a Mac that can be used as slave,, let me know

@deviantintegral
Copy link

I see develop-500 was merged to master, and version.txt has been updated since. Should we consider any commit with a version bump to be a stable release?

Can we start getting git tags here, so github will generate a tarball? That will simplify inclusion in homebrew.

@deviantintegral
Copy link

Here's a Homebrew formula that works against the git repo - I'm waiting to submit it based on my question above.

https://github.com/Homebrew/homebrew/compare/master...deviantintegral:tidy-html5?expand=1

@geoffmcl
Copy link
Contributor

@deviantintegral, the simple answer is YES! With emphasis on 'stable', but not perfect...

At this moment the master and develop-500 branches are being kept equal...

We are getting close to the first 5.0.0RC1 release. At this point are trying to take great care that each 'fix' pushed has no other consequences... That is lots of quick backward compatible tests are done... We are still working on 'standardising' these unit tests, so it is not so easy at the moment...

Over the following few days we will try to review ALL issues, open and closed, and if we do not find anything that could be called a 'show stopper', will bump the version to 5.0.0RC1... And will create a
v5.0.0 branch and tag...

Just for the moment some pretty print output issues will be put on the backburner, trying to concentrate on tag/element html5/html4 issues... but these will be picked up again later...

We are also still working on providing our own binary download page binaries. You will note it will include a source zip, and hopefully also a tar.gz... each matching the version.txt file in the source.

This page will always just be in addition to other, more established 'package managers'... and your help with this is much appreciated... I am afraid I have no person understanding of 'homebrew', but advise any way I can help!

We certainly hope everyone will pitch in with testing and re-testing, and help with other release candidate steps...

@strider72
Copy link

Just had a conversation with MacPorts over IRC regarding their very old version (c 2012) of Tidy. Showed them this project. They replied that they can update it, but it's easier from their end if releases are tagged in GitHub, because: "a tarball can be easily fetched for every tag and our mechanism for detecting new version basically consists of looking at 'release' tarballs or tags. so one tag per new release would be immensely helpful."

Maybe you already know all this -- just adding my two bits. Please add tags so that I can use MacPorts to manage Tidy for me. Thank you.

Note: I added a ticket to MacPorts' Trac system, so they should be keeping an eye on this project going forward: https://trac.macports.org/ticket/47387

@Ionic
Copy link

Ionic commented Apr 9, 2015

N.B.: if you don't want to create git tags or 'releases' but prefer to release binaries and source on www.htacg.org, that's fine. But PLEASE stabilize one of those methods, so that version checker scripts can utilize this information (and packagers don't need to use date-versions due to no source tarballs or git tags for specific versions being available.)

@strider72
Copy link

FYI, Ionic is one of the MacPorts folks. :-) ^^

@mcandre
Copy link
Author

mcandre commented Apr 9, 2015

Yes, preferably git tags!

For each version:

$ git checkout
$ git tag -a -m

Then:

$ git push --tags

On Wed, Apr 8, 2015 at 8:27 PM, Stephen Rider notifications@github.com
wrote:

FYI, Ionic is one of the MacPorts folks. :-) ^^


Reply to this email directly or view it on GitHub
#120 (comment).

Cheers,

Andrew Pennebaker
www.yellosoft.us

@geoffmcl
Copy link
Contributor

@mcandre , @Ionic , @strider72 , ... so I have started to try to add tags, but since I am not quite sure how this helps, not sure I am doing it right...

Please check and advise...

And am still experimenting with adding a set of binaries to http://www.htacg.org/binaries ...

Look forward to advice on what else to do in this process... thanks...

@Ionic
Copy link

Ionic commented Apr 25, 2015

Looks okay.

I'd advise to keep the scheme stable, i.e., stay with just version.

Other than that, I recommend tagging a "release commit" instead of a "random commit". For example, increment the version in for instance version.txt and commit that with a message like "Release <version>". Tag this commit explicitly as <version>.

In the project I maintain, I usually do something else. I still create a release commit and tag that, but do not increment the version in that commit. Instead, I increment the version afterwards with the next commit entitled "Continue development". This is mostly due to using debian/changelog as the main changelog, which is manually edited (i.e., not generated from git history.)

It's really just a deviation, though, so do whatever suits your needs best. I'd side with the original recommendation.

@mcandre
Copy link
Author

mcandre commented Apr 27, 2015

@geoffmcl

Tagging release versions is generally a good idea (see semver).

In addition, I have hopes of Homebrew and other package managers making this project easy to install for non-developers. Package managers like Homebrew prefer to point to tagged versions so that users get more control over which specific versions of software they want to install.

@geoffmcl
Copy link
Contributor

@Ionic well, your post started ok with Looks okay ;=)), but after that confused me... and @mcandre, as can be seen below we are more or less following semver.

Just to explain the current idea. We are at a unique point with this repo in that we have yet to declare an 'official' release, although for quite some time now the code here has been very stable. with quite extensive html5 support, we might even suggest complete, while maintaining html4-- support!

When we do eventually declare a release we will create say a release/5.0.0 branch, and a similar release/5.0.0 tag.

At that point version.txt will be set to 5.1.0. That is the master branch will contain the ongoing development. Any subsequent good bug fixes found for some time after that will be carefully tested and push back (cherry picked I think is the correct term) into the release/5.0.0, making it 5.0.1...

And as now, just about each fix, or feature addition to the master will bump the version to 5.1.1, 5.1.2, 5.1.3, and so on... even 5.1.4567 if necessary ;=)).

When we are ready for the next release, say some 6 months or so later, then a branch release/5.2.0 would be created, and tagged, and the master version.txt moved on to 5.3.0, and so on...

That is, each release will have an even second digit, followed by .0, unless any subsequent fixes are pushed back, making it .1, ... probably not many of those... while the master develoment HEAD will have an odd second digit, followed by .0, incremented for just about each significant code change...

The intial digit 5 will be maintained while the TidyLib API remains fully compatible, although there may be additions, extensions, as and when these are identified...

Got this even = releases, 'odd' = development from reading a few unix articles on various versioning sequences, agrees in general with semver, and feel this is quite suitable. But, as always, open to discussion...

And throughout this, every effort will be made to keep master stable at all times, but would expect package managers to eventually really only pick up on the release branches, tags. But as @mcandre suggested in the intial post here, due to the time elapsed since the last tidy release, it would be good to get something out there now!

In cases of significant code re-writes, major featues added, would propose this be done in branches until they are stable enought, and tested enough, to be merge back to master.

Of course this all relates to this HTACG repository. We are in ongoing discussions with the maintainers of the sourceforge repo, but this has been slow, with some reluctance on their part. Well, of the 3 have never heard from two of them, so is really presently only 1 active.

When, and if, this joining is completed, the sourceforge repo would be moved from CVS to git, and brought completely up to date, and kept that way. Or alternatively closing one or the other... but this is still into the future... for now we are here...

So we too hope package managers will help us make Tidy fully available to a wider audience, starting now if possible... And we will do what we can to make this as painless as possible.

Sorry for the longish post, but this is an important topic - packaging and releases.

@geoffmcl
Copy link
Contributor

I am now trying to remember to push a tag each time I bump the version. But may need a reminder every now and then ;=))

Since there have been no further comment for many weeks am closing this for now, but feel free to re-open or post a new issue...

@strider72
Copy link

Not sure if this should be re-opened or a new thread, but Tidy is still not updating at MacPorts. Currently at 5.0.0.
Would appreciate if tagging was fixed so that package managers could notice the updates properly.

@geoffmcl
Copy link
Contributor

@strider72 thanks for the tag reminder... I had forgotten...

Just pushed tag 5.1.24, with lots of fixes, a few new features, and as always very stable

Do I need to do more?

@geoffmcl geoffmcl reopened this Nov 21, 2015
@balthisar
Copy link
Member

Do I need to do more?

@geoffmcl, Nope, but I did. Added new Mac binary installer to http://binaries.html-tidy.org/.

@geoffmcl
Copy link
Contributor

@balthisar many thanks, but as can happen I was already working on 5.1.25, now published, after fixing a few of my scripts that help me do this...

So should I try to generate a 5.1.24 set to match, or could you now add an OS X 5.1.25, and maybe delete 5.1.24?

I guess this can always happen. I was thinking 5.1.24 was a very good candidate just until I found a fix for #307, a regression... you sort of never know what great things are just around the corner!

@strider72
Copy link

It's still not updating on MacPorts. I don't know what precisely needs to happen here, (I use MacPorts so I don't have to deal with this stuff! ;-) ), but as a reminder, here is the original ticket I added on that site, which I believe does have info as to what their app expects in terms of releases; https://trac.macports.org/ticket/47387

@geoffmcl
Copy link
Contributor

geoffmcl commented Dec 5, 2015

@strider72 maybe @ryandesign (#192) could look at this. I think I now have the release tagging right!

first release: https://github.com/htacg/tidy-html5/releases/tag/5.0.0
last release: https://github.com/htacg/tidy-html5/releases/tag/5.1.25

The master (stable) branch is now at 5.1.31 and we are considering another release shortly... hopefully within this month...

At least I know of one distribution that is up-to-date - AUR - this was done virtually the same day I pushed the TAG... thanks @arthru

We just wish we could get all distros to update! And stay up-to-date...

@ryandesign
Copy link

MacPorts has 5.0.0, which is the latest release listed on the releases page of this github project.

@geoffmcl
Copy link
Contributor

geoffmcl commented Dec 5, 2015

@ryandesign sorry been forgetting some pieces... thanks for the reminder...

@arthru
Copy link

arthru commented Dec 7, 2015

Just to let you know that I subscribed to the tag feed of the project (https://github.com/htacg/tidy-html5/tags.atom), and I try to package new versions for ArchLinux as soon as I can.

@balthisar
Copy link
Member

Pinging everyone here: @mcandre, @sierkb, @jyasskin, @deviantintegral, @pedromorgan, @thierry-FreeBSD, @strider72, @Ionic, @ryandesign, @arthru

We've had luck so far getting update in some repositories, and not others, and I'd like to take an inventory of where we have still not been successful.

This single bug "Publish tidy-html5 to package managers" is overwhelming and not convenient to manage, and leaves no possibility for closure.

Instead, may I ask that any of you that have an interest in a particular package manager open an issue for that package manager specifically? It will be much more convenient to manage them one-by-one than try to keep up with a large, mixed thread such as this.

I'll close this issue and I look forward to seeing many issues replace it!

@mcandre
Copy link
Author

mcandre commented Jan 25, 2016

#354, #355, #356, #357

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests