Difference between revisions of "Steps for an official release"

From OpenEMR Project Wiki
Line 69: Line 69:
  lintian openemr_4.0.0-1_all.deb
  lintian openemr_4.0.0-1_all.deb


==8. Release packages on sourceforge===
==8. Release packages on sourceforge==
:*Upload via Project Admin
:*Upload via Project Admin
:*Upload release and a release notes file
:*Upload release and a release notes file

Revision as of 09:29, 24 March 2011

Overview

Steps detailing a release (4.0 is given as an example).

1. Create a rel-400 branch from master in the git repo.

2. Release an online development demo that uses the rel-400 branch and updates daily.

3. Publish installation, upgrade, and downloading instructions

  • Also provide links for downloading rel-400 daily builds/packages to allow testing of installation and upgrading by testers

3. Finalize the translations in the rel-400 branch.

4. Bug fix and finalize the rel-400 branch.

5. Create a list of new features in the rel-400 branch (since the last official release)

6. Release rel-400 branch by tagging in git repo with v4_0_0.

  • Things to remember before tagging the release.
  • Remove dev (make it blank) from the version.php file
  • Ensure the debug language global in locale in library/globals.inc.php is defaulted to 0

7.Build the tar.gz, zip and deb packages from v4_0_0.

Script that automates the below release builds outlined below is here: http://gist.github.com/884734

Download release from sourceforge git repository

git clone git://openemr.git.sourceforge.net/gitroot/openemr/openemr
git checkout origin/v4_0_0
rm -fr openemr/.git

Set permissions for tarball and zip

cp -r openemr/ openemr-4.0.0/
chmod -R u+w openemr-4.0.0
chmod -R a+w openemr-4.0.0/sites/default/documents openemr-4.0.0/sites/default/edi openemr-4.0.0/sites/default/era
chmod a+w openemr-4.0.0/sites/default/sqlconf.php
chmod a+w openemr-4.0.0/gacl/admin/templates_c
chmod a+w openemr-4.0.0/sites/default/config.php
chmod -R a+w openemr-4.0.0/interface/main/calendar/modules/PostCalendar/pntemplates/cache
chmod -R a+w openemr-4.0.0/interface/main/calendar/modules/PostCalendar/pntemplates/compiled

Build tarball (Linux)

tar zcpf openemr-4.0.0.tar.gz openemr-4.0.0

Build zip (Windows)

zip -r openemr-4.0.0.zip openemr-4.0.0

Build deb (Debian/Ubuntu package)

  • Ensure new dependencies are added to control file and (such as php5-mcrypt)
  • Ensure following files are updated (version info etc.):
mkdir -p debian/DEBIAN
mkdir -p debian/usr/share/applications
mkdir -p debian/usr/share/doc/openemr/
mkdir -p debian/usr/share/man/man8
mkdir -p debian/var/www
cp openemr/contrib/util/ubuntu_package_scripts/production/control debian/DEBIAN/
cp openemr/contrib/util/ubuntu_package_scripts/production/preinst debian/DEBIAN/
cp openemr/contrib/util/ubuntu_package_scripts/production/postinst debian/DEBIAN/
cp openemr/contrib/util/ubuntu_package_scripts/production/prerm debian/DEBIAN/
cp openemr/contrib/util/ubuntu_package_scripts/production/postrm debian/DEBIAN/
chmod +x debian/DEBIAN/preinst
chmod +x debian/DEBIAN/postinst
chmod +x debian/DEBIAN/prerm
chmod +x debian/DEBIAN/postrm
cp openemr/contrib/util/ubuntu_package_scripts/production/openemr.desktop debian/usr/share/applications/
cp openemr/contrib/util/ubuntu_package_scripts/production/changelog.Debian debian/usr/share/doc/openemr/
gzip --best debian/usr/share/doc/openemr/changelog.Debian
cp openemr/contrib/util/ubuntu_package_scripts/production/copyright debian/usr/share/doc/openemr/
cp openemr/contrib/util/ubuntu_package_scripts/production/README.Debian debian/usr/share/doc/openemr/
cp openemr/contrib/util/ubuntu_package_scripts/production/openemr.8 debian/usr/share/man/man8/
gzip --best debian/usr/share/man/man8/openemr.8
cp -r openemr/ debian/var/www/openemr/
fakeroot dpkg-deb --build debian
mv debian.deb openemr_4.0.0-1_all.deb
lintian openemr_4.0.0-1_all.deb

8. Release packages on sourceforge

  • Upload via Project Admin
  • Upload release and a release notes file
  • Set file properties appropriately

9. Build and release the Appliance.

10. Build and release the Windows XAMPP package.