summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2009-11-24 18:11:37 +0300
committerMichal Marek <mmarek@suse.cz>2009-12-12 15:08:15 +0300
commit91d161857ce9672bd2a8cd99ff712a67186e2e76 (patch)
tree61818dcc6c8dc6d5b76012996c355e5c29dba325
parent8723eaeff59a5146326288392f08be4c894fdad7 (diff)
downloadlinux-91d161857ce9672bd2a8cd99ff712a67186e2e76.tar.xz
scripts/package: tar-pkg: use tar --owner=root
Use the --owner= and --group= options to make sure the entries in the built tar file are owned by root. Without this change, a careless sysadmin using the tar-pkg target can easily end up installing a kernel that is writable by the unprivileged user account used to build the kernel. Test that these options are understood before using them so that non-GNU versions of tar can still be used if the operator is appropriately cautious. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r--scripts/package/buildtar6
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index b1fd48db1640..51b2aa0acb82 100644
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -101,7 +101,11 @@ esac
#
(
cd "${tmpdir}"
- tar cf - . | ${compress} > "${tarball}${file_ext}"
+ opts=
+ if tar --owner=root --group=root --help >/dev/null 2>&1; then
+ opts="--owner=root --group=root"
+ fi
+ tar cf - . $opts | ${compress} > "${tarball}${file_ext}"
)
echo "Tarball successfully created in ${tarball}${file_ext}"