diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-05-21 09:26:44 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-05-21 09:26:44 +0000 |
| commit | 055c0d0d5a5bb0dc75904fe53df7f2e4f5732a8f (patch) | |
| tree | 0e63fb68c69c8f6ad0f78893c63420f0a3600e1c /src-3.0/ReleaseProcedure | |
| parent | 915a1de71783ab8446b1af9e72c7ba7dfbc12d3f (diff) | |
GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3
Diffstat (limited to 'src-3.0/ReleaseProcedure')
| -rw-r--r-- | src-3.0/ReleaseProcedure | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/src-3.0/ReleaseProcedure b/src-3.0/ReleaseProcedure new file mode 100644 index 000000000..c04f2a065 --- /dev/null +++ b/src-3.0/ReleaseProcedure @@ -0,0 +1,153 @@ +Procedure for making a GF release: + +1. Make sure everything that should be in the release has been + checked in. + +2. Go to the src/ dir. + + $ cd src + +3. Edit configure.ac to set the right version number + (the second argument to the AC_INIT macro). + +4. Edit gf.spec to set the version and release numbers + (change %define version and %define release). + +5. Commit configure.ac and gf.spec: + + $ darcs record -m 'Updated version numbers.' configure.ac gf.spec + +6. Run autoconf to generate configure with the right version number: + + $ autoconf + +7. Go back to the root of the tree. + + $ cd .. + +8. Tag the release. (X_X should be replaced by the version number, with + _ instead of ., e.g. 2_0) + + $ darcs tag -m RELEASE-X_X + +9. Push the changes that you made for the release to the main repo: + + $ darcs push + +10. Build a source package: + + $ cd src + $ ./configure + $ make dist + +11. (Only if releasing a new grammars distribution) + Build a grammar tarball: + + $ cd src + $ ./configure && make grammar-dist + +12. Build an x86/linux RPM (should be done on a Mandrake Linux box): + + Setup for building RPMs (first time only): + + - Make sure that you have the directories neccessary to build + RPMs: + + $ mkdir -p ~/rpm/{BUILD,RPMS/i586,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp} + + - Create ~/.rpmrc with the following contents: + +buildarchtranslate: i386: i586 +buildarchtranslate: i486: i586 +buildarchtranslate: i586: i586 +buildarchtranslate: i686: i586 + + - Create ~/.rpmmacros with the following contents: + +%_topdir %(echo ${HOME}/rpm) +%_tmppath %{_topdir}/tmp + +%packager Your Name <yourusername@cs.chalmers.se> + + Build the RPM: + + $ cd src + $ ./configure && make rpm + +13. Build a generic binary x86/linux package (should be done on a Linux box, + e.g. banded.medic.chalmers.se): + + $ cd src + $ ./configure --host=i386-pc-linux-gnu && make binary-dist + +14. Build a generic binary sparc/solaris package (should be done + on a Solaris box, e.g. remote1.cs.chalmers.se): + + $ cd src + $ ./configure --host=sparc-sun-solaris2 && gmake binary-dist + +15. Build a Mac OS X package (should be done on a Mac OS X box, + e.g. csmisc99.cs.chalmers.se): + + $ cd src + $ ./configure && make binary-dist + + Note that to run GHC-compiled binaries on OS X, you need + a "Haskell Support Framework". This should be available + separately from the GF download page. + + TODO: Use OS X PackageMaker to build a .pkg-file which can + be installed using the standard OS X Installer program. + +16. Build a binary Cygwin package (should be done on a Windows + machine with Cygwin): + + $ cd src + $ ./configure && make binary-dist + +17. Build a Windows MSI package (FIXME: This doesn't work right, + pathnames with backslashes and spaces are not handled + correctly in Windows. We only release a binary tarball + for Cygwin right now.): + + $ cd src + $ ./configure && make all windows-msi + +18. Add new GF package release to SourceForge: + + - https://sourceforge.net/projects/gf-tools + + - Project page -> Admin -> File releases -> Add release (for the + GF package) + + - New release name: X.X (just the version number, e.g. 2.2) + + - Paste in release notes + + - Upload files using anonymous FTP to upload.sourceforge.net + in the incoming directory. + + - Add the files to the release and set the processor + and file type for each file (remember to press + Update/Refresh for each file): + * x86 rpm -> i386/.rpm + * source rpm -> Any/Source .rpm + * x86 binary tarball -> i386/.gz + * sparc binary tarball -> Sparc/.gz + * source package -> Any/Source .gz + +19. Add new GF-editor release. Repeat the steps above, but + with GF-editor: + + - Add files and set properties: + + * editor rpm -> i386/.rpm (not really true, but I haven't + figured out how to make noarch rpms from the same spec as + arch-specific ones) + +20. Mail to gf-tools-users@lists.sourceforge.net + +21. Update website. + +22. Party! + |
