1 %bcond_with python2 # Don't build python 2 bindings
2 %bcond_without python3 # Don't build python 3 bindings
8 Summary: Password checking library
9 Summary(es.UTF-8): Biblioteca de chequeo de contraseñas
10 Summary(fr.UTF-8): Bibliothèque de vérification de mots de passe
11 Summary(pl.UTF-8): Biblioteka sprawdzania haseł
12 Summary(pt_BR.UTF-8): Biblioteca de checagem de senhas
13 Summary(ru.UTF-8): Библиотека проверки паролей
14 Summary(tr.UTF-8): Parola denetim kitaplığı
15 Summary(uk.UTF-8): Бібліотека перевірки паролів
21 #Source0Download: https://github.com/cracklib/cracklib/releases
22 Source0: https://github.com/cracklib/cracklib/releases/download/v%{version}/%{name}-%{version}.tar.bz2
23 # Source0-md5: 0d68de25332cee5660850528a385427f
24 # for manuals (note: update when available)
25 Source1: http://ftp.debian.org/debian/pool/main/c/cracklib2/%{name}2_2.9.6-2.debian.tar.xz
26 # Source1-md5: 6af239dbba1fa8ce3ecc0724babe5078
27 Patch0: %{name}-python3.patch
28 URL: https://github.com/cracklib/cracklib
29 BuildRequires: gettext-tools >= 0.17
30 %{?with_python2:BuildRequires: python-devel}
31 %{?with_python2:BuildRequires: python-modules}
32 %{?with_python3:BuildRequires: python3-devel}
33 %{?with_python3:BuildRequires: python3-modules}
34 BuildRequires: rpm-pythonprov
35 BuildRequires: rpmbuild(macros) >= 1.219
36 BuildRequires: tar >= 1:1.22
39 BuildRequires: zlib-devel
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 CrackLib tests passwords to determine whether they match certain
46 security-oriented characteristics. You can use CrackLib to stop users
47 from choosing passwords which would be easy to guess. CrackLib
48 performs certain tests:
50 - It tries to generate words from a username and gecos entry and
51 checks those words against the password;
52 - It checks for simplistic patterns in passwords;
53 - It checks for the password in a dictionary.
55 CrackLib is actually a library containing a particular C function
56 which is used to check the password, as well as other C functions.
57 CrackLib is not a replacement for a passwd program; it must be used in
58 conjunction with an existing passwd program.
60 Install the cracklib package if you need a program to check users'
61 passwords to see if they are at least minimally secure. If you install
62 CrackLib, you'll also want to install the cracklib-dicts package.
64 %description -l de.UTF-8
65 Überprüft Paßwörter auf Sicherheitsmerkmale - Länge, Eindeutigkeit,
66 Anwesenheit in einer Wörter-Datenbank usw.
68 %description -l fr.UTF-8
69 Vérifie les caractéristiques liées à la sécurité des mots de passe -
70 longueur, unicité, s'ils sont dans une base de mots, etc.
72 %description -l pl.UTF-8
73 CrackLib sprawdza hasła pod kątem bezpieczeństwa. Można użyć tej
74 biblioteki do powstrzymywania użytkowników przed wybieraniem haseł
75 łatwych do odgadnięcia. CrackLib przeprowadza następujące testy:
77 - próbuje wygenerować słowa z nazwy użytkownika i wpisu gecos, a
78 następnie porównuje je z hasłem
79 - szuka prostych wzorców w haśle
80 - szuka hasła w słowniku
82 CrackLib to biblioteka zawierająca funkcję C służącą do sprawdzania
83 hasła oraz inne funkcje C. Nie jest to zamiennik programu passwd -
84 musi być użyty w połączeniu z istniejącym programem passwd.
86 %description -l pt_BR.UTF-8
87 Inclui os dicionários cracklib para o padrão /usr/dict/words, assim
88 como os utilitários necessários para criar dicionários.
90 %description -l ru.UTF-8
91 CrackLib проверяет пароли на предмет соответствия некоторым критериям
92 безопасности. Она может быть использована для предотвращения выбора
93 пользователями легкоугадываемых паролей. CrackLib производит такие
96 - Генерирует слова из имени пользователя и поля gecos и сравнивает их
98 - Ищет в паролях простые шаблоны;
99 - Проверяет пароль на наличие его в словаре.
101 CrackLib - это, собственно, библиотека, содержащая специфическую
102 функцию C для угадывания паролей и некоторые другие функции. Это не
103 замена программы passwd, ее надо использовать совместно с существующей
106 %description -l tr.UTF-8
107 Parolaların uzunlukları, sistemde tek olmaları, sözcük veri tabanında
108 bulunmamaları gibi güvenlikle ilgili özelliklerini kontrol eder.
110 %description -l uk.UTF-8
111 CrackLib перевіряє паролі на відповідність деяким критеріям безпеки.
112 Вона може бути використана для запобігання вибору користувачами
113 паролів, які легко відгадати. Вона виконує такі тести:
115 - Генерує слова з імені користувача та поля gecos і порівнює їх з
117 - Шукає в паролях прості шаблони;
118 - Перевіряє паролі на наявність їх у словнику.
120 CrackLib - це, власне, бібліотека, що містить специфічну функцію C для
121 відгадування паролів та деякі інші функції. Це не заміна програми
122 passwd, її треба використовувати спільно з існуючою програмою passwd.
125 Summary: Header files and documentation for cracklib
126 Summary(es.UTF-8): Archivos de inclusión y bibliotecas para cracklib
127 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja dla cracklib
128 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para a cracklib
129 Group: Development/Libraries
130 Requires: %{name} = %{version}-%{release}
133 Header files and documentation for cracklib.
135 %description devel -l es.UTF-8
136 Este paquete contiene los archivos de inclusión y bibliotecas que se
137 necesitan para desarrollar programas que usan cracklib.
139 %description devel -l pl.UTF-8
140 Pliki nagłówkowe i dokumentacja dla cracklib.
142 %description devel -l pt_BR.UTF-8
143 Este pacote contém os arquivos de inclusão e bibliotecas que são
144 necessários para desenvolver programas que usam a cracklib.
147 Summary: Static cracklib library
148 Summary(pl.UTF-8): Statyczna biblioteka cracklib
149 Group: Development/Libraries
150 Requires: %{name}-devel = %{version}-%{release}
153 Static cracklib library.
155 %description static -l pl.UTF-8
156 Statyczna biblioteka cracklib.
158 %package -n python-cracklib
159 Summary: Python binding for cracklib
160 Summary(pl.UTF-8): Wiązanie Pythona do crackliba
161 Group: Libraries/Python
162 Requires: %{name} = %{version}-%{release}
163 %pyrequires_eq python-libs
165 %description -n python-cracklib
166 Python binding for cracklib.
168 %description -n python-cracklib -l pl.UTF-8
169 Wiązanie Pythona do crackliba.
171 %package -n python3-cracklib
172 Summary: Python binding for cracklib
173 Summary(pl.UTF-8): Wiązanie Pythona do crackliba
174 Group: Libraries/Python
175 Requires: %{name} = %{version}-%{release}
176 %pyrequires_eq python-libs
178 %description -n python3-cracklib
179 Python binding for cracklib.
181 %description -n python3-cracklib -l pl.UTF-8
182 Wiązanie Pythona do crackliba.
186 %{?with_python3:%patch0 -p1}
194 --with-default-dict=%{_datadir}/dict/cracklib_dict
198 rm -rf $RPM_BUILD_ROOT
199 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_libdir},%{_includedir},%{_datadir}/dict}
201 DESTDIR=$RPM_BUILD_ROOT
203 install -d $RPM_BUILD_ROOT%{_mandir}/man{3,8}
204 cp -p debian/*.3 $RPM_BUILD_ROOT%{_mandir}/man3
205 cp -p debian/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
207 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/update-cracklib.8*
209 chmod 755 util/cracklib-format
211 util/cracklib-format $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib-small | \
212 util/cracklib-packer $RPM_BUILD_ROOT%{_datadir}/dict/cracklib-small
213 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib-small
216 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.{la,a}
217 %{__rm} $RPM_BUILD_ROOT%{py_sitescriptdir}/test_cracklib.py*
222 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/*.{la,a}
223 %{__rm} $RPM_BUILD_ROOT%{py3_sitescriptdir}/test_cracklib.py*
224 %{__rm} $RPM_BUILD_ROOT%{py3_sitescriptdir}/__pycache__/test_cracklib.*.py*
227 # already in file(1) database
228 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/cracklib.magic
233 rm -rf $RPM_BUILD_ROOT
235 %post -p /sbin/ldconfig
236 %postun -p /sbin/ldconfig
238 %files -f %{name}.lang
239 %defattr(644,root,root,755)
240 %doc AUTHORS NEWS README README-DAWG README-LICENSE README-WORDS
241 %attr(755,root,root) %{_libdir}/libcrack.so.*.*.*
242 %attr(755,root,root) %ghost %{_libdir}/libcrack.so.2
243 %{_datadir}/dict/cracklib-small.*
246 %defattr(644,root,root,755)
247 %attr(755,root,root) %{_sbindir}/cracklib-*
248 %attr(755,root,root) %{_sbindir}/create-cracklib-dict
249 %attr(755,root,root) %{_libdir}/libcrack.so
250 %{_mandir}/man3/FascistCheck.3*
251 %{_mandir}/man8/cracklib-check.8*
252 %{_mandir}/man8/cracklib-format.8*
253 %{_mandir}/man8/create-cracklib-dict.8*
254 %{_libdir}/libcrack.la
255 %{_includedir}/crack.h
256 %{_includedir}/packer.h
259 %defattr(644,root,root,755)
260 %{_libdir}/libcrack.a
263 %files -n python-cracklib
264 %defattr(644,root,root,755)
265 %attr(755,root,root) %{py_sitedir}/_cracklib.so
266 %{py_sitescriptdir}/cracklib.py[co]
270 %files -n python3-cracklib
271 %defattr(644,root,root,755)
272 %attr(755,root,root) %{py3_sitedir}/_cracklib.so
273 %{py3_sitescriptdir}/cracklib.py
274 %{py3_sitescriptdir}/__pycache__/cracklib.*.py[co]