X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flustre.spec.in;h=885b9eefd3f8dc5b32f1f4ecdd57796106d32d5c;hb=034b2af5cb4e2c3293ef5d8f807372f0aa842459;hp=6215e7a87bd319a1c2a38824bfd29b2db3747552;hpb=87a2010dd6dc319922325739995b4233518328db;p=fs%2Flustre-release.git diff --git a/build/lustre.spec.in b/build/lustre.spec.in index 6215e7a..885b9ee 100644 --- a/build/lustre.spec.in +++ b/build/lustre.spec.in @@ -1,76 +1,79 @@ # lustre.spec %define version @VERSION@ %define kversion @LINUXRELEASE@ -%define linuxdir @LINUX@ -%define enable_doc @ENABLE_DOC@ -Summary: Lustre Lite File System -Name: lustre-lite +Summary: Lustre File System +Name: lustre Version: %{version} Release: @RELEASE@ Copyright: GPL Group: Utilities/System -Requires: lustre-modules, PyXML -Source: ftp://ftp.lustre.com/pub/lustre/lustre-%{version}.tar.gz +Source: lustre-%{version}.tar.gz +URL: http://clusterfs.com/ BuildRoot: /var/tmp/lustre-%{version}-root +Obsoletes: lustre-lite, lustre-lite-utils, lustre-ldap +Provides: lustre-lite = %{version}, lustre-lite-utils = %{version}, lustre-ldap = %{version} %description -The Lustre Lite Cluster File System: kernel drivers for file system, -servers and utilities. +Userspace tools and files for the Lustre file system. -%package -n lustre-modules -Summary: Kernel Lustre drivers for Linux %{kversion} +%package modules +Summary: Kernel Lustre modules for Linux %{kversion} Requires: modutils >= 2.4.10 Group: Development/Kernel -%description -n lustre-modules -Lustre file System, server and network drivers for Linux %{kversion}. +%description modules +Lustre file system, server and network drivers for Linux %{kversion}. -%package -n lustre-source +%package source Summary: Object-Based Disk storage driver source Group: Development/Kernel -%description -n lustre-source -Lustre Lite Source for further development - -%package -n lustre-doc -Summary: Documentation and sample configuration files -Group: Documentation -# FIXME: BuildArch overrides all the packages in rpm 4.0.4-7x -#BuildArch: noarch - -%description -n lustre-doc -Documentation and sample configuration files for Lustre - -%package -n lustre-ldap -Summary: Configures openldap server for LDAP Lustre config database -Group: Configuration -Requires: openldap-servers, openldap-clients, python-ldap, 4Suite - -%description -n lustre-ldap -Configures openldap server for LDAP Lustre config database +%description source +Lustre sources for further development + +# Since the RPMs we ship are to be used on both SLES and RHEL, we +# can't include any dependency information (since the package names +# are different on the two platforms). +# +# Instead, we can build these empty meta-packages that only include +# dependency information. These let people get the correct +# dependencies for their platform and lets them use tools like yum and +# red carpet to install the correct files. +# +# Unfortunately I have not seen this come up on the lists much, so I +# have disabled them (by commenting out their empty files section +# below) until it's clear that they resolve more confusion than they +# add. + +%package deps-sles +Summary: Lustre dependencies meta-package for SLES +Group: Utilities/System +Provides: lustre-deps = %{version} +Requires: lustre = %{version}, sles-release, python-xml +Conflicts: lustre-deps-rhel +%description deps-sles +This package has RPM dependencies appropriate for SLES systems. -#%package -n liblustre -#Summary: Lustre Lib -#Group: Development/Kernel +%package deps-rhel +Summary: Lustre dependencies meta-package for RHEL +Group: Utilities/System +Provides: lustre-deps = %{version} +Requires: lustre = %{version}, redhat-release, PyXML +Conflicts: lustre-deps-sles -#%description -n liblustre -#Lustre lib binary package. +%description deps-rhel +This package has RPM dependencies appropriate for RHEL, RHL, and FC +systems. %prep %setup -qn lustre-%{version} -#%setup -c -n lustre-%{version}-lib -%if %{enable_doc} - %define disable_doc '' -%else - %define disable_doc --disable-doc -%endif %build # if RPM_BUILD_NCPUS unset, set it if [ -z "$RPM_BUILD_NCPUS" ] ; then - RPM_BUILD_NCPUS=$(egrep -c "^cpu[0-9]+" /proc/stat || :) + RPM_BUILD_NCPUS=$(egrep -c "^cpu[0-9]+" /proc/stat 2>/dev/null || echo 0 :) if [ $RPM_BUILD_NCPUS -eq 0 ] ; then RPM_BUILD_NCPUS=1 fi @@ -83,28 +86,16 @@ rm -rf $RPM_BUILD_ROOT # Set an explicit path to our Linux tree, if we can. cd $RPM_BUILD_DIR/lustre-%{version} -./configure \ - --with-linux='%{linuxdir}' \ - %{disable_doc} --disable-liblustre \ +./configure @ac_configure_args@ \ --sysconfdir=%{_sysconfdir} \ - --mandir=%{_mandir} + --mandir=%{_mandir} \ + --libdir=%{_libdir} make -j $RPM_BUILD_NCPUS -s %install -cd $RPM_BUILD_DIR/lustre-%{version} make install DESTDIR=$RPM_BUILD_ROOT - -%ifarch alpha -# this hurts me - conf_flag= - linuxdir=%{linuxdir} - test -d $linuxdir && conf_flag=--with-linux=$linuxdir - make clean - ./configure --enable-rtscts-myrinet $conf_flag %{disable_doc} - make - cp linux/rtscts/rtscts.o $RPM_BUILD_ROOT/lib/modules/%{kversion}/kernel/net/lustre/rtscts_myrinet.o - cp user/myrinet_utils/mcpload $RPM_BUILD_ROOT/usr/sbin/mcpload -%endif +# hack to avoid changing the libsysio code for "make install" +rm -f $RPM_BUILD_ROOT%{_libdir}/libsysio.a # Create the pristine source directory. cd $RPM_BUILD_DIR/lustre-%{version} @@ -113,123 +104,103 @@ rm -f lustre-source ln -s $RPM_BUILD_ROOT/usr/src lustre-source make distdir distdir=lustre-source/lustre-%{version} -# ldap database directory -mkdir -p $RPM_BUILD_ROOT/var/lib/ldap/lustre - -%files +cat >lustre.files <>lustre.files + echo '%attr(-, root, root) %{_libdir}/liblustre.so' >>lustre.files +fi + +if [ -d $RPM_BUILD_ROOT%{_libdir}/lustre/snmp ] ; then + echo '%attr(-, root, root) %{_libdir}/lustre/snmp' >>lustre.files + echo '%attr(-, root, root) %{_datadir}/lustre/snmp/mibs' >>lustre.files +fi + +%files -f lustre.files + +%files modules %attr(-, root, root) %doc COPYING %attr(-, root, root) /lib/modules/%{kversion}/kernel/fs/lustre -#portals modules %attr(-, root, root) /lib/modules/%{kversion}/kernel/net/lustre -%files -n lustre-source +%files source %attr(-, root, root) /usr/src/lustre-%{version} -#%ifarch i386 -#%files -n liblustre -#%attr(-, root, root) /lib/lustre -#%attr(-, root, root) /usr/sbin/lctl -#%attr(-, root, root) /usr/sbin/lfind -#%attr(-, root, root) /usr/sbin/lstripe -#%attr(-, root, root) /usr/sbin/obdio -#%attr(-, root, root) /usr/sbin/obdbarrier -#%attr(-, root, root) /usr/sbin/obdstat -#%attr(-, root, root) /usr/sbin/lload -#%attr(-, root, root) /usr/sbin/lconf -#%attr(-, root, root) /usr/sbin/lmc -#%attr(-, root, root) /usr/sbin/llanalyze -#%endif - - -%files -n lustre-ldap -%attr(-, root, root) /etc/openldap/slapd-lustre.conf -%attr(-, root, root) /etc/openldap/schema/lustre.schema -%attr(-, root, root) /usr/lib/lustre/lustre2ldif.xsl -%attr(-, root, root) /usr/lib/lustre/top.ldif -#%dir /var/lib/ldap/lustre -%attr(700, ldap, ldap) /var/lib/ldap/lustre +# uncomment these lines to enable deps packages +# %files deps-sles +# %files deps-rhel %post -/sbin/chkconfig --add lustre -/sbin/chkconfig --add lustrefs +if [ -f /etc/init.d/lustre ] ; then + /sbin/chkconfig --add lustre + /sbin/chkconfig --add lustrefs +fi %preun -if [ $1 = 0 ]; then - /sbin/chkconfig --del lustre - /sbin/chkconfig --del lustrefs +if [ $1 = 0 -a -f /etc/init.d/lustre ] ; then + /sbin/chkconfig --del lustre + /sbin/chkconfig --del lustrefs fi +rm -f %{_libdir}/lustre/python/Lustre/*.pyc -%post -n lustre-modules +%post modules if [ ! -e /dev/obd ]; then mknod /dev/obd c 10 241 fi if [ ! -e /dev/portals ]; then mknod /dev/portals c 10 240 fi -depmod -ae || exit 0 +if [ -f /boot/System.map-%{kversion} ]; then + depmod -ae -F /boot/System.map-%{kversion} %{kversion} || exit 0 +else + depmod -ae %{kversion} || exit 0 +fi +for ext in .local "" ; do + f=/etc/modprobe.conf$ext + if [ -f $f ] && ! grep llite $f >/dev/null 2>/dev/null ; then + cat >> $f </dev/null 2>/dev/null ; then + cat >> $f <