Difference between revisions of "What to do for a release"

From Gramps
Jump to: navigation, search
m (Translations: wikilink)
m (External links)
(43 intermediate revisions by 6 users not shown)
Line 1: Line 1:
'''What to do for a release'''
+
'''What to do for a release '''
 +
= Guidelines for version 4.0 =
  
These notes are based on a 2.2.x-based release.  Specifically, these are the notes that resulted from the release of 2.2.9 in October 2007:
+
'''TODO'''
  
==Translations==
+
= 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 gramps-devel@lists.sourceforge.net mailing list; ask that no further changes be committed to svn
+
==Translation update==
* build what should be the last <tt>gramps.pot</tt> file:
+
Run the following steps:
 +
cd gramps34
 +
svn update
 
  cd po
 
  cd po
 
  make gramps.pot
 
  make gramps.pot
* commit the new <tt>gramps.pot</tt> file to svn
+
svn diff gramps.pot
* ask for all [[Translating GRAMPS|translators]] on gramps-users@lists.sourceforge.net and gramps-devel@lists.sourceforge.net to update the <tt>.po</tt> files; plan to release about 1 to 2 weeks after this date
+
If 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.
* ask for translators to e-mail their <tt>.po</tt> files to you; not all translators have svn access; expect to spend a bit of time checking in <tt>.po</tt> files
+
  
==Preparing the tarball==
+
==Release name==
 +
Refer to (and update) the [[Previous releases|list of previous releases]] to select an appropriate name.
  
* edit <tt>ChangeLog</tt>
+
==Changelog and NEWS file==
* edit <tt>NEWS</tt> to add a few lines
+
Create the changelog files:
* edit <tt>configure.in</tt>; change the following lines:
+
svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
  RELEASE=0.SVN$(svnversion -n .)
+
cd po
  dnl RELEASE=1
+
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
:to instead say:
+
cd ..
dnl RELEASE=0.SVN$(svnversion -n .)
+
 
  RELEASE=1
+
Using the <tt>Changelog</tt> files generated with <tt>svn2cl</tt> in the step above, edit and update the <tt>NEWS</tt> file.
* run the following command:
+
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==
 +
Using the previous commit revision number, create a tag for the new 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
 +
 
 +
Modify <tt>configure.in</tt> to indicate an official release:
 +
gedit configure.in
 +
There are two changes to make:
 +
:1) Change the following line:
 +
  -RELEASE=0.SVN$(svnversion -n .)
 +
  +dnl RELEASE=0.SVN$(svnversion -n .)
 +
:2) And change this line:
 +
  -dnl RELEASE=1
 +
+RELEASE=1
 +
Save these two changes.
 +
svn commit -m "make official release" configure.in
 +
Now run the following and check the version number in the "about" dialog:
 +
./autogen.sh
 +
make
 +
python src/gramps.py
 +
 
 +
==Changelog and source tarball==
 +
Re-create (or copy from above) the 2 Changelog files.  The Changelog files are required for the source tarball, but do not commit to subversion:
 +
svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
 +
cd po
 +
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
 +
cd ..
 +
Create the official source tarball:
 
  make distcheck
 
  make distcheck
* note that you should now have the <tt>gramps-2.2.x.tar.gz</tt> file
 
  
==Making the candidate build available==
+
Note you should now have the file <tt>gramps-3.4.1.tar.gz</tt>, approximately 9.6 Mo in size.
  
* login to cpanel at http://gramps-project.org/cpanel
+
==Making the source tarball available==
* upload the candidate <tt>.tar.gz</tt> file into the <tt>public_html/test/</tt> directory
+
* access the "Sourceforge Project Admin->File Manager" page at https://sourceforge.net/projects/gramps/
* ask people to download and test from http://gramps-project.org/test/
+
* create a new folder in the "Stable" hierarchy
 +
* upload the <tt>gramps-*.tar.gz</tt> file to the new folder
  
==When the candidate is ready to be released==
+
==Announcing the new release==
* access the Sourceforge "admin" tab at http://sourceforge.net/projects/gramps/
+
* announce on gramps-announce@lists.sourceforge.net, gramps-devel@lists.sourceforge.net and gramps-users@lists.sourceforge.net
* go to "File Releases"
+
* update [[News]] section on this wiki
* add a new release in the "Stable" package
+
* update the list of [[previous releases]]
* note the names of [[previous releases]]
+
* update reference to the new version on the [[Template:Version|wiki template]]
* upload the tarball by anonymous ftp to ftp://upload.sourceforge.net/incoming/
+
* change the topic on the IRC channel #gramps
* announce on gramps-announce@lists.sourceforge.net
+
* update the version number at [http://en.wikipedia.org/wiki/GRAMPS Wikipedia]
  
==Update the version number==
+
==Post-release==
* edit <tt>configure.in</tt>; increment the version number
+
* in <tt>gramps34</tt>, bump the version number in <tt>configure.in</tt> and <tt>src/const.py.in</tt>
* make certain the <tt>RELEASE=1</tt> line is back to <tt>dnl RELEASE=1</tt>
+
* in <tt>trunk</tt>, merge forward the <tt>NEWS</tt> file
* commit to svn
+
  
 
==See also==
 
==See also==
 
* [[Brief introduction to SVN]]
 
* [[Brief introduction to SVN]]
 
* [[Running a development version of Gramps]]
 
* [[Running a development version of Gramps]]
 +
* [[:Category:Developers/Packaging]]
  
 
==External links==
 
==External links==
* http://gramps.svn.sourceforge.net/viewvc/gramps/
+
* http://svn.code.sf.net/p/gramps/code/
 
* http://gramps-project.org/cpanel
 
* http://gramps-project.org/cpanel
 
* http://sourceforge.net/projects/gramps/
 
* http://sourceforge.net/projects/gramps/
  
 
[[Category:Developers/General]]
 
[[Category:Developers/General]]

Revision as of 05:41, 26 October 2012

What to do for a release

Guidelines for version 4.0

TODO

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 gramps34 source directory.

Translation update

Run the following steps:

cd gramps34
svn update
cd po
make gramps.pot
svn diff gramps.pot

If there have been changes, you'll need to commit gramps.pot and ask translators to update their .po files before you can make a release.

Release name

Refer to (and update) the list of previous releases to select an appropriate name.

Changelog and NEWS file

Create the changelog files:

svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
cd ..

Using the Changelog files generated with svn2cl in the step above, edit and update the NEWS 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

Using the previous commit revision number, create a tag for the new 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

Modify configure.in to indicate an official release:

gedit configure.in

There are two changes to make:

1) Change the following line:
-RELEASE=0.SVN$(svnversion -n .)
+dnl RELEASE=0.SVN$(svnversion -n .)
2) And change this line:
-dnl RELEASE=1
+RELEASE=1

Save these two changes.

svn commit -m "make official release" configure.in

Now run the following and check the version number in the "about" dialog:

./autogen.sh
make
python src/gramps.py

Changelog and source tarball

Re-create (or copy from above) the 2 Changelog files. The Changelog files are required for the source tarball, but do not commit to subversion:

svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
cd ..

Create the official source tarball:

make distcheck

Note you should now have the file gramps-3.4.1.tar.gz, approximately 9.6 Mo in size.

Making the source tarball available

Announcing the new release

  • announce on gramps-announce@lists.sourceforge.net, gramps-devel@lists.sourceforge.net and gramps-users@lists.sourceforge.net
  • update News section on this wiki
  • update the list of previous releases
  • update reference to the new version on the wiki template
  • change the topic on the IRC channel #gramps
  • update the version number at Wikipedia

Post-release

  • in gramps34, bump the version number in configure.in and src/const.py.in
  • in trunk, merge forward the NEWS file

See also

External links