Compare paths using bash's "-ef" rather than by string tests as this
takes symlinks into account.  This will prevent issues similar to those
in FS#20922 if (e.g.) $PKGDEST is a symlink to $startdir.

Signed-off-by: Allan McRae <[email protected]>
---
 scripts/makepkg.sh.in |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ccf4213..e9a82a9 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1061,7 +1061,7 @@ create_package() {
                exit 1 # TODO: error code
        fi
 
-       if (( ! ret )) && [[ "$PKGDEST" != "${startdir}" ]]; then
+       if (( ! ret )) && [[ "$PKGDEST" -ef "${startdir}" ]]; then
                ln -sf "${pkg_file}" "${pkg_file/$PKGDEST/$startdir}"
                ret=$?
        fi
@@ -1142,7 +1142,7 @@ create_srcpackage() {
                exit 1 # TODO: error code
        fi
 
-       if (( ! ret )) && [[ "$SRCPKGDEST" != "${startdir}" ]]; then
+       if (( ! ret )) && [[ "$SRCPKGDEST" -ef "${startdir}" ]]; then
            ln -sf "${pkg_file}" "${pkg_file/$SRCPKGDEST/$startdir}"
            ret=$?
        fi
@@ -1704,7 +1704,7 @@ fi
 
 if (( CLEANCACHE )); then
        #fix flyspray feature request #5223
-       if [[ -n $SRCDEST && $SRCDEST != $startdir ]]; then
+       if [[ -n $SRCDEST && $SRCDEST -ef "${startdir}" ]]; then
                msg "$(gettext "Cleaning up ALL files from %s.")" "$SRCDEST"
                echo -n "$(gettext "    Are you sure you wish to do this? ")"
                echo -n "$(gettext "[y/N]")"
-- 
1.7.3.1


Reply via email to