Re: [PATCH] install-qa-check.d: Add a QA check for installing xattrs

Mike Gilbert <[email protected]> Tue, 28 Sep 2021 09:22:58 -0400
Newsgroups gmane.linux.gentoo.portage.devel
Message-ID <CAJ0EP429uFcf62wWFcVf8tZ-F4+93T+cjZF070ERB1w33uiZzA@mail.gmail.com>
On Tue, Sep 28, 2021 at 2:25 AM Michał Górny <[email protected]> wrote:
>
> On Mon, 2021-09-27 at 21:09 -0400, Mike Gilbert wrote:
> > On Mon, Sep 27, 2021 at 1:20 PM Michał Górny <[email protected]> wrote:
> > > +               eqawarn
> > > +               eqawarn "It is impossible to reliably guarantee that the extended attributes"
> > > +               eqawarn "will be reliably preserved while merging.  Please ensure that any"
> > > +               eqawarn "extended metadata necessary is applied in pkg_postinst() phase,"
> > > +               eqawarn "and that the implementation includes a fallback if necessary."
> >
> > This message suggests that applying xattrs in pkg_postinst is
> > acceptable. However, your patch offers no way to disable the QA
> > warning for ebuilds that do so.
>
> We'll cross that bridge when we get there.  Ideally, we wouldn't need to
> silence the check because no packages would do that.  If they do, then
> we'll probably want to work on an eclass like fcaps.eclas.

We need a way to silence this thing when false positives pop up and/or
ebuilds are adjusted. That needs to be there from day 1, not when we
cross some bridge later.

An immediate example: packages that call pax-mark in src_compile
because the need to disable MPROTECT on binary that is called a
compile time will end up with extended attributes in ${D} due to
install-xattr. We can adjust them to also call pax-mark in
pkg_postinst, but that won't magically make them go away in ${D}.