On Tue, Jun 2, 2026 at 7:02 AM Marián Konček <[email protected]> wrote:
> Hi, as the author of the `unbreq` Mock plugin, I found some time to run
> a mass build on over 2200 packages that are part of the ELN package set.
> 40 build failed or timed out, but I successfully built exactly 2200
> packages.
>
> The report is here: https://mkoncek.fedorapeople.org/unbreq.html
>
> Some details:
>
> I ran the package build with the content of the `rawhide` branch at the
> time of generation. I enabled the `unbreq` plugin explicitly.
> My mock config is:
>
> config_opts['plugin_conf']['unbreq_enable'] = True
> config_opts['plugin_conf']['unbreq_opts']['exclude_accessed_files'] = [
>          '^/usr/share/maven-metadata/',
>          '^/usr/lib/.build-id/',
> ]
>
> I also had to apply a fix which is currently in a PR:
> https://github.com/rpm-software-management/mock/pull/1755
>
> The plugin should generally not report false positives but there are
> conditional if statements in the packages that are generally
> unavoidable. This is most visible in Python components.
>
> I hope more people start using this plugin and looking forward to
> feedback so it can be improved.
>
> I am currently working on an alternative implementation which uses
> `LD_PRELOAD` instead of checking filesystem access times.

This is really great!  Thank you for doing this.  I have already found
about a dozen unnecessary BRs in packages I maintain.

I have also noticed, however, that transitive dependencies don't work
the way I expect.  For example:

INFO: unbreq plugin: BuildRequires 'make' is needed because file
/usr/libexec/gcc/x86_64-redhat-linux/16/cc1 was accessed

That cc1 file isn't in the make package.  It's in the cpp package.  I
have seen this a few times.  When package A BuildRequires package B,
and B Requires package C, the plugin sometimes justifies the BR on B
by referring to files in C.  In a few of those cases, I found that C
was really all I needed.  That is, the BR on package B really wasn't
needed, and I could substitute a BR on package C.  There was no
explicit BuildRequires on C, however, which may be what is tripping up
unbreq.

Still, very useful!  Thank you!
-- 
Jerry James
http://www.jamezone.org/
-- 
_______________________________________________
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://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to