Attempt to find "du" from coreutils in the standard paths and if
not revert to the version in the users PATH.  Using the full path
prevents issues such as FS#19932, where a different and incompatible
version of du is put earlier in the users path.

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

diff --git a/configure.ac b/configure.ac
index 4faf20d..7d4e60f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -210,6 +210,7 @@ esac
 
 AM_CONDITIONAL([CYGWIN], test "x$host_os_cygwin" = "xyes")
 AM_CONDITIONAL([DARWIN], test "x$host_os_darwin" = "xyes")
+AC_PATH_PROGS([DUPATH], [du], [du], [/usr/bin$PATH_SEPARATOR/bin] )
 AC_SUBST(SIZECMD)
 AC_SUBST(SEDINPLACE)
 AC_SUBST(STRIP_BINARIES)
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 330acb9..0fde334 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -42,6 +42,7 @@ edit = sed \
        -e 's|@buildscri...@]|$(BUILDSCRIPT)|g' \
        -e 's|@sizec...@]|$(SIZECMD)|g' \
        -e 's|@sedinpla...@]|$(SEDINPLACE)|g' \
+       -e 's|@dupa...@]|$(DUPATH)|g' \
        -e 's|@configure_inp...@]|Generated from [email protected]; do not edit by 
hand.|g'
 
 ## All the scripts depend on Makefile so that they are rebuilt when the
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 6ad83f0..f3c7217 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -902,7 +902,7 @@ write_pkginfo() {
        else
                local packager="Unknown Packager"
        fi
-       local size="$(du -sk)"
+       local size="$(@DUPATH@ -sk)"
        size="$(( ${size%%[^0-9]*} * 1024 ))"
 
        msg2 "$(gettext "Generating .PKGINFO file...")"
-- 
1.7.1


Reply via email to