Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 601650 - installing <sys-libs/readline-7.0 from binary package can break bash
Summary: installing <sys-libs/readline-7.0 from binary package can break bash
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal blocker
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-05 07:58 UTC by Manuel Mommertz
Modified: 2016-12-05 08:37 UTC (History)
0 users

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 Manuel Mommertz 2016-12-05 07:58:20 UTC
We have a build-server to provide binary packages for our clients.
As ncurses-6.0 got stable the server built a package for it and rebuilt several packages which depends on it. One was readline-6.3_p8-r2 which now needs libncurses.so.6. But the readline package depends only on >=sys-libs/ncurses-5.9-r3 (without := at the end).

Now a client wants to update and schedules readline before ncurses (as >=ncurses-5.9-r3 was already installed):
Calculating dependencies... done!
..
[binary   R    ] sys-libs/readline-6.3_p8-r2-2 
..
[ebuild     U  ] sys-libs/ncurses-6.0-r1 [5.9-r5] USE="threads%* {-test%}" 
..
>>> Installing (3 of 46) sys-libs/readline-6.3_p8-r2::gentoo
>>> Failed to execute postinst for sys-libs/readline-6.3_p8-r2, Log file:
>>>  '/var/tmp/portage/sys-libs/readline-6.3_p8-r2/temp/build.log

build.log:
>>> Extracting info
 * Package:    sys-libs/readline-6.3_p8-r2
 * Repository: gentoo
 * USE:        amd64 kernel_linux elibc_glibc userland_GNU abi_x86_64
 * FEATURES:   compressdebug preserve-libs sandbox splitdebug userpriv usersandbox
>>> cfg-update-1.8.2-r1: Checksum index is up-to-date ...
>>> Extracting sys-libs/readline-6.3_p8-r2
 * The ebuild phase 'postrm' has exited unexpectedly. This type of behavior
..
sh: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory
[sys-libs/readline-6.3_p8-r2] bash: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory
 * The ebuild phase 'postinst' has exited unexpectedly. This type of
..

# emerge --info
/bin/sh: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory
Failed to validate a sane '/dev'.
bash process substitution doesn't work; this may be an indication of a broken '/dev/fd'.

At this point the system has a broken bash with all its consequences.
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2016-12-05 08:26:27 UTC
Great... I was afraid such a bug report could arise.

That happens because this readline ebuilds still having EAPI-4 which does not support sub-slot dependencies...
Comment 2 Manuel Mommertz 2016-12-05 08:33:01 UTC
And it is not as simple as just bumping readlines revision number to provide an EAPI >=5 ebuild?
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2016-12-05 08:37:54 UTC
commit de816e9be1f3db2925acbb33ee2d60ead8cd0837
Author: Lars Wendler <polynomial-c@gentoo.org>
Date:   Mon Dec 5 09:36:31 2016

    sys-libs/readline: Revbumped remaining EAPI-4 ebuilds to EAPI-5.

    This is necessary to add sub-slot dependency for sys-libs/ncurses.
    Bumped straight to stable.

    Fixes Gentoo bug #601650.

    Package-Manager: portage-2.3.2