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. -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct