Treatment of bundled libraries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

during yesterday's FPC meeting, I voted "0" on this proposal:
https://fedoraproject.org/wiki/PackagingDrafts/Treatment_Of_Bundled_Libraries

<cite>
   Packages with Bundled Libraries

Packages which contain bundled libraries (bundled libraries being 
defined as libraries which exist and are mantained independently, 
whether or not they are packaged separately for Fedora) must be handled 
in the following manner:

     * Bundled libraries (and/or their source code) must be explicitly 
deleted during %prep. Build scripts may need to be patched to deal with 
this situation. Whenever possible, the patching should be done in a way 
to conditionalize use of the bundled libraries, so that it can be sent 
upstream for consideration.
     * It is not necessary to remove bundled libraries from the source 
tarball unless there is a legal reason to do so
     * Bundled libraries must NEVER end up in a package, even if they 
are not used.
...
</cite>


As I won't be able to attend FPC meetings for the next 2 weeks, I was 
asked to elaborate my vote here:

a) I perceive this proposal as unclear,
esp. wrt. a definition of "library".

It on one hand refers to "bundled binary libraries" (c.f. bootstrapping) 
on the other hand, it refers to "bundled sources", but it is unclear 
about bundled "libraries" of scripted languages (e.g. perl modules).


b) Conditionally building "bundled libraries" or parts from them 
statically and linking against them statically, is a common way, 
packages apply to escape from distributions shipping "old/insufficient" 
versions of libraries.

I.e.
* mandating removing bundled libs will render packaging such packages 
impossible, for distros which ship outdated/insufficient system 
libraries, e.g. RHEL.

* "removing bundled libs" presumes "bundled libs" to be explicit.
In reality, this often is circumvented by "bundling a lib's files" 
instead of a whole library.

I.e. this proposal is "blacklisting" one use case, but ignores another 
use-case.


c) The proposal is explicitly demanding to "remove bundled libraries" in 
%prep.

This is applicable without problems in some cases, with some efforts 
attached to it in many cases, but it also is technically difficult to 
implement in occasions (== error-prone and non-feasible).

Esp. in the latter cases, reality tells that it's often close to 
impossible to "upstream" patches resulting from this, because certain 
upstreams consider their "bundling" to be a feature and not to be a 
"defect/bad design".



All in all, I agree with the objectives of this proposal but consider 
this proposal to be too rough/un-cooked and to be 
non-applicable/non-helpful.

It should be reworded to express the intentions behind it [1] and may-be 
provide some "cookbook receipes".

Ralf

[1] "Re-use system-libs when ever possible".
--
packaging mailing list
packaging@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/packaging


[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux