1,521
edits
(→Preparing the source: -- added item about NEWS file) |
(→Binaries: update) |
||
(16 intermediate revisions by 4 users not shown) | |||
Line 12: | Line 12: | ||
=== Branching for major release === | === Branching for major release === | ||
* Create a branch for the | * Create a branch for the 2.2.x releases from master, named branch-2-2 | ||
** <code>git checkout -b branch- | ** <code>git checkout -b branch-2-2 master</code> | ||
* Increase version on branch- | * Increase version on branch-2-2 to 2.2.0pre (using <code>devtools/update-version.pl</code>; see below), and commit | ||
** <code>devtools/update-version.pl | ** <code>devtools/update-version.pl 2 2 0 pre</code> | ||
** <code>git commit -m "RELEASE: This is | ** <code>git commit -m "RELEASE: This is 2.2.0pre" -a</code> | ||
* Create annotated tag desc/ | * Create annotated tag desc/2.2.0pre on that commit and push | ||
** <code>git tag -m "Mark | ** <code>git tag -m "Mark 2.2.0pre" desc/2.2.0pre</code> | ||
** <code>git push origin tag desc/ | ** <code>git push origin tag desc/2.2.0pre branch-2-2:branch-2-2</code> | ||
* Increase version on master to | * Increase version on master to 2.3.0git, and commit | ||
** <code>git checkout master</code> | ** <code>git checkout master</code> | ||
** <code>devtools/update-version.pl | ** <code>devtools/update-version.pl 2 3 0 git</code> | ||
** <code>git commit -m "RELEASE: This is | ** <code>git commit -m "RELEASE: This is 2.3.0git" -a</code> | ||
* Create annotated tag desc/ | * Create annotated tag desc/2.3.0git on that commit and push | ||
** <code>git tag -m "Mark | ** <code>git tag -m "Mark 2.3.0git" desc/2.3.0git</code> | ||
** <code>git push origin tag desc/ | ** <code>git push origin tag desc/2.3.0git master</code> | ||
* Update buildbot | |||
** Set <code>scumm_branch_stable = "branch-2-2"</code> in master.cfg around [https://github.com/scummvm/scummvm-sites/blob/buildbot/config/master.cfg#L25 line 25]. | |||
** Restart the buildbot as described [[Buildbot#Administration|here]] | |||
* Communication | |||
** Update IRC and Discord channel description | |||
** Write a mail to scummvm-devel | |||
=== Testing === | === Testing === | ||
Line 45: | Line 51: | ||
** dists/scummvm.rc | ** dists/scummvm.rc | ||
* Review the following documentation files for version and copyright year updates: | * Review the following documentation files for version and copyright year updates: | ||
** README | ** README(.md) | ||
** NEWS | ** NEWS(.md) | ||
** COPYRIGHT | ** COPYRIGHT | ||
* Review the following port specific files for version updates: | * Review the following port specific files for version updates: | ||
Line 87: | Line 93: | ||
*** COPYING.FREEFONT | *** COPYING.FREEFONT | ||
*** COPYING.LGPL | *** COPYING.LGPL | ||
*** COPYING.OFL | |||
*** COPYRIGHT | *** COPYRIGHT | ||
*** NEWS | *** NEWS(.md) | ||
*** README (generic ScummVM one) | *** README(.md) (generic ScummVM one) | ||
*** localized NEWS and README files (from doc/) (optional) | *** localized NEWS and README files (from doc/) (optional) | ||
*** scummmodern.zip (from gui/themes directory) (if your port uses new GUI) | *** scummmodern.zip (from gui/themes directory) (if your port uses new GUI) | ||
*** scummclassic.zip (from gui/themes directory) (if your port uses new GUI) | *** scummclassic.zip (from gui/themes directory) (if your port uses new GUI) | ||
*** scummremastered.zip (from gui/themes directory) (if your port uses new GUI) | |||
*** 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) | *** access.dat (from dists/engine-data) | ||
*** access.dat (from dists/engine-data) | |||
*** cryomni3d.dat (from dists/engine-data) | |||
*** drascula.dat (from dists/engine-data) | *** drascula.dat (from dists/engine-data) | ||
*** fonts.dat (from dists/engine-data) | |||
*** hugo.dat (from dists/engine-data) | *** hugo.dat (from dists/engine-data) | ||
*** kyra.dat (from dists/engine-data) | *** kyra.dat (from dists/engine-data) | ||
Line 104: | Line 115: | ||
*** queen.tbl (from dists/engine-data) | *** queen.tbl (from dists/engine-data) | ||
*** sky.cpt (from dists/engine-data) | *** sky.cpt (from dists/engine-data) | ||
*** supernova.dat (from dists/engine-data) | |||
*** teenagent.dat (from dists/engine-data) | *** teenagent.dat (from dists/engine-data) | ||
*** titanic.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) | ||
*** ultima.dat (from dists/engine-data) | |||
*** wintermute.zip (from dists/engine-data) | *** wintermute.zip (from dists/engine-data) | ||
*** xeen.ccs (from dists/engine-data) | |||
*** your build binary | *** your build binary | ||
Line 120: | Line 135: | ||
** Sparkle automatic updates | ** Sparkle automatic updates | ||
*** Create a ReleaseNotes file on FRS with the changes from this release (from NEWS file). | *** Create a ReleaseNotes file on FRS with the changes from this release (from NEWS file). | ||
**** Translate it to ReleaseNotes.html with https://markdowntohtml.com/ | |||
*** Sign the macOS and Win32 binaries with our private key for Sparkle | *** Sign the macOS and Win32 binaries with our private key for Sparkle | ||
*** Update the scummvm_appcast.xml file in scummvm/dist/macosx/. | *** Update the scummvm_appcast.xml file in scummvm/dist/macosx/. | ||
Line 146: | Line 162: | ||
Then you need to create and upload the tarballs. | Then you need to create and upload the tarballs. | ||
< | <syntaxhighlight lang="bash"> | ||
devtools/dist-scummvm.sh scummvm 1.9.0 | devtools/dist-scummvm.sh scummvm 1.9.0 | ||
devtools/dist-scummvm.sh scummvm-tools 1.9.0 | devtools/dist-scummvm.sh scummvm-tools 1.9.0 | ||
</ | </syntaxhighlight> | ||
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. | 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. | ||
=== Signing binaries === | |||
Put tarballs into directory <tt>archives/</tt>, run: | |||
<syntaxhighlight lang="bash"> | |||
bin/generate_appcast archives/ | |||
bin/old_dsa_scripts/sign_update archives/scummvm-2.1.1-win32.exe dsa_priv.pem | |||
bin/old_dsa_scripts/sign_update archives/scummvm-2.1.1-macosx.dmg dsa_priv.pem | |||
</syntaxhighlight> | |||
The first line will generate file <tt>archives/release.xml</tt>. The following ones will just spit out DSA signatures. | |||
Copy/paste signatures to <tt>dists/macosx/scummvm_appcast.xml</tt> in the main git repo. | |||
Then run: | |||
<syntaxhighlight lang="bash"> | |||
make publish-appcast | |||
cd ../scummvm-web | |||
git commit -m 'WEB: Sync appcast' -a | |||
</syntaxhighlight> | |||
=== News & Notification === | === News & Notification === | ||
Write a news blurb (or rather multiple to be used in the following). Usually, you want a bit longer one for the website, a list for Versiontracker, something with proper english sentences for Freshmeat, etc.... | Write a news blurb (or rather multiple to be used in the following). Usually, you want a bit longer one for the website, a list for Versiontracker, something with proper english sentences for Freshmeat, etc.... | ||
* Write a news item for our website (also to be used as template for news items on other sites). | * Write a news item for our website (also to be used as a template for news items on other sites). | ||
* | ** Create <tt>data/compatibility/compat-2.1.1.xml</tt> | ||
** | ** Update <tt>data/downloads.xml</tt> file | ||
** | ** Change version constants in <tt>include/Constants.php</tt> | ||
** Make sure Sparkle cast is updated (see [[#Signing binaries]]) | |||
* Update / notify various sites: | |||
** Post about the release on our forums | ** Post about the release on our forums | ||
** | ** Post about the release on Facebook | ||
* Put the updated web site online | * Put the updated web site online | ||
* Update IRC channel | * Update IRC and Discord channel topics | ||
=== Updating the wiki === | === Updating the wiki === |