]> git.ozlabs.org Git - next-scripts/blobdiff - make_tree_file
do_build: consolidate failure action
[next-scripts] / make_tree_file
index 3881959602d167f1a76e05ed3b63c51630b6d026..f286756b87999f1443f259f146678cef11ea4c1d 100755 (executable)
@@ -1,84 +1,84 @@
-#!/bin/bash
+#!/bin/sh
 
-. "$(dirname $0)/common.sh"
+_next_common_no_args=1 . "$(dirname "$0")/common.sh"
 
 # Don't do releases in the wee hours :-)
-h=$(date '+%H')
-(( "$h" < 10 && "$h" > 4 )) && {
-       echo "Go back to bed" 1>&2
+h=$(date '+%k')
+if [ "$h" -lt 10 ] && [ "$h" -gt 4 ]; then
+       printf '%s\n' 'Go back to bed' 1>&2
        exit 1
-}
-
-eval $(gpg-agent --daemon --enable-ssh-support)
-ssh-add ~/.ssh/ra.kernel.org
+fi
 
 # This means I get the right tag if I finish after midnight
-d=$(date --date "5 hours ago" '+%Y%m%d')
-l="$(git describe --match "v*" --abbrev=0)"
+d=$(date --date '5 hours ago' '+%Y%m%d')
+l=$(git tag -l --sort=taggerdate 'v*' | tail -n 1)
 n="next-$d"
 
 mkdir Next
 
-echo 'Trees included into this release:
-
-Name           Type    URL
-----           ----    ---' > Next/Trees
-
 (
-IFS='  '
-while read email type name url ref build; do
-       [[ "$email" =~ '^#.*$' ]] && continue
-       tab="\t"
-       [ $(echo "$name" | wc -c) -le 8 ] && tab="\t\t"
-       [ "${ref%:*}" = "${ref}" ] || ref=${ref##*:}
-       [ "$type" = "git" ] && url="$url#$ref"
-       printf "%s$tab%s\t%s\n" $name $type $url >>Next/Trees
-done <$CTRL_FILE
-)
+       tab="$_TAB$_TAB"
+
+       printf '%s\n\n' 'Trees included into this release:'
+       printf '%s%s%s\t%s\n' 'Name' "$tab" 'Type' 'Url'
+       printf '%s%s%s\t%s\n' '----' "$tab" '----' '---'
+
+       for name in $(get_branches); do
+               tab="$_TAB"
+               if [ ${#name} -lt 8 ]; then
+                       tab="$tab$_TAB"
+               fi
+               type=$(get_type "$name")
+               url=$(get_url "$name")
+               if [ "$type" = "git" ] && ! [ "$url" = 'linux-next' ]; then
+                       ref=$(get_remote_branch "$name")
+                       url="$url#$ref"
+               fi
+               printf '%s%s%s\t%s\n' "$name" "$tab" "$type" "$url"
+       done
+) >Next/Trees
 
 mv ../SHA1s Next/SHA1s
 
-for i in quilt-import.log merge.log; do
-       grep -v '^Checking out files:' ../$i >Next/$i
-done
+grep -a -v '^Checking out files:' ../merge.log >Next/merge.log
 
-printf -- "-next-%s\n" $d >localversion-next
+printf -- '-next-%s\n' "$d" >localversion-next
 
 git add Next localversion-next
 git commit -s -v -a -m "Add linux-next specific files for $d"
-git tag -u 41D5C07A -m "$n" "$n"
+git tag -u "$gpg_key" -m "$n" "$n"
 
 git branch -f stable refs/remotes/origin/master
 
 p="patch-$l-$n"
 git diff-tree -p "$l.." >"../$p"
-gpg2 -u 41D5C07A -a -b "../$p"
-#echo "$l" > "../LATEST-IS-$n"
+gpg -u "$kup_gpg_key" -a -b "../$p"
 
-"$bin_dir/make_abat_scripts" "$d" "$l"
+oldest=$(date --date '3 months ago' '+%Y%m%d')
+printf 'Removing old releases ... <= next-%s\n' "$oldest"
 
-oldest=$(date --date "3 months ago" '+%Y%m%d')
-echo "Removing old releases ... <= next-$oldest"
-
-old_tags=$(git ls-remote --tags korg next-\* |
-       awk -F - '$2 ~ /^[0-9]*$/ && $2 <= '$oldest' { printf("next-%s\n", $2); }')
-
-[ "$old_tags" ] && git push korg --delete $old_tags
+for t in $(git tag -l 'next-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'); do
+       t=${t#next-}
+       if [ "$t" -gt "$oldest" ]; then
+               break
+       fi
+       git tag -d "next-$t"
+done
 
-echo Pushing to korg ...
-git push korg
+printf '%s\n' 'Pushing to korg ...'
+git push --prune korg
 
-echo Pushing to korg-history ...
+printf '%s\n' 'Pushing to korg-history ...'
 git push korg-history
 
-echo Pushing to history
+printf '%s\n' 'Pushing to history ...'
 git push history
 
-echo Pushing patch to kernel.org ...
+printf '%s\n' 'Pushing patch to kernel.org ...'
 cd ..
 xz -v -9 "$p"
-kup --host=kup.kernel.org put "$p.xz" "$p.asc" "/pub/linux/kernel/next/$p.gz"
+kup put "$p.xz" "$p.asc" "/pub/linux/kernel/next/$p.gz"
 
-ssh-agent -k
+ssh -O exit git@gitolite.kernel.org
 
 exit 0