aboutsummaryrefslogtreecommitdiff
path: root/sysutils/bulk_extractor
diff options
context:
space:
mode:
authorAntoine Brodin <antoine@FreeBSD.org>2013-11-02 20:17:28 +0000
committerAntoine Brodin <antoine@FreeBSD.org>2013-11-02 20:17:28 +0000
commitc906e171d95040fe50a5dca58c48b33429c93ff3 (patch)
treec2988a153e80dc418d33f7a5ef000604c58d73c7 /sysutils/bulk_extractor
parentd78b21ad4b7cde7105bca5f7c01149afa6191f4a (diff)
downloadports-c906e171d95040fe50a5dca58c48b33429c93ff3.tar.gz
ports-c906e171d95040fe50a5dca58c48b33429c93ff3.zip
- update to 1.4.0
- patch to unbreak with clang and libc++ - LICENSE is GPLv3 due to a file polluting - remove article from COMMENT - convert to STAGEDIR - new LIB_DEPENDS syntax - option to build BEViewer (java frontend) PR: ports/183101 Approved by: maintainer timeout (2 weeks)
Notes
Notes: svn path=/head/; revision=332540
Diffstat (limited to 'sysutils/bulk_extractor')
-rw-r--r--sysutils/bulk_extractor/Makefile47
-rw-r--r--sysutils/bulk_extractor/distinfo4
-rw-r--r--sysutils/bulk_extractor/files/patch-configure.ac17
-rw-r--r--sysutils/bulk_extractor/files/patch-src__be13_api__plugin.cpp48
-rw-r--r--sysutils/bulk_extractor/files/patch-src__be13_api__sbuf.h11
-rw-r--r--sysutils/bulk_extractor/files/patch-src__bulk_extractor.cpp15
-rw-r--r--sysutils/bulk_extractor/files/patch-src__scan_bulk.cpp11
-rw-r--r--sysutils/bulk_extractor/files/patch-src__scan_exif.cpp24
-rw-r--r--sysutils/bulk_extractor/files/patch-src__scan_exiv2.cpp24
-rw-r--r--sysutils/bulk_extractor/files/patch-src__scan_net.cpp31
-rw-r--r--sysutils/bulk_extractor/files/patch-src__stand.cpp11
-rw-r--r--sysutils/bulk_extractor/files/patch-src__word_and_context_list.h40
-rw-r--r--sysutils/bulk_extractor/files/patch-src_scan_net.cpp21
13 files changed, 248 insertions, 56 deletions
diff --git a/sysutils/bulk_extractor/Makefile b/sysutils/bulk_extractor/Makefile
index a1b3496b0021..d447d9c309a6 100644
--- a/sysutils/bulk_extractor/Makefile
+++ b/sysutils/bulk_extractor/Makefile
@@ -2,31 +2,46 @@
# $FreeBSD$
PORTNAME= bulk_extractor
-PORTVERSION= 1.2.2
-PORTREVISION= 1
+PORTVERSION= 1.4.0
CATEGORIES= sysutils
-MASTER_SITES= http://cloud.github.com/downloads/simsong/bulk_extractor/
+MASTER_SITES= http://www.digitalcorpora.org/downloads/bulk_extractor/
MAINTAINER= nobutaka@FreeBSD.org
-COMMENT= A program that scans a disk image and extracts useful information
+COMMENT= Program that scans a disk image and extracts useful information
-LICENSE= PD
-LICENSE_NAME= public domain
+LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-LIB_DEPENDS= afflib:${PORTSDIR}/sysutils/afflib \
- ewf:${PORTSDIR}/devel/libewf \
- exiv2:${PORTSDIR}/graphics/exiv2 \
- expat:${PORTSDIR}/textproc/expat2
+LIB_DEPENDS= libafflib.so:${PORTSDIR}/sysutils/afflib \
+ libewf.so:${PORTSDIR}/devel/libewf \
+ libexiv2.so:${PORTSDIR}/graphics/exiv2 \
+ libexpat.so:${PORTSDIR}/textproc/expat2
-USE_AUTOTOOLS= autoconf
USE_OPENSSL= yes
-USE_PYTHON= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --enable-exiv2=true
+CPPFLAGS+= -I${LOCALBASE}/include
-MAN1= bulk_extractor.1
+PLIST_FILES= bin/bulk_extractor bin/plugin_test man/man1/bulk_extractor.1.gz
-PLIST_FILES= bin/bulk_extractor
+OPTIONS_DEFINE= BEVIEWER
+BEVIEWER_DESC= Build BEViewer (requires Java)
+OPTIONS_DEFAULT=BEVIEWER
+
+BEVIEWER_CONFIGURE_OFF= --disable-BEViewer
+BEVIEWER_USE= JAVA=yes
+BEVIEWER_PLIST_FILES= bin/BEViewer bin/BEViewer.jar
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == i386 && ! ${CFLAGS:M-march=*}
+# Needed for __sync_add_and_fetch_8
+CFLAGS+= -march=i586
+.endif
+
+.if ${OSVERSION} < 1000033
+BUILD_DEPENDS= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex
+CONFIGURE_ENV= LEX=${LOCALBASE}/bin/flex
+.endif
-NO_STAGE= yes
.include <bsd.port.mk>
diff --git a/sysutils/bulk_extractor/distinfo b/sysutils/bulk_extractor/distinfo
index be9fa7d3e475..61632e1b6602 100644
--- a/sysutils/bulk_extractor/distinfo
+++ b/sysutils/bulk_extractor/distinfo
@@ -1,2 +1,2 @@
-SHA256 (bulk_extractor-1.2.2.tar.gz) = d53cd3586d7a980fbf8e37eeb7b332a6a1f70f126bd4b2c831be6377b33412cb
-SIZE (bulk_extractor-1.2.2.tar.gz) = 2348436
+SHA256 (bulk_extractor-1.4.0.tar.gz) = 664df29fc0276f8d1b9ff259db13229ea01724915d6ad69493facdc2b4b44dd9
+SIZE (bulk_extractor-1.4.0.tar.gz) = 4346859
diff --git a/sysutils/bulk_extractor/files/patch-configure.ac b/sysutils/bulk_extractor/files/patch-configure.ac
deleted file mode 100644
index ed13124c0e31..000000000000
--- a/sysutils/bulk_extractor/files/patch-configure.ac
+++ /dev/null
@@ -1,17 +0,0 @@
---- configure.ac.orig 2012-04-30 02:24:19.000000000 +0900
-+++ configure.ac 2012-04-30 02:24:27.000000000 +0900
-@@ -371,12 +371,14 @@
- AC_CHECK_LIB([expat],[XML_ParserCreate])
- fi
-
-+AC_LANG_PUSH(C++)
- if test "${exiv2}" != "no" ; then
- dnl check to see if we have the relevant headers
- AC_CHECK_HEADER([exiv2/image.hpp])
- AC_CHECK_HEADER([exiv2/exif.hpp])
- AC_CHECK_HEADER([exiv2/error.hpp])
- fi
-+AC_LANG_POP()
-
- AC_TRY_COMPILE([#pragma GCC diagnostic ignored "-Wshadow"],[],
- [AC_DEFINE(GNUC_HAS_DIAGNOSTIC_PRAGMA,1,[define 1 if GCC supports #pragma GCC diagnostic])]
diff --git a/sysutils/bulk_extractor/files/patch-src__be13_api__plugin.cpp b/sysutils/bulk_extractor/files/patch-src__be13_api__plugin.cpp
new file mode 100644
index 000000000000..12c097f4f7f8
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__be13_api__plugin.cpp
@@ -0,0 +1,48 @@
+--- ./src/be13_api/plugin.cpp.orig 2013-08-18 16:35:29.000000000 +0000
++++ ./src/be13_api/plugin.cpp 2013-10-19 13:12:21.000000000 +0000
+@@ -9,7 +9,16 @@
+ #include <sys/stat.h>
+ #include <dirent.h>
+ #include <algorithm>
++#ifdef __clang__
++#if __has_include(<unordered_set>)
++#define HAVE_CXX11_UNORDERED_SET 1
++#endif
++#endif
++#ifdef HAVE_CXX11_UNORDERED_SET
++#include <unordered_set>
++#else
+ #include <tr1/unordered_set>
++#endif
+ #ifdef HAVE_ERR_H
+ #include <err.h>
+ #endif
+@@ -23,20 +32,28 @@
+ #include "../dfxml/src/hash_t.h"
+
+ namespace std {
++#ifndef HAVE_CXX11_UNORDERED_SET
+ namespace tr1 {
++#endif
+ template<>
+ struct hash<md5_t> {
+ size_t operator()(const md5_t &key) const {
+ return *(size_t *)(key.final());
+ }
+ };
++#ifndef HAVE_CXX11_UNORDERED_SET
+ }
++#endif
+ }
+
+ class atomic_hash_set
+ {
+ cppmutex M;
++#ifdef HAVE_CXX11_UNORDERED_SET
++ std::unordered_set<md5_t>myset;
++#else
+ std::tr1::unordered_set<md5_t>myset;
++#endif
+ public:
+ atomic_hash_set():M(),myset(){}
+ bool in(const md5_t &s){
diff --git a/sysutils/bulk_extractor/files/patch-src__be13_api__sbuf.h b/sysutils/bulk_extractor/files/patch-src__be13_api__sbuf.h
new file mode 100644
index 000000000000..ee7125e00980
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__be13_api__sbuf.h
@@ -0,0 +1,11 @@
+--- ./src/be13_api/sbuf.h.orig 2013-08-19 18:54:59.000000000 +0000
++++ ./src/be13_api/sbuf.h 2013-10-19 13:09:32.000000000 +0000
+@@ -61,7 +61,7 @@
+ * in a 64-bit number.
+ */
+
+-inline int stoi(std::string str){
++inline int be13stoi(std::string str){
+ std::istringstream ss(str);
+ int val(0);
+ ss >> val;
diff --git a/sysutils/bulk_extractor/files/patch-src__bulk_extractor.cpp b/sysutils/bulk_extractor/files/patch-src__bulk_extractor.cpp
new file mode 100644
index 000000000000..bdbc0ad19d4b
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__bulk_extractor.cpp
@@ -0,0 +1,15 @@
+--- ./src/bulk_extractor.cpp.orig 2013-09-04 17:58:01.000000000 +0000
++++ ./src/bulk_extractor.cpp 2013-10-19 13:09:32.000000000 +0000
+@@ -1042,9 +1042,9 @@
+ feature_recorder *fr = fs.get_name(params.at(1));
+ const std::string &cmd = params.at(2);
+ if(fr){
+- if(cmd=="window") fr->set_context_window(stoi(it->second));
+- if(cmd=="window_before") fr->set_context_window_before(stoi(it->second));
+- if(cmd=="window_after") fr->set_context_window_after(stoi(it->second));
++ if(cmd=="window") fr->set_context_window(be13stoi(it->second));
++ if(cmd=="window_before") fr->set_context_window_before(be13stoi(it->second));
++ if(cmd=="window_after") fr->set_context_window_after(be13stoi(it->second));
+ }
+ }
+ /* See if there is a scanner? */
diff --git a/sysutils/bulk_extractor/files/patch-src__scan_bulk.cpp b/sysutils/bulk_extractor/files/patch-src__scan_bulk.cpp
new file mode 100644
index 000000000000..b5e03932ca3d
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__scan_bulk.cpp
@@ -0,0 +1,11 @@
+--- ./src/scan_bulk.cpp.orig 2013-08-18 16:39:31.000000000 +0000
++++ ./src/scan_bulk.cpp 2013-10-19 13:09:32.000000000 +0000
+@@ -145,7 +145,7 @@
+ exit(1);
+ }
+
+- uint32_t len = stoi(vals[1]);
++ uint32_t len = be13stoi(vals[1]);
+
+ // If no data for this sector, simply append this type
+ // and then continue
diff --git a/sysutils/bulk_extractor/files/patch-src__scan_exif.cpp b/sysutils/bulk_extractor/files/patch-src__scan_exif.cpp
new file mode 100644
index 000000000000..9d9c7b003ed7
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__scan_exif.cpp
@@ -0,0 +1,24 @@
+--- ./src/scan_exif.cpp.orig 2013-08-18 16:39:17.000000000 +0000
++++ ./src/scan_exif.cpp 2013-10-19 13:09:32.000000000 +0000
+@@ -213,7 +213,7 @@
+ * Used for helping to convert TIFF's GPS format to decimal lat/long
+ */
+
+-static double stod(string s)
++static double be13stod(string s)
+ {
+ double d=0;
+ sscanf(s.c_str(),"%lf",&d);
+@@ -223,9 +223,9 @@
+ static double rational(string s)
+ {
+ std::vector<std::string> parts = split(s,'/');
+- if(parts.size()!=2) return stod(s); // no slash, so return without
+- double top = stod(parts[0]);
+- double bot = stod(parts[1]);
++ if(parts.size()!=2) return be13stod(s); // no slash, so return without
++ double top = be13stod(parts[0]);
++ double bot = be13stod(parts[1]);
+ return bot>0 ? top / bot : top;
+ }
+
diff --git a/sysutils/bulk_extractor/files/patch-src__scan_exiv2.cpp b/sysutils/bulk_extractor/files/patch-src__scan_exiv2.cpp
new file mode 100644
index 000000000000..b13b17aca364
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__scan_exiv2.cpp
@@ -0,0 +1,24 @@
+--- ./src/scan_exiv2.cpp.orig 2013-08-18 16:39:17.000000000 +0000
++++ ./src/scan_exiv2.cpp 2013-10-19 13:09:32.000000000 +0000
+@@ -68,7 +68,7 @@
+ * Used for helping to convert libexiv2's GPS format to decimal lat/long
+ */
+
+-static double stod(string s)
++static double be13stod(string s)
+ {
+ double d=0;
+ sscanf(s.c_str(),"%lf",&d);
+@@ -78,9 +78,9 @@
+ static double rational(string s)
+ {
+ std::vector<std::string> parts = split(s,'/');
+- if(parts.size()!=2) return stod(s); // no slash, so return without
+- double top = stod(parts[0]);
+- double bot = stod(parts[1]);
++ if(parts.size()!=2) return be13stod(s); // no slash, so return without
++ double top = be13stod(parts[0]);
++ double bot = be13stod(parts[1]);
+ return bot>0 ? top / bot : top;
+ }
+
diff --git a/sysutils/bulk_extractor/files/patch-src__scan_net.cpp b/sysutils/bulk_extractor/files/patch-src__scan_net.cpp
new file mode 100644
index 000000000000..1306ac101f1b
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__scan_net.cpp
@@ -0,0 +1,31 @@
+--- ./src/scan_net.cpp.orig 2013-08-18 16:39:17.000000000 +0000
++++ ./src/scan_net.cpp 2013-10-19 13:09:32.000000000 +0000
+@@ -27,7 +27,16 @@
+ #include "be13_api/utils.h"
+
+ #include <set>
++#ifdef __clang__
++#if __has_include(<unordered_set>)
++#define HAVE_CXX11_UNORDERED_SET 1
++#endif
++#endif
++#ifdef HAVE_CXX11_UNORDERED_SET
++#include <unordered_set>
++#else
+ #include <tr1/unordered_set>
++#endif
+
+ #include <sys/types.h>
+ #include <stdlib.h>
+@@ -603,7 +612,11 @@
+ return *this; // no-op
+ }
+ public:
++#ifdef HAVE_CXX11_UNORDERED_SET
++ typedef std::unordered_set<const void *> packetset;
++#else
+ typedef std::tr1::unordered_set<const void *> packetset;
++#endif
+ feature_recorder_set &fs;
+ packetset ps;
+ feature_recorder *ip_recorder;
diff --git a/sysutils/bulk_extractor/files/patch-src__stand.cpp b/sysutils/bulk_extractor/files/patch-src__stand.cpp
new file mode 100644
index 000000000000..5d848e2bd7b2
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__stand.cpp
@@ -0,0 +1,11 @@
+--- ./src/stand.cpp.orig 2012-12-12 15:36:14.000000000 +0000
++++ ./src/stand.cpp 2013-10-19 13:09:32.000000000 +0000
+@@ -91,7 +91,7 @@
+
+ if(argc!=1) usage();
+
+- opt_scan_bulk_block_size = stoi(be_config["bulk_block_size"]);
++ opt_scan_bulk_block_size = be13stoi(be_config["bulk_block_size"]);
+
+ feature_file_names_t feature_file_names;
+ enable_feature_recorders(feature_file_names);
diff --git a/sysutils/bulk_extractor/files/patch-src__word_and_context_list.h b/sysutils/bulk_extractor/files/patch-src__word_and_context_list.h
new file mode 100644
index 000000000000..db4c713a358d
--- /dev/null
+++ b/sysutils/bulk_extractor/files/patch-src__word_and_context_list.h
@@ -0,0 +1,40 @@
+--- ./src/word_and_context_list.h.orig 2012-12-12 15:36:14.000000000 +0000
++++ ./src/word_and_context_list.h 2013-10-19 13:09:32.000000000 +0000
+@@ -29,8 +29,18 @@
+ * Typically this is used for stop lists and alert lists.
+ */
+
++#ifdef __clang__
++#if __has_include(<unordered_set>)
++#define HAVE_CXX11_UNORDERED_SET 1
++#endif
++#endif
++#ifdef HAVE_CXX11_UNORDERED_SET
++#include <unordered_map>
++#include <unordered_set>
++#else
+ #include <tr1/unordered_map>
+ #include <tr1/unordered_set>
++#endif
+
+ class context {
+ public:
+@@ -75,10 +85,18 @@
+ */
+ class word_and_context_list {
+ private:
++#ifdef HAVE_CXX11_UNORDERED_SET
++ typedef unordered_multimap<string,context> stopmap_t;
++#else
+ typedef tr1::unordered_multimap<string,context> stopmap_t;
++#endif
+ stopmap_t fcmap; // maps features to contexts; for finding them
+
++#ifdef HAVE_CXX11_UNORDERED_SET
++ typedef unordered_set< string > stopset_t;
++#else
+ typedef tr1::unordered_set< string > stopset_t;
++#endif
+ stopset_t context_set; // presence of a pair in fcmap
+
+ beregex_vector patterns;
diff --git a/sysutils/bulk_extractor/files/patch-src_scan_net.cpp b/sysutils/bulk_extractor/files/patch-src_scan_net.cpp
deleted file mode 100644
index ac0e3e961760..000000000000
--- a/sysutils/bulk_extractor/files/patch-src_scan_net.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
---- src/scan_net.cpp.orig 2012-04-30 02:52:53.000000000 +0900
-+++ src/scan_net.cpp 2012-04-30 02:53:04.000000000 +0900
-@@ -28,6 +28,7 @@
- #include <tr1/unordered_set>
-
- #include <sys/types.h>
-+#include <sys/socket.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
-@@ -233,8 +234,8 @@
- u_int8_t ip_ttl; /* time to live */
- u_int8_t ip_p; /* protocol */
- u_short ip_sum; /* checksum */
-- uint32_t ip_src;
-- uint32_t ip_dst; /* source and dest address */
-+ struct in_addr ip_src;
-+ struct in_addr ip_dst; /* source and dest address */
- };
- #endif
-