Releases and Patching
Jump to navigation
Jump to search
Releases
To build a release, check nant help
for the current syntax of nant buildRelease
.
The deliverables are:
- the tar.gz file which could be the base for manual installs, and for RPMS
- the tar.gz file is also used as a base for building the patches (see below)
- the standalone installer for Windows
- the remote client installer for Windows
Things todo for a SourceForge release
- download the latest language files from Launchpad: http://translations.openpetra.org, commit to i18n
- add new language
- in csharp\ICT\Petra\Client\MSysMan\Gui\MaintainLanguageCulture.ManualCode.cs, cmbLanguage.SetDataSourceStringList
- in setup\petra0300\standalone\standalone.iss, add dll
- add new language
- Release Notes: the permalink does not work for Sourceforge Mantis
- go to https://sourceforge.net/apps/mantisbt/openpetraorg/view_all_bug_page.php, filter: fixed in version 0.0.2.0
- click on print, and store the file
- upload to eg. http://openpetraorg.sourceforge.net/ReleaseDetails/BugsFixed_Alpha-0.2.8.htm (username/openpetraorg@web.sourceforge.net:/home/project-web/openpetraorg/htdocs)
- Update Release notes in bzr, setup/petra0300/releasenotes
- add new patch sql file to db/patches
- Tag bzr
- On a windows machine: run nant buildRelease -D:ReleaseID=0.0.2.0
- On a linux machine: run nant buildRelease -D:ReleaseID=0.0.2.0
- test installer on Windows and Linux
- TODO Upload to SF
- Post Release Notes on website, twitter
- Update Mantis Tracker:
- add next release to all projects
Patches
- we use the bsdiff algorithm from http://www.daemonology.net/bsdiff/ for binary diffs and patching
- see more about the patchtool
patching the database
Standalone:
- standalone is always delivered with SQLite database
- we don't have patch installers yet. a full installer will update the program files, and add sql files for patching the database (setup\petra0300\standalone\patches). We cannot write to the user's directory, since the installer must be run as admin.
- on the next startup of OpenPetra Standalone by the user, csharp\ICT\Petra\Server\app\Main\ServerManager.cs EstablishDBConnection() will check for the database version, and UpdateSQLiteDatabase() will update the sqlite database
- this will also run "UPDATE s_system_defaults SET s_default_value_c = '{0}' WHERE s_default_code_c = 'CurrentDatabaseVersion';"