1 2s=master 3#b=unstable 4v=$v-rc1 5 6OR 7 8x=4.1 9m=1 10rc=-rc2 11 12r=$x.$m 13s=$x-testing 14#b=$x-testing 15v=$r$rc 16 17t=$r$rc 18OR 19t=RELEASE-$r 20 21 22# FIRSTLY 23# - check (for point releases, but not RCs) all XSAs have been applied (Lars) 24# 25* check, even for point releases 26* http://logs.test-lab.xenproject.org/osstest/results/all-branch-statuses.txt 27 28 29# QEMU 30 31 git checkout $s 32 git show # should show appropriate intended commit 33 git-tag -u 'Xen.org Xen tree code signing' -m "Xen $v" xen-$v 34 35 git-push xenbits.xen.org:/home/xen/git/qemu-xen-traditional.git $s:stable-$x xen-$v 36 37# consider making tag in minios, and updating xen.git Config.mk 38 git checkout SOMETHING 39 git show # should show appropriate intended commit 40 git-tag -u 'xen tree' -s -m "Xen $r$rc" xen-$t 41 git push xen@xenbits.xen.org:/home/xen/git/mini-os.git xen-$t 42 43* Also tag upstream qemu tree (Stefano) 44 git checkout SOMETHING 45 git show # should show appropriate intended commit 46 git tag -u 'xen tree' -s -m "Xen $r$rc" qemu-xen-$v 47 git push osstest@xenbits.xen.org:/home/xen/git/qemu-xen.git qemu-xen-$v 48 49* consider bumping sonames of shlibs 50 51* change xen-unstable README (should say "Xen 4.5" in releases and on stable branches, "Xen 4.5-unstable" on unstable) 52* change xen-unstable Config.mk 53# QEMU_UPSTREAM_REVISION, 54# QEMU_TRADITIONAL_REVISION 55# MINIOS_UPSTREAM_REVISION 56* change SUPPORT.md heading version number; -unstable or -rc tag 57* (empty in stable branches after .0 release). 58* SUPPORT.md: insert correct version number in release-notes link 59* change xen-unstable xen/Makefile XEN_EXTRAVERSION 60# if main version number has changed (eg 4.7 -> 4.8) rerun ./autogen.sh 61* rerun ./autogen.sh to update version number in configure 62# - XEN_EXTRAVERSION should be as follows 63# `.0-rc$(XEN_VENDORVERSION)' during freeze, first rc onwards (including staging, before branching) 64# `-unstable$(XEN_VENDORVERSION)' unstable aka unfrozen staging (or unstable branch, after branching) 65# `.0$(XEN_VENDORVERSION)' actual release of Xen X.Y.0 (aka first actual release of Xen X.Y) 66# `.Z$(XEN_VENDORVERSION)' actual release of Xen X.Y.Z (stable point realase) 67# `.Z-pre$(XEN_VENDORVERSION)' stable branch, after release of Z-1 68# 69# - turn off debug on stable branches, if not already done 70# - tools/Rules.mk 71# debug ?= n 72# - xen/Kconfig.debug 73# config DEBUG 74# default n 75 76* tag xen-unstable 77 78# In xen.git 79 git-fetch origin 80 git-checkout staging-$x 81 git-pull 82 git-show # should show commit updating version to right version 83 git-tag -u 'xen tree' -s -m "Xen $r$rc" $t 84 git-push origin $t 85 git-push origin staging-$x 86## hg tag <tag_name> ; hg sign -k "Xen tree" <tag_name> 87 88 89 90HANDLING TAG GENERATED BY RELEASE MANAGER 91 92 fetch the tag into my tree 93 make the tarball (RELEASE TARBALL, below) 94 test build (see below) 95 website (see below) 96 merge tag into staging and push to staging 97 maybe force push into master 98 definitely push tag to xenbits 99 git-push origin $t 100 101 102 103 104RELEASE TARBALL 105 106 for 4.5 and later, use tarball target 107 git checkout $t 108 git clean -xdff 109 # export http_proxy=http://localhost:3128/ 110 ./configure 111 make src-tarball-release # must be used for actual releases 112 make src-tarball # uses git-describe (best for RCs) 113 # ^find some way to add git-cache-proxy to this (done in ~iwj/.gitconfig) 114 mkdir /volatile/iwj/website-thing/xen.org/oss-xen/release/$v 115 mv dist/xen-$v.tar.gz /volatile/iwj/website-thing/xen.org/oss-xen/release/$v/. 116 117 # website-thing/xen.org is cvs -d mail.xenproject.org:/home/downloads-cvs/cvs-repos co xen.org 118 cd /volatile/iwj/website-thing/xen.org 119 120# test build 121 cd /volatile/iwj/d 122 mkdir build 123 cd build 124 tar zxf /volatile/iwj/website-thing/xen.org/oss-xen/release/$v/xen-$v.tar.gz 125# rsync -a --delete xen-$v build/ 126 cd xen-$v 127 export http_proxy=http://localhost:3128/ 128 (./configure && make -j4 KERNELS='' && echo ok.) 2>&1 | tee ../log.$v # post 4.2 129 130# [[ test build amd64 ]] 131 132 cvs add -kb oss-xen/release/$v/ 133 134 cd oss-xen/release/$v 135 gpg --digest-algo=SHA256 --detach-sign -u 'xen tree' xen-$v.tar.gz 136 cvs add -kb xen-$v.tar.gz 137 cvs add -kb xen-$v.tar.gz.sig 138 cd ../../.. 139 140 cvs ci -m $v 141 142 ssh downloads-cvs@mail.xenproject.org 143 cd /data/downloads.xenproject.org/xen.org 144 cvs -q up -d 145 # should show something like 146 # U oss-xen/release/4.8.0-rc2/xen-4.8.0-rc2.tar.gz 147 # U oss-xen/release/4.8.0-rc2/xen-4.8.0-rc2.tar.gz.sig 148 149After a .0 release, update XEN_EXTRAVERSION again (to .1-pre, see above). 150 151After a .0 release, 152Update new stable tree's MAINTAINERS to contain correct info for this 153stable branch: usually, copy text from previous 154staging-$ov:MAINTAINERS section "Stable Release Maintenance" 155into new staging-$v, deleting what's there. 156 git cat-file blob origin/staging-$ov:MAINTAINERS >MAINTAINERS 157and review the changes, commiting ONLY THE RELEVANT ONES 158 159Notify release manager of completion 160 161