| Summary: | baselayout-1.12.0_pre19-r2 does not pass LIBDIR to make during make install | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Jonathan Coome (RETIRED) <maedhros> |
| Component: | [OLD] baselayout | Assignee: | Gentoo's Team for Core System packages <base-system> |
| Status: | RESOLVED FIXED | ||
| Severity: | critical | CC: | agaffney, amd64, kugelfang, releng, uberlord |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
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. *** |
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.