]> git.ozlabs.org Git - next-scripts/blobdiff - make_tree_file
update to_build_host a bit
[next-scripts] / make_tree_file
index c14a6dad62709eb6cd1f754e879ccf72c0d53a06..75614f6bb80595c39b1944d1ca14e4f84f2985f0 100755 (executable)
@@ -1,70 +1,69 @@
 #!/bin/bash
 
+. "$(dirname $0)/common.sh"
+
 # Don't do releases in the wee hours :-)
-h=$(date '+%H')
+h=$(date '+%k')
 (( "$h" < 10 && "$h" > 4 )) && {
        echo "Go back to bed" 1>&2
        exit 1
 }
 
-eval $(ssh-agent -s)
-ssh-add ~/.ssh/ra.kernel.org
+read -r -p "Yubikey token: " tok
+ssh git@gitolite.kernel.org 2fa val-session $tok
 
 # 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)"
+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
-done <../real_control >>Next/Trees
+(
+       cat <<-'EOF'
+       Trees included into this release:
+
+       Name            Type    URL
+       ----            ----    ---
+       EOF
+
+       IFS='   '
+       grep -v '^#' $CTRL_FILE |
+               while read email type name url ref build; do
+                       [ "$type" = "branch" ] && continue
+                       tab="\t"
+                       [ ${#name} -lt 8 ] && tab="\t\t"
+                       [ "$type" = "git" ] && url="$url#${ref##*:}"
+                       printf "%s$tab%s\t%s\n" $name $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 -v '^Checking out files:' ../merge.log >Next/merge.log
 
 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"
-
-$(dirname $0)/make_abat_scripts "$d" "$l"
+gpg -u $kup_gpg_key -a -b "../$p"
 
 oldest=$(date --date "3 months ago" '+%Y%m%d')
 echo "Removing old releases ... <= next-$oldest"
 
-for i in $(git ls-remote --tags korg next-\* |
-               sed -n 's,^.*[ \t]refs/tags/next-\([0-9]*\)$,\1,p' |
-               sort -n); do
-       [ $i -gt $oldest ] && break
-       git push korg --delete next-$i
-done
+old_tags=$(git tag -l 'next-*[0-9]' |
+       awk -F - '$2 ~ /^[0-9]*$/ && $2 <= '$oldest' { printf("next-%s\n", $2); }')
+
+[ "$old_tags" ] && git tag -d $old_tags
 
 echo Pushing to korg ...
-git push korg
+git push --prune korg
 
 echo Pushing to korg-history ...
 git push korg-history
@@ -75,8 +74,8 @@ git push history
 echo Pushing patch to kernel.org ...
 cd ..
 xz -v -9 "$p"
-kup --host=geb.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