1 # TODO: multi-kernels build?
2 # NOTE: probably doesn't work with kernel address space randomization(?)
5 %bcond_without static_libs # static library
6 %bcond_without kernel # kernel modules
7 %bcond_without userspace # userspace library and utilities
8 %bcond_with verbose # verbose build (V=1) of kernel modules
10 Summary: Berkeley Lab Checkpoint/Restart for Linux
11 Summary(pl.UTF-8): Berkeley Lab Checkpoint/Restart dla Linuksa
17 License: LGPL v2+ (library), GPL v2+ (utilities and modules)
19 #Source0Download: http://crd.lbl.gov/departments/computer-science/CLaSS/research/BLCR/berkeley-lab-checkpoint-restart-for-linux-blcr-downloads/
20 Source0: http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/%{pname}-%{version}.tar.gz
21 # Source0-md5: e0e6d3f6c117d820eaafabf2599ad37b
22 # extract from diff against https://upc-bugs.lbl.gov/blcr-dist/blcr-0.8.6_b4.tar.gz
23 Patch0: %{pname}-update.patch
24 Patch1: %{pname}-am.patch
25 URL: http://crd.lbl.gov/departments/computer-science/CLaSS/research/BLCR/
26 BuildRequires: autoconf >= 2.50
27 BuildRequires: automake
28 BuildRequires: libtool
29 BuildRequires: perl-base
31 BuildRequires: ftb-devel
32 BuildRequires: glibc-devel >= 5:2.4
35 # for System.map symbol lookups
36 BuildRequires: kernel%{_alt_kernel} = 3:%{_kernel_ver}
37 BuildRequires: kernel%{_alt_kernel}-module-build = 3:%{_kernel_ver}
38 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6
40 ExclusiveArch: %{ix86} %{x8664} arm ppc ppc64 sparc sparcv9 sparc64
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 Berkeley Lab Checkpoint/Restart (BLCR) for Linux is a project of
46 Future Technologies Group researchers to develop a hybrid kernel/user
47 implementation of checkpoint/restart. Their goal is to provide a
48 robust, production quality implementation that checkpoints a wide
49 range of applications, without requiring changes to be made to
50 application code. This work focuses on checkpointing parallel
51 applications that communicate through MPI, and on compatibility with
52 the software suite produced by the SciDAC Scalable Systems Software
55 %description -l pl.UTF-8
56 Berkeley Lab Checkpoint/Restart (BLCR) dla Linuksa to projekt badaczy
57 Future Technologies Group polegający na stworzeniu hybrydowej
58 (działającej w jądrze i przestrzeni użytkownika) implementacji
59 mechanizmu checkpoint/restart (punktów kontrolnych i restartów
60 programów). Celem jest dostarczenie bogatej, mającej produkcyjną
61 jakość implementacji potrafiącej wykonać migawki stanu szerokiej gamy
62 aplikacji bez potrzeby wykonywania zmian w ich kodzie. Praca skupia
63 się na aplikacjach równoległych komunikujących się poprzez MPI oraz
64 zgodności z oprogramowaniem tworzonym przez SciDAC Scalable Systems
68 Summary: Header files for BLCR library
69 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki BLCR
71 Group: Development/Libraries
72 Requires: %{pname} = %{version}-%{release}
75 Header files for BLCR library.
77 %description devel -l pl.UTF-8
78 Pliki nagłówkowe biblioteki BLCR.
81 Summary: Static BLCR library
82 Summary(pl.UTF-8): Statyczna biblioteka BLCR
84 Group: Development/Libraries
85 Requires: %{pname}-devel = %{version}-%{release}
90 %description static -l pl.UTF-8
91 Statyczna biblioteka BLCR.
93 %package -n kernel%{_alt_kernel}-extra-blcr
94 Summary: BLCR modules for Linux kernel
95 Summary(pl.UTF-8): Moduły BLCR dla jądra Linuksa
96 Release: %{rel}@%{_kernel_ver_str}
99 Requires(post,postun): /sbin/depmod
100 %requires_releq_kernel
101 Requires(postun): %releq_kernel
103 %description -n kernel%{_alt_kernel}-extra-blcr
104 BLCR modules for Linux kernel.
106 %description -n kernel%{_alt_kernel}-extra-blcr -l pl.UTF-8
107 Moduły BLCR dla jądra Linuksa.
121 %{?with_static_libs:--enable-static} \
123 %{?with_verbose:--enable-kbuild-verbose} \
124 --with-linux=%{_kernel_ver} \
125 --with-linux-src=%{_kernelsrcdir} \
126 --with-system-map=/boot/System.map-%{_kernel_ver} \
128 --with-components="%{?with_kernel:modules} %{?with_userspace:util libcr include tests examples contrib}"
133 rm -rf $RPM_BUILD_ROOT
136 DESTDIR=$RPM_BUILD_ROOT
139 rm -rf $RPM_BUILD_ROOT
141 %post -p /sbin/ldconfig
142 %postun -p /sbin/ldconfig
144 %post -n kernel%{_alt_kernel}-extra-blcr
145 %depmod %{_kernel_ver}
147 %postun -n kernel%{_alt_kernel}-extra-blcr
148 %depmod %{_kernel_ver}
150 %if %{with userspace}
152 %defattr(644,root,root,755)
153 %doc LICENSE.txt NEWS README.FTB doc/{README,html}
154 %attr(755,root,root) %{_bindir}/cr_checkpoint
155 %attr(755,root,root) %{_bindir}/cr_restart
156 %attr(755,root,root) %{_bindir}/cr_run
157 %attr(755,root,root) %{_libdir}/libcr.so.*.*.*
158 %attr(755,root,root) %ghost %{_libdir}/libcr.so.0
159 %attr(755,root,root) %{_libdir}/libcr_omit.so.*.*.*
160 %attr(755,root,root) %ghost %{_libdir}/libcr_omit.so.0
161 %attr(755,root,root) %{_libdir}/libcr_run.so.*.*.*
162 %attr(755,root,root) %ghost %{_libdir}/libcr_run.so.0
163 %{_mandir}/man1/cr_checkpoint.1*
164 %{_mandir}/man1/cr_restart.1*
165 %{_mandir}/man1/cr_run.1*
168 %defattr(644,root,root,755)
170 %attr(755,root,root) %{_libdir}/libcr.so
171 %attr(755,root,root) %{_libdir}/libcr_omit.so
172 %attr(755,root,root) %{_libdir}/libcr_run.so
174 %{_libdir}/libcr_omit.la
175 %{_libdir}/libcr_run.la
176 %{_includedir}/blcr_*.h
177 %{_includedir}/libcr.h
179 %if %{with static_libs}
181 %defattr(644,root,root,755)
183 %{_libdir}/libcr_omit.a
184 %{_libdir}/libcr_run.a
189 %files -n kernel%{_alt_kernel}-extra-blcr
190 %defattr(644,root,root,755)
191 /lib/modules/%{_kernel_ver}/extra/blcr.ko*
192 /lib/modules/%{_kernel_ver}/extra/blcr_imports.ko*