3 This document covers how to prepare major releases of SCons--that is,
4 releases numbered with X.Y format, such as 0.93, 1.0, etc.
6 If you need to prepare a specific subrelease (X.Y.Z, such as 0.94.1),
7 then see the document HOWTO/subrelease.txt.
9 Things to do to release a new X.Y version of SCons:
11 Prepare the describe-the-release section for the announcements
13 summarize changes from src/CHANGES.txt
15 template is below, search for "describe-the-release"
17 send this out for review while you get the rest of the
20 Build and test candidate packages
26 1) tar zxf scons-src-{version}.tar.gz
27 cd scons-src-{version}
30 2) tar zxf scons-{version}.tar.gz
32 python setup.py install
33 cd scons-src-{version}
34 python runtest.py -a -X -x C:\Python20\scons.bat
36 3) scons-{verson}.win32.exe
37 cd scons-src-{version}
38 python runtest.py -a -X -x C:\Python20\scons.bat
40 4) mkdir temporary_directory
41 cd temporary_directory
42 tar zxf scons-local-{version}.tar.gz
43 cd scons-src-{version}
44 python runtest.py -a -x C:\temporary_directory\scons.py
46 Check in any changes necessary to make everything work
48 Update the user's guide
54 END THE CURRENT DEVELOPMENT BRANCH
74 START THE NEW BRANCH FOR RELEASE
80 Call it something like,
81 "Initialize the new branch for release."
82 Cause = internal_enhancement.
83 Exempt it from all tests (*_exempt = true).
91 # Change the hard-coded package version numbers
92 # in the following files.
99 aecp rpm/scons.spec.in
102 aecp QMTest/TestSCons.py
103 vi QMTest/TestSCons.py
108 # Read through and update the README files if necessary
109 [optional] aecp README
112 [optional] aecp src/README.txt
113 [optional] vi src/README.txt
115 # Prepare src/CHANGES.txt
119 date -R the latest release
121 should be current if this has been updated
122 as each change went in.
124 # Prepare src/RELEASE.txt
128 date -R the latest release
130 Read through and edit appropriately.
132 Can probably keep most of the existing text
134 Add any new known problems
136 # Prepare debian/changelog
137 aecp debian/changelog
140 date -R the latest release
142 # Now build and prepare the release itself.
155 Read through the FAQ for any updates
159 Upload the packages to the SourceForge incoming FTP:
161 ftp upload.sourceforge.net
166 put scons-0.{97}-1.noarch.rpm
167 put scons-0.{97}-1.src.rpm
168 put scons-0.{97}.tar.gz
169 put scons-0.{97}.win32.exe
171 put scons-local-0.{97}.tar.gz
172 put scons-local-0.{97}.zip
173 put scons-src-0.{97}.tar.gz
174 put scons-src-0.{97}.zip
175 put scons_0.{97}-1_all.deb
177 Create the new release at the SourceForge project page:
179 Pull down the "Admin" menu and select "File Releases"
185 New release name: 0.{97}
187 Upload the RELEASE.txt file.
189 Upload the CHANGES.txt file.
191 Check the "Preserve my pre-formatted text." box (IMPORTANT!)
193 Click "Submit/Refresh" (IMPORTANT!)
195 Check the SCons files you uploaded
197 Click "Add Files and/or Refresh View"
201 scons-0.{97}-1.noarch.rpm Any .rpm
202 scons-0.{97}-1.src.rpm Any Source .rpm
203 scons-0.{97}.tar.gz Any .gz
204 scons-0.{97}.win32.exe i386 .exe (32-bit Windows)
205 scons-0.{97}.zip Any .zip
206 scons_0.{97}-1_all.deb Any .deb
208 Click "Update/Refresh" for each file; this must be done
211 Check "I'm sure." and click "Send Notice" in the Email
212 Release Notice section.
215 Pull down the "Admin" menu and select "File Releases"
217 Package Name: scons-local
221 New release name: 0.{97}
223 Upload the RELEASE.txt file.
225 Upload the CHANGES.txt file.
227 Check the "Preserve my pre-formatted text." box (IMPORTANT!)
229 Click "Submit/Refresh" (IMPORTANT!)
231 Check the SCons files you uploaded
233 Click "Add Files and/or Refresh View"
237 scons-local-0.{97}.tar.gz Any .gz
238 scons-local-0.{97}.zip Any .zip
240 Click "Update/Refresh" for each file; this must be done
243 Check "I'm sure." and click "Send Notice" in the Email
244 Release Notice section.
247 Pull down the "Admin" menu and select "File Releases"
249 Package Name: scons-src
253 New release name: 0.{97}
255 Upload the RELEASE.txt file.
257 Upload the CHANGES.txt file.
259 Check the "Preserve my pre-formatted text." box (IMPORTANT!)
261 Click "Submit/Refresh" (IMPORTANT!)
263 Check the SCons files you uploaded
265 Click "Add Files and/or Refresh View"
269 scons-src-0.{97}.tar.gz Any .gz
270 scons-src-0.{97}.zip Any .zip
272 Click "Update/Refresh" for each file; this must be done
275 Check "I'm sure." and click "Send Notice" in the Email
276 Release Notice section.
279 Hide release 0.{95} at the SourceForge download page:
281 Pull down the "Admin" menu and select "File Releases"
296 Pull down the "Admin" menu and select "File Releases"
298 Package Name: scons-local
311 Pull down the "Admin" menu and select "File Releases"
313 Package Name: scons-src
327 Add a new release for 0.{97} in the Issue Tracker at tigris.org:
329 Click "Issue Tracker" on the left-hand nav bar
331 Click "Configuration options"
333 Click "Add/edit components"
336 To the right of "Add ..."
339 At the bottom of the list click "Add"
341 Fill in the "Version:" box with 0.{97}
343 Check "Add this version to *all* components."
345 Click the "Add" button
349 Update the scons.org web site:
351 svn co http://scons.tigris.org/svn/scons/scons.org
355 CHANGES.txt: copy new version from built source tree
357 download.php: new version number
359 includes/templates.php:
360 update $latestrelease
362 includes/versions.php:
363 update $stablerelease and/or $latestrelease
364 add new version number to $docversions[],
365 IMPORTANT: SHIFT $docversions[] INDEX NUMBERS :-(
367 index.php: announcement on the home page
368 remove out-of-date announcements
370 news-raw.xhtml: add announcement to list (dup from home page)
372 RELEASE.txt: copy new version from built source tree
376 (cd doc/0.{97} && tar zxf scons-doc-0.{97}.tar.gz)
382 ssh -l scons manam.pair.com
388 svn co http://scons.tigris.org/svn/scons/scons.org new
390 mv production previous && mv new production
392 [point your browser to http://www.scons.org/]
395 Update the project pages at tigris.org:
397 svn co http://scons.tigris.org/svn/scons/trunk
401 www/project_highlights.html
410 Test downloading from the SourceForge project page
412 You may need to wait a good bit; they seem to update
413 this on half-hour cycles.
416 Test downloading from the web site download page
420 Add news item to the SourceForge project page
422 Pull down "Project => News"
426 Fill in the "Subject:" box
428 Cut-and-paste the announcement text into the "Details:" box
434 Add news item to the tigris.org project page
436 Click "Announcements"
438 Click "Add new announcement"
440 Double-check the date (probably already set)
442 Fill in the "Headline" box
444 Fill in the "Body" box (probably short)
446 Click "Add new announcement"
450 Announce to the following mailing lists (template below):
452 scons-announce@lists.sourceforge.net
453 scons-users@lists.sourceforge.net
454 scons-devel@lists.sourceforge.net
458 python-announce@python.org
460 [right away, it's moderated and will take
461 some time to get through]
463 linux-announce@news.ornl.gov
465 [right away, it's moderated and will take
466 some time to get through]
468 [optional] cons-discuss@gnu.org
470 [only if it's a really big announcement,
471 I said we wouldn't bug this list]
473 python-list@python.org
475 [wait until business hours so the announcement
476 hits mailboxes while U.S. workers are active]
478 Notify Gentoo Linux of the update
480 For now, we will do this by entering a bug report, and
481 attaching the files in build/gentoo to the report. Go
484 http://bugs.gentoo.org/
486 This requires an account (based on your email address)
487 and a certain amount of Bugzilla-based navigation,
488 but nothing that's too difficult.
490 This is just my best stab at a process that will work
491 for Gentoo. This process may change if the Gentoo
492 developers come back and want something submitted in
495 Notify www.cmtoday.com/contribute.html
497 [This guy wants an announcement no more frequently than
498 once a month, so save it for a future release if it's
499 been too soon since the previous one.]
503 [Wait until the morning so the announcement hits the
504 main freshmeat.net page while people in the U.S. are
509 Checkin another change to prepare for development on this branch.
511 # Prep the following files to track the changes
512 # made during the next development cycle
513 aecp src/CHANGES.txt src/RELEASE.txt
514 vi src/CHANGES.txt src/RELEASE.txt
516 # Optionally, update release numbers in the following:
517 [optional] aecp HOWTO/change.txt
518 [optional] vi HOWTO/change.txt
520 [optional] aecp HOWTO/release.txt
521 [optional] vi HOWTO/release.txt
526 =======================
527 Template describe-the-release section:
529 IMPORTANT: Release 0.95 contains the following interface changes:
533 See the release notes for more information about these changes.
535 This release adds the following features:
539 This release enhances the following existing features:
543 The following fixes have been added:
547 Performance has been improved as follows:
551 The following changes have been made to the SCons packaging:
555 The documentation has been improved:
558 =======================
559 Template scons-devel announcement:
563 SCons beta release 0.95 is now available for download.
565 XXX Template describe-the-release section goes here XXX
567 Special thanks to XXX, XXX, and XXX for their contributions to this
571 =======================
572 Template scons-users + scons-announce announcement:
574 Version 0.95 of SCons has been released and is available for download
575 from the SCons web site:
577 http://www.scons.org/
579 Or through the download link at the SCons project page at SourceForge:
581 http://sourceforge.net/projects/scons/
583 RPM and Debian packages and a Win32 installer are all available, in
584 addition to the traditional .tar.gz and .zip files.
587 WHAT'S NEW IN THIS RELEASE?
589 XXX Template describe-the-release section goes here XXX
594 Special thanks to XXX, XXX, and XXX for their contributions to this
597 On behalf of the SCons team,
600 =======================
601 Template python-announce, linux-announce and python-list announcement:
603 SCons is a software construction tool (build tool, or make tool) written
604 in Python. It is based on the design which won the Software Carpentry
605 build tool competition in August 2000.
607 Version 0.95 of SCons has been released and is available for download
608 from the SCons web site:
610 http://www.scons.org/
612 Or through the download link at the SCons project page at SourceForge:
614 http://sourceforge.net/projects/scons/
616 RPM and Debian packages and a Win32 installer are all available, in
617 addition to the traditional .tar.gz and .zip files.
620 WHAT'S NEW IN THIS RELEASE?
622 XXX Template describe-the-release section goes here XXX
627 Distinctive features of SCons include:
629 - a global view of all dependencies; no multiple passes to get
630 everything built properly
631 - configuration files are Python scripts, allowing the full use of a
632 real scripting language to solve difficult build problems
633 - a modular architecture allows the SCons Build Engine to be
634 embedded in other Python software
635 - the ability to scan files for implicit dependencies (#include files);
636 - improved parallel build (-j) support that provides consistent
637 build speedup regardless of source tree layout
638 - use of MD5 signatures to decide if a file has really changed; no
639 need to "touch" files to fool make that something is up-to-date
640 - easily extensible through user-defined Builder and Scanner objects
641 - build actions can be Python code, as well as external commands
643 An scons-users mailing list is available for those interested in getting
644 started using SCons. You can subscribe at:
646 http://lists.sourceforge.net/lists/listinfo/scons-users
648 Alternatively, we invite you to subscribe to the low-volume
649 scons-announce mailing list to receive notification when new versions of
650 SCons become available:
652 http://lists.sourceforge.net/lists/listinfo/scons-announce
657 Special thanks to XXX, XXX, and XXX for their contributions to this
660 On behalf of the SCons team,