summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-02-14 10:11:43 -0600
committerDan McGee <dan@archlinux.org>2012-02-14 10:11:43 -0600
commit13a1d5883c9aa81ee10d61cbe4c2f2223dad9a50 (patch)
tree6f0af4989d98bbb3d5053a17199081ae05d51236
parentb4f5a63e7fee5d04949e290bd63e5f0e94bd211e (diff)
downloadpacman-13a1d5883c9aa81ee10d61cbe4c2f2223dad9a50.tar.xz
scripts: unset CDPATH if cd is used
This wonderful/awful little bash shell variable wrecks havoc on `cd` calls in shell scripts. Unset CDPATH in makepkg where we use `cd` quite heavily. In pacman-optimize, we can move the change directory logic into the bsdtar call so we are left with no usages of `cd` in the script. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in2
-rw-r--r--scripts/pacman-optimize.sh.in3
2 files changed, 3 insertions, 2 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 80bb1c94..5e8687e7 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -36,6 +36,8 @@ export TEXTDOMAINDIR='@localedir@'
# file -i does not work on Mac OSX unless legacy mode is set
export COMMAND_MODE='legacy'
+# Ensure CDPATH doesn't screw with our cd calls
+unset CDPATH
myver='@PACKAGE_VERSION@'
confdir='@sysconfdir@'
diff --git a/scripts/pacman-optimize.sh.in b/scripts/pacman-optimize.sh.in
index 47d8814a..8a4e7224 100644
--- a/scripts/pacman-optimize.sh.in
+++ b/scripts/pacman-optimize.sh.in
@@ -122,8 +122,7 @@ find "$dbroot" -type f | sort | xargs md5sum > "$workdir/pacsums.old"
# step 2: tar it up
msg "$(gettext "Tar'ing up %s...")" "$dbroot"
-cd "$dbroot"
-bsdtar -czf "$workdir/pacman-db.tar.gz" ./
+bsdtar -czf "$workdir/pacman-db.tar.gz" -C "$dbroot" ./
if (( $? )); then
rm -rf "$workdir"
die_r "$(gettext "Tar'ing up %s failed.")" "$dbroot"