-#
-# TODO:
-# - python module
-#
-# Conditional build:
-%bcond_with words # bigger words database
-#
Summary: Password checking library
Summary(es.UTF-8): Biblioteca de chequeo de contraseñas
Summary(fr.UTF-8): Bibliothèque de vérification de mots de passe
Summary(tr.UTF-8): Parola denetim kitaplığı
Summary(uk.UTF-8): Бібліотека перевірки паролів
Name: cracklib
-Version: 2.8.10
-Release: 2
+Version: 2.8.22
+Release: 1
License: GPL v2
Group: Libraries
-Source0: http://dl.sourceforge.net/cracklib/%{name}-%{version}.tar.gz
-# Source0-md5: 555f7832b63ebc7fb70b0373500c2358
-Source1: http://dl.sourceforge.net/cracklib/%{name}-words.gz
-# Source1-md5: d18e670e5df560a8745e1b4dede8f84f
+Source0: http://downloads.sourceforge.net/cracklib/%{name}-%{version}.tar.gz
+# Source0-md5: 463177b5c29c7a598c991e12a4898e06
+Source1: ftp://ftp.debian.org/debian/pool/main/c/cracklib2/%{name}2_%{version}-1.debian.tar.gz
+# Source1-md5: 106176eee3183d2320442531c0e62da2
URL: http://sourceforge.net/projects/cracklib/
+BuildRequires: python-devel
+BuildRequires: python-modules
+BuildRequires: rpm-pythonprov
BuildRequires: words
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%undefine __cxx
+
%description
CrackLib tests passwords to determine whether they match certain
security-oriented characteristics. You can use CrackLib to stop users
%description static -l pl.UTF-8
Statyczna biblioteka cracklib.
-%package dicts
-Summary: Standard dictionaries (/usr/share/dict/words)
-Summary(de.UTF-8): Standard-Wörterbücher (/usr/share/dict/words)
-Summary(es.UTF-8): Diccionarios para chequeo de contraseñas
-Summary(fr.UTF-8): Dictionnaires standards (/usr/share/dict/words)
-Summary(pl.UTF-8): Standardowe słowniki (/usr/share/dict/words)
-Summary(pt_BR.UTF-8): Dicionários para checagem de senhas
-Summary(ru.UTF-8): Стандартные словари CrackLib
-Summary(tr.UTF-8): Standart sözlükler (/usr/share/dict/words)
-Summary(uk.UTF-8): Стандартні словники CrackLib
-Group: Applications/System
-
-%description dicts
-The cracklib-dicts package includes the CrackLib dictionaries.
-CrackLib will need to use the dictionary appropriate to your system,
-which is normally put in /usr/share/dict/words. Cracklib-dicts also
-contains the utilities necessary for the creation of new dictionaries.
-
-%description dicts -l de.UTF-8
-Enthält die Cracklib-Wörterbücher für die
-Standard-/usr/share/dict/Wörter sowie Utilities zum Erstellen neuer
-Wörterbücher"
-
-%description dicts -l es.UTF-8
-Incluye el diccionario cracklib para el padrón /usr/share/dict/words,
-y utilitarios necesarios a creación de nuevos diccionarios.
-
-%description dicts -l fr.UTF-8
-Contient les dictionnaires cracklib pour le /usr/share/dict/words
-standard, ainsi que les utilitaires nécessaires à la création de
-nouveaux dictionnaires.
-
-%description dicts -l pl.UTF-8
-Pakiet zawiera słowniki cracklib'a dla standardowego
-/usr/share/dict/words oraz narzędzia do tworzenia nowych słowników.
-
-%description dicts -l pt_BR.UTF-8
-Inclui o dicionário cracklib para o padrão /usr/dict/words, bem como
-utilitários necessários a criação de novos dicionários.
-
-%description dicts -l ru.UTF-8
-Пакет cracklib-dicts включает словари CrackLib. CrackLib будут нужны
-словари, соответствующие вашей системе, которые обычно находятся в
-/usr/share/dict/words. Cracklib-dicts также содержит утилиты,
-необходимые для создания новых словарей.
-
-%description dicts -l tr.UTF-8
-/usr/share/dict/words dosyası için 'cracklib' kitaplıklarını ve yeni
-sözlükler yaratılması için gerekli yardımcı programları içerir.
-
-%description dicts -l uk.UTF-8
-Пакет cracklib-dicts містить словники CrackLib. CrackLib будуть
-потрібні словники, що відповідають вашій системі, котрі зазвичай
-знаходяться в /usr/share/dict/words. Cracklib-dicts також містить
-утиліти, необхідні для створення нових словників.
+%package -n python-cracklib
+Summary: Python binding for cracklib
+Summary(pl.UTF-8): Wiązanie Pythona do crackliba
+Group: Libraries/Python
+Requires: %{name} = %{version}-%{release}
+%pyrequires_eq python-libs
+
+%description -n python-cracklib
+Python binding for cracklib.
+
+%description -n python-cracklib -l pl.UTF-8
+Wiązanie Pythona do crackliba.
%prep
-%setup -q
-%if %{with words}
-install %{SOURCE1} dicts/
-%endif
+%setup -q -a1
%build
%configure \
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_libdir},%{_includedir},%{_datadir}/dict}
-
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-util/cracklib-format dicts/cracklib* | util/cracklib-packer $RPM_BUILD_ROOT%{_datadir}/dict/cracklib_dict
+install -d $RPM_BUILD_ROOT%{_mandir}/man{3,8}
+cp -p debian/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
+cp -p debian/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
+# debian specific
+rm $RPM_BUILD_ROOT%{_mandir}/man8/update-cracklib.8*
+
+chmod 755 util/cracklib-format
+
+util/cracklib-format $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib-small | \
+util/cracklib-packer $RPM_BUILD_ROOT%{_datadir}/dict/cracklib-small
+rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib-small
+
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}
+
+# already in file(1) database
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib.magic
-%{find_lang} %{name}
+mv -f $RPM_BUILD_ROOT%{_localedir}/{sl_SI,sl}
-sed -i -e 's/.*sl_SI.*//' %{name}.lang
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc ChangeLog NEWS README
-%attr(755,root,root) %{_libdir}/libcrack.so.*.*
-%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/*
+%attr(755,root,root) %{_libdir}/libcrack.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcrack.so.2
+%{_datadir}/dict/cracklib-small.*
%files devel
%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/cracklib-*
+%attr(755,root,root) %{_sbindir}/create-cracklib-dict
%attr(755,root,root) %{_libdir}/libcrack.so
+%{_mandir}/man3/FascistCheck.3*
+%{_mandir}/man8/cracklib-check.8*
+%{_mandir}/man8/cracklib-format.8*
+%{_mandir}/man8/create-cracklib-dict.8*
%{_libdir}/libcrack.la
-%{_includedir}/*.h
+%{_includedir}/crack.h
+%{_includedir}/packer.h
%files static
%defattr(644,root,root,755)
%{_libdir}/libcrack.a
-%files dicts
+%files -n python-cracklib
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/*
-%{_datadir}/dict/cracklib_dict*
+%attr(755,root,root) %{py_sitedir}/_cracklib.so
+%{py_sitescriptdir}/%{name}.*