# Work in progress... Release checklist overview: 1) git tree: pull, merge, checkin, tag and push 2) koji tree: for each release: checkin tarball and spec, kick off builds 3) bodhi: schedule releases ===================================================================== In the git tree: 1) switch to the master branch $ git checkout master 2) merge any changes from local branches $ git merge mybranch 3) run 'autogen.sh' to update autoconf files 4) run 'configure' to generate Makefile and mock.spec 5) run 'make rpm' to generate binary RPM and propagate version changes 6) run 'make check' until it passes 7) check in any changes 8) remove ChangeLog and AUTHORS 9) run 'make dist' to generate ChangeLog and AUTHORS files 10) update version info in 'configure.ac' and commit it: $ git commit -m 'version bump' configure.ac 11) tag the git tree: $ git tag -u mock- 12) push to main git repo (only from master branch): # substitute 'master' with branch name if on another 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 $ cd devel $ make new-source FILES=../../mock.git/mock-0.9.3.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 ===================================================================== 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