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