]>
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 | |
6604389f JB |
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 | |
b0f85f1d | 25 | URL: http://crd.lbl.gov/departments/computer-science/CLaSS/research/BLCR/ |
6604389f JB |
26 | BuildRequires: autoconf >= 2.50 |
27 | BuildRequires: automake | |
28 | BuildRequires: libtool | |
29 | BuildRequires: perl-base | |
b0f85f1d JB |
30 | %if %{with userspace} |
31 | BuildRequires: ftb-devel | |
32 | BuildRequires: glibc-devel >= 5:2.4 | |
33 | %endif | |
b0f85f1d | 34 | %if %{with kernel} |
6604389f | 35 | # for System.map symbol lookups |
b0f85f1d JB |
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 | |
39 | %endif | |
40 | ExclusiveArch: %{ix86} %{x8664} arm ppc ppc64 sparc sparcv9 sparc64 | |
41 | ExcludeArch: i386 | |
42 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
43 | ||
44 | %description | |
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 | |
53 | ISIC. | |
54 | ||
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 | |
65 | Software ISIC. | |
66 | ||
67 | %package devel | |
68 | Summary: Header files for BLCR library | |
69 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki BLCR | |
70 | License: LGPL v2+ | |
71 | Group: Development/Libraries | |
72 | Requires: %{pname} = %{version}-%{release} | |
73 | ||
74 | %description devel | |
75 | Header files for BLCR library. | |
76 | ||
77 | %description devel -l pl.UTF-8 | |
78 | Pliki nagłówkowe biblioteki BLCR. | |
79 | ||
80 | %package static | |
81 | Summary: Static BLCR library | |
82 | Summary(pl.UTF-8): Statyczna biblioteka BLCR | |
83 | License: LGPL v2+ | |
84 | Group: Development/Libraries | |
85 | Requires: %{pname}-devel = %{version}-%{release} | |
86 | ||
87 | %description static | |
88 | Static BLCR library. | |
89 | ||
90 | %description static -l pl.UTF-8 | |
91 | Statyczna biblioteka BLCR. | |
92 | ||
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} | |
97 | License: GPL v2+ | |
98 | Group: Base/Kernel | |
99 | Requires(post,postun): /sbin/depmod | |
100 | %requires_releq_kernel | |
101 | Requires(postun): %releq_kernel | |
102 | ||
103 | %description -n kernel%{_alt_kernel}-extra-blcr | |
104 | BLCR modules for Linux kernel. | |
105 | ||
106 | %description -n kernel%{_alt_kernel}-extra-blcr -l pl.UTF-8 | |
107 | Moduły BLCR dla jądra Linuksa. | |
108 | ||
109 | %prep | |
110 | %setup -q | |
6604389f JB |
111 | %patch0 -p1 |
112 | %patch1 -p1 | |
b0f85f1d JB |
113 | |
114 | %build | |
6604389f JB |
115 | %{__libtoolize} |
116 | %{__aclocal} | |
117 | %{__autoconf} | |
118 | %{__autoheader} | |
119 | %{__automake} | |
b0f85f1d JB |
120 | %configure \ |
121 | %{?with_static_libs:--enable-static} \ | |
122 | %if %{with kernel} | |
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} \ | |
b0f85f1d JB |
127 | %endif |
128 | --with-components="%{?with_kernel:modules} %{?with_userspace:util libcr include tests examples contrib}" | |
129 | ||
130 | %{__make} | |
131 | ||
132 | %install | |
133 | rm -rf $RPM_BUILD_ROOT | |
134 | ||
135 | %{__make} install \ | |
136 | DESTDIR=$RPM_BUILD_ROOT | |
137 | ||
138 | %clean | |
139 | rm -rf $RPM_BUILD_ROOT | |
140 | ||
141 | %post -p /sbin/ldconfig | |
142 | %postun -p /sbin/ldconfig | |
143 | ||
144 | %post -n kernel%{_alt_kernel}-extra-blcr | |
145 | %depmod %{_kernel_ver} | |
146 | ||
147 | %postun -n kernel%{_alt_kernel}-extra-blcr | |
148 | %depmod %{_kernel_ver} | |
149 | ||
150 | %if %{with userspace} | |
151 | %files | |
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* | |
166 | ||
167 | %files devel | |
168 | %defattr(644,root,root,755) | |
169 | %doc README.devel | |
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 | |
173 | %{_libdir}/libcr.la | |
174 | %{_libdir}/libcr_omit.la | |
175 | %{_libdir}/libcr_run.la | |
176 | %{_includedir}/blcr_*.h | |
177 | %{_includedir}/libcr.h | |
178 | ||
179 | %if %{with static_libs} | |
180 | %files static | |
181 | %defattr(644,root,root,755) | |
182 | %{_libdir}/libcr.a | |
183 | %{_libdir}/libcr_omit.a | |
184 | %{_libdir}/libcr_run.a | |
185 | %endif | |
186 | %endif | |
187 | ||
188 | %if %{with kernel} | |
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* | |
193 | %endif |