Summary: | ebuild's keepdir() alter target-dir permissions. | ||
---|---|---|---|
Product: | Gentoo Hosted Projects | Reporter: | Piotr Karbowski (RETIRED) <slashbeast> |
Component: | PMS/EAPI | Assignee: | PMS/EAPI <pms> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-13600011.3.3.8 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Piotr Karbowski (RETIRED)
2013-02-13 22:03:15 UTC
According to PMS section 11.3.3.8 Installation commands, dodir and keepdir use the DIROPTIONS, by default with file mode 0755. In portage, keepdir calls dodir, and dodir simply does this: install -d ${DIROPTIONS} "${@/#/${ED}/}" Still thats a bit odd because it does leave the setGID there so it looks like not 0755 but 755 is used. I wonder if it really suppose to act like that. (In reply to comment #1) i'm not sure the expectation is that existing dirs get munged. although, it's always behaved this way ... (In reply to comment #2) for +s bits, it's generally sane to do that all at the end due to the number of operations that can easily reset them It behaves in the same way as dodir. I'd rather not change this, as it would only add to the confusion. Ebuilds can easily work around the problem by using DIROPTIONS, or call keepdir before emake install. Well you would expect keepdir to only create a empty file inside and nothing else, I am prepared to adjust permissions at the very end of install process too but I thinks the real confusion comes from the chanding permissions but yeah, I am fain with it as-is, now when I know how it does work. Closing by comment #4. |