Major flaws of the new make deinstall code
Oliver Eikemeier
eikemeier at fillmore-labs.com
Tue Jul 15 08:09:48 PDT 2003
Joe Marcus Clarke wrote:
> --- /usr/ports/Mk/bsd.port.mk Sat Jul 12 15:01:17 2003
> +++ bsd.port.mk Mon Jul 14 15:00:02 2003
> @@ -3012,7 +3012,7 @@
> @already_installed=`${PKG_INFO} -q -O ${PKGORIGIN} 2> /dev/null`; \
> if [ -n "$${already_installed}" ]; then \
> for p in $${already_installed}; do \
> - prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -e 's|^@cwd ||'`; \
> + prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${HEAD} -n 1 | ${SED} -e 's|^@cwd ||'`; \
> if [ "x${PREFIX}" = "x$${prfx}" ]; then \
> df=`${PKG_INFO} -q -f $${p} 2> /dev/null | ${GREP} -v "^@" | ${COMM} -12 - ${TMPPLIST}`; \
> if [ -n "$${df}" ]; then \
> @@ -3403,7 +3403,7 @@
> for p in $${found_names}; do \
> check_name=`${ECHO} $${p} | ${SED} -e 's/-[^-]*$$//'`; \
> if [ "$${check_name}" = "${PKGBASE}" ]; then \
> - prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -e 's|^@cwd ||'`; \
> + prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${HEAD} -n 1 | ${SED} -e 's|^@cwd ||'`; \
> if [ "x${PREFIX}" = "x$${prfx}" ]; then \
> ${ECHO_MSG} "===> Deinstalling $${p}"; \
> ${PKG_DELETE} -f $${p}; \
You could use
${SED} -ne '1 s|^@cwd ||p'
instead of
${HEAD} -n 1 | ${SED} -e 's|^@cwd ||'
Regards
Oliver
More information about the freebsd-ports
mailing list