[Rpm-maint] [rpm-software-management/rpm] RFC: give some freshness to brp scripts (#308)

proyvind notifications at github.com
Wed Aug 23 17:03:51 UTC 2017


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20170823/67664c59/attachment.html>


More information about the Rpm-maint mailing list