X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=ldiskfs%2Flustre-ldiskfs.spec.in;h=a6c0750e84e6e35aa4e6498ae59fe5822df1381b;hp=fe0e7faa3d1ba1b17e9bb7ff7719cb422f55b599;hb=31bd885113fbd8a1f666144b05009c09d89a3af8;hpb=19a49baf5025c14626e5d494b7ada610c2862504 diff --git a/ldiskfs/lustre-ldiskfs.spec.in b/ldiskfs/lustre-ldiskfs.spec.in index fe0e7fa..a6c0750 100644 --- a/ldiskfs/lustre-ldiskfs.spec.in +++ b/ldiskfs/lustre-ldiskfs.spec.in @@ -1,16 +1,32 @@ -%define version @VERSION@ -%define kversion @LINUXRELEASE@ +# lustre-ldiskfs.spec +%{!?version: %define version @VERSION@} +%{!?kdir: %define kdir %(dir=$(echo "%configure_args" | sed -ne 's/.*--with-linux=\\([^ ][^ ]*\\).*$/\\1/p'); if [ -n "$dir" ]; then echo "$dir"; else echo "/lib/modules/$(uname -r)/build"; fi)} + +%{!?kobjdir: %define kobjdir %(dir=$(echo "%configure_args" | sed -ne 's/.*--with-linux-obj=\\([^ ][^ ]*\\).*$/\\1/p'); if [ -n "$dir" ]; then echo "$dir"; else echo "%kdir"; 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)} + +%{!?downstream_release: %define downstream_release "@DOWNSTREAM_RELEASE@"} + +%define buildid %(if [ -n "@BUILDID@" ]; then echo "_@BUILDID@"; fi) + +%{!?release: %define release %(if [ -n "%downstream_release" ]; then echo -n "%{downstream_release}_"; fi; release=$(echo %kversion | tr '-' '_'); echo ${release})} + +# always append the buildid, even when the caller defines %release +%define fullrelease %{release}%{buildid} Summary: ldiskfs backend file system Name: lustre-ldiskfs Version: %{version} -Release: @RELEASE@ +Release: %{fullrelease} License: GPL Group: Development/Kernel Source: lustre-ldiskfs-%{version}.tar.gz URL: http://www.sun.com/software/products/lustre/index.xml BuildRoot: %{_tmppath}/lustre-ldiskfs-%{version}-root -Requires: modutils >= 2.4.10 +Requires: modutils >= 2.4.10, ldiskfsprogs >= 1.41.12.2.ora1 +Provides: lustre-backend-fs %description Provides the ldiskfs backend file system kernel module, used by @@ -38,10 +54,27 @@ rm -rf $RPM_BUILD_ROOT # Set an explicit path to our Linux tree, if we can. cd $RPM_BUILD_DIR/lustre-ldiskfs-%{version} -./configure @ac_configure_args@ %{?configure_flags:configure_flags} \ +CONFIGURE_ARGS="%{?configure_args} --with-release=%release" + +# if %%kdir was given, make sure it's not in the configure arguments +if [ -n "%kdir" ]; then + CONFIGURE_ARGS=$(echo $CONFIGURE_ARGS | sed -e 's/"\?--with-linux=[^ ][^ ]* \?//') +fi +# ditto for %%kobjdir +if [ -n "%kobjdir" ]; then + CONFIGURE_ARGS=$(echo $CONFIGURE_ARGS | sed -e 's/"\?--with-linux-obj=[^ ][^ ]* \?//') +fi + +# we need to eval "configure" because $CONFIGURE_ARGS could have a quoted +# string in it which we don't want word splitted by the shell +%define eval_configure %(echo '%configure' | sed -e 's#\./configure#eval ./configure#') + +eval ./configure %{?configure_args} \ + %{?kdir: --with-linux=%kdir} %{?kobjdir: --with-linux-obj=%kobjdir} \ --sysconfdir=%{_sysconfdir} \ --mandir=%{_mandir} \ - --libdir=%{_libdir} + --libdir=%{_libdir} \ + $CONFIGURE_ARGS make -j $RPM_BUILD_NCPUS -s %install