[pacman-dev] [PATCH] makepkg: try standard paths for coreutils du
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 <allan@archlinux.org> --- 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|@BUILDSCRIPT[@]|$(BUILDSCRIPT)|g' \ -e 's|@SIZECMD[@]|$(SIZECMD)|g' \ -e 's|@SEDINPLACE[@]|$(SEDINPLACE)|g' \ + -e 's|@DUPATH[@]|$(DUPATH)|g' \ -e 's|@configure_input[@]|Generated from $@.in; 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
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 <allan@archlinux.org> Seems very reasonable to me; if no one else sees anything weird with
On Tue, Jun 29, 2010 at 10:35 PM, Allan McRae <allan@archlinux.org> wrote: this I'm OK with pushing it to maint.
--- 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|@BUILDSCRIPT[@]|$(BUILDSCRIPT)|g' \ -e 's|@SIZECMD[@]|$(SIZECMD)|g' \ -e 's|@SEDINPLACE[@]|$(SEDINPLACE)|g' \ + -e 's|@DUPATH[@]|$(DUPATH)|g' \ -e 's|@configure_input[@]|Generated from $@.in; 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
participants (2)
-
Allan McRae
-
Dan McGee