]> git.pld-linux.org Git - packages/cryptsetup.git/blob - cryptsetup.spec
831332ff8aa80468a0582ee5e4eedb2f6b363369
[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.1.2
11 Release:        1
12 License:        GPL v2
13 Group:          Base
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 URL:            http://code.google.com/p/cryptsetup/
23 BuildRequires:  autoconf >= 2.57
24 BuildRequires:  automake
25 BuildRequires:  device-mapper-devel >= 1.02.03
26 BuildRequires:  gettext-devel >= 0.15
27 BuildRequires:  libgcrypt-devel >= 1.1.42
28 BuildRequires:  libselinux-devel
29 BuildRequires:  libsepol-devel
30 BuildRequires:  libtool
31 BuildRequires:  libuuid-devel
32 BuildRequires:  popt-devel >= 1.7
33 %if %{with initrd}
34 BuildRequires:  libgpg-error-static
35         %if %{with dietlibc}
36 BuildRequires:  device-mapper-dietlibc
37 BuildRequires:  dietlibc-static
38 BuildRequires:  libgcrypt-dietlibc
39 BuildRequires:  libuuid-dietlibc
40 BuildRequires:  popt-dietlibc
41         %else
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
48         %endif
49 %endif
50 Requires:       popt >= 1.7
51 Provides:       cryptsetup = %{version}
52 Obsoletes:      cryptsetup
53 Conflicts:      udev < 1:118-1
54 Conflicts:      udev-core < 1:115
55 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56
57 %define         _sbindir        /sbin
58
59 %description
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.
66
67 This package contains implementation of LUKS for dm-crypt implemented
68 in cryptsetup.
69
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.
78
79 Ten pakiet zawiera implementację LUKS dla dm-crytpa zaimplementowaną w
80 cryptsetup.
81
82 %package devel
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
90
91 %description devel
92 Header files for cryptsetup library.
93
94 %description devel -l pl.UTF-8
95 Pliki nagłówkowe biblioteki cryptsetup.
96
97 %package static
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
103
104 %description static
105 Static version of cryptsetup library.
106
107 %description static -l pl.UTF-8
108 Statyczna wersja biblioteki cryptsetup.
109
110 %package initrd
111 Summary:        LUKS for dm-crypt implemented in cryptsetup - initrd version
112 Summary(pl.UTF-8):      LUKS dla dm-crypta zaimplementowany w cryptsetup - wersja initrd
113 Group:          Base
114 Requires:       udev-initrd >= 1:115
115 Conflicts:      geninitrd < 10000.10
116
117 %description initrd
118 This package contains implementation of LUKS for dm-crypt implemented
119 in cryptsetup - statically linked for initrd.
120
121 %description initrd -l pl.UTF-8
122 Ten pakiet zawiera implementację LUKS dla dm-crypta zaimplementowaną
123 w cryptsetup - wersję statycznie zlinkowaną dla initrd.
124
125 %package initramfs
126 Summary:        LUKS for dm-crypt implemented in cryptsetup - support scripts for initramfs-tools
127 Summary(pl.UTF-8):      LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla initramfs-tools
128 Group:          Base
129 Requires:       %{name} = %{version}-%{release}
130 Requires:       initramfs-tools
131
132 %description initramfs
133 LUKS for dm-crypt implemented in cryptsetup - support scripts
134 for initramfs-tools.
135
136 %description initramfs -l pl.UTF-8
137 LUKS dla dm-crypta zaimplementowany w cryptsetup - skrypty dla
138 initramfs-tools.
139
140 %prep
141 %setup -q -n %{realname}-%{version}
142 %patch0 -p1
143
144 install %{SOURCE5} README.initramfs
145
146 %build
147 %{__gettextize}
148 %{__libtoolize}
149 %{__aclocal} -I m4
150 %{__autoconf}
151 %{__autoheader}
152 %{__automake}
153
154 %if %{with initrd}
155 %configure \
156 %if %{with dietlibc}
157         CC="diet %{__cc} %{rpmcflags} %{rpmldflags} -Os" \
158         ac_cv_lib_popt_poptConfigFileToString=yes \
159         ac_cv_lib_sepol_sepol_bool_set=no \
160         ac_cv_lib_selinux_is_selinux_enabled=no \
161 %endif
162         --disable-shared-library \
163         --enable-static \
164         --enable-static-cryptsetup \
165         --disable-nls
166
167 %{__make} -C luks
168 %{__make} -C lib
169
170 %if %{with dietlibc}
171 # we have to do it by hand cause libtool "know better" and forces
172 # static libs from /usr/lib
173 diet %{__cc} %{rpmcflags} %{rpmldflags} -Os -I./lib -static \
174         -o cryptsetup-initrd src/cryptsetup.c ./lib/.libs/libcryptsetup.a \
175         -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
176 %else
177 %{__make} -C src
178 mv src/cryptsetup cryptsetup-initrd
179 %endif
180
181 %{__make} clean
182 %endif
183
184 %configure \
185         --enable-static
186 %{__make}
187
188 %install
189 rm -rf $RPM_BUILD_ROOT
190 install -d $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{conf-hooks.d,hooks,scripts/local-top}
191
192 %{__make} install \
193         DESTDIR=$RPM_BUILD_ROOT
194
195 install -d $RPM_BUILD_ROOT/%{_lib}
196 mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
197 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
198         $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
199
200 %if %{with initrd}
201 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
202 install cryptsetup-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/cryptsetup
203 %endif
204
205 install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
206 install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptroot
207 install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/cryptroot
208 install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptpassdev
209
210 %find_lang %{realname}
211
212 %clean
213 rm -rf $RPM_BUILD_ROOT
214
215 %post   -p /sbin/ldconfig
216 %postun -p /sbin/ldconfig
217
218 %files -f %{realname}.lang
219 %defattr(644,root,root,755)
220 %doc AUTHORS ChangeLog TODO
221 %attr(755,root,root) %{_sbindir}/cryptsetup
222 %attr(755,root,root) /%{_lib}/libcryptsetup.so.*.*.*
223 %attr(755,root,root) %ghost /%{_lib}/libcryptsetup.so.1
224 %{_mandir}/man8/cryptsetup.8*
225
226 %files devel
227 %defattr(644,root,root,755)
228 %attr(755,root,root) %{_libdir}/libcryptsetup.so
229 %{_libdir}/libcryptsetup.la
230 %{_includedir}/libcryptsetup.h
231 %{_pkgconfigdir}/libcryptsetup.pc
232
233 %files static
234 %defattr(644,root,root,755)
235 %{_libdir}/libcryptsetup.a
236
237 %if %{with initrd}
238 %files initrd
239 %defattr(644,root,root,755)
240 %attr(755,root,root) %{_libdir}/initrd/cryptsetup
241 %endif
242
243 %files initramfs
244 %defattr(644,root,root,755)
245 %doc README.initramfs
246 %attr(755,root,root) %{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
247 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptroot
248 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptpassdev
249 %attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/cryptroot
This page took 0.081662 seconds and 2 git commands to generate.