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