Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 445576 - app-shells/bash-4.2_p37: QA, unable to find compgen command
Summary: app-shells/bash-4.2_p37: QA, unable to find compgen command
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Ebuild Support (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2012-12-02 08:00 UTC by Oleh
Modified: 2023-06-25 08:25 UTC (History)
1 user (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 Oleh 2012-12-02 08:00:10 UTC
While building portage in stages, QA errors occuring with save-ebuild-env.sh. This doesn't happen with portage reinstalling under daily use BOX.

Reproducible: Always

Steps to Reproduce:
1. build stages
2. notice a QA error with portage reinstalled
3.
Actual Results:  
/var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
/var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 * QA Notice: command not found:
 *
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
 *      /var/tmp/portage/._portage_reinstall_.ut3hqv/bin/save-ebuild-env.sh: line 86: compgen: command not found
Comment 1 Oleh 2012-12-02 08:07:10 UTC
bash-4.2_p37
Comment 2 SpanKY gentoo-dev 2012-12-02 20:51:51 UTC
post the full build log as an attachment and `emerge --info`.  this should be in every bug report as documented.
Comment 3 Oleh 2012-12-03 03:25:45 UTC
this happens during stage building, only warnings, so no logs recorded.
Comment 4 Rick Farina (Zero_Chaos) gentoo-dev 2012-12-03 03:48:45 UTC
(In reply to comment #3)
> this happens during stage building, only warnings, so no logs recorded.

There are logs.  If you can't get them I can, but I need more specific information on when you get these messages.  Is it stage2? stage3? Near the start, near the end?
Comment 5 SpanKY gentoo-dev 2012-12-03 20:51:05 UTC
maybe your builds wrongly disable USE=readline when building bash
Comment 6 Arfrever Frehtes Taifersar Arahesis 2012-12-04 13:39:04 UTC
Portage now uses compgen. I suggest that:
1. sys-apps/portage depend on ">=app-shells/bash-3.2_p17[readline]".
2. gentoo-x86/profiles/base/package.use.force contain "app-shells/bash readline" entry.
Comment 7 Oleh 2012-12-04 13:53:55 UTC
building bash with readline flag in stage1 fixing this issue.
Comment 8 Zac Medico gentoo-dev 2012-12-04 16:30:01 UTC
(In reply to comment #6)
> Portage now uses compgen. I suggest that:
> 1. sys-apps/portage depend on ">=app-shells/bash-3.2_p17[readline]".
> 2. gentoo-x86/profiles/base/package.use.force contain "app-shells/bash
> readline" entry.

Thanks, this is fixed in cvs now.
Comment 9 Paul Thompson 2012-12-05 01:35:28 UTC
(In reply to comment #6)
> Portage now uses compgen. I suggest that:
> 1. sys-apps/portage depend on ">=app-shells/bash-3.2_p17[readline]".
> 2. gentoo-x86/profiles/base/package.use.force contain "app-shells/bash
> readline" entry.

This is not valid for all the older versions of bash in portage, as they
do not have a readline USE, and explicitly force it off:
(from <=app-shels/bash-4.1_p11)
        # Always use the buildin readline, else if we update readline
        # bash gets borked as readline is usually not binary compadible
        # between minor versions.
        #myconf="${myconf} $(use_with !readline installed-readline)"
        myconf="${myconf} --without-installed-readline"

I have not upgraded to bash-4.2 as it used to be broken in how it
expanded variables during path tab completion.

So, this essentially tries to force an upgrade to bash-4.2, during an
emerge -uD and produces confusing output if those guys are masked...
Comment 10 Zac Medico gentoo-dev 2012-12-05 02:22:47 UTC
(In reply to comment #9)
> (In reply to comment #6)
> > Portage now uses compgen. I suggest that:
> > 1. sys-apps/portage depend on ">=app-shells/bash-3.2_p17[readline]".
> > 2. gentoo-x86/profiles/base/package.use.force contain "app-shells/bash
> > readline" entry.
> 
> This is not valid for all the older versions of bash in portage, as they
> do not have a readline USE, and explicitly force it off:
> (from <=app-shels/bash-4.1_p11)
>         # Always use the buildin readline, else if we update readline
>         # bash gets borked as readline is usually not binary compadible
>         # between minor versions.
>         #myconf="${myconf} $(use_with !readline installed-readline)"
>         myconf="${myconf} --without-installed-readline"
> 
> I have not upgraded to bash-4.2 as it used to be broken in how it
> expanded variables during path tab completion.
> 
> So, this essentially tries to force an upgrade to bash-4.2, during an
> emerge -uD and produces confusing output if those guys are masked...

Okay, I've updated the dependency to allow for older bash as follows:

|| ( >=app-shells/bash-4.2_p37[readline] ( <app-shells/bash-4.2_p37 >=app-shells/bash-3.2_p17 ) )

It would better be expressed as >=app-shells/bash-3.2_p17[readline(+)], but that would require EAPI 4, and I don't want to use that in the portage ebuilds yet.