+# TODO: is $(pkgdatadir)/cracklib.magic used for anything?
+# it's already in file database, so maybe just drop it?
#
# Conditional build:
%bcond_with words # bigger words database
#
Summary: Password checking library
-Summary(es): Biblioteca de chequeo de contraseñas
-Summary(fr): Bibliothèque de vérification de mots de passe
-Summary(pl): Biblioteka sprawdzania hase³
-Summary(pt_BR): Biblioteca de checagem de senhas
-Summary(ru): âÉÂÌÉÏÔÅËÁ ÐÒÏ×ÅÒËÉ ÐÁÒÏÌÅÊ
-Summary(tr): Parola denetim kitaplýðý
-Summary(uk): â¦Â̦ÏÔÅËÁ ÐÅÒÅצÒËÉ ÐÁÒÏ̦×
+Summary(es.UTF-8): Biblioteca de chequeo de contraseñas
+Summary(fr.UTF-8): Bibliothèque de vérification de mots de passe
+Summary(pl.UTF-8): Biblioteka sprawdzania haseł
+Summary(pt_BR.UTF-8): Biblioteca de checagem de senhas
+Summary(ru.UTF-8): Библиотека проверки паролей
+Summary(tr.UTF-8): Parola denetim kitaplığı
+Summary(uk.UTF-8): Бібліотека перевірки паролів
Name: cracklib
-Version: 2.8.3
-Release: 0.1
+Version: 2.8.13
+%define words_v 20080507
+Release: 3
License: GPL v2
Group: Libraries
-Source0: http://dl.sourceforge.net/cracklib/%{name}-%{version}.tar.gz
-# Source0-md5: 13f82f75b892cbd0ba7cb9069e307006
-Source1: http://dl.sourceforge.net/cracklib/cracklib-words.gz
-# Source1-md5: d18e670e5df560a8745e1b4dede8f84f
+Source0: http://downloads.sourceforge.net/cracklib/%{name}-%{version}.tar.gz
+# Source0-md5: 5beb4c6b3c31c83fc98c4c225b25cd94
+Source1: http://downloads.sourceforge.net/cracklib/%{name}-words-%{words_v}.gz
+# Source1-md5: 7fa6ba0cd50e7f9ccaf4707c810b14f1
URL: http://sourceforge.net/projects/cracklib/
-Patch0: %{name}-pld.patch
+BuildRequires: python-devel
BuildRequires: words
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
passwords to see if they are at least minimally secure. If you install
CrackLib, you'll also want to install the cracklib-dicts package.
-%description -l de
-Überprüft Paßwörter auf Sicherheitsmerkmale - Länge, Eindeutigkeit,
-Anwesenheit in einer Wörter-Datenbank usw.
-
-%description -l fr
-Vérifie les caractéristiques liées à la sécurité des mots de passe -
-longueur, unicité, s'ils sont dans une base de mots, etc.
-
-%description -l pl
-CrackLib sprawdza has³a pod k±tem bezpieczeñstwa. Mo¿na u¿yæ tej
-biblioteki do powstrzymywania u¿ytkowników przed wybieraniem hase³
-³atwych do odgadniêcia. CrackLib przeprowadza nastêpuj±ce testy:
-
-- próbuje wygenerowaæ s³owa z nazwy u¿ytkownika i wpisu gecos, a
- nastêpnie porównuje je z has³em
-- szuka prostych wzorców w ha¶le
-- szuka has³a w s³owniku
-
-CrackLib to biblioteka zawieraj±ca funkcjê C s³u¿±c± do sprawdzania
-has³a oraz inne funkcje C. Nie jest to zamiennik programu passwd -
-musi byæ u¿yty w po³±czeniu z istniej±cym programem passwd.
-
-%description -l pt_BR
-Inclui os dicionários cracklib para o padrão /usr/dict/words, assim
-como os utilitários necessários para criar dicionários.
-
-%description -l ru
-CrackLib ÐÒÏ×ÅÒÑÅÔ ÐÁÒÏÌÉ ÎÁ ÐÒÅÄÍÅÔ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÎÅËÏÔÏÒÙÍ ËÒÉÔÅÒÉÑÍ
-ÂÅÚÏÐÁÓÎÏÓÔÉ. ïÎÁ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ×ÙÂÏÒÁ
-ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ ÌÅÇËÏÕÇÁÄÙ×ÁÅÍÙÈ ÐÁÒÏÌÅÊ. CrackLib ÐÒÏÉÚ×ÏÄÉÔ ÔÁËÉÅ
-ÔÅÓÔÙ:
-
-- çÅÎÅÒÉÒÕÅÔ ÓÌÏ×Á ÉÚ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÏÌÑ gecos É ÓÒÁ×ÎÉ×ÁÅÔ ÉÈ
- Ó ÐÁÒÏÌÅÍ;
-- éÝÅÔ × ÐÁÒÏÌÑÈ ÐÒÏÓÔÙÅ ÛÁÂÌÏÎÙ;
-- ðÒÏ×ÅÒÑÅÔ ÐÁÒÏÌØ ÎÁ ÎÁÌÉÞÉÅ ÅÇÏ × ÓÌÏ×ÁÒÅ.
-
-CrackLib - ÜÔÏ, ÓÏÂÓÔ×ÅÎÎÏ, ÂÉÂÌÉÏÔÅËÁ, ÓÏÄÅÒÖÁÝÁÑ ÓÐÅÃÉÆÉÞÅÓËÕÀ
-ÆÕÎËÃÉÀ C ÄÌÑ ÕÇÁÄÙ×ÁÎÉÑ ÐÁÒÏÌÅÊ É ÎÅËÏÔÏÒÙÅ ÄÒÕÇÉÅ ÆÕÎËÃÉÉ. üÔÏ ÎÅ
-ÚÁÍÅÎÁ ÐÒÏÇÒÁÍÍÙ passwd, ÅÅ ÎÁÄÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏ×ÍÅÓÔÎÏ Ó ÓÕÝÅÓÔ×ÕÀÝÅÊ
-ÐÒÏÇÒÁÍÍÏÊ passwd.
-
-%description -l tr
-Parolalarýn uzunluklarý, sistemde tek olmalarý, sözcük veri tabanýnda
-bulunmamalarý gibi güvenlikle ilgili özelliklerini kontrol eder.
-
-%description -l uk
-CrackLib ÐÅÒÅצÒѤ ÐÁÒÏ̦ ÎÁ צÄÐÏצÄΦÓÔØ ÄÅÑËÉÍ ËÒÉÔÅÒ¦ÑÍ ÂÅÚÐÅËÉ.
-÷ÏÎÁ ÍÏÖÅ ÂÕÔÉ ×ÉËÏÒÉÓÔÁÎÁ ÄÌÑ ÚÁÐϦÇÁÎÎÑ ×ÉÂÏÒÕ ËÏÒÉÓÔÕ×ÁÞÁÍÉ
-ÐÁÒÏ̦×, Ñ˦ ÌÅÇËÏ ×¦ÄÇÁÄÁÔÉ. ÷ÏÎÁ ×ÉËÏÎÕ¤ ÔÁ˦ ÔÅÓÔÉ:
-
-- çÅÎÅÒÕ¤ ÓÌÏ×Á Ú ¦ÍÅΦ ËÏÒÉÓÔÕ×ÁÞÁ ÔÁ ÐÏÌÑ gecos ¦ ÐÏÒ¦×ÎÀ¤ §È Ú
- ÐÁÒÏÌÅÍ;
-- ûÕËÁ¤ × ÐÁÒÏÌÑÈ ÐÒÏÓÔ¦ ÛÁÂÌÏÎÉ;
-- ðÅÒÅצÒѤ ÐÁÒÏ̦ ÎÁ ÎÁÑ×ΦÓÔØ §È Õ ÓÌÏ×ÎÉËÕ.
-
-CrackLib - ÃÅ, ×ÌÁÓÎÅ, ¦Â̦ÏÔÅËÁ, ÝÏ Í¦ÓÔÉÔØ ÓÐÅÃÉƦÞÎÕ ÆÕÎËæÀ C ÄÌÑ
-צÄÇÁÄÕ×ÁÎÎÑ ÐÁÒÏÌ¦× ÔÁ ÄÅÑ˦ ¦ÎÛ¦ ÆÕÎËæ§. ãÅ ÎÅ ÚÁͦÎÁ ÐÒÏÇÒÁÍÉ
-passwd, §§ ÔÒÅÂÁ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÓЦÌØÎÏ Ú ¦ÓÎÕÀÞÏÀ ÐÒÏÇÒÁÍÏÀ passwd.
+%description -l de.UTF-8
+Überprüft Paßwörter auf Sicherheitsmerkmale - Länge, Eindeutigkeit,
+Anwesenheit in einer Wörter-Datenbank usw.
+
+%description -l fr.UTF-8
+Vérifie les caractéristiques liées à la sécurité des mots de passe -
+longueur, unicité, s'ils sont dans une base de mots, etc.
+
+%description -l pl.UTF-8
+CrackLib sprawdza hasła pod kątem bezpieczeństwa. Można użyć tej
+biblioteki do powstrzymywania użytkowników przed wybieraniem haseł
+łatwych do odgadnięcia. CrackLib przeprowadza następujące testy:
+
+- próbuje wygenerować słowa z nazwy użytkownika i wpisu gecos, a
+ następnie porównuje je z hasłem
+- szuka prostych wzorców w haśle
+- szuka hasła w słowniku
+
+CrackLib to biblioteka zawierająca funkcję C służącą do sprawdzania
+hasła oraz inne funkcje C. Nie jest to zamiennik programu passwd -
+musi być użyty w połączeniu z istniejącym programem passwd.
+
+%description -l pt_BR.UTF-8
+Inclui os dicionários cracklib para o padrão /usr/dict/words, assim
+como os utilitários necessários para criar dicionários.
+
+%description -l ru.UTF-8
+CrackLib пÑ\80овеÑ\80Ñ\8fеÑ\82 паÑ\80оли на пÑ\80едмеÑ\82 Ñ\81ооÑ\82веÑ\82Ñ\81Ñ\82виÑ\8f некоÑ\82оÑ\80Ñ\8bм кÑ\80иÑ\82еÑ\80иÑ\8fм
+безопасности. Она может быть использована для предотвращения выбора
+полÑ\8cзоваÑ\82елÑ\8fми легкоÑ\83гадÑ\8bваемÑ\8bÑ\85 паÑ\80олей. CrackLib пÑ\80оизводиÑ\82 Ñ\82акие
+тесты:
+
+- Генерирует слова из имени пользователя и поля gecos и сравнивает их
+ с паролем;
+- Ищет в паролях простые шаблоны;
+- Проверяет пароль на наличие его в словаре.
+
+CrackLib - это, собственно, библиотека, содержащая специфическую
+функцию C для угадывания паролей и некоторые другие функции. Это не
+замена программы passwd, ее надо использовать совместно с существующей
+пÑ\80огÑ\80аммой passwd.
+
+%description -l tr.UTF-8
+Parolaların uzunlukları, sistemde tek olmaları, sözcük veri tabanında
+bulunmamaları gibi güvenlikle ilgili özelliklerini kontrol eder.
+
+%description -l uk.UTF-8
+CrackLib пеÑ\80евÑ\96Ñ\80Ñ\8fÑ\94 паÑ\80олÑ\96 на вÑ\96дповÑ\96днÑ\96Ñ\81Ñ\82Ñ\8c деÑ\8fким кÑ\80иÑ\82еÑ\80Ñ\96Ñ\8fм безпеки.
+Вона може бути використана для запобігання вибору користувачами
+паÑ\80олÑ\96в, Ñ\8fкÑ\96 легко вÑ\96дгадаÑ\82и. Ð\92она виконÑ\83Ñ\94 Ñ\82акÑ\96 Ñ\82еÑ\81Ñ\82и:
+
+- Генерує слова з імені користувача та поля gecos і порівнює їх з
+ паÑ\80олем;
+- Шукає в паролях прості шаблони;
+- Перевіряє паролі на наявність їх у словнику.
+
+CrackLib - це, власне, бібліотека, що містить специфічну функцію C для
+відгадування паролів та деякі інші функції. Це не заміна програми
+passwd, її треба використовувати спільно з існуючою програмою passwd.
%package devel
Summary: Header files and documentation for cracklib
-Summary(es): Archivos de inclusión y bibliotecas para cracklib
-Summary(pl): Pliki nag³ówkowe i dokumentacja dla cracklib
-Summary(pt_BR): Arquivos de inclusão e bibliotecas para a cracklib
+Summary(es.UTF-8): Archivos de inclusión y bibliotecas para cracklib
+Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja dla cracklib
+Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para a cracklib
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
Header files and documentation for cracklib.
-%description devel -l es
-Este paquete contiene los archivos de inclusión y bibliotecas que se
+%description devel -l es.UTF-8
+Este paquete contiene los archivos de inclusión y bibliotecas que se
necesitan para desarrollar programas que usan cracklib.
-%description devel -l pl
-Pliki nag³ówkowe i dokumentacja dla cracklib.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja dla cracklib.
-%description devel -l pt_BR
-Este pacote contém os arquivos de inclusão e bibliotecas que são
-necessários para desenvolver programas que usam a cracklib.
+%description devel -l pt_BR.UTF-8
+Este pacote contém os arquivos de inclusão e bibliotecas que são
+necessários para desenvolver programas que usam a cracklib.
%package static
Summary: Static cracklib library
-Summary(pl): Statyczna biblioteka cracklib
+Summary(pl.UTF-8): Statyczna biblioteka cracklib
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
Static cracklib library.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczna biblioteka cracklib.
%package dicts
Summary: Standard dictionaries (/usr/share/dict/words)
-Summary(de): Standard-Wörterbücher (/usr/share/dict/words)
-Summary(es): Diccionarios para chequeo de contraseñas
-Summary(fr): Dictionnaires standards (/usr/share/dict/words)
-Summary(pl): Standardowe s³owniki (/usr/share/dict/words)
-Summary(pt_BR): Dicionários para checagem de senhas
-Summary(ru): óÔÁÎÄÁÒÔÎÙÅ ÓÌÏ×ÁÒÉ CrackLib
-Summary(tr): Standart sözlükler (/usr/share/dict/words)
-Summary(uk): óÔÁÎÄÁÒÔΦ ÓÌÏ×ÎÉËÉ CrackLib
+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
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
-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 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
-Incluye el diccionario cracklib para el padrón /usr/share/dict/words,
-y utilitarios necesarios a creación de nuevos diccionarios.
+%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
+%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
+standard, ainsi que les utilitaires nécessaires à la création de
nouveaux dictionnaires.
-%description dicts -l pl
-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
-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
-ðÁËÅÔ cracklib-dicts ×ËÌÀÞÁÅÔ ÓÌÏ×ÁÒÉ CrackLib. CrackLib ÂÕÄÕÔ ÎÕÖÎÙ
-ÓÌÏ×ÁÒÉ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ×ÁÛÅÊ ÓÉÓÔÅÍÅ, ËÏÔÏÒÙÅ ÏÂÙÞÎÏ ÎÁÈÏÄÑÔÓÑ ×
-/usr/share/dict/words. Cracklib-dicts ÔÁËÖÅ ÓÏÄÅÒÖÉÔ ÕÔÉÌÉÔÙ,
-ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÓÏÚÄÁÎÉÑ ÎÏ×ÙÈ ÓÌÏ×ÁÒÅÊ.
+%description dicts -l pl.UTF-8
+Pakiet zawiera słowniki crackliba 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 dicts -l tr
-/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 -n python-cracklib
+Python binding for cracklib.
-%description dicts -l uk
-ðÁËÅÔ cracklib-dicts ͦÓÔÉÔØ ÓÌÏ×ÎÉËÉ CrackLib. CrackLib ÂÕÄÕÔØ
-ÐÏÔÒ¦ÂΦ ÓÌÏ×ÎÉËÉ, ÝÏ ×¦ÄÐÏצÄÁÀÔØ ×ÁÛ¦Ê ÓÉÓÔÅͦ, ËÏÔÒ¦ ÚÁÚ×ÉÞÁÊ
-ÚÎÁÈÏÄÑÔØÓÑ × /usr/share/dict/words. Cracklib-dicts ÔÁËÏÖ Í¦ÓÔÉÔØ
-ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÓÔ×ÏÒÅÎÎÑ ÎÏ×ÉÈ ÓÌÏ×ÎÉ˦×.
+%description -n python-cracklib -l pl.UTF-8
+Wiązanie Pythona do crackliba.
%prep
%setup -q
-%patch0 -p0
-%if %{with words}
+%if %{with words}
install %{SOURCE1} dicts/
%endif
%build
-%configure
+%configure \
+ --with-default-dict=%{_datadir}/dict/cracklib_dict
%{__make}
%install
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+chmod 755 util/cracklib-format
util/cracklib-format dicts/cracklib* | util/cracklib-packer $RPM_BUILD_ROOT%{_datadir}/dict/cracklib_dict
+rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}
+
+mv -f $RPM_BUILD_ROOT%{_datadir}/locale/{sl_SI,sl}
+
+%find_lang %{name}
+
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
%doc ChangeLog NEWS README
-%attr(755,root,root) %{_libdir}/libcrack.so.*.*
+%attr(755,root,root) %{_libdir}/libcrack.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcrack.so.2
+%{_datadir}/%{name}
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libcrack.so
%{_libdir}/libcrack.la
-%{_includedir}/*.h
+%{_includedir}/crack.h
+%{_includedir}/packer.h
%files static
%defattr(644,root,root,755)
%files dicts
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/*
-%{_datadir}/dict/cracklib_dict*
+%attr(755,root,root) %{_sbindir}/cracklib-*
+%attr(755,root,root) %{_sbindir}/create-cracklib-dict
+%{_datadir}/dict/cracklib_dict.*
+
+%files -n python-cracklib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/_cracklibmodule.so
+%{python_sitelib}/%{name}.*