X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flustre-kernel-2.4.spec.in;h=d77a0b8310f4188f5d9d0f31697b34805e7b251a;hb=fdf2fb945d638beb2dd50d812f33c803340084b9;hp=fbb0831cb11fdd64ad3454cdd12edd9a6307c99e;hpb=5db8cc0de19278d4b84c72895c0e4178572f48c5;p=fs%2Flustre-release.git diff --git a/build/lustre-kernel-2.4.spec.in b/build/lustre-kernel-2.4.spec.in index fbb0831..d77a0b8 100644 --- a/build/lustre-kernel-2.4.spec.in +++ b/build/lustre-kernel-2.4.spec.in @@ -146,7 +146,7 @@ Second, per-architecture exclusions (ifarch) %define kernel_glob vmlinu?-%{KVERREL} %endif -Name: kernel +Name: kernel-lustre Version: %{kversion} Release: %{release}%{?targetboard:%{targetboard}}%{?debuglevel_1:.dbg} %define KVERREL %{PACKAGE_VERSION}-%{kextraver}%{?targetboard:%{targetboard}}%{?debuglevel_1:.dbg} @@ -171,7 +171,7 @@ BuildPreReq: bzip2, findutils, dev, gzip, m4 Vendor: Cluster File Systems, Inc. URL: http://www.kernel.org/ -Buildroot: /var/tmp/%{name}-%{PACKAGE_VERSION}-root +Buildroot: %{_tmppath}/%{name}-%{version}-root Source0: @LUSTRE_SOURCE@ Source1: @KERNEL_SOURCE@ @@ -353,7 +353,7 @@ The Lustre Lite file system utilities. This includes the tools needed to configure, mount, and administer a Lustre filesystem. This package is necessary if you want to access a Lustre filesystem. -# the lustre-doc files are just included as %doc wiht +# the lustre-doc files are just included as %doc with # lustre-lite-utils #%package -n lustre-doc @@ -364,13 +364,10 @@ is necessary if you want to access a Lustre filesystem. #The Lustre book, sample configurations, and other documentation for #Lustre. -%package -n lustre-ldap -Summary: LDAP schema files for Lustre -Group: System Environment/Daemons - -%description -n lustre-ldap -LDAP schema files for Lustre. These are needed if you plan to store -your Lustre configuration in LDAP, rather than on disk. +# This is required in rpm >= 4.4.? and _should_ be set by the %setup macro +# but isn't, at least for 4.4.2. Yay RPM. +%define buildsubdir lustre-kernel-%{version} +%define _buildsubdir lustre-kernel-%{version} %prep %setup -n lustre-kernel-%{version} -q -c @@ -402,6 +399,9 @@ for flavor in "" smp bigmem bigsmp pseries64 BOOT jensen ; do echo "fi" >> ${script} ;; post) + # /sbin/update-modules.dep compares when the modules were built, rather + # than installed, so force modules.dep to be recreated + echo "rm -f /lib/modules/%{KVERREL}${flavor}/modules.dep" >> ${script} echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script} sed -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE26} >> ${script} @@ -435,7 +435,11 @@ EOF [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade [ -x /sbin/mkkerneldoth ] && /sbin/mkkerneldoth if [ -x /sbin/new-kernel-pkg ] ; then - /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL}${flavor} + if /sbin/new-kernel-pkg 2>&1 | grep package >/dev/null ; then + PACKAGE_ARG="--package kernel-${flavor}" + fi + /sbin/new-kernel-pkg $PACKAGE_ARG --mkinitrd --depmod \ + --install %{KVERREL}${flavor} fi EOF ;; @@ -531,7 +535,7 @@ BuildKernel() --kerneldir $RPM_SOURCE_DIR \ -j $RPM_BUILD_NCPUS \ --destdir $RPM_BUILD_ROOT \ - -- --disable-tests \ + -- --enable-tests \ @CONFIGURE_FLAGS@ } @@ -608,8 +612,6 @@ pushd lustre >/dev/null # specific for i in $RPM_BUILD_ROOT/lib/modules/* ; do rm -f $i/modules.* - rm -f $i/build - ln -sf ../../../usr/src/linux-%{KVERREL} $i/build %ifarch %{ntplarchs} # remove legacy pcmcia symlink that's no longer useful rm -rf $i/pcmcia @@ -633,8 +635,9 @@ BuildObj () c="$RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}" o="${c}-obj/%{_target_cpu}/$flavor" mkdir -p $o - cp ../lustre/kernel_patches/kernel_configs/kernel-%{kversion}-@LUSTRE_TARGET@-%{_target_cpu}%{dashtargetboard}${flavext}.config \ - $o/.config + # use the one we just built + #cp ../lustre/kernel_patches/kernel_configs/kernel-%{kversion}-@LUSTRE_TARGET@-%{_target_cpu}%{dashtargetboard}${flavext}.config \ + cp .config $o/.config for oc in oldconfig_nonint silentoldconfig oldconfig ; do if grep -q "$oc" Makefile ; then OLDCONFIG="$oc" @@ -650,17 +653,26 @@ BuildObj () $MAKE clean rm -rf $o/.config.old $o/include/config # Replace the Makefile in the object directory with a version - # that has relative path names. + # that has relative path names. This is done by fixing the Makefile + # after the fact to work with 2.6.17 and newer mkmakefile. read VERSION PATCHLEVEL SUBLEVEL <<-EOF $(set -- 2.6.5 ; echo ${*//./ }) EOF + rm -f $o/Makefile source scripts/mkmakefile \ ../../../linux-%{KVERREL} \ - ../linux-%{KVERREL}-obj/%{_target_cpu}/$flavor \ + $o \ $VERSION \ $PATCHLEVEL \ - > $o/Makefile - zcat "$RPM_BUILD_ROOT/boot/symvers-%{KVERREL}-%{_target_cpu}${flavor}.gz" \ + > $o/Makefile.in + if [ -f $o/Makefile ] ; then + # will exist only for 2.6.17 and newer because mkmakefile + # now writes the makefile to $o instead of stdout + mv -f $o/Makefile $o/Makefile.in + fi + sed -e "s^$o^../linux-%{KVERREL}-obj/%{_target_cpu}/$flavor^" \ + $o/Makefile.in > $o/Makefile + zcat "$RPM_BUILD_ROOT/boot/symvers-%{KVERREL}-%{_target_cpu}${flavtgt}.gz" \ > $o/Module.symvers } @@ -714,7 +726,10 @@ if [ "%{buildbase}" -ne 0 ] ; then done else # 2.4 rh-style perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{kextraver}custom/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile - cp ../lustre/kernel_patches/kernel_configs/kernel-%{kversion}-@LUSTRE_TARGET@-%{_target_cpu}%{dashtargetboard}.config $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/.config + # get the one from the build we just completed as it might have picked + # up new options + #cp ../lustre/kernel_patches/kernel_configs/kernel-%{kversion}-@LUSTRE_TARGET@-%{_target_cpu}%{dashtargetboard}.config $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/.config + cp .config $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/.config for oc in oldconfig_nonint silentoldconfig oldconfig ; do if grep -q "$oc" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile ; then OLDCONFIG="$oc" @@ -844,12 +859,6 @@ rm -rf $RPM_BUILD_ROOT %endif %post -n lustre-lite-utils -if [ ! -e /dev/obd ]; then - mknod /dev/obd c 10 241 -fi -if [ ! -e /dev/portals ]; then - mknod /dev/portals c 10 240 -fi if [ -f /etc/init.d/lustre ] ; then /sbin/chkconfig --add lustre /sbin/chkconfig --add lustrefs