Summary: | acct-user.eclass may fail to set HOME directory permissions due to INSTALL_MASK or FEATURES=noman | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | A Blamey <gentoobugzilla> |
Component: | Current packages | Assignee: | Michał Górny <mgorny> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | base-system, dev-portage, marcus |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=692222 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Build log
Eclass debug log Environment |
Description
A Blamey
2019-08-05 08:59:36 UTC
Created attachment 585754 [details]
Eclass debug log
Created attachment 585756 [details]
Environment
Do you have /usr/share/man in INSTALL_MASK? Good call - yes I do. My install mask is: INSTALL_MASK=" /usr/share/locale -/usr/share/locale/en -/usr/share/locale/en@IPA -/usr/share/locale/en@boldquot -/usr/share/locale/en@quot -/usr/share/locale/en@shaw -/usr/share/locale/en_GB -/usr/share/locale/en_GB.UTF-8 -/usr/share/locale/en_US -/usr/share/locale/en_US.UTF-8 -/usr/share/locale/locale.alias /usr/share/man -/usr/share/man/cat* -/usr/share/man/man* " The idea here is to only install english man pages. It's worked for years, but I can see how this might break things in this instance. I just changed the mask as below, and acct-user/man now installs correctly. Thanks for the insight! INSTALL_MASK=" /usr/share/locale/* -/usr/share/locale/en -/usr/share/locale/en@IPA -/usr/share/locale/en@boldquot -/usr/share/locale/en@quot -/usr/share/locale/en@shaw -/usr/share/locale/en_GB -/usr/share/locale/en_GB.UTF-8 -/usr/share/locale/en_US -/usr/share/locale/en_US.UTF-8 -/usr/share/locale/locale.alias /usr/share/man/* -/usr/share/man/cat* -/usr/share/man/man* " I guess we should account for possibly missing directories in ${D} due to install mask. Maybe INSTALL_MASK is applied too early. It's weird to assume that preinst would have different contents than install just ensured... *** Bug 692160 has been marked as a duplicate of this bug. *** (In reply to Michał Górny from comment #7) > Maybe INSTALL_MASK is applied too early. It's weird to assume that preinst > would have different contents than install just ensured... The current order of operations makes it possible to use INSTALL_MASK to resolve file collisions (file collision detection occurs prior to preinst). Related commits: https://gitweb.gentoo.org/proj/portage.git/commit/?id=02522e5755ab369c2d9a9f712bb0c1e7b882ad98 https://gitweb.gentoo.org/proj/portage.git/commit/?id=93b654199a32fc3df1299b030317720b9294b0c3 Patch sent for review. https://archives.gentoo.org/gentoo-dev/message/05fa77fba350f0b759c4041c4f1a74cc The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee0b97b10ce02d42e608e477d97629c6591e3489 commit ee0b97b10ce02d42e608e477d97629c6591e3489 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2019-08-15 15:41:25 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2019-08-15 18:15:29 +0000 acct-user.eclass: die explicitly if HOME is missing in preinst Closes: https://bugs.gentoo.org/691478 Signed-off-by: Mike Gilbert <floppym@gentoo.org> eclass/acct-user.eclass | 8 ++++++++ 1 file changed, 8 insertions(+) Well, frankly I would call this a WORKAROUND more than a FIX. It doesn't fix it for me at all and it doesn't even account for the situation if you are using FEATURES=noman as also originally noted in the bug name/title. If there are situations where this directory might be missing (noman, INSTALL_MASK - because the user wants it that way) then it would make more sense to skip this step of changing ownership of non-existing dir and dying at the emerge process, or then there needs to be a different order of doing exclusions according to noman or INSTALL_MASK. Is this HOME directory even needed? NOT FIXED for me. See bug 692222. I also like the patch from here: https://archives.gentoo.org/gentoo-dev/message/e784a1548b87a7bced4be5a4ac482fa4 And, yes I have seen the comment from ulm, but this directory gets created somewhere above in the eclass with keepdir, it is just missing in case user has opted for it. So I don't think this should be of a problem then. Just my 2c. OK, I missed the changes to the ebuild acct-user/man Going to try if that fixes-it-for-me-too. Thank you |