Whamcloud - gitweb
b=6205
authorjacob <jacob>
Tue, 26 Apr 2005 22:03:38 +0000 (22:03 +0000)
committerjacob <jacob>
Tue, 26 Apr 2005 22:03:38 +0000 (22:03 +0000)
r=adilger

 - move the lustre kernel modules to their own package
 - lbuild now does 'make rpms' to build lustre modules, more or less
 - pass --with-linux to lbuild to build only lustre rpms against an
   existing kernel source tree
 - drop the lustre-ldap rpm

build/autoMakefile.am.toplevel
build/autoconf/lustre-build.m4
build/lbuild
build/lmake
build/lustre-kernel-2.4.spec.in
build/lustre.spec.in

index 030d30b..2451dd3 100644 (file)
@@ -60,5 +60,8 @@ dist-hook:
        find $(distdir) -name .deps | xargs rm -rf
        find $(distdir) -name CVS | xargs rm -rf
 
        find $(distdir) -name .deps | xargs rm -rf
        find $(distdir) -name CVS | xargs rm -rf
 
-rpms: dist Makefile
+build/lustre.spec: build/lustre.spec.in config.status
+       ./config.status build/lustre.spec
+
+rpms: build/lustre.spec dist Makefile
        rpmbuild -ta $(distdir).tar.gz
        rpmbuild -ta $(distdir).tar.gz
index 03420fa..59dc4ff 100644 (file)
@@ -489,6 +489,8 @@ build/lustre.spec
 LP_CONFIG_FILES
 LC_CONFIG_FILES
 
 LP_CONFIG_FILES
 LC_CONFIG_FILES
 
+AC_SUBST(ac_configure_args)
+
 AC_OUTPUT
 
 cat <<_ACEOF
 AC_OUTPUT
 
 cat <<_ACEOF
index b6e0710..af1590d 100755 (executable)
@@ -4,6 +4,7 @@ TOPDIR=$PWD
 
 # CVSROOT is inherited from the environment
 KERNELDIR=
 
 # CVSROOT is inherited from the environment
 KERNELDIR=
+LINUX=
 LUSTRE=
 PUBLISH=0
 RELEASE=0
 LUSTRE=
 PUBLISH=0
 RELEASE=0
@@ -114,6 +115,10 @@ Usage: ${0##*/} [OPTION]... [-- <lustre configure options>]
     Directory containing Linux source tarballs referenced by target
     files.
 
     Directory containing Linux source tarballs referenced by target
     files.
 
+  --linux=LINUX
+    Directory of Linux kernel sources.  When this option is used, only
+    Lustre modules and userspace are built.
+
   --lustre=LUSTRE
     Path to an existing lustre source tarball to use instead of
     pulling from CVS.
   --lustre=LUSTRE
     Path to an existing lustre source tarball to use instead of
     pulling from CVS.
@@ -132,6 +137,9 @@ Usage: ${0##*/} [OPTION]... [-- <lustre configure options>]
     Specifies that the files generated do not include timestamps, and
     that this is an official release.
 
     Specifies that the files generated do not include timestamps, and
     that this is an official release.
 
+  --src
+    Build a .src.rpm, a full kernel patch, and a patched kernel tarball.
+
   --tag=TAG
     A CVS branch/tag name to build from when pulling from CVS.
 
   --tag=TAG
     A CVS branch/tag name to build from when pulling from CVS.
 
@@ -173,24 +181,26 @@ check_options()
            usage 1 "A branch/tag name must be specified with --tag when not building from a tarball."
     fi
 
            usage 1 "A branch/tag name must be specified with --tag when not building from a tarball."
     fi
 
-    [ "$KERNELDIR" ] || \
-       usage 1 "A kernel directory must be specified with --kerneldir."
+    if [ -z "$LINUX" ] ; then
+       [ "$KERNELDIR" ] || \
+           usage 1 "A kernel directory must be specified with --kerneldir."
 
 
-    [ -d "$KERNELDIR" ] || \
-       usage 1 "$KERNELDIR is not a directory."
+       [ -d "$KERNELDIR" ] || \
+           usage 1 "$KERNELDIR is not a directory."
 
 
-    if ! (( $RELEASE )) ; then
-       [ "$TAG" ] || \
-           usage 1 "When building a snapshot, a tag name must be used."
+       if ! (( $RELEASE )) ; then
+           [ "$TAG" ] || \
+               usage 1 "When building a snapshot, a tag name must be used."
+       fi
+
+       [ "$TARGET" ] || usage 1 "A target must be specified with --target."
+#       TARGET_FILE="$TOPDIR/lustre/kernel_patches/targets/$TARGET.target"
+#       [ -r "$TARGET_FILE" ] || \
+#              usage 1 "Target '$TARGET' was not found."
     fi
 
     TIMESTAMP=$(date -d "$DATE" "+%Y%m%d%H%M")
 
     fi
 
     TIMESTAMP=$(date -d "$DATE" "+%Y%m%d%H%M")
 
-    [ "$TARGET" ] || usage 1 "A target must be specified with --target."
-#    TARGET_FILE="$TOPDIR/lustre/kernel_patches/targets/$TARGET.target"
-#    [ -r "$TARGET_FILE" ] || \
-#      usage 1 "Target '$TARGET' was not found."
-
     RPMBUILD=$(which rpmbuild 2>/dev/null | head -1)
     if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
        RPMBUILD=$(which rpm 2>/dev/null | head -1)
     RPMBUILD=$(which rpmbuild 2>/dev/null | head -1)
     if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
        RPMBUILD=$(which rpm 2>/dev/null | head -1)
@@ -409,7 +419,7 @@ clean_linux()
     rm -rf linux
 }
 
     rm -rf linux
 }
 
-prep_build()
+prep_kernel_build()
 {
     # make .spec file
     ENABLE_INIT_SCRIPTS=""
 {
     # make .spec file
     ENABLE_INIT_SCRIPTS=""
@@ -456,14 +466,14 @@ prep_build()
 clean_lustre()
 {
     [ -d lustre ] || return 0
 clean_lustre()
 {
     [ -d lustre ] || return 0
-    echo "Cleaning lustre..."
+    echo "Cleaning Lustre..."
     [ -L lustre ] && rm -rf $(readlink lustre)
     rm -rf lustre
 }
 
     [ -L lustre ] && rm -rf $(readlink lustre)
     rm -rf lustre
 }
 
-build()
+build_kernel()
 {
 {
-    echo "Building rpms for: $BUILD_ARCHS..."
+    echo "Building kernel + Lustre RPMs for: $BUILD_ARCHS..."
     targets=
     for arch in $BUILD_ARCHS ; do
        targets="--target $arch $targets"
     targets=
     for arch in $BUILD_ARCHS ; do
        targets="--target $arch $targets"
@@ -471,7 +481,7 @@ build()
 
     $RPMBUILD $targets -bb lustre-kernel-2.4.spec \
        --define "_topdir $TOPDIR" || \
 
     $RPMBUILD $targets -bb lustre-kernel-2.4.spec \
        --define "_topdir $TOPDIR" || \
-       fatal 1 "Error building rpms for $arch."
+       fatal 1 "Error building rpms for $BUILD_ARCHS."
 
     if (( $DO_SRC )) ; then
        $RPMBUILD -bs lustre-kernel-2.4.spec \
 
     if (( $DO_SRC )) ; then
        $RPMBUILD -bs lustre-kernel-2.4.spec \
@@ -480,6 +490,32 @@ build()
     fi
 }
 
     fi
 }
 
+build_lustre()
+{
+    [ -d SRPMS ] || mkdir SRPMS
+    [ -d RPMS ] || mkdir RPMS
+    [ -d BUILD ] || mkdir BUILD
+    [ -d SOURCES ] || mkdir SOURCES
+
+    cp "$LUSTRE" SOURCES
+
+    pushd lustre >/dev/null
+
+    echo "Building Lustre RPMs for: $BUILD_ARCHS..."
+    targets=
+    for arch in $BUILD_ARCHS ; do
+       targets="--target $arch $targets"
+    done
+
+    ./configure "--with-linux=${LINUX}" ${CONFIGURE_FLAGS}
+
+    $RPMBUILD $targets -bb build/lustre.spec \
+       --define "_topdir $TOPDIR" || \
+       fatal 1 "Error building rpms for $BUILD_ARCHS."
+
+    popd >/dev/null
+}
+
 publish()
 {
     publishing || return 0
 publish()
 {
     publishing || return 0
@@ -487,7 +523,10 @@ publish()
 
 [ -r ~/.lbuildrc ] && . ~/.lbuildrc
 
 
 [ -r ~/.lbuildrc ] && . ~/.lbuildrc
 
-options=$(getopt -o d:D:h -l external-patches:,extraversion:,kerneldir:,lustre:,nodownload,nosrc,publish,release,tag:,target:,target-archs:,disable-datestamp -- "$@")
+options=$(getopt -o d:D:h -l external-patches:,extraversion:,kerneldir:,linux:,lustre:,nodownload,nosrc,publish,release,tag:,target:,target-archs:,disable-datestamp -- "$@")
+if [ $? != 0 ] ; then
+    usage 1
+fi
 
 eval set -- "$options"
     
 
 eval set -- "$options"
     
@@ -519,6 +558,10 @@ while [ "$1" ] ; do
            KERNELDIR=$2
            shift 2
            ;;
            KERNELDIR=$2
            shift 2
            ;;
+       --linux | --with-linux)
+           LINUX=$2
+           shift 2
+           ;;
        --lustre)
            LUSTRE=$2
            shift 2
        --lustre)
            LUSTRE=$2
            shift 2
@@ -539,6 +582,10 @@ while [ "$1" ] ; do
            RELEASE=1
            shift
            ;;
            RELEASE=1
            shift
            ;;
+       --src)
+           DO_SRC=1
+           shift 1
+           ;;
        --tag)
            TAG=$2
            shift 2
        --tag)
            TAG=$2
            shift 2
@@ -569,18 +616,24 @@ done
 check_options
 
 unpack_lustre
 check_options
 
 unpack_lustre
-load_target
-
-if (( $DO_SRC )) ; then
-    unpack_linux
-    patch_linux
-    pack_linux
-    clean_linux
-fi
 
 # prep_build needs the .spec.in from the lustre source
 
 # prep_build needs the .spec.in from the lustre source
-prep_build
-clean_lustre
+if [ -z "$LINUX" ] ; then
+    load_target
+
+    if (( $DO_SRC )) ; then
+       unpack_linux
+       patch_linux
+       pack_linux
+       clean_linux
+    fi
+
+    prep_kernel_build
+    clean_lustre
+
+    build_kernel
+else
+    build_lustre
+fi
 
 
-build
 publish
 publish
index ff61519..51cba5b 100755 (executable)
@@ -45,6 +45,7 @@ TARGET_FILE=
 KERNEL_FILE=
 SERIES_FILE=
 CONFIG_FILE=
 KERNEL_FILE=
 SERIES_FILE=
 CONFIG_FILE=
+RPMBUILD=
 
 canon()
 {
 
 canon()
 {
@@ -52,7 +53,24 @@ canon()
     echo $PWD
     popd >/dev/null
 }
     echo $PWD
     popd >/dev/null
 }
-TOPDIR=$(canon "${0%%${0##*/}}/..")
+TOPDIR="${0%%${0##*/}}"
+if [ "${TOPDIR}" ] ; then
+    TOPDIR=$(canon "${TOPDIR}/..")
+else
+    TOPDIR=$(canon "..")
+fi
+
+lbuild_topdir()
+{
+    retdir=$TOPDIR
+    while [ ! -d $retdir/BUILD ] ; do
+       retdir=$(canon "$retdir/..")
+       if [ "$retdir" = "/" ] ; then
+           break;
+       fi
+    done
+    echo "$retdir"
+}
 
 cleanup()
 {
 
 cleanup()
 {
@@ -179,6 +197,14 @@ check_options()
     if [ -z "$JOBS" -o "$JOBS" -lt "1" ] ; then
        JOBS=1
     fi
     if [ -z "$JOBS" -o "$JOBS" -lt "1" ] ; then
        JOBS=1
     fi
+
+    RPMBUILD=$(which rpmbuild 2>/dev/null | head -1)
+    if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
+       RPMBUILD=$(which rpm 2>/dev/null | head -1)
+       if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
+           usage 1 "Could not find binary for making rpms (tried rpmbuild and rpm)."
+       fi
+    fi
 }
 
 get_lustre_version()
 }
 
 get_lustre_version()
@@ -365,6 +391,7 @@ build_kernel()
 
 configure_lustre()
 {
 
 configure_lustre()
 {
+    return 0
     (( $BUILD_LUSTRE )) || return 0
     pushd "$TOPDIR" >/dev/null
     [ -f Makefile ] && make -s clean
     (( $BUILD_LUSTRE )) || return 0
     pushd "$TOPDIR" >/dev/null
     [ -f Makefile ] && make -s clean
@@ -378,8 +405,19 @@ build_lustre()
 {
     (( $BUILD_LUSTRE )) || return 0
     set_make
 {
     (( $BUILD_LUSTRE )) || return 0
     set_make
+    FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
     pushd "$TOPDIR" >/dev/null
     pushd "$TOPDIR" >/dev/null
-    $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre."
+    sed \
+       -e s^@VERSION@^${LUSTRE_VERSION}^g \
+       -e s^@LINUXRELEASE@^${FULL_VERSION}^g \
+       -e s^@RELEASE@^${FULL_VERSION//-/_}^g \
+       -e s^@ac_configure_args@^"--with-linux=${PWD}/linux ${CONFIGURE_FLAGS}"^g \
+       < build/lustre.spec.in \
+       > build/lustre.spec
+    $RPMBUILD --target ${TARGET_ARCH} -bb build/lustre.spec \
+       --define "_topdir $(lbuild_topdir)" || \
+       fatal 1 "Error building Lustre rpms."
+    # $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre."
     popd >/dev/null
 }
 
     popd >/dev/null
 }
 
@@ -443,6 +481,7 @@ install_kernel()
 install_lustre()
 {
     (( $INSTALL_LUSTRE )) || return 0
 install_lustre()
 {
     (( $INSTALL_LUSTRE )) || return 0
+    return 0
     set_make
     FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
     pushd "$TOPDIR" >/dev/null
     set_make
     FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
     pushd "$TOPDIR" >/dev/null
index d03e614..fbb0831 100644 (file)
@@ -531,11 +531,7 @@ BuildKernel()
        --kerneldir $RPM_SOURCE_DIR \
        -j $RPM_BUILD_NCPUS \
        --destdir $RPM_BUILD_ROOT \
        --kerneldir $RPM_SOURCE_DIR \
        -j $RPM_BUILD_NCPUS \
        --destdir $RPM_BUILD_ROOT \
-       -- --enable-modules \
-       --disable-doc --disable-tests \
-       --disable-utils --disable-liblustre \
-       --sysconfdir=%{_sysconfdir} \
-       --mandir=%{_mandir} \
+       -- --disable-tests \
        @CONFIGURE_FLAGS@
 }
 
        @CONFIGURE_FLAGS@
 }
 
@@ -601,7 +597,7 @@ BuildKernel
 %endif
 
 %if %{buildbase}
 %endif
 
 %if %{buildbase}
-BuildLustre
+BuildLustre
 %endif
 
 popd >/dev/null
 %endif
 
 popd >/dev/null
@@ -971,40 +967,5 @@ fi
 %endif
 
 %if %{buildbase}
 %endif
 
 %if %{buildbase}
-
 %files source -f kernel-source.files
 %files source -f kernel-source.files
-
-%files doc
-%defattr(-,root,root)
-%doc lustre/linux/Documentation/*
-
-%files -n lustre-lite-utils
-%defattr(-, root, root)
-%doc lustre/COPYING lustre/lustre/BUGS lustre/ChangeLog lustre/README
-/sbin/*
-/usr/sbin/*
-/usr/bin/*
-/usr/lib/lustre/python
-@ENABLE_INIT_SCRIPTS@/etc/init.d/lustre
-@ENABLE_INIT_SCRIPTS@/etc/init.d/lustrefs
-/usr/include/lustre/*
-/usr/include/linux/*
-/usr/lib/lib*.a
-/usr/share/man/man?/*
-
-#%files -n lustre-doc
-#%defattr(-, root, root)
-#/usr/share/doc/lustre/COPYING
-#/usr/share/doc/lustre/lustre.pdf
-#/usr/share/doc/lustre/COPYING
-
-/usr/share/lustre/examples
-
-%files -n lustre-ldap
-%defattr(-, root, root)
-/etc/openldap/slapd-lustre.conf
-/etc/openldap/schema/lustre.schema
-/usr/share/lustre/lustre2ldif.xsl
-/usr/share/lustre/top.ldif
-
-%endif # %{buildbase}
+%endif
index da2a1c5..520bf91 100644 (file)
@@ -1,74 +1,75 @@
 # lustre.spec
 %define version @VERSION@
 %define kversion @LINUXRELEASE@
 # lustre.spec
 %define version @VERSION@
 %define kversion @LINUXRELEASE@
-%define linuxdir @LINUX@
-%define enable_doc @ENABLE_DOC@
-%define enable_init_scripts @ENABLE_INIT_SCRIPTS@
-%define enable_gm @ENABLE_GM@
 
 
-Summary: Lustre Lite File System
-Name: lustre-lite
+Summary: Lustre File System
+Name: lustre
 Version: %{version}
 Release: @RELEASE@
 Copyright: GPL
 Group: Utilities/System
 Version: %{version}
 Release: @RELEASE@
 Copyright: GPL
 Group: Utilities/System
-Requires: lustre-modules, PyXML
-Source: ftp://ftp.lustre.com/pub/lustre/lustre-%{version}.tar.gz
+Requires: lustre-modules
+Source: lustre-%{version}.tar.gz
+URL: http://clusterfs.com/
 BuildRoot: /var/tmp/lustre-%{version}-root
 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
 
 %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
 
 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
 
 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}
 
 %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
 
 %build
 # if RPM_BUILD_NCPUS unset, set it
@@ -86,35 +87,17 @@ rm -rf $RPM_BUILD_ROOT
 
 # Set an explicit path to our Linux tree, if we can.
 cd $RPM_BUILD_DIR/lustre-%{version}
 
 # Set an explicit path to our Linux tree, if we can.
 cd $RPM_BUILD_DIR/lustre-%{version}
-./configure \
-       --enable-smfs \
-       --with-linux='%{linuxdir}' \
-       --with-linux-obj='@LINUX_OBJ@' \
-       --with-linux-config=@LINUX_CONFIG@ \
-       %{disable_doc} --disable-liblustre \
+./configure @ac_configure_args@ \
        --sysconfdir=%{_sysconfdir} \
        --mandir=%{_mandir} \
        --libdir=%{_libdir}
 make -j $RPM_BUILD_NCPUS -s
 
 %install
        --sysconfdir=%{_sysconfdir} \
        --mandir=%{_mandir} \
        --libdir=%{_libdir}
 make -j $RPM_BUILD_NCPUS -s
 
 %install
-cd $RPM_BUILD_DIR/lustre-%{version}
 make install DESTDIR=$RPM_BUILD_ROOT
 # hack to avoid changing the libsysio code for "make install"
 rm -f $RPM_BUILD_ROOT%{_libdir}/libsysio.a
 
 make install DESTDIR=$RPM_BUILD_ROOT
 # hack to avoid changing the libsysio code for "make install"
 rm -f $RPM_BUILD_ROOT%{_libdir}/libsysio.a
 
-%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
-
 # Create the pristine source directory.
 cd $RPM_BUILD_DIR/lustre-%{version}
 mkdir -p $RPM_BUILD_ROOT/usr/src
 # Create the pristine source directory.
 cd $RPM_BUILD_DIR/lustre-%{version}
 mkdir -p $RPM_BUILD_ROOT/usr/src
@@ -122,9 +105,6 @@ rm -f lustre-source
 ln -s $RPM_BUILD_ROOT/usr/src lustre-source
 make distdir distdir=lustre-source/lustre-%{version}
 
 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
 %attr(-, root, root) /sbin/mount.lustre
 %attr(-, root, root) /usr/sbin/*
 %files
 %attr(-, root, root) /sbin/mount.lustre
 %attr(-, root, root) /usr/sbin/*
@@ -132,67 +112,32 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/ldap/lustre
 %attr(-, root, root) %{_libdir}/lustre/python
 %attr(-, root, root) /usr/share/lustre/examples
 
 %attr(-, root, root) %{_libdir}/lustre/python
 %attr(-, root, root) /usr/share/lustre/examples
 
-%if %{enable_init_scripts}
 %attr(-, root, root) /etc/init.d/lustre
 %attr(-, root, root) /etc/init.d/lustrefs
 %attr(-, root, root) /etc/init.d/lustre
 %attr(-, root, root) /etc/init.d/lustrefs
-%endif
 
 %attr(-, root, root) %{_libdir}/libptlctl.a
 %attr(-, root, root) %{_libdir}/liblustreapi.a
 %attr(-, root, root) /usr/include/lustre
 %attr(-, root, root) /usr/include/linux/lustre_idl.h
 
 
 %attr(-, root, root) %{_libdir}/libptlctl.a
 %attr(-, root, root) %{_libdir}/liblustreapi.a
 %attr(-, root, root) /usr/include/lustre
 %attr(-, root, root) /usr/include/linux/lustre_idl.h
 
-%attr(-, root, root) /usr/share/man/man?/*
-
-%ifarch alpha
-%attr(-, root, root) /usr/sbin/mcpload
-%endif
-
-%files -n lustre-doc
-%attr(-, root, root) %doc COPYING lustre/FDL
-%if %{enable_doc}
-%attr(-, root, root) %doc doc/lustre.pdf doc/lustre-HOWTO.txt
-%endif
-#%attr(-, root, root) %doc tests/client-echo.cfg tests/client-mount.cfg
-#%attr(-, root, root) %doc tests/client-mount2.cfg
-#%attr(-, root, root) %doc tests/elan-client.cfg tests/elan-server.cfg
-#%attr(-, root, root) %doc tests/ldlm.cfg tests/lustre.cfg
-#%attr(-, root, root) %doc tests/mds.cfg tests/net-client.cfg
-#%attr(-, root, root) %doc tests/net-local.cfg tests/net-server.cfg
-#%attr(-, root, root) %doc tests/obdecho.cfg tests/obdfilter.cfg
-
-%files -n lustre-modules
+%attr(-, root, root) %{_mandir}/man?/*
+
+%attr(-, root, root) /etc/openldap/slapd-lustre.conf
+%attr(-, root, root) /etc/openldap/schema/lustre.schema
+%attr(-, root, root) /usr/share/lustre/lustre2ldif.xsl
+%attr(-, root, root) /usr/share/lustre/top.ldif
+
+%files modules
 %attr(-, root, root) %doc COPYING
 %attr(-, root, root) /lib/modules/%{kversion}/kernel/fs/lustre
 %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
 
 %attr(-, root, root) /lib/modules/%{kversion}/kernel/net/lustre
 
-%files -n lustre-source
+%files source
 %attr(-, root, root) /usr/src/lustre-%{version}
 
 %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/share/lustre/lustre2ldif.xsl
-%attr(-, root, root) /usr/share/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
 if [ -f /etc/init.d/lustre ] ; then
 
 %post
 if [ -f /etc/init.d/lustre ] ; then
@@ -206,7 +151,7 @@ if [ $1 = 0 -a -f /etc/init.d/lustre ] ; then
        /sbin/chkconfig --del lustrefs
 fi
 
        /sbin/chkconfig --del lustrefs
 fi
 
-%post -n lustre-modules
+%post modules
 if [ ! -e /dev/obd ]; then
    mknod /dev/obd c 10 241
 fi
 if [ ! -e /dev/obd ]; then
    mknod /dev/obd c 10 241
 fi
@@ -219,7 +164,7 @@ else
        depmod -ae %{kversion} || exit 0
 fi
 
        depmod -ae %{kversion} || exit 0
 fi
 
-%postun -n lustre-modules
+%postun modules
 if [ -f /boot/System.map-%{kversion} ]; then
        depmod -ae -F /boot/System.map-%{kversion} %{kversion} || exit 0
 else
 if [ -f /boot/System.map-%{kversion} ]; then
        depmod -ae -F /boot/System.map-%{kversion} %{kversion} || exit 0
 else
@@ -227,6 +172,4 @@ else
 fi
 
 %clean
 fi
 
 %clean
-#rm -rf $RPM_BUILD_ROOT
-
-# end of file
+rm -rf $RPM_BUILD_ROOT