summaryrefslogtreecommitdiffstats
path: root/scripts/package/buildtar
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2009-11-24 09:11:37 -0600
committerMichal Marek <mmarek@suse.cz>2009-12-12 13:08:15 +0100
commit91d161857ce9672bd2a8cd99ff712a67186e2e76 (patch)
tree61818dcc6c8dc6d5b76012996c355e5c29dba325 /scripts/package/buildtar
parent8723eaeff59a5146326288392f08be4c894fdad7 (diff)
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>
Diffstat (limited to 'scripts/package/buildtar')
-rw-r--r--scripts/package/buildtar6
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index b1fd48db164..51b2aa0acb8 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}"