<pre style='margin:0'>
Lawrence Velázquez (larryv) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/a580b5cd601f8a0b4788d5cefe2270ff4d4e4fbf">https://github.com/macports/macports-base/commit/a580b5cd601f8a0b4788d5cefe2270ff4d4e4fbf</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a580b5cd601f8a0b4788d5cefe2270ff4d4e4fbf
</span>Author: Lawrence Velázquez <larryv@macports.org>
AuthorDate: Thu Nov 17 21:07:43 2016 -0500

<span style='display:block; white-space:pre;color:#404040;'>    ReleaseProcess: Use Markdown verbatim blocks
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    These must be indented by at least four spaces.
</span>---
 portmgr/ReleaseProcess.md | 54 +++++++++++++++++++++++++----------------------
 1 file changed, 29 insertions(+), 25 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/portmgr/ReleaseProcess.md b/portmgr/ReleaseProcess.md
</span><span style='display:block; white-space:pre;color:#808080;'>index 5844917..2066ab6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/portmgr/ReleaseProcess.md
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/portmgr/ReleaseProcess.md
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,18 +98,18 @@ final release. Annotated tags preserve who made the tag and when. Additionally
</span> the tag should be signed with GPG by using the `-s` flag in order to allow
 later verification of the signature.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- git tag -a -s v2.0.0 release-2.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- git push origin v2.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    git tag -a -s v2.0.0 release-2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    git push origin v2.0.0
</span> 
 Although only base repository is branched and tagged for a given major
 release, we also create a separate tag in the ports tree at the time the final
 release tag is created for a major release (x.y.0). This intends to provide
 a set of ports intended to work with that release.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- git clone macports/macports-ports macports-ports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cd macports-ports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- git tag -a -s v2.0.0-archive origin/master
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- git push origin v2.0.0-archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    git clone macports/macports-ports macports-ports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cd macports-ports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    git tag -a -s v2.0.0-archive origin/master
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    git push origin v2.0.0-archive
</span> 
 
 ### Create & Post Release Tarballs ###
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -117,12 +117,12 @@ a set of ports intended to work with that release.
</span> The release tarballs are .tar.bz2 and .tar.gz archives of the base repository.
 They are named with the following naming convention:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- MacPorts-2.0.0.tar.{bz2,gz} (base repository, corresponding to tag v2.0.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    MacPorts-2.0.0.tar.{bz2,gz} (base repository, corresponding to tag v2.0.0)
</span> 
 The following commands issued to the top level Makefile will generate all the
 tarballs and checksums:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- make dist DISTVER=2.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    make dist DISTVER=2.0.0
</span> 
 The release should be signed with a detached GPG signature in order to allow
 cryptographic verification. To do this automatically, use the additional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -130,7 +130,7 @@ argument DISTGPGID= on the make command. The value specifies a key ID either
</span> in hexadecimal format or a email address matching exactly one key. For
 details, see HOW TO SPECIFY A USER ID in gpg(1) for details.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- make dist DISTVER=2.0.0 DISTGPGID=<handle>@macports.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    make dist DISTVER=2.0.0 DISTGPGID=<handle>@macports.org
</span> 
 These tarballs and the checksums are uploaded to the
 https://distfiles.macports.org/MacPorts/ directory. At present, this must be
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -146,9 +146,9 @@ the OS version for which it was built.
</span> For 10.6 and newer, we now build flat packages, so an enclosing dmg is not
 necessary.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- MacPorts-2.0.0-10.5-Leopard.dmg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MacPorts-2.0.0-10.6-SnowLeopard.pkg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MacPorts-2.0.0-10.7-Lion.pkg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+*   MacPorts-2.0.0-10.5-Leopard.dmg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+*   MacPorts-2.0.0-10.6-SnowLeopard.pkg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+*   MacPorts-2.0.0-10.7-Lion.pkg
</span> 
 To create a pkg or dmg, use the MacPorts port. The Portfile will need to be
 updated to incorporate the proper release version and checksums, and the
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -157,22 +157,22 @@ the site (wherefrom the sources are fetched by the MacPorts port to build the
</span> pkg for the release). Make sure the ports tree you're using to build the pkgs
 is fully up to date.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- sudo port -d pkg MacPorts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sudo port -d dmg MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sudo port -d pkg MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sudo port -d dmg MacPorts
</span> 
 Name each pkg/dmg appropriately, and then sign the pkgs with a Developer ID
 (make sure to use the Installer certificate, not the Application one):
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- cd work
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mv MacPorts-2.0.0.pkg unsigned/MacPorts-2.0.0-10.7-Lion.pkg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- productsign --sign "Developer ID Installer: John Doe" unsigned/MacPorts-2.0.0-10.7-Lion.pkg MacPorts-2.0.0-10.7-Lion.pkg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cd work
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    mv MacPorts-2.0.0.pkg unsigned/MacPorts-2.0.0-10.7-Lion.pkg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    productsign --sign "Developer ID Installer: John Doe" unsigned/MacPorts-2.0.0-10.7-Lion.pkg MacPorts-2.0.0-10.7-Lion.pkg
</span> 
 After signing, generate checksums, which will need to be added to the existing
 checksums file in the downloads directory:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>- for type in -md5 -sha1 -ripemd160 -sha256; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   openssl dgst $type MacPorts-2.0.0-*.{pkg,dmg} >> MacPorts-2.0.0.chk.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    for type in -md5 -sha1 -ripemd160 -sha256; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      openssl dgst $type MacPorts-2.0.0-*.{pkg,dmg} >> MacPorts-2.0.0.chk.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    done
</span> 
 These new products, along with the new checksums, also have to be posted to
 the appropriate directory of the MacPorts distfiles server. Developers are
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -195,13 +195,17 @@ installer is to first create the destroot of the port and examine it for:
</span>     step above also need to be confirmed to be universal (i386/ppc on 10.5 and
     earlier, i386/x86_64 on 10.6 and later). A way to do this is with the
     file(1) command:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-             file ${destroot}/opt/local/bin/daemondo:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  ${destroot}/opt/local/bin/daemondo: Mach-O universal binary with 2 architectures
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  ${destroot}/opt/local/bin/daemondo (for architecture ppc):  Mach-O executable ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  ${destroot}/opt/local/bin/daemondo (for architecture i386): Mach-O executable i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        $ file ${destroot}/opt/local/bin/daemondo:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}/opt/local/bin/daemondo: Mach-O universal binary with 2 architectures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}/opt/local/bin/daemondo (for architecture ppc):  Mach-O executable ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}/opt/local/bin/daemondo (for architecture i386): Mach-O executable i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> *   tclsh invocation: all scripts installed in ${destroot}/opt/local/bin
     should invoke the tclsh shell through a call like:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-             #!/opt/local/bin/port-tclsh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #!/opt/local/bin/port-tclsh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     thus ensuring that our bundled Tcl interpreter is used in our scripts.
 *   Miscellaneous: anything else that might seem out of the ordinary for
     a fully default-configured MacPorts installation.
</pre><pre style='margin:0'>

</pre>