]>
Commit | Line | Data |
---|---|---|
b0f85f1d JB |
1 | # TODO: multi-kernels build? |
2 | # NOTE: probably doesn't work with kernel address space randomization(?) | |
3 | # | |
4 | # Conditional build: | |
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 | |
9 | # | |
10 | Summary: Berkeley Lab Checkpoint/Restart for Linux | |
11 | Summary(pl.UTF-8): Berkeley Lab Checkpoint/Restart dla Linuksa | |
12 | %define pname blcr | |
13 | Name: %{pname} | |
14 | Version: 0.8.5 | |
15 | %define rel 1 | |
16 | Release: %{rel} | |
17 | License: LGPL v2+ (library), GPL v2+ (utilities and modules) | |
18 | Group: Libraries | |
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/ | |
23 | %if %{with userspace} | |
24 | BuildRequires: ftb-devel | |
25 | BuildRequires: glibc-devel >= 5:2.4 | |
26 | %endif | |
27 | BuildRequires: perl-base | |
28 | %if %{with kernel} | |
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 | |
33 | %endif | |
34 | ExclusiveArch: %{ix86} %{x8664} arm ppc ppc64 sparc sparcv9 sparc64 | |
35 | ExcludeArch: i386 | |
36 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
37 | ||
38 | %description | |
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 | |
47 | ISIC. | |
48 | ||
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 | |
59 | Software ISIC. | |
60 | ||
61 | %package devel | |
62 | Summary: Header files for BLCR library | |
63 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki BLCR | |
64 | License: LGPL v2+ | |
65 | Group: Development/Libraries | |
66 | Requires: %{pname} = %{version}-%{release} | |
67 | ||
68 | %description devel | |
69 | Header files for BLCR library. | |
70 | ||
71 | %description devel -l pl.UTF-8 | |
72 | Pliki nagłówkowe biblioteki BLCR. | |
73 | ||
74 | %package static | |
75 | Summary: Static BLCR library | |
76 | Summary(pl.UTF-8): Statyczna biblioteka BLCR | |
77 | License: LGPL v2+ | |
78 | Group: Development/Libraries | |
79 | Requires: %{pname}-devel = %{version}-%{release} | |
80 | ||
81 | %description static | |
82 | Static BLCR library. | |
83 | ||
84 | %description static -l pl.UTF-8 | |
85 | Statyczna biblioteka BLCR. | |
86 | ||
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} | |
91 | License: GPL v2+ | |
92 | Group: Base/Kernel | |
93 | Requires(post,postun): /sbin/depmod | |
94 | %requires_releq_kernel | |
95 | Requires(postun): %releq_kernel | |
96 | ||
97 | %description -n kernel%{_alt_kernel}-extra-blcr | |
98 | BLCR modules for Linux kernel. | |
99 | ||
100 | %description -n kernel%{_alt_kernel}-extra-blcr -l pl.UTF-8 | |
101 | Moduły BLCR dla jądra Linuksa. | |
102 | ||
103 | %prep | |
104 | %setup -q | |
105 | ||
106 | %build | |
107 | %configure \ | |
108 | %{?with_static_libs:--enable-static} \ | |
109 | %if %{with kernel} | |
110 | %{?with_verbose:--enable-kbuild-verbose} \ | |
ae9628b8 | 111 | --with-kernel-type=SMP \ |
b0f85f1d JB |
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} \ | |
116 | %endif | |
117 | --with-components="%{?with_kernel:modules} %{?with_userspace:util libcr include tests examples contrib}" | |
118 | ||
119 | %{__make} | |
120 | ||
121 | %install | |
122 | rm -rf $RPM_BUILD_ROOT | |
123 | ||
124 | %{__make} install \ | |
125 | DESTDIR=$RPM_BUILD_ROOT | |
126 | ||
127 | %clean | |
128 | rm -rf $RPM_BUILD_ROOT | |
129 | ||
130 | %post -p /sbin/ldconfig | |
131 | %postun -p /sbin/ldconfig | |
132 | ||
133 | %post -n kernel%{_alt_kernel}-extra-blcr | |
134 | %depmod %{_kernel_ver} | |
135 | ||
136 | %postun -n kernel%{_alt_kernel}-extra-blcr | |
137 | %depmod %{_kernel_ver} | |
138 | ||
139 | %if %{with userspace} | |
140 | %files | |
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* | |
155 | ||
156 | %files devel | |
157 | %defattr(644,root,root,755) | |
158 | %doc README.devel | |
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 | |
162 | %{_libdir}/libcr.la | |
163 | %{_libdir}/libcr_omit.la | |
164 | %{_libdir}/libcr_run.la | |
165 | %{_includedir}/blcr_*.h | |
166 | %{_includedir}/libcr.h | |
167 | ||
168 | %if %{with static_libs} | |
169 | %files static | |
170 | %defattr(644,root,root,755) | |
171 | %{_libdir}/libcr.a | |
172 | %{_libdir}/libcr_omit.a | |
173 | %{_libdir}/libcr_run.a | |
174 | %endif | |
175 | %endif | |
176 | ||
177 | %if %{with kernel} | |
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* | |
182 | %endif |