]> ruderich.org/simon Gitweb - blhc/blhc.git/blobdiff - README
Consider lines with -O0 or -Og debug builds.
[blhc/blhc.git] / README
diff --git a/README b/README
index 9ef1fe8921fbee9439cd5419b06041cbcdf95176..5e58567bbf6899f0078a7af423ff3236c05aa2e5 100644 (file)
--- a/README
+++ b/README
@@ -13,12 +13,16 @@ all compiler commands use the correct hardening flags and thus all hardening
 features are correctly used.
 
 It's designed to check build logs generated by Debian's dpkg-buildpackage (or
-tools using dpkg-buildpackage like pbuilder or the official buildd build logs)
-to help maintainers detect missing hardening flags in their packages.
+tools using dpkg-buildpackage like pbuilder or sbuild (which is used for the
+official buildd build logs)) to help maintainers detect missing hardening
+flags in their packages.
 
 At the moment it works only on Debian and derivatives but it should be easily
 extendable to other systems as well. Patches are welcome.
 
+Only gcc is detected as compiler at the moment. If other compilers support
+hardening flags as well, please report them.
+
 For more information about hardening flags have a look at [1].
 
 [1]: https://wiki.debian.org/Hardening
@@ -30,6 +34,10 @@ DEPENDENCIES
 - Perl
   - Dpkg::Arch
   - Dpkg::Version
+  - Term::ANSIColor >= 2.01
+    Bundled with perl. A recent version is only necessary for build logs with
+    ANSI colors which is rare, blhc works fine without if the build log
+    doesn't use colors. Not required for buildd mode.
 
 
 USAGE
@@ -41,6 +49,8 @@ blhc can be run directly from the source tree (`bin/blhc`) or copied anywhere
 on the system. It doesn't have to be explicitly installed. To read the man
 page use `perldoc bin/blhc`.
 
+If there's no output, no flags are missing and the build log is fine.
+
 For more examples see the man page.
 
 
@@ -91,6 +101,15 @@ following line (output of dpkg-buildpackage):
 The available hardening flags are adapted to the architecture because some
 architectures don't support certain hardening options.
 
+Some checks check the build dependencies for certain packages. The following
+lines are used to get the build dependencies. The first two are used in buildd
+build logs (the second was used in older logs), the third by pbuilder logs,
+all are detected:
+
+    Filtered Buildd-Depends: ...
+    Build-Depends: ...
+    Depends: ...
+
 
 LIMITATIONS
 -----------
@@ -101,9 +120,13 @@ real compile process (output of dpkg-buildpackage):
     dpkg-buildpackage: ...
 
 If it's not present no compiler commands are detected. In case you don't use
-dpkp-buildpackage but still want to check a build log adding it as first line
+dpkp-buildpackage but still want to check a build log, adding it as first line
 should work fine.
 
+To prevent false positives when checking debug builds, compiler lines
+containing '-OO' or '-Og' are considered debug builds and are not checked for
+'-O2', even though fortification doesn't work without '-O2'.
+
 The following non-verbose builds can't be detected:
 
     gcc -o test
@@ -151,7 +174,7 @@ LICENSE
 
 blhc is licensed under GPL version 3 or later.
 
-Copyright (C) 2012  Simon Ruderich
+Copyright (C) 2012-2013  Simon Ruderich
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by