Open main menu

Difference between revisions of "HOWTO-Release"

756 bytes added ,  17:52, 6 March 2018
→‎Preparing the source: -- added item about NEWS file
(→‎Preparing the source: -- added item about NEWS file)
(13 intermediate revisions by 4 users not shown)
Line 37: Line 37:


=== Preparing the source ===
=== Preparing the source ===
* Browse 'git log' since the previous release and add all significant changes to the NEWS file
* Make sure the translations.dat file is up to date. This file is automatically generated once per week (on Monday morning) and may need to be updated manually if changes to the translations occurred since the last Monday. Use ''make translations-dat'' to update the file (and then commit it if it was changed).
* You have to update the versions in all relevant files. There is a script, <code>devtools/update-version.pl</code> meant to help you with this.  It will generate/update the following files:
* You have to update the versions in all relevant files. There is a script, <code>devtools/update-version.pl</code> meant to help you with this.  It will generate/update the following files:
** base/internal_version.h
** base/internal_version.h
Line 47: Line 49:
** COPYRIGHT
** COPYRIGHT
* Review the following port specific files for version updates:
* Review the following port specific files for version updates:
** backends/platform/gp2x/build/README-GP2X
** backends/platform/ps2/README.PS2
** backends/platform/gp2x/build/README-GP2X.html
** backends/platform/ps2/READ_PS2.TXT
** backends/platform/psp/README.PSP
** backends/platform/psp/README.PSP
** backends/platform/symbian/README
** backends/platform/symbian/README
** backends/platform/wince/README-WinCE.txt
** backends/platform/wince/README-WinCE.txt
** backends/platform/ds/arm9/dist/readme_ds.txt
** backends/platform/ds/arm9/dist/readme_ds.txt
** dists/win32/ScummVM.iss (AppVerName)
* Review the release dates in the following port specific files:
* Review the release dates in the following port specific files:
** dists/win32/ScummVM.iss
** dists/win32/scummvm.gdf.xml
** dists/win32/scummvm.gdf.xml
* Make sure package descriptions are up-to-date:
* Make sure package descriptions are up-to-date:
Line 63: Line 63:
** git commit -m "DISTS: Generated Code::Blocks and MSVC project files"
** git commit -m "DISTS: Generated Code::Blocks and MSVC project files"
** And last but not least don't forget to push the results to our github repo via "git push"
** And last but not least don't forget to push the results to our github repo via "git push"
* Make source tarballs, post them in the SF.net FRS.
* Make source tarballs, put them in the FRS directory.
** There is a script <code>devtools/dist-scummvm.sh</code>, which does this automatically.
** There is a script <code>devtools/dist-scummvm.sh</code>, which creates them automatically.
** Make sure that porters have write access to the release folder on FRS: <code>chmod 775 <folder></code>
** Make sure that porters have write access to the release folder on FRS: <code>chmod 775 <folder></code>
* Add version to dists/macosx/scummvm_appcast.xml


=== Branching for minor releases ===
=== Branching for minor releases ===
Line 94: Line 95:
*** translations.dat (from gui/themes directory)
*** translations.dat (from gui/themes directory)
*** pred.dic (from dists directory)
*** pred.dic (from dists directory)
*** access.dat (from dists/engine-data)
*** drascula.dat (from dists/engine-data)
*** hugo.dat (from dists/engine-data)
*** kyra.dat (from dists/engine-data)
*** kyra.dat (from dists/engine-data)
*** lure.dat (from dists/engine-data)
*** mort.dat (from dists/engine-data)
*** neverhood.dat (from dists/engine-data)
*** queen.tbl (from dists/engine-data)
*** queen.tbl (from dists/engine-data)
*** sky.cpt (from dists/engine-data)
*** sky.cpt (from dists/engine-data)
*** lure.dat (from dists/engine-data)
*** drascula.dat (from dists/engine-data)
*** teenagent.dat (from dists/engine-data)
*** teenagent.dat (from dists/engine-data)
*** hugo.dat (from dists/engine-data)
*** tony.dat (from dists/engine-data)
*** tony.dat (from dists/engine-data)
*** toon.dat (from dists/engine-data)
*** toon.dat (from dists/engine-data)
*** wintermute.zip (from dists/engine-data)
*** wintermute.zip (from dists/engine-data)
*** neverhood.dat (from dists/engine-data)
 
*** your build binary
*** your build binary
*** your build-specific README (optional)
*** your build-specific README (optional)
*** ...
*** ...
* Porters can upload binaries via SCP or SFTP: <code>scp FILENAME SFNET_USERNAME,scummvm@frs.sourceforge.net:/home/frs/project/s/sc/scummvm/scummvm/X.Y.Z/</code>
* Porters need to upload binaries at some service and then send the link to the team member managing the release (this should be detailed in the email sent to porters with the links to the tarballs).
** More details on the upload process and the file release system in general: https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download
* Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
* Update the website internally (i.e. update the version in the repository), but do not yet put these changes online.
** Edit <code>include/config.inc.php</code> to update the global version.
** Edit <code>include/config.inc.php</code> to update the global version.
Line 115: Line 118:
** Update <code>data/downloads.xml</code>.
** Update <code>data/downloads.xml</code>.
** Add a news item.
** Add a news item.
** Update default platform packages on sf.net FRS
** Sparkle automatic updates
* Set the OS for the newly uploaded binaries (click on the (i) next to each binary).
*** Create a ReleaseNotes file on FRS with the changes from this release (from NEWS file).
** -win32.exe as Windows binary
*** Sign the macOS and Win32 binaries with our private key for Sparkle
** -macosx.dmg as Mac binary
*** Update the scummvm_appcast.xml file in scummvm/dist/macosx/.
** .tar.bz2 as Linux, FreeBSD and Other binary
*** Copy the app cast file on the website as appcasts/macosx/release.xml
** -solaris-x86.tar.gz as Solaris binary
** Copy over the release files to FRS
*** Set the OS for the newly uploaded binaries (click on the (i) next to each binary).
**** -win32.exe as Windows binary
**** -macosx.dmg as Mac binary
**** .tar.bz2 as Linux, FreeBSD and Other binary
**** -solaris-x86.tar.gz as Solaris binary


=== Tagging a version ===
=== Tagging a version ===
Line 138: Line 146:
Then you need to create and upload the tarballs.
Then you need to create and upload the tarballs.


<code><pre>
<source lang="bash">
devtools/dist-scummvm.sh scummvm 1.7.0
devtools/dist-scummvm.sh scummvm 1.9.0
devtools/dist-scummvm.sh scummvm-tools 1.7.0
devtools/dist-scummvm.sh scummvm-tools 1.9.0
</pre></code>
</source>


Then upload the resulting scummvm-1.7.0.tar.gz, scummvm-1.7.0.tar.bz2, scummvm-1.7.0.tar.xz and scummvm-1.7.0.tar.zip to the FRS.
Then upload the resulting scummvm-1.9.0.tar.gz, scummvm-1.9.0.tar.bz2, scummvm-1.9.0.tar.xz and scummvm-1.9.0.tar.zip to the FRS.


=== News & Notification ===
=== News & Notification ===
Line 155: Line 163:
** ... more ?
** ... more ?
* Put the updated web site online
* Put the updated web site online
* Update IRC channel topic


=== Updating the wiki ===
=== Updating the wiki ===
Line 161: Line 170:
* Add the first release field on the info box of the newly supported engines.
* Add the first release field on the info box of the newly supported engines.
* Update [[Platforms]] page if status changed for some of the platforms (e.g. no release for the latest stable version). For these platforms the latest stable version info will also need to be changed if it was using the StableVersion template.
* Update [[Platforms]] page if status changed for some of the platforms (e.g. no release for the latest stable version). For these platforms the latest stable version info will also need to be changed if it was using the StableVersion template.
* Set the ''First Official Version'' field for new platforms.
* Update the support field on the info box of the newly supported games. Also change these games from ''Unsupported Games'' category to ''Supported Games'' category.
* Update the support field on the info box of the newly supported games. Also change these games from ''Unsupported Games'' category to ''Supported Games'' category.