Re: [gentoo-portage-dev] support multiple eclass variants (aka "unstable eclasses")
Am 14.07.2014 12:49, schrieb Michael Haubenwallner: > > Is there an easy way to use the eclasses from the overriding tree, but not > the (usually newer) > ebuilds from there - such as 'configure but disable repo (except for use in > eclass-override)'? > Putting */*::repo_name into p.mask should remove all effects. Let me know if there's another effect you want to disable. You may need --autounmask-keep-masks to prevent emerge from unmasking those ebuilds. > Thanks! > /haubi/ > >
Re: [gentoo-portage-dev] support multiple eclass variants (aka "unstable eclasses")
On 07/08/2014 07:11 PM, Sebastian Luther wrote: > Am 08.07.2014 18:58, schrieb Michael Haubenwallner: >> Hello fellow Portage developers, >> >> attached portage patch draft aims to allow for easy distributing eclasses to >> be tested by >> multiple tinderboxes on various architectures, without being active for >> normal installs. > > What does the patch allow you to do, that you can't do right now? (i.e. > put an eclass with the same name in an repository and use > eclass-overrides to force its use in another repo?) Is there an easy way to use the eclasses from the overriding tree, but not the (usually newer) ebuilds from there - such as 'configure but disable repo (except for use in eclass-override)'? Thanks! /haubi/
Re: [gentoo-portage-dev] support multiple eclass variants (aka "unstable eclasses")
Am 2014-07-08 19:11, schrieb Sebastian Luther: > Am 08.07.2014 18:58, schrieb Michael Haubenwallner: >> Hello fellow Portage developers, >> >> attached portage patch draft aims to allow for easy distributing eclasses to >> be tested by >> multiple tinderboxes on various architectures, without being active for >> normal installs. > > What does the patch allow you to do, that you can't do right now? (i.e. > put an eclass with the same name in an repository and use > eclass-overrides to force its use in another repo?) Ohw, haven't been aware of that - will try first. Thanks! /haubi/
Re: [gentoo-portage-dev] support multiple eclass variants (aka "unstable eclasses")
Am 08.07.2014 18:58, schrieb Michael Haubenwallner: > Hello fellow Portage developers, > > attached portage patch draft aims to allow for easy distributing eclasses to > be tested by > multiple tinderboxes on various architectures, without being active for > normal installs. What does the patch allow you to do, that you can't do right now? (i.e. put an eclass with the same name in an repository and use eclass-overrides to force its use in another repo?) > > Usage is to have in make.conf (or profile): PORTAGE_ECLASS_VARIANTS="testing" > and for the eclass: to live in tree-or-overlay/eclass/testing/ > > Thoughts? (even for var-naming, manpage yes/no/wording, ...) > There are lots of places to update (including python code). See git grep eclass. > Thank you! > /haubi/ >
[gentoo-portage-dev] support multiple eclass variants (aka "unstable eclasses")
Hello fellow Portage developers, attached portage patch draft aims to allow for easy distributing eclasses to be tested by multiple tinderboxes on various architectures, without being active for normal installs. Usage is to have in make.conf (or profile): PORTAGE_ECLASS_VARIANTS="testing" and for the eclass: to live in tree-or-overlay/eclass/testing/ Thoughts? (even for var-naming, manpage yes/no/wording, ...) Thank you! /haubi/ >From 2ddc1db0f1c15873e2476fbf5ba0352464c8725a Mon Sep 17 00:00:00 2001 From: Michael Haubenwallner Date: Tue, 8 Jul 2014 17:48:54 +0200 Subject: [PATCH] support PORTAGE_ECLASS_VARIANTS --- bin/ebuild.sh | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/ebuild.sh b/bin/ebuild.sh index be044e0..366cab6 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -246,12 +246,14 @@ inherit() { fi for repo_location in "${PORTAGE_ECLASS_LOCATIONS[@]}"; do - potential_location="${repo_location}/eclass/${1}.eclass" + for x in ${PORTAGE_ECLASS_VARIANTS:-} ''; do + potential_location="${repo_location}/eclass${x:+/}${x}/${1}.eclass" if [[ -f ${potential_location} ]]; then location="${potential_location}" debug-print " eclass exists: ${location}" -break +break 2 fi + done done debug-print "inherit: $1 -> $location" [[ -z ${location} ]] && die "${1}.eclass could not be found by inherit()" -- 1.8.3.2