]> git.pld-linux.org Git - packages/cryptsetup.git/blob - cryptsetup.spec
- new URLs, updated to 1.1.2 (new soname)
[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 Group:          Base
113 Requires:       udev-initrd >= 1:115
114 Conflicts:      geninitrd < 10000.10
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 %patch0 -p1
138
139 install %{SOURCE5} README.initramfs
140
141 %build
142 %{__gettextize}
143 %{__libtoolize}
144 %{__aclocal} -I m4
145 %{__autoconf}
146 %{__autoheader}
147 %{__automake}
148
149 %if %{with initrd}
150 %configure \
151 %if %{with dietlibc}
152         CC="diet %{__cc} %{rpmcflags} %{rpmldflags} -Os" \
153         ac_cv_lib_popt_poptConfigFileToString=yes \
154         ac_cv_lib_sepol_sepol_bool_set=no \
155         ac_cv_lib_selinux_is_selinux_enabled=no \
156 %endif
157         --disable-shared-library \
158         --enable-static \
159         --enable-static-cryptsetup \
160         --disable-nls
161
162 %{__make} -C luks
163 %{__make} -C lib
164
165 %if %{with dietlibc}
166 # we have to do it by hand cause libtool "know better" and forces
167 # static libs from /usr/lib
168 diet %{__cc} %{rpmcflags} %{rpmldflags} -Os -I./lib -static \
169         -o cryptsetup-initrd src/cryptsetup.c ./lib/.libs/libcryptsetup.a \
170         -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
171 %else
172 %{__make} -C src
173 mv src/cryptsetup cryptsetup-initrd
174 %endif
175
176 %{__make} clean
177 %endif
178
179 %configure \
180         --enable-static
181 %{__make}
182
183 %install
184 rm -rf $RPM_BUILD_ROOT
185 install -d $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{conf-hooks.d,hooks,scripts/local-top}
186
187 %{__make} install \
188         DESTDIR=$RPM_BUILD_ROOT
189
190 install -d $RPM_BUILD_ROOT/%{_lib}
191 mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
192 ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
193         $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
194
195 %if %{with initrd}
196 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
197 install cryptsetup-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/cryptsetup
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.1
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 %{_pkgconfigdir}/libcryptsetup.pc
227
228 %files static
229 %defattr(644,root,root,755)
230 %{_libdir}/libcryptsetup.a
231
232 %if %{with initrd}
233 %files initrd
234 %defattr(644,root,root,755)
235 %attr(755,root,root) %{_libdir}/initrd/cryptsetup
236 %endif
237
238 %files initramfs
239 %defattr(644,root,root,755)
240 %doc README.initramfs
241 %attr(755,root,root) %{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
242 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptroot
243 %attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptpassdev
244 %attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/cryptroot
This page took 0.466513 seconds and 4 git commands to generate.