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