This is an automated email from the git hooks/post-receive script. lamby pushed a commit to branch gzip-no-name in repository lintian.
commit e7b52b435bca9a4940782a76f3db6d21ac832791 Author: Chris Lamb <[email protected]> Date: Thu Aug 27 20:15:33 2015 +0200 New tag gzip-called-without-no-name-option --- checks/rules.desc | 6 ++++++ checks/rules.pm | 4 ++++ t/tests/rules-general/debian/debian/rules | 10 ++++++++++ t/tests/rules-general/desc | 3 ++- t/tests/rules-general/tags | 2 ++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/checks/rules.desc b/checks/rules.desc index bea0e17..aa63ffa 100644 --- a/checks/rules.desc +++ b/checks/rules.desc @@ -247,3 +247,9 @@ Info: The source package does not have both a build-arch and a build-indep . Please consider adding both the build-arch and build-indep targets. +Tag: gzip-called-without-no-name-option +Severity: normal +Certainty: possible +Info: The rules files appears to call <tt>gzip</tt> without specifying the + <tt>-n</tt> option. This introduces timestamps into the binary package, + rendering the package unreproducible. diff --git a/checks/rules.pm b/checks/rules.pm index e1fdf73..0e646bf 100644 --- a/checks/rules.pm +++ b/checks/rules.pm @@ -219,6 +219,10 @@ sub run { tag 'debian-rules-makemaker-prefix-is-deprecated', "line $."; } + if ($line =~ m/\bgzip\b/ && $line !~ m/\s-\w*n\w*\b/) { + tag 'gzip-called-without-no-name-option', "line $."; + } + # General assignment - save the variable if (/^\s*(?:\S+\s+)*?(\S+)\s*([:\?\+])?=\s*(.*+)?$/so) { # This is far too simple from a theoretical PoV, but should do diff --git a/t/tests/rules-general/debian/debian/rules b/t/tests/rules-general/debian/debian/rules index cddbc03..1c4c31e 100755 --- a/t/tests/rules-general/debian/debian/rules +++ b/t/tests/rules-general/debian/debian/rules @@ -9,3 +9,13 @@ clean: dh_clean echo $(DEB_BUILD_OPTS) $(PWD) @echo $(_) + +dh_auto_build: + # Bad + touch filename && gzip filename + touch filename && gzip -9 filename + + # Good + gzip -9nmore filename + gzip -n9 filename + gzip filename -n9 diff --git a/t/tests/rules-general/desc b/t/tests/rules-general/desc index 1f41c20..417eba5 100644 --- a/t/tests/rules-general/desc +++ b/t/tests/rules-general/desc @@ -7,4 +7,5 @@ Test-For: debian-rules-should-not-automatically-update-control debian-rules-should-not-use-DEB_BUILD_OPTS debian-rules-should-not-use-pwd - debian-rules-should-not-use-underscore-variable \ No newline at end of file + debian-rules-should-not-use-underscore-variable + gzip-called-without-no-name-option diff --git a/t/tests/rules-general/tags b/t/tests/rules-general/tags index 3e7351b..415e097 100644 --- a/t/tests/rules-general/tags +++ b/t/tests/rules-general/tags @@ -3,3 +3,5 @@ E: rules-general source: debian-rules-should-not-automatically-update-control li W: rules-general source: debian-rules-should-not-use-DEB_BUILD_OPTS line 10 W: rules-general source: debian-rules-should-not-use-pwd line 10 W: rules-general source: debian-rules-should-not-use-underscore-variable line 11 +W: rules-general source: gzip-called-without-no-name-option line 15 +W: rules-general source: gzip-called-without-no-name-option line 16 -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git

