]> git.pld-linux.org Git - packages/blcr.git/blob - blcr.spec
f61419ae90dd97ba0d28673a6e7f05ed8e0cd584
[packages/blcr.git] / blcr.spec
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} \
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} \
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
This page took 0.060581 seconds and 2 git commands to generate.