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: 318a64470861ea5b92a52f2014f1e7c1
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 cp -a %{SOURCE5} README.initramfs
161 CC="diet ${CC#ccache } %{rpmcflags} %{rpmldflags} -Os" \
162 ac_cv_lib_popt_poptConfigFileToString=yes \
163 ac_cv_lib_sepol_sepol_bool_set=no \
164 ac_cv_lib_selinux_is_selinux_enabled=no \
166 %if "%{?configure_cache}" == "1"
167 --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \
169 --disable-shared-library \
171 --enable-static-cryptsetup \
178 # we have to do it by hand cause libtool "know better" and forces
179 # static libs from /usr/lib
181 diet ${CC#ccache } %{rpmcflags} %{rpmldflags} -Os -I. -I./lib -static \
182 -o cryptsetup-initrd src/cryptsetup.c ./lib/.libs/libcryptsetup.a \
183 -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
186 mv src/cryptsetup cryptsetup-initrd
197 rm -rf $RPM_BUILD_ROOT
198 install -d $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{conf-hooks.d,hooks,scripts/local-top}
201 DESTDIR=$RPM_BUILD_ROOT
203 install -d $RPM_BUILD_ROOT/%{_lib}
204 mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
205 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
206 $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
209 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
210 install -p cryptsetup-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/cryptsetup
213 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
214 install -p %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptroot
215 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/cryptroot
216 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptpassdev
218 %find_lang %{realname}
221 rm -rf $RPM_BUILD_ROOT
223 %post -p /sbin/ldconfig
224 %postun -p /sbin/ldconfig
226 %files -f %{realname}.lang
227 %defattr(644,root,root,755)
228 %doc AUTHORS ChangeLog TODO
229 %attr(755,root,root) %{_sbindir}/cryptsetup
230 %attr(755,root,root) /%{_lib}/libcryptsetup.so.*.*.*
231 %attr(755,root,root) %ghost /%{_lib}/libcryptsetup.so.1
232 %{_mandir}/man8/cryptsetup.8*
235 %defattr(644,root,root,755)
236 %attr(755,root,root) %{_libdir}/libcryptsetup.so
237 %{_libdir}/libcryptsetup.la
238 %{_includedir}/libcryptsetup.h
239 %{_pkgconfigdir}/libcryptsetup.pc
242 %defattr(644,root,root,755)
243 %{_libdir}/libcryptsetup.a
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_libdir}/initrd/cryptsetup
252 %defattr(644,root,root,755)
253 %doc README.initramfs
254 %attr(755,root,root) %{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
255 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptroot
256 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptpassdev
257 %attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/cryptroot