Preparing a Release Tarball
Note: Only users designated as "admin" on the sourceforge project page can release a new tarball.
Steps to prepare the code for a new tarball
- Edit amp_conf/htdocs/admin/modules/modlist.sh to add/remove any modules that should be part of the 'with-modules' release (don't add core or framework) - currently we are not generating 'with-modules releases
- make sure there is an upgrade directory for the new release, this is what is used to determine the release number. The install_amp array is not used anymore. (We should change to the md5sum file - this might be best as it auto-generates.)
- Create the version-<version-number>.html file on the mirror site
- Update framework/modules.xml to <main_release>.0
- Update framework/modules.xml <depends><version> tag to <version-number> if needed
- Update core/modules.xml to <version-number>.0
- Update core/modules.xml <depends><version> tag to <version-number> if needed
- Update the CHANGES document to include major/notable changes
- publish framework, then core
- Now run the "generate-release.sh <version-number>" script which will:
- package and checking libfreepbx.javascripts.js if needed
- generate the md5 hash for the new version and commit it
- create a tag from the current branch
- svn cp the core and framework modules into ~amp_conf/htdocs/admin/modules of the tag
- creates and cd to /usr/src/freepbx-release directory
- svn exports the tag to create a normal freepbx-<version-number>.tar.gz
- uses the modlist.sh list to export all the modules and creates a freepbx-<version-number>-withmodules.tar.gz
- Upload the .tar.gz file to upload.sourceforge.net/incoming
- Use the Admin/Files control on sourceforge to create a new release
- Upload to the freepbx.org mirror
- add redirect in .htaccess file back to sourceforge
- Update all required Wiki Pages, Help pages, etc. with new version information
- TODO: Check This List and add to it
- Home Page on trac
- Beta Program specific page if appropriate
- voip-info.org if news worthy
- main blog
- Upgrade the query on the beta program specific pages and any reports if new version numbers are being used in the tracker
- Send out an email to everyone and add a new news item on sourceforge.net!
Steps to make new module branch
- svn cp modules/branches/current modules/branches/new (use URLs)
- svn cp modules/release/current modules/release/new (use URLs)
- cd modules/branches/new:
- svnmerge.py init
- svnmerge.py uninit -S previous (before current)
- cd modules/branches/current:
- svnmerge.py init URL-to-new
- in modules/branches/new update tools to reflect new repo and link to proper framework branch (trunk usually)
- publish.pl
- frameworksvn.pl
- fw_*.pl
- this might work as well: sed -i 's/<old ver>/<new ver>/g' fw_*.pl
- in trunk
- svnmerge.py from current release to bring up to date
- update buildtools/generate-release.sh with version to new repo
- update setup_svn.php to new module repo version
- create a new upgrades/new directory to reflect the new version, e.g. if going to 2.6, create 2.6.0alpha1
