Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 467766 - [Future EAPI] add support to query whether or not extended attributes (xattrs) are allowed
Summary: [Future EAPI] add support to query whether or not extended attributes (xattrs...
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: PMS/EAPI
Depends on:
Blocks: future-eapi 460810
  Show dependency tree
Reported: 2013-04-28 16:49 UTC by Zac Medico
Modified: 2021-09-27 13:14 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Zac Medico gentoo-dev 2013-04-28 16:49:31 UTC
For example, see bug #460810, where the ebuild's src_install behavior would need to vary depending on whether or not extended attributes are allowed.
Comment 1 Ciaran McCreesh 2013-04-28 16:56:09 UTC
We can't know this for sure up-front, though, can we?
Comment 2 Zac Medico gentoo-dev 2013-04-28 17:03:10 UTC
If the user asserts that extended attributes are allowed, and configures the package manager to be aware of this assertion, then the package manager can expose this assertion to the ebuild environment.
Comment 3 Ciaran McCreesh 2013-04-28 17:05:55 UTC
How does this interact with binaries? And how does it interact with the user being wrong?
Comment 4 Zac Medico gentoo-dev 2013-04-28 17:09:32 UTC
Behavior for binary packages is undefined by PMS, as usual. If the user is wrong, then the behavior is undefined, and the user must accept responsibility for configuring the package manager incorrectly.
Comment 5 Ciaran McCreesh 2013-04-28 17:12:37 UTC
Undefined by PMS, sure, but we still need to implement this feature in a way that doesn't prevent package manglers from doing binaries sanely. If this kind of thing is done in src_*, it implies that you'll need to know at binary-build time what you're installing to.
Comment 6 Zac Medico gentoo-dev 2013-04-28 17:18:39 UTC
How about if we let the user's assertion that extended attributes are allowed imply that "what you're installing to" has equivalent properties to the directory referenced by ${D}?
Comment 7 Ciaran McCreesh 2013-04-28 17:23:13 UTC
That sounds very very fragile... Can't we do all this in pkg_preinst?
Comment 8 Zac Medico gentoo-dev 2013-04-28 17:32:08 UTC
If pkg_preinst is allowed to apply the extended attributes to ${D}, then that should suffice, at least for the purposes of bug 460810.
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-04-28 18:12:55 UTC
I'd say this is something that should be handled via a USE flag, if at all in that way. Then, please don't put all kinds of xattrs into one bag. For example, some fs may have ACL support without caps support, so a generic 'xattr' wouldn't be really helpful.
Comment 10 SpanKY gentoo-dev 2013-04-28 18:17:55 UTC
(In reply to comment #9)

it's already handled via a USE flag.  no one is talking about dropping that part.
Comment 11 Zac Medico gentoo-dev 2013-04-29 16:10:13 UTC
We could add a boolean returning function called xattr_allowed, and have it return true if xattrs are allowed in ${D} for the current phase. If we only want to support pkg_preinst, then PMS can say that this function may only return true during pkg_preinst.

Alternatively, we could add a more specific function called preinst_xattr_allowed.
Comment 12 SpanKY gentoo-dev 2013-04-29 18:31:14 UTC
(In reply to comment #11)

doing as much work as possible in src_install is desirable.  the pkg_preinst phase would only be needed to process the fallback logic.  so if the PM takes note of the xattrs set in $D after src_install, and it detects it can save/restore/transfer to the final $ROOT, then the logic in pkg_preinst would be a simple nop.
Comment 13 Ulrich Müller gentoo-dev 2021-09-27 13:14:53 UTC
No progress since 8 years, and it seems unclear how this would be implemented.

Feel free to reopen with a patch for PMS.