[pacman-dev] [PATCH] makepkg: compare paths using bash test
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 <allan@archlinux.org> --- 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
On 04/10/10 18:55, Allan McRae wrote:
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<allan@archlinux.org> --- 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
Ummm... yeah... That does the opposite! Fixed on my working branch. Allan
participants (1)
-
Allan McRae