For the two apps in that snap that use the shell, PATHs appear to be updated to reflect `environment`. For the two apps that do not use the shell (python script and minimal gcc built binary), the PATHs are missing the updates. There is a reproducer.sh in there that's updated to build and run the commands using the snap(craft) try commands.
I think snapcraft triggered this bug for Microstack because it stopped creating the unnecessary wrapper for nginx app, which dropped the shell script usage, which had the correct behavior.
I investigated further and there does indeed appear to be a bug with classic snaps, but appears to be on the snapd side of the house.
I expanded @petevg's test case: /github. com/cjp256/ pedrolino
https:/
For the two apps in that snap that use the shell, PATHs appear to be updated to reflect `environment`. For the two apps that do not use the shell (python script and minimal gcc built binary), the PATHs are missing the updates. There is a reproducer.sh in there that's updated to build and run the commands using the snap(craft) try commands.
I think snapcraft triggered this bug for Microstack because it stopped creating the unnecessary wrapper for nginx app, which dropped the shell script usage, which had the correct behavior.
####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####
#######
********** /x8/usr/ bin/python3 /snap/pedrolino /x8/bin/ pedrolino /x8/usr/ bin:/home/ chris/. local/bin: /home/chris/ .local/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games:/ snap/bin: /snap/bin: /var/lib/ snapd/snap/ bin /x8/bin/ pedrolino. wrapper /x8/usr/ bin:/home/ chris/. local/bin: /home/chris/ .local/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games:/ snap/bin: /snap/bin: /var/lib/ snapd/snap/ bin /x8/usr/ bin/python3 /snap/pedrolino /x8/bin/ pedrolino /x8/usr/ bin:/home/ chris/. local/bin: /home/chris/ .local/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games:/ snap/bin: /snap/bin: /var/lib/ snapd/snap/ bin /x8/bin/ test.sh /x8/usr/ bin:/home/ chris/. local/bin: /home/chris/ .local/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games:/ snap/bin: /snap/bin: /var/lib/ snapd/snap/ bin /x8/bin/ printpath /x8/usr/ bin:/home/ chris/. local/bin: /home/chris/ .local/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games:/ snap/bin: /snap/bin: /var/lib/ snapd/snap/ bin
[pedrolino]
/snap/pedrolino
PATH: /snap/pedrolino
hi
**********
[pedrolino.wrapper]
in shell script
/snap/pedrolino
PATH: /snap/pedrolino
execing...
/snap/pedrolino
PATH: /snap/pedrolino
hi
**********
[pedrolino.sh]
/snap/pedrolino
PATH: /snap/pedrolino
**********
[printpath]
/snap/pedrolino
PATH: /snap/pedrolino
####### ####### ####### ####### ####### ####### ####### ####### ####### ####### #### ####### ####### ####### ####### ####### ####### ####### ####### ####### ####
#######
Versus strict: /x9/usr/ bin/python3 /snap/pedrolino /x9/bin/ pedrolino /x9/usr/ sbin:/snap/ pedrolino/ x9/usr/ bin:/snap/ pedrolino/ x9/sbin: /snap/pedrolino /x9/bin: /snap/pedrolino /x9/usr/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games /x9/bin/ pedrolino. wrapper /x9/usr/ sbin:/snap/ pedrolino/ x9/usr/ bin:/snap/ pedrolino/ x9/sbin: /snap/pedrolino /x9/bin: /snap/pedrolino /x9/usr/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games /x9/usr/ bin/python3 /snap/pedrolino /x9/bin/ pedrolino /x9/usr/ sbin:/snap/ pedrolino/ x9/usr/ bin:/snap/ pedrolino/ x9/sbin: /snap/pedrolino /x9/bin: /snap/pedrolino /x9/usr/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games /x9/bin/ test.sh /x9/usr/ sbin:/snap/ pedrolino/ x9/usr/ bin:/snap/ pedrolino/ x9/sbin: /snap/pedrolino /x9/bin: /snap/pedrolino /x9/usr/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games /x9/bin/ printpath /x9/usr/ sbin:/snap/ pedrolino/ x9/usr/ bin:/snap/ pedrolino/ x9/sbin: /snap/pedrolino /x9/bin: /snap/pedrolino /x9/usr/ bin:/usr/ local/sbin: /usr/local/ bin:/usr/ sbin:/usr/ bin:/sbin: /bin:/usr/ games:/ usr/local/ games
**********
[pedrolino]
/snap/pedrolino
PATH: /snap/pedrolino
hi
**********
[pedrolino.wrapper]
in shell script
/snap/pedrolino
PATH: /snap/pedrolino
execing...
/snap/pedrolino
PATH: /snap/pedrolino
hi
**********
[pedrolino.sh]
/snap/pedrolino
PATH: /snap/pedrolino
**********
[printpath]
/snap/pedrolino
PATH: /snap/pedrolino