3 %bcond_with initrd # don't build initrd version
4 %bcond_with dietlibc # build initrd version with static glibc instead of dietlibc
5 %bcond_with pwquality # password quality checking
6 %bcond_without python # Python binding
7 %bcond_without tests # "make check" run
9 Summary: LUKS for dm-crypt implemented in cryptsetup
10 Summary(pl.UTF-8): LUKS dla dm-crypta zaimplementowany w cryptsetup
16 # Source0Download: http://code.google.com/p/cryptsetup/downloads/list
17 Source0: http://cryptsetup.googlecode.com/files/%{name}-%{version}.tar.bz2
18 # Source0-md5: a7aeb549a543eeac433eadfb6bc67837
20 URL: http://code.google.com/p/cryptsetup/
21 BuildRequires: autoconf >= 2.67
22 BuildRequires: automake >= 1:1.12
23 BuildRequires: device-mapper-devel >= 1.02.27
24 BuildRequires: gettext-devel >= 0.15
25 BuildRequires: libgcrypt-devel >= 1.6.0
26 BuildRequires: libgpg-error-devel
27 %{?with_pwquality:BuildRequires: libpwquality-devel >= 1.0.0}
28 BuildRequires: libselinux-devel
29 BuildRequires: libsepol-devel
30 BuildRequires: libtool >= 2:2.0
31 BuildRequires: libuuid-devel
32 BuildRequires: pkgconfig
33 BuildRequires: popt-devel >= 1.7
35 BuildRequires: python-devel >= 1:2.4
36 BuildRequires: rpm-pythonprov
39 BuildRequires: libgpg-error-static
41 BuildRequires: device-mapper-dietlibc >= 1.02.27
42 BuildRequires: dietlibc-static
43 BuildRequires: libgcrypt-dietlibc >= 1.6.0
44 BuildRequires: libuuid-dietlibc
45 BuildRequires: popt-dietlibc
47 BuildRequires: device-mapper-static >= 1.02.27
48 BuildRequires: libgcrypt-static >= 1.6.0
49 BuildRequires: libselinux-static
50 BuildRequires: libsepol-static
51 BuildRequires: libuuid-static
52 BuildRequires: popt-static
53 BuildRequires: udev-static
56 Requires: libgcrypt >= 1.6.0
57 %{?with_pwquality:Requires: libpwquality >= 1.0.0}
59 Provides: cryptsetup-luks = %{version}-%{release}
60 Obsoletes: cryptsetup-luks < 1.4.1-2
61 %{!?with_initrd:Obsoletes: cryptsetup-initrd < %{version}-%{release}}
62 Conflicts: udev < 1:118-1
63 Conflicts: udev-core < 1:115
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 %define _sbindir /sbin
69 LUKS is the upcoming standard for Linux hard disk encryption. By
70 providing a standard on-disk-format, it does not only facilitate
71 compatibility among distributions, but also provide secure management
72 of multiple user passwords. In contrast to existing solution, LUKS
73 stores all setup necessary setup information in the partition header,
74 enabling the user to transport or migrate his data seamlessly.
76 This package contains implementation of LUKS for dm-crypt implemented
79 %description -l pl.UTF-8
80 LUKS to nadchodzący standard linuksowego szyfrowania twardego dysku.
81 Dostarczając standardowy format danych na dysku nie tylko ułatwia
82 utrzymanie kompatybilności między dystrybucjami, ale także dostarcza
83 bezpieczne zarządzanie wieloma hasłami użytkowników. W przeciwieństwie
84 do istniejącego rozwiązania LUKS przechowuje wszystkie potrzebne
85 informacje o konfiguracji w nagłówku partycji, pozwalając
86 użytkownikowi przenosić lub migrować dane w sposób przezroczysty.
88 Ten pakiet zawiera implementację LUKS dla dm-crytpa zaimplementowaną w
92 Summary: Header files for cryptsetup library
93 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki cryptsetup
94 Group: Development/Libraries
95 Requires: %{name} = %{version}-%{release}
96 Requires: device-mapper-devel >= 1.02.27
97 Requires: libgcrypt-devel >= 1.6.0
98 Provides: cryptsetup-luks-devel = %{version}-%{release}
99 Obsoletes: cryptsetup-luks-devel < 1.4.1-2
102 Header files for cryptsetup library.
104 %description devel -l pl.UTF-8
105 Pliki nagłówkowe biblioteki cryptsetup.
108 Summary: Static cryptsetup library
109 Summary(pl.UTF-8): Statyczna biblioteka cryptsetup
110 Group: Development/Libraries
111 Requires: %{name}-devel = %{version}-%{release}
112 Provides: cryptsetup-luks-static = %{version}-%{release}
113 Obsoletes: cryptsetup-luks-static < 1.4.1-2
116 Static version of cryptsetup library.
118 %description static -l pl.UTF-8
119 Statyczna wersja biblioteki cryptsetup.
121 %package -n python-pycryptsetup
122 Summary: Python binding for cryptsetup library
123 Summary(pl.UTF-8): Wiązanie Pythona do biblioteki cryptsetup
124 Group: Libraries/Python
125 Requires: %{name} = %{version}-%{release}
126 %pyrequires_eq python-libs
128 %description -n python-pycryptsetup
129 Python binding for cryptsetup library.
131 %description -n python-pycryptsetup -l pl.UTF-8
132 Wiązanie Pythona do biblioteki cryptsetup.
135 Summary: LUKS for dm-crypt implemented in cryptsetup - initrd version
136 Summary(pl.UTF-8): LUKS dla dm-crypta zaimplementowany w cryptsetup - wersja initrd
138 Requires: udev-initrd >= 1:115
139 Provides: cryptsetup-luks-initrd = %{version}-%{release}
140 Obsoletes: cryptsetup-luks-initrd < 1.4.1-2
141 Conflicts: geninitrd < 10000.10
144 This package contains implementation of LUKS for dm-crypt implemented
145 in cryptsetup - statically linked for initrd.
147 %description initrd -l pl.UTF-8
148 Ten pakiet zawiera implementację LUKS dla dm-crypta zaimplementowaną w
149 cryptsetup - wersję statycznie zlinkowaną dla initrd.
153 %{?with_diet:%patch0 -p1}
169 CC="diet ${CC#ccache } %{rpmcppflags} %{rpmcflags} %{rpmldflags} -Os" \
171 ac_cv_lib_popt_poptConfigFileToString=yes \
172 ac_cv_lib_sepol_sepol_bool_set=no \
173 ac_cv_lib_selinux_is_selinux_enabled=no \
175 %if "%{?configure_cache}" == "1"
176 --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \
181 --enable-static-cryptsetup
186 # we have to do it by hand cause libtool "know better" and forces
187 # static libs from /usr/lib
189 diet ${CC#ccache } %{rpmcppflags} %{rpmcflags} %{rpmldflags} -Os -I. -I./lib -static \
190 -o cryptsetup-initrd src/cryptsetup.c ./lib/.libs/libcryptsetup.a \
191 -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
194 mv src/cryptsetup cryptsetup-initrd
203 %{?with_python:--enable-python} \
204 %{?with_pwquality:--with-pwquality}
207 %{?with_tests:%{__make} check}
210 rm -rf $RPM_BUILD_ROOT
213 DESTDIR=$RPM_BUILD_ROOT
215 install -d $RPM_BUILD_ROOT/%{_lib}
216 mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
217 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
218 $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
221 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
222 install -p cryptsetup-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/cryptsetup
225 %{?with_python:%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/pycryptsetup.la}
230 rm -rf $RPM_BUILD_ROOT
232 %post -p /sbin/ldconfig
233 %postun -p /sbin/ldconfig
235 %files -f %{name}.lang
236 %defattr(644,root,root,755)
237 %doc AUTHORS ChangeLog FAQ README TODO docs/{ChangeLog.old,v*-ReleaseNotes,on-disk-format.pdf}
238 %attr(755,root,root) %{_sbindir}/cryptsetup
239 %attr(755,root,root) %{_sbindir}/veritysetup
240 %attr(755,root,root) /%{_lib}/libcryptsetup.so.*.*.*
241 %attr(755,root,root) %ghost /%{_lib}/libcryptsetup.so.4
242 %{_mandir}/man8/cryptsetup.8*
243 %{_mandir}/man8/veritysetup.8*
246 %defattr(644,root,root,755)
247 %attr(755,root,root) %{_libdir}/libcryptsetup.so
248 %{_libdir}/libcryptsetup.la
249 %{_includedir}/libcryptsetup.h
250 %{_pkgconfigdir}/libcryptsetup.pc
253 %defattr(644,root,root,755)
254 %{_libdir}/libcryptsetup.a
257 %files -n python-pycryptsetup
258 %defattr(644,root,root,755)
259 %attr(755,root,root) %{py_sitedir}/pycryptsetup.so
264 %defattr(644,root,root,755)
265 %attr(755,root,root) %{_libdir}/initrd/cryptsetup