diff options
author | Allan McRae <allan@archlinux.org> | 2011-12-25 10:58:31 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-12-29 05:32:22 +0100 |
commit | b264fb9e9ddcc31dc8782390309421965e507383 (patch) | |
tree | c65f39987e25cc7552e0282d8b0ad125a88624ff /scripts | |
parent | 1b461374264abd62c54133e544dedd5feb866043 (diff) | |
download | pacman-b264fb9e9ddcc31dc8782390309421965e507383.tar.gz pacman-b264fb9e9ddcc31dc8782390309421965e507383.tar.xz |
makepkg: calculate exact total file size
The current calculation of the total file size for a package using "du"
suffers from issues in portability and correctness. Especially on btrfs,
this can result in clearly wrong package information such as:
Download Size : 14684.29 KiB
Installed Size : 7628.00 KiB
Use an approach based on "stat" to calculate total file size.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.am | 1 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 328fbff2..727de258 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -53,7 +53,6 @@ edit = sed \ -e 's|@BUILDSCRIPT[@]|$(BUILDSCRIPT)|g' \ -e 's|@SIZECMD[@]|$(SIZECMD)|g' \ -e 's|@SEDINPLACE[@]|$(SEDINPLACE)|g' \ - -e 's|@DUPATH[@]|$(DUPATH)|g' \ -e 's|@SCRIPTNAME[@]|$@|g' \ -e 's|@configure_input[@]|Generated from $@.sh.in; do not edit by hand.|g' diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 64b33c68..13185eec 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1109,8 +1109,7 @@ write_pkginfo() { else local packager="Unknown Packager" fi - local size="$(@DUPATH@ -sk)" - size="$(( ${size%%[^0-9]*} * 1024 ))" + local size="$(find . -print0 | xargs -0 @SIZECMD@ | awk '{ sum += $1 } END { print sum }')" msg2 "$(gettext "Generating %s file...")" ".PKGINFO" echo "# Generated by makepkg $myver" |