Latest debian update broke me

debian 12 minimal. I’ve got apps loaded on some of my VMs that require environment variables to be set. So the desktop file for the app actually calls a run script (in /usr/local/bin) that calls a setup-script (also in /usr/local/bin) to set the environment variables, then starts the actual program.

The call to the run script in the desktop file does not give a full path. It seems to work, because the run script does get called (otherwise nothing at all would happen).

The run script invokes the setup script; it does not give a path. The setup script is also in /usr/local/bin. It apparently doesn’t execute; it used to. When I put the path in the run script, it works. But why do I suddenly have to do so?

To summarize:

vfe.desktop has:

exec=run-vfe (with run-vfe in /usr/local/bin).

/usr/local/bin/run-vfe sources setup-vfe which is also in /usr/local/bin. This call fails for some reason, after this update. The next thing it starts up is the actual vfe app, which malfunctions because setup-vfe was never sourced.

This worked until I updated tonight. Now apparently I have to source /usr/local/bin/setup-vfe in run-vfe. What happened?

1 Like

Check the PATH variable in run-vfe script, maybe the PATH variable is overwritten with some other value that doesn’t have /usr/local/bin path in it before setup-vfe is called in script.
Add env | grep PATH in script before calling setup-vfe, run the run-vfe script and check the script output.

1 Like

Thank you for your suggestions as to how to troubleshoot the problem. In order to follow them I had to undo the “fix” I made where the path to vfe-setup was given in full.

Having switched back to no-path sourcing of vfe-setup…it now works, where it did not work before. Pure effing magic. I have no idea what happened.

1 Like