Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 806875 - sys-fs/e2fsprogs: no longer fully debundles sys-libs/e2fsprogs-libs
Summary: sys-fs/e2fsprogs: no longer fully debundles sys-libs/e2fsprogs-libs
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords: PATCH, PullRequest
Depends on:
Blocks: bundled-libs
  Show dependency tree
 
Reported: 2021-08-07 05:33 UTC by Sam James
Modified: 2021-09-21 00:08 UTC (History)
3 users (show)

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


Attachments
e2fsprogs-1.46.4.ebuild.patch (e2fsprogs-1.46.4.ebuild.patch,5.97 KB, patch)
2021-09-20 23:28 UTC, Matt Whitlock
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester gentoo-dev Security 2021-08-07 05:33:13 UTC
It doesn't seem that e2fsprogs correctly debundles all of the e2fsprogs-libs components anymore.

From #gentoo-base (30th July):
```
<@sam_> I was working on e2fsprogs a few weeks ago and I noticed that I actually had to apply patches to e2fsprogs-libs too in order for everyth
ing to apply consistently
<@sam_> I'm not 100% convinced that the debundling is actually working anymore (i.e. that e2fsprogs is using the system copy)
<@sam_> I poked at the sed and it doesn't seem to be changing anywhere near as much as it needs to be
<@sam_> So, does anyone know why they're actually split in the first place?
<@sam_> this became relevant because of bug 790191
<willikins> sam_: https://bugs.gentoo.org/790191 "sys-fs/e2fsprogs-1.46.2: Tests failed: j_recover_csum2_32bit j_recover_csum2_64bit j_recover_f
ast_commit m_rootdir_acl"; Gentoo Linux, Current packages; CONF; eike:base-system
<@sam_> it looks like it dates back quite a while
<@sam_> upstream don't seem to intend for use of a system copy of -libs
<@sam_> tl;dr: e2fsprogs doesn't seem to actually use e2fsprogs-libs, even though it depends on it, and the test failures reported for it seem to be for -libs components, but patching just -libs doesn't fix them.
```

I spoke to dilfridge about this and he ended up finding that we used to have sys-libs/com_err and sys-libs/ss which were merged into sys-libs/e2fsprogs-libs, although they seem rather deeply embedded within sys-fs/e2fsprogs nowadays.

dilfridge suggested, wrt removal of -libs:
- change all dependencies to directly depend on e2fsprogs (which atm pulls in -libs anyway)
- then the next version installs the libraries and blocks -libs
Comment 1 Larry the Git Cow gentoo-dev 2021-09-13 20:30:49 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e12c1b9d83e5b49e8d310a84a6fa554db6352e20

commit e12c1b9d83e5b49e8d310a84a6fa554db6352e20
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:25 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:25 +0000

    sys-fs/zerofree: e2fsprogs-libs → e2fsprogs
    
    Closes: https://github.com/gentoo/gentoo/pull/22275
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 sys-fs/zerofree/{zerofree-1.1.1.ebuild => zerofree-1.1.1-r1.ebuild} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=648d8cc3e049337918ad899faae1e46273619e73

commit 648d8cc3e049337918ad899faae1e46273619e73
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:24 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:24 +0000

    sys-fs/nilfs-utils: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 ...-utils-2.1.5-r1.ebuild => nilfs-utils-2.1.5-r2.ebuild} |  5 +++--
 ...lfs-utils-2.2.2.ebuild => nilfs-utils-2.2.2-r1.ebuild} | 15 +++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f67003ddb489584652b519fbe7eb181e06b1cd39

commit f67003ddb489584652b519fbe7eb181e06b1cd39
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:23 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:23 +0000

    sys-fs/extundelete: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../{extundelete-0.2.4.ebuild => extundelete-0.2.4-r1.ebuild}  | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d89aa1918b97348187ddd3e06c91f7871a3013f1

commit d89aa1918b97348187ddd3e06c91f7871a3013f1
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:22 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:22 +0000

    sys-fs/e2tools: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 sys-fs/e2tools/{e2tools-0.1.0.ebuild => e2tools-0.1.0-r1.ebuild} | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b33a92c5fdf708e9870cf37b6e99d98c4b113ad

commit 2b33a92c5fdf708e9870cf37b6e99d98c4b113ad
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:21 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:21 +0000

    sys-fs/btrfs-progs: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../{btrfs-progs-5.10.1.ebuild => btrfs-progs-5.10.1-r1.ebuild}     | 6 ++----
 .../{btrfs-progs-5.13.1.ebuild => btrfs-progs-5.13.1-r1.ebuild}     | 6 ++----
 .../{btrfs-progs-5.14.ebuild => btrfs-progs-5.14-r1.ebuild}         | 6 ++----
 sys-fs/btrfs-progs/btrfs-progs-9999.ebuild                          | 6 ++----
 4 files changed, 8 insertions(+), 16 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85cbde157dbb2d45bc830e7d2699c40f4e1508f4

commit 85cbde157dbb2d45bc830e7d2699c40f4e1508f4
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:20 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:20 +0000

    net-nds/openldap: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../openldap/{openldap-2.4.57-r1.ebuild => openldap-2.4.57-r2.ebuild}   | 2 +-
 .../openldap/{openldap-2.4.58-r1.ebuild => openldap-2.4.58-r2.ebuild}   | 2 +-
 .../openldap/{openldap-2.4.59-r1.ebuild => openldap-2.4.59-r2.ebuild}   | 2 +-
 net-nds/openldap/{openldap-2.5.4.ebuild => openldap-2.5.4-r1.ebuild}    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68382d027dea01dd753eda131be005fd37a296bc

commit 68382d027dea01dd753eda131be005fd37a296bc
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:19 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:19 +0000

    net-nds/389-ds-base: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../{389-ds-base-1.4.4.16.ebuild => 389-ds-base-1.4.4.16-r1.ebuild}     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af02bce3c67cda4c86a35a69a0fcae4280c330d9

commit af02bce3c67cda4c86a35a69a0fcae4280c330d9
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:18 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:18 +0000

    net-mail/fetchmail: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../fetchmail/{fetchmail-6.4.21.ebuild => fetchmail-6.4.21-r1.ebuild}   | 2 +-
 .../{fetchmail-7.0.0_alpha9.ebuild => fetchmail-7.0.0_alpha9-r1.ebuild} | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc956aee188f00dec1fc117e0574f4651193481e

commit fc956aee188f00dec1fc117e0574f4651193481e
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:17 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:17 +0000

    net-mail/cyrus-imapd: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../{cyrus-imapd-3.0.13-r1.ebuild => cyrus-imapd-3.0.13-r2.ebuild}      | 2 +-
 .../{cyrus-imapd-3.0.14-r1.ebuild => cyrus-imapd-3.0.14-r2.ebuild}      | 2 +-
 .../{cyrus-imapd-3.0.15-r1.ebuild => cyrus-imapd-3.0.15-r2.ebuild}      | 2 +-
 .../{cyrus-imapd-3.4.1-r1.ebuild => cyrus-imapd-3.4.1-r2.ebuild}        | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=198a2bcf19ea4c57dcedd6c697d2b9c80edd1e1f

commit 198a2bcf19ea4c57dcedd6c697d2b9c80edd1e1f
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:16 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:16 +0000

    net-fs/nfs-utils: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../nfs-utils/{nfs-utils-2.5.3-r1.ebuild => nfs-utils-2.5.3-r2.ebuild}  | 2 +-
 net-fs/nfs-utils/{nfs-utils-2.5.4.ebuild => nfs-utils-2.5.4-r1.ebuild}  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a91e460a7132a0e173f6d2e703692b0f45a57752

commit a91e460a7132a0e173f6d2e703692b0f45a57752
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:15 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:15 +0000

    dev-db/mysql-workbench: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../{mysql-workbench-8.0.23.ebuild => mysql-workbench-8.0.23-r1.ebuild} | 2 +-
 .../{mysql-workbench-8.0.26.ebuild => mysql-workbench-8.0.26-r1.ebuild} | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=177d4898414140b65cb8f490c1cc0e165530fa75

commit 177d4898414140b65cb8f490c1cc0e165530fa75
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:14 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:14 +0000

    app-crypt/mit-krb5-appl: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../{mit-krb5-appl-1.0.3-r2.ebuild => mit-krb5-appl-1.0.3-r3.ebuild}    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2fdc20dee75ceedd1bb744fe4a5d2dc5392e2b8

commit b2fdc20dee75ceedd1bb744fe4a5d2dc5392e2b8
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:13 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:13 +0000

    app-backup/tarsnap: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 app-backup/tarsnap/{tarsnap-1.0.39.ebuild => tarsnap-1.0.39-r1.ebuild} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7fd51b0b6e076311e75a3da77dd9363945b8c6e9

commit 7fd51b0b6e076311e75a3da77dd9363945b8c6e9
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:11 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:11 +0000

    app-backup/fsarchiver: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 .../fsarchiver/{fsarchiver-0.8.6.ebuild => fsarchiver-0.8.6-r1.ebuild}   | 1 -
 1 file changed, 1 deletion(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=426e805021cb98118ca13bfa500d8fbee462ab5b

commit 426e805021cb98118ca13bfa500d8fbee462ab5b
Author:     David Seifert <soap@gentoo.org>
AuthorDate: 2021-09-13 20:30:10 +0000
Commit:     David Seifert <soap@gentoo.org>
CommitDate: 2021-09-13 20:30:10 +0000

    app-arch/dump: e2fsprogs-libs → e2fsprogs
    
    Bug: https://bugs.gentoo.org/806875
    Signed-off-by: David Seifert <soap@gentoo.org>

 app-arch/dump/{dump-0.4.47.ebuild => dump-0.4.47-r1.ebuild} | 1 -
 1 file changed, 1 deletion(-)
Comment 2 Matt Whitlock 2021-09-14 23:49:07 UTC
Could we get a "minimal" or "libs-only" USE flag for sys-fs/e2fsprogs? Portage now wants to merge sys-apps/util-linux into my early boot environment because sys-fs/e2fsprogs RDEPENDs on it. I have no need of any of the extfs utilities, as I have no extfs instances, but net-fs/nfs-utils needs the libraries from e2fsprogs. Sure, I could put sys-apps/util-linux in package.provided, but I'd like a less messy way to install just the libraries that nfs-utils needs without installing all the extfs utilities.
Comment 3 Sam James archtester gentoo-dev Security 2021-09-14 23:58:36 UTC
(In reply to Matt Whitlock from comment #2)
> Could we get a "minimal" or "libs-only" USE flag for sys-fs/e2fsprogs?
> Portage now wants to merge sys-apps/util-linux into my early boot
> environment because sys-fs/e2fsprogs RDEPENDs on it. I have no need of any
> of the extfs utilities, as I have no extfs instances, but net-fs/nfs-utils
> needs the libraries from e2fsprogs. Sure, I could put sys-apps/util-linux in
> package.provided, but I'd like a less messy way to install just the
> libraries that nfs-utils needs without installing all the extfs utilities.

No objection to this, although I'd prefer something like USE=tools or whatever instead (to avoid "native USE flags"). Thanks for raising this.
Comment 4 Matt Whitlock 2021-09-20 23:28:26 UTC
Created attachment 740418 [details, diff]
e2fsprogs-1.46.4.ebuild.patch

(In reply to Sam James from comment #3)
> (In reply to Matt Whitlock from comment #2)
> > Could we get a "minimal" or "libs-only" USE flag for sys-fs/e2fsprogs?
> 
> No objection to this, although I'd prefer something like USE=tools or
> whatever instead (to avoid "native USE flags").

Implemented. See the attached patch. (Of course, similar changes should be applied to all other versions of the ebuild.)

This patch:

 * switches to multilib-minimal (from no multilib)
 * blocks sys-libs/e2fsprogs-libs
 * adds IUSE="+tools"
 * makes RDEPEND="sys-apps/util-linux" conditional on USE="tools"
 * wraps the <ext2fs/ext2_types.h> header since it differs by ABI
 * discontinues the external lib{com_err,ss} hack
 * builds the executables only for the native ABI and only if USE="tools"
 * builds lib{com_err,ss} for all enabled ABIs
 * builds lib{extfs,e2p} for all enabled ABIs and only if USE="tools"

If USE="-tools", then the ebuild installs only the files that sys-libs/e2fsprogs-libs currently installs.

There is one logical improvement over the existing (in-tree) situation: if USE="tools", then the libraries that the tools use (libext2fs and libe2p) are built for *all* enabled ABIs rather than only for the native ABI. (These libraries are not built at all if USE="-tools".)

Note: Any packages that depend on sys-fs/e2fsprogs due to needing libext2fs or libe2p will now need to depend on sys-fs/e2fsprogs[tools(-)] because those libraries will not be installed if USE="-tools".
Comment 5 Matt Whitlock 2021-09-20 23:49:16 UTC
(In reply to Matt Whitlock from comment #4)
> Note: Any packages that depend on sys-fs/e2fsprogs due to needing libext2fs
> or libe2p will now need to depend on sys-fs/e2fsprogs[tools(-)] because
> those libraries will not be installed if USE="-tools".

Correction: that dependency should be "sys-fs/e2fsprogs[tools(+)]" since versions of sys-fs/e2fsprogs prior to the addition of IUSE="tools" would have installed the needed libraries unconditionally.