[57819] branches/images-and-archives/base

blb at macports.org blb at macports.org
Wed Sep 16 22:32:44 PDT 2009


Revision: 57819
          http://trac.macports.org/changeset/57819
Author:   blb at macports.org
Date:     2009-09-16 22:32:42 -0700 (Wed, 16 Sep 2009)
Log Message:
-----------
Merge from trunk

Modified Paths:
--------------
    branches/images-and-archives/base/doc/macports.conf.5
    branches/images-and-archives/base/portmgr/ReleaseProcess
    branches/images-and-archives/base/src/macports1.0/Makefile
    branches/images-and-archives/base/src/macports1.0/macports.c
    branches/images-and-archives/base/src/macports1.0/macports.tcl
    branches/images-and-archives/base/src/pextlib1.0/system.c
    branches/images-and-archives/base/src/pextlib1.0/xinstall.c
    branches/images-and-archives/base/src/port1.0/portinstall.tcl
    branches/images-and-archives/base/src/port1.0/portpatch.tcl
    branches/images-and-archives/base/src/registry1.0/registry.tcl
    branches/images-and-archives/base/src/registry2.0/portimage.tcl
    branches/images-and-archives/base/src/registry2.0/portuninstall.tcl

Added Paths:
-----------
    branches/images-and-archives/base/src/macports1.0/realpath.c
    branches/images-and-archives/base/src/macports1.0/realpath.h

Property Changed:
----------------
    branches/images-and-archives/base/


Property changes on: branches/images-and-archives/base
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base:37343-46937
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:50249-57135
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
   + /branches/gsoc08-privileges/base:37343-46937
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:50249-57818
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692

Modified: branches/images-and-archives/base/doc/macports.conf.5
===================================================================
--- branches/images-and-archives/base/doc/macports.conf.5	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/doc/macports.conf.5	2009-09-17 05:32:42 UTC (rev 57819)
@@ -62,7 +62,7 @@
 .Ic Default:
 ${prefix}/var/macports
 .It Va portdbformat
-Storage type to use for the MacPorts registry. Currently the only supportted format is "flat".
+Storage type to use for the MacPorts registry. Currently the only supported format is "flat".
 .br
 .Ic Default:
 flat
@@ -80,7 +80,7 @@
 Location of the sources file. This file enables rsync synchronization of the default ports tree with the
 MacPorts rsync server (through the "sync" target of the
 .Nm port
-commnand) and any other local tree(s) you might have.
+command) and any other local tree(s) you might have.
 .br
 .Ic Default:
 ${prefix}/etc/macports/sources.conf
@@ -120,13 +120,23 @@
 .br
 .Ic Default:
 yes
+.It Va build_arch
+The machine architecture to try to build for in normal use
+.br
+Regular architectures include: ppc, i386, ppc64, x86_64
+.br
+.Ic Default (10.6):
+x86_64 or i386 depending on hardware
+.br
+.Ic Default (10.5 and earlier):
+i386 or ppc depending on hardware
 .It Va universal_archs
 The machine architectures to use for +universal variant
 (multiple architecture entries should be space separated)
 .br
 Regular architectures include: ppc, i386, ppc64, x86_64
 .br
-.Ic Default:
+.Ic Default (10.6):
 x86_64 i386
 .br
 .Ic Default (10.5 and earlier):
@@ -147,7 +157,7 @@
 Default rsync server to connect to when running "selfupdate" through the
 .Nm port
 command to update your entire MacPorts
-installation (spanning both the MacPorts infrastucture and the ports tree).
+installation (spanning both the MacPorts infrastructure and the ports tree).
 .br
 .Ic Default:
 rsync.macports.org

Modified: branches/images-and-archives/base/portmgr/ReleaseProcess
===================================================================
--- branches/images-and-archives/base/portmgr/ReleaseProcess	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/portmgr/ReleaseProcess	2009-09-17 05:32:42 UTC (rev 57819)
@@ -204,6 +204,12 @@
 practice to update the same file accordingly in its branched guise.
 
 
+=== Update trunk's version for next release ===
+Once trunk is to be used for development of the next major version, increase its version information to
+indicate it's moved past the release version by setting the patch-level version to 99, e.g., 1.8.99 (in
+trunk/base/config/macports_version).
+
+
 === Notify the Public of the Release ===
 
 Once the release has been posted, notification of the release should be sent/posted to the following places:

Modified: branches/images-and-archives/base/src/macports1.0/Makefile
===================================================================
--- branches/images-and-archives/base/src/macports1.0/Makefile	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/macports1.0/Makefile	2009-09-17 05:32:42 UTC (rev 57819)
@@ -1,6 +1,6 @@
 SRCS=		macports.tcl macports_dlist.tcl macports_util.tcl \
 		macports_autoconf.tcl macports_index.tcl macports_fastload.tcl
-OBJS=		macports.o get_systemconfiguration_proxies.o sysctl.o
+OBJS=		macports.o get_systemconfiguration_proxies.o realpath.o sysctl.o
 SHLIB_NAME=	MacPorts${SHLIB_SUFFIX}
 
 INSTALLDIR=	${DESTDIR}${TCL_PACKAGE_DIR}/macports1.0

Modified: branches/images-and-archives/base/src/macports1.0/macports.c
===================================================================
--- branches/images-and-archives/base/src/macports1.0/macports.c	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/macports1.0/macports.c	2009-09-17 05:32:42 UTC (rev 57819)
@@ -38,6 +38,7 @@
 #include <tcl.h>
 
 #include "get_systemconfiguration_proxies.h"
+#include "realpath.h"
 #include "sysctl.h"
 
 static int
@@ -58,6 +59,7 @@
 		return TCL_ERROR;
 	Tcl_CreateObjCommand(interp, "macports::version", macports__version, NULL, NULL);
 	Tcl_CreateObjCommand(interp, "get_systemconfiguration_proxies", GetSystemConfigurationProxiesCmd, NULL, NULL);
+	Tcl_CreateObjCommand(interp, "realpath", RealpathCmd, NULL, NULL);
 	Tcl_CreateObjCommand(interp, "sysctl", SysctlCmd, NULL, NULL);
 	if (Tcl_PkgProvide(interp, "macports", "1.0") != TCL_OK)
 		return TCL_ERROR;

Modified: branches/images-and-archives/base/src/macports1.0/macports.tcl
===================================================================
--- branches/images-and-archives/base/src/macports1.0/macports.tcl	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/macports1.0/macports.tcl	2009-09-17 05:32:42 UTC (rev 57819)
@@ -809,6 +809,7 @@
     $workername alias findBinary macports::findBinary
     $workername alias binaryInPath macports::binaryInPath
     $workername alias sysctl sysctl
+    $workername alias realpath realpath
 
     # New Registry/Receipts stuff
     $workername alias registry_new registry::new_entry

Copied: branches/images-and-archives/base/src/macports1.0/realpath.c (from rev 57797, trunk/base/src/macports1.0/realpath.c)
===================================================================
--- branches/images-and-archives/base/src/macports1.0/realpath.c	                        (rev 0)
+++ branches/images-and-archives/base/src/macports1.0/realpath.c	2009-09-17 05:32:42 UTC (rev 57819)
@@ -0,0 +1,80 @@
+/*
+ * realpath.c
+ * $Id$
+ *
+ * Copyright (c) 2009 The MacPorts Project.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of MacPorts Team nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <tcl.h>
+
+#include <errno.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "realpath.h"
+
+/**
+ * realpath command entry point.
+ *
+ * @param interp		current interpreter
+ * @param objc			number of parameters
+ * @param objv			parameters
+ */
+int RealpathCmd(ClientData clientData UNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
+{
+    const char error_message[] = "realpath failed: ";
+    Tcl_Obj *tcl_result;
+    char *path;
+    char *rpath = malloc(PATH_MAX+1);
+    char *res;
+
+    if (objc != 2) {
+        Tcl_WrongNumArgs(interp, 1, objv, "path");
+        return TCL_ERROR;
+    }
+
+    path = Tcl_GetString(objv[1]);
+    res = realpath(path, rpath);
+    if (!res) {
+        free(rpath);
+        tcl_result = Tcl_NewStringObj(error_message, sizeof(error_message) - 1);
+        Tcl_AppendObjToObj(tcl_result, Tcl_NewStringObj(strerror(errno), -1));
+        Tcl_SetObjResult(interp, tcl_result);
+        return TCL_ERROR;
+    } else {
+        tcl_result = Tcl_NewStringObj(rpath, -1);
+    }
+    
+    Tcl_SetObjResult(interp, tcl_result);
+    return TCL_OK;
+}

Copied: branches/images-and-archives/base/src/macports1.0/realpath.h (from rev 57797, trunk/base/src/macports1.0/realpath.h)
===================================================================
--- branches/images-and-archives/base/src/macports1.0/realpath.h	                        (rev 0)
+++ branches/images-and-archives/base/src/macports1.0/realpath.h	2009-09-17 05:32:42 UTC (rev 57819)
@@ -0,0 +1,49 @@
+/*
+ * realpath.h
+ * $Id$
+ *
+ * Copyright (c) 2009 The MacPorts Project.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of MacPorts Team nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _REALPATH_H
+#define _REALPATH_H
+
+#include <tcl.h>
+
+/**
+ * A native command to handle a limitation of old versions of Tcl.
+ *
+ * The syntax is:
+ * realpath path
+ *	Normalize path like file normalize does.
+ *  Fixes a problem with Tcl installations affected by not defining HAVE_REALPATH (this is
+ *	the case with the Tcl in OS X shipped prior to 10.6)
+ */
+int RealpathCmd(ClientData clientData, Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[]);
+
+#endif /* _REALPATH_H */

Modified: branches/images-and-archives/base/src/pextlib1.0/system.c
===================================================================
--- branches/images-and-archives/base/src/pextlib1.0/system.c	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/pextlib1.0/system.c	2009-09-17 05:32:42 UTC (rev 57819)
@@ -40,6 +40,7 @@
 #include <paths.h>
 #endif
 
+#include <sys/wait.h>
 #include <fcntl.h>
 #include <stdlib.h>
 #include <string.h>

Modified: branches/images-and-archives/base/src/pextlib1.0/xinstall.c
===================================================================
--- branches/images-and-archives/base/src/pextlib1.0/xinstall.c	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/pextlib1.0/xinstall.c	2009-09-17 05:32:42 UTC (rev 57819)
@@ -436,8 +436,10 @@
 	int devnull, files_match, from_fd = 0, serrno, target;
 	int tempcopy, temp_fd, to_fd = 0;
 	char backup[MAXPATHLEN], *p, pathbuf[MAXPATHLEN], tempfile[MAXPATHLEN];
-	char msg[256];
 
+        /* message contains function name, two paths and a little bit extra formatting */
+        char msg[MAXPATHLEN * 2 + 32];
+
 	files_match = 0;
 
 	/* If try to install NULL file to a directory, fails. */

Modified: branches/images-and-archives/base/src/port1.0/portinstall.tcl
===================================================================
--- branches/images-and-archives/base/src/port1.0/portinstall.tcl	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/port1.0/portinstall.tcl	2009-09-17 05:32:42 UTC (rev 57819)
@@ -36,6 +36,7 @@
 
 set org.macports.install [target_new org.macports.install portinstall::install_main]
 target_provides ${org.macports.install} install
+target_state ${org.macports.install} no
 target_requires ${org.macports.install} main fetch extract checksum patch configure build destroot imagefile activate
 
 namespace eval portinstall {

Modified: branches/images-and-archives/base/src/port1.0/portpatch.tcl
===================================================================
--- branches/images-and-archives/base/src/port1.0/portpatch.tcl	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/port1.0/portpatch.tcl	2009-09-17 05:32:42 UTC (rev 57819)
@@ -75,7 +75,7 @@
     if {![info exists patchlist]} {
         return -code error [msgcat::mc "Patch files missing"]
     }
-    _cd [option worksrcpath]
+
     set gzcat "[findBinary gzip $portutil::autoconf::gzip_path] -dc"
     set bzcat "[findBinary bzip2 $portutil::autoconf::bzip2_path] -dc"
     foreach patch $patchlist {

Modified: branches/images-and-archives/base/src/registry1.0/registry.tcl
===================================================================
--- branches/images-and-archives/base/src/registry1.0/registry.tcl	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/registry1.0/registry.tcl	2009-09-17 05:32:42 UTC (rev 57819)
@@ -737,8 +737,9 @@
 			lappend files $theFile
 			
 			# Split out the filename's subpaths and add them to the image list as
-			# well.
-			set directory [file dirname $theFile]
+			# well. The realpath call is necessary because file normalize
+			# does not resolve symlinks on OS X < 10.6
+			set directory [realpath [file dirname $theFile]]
 			while { [lsearch -exact $files $directory] == -1 } { 
 				lappend files $directory
 				set directory [file dirname $directory]

Modified: branches/images-and-archives/base/src/registry2.0/portimage.tcl
===================================================================
--- branches/images-and-archives/base/src/registry2.0/portimage.tcl	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/registry2.0/portimage.tcl	2009-09-17 05:32:42 UTC (rev 57819)
@@ -400,7 +400,7 @@
 
             # Split out the filename's subpaths and add them to the image list
             # as well.
-            set directory [file dirname $theFile]
+            set directory [realpath [file dirname $theFile]]
             while { [lsearch -exact $files $directory] == -1 } {
                 lappend files $directory
                 set directory [file dirname $directory]

Modified: branches/images-and-archives/base/src/registry2.0/portuninstall.tcl
===================================================================
--- branches/images-and-archives/base/src/registry2.0/portuninstall.tcl	2009-09-17 05:23:51 UTC (rev 57818)
+++ branches/images-and-archives/base/src/registry2.0/portuninstall.tcl	2009-09-17 05:32:42 UTC (rev 57819)
@@ -129,7 +129,7 @@
 
         # Split out the filename's subpaths and add them to the
         # list as well.
-        set directory [file dirname $theFile]
+        set directory [realpath [file dirname $theFile]]
         while { [lsearch -exact $files $directory] == -1 } { 
             lappend files $directory
             set directory [file dirname $directory]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090916/9412c5c0/attachment.html>


More information about the macports-changes mailing list