-Things to do to release a new version of SCons:
+__COPYRIGHT__
- Prepare the describe-the-release section for the announcements
+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.
- summarize changes from src/CHANGES.txt
+If you need to prepare a specific subrelease (X.Y.Z, such as 0.94.1),
+then see the document HOWTO/subrelease.txt.
- template is below, search for "describe-the-release"
+Things to do to release a new X.Y version of SCons:
- send this out for review while you get the rest of the
- release ready!
+ Prepare the describe-the-release section for the announcements
- Build and test candidate packages
+ summarize changes from src/CHANGES.txt
- test on Linux
+ template is below, search for "describe-the-release"
- test on Windows NT
+ send this out for review while you get the rest of the
+ release ready!
- 1) tar zxf scons-src-{version}.tar.gz
- cd scons-src-{version}
- python runtest.py -a
+ Build and test candidate packages
- 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
+ test on Linux
- 3) scons-{verson}.win32.exe
- cd scons-src-{version}
- python runtest.py -a -X -x C:\Python20\scons.bat
+ test on Windows NT
- 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
+ 1) tar zxf scons-src-{version}.tar.gz
+ cd scons-src-{version}
+ python runtest.py -a
- Checkin any changes necessary to make everything work
+ 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
- END THE CURRENT DEVELOPMENT BRANCH
+ 3) scons-{verson}.win32.exe
+ cd scons-src-{version}
+ python runtest.py -a -X -x C:\Python20\scons.bat
- ae_p scons.0
+ 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
- aede {92}
+ Check in any changes necessary to make everything work
- aerpass {92}
+ Update the user's guide
- aeib {92}
+ sh bin/docdiff
- aeb
+ sh bin/docupdate
- aet
+ END THE CURRENT DEVELOPMENT BRANCH
- aet -reg
+ ae_p scons.0
- aed
+ aede {96}
- aeipass
+ aerpass {96}
- START THE NEW BRANCH FOR RELEASE
+ aeib {96}
- aenbr -p scons.0 {93}
+ aed
- aenc -p scons.0.{93}
+ aeb
- Call it something like,
- "Initialize the new branch for release."
- Cause = internal_enhancement.
- Exempt it from all tests (*_exempt = true).
+ aet
- ae_p scons.0.{93}
+ aet -reg
- aedb 100
+ aeipass
- aecd
+ START THE NEW BRANCH FOR RELEASE
- # Change the hard-coded package version numbers
- # in the following files.
- aecp README
- vi README
+ aenbr -p scons.0 {97}
- aecp SConstruct
- vi SConstruct
+ aenc -p scons.0.{97}
- aecp rpm/scons.spec.in
- vi rpm/scons.spec.in
+ Call it something like,
+ "Initialize the new branch for release."
+ Cause = internal_enhancement.
+ Exempt it from all tests (*_exempt = true).
- aecp src/setupTests.py
- vi src/setupTests.py
+ ae_p scons.0.{97}
- # Read through and update the README files if necessary
- [optional] aecp README
- [optional] vi README
+ aedb 100
- [optional] aecp src/README.txt
- [optional] vi src/README.txt
+ aecd
- # Prepare src/CHANGES.txt
- aecp src/CHANGES.txt
- vi src/CHANGES.txt
+ # Change the hard-coded package version numbers
+ # in the following files.
+ aecp README
+ vi README
- date -R the latest release
+ aecp SConstruct
+ vi SConstruct
- should be current if this has been updated
- as each change went in.
+ aecp QMTest/TestSCons.py
+ vi QMTest/TestSCons.py
- # Prepare src/RELEASE.txt
- aecp src/RELEASE.txt
- vi src/RELEASE.txt
+ # Read through and update the README files if necessary
+ [optional] aecp README
+ [optional] vi README
- date -R the latest release
+ [optional] aecp src/README.txt
+ [optional] vi src/README.txt
- Read through and edit appropriately.
+ # Prepare src/CHANGES.txt
+ aecp src/CHANGES.txt
+ vi src/CHANGES.txt
- Can probably keep most of the existing text
+ date -R the latest release
- Add any new known problems
+ should be current if this has been updated
+ as each change went in.
- # Prepare debian/changelog
- aecp debian/changelog
- vi debian/changelog
+ # Prepare src/RELEASE.txt
+ aecp src/RELEASE.txt
+ vi src/RELEASE.txt
- date -R the latest release
+ date -R the latest release
- # Now build and prepare the release itself.
- aeb
+ Read through and edit appropriately.
- aet -reg
+ Can probably keep most of the existing text
- aed
+ Add any new known problems
- aede
+ # Prepare debian/changelog
+ aecp debian/changelog
+ vi debian/changelog
- etc.
+ date -R the latest release
+ # Now build and prepare the release itself.
+ aeb
+ aed
- Read through the FAQ for any updates
+ aet -reg
+ aede
+ etc.
- Upload the packages to the SourceForge incoming FTP:
- ftp upload.sourceforge.net
- anonymous
- <your email>
- cd incoming
- bin
- put scons-0.{93}-1.noarch.rpm
- put scons-0.{93}-1.src.rpm
- put scons-0.{93}.tar.gz
- put scons-0.{93}.win32.exe
- put scons-0.{93}.zip
- put scons-local-0.{93}.tar.gz
- put scons-local-0.{93}.zip
- put scons-src-0.{93}.tar.gz
- put scons-src-0.{93}.zip
- put scons_0.{93}-1_all.deb
- Create the new release at the SourceForge project page:
+ Read through the FAQ for any updates
- Go to the Admin page
- => Edit/Add File Releases
- Package Name: scons
+ Upload the packages to the SourceForge incoming FTP:
- => Add Release
+ 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
- New release name: 0.{93}
+ Create the new release at the SourceForge project page:
- Cut-and-paste or upload the RELEASE.txt file.
+ Pull down the "Admin" menu and select "File Releases"
- Cut-and-paste or upload the CHANGES.txt file.
+ Package Name: scons
- (If you cut-and-paste, check the "Preserve my
- pre-formatted text." box!)
+ => Add Release
- Click "Submit/Refresh" (IMPORTANT!)
+ New release name: 0.{97}
- Check the SCons files you uploaded
+ Upload the RELEASE.txt file.
- Click "Add Files and/or Refresh View"
+ Upload the CHANGES.txt file.
- Edit the file info:
+ Check the "Preserve my pre-formatted text." box (IMPORTANT!)
- scons-0.{93}-1.noarch.rpm Any .rpm
- scons-0.{93}-1.src.rpm Any Source .rpm
- scons-0.{93}.tar.gz Any .gz
- scons-0.{93}.win32.exe i386 .exe (32-bit Windows)
- scons-0.{93}.zip Any .zip
- scons_0.{93}-1_all.deb Any .deb
+ Click "Submit/Refresh" (IMPORTANT!)
- Click "Update/Refresh" for each file; this must be done
- one at a time.
+ Check the SCons files you uploaded
- Check "I'm sure." and click "Send Notice" in the Email
- Release Notice section.
+ Click "Add Files and/or Refresh View"
+ Edit the file info:
- Go to the Admin page
+ 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
- => Edit/Add File Releases
+ Click "Update/Refresh" for each file; this must be done
+ one at a time.
- Package Name: scons-local
+ Check "I'm sure." and click "Send Notice" in the Email
+ Release Notice section.
- => Add Release
- New release name: 0.{93}
+ Pull down the "Admin" menu and select "File Releases"
- Cut-and-paste or upload the RELEASE.txt file.
+ Package Name: scons-local
- Cut-and-paste or upload the CHANGES.txt file.
+ => Add Release
- (If you cut-and-paste, check the "Preserve my
- pre-formatted text." box!)
+ New release name: 0.{97}
- Click "Submit/Refresh" (IMPORTANT!)
+ Upload the RELEASE.txt file.
- Check the SCons files you uploaded
+ Upload the CHANGES.txt file.
- Click "Add Files and/or Refresh View"
+ Check the "Preserve my pre-formatted text." box (IMPORTANT!)
- Edit the file info:
+ Click "Submit/Refresh" (IMPORTANT!)
- scons-local-0.{93}.tar.gz Any .gz
- scons-local-0.{93}.zip Any .zip
+ Check the SCons files you uploaded
- Click "Update/Refresh" for each file; this must be done
- one at a time.
+ Click "Add Files and/or Refresh View"
- Check "I'm sure." and click "Send Notice" in the Email
- Release Notice section.
+ Edit the file info:
+ scons-local-0.{97}.tar.gz Any .gz
+ scons-local-0.{97}.zip Any .zip
- Go to the Admin page
+ Click "Update/Refresh" for each file; this must be done
+ one at a time.
- => Edit/Add File Releases
+ Check "I'm sure." and click "Send Notice" in the Email
+ Release Notice section.
- Package Name: scons-src
- => Add Release
+ Pull down the "Admin" menu and select "File Releases"
- New release name: 0.{93}
+ Package Name: scons-src
- Cut-and-paste or upload the RELEASE.txt file.
+ => Add Release
- Cut-and-paste or upload the CHANGES.txt file.
+ New release name: 0.{97}
- (If you cut-and-paste, check the "Preserve my
- pre-formatted text." box!)
+ Upload the RELEASE.txt file.
- Click "Submit/Refresh" (IMPORTANT!)
+ Upload the CHANGES.txt file.
- Check the SCons files you uploaded
+ Check the "Preserve my pre-formatted text." box (IMPORTANT!)
- Click "Add Files and/or Refresh View"
+ Click "Submit/Refresh" (IMPORTANT!)
- Edit the file info:
+ Check the SCons files you uploaded
- scons-src-0.{93}.tar.gz Any .gz
- scons-src-0.{93}.zip Any .zip
+ Click "Add Files and/or Refresh View"
- Click "Update/Refresh" for each file; this must be done
- one at a time.
+ Edit the file info:
- Check "I'm sure." and click "Send Notice" in the Email
- Release Notice section.
+ 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.
- Hide release {0.90} at the SourceForge download page:
+ Check "I'm sure." and click "Send Notice" in the Email
+ Release Notice section.
- Go to the Admin page
- => Edit/Add File Releases
+ Hide release 0.{95} at the SourceForge download page:
- Package Name: scons
+ Pull down the "Admin" menu and select "File Releases"
- => Edit Releases
+ Package Name: scons
- Release Name: {0.90}
+ => Edit Releases
- => Edit This Release
+ Release Name: 0.{95}
- Status: => Hidden
+ => Edit This Release
- Click Submit/Refresh
+ Status: => Hidden
+ Click Submit/Refresh
- Go to the Admin page
- => Edit/Add File Releases
+ Pull down the "Admin" menu and select "File Releases"
- Package Name: scons-local
+ Package Name: scons-local
- => Edit Releases
+ => Edit Releases
- Release Name: {0.90}
+ Release Name: 0.{95}
- => Edit This Release
+ => Edit This Release
- Status: => Hidden
+ Status: => Hidden
- Click Submit/Refresh
+ Click Submit/Refresh
- Go to the Admin page
+ Pull down the "Admin" menu and select "File Releases"
- => Edit/Add File Releases
+ Package Name: scons-src
- Package Name: scons-src
+ => Edit Releases
- => Edit Releases
+ Release Name: 0.{95}
- Release Name: {0.90}
+ => Edit This Release
- => Edit This Release
+ Status: => Hidden
- Status: => Hidden
+ Click Submit/Refresh
- Click Submit/Refresh
+ Add a new release for 0.{97} in the Issue Tracker at tigris.org:
- In the Bugs Tracker, add a Group for the new release {0.92}
+ Click "Issue Tracker" on the left-hand nav bar
+ Click "Configuration options"
+ Click "Add/edit components"
- Test downloading from the SourceForge project page
+ Under "scons"
+ To the right of "Add ..."
+ Click "Version"
- You may need to wait a good bit; they seem to update
- this on half-hour cycles.
+ At the bottom of the list click "Add"
+ Fill in the "Version:" box with 0.{97}
+ Check "Add this version to *all* components."
- Update the web site:
+ Click the "Add" button
- template: new version number
- src/index.in: announcement on the home page
- src/scons-doc.tar.gz: update
+ Update the scons.org web site:
- src/CHANGES.txt: update
+ svn co http://scons.tigris.org/svn/scons/scons.org
- Test downloading from the web site download page
+ cd scons.org
+ CHANGES.txt: copy new version from built source tree
+ download.php: new version number
- Add news item to the SourceForge project page
+ 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
- Announce to the following mailing lists (template below):
+ news-raw.xhtml: add announcement to list (dup from home page)
- scons-announce@lists.sourceforge.net
- scons-users@lists.sourceforge.net
- scons-devel@lists.sourceforge.net
+ RELEASE.txt: copy new version from built source tree
- [right away]
+ mkdir doc/0.{97}
- python-announce@python.org
+ (cd doc/0.{97} && tar zxf scons-doc-0.{97}.tar.gz)
- [right away, it's moderated and will take
- some time to get through]
+ svn add doc/0.{97}
- linux-announce@news.ornl.gov
+ svn commit
- [right away, it's moderated and will take
- some time to get through]
+ ssh -l scons manam.pair.com
- [optional] cons-discuss@gnu.org
+ cd public_html
- [only if it's a really big announcement,
- I said we wouldn't bug this list]
+ mkdir new
- python-list@python.org
+ svn co http://scons.tigris.org/svn/scons/scons.org new
- [wait until business hours so the announcement
- hits mailboxes while U.S. workers are active]
+ mv production previous && mv new production
- Notify Gentoo Linux of the update
+ [point your browser to http://www.scons.org/]
- 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/
+ Update the project pages at tigris.org:
- This requires an account (based on your email address)
- and a certain amount of Bugzilla-based navigation,
- but nothing that's too difficult.
+ svn co http://scons.tigris.org/svn/scons/trunk
- 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.
+ cd trunk
- Notify www.cmtoday.com/contribute.html
+ www/project_highlights.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.]
+ www/roadmap.html
- Notify freshmeat.net
+ svn commit
- [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.
+ Test downloading from the SourceForge project page
- # 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
+ You may need to wait a good bit; they seem to update
+ this on half-hour cycles.
- # 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
+ 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.92 contains the following interface changes:
+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 alpha release 0.92 is now available for download.
+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
+ --SK
=======================
Template scons-users + scons-announce announcement:
-Version 0.92 of SCons has been released and is available for download
+Version 0.95 of SCons has been released and is available for download
from the SCons web site:
- http://www.scons.org/
+ http://www.scons.org/
Or through the download link at the SCons project page at SourceForge:
- http://sourceforge.net/projects/scons/
+ 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.
On behalf of the SCons team,
- --SK
+ --SK
=======================
Template python-announce, linux-announce and python-list announcement:
in Python. It is based on the design which won the Software Carpentry
build tool competition in August 2000.
-Version 0.92 of SCons has been released and is available for download
+Version 0.95 of SCons has been released and is available for download
from the SCons web site:
- http://www.scons.org/
+ http://www.scons.org/
Or through the download link at the SCons project page at SourceForge:
- http://sourceforge.net/projects/scons/
+ 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.
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
+ 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
+ http://lists.sourceforge.net/lists/listinfo/scons-announce
ACKNOWLEDGEMENTS
On behalf of the SCons team,
- --SK
+ --SK