Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 921679 - app-portage/gentoolkit: eclean packages --changed-deps removes packages with injected libc dependency
Summary: app-portage/gentoolkit: eclean packages --changed-deps removes packages with ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-09 19:05 UTC by Matt Turner
Modified: 2024-01-12 19:16 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 Matt Turner gentoo-dev 2024-01-09 19:05:14 UTC
Likely due to portage commit:

commit af550b8b5cb91f27b26d6800c3b4cdd2d86a46e6
Author: Sam James <sam@gentoo.org>
Date:   Mon Sep 4 16:38:18 2023 +0100

    ebuild: inject implicit libc RDEPEND
    
    Inject >=${LIBC_PROVIDER}-${VERSION_OF_LIBC_PROVIDER} into RDEPEND.

Modifying _deps_equal() in gentoolkit/eclean/search.py to end with

>    if deps_a != deps_b:
>        print(f"deps_a: {deps_a}")
>        print(f"deps_b: {deps_b}")
>    return deps_a == deps_b

I see:

> deps_a: ['>=dev-libs/glib-2.73.2:2', '>=dev-libs/libpeas-0.7.4:0[gtk]', '>=gnome-base/gnome-desktop-2.91.2:=', '>=gnome-base/gsettings-desktop-schemas-42_beta', '>=x11-misc/shared-mime-info-0.20', '>=x11-libs/gdk-pixbuf-2.36.5:2[jpeg,tiff]', '>=x11-libs/gtk+-3.24.15:3[introspection,X]', '>=gui-libs/libhandy-1.5.0:1', 'sys-libs/zlib', '>=media-libs/libexif-0.6.14', 'media-libs/libjpeg-turbo:=', '>=dev-libs/gobject-introspection-1.54:=', '>=gnome-base/librsvg-2.44.0:2', 'x11-libs/libX11', '>=sys-libs/glibc-2.38-r9']
> deps_b: ['>=dev-libs/glib-2.73.2:2', '>=dev-libs/libpeas-0.7.4:0[gtk]', '>=gnome-base/gnome-desktop-2.91.2:=', '>=gnome-base/gsettings-desktop-schemas-42_beta', '>=x11-misc/shared-mime-info-0.20', '>=x11-libs/gdk-pixbuf-2.36.5:2[jpeg,tiff]', '>=x11-libs/gtk+-3.24.15:3[introspection,X]', '>=gui-libs/libhandy-1.5.0:1', 'sys-libs/zlib', '>=media-libs/libexif-0.6.14', 'media-libs/libjpeg-turbo:=', '>=dev-libs/gobject-introspection-1.54:=', '>=gnome-base/librsvg-2.44.0:2', 'x11-libs/libX11']
>  * Cleaning binary packages...
>  [    1.5 M ] media-gfx/eog-45.2

That is, the eog binpkg was removed because deps_a (from the binpkg) contains '>=sys-libs/glibc-2.38-r9' while deps_b (from the system's ebuild) does not.

I suspect the right thing to do is for eclean to ignore the injected libc dependency?
Comment 1 Zac Medico gentoo-dev 2024-01-09 19:21:09 UTC
It can ignore the injected libc dependency using find_libc_deps and strip_libc_deps like https://gitweb.gentoo.org/proj/portage.git/commit/?id=70cbb9b693782eaa779cd7f9f5de6f72edc381d1.
Comment 2 Matt Turner gentoo-dev 2024-01-09 19:38:42 UTC
Awesome, thanks! I'll write a patch.
Comment 3 Larry the Git Cow gentoo-dev 2024-01-12 19:16:06 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=a3e56252cdde2f4fb51766c580c0137f28843510

commit a3e56252cdde2f4fb51766c580c0137f28843510
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2024-01-11 21:31:12 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2024-01-12 19:15:28 +0000

    eclean: Strip libc dependencies from --changed-deps calculations
    
    Closes: https://bugs.gentoo.org/921679
    Closes: https://github.com/gentoo/gentoolkit/pull/38
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 pym/gentoolkit/eclean/search.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)