On Thu, Jul 09, 2015 at 03:37:12PM +0300, Nikos Chantziaras wrote:
> On 09/07/15 15:24, wraeth wrote:
> > On Thu, Jul 09, 2015 at 03:19:19PM +0300, Nikos Chantziaras wrote:
> >> On 09/07/15 14:48, Neil Bothwick wrote:
> >>> On Thu, 09 Jul 2015 13:38:43 +0200, Stephan Müller wrote:
> >>>
> >>>> As a wild guess into the blue, it could be related to readline. As I
> >>>> see gentoo's bash uses the standalone readline from coreutils, while
> >>>> the original bash source maintains an own trimmed version of readline..
> >>>> just a thought
> >>>
> >>> In that case, re-emerging Bash with USE="-readline" should get rid of the
> >>> problem.
> >>
> >> Doesn't seem possible. That USE flag seems to get ignored by portage:
> >>  [...]
> >>     echo "app-shells/bash -readline" >> /etc/portage/package.use
> >>     emerge -uDN --with-bdeps=y @world
> >>     [...]
> >>     Nothing to merge; quitting.
> >>
> >> That USE flag doesn't do anything.
> >
> > Use the command `emerge -uav --changed-use app-shells/bash` - you need
> > to identify that it's a changed use flag, otherwise it ignores because
> > there are no new versions.
> 
> Still nothing. But I was using -N to begin with (--newuse) which is 
> stronger than --changed-use.
> 
> It doesn't seem possible to change that USE flag.
> 
> 

TL;DR:
Can't rebuld without readline because profile forces it on. You can
override this, but do so at your own risk (or at least, not at mine).

More info:

If you had included the line showing the package and use flags, I could
tell for certain, but I would guess that it's because the readline USE
flag is force-enabled in the base profile. This is indicated by brackets
'()' around the flag.

You can override this by creating the directory /etc/portage/profile and
adding the following text to the file 'package.use.force':

app-shells/bash:0 -readline

You should then be able to rebuild bash without the readline USE flag
enabled, however I'm not sure if that's an entirely wise thing to do -
it's force-enabled as part of the base profile (which leads me to thing
disabling is a bad idea), but the comment for it [1] notes:

# Force app-shells/bash[readline] in stage1 builds, so that compgen is
# available for sys-apps/portage (see bug #445576).

Bug #445576 [2] seems to indicate portage has a problem with bash's
readline implementation (at least >=bash-4.2), but I don't know if
that's still valid or not.

If only to see if this problem is bash's readline, you can disable the
force on the profile using the file above then quickly rebuild bash
using it's built-in with

USE="-readline" emerge -1aOv app-shells/bash

This way you don't have to worry about remembering to remove a
package.use (though you'd still have to remove the profile override).

Hope this helps.

[1] /usr/portage/profiles/base/package.use.force
[2] https://bugs.gentoo.org/show_bug.cgi?id=445576

-- 
wraeth <wra...@wraeth.id.au>
GnuPG Key: B2D9F759

Attachment: signature.asc
Description: Digital signature

Reply via email to