diff --git a/cracklib-2.9.7.tar.bz2 b/cracklib-2.9.7.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..04e0a9072b58ed4af418336e83a163d117df76f4 Binary files /dev/null and b/cracklib-2.9.7.tar.bz2 differ diff --git a/cracklib.spec b/cracklib.spec new file mode 100644 index 0000000000000000000000000000000000000000..613fd066075ae726604dd6827ef3d2caf2d95bbd --- /dev/null +++ b/cracklib.spec @@ -0,0 +1,145 @@ +%define anolis_release 1 +%bcond_without python3 + +%define dictdir %{_datadir}/cracklib +%define dictpath %{dictdir}/pw_dict + +Name: cracklib +Version: 2.9.7 +Release: %{anolis_release}%{?dist} +Summary: A password-checking library + +License: LGPLv2+ +URL: http://sourceforge.net/projects/cracklib/ +Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/cracklib-%{version}.tar.bz2 + +BuildRequires: gcc, words, gettext, gettext-autopoint, zlib-devel +%if %{with python3} +BuildRequires: python3-devel +%endif +Conflicts: cracklib-dicts < 2.8 +Requires: gzip + +Provides: cracklib-dicts +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: cracklib-dicts +Obsoletes: %{name}-python < %{version}-%{release} + +%description +CrackLib tests passwords to determine whether they match certain +security-oriented characteristics, with the purpose of preventing users +from choosing passwords that could easily be guessed. + +CrackLib is a library containing a C function which may be used in a +"passwd"-like program. If you install CrackLib, you will also want to +install the cracklib-dicts package. + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} + +%description devel +The cracklib-devel package contains the header files and libraries needed +for compiling applications which use cracklib. + +%package_help + +%if %{with python3} +%package -n python3-cracklib +Summary: Python 3 bindings for applications which use cracklib +Requires: %{name} = %{version}-%{release} + +%description -n python3-cracklib +The python3-cracklib package contains a module which permits applications +written in the Python 3 programming language to use cracklib. +%endif + +%prep +%autosetup -n %{name}-%{version} -p1 + +chmod +x util/cracklib-format + +%build +%if %{with python3} +sed -i 's,util/cracklib-check <,util/cracklib-check $(DESTDIR)/$(DEFAULT_CRACKLIB_DICT) <,' Makefile.in +py3include=`python3-config --includes | awk -F' ' '{print $1;}'` +export PYTHON=%{__python3} +export CFLAGS="%{optflags} $py3include" +abiflags=`python3-config --abiflags` +py_version="%{python3_version}$abiflags" +%configure \ + am_cv_python_version="$py_version" \ + --disable-static \ + --with-pic \ + --with-python \ + --with-default-dict=%{dictpath} +make -C po update-gmo +make +%endif + +%install +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT +%if %{with python3} +make install DESTDIR=$RPM_BUILD_ROOT 'pythondir=${pyexecdir}' +%endif + +./util/cracklib-format cracklib-dicts/* | \ +./util/cracklib-packer $RPM_BUILD_ROOT/%{dictpath} +./util/cracklib-format $RPM_BUILD_ROOT/%{dictdir}/cracklib-small | \ +./util/cracklib-packer $RPM_BUILD_ROOT/%{dictdir}/cracklib-small +rm -f $RPM_BUILD_ROOT/%{dictdir}/cracklib-small +sed s,/usr/lib/cracklib_dict,%{dictpath},g lib/crack.h > $RPM_BUILD_ROOT/%{_includedir}/crack.h +ln -s cracklib-format $RPM_BUILD_ROOT/%{_sbindir}/mkdict +ln -s cracklib-packer $RPM_BUILD_ROOT/%{_sbindir}/packer +touch $RPM_BUILD_ROOT/top + +toprelpath=.. +touch $RPM_BUILD_ROOT/top +while ! test -f $RPM_BUILD_ROOT/%{_libdir}/$toprelpath/top ; do + toprelpath=../$toprelpath +done +rm -f $RPM_BUILD_ROOT/top +if test %{dictpath} != %{_libdir}/cracklib_dict ; then +ln -s $toprelpath%{dictpath}.hwm $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.hwm +ln -s $toprelpath%{dictpath}.pwd $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwd +ln -s $toprelpath%{dictpath}.pwi $RPM_BUILD_ROOT/%{_libdir}/cracklib_dict.pwi +fi +rm -f $RPM_BUILD_ROOT/%{_libdir}/python*/site-packages/_cracklib*.*a +rm -f $RPM_BUILD_ROOT/%{_libdir}/libcrack.la + +%find_lang %{name} + +%check +make test + +%ldconfig_scriptlets + +%files -f %{name}.lang +%defattr(-,root,root) +%doc README-LICENSE AUTHORS +%license COPYING.LIB +%{_sbindir}/*cracklib* +%{_sbindir}/mkdict +%{_sbindir}/packer +%{_libdir}/libcrack.so.* +%{_libdir}/cracklib_dict.* +%dir %{_datadir}/cracklib +%config(noreplace) %{_datadir}/cracklib/pw_dict.* +%{_datadir}/cracklib/cracklib-small.* +%{_datadir}/cracklib/cracklib.magic + +%files devel +%{_includedir}/* +%{_libdir}/libcrack.so + +%if %{with python3} +%files -n python3-cracklib +%{_libdir}/python3*/site-packages/_cracklib*.so +%{_libdir}/python3*/site-packages/*.py* +%{_libdir}/python3*/site-packages/__pycache__/* +%endif + +%changelog +* Tue Mar 08 2022 pangqing - 2.9.7-1 +- Init for anolisOS 23