asciimoo / wuzz

Interactive cli tool for HTTP inspection
GNU Affero General Public License v3.0
10.58k stars 412 forks source link

Add snapcraft.yaml to enable snap builds. #117

Open dargad opened 5 years ago

dargad commented 5 years ago

Hi

This PR adds support for building a snap package of wuzz. Snaps are cross distro Linux software packages. One snap can be installed on Ubuntu all supported LTS and non LTS releases from 14.04 onward. Additionally they can installed on Debian, Manjaro, Fedora, OpenSUSE and others. Making a snap of wuzz enables you to provide automatic updates on your schedule to your users via the snap store.

If accepted, you can use snapcraft locally, a CI system such as travis or circle-ci, or our free build system (build.snapcraft.io) to create snaps and upload to the store (snapcraft.io/store).

To test this PR locally, I used an Ubuntu 16.04 VM, with the following steps.

snap install snapcraft --classic
git clone -b snapcraft https://github.com/dargad/wuzz
cd wuzz
snapcraft

Please note that snapcraft.yaml has been implemented in such a way it automatically picks up wuzz version from a tag. It can be installed with:

snap install --dangerous wuzz_amd64.snap

(the --dangerous is necessary because we’re installing an app which hasn’t gone through the snap store review process)

Once installed the command can be executed: wuzz screenshot from 2018-12-07 10-21-17

If landed, you will need to:

The store supports multiple risk levels as “channels” with the edge channel typically used to host the latest build from git master. Stable is where stable releases are pushed. Optionally beta and candidate channels can also be used if needed.

Once you are happy, you can push a stable release to the stable channel, update the store page, and promote the application online (we can help there).