commit-gnue
[Top][All Lists]
Advanced

[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
   + *





reply via email to

[Prev in Thread] Current Thread [Next in Thread]