diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-09-07 10:35:35 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-09-07 10:35:35 +0100 |
commit | a0e773d57146b0a0ec25567af504a10e6f187811 (patch) | |
tree | 09e8f87aa02b56f14f16e82522b625cfeccb1103 /dev-libs/libpwquality | |
parent | 1ccef27203b03f1fa900c9b44dc425df27e49452 (diff) |
gentoo auto-resync : 07:09:2022 - 10:35:34
Diffstat (limited to 'dev-libs/libpwquality')
4 files changed, 171 insertions, 0 deletions
diff --git a/dev-libs/libpwquality/Manifest b/dev-libs/libpwquality/Manifest index 3b82cbaaf945..f2bcd5a93877 100644 --- a/dev-libs/libpwquality/Manifest +++ b/dev-libs/libpwquality/Manifest @@ -1,3 +1,6 @@ +AUX libpwquality-1.4.4-musl-fgetpwent_r.patch 1260 BLAKE2B e9c9df60e0e1ba022185393f044190e0539950e5bf1f58a9c1ade2174fd8d04158b8834c8581bcd3818a7c95206a2dc288176dab21a31a809792ebbedfa4bb94 SHA512 e9f6fc0e21128eb306c9ad777d6b034f01e5d5a751c055fe6cc3f2f9ef03a3e4b718ebcf1f549922ffe4356e9c0bc8225e194c94bcc37c29b200f982c3179700 +AUX libpwquality-1.4.4-pam_pwquality-include.patch 1208 BLAKE2B d7899e6caeb8a1f4515026165d9a321e0a7840b45e4f2472a8562f7a88e35c80f7295349491f3a0037da1ff12e7c74e99236c4ef1d3334fbc477bf393bf3954b SHA512 e570c7f036a1182e43c63b852040468b0dd45ca115ff98f62bc4d3bba02b0c368cd9b1e857e39ea5fcd0b74b265cc7baea529359593512d896f65c6b658afd27 DIST libpwquality-1.4.4.tar.bz2 426923 BLAKE2B 732e349a89b418d0b29d433551cd67e7b5f0daacb50ea73cfa7e45623801f6b559322645b4f4b0d741512964556d7e004d6a1c63b20e395c3c1b96923506e8bb SHA512 2d49b79105361663f009f7183fde9123e6f1e63bd678dfe5418143f611e763af8dd44374b826b3c22a00e721047c539741dc44d99a2289b9ab229791768d6e76 EBUILD libpwquality-1.4.4-r1.ebuild 2088 BLAKE2B 45114a8a0e6fad03eb18ed2e8f0a7229115ed715a2c5a986e734f2cf26bdacacc4c4b357c72bf1bafdc8c733390d5fdc194bd0892fbbd6b588cff35be546dadf SHA512 eb83fcec8077595910448d3be5580438e7842e395d0066d34f4a708fffb9c766c2fe5baccc00180d0ea885f9d41ad60ae749c526bb41d14a31b6a16d5782d676 +EBUILD libpwquality-1.4.4-r2.ebuild 2278 BLAKE2B fc91df1168c79e5c3305560578afe3ad6d2c230f92daa4097b8db7d68c2982e15b551afad4464d7d65ed4f2439b7fb539017b8aff8924ad72a6d9a0e89c68c92 SHA512 bad219ff9eb5c5497526aeda7a83d0e74dc7b377a09909efb401e895a8563f67ef12ae6f4c76b4a8468ed039698744656cee6f7c479fb60a71428ea515168c64 MISC metadata.xml 250 BLAKE2B 8f7f0fe023d43e380e7861e897e6afcb5de4baefb42ea9c65a57dfc0d204c6f787a99295141832e732ebb08be218da56ba77e2dd9639e4e3aabf718ce4db1d0c SHA512 2684e772dd6d83e4b49f08f2ba22d8a0a753e7b46863489eff1b5d1f2f147ad80ffd93245ca405ac4c747249bc1b754454ec9865fe16da70f9b257051e105fd8 diff --git a/dev-libs/libpwquality/files/libpwquality-1.4.4-musl-fgetpwent_r.patch b/dev-libs/libpwquality/files/libpwquality-1.4.4-musl-fgetpwent_r.patch new file mode 100644 index 000000000000..6cfb538103ae --- /dev/null +++ b/dev-libs/libpwquality/files/libpwquality-1.4.4-musl-fgetpwent_r.patch @@ -0,0 +1,42 @@ +https://github.com/libpwquality/libpwquality/commit/9084c1b032161cdb53d5f66132a91bdc207faecf + +From: Noel Kuntze <noel.kuntze@thermi.consulting> +Date: Mon, 24 May 2021 14:15:34 +0200 +Subject: [PATCH] pam_pwquality.c: Use pam_modutil_check_user_in_passwd instead + of fgetpwent_r (not available on musl) + +--- a/configure.ac ++++ b/configure.ac +@@ -97,6 +97,11 @@ if test "$enable_pam" != "no"; then + test $fail = 1 && + AC_MSG_ERROR([You must install the PAM development package in order to compile libpwquality]) + fi ++ AC_CHECK_FUNC( ++ [pam_modutil_check_user_in_passwd], ++ [AC_DEFINE([HAVE_PAM_CHECK_USER_IN_PASSWD], [], [have pam_modutil_check_user_in_passwd])], ++ [] ++ ) + fi + + if test "$enable_pam" = "yes"; then +--- a/src/pam_pwquality.c ++++ b/src/pam_pwquality.c +@@ -98,6 +98,9 @@ static int + check_local_user (pam_handle_t *pamh, + const char *user) + { ++#ifdef HAVE_PAM_CHECK_USER_IN_PASSWD ++ return pam_modutil_check_user_in_passwd(pamh, user, NULL) == PAM_SUCCESS; ++#else + struct passwd pw, *pwp; + char buf[4096]; + int found = 0; +@@ -136,6 +139,7 @@ check_local_user (pam_handle_t *pamh, + } else { + return found; + } ++#endif + } + + PAM_EXTERN int + diff --git a/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch b/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch new file mode 100644 index 000000000000..2ed638c1e34a --- /dev/null +++ b/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch @@ -0,0 +1,35 @@ +https://github.com/libpwquality/libpwquality/pull/62 + +From 27057c6cbf528108c35df934280c7dd83e8d5ce9 Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Wed, 7 Sep 2022 05:42:17 +0100 +Subject: [PATCH] pam_pwquality: add include for + pam_modutil_check_user_in_passwd + +After 9084c1b032161cdb53d5f66132a91bdc207faecf, one gets: +``` +pam_pwquality.c: In function 'check_local_user': +pam_pwquality.c:102:16: error: implicit declaration of function 'pam_modutil_check_user_in_passwd' [-Werror=implicit-function-declaration] + 102 | return pam_modutil_check_user_in_passwd(pamh, user, NULL) == PAM_SUCCESS; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cc1: some warnings being treated as errors +make[2]: *** [Makefile:634: pam_pwquality.lo] Error 1 +make[2]: *** Waiting for unfinished jobs.... +``` + +We need to include security/pam_modutil.h when appropriate. + +Signed-off-by: Sam James <sam@gentoo.org> +--- a/src/pam_pwquality.c ++++ b/src/pam_pwquality.c +@@ -34,6 +34,10 @@ + #include <security/_pam_macros.h> + #include <security/pam_ext.h> + ++#ifdef HAVE_PAM_CHECK_USER_IN_PASSWD ++#include <security/pam_modutil.h> ++#endif ++ + /* argument parsing */ + #define PAM_DEBUG_ARG 0x0001 + diff --git a/dev-libs/libpwquality/libpwquality-1.4.4-r2.ebuild b/dev-libs/libpwquality/libpwquality-1.4.4-r2.ebuild new file mode 100644 index 000000000000..460d78a4c2b0 --- /dev/null +++ b/dev-libs/libpwquality/libpwquality-1.4.4-r2.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit autotools pam python-r1 usr-ldscript + +DESCRIPTION="Library for password quality checking and generating random passwords" +HOMEPAGE="https://github.com/libpwquality/libpwquality" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2" + +LICENSE="|| ( BSD GPL-2 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="pam python static-libs" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +BDEPEND=" + >=sys-devel/gettext-0.18.2 + virtual/pkgconfig +" +RDEPEND=" + >=sys-libs/cracklib-2.8:=[static-libs(+)?] + pam? ( sys-libs/pam ) + python? ( ${PYTHON_DEPS} ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-musl-fgetpwent_r.patch + "${FILESDIR}"/${PN}-1.4.4-pam_pwquality-include.patch +) + +src_prepare() { + default + # ensure pkgconfig files go in /usr + sed -e "s:\(pkgconfigdir *=\).*:\1 ${EPREFIX}/usr/$(get_libdir)/pkgconfig:" \ + -i src/Makefile.{am,in} || die "sed failed" + + # Needed for musl patch, drop on next release + eautoreconf + + if use python ; then + # bug #830397 + export SETUPTOOLS_USE_DISTUTILS=stdlib + python_copy_sources + fi +} + +src_configure() { + # Install library in /lib for pam + configuring() { + local sitedir + econf \ + --libdir="${EPREFIX}/$(get_libdir)" \ + $(use_enable pam) \ + --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \ + $(use_enable python python-bindings) \ + $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \ + $(use_enable static-libs static) + } + if_use_python_python_foreach_impl configuring +} + +src_compile() { + if_use_python_python_foreach_impl default +} + +src_test() { + if_use_python_python_foreach_impl default +} + +src_install() { + if_use_python_python_foreach_impl default + if use static-libs; then + # Do not install static libs in /lib + mkdir -p "${ED}/usr/$(get_libdir)" + mv "${ED}/$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die + gen_usr_ldscript libpwquality.so + fi + find "${ED}" -name '*.la' -delete || die +} + +if_use_python_python_foreach_impl() { + if use python; then + python_foreach_impl run_in_build_dir "$@" + else + "$@" + fi +} |