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 URL: http://crd.lbl.gov/departments/computer-science/CLaSS/research/BLCR/
24 BuildRequires: ftb-devel
25 BuildRequires: glibc-devel >= 5:2.4
27 BuildRequires: perl-base
29 # for System.map and vmlinux symbol lookups
30 BuildRequires: kernel%{_alt_kernel} = 3:%{_kernel_ver}
31 BuildRequires: kernel%{_alt_kernel}-module-build = 3:%{_kernel_ver}
32 BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6
34 ExclusiveArch: %{ix86} %{x8664} arm ppc ppc64 sparc sparcv9 sparc64
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 Berkeley Lab Checkpoint/Restart (BLCR) for Linux is a project of
40 Future Technologies Group researchers to develop a hybrid kernel/user
41 implementation of checkpoint/restart. Their goal is to provide a
42 robust, production quality implementation that checkpoints a wide
43 range of applications, without requiring changes to be made to
44 application code. This work focuses on checkpointing parallel
45 applications that communicate through MPI, and on compatibility with
46 the software suite produced by the SciDAC Scalable Systems Software
49 %description -l pl.UTF-8
50 Berkeley Lab Checkpoint/Restart (BLCR) dla Linuksa to projekt badaczy
51 Future Technologies Group polegający na stworzeniu hybrydowej
52 (działającej w jądrze i przestrzeni użytkownika) implementacji
53 mechanizmu checkpoint/restart (punktów kontrolnych i restartów
54 programów). Celem jest dostarczenie bogatej, mającej produkcyjną
55 jakość implementacji potrafiącej wykonać migawki stanu szerokiej gamy
56 aplikacji bez potrzeby wykonywania zmian w ich kodzie. Praca skupia
57 się na aplikacjach równoległych komunikujących się poprzez MPI oraz
58 zgodności z oprogramowaniem tworzonym przez SciDAC Scalable Systems
62 Summary: Header files for BLCR library
63 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki BLCR
65 Group: Development/Libraries
66 Requires: %{pname} = %{version}-%{release}
69 Header files for BLCR library.
71 %description devel -l pl.UTF-8
72 Pliki nagłówkowe biblioteki BLCR.
75 Summary: Static BLCR library
76 Summary(pl.UTF-8): Statyczna biblioteka BLCR
78 Group: Development/Libraries
79 Requires: %{pname}-devel = %{version}-%{release}
84 %description static -l pl.UTF-8
85 Statyczna biblioteka BLCR.
87 %package -n kernel%{_alt_kernel}-extra-blcr
88 Summary: BLCR modules for Linux kernel
89 Summary(pl.UTF-8): Moduły BLCR dla jądra Linuksa
90 Release: %{rel}@%{_kernel_ver_str}
93 Requires(post,postun): /sbin/depmod
94 %requires_releq_kernel
95 Requires(postun): %releq_kernel
97 %description -n kernel%{_alt_kernel}-extra-blcr
98 BLCR modules for Linux kernel.
100 %description -n kernel%{_alt_kernel}-extra-blcr -l pl.UTF-8
101 Moduły BLCR dla jądra Linuksa.
108 %{?with_static_libs:--enable-static} \
110 %{?with_verbose:--enable-kbuild-verbose} \
111 --with-kernel-type=SMP \
112 --with-linux=%{_kernel_ver} \
113 --with-linux-src=%{_kernelsrcdir} \
114 --with-system-map=/boot/System.map-%{_kernel_ver} \
115 --with-vmlinux=/boot/vmlinuz-%{_kernel_ver} \
117 --with-components="%{?with_kernel:modules} %{?with_userspace:util libcr include tests examples contrib}"
122 rm -rf $RPM_BUILD_ROOT
125 DESTDIR=$RPM_BUILD_ROOT
128 rm -rf $RPM_BUILD_ROOT
130 %post -p /sbin/ldconfig
131 %postun -p /sbin/ldconfig
133 %post -n kernel%{_alt_kernel}-extra-blcr
134 %depmod %{_kernel_ver}
136 %postun -n kernel%{_alt_kernel}-extra-blcr
137 %depmod %{_kernel_ver}
139 %if %{with userspace}
141 %defattr(644,root,root,755)
142 %doc LICENSE.txt NEWS README.FTB doc/{README,html}
143 %attr(755,root,root) %{_bindir}/cr_checkpoint
144 %attr(755,root,root) %{_bindir}/cr_restart
145 %attr(755,root,root) %{_bindir}/cr_run
146 %attr(755,root,root) %{_libdir}/libcr.so.*.*.*
147 %attr(755,root,root) %ghost %{_libdir}/libcr.so.0
148 %attr(755,root,root) %{_libdir}/libcr_omit.so.*.*.*
149 %attr(755,root,root) %ghost %{_libdir}/libcr_omit.so.0
150 %attr(755,root,root) %{_libdir}/libcr_run.so.*.*.*
151 %attr(755,root,root) %ghost %{_libdir}/libcr_run.so.0
152 %{_mandir}/man1/cr_checkpoint.1*
153 %{_mandir}/man1/cr_restart.1*
154 %{_mandir}/man1/cr_run.1*
157 %defattr(644,root,root,755)
159 %attr(755,root,root) %{_libdir}/libcr.so
160 %attr(755,root,root) %{_libdir}/libcr_omit.so
161 %attr(755,root,root) %{_libdir}/libcr_run.so
163 %{_libdir}/libcr_omit.la
164 %{_libdir}/libcr_run.la
165 %{_includedir}/blcr_*.h
166 %{_includedir}/libcr.h
168 %if %{with static_libs}
170 %defattr(644,root,root,755)
172 %{_libdir}/libcr_omit.a
173 %{_libdir}/libcr_run.a
178 %files -n kernel%{_alt_kernel}-extra-blcr
179 %defattr(644,root,root,755)
180 /lib/modules/%{_kernel_ver}/extra/blcr.ko*
181 /lib/modules/%{_kernel_ver}/extra/blcr_imports.ko*