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

Reply via email to