Nay on this one from me.

Given the generally and relatively small number of files found in buildroots 
and thanks to fs caching, running 'find' in buildroot per script takes up an 
irrelevant amount of time, where the KISS brp- scripts does a perfectly good 
job (unless horribly implemented) of detecting the usual small amount of files 
to deal with.

This RFE seems inspired from the  the internal dependency generator which 
implements file classification (ending up in binary rpms post build, in 
contrast to what is proposed for brp- scripts in this RFE) now externalized to 
foo.attr files rather than hardcoded in source.
Use of this classifiation during build time to determine which files to run the 
relevant generator scripts are used for reducing the amount of times spent on 
generating dependencies as each script is invoked once  time per individual 
relevant file.
This is really horrible design as simply making the generator scripts spit out 
filename together with dependencies generated for would be able to achieve 
same, with each script being run just once for whole buildroot (as with the 
external dependency generator, which people might've noticed was much faster 
than the internal generator which is now taking up most of the build time for 
certain packages now due to how the scripts are invoked numerous times rather 
than just generating all deps in a single run).

For Mandriva where we've had a ton of brp- scripts run at end of build (see 
#122), the amount of time spent on is rather neglible from our experience, 
which makes me lean towards this RFE as an encouragement of overengineering and 
complexity that's not really necessary (unless proven otherwise).


If packagers in Fedora (I assume) have to explicitly add buildrequires in order 
for brp scripts to work rather than relevant package type pulling them in 
automatically or manually add commands to %check (which is really not the right 
place for adding them in lack of brp- scripts, they're supposed to be run at 
end of %install, ie. %__os_install_post), that's more of an issue with the 
packaging itself (if libappstream-glib pulls in more dependencies than 
desirable just for appstream-util which I assume has less dependencies, then 
the better solution would be to simply split appstream-util out in separate 
package to be pulled in automatically by rpm-build or whatever package would be 
appropriate).

Mind you, I might totally misunderstand your RFE, as I share similar thoughts 
on the matter as @n3npq ...

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/308#issuecomment-324399548
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to