From d4cae11ccf5ba56d624a916429368ea60f5e2a10 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 18 May 2018 10:38:05 +0200 Subject: update-kernel-config: change more, deduce more --- update-kernel-config | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/update-kernel-config b/update-kernel-config index 7f4180e..7541058 100755 --- a/update-kernel-config +++ b/update-kernel-config @@ -1,12 +1,26 @@ #!/bin/bash -if [ $# -ne 3 ]; then - >&2 echo 'usage: update-kernel-config [repository] [kernel-name] [old-git-revision]' +if [ $# -ne 2 ]; then + >&2 echo 'usage: update-kernel-config [repository] [kernel-name]' exit 2 fi +old_revision=$( + sed -n ' + s/^# upstream git\( revision\)\?: *// + T + p + ' "/usr/src/github/archlinux32/packages/$1/$2/PKGBUILD" +) + +if [ -z "${old_revision}" ]; then + >&2 echo 'Cannot detemine old upstream git revision.' + >&2 echo '"# upstream git revision: ..." line is missing.' + exit 1 +fi + diff=$( - git -C "/usr/src/archlinux/packages/$2/repos/$1-x86_64" diff "$3" HEAD -- config | \ + git -C "/usr/src/archlinux/packages/$2/repos/$1-x86_64" diff "${old_revision}" HEAD -- config | \ grep '^[+-]' | \ grep -v '^+++\|^---' ) @@ -28,3 +42,26 @@ diff=$( ' } | \ sponge "/usr/src/github/archlinux32/packages/$1/$2/config" + +sed -i ' + 1 s/^#.*$/# upstream git revision: '"$( + git -C "/usr/src/archlinux/packages" rev-parse HEAD + )"'/ + s/'"$( + git -C "/usr/src/archlinux/packages/$2/repos/$1-x86_64" archive "${old_revision}" -- config | \ + tar -Ox | \ + sha256sum | \ + awk '{print $1}' + )"'/'"$( + git -C "/usr/src/archlinux/packages/$2/repos/$1-x86_64" archive HEAD -- config | \ + tar -Ox | \ + sha256sum | \ + awk '{print $1}' + )"'/g + s/'"$( + git -C "/usr/src/github/archlinux32/packages/$1/$2" archive HEAD -- config | \ + tar -Ox | \ + sha256sum | \ + awk '{print $1}' + )"'/SKIP/g +' "/usr/src/github/archlinux32/packages/$1/$2/PKGBUILD" -- cgit v1.2.3-70-g09d2