Baselayout passes LIBDIR to make during src_compile, but not during src_install. This means that the default, "lib", gets used instead, and so rcscripts/conf.d/${SYS_WHITELIST} is installed into /lib regardless of how $LIBDIR was specified when compiling. This normally isn't a problem because if /lib isn't $LIBDIR directory it will be a symlink to $LIBDIR, but if there is no /lib the Makefile creates it as a directory. This leads to the creation of /lib, /lib64 and /lib32 all as directories on amd64, for instance. rm -r "${D}"/{lib,usr/lib,usr/local/lib} (line 251) has no effect because at that point there is no /lib directory, and ksym only creates the symlinks during pkg_postinst. By this point the /lib directory exists, and so mklinks.sh doesn't try to create the symlink. So, it seems the solution is to pass LIBDIR to make install, then nothing will be created in /lib and the symlink from /lib to /lib64 will be created successfully.
This bug is critical from releng pov. CC'ing Chris G.
kdir /lib/dev-state kdir /lib/udev-state These two lines (253..254) also create /lib as a directory, as mkdirs.sh is done before mklinks.sh.
Fixed.
Removing myself, adding release@
*** Bug 122274 has been marked as a duplicate of this bug. ***