[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6048 - in trunk/gnue-common: doc/technotes utils
From: |
reinhard |
Subject: |
r6048 - in trunk/gnue-common: doc/technotes utils |
Date: |
Fri, 23 Jul 2004 05:08:54 -0500 (CDT) |
Author: reinhard
Date: 2004-07-23 05:08:53 -0500 (Fri, 23 Jul 2004)
New Revision: 6048
Added:
trunk/gnue-common/utils/release
Modified:
trunk/gnue-common/doc/technotes/00011.txt
Log:
Shiny new release script.
Modified: trunk/gnue-common/doc/technotes/00011.txt
===================================================================
--- trunk/gnue-common/doc/technotes/00011.txt 2004-07-23 09:35:46 UTC (rev
6047)
+++ trunk/gnue-common/doc/technotes/00011.txt 2004-07-23 10:08:53 UTC (rev
6048)
@@ -1,7 +1,7 @@
Title: How To Make A Release
Status: Current
Created: 2003-10-14
-Revised: 2003-03-30
+Revised: 2004-07-23
How to make a release
---------------------
@@ -9,9 +9,6 @@
* Check if samples are all working and consistent with the current state of the
code.
-* From the top level checkout dir run gnue-common/utils/update-tool-docs
- to rebuild the man pages and dtd files
-
* Read all documentation and check if is consistent with the current state of
the code (this includes doc/, AUTHORS, BUGS, FAQ, INSTALL, README, ROADMAP,
THANKS and TODO).
@@ -19,14 +16,9 @@
* Check if setup.py needs to be updated because of changes since the last
release (files added, files removed, ...).
-* Create the tarballs for the prerelease:
- "GNUE_VERSION_SUFFIX=-pre1 ./setup.py sdist --format='gztar,zip'"
+* Run the release script:
+ "GNUE_VERSION_SUFFIX=-pre1 ../gnue-common/utils/release"
-* Commit everything to subversion.
-
-* Post the prerelease to the web:
- "scp dist/* address@hidden:/var/www/downloads/prereleases"
-
* Test installing the prerelease from tarball on different systems.
* Let the packagers test packaging of the prerelease.
@@ -35,20 +27,10 @@
* In src/__init__.py, set _release to 1.
-* From the top level checkout dir run gnue-common/utils/update-tool-docs
- to rebuild the man pages and dtd files
+* Run the release script:
+ "../gnue-common/utils/release"
-* Create the tarballs for the release:
- "setup.py sdist --format='gztar,zip'"
-
-* Commit everything to subversion, with a message that says "Released x.x.x".
-
-* Tag subversion.
- "svn copy svn+ssh://svn.gnuenterprise.org/var/svn/gnue/trunk/gnue-<package>
svn+ssh://svn.gnuenterprise.org/var/svn/gnue/tags/<package>-x-x-x-release"
-
-* Post the release to the web and remove the prerelease:
- "scp dist/* address@hidden:/var/www/downloads/releases"
- on www.gnuenterprise.org:
+* Remove the prerelease, and link current releases on www.gnuenterprise.org:
ln -s /var/www/downloads/releases/<filename>.* /var/www/downloads/current
rm -f /var/www/downloads/prereleases/<filename>.*
@@ -57,8 +39,6 @@
find ../releases -mtime -1 -exec ln -s {} \;
find . -mtime +1 -exec rm {} \;
-* Post documentation to the website using the "postweb" script
-
* In src/__init__.py, set _version to the next version number, and _release to
0.
Added: trunk/gnue-common/utils/release
===================================================================
--- trunk/gnue-common/utils/release 2004-07-23 09:35:46 UTC (rev 6047)
+++ trunk/gnue-common/utils/release 2004-07-23 10:08:53 UTC (rev 6048)
@@ -0,0 +1,56 @@
+#!/bin/bash -e
+# Script for release process
+
+if [ ! -d "src" ]; then
+ echo "Please start this script in the package directory!"
+ exit 1
+fi
+
+package=$(basename $(pwd) | sed -e 's/gnue-//')
+version=$(echo "import src; print src.VERSION" | gcvs)
+release=$(echo "import src; print src._release" | gcvs)
+
+if [ "$release" == "1" -a "$GNUE_VERSION_SUFFIX" != "" ]; then
+ echo "Don't set GNUE_VERSION_SUFFIX for final releases!"
+ exit 1
+fi
+
+if [ "$release" == "0" -a "$GNUE_VERSION_SUFFIX" == "" ]; then
+ echo "Please set GNUE_VERSION_SUFFIX for prereleases!"
+ exit 1
+fi
+
+echo "Releasing version $version$GNUE_VERSION_SUFFIX of gnue-$package"
+
+# Update svn so we don't forget any changes
+svn update
+
+# Update tools documentation
+(cd ..; gnue-common/utils/update-tool-docs)
+
+# Create the distribution files
+rm --force MANIFEST
+rm --recursive --force build dist
+gcvs setup.py sdist --format="gztar,zip"
+
+# Commit to svn
+svn commit --message "Released ${version}${GNUE_VERSION_SUFFIX}."
+
+# Post to web
+if [ "$release" == "1" ]; then
+ scp dist/* address@hidden:/var/www/downloads/releases
+else
+ scp dist/* address@hidden:/var/www/downloads/prereleases
+fi
+
+# Tag subversion
+if [ "$release" == "1" ]; then
+ svn copy \
+ svn+ssh://svn.gnuenterprise.org/var/svn/gnue/trunk/gnue-$package \
+ svn+ssh://svn.gnuenterprise.org/var/svn/gnue/tags/$package-$version
+fi
+
+# Post documentation to web page
+if [ -x "postweb" ]; then
+ ./postweb
+fi
Property changes on: trunk/gnue-common/utils/release
___________________________________________________________________
Name: svn:executable
+ *
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6048 - in trunk/gnue-common: doc/technotes utils,
reinhard <=