X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=make_tree_file;h=75614f6bb80595c39b1944d1ca14e4f84f2985f0;hb=HEAD;hp=cd4f754e9bd4e18007abfc45edf940e6a28e8559;hpb=63e873f8bd1c724d1f2e399f457435b819535426;p=next-scripts diff --git a/make_tree_file b/make_tree_file index cd4f754..f286756 100755 --- a/make_tree_file +++ b/make_tree_file @@ -1,86 +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 $(ssh-agent -s) -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" - -"$bin_dir/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" +oldest=$(date --date '3 months ago' '+%Y%m%d') +printf 'Removing old releases ... <= next-%s\n' "$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 +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