From 6ddbc63b1d0d23e53df1fa3bca5b5bfd9d0cd288 Mon Sep 17 00:00:00 2001 From: JesseEmond Date: Wed, 21 Sep 2016 14:38:05 -0400 Subject: [PATCH] Unarchive stop passing file mode to tar command (#4179) Fixes #4063. Tar does not use this parameter on extraction (-x) or diff (-d)(the only two cases where it is passed in unarchive). It only uses it on creation: https://www.gnu.org/software/tar/manual/html_section/tar_33.html Providing `unarchive` with a file mode of `0755` (octal) makes it pass the argument `--mode 493` (493 = 0755 in decimal) to `tar`, which then fails while verifying it (because it contains an invalid octal char '9'). Not passing the parameter to tar solves the issue. --- lib/ansible/modules/files/unarchive.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/ansible/modules/files/unarchive.py b/lib/ansible/modules/files/unarchive.py index 95bfe36238..0eb8e49eab 100644 --- a/lib/ansible/modules/files/unarchive.py +++ b/lib/ansible/modules/files/unarchive.py @@ -621,8 +621,6 @@ class TgzArchive(object): cmd.append('--owner=' + quote(self.file_args['owner'])) if self.file_args['group']: cmd.append('--group=' + quote(self.file_args['group'])) - if self.file_args['mode']: - cmd.append('--mode=' + quote(self.file_args['mode'])) if self.module.params['keep_newer']: cmd.append('--keep-newer-files') if self.excludes: @@ -670,8 +668,6 @@ class TgzArchive(object): cmd.append('--owner=' + quote(self.file_args['owner'])) if self.file_args['group']: cmd.append('--group=' + quote(self.file_args['group'])) - if self.file_args['mode']: - cmd.append('--mode=' + quote(self.file_args['mode'])) if self.module.params['keep_newer']: cmd.append('--keep-newer-files') if self.excludes: