Commit 339df19f authored by Vicente Olivert Riera's avatar Vicente Olivert Riera Committed by Peter Korsgaard
Browse files

keyutils: Bump version to 1.5.9, fix patches and

- Bump version to 1.5.9
- Remove patches already included in this version
- Use make parameters instead of environment variables
- Add an upstream patch to fix building statically
- Adapt old patches to the new version
- Add a hash file

Fixes:
  http://autobuild.buildroot.net/results/ced/ced596bd1c73286f7044f5a8e11b6588fc973f11/



Signed-off-by: default avatarVicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 155a48ba
Loading
Loading
Loading
Loading
+104 −0
Original line number Diff line number Diff line
keyutils: Allow building of the shared library to be suppressed

Upstream patch:
  https://kernel.googlesource.com/pub/scm/linux/kernel/git/dhowells/keyutils/+/a4deb71ddc05e951c8be8d46615beed9d408a5c8

Signed-off-by: Vicente Olivert Riera <vincent.riera@imgtec.com>

LIB: Allow building of the shared library to be suppressed

Allow building of the shared library to be suppressed by passing NO_SOLIB=1 to
the Makefile.

Reported-and-tested-by: Vicente Olivert Riera <vincent.riera@imgtec.com>
Signed-off-by: David Howells <dhowells@redhat.com>
diff --git a/Makefile b/Makefile
index c904eaf..5dd2113 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,7 @@
 SPECFILE	:= keyutils.spec
 NO_GLIBC_KEYERR	:= 0
 NO_ARLIB	:= 0
+NO_SOLIB	:= 0
 ETCDIR		:= /etc
 BINDIR		:= /bin
 SBINDIR		:= /sbin
@@ -95,7 +96,7 @@
 # Normal build rule
 #
 ###############################################################################
-all: $(DEVELLIB) keyctl request-key key.dns_resolver
+all: keyctl request-key key.dns_resolver
 
 ###############################################################################
 #
@@ -104,20 +105,23 @@
 ###############################################################################
 #RPATH = -Wl,-rpath,$(LIBDIR)
 
-ifeq ($(NO_ARLIB),0)
-all: $(ARLIB)
-$(ARLIB): keyutils.o
-	$(AR) rcs $@ $<
-endif
-
 VCPPFLAGS	:= -DPKGBUILD="\"$(shell date -u +%F)\""
 VCPPFLAGS	+= -DPKGVERSION="\"keyutils-$(VERSION)\""
 VCPPFLAGS	+= -DAPIVERSION="\"libkeyutils-$(APIVERSION)\""
 
+ifeq ($(NO_ARLIB),0)
+all: $(ARLIB)
+$(ARLIB): keyutils.o
+	$(AR) rcs $@ $<
+
 keyutils.o: keyutils.c keyutils.h Makefile
 	$(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -UNO_GLIBC_KEYERR -o $@ -c $<
+LIB_DEPENDENCY	:= libkeyutils.a
+endif
 
 
+ifeq ($(NO_SOLIB),0)
+all: $(DEVELLIB)
 $(DEVELLIB): $(SONAME)
 	ln -sf $< $@
 
@@ -131,6 +135,8 @@
 
 keyutils.os: keyutils.c keyutils.h Makefile
 	$(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $<
+LIB_DEPENDENCY	:= $(DEVELLIB)
+endif
 
 ###############################################################################
 #
@@ -140,13 +146,13 @@
 %.o: %.c keyutils.h Makefile
 	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
 
-keyctl: keyctl.o $(DEVELLIB)
+keyctl: keyctl.o $(LIB_DEPENDENCY)
 	$(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils
 
-request-key: request-key.o $(DEVELLIB)
+request-key: request-key.o $(LIB_DEPENDENCY)
 	$(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils
 
-key.dns_resolver: key.dns_resolver.o $(DEVELLIB)
+key.dns_resolver: key.dns_resolver.o $(LIB_DEPENDENCY)
 	$(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -lresolv
 
 ###############################################################################
@@ -158,10 +164,12 @@
 ifeq ($(NO_ARLIB),0)
 	$(INSTALL) -D -m 0644 $(ARLIB) $(DESTDIR)$(USRLIBDIR)/$(ARLIB)
 endif
+ifeq ($(NO_SOLIB),0)
 	$(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
 	$(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
 	mkdir -p $(DESTDIR)$(USRLIBDIR)
 	$(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
+endif
 	$(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl
 	$(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key
 	$(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh
+0 −51
Original line number Diff line number Diff line
Patch vampirised from Debian's packaging of keyutils-1.4

Author: Michael Gebetsroither <gebi@grml.org>
Description: Fixed memleak from realloc (Closes: #496466).

diff -Naurp keyutils.orig/keyutils.c keyutils/keyutils.c
--- keyutils.orig/keyutils.c	2008-08-09 21:46:52.000000000 +0200
+++ keyutils/keyutils.c	2008-08-25 13:38:07.000000000 +0200
@@ -165,6 +165,24 @@ long keyctl_assume_authority(key_serial_
 	return keyctl(KEYCTL_ASSUME_AUTHORITY, id);
 }
 
+
+/*****************************************************************************/
+/*
+ * plain realloc is just crazy
+ */
+static void* __xrealloc(void* ptr, size_t size)
+{
+    void* ret;
+
+    ret = realloc(ptr, size);
+    if(!ret) {
+        free(ptr);
+        return 0;
+    }
+    return ret;
+}
+
+
 /*****************************************************************************/
 /*
  * fetch key description into an allocated buffer
@@ -194,7 +212,7 @@ int keyctl_describe_alloc(key_serial_t i
 			break;
 
 		buflen = ret;
-		buf = realloc(buf, buflen);
+		buf = __xrealloc(buf, buflen);
 		if (!buf)
 			return -1;
 	}
@@ -233,7 +251,7 @@ int keyctl_read_alloc(key_serial_t id, v
 			break;
 
 		buflen = ret;
-		buf = realloc(buf, buflen + 1);
+		buf = __xrealloc(buf, buflen + 1);
 		if (!buf)
 			return -1;
 	}
+0 −32
Original line number Diff line number Diff line
Patch vampirised from Debian's packaging of keyutils-1.4

Author: Michael Gebetsroither <gebi@grml.org>
Description: Fixed another memleak (Closes: #496466).

diff -Naurp keyutils.orig/keyutils.c keyutils/keyutils.c
--- keyutils.orig/keyutils.c	2008-08-09 21:46:52.000000000 +0200
+++ keyutils/keyutils.c	2008-08-25 13:38:25.000000000 +0200
@@ -187,8 +187,10 @@ int keyctl_describe_alloc(key_serial_t i
 
 	for (;;) {
 		ret = keyctl_describe(id, buf, buflen);
-		if (ret < 0)
+		if (ret < 0) {
+            free(buf);
 			return -1;
+        }
 
 		if (buflen >= ret)
 			break;
@@ -226,8 +228,10 @@ int keyctl_read_alloc(key_serial_t id, v
 
 	for (;;) {
 		ret = keyctl_read(id, buf, buflen);
-		if (ret < 0)
+		if (ret < 0) {
+            free(buf);
 			return -1;
+        }
 
 		if (buflen >= ret)
 			break;
+7 −6
Original line number Diff line number Diff line
@@ -3,17 +3,18 @@ Makefile: fix install rule
Do not link the .so with an absolute path, otherwise it may point to
the host library.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Based on the former patch by Yann E. MORIN.

diff -durN keyutils-1.5.5.orig/Makefile keyutils-1.5.5/Makefile
--- keyutils-1.5.5.orig/Makefile	2012-10-22 20:11:57.188548033 +0200
+++ keyutils-1.5.5/Makefile	2012-10-22 20:14:40.868236838 +0200
@@ -127,7 +127,7 @@
Signed-off-by: Vicente Olivert Riera <vincent.riera@imgtec.com>

--- keyutils-1.5.9/Makefile.orig	2014-09-22 16:13:41.593562765 +0100
+++ keyutils-1.5.9/Makefile	2014-09-22 16:14:05.377963952 +0100
@@ -168,7 +168,7 @@ ifeq ($(NO_SOLIB),0)
 	$(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
 	$(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
 	mkdir -p $(DESTDIR)$(USRLIBDIR)
-	$(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
+	$(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
 endif
 	$(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl
 	$(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key
 	$(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh
+9 −55
Original line number Diff line number Diff line
diff -durN keyutils-1.5.5.orig/Makefile keyutils-1.5.5/Makefile
--- keyutils-1.5.5.orig/Makefile	2011-11-30 16:27:43.000000000 +0100
+++ keyutils-1.5.5/Makefile	2012-08-14 17:06:07.064412101 +0200
@@ -1,7 +1,5 @@
-CPPFLAGS	:= -I.
-CFLAGS		:= -g -Wall -Werror
-INSTALL		:= install
-DESTDIR		:=
+CPPFLAGS	+= -I.
+CFLAGS		+= -g -Wall -Werror
 SPECFILE	:= keyutils.spec
 NO_GLIBC_KEYERR	:= 0
 NO_ARLIB	:= 0
@@ -14,7 +12,7 @@
 MAN5		:= /usr/share/man/man5
 MAN8		:= /usr/share/man/man8
 INCLUDEDIR	:= /usr/include
-LNS		:= ln -sf
+LNS		:= $(LN) -sf
 
 ###############################################################################
 #
@@ -48,29 +46,6 @@
 
 ###############################################################################
 #
-# Guess at the appropriate lib directory and word size
-#
-###############################################################################
-LIBDIR		:= $(shell ldd /usr/bin/make | grep '\(/libc\)' | sed -e 's!.*\(/.*\)/libc[.].*!\1!')
-USRLIBDIR	:= $(patsubst /lib/%,/usr/lib/%,$(LIBDIR))
-BUILDFOR	:= $(shell file /usr/bin/make | sed -e 's!.*ELF \(32\|64\)-bit.*!\1!')-bit
-
-LNS		:= ln -sf
-
-ifeq ($(BUILDFOR),32-bit)
-CFLAGS		+= -m32
-LIBDIR		:= /lib
-USRLIBDIR	:= /usr/lib
-else
-ifeq ($(BUILDFOR),64-bit)
-CFLAGS		+= -m64
-LIBDIR		:= /lib64
-USRLIBDIR	:= /usr/lib64
-endif
-endif
-
-###############################################################################
-#
 # This is necessary if glibc doesn't know about the key management error codes
 #
 ###############################################################################
@@ -110,10 +85,10 @@
Makefile: Don't call "ln" directly

Signed-off-by: Vicente Olivert Riera <vincent.riera@imgtec.com>

--- keyutils-1.5.9/Makefile.orig	2014-09-22 16:05:14.117007430 +0100
+++ keyutils-1.5.9/Makefile	2014-09-22 16:06:26.053219336 +0100
@@ -123,10 +123,10 @@ endif
 ifeq ($(NO_SOLIB),0)
 all: $(DEVELLIB)
 $(DEVELLIB): $(SONAME)
-	ln -sf $< $@
+	$(LNS) $< $@
Loading