diff options
author | Clark Williams <williams@redhat.com> | 2010-03-23 16:49:32 -0500 |
---|---|---|
committer | Clark Williams <williams@redhat.com> | 2010-03-23 16:49:32 -0500 |
commit | 8dc4128f63dcfbd0b4e40f1f3300b52e7db409f2 (patch) | |
tree | 5e0fcde7e80ca3a371816de13152df40e51e36cd /docs | |
parent | 544adda55c93d0c718430093619253dab1a4d58d (diff) | |
download | mock-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.txt | 226 |
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) |