On Wed, 2024-07-03 at 18:02 +0200, Marián Konček wrote:
> > As many of you know, as packages change, so do their BuildRequires.
> > In
> > the current state, maintaining them requires some manual work from
> > the
> > maintainer.
> >
> > 1. So I got around the idea of a simple tool that checks file
> > accesses
> > during the build and using RPM queries, detects whether some
> > package's
> > files are not accessed at all therefore the package is not needed
> > for
> > the build. To my knowledge there is no such project.
yes , no such project and I also think that project may be useful .
I notice with [1] and with new [2] we can check if src requires
something-devel and the binary don't requires the libsomthing.so.etc
to exemplify (result in attachment) :
./dep_checker.py --max_deps 0 glib gtk+ libbonoboui libgnome libgnomeui
GConf2
we got may cases of
somepackge.src requires GConf2-devel but his bin doesn't requires
libgconf-2.so
I can deduce that we can remove the "Builrequires: GConf2-devel" . But
we have other cases that is not true , like headers packages and things
that used scripts and more cases that I don't recall ATM . So I did't
find any formula or linear method , but I hope that dep_checker.py can
help you , I hadn't finish the development yet ...
[1]
https://pagure.io/releng/blob/main/f/scripts/orphaned-packages-process
[2]
https://pagure.io/fork/sergiomb/releng/blob/main/f/scripts/orphaned-packages-process/dep_checker.py
> > The project is
> > here: https://github.com/mkoncek/unbreq
> >
> > It may not be completely reliable, but it also may be good enough
> > to
> > catch simple mistakes.
> >
> > 2. At least in the case of maven build system, this tool does not
> > help
> > with `mvn(foo:bar)` dependencies, as maven unconditionally reads
> > all
> > the
> > files present in /usr/share/maven-metadata, from which it deduces
> > the
> > associations between jars and artifact coordinates. I imagine other
> > build systems employ a similar strategy.
> >
> > 3. In the case of maven, we have a manual tool: xmvn-builddep,
> > which
> > reads the build.log and constructs the actual BuildRequires from
> > it,
> > using knowledge about the build procedure. This could be used as an
> > additional step of this tool, having similar tools for other
> > languages.
> >
> > Ultimately, I am interested in the possibility of having automated
> > unused BuildRequires detection as part of rpmbuild / mockbuild.
> >
> > --
> > Marián Konček
> >
--
Sérgio M. B.
Report started at 2024-07-03 18:46:13 UTC
Depending on: GConf2 (34)
GtkAda
GtkAda-2.24.2-48.fc40.src requires GConf2-devel = 3.2.6-41.fc40
alexandria
alexandria-0.7.9-7.fc40.noarch requires GConf2 = 3.2.6-41.fc40
alexandria-0.7.9-7.fc40.src requires GConf2 = 3.2.6-41.fc40
apcupsd
apcupsd-3.14.14-31.fc40.src requires GConf2-devel =
3.2.6-41.fc40
apcupsd-gui-3.14.14-31.fc40.x86_64 requires
libgconf-2.so.4()(64bit)
cdcollect
cdcollect-0.6.0-42.fc40.x86_64 requires GConf2 = 3.2.6-41.fc40
cdrdao
cdrdao-1.2.5-9.fc40.src requires GConf2-devel = 3.2.6-41.fc40
evolution-rspam
evolution-rspam-0.6.0-43.fc40.src requires GConf2-devel =
3.2.6-41.fc40
florence
florence-0.6.3-23.fc41.src requires GConf2-devel = 3.2.6-41.fc40
gconf-editor
gconf-editor-3.0.1-29.fc40.src requires GConf2-devel =
3.2.6-41.fc40
gconf-editor-3.0.1-29.fc40.x86_64 requires GConf2 =
3.2.6-41.fc40, libgconf-2.so.4()(64bit)
gconfmm26
gconfmm26-2.28.3-74.fc41.i686 requires libgconf-2.so.4
gconfmm26-2.28.3-74.fc41.src requires pkgconfig(gconf-2.0) =
3.2.6
gconfmm26-2.28.3-74.fc41.x86_64 requires
libgconf-2.so.4()(64bit)
gconfmm26-devel-2.28.3-74.fc41.i686 requires
GConf2-devel(x86-32) = 3.2.6-41.fc40, pkgconfig(gconf-2.0) = 3.2.6
gconfmm26-devel-2.28.3-74.fc41.x86_64 requires
GConf2-devel(x86-64) = 3.2.6-41.fc40, pkgconfig(gconf-2.0) = 3.2.6
geany-plugins
geany-plugins-2.0-3.fc40.src requires GConf2-devel =
3.2.6-41.fc40
gnome-do
gnome-do-0.95.3-27.fc40.src requires GConf2-devel =
3.2.6-41.fc40
gnome-do-0.95.3-27.fc40.x86_64 requires GConf2 = 3.2.6-41.fc40
gnome-phone-manager
gnome-phone-manager-0.69-45.fc40.src requires GConf2-devel =
3.2.6-41.fc40
gnome-phone-manager-0.69-45.fc40.x86_64 requires
libgconf-2.so.4()(64bit)
gnome-sharp
gnome-sharp-2.24.2-34.fc40.x86_64 requires
libgconf-2.so.4()(64bit)
gnome-vfs2
gnome-vfs2-2.24.4-45.fc40.i686 requires libgconf-2.so.4
gnome-vfs2-2.24.4-45.fc40.src requires GConf2-devel =
3.2.6-41.fc40
gnome-vfs2-2.24.4-45.fc40.x86_64 requires
libgconf-2.so.4()(64bit)
gnome-vfs2-common-2.24.4-45.fc40.noarch requires GConf2 =
3.2.6-41.fc40
gnome-vfs2-devel-2.24.4-45.fc40.i686 requires
pkgconfig(gconf-2.0) = 3.2.6
gnome-vfs2-devel-2.24.4-45.fc40.x86_64 requires
pkgconfig(gconf-2.0) = 3.2.6
gnome-vfs2-smb-2.24.4-45.fc40.x86_64 requires
libgconf-2.so.4()(64bit)
gnome-vfs2-monikers
gnome-vfs2-monikers-2.15.3-37.fc40.src requires GConf2-devel =
3.2.6-41.fc40
gnome-vfs2-monikers-2.15.3-37.fc40.x86_64 requires
libgconf-2.so.4()(64bit)
gphotoframe
gphotoframe-2.0.2-27.hg2084299dffb6.fc41.noarch requires GConf2
= 3.2.6-41.fc40
gphotoframe-2.0.2-27.hg2084299dffb6.fc41.src requires GConf2 =
3.2.6-41.fc40
gtksourceview2
gtksourceview2-2.11.2-42.fc40.src requires GConf2-devel =
3.2.6-41.fc40
icedtea-web
icedtea-web-1.8.8-5.fc41.x86_64 requires GConf2 = 3.2.6-41.fc40
ignuit
ignuit-2.24.3-16.fc40.src requires GConf2 = 3.2.6-41.fc40
ignuit-2.24.3-16.fc40.x86_64 requires GConf2 = 3.2.6-41.fc40,
libgconf-2.so.4()(64bit)
libbonoboui
libbonoboui-2.24.5-25.fc39.i686 requires libgconf-2.so.4
libbonoboui-2.24.5-25.fc39.x86_64 requires
libgconf-2.so.4()(64bit)
libgnome
libgnome-2.32.1-30.fc40.i686 requires GConf2 = 3.2.6-41.fc40,
libgconf-2.so.4
libgnome-2.32.1-30.fc40.src requires GConf2-devel =
3.2.6-41.fc40
libgnome-2.32.1-30.fc40.x86_64 requires GConf2 = 3.2.6-41.fc40,
libgconf-2.so.4()(64bit)
libgnome-devel-2.32.1-30.fc40.i686 requires
pkgconfig(gconf-2.0) = 3.2.6
libgnome-devel-2.32.1-30.fc40.x86_64 requires
pkgconfig(gconf-2.0) = 3.2.6
libgnomeui
libgnomeui-2.24.5-32.fc40.i686 requires libgconf-2.so.4
libgnomeui-2.24.5-32.fc40.src requires GConf2-devel =
3.2.6-41.fc40
libgnomeui-2.24.5-32.fc40.x86_64 requires
libgconf-2.so.4()(64bit)
libgnomeui-devel-2.24.5-32.fc40.i686 requires
pkgconfig(gconf-2.0) = 3.2.6
libgnomeui-devel-2.24.5-32.fc40.x86_64 requires
pkgconfig(gconf-2.0) = 3.2.6
rawstudio
librawstudio-2.1-0.37.20210527.gitc140a5e.s20231112gitc753388.fc41.i686
requires libgconf-2.so.4
librawstudio-2.1-0.37.20210527.gitc140a5e.s20231112gitc753388.fc41.x86_64
requires libgconf-2.so.4()(64bit)
rawstudio-2.1-0.37.20210527.gitc140a5e.s20231112gitc753388.fc41.src requires
pkgconfig(gconf-2.0) = 3.2.6
rawstudio-2.1-0.37.20210527.gitc140a5e.s20231112gitc753388.fc41.x86_64 requires
libgconf-2.so.4()(64bit)
mail-notification
mail-notification-5.4-111.git.9ae8768.fc40.src requires GConf2
= 3.2.6-41.fc40, GConf2-devel = 3.2.6-41.fc40
mail-notification-5.4-111.git.9ae8768.fc40.x86_64 requires
GConf2 = 3.2.6-41.fc40, libgconf-2.so.4()(64bit)
moserial
moserial-3.0.21-8.fc41.src requires GConf2-devel = 3.2.6-41.fc40
perl-Gnome2-GConf
perl-Gnome2-GConf-1.047-13.fc41.src requires
pkgconfig(gconf-2.0) = 3.2.6
perl-Gnome2-GConf-1.047-13.fc41.x86_64 requires
libgconf-2.so.4()(64bit)
redshift
redshift-1.12-22.fc41.src requires GConf2-devel = 3.2.6-41.fc40
ruby-gnome2
ruby-gconf2-0.90.4-20.fc41.x86_64 requires
libgconf-2.so.4()(64bit)
ruby-gnome2-0.90.4-20.fc41.src requires GConf2-devel =
3.2.6-41.fc40
sirius
sirius-0.8.0-46.fc40.x86_64 requires libgconf-2.so.4()(64bit)
sugar
sugar-0.121-2.fc41.src requires GConf2-devel = 3.2.6-41.fc40
teg
teg-0.12.0-7.fc40.x86_64 requires GConf2 = 3.2.6-41.fc40
tomboy
tomboy-1.15.9-20.fc40.src requires GConf2 = 3.2.6-41.fc40
tomboy-1.15.9-20.fc40.x86_64 requires GConf2 = 3.2.6-41.fc40
wallpapoz
wallpapoz-0.6.2-16.fc40.noarch requires GConf2 = 3.2.6-41.fc40
xoo
xoo-0.8-23.fc40.src requires GConf2-devel = 3.2.6-41.fc40
xoo-0.8-23.fc40.x86_64 requires libgconf-2.so.4()(64bit)
Too many dependencies for GConf2, not all listed here
Depending on: glib (4)
bubblemon
bubblemon-1.46-36.fc40.x86_64 requires
libglib-1.2.so.0()(64bit), libgmodule-1.2.so.0()(64bit)
gtk+
gtk+-1:1.2.10-107.fc40.i686 requires libglib-1.2.so.0,
libgmodule-1.2.so.0
gtk+-1:1.2.10-107.fc40.src requires glib-devel =
1:1.2.10-73.fc40
gtk+-1:1.2.10-107.fc40.x86_64 requires
libglib-1.2.so.0()(64bit), libgmodule-1.2.so.0()(64bit)
gtk+-devel-1:1.2.10-107.fc40.i686 requires glib-devel(x86-32) =
1:1.2.10-73.fc40, pkgconfig(glib) = 1.2.10
gtk+-devel-1:1.2.10-107.fc40.x86_64 requires glib-devel(x86-64)
= 1:1.2.10-73.fc40, pkgconfig(glib) = 1.2.10
manedit
manedit-1.2.1-32.fc40.x86_64 requires
libglib-1.2.so.0()(64bit), libgmodule-1.2.so.0()(64bit)
xconvers
xconvers-0.8.3-33.fc40.x86_64 requires libglib-1.2.so.0()(64bit)
Too many dependencies for glib, not all listed here
Depending on: gtk+ (3)
bubblemon
bubblemon-1.46-36.fc40.src requires gtk+-devel =
1:1.2.10-107.fc40
bubblemon-1.46-36.fc40.x86_64 requires libgdk-1.2.so.0()(64bit)
manedit
manedit-1.2.1-32.fc40.src requires gtk+-devel =
1:1.2.10-107.fc40
manedit-1.2.1-32.fc40.x86_64 requires libgdk-1.2.so.0()(64bit),
libgtk-1.2.so.0()(64bit)
xconvers
xconvers-0.8.3-33.fc40.src requires gtk+-devel =
1:1.2.10-107.fc40
xconvers-0.8.3-33.fc40.x86_64 requires
libgdk-1.2.so.0()(64bit), libgtk-1.2.so.0()(64bit)
Too many dependencies for gtk+, not all listed here
Depending on: libbonoboui (6)
GtkAda
GtkAda-2.24.2-48.fc40.src requires libbonoboui-devel =
2.24.5-25.fc39
GtkAda-gnome-2.24.2-48.fc40.i686 requires libbonoboui-2.so.0
GtkAda-gnome-2.24.2-48.fc40.x86_64 requires
libbonoboui-2.so.0()(64bit)
ghemical
ghemical-3.0.0-25.fc40.src requires libbonoboui-devel =
2.24.5-25.fc39
gnome-sharp
gnome-sharp-2.24.2-34.fc40.x86_64 requires
libbonoboui-2.so.0()(64bit)
libgnomeui
libgnomeui-2.24.5-32.fc40.i686 requires libbonoboui-2.so.0
libgnomeui-2.24.5-32.fc40.src requires libbonoboui-devel =
2.24.5-25.fc39
libgnomeui-2.24.5-32.fc40.x86_64 requires
libbonoboui-2.so.0()(64bit)
libgnomeui-devel-2.24.5-32.fc40.i686 requires
pkgconfig(libbonoboui-2.0) = 2.24.5
libgnomeui-devel-2.24.5-32.fc40.x86_64 requires
pkgconfig(libbonoboui-2.0) = 2.24.5
perl-Gnome2
perl-Gnome2-1.048-14.fc41.x86_64 requires
libbonoboui-2.so.0()(64bit)
ruby-gnome2
ruby-bonoboui2-0.90.4-20.fc41.x86_64 requires
libbonoboui-2.so.0()(64bit)
ruby-gnome2-0.90.4-20.fc41.src requires libbonoboui-devel =
2.24.5-25.fc39
Too many dependencies for libbonoboui, not all listed here
Depending on: libgnome (15)
GtkAda
GtkAda-2.24.2-48.fc40.src requires libgnome-devel =
2.32.1-30.fc40
cbrpager
cbrpager-0.9.22-31.fc40.x86_64 requires libgnome-2.so.0()(64bit)
cellwriter
cellwriter-1.3.6-9.fc40.src requires libgnome-devel =
2.32.1-30.fc40
gnome-sharp
gnome-sharp-2.24.2-34.fc40.x86_64 requires
libgnome-2.so.0()(64bit)
grhino
grhino-0.16.1-19.fc40.x86_64 requires libgnome-2.so.0()(64bit)
ignuit
ignuit-2.24.3-16.fc40.x86_64 requires libgnome-2.so.0()(64bit)
libbonoboui
libbonoboui-2.24.5-25.fc39.i686 requires libgnome-2.so.0
libbonoboui-2.24.5-25.fc39.src requires libgnome-devel =
2.32.1-30.fc40
libbonoboui-2.24.5-25.fc39.x86_64 requires
libgnome-2.so.0()(64bit)
libbonoboui-devel-2.24.5-25.fc39.i686 requires libgnome-2.so.0,
libgnome-devel = 2.32.1-30.fc40, pkgconfig(libgnome-2.0) = 2.32.1
libbonoboui-devel-2.24.5-25.fc39.x86_64 requires
libgnome-2.so.0()(64bit), libgnome-devel = 2.32.1-30.fc40,
pkgconfig(libgnome-2.0) = 2.32.1
libgnomeui
libgnomeui-2.24.5-32.fc40.i686 requires libgnome-2.so.0
libgnomeui-2.24.5-32.fc40.src requires libgnome-devel =
2.32.1-30.fc40
libgnomeui-2.24.5-32.fc40.x86_64 requires
libgnome-2.so.0()(64bit)
libgnomeui-devel-2.24.5-32.fc40.i686 requires
pkgconfig(libgnome-2.0) = 2.32.1
libgnomeui-devel-2.24.5-32.fc40.x86_64 requires
pkgconfig(libgnome-2.0) = 2.32.1
linsmith
linsmith-0.99.33-7.fc40.x86_64 requires libgnome-2.so.0()(64bit)
mail-notification
mail-notification-5.4-111.git.9ae8768.fc40.src requires
libgnome-devel = 2.32.1-30.fc40
mail-notification-5.4-111.git.9ae8768.fc40.x86_64 requires
libgnome-2.so.0()(64bit)
perl-Gnome2
perl-Gnome2-1.048-14.fc41.x86_64 requires
libgnome-2.so.0()(64bit)
pioneers
pioneers-15.6-9.fc40.src requires libgnome-devel =
2.32.1-30.fc40
ruby-gnome2
ruby-bonoboui2-0.90.4-20.fc41.x86_64 requires
libgnome-2.so.0()(64bit)
ruby-gnome2-0.90.4-20.fc41.src requires libgnome-devel =
2.32.1-30.fc40
ruby-gnome2-0.90.4-20.fc41.x86_64 requires
libgnome-2.so.0()(64bit)
sirius
sirius-0.8.0-46.fc40.x86_64 requires libgnome-2.so.0()(64bit)
verbiste
verbiste-gnome-0.1.48-3.fc40.x86_64 requires
libgnome-2.so.0()(64bit)
Too many dependencies for libgnome, not all listed here
Depending on: libgnomeui (15)
GtkAda
GtkAda-2.24.2-48.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
GtkAda-gnome-2.24.2-48.fc40.i686 requires libgnomeui-2.so.0
GtkAda-gnome-2.24.2-48.fc40.x86_64 requires
libgnomeui-2.so.0()(64bit)
cairo-dock-plug-ins
cairo-dock-plug-ins-3.5.99^20240501git9901f7d-2.fc41.src
requires pkgconfig(libgnomeui-2.0) = 2.24.5
cbrpager
cbrpager-0.9.22-31.fc40.src requires pkgconfig(libgnomeui-2.0)
= 2.24.5
cbrpager-0.9.22-31.fc40.x86_64 requires
libgnomeui-2.so.0()(64bit)
gnome-sharp
gnome-sharp-2.24.2-34.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
gnome-sharp-2.24.2-34.fc40.x86_64 requires
libgnomeui-2.so.0()(64bit)
gretl
gretl-2024b-1.fc41.src requires libgnomeui-devel =
2.24.5-32.fc40
grhino
grhino-0.16.1-19.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
grhino-0.16.1-19.fc40.x86_64 requires libgnomeui-2.so.0()(64bit)
ignuit
ignuit-2.24.3-16.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
ignuit-2.24.3-16.fc40.x86_64 requires libgnomeui-2.so.0()(64bit)
linsmith
linsmith-0.99.33-7.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
linsmith-0.99.33-7.fc40.x86_64 requires
libgnomeui-2.so.0()(64bit)
perl-Gnome2
perl-Gnome2-1.048-14.fc41.src requires libgnomeui-devel =
2.24.5-32.fc40
perl-Gnome2-1.048-14.fc41.x86_64 requires
libgnomeui-2.so.0()(64bit)
ruby-gnome2
ruby-gnome2-0.90.4-20.fc41.src requires libgnomeui-devel =
2.24.5-32.fc40
ruby-gnome2-0.90.4-20.fc41.x86_64 requires
libgnomeui-2.so.0()(64bit)
sirius
sirius-0.8.0-46.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
sirius-0.8.0-46.fc40.x86_64 requires libgnomeui-2.so.0()(64bit)
ski
ski-1.4.0-4.fc40.src requires libgnomeui-devel = 2.24.5-32.fc40
teg
teg-0.12.0-7.fc40.src requires libgnomeui-devel = 2.24.5-32.fc40
tomoe-gtk
tomoe-gtk-0.6.0-44.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
tomoe-gtk-devel-0.6.0-44.fc40.i686 requires libgnomeui-devel =
2.24.5-32.fc40
tomoe-gtk-devel-0.6.0-44.fc40.x86_64 requires libgnomeui-devel
= 2.24.5-32.fc40
verbiste
verbiste-0.1.48-3.fc40.src requires libgnomeui-devel =
2.24.5-32.fc40
verbiste-gnome-0.1.48-3.fc40.x86_64 requires
libgnomeui-2.so.0()(64bit)
Too many dependencies for libgnomeui, not all listed here
Depending packages (None) (50): GtkAda alexandria apcupsd bubblemon
cairo-dock-plug-ins cbrpager cdcollect cdrdao cellwriter
evolution-rspam florence gconf-editor gconfmm26 geany-plugins
ghemical gnome-do gnome-phone-manager gnome-sharp gnome-vfs2
gnome-vfs2-monikers gphotoframe gretl grhino gtk+ gtksourceview2
icedtea-web ignuit libbonoboui libgnome libgnomeui linsmith
mail-notification manedit moserial perl-Gnome2 perl-Gnome2-GConf
pioneers rawstudio redshift ruby-gnome2 sirius ski sugar teg
tomboy tomoe-gtk verbiste wallpapoz xconvers xoo
FTBFS (None) (6): glib gtk+ libbonoboui libgnome libgnomeui GConf2
FTBFS (None) (depended on) (6): glib gtk+ libbonoboui libgnome
libgnomeui GConf2
FTBFS (None) (not depended on) (0):
Report finished at 2024-07-03 18:48:03 UTC
--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue