Difference between revisions of "Steps for an official release"
From OpenEMR Project Wiki
Bradymiller (talk | contribs) m (1 revision: second) |
Bradymiller (talk | contribs) |
||
Line 45: | Line 45: | ||
==8. Build the tar.gz, zip and deb packages from v4_1_0.== | ==8. Build the tar.gz, zip and deb packages from v4_1_0.== | ||
: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_0 | |||
cd ../ | |||
rm -fr openemr/.git | |||
===Set permissions for tarball and zip=== | |||
cp -a openemr/ openemr-4.1.0/ | |||
chmod -R u+w openemr-4.1.0 | |||
chmod -R a+w openemr-4.1.0/sites/default/documents | |||
chmod -R a+w openemr-4.1.0/sites/default/edi | |||
chmod -R a+w openemr-4.1.0/sites/default/era | |||
chmod -R a+w openemr-4.1.0/sites/default/letter_templates | |||
chmod a+w openemr-4.1.0/sites/default/sqlconf.php | |||
chmod a+w openemr-4.1.0/sites/default/config.php | |||
chmod -R a+w openemr-4.1.0/gacl/admin/templates_c | |||
chmod -R a+w openemr-4.1.0/interface/main/calendar/modules/PostCalendar/pntemplates/cache | |||
chmod -R a+w openemr-4.1.0/interface/main/calendar/modules/PostCalendar/pntemplates/compiled | |||
===Build tarball (Linux)=== | |||
tar zcpf openemr-4.1.0.tar.gz openemr-4.1.0 | |||
===Build zip (Windows)=== | |||
zip -r openemr-4.1.0.zip openemr-4.1.0 | |||
===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.0-1_all.deb | |||
lintian openemr_4.1.0-1_all.deb | |||
==9. Release packages on sourceforge== | ==9. Release packages on sourceforge== |
Revision as of 07:54, 28 August 2011
Overview
Steps detailing a release (4.1 is given as an example).
1. Create a rel-410 branch from master in the git repo.
2. Release an online development demo that uses the rel-410 branch and updates daily.
- Also provide links for downloading rel-410 daily builds/packages(zip and tarball) to allow testing of installation and upgrading by testers
3. Publish installation, upgrade, and downloading instructions
3. Finalize the translations in the rel-410 branch.
4. Bug fix and finalize the rel-410 branch.
- Update the copyright page by copying the copyright page from OpenEMR Copyright Notice to copyright_notice.html in git
5. Create a list of new features in the rel-410 branch (since the last official release)
6. Prepare files for the Ubuntu/debian package
- (NOTE there will be a large refactoring of this package in 4.1 release to ensure it works well with ubuntu 11.04)
- 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.0-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
- (note that the release after 4.0.0 will need to add some code for the differences in where the version is stored in pre vs post 4.1 and also the paths related to sites/default stuff)
7. Release rel-410 branch by tagging in git repo with v4_1_0.
- 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
- Login into the sourceforge shell and go to the git repo and type:
git tag v4_1_0 rel-410
8. Build the tar.gz, zip and deb packages from v4_1_0.
- 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_0 cd ../ rm -fr openemr/.git
Set permissions for tarball and zip
cp -a openemr/ openemr-4.1.0/ chmod -R u+w openemr-4.1.0 chmod -R a+w openemr-4.1.0/sites/default/documents chmod -R a+w openemr-4.1.0/sites/default/edi chmod -R a+w openemr-4.1.0/sites/default/era chmod -R a+w openemr-4.1.0/sites/default/letter_templates chmod a+w openemr-4.1.0/sites/default/sqlconf.php chmod a+w openemr-4.1.0/sites/default/config.php chmod -R a+w openemr-4.1.0/gacl/admin/templates_c chmod -R a+w openemr-4.1.0/interface/main/calendar/modules/PostCalendar/pntemplates/cache chmod -R a+w openemr-4.1.0/interface/main/calendar/modules/PostCalendar/pntemplates/compiled
Build tarball (Linux)
tar zcpf openemr-4.1.0.tar.gz openemr-4.1.0
Build zip (Windows)
zip -r openemr-4.1.0.zip openemr-4.1.0
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.0-1_all.deb lintian openemr_4.1.0-1_all.deb
9. Release packages on sourceforge
- Upload via Project Admin
- Upload release and a release notes file
- Set file properties appropriately