]> git.pld-linux.org Git - packages/blcr.git/blame - blcr.spec
- crate kernel packages only for kernel build
[packages/blcr.git] / blcr.spec
CommitLineData
b0f85f1d
JB
1# NOTE: probably doesn't work with kernel address space randomization(?)
2#
3# Conditional build:
4%bcond_without static_libs # static library
5%bcond_without kernel # kernel modules
6%bcond_without userspace # userspace library and utilities
7%bcond_with verbose # verbose build (V=1) of kernel modules
8#
248ae37e
JR
9%if %{without userspace}
10# nothing to be placed to debuginfo package
11%define _enable_debug_packages 0
12%endif
13
14%define pname blcr
cee493ae 15%define rel 3
b0f85f1d
JB
16Summary: Berkeley Lab Checkpoint/Restart for Linux
17Summary(pl.UTF-8): Berkeley Lab Checkpoint/Restart dla Linuksa
248ae37e 18Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
b0f85f1d 19Version: 0.8.5
248ae37e 20Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
b0f85f1d
JB
21License: LGPL v2+ (library), GPL v2+ (utilities and modules)
22Group: Libraries
23#Source0Download: http://crd.lbl.gov/departments/computer-science/CLaSS/research/BLCR/berkeley-lab-checkpoint-restart-for-linux-blcr-downloads/
24Source0: http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/%{pname}-%{version}.tar.gz
25# Source0-md5: e0e6d3f6c117d820eaafabf2599ad37b
6604389f
JB
26# extract from diff against https://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.6_b4.tar.gz
27Patch0: %{pname}-update.patch
28Patch1: %{pname}-am.patch
b0f85f1d 29URL: http://crd.lbl.gov/departments/computer-science/CLaSS/research/BLCR/
6604389f
JB
30BuildRequires: autoconf >= 2.50
31BuildRequires: automake
32BuildRequires: libtool
33BuildRequires: perl-base
b0f85f1d
JB
34%if %{with userspace}
35BuildRequires: ftb-devel
36BuildRequires: glibc-devel >= 5:2.4
37%endif
b0f85f1d 38%if %{with kernel}
248ae37e 39BuildRequires: rpmbuild(macros) >= 1.701
6604389f 40# for System.map symbol lookups
7467baed
JR
41%{expand:%buildrequires_kernel kernel%{_alt_kernel} = %{kernel_version}}
42%{expand:%buildrequires_kernel kernel%{_alt_kernel}-module-build = %{kernel_version}}
248ae37e 43%{expand:%buildrequires_kernel kernel%{_alt_kernel}-module-build >= 3:2.6}
b0f85f1d
JB
44%endif
45ExclusiveArch: %{ix86} %{x8664} arm ppc ppc64 sparc sparcv9 sparc64
46ExcludeArch: i386
47BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48
49%description
50Berkeley Lab Checkpoint/Restart (BLCR) for Linux is a project of
51Future Technologies Group researchers to develop a hybrid kernel/user
52implementation of checkpoint/restart. Their goal is to provide a
53robust, production quality implementation that checkpoints a wide
54range of applications, without requiring changes to be made to
55application code. This work focuses on checkpointing parallel
56applications that communicate through MPI, and on compatibility with
57the software suite produced by the SciDAC Scalable Systems Software
58ISIC.
59
60%description -l pl.UTF-8
61Berkeley Lab Checkpoint/Restart (BLCR) dla Linuksa to projekt badaczy
62Future Technologies Group polegający na stworzeniu hybrydowej
63(działającej w jądrze i przestrzeni użytkownika) implementacji
64mechanizmu checkpoint/restart (punktów kontrolnych i restartów
65programów). Celem jest dostarczenie bogatej, mającej produkcyjną
66jakość implementacji potrafiącej wykonać migawki stanu szerokiej gamy
67aplikacji bez potrzeby wykonywania zmian w ich kodzie. Praca skupia
68się na aplikacjach równoległych komunikujących się poprzez MPI oraz
69zgodności z oprogramowaniem tworzonym przez SciDAC Scalable Systems
70Software ISIC.
71
72%package devel
73Summary: Header files for BLCR library
74Summary(pl.UTF-8): Pliki nagłówkowe biblioteki BLCR
75License: LGPL v2+
76Group: Development/Libraries
77Requires: %{pname} = %{version}-%{release}
78
79%description devel
80Header files for BLCR library.
81
82%description devel -l pl.UTF-8
83Pliki nagłówkowe biblioteki BLCR.
84
85%package static
86Summary: Static BLCR library
87Summary(pl.UTF-8): Statyczna biblioteka BLCR
88License: LGPL v2+
89Group: Development/Libraries
90Requires: %{pname}-devel = %{version}-%{release}
91
92%description static
93Static BLCR library.
94
95%description static -l pl.UTF-8
96Statyczna biblioteka BLCR.
97
248ae37e
JR
98%define kernel_pkg()\
99%package -n kernel%{_alt_kernel}-misc-blcr\
100Summary: BLCR modules for Linux kernel\
101Summary(pl.UTF-8): Moduły BLCR dla jądra Linuksa\
102Release: %{rel}@%{_kernel_ver_str}\
103License: GPL v2+\
104Group: Base/Kernel\
105Requires(post,postun): /sbin/depmod\
106%requires_releq_kernel\
107Requires(postun): %releq_kernel\
108\
109%description -n kernel%{_alt_kernel}-misc-blcr\
110BLCR modules for Linux kernel.\
111\
112%description -n kernel%{_alt_kernel}-misc-blcr -l pl.UTF-8\
113Moduły BLCR dla jądra Linuksa.\
114\
115%files -n kernel%{_alt_kernel}-misc-blcr\
116%defattr(644,root,root,755)\
117/lib/modules/%{_kernel_ver}/misc/blcr.ko*\
118/lib/modules/%{_kernel_ver}/misc/blcr_imports.ko*\
119\
120%post -n kernel%{_alt_kernel}-misc-blcr\
121%depmod %{_kernel_ver}\
122\
123%postun -n kernel%{_alt_kernel}-misc-blcr\
124%depmod %{_kernel_ver}\
125%{nil}
126
127%define build_kernel_pkg()\
128%configure \\\
129 %{?with_verbose:--enable-kbuild-verbose} \\\
130 --with-linux=%{_kernel_ver} \\\
131 --with-linux-src=%{_kernelsrcdir} \\\
132 --with-kmod-dir=/lib/modules/%{_kernel_ver}/misc \\\
133 --with-system-map=/boot/System.map-%{_kernel_ver} \\\
134 --with-components="%{?with_kernel:modules}"\
135\
136%{__make} clean\
137%{__make}\
138p=`pwd`\
139%{__make} install DESTDIR=$p/installed\
140%{nil}
141
cee493ae 142%{?with_kernel:%{expand:%create_kernel_packages}}
b0f85f1d
JB
143
144%prep
145%setup -q
6604389f
JB
146%patch0 -p1
147%patch1 -p1
b0f85f1d
JB
148
149%build
6604389f
JB
150%{__libtoolize}
151%{__aclocal}
152%{__autoconf}
153%{__autoheader}
154%{__automake}
248ae37e
JR
155
156%{?with_kernel:%{expand:%build_kernel_packages}}
157
158%if %{with userspace}
b0f85f1d
JB
159%configure \
160 %{?with_static_libs:--enable-static} \
248ae37e 161 --with-components="%{?with_userspace:util libcr include tests examples contrib}"
b0f85f1d 162
248ae37e 163%{__make} clean
b0f85f1d 164%{__make}
248ae37e 165%endif
b0f85f1d
JB
166
167%install
168rm -rf $RPM_BUILD_ROOT
169
248ae37e
JR
170%if %{with kernel}
171install -d $RPM_BUILD_ROOT
172cp -a installed/* $RPM_BUILD_ROOT
173%endif
174
b0f85f1d
JB
175%{__make} install \
176 DESTDIR=$RPM_BUILD_ROOT
177
178%clean
179rm -rf $RPM_BUILD_ROOT
180
181%post -p /sbin/ldconfig
182%postun -p /sbin/ldconfig
183
b0f85f1d
JB
184%if %{with userspace}
185%files
186%defattr(644,root,root,755)
187%doc LICENSE.txt NEWS README.FTB doc/{README,html}
188%attr(755,root,root) %{_bindir}/cr_checkpoint
189%attr(755,root,root) %{_bindir}/cr_restart
190%attr(755,root,root) %{_bindir}/cr_run
191%attr(755,root,root) %{_libdir}/libcr.so.*.*.*
192%attr(755,root,root) %ghost %{_libdir}/libcr.so.0
193%attr(755,root,root) %{_libdir}/libcr_omit.so.*.*.*
194%attr(755,root,root) %ghost %{_libdir}/libcr_omit.so.0
195%attr(755,root,root) %{_libdir}/libcr_run.so.*.*.*
196%attr(755,root,root) %ghost %{_libdir}/libcr_run.so.0
197%{_mandir}/man1/cr_checkpoint.1*
198%{_mandir}/man1/cr_restart.1*
199%{_mandir}/man1/cr_run.1*
200
201%files devel
202%defattr(644,root,root,755)
203%doc README.devel
204%attr(755,root,root) %{_libdir}/libcr.so
205%attr(755,root,root) %{_libdir}/libcr_omit.so
206%attr(755,root,root) %{_libdir}/libcr_run.so
207%{_libdir}/libcr.la
208%{_libdir}/libcr_omit.la
209%{_libdir}/libcr_run.la
210%{_includedir}/blcr_*.h
211%{_includedir}/libcr.h
212
213%if %{with static_libs}
214%files static
215%defattr(644,root,root,755)
216%{_libdir}/libcr.a
217%{_libdir}/libcr_omit.a
218%{_libdir}/libcr_run.a
219%endif
220%endif
This page took 0.101558 seconds and 4 git commands to generate.