mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
sys-libs/libcap: Removed old
Package-Manager: Portage-2.3.84, Repoman-2.3.20 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
DIST libcap-2.26.tar.xz 67172 BLAKE2B 9d1952bd03e1bba5ffa225a5088b8d841c2007219bbb9524f979ac65e472bf932db496acf93984fa77fe42e71d45b85cd603ca461a071fb4742526dfbc5f66eb SHA512 1c2d59f007226405a924950b2c2090393527e06f0692a84e6463e33915a070df61a9070b8f30a624d5630ddd39290eac117e5d440577d1edd48510195b9d12f0
|
||||
DIST libcap-2.27.tar.xz 67780 BLAKE2B 7b58d7afdd90281771a302cd9554f067b9e3636b0c052935973d8a0d890490c3933b3513874b788a8c10e37ab5ad9cfa766408c9629b7c8562cb17bfdef87747 SHA512 e32335fd3e0d1564574acc73df7030b5b0fd98875217bffabd76f2765f1a7a6f1369f03df2ee22a1782776838784e342378c10613ea1163d53ae5055ab6a62b6
|
||||
DIST libcap-2.28.tar.xz 94244 BLAKE2B 9416ca78da0b985c25682746b5f5d052835d29ed40e2ffb2f70e3e59753423c91176a41f7d32b28d75800ccfccc5ed446050985a44471f0d0cc4cc9e0ef69661 SHA512 e693ac97483f575bb8a3f4d50262082e6d0d4906f2df48a4f52db4dde21014fcdc683d40712294c7c59d1be21740276bd20b486afee53815dc49e57a9938c5eb
|
||||
DIST libcap-2.29.tar.xz 97432 BLAKE2B 5e6de66350e79228b02b00737ce6e4be0982b88cb5e68cf89d33e46191f3444db5139b3fd241ec574204823d6c8a4862d1ea5a34845cff8d6789483cf5dd18fa SHA512 400a6883037bbc1f00847e2fcfb940d733784adec857969069972a3d5120dde6b554326ba6dd652670d854308433c66147944dda8b8b344ca249cef73ea866ef
|
||||
DIST libcap-2.30.tar.xz 98528 BLAKE2B 83892df1dc4f2a7605dbbf7332e90f1b696e16060ceba20a3fa3cdd53cb30f6a28d2bd49a4a66b7bc46221f860307de7c22cd7b2f826bad86baad6f510d01e40 SHA512 b2d843b61c3dd583b97c11ad4737b9ea5493eda6bb40da1efdb88b68c0594aeb0a2cebb0a59c749da1c6268ad1f821802d3c9e125a07c2d2457a0eb9df8c0c40
|
||||
DIST libcap-2.31.tar.xz 99236 BLAKE2B c4cd5e2e105cc05b2aee2ee6435b9a28c06a91dee5cdd1baf6d94f625d89e134ad35a4493ffdfda7f3ffb0b41aa6e75a20cd705bfe9df570e82d0b6ea4e484e1 SHA512 9f0ef665a52e77356d6028abdead3c3cf75f97406ac09d60a33500222428c581d8aaa7d25d7eb9051d9c73ebfaefa7af5581430e1ecc1dfea73398a3ac7cbc3a
|
||||
|
||||
@@ -1,196 +0,0 @@
|
||||
From 95e48927b0c3a5e817a41c03d977fbf2e7083940 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
|
||||
Forward ported from libcap-2.25 to libcap-2.28
|
||||
|
||||
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
|
||||
---
|
||||
Make.Rules | 27 +++++++++++++++------------
|
||||
libcap/Makefile | 7 ++++---
|
||||
pam_cap/Makefile | 8 +++++---
|
||||
progs/Makefile | 2 +-
|
||||
tests/Makefile | 8 +++++---
|
||||
5 files changed, 30 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/Make.Rules b/Make.Rules
|
||||
index ab4f17c..bd8f73c 100644
|
||||
--- a/Make.Rules
|
||||
+++ b/Make.Rules
|
||||
@@ -46,35 +46,38 @@ MINOR=28
|
||||
# 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
|
||||
LIBCAPLIB := -L$(topdir)/libcap -lcap
|
||||
LIBPSXLIB := -L$(topdir)/libcap -lpsx -lpthread
|
||||
|
||||
BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes)
|
||||
|
||||
-SYSTEM_HEADERS = /usr/include
|
||||
+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)
|
||||
|
||||
-GOLANG := $(shell if [ -n "$(shell go version 2>/dev/null)" ]; then echo yes ; else echo no ; fi)
|
||||
+GOLANG ?= $(shell if [ -n "$(shell go version 2>/dev/null)" ]; then echo yes ; else echo no ; fi)
|
||||
ifeq ($(GOLANG),yes)
|
||||
GOROOT := $(shell go env GOROOT)
|
||||
GOCGO := $(shell if [ "$(shell go env CGO_ENABLED)" = 1 ]; then echo yes ; else echo no ; fi)
|
||||
diff --git a/libcap/Makefile b/libcap/Makefile
|
||||
index 8619972..93f43bf 100644
|
||||
--- a/libcap/Makefile
|
||||
+++ b/libcap/Makefile
|
||||
@@ -21,6 +21,7 @@ PSXOBJS=$(addsuffix .o, $(PSXFILES))
|
||||
MAJLIBNAME=$(LIBNAME).$(VERSION)
|
||||
MINLIBNAME=$(MAJLIBNAME).$(MINOR)
|
||||
GPERF_OUTPUT = _caps_output.gperf
|
||||
+CFLAGS += -fPIC
|
||||
|
||||
all: $(MINLIBNAME) $(STALIBNAME) libcap.pc $(STAPSXLIBNAME)
|
||||
|
||||
@@ -39,7 +40,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
|
||||
@@ -66,10 +67,10 @@ $(MINLIBNAME): $(CAPOBJS)
|
||||
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 22f0f81..a1f11f6 100644
|
||||
--- a/pam_cap/Makefile
|
||||
+++ b/pam_cap/Makefile
|
||||
@@ -3,6 +3,8 @@
|
||||
topdir=$(shell pwd)/..
|
||||
include ../Make.Rules
|
||||
|
||||
+CFLAGS += -fPIC
|
||||
+
|
||||
all: pam_cap.so
|
||||
$(MAKE) testcompile
|
||||
|
||||
@@ -16,13 +18,13 @@ install: all
|
||||
# written (and you know why it fails), email me and explain why. Thanks!
|
||||
|
||||
pam_cap.so: pam_cap.o
|
||||
- $(LD) -o pam_cap.so $< $(LIBCAPLIB) $(LDFLAGS)
|
||||
+ $(LD) $(CFLAGS) -o pam_cap.so $< $(LIBCAPLIB) $(LDFLAGS)
|
||||
|
||||
pam_cap.o: pam_cap.c
|
||||
- $(CC) $(CFLAGS) $(IPATH) -c $< -o $@
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
|
||||
|
||||
testcompile: test.c pam_cap.o
|
||||
- $(CC) $(CFLAGS) -o $@ $+ -lpam -ldl $(LIBCAPLIB) $(LDFLAGS)
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $+ -lpam -ldl $(LIBCAPLIB) $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
rm -f *.o *.so testcompile *~
|
||||
diff --git a/progs/Makefile b/progs/Makefile
|
||||
index 0786ad3..3abbbd9 100644
|
||||
--- a/progs/Makefile
|
||||
+++ b/progs/Makefile
|
||||
@@ -18,7 +18,7 @@ $(BUILD): %: %.o
|
||||
$(CC) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS)
|
||||
|
||||
%.o: %.c $(INCS)
|
||||
- $(CC) $(IPATH) $(CFLAGS) -c $< -o $@
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
|
||||
|
||||
install: all
|
||||
mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR)
|
||||
diff --git a/tests/Makefile b/tests/Makefile
|
||||
index b16bdcd..dfed90e 100644
|
||||
--- a/tests/Makefile
|
||||
+++ b/tests/Makefile
|
||||
@@ -5,6 +5,8 @@ topdir=$(shell pwd)/..
|
||||
include ../Make.Rules
|
||||
#
|
||||
|
||||
+CFLAGS += -fPIC
|
||||
+
|
||||
all: run_psx_test run_libcap_psx_test
|
||||
|
||||
install: all
|
||||
@@ -14,16 +16,16 @@ run_psx_test: psx_test psx_test_wrap
|
||||
./psx_test_wrap
|
||||
|
||||
psx_test: psx_test.c
|
||||
- $(CC) $(CFLAGS) $(IPATH) -DNOWRAP $< -o $@ $(LIBPSXLIB)
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) -DNOWRAP $< -o $@ $(LIBPSXLIB)
|
||||
|
||||
psx_test_wrap: psx_test.c
|
||||
- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBPSXLIB) -Wl,-wrap,pthread_create
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@ $(LIBPSXLIB) -Wl,-wrap,pthread_create
|
||||
|
||||
run_libcap_psx_test: libcap_psx_test
|
||||
./libcap_psx_test
|
||||
|
||||
libcap_psx_test: libcap_psx_test.c
|
||||
- $(CC) $(CFLAGS) $(IPATH) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
|
||||
+ $(CC) $(CFLAGS) $(CPPFLAGS) $< -o $@ $(LIBCAPLIB) $(LIBPSXLIB) -Wl,-wrap,pthread_create --static
|
||||
|
||||
clean:
|
||||
rm -f psx_test psx_test_wrap libcap_psx_test
|
||||
--
|
||||
2.24.1
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
From 8dbae11750ac0f85332355e6aab97005533dfb38 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Wendler <polynomial-c@gentoo.org>
|
||||
Date: Sat, 28 Dec 2019 18:48:35 +0100
|
||||
Subject: [PATCH] Use separate libpsx.pc file instead of libcap.pc
|
||||
|
||||
pkgconfig fails to parse current libcap.pc file but pkgconf succeeds
|
||||
|
||||
Gentoo-bug: https://bugs.gentoo.org/703932
|
||||
---
|
||||
libcap/Makefile | 12 +++++++++++-
|
||||
libcap/libcap.pc.in | 8 +-------
|
||||
libcap/libpsx.pc.in | 11 +++++++++++
|
||||
3 files changed, 23 insertions(+), 8 deletions(-)
|
||||
create mode 100644 libcap/libpsx.pc.in
|
||||
|
||||
diff --git a/libcap/Makefile b/libcap/Makefile
|
||||
index 949cfad..5795458 100644
|
||||
--- a/libcap/Makefile
|
||||
+++ b/libcap/Makefile
|
||||
@@ -22,7 +22,7 @@ MAJLIBNAME=$(LIBNAME).$(VERSION)
|
||||
MINLIBNAME=$(MAJLIBNAME).$(MINOR)
|
||||
GPERF_OUTPUT = _caps_output.gperf
|
||||
|
||||
-all: $(MINLIBNAME) $(STACAPLIBNAME) libcap.pc $(STAPSXLIBNAME)
|
||||
+all: $(MINLIBNAME) $(STACAPLIBNAME) libcap.pc libpsx.pc $(STAPSXLIBNAME)
|
||||
|
||||
ifeq ($(BUILD_GPERF),yes)
|
||||
USE_GPERF_OUTPUT = $(GPERF_OUTPUT)
|
||||
@@ -38,6 +38,15 @@ libcap.pc: libcap.pc.in
|
||||
-e 's,@deps@,$(DEPS),' \
|
||||
$< >$@
|
||||
|
||||
+libpsx.pc: libpsx.pc.in
|
||||
+ sed -e 's,@prefix@,$(prefix),' \
|
||||
+ -e 's,@exec_prefix@,$(exec_prefix),' \
|
||||
+ -e 's,@libdir@,$(LIBDIR),' \
|
||||
+ -e 's,@includedir@,$(inc_prefix)/include,' \
|
||||
+ -e 's,@VERSION@,$(VERSION).$(MINOR),' \
|
||||
+ -e 's,@deps@,$(DEPS),' \
|
||||
+ $< >$@
|
||||
+
|
||||
_makenames: _makenames.c cap_names.list.h
|
||||
$(BUILD_CC) $(BUILD_CFLAGS) $< -o $@
|
||||
|
||||
@@ -86,6 +95,7 @@ ifeq ($(FAKEROOT),)
|
||||
endif
|
||||
mkdir -p -m 0755 $(FAKEROOT)$(PKGCONFIGDIR)
|
||||
install -m 0644 libcap.pc $(FAKEROOT)$(PKGCONFIGDIR)/libcap.pc
|
||||
+ install -m 0644 libpsx.pc $(FAKEROOT)$(PKGCONFIGDIR)/libpsx.pc
|
||||
ifeq ($(GOLANG),yes)
|
||||
mkdir -p -m 0755 $(FAKEROOT)$(GOPKGDIR)/libcap/cap
|
||||
install -m 0644 src/libcap/cap/* $(FAKEROOT)$(GOPKGDIR)/libcap/cap/
|
||||
diff --git a/libcap/libcap.pc.in b/libcap/libcap.pc.in
|
||||
index 3d6b273..8358274 100644
|
||||
--- a/libcap/libcap.pc.in
|
||||
+++ b/libcap/libcap.pc.in
|
||||
@@ -9,10 +9,4 @@ Version: @VERSION@
|
||||
Libs: -L${libdir} -lcap
|
||||
Libs.private: @deps@
|
||||
Cflags: -I${includedir}
|
||||
-
|
||||
-Name: libpsx
|
||||
-Description: libpsx - linux posix syscall API for pthreads
|
||||
-Version: @VERSION@
|
||||
-Libs: -L${libdir} -lpsx -lpthread -Wl,-wrap,pthread_create
|
||||
-Libs.private: @deps@
|
||||
-Cflags: -I${includedir}
|
||||
+Requires: libpsx
|
||||
diff --git a/libcap/libpsx.pc.in b/libcap/libpsx.pc.in
|
||||
new file mode 100644
|
||||
index 0000000..d032b9f
|
||||
--- /dev/null
|
||||
+++ b/libcap/libpsx.pc.in
|
||||
@@ -0,0 +1,11 @@
|
||||
+prefix=@prefix@
|
||||
+exec_prefix=@exec_prefix@
|
||||
+libdir=@libdir@
|
||||
+includedir=@includedir@
|
||||
+
|
||||
+Name: libpsx
|
||||
+Description: libpsx - linux posix syscall API for pthreads
|
||||
+Version: @VERSION@
|
||||
+Libs: -L${libdir} -lpsx -lpthread -Wl,-wrap,pthread_create
|
||||
+Libs.private: @deps@
|
||||
+Cflags: -I${includedir}
|
||||
--
|
||||
2.24.1
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit multilib multilib-minimal toolchain-funcs pam usr-ldscript
|
||||
|
||||
DESCRIPTION="POSIX 1003.1e capabilities"
|
||||
HOMEPAGE="https://sites.google.com/site/fullycapable/"
|
||||
SRC_URI="https://www.kernel.org/pub/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 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="pam static-libs"
|
||||
|
||||
# While the build system optionally uses gperf, we don't DEPEND on it because
|
||||
# the build automatically falls back when it's unavailable. #604802
|
||||
RDEPEND=">=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}]
|
||||
pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-kernel/linux-headers"
|
||||
|
||||
# Requires test suite being run as root (via sudo)
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.28-build-system-fixes.patch
|
||||
"${FILESDIR}"/${PN}-2.28-no_perl.patch
|
||||
"${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch
|
||||
"${FILESDIR}"/${PN}-2.21-include.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
run_emake() {
|
||||
local args=(
|
||||
exec_prefix="${EPREFIX}"
|
||||
lib_prefix="${EPREFIX}/usr"
|
||||
lib="$(get_libdir)"
|
||||
prefix="${EPREFIX}/usr"
|
||||
PAM_CAP="$(usex pam yes no)"
|
||||
DYNAMIC=yes
|
||||
GOLANG=no
|
||||
)
|
||||
emake "${args[@]}" "$@"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
tc-export AR CC RANLIB
|
||||
local BUILD_CC
|
||||
tc-export_build_env BUILD_CC
|
||||
|
||||
run_emake
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# no configure, needs explicit install line #444724#c3
|
||||
run_emake DESTDIR="${D}" install
|
||||
|
||||
gen_usr_ldscript -a cap
|
||||
if ! use static-libs ; then
|
||||
rm "${ED}"/usr/$(get_libdir)/libcap.a || die
|
||||
fi
|
||||
|
||||
if [[ -d "${ED}"/usr/$(get_libdir)/security ]] ; then
|
||||
rm -r "${ED}"/usr/$(get_libdir)/security || die
|
||||
fi
|
||||
|
||||
if 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
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit multilib multilib-minimal toolchain-funcs pam usr-ldscript
|
||||
|
||||
DESCRIPTION="POSIX 1003.1e capabilities"
|
||||
HOMEPAGE="https://sites.google.com/site/fullycapable/"
|
||||
SRC_URI="https://www.kernel.org/pub/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 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="pam static-libs"
|
||||
|
||||
# While the build system optionally uses gperf, we don't DEPEND on it because
|
||||
# the build automatically falls back when it's unavailable. #604802
|
||||
RDEPEND=">=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}]
|
||||
pam? ( sys-libs/pam[${MULTILIB_USEDEP}] )"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-kernel/linux-headers"
|
||||
|
||||
# Requires test suite being run as root (via sudo)
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.29-build-system-fixes.patch
|
||||
"${FILESDIR}"/${PN}-2.28-no_perl.patch
|
||||
"${FILESDIR}"/${PN}-2.25-ignore-RAISE_SETFCAP-install-failures.patch
|
||||
"${FILESDIR}"/${PN}-2.21-include.patch
|
||||
"${FILESDIR}"/${PN}-2.29-libpsx_pkgconfig.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
run_emake() {
|
||||
local args=(
|
||||
exec_prefix="${EPREFIX}"
|
||||
lib_prefix="${EPREFIX}/usr"
|
||||
lib="$(get_libdir)"
|
||||
prefix="${EPREFIX}/usr"
|
||||
PAM_CAP="$(usex pam yes no)"
|
||||
DYNAMIC=yes
|
||||
GOLANG=no
|
||||
)
|
||||
emake "${args[@]}" "$@"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
tc-export AR CC RANLIB
|
||||
local BUILD_CC
|
||||
tc-export_build_env BUILD_CC
|
||||
|
||||
run_emake
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# no configure, needs explicit install line #444724#c3
|
||||
run_emake DESTDIR="${D}" install
|
||||
|
||||
gen_usr_ldscript -a cap
|
||||
if ! use static-libs ; then
|
||||
# Don't remove libpsx.a!
|
||||
# See https://bugs.gentoo.org/703912
|
||||
rm "${ED}"/usr/$(get_libdir)/libcap.a || die
|
||||
fi
|
||||
|
||||
if [[ -d "${ED}"/usr/$(get_libdir)/security ]] ; then
|
||||
rm -r "${ED}"/usr/$(get_libdir)/security || die
|
||||
fi
|
||||
|
||||
if 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
|
||||
}
|
||||
Reference in New Issue
Block a user