150 lines
4.5 KiB
RPMSpec
150 lines
4.5 KiB
RPMSpec
%define dictdir %{_datadir}/cracklib
|
|
%define dictpath %{dictdir}/pw_dict
|
|
|
|
Name: cracklib
|
|
Version: 2.9.6
|
|
Release: 17
|
|
Summary: A password-checking library
|
|
|
|
License: LGPLv2+
|
|
URL: http://sourceforge.net/projects/cracklib/
|
|
Source0: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-%{version}.tar.gz
|
|
Source1: https://github.com/cracklib/cracklib/releases/download/cracklib-%{version}/cracklib-words-%{version}.gz
|
|
Source10: missing-words.gz
|
|
|
|
Patch1: cracklib-2.9.1-inttypes.patch
|
|
Patch2: cracklib-2.9.0-python-gzdicts.patch
|
|
Patch4: cracklib-2.9.6-packlib-reentrant.patch
|
|
Patch6: cracklib-2.9.6-simplistic.patch
|
|
Patch8: cracklib-2.9.6-cve-2016-6318.patch
|
|
|
|
Patch6001: Fix-build-on-illumos-pwp-dfp-is-void-and-should-be-c.patch
|
|
Patch6002: Fix-a-buffer-overflow-processing-long-words.patch
|
|
Patch6003: Fix-distdifference.patch
|
|
|
|
Patch9000: bugfix-cracklib-format.patch
|
|
|
|
BuildRequires: gcc, words, gettext, gettext-autopoint, zlib-devel
|
|
BuildRequires: python2-devel
|
|
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
|
|
|
|
%package -n python2-cracklib
|
|
Summary: Python 2 bindings for applications which use cracklib
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description -n python2-cracklib
|
|
The python2-cracklib package contains a module which permits applications
|
|
written in the Python 2 programming language to use cracklib.
|
|
|
|
%prep
|
|
%autosetup -n %{name}-%{version} -p1
|
|
|
|
mkdir cracklib-dicts
|
|
for dict in %{SOURCE10} %{SOURCE1}
|
|
do
|
|
cp -fv ${dict} cracklib-dicts/
|
|
done
|
|
chmod +x util/cracklib-format
|
|
|
|
%build
|
|
sed -i 's,util/cracklib-check <,util/cracklib-check $(DESTDIR)/$(DEFAULT_CRACKLIB_DICT) <,' Makefile.in
|
|
%configure \
|
|
--disable-static \
|
|
--with-pic \
|
|
--with-python \
|
|
--with-default-dict=%{dictpath}
|
|
make -C po update-gmo
|
|
make
|
|
|
|
%install
|
|
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
|
|
make install DESTDIR=$RPM_BUILD_ROOT 'pythondir=${pyexecdir}'
|
|
./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
|
|
%{_datadir}/cracklib/pw_dict.*
|
|
%{_datadir}/cracklib/cracklib-small.*
|
|
%{_datadir}/cracklib/cracklib.magic
|
|
|
|
%files devel
|
|
%{_includedir}/*
|
|
%{_libdir}/libcrack.so
|
|
|
|
%files help
|
|
%doc README README-WORDS NEWS
|
|
|
|
%files -n python2-cracklib
|
|
%{_libdir}/python*/site-packages/_cracklib*.so
|
|
%{_libdir}/python*/site-packages/*.py*
|
|
|
|
%changelog
|
|
* Fri Sep 27 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.9.7-17
|
|
- Add python2-cracklib package
|
|
|
|
* Fri Sep 20 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.9.7-16
|
|
- Package init
|