Tested 229-4ubuntu21.22 on Xenial:

ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ sudo systemd-run /usr/bin/env
[sudo] password for ubuntu: 
Running as unit run-r22d04a00a8304e2da719773bb14b6fb4.service.
ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ journalctl -a | grep PATH
Jul 02 14:31:04 ubuntu-Standard-PC-i440FX-PIIX-1996 env[2093]: 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ dpkg -l systemd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                    Version          Architecture     Description
+++-=======================-================-================-===================================================
ii  systemd                 229-4ubuntu21.22 amd64            system and 
service manager
ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ dmesg | grep initr
[    0.243635] Unpacking initramfs...
[    0.891349] Freeing initrd memory: 54320K


The fix for Xenial does not depend on snapd's environment generator, just 
hardcodes including /snap/bin in the PATH.

** Changed in: snapd (Ubuntu Xenial)
       Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, 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:
  Invalid
Status in systemd source package in Xenial:
  Fix Committed
Status in snapd source package in Bionic:
  Confirmed
Status in systemd source package in Bionic:
  Fix Committed
Status in snapd source package in Cosmic:
  Fix Released
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]

  # make snapd-env-generator executable if it is not
  $ sudo chmod +x 
/usr/lib/systemd/system-environment-generators/snapd-env-generator

  # reboot, then test the effect of the fix
  $ 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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to