ports/157121: portmaster traverses and modifies dirctory trees it should not

Rachel Flynn rflynn at acsalaska.net
Tue May 17 16:00:27 UTC 2011


>Number:         157121
>Category:       ports
>Synopsis:       portmaster traverses and modifies dirctory trees it should not
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 17 16:00:27 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Rachel Flynn
>Release:        8.2-STABLE
>Organization:
>Environment:
FreeBSD datakitty.lan 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #0 r217868: Tue Jan 25 15:22:59 AKST 2011     rach at datakitty.lan:/data/obj/usr/src/sys/GENERIC  amd64
>Description:
In parent_exit, portmaster deletes all empty directories below $WRKDIRPREFIX. This assumes that anything below $WRKDIRPREFIX is for the ports system, but it is not. A typical case is to use MAKEOBJDIRPREFIX=/usr/obj for src and WRKDIRPREFIX=/usr/obj for ports. portmaster will now traverse /usr/obj/usr/src in parent_exit which a) takes long and b) is not portmaster to modify. 
>How-To-Repeat:
Run portmaster to install a port.
>Fix:
--- portmaster.orig     2011-05-08 02:20:04.000000000 -0800
+++ portmaster  2011-05-17 07:38:47.000000000 -0800
@@ -143,7 +143,7 @@
        for f in ${TMPDIR}/f-${PM_PARENT_PID}-*; do pm_unlink $f ; done

        [ -n "$PM_WRKDIRPREFIX" ] &&
-               find -d $PM_WRKDIRPREFIX -mindepth 1 -type d -empty -delete 2>/dev/null
+               find -d $PM_WRKDIRPREFIX$pd -mindepth 1 -type d -empty -delete 2>/dev/null

        case "$DISPLAY_LIST" in
        *' '*)  if [ -n "$1" ]; then

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list