Open surak opened 2 years ago
I guess %(installdir)s/bin/straffe
would work, just use that?
Fair enough, but do you see an inconsistency between them?
postinstallcmds = ['straffe'] # does not work
sanity_check_commands = ['straffe'] # works
Actually, it's worse than that - because if it's just a binary, fine - it will run it - but things like binaries with libraries, or python codes won't, as nothing is on the path.
You could work around this by updating $PATH
and $LD_LIBRARY_PATH
in the command itself:
postinstallcmds = [
"PATH=%(installdir)s/bin:$PATH LD_LIBRARY_PATH=%(installdir)s/lib:$LD_LIBRARY_PATH straffe --hendrik",
]
I don't think we want to do that automatically though, that could lead to surprises I think...
The example is the following:
I have a software which uses itself to rewrite its configuration files. Let's call this software "straffe" for the sake of example.
During the eb time, I would have a
postinstallcmds = ['straffe --hendrik']
to initialize the software.But this can't happen at
postinstallcmds
, becausestraffe
cannot be found yet. Installation will fail with "command not found".It can be done, though, during sanity check. In fact, if I do a
sanity_check_commands = ['straffe --hendrik']
, it works just fine. Although I am not sure if sanity check is the place for this.I understand that this is because on the post install, the module of itself is not loaded - which makes sense, so I am not sure what would be a solution here.