What is the correct way to add nonstandard directories to execute external commands?

We have many external converter executables that are not in /bin, /usr/bin or the usual other locations. I've tried to set PATH in a few places with no luck:

  • /etc/init.d/nuxeo (This is installed from the Nuxeo APT repository)
  • /var/lib/nuxeo/server/bin/nuxeoctl has a PATH defined in it. I modified it but with no luck.

Either of these settings do nothing; the system still behaves as if the executable cannot be found. I have also modified /etc/environment with no luck as far as Nuxeo goes. My command line shell finds the binaries just fine.

Can anyone point me in the right direction?

1 votes

1 answers

1917 views

ANSWER

Did you try to put this in /home/${nuxeo_user}/.profile where ${nuxeo_user} is the user that is running the nuxeo process ?
03/25/2015

Hi aCordier, I set it for the entire system in /etc/environment. But it turns out that my issue had nothing to do with the path. I'll say more in my answer.
03/25/2015



I figured out my problem; it had nothing to do with the system path. I am posting it as an answer in case it is helpful for someone else.

What I was seeing was a ConverterCheckResult error from an external tool that used the default setting for tester, which is SystemPathTester and defined by org.nuxeo.ecm.platform.commandline.executor.service.cmdtesters.SystemPathExistTester.

The error just contained the installation message, so it looked as though it was unable to find the executable. However, I had another tool with a custom tester defined, that also used the path, and it always worked fine. So, I reasoned that it couldn't just be the path.

My problem was that my XML contribution did not require the SystemPathTester code. When I added the following to the beginning of the file that declares my command line commands, everything worked fine:

  <require>org.nuxeo.ecm.platform.commandline.executor.service.defaultContrib</require>

Anyway, this was always my own mistake – though maybe the error handling/reporting in the Nuxeo command line classes could be improved to make the mistake clearer.

0 votes