-
Notifications
You must be signed in to change notification settings - Fork 294
Snap binary names conflict with Ubuntu Snap #1344
Comments
We can focus on calling our project Snap Telemetry since its more descriptive and still vendor neutral. The binary names should reflect that. Talking to other maintainers, we came up with So:
Let's do some due diligence to make sure this looks good and won't conflict again in the future. |
Some additional context regarding snap packaging changes. In snap 0.18.0 we migrated the snapd/snapctl binary to
The https://github.com/intelsdi-x/snap-docker repo will be updated with the same symlink, and we will publish containers to a new docker hub repo. The existing https://hub.docker.com/r/intelsdi/snap/ repo will hold the old snapd/snapctl binaries, and we will use snaptel as the new container name. |
Just curious, what were the alternatives to "snaptel"? Starting flame here probably - but I'd like "snapmetrics" better for package and tool name :) |
It's a fair question @andrzej-k! The alternatives focused on Naming is never easy, but leaning toward "Telemetry" as the descriptor feels right for the project since it leans to more consistent naming with the website and packaging. |
No strong opinions, I'll just note that my initial reaction to "tel" was telephony rather than telemetry. If I saw the name without other context, then I would likely assume it was something like the tel command or maybe something voip related. |
How about snaptmd? snaptmctl? |
These are always hard problems. Let's work through options:
NotesOur packaging of Snap is |
Technically Intel is In-Tel. So kind of like Snap-Tel. Not really why, but funny coincidence. |
^ That was a bonus part of |
Don't want to multiply number of options here - but today two other have came to my mind:
Just a two cents before end of the day :) |
@mjbrender Thank you for explanation. I'm fine with snaptel 👍 |
Not to thread jack but @mjbrender I am considering bringing this to Debian as well. I would like first class support of it within Debian. In doing this I would like to at least touch base with you about the naming so that is stays consistent. I haven't devoted much time to this as of yet but over the holiday break I was hoping to get something stable into |
Glad to have your input @mattyjones - I didn't see any conflicts within the Debian ecosystem when I searched, but appreciate you checking as well. Curious to hear more about your goals. |
The package name Package: snap With the above I am recommending the Debian package use the name |
Debian ITP (Intent To Package) |
@mattyjones, to sum up the conversation, the package name will be |
This is the binary for the conflicting package as best I can tell so the above names should be fine. I have officially changed the package name in Debian to |
(SDI-2199) Fix #1344 binary change to snaptel/snapteld
This one is tricky, so I'm going to be thorough in the explanation.
Problem
Exploration of the root cause of #1294 by @nanliu has found a noticeable conflict in naming conventions between the Snap Telemetry project and Ubuntu Snap.
Impact
Possible Solutions
Use absolute path /opt/snap/bin/{snapctl,snapd}<< Not preferred due to ConsSingle binary<< Nonstarter due to Conssnaptel
go get github.com/intelsdi-x/snap
just works.Rename
snapd
/snapctl
Conclusion
It's in our longterm best interest to choose a differentiated naming convention for the binaries used in Snap. I spoke with the team at Ubuntu through this bug and IRC.
Research
Ubuntu 16.10
Package: snap snapd
Here's a list of files that are most concerning (or could conflict with a snap* name)
/usr/bin/snap
/usr/bin/snapctl
/usr/lib/snap/snap
/usr/lib/snapd/snap-exec
/usr/lib/snapd/snapd
For full list see:
http://packages.ubuntu.com/yakkety/snap
http://packages.ubuntu.com/yakkety/snapd
We also have potential environment variable conflicts with Snap (though this is less risky unless we use Ubuntu snap to package snap-telemetry):
http://snapcraft.io/docs/reference/env
SNAP_NAME: snap name
SNAP_VERSION: snap version
SNAP_REVISION: store revision of the snap
SNAP_ARCH: the architecture of device (eg, amd64, arm64, armhf, i386, etc)
SNAP_LIBRARY_PATH: additional directories added to LD_LIBRARY_PATH
SNAP_DATA: writable area for a particular revision of the snap
SNAP_COMMON: writable area persistent across all revisions of the snap
SNAP_USER_DATA: per-user writable area for a particular revision of the snap
SNAP_USER_COMMON: per-user writable area persistent across all revisions of the snap
Ubuntu also delivered snapd package to arch, debian, fedora, gentoo, opensuse. arch and debian are native packages, with the rest via addon repos.
http://snapcraft.io/docs/core/install
Ubuntu16.04
Package: snapd
Files:
/usr/bin/snap
/usr/lib/snapd/snapd
http://packages.ubuntu.com/xenial/snapd
Package: snap (this is subsequently changed to snap-aligner)
Files:
/usr/bin/snap-dna
/usr/lib/snap/snap
This is a package for http://snap.cs.berkeley.edu/
http://packages.ubuntu.com/xenial/snap
Fedora
snap: a modular system backup/restore utility.
https://apps.fedoraproject.org/packages/snap
command:
/usr/bin/snaptool
man page:
man snap(1)
snapd package name is taken, but not built:
https://apps.fedoraproject.org/packages/snapd
Arch
https://wiki.archlinux.org/index.php/Snapd
Misc
http://hackage.haskell.org/package/snap
http://snap.cs.berkeley.edu/
EMC VNX snapcli command:https://community.emc.com/thread/172890?start=0&tstart=0
Some commands:
RPM: snapper.x86_64 : Tool for filesystem snapshot management
/usr/bin/snapper
/usr/sbin/snapperd
snappy.x86_64 : Fast compression and decompression library
https://github.com/google/snappy
The text was updated successfully, but these errors were encountered: