From c1762f0053c7d6bc756b194a9d5d5e99b2367359 Mon Sep 17 00:00:00 2001 From: cperciva Date: Fri, 12 May 2006 10:42:40 +0000 Subject: Use 'rm -rf foo/bar' to remove a port instead of 'rm -rf foo/bar/'. When /usr/ports/foo/bar is a symlink pointing outside the tree, this deletes the symlink instead of the directory it points to. Requested by: delphij --- usr.sbin/portsnap/portsnap/portsnap.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'usr.sbin') diff --git a/usr.sbin/portsnap/portsnap/portsnap.sh b/usr.sbin/portsnap/portsnap/portsnap.sh index 4ce7155..c730ad4 100644 --- a/usr.sbin/portsnap/portsnap/portsnap.sh +++ b/usr.sbin/portsnap/portsnap/portsnap.sh @@ -872,7 +872,8 @@ extract_run() { fi case ${FILE} in */) - rm -rf ${PORTSDIR}/${FILE} + DIR=`echo ${FILE} | sed -e 's|/$||'` + rm -rf ${PORTSDIR}/${DIR} mkdir -p ${PORTSDIR}/${FILE} tar -xzf ${WORKDIR}/files/${HASH}.gz \ -C ${PORTSDIR}/${FILE} @@ -914,11 +915,13 @@ update_run() { sort ${WORKDIR}/INDEX | comm -23 ${PORTSDIR}/.portsnap.INDEX - | cut -f 1 -d '|' | grep -vE "${REFUSE}" | - lam -s "${PORTSDIR}/" - | xargs rm -rf + lam -s "${PORTSDIR}/" - | + sed -e 's|/$||' | xargs rm -rf else sort ${WORKDIR}/INDEX | comm -23 ${PORTSDIR}/.portsnap.INDEX - | cut -f 1 -d '|' | - lam -s "${PORTSDIR}/" - | xargs rm -rf + lam -s "${PORTSDIR}/" - | + sed -e 's|/$||' | xargs rm -rf fi echo "done." -- cgit v1.1