** Description changed:

  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.

** Also affects: snapd (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: systemd (Ubuntu Cosmic)
       Status: New => Won't Fix

** Changed in: systemd (Ubuntu Bionic)
       Status: New => Won't Fix

** Changed in: systemd (Ubuntu Xenial)
       Status: New => Confirmed

** Description changed:

  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.

** Summary changed:

- /snap/bin not in default PATH for units
+ /snap/bin not in default PATH for units, snapd should ship 
system-environment-generators to inject /snap/bin into $PATH

** Description changed:

  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.
+ 
+ [Testcase]
+ 
+ $ systemd-run /usr/bin/env
+ $ journalctl -e | grep PATH
+ 
+ Output should contain /snap/bin

-- 
You received this bug notification because you are a member of Ubuntu
Desktop 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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1771858/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to