Skip to content
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

Is. #748 - Implement snap packaging #749

Closed
wants to merge 1 commit into from

Conversation

brlin-tw
Copy link
Contributor

@brlin-tw brlin-tw commented Aug 23, 2018

Snaps are universal Linux packages that can be installed and run on
multiple GNU+Linux distributions with ease. This patch implements the
necessary files to build tidy as a snap.

Refer-to: Snapcraft - Snaps are universal Linux packages
https://snapcraft.io
Intent-To-Package: Snaps are Universal Linux Packages · Issue #748 · htacg/tidy-html5
#748
Conforming-to: tidy-html5/CONTRIBUTING.md at next · htacg/tidy-html5
https://github.com/htacg/tidy-html5/blob/next/README/CONTRIBUTING.md
Conforming-to: tidy-html5/CODESTYLE.md at next · htacg/tidy-html5
https://github.com/htacg/tidy-html5/blob/next/README/CODESTYLE.md
Signed-off-by: 林博仁(Buo-ren, Lin) [email protected]

@brlin-tw brlin-tw force-pushed the impl-snap-packaging branch 3 times, most recently from 470a4fc to 999ac6b Compare August 23, 2018 03:07
Snaps are universal Linux packages that can be installed and run on
multiple GNU+Linux distributions with ease.  This patch implements the
necessary files to build tidy as a snap.

Refer-to: Snapcraft - Snaps are universal Linux packages
<https://snapcraft.io>
Intent-To-Package: Snaps are Universal Linux Packages · Issue htacg#748 ·
htacg/tidy-html5
<htacg#748>
Conforming-to: tidy-html5/CONTRIBUTING.md at next · htacg/tidy-html5
<https://github.com/htacg/tidy-html5/blob/next/README/CONTRIBUTING.md>
Conforming-to: tidy-html5/CODESTYLE.md at next · htacg/tidy-html5
<https://github.com/htacg/tidy-html5/blob/next/README/CODESTYLE.md>
Signed-off-by: 林博仁(Buo-ren, Lin) <[email protected]>
@balthisar
Copy link
Member

@Lin-Buo-Ren, I'd rather give you access to another repository under htacg, if you're willing to maintain this. Tidy does not distribute on any platform, and we can't take responsibility for every different distribution means that is out there. For example, you'll see that someone else maintains the Linux distros, Chocolately, homebrew, etc.

We do have build options in our CMakeLists.txt file that helps with various distros, however, and if you can come up with a pure cmake solution for snap, or want to add something to the CMakeLists.txt that makes it easier to distribute to snap from another repo, then that would be much, much more appropriate.

@brlin-tw
Copy link
Contributor Author

brlin-tw commented Oct 7, 2018

Apologies for the delay.

Although it is definitely possible to publish the snap in a separate repository I would like to ask for a reconsideration of taking over the maintenance of the snap package.

In contrast to traditional packaging systems packages, snap packages can be installed on a broad range of Linux distributions that can run snapd, this makes it a suitable release target to be featured in the HTML Tidy Binary Releases page and provides an up-to-date and aligned experience to the users. With the continuous integration and delivery setup it is also easier to let the user test changes in the latest development snapshots by simply telling them to install the package via the automatic publishing edge channel with a simple command:

sudo snap refresh --channel=edge tidy

The snap technology is built for the upstream, in addition to the release channels, it provides tracks that enable developers to publish multiple supported releases of their application under the same name. By using this feature you can provide releases of both master and next branch as a track simultaneously with 4 independent release channels for QA purposes.

Last but not least the packaging of this snap is, in fact, the simplest one I have ever done and only took me less than one day to set it up into a usable state. It would really be a pity if you don't take over the maintenance.

I appreciate your offer of providing the separate GitHub repository under the HTACG organization, but currently due to the limitation of the build infrastructure on build.snapcraft.io the automatic build and publish of edge channel snaps is only possible when the packaging files and the snapped app's source are in the same repository AND the snap publisher has the write access to the repository.

@brlin-tw
Copy link
Contributor Author

brlin-tw commented Nov 28, 2018

I'm currently proposing of acquiring a webhook that can be set in the upstream's repository for triggering automatic third party snap build on every push and would like to ask if you're willing to set up one if it's available.

@geoffmcl
Copy link
Contributor

@Lin-Buo-Ren, agree with the comments of @balthisar, this should not be in this main tidy repo, but maybe other arrangements could be made... sorry...

Accordingly, closing this PR for now, and the associated issue #748... thanks...

@geoffmcl geoffmcl closed this Nov 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants