From README.xml
binpath Specifies an optional directory from which the binaries will be pulled,
instead of the default "bin/<arch>/<libc>" directory.
Snippet of my setup.xml
<binary binpath="bin">
test.bin
</binary>
Instead of copying test.bin, it's trying to copy bin, which is a directory, and fails.
So I ran the setup binary with -v 0
loki_setup: find 'bin'
Changing setup.xml so it looks like:
<binary arch="any" libc="any">
test.bin
</binary>
The output looks like this now:
loki_setup: find 'bin/Linux/x86/glibc-2.1/test.bin'
loki_setup: find 'bin/Linux/x86/test.bin'
loki_setup: find 'bin/x86/glibc-2.1/test.bin'
loki_setup: find 'bin/x86/test.bin'
This debug output is from copy.c line 793
If specifying binpath, this output only contains the path and not the binary.
So I tried this setup.xml
<binary binpath="bin/test.bin">
test.bin2
</binary>
The output this time was:
loki_setup: find 'bin/test.bin'
So test.bin was installed instead of test.bin2.
I think the problem is line 770 in copy.c
changing this line to:
snprintf(binarylocations[0], PATH_MAX, "%s/%s", binpath, final);
should do the job correct.
From README.xml binpath Specifies an optional directory from which the binaries will be pulled, instead of the default "bin/<arch>/<libc>" directory. Snippet of my setup.xml <binary binpath="bin"> test.bin </binary> Instead of copying test.bin, it's trying to copy bin, which is a directory, and fails. So I ran the setup binary with -v 0 loki_setup: find 'bin' Changing setup.xml so it looks like: <binary arch="any" libc="any"> test.bin </binary> The output looks like this now: loki_setup: find 'bin/Linux/x86/glibc-2.1/test.bin' loki_setup: find 'bin/Linux/x86/test.bin' loki_setup: find 'bin/x86/glibc-2.1/test.bin' loki_setup: find 'bin/x86/test.bin' This debug output is from copy.c line 793 If specifying binpath, this output only contains the path and not the binary. So I tried this setup.xml <binary binpath="bin/test.bin"> test.bin2 </binary> The output this time was: loki_setup: find 'bin/test.bin' So test.bin was installed instead of test.bin2. I think the problem is line 770 in copy.c changing this line to: snprintf(binarylocations[0], PATH_MAX, "%s/%s", binpath, final); should do the job correct.