Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

10 changed files with 200 additions and 153 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

18
.gitignore vendored
View File

@ -1 +1,17 @@
SOURCES/libpwquality-1.4.4.tar.bz2
/libpwquality-0.9.tar.bz2
/libpwquality-0.9.9.tar.bz2
/libpwquality-1.0.0.tar.bz2
/libpwquality-1.1.0.tar.bz2
/libpwquality-1.1.1.tar.bz2
/libpwquality-1.2.0.tar.bz2
/libpwquality-1.2.1.tar.bz2
/libpwquality-1.2.2.tar.bz2
/libpwquality-1.2.3.tar.bz2
/libpwquality-1.2.4.tar.bz2
/libpwquality-1.3.0.tar.bz2
/libpwquality-1.4.0.tar.bz2
/libpwquality-1.4.1.tar.bz2
/libpwquality-1.4.2.tar.bz2
/libpwquality-1.4.3.tar.bz2
/libpwquality-1.4.4.tar.bz2
/libpwquality-1.4.5.tar.bz2

View File

@ -1 +0,0 @@
94e3f2eb67ccff1823e727d6770c3f39acbd954d SOURCES/libpwquality-1.4.4.tar.bz2

View File

@ -1,23 +0,0 @@
diff -up libpwquality-1.4.4/po/ja.po.nodot libpwquality-1.4.4/po/ja.po
--- libpwquality-1.4.4/po/ja.po.nodot 2022-08-30 14:32:17.009800325 +0200
+++ libpwquality-1.4.4/po/ja.po 2022-08-30 14:32:29.162910025 +0200
@@ -212,7 +212,7 @@ msgstr "繝代せ繝ッ繝シ繝峨<E7B99D>逕滓<E98095>縺ォ螟ア謨
#: src/error.c:114 src/error.c:117
msgid "The password fails the dictionary check"
-msgstr "縺薙<E7B8BA>繝代せ繝ッ繝シ繝峨<E7B99D>霎樊嶌繝√ぉ繝<E38189>け縺ォ螟ア謨励縺セ縺励◆縲<E29786>"
+msgstr "縺薙<E7B8BA>繝代せ繝ッ繝シ繝峨<E7B99D>霎樊嶌繝√ぉ繝<E38189>け縺ォ螟ア謨励縺セ縺励◆"
#: src/error.c:120 src/error.c:124
msgid "Unknown setting"
diff -up libpwquality-1.4.4/po/Makefile.in.in.rhel9-i18n libpwquality-1.4.4/po/Makefile.in.in
--- libpwquality-1.4.4/po/Makefile.in.in.rhel9-i18n 2021-08-04 16:36:32.050503801 +0200
+++ libpwquality-1.4.4/po/Makefile.in.in 2021-08-04 16:37:17.722885954 +0200
@@ -97,6 +97,7 @@ CATALOGS = @CATALOGS@
all: all-@USE_NLS@
+ $(MAKE) *.gmo
all-yes: stamp-po
all-no:

1
ci.fmf Normal file
View File

@ -0,0 +1 @@
resultsdb-testcase: separate

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/ci/fips-disabled-buildroot-disabled.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/ci/fips-disabled-buildroot-enabled.functional}

View File

@ -1,49 +1,31 @@
%if 0%{?fedora} || 0%{?rhel} > 7
# Enable python3 build by default
%bcond_without python3
%else
%bcond_with python3
%endif
%if 0%{?rhel} > 7 || 0%{?fedora} > 30
# Disable python2 build by default
%bcond_with python2
%else
%bcond_without python2
%endif
Summary: A library for password generation and password quality checking
Name: libpwquality
Version: 1.4.4
Release: 6%{?dist}
# The package is BSD licensed with option to relicense as GPLv2+
# - this option is redundant as the BSD license allows that anyway.
License: BSD or GPLv2+
Version: 1.4.5
Release: 12%{?dist}
URL: https://github.com/libpwquality/libpwquality/
Source0: https://github.com/libpwquality/libpwquality/releases/download/libpwquality-%{version}/libpwquality-%{version}.tar.bz2
Patch100: libpwquality-1.4.4-rhel8-i18n.patch
# Use setuptools instead of distutils
# This fixes the build with Python 3.12+
# https://bugzilla.redhat.com/2165572
# Upstream PR: https://github.com/libpwquality/libpwquality/pull/74
Patch1: setuptools.patch
# The package is BSD licensed with option to relicense as GPLv2+
# - this option is redundant as the BSD license allows that anyway.
License: BSD-3-Clause OR GPL-2.0-or-later
%global _pwqlibdir %{_libdir}
%global _moduledir %{_libdir}/security
%global _secconfdir %{_sysconfdir}/security
Requires: cracklib-dicts >= 2.8
Requires: pam%{?_isa}
Requires: cracklib
BuildRequires: gcc make
BuildRequires: cracklib-devel
BuildRequires: gettext
BuildRequires: pam-devel
%if %{with python2}
BuildRequires: python2-devel
%endif
%if %{with python3}
BuildRequires: python3-devel
%endif
URL: https://github.com/libpwquality/libpwquality/
# we don't want to provide private python extension libs
%define __provides_exclude_from ^(%{python_sitearch}|%{python3_sitearch})/.*\.so$.
BuildRequires: python3-setuptools
%description
This is a library for password quality checks and generation
@ -61,20 +43,6 @@ Files needed for development of applications using the libpwquality
library.
See the pwquality.h header file for the API.
%if %{with python2}
%package -n python2-pwquality
%{?python_provide:%python_provide python2-pwquality}
Summary: Python bindings for the libpwquality library
Requires: libpwquality%{?_isa} = %{version}-%{release}
%description -n python2-pwquality
This is pwquality Python module that provides Python bindings
for the libpwquality library. These bindings can be used
for easy password quality checking and generation of random
pronounceable passwords from Python applications.
%endif
%if %{with python3}
%package -n python3-pwquality
Summary: Python bindings for the libpwquality library
Requires: libpwquality%{?_isa} = %{version}-%{release}
@ -84,62 +52,25 @@ This is pwquality Python module that provides Python bindings
for the libpwquality library. These bindings can be used
for easy password quality checking and generation of random
pronounceable passwords from Python applications.
%endif
%prep
%setup -q
%if %{with python3} && %{with python2}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
%patch100 -p1 -b .nodot
%autosetup -p1
%build
%if %{with python2}
%configure \
--with-securedir=%{_moduledir} \
--with-pythonsitedir=%{python2_sitearch} \
--with-python-binary=%{__python2} \
--disable-static
make %{?_smp_mflags}
%endif
%if %{with python3} && %{with python2}
pushd %{py3dir}
%endif
%if %{with python3}
%configure \
--with-securedir=%{_moduledir} \
--with-pythonsitedir=%{python3_sitearch} \
--with-python-binary=%{__python3} \
--disable-static
make %{?_smp_mflags}
%endif
%if %{with python3} && %{with python2}
popd
%endif
%make_build
%install
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
%make_install
%if %{with python3} && %{with python2}
pushd %{py3dir}
make -C python install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
popd
%endif
%if "%{_pwqlibdir}" != "%{_libdir}"
pushd $RPM_BUILD_ROOT%{_libdir}
mv libpwquality.so.* $RPM_BUILD_ROOT%{_pwqlibdir}
ln -sf %{_pwqlibdir}/libpwquality.so.*.* libpwquality.so
popd
%endif
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_moduledir}/*.la
mkdir $RPM_BUILD_ROOT%{_secconfdir}/pwquality.conf.d
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{_moduledir}/*.la
mkdir %{buildroot}%{_secconfdir}/pwquality.conf.d
%find_lang libpwquality
@ -149,15 +80,16 @@ mkdir $RPM_BUILD_ROOT%{_secconfdir}/pwquality.conf.d
%ldconfig_scriptlets
%files -f libpwquality.lang
%{!?_licensedir:%global license %%doc}
%license COPYING
%doc README NEWS AUTHORS
%{_bindir}/pwmake
%{_bindir}/pwscore
%dir %{_moduledir}
%{_moduledir}/pam_pwquality.so
%{_pwqlibdir}/libpwquality.so.*
%{_libdir}/libpwquality.so.*
%dir %{_secconfdir}
%config(noreplace) %{_secconfdir}/pwquality.conf
%{_secconfdir}/pwquality.conf.d
%dir %{_secconfdir}/pwquality.conf.d
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man8/*
@ -168,55 +100,105 @@ mkdir $RPM_BUILD_ROOT%{_secconfdir}/pwquality.conf.d
%{_libdir}/pkgconfig/*.pc
%{_mandir}/man3/*
%if %{with python2}
%files -n python2-pwquality
%{python2_sitearch}/pwquality.so
%{python2_sitearch}/*.egg-info
%endif
%if %{with python3}
%files -n python3-pwquality
%{python3_sitearch}/*.so
%{python3_sitearch}/*.egg-info
%endif
%changelog
* Tue Feb 14 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.4-6
- rebuilt
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.4.5-12
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Feb 13 2023 Dmitry Belyavskiy - 1.4.4-5
- rebuilt
* Tue Jul 30 2024 Veronika Hanulikova <vhanulik@redhat.com> - 1.4.5-11
- Add cracklib dependency (RHEL-39973)
* Tue Aug 30 2022 Dmitry Belyavskiy - 1.4.4-4
- Japan translation update (remove extra dot)
Resolves: rhbz#2122609
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.4.5-10
- Bump release for June 2024 mass rebuild
* Mon Feb 22 2021 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.4-3
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Aug 04 2023 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.5-7
- migrated to SPDX license
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.4.5-5
- Rebuilt for Python 3.12
* Fri Mar 31 2023 Miro Hrončok <mhroncok@redhat.com> - 1.4.5-4
- Use setuptools instead of distutils to build this package
- Resolves: rhbz#2165572
* Wed Feb 01 2023 Adam Williamson <awilliam@redhat.com> - 1.4.5-3
- Strengthen cracklib-dicts dependency to Recommends (#2158891)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Dec 22 2022 Paul Wouters <paul.wouters@aiven.io - 1.4.5-1
- Resolves: rhbz#2154991 libpwquality fails to build with Python 3.12: ModuleNotFoundError: No module named 'distutils'
- Resolves: rhbz#2006063 RFE: Support running without cracklib-dicts installed
- Cleanup and remove python2/3 conditional macros
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.4.4-10
- Rebuilt for Python 3.11
* Fri Mar 04 2022 Karolina Surma <ksurma@redhat.com> - 1.4.4-9
- Don't BR setuptools, use Python's bundled distutils
* Wed Feb 16 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.4-8
- Co-own security directory instead of pulling in pam (#2018913)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Aug 11 2021 Paul Wouters <paul.wouters@aiven.io> - 1.4.4-6
- Resolves: rhbz#1992607 libpwquality: regression in minimal image size because of hard dependency on cracklib-dicts
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jun 03 2021 Python Maint <python-maint@redhat.com> - 1.4.4-4
- Rebuilt for Python 3.10
* Thu Mar 11 2021 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.4-3
- Resolves: rhbz#1919026 libpwquaily rpm requires cracklib to function but RPM missing requirement [updated]
* Wed Feb 17 2021 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1.4.4-2
- Resolves: rhbz#1919026 libpwquaily rpm requires cracklib to function but RPM missing requirement
* Tue Jan 26 10:55:14 EST 2021 Paul Wouters <pwouters@redhat.com> - 1.4.4-2
- Resolves rhbz#1919026 libpwquaily rpm requires cracklib-dict to function but RPM missing requirement
* Tue Oct 13 2020 Tomáš Mráz <tmraz@redhat.com> 1.4.4-1
- Translation updates
- Fix regression with enabling the cracklib check during build
* Mon Oct 12 2020 Tomáš Mráz <tmraz@redhat.com> 1.4.3-1
- Multiple translation updates
- Add usersubstr check for substrings of N characters from the username
patch by Danny Sauer
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 1.4.2-4
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Thu Oct 31 2019 Tomáš Mráz <tmraz@redhat.com> 1.4.2-1
- Fix previous release regression in handling retry, enforce_for_root,
and local_users_only options
* Tue Sep 17 2019 Tomáš Mráz <tmraz@redhat.com> 1.4.1-1
- Disable python2 bindings in Fedora 31 and above
- Add conditionals for Python2 and Python3
- pam_pwquality: Abort the retry loop if user requests it
- Allow setting retry, enforce_for_root, and local_users_only options
in the pwquality.conf config file
* Mon Oct 22 2018 Tomáš Mráz <tmraz@redhat.com> 1.4.0-9
- Fix an issue found in Coverity scan
* Fri Jun 22 2018 Tomáš Mráz <tmraz@redhat.com> 1.4.0-8
- Properly conditionalize the python buildrequires
* Thu Mar 22 2018 Tomáš Mráz <tmraz@redhat.com> 1.4.0-7
- Add conditionals for Python2 and Python3
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.4.0-5
- Switch to %%ldconfig_scriptlets
@ -224,12 +206,6 @@ mkdir $RPM_BUILD_ROOT%{_secconfdir}/pwquality.conf.d
- Python 2 binary package renamed to python2-pwquality
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri May 26 2017 Tomáš Mráz <tmraz@redhat.com> 1.4.0-1
- Do not try to check presence of too short username in password
- Make the user name check optional (via usercheck option)

26
plans/ci.fmf Normal file
View File

@ -0,0 +1,26 @@
/fips-disabled-buildroot-disabled:
plan:
import:
url: https://pkgs.devel.redhat.com/git/tests/libpwquality
name: /plans/ci/fips-disabled-buildroot-disabled
/fips-disabled-buildroot-enabled:
plan:
import:
url: https://pkgs.devel.redhat.com/git/tests/libpwquality
name: /plans/ci/fips-disabled-buildroot-enabled
/fips-enabled-buildroot-disabled:
plan:
import:
url: https://pkgs.devel.redhat.com/git/tests/libpwquality
name: /plans/ci/fips-enabled-buildroot-disabled
/fips-enabled-buildroot-enabled:
plan:
import:
url: https://pkgs.devel.redhat.com/git/tests/libpwquality
name: /plans/ci/fips-enabled-buildroot-enabled

43
setuptools.patch Normal file
View File

@ -0,0 +1,43 @@
diff --git a/python/Makefile.am b/python/Makefile.am
index 1d00c0c..6e51744 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -14,7 +14,7 @@ all-local:
CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
install-exec-local:
- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --root ${DESTDIR} --prefix=${prefix}
clean-local:
rm -rf py$(PYTHONREV)
diff --git a/python/Makefile.in b/python/Makefile.in
index f47ac5e..8e9c7f2 100644
--- a/python/Makefile.in
+++ b/python/Makefile.in
@@ -483,7 +483,7 @@ all-local:
CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
install-exec-local:
- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --root=${DESTDIR} --prefix=${prefix}
clean-local:
rm -rf py$(PYTHONREV)
diff --git a/python/setup.py.in b/python/setup.py.in
index a741b91..f934c50 100755
--- a/python/setup.py.in
+++ b/python/setup.py.in
@@ -6,9 +6,9 @@
import os
-from distutils.core import setup, Extension
-from distutils.command.build_ext import build_ext as _build_ext
-from distutils.command.sdist import sdist as _sdist
+from setuptools import setup, Extension
+from setuptools.command.build_ext import build_ext as _build_ext
+from setuptools.command.sdist import sdist as _sdist
def genconstants(headerfile, outputfile):
hf = open(headerfile, 'r')

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libpwquality-1.4.5.tar.bz2) = 91a6febbf40047e553b6051df727857df7932c816638f15118a46b8286527a80446ca4f6a050d2b1f4e33335bf4b75290751ce358fa477cb9d06fe89a450d647