Hello Laurent and the list, First, thanks Laurent for updating s6 as it is a promising project although I do not use it right now for reasons discussed in a Gentoo Forum thread.
I've noticed your 2.0 release campaign. So, I tried to install the new goodies. Two notes before my actual try of the software will follow as both took me unecessary times to just be able to install. First, a minor note: Why do you keep those two extra digits in the release version? I guess MAJOR.MINOR.PATCH are enough most of the times and then sometimes a tiny fix would require a SUB-PATCH digit, honestly, one can just delay a release a few days, to make sure everything is alright, and increment the patch digit. This a minor note which required me to pay extra attention to the release version string! Second, why is there this long list of configure directory: -- exec_prefix='$prefix' dynlibdir='$prefix/lib' libexecdir='$exec_prefix/libexec' bindir='$exec_prefix/bin' sbindir='$exec_prefix/sbin' libdir='$prefix/usr/lib/'$package includedir='$prefix/usr/include' sysdeps='$prefix/usr/lib/skalibs/sysdeps' -- which doe not even respect ABI string when I end up with this: -- * Contents of dev-libs/skalibs-2.0.0.0: /usr /usr/lib /usr/lib/libskarnet.so -> libskarnet.so.2 /usr/lib/libskarnet.so.2 -> libskarnet.so.2.0 /usr/lib/libskarnet.so.2.0 -> libskarnet.so.2.0.0 /usr/lib/libskarnet.so.2.0.0 -> libskarnet.so.2.0.0.0 /usr/lib/libskarnet.so.2.0.0.0 /usr/share /usr/share/doc /usr/share/doc/skalibs-2.0.0.0 /usr/share/doc/skalibs-2.0.0.0/AUTHORS.bz2 /usr/share/doc/skalibs-2.0.0.0/README.bz2 /usr/share/leapsecs.dat /usr/usr /usr/usr/include /usr/usr/include/skalibs /usr/usr/include/skalibs/alloc.h /usr/usr/include/skalibs/allreadwrite.h /usr/usr/include/skalibs/avlnode.h /usr/usr/include/skalibs/avltree.h /usr/usr/include/skalibs/avltreen.h /usr/usr/include/skalibs/biguint.h /usr/usr/include/skalibs/bitarray.h /usr/usr/include/skalibs/bufalloc.h /usr/usr/include/skalibs/buffer.h /usr/usr/include/skalibs/bytestr.h /usr/usr/include/skalibs/cbuffer.h /usr/usr/include/skalibs/cdb.h /usr/usr/include/skalibs/cdb_make.h /usr/usr/include/skalibs/config.h /usr/usr/include/skalibs/datastruct.h /usr/usr/include/skalibs/direntry.h /usr/usr/include/skalibs/diuint.h /usr/usr/include/skalibs/diuint32.h /usr/usr/include/skalibs/djbtime.h /usr/usr/include/skalibs/djbunix.h /usr/usr/include/skalibs/env.h /usr/usr/include/skalibs/envalloc.h /usr/usr/include/skalibs/environ.h /usr/usr/include/skalibs/error.h /usr/usr/include/skalibs/fmtscan.h /usr/usr/include/skalibs/functypes.h /usr/usr/include/skalibs/gccattributes.h /usr/usr/include/skalibs/genalloc.h /usr/usr/include/skalibs/genset.h /usr/usr/include/skalibs/gensetdyn.h /usr/usr/include/skalibs/genwrite.h /usr/usr/include/skalibs/getpeereid.h /usr/usr/include/skalibs/gidstuff.h /usr/usr/include/skalibs/iobuffer.h /usr/usr/include/skalibs/iopause.h /usr/usr/include/skalibs/ip46.h /usr/usr/include/skalibs/kolbak.h /usr/usr/include/skalibs/lolstdio.h /usr/usr/include/skalibs/md5.h /usr/usr/include/skalibs/mininetstring.h /usr/usr/include/skalibs/netstring.h /usr/usr/include/skalibs/nonposix.h /usr/usr/include/skalibs/nsig.h /usr/usr/include/skalibs/random.h /usr/usr/include/skalibs/randomegd.h /usr/usr/include/skalibs/rc4.h /usr/usr/include/skalibs/rrandom.h /usr/usr/include/skalibs/segfault.h /usr/usr/include/skalibs/selfpipe.h /usr/usr/include/skalibs/setgroups.h /usr/usr/include/skalibs/sgetopt.h /usr/usr/include/skalibs/sha1.h /usr/usr/include/skalibs/sha256.h /usr/usr/include/skalibs/sig.h /usr/usr/include/skalibs/siovec.h /usr/usr/include/skalibs/skaclient.h /usr/usr/include/skalibs/skalibs.h /usr/usr/include/skalibs/skamisc.h /usr/usr/include/skalibs/socket.h /usr/usr/include/skalibs/stdcrypto.h /usr/usr/include/skalibs/stddjb.h /usr/usr/include/skalibs/stralloc.h /usr/usr/include/skalibs/strerr.h /usr/usr/include/skalibs/strerr2.h /usr/usr/include/skalibs/surf.h /usr/usr/include/skalibs/sysdeps.h /usr/usr/include/skalibs/tai.h /usr/usr/include/skalibs/uint.h /usr/usr/include/skalibs/uint16.h /usr/usr/include/skalibs/uint32.h /usr/usr/include/skalibs/uint64.h /usr/usr/include/skalibs/ulong.h /usr/usr/include/skalibs/unirandom.h /usr/usr/include/skalibs/unirandomdev.h /usr/usr/include/skalibs/unirandomegd.h /usr/usr/include/skalibs/unisurf.h /usr/usr/include/skalibs/unix-timed.h /usr/usr/include/skalibs/unix-transactional.h /usr/usr/include/skalibs/unixmessage.h /usr/usr/include/skalibs/unixonacid.h /usr/usr/include/skalibs/ushort.h /usr/usr/include/skalibs/webipc.h /usr/usr/lib /usr/usr/lib/skalibs /usr/usr/lib/skalibs/sysdeps /usr/usr/lib/skalibs/sysdeps/rt.lib /usr/usr/lib/skalibs/sysdeps/socket.lib /usr/usr/lib/skalibs/sysdeps/sysclock.lib /usr/usr/lib/skalibs/sysdeps/sysdeps /usr/usr/lib/skalibs/sysdeps/sysdeps.h /usr/usr/lib/skalibs/sysdeps/tainnow.lib /usr/usr/lib/skalibs/sysdeps/target /usr/usr/lib/skalibs/sysdeps/util.lib -- Notice the pita with the double `usr'. Actually the ABI should be respected with this: -- /usr/lib64 /usr/lib64/libskarnet.so -> libskarnet.so.2 /usr/lib64/libskarnet.so.2 -> libskarnet.so.2.0 /usr/lib64/libskarnet.so.2.0 -> libskarnet.so.2.0.0 /usr/lib64/libskarnet.so.2.0.0 -> libskarnet.so.2.0.0.0 /usr/lib64/libskarnet.so.2.0.0.0 /usr/lib64/skalibs /usr/lib64/skalibs/sysdeps /usr/lib64/skalibs/sysdeps/rt.lib /usr/lib64/skalibs/sysdeps/socket.lib /usr/lib64/skalibs/sysdeps/sysclock.lib /usr/lib64/skalibs/sysdeps/sysdeps /usr/lib64/skalibs/sysdeps/sysdeps.h /usr/lib64/skalibs/sysdeps/tainnow.lib /usr/lib64/skalibs/sysdeps/target /usr/lib64/skalibs/sysdeps/util.lib -- Even with configure command line, I still got the double usr mess because of the way the configure script hardcode a few paths. -- ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --dynlibdir=/usr/lib64 --libdir=/usr/lib64/skalibs --datadir=/usr/share --sysdepdir=/usr/lib64/skalibs/sysdeps --disable-static -- So, I've tried to make a little patch quickly which I could send to upstream... but it ended being big. But it did not work quite well, I had to dig into the build script a little further. I will try later to make full patch witt simple settings like the following: -- prefix= libdir='$prefix/lib' includedir='$prefix/include' sysdeps='$libdir/$package/sysdeps' -- I was quite to see that despite the configure switches, many path were still hardcoded which defeated the purpose of putting those switches in place. I ended up needing too much time to dig into the packes (skalibs/execline/s6). First, I wanted to help simplify the build scripts, well at least provide something workable... And then issue after issue pilled up. So, I'm stopping here and will respond to this mail with a what I have and comments for each patch. I did not touch s6 main package because I invested too much time in the others... too bad, I will not be able to test your new release. Thanks. -- Error 404: gentoo user <0123456789> was not found