summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2012-04-30 16:15:47 +1000
committerAllan McRae <allan@archlinux.org>2012-12-14 13:45:12 +1000
commitad3a26c615dbc931275f0ee2f04879d867b06974 (patch)
tree586fd87ecd1c6d4785c2e8e531626e6416a240b0 /scripts
parentf5d904d97f66d5e3337578541f2f440e846b9490 (diff)
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>
Diffstat (limited to 'scripts')
-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