X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=make_tree_file;h=f1a7e327dee3b5061a042a485b885d884c961352;hb=f09e6dba2f8b9b6c9d3cf190556210979b333ef0;hp=2a5a980992f6760055b503ddb54cfd75e076082b;hpb=d7b42aa3fa0d796fcd55181bbd24eb797e82be33;p=next-scripts diff --git a/make_tree_file b/make_tree_file index 2a5a980..f1a7e32 100755 --- a/make_tree_file +++ b/make_tree_file @@ -1,5 +1,20 @@ #!/bin/bash +# Don't do releases in the wee hours :-) +h=$(date '+%H') +(( "$h" < 10 && "$h" > 4 )) && { + echo "Go back to bed" 1>&2 + exit 1 +} + +eval $(ssh-agent -s) +ssh-add ~/.ssh/ra.kernel.org + +# 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)" +n="next-$d" + mkdir Next echo 'Trees included into this release: @@ -7,24 +22,63 @@ echo 'Trees included into this release: Name Type URL ---- ---- ---' > Next/Trees +( IFS=' ' -while read email type name url ref; do +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 + printf "%s$tab%s\t%s\n" $name $type $url >>Next/Trees +done <../etc/control +) -cp ../quilt-import.log ../merge.log Next/. +mv ../SHA1s Next/SHA1s -d=$(date '+%Y%m%d') +for i in quilt-import.log merge.log; do + grep -v '^Checking out files:' ../$i >Next/$i +done -printf "%s-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" -git tag "next-$d" -git update-ref refs/heads/stable refs/remotes/origin/master +git commit -s -v -a -m "Add linux-next specific files for $d" +git tag -u 41D5C07A -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" + +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 + +echo Pushing to korg ... +git push korg + +echo Pushing to korg-history ... +git push korg-history + +echo Pushing to history +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" + +ssh-agent -k exit 0