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

Alexander Burmashev alex.burmashev at rosalab.ru
Mon May 13 17:00:48 MSK 2013

Actually after recent update, all new LTS packages should also be with pkgconfig provides.

----- Исходное сообщение -----
От: "Matthew Dawkins" <mattydaw at gmail.com>
Кому: "Maillist for ROSA developers." <rosa-devel at lists.rosalab.ru>
Отправленные: Понедельник, 13 Май 2013 г 16:57:31
Тема: Re: [rosa-devel] Mass migration of packages to 'pkgconfig' BRs

I'm curious why rosa LTS devel pkgs wouldnt have a pkgconfig provide? These provides have been successfully detected and provided in RPM for years now. 

Is it that a newer version of a specific pkg maybe now providing a pkgconfig file? 

On Mon, May 13, 2013 at 6:45 AM, symbianflo < symbianflo at mandrivausers.ro > wrote: 

That's awesome , if it works is really awesome , but I have a problem... 
since a lot of my builds are based on specfiles that are cross -rosa version 
meaning that I have a bcond that ask for pkgconfig(foo) %if %{mdvver} >= 201210 
else foo-devel where the foo don't generate a foo.pc file in LTS ( for various reasons), 
my question is all this spec files would be affected ? 
If yes that's bad.... a lot of specs should be rewritten manually then.... 
with hope that this tool will not overwrite ounce more foo-devel. 
I use to have single spec file per build for both rosa release ( and since this week 
I had in mind RELS too ...) so finger cross.... 
IMHO this would generate a lot of dead retrocompat. specs...and to keep one spec per %{mdvver} 
is double work ( for now , with newer rosa releases, more than double...) or we just forget about LTS 
(witch would be bad , we don't have yet 5 years passed..) and move on to fresh? 


Il giorno lun, 13/05/2013 alle 16.24 +0400, Denis Silakov ha scritto: 

Hi all,

As many of you likely know, many lib*-devel packages have several 
"Provides" entries that can be used to identify them - traditional 
'libfoo-devel' and something like 'pkgconfig(foo)' (in case when library 
provides *pc files for pkgconfig).
Quite long ago it was decided that if you want to add BuildRequires on 
libfoo, the preferred way is to use 'pkgconfig(foo)', not libfoo-devel. 
One of the reasons is that pkgconfig() provides are generated 
automatically, while libfoo-devel should be added manually. For many 
libraries 'libfoo-devel' provides are missing now, but not all of the 
packages are switched to pkgconfig() BRs (though maintainers have spent 
a lot of time on this). This is one of the often reasons of package 
build failures, and we even have a rpmlint check to detect old-style BRs 

The good news is that as a part of FBA ( http://fba.rosalinux.ru/ ) 
development, we've recently created an automated tool to fix 
"invalid-build-requires" errors which tries to transform 'libfoo-devel' 
to appropriate 'pkgconfig()' entries.

The tool has been launched for a first time not long ago and is working 
right now. I expect ~350 packages to be fixed (~350 in cooker and ~350 
in rosa2012.1). To ensure that nothing is broken after the tool work, 
rebuild of every package is triggered, so abf will be a little busy in 
the nearest hours. Sorry for inconvenience, but this is a necessary step 
which will allow us to avoid many problems in future.

Updated packages will be automatically published for cooker/main, 
cooker/contrib and rosa2012.1/contrib. Packages for rosa2012.1/main will 
not be published, since formally we need to start QA process for them, 
but I don't think it makes much sense (since there is no change in 
functionality, we only need to ensure that new BRs work). 

*** MandrivaUsers Romania Backports *** 
*** Rosalinux.ro *** 
I do thank you for your time , have a doable day 
rosa-devel mailing list 
rosa-devel at lists.rosalab.ru 

rosa-devel mailing list
rosa-devel at lists.rosalab.ru

More information about the rosa-devel mailing list