From 696205f9407b2fd11291e90a5aae408ca413b9a0 Mon Sep 17 00:00:00 2001 From: rmnscnce Date: Apr 28 2021 19:32:39 +0000 Subject: kernel-lqx 5.11.16-lqx1.4 --- diff --git a/rpmsrc/kernel-lqx.spec b/rpmsrc/kernel-lqx.spec index 07463e2..f664b70 100644 --- a/rpmsrc/kernel-lqx.spec +++ b/rpmsrc/kernel-lqx.spec @@ -13,7 +13,7 @@ Version: 5.11.16 %define flaver lqx1 -Release:%{flaver}.3%{?dist} +Release:%{flaver}.4%{?dist} %define rpmver %{version}-%{release} %define kbuildver %{rpmver} @@ -42,9 +42,11 @@ Source6: mod-sign.sh ### %define __spec_install_post /usr/lib/rpm/brp-compress || : %define debug_package %{nil} +Source7: rnread-%{name} Recommends: %{name}-modules BuildRequires: python3-devel gcc make perl-generators perl-interpreter openssl-devel bison flex findutils git-core perl-devel openssl elfutils-devel gawk binutils m4 tar hostname bzip2 bash gzip xz bc diffutils redhat-rpm-config net-tools elfutils patch rpm-build dwarves kmod libkcapi-hmaccalc perl-Carp rsync grubby pesign Requires: %{name}-core-%{rpmver} = %{rpmver}, %{name}-modules-%{rpmver} = %{rpmver} +Provides: rnread-%{name} = 1 %description The kernel-%{flaver} meta package @@ -55,7 +57,7 @@ Group: System Environment/Kernel Provides: installonlypkg(kernel), kernel = %{rpmver}, kernel-core = %{rpmver}, kernel-core-uname-r = %{rpmver}, kernel-uname-r = %{rpmver}, kernel-%{_arch} = %{rpmver}, kernel-core(%{colarch}) = %{rpmver}, kernel-core-%{rpmver} = %{rpmver}, %{name}-core-%{rpmver} = %{rpmver}, kernel-drm-nouveau = 16 Requires: bash, coreutils, dracut, linux-firmware, grubby, /usr/bin/kernel-install, kernel-modules-%{rpmver} = %{rpmver} Supplements: %{name} = %{rpmver} -Obsoletes: %{name} < 5.11.16-%{flaver}.0%{?dist} +Obsoletes: %{name}-core < 5.11.12-%{flaver}.1%{?dist} %description core The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions @@ -108,7 +110,7 @@ ImageName=$(make image_name | tail -n 1) mkdir -p %{buildroot}/boot %ifarch ia64 mkdir -p %{buildroot}/boot/efi -cp $ImageName %{buildroot}/boot/efi/vmlinuz-%{rpmver} +cp -v $ImageName %{buildroot}/boot/efi/vmlinuz-%{rpmver} ln -s efi/vmlinuz-%{rpmver} %{buildroot}/boot/ %else @@ -117,15 +119,15 @@ ln -s efi/vmlinuz-%{rpmver} %{buildroot}/boot/ rm vmlinuz.tmp mv vmlinuz.signed $ImageName -cp $ImageName %{buildroot}/boot/vmlinuz-%{rpmver} +cp -v $ImageName %{buildroot}/boot/vmlinuz-%{rpmver} chmod 755 %{buildroot}/boot/vmlinuz-%{rpmver} %endif make %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install make %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install -cp System.map %{buildroot}/boot/System.map-%{rpmver} -cp .config %{buildroot}/boot/config-%{rpmver} +cp -v System.map %{buildroot}/boot/System.map-%{rpmver} +cp -v .config %{buildroot}/boot/config-%{rpmver} bzip2 -9 --keep vmlinux mv vmlinux.bz2 %{buildroot}/boot/vmlinux-%{rpmver} rm -f %{buildroot}/lib/modules/%{rpmver}/build @@ -134,10 +136,13 @@ mkdir -p %{buildroot}/usr/src/kernels/%{rpmver} tar cf - --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git --exclude=*vmlinux* --exclude=*.mod --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation --exclude=.config.old --exclude=.missing-syscalls.d --exclude=*.s . | tar xf - -C %{buildroot}/usr/src/kernels/%{rpmver} chmod +x %{kmodsign_cmd} %{kmodsign_cmd} certs/signing_key.pem certs/signing_key.x509 %{buildroot}/lib/modules/%{rpmver}/ -cp %{buildroot}/boot/vmlinuz-%{rpmver} %{buildroot}/lib/modules/%{rpmver}/vmlinuz +cp -v %{buildroot}/boot/vmlinuz-%{rpmver} %{buildroot}/lib/modules/%{rpmver}/vmlinuz cd %{buildroot}/lib/modules/%{rpmver} ln -sf /usr/src/kernels/%{rpmver} build ln -sf /usr/src/kernels/%{rpmver} source +mkdir -p %{buildroot}/%{_bindir} +cp -v %{SOURCE7} %{buildroot}/%{_bindir}/rnread-%{name} +chmod u+rwx,go+rx %{buildroot}/%{_bindir}/rnread-%{name} %clean rm -rf %{buildroot} @@ -166,7 +171,7 @@ printf "\n\n\n This package " printf '%{name}' printf " is being worked by me as a hobby in my free time\n" echo -e " If you're interested in supporting me doing this, you can go to:\n" -echo -e " https://liberapay.com/rmnscnce/donate\n\n And donate so I can keep this package maintained for everyone\n\n" +echo -e "\t\thttps://liberapay.com/rmnscnce/donate\n\n And donate so I can keep this package maintained for everyone\n\nYou can read news and announcements for this software using "'rnread-%{name}\n\n\n' %preun core if [ -x /sbin/new-kernel-pkg ]; then @@ -213,3 +218,5 @@ fi /lib/modules/%{rpmver}/source %files +%defattr (-, root, root) +%attr(0755, root, root) %{_bindir}/rnread-%{name} diff --git a/rpmsrc/mod-sign.sh b/rpmsrc/mod-sign.sh index ed2bd62..1afe136 100644 --- a/rpmsrc/mod-sign.sh +++ b/rpmsrc/mod-sign.sh @@ -13,9 +13,9 @@ MODSECKEY=$1 MODPUBKEY=$2 moddir=$3 -modules=`find $moddir -type f -name '*.ko'` +modules=$(find "$moddir" -type f -name '*.ko') -NPROC=`nproc` +NPROC=$(nproc) [ -z "$NPROC" ] && NPROC=1 # NB: this loop runs 2000+ iterations. Try to be fast. @@ -27,7 +27,7 @@ done " DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop. RANDOMMOD=$(echo "$modules" | sort -R | head -n 1) -if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then +if [ "~Module signature appended~" != "$(tail -c 28 "$RANDOMMOD")" ]; then echo "*****************************" echo "*** Modules are unsigned! ***" echo "*****************************" diff --git a/rpmsrc/rnread-kernel-lqx b/rpmsrc/rnread-kernel-lqx new file mode 100755 index 0000000..e920be1 --- /dev/null +++ b/rpmsrc/rnread-kernel-lqx @@ -0,0 +1,125 @@ +#!/usr/bin/env bash +# rnread-kernel-lqx + +### UNCOMMENT THIS LINE BELOW FOR DEBUG OUTPUT ##### +# set -x +# echo ${1} +#################################################### + +# GlobalArg +arg0=${1} + +# "Product Name" +prodName="kernel-lqx" +# Colloquial Name +colName="lqx" +# Variant +#prodVarName="" NULL +# External name +if [ ! -z ${prodVarName} ] ; then + externName=${prodName}-${prodVarName} +else + externName=${prodName} +fi + +warnRoot() { + if [[ ${UID} = 0 ]] ; then + warnMessage="WARNING: Running rnread as root is not recommended\n\n"; + else + warnMessage=""; + fi + printf "${warnMessage}" +} + +showHelp() { + echo -e "rnread -- Reader for News@rmnscnce"; + echo -e "for ${externName}"; + echo -e "\nUsage:"; + echo -e 'rnread-'${externName}' [latest|list|$DATE(yyyymmdd)|ckver|help]'"\n"; + echo -e "(no argument) | latest\t\tShow the latest news item"; + echo -e "list\t\t\t\tList news items by their dates"; + echo -e '$DATE(yyyymmdd)'"\t\t\tShow the news item for that date. Will only accept the exact dates listed in "'`list` subcommand'; + echo -e "ckver\t\t\t\tCheck if the latest version is running"; + echo -e "help\t\t\t\tShow this help message"; +} + +testLocalVer() { + suffixDist=$(rpm -E %dist) + localVer=$(uname -r) + if [ ! -z ${prodVarName} ] ; then + remoteVer=$(curl -s https://gitlab.com/rmnscnce/news/-/raw/master/public/reader/${colName}/${prodVarName}.ver); + else + remoteVer=$(curl -s https://gitlab.com/rmnscnce/news/-/raw/master/public/reader/${colName}/ver); + fi + + if [[ ${localVer} == ${remoteVer}* ]] ; then + echo -e "You are running the latest version of ${externName}"; + else + echo -e "You're not running the latest version of ${externName}\nThe latest version available is ${remoteVer}${suffixDist}. Update to get the latest features and bug fixes"; + fi +} + +listItems() { + itemList=$(curl -s https://gitlab.com/rmnscnce/news/-/raw/master/public/reader/${colName}/items.list) + + echo -e "${itemList}" +} + +showItemLatest() { + latestItemDate=$(curl -s https://gitlab.com/rmnscnce/news/-/raw/master/public/reader/${colName}/items.list | head -n 1) + latestItemUrl="https://gitlab.com/rmnscnce/news/-/raw/master/public/reader/${colName}/items/${latestItemDate}" + + echo -e "Latest news for\n>> ${prodName} <<\n---\n" + curl -s ${latestItemUrl} +} + +showItemQuery() { + queryItemUrl="https://gitlab.com/rmnscnce/news/-/raw/master/public/reader/${colName}/items/${arg0}" + + echo -e "${arg0} news for\n>> ${prodName} <<\n---\n" + curl -s ${queryItemUrl} +} + +### +main() { + warnRoot + case ${1} in + latest) + showItemLatest; + echo -e "\n---\n"; + testLocalVer; + exit $? + ;; + list) + listItems; + exit $? + ;; + ckver) + testLocalVer; + exit $? + ;; + help) + showHelp; + exit $? + ;; + '') + showItemLatest; + echo -e "\n---\n"; + testLocalVer; + exit $? + ;; + *) + if showItemQuery | grep -q "!DOCTYPE" ; then + echo -e "ERROR: Invalid argument. Please refer to the help below:\n-----" + showHelp; + exit 255; + else + showItemQuery + exit 0; + fi + ;; + esac +} + +main ${@} +exit $?