diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2016-02-10 10:01:37 +0100 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2016-02-10 10:05:24 +0100 |
commit | 27252e02d69e9b62a06cb48c72d36dfdf8567fea (patch) | |
tree | dd79a39206c34b43dba1610688eae0650b2a6d21 /sys-libs/libcap | |
parent | nvidia-driver.eclass: Use next gen version of readme.gentoo eclass (diff) | |
download | gentoo-27252e02d69e9b62a06cb48c72d36dfdf8567fea.tar.gz gentoo-27252e02d69e9b62a06cb48c72d36dfdf8567fea.tar.bz2 gentoo-27252e02d69e9b62a06cb48c72d36dfdf8567fea.zip |
sys-libs/libcap: Bump to version 2.25
Package-Manager: portage-2.2.27
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'sys-libs/libcap')
-rw-r--r-- | sys-libs/libcap/Manifest | 1 | ||||
-rw-r--r-- | sys-libs/libcap/files/libcap-2.25-build-system-fixes.patch | 153 | ||||
-rw-r--r-- | sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch | 33 | ||||
-rw-r--r-- | sys-libs/libcap/libcap-2.25.ebuild | 75 |
4 files changed, 262 insertions, 0 deletions
diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest index 7ed006c001fd..ba24d96d1ed2 100644 --- a/sys-libs/libcap/Manifest +++ b/sys-libs/libcap/Manifest @@ -1,2 +1,3 @@ DIST libcap-2.22.tar.bz2 60051 SHA256 73ebbd4877b5f69dd28b72098e510c5b318bc480f8201c4061ac98b78c04050f SHA512 d4e070cfed7dbf416c949e79fbfbfcde2da4705d4f55527b18482c9959b80fea2841bf70f317fa5e620e13a75a8e5da69f94304b8e54195f2d0492f14d342339 WHIRLPOOL 000e3c76e83366423efc0e935c6191496c0e9bf1cc559babdbeea74c8c81009e883985c5f1c739b4fb1744522e09bda253f6012b7e52284f291eabeaf20f6a88 DIST libcap-2.24.tar.xz 63412 SHA256 cee4568f78dc851d726fc93f25f4ed91cc223b1fe8259daa4a77158d174e6c65 SHA512 c062bab936d651a50efa66dcfa51ab3ce4b0881195d23bb32142b5c8044d30e0e2152f3497844ce90c04f909aeffe2d41203efff41972e38758dcca7b653884b WHIRLPOOL bb7a9d8d3b999ad289962ebdc8b9eff87e25bd744a86ee4717e999738cb5a556a51826d0f0cbfc628629948fa8355d5d972208910d6c1c99bdf66a673b6f1cc8 +DIST libcap-2.25.tar.xz 63672 SHA256 693c8ac51e983ee678205571ef272439d83afe62dd8e424ea14ad9790bc35162 SHA512 c3ab491885292adc171cde542b96f1295e84132febb50112a46575c3bde3a3eb6fcf733f7a756b4b656e013c0abb5ed6571db24799f8c0b23d8f759f992864f9 WHIRLPOOL 294a399224997bb3e6187103f364dee2d64f5ab633068361c56fcb4a496abf24d0283b35d4c48df193d36f9372540a3afe853627429ba7f7caba7e9826e1a13d diff --git a/sys-libs/libcap/files/libcap-2.25-build-system-fixes.patch b/sys-libs/libcap/files/libcap-2.25-build-system-fixes.patch new file mode 100644 index 000000000000..c33fffda8d91 --- /dev/null +++ b/sys-libs/libcap/files/libcap-2.25-build-system-fixes.patch @@ -0,0 +1,153 @@ +From d5a0c023a7f3deefd471d7b97ef4fa40ed374645 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Wed, 10 Feb 2016 09:47:27 +0100 +Subject: [PATCH] build system fixes + +This touches up the homebrewed build system to work much better "out of the +box" for people. Specifically: + - allow toolchain vars to be set via environment + - CC / BUILD_CC / AR / RANLIB + - CFLAGS / CPPFLAGS / LDFLAGS + - split CPPFLAGS out of CFLAGS + - break -fPIC out of global CFLAGS and only use where needed + - use LDLIBS for libraries, not LDFLAGS + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> + +Forward ported from libcap-2.24 to libcap-2.25 + +Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> +--- + Make.Rules | 26 ++++++++++++++------------ + libcap/Makefile | 7 ++++--- + pam_cap/Makefile | 8 +++++--- + progs/Makefile | 2 +- + 4 files changed, 24 insertions(+), 19 deletions(-) + +diff --git a/Make.Rules b/Make.Rules +index 8347b26..d7196ef 100644 +--- a/Make.Rules ++++ b/Make.Rules +@@ -45,28 +45,30 @@ MINOR=25 + + # Compilation specifics + +-KERNEL_HEADERS := $(topdir)/libcap/include/uapi +-IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include +- +-CC := gcc +-CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +-BUILD_CC := $(CC) +-BUILD_CFLAGS := $(CFLAGS) $(IPATH) +-AR := ar +-RANLIB := ranlib ++CC ?= gcc ++CFLAGS ?= -O2 ++BUILD_CC ?= $(CC) ++BUILD_CFLAGS ?= $(CFLAGS) ++AR ?= ar ++RANLIB ?= ranlib + DEBUG = -g #-DDEBUG + WARNINGS=-Wall -Wwrite-strings \ + -Wpointer-arith -Wcast-qual -Wcast-align \ + -Wstrict-prototypes -Wmissing-prototypes \ + -Wnested-externs -Winline -Wshadow + LD=$(CC) -Wl,-x -shared +-LDFLAGS := #-g ++LDFLAGS ?= #-g + BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes) + +-SYSTEM_HEADERS = /usr/include ++KERNEL_HEADERS = $(topdir)/libcap/include/uapi ++LIBCAP_CPPFLAGS = -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include ++LIBCAP_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 ++CPPFLAGS += $(LIBCAP_CPPFLAGS) ++BUILD_CPPFLAGS += $(LIBCAP_CPPFLAGS) + INCS=$(topdir)/libcap/include/sys/capability.h + LDFLAGS += -L$(topdir)/libcap +-CFLAGS += -Dlinux $(WARNINGS) $(DEBUG) ++CPPFLAGS += -Dlinux ++CFLAGS += $(WARNINGS) $(DEBUG) + PAM_CAP := $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo yes ; else echo no ; fi) + INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi) + DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo yes; fi) +diff --git a/libcap/Makefile b/libcap/Makefile +index d189777..b99740f 100644 +--- a/libcap/Makefile ++++ b/libcap/Makefile +@@ -17,6 +17,7 @@ OBJS=$(addsuffix .o, $(FILES)) + MAJLIBNAME=$(LIBNAME).$(VERSION) + MINLIBNAME=$(MAJLIBNAME).$(MINOR) + GPERF_OUTPUT = _caps_output.gperf ++CFLAGS += -fPIC + + all: $(MINLIBNAME) $(STALIBNAME) libcap.pc + +@@ -35,7 +36,7 @@ libcap.pc: libcap.pc.in + $< >$@ + + _makenames: _makenames.c cap_names.list.h +- $(BUILD_CC) $(BUILD_CFLAGS) $< -o $@ ++ $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@ + + cap_names.h: _makenames + ./_makenames > cap_names.h +@@ -57,10 +58,10 @@ $(MINLIBNAME): $(OBJS) + ln -sf $(MAJLIBNAME) $(LIBNAME) + + %.o: %.c $(INCLS) +- $(CC) $(CFLAGS) $(IPATH) -c $< -o $@ ++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + + cap_text.o: cap_text.c $(USE_GPERF_OUTPUT) $(INCLS) +- $(CC) $(CFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@ + + install: all + mkdir -p -m 0755 $(FAKEROOT)$(INCDIR)/sys +diff --git a/pam_cap/Makefile b/pam_cap/Makefile +index cc32fb6..6f07b6b 100644 +--- a/pam_cap/Makefile ++++ b/pam_cap/Makefile +@@ -9,6 +9,8 @@ include ../Make.Rules + # written (and you know why it fails), email me and explain why. Thanks! + LDLIBS += -L../libcap -lcap + ++CFLAGS += -fPIC ++ + all: pam_cap.so + $(MAKE) testcompile + +@@ -17,13 +19,13 @@ install: all + install -m 0755 pam_cap.so $(FAKEROOT)$(LIBDIR)/security + + pam_cap.so: pam_cap.o +- $(LD) $(LDFLAGS) -o pam_cap.so $< $(LDLIBS) ++ $(LD) $(CFLAGS) $(LDFLAGS) -o pam_cap.so $< $(LDLIBS) + + pam_cap.o: pam_cap.c +- $(CC) $(CFLAGS) $(IPATH) -c $< -o $@ ++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + + testcompile: test.c pam_cap.o +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $+ -lpam -ldl $(LDLIBS) ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $+ -lpam -ldl $(LDLIBS) + + clean: + rm -f *.o *.so testcompile *~ +diff --git a/progs/Makefile b/progs/Makefile +index c094a24..b9f0d3f 100644 +--- a/progs/Makefile ++++ b/progs/Makefile +@@ -19,7 +19,7 @@ $(BUILD): %: %.o + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS) + + %.o: %.c $(INCS) +- $(CC) $(IPATH) $(CFLAGS) -c $< -o $@ ++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + + install: all + mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR) +-- +2.7.1 + diff --git a/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch b/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch new file mode 100644 index 000000000000..0f737361a4d1 --- /dev/null +++ b/sys-libs/libcap/files/libcap-2.25-ignore-RAISE_SETFCAP-install-failures.patch @@ -0,0 +1,33 @@ +From 8dfcdcfdcb9c462a05566aa8d3c6eca871f0ddbf Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Wed, 10 Feb 2016 09:52:45 +0100 +Subject: [PATCH] ignore RAISE_SETFCAP install failures + +While the new RAISE_SETFCAP feature is nifty, its failure to run (often +due to the fs not supporting it) shouldn't impair the default install. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> + +Forward ported from libcap-2.20 to libcap-2.25 + +Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> +--- + progs/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/progs/Makefile b/progs/Makefile +index c094a24..4a6db38 100644 +--- a/progs/Makefile ++++ b/progs/Makefile +@@ -27,7 +27,7 @@ install: all + install -m 0755 $$p $(FAKEROOT)$(SBINDIR) ; \ + done + ifeq ($(RAISE_SETFCAP),yes) +- $(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap ++ -$(FAKEROOT)$(SBINDIR)/setcap cap_setfcap=i $(FAKEROOT)$(SBINDIR)/setcap + endif + + clean: +-- +2.7.1 + diff --git a/sys-libs/libcap/libcap-2.25.ebuild b/sys-libs/libcap/libcap-2.25.ebuild new file mode 100644 index 000000000000..cb6045994283 --- /dev/null +++ b/sys-libs/libcap/libcap-2.25.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils multilib multilib-minimal toolchain-funcs pam + +DESCRIPTION="POSIX 1003.1e capabilities" +HOMEPAGE="http://www.friedhoff.org/posixfilecaps.html" +SRC_URI="mirror://kernel/linux/libs/security/linux-privs/libcap2/${P}.tar.xz" + +# it's available under either of the licenses +LICENSE="|| ( GPL-2 BSD )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux" +IUSE="pam static-libs" + +RDEPEND=">=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] + pam? ( virtual/pam )" +DEPEND="${RDEPEND} + sys-kernel/linux-headers" + +PATCHES=( + "${FILESDIR}"/${PN}-2.25-build-system-fixes.patch + "${FILESDIR}"/${PN}-2.22-no-perl.patch + "${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch + "${FILESDIR}"/${PN}-2.21-include.patch +) + +src_prepare() { + epatch "${PATCHES[@]}" + multilib_copy_sources +} + +multilib_src_configure() { + local pam + if multilib_is_native_abi && use pam; then + pam=yes + else + pam=no + fi + + sed -i \ + -e "/^PAM_CAP/s:=.*:=${pam}:" \ + -e '/^DYNAMIC/s:=.*:=yes:' \ + -e '/^lib_prefix=/s:=.*:=$(prefix):' \ + -e "/^lib=/s:=.*:=$(get_libdir):" \ + Make.Rules +} + +multilib_src_compile() { + tc-export_build_env BUILD_CC + tc-export AR CC RANLIB + + default +} + +multilib_src_install() { + # no configure, needs explicit install line #444724#c3 + emake install DESTDIR="${ED}" + + multilib_is_native_abi && gen_usr_ldscript -a cap + use static-libs || rm "${ED}"/usr/$(get_libdir)/libcap.a + + rm -rf "${ED}"/usr/$(get_libdir)/security + if multilib_is_native_abi && use pam; then + dopammod pam_cap/pam_cap.so + dopamsecurity '' pam_cap/capability.conf + fi +} + +multilib_src_install_all() { + dodoc CHANGELOG README doc/capability.notes +} |