Changes

Jump to: navigation, search

What to do for a release

1,879 bytes added, 06:43, 27 January 2013
m
Changelog and NEWS file
'''What to do for a release'''= Guidelines for version 4.0 =
These notes are based on a 2version 4.20.x-based release0alpha1, released in December 2012. Specifically, these are the notes that resulted from the release of 2The steps assume a working <tt>gramps40</tt> source directory.2.9 in October 2007:
==TranslationsTranslation update==Run the following steps: cd gramps40 svn update cd po python update_po.py -p # or intltool-update -p , .genpot.sh see [[Translation_environment4|New environment]] svn diff gramps.potIf there have been changes, you'll need to commit <tt>gramps.pot</tt> and ask translators to update their <tt>.po</tt> files before you can make a release. ==Release name==Refer to (and update) the [[Previous releases|list of previous releases]] to select an appropriate name. ==Changelog and NEWS file==Create the changelog files: svn2cl --reparagraph --include-rev --authors=../data/authors.xml cd po svn2cl --reparagraph --include-rev --authors=data/authors.xml cd .. Using the <tt>Changelog</tt> files generated with <tt>svn2cl</tt> in the step above, edit and update the <tt>NEWS</tt> file.Commit the NEWS file. Note the svn commit revision number, which you'll need in the next step when you create the subversion tag: svn commit -m "update for 4.0.0-alpha1 release" Committed revision 20810. ==Working on VERSION== Modify <tt>setup.py</tt> to indicate an official release: gedit setup.py and update the version for the release: VERSION = "4.0.0-alpha1"Save change.  svn commit -m "make official release" setup.py The version number should be the same on "about" dialog: python Gramps.py ==Subversion tag==Using the previous commit revision number, create a tag for the new release: svn copy -r 20810 https://svn.code.sf.net/p/gramps/code/branches/maintenance/gramps40 https://svn.code.sf.net/p/gramps/code/tags/gramps-4.0.0-alpha1 -m "tag 4.0.0 alpha1" Committed revision 20811. ==Changelog and source tarball==The Changelog files are required for the source tarball, but do not commit to subversion: svn2cl --reparagraph --include-rev --authors=../data/authors.xml cd po svn2cl --reparagraph --include-rev --authors=data/authors.xml cd ..Create the official source tarball: python setup.py sdist Note you should now have the file <tt>dist/gramps-4.0.0-alpha1.tar.gz</tt>, approximately 12.2 Mo in size. ==Making the source tarball available==* access the "Sourceforge Project Admin->File Manager" page at https://sourceforge.net/projects/gramps/* create a new folder in the "Unstable" hierarchy* upload the <tt>gramps-*.tar.gz</tt> file to the new folder ==Announcing the new release==* announce on [email protected], [email protected] and [email protected]* update [[News]] section on this wiki* update the list of [[previous releases]]* update reference to the new version on the [[Template:Version|wiki template]]* change the topic on the IRC channel #gramps* update the version number at [http://en.wikipedia.org/wiki/GRAMPS Wikipedia] ==Post-release==* in <tt>trunk</tt>, merge forward the <tt>NEWS</tt> file = Guidelines for version 3.4 and before =These notes are based on version 3.4.1, released in August 2012. The steps assume a working <tt>gramps34</tt> source directory.
* announce the intent to release on the <tt>[email protected]</tt> mailing list; ask that no further changes be committed to svn==Translation update==* build what should be Run the final <tt>gramps.pot</tt> filefollowing steps: cd gramps34 svn update
cd po
make gramps.pot
* commit the new <tt> svn diff gramps.pot</tt> file If there have been changes, you'll need to svn* ask for all [[Translating GRAMPS|translators]] on commit <tt>gramps-users@lists.sourceforge.netpot</tt> and <tt>[email protected]</tt> to update the <tt>.po</tt> files; plan to release about 1 to 2 weeks after this date* ask for translators to e-mail update their <tt>.po</tt> files to before you; not all translators have svn access; expect to spend can make a bit of time checking in <tt>release.po</tt> files
==Preparing the tarballRelease name==Refer to (and update) the [[Previous releases|list of previous releases]] to select an appropriate name.
* note the names of [[previous releases]]* edit <tt>==Changelog and NEWS</tt> to add a few linesfile==* create Create the ChangeLog changelog files using [[How to use svn2cl|svn2cl]]:
svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
cd ..
* edit <tt>configure.in</tt>; change the following lines:
RELEASE=0.SVN$(svnversion -n .)
dnl RELEASE=0rc1
dnl RELEASE=1
:to instead say:
dnl RELEASE=0.SVN$(svnversion -n .)
RELEASE=0rc1
dnl RELEASE=1
* run the following command:
make distcheck
* note that you should now have the <tt>gramps-2.2.x.tar.gz</tt> file
* note the svn commit revision number
* create a tag in svn for the release candidate:
svn copy -r ### https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps22 \
https://gramps.svn.sourceforge.net/svnroot/gramps/tags/gramps-2.2.x-rc1 \
-m "tag 2.2.x-rc1"
* another example of creating a tag in svn:
svn copy -r 10392 https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps30 \
https://gramps.svn.sourceforge.net/svnroot/gramps/tags/gramps-3.0.0 \
-m "tag 3.0.0-rc1"
* for trunk, creating the tag is just slightly different since trunk is not within the "branch" directory; for example:
svn copy -r 9856 https://gramps.svn.sourceforge.net/svnroot/gramps/trunk \
https://gramps.svn.sourceforge.net/svnroot/gramps/tags/gramps-2.90.0-beta \
-m "tag 2.90.0-beta"
Using the <tt>Changelog</tt> files generated with <tt>svn2cl</tt> in the step above, edit and update the <tt>NEWS</tt> file.Commit the NEWS file. Note the svn commit revision number, which you'll need in the next step when you create the subversion tag: svn commit -m "update for 3.4.1 release" Committed revision 20254. ==Subversion tag==Making Using the previous commit revision number, create a tag for the candidate build availablenew release: svn copy -r 20254 https://svn.code.sf.net/p/gramps/code/branches/maintenance/gramps34 https://svn.code.sf.net/p/gramps/code/tags/gramps-3.4.1 -m "tag 3.4.1" Committed revision 20255. ==Working on the tag==Check out the new tag: cd .. svn co https://svn.code.sf.net/p/gramps/code/tags/gramps-3.4.1 cd gramps-3.4.1
* login to cpanel at http://gramps-project.org/cpanel* rename the candidate from Modify <tt>gramps-2.2.x.tarconfigure.gzin</tt> to <tt>grampsindicate an official release: gedit configure.inThere are two changes to make::1) Change the following line: -RELEASE=0.SVN$(svnversion -2n .2) +dnl RELEASE=0.xSVN$(svnversion -0rc1n .tar.gz</tt> so everyone knows ):2) And change this is a release candidateline: -dnl RELEASE=1 +RELEASE=1* upload the candidate <tt>Save these two changes.tar svn commit -m "make official release" configure.gz</tt> file into inNow run the <tt>public_html/test/</tt> directory* ask people to download following and test from httpcheck the version number in the "about" dialog: ./autogen.sh make python src/gramps-project.org/test/py
==Making the release availableChangelog and source tarball==* edit configure.in; update Re-create (or copy from above) the following lines: dnl RELEASE=0.SVN$(svnversion -n 2 Changelog files.) dnl RELEASE=0rc1 RELEASE=1* The Changelog files are required for the source tarball, but do not commit to svn; note the revision number* create a tag in svn for the releasesubversion: svn copy svn2cl --reparagraph --include-rev --r ### https:authors=src/data/grampsauthors.svn.sourceforge.net/svnroot/gramps/branches/gramps22 \xml cd po https://gramps.svnsvn2cl --reparagraph --include-rev --authors=.sourceforge.net/svnroot/grampssrc/tagsdata/gramps-2.2authors.x \xml -m "tag 2cd .2.x"* run Create the following commandofficial source tarball:
make distcheck
* upload the tarball using sftp to frs.sourceforge.net
* access the Sourceforge "admin" tab at http://sourceforge.net/projects/gramps/
* go to "File Releases"
* add a new release in the "Stable" package
* fill in name: a number such as 2.2.8 is the name for sourceforge site
* enter release notes -- usually this is the new section of the NEWS file
* add uploaded file(s) to the release by checking the appropriate check button and then clicking the "Add Files and/or Refresh View" button
* set architecture and the file type, click "Update/Refresh"
Note you should now have the file <tt>gramps-3.4.1.tar.gz</tt>, approximately 9.6 Mo in size. ==Once Making the release is source tarball available==* announce on access the "Sourceforge Project Admin->File Manager" page at https://sourceforge.net/projects/gramps/* create a new folder in the "Stable" hierarchy* upload the <tt>gramps-*.tar.gz</tt>file to the new folder ==Announcing the new release==* announce on [email protected]</tt>, <tt>[email protected]</tt> and <tt>[email protected]</tt>
* update [[News]] section on this wiki
* update the list of [[previous releases]]
* update reference to the new version on the [[InstallationTemplate:Version|wiki template]] page* change the topic on the IRC channel <tt>#gramps</tt>* login to cpanel at http://gramps-project.org/cpanel* delete the candidate builds from the <tt>public_html/test/</tt> directory
* update the version number at [http://en.wikipedia.org/wiki/GRAMPS Wikipedia]
==Update the version numberPost-release==* edit in <tt>gramps34</tt>, bump the version number in <tt>configure.in</tt>; increment the version numberand <tt>src/const.py.in</tt>* make certain the in <tt>RELEASE=1trunk</tt> line is back to , merge forward the <tt>dnl RELEASE=1NEWS</tt>* commit to svnfile
==See also==
* [[Brief introduction to SVN]]
* [[Running a development version of Gramps]]
* [[:Category:Developers/Packaging]]
==External links==* http://grampssvn.svncode.sourceforgesf.net/viewvcp/gramps/code/
* http://gramps-project.org/cpanel
* http://sourceforge.net/projects/gramps/
[[Category:Developers/General]]

Navigation menu