/
slurm.spec.in
256 lines (214 loc) · 7.16 KB
/
slurm.spec.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
# $Id$
# Note that this package is not relocatable
Name: @PROJECT@
Version: @VERSION@
Release: @RELEASE@
Summary: Simple Linux Utility for Resource Management
License: GPL
Group: System Environment/Base
Source: %{name}-%{version}-%{release}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
URL: http://www.llnl.gov/linux/slurm
Requires: openssl >= 0.9.6
#
# If "--with debug" is set compile with --enable-debug
# and do not strip binaries
#
# (See /usr/share/doc/rpm-*/conditionalbuilds)
#
%if %{?_with_debug:1}%{!?_with_debug:0}
%define _enable_debug --enable-debug
%endif
#
# Never allow rpm to strip binaries as this will break
# parallel debugging capability
#
%define __os_install_post /usr/lib/rpm/brp-compress
%package devel
Summary: Development package for SLURM.
Group: Development/System
Requires: slurm
%package auth-none
Summary: SLURM auth NULL implementation (no authentication)
Group: System Environment/Base
Requires: slurm
%package auth-authd
Summary: SLURM auth implementation using Brent Chun's authd
Group: System Environment/Base
Requires: slurm authd
%package auth-munge
Summary: SLURM auth implementation using Chris Dunlap's Munge
Group: System Environment/Base
Requires: slurm munge
%package sched-wiki
Summary: SLURM scheduling plugin for the Maui scheduler.
Group: System Environment/Base
Requires: slurm
%package switch-elan
Summary: SLURM switch plugin for Quadrics Elan3 or Elan4.
Group: System Environment/Base
Requires: slurm qsnetlibs
%description
SLURM is an open source, fault-tolerant, and highly
scalable cluster management and job scheduling system for Linux clusters
containing up to thousands of nodes. Components include machine status,
partition management, job management, and scheduling modules.
%description devel
Development package for SLURM. This package includes the header files
and static libraries for the SLURM API.
%description auth-none
SLURM NULL authentication module
%description auth-authd
SLURM authentication module for Brent Chun's authd
%description auth-munge
SLURM authentication module for Chris Dunlap's Munge
%description sched-wiki
SLURM scheduling plugin for the Maui scheduler.
%description switch-elan
SLURM switch plugin for Quadrics Elan3 or Elan4.
%prep
%setup -n %{name}-%{version}-%{release}
%build
%configure --program-prefix=%{?_program_prefix:%{_program_prefix}} \
--sysconfdir=/etc/slurm \
%{?_enable_debug}
#
# The following was stolen from the E17 packages:
# Build with make -j if SMP is defined in the current environment.
#
if [ "$SMP" != "" ]; then
(make "MAKE=make -k -j $SMP"; exit 0)
make
else
make
fi
#############################################################################
%install
rm -rf "$RPM_BUILD_ROOT"
mkdir -p "$RPM_BUILD_ROOT"
DESTDIR="$RPM_BUILD_ROOT" make install
install -D -m755 etc/init.d.slurm $RPM_BUILD_ROOT/etc/rc.d/init.d/slurm
install -D -m644 etc/slurm.conf.example $RPM_BUILD_ROOT/etc/slurm/slurm.conf
# Delete unpackaged files:
rm -f $RPM_BUILD_ROOT/%{_libdir}/slurm/*.{a,la}
# Build file lists for optional plugin packages
for plugin in auth_munge auth_authd switch_elan; do
LIST=./${plugin}.files
touch $LIST
test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/${plugin}.so &&
echo %{_libdir}/slurm/${plugin}.so > $LIST
done
#############################################################################
%clean
rm -rf $RPM_BUILD_ROOT
#############################################################################
%files
%defattr(-,root,root,0755)
%doc AUTHORS
%doc NEWS
%doc README
%doc DISCLAIMER
%doc COPYING
%doc etc/slurm.conf.example
%doc doc/html
%{_bindir}/*
%{_sbindir}/*
%{_libdir}/*.so*
%{_libdir}/slurm/src/*
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man8/*
%dir /etc/slurm
%dir %{_libdir}/slurm
%{_libdir}/slurm/checkpoint_none.so
%{_libdir}/slurm/jobcomp_none.so
%{_libdir}/slurm/jobcomp_filetxt.so
%{_libdir}/slurm/jobcomp_script.so
%{_libdir}/slurm/sched_backfill.so
%{_libdir}/slurm/sched_builtin.so
%{_libdir}/slurm/switch_none.so
%dir %{_libdir}/slurm/src
%config(noreplace) /etc/rc.d/init.d/slurm
%config(noreplace) /etc/slurm/slurm.conf
#############################################################################
%files devel
%defattr(-,root,root)
%{_prefix}/include/slurm/*
%{_libdir}/libslurm.a
%{_libdir}/libslurm.la
%{_mandir}/man3/*
#############################################################################
%files auth-none
%defattr(-,root,root)
%{_libdir}/slurm/auth_none.so
#############################################################################
%files -f auth_munge.files auth-munge
%defattr(-,root,root)
#############################################################################
%files -f auth_authd.files auth-authd
%defattr(-,root,root)
#############################################################################
%files sched-wiki
%defattr(-,root,root)
%{_libdir}/slurm/sched_wiki.so
#############################################################################
%files -f switch_elan.files switch-elan
%defattr(-,root,root)
#############################################################################
%pre
#if [ -x /etc/rc.d/init.d/slurm ]; then
# if /etc/rc.d/init.d/slurm status | grep -q running; then
# /etc/rc.d/init.d/slurm stop
# fi
#fi
%post
/sbin/ldconfig %{_libdir}
if [ $1 = 1 ]; then
[ -x /sbin/chkconfig ] && /sbin/chkconfig --add slurm
fi
%preun
if [ $1 = 0 ]; then
if [ -x /etc/rc.d/init.d/slurm ]; then
[ -x /sbin/chkconfig ] && /sbin/chkconfig --del slurm
if /etc/rc.d/init.d/slurm status | grep -q running; then
/etc/rc.d/init.d/slurm stop
fi
fi
fi
%postun
if [ "$1" = 0 ]; then
/sbin/ldconfig %{_libdir}
fi
#############################################################################
%changelog
* Fri Oct 01 2004 Mark Grondona <mgrondona@llnl.gov>
- don't delete and add service in %post
* Wed Aug 04 2004 Mark Grondona <mgrondona@llnl.gov>
- don't allow rpm to strip binaries since this breaks interface to parallel
debuggers.
* Thu Jul 29 2004 Morris Jette <jette1@llnl.gov>
- added checkpoint_none.so and jobcomp_script.so plugins
* Fri Mar 07 2004 Mark Grondona <mgrondona@llnl.gov>
- package optional plugins based on file lists instead of tests
* Tue Jan 27 2004 Moe Jette <jette@llnl.gov>
- package slurm switch plugins - none and elan
* Thu Dec 11 2003 Mark Grondona <mgrondona@llnl.gov>
- package slurm sched plugins
- removed jobcomp-filetxt package -- plugin now part of base package.
* Mon Nov 03 2003 Mark Grondona <mgrondona@llnl.gov>
- also package "jobcomp" plugins
* Fri Oct 10 2003 Mark Grondona <mgrondona@llnl.gov>
- set _unpackaged_files_terminate_build to off
* Wed Sep 17 2003 Mark Grondona <mgrondona@llnl.gov>
- reenable chkconfig --add on install and --del on uninstall
* Wed Aug 13 2003 Mark Grondona <mgrondona@llnl.gov>
- do not stop and start slurm on install/upgrade/etc.
* Thu Apr 10 2003 Mark Grondona <mgrondona@llnl.gov>
- include html documentation in main package
* Wed Mar 26 2003 Mark Grondona <mgrondona@llnl.gov>
- unconditionally build auth-none subpackage
* Fri Mar 21 2003 Mark Grondona <mgrondona@llnl.gov>
- allow debug builds when %debug macro is defined
- other cleanup
* Sat Jan 26 2003 Joey Ekstrom <jcekstrom@llnl.gov>
- Started spec file