Request to add libkqueue to Fedora packages

73 views
Skip to first unread message

Eric Radman

unread,
Dec 21, 2012, 9:32:34 AM12/21/12
to libk...@googlegroups.com
The request to add libkqueue to Fedora packages stalled some time ago,
so I cloned Bug 684446 in an attempt to restart the process

https://bugzilla.redhat.com/show_bug.cgi?id=889505

--
Eric Radman

Eric Radman

unread,
Jan 2, 2013, 8:24:07 AM1/2/13
to libk...@googlegroups.com, era...@entrproject.org
I haven't been able to make much progress in generating an acceptable RPM. If anyone has more experience with their requirements and would like to contribute feel free to contact me.

https://bugzilla.redhat.com/show_bug.cgi?id=889505 

One area of confusion is the distribution of libkqueue.a ... "_Why_ is the static lib being built?" I understand that they don't want applications and utilities to be statically linked, but how is this relevent to a library? Sometimes it's useful to be able to generate a portable executable, and by defenition I a library doesn't have a single use case.

Mark Heily

unread,
Jan 9, 2013, 9:19:18 PM1/9/13
to libk...@googlegroups.com
On Wed, Jan 2, 2013 at 8:24 AM, Eric Radman <eric....@gmail.com> wrote:

One area of confusion is the distribution of libkqueue.a ... "_Why_ is the static lib being built?" I understand that they don't want applications and utilities to be statically linked, but how is this relevent to a library? Sometimes it's useful to be able to generate a portable executable, and by defenition I a library doesn't have a single use case.


They probably want you to pass --disable-static to ./configure to prevent the static library from being built and installed. I'm not sure if that feature is currently working in Makeconf. However, I plan to add that ability soon.

Once I have a stable version 2.0 release, I will take a look at your RPM specfile and see if it can be modified to support the 2.0 release series.

Mark Heily

unread,
Jan 11, 2013, 9:18:53 PM1/11/13
to libk...@googlegroups.com
Here's my suggested changes to your specfile. I don't think there is a need to package the static library, so I removed everything related to building a static library package. Also, the "unowned directory" problem is fixed below.

--- libkqueue.spec 2013-01-04 17:14:21.000000000 -0500
+++ libkqueue.spec.new 2013-01-11 21:16:19.795151398 -0500
@@ -20,14 +20,6 @@
 %description devel
 %{summary}
 
-%package static
-Group: Development/Libraries
-Summary: Static libraries for %{name}-%{version}
-Requires: %{name}-devel = %{version}-%{release}
-
-%description static
-%{summary}
-
 %prep
 %setup -q
 
@@ -55,15 +47,13 @@
 %files devel
 %defattr(-,root,root,-)
 %{_libdir}/libkqueue.so
+%{_includedir}/kqueue
+%{_includedir}/kqueue/sys
 %{_includedir}/kqueue/sys/event.h
 %{_libdir}/pkgconfig/libkqueue.pc
 %{_mandir}/man2/kqueue.2.*
 %{_mandir}/man2/kevent.2.*
 
-%files static
-%defattr(-,root,root,-)
-%{_libdir}/libkqueue.a
-
 %changelog
 * Thu Dec 27 2012 Eric Radman <eric...@eradman.com> - 1.0.1-1
 - Initial Build on RH 6 with separate -devel and -static packages. Based on work


On Wed, Jan 2, 2013 at 8:24 AM, Eric Radman <eric....@gmail.com> wrote:

--
You received this message because you are subscribed to the Google Groups "libkqueue" group.
To view this discussion on the web visit https://groups.google.com/d/msg/libkqueue/-/d2mls8rnDScJ.

To post to this group, send email to libk...@googlegroups.com.
To unsubscribe from this group, send email to libkqueue+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/libkqueue?hl=en.

Eric Radman

unread,
Jan 12, 2013, 9:20:31 AM1/12/13
to libk...@googlegroups.com


On Friday, January 11, 2013 9:18:53 PM UTC-5, mark wrote:
Here's my suggested changes to your specfile. I don't think there is a need to package the static library, so I removed everything related to building a static library package. Also, the "unowned directory" problem is fixed below.

--- libkqueue.spec 2013-01-04 17:14:21.000000000 -0500
+++ libkqueue.spec.new 2013-01-11 21:16:19.795151398 -0500
@@ -20,14 +20,6 @@
 %description devel
 %{summary}
 
-%package static
-Group: Development/Libraries
-Summary: Static libraries for %{name}-%{version}
-Requires: %{name}-devel = %{version}-%{release}


 Thanks, I updated the ticket again with these changes and others

- Move man pages and libkqueue.so to the devel package
- Patched signal.c so that it compiles with -Wall, using %{make_install}
- Use the %dir macro for the include directories
- Inclue a COPYING file and include it with %doc
- Note that event.h is 2-clause BSD

To my surprise, %{configure} breaks the build by setting --target to 'x86_64-redhat-linux-gnu' instead of 'linux', which changes the behavior of `uname`! I don't know of a way around this.


Mark Heily

unread,
Jan 13, 2013, 12:17:35 AM1/13/13
to libk...@googlegroups.com
I've been working on building RPMs for the upcoming libkqueue 2.0 release. See below for the specfile that I am using, based on Eric's specfile. It currently fails to build because of a few minor issues that I hope to fix soon.

 - Mark


Name:       libkqueue
Summary:    A user space implementation of the kqueue kernel event notification mechanism
Version:    2.0
Release:    1
# The entire source code is MIT, event.h which is BSD (2-clause)
License:    MIT and BSD
Group:      System Environment/Libraries

%description
A user space implementation of the kqueue(2) kernel event notification
mechanism. libkqueue acts as a translator between the kevent structure and the
native kernel facilities.

%package devel
Group: Development/Libraries
Summary: Development files for %{name}-%{version}
Requires: %{name}%{?_isa} = %{version}-%{release}

%description devel
%{summary}

%prep
%setup -q

%build
%{configure}
make

%install
make DESTDIR=%{buildroot} install

%check
make check

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc COPYING
%{_libdir}/libkqueue.so.*

%files devel
%defattr(-,root,root,-)
%dir %{_includedir}/kqueue
%dir %{_includedir}/kqueue/sys
%{_includedir}/kqueue/sys/event.h
%{_libdir}/libkqueue.so
%{_libdir}/pkgconfig/libkqueue.pc
%{_mandir}/man2/kqueue.2.*
%{_mandir}/man2/kevent.2.*

%changelog
* Thu Dec 27 2012 Eric Radman <eric...@eradman.com> - 1.0.1-1
- Initial build with separate -devel package. Based on work done by Mark Heily,
  Aditya Patawari and John Haxby


Reply all
Reply to author
Forward
0 new messages