summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorClark Williams <williams@redhat.com>2010-03-23 16:49:32 -0500
committerClark Williams <williams@redhat.com>2010-03-23 16:49:32 -0500
commit8dc4128f63dcfbd0b4e40f1f3300b52e7db409f2 (patch)
tree5e0fcde7e80ca3a371816de13152df40e51e36cd /docs
parent544adda55c93d0c718430093619253dab1a4d58d (diff)
downloadmock-8dc4128f63dcfbd0b4e40f1f3300b52e7db409f2.tar.gz
mock-8dc4128f63dcfbd0b4e40f1f3300b52e7db409f2.tar.xz
mock-8dc4128f63dcfbd0b4e40f1f3300b52e7db409f2.zip
updated docs/release-instructions.txt to reflect 1.0 and 1.1 structure
Updated to show that mock-1.0 is for pre-F-13 and EL-5 while mock-1.1 and beyond are for F-13+ and EL-6. Signed-off-by: Clark Williams <williams@redhat.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/release-instructions.txt226
1 files changed, 109 insertions, 117 deletions
diff --git a/docs/release-instructions.txt b/docs/release-instructions.txt
index bc0e8fe..6d2498f 100644
--- a/docs/release-instructions.txt
+++ b/docs/release-instructions.txt
@@ -1,5 +1,17 @@
# Work in progress...
+A note on mock versions:
+
+ There are now two main branches to be aware of:
+ - mock-1.0 (pre-F13 and EPEL5)
+ - mock-1.1+ (F-13+ and EPEL6+)
+ In the git tree, mock-1.0 is tracked on the branch origin/mock-1.0,
+ while mock-1.1+ is in the master branch. Please be careful when
+ updating the various distro to use the correct branch and version
+ number when generating tarfiles for RPM generation.
+
+=====================================================================
+
Release checklist overview:
1) git tree: pull, merge, checkin, tag and push
@@ -7,42 +19,52 @@ Release checklist overview:
3) bodhi: schedule releases
=====================================================================
+For a mock 1.1+ release
In the git tree:
- 1) switch to the master branch
+ 0) fetch updates from origin and fast forward your local master
+ $ git fetch origin
$ git checkout master
- 2) merge any changes from local branches
- $ git merge mybranch
- 3) update configure.ac with new version info (don't commit yet)
- 4) update the %changelog section of mock.spec.in
- 5) run 'autogen.sh' to update autoconf files
- 6) run 'configure' to generate Makefile and mock.spec
- 7) run 'make rpm' to generate binary RPM and propagate version changes
- 8) verify that docs/runtests.sh uses a supported config file
+ $ git merge origin/master
+ 1) create a branch from master (e.g. 'prerelease') and switch to it
+ $ git branch prelease master
+ $ git checkout prerelease
+ 2) fetch remotes and merge remote updates
+ $ git fetch jkeating
+ $ git merge jkeating/updates-for-clark
+ 3) merge any local branch work and reolve any conflicts
+ $ git merge work
+ 4) update configure.ac with new version info (don't commit yet)
+ 5) update the %changelog section of mock.spec.in
+ 6) run 'autogen.sh' to update autoconf files
+ 7) run 'configure' to generate Makefile and mock.spec
+ 8) run 'make rpm' to generate binary RPM and propagate version
+ changes (Note this also generates a tar file for use later).
+ 9) verify that docs/runtests.sh uses a supported config file
(i.e. released fedora minus one). If not, edit and commit
- 9) run 'make check' until it passes
- 10) check in any changes
- 11) remove ChangeLog and AUTHORS
- 12) run 'make dist' to generate ChangeLog and AUTHORS files
- 13) commit configure.ac and any other changes with a
+ 10) run 'make check' and fix any reported failures until it passes
+ 11) check in any changes from above
+ 12) remove ChangeLog and AUTHORS
+ 13) run 'make dist' to generate ChangeLog and AUTHORS files
+ 14) commit configure.ac and any other changes with a
version bump message:
$ git commit -m 'version bump' configure.ac
- 14) tag the git tree:
+ 15) tag the git tree:
$ git tag -u <your key> mock-<version>
- 15) push to main git repo (only from master branch):
- # substitute 'master' with branch name if on another branch
+ 16) checkout master and merge your work directory:
+ $ git checkout master
+ $ git merge prerelease
+ 16) push to main git repo (only from master branch):
$ git push --tags origin master
-=====================================================================
-
In the fedora CVS (koji) tree
1) update the cvs tree
$ cvs update
- 2) upload the tarball for the devel release
+ 2) cd to the devel dir and upload the tarball
$ cd devel
- $ make new-source FILES=../../mock.git/mock-0.9.3.tar.gz
+ $ make new-source FILES=../../mock.git/mock-1.1.2.tar.gz
3) copy the new specfile from the git tree
$ cp ../../mock.git/mock.spec .
4) create a changelog entry (clog)
@@ -54,104 +76,74 @@ In the fedora CVS (koji) tree
7) initiate a koji build
$ make build
8) repeat above for released tree and released tree -1
- 9) repeat builds for EPEL-5 and EPEL-4
+ 9) repeat builds for EL-6
+
+At this point you should push the just built packages to their
+respective testing repositories. This can be done either with the
+Bodhi WebUI at https://admin.fedoraproject.org/updates/ or if there
+are no other package dependencies, using the 'make update' target of
+the CVS Makefile. Note that you do not need to do this for the devel
+branch since it automatically gets pushed to testing.
=====================================================================
-Michaels old stuff
-
- 1) check release into fedora cvs
- 2) do build for -devel
- 3) do build for F-8, push to testing, then stable
- 4) do a build for F-7
-
-## script form:
-# vim ChangeLog mock.spec.in
-# vim configure.ac
-# autoreconf
-# make rpm
-# git commit -m 'version bump' configure.ac configure src/mock.py
-# git tag -u YOURKEY mock-VERSION_HERE
-
-
-In the mock git tree, first ensure that you are:
- --> on the master branch (or correct branch per branching guidelines)
- --> updated changelog
- --> fully-up-to-date wrt official tree
- --> have no local changes that havent been pushed
- --> test build rpm
- --> tag build and push tag
-
- $ git status
- # On branch master
- nothing to commit (working directory clean)
-
- $ git pull
- Already up-to-date.
-
- $ git diff origin
-
- $ make rpm
- ...
- Wrote: /.../mock/dist/mock-0.7.5-1.fc7.src.rpm
- Wrote: /.../mock/dist/x86_64/mock-0.7.5-1.fc7.x86_64.rpm
- Wrote: /.../mock/dist/x86_64/mock-debuginfo-0.7.5-1.fc7.x86_64.rpm
-
- $ git tag -s mock-$VERSION
-
-
-In the fedora CVS tree:
- --> update CVS to latest
- --> upload new source tarball
- --> merge in spec changes
- --> ensure good changelog
-
- $ cd fedora/mock
- $ cvs up
-
- $ cd devel
- $ make new-sources FILES=~/git/mock/mock-0.7.5.tar.gz
- $ cp ~/git/mock/mock.spec .
- $ cvs diff mock.spec
- --> if spec was changed outside of git directly in fedora cvs, fixup and merge changes in, add changes back to git
- --> if there is no changelog entry, do one now.
- $ make clog
- $ cvs commit -F clog
- $ make tag
- $ make build
-
- $ cd ../F-7
- $ make new-sources FILES=~/git/mock/mock-0.7.5.tar.gz
- $ cp ~/git/mock/mock.spec .
- $ cvs diff mock.spec
- --> if spec was changed outside of git directly in fedora cvs, fixup and merge changes in, add changes back to git
- --> if there is no changelog entry, do one now.
- $ make clog
- $ cvs commit -F clog
- $ make tag
- $ make build
-
-# in Bodhi
- --> create a proposed update for F7
- --> push to testing
- --> wait for email saying it has been two weeks and would be a good time to push to stable. :)
- --> push to stable
-
-# in fedora CVS tree:
- --> update F6 (try to ensure that we do F7/devel upgrades first to not break upgrade paths.)
-
- $ cd fedora/mock
- $ cvs up
-
- $ cd ../FC-6
- $ make new-sources FILES=~/git/mock/mock-0.7.5.tar.gz
- $ cp ~/git/mock/mock.spec .
- $ cvs diff mock.spec
- --> if spec was changed outside of git directly in fedora cvs, fixup and merge changes in, add changes back to git
- --> if there is no changelog entry, do one now.
- $ make clog
- $ cvs commit -F clog
- $ make tag
- $ make build
+For a mock 1.0 release
+
+In the git tree:
+
+ 0) fetch updates from origin and fast forward your local mock-1.0
+ $ git fetch origin
+ $ git checkout mock-1.0
+ $ git merge origin/mock-1.0
+ 1) create a branch from mock-1.0 (e.g. 'prerelease') and switch to it
+ $ git branch prelease mock-1.0
+ $ git checkout prerelease
+ 2) fetch remotes and merge remote updates
+ $ git fetch jkeating
+ $ git merge jkeating/mock-1.0-updates
+ 3) merge any local branch work and reolve any conflicts
+ $ git merge work
+ 4) update configure.ac with new version info (don't commit yet)
+ 5) update the %changelog section of mock.spec.in
+ 6) run 'autogen.sh' to update autoconf files
+ 7) run 'configure' to generate Makefile and mock.spec
+ 8) run 'make rpm' to generate binary RPM and propagate version
+ changes (Note this also generates a tar file for use later).
+ 9) verify that docs/runtests.sh uses a supported config file
+ (i.e. epel5 or F11/F12). If not, edit and commit
+ 10) run 'make check' and fix any reported failures until it passes
+ 11) check in any changes from above
+ 12) remove ChangeLog and AUTHORS
+ 13) run 'make dist' to generate ChangeLog and AUTHORS files
+ 14) commit configure.ac and any other changes with a
+ version bump message:
+ $ git commit -m 'version bump' configure.ac
+ 15) tag the git tree:
+ $ git tag -u <your key> mock-<version>
+ 16) checkout master and merge your work directory:
+ $ git checkout master
+ $ git merge prerelease
+ 16) push to main git repo (only from master branch):
+ $ git push --tags origin master
+
+In the fedora CVS (koji) tree
+
+ 1) update the cvs tree
+ $ cvs update
+ 2) cd to the EL-5 dir and upload the tarball
+ $ cd EL-5
+ $ make new-source FILES=../../mock.git/mock-1.0.9.tar.gz
+ 3) copy the new specfile from the git tree
+ $ cp ../../mock.git/mock.spec .
+ 4) create a changelog entry (clog)
+ $ make clog
+ 5) checkin the new specfile using the clog
+ $ cvs commit -F clog
+ 6) create the koji tag
+ $ make tag
+ 7) initiate a koji build
+ $ make build
+ 8) repeat above for released tree and released tree -1
+ 9) repeat builds for F-11/F-12 (while they're still supported)