From 136fcc4d1f01d8e74decb74c5fe05eaeec54bf38 Mon Sep 17 00:00:00 2001 From: Simon Campion Date: Wed, 13 Mar 2024 13:38:32 +0100 Subject: [PATCH] dev-libs/libpwquality: Add from Gentoo It's from Gentoo commit 2f6a333fb9bed9c7ab9b5a49065d157b62e48420 --- .../dev-libs/libpwquality/Manifest | 1 + ...wquality-1.4.4-pam_pwquality-include.patch | 35 ++++++++ .../libpwquality/libpwquality-1.4.5-r1.ebuild | 75 ++++++++++++++++ .../libpwquality/libpwquality-1.4.5.ebuild | 87 +++++++++++++++++++ .../dev-libs/libpwquality/metadata.xml | 11 +++ 5 files changed, 209 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/metadata.xml diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/Manifest new file mode 100644 index 0000000000..231099aa89 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/Manifest @@ -0,0 +1 @@ +DIST libpwquality-1.4.5.tar.bz2 433961 BLAKE2B f5326996ab607bf9d24de446d9714987ad259fd2222bc54983769abc298969e2e9a4cee78f2a5c5d963bd0e5f57ea3aa346b0ce108b465a8da82810486b37e36 SHA512 91a6febbf40047e553b6051df727857df7932c816638f15118a46b8286527a80446ca4f6a050d2b1f4e33335bf4b75290751ce358fa477cb9d06fe89a450d647 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch new file mode 100644 index 0000000000..2ed638c1e3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/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 +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 +--- a/src/pam_pwquality.c ++++ b/src/pam_pwquality.c +@@ -34,6 +34,10 @@ + #include + #include + ++#ifdef HAVE_PAM_CHECK_USER_IN_PASSWD ++#include ++#endif ++ + /* argument parsing */ + #define PAM_DEBUG_ARG 0x0001 + diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild new file mode 100644 index 0000000000..86d7c956d4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit libtool pam python-r1 + +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}" + +src_prepare() { + default + elibtoolize + + 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}/usr/$(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 + 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild new file mode 100644 index 0000000000..87db7e77e8 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/libpwquality-1.4.5.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit 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}"/${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" + + 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/metadata.xml new file mode 100644 index 0000000000..362c8aacbd --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libpwquality/metadata.xml @@ -0,0 +1,11 @@ + + + + + gnome@gentoo.org + Gentoo GNOME Desktop + + + libpwquality/libpwquality + +