[kteam-tools v2] NEW: stable/update-kuc-sru-dates

Stefan Bader stefan.bader at canonical.com
Wed Sep 5 09:58:08 UTC 2018


Adds a new shell script which updates the entry web page
kernel.ubuntu.com/index.html with a new set of dates and
commits the result (if differing to before).

Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
---

If anybody has a better name, I do not insist on the current one.
The script itself takes the SRU cycle date and passes it into
gen-sru-announce --html. Then takes that output and inserts it
between the repective markers in the kernel.ubuntu.com/index.html
file.
The path is found relative to the script path. To make this work
either the stable directory has to be in the PATH environment or
a softlink pointing to it must be present in some path, or the
script is called with a full path.

-Stefan

v2: replaced trap ERR by trap EXIT and remove manual cleanup code

 stable/update-kuc-sru-dates | 72 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100755 stable/update-kuc-sru-dates

diff --git a/stable/update-kuc-sru-dates b/stable/update-kuc-sru-dates
new file mode 100755
index 0000000..79b885e
--- /dev/null
+++ b/stable/update-kuc-sru-dates
@@ -0,0 +1,72 @@
+#!/bin/bash
+#------------------------------------------------------------------------------
+# Update the main web page (index.html) SRU dates section with the output from
+# gen-sru-announce --html and commit the changes if successful.
+#
+# Arguments: <date>
+#   <date>	: This is the YYYY.MM.DD date of the Monday which starts the
+#		  new cycle.
+#------------------------------------------------------------------------------
+set -e
+if [ -L "$0" ]; then
+	BINDIR=$(dirname $(readlink $0))
+else
+	BINDIR=$(dirname "$0")
+fi
+if [ "$BINDIR" = "." ]; then
+	BINDIR=$(pwd)
+fi
+
+SRC="$BINDIR/../kernel.ubuntu.com/index.html"
+if [ ! -r $SRC ]; then
+	echo "EE: $SRC cannot be read!" >&2
+	exit 1
+fi
+
+if [ "$1" = "" ]; then
+	echo "Usage: $(basename $0) <date:YYYY.MM.DD>" >&2
+	exit 1
+fi
+
+TMP=$(mktemp '/tmp/update-sru-XXXXX')
+trap 'test -f "$TMP" && rm "$TMP"' EXIT
+
+gen-sru-announce --html "$1" >>$TMP || (
+	echo "EE: Error calling gen-sru-announce:" >&2
+	cat $TMP >&2
+	exit 1
+)
+
+awk -v DATA=$TMP '
+	match($0, /<!-- Start-SRU-Dates -->/){
+		skip=1
+		indent=RSTART-1
+		print $0
+		while (getline < DATA) {
+			printf("%*s%s\n", indent, " ", $0)
+		}
+		next
+	}
+	/<!-- End-SRU-Dates -->/{
+		skip=0
+	}
+	skip == 0{
+		print $0
+	}
+' $SRC >$SRC.new && mv $SRC.new $SRC
+
+MSG=$(cat <<EOD
+kernel.ubuntu.com/index.html: Update for $1 SRU cycle
+
+Update the dates shown on the main web page to the new SRU cycle
+dates.
+
+EOD
+)
+
+if [ "$(git diff $SRC 2>/dev/null)" != "" ]; then
+	git add $SRC && git commit -s -m"$MSG"
+fi
+
+exit 0
+
-- 
2.7.4





More information about the kernel-team mailing list