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

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Stefan Bader-2
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 <[hidden email]>
---

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


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

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

Stefan Bader-2
On 05.09.2018 11:58, Stefan Bader wrote:

> 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 <[hidden email]>
> ---
>
> 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.
As nobody bothered and I at least followed up with the second half of Kamal's
suggestions, I now applied this to kteam-tools/stable/ (assuming his ACK).

-Stefan

>
> -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
> +
>


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team

signature.asc (836 bytes) Download Attachment