diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-12 19:09:37 -0500 |
| commit | b590c8d7572b727d565cc0b8ff660d43569845de (patch) | |
| tree | 06f7a4102ea4e845df8b66660f252920d52952f9 /sys-apps/keyutils | |
| parent | 24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff) | |
| download | baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip | |
Adding metadata
Diffstat (limited to 'sys-apps/keyutils')
| -rw-r--r-- | sys-apps/keyutils/Manifest | 1 | ||||
| -rw-r--r-- | sys-apps/keyutils/files/keyutils-1.5.10-disable-tests.patch | 51 | ||||
| -rw-r--r-- | sys-apps/keyutils/files/keyutils-1.6-makefile-fixup.patch | 25 | ||||
| -rw-r--r-- | sys-apps/keyutils/files/keyutils-1.6.3-EDQUOT-tests.patch | 58 | ||||
| -rw-r--r-- | sys-apps/keyutils/files/keyutils-1.6.3-fix-rpmspec-check.patch | 38 | ||||
| -rw-r--r-- | sys-apps/keyutils/files/keyutils-1.6.3-symbols.patch | 30 | ||||
| -rw-r--r-- | sys-apps/keyutils/files/keyutils-1.6.3-tests.patch | 76 | ||||
| -rw-r--r-- | sys-apps/keyutils/keyutils-1.6.3-r1.ebuild | 124 | ||||
| -rw-r--r-- | sys-apps/keyutils/metadata.xml | 18 |
9 files changed, 421 insertions, 0 deletions
diff --git a/sys-apps/keyutils/Manifest b/sys-apps/keyutils/Manifest new file mode 100644 index 000000000000..a4690bb30144 --- /dev/null +++ b/sys-apps/keyutils/Manifest @@ -0,0 +1 @@ +DIST keyutils-1.6.3.tar.gz 137022 BLAKE2B b5620b1b6109415fec1268963c2c65d774f3ef7a69eb1ce8d5d8e78b4b807e4fdfda861662a1b5556975ef867add8f985362a31b6608ac2dc198c8d0395d516b SHA512 f65965b8566037078b8eeffa66c6fdbe121c8c2bea7fa5bce04cf7ba5ccc50d5b48e51f4a67ca91e4d5d9a12469e7e3eb3036c920ab25e3feba6e93b4c149cf9 diff --git a/sys-apps/keyutils/files/keyutils-1.5.10-disable-tests.patch b/sys-apps/keyutils/files/keyutils-1.5.10-disable-tests.patch new file mode 100644 index 000000000000..fa82792cddbd --- /dev/null +++ b/sys-apps/keyutils/files/keyutils-1.5.10-disable-tests.patch @@ -0,0 +1,51 @@ +disable tests that mess with system wide settings + +https://bugs.gentoo.org/519062 + +--- keyutils-1.5.10/tests/bugzillas/bz1031154/runtest.sh ++++ keyutils-1.5.10/tests/bugzillas/bz1031154/runtest.sh +@@ -27,6 +27,8 @@ + + echo "++++ BEGINNING TEST" >$OUTPUTFILE + ++if false ; then ++ + # we need a reference time to scan the audit log from so as not to pick up old + # results from this test. + base_date=`date +"%x@%X"` +@@ -97,6 +99,10 @@ + fi + fi + ++else ++marker "Gentoo: skipping test due to system wide modifications" ++fi ++ + echo "++++ FINISHED TEST: $result" >>$OUTPUTFILE + + # --- then report the results in the database --- + +https://bugs.gentoo.org/522050 + +--- keyutils-1.5.10/tests/keyctl/padd/useradd/runtest.sh ++++ keyutils-1.5.10/tests/keyctl/padd/useradd/runtest.sh +@@ -40,6 +40,8 @@ + marker "UNLINK KEY" + unlink_key $keyid @s + ++if false ; then ++ + if [ $skip_root_required = 0 ] && { + [ $OSDIST = RHEL ] && ! version_less_than $OSRELEASE 6.6 || + keyutils_at_or_later_than 1.5.6 ; +@@ -85,6 +87,10 @@ + fi + fi + ++else ++marker "Gentoo: skipping test due to system wide modifications" ++fi ++ + echo "++++ FINISHED TEST: $result" >>$OUTPUTFILE + + # --- then report the results in the database --- diff --git a/sys-apps/keyutils/files/keyutils-1.6-makefile-fixup.patch b/sys-apps/keyutils/files/keyutils-1.6-makefile-fixup.patch new file mode 100644 index 000000000000..25dcdeb5fc39 --- /dev/null +++ b/sys-apps/keyutils/files/keyutils-1.6-makefile-fixup.patch @@ -0,0 +1,25 @@ +From d1a02ed81c86fe7140f93b9a160fbb53be148446 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Fri, 16 Nov 2018 12:39:12 +0100 +Subject: [PATCH] depend on $(DEVELLIB) not -lkeyutils + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 33a451e..845b8fe 100644 +--- a/Makefile ++++ b/Makefile +@@ -184,7 +184,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) + sed \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@prefix\@,$(PREFIX),g' \ +-- +2.19.1 + diff --git a/sys-apps/keyutils/files/keyutils-1.6.3-EDQUOT-tests.patch b/sys-apps/keyutils/files/keyutils-1.6.3-EDQUOT-tests.patch new file mode 100644 index 000000000000..abaed8b79f09 --- /dev/null +++ b/sys-apps/keyutils/files/keyutils-1.6.3-EDQUOT-tests.patch @@ -0,0 +1,58 @@ +https://lore.kernel.org/keyrings/20250810224041.3025756-1-mattst88@gmail.com/ +https://bugs.gentoo.org/789837#c9 +https://bugs.gentoo.org/938132 + +From: Matt Turner <mattst88@gmail.com> +To: David Howells <dhowells@redhat.com> +Cc: keyrings@vger.kernel.org, + Matt Turner <mattst88@gmail.com> +Subject: [PATCH] test: Handle EDQUOT in act_keyctl_test_limits +Date: Sun, 10 Aug 2025 18:40:41 -0400 +Message-ID: <20250810224041.3025756-1-mattst88@gmail.com> +X-Mailer: git-send-email 2.49.1 +Precedence: bulk +X-Mailing-List: keyrings@vger.kernel.org +List-Id: <keyrings.vger.kernel.org> +List-Subscribe: <mailto:keyrings+subscribe@vger.kernel.org> +List-Unsubscribe: <mailto:keyrings+unsubscribe@vger.kernel.org> +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit + +This matches the behavior in `act_keyctl_test_limits2` and avoids a test +failure [1] on some platforms: + +``` +TEST SIZE 192._._._._._._ +197 desc wrong error: Disk quota exceeded +._ +198 desc wrong error: Disk quota exceeded +._ +199 desc wrong error: Disk quota exceeded +._ +200 desc wrong error: Disk quota exceeded +``` + +[1] https://bugs.gentoo.org/789837#c9 + +Signed-off-by: Matt Turner <mattst88@gmail.com> +--- + keyctl_testing.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git ./keyctl_testing.c ./keyctl_testing.c +index 3161467..588fa83 100644 +--- ./keyctl_testing.c ++++ ./keyctl_testing.c +@@ -126,6 +126,10 @@ static void act_keyctl_test_limits(int argc, char *argv[]) + fprintf(stderr, "%d desc failed: %m\n", i); + nr_fail++; + } ++ } else if (errno == EDQUOT) { ++ /* This might happen due to us creating keys ++ * really fast. ++ */ + } else { + putchar('\n'); + fprintf(stderr, "%d desc wrong error: %m\n", i); +-- +2.49.1 diff --git a/sys-apps/keyutils/files/keyutils-1.6.3-fix-rpmspec-check.patch b/sys-apps/keyutils/files/keyutils-1.6.3-fix-rpmspec-check.patch new file mode 100644 index 000000000000..3fb659712aed --- /dev/null +++ b/sys-apps/keyutils/files/keyutils-1.6.3-fix-rpmspec-check.patch @@ -0,0 +1,38 @@ +https://bugs.gentoo.org/760633 + +From 41077f8901b642d36b63f94b0fc62377a07fc0b2 Mon Sep 17 00:00:00 2001 +From: Adrian Ratiu <adrian.ratiu@collabora.com> +Date: Tue, 4 Jan 2022 03:51:10 +0200 +Subject: [PATCH] Makefile: only run rpmspec if it exists + +keyutils is built on many distros which do not use rpm like +Gentoo, ChromeOS or Arch. Older versions of bash silently +ignored the fact that rpmspec was missing, but newer bash +like v5.1 issue a new error: + +/bin/sh: line 1: rpmspec: command not found + +This happens every time the Makefile is parsed, including +for a simple "make" invocation or "make install" even if +a rpm package is not desired. + +Arch Linux simply ignores this new error but Gentoo and +ChromeOS fail because portage actively monitors the build +log for errors like this. See bug report [1]. + +Fix this by calling rpmspec only if it exists. + +[1] https://bugs.gentoo.org/760633 + +Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com> +--- a/Makefile ++++ b/Makefile +@@ -285,7 +285,7 @@ SRCBALL := rpmbuild/SOURCES/$(TARBALL) + ZSRCBALL := rpmbuild/SOURCES/$(ZTARBALL) + + BUILDID := .local +-rpmver0 := $(shell rpmspec -q ./keyutils.spec --define "buildid $(BUILDID)") ++rpmver0 := $(shell if which rpmspec >/dev/null 2>&1; then rpmspec -q ./keyutils.spec --define "buildid $(BUILDID)"; fi) + rpmver1 := $(word 1,$(rpmver0)) + rpmver2 := $(subst ., ,$(rpmver1)) + rpmver3 := $(lastword $(rpmver2)) diff --git a/sys-apps/keyutils/files/keyutils-1.6.3-symbols.patch b/sys-apps/keyutils/files/keyutils-1.6.3-symbols.patch new file mode 100644 index 000000000000..b7be1e71b725 --- /dev/null +++ b/sys-apps/keyutils/files/keyutils-1.6.3-symbols.patch @@ -0,0 +1,30 @@ +https://lore.kernel.org/keyrings/85561febfcf0618a9280448d5c53775646f470d6.1703712863.git.nvinson234@gmail.com/raw + +Functions keyctl_restrict() and keyctl_dh_compute_kdf_alloc() are +nodefined. Their inclusion in version.lds causes clang/llvm LTO +optimizations to fail with error messages similar to + + error: version script assignment of KEYUTILS_1.7 to symbol + keyctl_restrict failed: symbol not defined + +This patch fixes the issue by removing the symbol names from +version.lds. + +Fixes Gentoo bug 914637 (https://bugs.gentoo.org/914637) + +Signed-off-by: Nicholas Vinson <nvinson234@gmail.com> + +--- a/version.lds ++++ b/version.lds +@@ -76,9 +76,7 @@ KEYUTILS_1.6 { + + KEYUTILS_1.7 { + /* management functions */ +- keyctl_restrict; + keyctl_dh_compute_kdf; +- keyctl_dh_compute_kdf_alloc; + + } KEYUTILS_1.6; + +-- +2.43.0 diff --git a/sys-apps/keyutils/files/keyutils-1.6.3-tests.patch b/sys-apps/keyutils/files/keyutils-1.6.3-tests.patch new file mode 100644 index 000000000000..d9414e800a6c --- /dev/null +++ b/sys-apps/keyutils/files/keyutils-1.6.3-tests.patch @@ -0,0 +1,76 @@ +https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/commit/?id=c076dff259e99d84d3822b4d2ad7f3f66532f411 + +From c076dff259e99d84d3822b4d2ad7f3f66532f411 Mon Sep 17 00:00:00 2001 +From: Pavel Reichl <preichl@redhat.com> +Date: Tue, 20 Dec 2022 14:13:29 +0100 +Subject: test: Fix test expectation based on kernel config + +Some test results are dependent on the kernel configuration option +CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE. + +Check the kernel configuration file for its presence and expect appropriate +test results. + +Function has_kernel_config is based on its xfstsests counterpart. + +Signed-off-by: Pavel Reichl <preichl@redhat.com> +Signed-off-by: David Howells <dhowells@redhat.com> +--- a/tests/features/builtin_trusted/runtest.sh ++++ b/tests/features/builtin_trusted/runtest.sh +@@ -33,7 +33,11 @@ expect_error EACCES + create_key --fail user a a $stk + expect_error EOPNOTSUPP + create_key --fail user a a $blk +-expect_error EACCES ++if has_kernel_config "CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE"; then ++ expect_error EOPNOTSUPP ++else ++ expect_error EACCES ++fi + + # Try adding a key to the keyrings + marker "TRY ADDING ASYMMETRIC KEYS" +@@ -89,7 +93,11 @@ expect_error EACCES + create_key --fail -x asymmetric "" "$x509" $stk + expect_error ENOKEY + create_key --fail -x asymmetric "" "$x509" $blk +-expect_error EACCES ++if has_kernel_config "CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE"; then ++ expect_error EOPNOTSUPP ++else ++ expect_error EACCES ++fi + + echo "++++ FINISHED TEST: $result" >>$OUTPUTFILE + +--- a/tests/prepare.inc.sh ++++ b/tests/prepare.inc.sh +@@ -4,6 +4,26 @@ + includes=${BASH_SOURCE[0]} + includes=${includes%/*}/ + ++# Check if currently running kernel has option set ++function has_kernel_config() ++{ ++ local option=$1 ++ local uname=$(uname -r) ++ local config_list="$KCONFIG_PATH ++ /lib/modules/$uname/build/.config ++ /boot/config-$uname ++ /lib/kernel/config-$uname" ++ ++ for config in $config_list; do ++ [ ! -f $config ] && continue ++ grep -qE "^${option}=[my]" $config ++ return ++ done ++ ++ echo "Failed to find kernel configuration file" ++ return false ++} ++ + # --- need to run in own session keyring + watch_fd=0 + if [ "$1" != "--inside-test-session" ] +-- +cgit 1.2.3-korg diff --git a/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild b/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild new file mode 100644 index 000000000000..92ccac098c42 --- /dev/null +++ b/sys-apps/keyutils/keyutils-1.6.3-r1.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs linux-info multilib-minimal + +DESCRIPTION="Linux Key Management Utilities" +HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git" +SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0/1.9" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="static static-libs test" +RESTRICT="!test? ( test )" + +RDEPEND="" +DEPEND="!prefix? ( >=sys-kernel/linux-headers-2.6.11 )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.6-makefile-fixup.patch + "${FILESDIR}"/${PN}-1.5.10-disable-tests.patch #519062 #522050 + "${FILESDIR}"/${PN}-1.6.3-fix-rpmspec-check.patch + "${FILESDIR}"/${PN}-1.6.3-symbols.patch + "${FILESDIR}"/${P}-tests.patch + "${FILESDIR}"/${PN}-1.6.3-EDQUOT-tests.patch +) + +pkg_setup() { + # To prevent a failure in test phase and false positive bug reports + # we are enforcing the following options because testsuite expects + # that these options are available. I.e. testsuite only decides based + # on kernel version which tests will be called, no feature checking. + if use test ; then + CONFIG_CHECK="KEYS" + ERROR_KEYS="You must have CONFIG_KEYS to run the package testsuite!" + + if kernel_is -ge 2 6 10 && kernel_is -lt 4 0 0 ; then + CONFIG_CHECK="${CONFIG_CHECK} KEYS_DEBUG_PROC_KEYS" + ERROR_KEYS_DEBUG_PROC_KEYS="You must have CONFIG_KEYS_DEBUG_PROC_KEYS to run the package testsuite!" + fi + + if kernel_is -ge 4 7 ; then + CONFIG_CHECK="${CONFIG_CHECK} KEY_DH_OPERATIONS" + ERROR_KEY_DH_OPERATIONS="You must have CONFIG_KEY_DH_OPERATIONS to run the package testsuite!" + fi + else + CONFIG_CHECK="~KEYS" + ERROR_KEYS="You will be unable to use this package on this system because CONFIG_KEYS is not set!" + + if kernel_is -ge 4 7 ; then + CONFIG_CHECK="${CONFIG_CHECK} ~KEY_DH_OPERATIONS" + ERROR_KEY_DH_OPERATIONS="You will be unable to use Diffie-Hellman on this system because CONFIG_KEY_DH_OPERATIONS is not set!" + fi + fi + + linux-info_pkg_setup +} + +src_prepare() { + default + + # The lsb check is useless, so avoid spurious command not found messages. + sed -i -e 's,lsb_release,:,' tests/prepare.inc.sh || die + # Some tests call the kernel which calls userspace, but that will + # run the install keyutils rather than the locally compiled one, + # so disable round trip tests. + rm -rf tests/keyctl/requesting/{bad-args,piped,valid} + + multilib_copy_sources +} + +mymake() { + local args=( + PREFIX="${EPREFIX}/usr" + ETCDIR="${EPREFIX}/etc" + BINDIR="${EPREFIX}/bin" + SBINDIR="${EPREFIX}/sbin" + SHAREDIR="${EPREFIX}/usr/share/keyutils" + MANDIR="${EPREFIX}/usr/share/man" + INCLUDEDIR="${EPREFIX}/usr/include" + LIBDIR="${EPREFIX}/usr/$(get_libdir)" + USRLIBDIR="${EPREFIX}/usr/$(get_libdir)" + CFLAGS="${CFLAGS}" + CXXFLAGS="${CXXFLAGS}" + RPATH=$(usex static -static '') + BUILDFOR= + NO_ARLIB="${NO_ARLIB}" + ) + if use static; then + args+=( LIB_DEPENDENCY='$(ARLIB)' ) + fi + emake "${args[@]}" "$@" +} + +multilib_src_compile() { + local NO_ARLIB + if use static; then + NO_ARLIB=0 + else + NO_ARLIB=$(usex static-libs 0 1) + fi + tc-export AR CC CXX + mymake +} + +multilib_src_test() { + # Execute the locally compiled code rather than the + # older versions already installed in the system. + LD_LIBRARY_PATH=${BUILD_DIR} \ + PATH="${BUILD_DIR}:${PATH}" \ + mymake test +} + +multilib_src_install() { + # Possibly undo the setting for USE=static (see src_compile). + local NO_ARLIB=$(usex static-libs 0 1) + mymake DESTDIR="${D}" install +} + +multilib_src_install_all() { + dodoc README +} diff --git a/sys-apps/keyutils/metadata.xml b/sys-apps/keyutils/metadata.xml new file mode 100644 index 000000000000..07a39d5453ca --- /dev/null +++ b/sys-apps/keyutils/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:keyutils_project:keyutils</remote-id> + </upstream> + <slots> + <subslots>Reflect ABI compatibility for libkeyutils.so.</subslots> + </slots> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
