Hello

I am in the process of packaging up s6, installed to non-slashpackage
destination. s6-svwait tries to exec s6-ftrigrd, but it is not
available. This is part of strace -f s6-svwait output, s6-ftrigrd is
looked up correctly using the PATH value. As it currently stands
/command is symlinked to /opt/bin if that matters.

...
clone(Process 20783 attached
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0x7f548cdec9d0) = 20783
[pid 20782] close(10)                   = 0
[pid 20782] close(8)                    = 0
[pid 20782] close(5)                    = 0
[pid 20782] close(4)                    = 0
[pid 20782] read(9,  <unfinished ...>
[pid 20783] set_robust_list(0x7f548cdec9e0, 0x18) = 0
[pid 20783] close(7)                    = 0
[pid 20783] close(9)                    = 0
[pid 20783] close(6)                    = 0
[pid 20783] close(3)                    = 0
[pid 20783] dup2(5, 0)                  = 0
[pid 20783] close(5)                    = 0
[pid 20783] dup2(4, 1)                  = 1
[pid 20783] close(4)                    = 0
[pid 20783] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid 20783] execve("/command/s6-ftrigrd", ["s6-ftrigrd"], [/* 1 var */]) = -1 
ENOENT (No such file or directory)
[pid 20783] execve("/bin/s6-ftrigrd", ["s6-ftrigrd"], [/* 1 var */]) = -1 
ENOENT (No such file or directory)
[pid 20783] execve("/usr/bin/s6-ftrigrd", ["s6-ftrigrd"], [/* 1 var */]) = -1 
ENOENT (No such file or directory)
[pid 20783] execve("/usr/sbin/s6-ftrigrd", ["s6-ftrigrd"], [/* 1 var */]) = -1 
ENOENT (No such file or directory)
[pid 20783] execve("/sbin/s6-ftrigrd", ["s6-ftrigrd"], [/* 1 var */]) = -1 
ENOENT (No such file or directory)
[pid 20783] write(10, "\2", 1 <unfinished ...>
...


configuration:

cd conf-compile
rm -f flag-*
touch flag-{allstatic,noipv6,forcedevr,usert,usemon}
echo '/opt/lib/skalibs/sysdeps' > import
printf '/opt/include/skalibs\n/opt/include/execline\n' > path-include
printf '/opt/lib/skalibs\n/opt/lib/execline\n' > path-library
echo '/opt/lib' > path-library.so
echo "/opt/bin" > conf-install-command
echo "/opt/include/s6" > conf-install-include
echo "/opt/lib/s6" > conf-install-library
echo "/opt/lib" > conf-install-library.so
echo "/opt/lib/s6/sysdeps" > conf-install-sysdeps


After make the ./command dir contains s6-ftrigrd, but .package/export
will not install it because it's not listed in .package/command.exported.
I could manually copy ./command/s6-ftrigrd to rpmbuild BUILDROOT
directory, but would like another opinion before resorting to dirty
tricks. I am aware that using slashpackage the full path to
s6-ftrigrd is hardcoded.

BR,
-- 
Vallo

Reply via email to