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

Implement snap packaging, snaps are universal linux packages #170

Merged
merged 1 commit into from Mar 1, 2019

Conversation

brlin-tw
Copy link
Contributor

This patch implements the necessary details to package gallery-dl as a snap that can be run on a broad range of supporting GNU/Linux distributions[1].

[1] https://snapcraft.io/

Signed-off-by: 林博仁(Buo-ren Lin) Buo.Ren.Lin@gmail.com

This patch implements the necessary details to package gallery-dl as a snap that can be run on a broad range of supporting GNU/Linux distributions[1].

[1] https://snapcraft.io/

Signed-off-by: 林博仁(Buo-ren Lin) <Buo.Ren.Lin@gmail.com>
@mikf
Copy link
Owner

mikf commented Feb 22, 2019

You should add the necessary commands to build and upload the snap package to scripts/release.sh. That's what I run to release a new version on GitHub and PyPI.

Speaking of, wouldn't it be better to get a source tarball from the GitHub release (same as the AUR package) or PyPI instead of forking the whole repo?

Also is all that workaround stuff really needed to launch a simple Python program? For example the SNAP_ARCH_TRIPLET thing seems rather useless to me, but maybe that's an Ubuntu&co thing. On my system all libraries are simply in /usr/lib, so the PulseAudio library you are using this for can be found at /usr/lib/libpulse.so.

@brlin-tw
Copy link
Contributor Author

brlin-tw commented Feb 22, 2019

You should add the necessary commands to build and upload the snap package to scripts/release.sh. That's what I run to release a new version on GitHub and PyPI.

This is unnecessary if you publish the snap via the snapcraft build service, which has additional benefits such as providing builds targeting to 6 different architectures(i386/amd64/armhf/arm64/ppc64el/s390x), but it's your call.

Speaking of, wouldn't it be better to get a source tarball from the GitHub release (same as the AUR package) or PyPI instead of forking the whole repo?

It is possible to build the snap out-of-tree, however, making the packaging recipe into the upstream source tree allow us to set up automatic development snapshot builds, etc.

Also is all that workaround stuff really needed to launch a simple Python program? For example, the SNAP_ARCH_TRIPLET thing seems rather useless to me, but maybe that's an Ubuntu&co thing.

All snaps are running on a common, minimal Ubuntu runtime environment called Ubuntu Core and are rather separated from the actual distro running on the host. As the common base is Ubuntu the implementation details also depend on it.

@mikf mikf merged commit 77551bf into mikf:master Mar 1, 2019
@brlin-tw brlin-tw deleted the patch/impl-snap-packaging branch March 1, 2019 13:22
@brlin-tw
Copy link
Contributor Author

brlin-tw commented Mar 13, 2019

Currently, there's a known issue that the automated build infrastructure will still periodically build and publish snaps from my forked repository (resulting with snaps with two different naming style in the edge channel):

Screenshot in the releases page

Unfortunately this is not resolvable at my end and needs to be fixed by Canonical, Ltd., here's the issue report:
Delete repo fail · Issue #1176 · canonical-websites/build.snapcraft.io

@brlin-tw
Copy link
Contributor Author

Currently, there's a known issue that the automated build infrastructure will still periodically build and publish snaps from my forked repository

This issue has been workarounded at my end.

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.

None yet

2 participants