diff --git a/uname-build-check.spec b/uname-build-check.spec new file mode 100644 index 0000000000000000000000000000000000000000..7cfc9470e208bc35fa3b82b1898e4a2e4aeea5fd --- /dev/null +++ b/uname-build-check.spec @@ -0,0 +1,69 @@ +# +# spec file for package uname-build-checks +# + + +Name: uname-build-checks +License: GPL v2 or later +Group: Development/Tools/Building +Summary: post checks for build after rpms have been created +Version: 1.0 +Release: 0.4 +BuildRequires: kernel, rpm, coreutils +Source0: uname.sh +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: coreutils + +%description +modify uname commond + + +%prep + +%build +MREL=`rpm -qi kernel | grep Version | awk -F' ' '{print $3}'` +MREL=$MREL-`rpm -qi kernel | grep Release | awk -F' ' '{print $3}'` +MREL=$MREL.`rpm -qi kernel | grep Architecture | awk -F' ' '{print $2}'` + +echo $MREL > oe_kernelversion + + +%install +install -d $RPM_BUILD_ROOT/usr/bin +install -m 755 %{SOURCE0} $RPM_BUILD_ROOT/usr/bin/uname.sh +cp oe_kernelversion $RPM_BUILD_ROOT/.oe_kernelversion + +%check + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +if test -f /usr/bin/uname -a ! -L /usr/bin/uname ; then + mv /usr/bin/uname /usr/bin/uname.bin + ln -s /usr/bin/uname.sh /usr/bin/uname +fi + +%preun +if test "$1" = 0 -a -f /bin/uname.bin ; then + mv /bin/uname.bin /bin/uname +fi + +%files +%defattr(-, root, root) +/usr/bin/uname.sh +/.oe_kernelversion + +%changelog +* Mon Jan 13 2020 buildteam@openeuler.org 1.0-0.4 +- strengthen spec + +* Thu Nov 26 2015 hexiaowen@huawei.com 1.0-0.3 +- add ARCH info when get kernel version using "uname -r" + +* Wed Nov 25 2015 hexiaowen@huawei.com 1.0-0.2 +- Fixed bugs when get kernel version using "uname -r" + +* Sat Dec 27 2014 zhenghaizhen@huawei.com 1.0-0.1 +- new log + diff --git a/uname.sh b/uname.sh new file mode 100644 index 0000000000000000000000000000000000000000..9e7cafb1c7e75145254a7a93965d32d19cf5514f --- /dev/null +++ b/uname.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +OUTPUT=`uname.bin $*` +NOT_INSTALLED="is not installed" + +if [[ $* == "-r" ]];then + dir=`rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' kernel | head -n 1` + if [ -z "$(echo "$dir" | grep "$NOT_INSTALLED")" ]; then + [ -n "$dir" ] && echo $dir && exit 0 + fi + dir=`rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' kernel-devel | head -n 1` + if [ -z "$(echo "$dir" | grep "$NOT_INSTALLED")" ]; then + [ -n "$dir" ] && echo $dir && exit 0 + fi + dir=`rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' kernel-headers | head -n 1` + if [ -z "$(echo "$dir" | grep "$NOT_INSTALLED")" ]; then + [ -n "$dir" ] && echo $dir && exit 0 + fi + echo "error: you must installed kernel or kernel-headers" && exit 1 +else + echo $OUTPUT +fi