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 -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue