]> git.pld-linux.org Git - packages/cryptsetup.git/blob - cryptsetup.spec
8ed6655bea24e5bd8cd3bd78c4b0a3e72558e0a0
[packages/cryptsetup.git] / cryptsetup.spec
1 #
2 # Conditonal build:
3 %bcond_without  initrd          # don't build initrd version
4 %bcond_without  dietlibc        # build initrd version with static glibc instead of dietlibc
5
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
9 Name:           cryptsetup-luks
10 Version:        1.4.0
11 Release:        1
12 License:        GPL v2
13 Group:          Base
14 #Source0Download: http://code.google.com/p/cryptsetup/downloads/list
15 Source0:        http://cryptsetup.googlecode.com/files/%{realname}-%{version}.tar.bz2
16 # Source0-md5:  4328641ba4532c229526c6ef282e5286
17 Source1:        %{name}-initramfs-root-conf
18 Source2:        %{name}-initramfs-root-hook
19 Source3:        %{name}-initramfs-root-local-top
20 Source4:        %{name}-initramfs-passdev-hook
21 Source5:        %{name}-initramfs-README
22 Patch0:         %{name}-diet.patch
23 Patch1:         %{name}-dont-drag-more-libs.patch
24 URL:            http://code.google.com/p/cryptsetup/
25 BuildRequires:  autoconf >= 2.67
26 BuildRequires:  automake
27 BuildRequires:  device-mapper-devel >= 1.02.03
28 BuildRequires:  gettext-devel >= 0.15
29 BuildRequires:  libgcrypt-devel >= 1.1.42
30 BuildRequires:  libselinux-devel
31 BuildRequires:  libsepol-devel
32 BuildRequires:  libtool >= 2:2.0
33 BuildRequires:  libuuid-devel
34 BuildRequires:  popt-devel >= 1.7
35 %if %{with initrd}
36 BuildRequires:  libgpg-error-static
37         %if %{with dietlibc}
38 BuildRequires:  device-mapper-dietlibc
39 BuildRequires:  dietlibc-static
40 BuildRequires:  libgcrypt-dietlibc
41 BuildRequires:  libuuid-dietlibc
42 BuildRequires:  popt-dietlibc
43         %else
44 BuildRequires:  device-mapper-static >= 1.02.07
45 BuildRequires:  libgcrypt-static >= 1.1.42
46 BuildRequires:  libselinux-static
47 BuildRequires:  libsepol-static
48 BuildRequires:  libuuid-static
49 BuildRequires:  popt-static
50         %endif
51 %endif
52 Requires:       popt >= 1.7
53 Provides:       cryptsetup = %{version}
54 Obsoletes:      cryptsetup
55 Conflicts:      udev < 1:118-1
56 Conflicts:      udev-core < 1:115
57 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58
59 %define         _sbindir        /sbin
60
61 %description
62 LUKS is the upcoming standard for Linux hard disk encryption. By
63 providing a standard on-disk-format, it does not only facilitate
64 compatibility among distributions, but also provide secure management
65 of multiple user passwords. In contrast to existing solution, LUKS
66 stores all setup necessary setup information in the partition header,
67 enabling the user to transport or migrate his data seamlessly.
68
69 This package contains implementation of LUKS for dm-crypt implemented
70 in cryptsetup.
71
72 %description -l pl.UTF-8
73 LUKS to nadchodzący standard linuksowego szyfrowania twardego dysku.
74 Dostarczając standardowy format danych na dysku nie tylko ułatwia
75 utrzymanie kompatybilności między dystrybucjami, ale także dostarcza
76 bezpieczne zarządzanie wieloma hasłami użytkowników. W przeciwieństwie
77 do istniejącego rozwiązania LUKS przechowuje wszystkie potrzebne
78 informacje o konfiguracji w nagłówku partycji, pozwalając
79 użytkownikowi przenosić lub migrować dane w sposób przezroczysty.
80
81 Ten pakiet zawiera implementację LUKS dla dm-crytpa zaimplementowaną w
82 cryptsetup.
83
84 %package devel
85 Summary:        Header files for cryptsetup library
86 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki cryptsetup
87 Group:          Development/Libraries
88 Requires:       %{name} = %{version}-%{release}
89 Requires:       device-mapper-devel
90 Requires:       libgcrypt-devel >= 1.1.42
91 Obsoletes:      cryptsetup-devel
92
93 %description devel
94 Header files for cryptsetup library.
95
96 %description devel -l pl.UTF-8
97 Pliki nagłówkowe biblioteki cryptsetup.
98
99 %package static
100 Summary:        Static cryptsetup library
101 Summary(pl.UTF-8):      Statyczna biblioteka cryptsetup
102 Group:          Development/Libraries
103 Requires:       %{name}-devel = %{version}-%{release}
104 Obsoletes:      cryptsetup-static
105
106 %description static
107 Static version of cryptsetup library.
108
109 %description static -l pl.UTF-8
110 Statyczna wersja biblioteki cryptsetup.
111
112 %package initrd
113 Summary:        LUKS for dm-crypt implemented in cryptsetup - initrd version
114 Summary(pl.UTF-8):      LUKS dla dm-crypta zaimplementowany w cryptsetup - wersja initrd
115 Group:          Base
116 Requires:       udev-initrd >= 1:115
117 Conflicts:      geninitrd < 10000.10
118
119 %description initrd
120 This package contains implementation of LUKS for dm-crypt implemented
121 in cryptsetup - statically linked for initrd.
122
123 %description initrd -l pl.UTF-8
124 Ten pakiet zawiera implementację LUKS dla dm-crypta zaimplementowaną
125 w cryptsetup - wersję statycznie zlinkowaną dla initrd.
126
127 %package initramfs
128 Summary:        LUKS for dm-crypt implemented in cryptsetup - support scripts for initramfs-tools
129 Summary(pl.UTF-8):      LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla initramfs-tools
130 Group:          Base
131 Requires:       %{name} = %{version}-%{release}
132 Requires:       initramfs-tools
133
134 %description initramfs
135 LUKS for dm-crypt implemented in cryptsetup - support scripts
136 for initramfs-tools.
137
138 %description initramfs -l pl.UTF-8
139 LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla
140 initramfs-tools.
141
142 %prep
143 %setup -q -n %{realname}-%{version}
144 %patch0 -p1
145 %patch1 -p1
146
147 cp -a %{SOURCE5} README.initramfs
148
149 %{__rm} po/stamp-po
150
151 %build
152 %{__gettextize}
153 %{__libtoolize}
154 %{__aclocal} -I m4
155 %{__autoconf}
156 %{__autoheader}
157 %{__automake}
158
159 %if %{with initrd}
160 CC="%{__cc}"
161 %configure \
162 %if %{with dietlibc}
163 %configure \
164         CC="diet ${CC#ccache } %{rpmcppflags} %{rpmcflags} %{rpmldflags} -Os" \
165         LIBS="-lcompat" \
166         ac_cv_lib_popt_poptConfigFileToString=yes \
167         ac_cv_lib_sepol_sepol_bool_set=no \
168         ac_cv_lib_selinux_is_selinux_enabled=no \
169 %endif
170 %if "%{?configure_cache}" == "1"
171         --cache-file=%{?configure_cache_file}%{!?configure_cache_file:configure}-initrd.cache \
172 %endif
173         --disable-shared \
174         --enable-static \
175         --enable-static-cryptsetup \
176         --disable-udev \
177         --disable-nls
178
179 %{__make} -C lib
180
181 %if %{with dietlibc}
182 # we have to do it by hand cause libtool "know better" and forces
183 # static libs from /usr/lib
184 CC="%{__cc}"
185 diet ${CC#ccache } %{rpmcppflags} %{rpmcflags} %{rpmldflags} -Os -I. -I./lib -static \
186         -o cryptsetup-initrd src/cryptsetup.c ./lib/.libs/libcryptsetup.a \
187         -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
188 %else
189 %{__make} -C src
190 mv src/cryptsetup cryptsetup-initrd
191 %endif
192
193 %{__make} clean
194 %endif
195
196 %configure \
197         --enable-udev \
198         --enable-static
199 %{__make}
200
201 %install
202 rm -rf $RPM_BUILD_ROOT
203 install -d $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{conf-hooks.d,hooks,scripts/local-top}
204
205 %{__make} install \
206         DESTDIR=$RPM_BUILD_ROOT
207
208 install -d $RPM_BUILD_ROOT/%{_lib}
209 mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
210 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
211         $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
212
213 %if %{with initrd}
214 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
215 install -p cryptsetup-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/cryptsetup
216 %endif
217
218 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
219 install -p %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptroot
220 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/cryptroot
221 install -p %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptpassdev
222
223 %find_lang %{realname}
224
225 %clean
226 rm -rf $RPM_BUILD_ROOT
227
228 %post   -p /sbin/ldconfig
229 %postun -p /sbin/ldconfig
230
231 %files -f %{realname}.lang
232 %defattr(644,root,root,755)
233 %doc AUTHORS ChangeLog TODO
234 %attr(755,root,root) %{_sbindir}/cryptsetup
235 %attr(755,root,root) /%{_lib}/libcryptsetup.so.*.*.*
236 %attr(755,root,root) %ghost /%{_lib}/libcryptsetup.so.4
237 %{_mandir}/man8/cryptsetup.8*
238
239 %files devel
240 %defattr(644,root,root,755)
241 %attr(755,root,root) %{_libdir}/libcryptsetup.so
242 %{_libdir}/libcryptsetup.la
243 %{_includedir}/libcryptsetup.h
244 %{_pkgconfigdir}/libcryptsetup.pc
245
246 %files static
247 %defattr(644,root,root,755)
248 %{_libdir}/libcryptsetup.a
249
250 %if %{with initrd}
251 %files initrd
252 %defattr(644,root,root,755)
253 %attr(755,root,root) %{_libdir}/initrd/cryptsetup
254 %endif
255
256 %files initramfs
257 %defattr(644,root,root,755)
258 %doc README.initramfs
259 %attr(755,root,root) %{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
260 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptroot
261 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptpassdev
262 %attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/cryptroot
This page took 0.034981 seconds and 2 git commands to generate.