With bash-4.3, if I run "eselect profile list" I get the follwing: # eselect profile list !!! Error: get_repos failed !!! Error: Failed to get a list of valid profiles This doesn't happen with bash 4.2_p47. emerge --info Portage 2.2.10 (default/linux/amd64/13.0, gcc-4.9.0, glibc-2.19, 3.15.0-rc6 x86_64) ================================================================= System uname: Linux-3.15.0-rc6-x86_64-Intel-R-_Core-TM-_i7-4600U_CPU_@_2.10GHz-with-gentoo-2.2 KiB Mem: 7930460 total, 2385756 free KiB Swap: 4194300 total, 4194300 free Timestamp of tree: Fri, 23 May 2014 10:00:01 +0000 ld GNU ld (GNU Binutils) 2.24 app-shells/bash: 4.2_p47 dev-lang/python: 2.7.6-r1, 3.3.5, 3.4.0 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.12.4 sys-apps/sandbox: 2.6-r1 sys-devel/binutils: 2.24-r2 sys-devel/gcc: 4.8.2-r1, 4.9.0 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.14 (virtual/os-headers) sys-libs/glibc: 2.19 Repositories: gentoo marduk gnome ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA AdobeFlash-11.x google-chrome google-talkplugin Google-TOS" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core-avx2 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=core-avx2 -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS=" --autounmask=n --binpkg-respect-use=y --buildpkg-exclude virtual/* --jobs --keep-going --misspell-suggestions=n --oneshot --quiet-build --quiet-unmerge-warn --usepkg --getbinpkg --buildpkg --rebuilt-binaries=y --jobs=3" FCFLAGS="-pipe" FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks fixlafiles news noinfo nostrip notitles parallel-fetch parallel-install protect-owned sandbox sfperms skiprocheck strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_COMPRESS="" PORTAGE_COMPRESS_FLAGS="" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--exclude .rsync-filter" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/marduk /var/lib/layman/gnome" SYNC="rsync://blackwidow/flagship-portage/" USE="acl amd64 cjk introspection nls pam unicode utf8 xattr" ABI_X86="64" APACHE2_MODULES="auth_digest authn_file authz authz_groupfile dav dav_fs dir group_file mime" APACHE2_MPMS="event" CAMERAS="*" CURL_SSL="openssl" DRACUT_MODULES="lvm" ELIBC="glibc" FFTOOLS="*" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LINGUAS="ja" NGINX_MODULES_HTTP="auth_basic gzip proxy rewrite uwsgi" PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="python2_7 python3_3 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="intel i915 i965" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, USE_PYTHON
Looks like expansion of arrays has subtly changed in bash 4.3. In bash-4.2_p47: $ foo=(0 0 0); [[ -z ${foo[@]#0} ]]; echo $? 0 In bash-4.3_p18: $ foo=(0 0 0); [[ -z ${foo[@]#0} ]]; echo $? 1 $ IFS=""; [[ -z ${foo[@]#0} ]]; echo $? 0 Not sure if this is a bug in bash. Documentation says that word splitting is not performed between [[ ]]. Also there are no double quotes, therefore the IFS setting should not have any influence? CCing bash maintainers.
Please test if this patch fixes the problem: <http://git.overlays.gentoo.org/gitweb/?p=proj/eselect.git;a=blobdiff;f=modules/profile.eselect;h=94aed2b25ccd992555c5ae5ba2e74ac18b8af02c;hp=3bd5408d2e817842dc116e805bb3c0c21de6bb05;hb=4c3a9faded0b5cdce7bac51069759ae23dfa859f;hpb=52fc546e3590d79921420705bd1771298656fa65>
(In reply to Ulrich Müller from comment #1) > Not sure if this is a bug in bash. Documentation says that word splitting is > not performed between [[ ]]. Also there are no double quotes, therefore the > IFS setting should not have any influence? It's a fallout of this recent change (bash43-014): http://lists.gnu.org/archive/html/help-bash/2014-04/msg00005.html
(In reply to Ulrich Müller from comment #2) > Please test if this patch fixes the problem: > <http://git.overlays.gentoo.org/gitweb/?p=proj/eselect.git;a=blobdiff; > f=modules/profile.eselect;h=94aed2b25ccd992555c5ae5ba2e74ac18b8af02c; > hp=3bd5408d2e817842dc116e805bb3c0c21de6bb05; > hb=4c3a9faded0b5cdce7bac51069759ae23dfa859f; > hpb=52fc546e3590d79921420705bd1771298656fa65> That patch fixes the bug.
Fixed in eselect-1.4.2. Thanks for reporting. Leaving this bug open because it could be an issue in bash 4.3 also.
I'm using app-shells/bash-4.3_p18-r2, app-admin/eselect-1.4.2 and this does not appear to be an issue any longer. Thanks.
(In reply to Ulrich Müller from comment #1) > Looks like expansion of arrays has subtly changed in bash 4.3. > > In bash-4.2_p47: > $ foo=(0 0 0); [[ -z ${foo[@]#0} ]]; echo $? > 0 > > In bash-4.3_p18: > $ foo=(0 0 0); [[ -z ${foo[@]#0} ]]; echo $? > 1 > $ IFS=""; [[ -z ${foo[@]#0} ]]; echo $? > 0 > > Not sure if this is a bug in bash. Documentation says that word splitting is > not performed between [[ ]]. Also there are no double quotes, therefore the > IFS setting should not have any influence? @base-system: Do you think this is a bug in bash (or its documentation)? If not, this bug can be closed.
i thought i had posted this upstream, but i guess not
upstream has confirmed the new behavior is intentional
*** Bug 529290 has been marked as a duplicate of this bug. ***