Summary: | pam.eclass: cleanpamd using full path | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jan Kobler <eng1> |
Component: | Eclasses | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | eng1, gentoo, mgorny |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | patch for pam.eclass |
Just adding that I encountered this too, while bootstrapping a new system. A really short way to reproduce it: ROOT=/path/to/empty/dir emerge -a1 --nodeps system Originally encountered while running: ROOT=/path/to/empty/dir emerge -au1 --nodeps baselayout @system In my case, there are fairly easy workarounds. On older versions of portage I used the --nodeps to avoid circular dependencies, but that no longer seems to be necessary. Removing it pulls in sys-libs/pam (since I have USE=pam set), and if pam installs first, that triggers the else clause seen in the patch and bypasses the troublesome line. However, this might cause problems for somebody installing a system with USE=-pam. |
Created attachment 847972 [details, diff] patch for pam.eclass In file eclass/pam.eclass in function cleanpamd the file name "${D}/etc/pam.d/$1" is computed. When the function cleanpamd is called in dopamd with a list of full path names, then only the basename of each path name should be used instead: "${D}/etc/pam.d/$(basename $1)"