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