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://cryptsetup.googlecode.com/files/%{realname}-%{version}.tar.bz2
15 # Source0-md5: f3928c1f1d49fcee39bb1e8d42fe707a
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 Patch0: %{name}-nostatic.patch
22 Patch1: %{name}-diet.patch
23 URL: http://code.google.com/p/cryptsetup/
24 BuildRequires: autoconf >= 2.57
25 BuildRequires: automake
26 BuildRequires: device-mapper-devel >= 1.02.03
27 BuildRequires: gettext-devel >= 0.15
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 >= 1.7
35 BuildRequires: libgpg-error-static
37 BuildRequires: device-mapper-dietlibc
38 BuildRequires: dietlibc-static
39 BuildRequires: libgcrypt-dietlibc
40 BuildRequires: libuuid-dietlibc
41 BuildRequires: popt-dietlibc
43 BuildRequires: device-mapper-static >= 1.02.07
44 BuildRequires: libgcrypt-static >= 1.1.42
45 BuildRequires: libselinux-static
46 BuildRequires: libsepol-static
47 BuildRequires: libuuid-static
48 BuildRequires: popt-static
52 Provides: cryptsetup = %{version}
54 Conflicts: udev < 1:118-1
55 Conflicts: udev-core < 1:115
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 %define _sbindir /sbin
61 LUKS is the upcoming standard for Linux hard disk encryption. By
62 providing a standard on-disk-format, it does not only facilitate
63 compatibility among distributions, but also provide secure management
64 of multiple user passwords. In contrast to existing solution, LUKS
65 stores all setup necessary setup information in the partition header,
66 enabling the user to transport or migrate his data seamlessly.
68 This package contains implementation of LUKS for dm-crypt implemented
71 %description -l pl.UTF-8
72 LUKS to nadchodzący standard linuksowego szyfrowania twardego dysku.
73 Dostarczając standardowy format danych na dysku nie tylko ułatwia
74 utrzymanie kompatybilności między dystrybucjami, ale także dostarcza
75 bezpieczne zarządzanie wieloma hasłami użytkowników. W przeciwieństwie
76 do istniejącego rozwiązania LUKS przechowuje wszystkie potrzebne
77 informacje o konfiguracji w nagłówku partycji, pozwalając
78 użytkownikowi przenosić lub migrować dane w sposób przezroczysty.
80 Ten pakiet zawiera implementację LUKS dla dm-crytpa zaimplementowaną w
84 Summary: Header files for cryptsetup library
85 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki cryptsetup
86 Group: Development/Libraries
87 Requires: %{name} = %{version}-%{release}
88 Requires: device-mapper-devel
89 Requires: libgcrypt-devel >= 1.1.42
90 Obsoletes: cryptsetup-devel
93 Header files for cryptsetup library.
95 %description devel -l pl.UTF-8
96 Pliki nagłówkowe biblioteki cryptsetup.
99 Summary: Static cryptsetup library
100 Summary(pl.UTF-8): Statyczna biblioteka cryptsetup
101 Group: Development/Libraries
102 Requires: %{name}-devel = %{version}-%{release}
103 Obsoletes: cryptsetup-static
106 Static version of cryptsetup library.
108 %description static -l pl.UTF-8
109 Statyczna wersja biblioteki cryptsetup.
112 Summary: LUKS for dm-crypt implemented in cryptsetup - initrd version
113 Summary(pl.UTF-8): LUKS dla dm-crypta zaimplementowany w cryptsetup - wersja initrd
115 Requires: udev-initrd >= 1:115
116 Conflicts: geninitrd < 10000.10
119 This package contains implementation of LUKS for dm-crypt implemented
120 in cryptsetup - statically linked for initrd.
122 %description initrd -l pl.UTF-8
123 Ten pakiet zawiera implementację LUKS dla dm-crypta zaimplementowaną
124 w cryptsetup - wersję statycznie zlinkowaną dla initrd.
127 Summary: LUKS for dm-crypt implemented in cryptsetup - support scripts for initramfs-tools
128 Summary(pl.UTF-8): LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla initramfs-tools
130 Requires: %{name} = %{version}-%{release}
131 Requires: initramfs-tools
133 %description initramfs
134 LUKS for dm-crypt implemented in cryptsetup - support scripts
137 %description initramfs -l pl.UTF-8
138 LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla
142 %setup -q -n %{realname}-%{version}
146 install %{SOURCE5} README.initramfs
159 CC="diet %{__cc} %{rpmcflags} %{rpmldflags} -Os" \
160 ac_cv_lib_popt_poptConfigFileToString=yes \
161 ac_cv_lib_sepol_sepol_bool_set=no \
162 ac_cv_lib_selinux_is_selinux_enabled=no \
164 --disable-shared-library \
166 --enable-static-cryptsetup \
173 # we have to do it by hand cause libtool "know better" and forces
174 # static libs from /usr/lib
175 diet %{__cc} %{rpmcflags} %{rpmldflags} -Os -I. -I./lib -static \
176 -o cryptsetup-initrd src/cryptsetup.c ./lib/.libs/libcryptsetup.a \
177 -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
180 mv src/cryptsetup cryptsetup-initrd
191 rm -rf $RPM_BUILD_ROOT
192 install -d $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{conf-hooks.d,hooks,scripts/local-top}
195 DESTDIR=$RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT/%{_lib}
198 mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
199 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
200 $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
203 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
204 install cryptsetup-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/cryptsetup
207 install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
208 install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptroot
209 install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/cryptroot
210 install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptpassdev
212 %find_lang %{realname}
215 rm -rf $RPM_BUILD_ROOT
217 %post -p /sbin/ldconfig
218 %postun -p /sbin/ldconfig
220 %files -f %{realname}.lang
221 %defattr(644,root,root,755)
222 %doc AUTHORS ChangeLog TODO
223 %attr(755,root,root) %{_sbindir}/cryptsetup
224 %attr(755,root,root) /%{_lib}/libcryptsetup.so.*.*.*
225 %attr(755,root,root) %ghost /%{_lib}/libcryptsetup.so.1
226 %{_mandir}/man8/cryptsetup.8*
229 %defattr(644,root,root,755)
230 %attr(755,root,root) %{_libdir}/libcryptsetup.so
231 %{_libdir}/libcryptsetup.la
232 %{_includedir}/libcryptsetup.h
233 %{_pkgconfigdir}/libcryptsetup.pc
236 %defattr(644,root,root,755)
237 %{_libdir}/libcryptsetup.a
241 %defattr(644,root,root,755)
242 %attr(755,root,root) %{_libdir}/initrd/cryptsetup
246 %defattr(644,root,root,755)
247 %doc README.initramfs
248 %attr(755,root,root) %{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
249 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptroot
250 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptpassdev
251 %attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/cryptroot