scst.spec.in: Sort kernel rpm by build time

Additionally, fix the logic for determining %{krpmver} if %{kdir} points
to another kernel version than the latest kernel version.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6496 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2015-09-02 18:43:13 +00:00
parent 1e9900d975
commit 2b5c929181

View File

@@ -12,8 +12,8 @@
%{!?kdir:
%define kversion %{expand:%%(
if rpm --quiet -q kernel-headers; then
rpm -q --qf '%%%%{version}-%%%%{release}.%%%%{arch}\\n' \\
kernel-headers | tail -n1;
rpm -q --qf '%%%%{BUILDTIME} %%%%{version}-%%%%{release}.%%%%{arch}\\n' \\
kernel-headers | sort | tail -n1 | { read a b; echo $b; };
else
uname -r;
fi
@@ -21,27 +21,29 @@
%{echo:kversion=%{kversion}
}
# kernel_rpm: Name of the kernel RPM if the kernel is available as an RPM.
%if %{expand:%%(rpm --quiet -q kernel-headers ||
rpm --quiet -qf /lib/modules/%{kversion}/kernel/arch 2>/dev/null;
# krpmver: Version of the kernel RPM. Not necessarily identical to %{kversion}.
%if %{expand:%%(rpm --quiet -qf /lib/modules/%{kversion}/kernel/arch 2>/dev/null;
echo $((1-$?)))}
%define kernel_rpm %{expand:%%(
if rpm --quiet -q kernel-headers; then
echo kernel;
else
rpm -q --qf '%%%%{name}\\n' \\
"$(rpm -qf /lib/modules/%%{kversion}/kernel/arch | tail -n1)";
fi
rpm -q --qf '%%%%{name}\\n' -f \\
/lib/modules/%%{kversion}/kernel/arch | uniq
)}
%define krpmver %{expand:%%(
rpm -q --qf '%%%%{version}-%%%%{release}\\n' -f \\
/lib/modules/%%{kversion}/kernel/arch | uniq
)}
%else
%if %{expand:%%(rpm --quiet -q kernel-headers; echo $((1-$?)))}
%define kernel_rpm kernel
%define krpmver %{expand:%%(
rpm -q --qf '%%%%{BUILDTIME} %%%%{version}-%%%%{release}\\n' \\
kernel-headers | sort | tail -n1 | { read a b; echo $b; }
)}
%endif
# krpmver: Version of the kernel RPM. Not necessarily identical to %{kversion}.
%{?kernel_rpm:%define krpmver %{expand:%%(
if rpm --quiet -q %%{kernel_rpm}; then
rpm -q --qf '%%%%{version}-%%%%{release}\\n' "%%{kernel_rpm}";
else
rpm -q --qf '%%%%{version}-%%%%{release}\\n' kernel-headers;
fi |
tail -n1
)}
%endif
%{?kernel_rpm:
%{echo:kernel_rpm=%{kernel_rpm}
}
%{echo:krpmver=%{krpmver}
}}
# kernel_devel_rpm: Name of the kernel development RPM.