host="fs"
[ "$1" ] && host="$1"
-rsync -avHP --exclude gitk.cache \
+rsync -avHP --exclude gitk.cache --exclude next-2'*'/ \
--include next/.git --include next/.git/'**' --exclude next/'**' \
--include quilt/.git --include quilt/.git/'**' --exclude quilt/'**' \
--include next-fixes/.git --include next-fixes/.git/'**' --exclude next-fixes/'**' \
control=../real_control
[ -f real_control ] && control=real_control
-branch=$(grep '^Merging ' $log | tail -1 | sed 's/^Merging //')
-branch=${branch#quilt/}
-branch=${branch%%/*}
+branch=""
+[ "$1" = "-t" ] && {
+ branch=$2
+ shift 2
+}
-contact=$(sed -n "/ $branch /s/ .*$//p" $control)
+[ "$branch" ] || {
+ branch=$(grep '^Merging ' $log | tail -1 | sed 's/^Merging //' | sed 's/ .*$//')
+ branch=${branch#quilt/}
+ branch=${branch%%/*}
+}
+
+contact=$(awk -F ' ' '$3=="'"$branch"'" { print $1; }' $control)
greeting=${contact%% *}
+greeting=${greeting#\"}
[ "${contact%,*}" = "${contact}" ] || greeting="all"
-sylpheed --compose "mailto:$contact?Cc=linux-next@vger.kernel.org,%20linux-kernel@vger.kernel.org&Subject=linux-next: build failure after merge of $branch tree&Body=Hi $greeting,%0A\
+sylpheed --compose "mailto:$contact?Cc=linux-next@vger.kernel.org,%20linux-kernel@vger.kernel.org&Subject=linux-next: build failure after merge of the $branch tree&Body=Hi $greeting,%0A\
%0A\
After merging the $branch tree, today's linux-next build ()%0A\
failed like this:"
control=../real_control
[ -f real_control ] && control=real_control
-branch=$(grep '^Merging ' $log | tail -1 | sed 's/^Merging //')
-branch=${branch#quilt/}
-branch=${branch%%/*}
+branch=""
+[ "$1" = "-t" ] && {
+ branch=$2
+ shift 2
+}
-contact=$(sed -n "/ $branch /s/ .*$//p" $control)
+[ "$branch" ] || {
+ branch=$(grep '^Merging ' $log | tail -1 | sed 's/^Merging //' | sed 's/ .*$//')
+ branch=${branch#quilt/}
+ branch=${branch%%/*}
+}
+
+contact=$(awk -F ' ' '$3=="'"$branch"'" { print $1; }' $control)
greeting=${contact%% *}
+greeting=${greeting#\"}
[ "${contact%,*}" = "${contact}" ] || greeting="all"
-sylpheed --compose "mailto:$contact?Cc=linux-next@vger.kernel.org,%20linux-kernel@vger.kernel.org&Subject=linux-next: build warning after merge of $branch tree&Body=Hi $greeting,%0A\
+sylpheed --compose "mailto:$contact?Cc=linux-next@vger.kernel.org,%20linux-kernel@vger.kernel.org&Subject=linux-next: build warning after merge of the $branch tree&Body=Hi $greeting,%0A\
%0A\
After merging the $branch tree, today's linux-next build ()%0A\
produced this warning:"
fi
}
- log Merging $h
+ hlog=$(git log -1 --oneline $h) 2>/dev/null
+ log Merging $h "($hlog)"
old_head=$(git rev-parse HEAD)
case "$h" in
*:*)
#!/bin/bash
LOG_FILE="../merge.log"
-build_host="sprygo"
+build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
patch="$1"
shift
-[ -n "$1" ] && build_host="$1"
+[ -n "$1" ] && {
+ build_host="$1"
+ shift
+}
+[ -n "$1" ] && {
+ build_dir="$1"
+ shift
+}
log()
{
$no_build && exit 0
-rsync -avH --exclude .git --delete . "$build_host":"$build_dir"/. || {
- echo Rsync failed 1>&2
+git push -f "$build_host":"$build_dir" master:refs/heads/next || {
+ echo git push failed 1>&2
bash -i || exit
}
ssh "$build_host" "$build_cmd" || {
#!/bin/bash
LOG_FILE="../merge.log"
-build_host="sprygo"
+build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
rev=$1
shift
-[ -n "$1" ] && build_host="$1"
+[ -n "$1" ] && {
+ build_host="$1"
+ shift
+}
+[ -n "$1" ] && {
+ build_dir="$1"
+ shift
+}
log()
{
$no_build && exit 0
-rsync -avH --exclude .git --delete . "$build_host":"$build_dir"/. || {
- echo Rsync failed 1>&2
+git push -f "$build_host":"$build_dir" master:refs/heads/next || {
+ echo git push failed 1>&2
bash -i || exit
}
ssh "$build_host" "$build_cmd" || {
url=$(get_field "$name" 4)
case "$url" in
- http://kernel.org/*|http://www.kernel.org/*)
- use_rsync=true
- rurl=$(echo "$url" | sed -r 's,^http://(www\.)?kernel\.org,master.kernel.org:,')
- ;;
+# http://kernel.org/*|http://www.kernel.org/*)
+# use_rsync=true
+# rurl=$(echo "$url" | sed -r 's,^http://(www\.)?kernel\.org,master.kernel.org:,')
+# ;;
http://ozlabs.org/~*)
use_rsync=true
rurl=$(echo "$url" | sed -r 's,^http://ozlabs\.org/([^/]*),ozlabs.org:\1/public_html,')
#!/bin/sh
-wget -q -O - http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-$1.id
+if [ "$1" = "${1#3}" ]; then
+ dir=v2.6
+else
+ dir=v3.0
+fi
+
+wget -q -O - http://www.kernel.org/pub/linux/kernel/$dir/snapshots/patch-$1.id
[ -d ../abat ] || mkdir ../abat
i=1
-for t in "IBM,9124-720 eServer OpenPower 720" "IBM,9110-51A System p5 510" "IBM,9117-MMA System p 570"
-do
- cat >"../abat/$d-abat.ozlabs.ibm.com-$i" <<EOF
-option title linux-next $d boot test
-class next type="$t" provision:=ubuntu-gutsy-ozlabs
-+\$kernel "master^"
-+\$patch http://fs.ozlabs.ibm.com/~sfr/ABAT-fix.patch
-+\$config http://ozlabs.au.ibm.com/~tony/abat/configs/no_CONFIG_LOCALVERSION_AUTO.config
-build generic git git://fs.ozlabs.ibm.com/home/kernel/linux-next.git \$kernel -p \$patch -c \$config -m -j\$num_cpus
-boot initcall_debug
-EOF
- i=$((i + 1));
-done
-exit 0
+cat >"../abat/$d-abat.ozlabs.ibm.com-$i" <<EOF
+option title linux-next $d stable boot test
+class next cpu_type like "POWER6%"
++\$kernel "origin/stable"
++\$patch "http://fs.ozlabs.ibm.com/~sfr/ABAT-fix.patch"
++\$config "http://fs.ozlabs.ibm.com/~sfr/config.next"
+build generic git git://fs.ozlabs.ibm.com/home/kernel/linux-next.git \$kernel -c \$config -p \$patch -m -j\$num_cpus
+boot initcall_debug=y debug
+EOF
+i=$((i + 1))
-i=1
-for t in 'type="88552RZ"' 'type="IBM eServer BladeCenter LS20 -[885055U]-"' 'type="-[622142U]-"' 'type="PowerMac7,2"' 'machine_name="js22-bup1"'
-do
- cat >"../abat/$d-abat.linux.ibm.com-$i" <<EOF
+#for t in 'POWER5%gr%' 'POWER5%gs%' 'POWER6%' 'POWER7%' '%Opteron%' '%PPC970%'; do
+for t in 'POWER5%gs%' 'POWER6%' 'POWER7%' '%PPC970%'; do
+ cat >"../abat/$d-abat.ozlabs.ibm.com-$i" <<EOF
option title linux-next $d boot test
-class next $t
+#option timed 2010-07-07 19:30 +1000
+class next cpu_type like "$t"
+\$kernel "master^"
-+\$config http://ozlabs.au.ibm.com/~tony/abat/configs/no_CONFIG_LOCALVERSION_AUTO.config
-build generic git git://ozlabs.au.ibm.com/srv/git/sfr/next.git \$kernel -c \$config -m -j\$num_cpus
-boot initcall_debug
++\$patch "http://fs.ozlabs.ibm.com/~sfr/ABAT-fix.patch"
++\$config "http://fs.ozlabs.ibm.com/~sfr/config.next"
+build generic git git://fs.ozlabs.ibm.com/home/kernel/linux-next.git \$kernel -c \$config -p \$patch -m -j\$num_cpus
+boot initcall_debug=y debug
EOF
- i=$((i + 1));
+i=$((i + 1))
done
exit 0
tree=${h#quilt/}
rem_ref=refs/heads
}
+ [ "${h%:*}" == "${h}" ] ||
+ h="${tree}/${h##*:}"
git update-ref "refs/next/$dir/$tree" "$rem_ref/$h"
done
git pack-refs --all --prune
exit 0
-
#!/bin/bash
-egrep '(git (cherry|rm|reset|checkout|quiltimport))|Merging|Applying|CONFLICT|Revert|Created commit' merge.log | egrep -v '(reset HEAD\^|^Created commit [0-9a-f]*: Merge (branch|commit)|mark the corrected paths|HEAD is now at)' >summ
+egrep '^\[|(git (cherry|rm|reset|checkout|quiltimport))|Merging|Applying|CONFLICT|Revert|Created commit' merge.log |
+ egrep -v 'reset HEAD\^|^Created commit [0-9a-f]*: Merge (branch|commit)|mark the corrected paths|HEAD is now at|^\[master [0-9a-f]*\] Merge( remote(-tracking)?)? branch|^hint:' >summ
exit 0
exit 1
}
+#git update-ref refs/heads/akpm-end refs/heads/master
+
# 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
[[ "$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
- href="$name/$ref"
- [ "$type" = "quilt" ] && href="quilt/$name"
printf "%s$tab%s\n" $name $(git show-ref --verify --hash "refs/next/$d/$name") >> Next/SHA1s
done <../real_control >>Next/Trees
git add Next localversion-next
git commit -s -v -a -m "Add linux-next specific files for $d"
-git tag -u 058D8206 -m "next-$d" "next-$d"
+git tag -u 41D5C07A -m "$n" "$n"
+
git update-ref refs/heads/stable refs/remotes/origin/master
+git update-ref refs/heads/akpm-start 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"
+
+../tools/make_abat_scripts "$d" "$l"
+
+echo Pushing to korg ...
+git push korg
+
+echo Pushing to korg-history ...
+git push korg-history
-# Stitch the new tree into the history branch
-new_ref=$(echo "next-$d" | git commit-tree 'HEAD^{tree}' -p history -p HEAD)
-git update-ref -m "next-$d" refs/heads/history $new_ref
+echo Pushing to history
+git push history
-../tools/make_abat_scripts "$d"
+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"
exit 0
#!/bin/bash
LOG_FILE="../merge.log"
-build_host="sprygo"
+build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
no_build=true
}
patch="$1"
+shift
[ -f "$patch" ] || {
echo "patch does not exist" 1>&2
exit 1
}
-[ -n "$2" ] && build_host="$2"
+[ -n "$1" ] && {
+ build_host="$1"
+ shift
+}
+[ -n "$1" ] && {
+ build_dir="$1"
+ shift
+}
log()
{
$no_build && exit 0
-rsync -avH --exclude .git --delete . "$build_host":"$build_dir"/. || {
- echo Rsync failed 1>&2
+git push -f "$build_host":"$build_dir" master:refs/heads/next || {
+ echo git push failed 1>&2
bash -i || exit
}
control=../real_control
[ -f real_control ] && control=real_control
-branch=$(grep '^Merging ' $log | tail -1 | sed 's/^Merging //')
+branch=$(grep '^Merging ' $log | tail -1 | sed 's/^Merging //' | sed 's/ .*$//')
branch=${branch#quilt/}
branch=${branch%%/*}
-contact=$(sed -n "/ $branch /s/ .*$//p" $control)
+contact=$(awk -F ' ' '$3=="'"$branch"'" { print $1; }' $control)
greeting=${contact%% *}
+greeting=${greeting#\"}
[ "${contact%,*}" = "${contact}" ] || greeting="all"
file="$*"
-gitk.test --merge -- $file &
+gitk --merge -- $file &
[ "$file" ] && gvim $file
sylpheed --compose "mailto:$contact?Cc=linux-next@vger.kernel.org,%20linux-kernel@vger.kernel.org&Subject=linux-next: manual merge of the $branch tree with the tree&Body=Hi $greeting,%0A\
#!/bin/bash
LOG_FILE="../merge.log"
-build_host="sprygo"
+build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
exit 1
}
-[ -n "$3" ] && build_host="$3"
+[ -n "$3" ] && {
+ build_host="$3"
+ shift
+}
+[ -n "$3" ] && {
+ build_dir="$3"
+ shift
+}
log()
{
log Merging "refs/next/$ver/$tree"
execute git merge "refs/next/$ver/$tree" || {
echo Merge failed 1>&2
- bash -i || exit
+ echo "refs/next/$ver/$tree" >>../merge.debug
+ git diff >>../merge.debug 2>&1
+ git diff 2>&1 | egrep -q '<<<<<|^\*' && {
+ bash -i || exit
+ }
GIT_EDITOR=: execute git commit -v -a
execute git diff -M --stat --summary 'HEAD^..'
}
+[ -f "../merge-fixes/$tree" ] && {
+ for p in $(cat "../merge-fixes/$tree"); do
+ ../tools/merge_fix -n "$p" || {
+ bash -i || exit
+ }
+ done
+}
d=$(date --date "5 hours ago" '+%Y%m%d')
git update-ref "refs/next/$d/broken/$tree" "refs/next/$d/$tree"
$no_build && exit 0
-rsync -avH --exclude .git --delete . "$build_host":"$build_dir"/. || {
- echo Rsync failed 1>&2
+git push -f "$build_host":"$build_dir" master:refs/heads/next || {
+ echo git push failed 1>&2
bash -i || exit
}
#!/bin/bash
LOG_FILE="../merge.log"
-build_host="sprygo"
+build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
sfile="../quilt/$name/series"
base=$(sed -n 's/^#[ ]*NEXT[-_]BASE[ ]*\([^ ]*\)[ ]*$/\1/p' "$sfile")
if [ -n "$base" ]; then
- base=$(grep -v '^#' ../real_control | awk -F ' ' '$3=="'"$base"'" { if ($2=="quilt") printf("quilt/%s", "'"$base"'"); else printf("%s/%s", "'"$base"'", $5); }')
+ nbase=$(grep -v '^#' ../real_control | awk -F ' ' '$3=="'"$base"'" { if ($2=="quilt") printf("quilt/%s", "'"$base"'"); else printf("%s/%s", "'"$base"'", $5); }')
+ [ -n "$nbase" ] && base="$nbase"
else
base=$(sed -n 's/^#[ ]*BASE[ ]*\(.*\)[ ]*$/\1/p' "$sfile")
[ -n "$base" ] || {
fi
rbase="$base"
case "$base" in
- *-git[0-9]*) rbase=$(wget -q -O - "http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-${base}.id")
+ *-git[0-9]*) rbase=$($(dirname $0)/get_gitid "${base}")
;;
commit*) rbase=$(expr "$base" : "commit[ ]*\(.*\)")
;;
cd ../quilt-tmp
execute git reset --hard "$rbase_sha1"
- author=$(grep -v '^#' ../real_control | awk -F ' ' '$3=="'"$name"'" { printf("%s", $1); }' | sed 's/,.*$//')
- execute git quiltimport --author "$author" --patches "../quilt/$name"
+ while read f <&5 ; do
+ old_head=$(git rev-parse --verify HEAD)
+ execute git am "../quilt/$name/$f"
+ new_head=$(git rev-parse --verify HEAD)
+ [ "$new_head" = "$old_head" ] && {
+ echo "Tree unchanged, please check ..."
+ bash -i || exit
+ }
+ done 5<"../quilt/$name/series"
log '$' cd ../next
cd ../next