Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 460630 - distutils-r1.eclass variants broken with older versions of bash
Summary: distutils-r1.eclass variants broken with older versions of bash
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-07 01:37 UTC by Paul Thompson
Modified: 2013-03-11 05:02 UTC (History)
2 users (show)

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


Attachments
emerge --info (emerge-info,5.84 KB, text/plain)
2013-03-07 01:37 UTC, Paul Thompson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Thompson 2013-03-07 01:37:20 UTC
Created attachment 341178 [details]
emerge --info

If bash-4.1_p11 is used, many ebuilds fail with a this message:

/var/tmp/portage/dev-java/java-config-2.1.12-r1/temp/environment: line 2632: MULTIBUILD_VARIANTS: bad array subscript
 * ERROR: dev-java/java-config-2.1.12-r1 failed (install phase):
 *   MULTIBUILD_VARIANTS need to be set
 *
 * Call stack:
 *     ebuild.sh, line   93:  Called src_install
 *   environment, line 3479:  Called distutils-r1_src_install
 *   environment, line  942:  Called _distutils-r1_run_common_phase 'python_install_all'
 *   environment, line  241:  Called multibuild_for_best_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_install_all'
 *   environment, line 2633:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_install_all'
 *   environment, line 2638:  Called die
 * The specific snippet of code:
 *       [[ -n ${MULTIBUILD_VARIANTS} ]] || die "MULTIBUILD_VARIANTS need to be set";

java-config is just one quick example. Upgrading to bash-4.2_p37 allowed the
emerge to finish, and was the only change I made between a failed emerge
and one that succeeded. This started happening sometime after 2013.01.21, which
was the last time java-config built under the older bash version for me.

I have been using the older bash version due to changes in 4.2 that broke
or altered tab completion related to variables.
(seem to be somewhat fixed now, though the behaviour is still different.)
Comment 1 Paul Thompson 2013-03-09 05:09:43 UTC
Just to note that bash-4.0_p38 also fails.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-03-10 18:33:06 UTC
app-shells/bash:          4.1_p11::squish-local-overlay

An older version installed from an overlay. Please tell there's a very good reason not to upgrade. :)
Comment 3 Mike Gilbert gentoo-dev 2013-03-10 18:38:58 UTC
I think we are technically supposed to support 3.2 or greater.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-03-10 19:36:22 UTC
Oh, so it's about ${foo} vs ${foo[0]}? Easy enough, didn't know this ain't supported.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-03-10 21:01:34 UTC
bash-4.1 compatibility should be fixed now. Please let me know if there are any more issues.
Comment 6 Paul Thompson 2013-03-11 05:02:49 UTC
First, it is working again on 4.1_p11.

About the overlay, sorry, that is an exact copy from 4.1_p11::gentoo I made the
last time my older version appeared endangered. I tested on two different
systems and didnt notice the local overlay on the one I pasted from.

Thanks for fixing; as I mentioned there were some signifigant behavioural
differences with 4.2 that I wanted to avoid. (though seemingly mitigated in
the later releases.)