X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flustre-kernel-2.4.spec.in;h=5066ea6b2dfd2f44151b58ee15be03a8b5ea0d79;hb=25c97ec86f471de50556673b52d1e1b7713063af;hp=1cb8f6ebdee370aa9b2806503431f209f5ff858e;hpb=a693584086a3cd9924f0852a8f927ae861061293;p=fs%2Flustre-release.git diff --git a/build/lustre-kernel-2.4.spec.in b/build/lustre-kernel-2.4.spec.in index 1cb8f6e..5066ea6 100644 --- a/build/lustre-kernel-2.4.spec.in +++ b/build/lustre-kernel-2.4.spec.in @@ -28,7 +28,7 @@ Summary: The Linux kernel (the core of the Linux operating system) %define __spec_install_post /usr/lib/rpm/brp-compress || : # # RPM foo magic -%define _missing_doc_files_terminate_build 0 +%define _missing_doc_files_terminate_build 0 %define _unpackaged_files_terminate_build 0 %define debug_package %{nil} @@ -51,6 +51,7 @@ Summary: The Linux kernel (the core of the Linux operating system) %define buildjensen 0 %define buildsmp 0 %define buildbigsmp 0 +%define buildpseries64 0 %define buildup 0 %define buildsrc 0 @@ -78,6 +79,10 @@ Summary: The Linux kernel (the core of the Linux operating system) %define buildbigsmp 1 %endif +%ifarch @PSERIES64_ARCHS@ +%define buildpseries64 1 +%endif + %ifarch @UP_ARCHS@ %define buildup 1 %endif @@ -88,6 +93,7 @@ Summary: The Linux kernel (the core of the Linux operating system) %define buildbigsmp 0 %define buildBOOT 0 %define buildbigmem 0 +%define buildpseries64 0 %define buildjensen 0 %endif @@ -105,6 +111,7 @@ Second, per-architecture exclusions (ifarch) %{expand: %%define buildup_%{buildup} yadda} %{expand: %%define buildsmp_%{buildsmp} yadda} %{expand: %%define buildbigsmp_%{buildbigsmp} yadda} +%{expand: %%define buildpseries64_%{buildpseries64} yadda} %{expand: %%define buildBOOT_%{buildBOOT} yadda} %{expand: %%define buildbigmem_%{buildbigmem} yadda} %{expand: %%define buildjensen_%{buildjensen} yadda} @@ -135,6 +142,9 @@ Second, per-architecture exclusions (ifarch) %ifarch alpha %define kernel_glob vmlinu?-%{KVERREL} %endif +%ifarch ppc ppc64 +%define kernel_glob vmlinu?-%{KVERREL} +%endif Name: kernel Version: %{kversion} @@ -175,6 +185,11 @@ Source25: suse-functions.sh Source26: suse-post.sh Source27: suse-postun.sh Source28: suse-trigger-script.sh.in +Source29: sles8-post.sh +Source30: sles8-postun.sh +Source31: sles8-pre.sh +Source32: sles8-update_INITRD_MODULES.sh +Source33: sles8-update_rcfile_setting.sh %package source Summary: The source code for the Linux kernel. @@ -248,6 +263,25 @@ work fine on single-CPU boxes. Install the kernel-bigsmp package if your machine uses two or more CPUs. +%package pseries64 +Summary: Standard Kernel for 64-bit Power based SMP and LPAR Machines +Group: System/Kernel +Provides: module-info, kernel = %{version}, k_smp4G +%ifarch %{all_x86} ia64 x86_64 +Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0, kernel-drm = 4.2.99.3 +%endif +%if %{rhbuild} +Prereq: %{kernel_prereq} +Conflicts: %{kernel_conflicts} +%endif + +%description pseries64 +The standard kernel for Power3, Power4 and PowerPC 970 64-bit SMP +machines. + +This kernel can be used for all 64bit RS/6000, pSeries and JS20 +machines. + %package bigmem Summary: The Linux Kernel for machines with more than 4 Gigabyte of memory. Group: System Environment/Kernel @@ -355,18 +389,33 @@ sh -x ./build/lmake \ popd >/dev/null # handle both SuSE and Red Hat's new-kernel-pkg bits -for flavor in "" smp bigmem bigsmp BOOT jensen ; do +for flavor in "" smp bigmem bigsmp pseries64 BOOT jensen ; do for when in pre preun post postun ; do script="${when}${flavor}.sh" - echo "if [ -f /etc/SuSE-release ] ; then" > ${script} + cat %{SOURCE25} %{SOURCE32} %{SOURCE33} > ${script} + echo "if [ -d /etc/susehelp.d ] ; then" >> ${script} sed -e "s/@when@/$when/g" -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE28} >> ${script} - cat %{SOURCE25} >> ${script} case $when in + pre) + echo "if [ ! -f /etc/modprobe.conf ] ; then" >> ${script} + cat %{SOURCE31} >> ${script} + echo "fi" >> ${script} + ;; post) + echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script} sed -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE26} >> ${script} + + echo "else" >> ${script} + sed -e "s^%ver_str^%{KVERREL}${flavor}^g" -e "s^%%{cfg_name}^${flavor}^g" %{SOURCE29} >> ${script} + echo "fi" >> ${script} ;; postun) + echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script} sed -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE27} >> ${script} + + echo "else" >> ${script} + sed -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE30} >> ${script} + echo "fi" >> ${script} ;; esac echo "exit 0; fi" >> ${script} @@ -386,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 ;; @@ -422,7 +475,9 @@ EOF /boot/efi/redhat/%{kernel_glob}${flavor} %endif %if %{linux26} +%if %{susebuild} /boot/Kerntypes-%{KVERREL}${flavor} +%endif /boot/symvers-%{KVERREL}-%{_target_cpu}${flavor}.gz %endif EOF @@ -472,6 +527,7 @@ BuildKernel() sh -x ./build/lmake \ --build-kernel --build-lustre \ --install \ + --save-headers \ --target @LUSTRE_TARGET@ \ --target-arch %{_target_cpu} \ ${target_config} \ @@ -479,11 +535,7 @@ BuildKernel() --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@ } @@ -540,13 +592,16 @@ BuildKernel smp BuildKernel bigsmp %endif +%if %{buildpseries64} +BuildKernel pseries64 +%endif + %if %{buildup} BuildKernel %endif %if %{buildbase} -BuildLustre -SaveHeaders +# BuildLustre %endif popd >/dev/null @@ -557,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 @@ -591,8 +644,11 @@ BuildObj () fi done MAKE="make -s O=$o -C ${c}" - $MAKE $OLDCONFIG - $MAKE prepare-all + if [ "$CC" ] ; then + MAKE_CC="CC=$CC" + fi + $MAKE "$MAKE_CC" $OLDCONFIG + $MAKE "$MAKE_CC" prepare-all $MAKE clean rm -rf $o/.config.old $o/include/config # Replace the Makefile in the object directory with a version @@ -645,6 +701,9 @@ if [ "%{buildbase}" -ne 0 ] ; then if [ "%{buildbigsmp}" -ne 0 ] ; then BuildObj bigsmp fi + if [ "%{buildpseries64}" -ne 0 ] ; then + BuildObj pseries64 + fi if [ "%{buildup}" -ne 0 ] ; then BuildObj up fi @@ -664,9 +723,12 @@ if [ "%{buildbase}" -ne 0 ] ; then break fi done - make -s $OLDCONFIG -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} - make -s symlinks -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} - make -s include/linux/version.h -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} + if [ "$CC" ] ; then + MAKE_CC="CC=$CC" + fi + make "$MAKE_CC" -s $OLDCONFIG -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} + make "$MAKE_CC" -s symlinks -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} + make "$MAKE_CC" -s include/linux/version.h -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} #this generates modversions info which we want to include and we may as #well include the depends stuff as well, after we fix the paths @@ -700,7 +762,7 @@ EOF install -m 644 %{SOURCE15} rhconfig.h echo "#include " >> version.h keyword=if - for i in smp BOOT BOOTsmp bigmem bigsmp up ; do + for i in smp BOOT BOOTsmp bigmem bigsmp pseries64 up ; do # When we build in an i386, we don't have an bigmem header directory # in savedheaders/i386/bigmem. We also don't have a BOOT directory # anywhere except in savedheaders/i386. So, we need to use this method @@ -762,10 +824,14 @@ rm -rf $RPM_BUILD_ROOT %pre bigsmp -f prebigsmp.sh +%pre pseries64 -f prepseries64.sh + %pre bigmem -f prebigmem.sh %post -f post.sh +%post pseries64 -f postpseries64.sh + %post smp -f postsmp.sh %post bigsmp -f postbigsmp.sh @@ -794,6 +860,8 @@ fi # Allow clean removal of modules directory %preun -f preun.sh +%preun pseries64 -f preunpseries64.sh + %preun smp -f preunsmp.sh %preun bigsmp -f preunbigsmp.sh @@ -807,6 +875,8 @@ fi # suse needs these i guess %postun -f postun.sh +%postun pseries64 -f postunpseries64.sh + %postun smp -f postunsmp.sh %postun bigsmp -f postunbigsmp.sh @@ -828,6 +898,9 @@ fi %triggerin bigsmp -- kudzu [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || : +%triggerin pseries64 -- kudzu +[ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || : + %triggerin bigmem -- kudzu [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || : @@ -883,6 +956,10 @@ fi %files bigsmp -f kernelbigsmp.files %endif +%if %{buildpseries64} +%files pseries64 -f kernelpseries64.files +%endif + %if %{buildbigmem} %files bigmem -f kernelbigmem.files %endif @@ -892,41 +969,5 @@ fi %endif %if %{buildbase} - %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/BUGS lustre/ChangeLog lustre/README lustre/doc/lustre.pdf -/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/portals/* -/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