On Tue, 2013-11-19 at 14:38 +0100, Michael Schwendt wrote: > On Tue, 19 Nov 2013 21:01:06 +0800, Mathieu Bridon wrote: > > > > This one is weird: > > > https://bugzilla.redhat.com/672153 > > > > > > In order to make the "perl-EV" package not use a bundled "libev" source, > > > you build a "libev-source" subpackage that perl-EV adds as BuildRequires. > > > In other words, perl-EV now still bundles libev, but only indirectly. An > > > update of libev does not affect perl-EV until perl-EV is rebuilt. libev has > > > been updated from 4.11 to 4.15 in Fedora, but perl-EV has not been rebuilt. > > > > Right, it's certainly unorthodox. > > > > The problem is that libev is actually intended to be bundled by > > upstream, and perl-EV is made by the same people. > > It's similar with libeio (retired) and Perl IO::AIO by the same author. > The Perl module contains a renamed and private DSO lib built from a > bundled copy of the library sources. Even if the Perl module could be > patched to use the system-wide DSO lib instead, there are no guarantees > about API/ABI stability. Even if the system lib has been compatible for a > long time, it may break in future releases, and e.g. the module may include > a modified bundled lib source eventually. > > > As a result, they **really** don't want to unbundle libev from perl-EV. > > > > The approach I followed was a compromise, it's definitely not the most > > desirable outcome. > > > > > Such a dependency ought to be tracked in a special way, preferably with > > > official blessing from the FPC. > > > > I didn't pass it through FPC because there are a few precedents. The one > > I inspired myself from is xorg-x11-server-source. > > > > I assumed that given there were already quite a few of these, it was an > > accepted practice. > > > > Did I assume wrong? > > I think so. > > The current packaging approach is circumventing the packaging policies: > https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries > > perl-EV does not use the system libev. No real "unbundling" has been > achieved by replacing the bundled source with another copy at build-time. > A bug-fix (or security-fix) of libev would not affect perl-EV without > rebuilding perl-EV. Even rebuilding perl-EV isn't safe. There's no strict > dependency, but only: > > BuildRequires: libev-source >= %{version} > > As a result, it is not ensured that a rebuild picks up the latest patched > libev-source. Even a buildroot override would be needed. I know all that. :) Unbundling was a pre-requisite of the review request, though, and the reviewer found the current solution more acceptable than keeping the bundled libev in perl-EV. I'm really just trying to fix all this mess here, so what do you think would be the better solution? Thanks, -- Mathieu -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct