Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 636672 - sys-apps/portage: "External commands disallowed while sourcing ebuild" error may affect many overlays
Summary: sys-apps/portage: "External commands disallowed while sourcing ebuild" error ...
Status: RESOLVED OBSOLETE
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - External Interaction (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-05 21:52 UTC by rbrown4014
Modified: 2021-05-04 03:31 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rbrown4014 2017-11-05 21:52:38 UTC
This should be changed in a way that people can choose via their make.conf to allow external commands in ebuilds, or should be on an EAPI, or package basis. I understand this was done for security reasons, but at the same time the overlay maintainers have a lot of work to do to fix every ebuild to meet this new standard, and the people using these apps that arent in the main repository are left sitting around not able to update, or re-link these apps, as other updates are being done. It is inconvienent for the user base, and should either be set as depending on the EAPI of the ebuild, or on a global, or per package basis. From a user standpoint, it is really annoying to have to manually patch stupid things, in ebuilds that worked fine until this change went into effect.
Comment 1 Zac Medico gentoo-dev 2017-11-08 21:37:07 UTC
It's this change:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=fb2459330cf226ee34d3875a1143531bd109aaf2

I suppose we could add a layout.conf flag to control this for EAPI 6 and earlier, or something like that.
Comment 2 Zac Medico gentoo-dev 2017-11-22 05:28:53 UTC
NOTE: It's possible to avoid having die by using [[ ${EBUILD_PHASE} != depend ]] conditionals, like this:


if [[ ${EBUILD_PHASE} != depend ]]; then
    # safely execute commands in global scope here
    echo "hello world"
fi
Comment 3 Zac Medico gentoo-dev 2017-12-04 18:52:24 UTC
(In reply to Zac Medico from comment #1)
> It's this change:
> 
> https://gitweb.gentoo.org/proj/portage.git/commit/
> ?id=fb2459330cf226ee34d3875a1143531bd109aaf2
> 
> I suppose we could add a layout.conf flag to control this for EAPI 6 and
> earlier, or something like that.

Also a FEATURES setting might be helpful for people that use older repository snapshots for some reason.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-05-04 03:04:28 UTC
Not convinced there's much demand for this anymore and I think we have bigger issues in terms of our relationship with overlays and how we break them/don't (formally managing eclass removal, for example).

Okay to close?
Comment 5 Zac Medico gentoo-dev 2021-05-04 03:31:50 UTC
Please let us know if you still have a use for this feature.