-
Notifications
You must be signed in to change notification settings - Fork 620
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
[snap] Add 'snap/snapcraft.yaml' #1941
Conversation
Thank you, but I don't understand what is this. |
579a04c
to
b8587e7
Compare
Hi Masatake, The snap/ folder is only for the snap related files. I've updated the commit message and make the snap explanation more clearly. Could you help to review the commit and see if there are any problems? Thank you! |
Thank you for updating. |
Hi Masatake, https://forum.snapcraft.io/t/support-for-man-pages/2299 |
This commit introduces support the bundling/delivering universal-ctags through the 'snap' mechanism/store - for more details see https://snapcraft.io. "A snap is a bundle of your app and its dependencies that works without modification across Linux. Snaps are discoverable and installable from the Snap store, an app store with an audience of millions." [1] In case the support/snapcraft.yaml file is accepted it can be published in the Snap Store [2] which is required for people to easily install it. Assistance for publishing in the snap store is available if required. Test Procedure ============== Build/Snap ---------- $ sudo apt install -y lxd lxd-clients $ lxc launch ubuntu:16.04 snapcrafting # create 'snapcrafting' container $ lxc exec snapcrafting -- su - ubuntu # execute user shell in container $ sudo snap install snapcraft --classic # install snapcraft tool/commands $ sudo apt-get update # update for installing build dependencies packages $ git clone https://github.com/universal-ctags/ctags.git $ cd ctags $ # get this snapcraft.yaml file $ snapcraft ... Building universal-ctags ./configure --prefix= ... make -j4 ... Snapping 'universal-ctags' \ Snapped universal-ctags_0.1.1_amd64.snap Install/Contents ---------------- $ sudo snap install universal-ctags_0.1.1_amd64.snap --dangerous --classic $ which universal-ctags.ctags /snap/bin/universal-ctags.ctags $ find /snap/universal-ctags/ /snap/universal-ctags/ /snap/universal-ctags/current /snap/universal-ctags/x1 /snap/universal-ctags/x1/bin /snap/universal-ctags/x1/bin/ctags /snap/universal-ctags/x1/bin/readtags /snap/universal-ctags/x1/command-ctags.wrapper /snap/universal-ctags/x1/command-universal-ctags.wrapper /snap/universal-ctags/x1/meta /snap/universal-ctags/x1/meta/gui /snap/universal-ctags/x1/meta/snap.yaml /snap/universal-ctags/x1/snap /snap/universal-ctags/x1/snap/.snapcraft.yaml.swp /snap/universal-ctags/x1/usr /snap/universal-ctags/x1/usr/lib /snap/universal-ctags/x1/usr/lib/x86_64-linux-gnu /snap/universal-ctags/x1/usr/lib/x86_64-linux-gnu/libicudata.so.55 /snap/universal-ctags/x1/usr/lib/x86_64-linux-gnu/libicuuc.so.55 /snap/universal-ctags/x1/usr/lib/x86_64-linux-gnu/libxml2.so.2 Testing ------- ~/ctags$ universal-ctags.ctags -R ~/ctags$ vim -t main The 'universal-ctags' can be aliased to 'ctags'[4]. References: [1] "Creating a snap" in https://docs.snapcraft.io/creating-a-snap/6799 [2] "Share with your friends" in https://docs.snapcraft.io/c-c-applications/7817 [3] "Demystifying Snap Confinement" in https://snapcraft.io/blog/demystifying-snap-confinement [4] "Commands and aliases" in https://docs.snapcraft.io/commands-and-aliases/3950 Signed-off-by: Gavin Guo <gavin.guo@canonical.com>
b8587e7
to
7e471f7
Compare
I see. Thank you. |
I found one critical bad thing. Is there anyway not to use |
... Though I merged, I would like to revert this. I'm very sorry to be late to propose this. I'm being busy so I could not take much time for this project now. |
Your excellent commit log can be convert to README.md of the new repository. |
Hi Masatake, It's ok, we can separate the snap package version to another repo. Besides, we need to settle down the name of the executable file. How As described in my commit message, we can then set up the alias when $ sudo snap alias universal-ctags ctags
$ ls /snap/bin/ctags -al I also updated the branch for the naming rule. Please have a look and |
I sent an invitation to you. You can make a repository for the snap file at universal-ctags organization after accepting the invitation. You may add a link to your new repository to README.md of universal-ctags/ctags repository. Feel free to make a pull request for updating README.md. The name "universal-ctags" or "u-ctags" is o.k. What I strongly object is using .ctags as an file name extension. I will try the snap file on Fedora when I get time. |
I'm very confused when I see your new repo. As far as reading snapcraft.yaml, the file has a field for the git repository for the target source code.
So I guessed the snap tool chain has ability to fetch source code from external repository. |
Thank you for the comment, I'm also now testing the procedure on my own GitHub branch and will figure out soon. |
A snap is a bundle of your app and its dependencies that works without
modification across Linux. Snaps are discoverable and installable from
the Snap store.
Signed-off-by: Gavin Guo gavin.guo@canonical.com