[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