3 %bcond_without initrd # don't build initrd version
4 %bcond_without dietlibc # build initrd version with static glibc instead of dietlibc
6 %define realname cryptsetup
7 Summary: LUKS for dm-crypt implemented in cryptsetup
8 Summary(pl.UTF-8): LUKS dla dm-crypta zaimplementowany w cryptsetup
14 Source0: http://luks.endorphin.org/source/%{realname}-%{version}.tar.bz2
15 # Source0-md5: 00d452eb7a76e39f5749545d48934a10
16 Source1: %{name}-initramfs-root-conf
17 Source2: %{name}-initramfs-root-hook
18 Source3: %{name}-initramfs-root-local-top
19 Source4: %{name}-initramfs-passdev-hook
20 Source5: %{name}-initramfs-README
21 Patch1: %{name}-nostatic.patch
22 Patch2: %{name}-udev.patch
23 URL: http://luks.endorphin.org/
24 BuildRequires: autoconf
25 BuildRequires: automake
26 BuildRequires: device-mapper-devel
27 BuildRequires: gettext-devel
28 BuildRequires: libgcrypt-devel >= 1.1.42
29 BuildRequires: libselinux-devel
30 BuildRequires: libsepol-devel
31 BuildRequires: libtool
32 BuildRequires: libuuid-devel
33 BuildRequires: popt-devel
35 BuildRequires: libgpg-error-static
37 BuildRequires: device-mapper-dietlibc
38 BuildRequires: libgcrypt-dietlibc
39 BuildRequires: libuuid-dietlibc
40 BuildRequires: popt-dietlibc
42 BuildRequires: device-mapper-static >= 1.02.07
43 BuildRequires: libgcrypt-static >= 1.1.42
44 BuildRequires: libselinux-static
45 BuildRequires: libsepol-static
46 BuildRequires: libuuid-static
47 BuildRequires: popt-static
50 Provides: cryptsetup = %{version}
52 Conflicts: udev < 1:118-1
53 Conflicts: udev-core < 1:115
54 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 %define _sbindir /sbin
57 %define _noautoreqdep libcryptsetup.so.0
60 LUKS is the upcoming standard for Linux hard disk encryption. By
61 providing a standard on-disk-format, it does not only facilitate
62 compatibility among distributions, but also provide secure management
63 of multiple user passwords. In contrast to existing solution, LUKS
64 stores all setup necessary setup information in the partition header,
65 enabling the user to transport or migrate his data seamlessly.
67 This package contains implementation of LUKS for dm-crypt implemented
70 %description -l pl.UTF-8
71 LUKS to nadchodzący standard linuksowego szyfrowania twardego dysku.
72 Dostarczając standardowy format danych na dysku nie tylko ułatwia
73 utrzymanie kompatybilności między dystrybucjami, ale także dostarcza
74 bezpieczne zarządzanie wieloma hasłami użytkowników. W przeciwieństwie
75 do istniejącego rozwiązania LUKS przechowuje wszystkie potrzebne
76 informacje o konfiguracji w nagłówku partycji, pozwalając
77 użytkownikowi przenosić lub migrować dane w sposób przezroczysty.
79 Ten pakiet zawiera implementację LUKS dla dm-crytpa zaimplementowaną w
83 Summary: Header files for cryptsetup library
84 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki cryptsetup
85 Group: Development/Libraries
86 Requires: %{name} = %{version}-%{release}
87 Requires: device-mapper-devel
88 Requires: libgcrypt-devel >= 1.1.42
89 Obsoletes: cryptsetup-devel
92 Header files for cryptsetup library.
94 %description devel -l pl.UTF-8
95 Pliki nagłówkowe biblioteki cryptsetup.
98 Summary: Static cryptsetup library
99 Summary(pl.UTF-8): Statyczna biblioteka cryptsetup
100 Group: Development/Libraries
101 Requires: %{name}-devel = %{version}-%{release}
102 Obsoletes: cryptsetup-static
105 Static version of cryptsetup library.
107 %description static -l pl.UTF-8
108 Statyczna wersja biblioteki cryptsetup.
111 Summary: LUKS for dm-crypt implemented in cryptsetup - initrd version
113 Requires: udev-initrd >= 1:115
116 This package contains implementation of LUKS for dm-crypt implemented
117 in cryptsetup - staticaly linked for initrd.
120 Summary: LUKS for dm-crypt implemented in cryptsetup - support scripts for initramfs-tools
121 Summary(pl.UTF-8): LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla initramfs-tools
123 Requires: %{name} = %{version}-%{release}
124 Requires: initramfs-tools
126 %description initramfs
127 LUKS for dm-crypt implemented in cryptsetup - support scripts
130 %description initramfs -l pl.UTF-8
131 LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla
135 %setup -q -n %{realname}-%{version}
139 install %{SOURCE5} README.initramfs
152 CC="diet %{__cc} -Os %{rpmldflags}" \
153 ac_cv_lib_popt_poptConfigFileToString=yes \
154 ac_cv_lib_sepol_sepol_bool_set=no \
155 ac_cv_lib_selinux_is_selinux_enabled=no \
157 --disable-shared-library \
159 --enable-static-cryptsetup \
166 # we have to do it by hand cause libtool "know better" and forces
167 # static libs from /usr/lib
168 diet %{__cc} -Os -I./lib -static -o cryptsetup-initrd src/cryptsetup.c \
169 ./lib/.libs/libcryptsetup.a -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
172 mv src/cryptsetup cryptsetup-initrd
183 rm -rf $RPM_BUILD_ROOT
184 install -d $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{conf-hooks.d,hooks,scripts/local-top}
187 DESTDIR=$RPM_BUILD_ROOT
189 install -d $RPM_BUILD_ROOT/%{_lib}
190 mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
191 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
192 $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
195 install cryptsetup-initrd $RPM_BUILD_ROOT%{_sbindir}
198 install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
199 install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptroot
200 install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/cryptroot
201 install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptpassdev
203 %find_lang %{realname}
206 rm -rf $RPM_BUILD_ROOT
208 %post -p /sbin/ldconfig
209 %postun -p /sbin/ldconfig
211 %files -f %{realname}.lang
212 %defattr(644,root,root,755)
213 %doc AUTHORS ChangeLog TODO
214 %attr(755,root,root) %{_sbindir}/cryptsetup
215 %attr(755,root,root) /%{_lib}/libcryptsetup.so.*.*.*
216 %attr(755,root,root) %ghost /%{_lib}/libcryptsetup.so.0
217 %{_mandir}/man8/cryptsetup.8*
220 %defattr(644,root,root,755)
221 %attr(755,root,root) %{_libdir}/libcryptsetup.so
222 %{_libdir}/libcryptsetup.la
223 %{_includedir}/libcryptsetup.h
226 %defattr(644,root,root,755)
227 %{_libdir}/libcryptsetup.a
231 %defattr(644,root,root,755)
232 %attr(755,root,root) %{_sbindir}/cryptsetup-initrd
236 %defattr(644,root,root,755)
237 %doc README.initramfs
238 %attr(755,root,root) %{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
239 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptroot
240 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptpassdev
241 %attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/cryptroot