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

From Gramps
Jump to: navigation, search
m (Once the release is available: update previous releases)
m (typo)
(44 intermediate revisions by 5 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 releaseSpecifically, these are the notes that resulted from the release of 2.2.9 in October 2007:
+
These notes are based on version 4.0.0alpha1, released in December 2012The steps assume a working <tt>gramps40</tt> source directory.
  
==Translations==
+
==Translation 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.pot
 +
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.
 +
 
 +
==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==
 +
 +
* 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]
  
* announce the intent to release on the <tt>[email protected]</tt> mailing list; ask that no further changes be committed to svn
+
==Post-release==
* build what should be the final <tt>gramps.pot</tt> file:
+
* 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.
 +
 
 +
==Translation update==
 +
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 <tt>gramps-users@lists.sourceforge.net</tt> and <tt>[email protected]</tt> 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=0rc1
+
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
dnl RELEASE=1
+
cd ..
:to instead say:
+
 
dnl RELEASE=0.SVN$(svnversion -n .)
+
Using the <tt>Changelog</tt> files generated with <tt>svn2cl</tt> in the step above, edit and update the <tt>NEWS</tt> file.
RELEASE=0rc1
+
Commit the NEWS file.  Note the svn commit revision number, which you'll need in the next step when you create the subversion tag:
dnl RELEASE=1
+
  svn commit -m "update for 3.4.1 release"
* run the following command:
+
  Committed revision 20254.
make distcheck
+
 
* note that you should now have the <tt>gramps-2.2.x.tar.gz</tt> file
+
==Subversion tag==
* note the svn commit revision number
+
Using the previous commit revision number, create a tag for the new release:
* create a tag in svn for the release candidate:
+
  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"
  svn copy -r ### https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps22 \
+
Committed revision 20255.
https://gramps.svn.sourceforge.net/svnroot/gramps/tags/gramps-2.2.x-rc1 \
 
-m "tag 2.2.x-rc1"
 
  
==Making the candidate build available==
+
==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
+
Modify <tt>configure.in</tt> to indicate an official release:
* rename the candidate from <tt>gramps-2.2.x.tar.gz</tt> to <tt>gramps-2.2.x-0rc1.tar.gz</tt> so everyone knows this is a release candidate
+
gedit configure.in
* upload the candidate <tt>.tar.gz</tt> file into the <tt>public_html/test/</tt> directory
+
There are two changes to make:
* ask people to download and test from http://gramps-project.org/test/
+
: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
  
==Making the release available==
+
==Changelog and source tarball==
* note the names of [[previous releases]]
+
Re-create (or copy from above) the 2 Changelog filesThe Changelog files are required for the source tarball, but do not commit to subversion:
* edit configure.in; update the following lines:
+
  svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
  dnl RELEASE=0.SVN$(svnversion -n .)
+
cd po
dnl RELEASE=0rc1
+
  svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
RELEASE=1
+
  cd ..
* note the svn commit revision number
+
Create the official source tarball:
* create a tag in svn for the release:
 
  svn copy -r ### https://gramps.svn.sourceforge.net/svnroot/gramps/branches/gramps22 \
 
  https://gramps.svn.sourceforge.net/svnroot/gramps/tags/gramps-2.2.x \
 
  -m "tag 2.2.x"
 
*  run the following command:  
 
 
  make distcheck
 
  make distcheck
* upload the tarball by anonymous ftp to ftp://upload.sourceforge.net/incoming/
 
* 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"
 
  
==Once the release is available==
+
Note you should now have the file <tt>gramps-3.4.1.tar.gz</tt>, approximately 9.6 Mo in size.
* announce on <tt>[email protected]</tt>, <tt>[email protected]</tt> and <tt>[email protected]</tt>
+
 
 +
==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 "Stable" hierarchy
 +
* upload the <tt>gramps-*.tar.gz</tt> file to the new folder
 +
 
 +
==Announcing the new release==
 +
 
* update [[News]] section on this wiki
 
* update [[News]] section on this wiki
 
* update the list of [[previous releases]]
 
* update the list of [[previous releases]]
* update reference to the new version on the [[Installation]] page
+
* update reference to the new version on the [[Template:Version|wiki template]]
* change the topic on the IRC channel <tt>#gramps</tt>
+
* change the topic on the IRC channel #gramps
 +
* 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 11:14, 27 February 2013

What to do for a release

Guidelines for version 4.0

These notes are based on version 4.0.0alpha1, released in December 2012. The steps assume a working gramps40 source directory.

Translation update

Run the following steps:

cd gramps40
svn update
cd po
python update_po.py -p # or intltool-update -p , .genpot.sh see New environment
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=data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../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 4.0.0-alpha1 release"
Committed revision 20810.

Working on VERSION

Modify setup.py 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 dist/gramps-4.0.0-alpha1.tar.gz, approximately 12.2 Mo in size.

Making the source tarball available

Announcing the new release

Post-release

  • in trunk, merge forward the NEWS 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 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

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