]> git.pld-linux.org Git - packages/cryptsetup.git/blame - cryptsetup.spec
- rel 2; dietlibc fixes
[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
5eb10616 5#
d7593791 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
79b6c53c 10Version: 1.1.2
43e1c005 11Release: 2
d7593791 12License: GPL v2
6351d6a5 13Group: Base
79b6c53c
JB
14Source0: http://cryptsetup.googlecode.com/files/%{realname}-%{version}.tar.bz2
15# Source0-md5: f3928c1f1d49fcee39bb1e8d42fe707a
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
ecaa484d
JR
146install %{SOURCE5} README.initramfs
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}
a6fd3218 157%configure \
21d48aec 158%if %{with dietlibc}
593621cb 159 CC="diet %{__cc} %{rpmcflags} %{rpmldflags} -Os" \
21d48aec
JR
160 ac_cv_lib_popt_poptConfigFileToString=yes \
161 ac_cv_lib_sepol_sepol_bool_set=no \
162 ac_cv_lib_selinux_is_selinux_enabled=no \
163%endif
d6925a9f 164 --disable-shared-library \
5eb10616 165 --enable-static \
d6925a9f
ER
166 --enable-static-cryptsetup \
167 --disable-nls
21d48aec
JR
168
169%{__make} -C luks
170%{__make} -C lib
171
172%if %{with dietlibc}
173# we have to do it by hand cause libtool "know better" and forces
174# static libs from /usr/lib
43e1c005 175diet %{__cc} %{rpmcflags} %{rpmldflags} -Os -I. -I./lib -static \
593621cb
JR
176 -o cryptsetup-initrd src/cryptsetup.c ./lib/.libs/libcryptsetup.a \
177 -lpopt -lgcrypt -lgpg-error -ldevmapper -luuid -lcompat
21d48aec
JR
178%else
179%{__make} -C src
d07d45f7 180mv src/cryptsetup cryptsetup-initrd
21d48aec 181%endif
23904b26 182
d07d45f7
ER
183%{__make} clean
184%endif
185
186%configure \
187 --enable-static
6351d6a5 188%{__make}
189
190%install
191rm -rf $RPM_BUILD_ROOT
ecaa484d 192install -d $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{conf-hooks.d,hooks,scripts/local-top}
6351d6a5 193
194%{__make} install \
195 DESTDIR=$RPM_BUILD_ROOT
196
197install -d $RPM_BUILD_ROOT/%{_lib}
d7593791
JB
198mv -f $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so.* $RPM_BUILD_ROOT/%{_lib}
199ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libcryptsetup.so.*.*.*) \
6351d6a5 200 $RPM_BUILD_ROOT%{_libdir}/libcryptsetup.so
201
d07d45f7 202%if %{with initrd}
927d0cdf
JR
203install -d $RPM_BUILD_ROOT%{_libdir}/initrd
204install cryptsetup-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/cryptsetup
d07d45f7
ER
205%endif
206
ecaa484d
JR
207install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
208install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptroot
209install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/cryptroot
210install %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/cryptpassdev
211
d7593791 212%find_lang %{realname}
6351d6a5 213
214%clean
215rm -rf $RPM_BUILD_ROOT
216
217%post -p /sbin/ldconfig
218%postun -p /sbin/ldconfig
219
d7593791 220%files -f %{realname}.lang
6351d6a5 221%defattr(644,root,root,755)
d7593791 222%doc AUTHORS ChangeLog TODO
6351d6a5 223%attr(755,root,root) %{_sbindir}/cryptsetup
224%attr(755,root,root) /%{_lib}/libcryptsetup.so.*.*.*
79b6c53c 225%attr(755,root,root) %ghost /%{_lib}/libcryptsetup.so.1
d7593791 226%{_mandir}/man8/cryptsetup.8*
6351d6a5 227
228%files devel
229%defattr(644,root,root,755)
230%attr(755,root,root) %{_libdir}/libcryptsetup.so
231%{_libdir}/libcryptsetup.la
d7593791 232%{_includedir}/libcryptsetup.h
79b6c53c 233%{_pkgconfigdir}/libcryptsetup.pc
6351d6a5 234
a6fd3218 235%files static
236%defattr(644,root,root,755)
237%{_libdir}/libcryptsetup.a
d07d45f7
ER
238
239%if %{with initrd}
240%files initrd
241%defattr(644,root,root,755)
927d0cdf 242%attr(755,root,root) %{_libdir}/initrd/cryptsetup
d07d45f7 243%endif
ecaa484d
JR
244
245%files initramfs
246%defattr(644,root,root,755)
247%doc README.initramfs
248%attr(755,root,root) %{_datadir}/initramfs-tools/conf-hooks.d/cryptsetup
249%attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptroot
250%attr(755,root,root) %{_datadir}/initramfs-tools/hooks/cryptpassdev
251%attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/cryptroot
This page took 0.104156 seconds and 4 git commands to generate.