[pacman-dev] [PATCH 1/2] Make makepkg compute sizes properly

Santiago Torres santiago at archlinux.org
Fri Mar 8 02:36:58 UTC 2019


Makepkg used to use du --apparent-size to compute the size of the
package. Unfortunately, this would result in different sizes depending
on the filesystem used (e.g., btrfs vs ext4), which would affect
reproducible builds. Use a wc-based approach to compute sizes

Signed-off-by: Santiago Torres <santiago at archlinux.org>
---
 scripts/makepkg.sh.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index e12826af..899acae2 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -588,8 +588,7 @@ write_kv_pair() {
 }
 
 write_pkginfo() {
-	local size="$(@DUPATH@ @DUFLAGS@)"
-	size="$(( ${size%%[^0-9]*} * 1024 ))"
+	local size="$(list_package_files| xargs --null cat 2>/dev/null | wc -c)"
 
 	merge_arch_attrs
 
-- 
2.21.0


More information about the pacman-dev mailing list