Add an mtree file to the package with all file information. This can be added to the local pacman database on install allowing full package verification. Signed-off-by: Allan McRae <allan@archlinux.org> --- scripts/makepkg.sh.in | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index d36dbd6..08f4b62 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1351,8 +1351,6 @@ create_package() { done # tar it up - msg2 "$(gettext "Compressing package...")" - local fullver=$(get_full_version) local pkg_file="$PKGDEST/${nameofpkg}-${fullver}-${pkgarch}${PKGEXT}" local ret=0 @@ -1363,6 +1361,14 @@ create_package() { # when fileglobbing, we want * in an empty directory to expand to # the null string rather than itself shopt -s nullglob + + msg2 "$(gettext "Generating .MTREE file...")" + bsdtar -czf .MTREE --format=mtree \ + --options='!all,use-set,type,uid,gid,mode,time,size,md5,link' \ + "${comp_files[@]}" * + comp_files+=(".MTREE") + + msg2 "$(gettext "Compressing package...")" # TODO: Maybe this can be set globally for robustness shopt -s -o pipefail # bsdtar's gzip compression always saves the time stamp, making one -- 1.7.10.1