[PATCH] make-release: make mtime, owner, group consistent

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Files from git have modification time set to one
of commit, and owner/group to root.
Making it so for generated files as well makes
it easier to generate an identical tarball from git.

Setting owner/group to root is especially important because
otherwise you must have a user/group with same name
to generate an identical tarball.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
---
 kvm/scripts/make-release |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/kvm/scripts/make-release b/kvm/scripts/make-release
index fdc402b..e8051f4 100755
--- a/kvm/scripts/make-release
+++ b/kvm/scripts/make-release
@@ -1,7 +1,7 @@
 #!/bin/bash -e
 
 usage() {
-    echo "usage: $0 [--upload] [--formal] commit [name] [tarball]"
+    echo "usage: $0 [--upload] [--formal] commit [name] [tarball] [user]"
     exit 1
 }
 
@@ -51,17 +51,22 @@ cd "$(dirname "$0")"/../..
 mkdir -p "$(dirname "$tarball")"
 git archive --prefix="$name/" --format=tar "$commit" > "$tarball"
 
+mtime=`git show --format=%ct "$commit" --`
+tarargs="--owner=root --group=root --mtime=@$mtime"
+
 mkdir -p "$tmpdir"
 git cat-file -p "${commit}:roms" | awk ' { print $4, $3 } ' \
     > "$tmpdir/EXTERNAL_DEPENDENCIES"
 tar -rf "$tarball" --transform "s,^,$name/," -C "$tmpdir" \
+    $tarargs \
     "EXTERNAL_DEPENDENCIES"
 rm -rf "$tmpdir"
 
 if [[ -n "$formal" ]]; then
     mkdir -p "$tmpdir"
     echo "$name" > "$tmpdir/KVM_VERSION"
-    tar -rf "$tarball" --transform "s,^,$name/," -C "$tmpdir" "KVM_VERSION"
+    tar -rf "$tarball" --transform "s,^,$name/," -C "$tmpdir" "KVM_VERSION" \
+        $tarargs
     rm -rf "$tmpdir"
 fi
 
-- 
1.7.1.12.g42b7f
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux