]> ruderich.org/simon Gitweb - blhc/blhc.git/log
blhc/blhc.git
11 years agoHandle compiled headers (.h.gch).
Simon Ruderich [Mon, 25 Jun 2012 01:23:49 +0000 (03:23 +0200)]
Handle compiled headers (.h.gch).

This change also reduces the number of false positives drastically, but
may introduce false negatives if unusual file extensions are used when
linking.

However checking for missing LDFLAGS (e.g. -Wl,-z,relro etc.) is already
handled by lintian with good accuracy, so this shouldn't be a problem.

11 years agogcc is the only supported compiler at the moment.
Simon Ruderich [Sun, 3 Jun 2012 01:19:36 +0000 (03:19 +0200)]
gcc is the only supported compiler at the moment.

11 years agot: Fix test for non-existent file.
Simon Ruderich [Thu, 31 May 2012 21:54:57 +0000 (23:54 +0200)]
t: Fix test for non-existent file.

Broken in 23189f94e3761d3ef1d82b5abccf11564388b4bf.

11 years agot: Fix to handle buildd output and exit code change.
Simon Ruderich [Thu, 31 May 2012 21:52:53 +0000 (23:52 +0200)]
t: Fix to handle buildd output and exit code change.

Broken in a1ade38eef7f07b148c07f1d2721fae8f1c8d5b1 and
2a259b08620582db1693281cded2deb29708e16b.

11 years agoProperly detect if given a directory name as argument.
Bernhard R. Link [Wed, 30 May 2012 10:03:46 +0000 (12:03 +0200)]
Properly detect if given a directory name as argument.

Currently running blhc with a directory name as argument results in no
error except it warning there are no compiler commands in it. So check
if it is a proper file (or a link to a proper file).

11 years agoOnly return non-zero exit codes for errors in buildd mode.
Bernhard R. Link [Wed, 30 May 2012 10:02:22 +0000 (12:02 +0200)]
Only return non-zero exit codes for errors in buildd mode.

11 years agoSwitch to new output format for --buildd mode.
Bernhard R. Link [Wed, 30 May 2012 10:01:10 +0000 (12:01 +0200)]
Switch to new output format for --buildd mode.

11 years agoRelease 0.03. 0.03
Simon Ruderich [Sun, 27 May 2012 21:08:18 +0000 (23:08 +0200)]
Release 0.03.

11 years agoDetect overwrite of -D_FORTIFY_SOURCE=2 with -U_FORTIFY_SOURCE.
Simon Ruderich [Sun, 27 May 2012 20:53:59 +0000 (22:53 +0200)]
Detect overwrite of -D_FORTIFY_SOURCE=2 with -U_FORTIFY_SOURCE.

11 years agoFix --ignore-flag -D_FORTIFY_SOURCE=2.
Simon Ruderich [Sun, 27 May 2012 20:42:17 +0000 (22:42 +0200)]
Fix --ignore-flag -D_FORTIFY_SOURCE=2.

11 years agoImprove source comment.
Simon Ruderich [Sun, 27 May 2012 20:06:42 +0000 (22:06 +0200)]
Improve source comment.

11 years agoNEWS: Add empty line and Vim modeline.
Simon Ruderich [Sun, 27 May 2012 19:57:56 +0000 (21:57 +0200)]
NEWS: Add empty line and Vim modeline.

11 years agoNEWS: List fixes first.
Simon Ruderich [Sun, 27 May 2012 19:51:45 +0000 (21:51 +0200)]
NEWS: List fixes first.

11 years agoDetect overwrite of -D_FORTIFY_SOURCE=2 through 0 or 1.
Simon Ruderich [Sun, 27 May 2012 19:48:53 +0000 (21:48 +0200)]
Detect overwrite of -D_FORTIFY_SOURCE=2 through 0 or 1.

11 years agoClarify that no output means no flags are missing.
Simon Ruderich [Thu, 17 May 2012 11:10:37 +0000 (13:10 +0200)]
Clarify that no output means no flags are missing.

11 years agoWrap overlong line.
Simon Ruderich [Fri, 11 May 2012 15:20:10 +0000 (17:20 +0200)]
Wrap overlong line.

11 years agoIgnore false positives from moc-qt4.
Simon Ruderich [Fri, 11 May 2012 15:18:06 +0000 (17:18 +0200)]
Ignore false positives from moc-qt4.

11 years agot: Add a few more tests.
Simon Ruderich [Fri, 11 May 2012 13:30:04 +0000 (15:30 +0200)]
t: Add a few more tests.

11 years agoNEWS: Move latest version at the top.
Simon Ruderich [Fri, 11 May 2012 12:50:15 +0000 (14:50 +0200)]
NEWS: Move latest version at the top.

11 years agoMinor cleanup of POD SYNOPSIS.
Simon Ruderich [Fri, 11 May 2012 12:46:45 +0000 (14:46 +0200)]
Minor cleanup of POD SYNOPSIS.

11 years agoFix indentation.
Simon Ruderich [Mon, 30 Apr 2012 14:29:35 +0000 (16:29 +0200)]
Fix indentation.

Whitespace only change.

11 years agoAdd --ignore-arch-flag and --ignore-arch-line.
Simon Ruderich [Mon, 30 Apr 2012 14:28:12 +0000 (16:28 +0200)]
Add --ignore-arch-flag and --ignore-arch-line.

11 years agoFix --ignore-flag with -fPIE.
Simon Ruderich [Mon, 30 Apr 2012 12:45:40 +0000 (14:45 +0200)]
Fix --ignore-flag with -fPIE.

11 years agoNEWS: Fix invalid versions.
Simon Ruderich [Sun, 29 Apr 2012 08:48:06 +0000 (10:48 +0200)]
NEWS: Fix invalid versions.

11 years agoRemove unnecessary output in die.
Simon Ruderich [Tue, 17 Apr 2012 18:26:12 +0000 (20:26 +0200)]
Remove unnecessary output in die.

11 years agoDocument exit code for invalid CMake version in POD.
Simon Ruderich [Tue, 17 Apr 2012 18:25:43 +0000 (20:25 +0200)]
Document exit code for invalid CMake version in POD.

11 years agoDocument I-invalid-cmake-usage buildd tag in POD.
Simon Ruderich [Tue, 17 Apr 2012 18:24:58 +0000 (20:24 +0200)]
Document I-invalid-cmake-usage buildd tag in POD.

11 years agoFix missing arguments for =item in POD.
Simon Ruderich [Tue, 17 Apr 2012 14:52:30 +0000 (16:52 +0200)]
Fix missing arguments for =item in POD.

11 years agoChange "no-compiler-commands", "invalid-cmake-used" buildd tags to I-.
Simon Ruderich [Tue, 17 Apr 2012 14:40:50 +0000 (16:40 +0200)]
Change "no-compiler-commands", "invalid-cmake-used" buildd tags to I-.

11 years agoMove all buildd tag names in a hash.
Simon Ruderich [Tue, 17 Apr 2012 14:35:31 +0000 (16:35 +0200)]
Move all buildd tag names in a hash.

11 years agoRelease 0.02. 0.02
Simon Ruderich [Sat, 28 Apr 2012 08:55:12 +0000 (10:55 +0200)]
Release 0.02.

11 years agoFix --help, --version.
Simon Ruderich [Sat, 28 Apr 2012 08:51:46 +0000 (10:51 +0200)]
Fix --help, --version.

Broken in c2dd74aada8d92258b14727c057e5d02a4c8c7a4.

11 years agoBuild.PL: Add Module::Build to configure_requires.
Simon Ruderich [Sat, 28 Apr 2012 08:46:22 +0000 (10:46 +0200)]
Build.PL: Add Module::Build to configure_requires.

Module::Build requires itself in configure_requires.

11 years agoRemove -Wformat-security from expected CFLAGS.
Simon Ruderich [Sat, 28 Apr 2012 08:39:28 +0000 (10:39 +0200)]
Remove -Wformat-security from expected CFLAGS.

-Wformat-security is implied by -Werror=format-security and no longer
used since dpkg >= 1.16.3.

12 years agoMinor cleanup thanks to Perl::Critic. 0.01
Simon Ruderich [Fri, 13 Apr 2012 14:49:52 +0000 (16:49 +0200)]
Minor cleanup thanks to Perl::Critic.

12 years agoREADME: blhc can be run from the source tree.
Simon Ruderich [Fri, 13 Apr 2012 14:21:27 +0000 (16:21 +0200)]
README: blhc can be run from the source tree.

12 years agoMANIFEST: Add NEWS and README.
Simon Ruderich [Fri, 13 Apr 2012 14:05:48 +0000 (16:05 +0200)]
MANIFEST: Add NEWS and README.

12 years agoREADME: Explain hardening flags.
Simon Ruderich [Fri, 13 Apr 2012 13:51:10 +0000 (15:51 +0200)]
README: Explain hardening flags.

12 years agoAlso use buildd's "Architecture" header to detect architecture.
Simon Ruderich [Wed, 11 Apr 2012 23:09:44 +0000 (01:09 +0200)]
Also use buildd's "Architecture" header to detect architecture.

12 years agoAdd --ignore-arch option.
Simon Ruderich [Wed, 11 Apr 2012 23:08:44 +0000 (01:08 +0200)]
Add --ignore-arch option.

12 years agoNEWS: Add.
Simon Ruderich [Wed, 11 Apr 2012 15:42:40 +0000 (17:42 +0200)]
NEWS: Add.

12 years ago.gitignore: Ignore tags file.
Simon Ruderich [Wed, 11 Apr 2012 15:39:43 +0000 (17:39 +0200)]
.gitignore: Ignore tags file.

12 years agoChange !~ to not =~ for consistency.
Simon Ruderich [Wed, 11 Apr 2012 15:38:33 +0000 (17:38 +0200)]
Change !~ to not =~ for consistency.

12 years agot: Add another non-verbose test.
Simon Ruderich [Wed, 11 Apr 2012 14:54:29 +0000 (16:54 +0200)]
t: Add another non-verbose test.

12 years agoLine continuation (\) allows no spaces after \.
Simon Ruderich [Wed, 11 Apr 2012 14:24:42 +0000 (16:24 +0200)]
Line continuation (\) allows no spaces after \.

Simplify the regex accordingly.

12 years agoUse index() where possible.
Simon Ruderich [Wed, 11 Apr 2012 14:22:05 +0000 (16:22 +0200)]
Use index() where possible.

index() is faster than //.

12 years agoDon't recognize options which contain compiler names as compiler lines.
Simon Ruderich [Wed, 11 Apr 2012 11:40:24 +0000 (13:40 +0200)]
Don't recognize options which contain compiler names as compiler lines.

For example "-c++".

12 years agoDocument $cc_regex;
Simon Ruderich [Wed, 11 Apr 2012 11:36:42 +0000 (13:36 +0200)]
Document $cc_regex;

12 years agoRemove unnecessary capture groups.
Simon Ruderich [Wed, 11 Apr 2012 11:18:48 +0000 (13:18 +0200)]
Remove unnecessary capture groups.

12 years agoUpdate Pod documentation.
Simon Ruderich [Tue, 10 Apr 2012 22:30:01 +0000 (00:30 +0200)]
Update Pod documentation.

12 years agoFix indentation.
Simon Ruderich [Tue, 10 Apr 2012 22:25:34 +0000 (00:25 +0200)]
Fix indentation.

12 years agoAdd --ignore-flag and --ignore-line options.
Simon Ruderich [Tue, 10 Apr 2012 22:23:20 +0000 (00:23 +0200)]
Add --ignore-flag and --ignore-line options.

12 years agoAdd more tests.
Simon Ruderich [Tue, 10 Apr 2012 22:08:35 +0000 (00:08 +0200)]
Add more tests.

12 years agoRewrap comments.
Simon Ruderich [Tue, 10 Apr 2012 21:45:51 +0000 (23:45 +0200)]
Rewrap comments.

12 years agoFix indentation.
Simon Ruderich [Tue, 10 Apr 2012 21:44:27 +0000 (23:44 +0200)]
Fix indentation.

Whitespace only change.

12 years agoRemove unnecessary if.
Simon Ruderich [Tue, 10 Apr 2012 21:43:14 +0000 (23:43 +0200)]
Remove unnecessary if.

12 years agoFix typo in file extension for Objective-C++ code.
Simon Ruderich [Tue, 10 Apr 2012 20:46:08 +0000 (22:46 +0200)]
Fix typo in file extension for Objective-C++ code.

12 years agoFix preprocessor handling of .s and .S/.sx file extensions.
Simon Ruderich [Tue, 10 Apr 2012 20:44:39 +0000 (22:44 +0200)]
Fix preprocessor handling of .s and .S/.sx file extensions.

.s doesn't have to be preprocessed, but .S and .sx must be preprocessed.

12 years agoREADME: Add.
Simon Ruderich [Tue, 10 Apr 2012 20:35:05 +0000 (22:35 +0200)]
README: Add.

12 years agoAbort with an error if no files are given.
Simon Ruderich [Mon, 9 Apr 2012 21:27:31 +0000 (23:27 +0200)]
Abort with an error if no files are given.

12 years agoUpdate documentation for --buildd.
Simon Ruderich [Mon, 9 Apr 2012 17:02:32 +0000 (19:02 +0200)]
Update documentation for --buildd.

12 years agoBuild.PL: Require Term::ANSIColor 2.01 for colorstrip().
Simon Ruderich [Mon, 9 Apr 2012 16:19:51 +0000 (18:19 +0200)]
Build.PL: Require Term::ANSIColor 2.01 for colorstrip().

12 years agoUse references to flag arrays to reduce code duplication.
Simon Ruderich [Mon, 9 Apr 2012 16:18:33 +0000 (18:18 +0200)]
Use references to flag arrays to reduce code duplication.

12 years agoDon't use Term::ANSIColor in buildd mode.
Simon Ruderich [Mon, 9 Apr 2012 15:20:33 +0000 (17:20 +0200)]
Don't use Term::ANSIColor in buildd mode.

12 years agoPrevent / in extension in file extension regex.
Simon Ruderich [Mon, 9 Apr 2012 12:47:10 +0000 (14:47 +0200)]
Prevent / in extension in file extension regex.

12 years ago"Compiling" with no filename is not a non-verbose build.
Simon Ruderich [Sun, 8 Apr 2012 16:03:06 +0000 (18:03 +0200)]
"Compiling" with no filename is not a non-verbose build.

12 years agoHandle dependency generation flags (-M/-MM/-MD/-MMD).
Simon Ruderich [Sun, 8 Apr 2012 14:11:54 +0000 (16:11 +0200)]
Handle dependency generation flags (-M/-MM/-MD/-MMD).

12 years agoRemove duplication when creating %extension.
Simon Ruderich [Sun, 8 Apr 2012 13:29:35 +0000 (15:29 +0200)]
Remove duplication when creating %extension.

12 years agoFix indentation.
Simon Ruderich [Sun, 8 Apr 2012 12:55:22 +0000 (14:55 +0200)]
Fix indentation.

12 years agoRemove unnecessary capture groups.
Simon Ruderich [Sun, 8 Apr 2012 12:54:41 +0000 (14:54 +0200)]
Remove unnecessary capture groups.

12 years agoPrint file name when multiple files are checked.
Simon Ruderich [Fri, 6 Apr 2012 16:42:15 +0000 (18:42 +0200)]
Print file name when multiple files are checked.

12 years agoFix architecture detection when checking multiple files.
Simon Ruderich [Fri, 6 Apr 2012 16:33:56 +0000 (18:33 +0200)]
Fix architecture detection when checking multiple files.

12 years agoAdd missing \b when checking for dpkg-dev.
Simon Ruderich [Sat, 31 Mar 2012 13:19:18 +0000 (15:19 +0200)]
Add missing \b when checking for dpkg-dev.

12 years agoCheck for CMake version which obeyed CPPFLAGS.
Simon Ruderich [Sat, 31 Mar 2012 13:10:14 +0000 (15:10 +0200)]
Check for CMake version which obeyed CPPFLAGS.

Thanks to Aron Xu for informing me of this issue. For more information
see Debian bug #653916.

12 years agoStore exit codes in %exit_code.
Simon Ruderich [Sat, 31 Mar 2012 13:00:34 +0000 (15:00 +0200)]
Store exit codes in %exit_code.

12 years agoDetect more C++ non-verbose builds.
Simon Ruderich [Thu, 29 Mar 2012 15:42:15 +0000 (17:42 +0200)]
Detect more C++ non-verbose builds.

12 years agoWhitespace only change.
Simon Ruderich [Thu, 29 Mar 2012 15:11:30 +0000 (17:11 +0200)]
Whitespace only change.

12 years agoIgnore compiler lines with no files with extensions.
Simon Ruderich [Thu, 29 Mar 2012 15:06:20 +0000 (17:06 +0200)]
Ignore compiler lines with no files with extensions.

This prevents many false positives and shouldn't cause any false
negatives.

Also update $file_extension_regex to exclude ',', ';' and ':' from the
file extension which prevents additional false positives.

12 years agoAlso ignore PIE flags when -shared is used.
Simon Ruderich [Thu, 29 Mar 2012 14:00:43 +0000 (16:00 +0200)]
Also ignore PIE flags when -shared is used.

12 years agoUse tag W-no-compiler-commands in buildd mode.
Simon Ruderich [Tue, 27 Mar 2012 17:08:48 +0000 (19:08 +0200)]
Use tag W-no-compiler-commands in buildd mode.

12 years agoUse I<> for arguments in POD.
Simon Ruderich [Mon, 26 Mar 2012 19:51:30 +0000 (21:51 +0200)]
Use I<> for arguments in POD.

12 years agoList argument for --arch in POD.
Simon Ruderich [Mon, 26 Mar 2012 19:49:40 +0000 (21:49 +0200)]
List argument for --arch in POD.

12 years agoDon't list available options in SYNOPSIS.
Jari Aalto [Mon, 26 Mar 2012 19:47:42 +0000 (21:47 +0200)]
Don't list available options in SYNOPSIS.

12 years agoPrint tag messages including statistics in buildd mode.
Simon Ruderich [Mon, 26 Mar 2012 03:21:33 +0000 (05:21 +0200)]
Print tag messages including statistics in buildd mode.

12 years agoIgnore ', " and ) at the end of the line.
Simon Ruderich [Mon, 26 Mar 2012 02:17:39 +0000 (04:17 +0200)]
Ignore ', " and ) at the end of the line.

Necessary to detect cases like "(gcc test.c)".

12 years agoBe more liberal in non-verbose file name checks.
Simon Ruderich [Mon, 26 Mar 2012 02:11:58 +0000 (04:11 +0200)]
Be more liberal in non-verbose file name checks.

12 years agoUse default CFLAGS for CXXFLAGS too.
Simon Ruderich [Mon, 26 Mar 2012 02:06:13 +0000 (04:06 +0200)]
Use default CFLAGS for CXXFLAGS too.

12 years agoPrecompile flag regexps.
Simon Ruderich [Mon, 26 Mar 2012 02:05:07 +0000 (04:05 +0200)]
Precompile flag regexps.

Speeds up any_flags_used() and all_flags_used().

12 years agoUse simpler regex to catch compiler commands.
Simon Ruderich [Mon, 26 Mar 2012 01:37:38 +0000 (03:37 +0200)]
Use simpler regex to catch compiler commands.

12 years agoUse dedicated loop to ignore beginning of the log file.
Simon Ruderich [Mon, 26 Mar 2012 01:23:47 +0000 (03:23 +0200)]
Use dedicated loop to ignore beginning of the log file.

Prevents a few unnecessary checks for each line.

12 years agoRewrap comments.
Simon Ruderich [Mon, 26 Mar 2012 01:20:27 +0000 (03:20 +0200)]
Rewrap comments.

12 years agoFix indentation.
Simon Ruderich [Mon, 26 Mar 2012 01:18:03 +0000 (03:18 +0200)]
Fix indentation.

Whitespace only change.

12 years agoSupport multiple log files as arguments.
Simon Ruderich [Mon, 26 Mar 2012 01:15:10 +0000 (03:15 +0200)]
Support multiple log files as arguments.

Not really useful at the momemnt because the parser output is not
separated between the files.

12 years agot/tests.t: Remove duplication.
Simon Ruderich [Mon, 26 Mar 2012 01:05:31 +0000 (03:05 +0200)]
t/tests.t: Remove duplication.

'--pie --bindnow' has the same effect as '--all'.

12 years agoWhitespace only change.
Simon Ruderich [Mon, 26 Mar 2012 00:50:57 +0000 (02:50 +0200)]
Whitespace only change.

12 years agoStrip trailing whitspace only when necessary.
Simon Ruderich [Mon, 26 Mar 2012 00:46:31 +0000 (02:46 +0200)]
Strip trailing whitspace only when necessary.

If we don't split a line we don't have to touch it.

12 years agoCall Term::ANSIColor::colorstrip() only when necessary.
Simon Ruderich [Mon, 26 Mar 2012 00:34:47 +0000 (02:34 +0200)]
Call Term::ANSIColor::colorstrip() only when necessary.

Most build logs contain no colors at all and colorstrip() is quite slow.

12 years agoUse /o in regexps where possible.
Simon Ruderich [Mon, 26 Mar 2012 00:34:12 +0000 (02:34 +0200)]
Use /o in regexps where possible.

/o is a bit faster and works fine as our parsing regexps never change.

12 years agoUse hashes instead of regexps to check file extensions.
Simon Ruderich [Mon, 26 Mar 2012 00:19:34 +0000 (02:19 +0200)]
Use hashes instead of regexps to check file extensions.

Hashes are much faster. Additionally this fixes detecting ".c++" files
and false positives caused by files with double extensions (e.g.
".cpp.o") which were not correctly ignored.

12 years agoDifferentiate between CFLAGS and CPPFLAGS.
Simon Ruderich [Sun, 25 Mar 2012 15:41:50 +0000 (17:41 +0200)]
Differentiate between CFLAGS and CPPFLAGS.