Whamcloud - gitweb
0990afe5dff4513fa98385c37c3d4c861e91c5e8
[fs/lustre-release.git] / build / lustre.spec.in
1 # lustre.spec
2 %define version @VERSION@
3 %define kversion @LINUXRELEASE@
4 %define linuxdir @LINUX@
5 %define enable_doc @ENABLE_DOC@
6
7 Summary: Lustre Lite File System
8 Name: lustre-lite
9 Version: %{version}
10 Release: @RELEASE@
11 Copyright: GPL
12 Group: Utilities/System
13 Requires: lustre-modules, PyXML
14 Source: ftp://ftp.lustre.com/pub/lustre/lustre-%{version}.tar.gz
15 BuildRoot: /var/tmp/lustre-%{version}-root
16
17 %description
18 The Lustre Lite Cluster File System: kernel drivers for file system,
19 servers and utilities.
20
21 %package -n lustre-modules
22 Summary: Kernel Lustre drivers for Linux %{kversion}
23 Requires: modutils >= 2.4.10
24 Group: Development/Kernel
25
26 %description -n lustre-modules
27 Lustre file System, server and network drivers for Linux %{kversion}.
28
29 %package -n lustre-source
30 Summary: Object-Based Disk storage driver source
31 Group: Development/Kernel
32
33 %description -n lustre-source
34 Lustre Lite Source for further development
35
36 %package -n lustre-doc
37 Summary: Documentation and sample configuration files
38 Group: Documentation
39 # FIXME: BuildArch overrides all the packages in rpm 4.0.4-7x
40 #BuildArch: noarch
41
42 %description -n lustre-doc
43 Documentation and sample configuration files for Lustre
44
45 %package -n lustre-ldap
46 Summary: Configures openldap server for LDAP Lustre config database
47 Group: Configuration
48 Requires: openldap-servers, openldap-clients, python-ldap, 4Suite
49
50 %description -n lustre-ldap
51 Configures openldap server for LDAP Lustre config database
52
53
54 #%package -n liblustre
55 #Summary: Lustre Lib
56 #Group: Development/Kernel
57
58 #%description -n liblustre
59 #Lustre lib binary package.
60
61 %prep
62 %setup -qn lustre-%{version}
63 #%setup -c -n lustre-%{version}-lib
64 %if %{enable_doc}
65   %define disable_doc ''
66 %else
67   %define disable_doc --disable-doc
68 %endif
69
70 %build
71 # if RPM_BUILD_NCPUS unset, set it
72 if [ -z "$RPM_BUILD_NCPUS" ] ; then
73     RPM_BUILD_NCPUS=$(egrep -c "^cpu[0-9]+" /proc/stat || :)
74     if [ $RPM_BUILD_NCPUS -eq 0 ] ; then
75         RPM_BUILD_NCPUS=1
76     fi
77     if [ $RPM_BUILD_NCPUS -gt 8 ] ; then
78         RPM_BUILD_NCPUS=8
79     fi
80 fi
81
82 rm -rf $RPM_BUILD_ROOT
83
84 # Set an explicit path to our Linux tree, if we can.
85 cd $RPM_BUILD_DIR/lustre-%{version}
86 ./configure \
87         --with-linux='%{linuxdir}' \
88         --with-linux-obj='@LINUX_OBJ@' \
89         %{disable_doc} --disable-liblustre \
90         --sysconfdir=%{_sysconfdir} \
91         --mandir=%{_mandir}
92 make -j $RPM_BUILD_NCPUS -s
93
94 %install
95 cd $RPM_BUILD_DIR/lustre-%{version}
96 make install DESTDIR=$RPM_BUILD_ROOT
97
98 %ifarch alpha
99 # this hurts me
100   conf_flag=
101   linuxdir=%{linuxdir}
102   test -d $linuxdir && conf_flag=--with-linux=$linuxdir
103   make clean
104   ./configure --enable-rtscts-myrinet $conf_flag %{disable_doc}
105   make
106   cp linux/rtscts/rtscts.o $RPM_BUILD_ROOT/lib/modules/%{kversion}/kernel/net/lustre/rtscts_myrinet.o
107   cp user/myrinet_utils/mcpload $RPM_BUILD_ROOT/usr/sbin/mcpload
108 %endif
109
110 # Create the pristine source directory.
111 cd $RPM_BUILD_DIR/lustre-%{version}
112 mkdir -p $RPM_BUILD_ROOT/usr/src
113 rm -f lustre-source
114 ln -s $RPM_BUILD_ROOT/usr/src lustre-source
115 make distdir distdir=lustre-source/lustre-%{version}
116
117 # ldap database directory
118 mkdir -p $RPM_BUILD_ROOT/var/lib/ldap/lustre
119
120 %files
121 %attr(-, root, root) /sbin/mount.lustre
122 %attr(-, root, root) /usr/sbin/lmc
123 %attr(-, root, root) /usr/sbin/lctl
124 %attr(-, root, root) /usr/sbin/lconf
125 %attr(-, root, root) /usr/sbin/lrun
126 %attr(-, root, root) /usr/sbin/llmount
127 %attr(-, root, root) /usr/sbin/lwizard
128 %attr(-, root, root) /usr/sbin/wiretest
129 %attr(-, root, root) /usr/sbin/lactive
130 %attr(-, root, root) /usr/sbin/llanalyze
131 %attr(-, root, root) /usr/sbin/gmnalnid
132 %attr(-, root, root) /usr/sbin/llstat.pl
133 %attr(-, root, root) /usr/sbin/llobdstat.pl
134 %attr(-, root, root) /usr/sbin/load_ldap.sh
135 %attr(-, root, root) /usr/sbin/acceptor
136 %attr(-, root, root) /usr/sbin/ptlctl
137 %attr(-, root, root) /usr/sbin/debugctl
138 %attr(-, root, root) /usr/sbin/lload
139 %attr(-, root, root) /usr/sbin/obdbarrier
140 %attr(-, root, root) /usr/sbin/obdio
141 %attr(-, root, root) /usr/sbin/routerstat
142 %attr(-, root, root) /usr/sbin/wirecheck
143 %attr(-, root, root) /usr/bin/lfs
144 %attr(-, root, root) /usr/bin/lfind
145 %attr(-, root, root) /usr/bin/lstripe
146 %attr(-, root, root) /usr/bin/mcreate
147 %attr(-, root, root) /usr/bin/munlink
148 %attr(-, root, root) /usr/lib/lustre/python
149 %attr(-, root, root) /usr/share/lustre/examples
150
151 %attr(-, root, root) /etc/init.d/lustre
152 %attr(-, root, root) /etc/init.d/lustrefs
153 %attr(-, root, root) /usr/lib/libptlctl.a
154 %attr(-, root, root) /usr/lib/liblustreapi.a
155 %attr(-, root, root) /usr/include/lustre
156 %attr(-, root, root) /usr/include/portals
157 %attr(-, root, root) /usr/include/linux/lustre_idl.h
158
159 %attr(-, root, root) /usr/share/man/man?/*
160
161 %ifarch alpha
162 %attr(-, root, root) /usr/sbin/mcpload
163 %endif
164
165 %files -n lustre-doc
166 %attr(-, root, root) %doc COPYING FDL
167 %if %{enable_doc}
168 %attr(-, root, root) %doc doc/lustre.pdf doc/lustre-HOWTO.txt
169 %endif
170 #%attr(-, root, root) %doc tests/client-echo.cfg tests/client-mount.cfg
171 #%attr(-, root, root) %doc tests/client-mount2.cfg
172 #%attr(-, root, root) %doc tests/elan-client.cfg tests/elan-server.cfg
173 #%attr(-, root, root) %doc tests/ldlm.cfg tests/lustre.cfg
174 #%attr(-, root, root) %doc tests/mds.cfg tests/net-client.cfg
175 #%attr(-, root, root) %doc tests/net-local.cfg tests/net-server.cfg
176 #%attr(-, root, root) %doc tests/obdecho.cfg tests/obdfilter.cfg
177
178 %files -n lustre-modules
179 %attr(-, root, root) %doc COPYING
180 %attr(-, root, root) /lib/modules/%{kversion}/kernel/fs/lustre
181 #portals modules
182 %attr(-, root, root) /lib/modules/%{kversion}/kernel/net/lustre
183
184 %files -n lustre-source
185 %attr(-, root, root) /usr/src/lustre-%{version}
186
187 #%ifarch i386
188 #%files -n liblustre
189 #%attr(-, root, root) /lib/lustre
190 #%attr(-, root, root) /usr/sbin/lctl
191 #%attr(-, root, root) /usr/sbin/lfind
192 #%attr(-, root, root) /usr/sbin/lstripe
193 #%attr(-, root, root) /usr/sbin/obdio
194 #%attr(-, root, root) /usr/sbin/obdbarrier
195 #%attr(-, root, root) /usr/sbin/obdstat
196 #%attr(-, root, root) /usr/sbin/lload
197 #%attr(-, root, root) /usr/sbin/lconf
198 #%attr(-, root, root) /usr/sbin/lmc
199 #%attr(-, root, root) /usr/sbin/llanalyze
200 #%endif
201
202
203 %files -n lustre-ldap
204 %attr(-, root, root) /etc/openldap/slapd-lustre.conf
205 %attr(-, root, root) /etc/openldap/schema/lustre.schema
206 %attr(-, root, root) /usr/lib/lustre/lustre2ldif.xsl
207 %attr(-, root, root) /usr/lib/lustre/top.ldif
208 #%dir /var/lib/ldap/lustre
209 %attr(700, ldap, ldap) /var/lib/ldap/lustre
210
211 %post
212 /sbin/chkconfig --add lustre
213 /sbin/chkconfig --add lustrefs
214
215 %preun
216 if [ $1 = 0 ]; then
217   /sbin/chkconfig --del lustre
218   /sbin/chkconfig --del lustrefs
219 fi
220
221 %post -n lustre-modules
222 if [ ! -e /dev/obd ]; then
223    mknod /dev/obd c 10 241
224 fi
225 if [ ! -e /dev/portals ]; then
226    mknod /dev/portals c 10 240
227 fi
228 depmod -ae || exit 0
229
230 %postun -n lustre-modules
231 depmod -ae || exit 0
232
233 %clean
234 #rm -rf $RPM_BUILD_ROOT
235
236 # end of file