Add patch to support libnl3, Use %%license, Cleanup spec
This commit is contained in:
parent
e5f6debc74
commit
0a49d8afa2
222
0001-Port-to-libnl3.patch
Normal file
222
0001-Port-to-libnl3.patch
Normal file
@ -0,0 +1,222 @@
|
||||
From d82ed2081cf58fb2504ba037d7a1e6444ec5019a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
|
||||
Date: Wed, 28 May 2014 00:11:37 -0400
|
||||
Subject: [PATCH] Port to libnl3
|
||||
|
||||
---
|
||||
libnetlabel/netlabel_comm.c | 35 -----------------------------
|
||||
libnetlabel/netlabel_internal.h | 49 +++++++----------------------------------
|
||||
libnetlabel/netlabel_msg.c | 4 ----
|
||||
macros.mk | 2 +-
|
||||
netlabelctl/Makefile | 2 +-
|
||||
5 files changed, 10 insertions(+), 82 deletions(-)
|
||||
|
||||
diff --git a/libnetlabel/netlabel_comm.c b/libnetlabel/netlabel_comm.c
|
||||
index 289629b..02869e8 100644
|
||||
--- a/libnetlabel/netlabel_comm.c
|
||||
+++ b/libnetlabel/netlabel_comm.c
|
||||
@@ -102,13 +102,8 @@ struct nlbl_handle *nlbl_comm_open(void)
|
||||
goto open_failure;
|
||||
|
||||
/* set the netlink handle properties */
|
||||
-#if LIBNL_VERSION >= 1008
|
||||
nl_socket_set_peer_port(hndl->nl_hndl, 0);
|
||||
nl_set_passcred(hndl->nl_hndl, 1);
|
||||
-#elif LIBNL_VERSION == 1006
|
||||
- nl_handle_set_peer_pid(hndl->nl_hndl, 0);
|
||||
- nl_set_passcred(hndl->nl_hndl, 1);
|
||||
-#endif
|
||||
nl_disable_sequence_check(hndl->nl_hndl);
|
||||
|
||||
/* connect to the generic netlink subsystem in the kernel */
|
||||
@@ -177,11 +172,7 @@ int nlbl_comm_recv_raw(struct nlbl_handle *hndl, unsigned char **data)
|
||||
* no data is waiting to be read from the handle */
|
||||
timeout.tv_sec = nlcomm_read_timeout;
|
||||
timeout.tv_usec = 0;
|
||||
-#if LIBNL_VERSION >= 1008
|
||||
nl_fd = nl_socket_get_fd(hndl->nl_hndl);
|
||||
-#else
|
||||
- nl_fd = nl_handle_get_fd(hndl->nl_hndl);
|
||||
-#endif
|
||||
FD_ZERO(&read_fds);
|
||||
FD_SET(nl_fd, &read_fds);
|
||||
ret_val = select(nl_fd + 1, &read_fds, NULL, NULL, &timeout);
|
||||
@@ -192,15 +183,9 @@ int nlbl_comm_recv_raw(struct nlbl_handle *hndl, unsigned char **data)
|
||||
|
||||
/* perform the read operation */
|
||||
*data = NULL;
|
||||
-#if LIBNL_VERSION >= 1006
|
||||
ret_val = nl_recv(hndl->nl_hndl, &peer_nladdr, data, &creds);
|
||||
if (ret_val < 0)
|
||||
return ret_val;
|
||||
-#else
|
||||
- ret_val = nl_recv(hndl->nl_hndl, &peer_nladdr, data);
|
||||
- if (ret_val < 0)
|
||||
- return ret_val;
|
||||
-#endif
|
||||
|
||||
/* if we are setup to receive credentials, only accept messages from
|
||||
* the kernel (ignore all others and send an -EAGAIN) */
|
||||
@@ -251,11 +236,7 @@ int nlbl_comm_recv(struct nlbl_handle *hndl, nlbl_msg **msg)
|
||||
* no data is waiting to be read from the handle */
|
||||
timeout.tv_sec = nlcomm_read_timeout;
|
||||
timeout.tv_usec = 0;
|
||||
-#if LIBNL_VERSION >= 1008
|
||||
nl_fd = nl_socket_get_fd(hndl->nl_hndl);
|
||||
-#else
|
||||
- nl_fd = nl_handle_get_fd(hndl->nl_hndl);
|
||||
-#endif
|
||||
FD_ZERO(&read_fds);
|
||||
FD_SET(nl_fd, &read_fds);
|
||||
ret_val = select(nl_fd + 1, &read_fds, NULL, NULL, &timeout);
|
||||
@@ -265,19 +246,9 @@ int nlbl_comm_recv(struct nlbl_handle *hndl, nlbl_msg **msg)
|
||||
return -EAGAIN;
|
||||
|
||||
/* perform the read operation */
|
||||
-#if LIBNL_VERSION >= 1100
|
||||
ret_val = nl_recv(hndl->nl_hndl, &peer_nladdr, &data, &creds);
|
||||
if (ret_val < 0)
|
||||
return ret_val;
|
||||
-#elif LIBNL_VERSION >= 1006
|
||||
- ret_val = nl_recv(hndl->nl_hndl, &peer_nladdr, data, &creds);
|
||||
- if (ret_val < 0)
|
||||
- return ret_val;
|
||||
-#else
|
||||
- ret_val = nl_recv(hndl->nl_hndl, &peer_nladdr, data);
|
||||
- if (ret_val < 0)
|
||||
- return ret_val;
|
||||
-#endif
|
||||
|
||||
/* if we are setup to receive credentials, only accept messages from
|
||||
* the kernel (ignore all others and send an -EAGAIN) */
|
||||
@@ -344,9 +315,7 @@ int nlbl_comm_send(struct nlbl_handle *hndl, nlbl_msg *msg)
|
||||
creds.gid = getegid();
|
||||
|
||||
/* set the message properties */
|
||||
-#if LIBNL_VERSION >= 1006
|
||||
nlmsg_set_creds(msg, &creds);
|
||||
-#endif
|
||||
|
||||
/* request a netlink ack message */
|
||||
nl_hdr = nlbl_msg_nlhdr(msg);
|
||||
@@ -355,9 +324,5 @@ int nlbl_comm_send(struct nlbl_handle *hndl, nlbl_msg *msg)
|
||||
nl_hdr->nlmsg_flags |= NLM_F_ACK;
|
||||
|
||||
/* send the message */
|
||||
-#if LIBNL_VERSION == 1005
|
||||
- return nl_send_auto_complete(hndl->nl_hndl, nlbl_msg_nlhdr(msg));
|
||||
-#elif LIBNL_VERSION >= 1006
|
||||
return nl_send_auto_complete(hndl->nl_hndl, msg);
|
||||
-#endif
|
||||
}
|
||||
diff --git a/libnetlabel/netlabel_internal.h b/libnetlabel/netlabel_internal.h
|
||||
index acc2f03..54200af 100644
|
||||
--- a/libnetlabel/netlabel_internal.h
|
||||
+++ b/libnetlabel/netlabel_internal.h
|
||||
@@ -27,6 +27,14 @@
|
||||
|
||||
#include <netlink/netlink.h>
|
||||
|
||||
+#define nl_handle_alloc nl_socket_alloc
|
||||
+#define nl_handle_destroy nl_socket_free
|
||||
+#define nl_handle nl_sock
|
||||
+#define nlmsg_build(ptr) nlmsg_inherit(ptr)
|
||||
+#define nl_set_passcred nl_socket_set_passcred
|
||||
+#define nl_disable_sequence_check nl_socket_disable_seq_check
|
||||
+#define nlmsg_len nlmsg_datalen
|
||||
+
|
||||
/* NetLabel communication handle */
|
||||
struct nlbl_handle {
|
||||
struct nl_handle *nl_hndl;
|
||||
@@ -37,46 +45,5 @@ struct nlbl_handle {
|
||||
(((hdr)->nlmsg_flags & NLM_F_MULTI) && \
|
||||
((hdr)->nlmsg_type != NLMSG_DONE)))
|
||||
|
||||
-/* Specify which version of libnl we are using */
|
||||
-/* 1.0-pre5 => 1005 */
|
||||
-/* 1.0-pre6 => 1006 */
|
||||
-/* 1.0-pre8 => 1008 */
|
||||
-/* 1.1 => 1100 */
|
||||
-#define LIBNL_VERSION 1100
|
||||
-
|
||||
-/* XXX - this whole block will most likely go away once libnl supports Generic
|
||||
- * Netlink */
|
||||
-#if LIBNL_VERSION <= 1006 /* Generic Netlink types */
|
||||
-
|
||||
-/* Generic Netlink message header */
|
||||
-struct genlmsghdr {
|
||||
- uint8_t cmd;
|
||||
- uint8_t version;
|
||||
- uint16_t reserved;
|
||||
-};
|
||||
-
|
||||
-#define GENL_ID_CTRL 0x10
|
||||
-
|
||||
-enum {
|
||||
- CTRL_CMD_UNSPEC,
|
||||
- CTRL_CMD_NEWFAMILY,
|
||||
- CTRL_CMD_DELFAMILY,
|
||||
- CTRL_CMD_GETFAMILY,
|
||||
- CTRL_CMD_NEWOPS,
|
||||
- CTRL_CMD_DELOPS,
|
||||
- CTRL_CMD_GETOPS,
|
||||
- __CTRL_CMD_MAX,
|
||||
-};
|
||||
-#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1)
|
||||
-
|
||||
-enum {
|
||||
- CTRL_ATTR_UNSPEC,
|
||||
- CTRL_ATTR_FAMILY_ID,
|
||||
- CTRL_ATTR_FAMILY_NAME,
|
||||
- __CTRL_ATTR_MAX,
|
||||
-};
|
||||
-#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1)
|
||||
-
|
||||
-#endif /* Generic Netlink types */
|
||||
|
||||
#endif
|
||||
diff --git a/libnetlabel/netlabel_msg.c b/libnetlabel/netlabel_msg.c
|
||||
index fb2fc58..af00fbe 100644
|
||||
--- a/libnetlabel/netlabel_msg.c
|
||||
+++ b/libnetlabel/netlabel_msg.c
|
||||
@@ -63,11 +63,7 @@ nlbl_msg *nlbl_msg_new(void)
|
||||
struct genlmsghdr genl_hdr;
|
||||
|
||||
/* create the message with a simple netlink header */
|
||||
-#if LIBNL_VERSION >= 1008
|
||||
msg = nlmsg_alloc();
|
||||
-#else
|
||||
- msg = nlmsg_build_no_hdr();
|
||||
-#endif
|
||||
if (msg == NULL)
|
||||
goto msg_new_failure;
|
||||
|
||||
diff --git a/macros.mk b/macros.mk
|
||||
index a9466f0..b9f8813 100644
|
||||
--- a/macros.mk
|
||||
+++ b/macros.mk
|
||||
@@ -53,7 +53,7 @@ CPPFLAGS += -I$(TOPDIR) -I$(TOPDIR)/include
|
||||
LIBFLAGS =
|
||||
|
||||
CFLAGS ?= -Wl,-z,relro -Wall -O0 -g
|
||||
-CFLAGS += -fPIC
|
||||
+CFLAGS += `pkg-config --cflags libnl-3.0` -fPIC
|
||||
LDFLAGS ?= -z relro -g
|
||||
|
||||
#
|
||||
diff --git a/netlabelctl/Makefile b/netlabelctl/Makefile
|
||||
index 06af6a5..07cebbb 100644
|
||||
--- a/netlabelctl/Makefile
|
||||
+++ b/netlabelctl/Makefile
|
||||
@@ -49,7 +49,7 @@ CONF_FILE = netlabel.rules
|
||||
|
||||
OBJS = main.o mgmt.o map.o unlabeled.o cipsov4.o
|
||||
|
||||
-LDFLAGS := ../libnetlabel/libnetlabel.a -lnl -lm
|
||||
+LDFLAGS := ../libnetlabel/libnetlabel.a `pkg-config --libs libnl-3.0` -lm
|
||||
|
||||
DEPS = $(OBJS:%.o=%.d)
|
||||
|
||||
--
|
||||
1.8.4.5
|
||||
|
||||
@ -6,13 +6,15 @@ License: GPLv2
|
||||
Group: System Environment/Daemons
|
||||
URL: http://netlabel.sf.net/
|
||||
Source0: http://downloads.sourceforge.net/netlabel/%{name}-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}
|
||||
Requires: kernel >= 2.6.19
|
||||
# http://sourceforge.net/p/netlabel/bugs/1/
|
||||
Patch0: 0001-Port-to-libnl3.patch
|
||||
|
||||
Requires: kernel
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
BuildRequires: kernel-headers >= 2.6.19
|
||||
BuildRequires: libnl-devel
|
||||
BuildRequires: kernel-headers
|
||||
BuildRequires: libnl3-devel
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: systemd
|
||||
|
||||
@ -25,13 +27,13 @@ kernel subsystem.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .nl3
|
||||
|
||||
%build
|
||||
./configure --prefix="%{_prefix}" --libdir="%{_libdir}" --enable-systemd
|
||||
CFLAGS="%{optflags}" make V=1 %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -rf "%{buildroot}"
|
||||
mkdir -p "%{buildroot}/etc"
|
||||
mkdir -p "%{buildroot}/%{_sbindir}"
|
||||
mkdir -p "%{buildroot}/%{_unitdir}"
|
||||
@ -42,14 +44,15 @@ make V=1 DESTDIR="%{buildroot}" install
|
||||
%systemd_preun netlabel.service
|
||||
|
||||
%postun
|
||||
%systemd_postun
|
||||
%systemd_postun netlabel.service
|
||||
|
||||
%post
|
||||
%systemd_post netlabel.service
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc README CHANGELOG LICENSE
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license LICENSE
|
||||
%doc README CHANGELOG
|
||||
%attr(0644,root,root) %{_mandir}/man8/*
|
||||
%attr(0755,root,root) %{_sbindir}/netlabelctl
|
||||
%attr(0755,root,root) %{_sbindir}/netlabel-config
|
||||
@ -57,6 +60,11 @@ make V=1 DESTDIR="%{buildroot}" install
|
||||
%attr(0644,root,root) %config(noreplace) /etc/netlabel.rules
|
||||
|
||||
%changelog
|
||||
* Sat Mar 21 2015 Peter Robinson <pbrobinson@fedoraproject.org> 0.20-5
|
||||
- Add patch to support libnl3
|
||||
- Use %%license
|
||||
- Cleanup spec
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.20-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
@ -65,6 +73,7 @@ make V=1 DESTDIR="%{buildroot}" install
|
||||
|
||||
* Thu Feb 27 2014 Paul Moore <pmoore@redhat.com> - 0.20-2
|
||||
- Build with CFLAGS="${optflags}"
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.20-1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user