[25177] trunk/base/src

source_changes at macosforge.org source_changes at macosforge.org
Tue May 15 08:46:37 PDT 2007


Revision: 25177
          http://trac.macosforge.org/projects/macports/changeset/25177
Author:   jberry at macports.org
Date:     2007-05-15 08:46:37 -0700 (Tue, 15 May 2007)

Log Message:
-----------
Only try to evaluate macports_user_dir if the HOME environment variable exists. Otherwise, define macports_user_dir to a directory that will never exist, so that consumers of this variable may test for existance of that directory before using it.

Modified Paths:
--------------
    trunk/base/src/darwinports1.0/darwinports.tcl
    trunk/base/src/port/port.tcl

Modified: trunk/base/src/darwinports1.0/darwinports.tcl
===================================================================
--- trunk/base/src/darwinports1.0/darwinports.tcl	2007-05-15 15:38:48 UTC (rev 25176)
+++ trunk/base/src/darwinports1.0/darwinports.tcl	2007-05-15 15:46:37 UTC (rev 25177)
@@ -268,23 +268,31 @@
    	global darwinports::xcodebuildcmd
    	global darwinports::xcodeversion
    	
-    # Ensure that the macports user directory exists
-    set darwinports::macports_user_dir [file normalize $darwinports::autoconf::macports_user_dir]
-    if { ![file exists $macports_user_dir] } {
-    	# If not, create it with ownership of the enclosing directory, rwx by the user only
-		file mkdir $macports_user_dir 
-		file attributes $macports_user_dir -permissions u=rwx,go= \
-                                           -owner [file attributes $macports_user_dir/.. -owner] \
-                                           -group [file attributes $macports_user_dir/.. -group]
-    }
-    
+    # Ensure that the macports user directory exists if HOME is defined
+    if {[info exists env(HOME)]} {
+	    set darwinports::macports_user_dir [file normalize $darwinports::autoconf::macports_user_dir]
+		if { ![file exists $macports_user_dir] } {
+			# If not, create it with ownership of the enclosing directory, rwx by the user only
+			file mkdir $macports_user_dir 
+			file attributes $macports_user_dir -permissions u=rwx,go= \
+											   -owner [file attributes $macports_user_dir/.. -owner] \
+											   -group [file attributes $macports_user_dir/.. -group]
+		}
+	} else {
+		# Otherwise define the user directory as a direcotory that will never exist
+		set darwinports::macports_user_dir "/dev/null/NO_HOME_DIR" 
+	}
+	
    	# Configure the search path for configuration files
    	set conf_files ""
-    if {[llength [array names env PORTSRC]] > 0} {
-		set PORTSRC [lindex [array get env PORTSRC] 1]
+    if {[info exists env(PORTSRC)]} {
+		set PORTSRC $env(PORTSRC)
 		lappend conf_files ${PORTSRC}
     }
-    lappend conf_files "${macports_user_dir}/ports.conf" "${dports_conf_path}/ports.conf"
+    if { [file isdirectory macports_user_dir] } {
+ 		lappend conf_files "${macports_user_dir}/ports.conf"
+ 	}
+    lappend conf_files "${dports_conf_path}/ports.conf"
     
     # Process the first configuration file we find on conf_files list
 	foreach file $conf_files {

Modified: trunk/base/src/port/port.tcl
===================================================================
--- trunk/base/src/port/port.tcl	2007-05-15 15:38:48 UTC (rev 25176)
+++ trunk/base/src/port/port.tcl	2007-05-15 15:46:37 UTC (rev 25177)
@@ -2452,7 +2452,7 @@
 	set history_file [file normalize "${darwinports::macports_user_dir}/history"]
 
 	# Read readline history
-	if {$use_readline} {
+	if {$use_readline && [file isdirectory $darwinports::macports_user_dir]} {
 		rl_history read $history_file
 		rl_history stifle 100
 	}
@@ -2495,7 +2495,7 @@
 	}
 	
 	# Save readine history
-	if {$use_readline} {
+	if {$use_readline && [file isdirectory $darwinports::macports_user_dir]} {
 		rl_history write $history_file
 	}
 	

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


More information about the macports-changes mailing list