]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
scripts: update to newer versions
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Aug 2023 15:13:46 +0000 (17:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Aug 2023 15:13:46 +0000 (17:13 +0200)
Update some scripts to the versions that I actually use.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/dorelease
scripts/guess-charset
scripts/make_message_id

index 085c6f179931cde558406f23ff83330f961c1e39..be3c12c9d934c283c6dcf8c81ba7f39c05762bd2 100755 (executable)
@@ -6,14 +6,14 @@
 
 
 if [ $# -ne 1 ]; then
-       KETCHUP=`which ketchup 2>/dev/null`
+       KETCHUP=`which kv 2>/dev/null`
        if [ -z "$KETCHUP" ]; then
                echo -e "Usage:\t $0 release_number"
                echo -e "e.g.\t $0 2.6.11.12"
                echo -e "or install ketchup to automatically release the latest kernel version."
                exit 1
        fi
-       RELEASE=`ketchup -m`
+       RELEASE=`kv`
 else
        RELEASE=$1
 fi
@@ -21,36 +21,60 @@ fi
 REL_ARRAY=(${RELEASE//./ })
 BASE=${REL_ARRAY[0]}.${REL_ARRAY[1]}.${REL_ARRAY[2]}
 REL=${REL_ARRAY[3]}
+MAJOR=${REL_ARRAY[0]}
 MINOR=${REL_ARRAY[2]}
 
 LONGTERM=0
 # see if this is a "longterm" kernel or not
-if [ $MINOR == "27" ]; then
-       LONGTERM=1
-fi
-if [ $MINOR == "32" ]; then
-       LONGTERM=1
-fi
-if [ $MINOR == "33" ]; then
-       LONGTERM=1
-fi
-if [ $MINOR == "34" ]; then
-       LONGTERM=1
-fi
-if [ $MINOR == "35" ]; then
-       LONGTERM=1
+if [ $MAJOR == "2" ]; then
+       if [ $MINOR == "27" ]; then
+               LONGTERM=1
+       fi
+       if [ $MINOR == "32" ]; then
+               LONGTERM=1
+       fi
+       if [ $MINOR == "33" ]; then
+               LONGTERM=1
+       fi
+       if [ $MINOR == "34" ]; then
+               LONGTERM=1
+       fi
+       if [ $MINOR == "35" ]; then
+               LONGTERM=1
+       fi
 fi
-#echo "longterm = $LONGTERM"
+#echo "major = $MAJOR, minor = $MINOR, longterm = $LONGTERM"
 
-# 3.0 or 2.6?
+# 5.x or 4.x or 3.x or 2.6?
 VER="2.6"
-if [ ${REL_ARRAY[0]} == "3" ] ; then
+if [ ${MAJOR} == "3" ] ; then
        # 3.x series
        VER="3.0"
        BASE=${REL_ARRAY[0]}.${REL_ARRAY[1]}
        REL=${REL_ARRAY[2]}
        MINOR=${REL_ARRAY[1]}
 fi
+if [ ${MAJOR} == "4" ] ; then
+       # 4.x series
+       VER="4.x"
+       BASE=${REL_ARRAY[0]}.${REL_ARRAY[1]}
+       REL=${REL_ARRAY[2]}
+       MINOR=${REL_ARRAY[1]}
+fi
+if [ ${MAJOR} == "5" ] ; then
+       # 5.x series
+       VER="5.x"
+       BASE=${REL_ARRAY[0]}.${REL_ARRAY[1]}
+       REL=${REL_ARRAY[2]}
+       MINOR=${REL_ARRAY[1]}
+fi
+if [ ${MAJOR} == "6" ] ; then
+       # 6.x series
+       VER="6.x"
+       BASE=${REL_ARRAY[0]}.${REL_ARRAY[1]}
+       REL=${REL_ARRAY[2]}
+       MINOR=${REL_ARRAY[1]}
+fi
 
 
 LAST=$(($REL - 1))
@@ -76,9 +100,14 @@ echo -n "# [ret] to continue"
 read
 
 RELDIR="../release-$RELEASE"
-mkdir $RELDIR
 
-echo "# building tree in $RELDIR"
+if [ -d ${RELDIR} ] ; then
+       rm ${RELDIR}/*
+else
+       mkdir ${RELDIR}
+fi
+
+echo "# building tree in ${RELDIR}"
 
 # build release materials, tarball, base patch, incr patch, changelog
 #git archive --format=tar --prefix=linux-$RELEASE/ HEAD | gzip -9 > $RELDIR/linux-${RELEASE}.tar.gz
@@ -92,8 +121,10 @@ git archive --format=tar --prefix=linux-$RELEASE/ $RELEASE_COMMIT > $RELDIR/linu
 git diff-tree -p $BASE_COMMIT $RELEASE_COMMIT > $RELDIR/patch-${RELEASE}
 if [ $INCREMENTAL -ne 0 ]; then
        git diff-tree -p $LAST_COMMIT $RELEASE_COMMIT > $RELDIR/patch-${LAST_REL}-${REL}
+       cat $RELDIR/patch-${LAST_REL}-${REL} | diffstat -p1 > $RELDIR/diffstat-${LAST_REL}-${REL} 2>/dev/null
+else
+       cat $RELDIR/patch-${RELEASE} | diffstat -p1 > $RELDIR/diffstat-${RELEASE} 2>/dev/null
 fi
-cat $RELDIR/patch-${LAST_REL}-${REL} | diffstat -p1 > $RELDIR/diffstat-${LAST_REL}-${REL} 2>/dev/null
 git log ${LAST_COMMIT}..${RELEASE_COMMIT} > $RELDIR/ChangeLog-$RELEASE
 < $RELDIR/ChangeLog-$RELEASE git shortlog > $RELDIR/shortlog-$RELEASE
 
@@ -107,19 +138,21 @@ fi
 
 
 echo "# "
-HOST="gregkh@geb.kernel.org"
+#HOST="gregkh@geb.kernel.org"
+HOST="git@gitolite.kernel.org"
 SCRIPT="${RELDIR}/upload_v${RELEASE}"
 touch ${SCRIPT}
+chmod 755 ${SCRIPT}
 
 if [ $LONGTERM -eq 1 ]; then
        echo "# This is a longterm release"
        echo "# finalize the release:"
        echo "cd ${RELDIR}"
-       echo "kup --host=${HOST} put --tar --prefix=linux-${RELEASE}/ /pub/scm/linux/kernel/git/stable/linux-stable.git v${RELEASE} linux-${RELEASE}.tar.asc /pub/linux/kernel/v${VER}/longterm/v${BASE}/linux-${RELEASE}.tar.gz" | tee -a ${SCRIPT}
-       echo "kup --host=${HOST} put ChangeLog-${RELEASE} ChangeLog-${RELEASE}.asc      /pub/linux/kernel/v${VER}/longterm/v${BASE}/" | tee -a ${SCRIPT}
-       echo "kup --host=${HOST} put patch-${RELEASE}     patch-${RELEASE}.asc     /pub/linux/kernel/v${VER}/longterm/v${BASE}/patch-${RELEASE}.gz" | tee -a ${SCRIPT}
+       echo "kup --host=${HOST} --subcmd=kup-server put --tar --prefix=linux-${RELEASE}/ /pub/scm/linux/kernel/git/stable/linux-stable.git v${RELEASE} linux-${RELEASE}.tar.asc /pub/linux/kernel/v${VER}/longterm/v${BASE}/linux-${RELEASE}.tar.gz" | tee -a ${SCRIPT}
+       echo "kup --host=${HOST} --subcmd=kup-server put ChangeLog-${RELEASE} ChangeLog-${RELEASE}.asc      /pub/linux/kernel/v${VER}/longterm/v${BASE}/" | tee -a ${SCRIPT}
+       echo "kup --host=${HOST} --subcmd=kup-server put patch-${RELEASE}     patch-${RELEASE}.asc     /pub/linux/kernel/v${VER}/longterm/v${BASE}/patch-${RELEASE}.gz" | tee -a ${SCRIPT}
        if [ $INCREMENTAL -ne 0 ]; then
-               echo "kup --host=${HOST} put patch-${LAST_REL}-${REL} patch-${LAST_REL}-${REL}.asc /pub/linux/kernel/v${VER}/longterm/v${BASE}/incr/patch-${LAST_REL}-${REL}.gz" | tee -a ${SCRIPT}
+               echo "kup --host=${HOST} --subcmd=kup-server put patch-${LAST_REL}-${REL} patch-${LAST_REL}-${REL}.asc /pub/linux/kernel/v${VER}/longterm/v${BASE}/incr/patch-${LAST_REL}-${REL}.gz" | tee -a ${SCRIPT}
        fi
 #      echo "mv $RELDIR/linux-${RELEASE}.tar.gz ~/v2.6/longterm/v${BASE}/"
 #      echo "mv $RELDIR/ChangeLog-${RELEASE} ~/v2.6/longterm/v${BASE}/"
@@ -132,11 +165,11 @@ else
        echo "# This is a stable release"
        echo "# finalize it:"
        echo "cd ${RELDIR}"
-       echo "kup --host=${HOST} put --tar --prefix=linux-${RELEASE}/ /pub/scm/linux/kernel/git/stable/linux-stable.git v${RELEASE} linux-${RELEASE}.tar.asc /pub/linux/kernel/v${VER}/linux-${RELEASE}.tar.gz" | tee -a ${SCRIPT}
-       echo "kup --host=${HOST} put ChangeLog-${RELEASE} ChangeLog-${RELEASE}.asc      /pub/linux/kernel/v${VER}/" | tee -a ${SCRIPT}
-       echo "kup --host=${HOST} put patch-${RELEASE}     patch-${RELEASE}.asc     /pub/linux/kernel/v${VER}/patch-${RELEASE}.gz" | tee -a ${SCRIPT}
+       echo "kup --host=${HOST} --subcmd=kup-server put --tar --prefix=linux-${RELEASE}/ /pub/scm/linux/kernel/git/stable/linux-stable.git v${RELEASE} linux-${RELEASE}.tar.asc /pub/linux/kernel/v${VER}/linux-${RELEASE}.tar.gz" | tee -a ${SCRIPT}
+       echo "kup --host=${HOST} --subcmd=kup-server put ChangeLog-${RELEASE} ChangeLog-${RELEASE}.asc      /pub/linux/kernel/v${VER}/" | tee -a ${SCRIPT}
+       echo "kup --host=${HOST} --subcmd=kup-server put patch-${RELEASE}     patch-${RELEASE}.asc     /pub/linux/kernel/v${VER}/patch-${RELEASE}.gz" | tee -a ${SCRIPT}
        if [ $INCREMENTAL -ne 0 ]; then
-               echo "kup --host=${HOST} put patch-${LAST_REL}-${REL} patch-${LAST_REL}-${REL}.asc /pub/linux/kernel/v${VER}/incr/patch-${LAST_REL}-${REL}.gz" | tee -a ${SCRIPT}
+               echo "kup --host=${HOST} --subcmd=kup-server put patch-${LAST_REL}-${REL} patch-${LAST_REL}-${REL}.asc /pub/linux/kernel/v${VER}/incr/patch-${LAST_REL}-${REL}.gz" | tee -a ${SCRIPT}
        fi
 #      echo "mv $RELDIR/patch-${LAST_REL}-${REL}.gz ~"
 #      echo "mv $RELDIR/diffstat-${LAST_REL}-${REL} ~"
@@ -146,3 +179,73 @@ else
 #      echo "# current LATEST-IS is '$LATEST' is that what it should be?"
 #      echo "# mv ~/v${VER}/${LATEST} ~/v${VER}/LATEST-IS-${RELEASE}"
 fi
+
+# create the email
+
+#Subject: Linux ${RELEASE}
+
+cat << __EOF__ > ${RELDIR}/email
+I'm announcing the release of the ${RELEASE} kernel.
+
+All users of the ${BASE} kernel series must upgrade.
+
+The updated ${BASE}.y git tree can be found at:
+       git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-${BASE}.y
+and can be browsed at the normal kernel.org git web browser:
+       https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
+
+thanks,
+
+greg k-h
+
+------------
+
+__EOF__
+
+if [ $INCREMENTAL -ne 0 ]; then
+       cat ${RELDIR}/diffstat-${LAST_REL}-${REL} >> ${RELDIR}/email
+else
+       cat ${RELDIR}/diffstat-${RELEASE} >> ${RELDIR}/email
+fi
+
+echo "" >> ${RELDIR}/email
+cat $RELDIR/shortlog-$RELEASE >> ${RELDIR}/email
+
+
+# create script to send email out
+
+cat << __EOF__ > ${RELDIR}/send_email
+#!/bin/bash
+
+FROM="Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
+TO="linux-kernel@vger.kernel.org, akpm@linux-foundation.org, torvalds@linux-foundation.org, stable@vger.kernel.org"
+CC="lwn@lwn.net, jslaby@suse.cz"
+SUBJECT="Linux ${RELEASE}"
+ID=\$(make_message_id)
+
+cat email |                            \\
+       makemail -to="\${TO}"           \\
+               -from="\${FROM}"                \\
+               -cc="\${CC}"            \\
+               -subject="\${SUBJECT}"  \\
+               -message_id="\${ID}"    \\
+               -date="\$(date -R)"     \\
+       > msg.000
+
+PATCH_ID=\$(make_message_id)
+cat patch-${LAST_REL}-${REL} |                         \\
+       makemail -to="\${TO}"                   \\
+               -from="\${FROM}"                        \\
+               -cc="\${CC}"                    \\
+               -subject="Re: \${SUBJECT}"      \\
+               -message_id="\${PATCH_ID}"      \\
+               -reply_to="\${ID}"              \\
+               -date="\$(date -R)"             \\
+       > msg.001
+
+git send-email msg.000 msg.001
+__EOF__
+
+chmod 755 ${RELDIR}/send_email
+
+
index 1b0fe5463496edb75fefa774507be475bf236a7c..4e4dc5a55d1173ebaf91a3b043a23f4635673947 100755 (executable)
@@ -1,6 +1,6 @@
-#! /usr/bin/env python
+#! /usr/bin/env python2
 # vim: set fileencoding=utf-8
-# (c) Uwe Kleine-König <ukleine@strlen.de>
+# (c) Uwe Kleine-König <uwe@kleine-koenig.org>
 # GPLv2
 
 import locale
@@ -9,31 +9,31 @@ import sys
 f = file(sys.argv[1])
 data = f.read()
 
-def len_utf8_char(data):
+def len_utf8_char(data, i):
     def check_cont(num):
-        if all(map(lambda c: ord(c) >= 0x80 and ord(c) <= 0xbf, data[1:num])):
+        if all(map(lambda c: ord(c) >= 0x80 and ord(c) <= 0xbf, data[i+1:i+num])):
             return num
         else:
             return -1
  
-    if ord(data[0]) < 128:
+    if ord(data[i]) < 128:
         # ASCII char
         return 1
-    elif ord(data[0]) & 0xe0 == 0xc0:
+    elif ord(data[i]) & 0xe0 == 0xc0:
         return check_cont(2)
-    elif ord(data[0]) & 0xf0 == 0xe0:
+    elif ord(data[i]) & 0xf0 == 0xe0:
         return check_cont(3)
-    elif ord(data[0]) & 0xf8 == 0xf0:
+    elif ord(data[i]) & 0xf8 == 0xf0:
         return check_cont(4)
-    elif ord(data[0]) & 0xfc == 0xf8:
+    elif ord(data[i]) & 0xfc == 0xf8:
         return check_cont(5)
-    elif ord(data[0]) & 0xfe == 0xfc:
+    elif ord(data[i]) & 0xfe == 0xfc:
         return check_cont(6)
 
 i = 0
 maxl = 0
 while i < len(data):
-    l = len_utf8_char(data[i:])
+    l = len_utf8_char(data, i)
     if l < 0:
         prefenc = locale.getpreferredencoding()
         if prefenc not in ('UTF-8', 'ANSI_X3.4-1968'):
index b76f77fdf3b93e07d51acd8d8ca513cb829236d1..03d087956901f1fc0c4893426d709cd423b8462e 100755 (executable)
@@ -1,13 +1,27 @@
-#!/usr/bin/perl
-
-# we make a "fake" message id by taking the current number
-# of seconds since the beginning of Unix time and tacking on
-# a random number to the end, in case we are called quicker than
-# 1 second since the last time we were called.
-
-my $date = `date "+\%s"`;
-my $hostname = `hostname -d`;
-chomp($date);
-my $pseudo_rand = int (rand(4200));
-$message_id = "$date$pseudo_rand\@$hostname";
-print "$message_id";
+#!/bin/bash
+# This generates lore-friendly message-id headers that are safe, unique, and
+# provide better UX for someone using lore to retrieve messages.
+#
+# Instructions for using with mutt/neomutt:
+#
+# Save this as ~/bin/my-gen-msgid, then add ~/.mutt-fix-msgid with the following,
+# fixing your path to the file:
+#
+# my_hdr Message-ID: <`/home/user/bin/my-gen-msgid`>
+#
+# then edit ~/.muttrc to add:
+#
+# send-hook . "source ~/.mutt-fix-msgid"
+#
+# I like my msgid to start with the date
+msgid="$(date +%Y%m%d%S)-"
+if [[ -x /bin/diceware ]]; then
+       # I like memorable nonsense, so I can visually tell one message from another,
+       # by looking at the lore URL, so use diceware for that
+       msgid="${msgid}$(diceware --no-caps -d- -n2)-$(openssl rand -hex 2)"
+else
+       # Just use openssl with some extra randomness
+       msgid="${msgid}$(openssl rand -hex 12)"
+fi
+# Don't leak my hostname, just use something that makes sense to me
+echo -n "${msgid}@gregkh"