summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2012-04-30 08:15:47 +0200
committerAllan McRae <allan@archlinux.org>2012-12-14 04:45:12 +0100
commitad3a26c615dbc931275f0ee2f04879d867b06974 (patch)
tree586fd87ecd1c6d4785c2e8e531626e6416a240b0
parentf5d904d97f66d5e3337578541f2f440e846b9490 (diff)
downloadpacman-ad3a26c615dbc931275f0ee2f04879d867b06974.tar.gz
pacman-ad3a26c615dbc931275f0ee2f04879d867b06974.tar.xz
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 <allan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in10
1 files 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