Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 38618

Summary: EXTRA_ECONF is overridden by ebuilds
Product: Gentoo Linux Reporter: Bart <rovin_knight>
Component: [OLD] Core systemAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: trivial CC: tove
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Bart 2004-01-18 10:33:07 UTC
(Using portage-2.0.50_pre16) 

When setting the EXTRA_ECONF variable, you can't override an ebuild's predefined configure settings, since the ${EXTRA_ECONF} variable preceeds the $@ variable in ebuild.sh econf()

Say the ebuild's author defined --enable-foo, setting EXTRA_ECONF to --disable-foo won't work

Reproducible: Always
Steps to Reproduce:
1.export EXTRA_ECONF='--disable-utmp'
2.emerge rxvt
3.

Actual Results:  
emerge invoked configure like this:
./configure --disable-utmp .... --enable-utmp

Expected Results:  
should have been:
./configure ...  --enable-utmp --disable-utmp

editing ebuild.sh and changing the order of EXTRA_ECONF and $@ fixed the problem
Comment 1 Marius Mauch (RETIRED) gentoo-dev 2005-02-06 06:17:48 UTC
Don't know when this was fixed, but it's deployed for some time.
Comment 2 Torsten Veller (RETIRED) gentoo-dev 2005-02-06 06:59:56 UTC
Marius, nothing has changed.
EXTRA_ECONF and EXTRA_EINSTALL can only replace default settings (prefix,
host, mandir, infodir,...) but no additional arguments passed via econf.

| --localstatedir=/var/lib \
| ${EXTRA_ECONF} \
| "$@" ; then

Please reopen if this is not intended and the user should be able to replace the ebuild settings.
Comment 3 Marius Mauch (RETIRED) gentoo-dev 2005-02-06 07:32:27 UTC
sorry, I blame lack of sleep.
Comment 4 Alec Warner (RETIRED) archtester gentoo-dev Security 2006-01-02 21:58:37 UTC
                if ! "${ECONF_SOURCE}/configure" \
                        --prefix=/usr \
                        --host=${CHOST} \
                        --mandir=/usr/share/man \
                        --infodir=/usr/share/info \
                        --datadir=/usr/share \
                        --sysconfdir=/etc \
                        --localstatedir=/var/lib \
                        "$@"  \
                        ${LOCAL_EXTRA_ECONF}; then

looks fixed to me, I'd imagine it was done a while, ago, unsure of exact version.