From ad3a26c615dbc931275f0ee2f04879d867b06974 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Mon, 30 Apr 2012 16:15:47 +1000 Subject: makepkg: add mtree file into package 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 --- 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 e4e76cd1..c0579056 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1810,8 +1810,6 @@ create_package() { done # tar it up - msg2 "$(gettext "Compressing package...")" - local fullver=$(get_full_version) local pkg_file="$PKGDEST/${pkgname}-${fullver}-${pkgarch}${PKGEXT}" local ret=0 @@ -1822,6 +1820,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,sha256,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 -- cgit v1.2.3-70-g09d2