Initialize the new branch.
[scons.git] / HOWTO / release.txt
1 Things to do to release a new version of SCons:
2
3         Prepare the describe-the-release section for the announcements
4
5                 summarize changes from src/CHANGES.txt
6
7                 template is below, search for "describe-the-release"
8
9                 send this out for review while you get the rest of the
10                 release ready!
11
12         Build and test candidate packages
13
14                 test on Linux
15
16                 test on Windows NT
17
18                         1) tar zxf scons-src-{version}.tar.gz
19                            cd scons-src-{version}
20                            python runtest.py -a
21
22                         2) tar zxf scons-{version}.tar.gz
23                            cd scons-{version}
24                            python setup.py install
25                            cd scons-src-{version}
26                            python runtest.py -a -X -x C:\Python20\scons.bat
27
28                         3) scons-{verson}.win32.exe
29                            cd scons-src-{version}
30                            python runtest.py -a -X -x C:\Python20\scons.bat
31
32                         4) mkdir temporary_directory
33                            cd temporary_directory
34                            tar zxf scons-local-{version}.tar.gz
35                            cd scons-src-{version}
36                            python runtest.py -a -x C:\temporary_directory\scons.py
37
38
39         Read through the README and src/README.txt files for any updates
40
41         Prepare src/CHANGES.txt
42
43                 date -R the latest release
44
45                 should be current if this has been updated as each
46                 change went in.
47
48         Prepare src/RELEASE.txt
49
50                 date -R the latest release
51
52                 Read through to make sure it's okay and edit appropriately.
53
54                 Can probably keep most of the existing text
55
56                 Add any new known problems
57
58         Prepare debian/changelog
59
60                 date -R the latest release
61
62
63
64         END THE BRANCH
65
66                 ae_p scons.0
67
68                 aede {14}
69
70                 aerpass {14}
71
72                 aeib {14}
73
74                 aeb
75
76                 aet
77
78                 aet -reg
79
80                 aed
81
82                 aeipass
83
84
85
86         Read through the FAQ for any updates
87
88
89
90         Upload the packages to the SourceForge incoming FTP:
91
92                 ftp upload.sourceforge.net
93                 anonymous
94                 <your email>
95                 cd incoming
96                 bin
97                 put scons-0.14-1.noarch.rpm
98                 put scons-0.14-1.src.rpm
99                 put scons-0.14.tar.gz
100                 put scons-0.14.win32.exe
101                 put scons-0.14.zip
102                 put scons-local-0.14.tar.gz
103                 put scons-local-0.14.zip
104                 put scons-src-0.14.tar.gz
105                 put scons-src-0.14.zip
106                 put scons_0.14-1_all.deb
107
108         Create the new release at the SourceForge project page:
109
110                 Go to the Admin page
111
112                 => Edit/Add File Releases
113
114                 Package Name:  scons
115
116                 => Add Release
117
118                 New release name:  0.14
119
120                 Cut-and-paste or upload the RELEASE.txt file.
121
122                 Cut-and-paste or upload the CHANGES.txt file.
123
124                 (If you cut-and-paste, check the "Preserve my
125                 pre-formatted text." box!)
126
127                 Click "Submit/Refresh"  (IMPORTANT!)
128
129                 Check the SCons files you uploaded
130
131                 Click "Add Files and/or Refresh View"
132
133                 Edit the file info:
134
135                         scons-0.14-1.noarch.rpm         Any     .rpm
136                         scons-0.14-1.src.rpm            Any     Source .rpm
137                         scons-0.14.tar.gz               Any     .gz
138                         scons-0.14.win32.exe            i386    .exe (32-bit Windows)
139                         scons-0.14.zip                  Any     .zip
140                         scons_0.14-1_all.deb            Any     .deb
141
142                 Click "Update/Refresh" for each file; this must be done
143                 one at a time.
144
145                 Check "I'm sure." and click "Send Notice" in the Email
146                 Release Notice section.
147
148
149                 Go to the Admin page
150
151                 => Edit/Add File Releases
152
153                 Package Name:  scons-local
154
155                 => Add Release
156
157                 New release name:  0.14
158
159                 Cut-and-paste or upload the RELEASE.txt file.
160
161                 Cut-and-paste or upload the CHANGES.txt file.
162
163                 (If you cut-and-paste, check the "Preserve my
164                 pre-formatted text." box!)
165
166                 Click "Submit/Refresh"  (IMPORTANT!)
167
168                 Check the SCons files you uploaded
169
170                 Click "Add Files and/or Refresh View"
171
172                 Edit the file info:
173
174                         scons-local-0.14.tar.gz         Any     .gz
175                         scons-local-0.14.zip            Any     .zip
176
177                 Click "Update/Refresh" for each file; this must be done
178                 one at a time.
179
180                 Check "I'm sure." and click "Send Notice" in the Email
181                 Release Notice section.
182
183
184                 Go to the Admin page
185
186                 => Edit/Add File Releases
187
188                 Package Name:  scons-src
189
190                 => Add Release
191
192                 New release name:  0.14
193
194                 Cut-and-paste or upload the RELEASE.txt file.
195
196                 Cut-and-paste or upload the CHANGES.txt file.
197
198                 (If you cut-and-paste, check the "Preserve my
199                 pre-formatted text." box!)
200
201                 Click "Submit/Refresh"  (IMPORTANT!)
202
203                 Check the SCons files you uploaded
204
205                 Click "Add Files and/or Refresh View"
206
207                 Edit the file info:
208
209                         scons-src-0.14.tar.gz           Any     .gz
210                         scons-src-0.14.zip              Any     .zip
211
212                 Click "Update/Refresh" for each file; this must be done
213                 one at a time.
214
215                 Check "I'm sure." and click "Send Notice" in the Email
216                 Release Notice section.
217
218
219         Hide release {0.10} 2 at the SourceForge download page:
220
221                 Go to the Admin page
222
223                 => Edit/Add File Releases
224
225                 Package Name:  scons
226
227                 => Edit Releases
228
229                 Release Name: {0.10}
230
231                 => Edit This Release
232
233                 Status: => Hidden
234
235                 Click Submit/Refresh
236
237
238                 Go to the Admin page
239
240                 => Edit/Add File Releases
241
242                 Package Name:  scons-local
243
244                 => Edit Releases
245
246                 Release Name: {0.10}
247
248                 => Edit This Release
249
250                 Status: => Hidden
251
252                 Click Submit/Refresh
253
254
255                 Go to the Admin page
256
257                 => Edit/Add File Releases
258
259                 Package Name:  scons-src
260
261                 => Edit Releases
262
263                 Release Name: {0.10}
264
265                 => Edit This Release
266
267                 Status: => Hidden
268
269                 Click Submit/Refresh
270
271
272
273         In the Bugs Tracker, add a Group for the new release (0.14)
274
275
276
277         Test downloading from the SourceForge project page
278
279                 You may need to wait a good bit; they seem to update
280                 this on half-hour cycles.
281
282
283
284         Update the web site:
285
286                 template:  new version number
287
288                 src/index.in:  announcement on the home page
289
290                 src/scons-doc.tar.gz:  update
291
292                 src/CHANGES.txt:  update
293
294         Test downloading from the web site download page
295
296
297
298         Add news item to the SourceForge project page
299
300
301
302         Announce to the following mailing lists (template below):
303
304                 scons-announce@lists.sourceforge.net
305                 scons-users@lists.sourceforge.net
306                 scons-devel@lists.sourceforge.net
307
308                         [right away]
309
310                 python-announce@python.org
311
312                         [right away, it's moderated and will take
313                         some time to get through]
314
315                 linux-announce@news.ornl.gov
316
317                         [right away, it's moderated and will take
318                         some time to get through]
319
320                 [optional] cons-discuss@gnu.org
321
322                         [only if it's a really big announcement,
323                         I said we wouldn't bug this list]
324
325                 python-list@python.org
326
327                         [wait until business hours so the announcement
328                         hits mailboxes while U.S. workers are active]
329
330         Notify www.cmtoday.com/contribute.html
331
332                 [This guy wants an announcement no more frequently than
333                 once a month, so save it for a future release if it's
334                 been too soon since the previous one.]
335
336         Notify freshmeat.net
337
338                 [Wait until the morning so the announcement hits the
339                 main freshmeat.net page while people in the U.S. are
340                 awake and working]
341
342
343
344         START THE NEW BRANCH
345
346                 aenbr -p scons.0 {14}
347
348                 aenc -p scons.0.{14}
349
350                         Call it something like, "Initialize the new
351                         branch."  Cause = internal_enhancement.  Exempt
352                         it from all tests (*_exempt = true).
353
354                 ae_p scons.0.{14}
355
356                 aedb 100
357
358                 aecd
359
360                 # Change the hard-coded package version numbers
361                 # in the following files.
362                 aecp README SConstruct debian/changelog rpm/scons.spec.in src/setupTests.py
363                 vi README SConstruct debian/changelog rpm/scons.spec.in src/setupTests.py
364
365                 # Optionally, do the same in the following:
366                 [optional] aecp HOWTO/change.txt
367                 [optional] aecp HOWTO/release.txt
368
369                 [optional] vi HOWTO/change.txt
370                 [optional] vi HOWTO/release.txt
371
372                 # Prep the following files to track the changes
373                 # made during the next development cycle
374                 aecp src/CHANGES.txt src/RELEASE.txt
375                 vi src/CHANGES.txt src/RELEASE.txt
376
377                 aeb
378
379                 aet -reg
380
381                 aed
382
383                 aede
384
385                 etc.
386
387
388
389
390 =======================
391 Template describe-the-release section:
392
393 IMPORTANT:  Release 0.14 contains the following interface changes:
394   - XXX
395
396   See the release notes for more information about these changes.
397
398 This release adds the following features:
399   - XXX
400
401 The following fixes have been added:
402   - XXX
403
404 Performance has been improved as follows:
405   - XXX
406
407 The following changes have been made to the SCons packaging:
408   - XXX
409
410 The documentation has been improved:
411   - XXX
412 =======================
413 Template scons-devel announcement:
414
415 SConspirators--
416
417 SCons alpha release 0.14 is now available for download.
418
419 XXX Template describe-the-release section goes here XXX
420
421 Special thanks to XXX, XXX, and XXX for their contributions to this
422 release.
423
424         --SK
425 =======================
426 Template scons-users + scons-announce announcement:
427
428 Version 0.14 of SCons has been released and is available for download
429 from the SCons web site:
430
431         http://www.scons.org/
432
433 Or through the download link at the SCons project page at SourceForge:
434
435         http://sourceforge.net/projects/scons/
436
437 RPM and Debian packages and a Win32 installer are all available, in
438 addition to the traditional .tar.gz and .zip files.
439
440
441 WHAT'S NEW IN THIS RELEASE?
442
443 XXX Template describe-the-release section goes here XXX
444
445
446 ACKNOWLEDGEMENTS
447
448 Special thanks to XXX, XXX, and XXX for their contributions to this
449 release.
450
451 On behalf of the SCons team,
452
453         --SK
454 =======================
455 Template python-announce, linux-announce and python-list announcement:
456
457 SCons is a software construction tool (build tool, or make tool) written
458 in Python.  It is based on the design which won the Software Carpentry
459 build tool competition in August 2000.
460
461 Version 0.14 of SCons has been released and is available for download
462 from the SCons web site:
463
464         http://www.scons.org/
465
466 Or through the download link at the SCons project page at SourceForge:
467
468         http://sourceforge.net/projects/scons/
469
470 RPM and Debian packages and a Win32 installer are all available, in
471 addition to the traditional .tar.gz and .zip files.
472
473
474 WHAT'S NEW IN THIS RELEASE?
475
476 XXX Template describe-the-release section goes here XXX
477
478
479 ABOUT SCONS
480
481 Distinctive features of SCons include:
482
483   - a global view of all dependencies; no multiple passes to get
484     everything built properly
485   - configuration files are Python scripts, allowing the full use of a
486     real scripting language to solve difficult build problems
487   - a modular architecture allows the SCons Build Engine to be
488     embedded in other Python software
489   - the ability to scan files for implicit dependencies (#include files);
490   - improved parallel build (-j) support that provides consistent
491     build speedup regardless of source tree layout
492   - use of MD5 signatures to decide if a file has really changed; no
493     need to "touch" files to fool make that something is up-to-date
494   - easily extensible through user-defined Builder and Scanner objects
495   - build actions can be Python code, as well as external commands
496
497 An scons-users mailing list is available for those interested in getting
498 started using SCons.  You can subscribe at:
499
500         http://lists.sourceforge.net/lists/listinfo/scons-users
501
502 Alternatively, we invite you to subscribe to the low-volume
503 scons-announce mailing list to receive notification when new versions of
504 SCons become available:
505
506         http://lists.sourceforge.net/lists/listinfo/scons-announce
507
508
509 ACKNOWLEDGEMENTS
510
511 Special thanks to XXX, XXX, and XXX for their contributions to this
512 release.
513
514 On behalf of the SCons team,
515
516         --SK