]> git.ozlabs.org Git - next-scripts/blobdiff - make_tree_file
do a build after mergeing akpm-current
[next-scripts] / make_tree_file
index 2a5a980992f6760055b503ddb54cfd75e076082b..f1a7e327dee3b5061a042a485b885d884c961352 100755 (executable)
@@ -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