[Bug 1771858] Re: /snap/bin not in default PATH for units, snapd should ship system-environment-generators to inject /snap/bin into $PATH
Dimitri John Ledkov
launchpad at surgut.co.uk
Mon Oct 8 10:08:38 UTC 2018
** Description changed:
- This means that software installed via snap isn't transparently
+ [Impact]
+
+ * This means that software installed via snap isn't transparently
available for units to use. As snaps are first-class citizens in
Ubuntu, we should update the PATH.
- Specifically, this is evident by e.g. $ systemd-run env. Or any other
- daemons that spawn shell scripts (e.g. cloud-init metadata acquired
- shell hooks, etc.).
-
- Since v232 systemd provides support for environment generators, snapd
- should package/ship a snippet that injects the correct snapd path into
- systemd environment.
-
- E.g.:
-
- $ sudo mkdir -p /usr/lib/systemd/system-environment-generators
- $ printf '#!/bin/sh\nPATH=$PATH:/snap/bin\n' | \
- sudo tee /usr/lib/systemd/system-environment-generators/90-snapd
-
- Something similar can be done for user-environment-generators too. Note
- that user-environment-generators can generate unique variables per user.
-
- Note please use /usr/lib path, as it appears that /lib/systemd path is
- not working atm. Will check if that needs to be fixed up.
-
- systemd in xenial does not support system-environment-generators, thus
- we probably need to upload a patch to change the DEFAULT_PATH compiled
- in default there.
+ * When a generator started to be provided by systemd, it was recognized
+ that $PATH is not correctly set, nonetheless, due to an environment bug
+ that systemd generators run in.
[Testcase]
$ systemd-run /usr/bin/env
$ journalctl -e | grep PATH
Output should contain /snap/bin
+
+ Output should contain a complete and a valid PATH, i.e.
+ PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" or similar.
+
+ [Regression Potential]
+
+ * snapd generator was already fixed separately to cause no harm, when
+ running under a broken systemd. With the corrected environment,
+ generators will now run with a correct PATH out of the box. A slight
+ change of PATH will be observed by all generators, when running in
+ containers/initramfs-less boots. However most generators will not be
+ affected as they typically do not execute external binaries.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1771858
Title:
/snap/bin not in default PATH for units, snapd should ship system-
environment-generators to inject /snap/bin into $PATH
Status in snapd package in Ubuntu:
Confirmed
Status in systemd package in Ubuntu:
Fix Released
Status in snapd source package in Xenial:
Confirmed
Status in systemd source package in Xenial:
Confirmed
Status in snapd source package in Bionic:
Confirmed
Status in systemd source package in Bionic:
In Progress
Status in snapd source package in Cosmic:
Confirmed
Status in systemd source package in Cosmic:
Fix Released
Bug description:
[Impact]
* This means that software installed via snap isn't transparently
available for units to use. As snaps are first-class citizens in
Ubuntu, we should update the PATH.
* When a generator started to be provided by systemd, it was
recognized that $PATH is not correctly set, nonetheless, due to an
environment bug that systemd generators run in.
[Testcase]
$ systemd-run /usr/bin/env
$ journalctl -e | grep PATH
Output should contain /snap/bin
Output should contain a complete and a valid PATH, i.e.
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" or similar.
[Regression Potential]
* snapd generator was already fixed separately to cause no harm, when
running under a broken systemd. With the corrected environment,
generators will now run with a correct PATH out of the box. A slight
change of PATH will be observed by all generators, when running in
containers/initramfs-less boots. However most generators will not be
affected as they typically do not execute external binaries.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1771858/+subscriptions
More information about the foundations-bugs
mailing list