[rosa-devel] Mass migration of packages to 'pkgconfig' BRs

Denis Silakov denis.silakov at rosalab.ru
Thu May 16 21:07:01 MSK 2013

16.05.2013 18:45, Matthew Dawkins пишет:
> I see you kicked off a bunch of builds, and if I'm not mistaking, it's 
> to verify your conversion?

Yes, the script triggers rebuild for every modified package to ensure 
that nothing is broken. Then I manually analyze every failure.

I've pushed the first set of changes (~350 packages) on Monday. There 
were a couple of errors caused by versioned dependencies (btw, firefox 
was one of them, but I can see that crisb has already fixed the issue 
for cooker), but in general everything was fine. Though several dozens 
of packages failed due to reasons not related to BuildRequires 
conversion, but caused by other factors (e.g., "empty-debug-package" 
error from rpmlint). So I've spent some time analyzing the roots of 
failures (and fixing some issues not related to BRs:)).

Today I've improved the script a little to handle more complex cases and 
launched it once again. It seems that about several dozens of packages 
will be updated this time. An again, I'll analyze every failed build.

I've also noticed that the script doesn't handle situations when several 
BRs are recorded at the same line, e.g.
    BuildRequires: libfoo-devel libbar-devel

This is to be improved in future (and maybe I'll just automatically 
split such lines to single BRs).

One more possible improvement is to replace several common cases of old 
'foo-devel' BRs which are not provided anymore and should be replaced 
with pkgconfig. Examples include at least freetype2-devel and gtk2-devel.

I also have and idea to perform general spec clean up together with 
other changes. E.g., dropping "BuildRoot:", "rm -rf %{buildroot}", 
replacing $RPM_BUILD_ROOT with %{buildroot}, etc. A five-line prototype 
of such cleaner can be found here: 
Feel free to provide ideas (and code:)) of what can be added there.

More information about the rosa-devel mailing list