ports/164422: [PATCH] Force removal of OPTIONS file dir to avoid spurious warning in Mk/bsd.port.mk
Greg Larkin
glarkin at FreeBSD.org
Mon Jan 23 21:30:12 UTC 2012
>Number: 164422
>Category: ports
>Synopsis: [PATCH] Force removal of OPTIONS file dir to avoid spurious warning in Mk/bsd.port.mk
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Jan 23 21:30:12 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Greg Larkin
>Release: FreeBSD 8.2-RELEASE-p3 amd64
>Organization:
The FreeBSD Project
>Environment:
System: FreeBSD pm.sourcehosting.net 8.2-RELEASE-p3 FreeBSD 8.2-RELEASE-p3 #0: Tue Sep 27 18:45:57 UTC 2011 root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
After using ports-mgmt/portmaster to install and upgrade ports for a while,
I had a number of options directories in /var/db/ports. I encountered
some errors stating "rmdir: ...: Directory not empty" when running the
following command:
cd /usr/ports/devel/git && make rmconfig-recursive
The problem is that portmaster placed a file in the options directory to
detect updated distfiles. The rmconfig-recursive target assumes that the
options directory is empty once the options file is removed and generates
the warning if it isn't.
>How-To-Repeat:
cd /usr/ports/ports-mgmt/portmaster && make install clean
cd /usr/ports/devel/git && portmaster -d .
make rmconfig-recursive
>Fix:
The attached patch simply forces removal of the options directory as well
as any files within it.
--- bsd.port.mk.optionsdir-full-removal.diff begins here ---
--- bsd.port.mk.orig 2012-01-23 15:04:23.000000000 -0500
+++ bsd.port.mk 2012-01-23 15:04:58.000000000 -0500
@@ -6088,12 +6088,10 @@
optionsdir=${OPTIONSFILE}; optionsdir=$${optionsdir%/*}; \
if [ ${UID} != 0 -a "x${INSTALL_AS_USER}" = "x" ]; then \
${ECHO_MSG} "===> Switching to root credentials to remove ${OPTIONSFILE} and $${optionsdir}"; \
- ${SU_CMD} "${RM} -f ${OPTIONSFILE} ; \
- ${RMDIR} $${optionsdir}"; \
+ ${SU_CMD} "${RM} -Rf $${optionsdir}"; \
${ECHO_MSG} "===> Returning to user credentials"; \
else \
- ${RM} -f ${OPTIONSFILE}; \
- ${RMDIR} $${optionsdir}; \
+ ${RM} -Rf $${optionsdir}; \
fi
.else
@${ECHO_MSG} "===> No user-specified options configured for ${PKGNAME}"
--- bsd.port.mk.optionsdir-full-removal.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list