[libev] Get the package closer to what upstream intended

Mathieu Bridon bochecha at fedoraproject.org
Tue Nov 26 05:33:51 UTC 2013


commit 160ea6a793287bd3e85a1596dbf5c1a4ac22dfd0
Author: Mathieu Bridon <bochecha at fedoraproject.org>
Date:   Tue Nov 26 13:24:30 2013 +0800

    Get the package closer to what upstream intended
    
    We used to move the header files in /usr/include/libev, whereas upstream
    (and other distributions) put them in /usr/include.
    
    This was confusing users of the library, who had to either come up with
    clever tricks to build on Fedora (often as downstream changes to the
    packages in Fedora) or worse, depend on the Fedora-only changes, so that
    the software would not build anywhere else.
    
    However, this means that the /usr/include/event.h file (which we used to
    put in /usr/include/libev/event.h) now conflicts with the one from
    libevent-devel.
    
    To avoid making libev-devel conflict with libevent-devel (which would be
    pretty terrible for users of both libraries, like the libverto
    developers for example), this commit introduces a new
    libev-libevent-devel subpackage just to contain this one header file, so
    that only this subpackage conflicts with libevent-devel.
    
    Given that the point of libev's event.h was to be a compatibility header
    with libevent, this actually makes it easier for users to rely on it.
    
    Finally, the pkgconfig file becomes completely unnecessary. As it was a
    Fedora-specific change that libev upstream rejected several times when
    it was proposed to them, this commit also drops it.
    
    All in all, this should remove user confusion over the Fedora libev
    package, and stop various upstreams from depending on Fedora-specific
    changes.
    
    Note that this should really not be pushed in Fedora <= 20 at this time,
    but only to Rawhide.

 ... => libev-4.15-Modernize-the-configure.ac.patch |    0
 ... libev-4.15-Respect-the-CFLAGS-if-defined.patch |    0
 libev.spec                                         |   42 ++++++++++++++-----
 3 files changed, 31 insertions(+), 11 deletions(-)
---
diff --git a/0002-Modernize-the-configure.ac.patch b/libev-4.15-Modernize-the-configure.ac.patch
similarity index 100%
rename from 0002-Modernize-the-configure.ac.patch
rename to libev-4.15-Modernize-the-configure.ac.patch
diff --git a/0003-Respect-the-CFLAGS-if-defined.patch b/libev-4.15-Respect-the-CFLAGS-if-defined.patch
similarity index 100%
rename from 0003-Respect-the-CFLAGS-if-defined.patch
rename to libev-4.15-Respect-the-CFLAGS-if-defined.patch
diff --git a/libev.spec b/libev.spec
index b5df820..29f58cc 100644
--- a/libev.spec
+++ b/libev.spec
@@ -4,16 +4,15 @@
 Name:             libev
 Summary:          High-performance event loop/event model with lots of features
 Version:          4.15
-Release:          2%{?dist}
+Release:          3%{?dist}
 License:          BSD or GPLv2+
 URL:              http://software.schmorp.de/pkg/libev.html
 Source0:          http://dist.schmorp.de/libev/Attic/%{name}-%{version}.tar.gz
 
 BuildRequires:    autoconf automake libtool
 
-Patch0:           0001-Add-pkgconfig-support.patch
-Patch1:           0002-Modernize-the-configure.ac.patch
-Patch2:           0003-Respect-the-CFLAGS-if-defined.patch
+Patch0:           libev-4.15-Modernize-the-configure.ac.patch
+Patch1:           libev-4.15-Respect-the-CFLAGS-if-defined.patch
 
 %description
 Libev is modeled (very loosely) after libevent and the Event Perl
@@ -22,14 +21,25 @@ featureful. And also smaller.
 
 
 %package devel
-Summary:          High-performance event loop/event model with lots of features
+Summary:          Development headers for libev
 Requires:         %{name}%{?_isa} = %{version}-%{release}
-Requires:         pkgconfig
 
 %description devel
 This package contains the development headers and libraries for libev.
 
 
+%package libevent-devel
+Summary:          Compatibility development header with libevent for %{name}.
+Requires:         %{name}-devel%{?_isa} = %{version}-%{release}
+
+# The event.h file actually conflicts with the one from libevent-devel
+Conflicts:        libevent-devel
+
+%description libevent-devel
+This package contains a development header to make libev compatible with
+libevent.
+
+
 %package source
 Summary:          High-performance event loop/event model with lots of features
 %if 0%{?fedora} >= 12 || 0%{?rhel} > 5
@@ -45,13 +55,12 @@ This package contains the source code for libev.
 
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
 
 autoreconf -i
 
 
 %build
-%configure --disable-static --with-pic --includedir=%{_includedir}/%{name}
+%configure --disable-static --with-pic
 make %{?_smp_mflags}
 
 
@@ -67,7 +76,7 @@ rm -rf %{buildroot}%{_libdir}/%{name}.la
 # Make the source package
 mkdir -p %{inst_srcdir}
 
-find . -type f | grep -E '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | xargs tar cf - | (cd %{inst_srcdir} && tar xf -)
+find . -type f | grep -E '.*\.(c|h|am|ac|inc|m4|h.in|man.pre|pl|txt)$' | xargs tar cf - | (cd %{inst_srcdir} && tar xf -)
 install -p -m 0644 Changes ev.pod LICENSE README %{inst_srcdir}
 
 
@@ -81,16 +90,27 @@ install -p -m 0644 Changes ev.pod LICENSE README %{inst_srcdir}
 %{_libdir}/%{name}.so.4.0.0
 
 %files devel
+%{_includedir}/ev++.h
+%{_includedir}/ev.h
 %{_libdir}/%{name}.so
-%{_includedir}/libev/
-%{_libdir}/pkgconfig/%{name}.pc
 %{_mandir}/man?/*
 
+%files libevent-devel
+%{_includedir}/event.h
+
 %files source
 %{source_dir}
 
 
 %changelog
+* Tue Nov 26 2013 Mathieu Bridon <bochecha at fedoraproject.org> - 4.15-3
+- Get the package closer to what upstream intended:
+  - Do not move the headers into a subfolder of /usr/include
+  - Make a libev-libevent-devel subpackage to contain the libevent
+    compatibility header, so that only this subpackage conflicts with
+    libevent-devel, not all of libev-devel
+  - Drop the pkgconfig file, as upstream rejected it several times already.
+
 * Sun Sep  8 2013 Igor Gnatenko <i.gnatenko.brain at gmail.com> - 4.15-2
 - Bump (koji was broken)
 


More information about the scm-commits mailing list