public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Lars Wendler" <polynomial-c@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcap/, sys-libs/libcap/files/
Date: Wed, 10 Feb 2016 09:05:27 +0000 (UTC)	[thread overview]
Message-ID: <1455095124.27252e02d69e9b62a06cb48c72d36dfdf8567fea.polynomial-c@gentoo> (raw)

commit:     27252e02d69e9b62a06cb48c72d36dfdf8567fea
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 10 09:01:37 2016 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Feb 10 09:05:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27252e02

sys-libs/libcap: Bump to version 2.25

Package-Manager: portage-2.2.27
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 sys-libs/libcap/Manifest                           |   1 +
 .../files/libcap-2.25-build-system-fixes.patch     | 153 +++++++++++++++++++++
 ....25-ignore-RAISE_SETFCAP-install-failures.patch |  33 +++++
 sys-libs/libcap/libcap-2.25.ebuild                 |  75 ++++++++++
 4 files changed, 262 insertions(+)

diff --git a/sys-libs/libcap/Manifest b/sys-libs/libcap/Manifest
index 7ed006c..ba24d96 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 0000000..c33fffd
--- /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 0000000..0f73736
--- /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 0000000..cb60459
--- /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
+}


             reply	other threads:[~2016-02-10  9:05 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-10  9:05 Lars Wendler [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-02-09 16:04 [gentoo-commits] repo/gentoo:master commit in: sys-libs/libcap/, sys-libs/libcap/files/ Mike Frysinger
2018-07-04  8:43 Lars Wendler
2018-11-21 10:22 Lars Wendler
2019-12-12 15:05 Lars Wendler
2019-12-26 12:27 Lars Wendler
2019-12-28  9:41 Lars Wendler
2019-12-29  9:40 Lars Wendler
2020-01-17 14:58 Lars Wendler
2020-05-05  8:25 Lars Wendler
2020-05-05  8:25 Lars Wendler
2020-07-06 18:17 Lars Wendler
2020-07-13  9:10 Lars Wendler
2020-10-08 22:53 Thomas Deutschmann
2020-12-13 14:06 Lars Wendler
2021-02-05 10:59 Lars Wendler
2021-05-25 14:19 Lars Wendler
2021-08-03 10:27 Lars Wendler
2021-08-03 14:17 David Seifert
2021-08-30  6:12 Sam James
2021-08-30 21:35 Sam James
2021-11-20  8:29 Sam James
2021-12-14  0:44 Sam James
2022-01-04 11:21 David Seifert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1455095124.27252e02d69e9b62a06cb48c72d36dfdf8567fea.polynomial-c@gentoo \
    --to=polynomial-c@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox