X-Git-Url: http://git.pld-linux.org/?p=packages%2Fcracklib.git;a=blobdiff_plain;f=cracklib.spec;h=b0afa1f95559a997476cf5e19c52868aa2524a49;hp=3f2aeb9a84815da7b437f1c8ba878da3839f51d2;hb=HEAD;hpb=b9438f4279962f14bfa4d146c280ad6ca7e8e89e diff --git a/cracklib.spec b/cracklib.spec index 3f2aeb9..629d50d 100644 --- a/cracklib.spec +++ b/cracklib.spec @@ -1,23 +1,46 @@ +%bcond_with python2 # Don't build python 2 bindings +%bcond_without python3 # Don't build python 3 bindings + +%if %{with python3} +%undefine with_python2 +%endif + 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.7 -Release: 16 -License: Artistic +Version: 2.9.11 +Release: 1 +License: LGPL v2.1+ Group: Libraries -Source0: ftp://coast.cs.purdue.edu/pub/tools/unix/cracklib/%{name}_%{version}.tgz -Patch0: %{name}.patch -Patch1: %{name}-pld.patch -Patch2: %{name}-nss.patch +#Source0Download: https://github.com/cracklib/cracklib/releases +Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/%{name}-%{version}.tar.xz +# Source0-md5: a6dfb1766aab43a54e1cbd78abf0a20a +# for additional manuals (note: update when available) +Source1: http://ftp.debian.org/debian/pool/main/c/cracklib2/%{name}2_2.9.6-5.debian.tar.xz +# Source1-md5: 8aebaa23809f0cbccc84b56ee54e4325 +Patch0: %{name}-python3.patch +URL: https://github.com/cracklib/cracklib +BuildRequires: gettext-tools >= 0.17 +%{?with_python2:BuildRequires: python-devel} +%{?with_python2:BuildRequires: python-modules} +%{?with_python3:BuildRequires: python3-devel} +%{?with_python3:BuildRequires: python3-modules} +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.219 +BuildRequires: tar >= 1:1.22 BuildRequires: words +BuildRequires: xz +BuildRequires: zlib-devel 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 @@ -38,157 +61,170 @@ Install the cracklib package if you need a program to check users' 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 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 проверяет пароли на предмет соответствия некоторым критериям +безопасности. Она может быть использована для предотвращения выбора +пользователями легкоугадываемых паролей. CrackLib производит такие +тесты: + +- Генерирует слова из имени пользователя и поля gecos и сравнивает их + с паролем; +- Ищет в паролях простые шаблоны; +- Проверяет пароль на наличие его в словаре. + +CrackLib - это, собственно, библиотека, содержащая специфическую +функцию C для угадывания паролей и некоторые другие функции. Это не +замена программы passwd, ее надо использовать совместно с существующей +программой 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 перевіряє паролі на відповідність деяким критеріям безпеки. +Вона може бути використана для запобігання вибору користувачами +паролів, які легко відгадати. Вона виконує такі тести: + +- Генерує слова з імені користувача та поля gecos і порівнює їх з + паролем; +- Шукає в паролях прості шаблони; +- Перевіряє паролі на наявність їх у словнику. + +CrackLib - це, власне, бібліотека, що містить специфічну функцію C для +відгадування паролів та деякі інші функції. Це не заміна програми +passwd, її треба використовувати спільно з існуючою програмою passwd. -%description -l es -Incluye los diccionarios cracklib para el padrón /usr/dict/words, así -como, los utilitarios necesarios para crear diccionarios. +%package devel +Summary: Header files and documentation for 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 -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 devel +Header files and documentation for cracklib. -%description -l pl -Sprawdza has³a pod k±tem bezpieczeñstwa - d³ugo¶æ, unikalno¶æ, czy -wystêpuj± w s³owniu itp. +%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 -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 devel -l pl.UTF-8 +Pliki nagłówkowe i dokumentacja dla cracklib. -%description -l ru -CrackLib ÐÒÏ×ÅÒÑÅÔ ÐÁÒÏÌÉ ÎÁ ÐÒÅÄÍÅÔ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÎÅËÏÔÏÒÙÍ ËÒÉÔÅÒÉÑÍ -ÂÅÚÏÐÁÓÎÏÓÔÉ. ïÎÁ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ×ÙÂÏÒÁ -ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ ÌÅÇËÏÕÇÁÄÙ×ÁÅÍÙÈ ÐÁÒÏÌÅÊ. 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. -- çÅÎÅÒÉÒÕÅÔ ÓÌÏ×Á ÉÚ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÏÌÑ gecos É ÓÒÁ×ÎÉ×ÁÅÔ ÉÈ - Ó ÐÁÒÏÌÅÍ; -- éÝÅÔ × ÐÁÒÏÌÑÈ ÐÒÏÓÔÙÅ ÛÁÂÌÏÎÙ; -- ðÒÏ×ÅÒÑÅÔ ÐÁÒÏÌØ ÎÁ ÎÁÌÉÞÉÅ ÅÇÏ × ÓÌÏ×ÁÒÅ. +%package static +Summary: Static cracklib library +Summary(pl.UTF-8): Statyczna biblioteka cracklib +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} -CrackLib - ÜÔÏ, ÓÏÂÓÔ×ÅÎÎÏ, ÂÉÂÌÉÏÔÅËÁ, ÓÏÄÅÒÖÁÝÁÑ ÓÐÅÃÉÆÉÞÅÓËÕÀ -ÆÕÎËÃÉÀ C ÄÌÑ ÕÇÁÄÙ×ÁÎÉÑ ÐÁÒÏÌÅÊ É ÎÅËÏÔÏÒÙÅ ÄÒÕÇÉÅ ÆÕÎËÃÉÉ. üÔÏ ÎÅ -ÚÁÍÅÎÁ ÐÒÏÇÒÁÍÍÙ passwd, ÅÅ ÎÁÄÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏ×ÍÅÓÔÎÏ Ó ÓÕÝÅÓÔ×ÕÀÝÅÊ -ÐÒÏÇÒÁÍÍÏÊ passwd. +%description static +Static cracklib library. -%description -l tr -Parolalarýn uzunluklarý, sistemde tek olmalarý, sözcük veri tabanýnda -bulunmamalarý gibi güvenlikle ilgili özelliklerini kontrol eder. +%description static -l pl.UTF-8 +Statyczna biblioteka cracklib. -%description -l uk -CrackLib ÐÅÒÅצÒѤ ÐÁÒÏ̦ ÎÁ צÄÐÏצÄΦÓÔØ ÄÅÑËÉÍ ËÒÉÔÅÒ¦ÑÍ ÂÅÚÐÅËÉ. -÷ÏÎÁ ÍÏÖÅ ÂÕÔÉ ×ÉËÏÒÉÓÔÁÎÁ ÄÌÑ ÚÁÐϦÇÁÎÎÑ ×ÉÂÏÒÕ ËÏÒÉÓÔÕ×ÁÞÁÍÉ -ÐÁÒÏ̦×, Ñ˦ ÌÅÇËÏ ×¦ÄÇÁÄÁÔÉ. ÷ÏÎÁ ×ÉËÏÎÕ¤ ÔÁ˦ ÔÅÓÔÉ: +%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 -- çÅÎÅÒÕ¤ ÓÌÏ×Á Ú ¦ÍÅΦ ËÏÒÉÓÔÕ×ÁÞÁ ÔÁ ÐÏÌÑ gecos ¦ ÐÏÒ¦×ÎÀ¤ §È Ú - ÐÁÒÏÌÅÍ; -- ûÕËÁ¤ × ÐÁÒÏÌÑÈ ÐÒÏÓÔ¦ ÛÁÂÌÏÎÉ; -- ðÅÒÅצÒѤ ÐÁÒÏ̦ ÎÁ ÎÁÑ×ΦÓÔØ §È Õ ÓÌÏ×ÎÉËÕ. +%description -n python-cracklib +Python binding for cracklib. -CrackLib - ÃÅ, ×ÌÁÓÎÅ, ¦Â̦ÏÔÅËÁ, ÝÏ Í¦ÓÔÉÔØ ÓÐÅÃÉƦÞÎÕ ÆÕÎËæÀ C ÄÌÑ -צÄÇÁÄÕ×ÁÎÎÑ ÐÁÒÏÌ¦× ÔÁ ÄÅÑ˦ ¦ÎÛ¦ ÆÕÎËæ§. ãÅ ÎÅ ÚÁͦÎÁ ÐÒÏÇÒÁÍÉ -passwd, §§ ÔÒÅÂÁ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÓЦÌØÎÏ Ú ¦ÓÎÕÀÞÏÀ ÐÒÏÇÒÁÍÏÀ passwd. +%description -n python-cracklib -l pl.UTF-8 +Wiązanie Pythona do crackliba. -%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 -Group: Development/Libraries -Requires: %{name} = %{version} +%package -n python3-cracklib +Summary: Python binding for cracklib +Summary(pl.UTF-8): Wiązanie Pythona do crackliba +Group: Libraries/Python +Requires: %{name} = %{version}-%{release} +%pyrequires_eq python3-libs -%description devel -Header files and documentation for cracklib. - -%description devel -l es -Este paquete contiene los archivos de inclusión y bibliotecas que se -necesitan para desarrollar programas que usan cracklib. +%description -n python3-cracklib +Python binding for cracklib. -%description devel -l pl -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. - -%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 -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 -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/dict/words, bien -como utilitarios necesarios a creación de nuevos diccionarios. - -%description dicts -l fr -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 -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 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 dicts -l uk -ðÁËÅÔ cracklib-dicts ͦÓÔÉÔØ ÓÌÏ×ÎÉËÉ CrackLib. CrackLib ÂÕÄÕÔØ -ÐÏÔÒ¦ÂΦ ÓÌÏ×ÎÉËÉ, ÝÏ ×¦ÄÐÏצÄÁÀÔØ ×ÁÛ¦Ê ÓÉÓÔÅͦ, ËÏÔÒ¦ ÚÁÚ×ÉÞÁÊ -ÚÎÁÈÏÄÑÔØÓÑ × /usr/share/dict/words. Cracklib-dicts ÔÁËÏÖ Í¦ÓÔÉÔØ -ÕÔÉ̦ÔÉ, ÎÅÏÂȦÄΦ ÄÌÑ ÓÔ×ÏÒÅÎÎÑ ÎÏ×ÉÈ ÓÌÏ×ÎÉ˦×. +%description -n python3-cracklib -l pl.UTF-8 +Wiązanie Pythona do crackliba. %prep -%setup -q -n %{name},%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 +%setup -q -a1 +%{?with_python3:%patch0 -p1} %build -%{__make} all \ - CC="%{__cc}" \ - OPTFLAGS="%{rpmcflags}" +%{__aclocal} +%{__autoconf} +%{__autoheader} +%{__automake} +%configure \ + --with-default-dict=%{_datadir}/dict/cracklib_dict +%{__make} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_sbindir},%{_libdir},%{_includedir},%{_datadir}/dict} %{__make} install \ - ROOT=$RPM_BUILD_ROOT + DESTDIR=$RPM_BUILD_ROOT + +cp -p debian/create-cracklib-dict.8 $RPM_BUILD_ROOT%{_mandir}/man8 + +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} $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib-small + +%if %{with python2} +%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a} +%{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/test_cracklib.py* +%py_postclean +%endif -install cracklib/packer.h $RPM_BUILD_ROOT%{_includedir} +%if %{with python3} +%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/*.{la,a} +%{__rm} $RPM_BUILD_ROOT%{py3_sitescriptdir}/test_cracklib.py* +%{__rm} $RPM_BUILD_ROOT%{py3_sitescriptdir}/__pycache__/test_cracklib.*.py* +%endif + +# already in file(1) database +%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib.magic + +%find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT @@ -196,18 +232,42 @@ rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%files +%files -f %{name}.lang %defattr(644,root,root,755) -%doc README MANIFEST LICENCE POSTER HISTORY - -%attr(755,root,root) %{_libdir}/lib*so.* +%doc AUTHORS NEWS README README-DAWG README-LICENSE README-WORDS +%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) %{_libdir}/lib*.so -%{_includedir}/* +%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/cracklib-update.8* +%{_mandir}/man8/create-cracklib-dict.8* +%{_libdir}/libcrack.la +%{_includedir}/crack.h +%{_includedir}/packer.h + +%files static +%defattr(644,root,root,755) +%{_libdir}/libcrack.a + +%if %{with python2} +%files -n python-cracklib +%defattr(644,root,root,755) +%attr(755,root,root) %{py_sitedir}/_cracklib.so +%{py_sitescriptdir}/cracklib.py[co] +%endif -%files dicts +%if %{with python3} +%files -n python3-cracklib %defattr(644,root,root,755) -%attr(755,root,root) %{_sbindir}/* -%{_datadir}/dict/cracklib_dict* +%attr(755,root,root) %{py3_sitedir}/_cracklib.so +%{py3_sitescriptdir}/cracklib.py +%{py3_sitescriptdir}/__pycache__/cracklib.*.py[co] +%endif