summaryrefslogtreecommitdiffstats
path: root/HOWTO/release.txt
diff options
context:
space:
mode:
Diffstat (limited to 'HOWTO/release.txt')
-rw-r--r--HOWTO/release.txt656
1 files changed, 656 insertions, 0 deletions
diff --git a/HOWTO/release.txt b/HOWTO/release.txt
new file mode 100644
index 0000000..5fbbfc7
--- /dev/null
+++ b/HOWTO/release.txt
@@ -0,0 +1,656 @@
+__COPYRIGHT__
+
+This document covers how to prepare major releases of SCons--that is,
+releases numbered with X.Y format, such as 0.93, 1.0, etc.
+
+If you need to prepare a specific subrelease (X.Y.Z, such as 0.94.1),
+then see the document HOWTO/subrelease.txt.
+
+Things to do to release a new X.Y version of SCons:
+
+ Prepare the describe-the-release section for the announcements
+
+ summarize changes from src/CHANGES.txt
+
+ template is below, search for "describe-the-release"
+
+ send this out for review while you get the rest of the
+ release ready!
+
+ Build and test candidate packages
+
+ test on Linux
+
+ test on Windows NT
+
+ 1) tar zxf scons-src-{version}.tar.gz
+ cd scons-src-{version}
+ python runtest.py -a
+
+ 2) tar zxf scons-{version}.tar.gz
+ cd scons-{version}
+ python setup.py install
+ cd scons-src-{version}
+ python runtest.py -a -X -x C:\Python20\scons.bat
+
+ 3) scons-{verson}.win32.exe
+ cd scons-src-{version}
+ python runtest.py -a -X -x C:\Python20\scons.bat
+
+ 4) mkdir temporary_directory
+ cd temporary_directory
+ tar zxf scons-local-{version}.tar.gz
+ cd scons-src-{version}
+ python runtest.py -a -x C:\temporary_directory\scons.py
+
+ Check in any changes necessary to make everything work
+
+ Update the user's guide
+
+ sh bin/docdiff
+
+ sh bin/docupdate
+
+ END THE CURRENT DEVELOPMENT BRANCH
+
+ ae_p scons.0
+
+ aede {96}
+
+ aerpass {96}
+
+ aeib {96}
+
+ aed
+
+ aeb
+
+ aet
+
+ aet -reg
+
+ aeipass
+
+ START THE NEW BRANCH FOR RELEASE
+
+ aenbr -p scons.0 {97}
+
+ aenc -p scons.0.{97}
+
+ Call it something like,
+ "Initialize the new branch for release."
+ Cause = internal_enhancement.
+ Exempt it from all tests (*_exempt = true).
+
+ ae_p scons.0.{97}
+
+ aedb 100
+
+ aecd
+
+ # Change the hard-coded package version numbers
+ # in the following files.
+ aecp README
+ vi README
+
+ aecp SConstruct
+ vi SConstruct
+
+ aecp QMTest/TestSCons.py
+ vi QMTest/TestSCons.py
+
+ # Read through and update the README files if necessary
+ [optional] aecp README
+ [optional] vi README
+
+ [optional] aecp src/README.txt
+ [optional] vi src/README.txt
+
+ # Prepare src/CHANGES.txt
+ aecp src/CHANGES.txt
+ vi src/CHANGES.txt
+
+ date -R the latest release
+
+ should be current if this has been updated
+ as each change went in.
+
+ # Prepare src/RELEASE.txt
+ aecp src/RELEASE.txt
+ vi src/RELEASE.txt
+
+ date -R the latest release
+
+ Read through and edit appropriately.
+
+ Can probably keep most of the existing text
+
+ Add any new known problems
+
+ # Prepare debian/changelog
+ aecp debian/changelog
+ vi debian/changelog
+
+ date -R the latest release
+
+ # Now build and prepare the release itself.
+ aeb
+
+ aed
+
+ aet -reg
+
+ aede
+
+ etc.
+
+
+
+ Read through the FAQ for any updates
+
+
+
+ Upload the packages to the SourceForge incoming FTP:
+
+ ftp upload.sourceforge.net
+ anonymous
+ <your email>
+ cd incoming
+ bin
+ put scons-0.{97}-1.noarch.rpm
+ put scons-0.{97}-1.src.rpm
+ put scons-0.{97}.tar.gz
+ put scons-0.{97}.win32.exe
+ put scons-0.{97}.zip
+ put scons-local-0.{97}.tar.gz
+ put scons-local-0.{97}.zip
+ put scons-src-0.{97}.tar.gz
+ put scons-src-0.{97}.zip
+ put scons_0.{97}-1_all.deb
+
+ Create the new release at the SourceForge project page:
+
+ Pull down the "Admin" menu and select "File Releases"
+
+ Package Name: scons
+
+ => Add Release
+
+ New release name: 0.{97}
+
+ Upload the RELEASE.txt file.
+
+ Upload the CHANGES.txt file.
+
+ Check the "Preserve my pre-formatted text." box (IMPORTANT!)
+
+ Click "Submit/Refresh" (IMPORTANT!)
+
+ Check the SCons files you uploaded
+
+ Click "Add Files and/or Refresh View"
+
+ Edit the file info:
+
+ scons-0.{97}-1.noarch.rpm Any .rpm
+ scons-0.{97}-1.src.rpm Any Source .rpm
+ scons-0.{97}.tar.gz Any .gz
+ scons-0.{97}.win32.exe i386 .exe (32-bit Windows)
+ scons-0.{97}.zip Any .zip
+ scons_0.{97}-1_all.deb Any .deb
+
+ Click "Update/Refresh" for each file; this must be done
+ one at a time.
+
+ Check "I'm sure." and click "Send Notice" in the Email
+ Release Notice section.
+
+
+ Pull down the "Admin" menu and select "File Releases"
+
+ Package Name: scons-local
+
+ => Add Release
+
+ New release name: 0.{97}
+
+ Upload the RELEASE.txt file.
+
+ Upload the CHANGES.txt file.
+
+ Check the "Preserve my pre-formatted text." box (IMPORTANT!)
+
+ Click "Submit/Refresh" (IMPORTANT!)
+
+ Check the SCons files you uploaded
+
+ Click "Add Files and/or Refresh View"
+
+ Edit the file info:
+
+ scons-local-0.{97}.tar.gz Any .gz
+ scons-local-0.{97}.zip Any .zip
+
+ Click "Update/Refresh" for each file; this must be done
+ one at a time.
+
+ Check "I'm sure." and click "Send Notice" in the Email
+ Release Notice section.
+
+
+ Pull down the "Admin" menu and select "File Releases"
+
+ Package Name: scons-src
+
+ => Add Release
+
+ New release name: 0.{97}
+
+ Upload the RELEASE.txt file.
+
+ Upload the CHANGES.txt file.
+
+ Check the "Preserve my pre-formatted text." box (IMPORTANT!)
+
+ Click "Submit/Refresh" (IMPORTANT!)
+
+ Check the SCons files you uploaded
+
+ Click "Add Files and/or Refresh View"
+
+ Edit the file info:
+
+ scons-src-0.{97}.tar.gz Any .gz
+ scons-src-0.{97}.zip Any .zip
+
+ Click "Update/Refresh" for each file; this must be done
+ one at a time.
+
+ Check "I'm sure." and click "Send Notice" in the Email
+ Release Notice section.
+
+
+ Hide release 0.{95} at the SourceForge download page:
+
+ Pull down the "Admin" menu and select "File Releases"
+
+ Package Name: scons
+
+ => Edit Releases
+
+ Release Name: 0.{95}
+
+ => Edit This Release
+
+ Status: => Hidden
+
+ Click Submit/Refresh
+
+
+ Pull down the "Admin" menu and select "File Releases"
+
+ Package Name: scons-local
+
+ => Edit Releases
+
+ Release Name: 0.{95}
+
+ => Edit This Release
+
+ Status: => Hidden
+
+ Click Submit/Refresh
+
+
+ Pull down the "Admin" menu and select "File Releases"
+
+ Package Name: scons-src
+
+ => Edit Releases
+
+ Release Name: 0.{95}
+
+ => Edit This Release
+
+ Status: => Hidden
+
+ Click Submit/Refresh
+
+
+
+ Add a new release for 0.{97} in the Issue Tracker at tigris.org:
+
+ Click "Issue Tracker" on the left-hand nav bar
+
+ Click "Configuration options"
+
+ Click "Add/edit components"
+
+ Under "scons"
+ To the right of "Add ..."
+ Click "Version"
+
+ At the bottom of the list click "Add"
+
+ Fill in the "Version:" box with 0.{97}
+
+ Check "Add this version to *all* components."
+
+ Click the "Add" button
+
+
+
+ Update the scons.org web site:
+
+ svn co http://scons.tigris.org/svn/scons/scons.org
+
+ cd scons.org
+
+ CHANGES.txt: copy new version from built source tree
+
+ download.php: new version number
+
+ includes/templates.php:
+ update $latestrelease
+
+ includes/versions.php:
+ update $stablerelease and/or $latestrelease
+ add new version number to $docversions[],
+ IMPORTANT: SHIFT $docversions[] INDEX NUMBERS :-(
+
+ index.php: announcement on the home page
+ remove out-of-date announcements
+
+ news-raw.xhtml: add announcement to list (dup from home page)
+
+ RELEASE.txt: copy new version from built source tree
+
+ mkdir doc/0.{97}
+
+ (cd doc/0.{97} && tar zxf scons-doc-0.{97}.tar.gz)
+
+ svn add doc/0.{97}
+
+ svn commit
+
+ ssh -l scons manam.pair.com
+
+ cd public_html
+
+ mkdir new
+
+ svn co http://scons.tigris.org/svn/scons/scons.org new
+
+ mv production previous && mv new production
+
+ [point your browser to http://www.scons.org/]
+
+
+ Update the project pages at tigris.org:
+
+ svn co http://scons.tigris.org/svn/scons/trunk
+
+ cd trunk
+
+ www/project_highlights.html
+
+ www/roadmap.html
+
+ svn commit
+
+
+
+
+ Test downloading from the SourceForge project page
+
+ You may need to wait a good bit; they seem to update
+ this on half-hour cycles.
+
+
+ Test downloading from the web site download page
+
+
+
+ Add news item to the SourceForge project page
+
+ Pull down "Project => News"
+
+ Click "Submit"
+
+ Fill in the "Subject:" box
+
+ Cut-and-paste the announcement text into the "Details:" box
+
+ Click "submit"
+
+
+
+ Add news item to the tigris.org project page
+
+ Click "Announcements"
+
+ Click "Add new announcement"
+
+ Double-check the date (probably already set)
+
+ Fill in the "Headline" box
+
+ Fill in the "Body" box (probably short)
+
+ Click "Add new announcement"
+
+
+
+ Announce to the following mailing lists (template below):
+
+ scons-announce@lists.sourceforge.net
+ scons-users@lists.sourceforge.net
+ scons-devel@lists.sourceforge.net
+
+ [right away]
+
+ python-announce@python.org
+
+ [right away, it's moderated and will take
+ some time to get through]
+
+ linux-announce@news.ornl.gov
+
+ [right away, it's moderated and will take
+ some time to get through]
+
+ [optional] cons-discuss@gnu.org
+
+ [only if it's a really big announcement,
+ I said we wouldn't bug this list]
+
+ python-list@python.org
+
+ [wait until business hours so the announcement
+ hits mailboxes while U.S. workers are active]
+
+ Notify Gentoo Linux of the update
+
+ For now, we will do this by entering a bug report, and
+ attaching the files in build/gentoo to the report. Go
+ to:
+
+ http://bugs.gentoo.org/
+
+ This requires an account (based on your email address)
+ and a certain amount of Bugzilla-based navigation,
+ but nothing that's too difficult.
+
+ This is just my best stab at a process that will work
+ for Gentoo. This process may change if the Gentoo
+ developers come back and want something submitted in
+ some other form.
+
+ Notify www.cmtoday.com/contribute.html
+
+ [This guy wants an announcement no more frequently than
+ once a month, so save it for a future release if it's
+ been too soon since the previous one.]
+
+ Notify freshmeat.net
+
+ [Wait until the morning so the announcement hits the
+ main freshmeat.net page while people in the U.S. are
+ awake and working]
+
+
+
+ Checkin another change to prepare for development on this branch.
+
+ # Prep the following files to track the changes
+ # made during the next development cycle
+ aecp src/CHANGES.txt src/RELEASE.txt
+ vi src/CHANGES.txt src/RELEASE.txt
+
+ # Optionally, update release numbers in the following:
+ [optional] aecp HOWTO/change.txt
+ [optional] vi HOWTO/change.txt
+
+ [optional] aecp HOWTO/release.txt
+ [optional] vi HOWTO/release.txt
+
+
+
+
+=======================
+Template describe-the-release section:
+
+IMPORTANT: Release 0.95 contains the following interface changes:
+
+ - XXX
+
+ See the release notes for more information about these changes.
+
+This release adds the following features:
+
+ - XXX
+
+This release enhances the following existing features:
+
+ - XXX
+
+The following fixes have been added:
+
+ - XXX
+
+Performance has been improved as follows:
+
+ - XXX
+
+The following changes have been made to the SCons packaging:
+
+ - XXX
+
+The documentation has been improved:
+
+ - XXX
+=======================
+Template scons-devel announcement:
+
+SConspirators--
+
+SCons beta release 0.95 is now available for download.
+
+XXX Template describe-the-release section goes here XXX
+
+Special thanks to XXX, XXX, and XXX for their contributions to this
+release.
+
+ --SK
+=======================
+Template scons-users + scons-announce announcement:
+
+Version 0.95 of SCons has been released and is available for download
+from the SCons web site:
+
+ http://www.scons.org/
+
+Or through the download link at the SCons project page at SourceForge:
+
+ http://sourceforge.net/projects/scons/
+
+RPM and Debian packages and a Win32 installer are all available, in
+addition to the traditional .tar.gz and .zip files.
+
+
+WHAT'S NEW IN THIS RELEASE?
+
+XXX Template describe-the-release section goes here XXX
+
+
+ACKNOWLEDGEMENTS
+
+Special thanks to XXX, XXX, and XXX for their contributions to this
+release.
+
+On behalf of the SCons team,
+
+ --SK
+=======================
+Template python-announce, linux-announce and python-list announcement:
+
+SCons is a software construction tool (build tool, or make tool) written
+in Python. It is based on the design which won the Software Carpentry
+build tool competition in August 2000.
+
+Version 0.95 of SCons has been released and is available for download
+from the SCons web site:
+
+ http://www.scons.org/
+
+Or through the download link at the SCons project page at SourceForge:
+
+ http://sourceforge.net/projects/scons/
+
+RPM and Debian packages and a Win32 installer are all available, in
+addition to the traditional .tar.gz and .zip files.
+
+
+WHAT'S NEW IN THIS RELEASE?
+
+XXX Template describe-the-release section goes here XXX
+
+
+ABOUT SCONS
+
+Distinctive features of SCons include:
+
+ - a global view of all dependencies; no multiple passes to get
+ everything built properly
+ - configuration files are Python scripts, allowing the full use of a
+ real scripting language to solve difficult build problems
+ - a modular architecture allows the SCons Build Engine to be
+ embedded in other Python software
+ - the ability to scan files for implicit dependencies (#include files);
+ - improved parallel build (-j) support that provides consistent
+ build speedup regardless of source tree layout
+ - use of MD5 signatures to decide if a file has really changed; no
+ need to "touch" files to fool make that something is up-to-date
+ - easily extensible through user-defined Builder and Scanner objects
+ - build actions can be Python code, as well as external commands
+
+An scons-users mailing list is available for those interested in getting
+started using SCons. You can subscribe at:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-users
+
+Alternatively, we invite you to subscribe to the low-volume
+scons-announce mailing list to receive notification when new versions of
+SCons become available:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-announce
+
+
+ACKNOWLEDGEMENTS
+
+Special thanks to XXX, XXX, and XXX for their contributions to this
+release.
+
+On behalf of the SCons team,
+
+ --SK