[Mageia-dev] Lib policy change needed ?

Anssi Hannula anssi.hannula at iki.fi
Wed Jun 15 19:06:37 CEST 2011


On 15.06.2011 19:15, Ahmad Samir wrote:
> On 15 June 2011 10:44, Christiaan Welvaart <cjw at daneel.dyndns.org> wrote:
>> On Wed, 15 Jun 2011, Dexter Morgan wrote:
>>
>>> the last BS breakage makes me thing that we should adjust our
>>> packaging policy and add only one lib per lib package.
>>>
>>>
>>> On our last BS breakage we had as error :
>>>
>>>
>>> A requested package cannot be installed:
>>> seahorse-2.32.0-2.mga1.x86_64 (due to unsatisfied libgp11.so.0()(64bit))
>>>
>>>
>>> because libgp11.so.0 was in libgcr0 but disappeared.
>>
>> This was of course a packaging error, the version postfix in the package
>> name should have been modified.
>>
>>> WDYT about this new policy ?
>>
>> Fine with me, always considered it strange when the lib version in the pkg
>> name does not correspond to major version of some of the libraries in a
>> package. I agree this policy change or clarification (if followed) will
>> likely prevent such mistakes in the future. And it should not cause any
>> problems since we have automatic library provides and dependencies.
>>
>>
>>    Christiaan
>>
> 
> Splitting every single lib in a separate package isn't ideal, IMHO
> (just look at how many kde library packages we have).
> 
> Libraries that have the same major from the same src.rpm should be in
> the same sub-package as much as possible (i.e. all glib-related libs
> in one package, extensions (e.g. nautilus extensions) could be each in
> a sub-package); and split only if something would require one lib but
> not another from that lib package, i.e. split when needed, not
> generally.

I'd do the split when there is a potential for the majors to be
different (i.e. the major numbers are defined separately for each library).

> For example look at Amarok:
> $ urpmf --sourcerpm :amarok | sort | grep lib
> lib64amarokcore1:amarok-2.4.1-0.mga1.src.rpm
> lib64amaroklib1:amarok-2.4.1-0.mga1.src.rpm
> lib64amarokocsclient4:amarok-2.4.1-0.mga1.src.rpm
> lib64amarokpud1:amarok-2.4.1-0.mga1.src.rpm
> lib64amarok-sqlcollection1:amarok-2.4.1-0.mga1.src.rpm
> lib64amarok-transcoding1:amarok-2.4.1-0.mga1.src.rpm
> 
> every lib is in a separate package, even though:
> - Nothing else uses any of those libs other than Amarok
> - Amarok is linked against all of those libs and it wouldn't work if
> you uninstall any of them
> 
> In such a case grouping all of them in one lib*amarok package would be
> easier, there'll never be any file conflicts when the mojor of any of
> them changes.

IMO we should have an exception so that libraries like these that are
related to and required by a single program/package that are not
expected (i.e. there are no header files) to be used by others, should
be packaged in the main package itself.

I.e. I'd put all of those in amarok package itself, if there is zero
advantage from splitting them.

> P.S. I am not a packaging expert.

-- 
Anssi Hannula


More information about the Mageia-dev mailing list