** Description changed: [Impact] - * Initramfs exports PATH to init, which is different than the expected + * Initramfs exports PATH to init, which is different than the expected stock / compiled one, which results in slightly different runtime behaviour of init, if it has environment generators as well. - [Test Case] - * Disable snapd env generator & disable initrd-less boot (if enabled) - sudo chmod -x /usr/lib/systemd/system-environment-generators/snapd-env-generator - set empty GRUB_FORCE_PARTUUID= and update-grub - - * Reboot cosmic system with an initramfs - $ journalctl -b -k | grep initramfs - (verify that initramfs was unpacked) + * Disable snapd env generator & disable initrd-less boot (if enabled) + sudo chmod -x /usr/lib/systemd/system-environment-generators/snapd-env-generator + set empty GRUB_FORCE_PARTUUID= and update-grub - * Check the path used by systemd, ie.: - systemd-run /usr/bin/env - journalctl -b -e | grep PATH + * Reboot cosmic system with an initramfs + $ journalctl -b -k | grep initramfs + (verify that initramfs was unpacked) - It should contain /usr/local + * Check the path used by systemd, ie.: + systemd-run /usr/bin/env + journalctl -b -e | grep PATH - * Upgrade initramfs-tools & reboot + It should contain /usr/local - The path should remain the same and it should contain /usr/local + * Enable any env generator for example & reboot: + /usr/lib/systemd/system-environment-generators/xnox.sh + #!/bin/sh + echo XNOX=ROCKS - * Enable snapd env generator and reboot again + * Verify path used by systemd - * Verify path used by systemd + It should still contain /usr/local - It should still contain /usr/local & /snap/bin + Repeat again with the new initramfs-tools. + [Regression Potential] - * We are hardcoding, the same path, yet again, in one more place. - However, we are setting it to a well-known value as it was pre + * We are hardcoding, the same path, yet again, in one more place. However, we are setting it to a well-known value (see https://wiki.ubuntu.com/PATH + ) as it is universally expected and regressed when booted (a) with initrd AND (b) with broken path exported by initrd AND (c) with an env-generator. [Other Info] - - * Anything else you think is useful to include - * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board - * and address these questions in advance + + * Anything else you think is useful to include + * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board + * and address these questions in advance === Big regression in 2.37.1+18.04 compare to version 2.34.2 all these paths /usr/local/sbin & /usr/local/bin are not anymore in the path of all systemd process . So we can not start a daemon that use /usr/local/bin reinstalling package 2.34.2 fix the problem in 2.34.2 : ~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin in 2.37.1+18.04 : ~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH PATH=/sbin:/usr/sbin:/bin:/usr/bin:/snap/bin
-- 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/1814355 Title: snapd remove /usr/local/bin from the PATH for all systemd unit (bionic SRU regression) Status in initramfs-tools package in Ubuntu: Fix Released Status in snapd package in Ubuntu: Confirmed Status in systemd package in Ubuntu: New Status in initramfs-tools source package in Bionic: New Status in snapd source package in Bionic: Fix Released Status in systemd source package in Bionic: New Status in initramfs-tools source package in Cosmic: New Status in snapd source package in Cosmic: New Status in systemd source package in Cosmic: New Bug description: [Impact] * Initramfs exports PATH to init, which is different than the expected stock / compiled one, which results in slightly different runtime behaviour of init, if it has environment generators as well. [Test Case] * Disable snapd env generator & disable initrd-less boot (if enabled) sudo chmod -x /usr/lib/systemd/system-environment-generators/snapd-env-generator set empty GRUB_FORCE_PARTUUID= and update-grub * Reboot cosmic system with an initramfs $ journalctl -b -k | grep initramfs (verify that initramfs was unpacked) * Check the path used by systemd, ie.: systemd-run /usr/bin/env journalctl -b -e | grep PATH It should contain /usr/local * Enable any env generator for example & reboot: /usr/lib/systemd/system-environment-generators/xnox.sh #!/bin/sh echo XNOX=ROCKS * Verify path used by systemd It should still contain /usr/local Repeat again with the new initramfs-tools. [Regression Potential] * We are hardcoding, the same path, yet again, in one more place. However, we are setting it to a well-known value (see https://wiki.ubuntu.com/PATH ) as it is universally expected and regressed when booted (a) with initrd AND (b) with broken path exported by initrd AND (c) with an env-generator. [Other Info] * Anything else you think is useful to include * Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board * and address these questions in advance === Big regression in 2.37.1+18.04 compare to version 2.34.2 all these paths /usr/local/sbin & /usr/local/bin are not anymore in the path of all systemd process . So we can not start a daemon that use /usr/local/bin reinstalling package 2.34.2 fix the problem in 2.34.2 : ~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin in 2.37.1+18.04 : ~# strings /proc/$(pidof /lib/systemd/systemd-resolved)/environ | grep PATH PATH=/sbin:/usr/sbin:/bin:/usr/bin:/snap/bin To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1814355/+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