Releases and Patching: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
Line 7: Line 7:


=== Things todo for a SourceForge release ===
=== Things todo for a SourceForge release ===
* update translations from and to bazaar:
==== Update translations from/to Launchpad ====
** download the latest language files from Launchpad: <code>nant translation</code>
* Download the latest language files from Launchpad using <code>nant translation</code>
** generate the latest translation template : <code>nant buildTranslationTemplate</code>
** Adding new languages (if desired)
** commit to bazaar
*** New languages might have been downloaded after running <code>nant translation</code>. These would show up in the 'Unversioned' section of Bazaar Explorer. If we really want to add one of those new languages to OpenPetra then perform these steps:
* add new language
**** Add DLL in section '<code>[Files]</code>' in file <code>setup\petra0300\standalone\standalone.iss<code>;
** in setup\petra0300\standalone\standalone.iss, add dll in section '[Files]'
***** e.g. <code>Source: ..\..\..\delivery\bin\es-ES\OpenPetra.resources.dll; DestDir: {app}/bin30/es-ES</code> for Spanish
*** e.g. <code>Source: ..\..\..\delivery\bin\es-ES\OpenPetra.resources.dll; DestDir: {app}/bin30/es-ES</code> for Spanish
**** Add language at task '<code>downloadTranslations<code>' in file <code>i18n\i18n.build</code>;
** in i18n\i18n.build, add language at task downloadTranslations
***** e.g. <code><move file="${dir.root}/i18n/de.po" tofile="${dir.root}/i18n/de-DE.po"/></code> for German
*** e.g. <code><move file="${dir.root}/i18n/de.po" tofile="${dir.root}/i18n/de-DE.po"/></code> for German
**** Bazaar-Add the language file that is showing in the 'Unversioned' bazaar section so it is under Version Control.
* make sure, everyone has set "Fixed in Version", by filtering for all bugs with closed or resolved state, that have "Fixed in Version" equals NONE.
* Generate the latest translation template using <code>nant buildTranslationTemplate</code>
** MantisUpdateVersions.exe -sf-username:pokorra -sf-pwd:xyz -bug-id:abc,def,ghi -version-fixed-in:"Alpha 0.2.20"
* Commit to Launchpad trunk using Bazaar.
 
==== Ensuring that all fixed Bugs have set "Fixed in Version" ====
We need to make sure that everyone has set "Fixed in Version" on all the bugs that have 'Closed' or 'Resolved' state
 
* Using Mantis, filter for all bugs with 'Closed' and 'Resolved' state that have "Fixed in Version" equals NONE.
* Run the MantisUpdateVersions Tool
** The tool resides in \setup\tools\MantisUpdateVersions. As it isn't get built by <code>nant generateSolution</code> you need to load the C# Project 'MantisUpdateVersions.csproj' into your favourite IDE and compile it.
** Open a command shell and change the directory to <code>'...\setup\tools\MantisUpdateVersions\obj\x86\Debug'</code>
** Execute the following command: <code>MantisUpdateVersions.exe -sf-username:pokorra -sf-pwd:xyz -bug-id:abc,def,ghi -version-fixed-in:"Alpha 0.2.20"</code>, replacing the value for <code>-sf-username</code> and <code>-sf-pwd</code> with your SourceForge username and password and <code>abc,def,ghi</code> with the 1..n Mantis Bug ID's that you found with the Mantis filter step.
 
==== Release Notes ====
* Release Notes: the permalink does not work for Sourceforge Mantis
* Release Notes: the permalink does not work for Sourceforge Mantis
** In Firefox (Chrome is bad with external links), go to https://sourceforge.net/apps/mantisbt/openpetraorg/view_all_bug_page.php, filter: fixed in version 0.0.2.0, hide none (includes closed and resolved bugs)
** In Firefox (Chrome is bad with external links), go to https://sourceforge.net/apps/mantisbt/openpetraorg/view_all_bug_page.php, filter: fixed in version 0.0.2.0, hide none (includes closed and resolved bugs)

Revision as of 09:31, 12 October 2012

Releases

The deliverables are:

  • the tar.gz files (server-debian-postgresql, server-debian-centos, client) which could be the base for manual installs, and for RPMS
  • the standalone installer for Windows
  • the remote client installer for Windows (not published on Sourceforge, since it would be bound to an IP address)
    • a special tar.gz file that is used as a base for building the patches (see below)

Things todo for a SourceForge release

Update translations from/to Launchpad

  • Download the latest language files from Launchpad using nant translation
    • Adding new languages (if desired)
      • New languages might have been downloaded after running nant translation. These would show up in the 'Unversioned' section of Bazaar Explorer. If we really want to add one of those new languages to OpenPetra then perform these steps:
        • Add DLL in section '[Files]' in file setup\petra0300\standalone\standalone.iss;
          • e.g. Source: ..\..\..\delivery\bin\es-ES\OpenPetra.resources.dll; DestDir: {app}/bin30/es-ES for Spanish
        • Add language at task 'downloadTranslations' in file i18n\i18n.build;
          • e.g. <move file="${dir.root}/i18n/de.po" tofile="${dir.root}/i18n/de-DE.po"/> for German
        • Bazaar-Add the language file that is showing in the 'Unversioned' bazaar section so it is under Version Control.
  • Generate the latest translation template using nant buildTranslationTemplate
  • Commit to Launchpad trunk using Bazaar.

Ensuring that all fixed Bugs have set "Fixed in Version"

We need to make sure that everyone has set "Fixed in Version" on all the bugs that have 'Closed' or 'Resolved' state

  • Using Mantis, filter for all bugs with 'Closed' and 'Resolved' state that have "Fixed in Version" equals NONE.
  • Run the MantisUpdateVersions Tool
    • The tool resides in \setup\tools\MantisUpdateVersions. As it isn't get built by nant generateSolution you need to load the C# Project 'MantisUpdateVersions.csproj' into your favourite IDE and compile it.
    • Open a command shell and change the directory to '...\setup\tools\MantisUpdateVersions\obj\x86\Debug'
    • Execute the following command: MantisUpdateVersions.exe -sf-username:pokorra -sf-pwd:xyz -bug-id:abc,def,ghi -version-fixed-in:"Alpha 0.2.20", replacing the value for -sf-username and -sf-pwd with your SourceForge username and password and abc,def,ghi with the 1..n Mantis Bug ID's that you found with the Mantis filter step.

Release Notes

  • On a windows machine: run nant buildWindowsStandalone -D:ReleaseID=0.0.2.0
  • On a linux machine: run nant buildLinuxSourceforgeRelease -D:ReleaseID=0.0.2.0. bzr update, bzr revert. (on openpetrabuild: /home/timop/bzr)
  • test installer on Windows and Linux
  • Upload to SF: username@frs.sourceforge.net:/home/pfs/project/o/op/openpetraorg/openpetraorg
    • link the release notes
  • Post Release Notes on website, twitter
  • Update Mantis Tracker:
    • add next release to all projects
    • use the tool MantisUpdateVersions.exe -sf-username:pokorra -sf-pwd:*** -release-version:0.2.16.0 from setup/tools/

Patches

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';"