On 18 May 2018 at 19:01, Oliver Grawert <o...@grawert.net> wrote:
> well, my subtle hint would point to simply add it to /etc/environment
> here, which would globally cover for everything, would allow us to drop
> the profile.d snippet in ubuntu images/installs and to my knowledge
> would even be used by systemd (or am i wrong here ?) ...
>
> (and i think it would even work for zsh)
>

Sorry, I do not have time for subtle hints.

As you are well aware, snapd cannot modify /etc/environment; (not
owned by it, it is freeform text, can contain anything, may or may not
have PATH setting, not-upgradable, so on and so forth)
said file is not used by systemd;
it would not cover things globally;
and specifically it would not cover things across other distributions.

There are reasons why integration snippet was shipped by snapd in
profile.d, and all of those reasons still stand.

And more-over the ethos for snapd packaging is to integrate into as
many systems as possible, in a native way.
Shipping appropriate system-environment-generators will achieve that
not only on Ubuntu classic installs but on any systemd-based Linux
distros too, which my understanding is the scope for the snapd
project.

-- 
Regards,

Dimitri.

-- 
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:
  New
Status in systemd package in Ubuntu:
  New
Status in snapd source package in Xenial:
  New
Status in systemd source package in Xenial:
  Confirmed
Status in snapd source package in Bionic:
  New
Status in systemd source package in Bionic:
  Won't Fix
Status in snapd source package in Cosmic:
  New
Status in systemd source package in Cosmic:
  Won't Fix

Bug description:
  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

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