Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 723440 - sys-apps/util-linux[cryptsetup] needs rebuild after json-c update and before removal of
Summary: sys-apps/util-linux[cryptsetup] needs rebuild after json-c update and before ...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major with 1 vote (vote)
Assignee: Gentoo's Team for Core System packages
Depends on:
Reported: 2020-05-16 21:46 UTC by ta2002
Modified: 2020-08-30 23:36 UTC (History)
2 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description ta2002 2020-05-16 21:46:24 UTC
No doubt someone will want to rewrite the title of this. :)

Anyway, I have (on two machines) util-linux installed with the cryptsetup USE flag. After the update from json-c-0.13.1-r1 to json-c-0.14-r2 (which replaces with portage no longer works, because the mount command (used by pid-sandbox) fails due to its dependency on (again, this will only happen when util-linux has the cryptsetup USE flag set).

I think I can recover from this, but the json-c-0.14-r2 ebuild should if (util-linux has cryptsetup support) leave around (with instructions to remove later) and require the rebuild of util-linux after the update.

Comment 1 Mike Gilbert gentoo-dev 2020-05-17 00:58:11 UTC
util-linux does not use libjson-c directly. libjson-c probably gets pulled in by libcryptsetup. Rebuilding sys-fs/cryptsetup should resolve the issue.

sys-fs/cryptsetup already uses a slot-operator for the dev-libs/json-c dependency, which should trigger an automatic rebuild of the former when the latter is upgraded.

As well, the preserve-libs Portage feature should prevent from being removed until the rebuild occurs.

Have you disabled FEATURES="preserve-libs"?
Comment 2 lkd-gentoo 2020-05-22 11:59:17 UTC
/bin/mount is unable to operate once json-c goes from .so version 4 to .so version 5.

--- BEGIN ---
~ # ldd /bin/mount (0x00007ffc187d7000) => /lib64/ (0x00007ff7b3992000) => /lib64/ (0x00007ff7b37d7000) => /lib64/ (0x00007ff7b3787000) => /usr/lib64/ (0x00007ff7b3712000)
        /lib64/ (0x00007ff7b3a19000) => /lib64/ (0x00007ff7b3709000) => /lib64/ (0x00007ff7b36af000) => /usr/lib64/ (0x00007ff7b33f3000) => /usr/lib64/ (0x00007ff7b33e9000) => not found => /lib64/ (0x00007ff7b33b7000) => /lib64/ (0x00007ff7b3396000) => /lib64/ (0x00007ff7b3253000) => /lib64/ (0x00007ff7b3237000) => /lib64/ (0x00007ff7b3232000) => /lib64/ (0x00007ff7b3228000)
--- END ---

emerge is unable to operate on this system once /bin/mount is crippled in this manner.