Difference between revisions of "Steps for an official release"
From OpenEMR Project Wiki
		| Bradymiller (talk | contribs) | Bradymiller (talk | contribs)  | ||
| Line 47: | Line 47: | ||
| ==9. Build the tar.gz, zip and deb packages from v4_1_1.== | ==9. Build the tar.gz, zip and deb packages from v4_1_1.== | ||
| :Here is a script that automates the below release builds below: http://gist.github.com/884734 | |||
| ===Download release from sourceforge git repository=== | |||
|  git clone git://openemr.git.sourceforge.net/gitroot/openemr/openemr | |||
|  cd openemr | |||
|  git checkout v4_1_1 | |||
|  cd ../ | |||
|  rm -fr openemr/.git | |||
| ===Set permissions for tarball and zip=== | |||
|  cp -a openemr/ openemr-4.1.1/ | |||
|  chmod -R u+w openemr-4.1.1 | |||
|  chmod -R a+w openemr-4.1.1/sites/default/documents | |||
|  chmod -R a+w openemr-4.1.1/sites/default/edi | |||
|  chmod -R a+w openemr-4.1.1/sites/default/era | |||
|  chmod -R a+w openemr-4.1.1/sites/default/letter_templates | |||
|  chmod a+w openemr-4.1.1/sites/default/sqlconf.php | |||
|  chmod a+w openemr-4.1.1/sites/default/config.php | |||
|  chmod -R a+w openemr-4.1.1/gacl/admin/templates_c | |||
|  chmod -R a+w openemr-4.1.1/interface/main/calendar/modules/PostCalendar/pntemplates/cache | |||
|  chmod -R a+w openemr-4.1.1/interface/main/calendar/modules/PostCalendar/pntemplates/compiled | |||
| ===Build tarball (Linux)=== | |||
|  tar zcpf openemr-4.1.1.tar.gz openemr-4.1.1 | |||
| ===Build zip (Windows)=== | |||
|  zip -r openemr-4.1.1.zip openemr-4.1.1 | |||
| ===Build deb (Debian/Ubuntu package)=== | |||
|  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/ | |||
|  cp openemr/contrib/util/ubuntu_package_scripts/production/config debian/DEBIAN/ | |||
|  cp openemr/contrib/util/ubuntu_package_scripts/production/templates debian/DEBIAN/ | |||
|  chmod +x debian/DEBIAN/preinst | |||
|  chmod +x debian/DEBIAN/postinst | |||
|  chmod +x debian/DEBIAN/prerm | |||
|  chmod +x debian/DEBIAN/postrm | |||
|  chmod +x debian/DEBIAN/config | |||
|  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 -a openemr/ debian/var/www/openemr/ | |||
|  fakeroot dpkg-deb --build debian | |||
|  mv debian.deb openemr_4.1.1-1_all.deb | |||
|  lintian openemr_4.1.1-1_all.deb | |||
| ==10. Release packages on sourceforge== | ==10. Release packages on sourceforge== | ||
Revision as of 01:26, 15 June 2013
Overview
Steps detailing a release (4.1.1 is given as an example).
1. Create a rel-411 branch from master in the git repo.
2. Release an online development demo that uses the rel-411 branch and updates daily.
- Also provide links for downloading rel-411 daily builds/packages(zip and tarball) to allow testing of installation and upgrading by testers
 
3. Publish installation, upgrade, and downloading instructions
- Also update the INSTALL file
 
4. Finalize the translations in the rel-411 branch.
5. Bug fix and finalize the rel-411 branch.
- Update the copyright/acknowledgements page by copying the copyright page from HERE to acknowledge_license_cert.html in openemr codebase
 
6. Create a list of new features in the rel-411 branch (since the last official release)
7. Prepare files for the Ubuntu/debian package
- Ensure following files are updated at openemr/contrib/util/ubuntu_package_scripts/production/ in codebase:
 - control
 - Update Version
- Update Installed-Size (just estimate it, doesn't need to be accurate)
- Add new package dependencies (if pertinent, for example in 4.1.0, adding php5-soap and also a Pre-Depends:debconf)
 
 - README.Debian
 - Change the dates at bottom of file to release date (use date -R to get correctly formatted date).
 
 - changelog.Debian
 - Add entry for new version:
 
 
 
 
openemr (4.1.1-1) stable; urgency=low * New upstream version -- Brady Miller <brady@sparmy.com> Fri, 25 Mar 2011 22:46:08 -0700
- copyright
 - Add current date near top (use date -R to get correctly formatted date)
- Modify the copyright years (two of them), if needed
 
 - preinst
 - Update the algorithm to upgrade the previous version correctly
 
 
 
 
8. Release rel-411 branch by tagging in git repo with v4_1_1.
- Things to remember before tagging the release.
 - Remove -dev from $v_tag (make it blank) in the version.php file
- Ensure the 'allow_debug_language' global in locale section in library/globals.inc.php is defaulted to 0
- Ensure the two User Manual links point to the correct online manual
 
 - Login into the sourceforge shell and go to the git repo and type:
 
 
git tag v4_1_1 rel-411
9. Build the tar.gz, zip and deb packages from v4_1_1.
- Here is a script that automates the below release builds below: http://gist.github.com/884734
Download release from sourceforge git repository
git clone git://openemr.git.sourceforge.net/gitroot/openemr/openemr cd openemr git checkout v4_1_1 cd ../ rm -fr openemr/.git
Set permissions for tarball and zip
cp -a openemr/ openemr-4.1.1/ chmod -R u+w openemr-4.1.1 chmod -R a+w openemr-4.1.1/sites/default/documents chmod -R a+w openemr-4.1.1/sites/default/edi chmod -R a+w openemr-4.1.1/sites/default/era chmod -R a+w openemr-4.1.1/sites/default/letter_templates chmod a+w openemr-4.1.1/sites/default/sqlconf.php chmod a+w openemr-4.1.1/sites/default/config.php chmod -R a+w openemr-4.1.1/gacl/admin/templates_c chmod -R a+w openemr-4.1.1/interface/main/calendar/modules/PostCalendar/pntemplates/cache chmod -R a+w openemr-4.1.1/interface/main/calendar/modules/PostCalendar/pntemplates/compiled
Build tarball (Linux)
tar zcpf openemr-4.1.1.tar.gz openemr-4.1.1
Build zip (Windows)
zip -r openemr-4.1.1.zip openemr-4.1.1
Build deb (Debian/Ubuntu package)
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/ cp openemr/contrib/util/ubuntu_package_scripts/production/config debian/DEBIAN/ cp openemr/contrib/util/ubuntu_package_scripts/production/templates debian/DEBIAN/ chmod +x debian/DEBIAN/preinst chmod +x debian/DEBIAN/postinst chmod +x debian/DEBIAN/prerm chmod +x debian/DEBIAN/postrm chmod +x debian/DEBIAN/config 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 -a openemr/ debian/var/www/openemr/ fakeroot dpkg-deb --build debian mv debian.deb openemr_4.1.1-1_all.deb lintian openemr_4.1.1-1_all.deb
10. Release packages on sourceforge
- Upload via Project Admin
- Upload release and a release notes file
- Set file properties appropriately
 
11. Announce Release
- Sourceforge
- google+
- Linuxmednews
- Freecode
 

