[26817] branches/release_1_5/base

source_changes at macosforge.org source_changes at macosforge.org
Mon Jul 9 00:45:32 PDT 2007


Revision: 26817
          http://trac.macosforge.org/projects/macports/changeset/26817
Author:   jmpp at macports.org
Date:     2007-07-09 00:45:31 -0700 (Mon, 09 Jul 2007)

Log Message:
-----------
Merged revisions 26611-26638,26640-26642,26644-26654,26656-26681,26683-26692,26695-26708,26712-26718,26720,26724-26729,26732-26736,26738-26743,26745-26752,26754-26764,26766-26803,26805,26807-26812,26814-26816 via svnmerge from 
http://svn.macports.org/repository/macports/trunk/base

........
  r26809 | jmpp at macports.org | 2007-07-09 02:57:47 -0400 (Mon, 09 Jul 2007) | 1 line
  
  Remove left over comments from the upgrade target pending notes... long since there were any remaining pendings.
........
  r26811 | jmpp at macports.org | 2007-07-09 03:27:37 -0400 (Mon, 09 Jul 2007) | 1 line
  
  Correct an output comment and run group the commands with { }, not ( ) which makes them run in a subshell.
........
  r26812 | jmpp at macports.org | 2007-07-09 03:29:08 -0400 (Mon, 09 Jul 2007) | 1 line
  
  Reformat the ReleaseProcess file for easier reading in a terminal, with some minor grammar corrections here and there.
........
  r26814 | jmpp at macports.org | 2007-07-09 03:36:54 -0400 (Mon, 09 Jul 2007) | 1 line
  
  Provide the file with some svn properties.
........

Modified Paths:
--------------
    branches/release_1_5/base/Makefile.in
    branches/release_1_5/base/portmgr/ReleaseProcess

Property Changed:
----------------
    branches/release_1_5/base/
    branches/release_1_5/base/portmgr/ReleaseProcess


Property changes on: branches/release_1_5/base
___________________________________________________________________
Name: svnmerge-integrated
   - /trunk/base:1-26609,26611-26654,26656-26681,26683-26692,26695-26743,26745-26802
   + /trunk/base:1-26609,26611-26654,26656-26681,26683-26692,26695-26743,26745-26803,26805,26807-26812,26814-26816

Modified: branches/release_1_5/base/Makefile.in
===================================================================
--- branches/release_1_5/base/Makefile.in	2007-07-09 07:42:47 UTC (rev 26816)
+++ branches/release_1_5/base/Makefile.in	2007-07-09 07:45:31 UTC (rev 26817)
@@ -143,13 +143,6 @@
 	@[ -f ${UPGRADECHECK} ] || { echo ""; echo "MacPorts installation successfully upgraded from the old DarwinPorts namespace!"; echo ""; \
 	echo "MacPorts rename update done!" > ${UPGRADECHECK} ; }
 
-####
-# NOTES:
-#    -) should we use the ${DESTDIR} sandbox?
-#    -) should we force moves?
-#    -) maybe I can regroup at least some of the sed calls?
-#    -) 
-####
 
 install:: upgrade
 
@@ -182,7 +175,7 @@
 
 # This target fetches a tagged distribution from svn, and generates tarballs and checksums for it
 distfromsvn:
-	@[ -n "${DISTVER}" ] || ( echo Must specify DISTVER, like: make DISTVER=1.4.0 dist; exit 1 )
+	@[ -n "${DISTVER}" ] || { echo Must specify DISTVER, like: make DISTVER=1.4.0 distfromsvn; exit 1; }
 	[ -d ${DISTDIR} ] || mkdir ${DISTDIR}
 	rm -f ${DISTDIR}/${DISTNAME}.chk.txt
 	${MAKE} SVNTAG=${DISTTAG}/base/ PKGNAME=${DISTNAME} _dopkg

Modified: branches/release_1_5/base/portmgr/ReleaseProcess
===================================================================
--- branches/release_1_5/base/portmgr/ReleaseProcess	2007-07-09 07:42:47 UTC (rev 26816)
+++ branches/release_1_5/base/portmgr/ReleaseProcess	2007-07-09 07:45:31 UTC (rev 26817)
@@ -1,44 +1,51 @@
 
-== MacPorts Release Process ==
+= MacPorts Release Process =
 
-This page documents the evolving MacPorts release process.
+This file documents the evolving MacPorts release process.
+$Id$
 
 
 == Goals of a Release ==
 
 There are several goals in the release process:
 
-* Make a specific version of MacPorts available to users.
-* Archive the materials (code, documentation, etc) that compose the release.
-* Replicatability: Enable the release to be regenerated.
-* Consistency: codify naming, network locations, etc, for released components.
-* Ensure that the user base and public is notified of the release.
+ * Make a specific version of MacPorts available to users.
+ * Archive the materials (code, documentation, etc) that compose the release.
+ * Replicatability: enable the release to be regenerated.
+ * Consistency: codify naming, network locations, etc, for released components.
+ * Ensure that the user base and public is notified of the release.
 
 
 == Steps to a Release ==
 
 The following steps to a release are documented in more detail below:
 
-* Create an svn branch to carry the release.
-* Prepare the code for release.
-* Tag the release.
-* Create release products: tarballs and dmgs.
-* Post release products.
-* Make release version available through selfupdate.
-* Notify public of the release.
+ * Create an svn branch to carry the release.
+ * Prepare the code for release.
+ * Tag the release.
+ * Create release products: tarballs and dmgs.
+ * Post release products.
+ * Make release version available through selfupdate.
+ * Notify public of the release.
 
 
 === Create a Release Branch ===
 
-For each major release (i.e. 1.3.x, 1.4.x, etc.) an appropriate branch is created with a consistent name. To do this, two things are required:
+For each major release (i.e. 1.3.x, 1.4.x, etc.) an appropriate branch is created with a
+consistent name. To do this, two things are required:
 
-* Choose the svn revision from which to create the branch, most likely based off trunk.
-* Create the branch (e.g. release_1_4) through the svn "copy" command for history preservation, first creating the needed branch dir to preserve the needed directory structure (the 'base' directory level *needs* to exist int the branches tree for release branches, otherwise selfupdate breaks):
+ * Choose the svn revision from which to create the branch, most likely based off trunk.
+ * Create the branch (e.g. release_1_4) through the svn "copy" command for history preservation,
+   first creating the needed branch directory to preserve the required directory structure
+   (the 'base' directory level *needs* to exist in each release branch, otherwise selfupdate breaks):
 
  svn mkdir -m "commit-message" http://svn.macports.org/repository/macports/branches/release_1_4
- svn cp [-r<rev>] -m "commit-message" http://svn.macports.org/repository/macports/trunk/base http://svn.macports.org/repository/macports/branches/release_1_4
+ svn cp [-r<rev>] -m "commit-message" http://svn.macports.org/repository/macports/trunk/base \
+     http://svn.macports.org/repository/macports/branches/release_1_4
 
-The actual release, alpha or beta releases, release candidates, and any point releases will all live on this branch, and tagged appropriately and if necessary (a must for the actual releases, optional for beta snapshots) into the /tags svn directory.
+The actual release, alpha or beta releases, release candidates, and any point releases will all
+live on this branch, and tagged appropriately and if necessary (a must for the actual releases,
+optional for beta snapshots) into the /tags svn directory.
 
 Only the base subdirectory, not the ports subdirectory, is branched for a given release.
 
@@ -47,31 +54,46 @@
 
 In preparation for a release, several things should be completed within the code:
 
-* Update the file base/ChangeLog in both trunk and the relase branch to reflect the appropriate changes.
-* Update the file base/config/mp_version with the target release number. Note that this is a floating point number that corresponds to the release number; it should correspond roughly to the release number where possible. Release 1.4.1, for instance, would be represented by the floating point number 1.41. The version number in mp_version is displayed by the port command as the version of MacPorts, and is used by the selfupdate command to determine whether a newer version of code is available. This number should be different between trunk and a release branch and the former should be updated as needed to differentiate it from the latter.
-* Make sure that these, and any other changes or bug fixes are made on and/or merged between the release branch and trunk as needded. For instance, if you've made changes to ChangeLog only on the release branch, those changes should be merged back into trunk as well.
+ * Update the file base/ChangeLog in both trunk and the relase branch to reflect the appropriate changes.
+ * Update the file base/config/mp_version with the target release number. Note that this is a floating
+   point number that corresponds to the release number; it should correspond roughly to the release number
+   where possible. Release 1.4.1, for instance, would be represented by the floating point number 1.41.
+   The version number in mp_version is displayed by the port command as the version of MacPorts,
+   and is used by the selfupdate command to determine whether a newer version of code is available.
+   This number should be different between trunk and a release branch, the former greater to differentiate
+   it from the latter.
+ * Make sure that these, and any other changes or bug fixes are made on and/or merged between the release branch
+   and trunk as needded. For instance, if you've made changes to ChangeLog only on the release branch,
+   those changes should be merged back into trunk as well.
 
 
 === Tag the Release ===
 
-Once the release is ready, it must be tagged so that the release components may be fetched in the future, to ensure replicatability.
+Once the release is ready, it must be tagged so that the release components may be fetched in the future,
+to ensure replicatability. Generally, a release candidate is first tagged and built. When and if it is
+approved as the actual release, an additional tag is created that names the same sources.
 
-Generally, a release candidate is first tagged and built. When and if it is approved as the actual release, an additional tag is created that names the same sources.
-
 Tagging conventions:
 
-* release_1_4_0-rc1 (release candidate 1 for release 1.4.0)
-* release_1_4_0 (tagged release 1.4.0)
-* release_1_4_0-archive (tagged release 1.4.0 -- complete archive)
-* release_1_4_1 (1.4.1 release)
+ * release_1_4_0-rc1 (release candidate 1 for release 1.4.0)
+ * release_1_4_0 (tagged release 1.4.0)
+ * release_1_4_0-archive (tagged release 1.4.0 -- complete archive)
+ * release_1_4_1 (1.4.1 release)
 
 We first tag the branched base directory to make up for the final release:
 
- svn cp -m "commit-message" http://svn.macports.org/repository/macports/branches/release_1_4 http://svn.macports.org/repository/macports/tags/release_1_4_0
+ svn cp -m "commit-message" http://svn.macports.org/repository/macports/branches/release_1_4 \
+     http://svn.macports.org/repository/macports/tags/release_1_4_0
 
-Although only the base subdirectory is branched and tagged for a given major release, we also create a seperate tag for the entire tree (base sources and full ports tree) at the time the final release tag is created (only for major releases, 1.x.0), in order to provide a stake in the ground that specifies a set of ports intended to work with that release. Note that this tag incorporates the entire svn trunk directory at the revision number at which the final release was tagged.
+Although only the base subdirectory is branched and tagged for a given major release, we also create a 
+separate tag for the entire tree (base sources and full ports tree) at the time the final release tag is
+created (only for major releases, 1.x.0), in order to provide a stake in the ground that specifies a set
+of ports intended to work with that release. Note that this tag incorporates the entire svn trunk directory
+at the revision number at which the final release was tagged.
 
-The necessary working copy to create such a tag is created by checking out all of trunk at the specific revision of the final tagging of base and then switching the base directory inturn to the appropriate release tag URL. For instance:
+The necessary working copy to create such a tag is created by checking out all of trunk at the specific
+revision of the final tagging of base and then switching the base directory inturn to the appropriate
+release tag URL. For instance:
 
  svn co [-r<rev>] http://svn.macports.org/repository/macports/trunk macports/release-1.4.0
  cd macports/release-1.4.0/base
@@ -84,7 +106,8 @@
 
 === Create & Post Release Tarballs ===
 
-The release tarballs are tar.bz2 and tar.gz archives of the  base directory only and of the entire svn tree for a particular release. They are named with the following naming convention:
+The release tarballs are tar.bz2 and tar.gz archives of the  base directory only and of the entire svn tree
+for a particular release. They are named with the following naming convention:
 
  MacPorts-1.4.0.tar.{bz2,gz} (base directory only, corresponding to tag release_1_4_0)
  MacPorts-1.4.0-archive.tar.{bz2,gz} (complete archives corresponding to tag release_1_4_0-archive)
@@ -93,24 +116,32 @@
 
  make DISTVER=1.4.0 distfromsvn
 
-Note that you need to pass the "ARC=yes" flag on the command line to the "distfromsvn" top-level make target if you also wish to produce the full archive tarballs.
+Note that you need to pass the "ARC=yes" flag on the command line to the "distfromsvn" top-level make target
+if you also wish to produce the full archive tarballs.
 
-All these tarballs are uploaded via svn to the http://svn.macports.org/repository/macports/downloads/MacPorts-1.4.0/ directory.
+All these tarballs are uploaded via svn to the http://svn.macports.org/repository/macports/downloads/MacPorts-1.4.0/
+directory.
 
-Additionally, a file is created, and posted to the same location, that contains md5, sha1, and rmd160 checksums for each of the files:
+Additionally, a file is created, and posted to the same location, that contains md5, sha1, and rmd160 checksums
+for each of the files:
 
  MacPorts-1.4.0.chk.txt
-(We should have a way to sign these checksums, and have the signer's keys posted somewhere. Security experts in the project, would you be interested in leading this effort? Eric? Mark? Anyone else?)
+ (We should have a way to sign these checksums, and have the signer's keys posted somewhere.
+ Security experts in the project, would you be interested in leading this effort? Eric? Mark? Anyone else?)
 
 
 === Create Release Disk Image(s) ===
 
-The dmg is a Mac OS X disk image that contains a standalone installer for major MacPorts releases (1.x.0), named in a consistent fashion and incorporating the OS version for which it was built.
+The dmg is a Mac OS X disk image that contains a standalone installer for major MacPorts releases (1.x.0),
+named in a consistent fashion and incorporating the OS version for which it was built.
 
  MacPorts-1.4.0-10.3.dmg
  MacPorts-1.4.0-10.4.dmg
 
-To create the disk image, use the macports port; the Portfile will need to be updated to incorporate the proper release version and the release tarballs will need to be already uploaded to the downloads section of the site (wherefrom the sources are fetched by the macports port to build the dmg for the release). Checksums need to be adapted likewise.
+To create the disk image, use the MacPorts port; the Portfile will need to be updated to incorporate the
+proper release version and the release tarballs will need to be already uploaded to the downloads section
+of the site (wherefrom the sources are fetched by the MacPorts port to build the dmg for the release).
+Checksums need to be adapted likewise.
 
  port dmg MacPorts
 
@@ -120,20 +151,27 @@
  mv MacPorts-1.4.0.dmg MacPorts-1.4.0-10.4.dmg
  for type in -md5 -sha1 -ripemd160; do openssl dgst $type MacPorts-1.4.0-10.4.dmg; done
 
-These new products, along with the new checksums file, also have to be posted to the appropriate downloads directory of the MacPorts svn repository. Developers are required to validate the generated installer as thoroughly as possible through extensive testing (primarily done by inspecting the destroot of the MacPorts built port, validating library and executables linking, tclsh binary invoked by our scripts, etc.), which is mainly why this step of the release process is not automated through a Makefile or similar.
+These new products, along with the new checksums file, also have to be posted to the appropriate downloads
+directory of the MacPorts svn repository. Developers are required to validate the generated installer as
+thoroughly as possible through extensive testing (primarily done by inspecting the destroot of the MacPorts
+built port, validating library and executables linking, tclsh binary invoked by our scripts, etc.),
+which is mainly why this step of the release process is not automated through a Makefile or similar.
 
 
 === Make the Release Available through Self-Update ===
 
-In order to make the release version available through selfupdate, the base/config/RELEASE_URL file in svn trunk needs to be updated with the tag of the release to distribute. This file is read by the cron job that makes the code available via rsync. See base/portmgr/mprsyncup. Though not strictly necessary, it's also good practice to update the same file accordingly in its branched guise.
+In order to make the release version available through selfupdate, the base/config/RELEASE_URL file in svn
+trunk needs to be updated with the tag of the release to distribute. This file is read by the cron job that
+makes the code available via rsync. See base/portmgr/mprsyncup. Though not strictly necessary, it's also good
+practice to update the same file accordingly in its branched guise.
 
 
 === Notify the Public of the Release ===
 
 Once the release has been posted, notification of the release should be sent/posted to the following places:
 
-* The macports-users at lists.macosforge.org and macports-dev at lists.macosforge.org mailing lists.
-* Apple's [http://www.apple.com/downloads/macosx/unix_open_source/macports.html Mac OS X software downloads page] (submitter: jmpp@)
-* [http://freshmeat.net/projects/macports/ Freshmeat] (submitter: mww@)
-* [http://www.versiontracker.com/dyn/moreinfo/macosx/26679 VersionTracker] (submitter: mij@)
-* (Where else? -- MacUpdate?)
+ * The macports-users at lists.macosforge.org and macports-dev at lists.macosforge.org mailing lists.
+ * Apple's [http://www.apple.com/downloads/macosx/unix_open_source/macports.html Mac OS X software downloads page] (submitter: jmpp@)
+ * [http://freshmeat.net/projects/macports/ Freshmeat] (submitter: mww@)
+ * [http://www.versiontracker.com/dyn/moreinfo/macosx/26679 VersionTracker] (submitter: mij@)
+ * (Where else? -- MacUpdate?)


Property changes on: branches/release_1_5/base/portmgr/ReleaseProcess
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070709/395de725/attachment.html


More information about the macports-changes mailing list