summaryrefslogtreecommitdiff
path: root/scripts/makepkg.sh.in
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/makepkg.sh.in
parentf5d904d97f66d5e3337578541f2f440e846b9490 (diff)
downloadpacman-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>
Diffstat (limited to 'scripts/makepkg.sh.in')
-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