[123881] trunk/base/src/macports1.0/macports.tcl
larryv at macports.org
larryv at macports.org
Fri Aug 15 10:08:24 PDT 2014
Revision: 123881
https://trac.macports.org/changeset/123881
Author: larryv at macports.org
Date: 2014-08-15 10:08:23 -0700 (Fri, 15 Aug 2014)
Log Message:
-----------
macports.tcl: Improve port sync debug messages.
Modified Paths:
--------------
trunk/base/src/macports1.0/macports.tcl
Modified: trunk/base/src/macports1.0/macports.tcl
===================================================================
--- trunk/base/src/macports1.0/macports.tcl 2014-08-15 16:17:48 UTC (rev 123880)
+++ trunk/base/src/macports1.0/macports.tcl 2014-08-15 17:08:23 UTC (rev 123881)
@@ -2319,24 +2319,32 @@
if {
[catch {
if {[getuid] == 0} {
- set euid [geteuid]
- set egid [getegid]
- ui_debug "changing euid/egid - current euid: $euid - current egid: $egid"
- setegid [name_to_gid [file attributes $portdir -group]]
- seteuid [name_to_uid [file attributes $portdir -owner]]
+ # Must change egid before dropping root euid.
+ set old_egid [getegid]
+ set new_egid [name_to_gid [file attributes $portdir -group]]
+ setegid $new_egid
+ ui_debug "Changed effective group ID from $old_egid to $new_egid"
+ set old_euid [geteuid]
+ set new_euid [name_to_uid [file attributes $portdir -owner]]
+ seteuid $new_euid
+ ui_debug "Changed effective user ID from $old_euid to $new_euid"
}
system $svn_commandline
if {[getuid] == 0} {
- seteuid $euid
- setegid $egid
+ seteuid $old_euid
+ ui_debug "Changed effective user ID from $new_euid to $old_euid"
+ setegid $old_egid
+ ui_debug "Changed effective group ID from $new_egid to $old_egid"
}
}]
} {
ui_debug $::errorInfo
ui_error "Synchronization of the local ports tree failed doing an svn update"
if {[getuid] == 0} {
- seteuid $euid
- setegid $egid
+ seteuid $old_euid
+ ui_debug "Changed effective user ID from $new_euid to $old_euid"
+ setegid $old_egid
+ ui_debug "Changed effective group ID from $new_egid to $old_egid"
}
incr numfailed
continue
@@ -2353,24 +2361,32 @@
if {
[catch {
if {[getuid] == 0} {
- set euid [geteuid]
- set egid [getegid]
- ui_debug "changing euid/egid - current euid: $euid - current egid: $egid"
- setegid [name_to_gid [file attributes $portdir -group]]
- seteuid [name_to_uid [file attributes $portdir -owner]]
+ # Must change egid before dropping root euid.
+ set old_egid [getegid]
+ set new_egid [name_to_gid [file attributes $portdir -group]]
+ setegid $new_egid
+ ui_debug "Changed effective group ID from $old_egid to $new_egid"
+ set old_euid [geteuid]
+ set new_euid [name_to_uid [file attributes $portdir -owner]]
+ seteuid $new_euid
+ ui_debug "Changed effective user ID from $old_euid to $new_euid"
}
system $git_commandline
if {[getuid] == 0} {
- seteuid $euid
- setegid $egid
+ seteuid $old_euid
+ ui_debug "Changed effective user ID from $new_euid to $old_euid"
+ setegid $old_egid
+ ui_debug "Changed effective group ID from $new_egid to $old_egid"
}
}]
} {
ui_debug $::errorInfo
ui_error "Synchronization of the local ports tree failed doing a git update"
if {[getuid] == 0} {
- seteuid $euid
- setegid $egid
+ seteuid $old_euid
+ ui_debug "Changed effective user ID from $new_euid to $old_euid"
+ setegid $old_egid
+ ui_debug "Changed effective group ID from $new_egid to $old_egid"
}
incr numfailed
continue
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140815/b1a8c908/attachment.html>
More information about the macports-changes
mailing list