--Apple-Mail=_2DE5B281-25AF-482E-8986-ADF0F8E07ABD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=us-ascii
On 19 Jan 2022, at 06:35, Mike Frysinger <vapier@gentoo.org> wrote:
On 17 Jan 2022 11:09, Sam James wrote:
When -I${SYSROOT} is injected, it'll override the default of -Im4, which
results in trying to install macros to ${SYSROOT} (a sandbox violation)
when they can't be found.
From aclocal(1):
```
-I DIR add directory to search list for .m4 files
--install
copy third-party files to the first -I directory
```
The first directry is normally -Im4 if anything, whereas when injected
(when ${SYSROOT} is defined), it ends up being ${SYSROOT}, not m4 (so
we try to copy macros to somewhere outside of the build directory).
we should define the semantics we want and bring it upstream to get into automake. although it seems like ACLOCAL_PATH might work well enough
for us now to switch to that.
as a stop gap, it seems like the use of --install is pretty low ? we're cross-compiling about ~2.5k packages in CrOS every day and never seen a failure here. so the few packages which are running into troubles can workaround it by setting AT_SYS_M4DIR right ?
I've only seen it in the wild with:
- app-crypt/tpm2-tss (
https://bugs.gentoo.org/756211 <
https://bugs.gentoo.org/756211>)
- another package which I hit during "normal" use but I'm afraid I can't
recall what. I suspect I hit it before Python grew a BDEPEND on autoconf-archive
so we're less likely to hit it now.
But I accept it's niche. See below though, I think we agree that AT_SYS_M4DIR / system acdir should be satisfactory here.
I don't mind keeping the old logic for < EAPI 7 if that'll help you in CrOS though.
In EAPI 7+, this is almost always the case! We don't generally expect
to find macros (particularly things like autoconf-archive) in ${SYSROOT}
because that's for DEPEND-class dependencies, then they end up being
copied in unnecessarily and wrongly.
i think this optimism is misplaced. libraries often install m4 files
which is precisely why this logic is in here. https://bugs.gentoo.org/677002#c10 <https://bugs.gentoo.org/677002#c10>
deleting this check will break things. prob more than we're fixing.
Sorry, you're absolutely right here!
But I think it's addressed by the system-acdir commit that follows it up.
i.e. the commit message is totally wrong (and I'll fix this), but the change is correct
given we follow it up with seemingly a better way of handling
the original case.
Does that sound right?
Best,
sam
--Apple-Mail=_2DE5B281-25AF-482E-8986-ADF0F8E07ABD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=us-ascii
<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""
<div class="">On 19 Jan 2022, at 06:35, Mike Frysinger <<a href="mailto:vapier@gentoo.org" class="">vapier@gentoo.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta charset="UTF-8" class=""><div class="content-isolator__
container" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space:
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">On 17 Jan 2022 11:09, Sam James wrote:<br class=""><blockquote type="cite" class="">When -I${SYSROOT} is injected, it'll override the default of -Im4, which<br class="">
results in trying to install macros to ${SYSROOT} (a sandbox violation)<br class="">when they can't be found.<br class=""><br class="">From aclocal(1):<br class="">```<br class=""> -I DIR add directory to search list
for .m4 files<br class=""><br class=""> --install<br class=""> copy third-party files to the first -I directory<br class="">```<br class=""><
br class="">The first directry is normally -Im4 if anything, whereas when injected<br class="">(when ${SYSROOT} is defined), it ends up being ${SYSROOT}, not m4 (so<br class="">we try to copy macros to somewhere outside of the build directory).<br class="
"></blockquote><br class="">we should define the semantics we want and bring it upstream to get into<br class="">automake. although it seems like ACLOCAL_PATH might work well enough<br class="">for us now to switch to that.<br class=""><br class="">
as a stop gap, it seems like the use of --install is pretty low ? we're<br class="">cross-compiling about ~2.5k packages in CrOS every day and never seen a<br class="">failure here. so the few packages which are running into troubles can<br
class="">workaround it by setting AT_SYS_M4DIR right ?<br class=""></div></div></blockquote><div><br class=""></div><div>I've only seen it in the wild with:</div><div>- app-crypt/tpm2-tss (<a href="
https://bugs.gentoo.org/756211" class="">
https://bugs.
gentoo.org/756211</a>)</div><div>- another package which I hit during "normal" use but I'm afraid I can't</div><div>recall what. I suspect I hit it before Python grew a BDEPEND on autoconf-archive</div><div>so we're less likely to hit it now.</div><div><
br class=""></div><div>But I accept it's niche. See below though, I think we agree that AT_SYS_M4DIR /</div><div>system acdir should be satisfactory here.</div><div><br class=""></div><div>I don't mind keeping the old logic for < EAPI 7 if that'll
help you in CrOS though.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="content-isolator__container" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal;
font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br class=""><blockquote type="cite" class="">In EAPI
7+, this is almost always the case! We don't generally expect<br class="">to find macros (particularly things like autoconf-archive) in ${SYSROOT}<br class="">because that's for DEPEND-class dependencies, then they end up being<br class="">copied in
unnecessarily and wrongly.<br class=""></blockquote><br class="">i think this optimism is misplaced. libraries often install m4 files<br class="">which is precisely why this logic is in here.<br class=""><a href="
https://bugs.gentoo.org/677002#c10"
class="">
https://bugs.gentoo.org/677002#c10</a><br class=""><br class="">deleting this check will break things. prob more than we're fixing.<br class=""></div></div></blockquote><div><br class=""></div><div>Sorry, you're absolutely right here!</div>
<div><br class=""></div><div>But I think it's addressed by the system-acdir commit that follows it up.</div><div><br class=""></div><div>i.e. the commit message is totally wrong (and I'll fix this), but the change is correct</div><div>given we follow it
up with seemingly a better way of handling</div><div>the original case.</div><div><br class=""></div><div>Does that sound right?</div><br class=""></div><div>Best,</div><div>sam</div><br class=""></body></html>
--Apple-Mail=_2DE5B281-25AF-482E-8986-ADF0F8E07ABD--
-----BEGIN PGP SIGNATURE-----
iQGTBAEBCgB9FiEEYOpPv/uDUzOcqtTy9JIoEO6gSDsFAmHo+g5fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw RUE0RkJGRkI4MzUzMzM5Q0FBRDRGMkY0OTIyODEwRUVBMDQ4M0IACgkQ9JIoEO6g SDuHGggAgwspxY09IzcOTNOiOkaQX60HLwW5/4iSXSAUb2cVYjKqDMQeTGu2yugS wLqeRn9wMSIKWwvKP1+C3FMyDe/OPxa4pucftAMZgjgM6av7otLbsNRoAU6O6i36 irJkUkOsyUqqx+dsPWKoVqAey5surALuc62JWdf3TBY6/Y1YK7qWowDVdbJtdOS4 T0nTbIRNwD4CHpVMAXapOvd/EP80+xjuFJUEIqQvmTv52oe2gKRsC54MFXHCP+aX g12VmE4UulFZiBgDrZpUyQ6Qg/76LqajPrU+0z228/X+VfDw3GDZMhg/LvKtHevw Hp0yVYGhKTz4kbesjbPDj5k0SLzkXQ==
=Plum
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)