
s=master
#b=unstable
v=$v-rc1

OR

x=4.1
m=1
rc=-rc2

r=$x.$m
s=$x-testing
#b=$x-testing
v=$r$rc

t=$r$rc
OR
t=RELEASE-$r


# FIRSTLY
#  - check (for point releases, but not RCs) all XSAs have been applied (Lars)
#
* check, even for point releases
*  http://logs.test-lab.xenproject.org/osstest/results/all-branch-statuses.txt


# QEMU

  git checkout $s
  git show # should show appropriate intended commit
  git-tag -u 'Xen.org Xen tree code signing' -m "Xen $v" xen-$v

  git-push xenbits.xen.org:/home/xen/git/qemu-xen-traditional.git $s:stable-$x xen-$v

# consider making tag in minios, and updating xen.git Config.mk
  git checkout SOMETHING
  git show # should show appropriate intended commit
  git-tag -u 'xen tree' -s -m "Xen $r$rc" xen-$t
  git push xen@xenbits.xen.org:/home/xen/git/mini-os.git xen-$t

* Also tag upstream qemu tree (Stefano)
  git checkout SOMETHING
  git show # should show appropriate intended commit
  git tag -u 'xen tree' -s -m "Xen $r$rc" qemu-xen-$v 
  git push osstest@xenbits.xen.org:/home/xen/git/qemu-xen.git qemu-xen-$v

* consider bumping sonames of shlibs

* change xen-unstable README (should say "Xen 4.5" in releases and on stable branches, "Xen 4.5-unstable" on unstable)
* change xen-unstable Config.mk (QEMU_UPSTREAM_REVISION, QEMU_TRADITIONAL_REVISION, MINIOS_UPSTREAM_REVISION)
* change SUPPORT.md heading version number; -unstable or -rc tag
*     (empty in stable branches after .0 release).
* change xen-unstable xen/Makefile XEN_EXTRAVERSION
# if main version number has changed (eg 4.7 -> 4.8) rerun ./autogen.sh
* rerun ./autogen.sh to update version number in configure
#    - XEN_EXTRAVERSION should be `.0-rc$(XEN_VENDORVERSION)'
#    - turn off debug on stable branches
#           - tools/Rules.mk debug ?= n
#           - Kconfig.debug default n
* tag xen-unstable

# In xen.git
  git-fetch origin
  git-checkout staging-$x
  git-pull
  git-show # should show commit updating version to right version
  git-tag -u 'xen tree' -s -m "Xen $r$rc" $t
  git-push origin $t
  git-push origin staging-$x
##  hg tag <tag_name> ; hg sign -k "Xen tree" <tag_name>



HANDLING TAG GENERATED BY RELEASE MANAGER

   fetch the tag into my tree
   make the tarball (RELEASE TARBALL, below)
   test build (see below)
   website (see below)
   merge tag into staging and push to staging
   maybe force push into master
   definitely push tag to xenbits
        git-push origin $t




RELEASE TARBALL

   for 4.5 and later, use tarball target
       git checkout $t
       git clean -xdff
       # export http_proxy=http://localhost:3128/
       ./configure
       make src-tarball-release   # must be used for actual releases
       make src-tarball           # uses git-describe (best for RCs)
        # ^find some way to add git-cache-proxy to this (done in ~iwj/.gitconfig)
       mkdir /volatile/iwj/website-thing/xen.org/oss-xen/release/$v
       mv dist/xen-$v.tar.gz /volatile/iwj/website-thing/xen.org/oss-xen/release/$v/.

       # website-thing/xen.org is cvs -d mail.xenproject.org:/home/downloads-cvs/cvs-repos co xen.org
	cd /volatile/iwj/website-thing/xen.org

# test build
                cd /volatile/iwj/d
                mkdir build
                cd build
                tar zxf /volatile/iwj/website-thing/xen.org/oss-xen/release/$v/xen-$v.tar.gz
#                rsync -a --delete xen-$v build/
                cd xen-$v
                export http_proxy=http://localhost:3128/
                (./configure && make -j4 KERNELS='' && echo ok.) 2>&1 | tee ../log.$v       # post 4.2

# [[ test build amd64 ]]

	cvs add -kb oss-xen/release/$v/

        cd oss-xen/release/$v
        gpg --digest-algo=SHA256 --detach-sign -u 'xen tree' xen-$v.tar.gz
	cvs add -kb xen-$v.tar.gz
        cvs add -kb xen-$v.tar.gz.sig
        cd ../../..

	cvs ci -m $v

        ssh downloads-cvs@mail.xenproject.org
	cd /data/downloads.xenproject.org/xen.org
	cvs -q up -d
	# should show something like
	#   U oss-xen/release/4.8.0-rc2/xen-4.8.0-rc2.tar.gz
	#   U oss-xen/release/4.8.0-rc2/xen-4.8.0-rc2.tar.gz.sig


update xenbits front page to change references to old stable branch
 into references to new stable branch

Edit website

