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 Checkin any changes necessary to make everything work
48 END THE CURRENT DEVELOPMENT BRANCH
68 START THE NEW BRANCH FOR RELEASE
74 Call it something like,
75 "Initialize the new branch for release."
76 Cause = internal_enhancement.
77 Exempt it from all tests (*_exempt = true).
85 # Change the hard-coded package version numbers
86 # in the following files.
93 aecp rpm/scons.spec.in
96 aecp QMTest/TestSCons.py
97 vi QMTest/TestSCons.py
99 # Read through and update the README files if necessary
100 [optional] aecp README
103 [optional] aecp src/README.txt
104 [optional] vi src/README.txt
106 # Prepare src/CHANGES.txt
110 date -R the latest release
112 should be current if this has been updated
113 as each change went in.
115 # Prepare src/RELEASE.txt
119 date -R the latest release
121 Read through and edit appropriately.
123 Can probably keep most of the existing text
125 Add any new known problems
127 # Prepare debian/changelog
128 aecp debian/changelog
131 date -R the latest release
133 # Now build and prepare the release itself.
146 Read through the FAQ for any updates
150 Upload the packages to the SourceForge incoming FTP:
152 ftp upload.sourceforge.net
157 put scons-0.{97}-1.noarch.rpm
158 put scons-0.{97}-1.src.rpm
159 put scons-0.{97}.tar.gz
160 put scons-0.{97}.win32.exe
162 put scons-local-0.{97}.tar.gz
163 put scons-local-0.{97}.zip
164 put scons-src-0.{97}.tar.gz
165 put scons-src-0.{97}.zip
166 put scons_0.{97}-1_all.deb
168 Create the new release at the SourceForge project page:
170 Go to the File Release page
176 New release name: 0.{97}
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.{97}-1.noarch.rpm Any .rpm
194 scons-0.{97}-1.src.rpm Any Source .rpm
195 scons-0.{97}.tar.gz Any .gz
196 scons-0.{97}.win32.exe i386 .exe (32-bit Windows)
197 scons-0.{97}.zip Any .zip
198 scons_0.{97}-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.
207 Go to the File Release page
209 Package Name: scons-local
213 New release name: 0.{97}
215 Cut-and-paste or upload the RELEASE.txt file.
217 Cut-and-paste or upload the CHANGES.txt file.
219 (If you cut-and-paste, check the "Preserve my
220 pre-formatted text." box!)
222 Click "Submit/Refresh" (IMPORTANT!)
224 Check the SCons files you uploaded
226 Click "Add Files and/or Refresh View"
230 scons-local-0.{97}.tar.gz Any .gz
231 scons-local-0.{97}.zip Any .zip
233 Click "Update/Refresh" for each file; this must be done
236 Check "I'm sure." and click "Send Notice" in the Email
237 Release Notice section.
240 Go to the File Release page
242 Package Name: scons-src
246 New release name: 0.{97}
248 Cut-and-paste or upload the RELEASE.txt file.
250 Cut-and-paste or upload the CHANGES.txt file.
252 (If you cut-and-paste, check the "Preserve my
253 pre-formatted text." box!)
255 Click "Submit/Refresh" (IMPORTANT!)
257 Check the SCons files you uploaded
259 Click "Add Files and/or Refresh View"
263 scons-src-0.{97}.tar.gz Any .gz
264 scons-src-0.{97}.zip Any .zip
266 Click "Update/Refresh" for each file; this must be done
269 Check "I'm sure." and click "Send Notice" in the Email
270 Release Notice section.
273 Hide release 0.{95} at the SourceForge download page:
277 => Edit/Add File Releases
294 => Edit/Add File Releases
296 Package Name: scons-local
311 => Edit/Add File Releases
313 Package Name: scons-src
327 In the Bugs Tracker, add a Group for the new release 0.{97}
331 Test downloading from the SourceForge project page
333 You may need to wait a good bit; they seem to update
334 this on half-hour cycles.
340 template: new version number
342 src/doc.py: new version number
344 src/download.py: new version number
346 src/index.py: 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:
443 See the release notes for more information about these changes.
445 This release adds the following features:
449 This release enhances the following existing features:
453 The following fixes have been added:
457 Performance has been improved as follows:
461 The following changes have been made to the SCons packaging:
465 The documentation has been improved:
468 =======================
469 Template scons-devel announcement:
473 SCons beta release 0.95 is now available for download.
475 XXX Template describe-the-release section goes here XXX
477 Special thanks to XXX, XXX, and XXX for their contributions to this
481 =======================
482 Template scons-users + scons-announce announcement:
484 Version 0.95 of SCons has been released and is available for download
485 from the SCons web site:
487 http://www.scons.org/
489 Or through the download link at the SCons project page at SourceForge:
491 http://sourceforge.net/projects/scons/
493 RPM and Debian packages and a Win32 installer are all available, in
494 addition to the traditional .tar.gz and .zip files.
497 WHAT'S NEW IN THIS RELEASE?
499 XXX Template describe-the-release section goes here XXX
504 Special thanks to XXX, XXX, and XXX for their contributions to this
507 On behalf of the SCons team,
510 =======================
511 Template python-announce, linux-announce and python-list announcement:
513 SCons is a software construction tool (build tool, or make tool) written
514 in Python. It is based on the design which won the Software Carpentry
515 build tool competition in August 2000.
517 Version 0.95 of SCons has been released and is available for download
518 from the SCons web site:
520 http://www.scons.org/
522 Or through the download link at the SCons project page at SourceForge:
524 http://sourceforge.net/projects/scons/
526 RPM and Debian packages and a Win32 installer are all available, in
527 addition to the traditional .tar.gz and .zip files.
530 WHAT'S NEW IN THIS RELEASE?
532 XXX Template describe-the-release section goes here XXX
537 Distinctive features of SCons include:
539 - a global view of all dependencies; no multiple passes to get
540 everything built properly
541 - configuration files are Python scripts, allowing the full use of a
542 real scripting language to solve difficult build problems
543 - a modular architecture allows the SCons Build Engine to be
544 embedded in other Python software
545 - the ability to scan files for implicit dependencies (#include files);
546 - improved parallel build (-j) support that provides consistent
547 build speedup regardless of source tree layout
548 - use of MD5 signatures to decide if a file has really changed; no
549 need to "touch" files to fool make that something is up-to-date
550 - easily extensible through user-defined Builder and Scanner objects
551 - build actions can be Python code, as well as external commands
553 An scons-users mailing list is available for those interested in getting
554 started using SCons. You can subscribe at:
556 http://lists.sourceforge.net/lists/listinfo/scons-users
558 Alternatively, we invite you to subscribe to the low-volume
559 scons-announce mailing list to receive notification when new versions of
560 SCons become available:
562 http://lists.sourceforge.net/lists/listinfo/scons-announce
567 Special thanks to XXX, XXX, and XXX for their contributions to this
570 On behalf of the SCons team,