X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre.spec.in;h=05920ceab5f316adc23d5e3be9b369752929cd7b;hp=d14a6f5f7d585c9456bcca90835f12f858eedbe4;hb=0b8e07e167fe6650b88383205f9b708acc4ad692;hpb=c1a61e3e9129d0e2062eed617d922e6dfa9ede5a;ds=sidebyside diff --git a/lustre.spec.in b/lustre.spec.in index d14a6f5..05920ce 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -1,24 +1,24 @@ # lustre.spec -%{!?version: %define version @VERSION@} -%{!?kver: %define kver ""} -%{!?kdir: %define kdir %(dir=$(echo "%configure_args" | sed -ne 's/.*--with-linux=\\([^ ][^ ]*\\).*$/\\1/p'); if [ -n "$dir" ]; then echo "$dir"; else if [ -n "%kver" ]; then kversion="%kver"; else kversion="$(uname -r)"; fi; echo "/lib/modules/$kversion/source"; fi)} +%{!?version: %global version @VERSION@} +%{!?kver: %global kver ""} +%{!?kdir: %global kdir %(dir=$(echo "%configure_args" | sed -ne 's/.*--with-linux=\\([^ ][^ ]*\\).*$/\\1/p'); if [ -n "$dir" ]; then echo "$dir"; else if [ -n "%kver" ]; then kversion="%kver"; else kversion="$(uname -r)"; fi; echo "/lib/modules/$kversion/source"; fi)} -%{!?kobjdir: %define kobjdir %(dir=$(echo "%configure_args" | sed -ne 's/.*--with-linux-obj=\\([^ ][^ ]*\\).*$/\\1/p'); if [ -n "$dir" ]; then echo "$dir"; else if [ -n "%kver" ]; then kversion="%kver"; else kversion="$(uname -r)"; fi; if [ "%kdir" = "/lib/modules/$kversion/source" ]; then echo "/lib/modules/$kversion/build"; else echo "%kdir"; fi; fi)} +%{!?kobjdir: %global kobjdir %(dir=$(echo "%configure_args" | sed -ne 's/.*--with-linux-obj=\\([^ ][^ ]*\\).*$/\\1/p'); if [ -n "$dir" ]; then echo "$dir"; else if [ -n "%kver" ]; then kversion="%kver"; else kversion="$(uname -r)"; fi; if [ "%kdir" = "/lib/modules/$kversion/source" ]; then echo "/lib/modules/$kversion/build"; else echo "%kdir"; fi; fi)} # as an alternative to this implementation we could simply "make -C $kdir kernelversion" -%{!?kversion: %define kversion %(if test -s %kobjdir/include/linux/utsrelease.h ; then LINUXRELEASEHEADER=utsrelease.h; else LINUXRELEASEHEADER=version.h; fi; sed -ne '/^#define UTS_RELEASE/s/.*"\\(.*\\)"$/\\1/p' %kobjdir/include/linux/$LINUXRELEASEHEADER)} +%{!?kversion: %global kversion %(if test -s %kobjdir/include/generated/utsrelease.h ; then LINUXRELEASEHEADER=%kobjdir/include/generated/utsrelease.h ; elif test -s %kobjdir/include/linux/utsrelease.h ; then LINUXRELEASEHEADER=%kobjdir/include/linux/utsrelease.h ; else LINUXRELEASEHEADER=%kobjdir/include/linux/version.h; fi; sed -ne '/^#define UTS_RELEASE/s/.*"\\(.*\\)"$/\\1/p' $LINUXRELEASEHEADER)} -%{!?downstream_release: %define downstream_release "@DOWNSTREAM_RELEASE@"} +%{!?downstream_release: %global downstream_release "@DOWNSTREAM_RELEASE@"} %define buildid %(if [ -n "@BUILDID@" ]; then echo "_@BUILDID@"; fi) -%{!?myrelease: %define myrelease %(if [ -n "%downstream_release" ]; then echo -n "%{downstream_release}_"; fi; echo %kversion | tr '-' '_')} +%{!?myrelease: %global myrelease %(if [ -n "%downstream_release" ]; then echo -n "%{downstream_release}_"; fi; echo %kversion | tr '-' '_')} # always append the buildid, even when the caller defines %release %define fullrelease %{myrelease}%{buildid} -%{!?lustre_name: %define lustre_name lustre} -%{!?build_lustre_tests: %define build_lustre_tests 1} +%{!?lustre_name: %global lustre_name lustre} +%{!?build_lustre_tests: %global build_lustre_tests 1} # in order to get kernel symset and/or kernel module dependencies into # the RPM, in order to support weak-modules, the internal dependency gen- @@ -208,6 +208,11 @@ elif [ -e ${llog_base}.o ]; then cp ${llog_base}.o $RPM_BUILD_ROOT/lib/modules/%{kversion}/updates/kernel/fs/lustre fi +# The .ha_v2 extension identifies the heartbeat resource agent as using +# legacy syntax. Install a compatibility symlink to avoid conflicts when +# newer-style agents are added. +ln -s Lustre.ha_v2 $RPM_BUILD_ROOT/etc/ha.d/resource.d/Lustre + # Create the pristine source directory. cd $RPM_BUILD_DIR/lustre-%{version} mkdir -p $RPM_BUILD_ROOT/usr/src @@ -225,13 +230,23 @@ cat >lustre.files <>lustre.files fi -if [ -f $RPM_BUILD_DIR/lustre-%{version}/lustre/utils/libiam.c ] ; then +if [ -f $RPM_BUILD_ROOT%{_libdir}/libiam.a ] ; then echo '%attr(-, root, root) %{_libdir}/libiam.a' >>lustre.files fi @@ -302,15 +317,16 @@ else depmod -ae %{kversion} || exit 0 fi +MODULES_RPM_NAME=$(rpm -q %{name}-modules | grep "%{version}-%{release}") # "weak modules" support # Suse if [ -x /usr/lib/module-init-tools/weak-modules ]; then - rpm -ql %{name}-modules-%{version}-%{release} | grep '\.ko$' | + rpm -ql $MODULES_RPM_NAME | grep '\.ko$' | /usr/lib/module-init-tools/weak-modules --add-modules fi # RedHat if [ -x /sbin/weak-modules ]; then - rpm -ql %{name}-modules-%{version}-%{release} | grep '\.ko$' | + rpm -ql $MODULES_RPM_NAME | grep '\.ko$' | /sbin/weak-modules --add-modules fi @@ -330,7 +346,8 @@ if sysctl kernel.unsupported >/dev/null 2>&1 && fi %preun modules -rpm -ql %{name}-modules-%{version}-%{release} | grep '\.ko$' > /var/run/%{name}-modules +MODULES_RPM_NAME=$(rpm -q %{name}-modules | grep "%{version}-%{release}") +rpm -ql $MODULES_RPM_NAME | grep '\.ko$' > /var/run/%{name}-modules || true %postun modules if [ -f /boot/System.map-%{kversion} ]; then @@ -342,12 +359,12 @@ fi # "weak modules" support # Suse if [ -x /usr/lib/module-init-tools/weak-modules ]; then - cat /var/run/%{name}-modules | grep '\.ko$' | + cat /var/run/%{name}-modules | /usr/lib/module-init-tools/weak-modules --remove-modules fi # RedHat if [ -x /sbin/weak-modules ]; then - cat /var/run/%{name}-modules | grep '\.ko$' | + cat /var/run/%{name}-modules | /sbin/weak-modules --remove-modules fi rm /var/run/%{name}-modules