pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

afl-cov: add new package



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By:	wiz
Date:		Sun Jun 26 23:55:46 2016 +0200
Changeset:	884b41bc67af2c775dbf6b51fd67d8288addb4a2

Modified Files:
	Makefile
Added Files:
	afl-cov/DESCR
	afl-cov/Makefile
	afl-cov/PLIST
	afl-cov/distinfo

Log Message:
afl-cov: add new package

Feel free to import it to pkgsrc if you find it useful.

afl-cov uses test case files produced by the AFL fuzzer afl-fuzz
to generate gcov code coverage results for a targeted binary. Code
coverage is interpreted from one case to the next by afl-cov in
order to determine which new functions and lines are hit by AFL
with each new test case. Further, afl-cov allows for specific lines
or functions to be searched for within coverage results, and when
a match is found the corresponding test case file is displayed.
This allows the user to discover which AFL test case is the first
to exercise a particular function. In addition, afl-cov produces a
"zero coverage" report of functions and lines that were never
executed during any AFL fuzzing run.

Although of no use to AFL itself, the main application of afl-cov
is to wrap some automation around gcov together with AFL test cases
and thereby provide data on how to maximize code coverage with AFL
fuzzing runs. Manual interpretation of cumulative gcov results from
AFL test cases is usually still required, but the "fiddly" steps
of iterating over all test cases and generating code coverage reports
(along with the "zero coverage" report) is automated by afl-cov.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=884b41bc67af2c775dbf6b51fd67d8288addb4a2

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile         |  1 +
 afl-cov/DESCR    | 19 +++++++++++++++++++
 afl-cov/Makefile | 29 +++++++++++++++++++++++++++++
 afl-cov/PLIST    |  3 +++
 afl-cov/distinfo |  6 ++++++
 5 files changed, 58 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 206e5ec..63b2040 100644
--- a/Makefile
+++ b/Makefile
@@ -80,6 +80,7 @@ SUBDIR+=	aegis-devel
 SUBDIR+=	aegisub
 SUBDIR+=	aespipe
 SUBDIR+=	afflib
+SUBDIR+=	afl-cov
 SUBDIR+=	agfl
 SUBDIR+=	agile
 SUBDIR+=	ags
diff --git a/afl-cov/DESCR b/afl-cov/DESCR
new file mode 100644
index 0000000..4d67373
--- /dev/null
+++ b/afl-cov/DESCR
@@ -0,0 +1,19 @@
+afl-cov uses test case files produced by the AFL fuzzer afl-fuzz
+to generate gcov code coverage results for a targeted binary. Code
+coverage is interpreted from one case to the next by afl-cov in
+order to determine which new functions and lines are hit by AFL
+with each new test case. Further, afl-cov allows for specific lines
+or functions to be searched for within coverage results, and when
+a match is found the corresponding test case file is displayed.
+This allows the user to discover which AFL test case is the first
+to exercise a particular function. In addition, afl-cov produces a
+"zero coverage" report of functions and lines that were never
+executed during any AFL fuzzing run.
+
+Although of no use to AFL itself, the main application of afl-cov
+is to wrap some automation around gcov together with AFL test cases
+and thereby provide data on how to maximize code coverage with AFL
+fuzzing runs. Manual interpretation of cumulative gcov results from
+AFL test cases is usually still required, but the "fiddly" steps
+of iterating over all test cases and generating code coverage reports
+(along with the "zero coverage" report) is automated by afl-cov.
diff --git a/afl-cov/Makefile b/afl-cov/Makefile
new file mode 100644
index 0000000..ee09882
--- /dev/null
+++ b/afl-cov/Makefile
@@ -0,0 +1,29 @@
+# $NetBSD$
+
+DISTNAME=	afl-cov-0.6
+CATEGORIES=	devel
+MASTER_SITES=	${MASTER_SITE_GITHUB:=mrash/}
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/mrash/afl-cov/
+COMMENT=	Produce code coverage results with gcov from afl-fuzz test cases
+LICENSE=	gnu-gpl-v2
+
+DEPENDS+=	lcov-[0-9]*:../../devel/lcov
+DEPENDS+=	afl-[0-9]*:../../devel/afl
+
+USE_LANGUAGES=	# none
+
+REPLACE_PYTHON+=	afl-cov
+PYTHON_VERSIONS_INCOMPATIBLE=	33 34 35 # as of 0.6
+
+INSTALLATION_DIRS+=	bin share/doc/afl-cov
+
+do-build:
+
+do-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/afl-cov ${DESTDIR}${PREFIX}/bin
+	${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/share/doc/afl-cov
+
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/afl-cov/PLIST b/afl-cov/PLIST
new file mode 100644
index 0000000..203e257
--- /dev/null
+++ b/afl-cov/PLIST
@@ -0,0 +1,3 @@
+@comment $NetBSD$
+bin/afl-cov
+share/doc/afl-cov/README.md
diff --git a/afl-cov/distinfo b/afl-cov/distinfo
new file mode 100644
index 0000000..95e26d7
--- /dev/null
+++ b/afl-cov/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+SHA1 (afl-cov-0.6.tar.gz) = d71c3bdb6c5ebc3a5613412ea3c977c06db3dbd3
+RMD160 (afl-cov-0.6.tar.gz) = cbbdaafa62101fb0fd21c6a0a16bc402d121d65b
+SHA512 (afl-cov-0.6.tar.gz) = c59cce1b6d075adf716c57d5c818b1056814a3aeebc547bf5eca7f36941c8f21bcfd3497deefeebd916f015fda5aaad136bc29e0af86f4eb32f1287b426ae332
+Size (afl-cov-0.6.tar.gz) = 654998 bytes


Home | Main Index | Thread Index | Old Index