1 This document covers how to prepare major releases of SCons--that is,
2 releases numbered with X.Y format, such as 0.93, 1.0, etc.
4 If you need to prepare a specific subrelease (X.Y.Z, such as 0.94.1),
5 then see the document HOWTO/subrelease.txt.
7 Things to do to release a new X.Y version of SCons:
9 Prepare the describe-the-release section for the announcements
11 summarize changes from src/CHANGES.txt
13 template is below, search for "describe-the-release"
15 send this out for review while you get the rest of the
18 Build and test candidate packages
24 1) tar zxf scons-src-{version}.tar.gz
25 cd scons-src-{version}
28 2) tar zxf scons-{version}.tar.gz
30 python setup.py install
31 cd scons-src-{version}
32 python runtest.py -a -X -x C:\Python20\scons.bat
34 3) scons-{verson}.win32.exe
35 cd scons-src-{version}
36 python runtest.py -a -X -x C:\Python20\scons.bat
38 4) mkdir temporary_directory
39 cd temporary_directory
40 tar zxf scons-local-{version}.tar.gz
41 cd scons-src-{version}
42 python runtest.py -a -x C:\temporary_directory\scons.py
44 Checkin any changes necessary to make everything work
46 END THE CURRENT DEVELOPMENT BRANCH
66 START THE NEW BRANCH FOR RELEASE
72 Call it something like,
73 "Initialize the new branch for release."
74 Cause = internal_enhancement.
75 Exempt it from all tests (*_exempt = true).
83 # Change the hard-coded package version numbers
84 # in the following files.
91 aecp rpm/scons.spec.in
94 aecp src/setupTests.py
97 # Read through and update the README files if necessary
98 [optional] aecp README
101 [optional] aecp src/README.txt
102 [optional] vi src/README.txt
104 # Prepare src/CHANGES.txt
108 date -R the latest release
110 should be current if this has been updated
111 as each change went in.
113 # Prepare src/RELEASE.txt
117 date -R the latest release
119 Read through and edit appropriately.
121 Can probably keep most of the existing text
123 Add any new known problems
125 # Prepare debian/changelog
126 aecp debian/changelog
129 date -R the latest release
131 # Now build and prepare the release itself.
144 Read through the FAQ for any updates
148 Upload the packages to the SourceForge incoming FTP:
150 ftp upload.sourceforge.net
155 put scons-0.{96}-1.noarch.rpm
156 put scons-0.{96}-1.src.rpm
157 put scons-0.{96}.tar.gz
158 put scons-0.{96}.win32.exe
160 put scons-local-0.{96}.tar.gz
161 put scons-local-0.{96}.zip
162 put scons-src-0.{96}.tar.gz
163 put scons-src-0.{96}.zip
164 put scons_0.{96}-1_all.deb
166 Create the new release at the SourceForge project page:
170 => Edit/Add File Releases
176 New release name: 0.{96}
178 Cut-and-paste or upload the RELEASE.txt file.
180 Cut-and-paste or upload the CHANGES.txt file.
182 (If you cut-and-paste, check the "Preserve my
183 pre-formatted text." box!)
185 Click "Submit/Refresh" (IMPORTANT!)
187 Check the SCons files you uploaded
189 Click "Add Files and/or Refresh View"
193 scons-0.{96}-1.noarch.rpm Any .rpm
194 scons-0.{96}-1.src.rpm Any Source .rpm
195 scons-0.{96}.tar.gz Any .gz
196 scons-0.{96}.win32.exe i386 .exe (32-bit Windows)
197 scons-0.{96}.zip Any .zip
198 scons_0.{96}-1_all.deb Any .deb
200 Click "Update/Refresh" for each file; this must be done
203 Check "I'm sure." and click "Send Notice" in the Email
204 Release Notice section.
209 => Edit/Add File Releases
211 Package Name: scons-local
215 New release name: 0.{96}
217 Cut-and-paste or upload the RELEASE.txt file.
219 Cut-and-paste or upload the CHANGES.txt file.
221 (If you cut-and-paste, check the "Preserve my
222 pre-formatted text." box!)
224 Click "Submit/Refresh" (IMPORTANT!)
226 Check the SCons files you uploaded
228 Click "Add Files and/or Refresh View"
232 scons-local-0.{96}.tar.gz Any .gz
233 scons-local-0.{96}.zip Any .zip
235 Click "Update/Refresh" for each file; this must be done
238 Check "I'm sure." and click "Send Notice" in the Email
239 Release Notice section.
244 => Edit/Add File Releases
246 Package Name: scons-src
250 New release name: 0.{96}
252 Cut-and-paste or upload the RELEASE.txt file.
254 Cut-and-paste or upload the CHANGES.txt file.
256 (If you cut-and-paste, check the "Preserve my
257 pre-formatted text." box!)
259 Click "Submit/Refresh" (IMPORTANT!)
261 Check the SCons files you uploaded
263 Click "Add Files and/or Refresh View"
267 scons-src-0.{96}.tar.gz Any .gz
268 scons-src-0.{96}.zip Any .zip
270 Click "Update/Refresh" for each file; this must be done
273 Check "I'm sure." and click "Send Notice" in the Email
274 Release Notice section.
277 Hide release 0.{94} at the SourceForge download page:
281 => Edit/Add File Releases
298 => Edit/Add File Releases
300 Package Name: scons-local
315 => Edit/Add File Releases
317 Package Name: scons-src
331 In the Bugs Tracker, add a Group for the new release 0.{94}
335 Test downloading from the SourceForge project page
337 You may need to wait a good bit; they seem to update
338 this on half-hour cycles.
344 template: new version number
346 src/index.in: announcement on the home page
348 src/scons-doc.tar.gz: update
350 src/CHANGES.txt: update
352 Test downloading from the web site download page
356 Add news item to the SourceForge project page
360 Announce to the following mailing lists (template below):
362 scons-announce@lists.sourceforge.net
363 scons-users@lists.sourceforge.net
364 scons-devel@lists.sourceforge.net
368 python-announce@python.org
370 [right away, it's moderated and will take
371 some time to get through]
373 linux-announce@news.ornl.gov
375 [right away, it's moderated and will take
376 some time to get through]
378 [optional] cons-discuss@gnu.org
380 [only if it's a really big announcement,
381 I said we wouldn't bug this list]
383 python-list@python.org
385 [wait until business hours so the announcement
386 hits mailboxes while U.S. workers are active]
388 Notify Gentoo Linux of the update
390 For now, we will do this by entering a bug report, and
391 attaching the files in build/gentoo to the report. Go
394 http://bugs.gentoo.org/
396 This requires an account (based on your email address)
397 and a certain amount of Bugzilla-based navigation,
398 but nothing that's too difficult.
400 This is just my best stab at a process that will work
401 for Gentoo. This process may change if the Gentoo
402 developers come back and want something submitted in
405 Notify www.cmtoday.com/contribute.html
407 [This guy wants an announcement no more frequently than
408 once a month, so save it for a future release if it's
409 been too soon since the previous one.]
413 [Wait until the morning so the announcement hits the
414 main freshmeat.net page while people in the U.S. are
419 Checkin another change to prepare for development on this branch.
421 # Prep the following files to track the changes
422 # made during the next development cycle
423 aecp src/CHANGES.txt src/RELEASE.txt
424 vi src/CHANGES.txt src/RELEASE.txt
426 # Optionally, update release numbers in the following:
427 [optional] aecp HOWTO/change.txt
428 [optional] vi HOWTO/change.txt
430 [optional] aecp HOWTO/release.txt
431 [optional] vi HOWTO/release.txt
436 =======================
437 Template describe-the-release section:
439 IMPORTANT: Release 0.95 contains the following interface changes:
442 See the release notes for more information about these changes.
444 This release adds the following features:
447 The following fixes have been added:
450 Performance has been improved as follows:
453 The following changes have been made to the SCons packaging:
456 The documentation has been improved:
458 =======================
459 Template scons-devel announcement:
463 SCons beta release 0.95 is now available for download.
465 XXX Template describe-the-release section goes here XXX
467 Special thanks to XXX, XXX, and XXX for their contributions to this
471 =======================
472 Template scons-users + scons-announce announcement:
474 Version 0.95 of SCons has been released and is available for download
475 from the SCons web site:
477 http://www.scons.org/
479 Or through the download link at the SCons project page at SourceForge:
481 http://sourceforge.net/projects/scons/
483 RPM and Debian packages and a Win32 installer are all available, in
484 addition to the traditional .tar.gz and .zip files.
487 WHAT'S NEW IN THIS RELEASE?
489 XXX Template describe-the-release section goes here XXX
494 Special thanks to XXX, XXX, and XXX for their contributions to this
497 On behalf of the SCons team,
500 =======================
501 Template python-announce, linux-announce and python-list announcement:
503 SCons is a software construction tool (build tool, or make tool) written
504 in Python. It is based on the design which won the Software Carpentry
505 build tool competition in August 2000.
507 Version 0.95 of SCons has been released and is available for download
508 from the SCons web site:
510 http://www.scons.org/
512 Or through the download link at the SCons project page at SourceForge:
514 http://sourceforge.net/projects/scons/
516 RPM and Debian packages and a Win32 installer are all available, in
517 addition to the traditional .tar.gz and .zip files.
520 WHAT'S NEW IN THIS RELEASE?
522 XXX Template describe-the-release section goes here XXX
527 Distinctive features of SCons include:
529 - a global view of all dependencies; no multiple passes to get
530 everything built properly
531 - configuration files are Python scripts, allowing the full use of a
532 real scripting language to solve difficult build problems
533 - a modular architecture allows the SCons Build Engine to be
534 embedded in other Python software
535 - the ability to scan files for implicit dependencies (#include files);
536 - improved parallel build (-j) support that provides consistent
537 build speedup regardless of source tree layout
538 - use of MD5 signatures to decide if a file has really changed; no
539 need to "touch" files to fool make that something is up-to-date
540 - easily extensible through user-defined Builder and Scanner objects
541 - build actions can be Python code, as well as external commands
543 An scons-users mailing list is available for those interested in getting
544 started using SCons. You can subscribe at:
546 http://lists.sourceforge.net/lists/listinfo/scons-users
548 Alternatively, we invite you to subscribe to the low-volume
549 scons-announce mailing list to receive notification when new versions of
550 SCons become available:
552 http://lists.sourceforge.net/lists/listinfo/scons-announce
557 Special thanks to XXX, XXX, and XXX for their contributions to this
560 On behalf of the SCons team,