ntop: sync with gentoo

This commit is contained in:
blshkv 2017-03-23 10:02:23 +08:00
parent c8595c34c3
commit 0f0620a94c
No known key found for this signature in database
GPG key ID: 9CCF6FCB8D8A14BF
8 changed files with 300 additions and 109 deletions

View file

@ -0,0 +1,27 @@
--- a/configure
+++ b/configure
@@ -18983,7 +18983,7 @@
else
LIBS="${LIBS} ${PYTHON_LIBS}"
- PYTHON_INCS=`$PYTHON_CONFIG --cflags | sed -e "s/-arch i386//" | sed -e "s/-arch ppc//" | sed -e "s/-arch x86_64//"`
+ PYTHON_INCS=`$PYTHON_CONFIG --includes | sed -e "s/-arch i386//" | sed -e "s/-arch ppc//" | sed -e "s/-arch x86_64//"`
INCS="${INCS} ${PYTHON_INCS}"
@@ -19335,15 +19335,6 @@
for(i=NF; i>0; i--) { \
if ($i in fields) { } else { fields[$i]="."; out[i]=$i } \
} \
- for(i=1; i<=NF; i++) { \
- if (i in out) { printf("%s ", out[i]) } \
- } \
- print "" \
- }'`
- INCS=`echo ${INCS} | ${ac_cv_prog_AWK} '{ \
- for(i=NF; i>0; i--) { \
- if ($i in fields) { } else { fields[$i]="."; out[i]=$i } \
- } \
for(i=1; i<=NF; i++) { \
if (i in out) { printf("%s ", out[i]) } \
} \

View file

@ -1,3 +1,114 @@
--- a/configure.in
+++ b/configure.in
@@ -469,11 +469,6 @@
LOCALEDIR="/usr/lib/locale"
fi
-dnl> Add /usr/local/ /opt/local
-CFLAGS="${CFLAGS} -I/usr/local/include -I/opt/local/include"
-CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/opt/local/include"
-LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/opt/local/lib"
-
PWD=`pwd`
echo
@@ -1739,18 +1734,6 @@
if test ".${ac_cv_lib_GeoIP_GeoIP_record_by_ipnum}" = ".yes"; then
LIBS="$LIBS -lGeoIP"
-if test -f "GeoLiteCity.dat"; then
- echo "GeoLiteCity.dat already present"
-else
- if test -f "3rd_party/GeoLiteCity.dat.gz"; then
- cp 3rd_party/GeoLiteCity.dat.gz .
- else
- wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
- fi
-
- gunzip GeoLiteCity.dat.gz
-fi
-
dnl> --------
if test -f "GeoIPASNum.dat"; then
@@ -1769,8 +1752,11 @@
exit 1
fi
-cp "3rd_party/oui.txt.gz" .
-cp "3rd_party/specialMAC.txt.gz" .
+gunzip 3rd_party/GeoLiteCity.dat.gz &&
+mv "3rd_party/etter.finger.os.gz" . &&
+mv "3rd_party/oui.txt.gz" . &&
+mv "3rd_party/specialMAC.txt.gz" . ||
+ exit 1
if test -d ./configureextra; then
@@ -1931,7 +1917,6 @@
AC_SUBST(SO_VERSION_PATCH)
AC_SUBST(RRD_LIB)
AC_SUBST(RRD_INC)
-AC_SUBST(GEO_DIR)
AC_SUBST(GETOPT_H)
AC_SUBST(GETOPT_C)
AC_SUBST(NDPI_LIB)
--- a/globals-core.c
+++ b/globals-core.c
@@ -369,7 +369,7 @@
_mtuSize[DLT_ATM_RFC1483] = 9180 /* LLC/SNAP encapsulated atm */;
_headerSize[DLT_ATM_RFC1483] = 0;
- /* _mtuSize[DLT_RAW] = ? raw IP */
+ _mtuSize[DLT_RAW] = 1500; /* raw IP */
_headerSize[DLT_RAW] = 0;
/* Others defined in bpf.h at tcpdump.org as of the resync - it would be NICE
@@ -470,19 +470,18 @@
struct stat statbuf;
/* Initialize GeoIP databases */
- for(i=0; myGlobals.configFileDirs[i] != NULL; i++) {
+ {
char path[256];
safe_snprintf(__FILE__, __LINE__, path, sizeof(path),
"%s%c%s",
- myGlobals.configFileDirs[i],
+ myGlobals.dbPath,
CONST_PATH_SEP, GEO_IP_FILE);
revertSlashIfWIN32(path, 0);
if(stat(path, &statbuf) == 0) {
if((myGlobals.geo_ip_db = GeoIP_open(path, GEOIP_CHECK_CACHE)) != NULL) {
traceEvent(CONST_TRACE_INFO, "GeoIP: loaded config file %s", path);
- break;
}
}
}
@@ -491,20 +490,18 @@
traceEvent(CONST_TRACE_ERROR, "GeoIP: unable to load file %s", GEO_IP_FILE);
/* *************************** */
-
- for(i=0; myGlobals.configFileDirs[i] != NULL; i++) {
+ {
char path[256];
safe_snprintf(__FILE__, __LINE__, path, sizeof(path),
"%s%c%s",
- myGlobals.configFileDirs[i],
+ myGlobals.dbPath,
CONST_PATH_SEP, GEO_IP_ASN_FILE);
revertSlashIfWIN32(path, 0);
if(stat(path, &statbuf) == 0) {
if((myGlobals.geo_ip_asn_db = GeoIP_open(path, GEOIP_CHECK_CACHE)) != NULL) {
traceEvent(CONST_TRACE_INFO, "GeoIP: loaded ASN config file %s", path);
- break;
}
}
}
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,6 @@
@ -116,62 +227,6 @@
# ntop census
census-fail:
--- a/globals-core.c
+++ b/globals-core.c
@@ -369,7 +369,7 @@
_mtuSize[DLT_ATM_RFC1483] = 9180 /* LLC/SNAP encapsulated atm */;
_headerSize[DLT_ATM_RFC1483] = 0;
- /* _mtuSize[DLT_RAW] = ? raw IP */
+ _mtuSize[DLT_RAW] = 1500; /* raw IP */
_headerSize[DLT_RAW] = 0;
/* Others defined in bpf.h at tcpdump.org as of the resync - it would be NICE
@@ -470,19 +470,18 @@
struct stat statbuf;
/* Initialize GeoIP databases */
- for(i=0; myGlobals.configFileDirs[i] != NULL; i++) {
+ {
char path[256];
safe_snprintf(__FILE__, __LINE__, path, sizeof(path),
"%s%c%s",
- myGlobals.configFileDirs[i],
+ myGlobals.dbPath,
CONST_PATH_SEP, GEO_IP_FILE);
revertSlashIfWIN32(path, 0);
if(stat(path, &statbuf) == 0) {
if((myGlobals.geo_ip_db = GeoIP_open(path, GEOIP_CHECK_CACHE)) != NULL) {
traceEvent(CONST_TRACE_INFO, "GeoIP: loaded config file %s", path);
- break;
}
}
}
@@ -491,20 +490,18 @@
traceEvent(CONST_TRACE_ERROR, "GeoIP: unable to load file %s", GEO_IP_FILE);
/* *************************** */
-
- for(i=0; myGlobals.configFileDirs[i] != NULL; i++) {
+ {
char path[256];
safe_snprintf(__FILE__, __LINE__, path, sizeof(path),
"%s%c%s",
- myGlobals.configFileDirs[i],
+ myGlobals.dbPath,
CONST_PATH_SEP, GEO_IP_ASN_FILE);
revertSlashIfWIN32(path, 0);
if(stat(path, &statbuf) == 0) {
if((myGlobals.geo_ip_asn_db = GeoIP_open(path, GEOIP_CHECK_CACHE)) != NULL) {
traceEvent(CONST_TRACE_INFO, "GeoIP: loaded ASN config file %s", path);
- break;
}
}
}
--- a/report.c
+++ b/report.c
@@ -2299,7 +2299,7 @@

View file

@ -0,0 +1,20 @@
--- a/nDPI/src/lib/protocols/netflow.c
+++ b/nDPI/src/lib/protocols/netflow.c
@@ -19,6 +19,7 @@
#include "ipq_utils.h"
+#include <time.h> /* time() */
#ifdef NTOP_PROTOCOL_NETFLOW
--- a/nDPI/src/lib/protocols/ssl.c
+++ b/nDPI/src/lib/protocols/ssl.c
@@ -22,6 +22,7 @@
#include "ipq_utils.h"
+#include <ctype.h> /* isalpha() isdigit() ... */
#ifdef IPOQUE_PROTOCOL_SSL

View file

@ -0,0 +1,31 @@
--- a/configure.in
+++ b/configure.in
@@ -887,28 +887,6 @@
fi
fi
-RRD_LIB="-L${RRD_HOME}/lib -lrrd_th"
-
-if test -f "$RRD_HOME/lib/librrd_th.so"; then
- AC_MSG_RESULT(checking for rrdtool... yes)
-else
- if test -f "$RRD_HOME/lib/librrd_th.dylib"; then # OSX
- AC_MSG_RESULT(checking for rrdtool... yes)
- else
- if test -f "$RRD_HOME/lib/librrd_th.a"; then
- AC_MSG_RESULT(checking for rrdtool... yes)
- else
- AC_CHECK_LIB([rrd_th], [main])
- if test ".${ac_cv_lib_rrd_th_main}" != ".yes"; then
- AC_MSG_ERROR(Unable to find RRD at $RRD_HOME: please use --with-rrd-home=DIR);
- AC_MSG_ERROR(RRD source can be downloaded from http://www.rrdtool.org/);
- else
- RRD_LIB=
- fi
- fi
- fi
-fi
-
RRD_INC=
if test -d "${RRD_HOME}/include"; then
RRD_INC="-I${RRD_HOME}/include"

View file

@ -1,4 +1,4 @@
#!/sbin/runscript
#!/sbin/openrc-run
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

View file

@ -0,0 +1,24 @@
#!/sbin/openrc-run
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
description="ntop - a network traffic analyzer"
pidfile="/run/ntop.pid"
command="/usr/bin/ntop"
command_args="-L ${NTOP_OPTS}"
start_stop_daemon_args="-p ${pidfile} -m -b"
depend() {
need net
}
start_pre() {
if [ ! -e /var/lib/ntop/ntop_pw.db ] ; then
eerror "You need to set a password first by running"
eerror "ntop --set-admin-password"
return 1
fi
export LC_ALL=C # apparently doesn't work with some locales (#191576 and #205382)
export GDFONTPATH=/usr/share/fonts/corefonts # apparently the only font that works (#231705)
}

View file

@ -1,62 +1,88 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
EAPI=6
PYTHON_COMPAT=( python2_7 )
PYTHON_DEPEND="2"
inherit autotools eutils user python
inherit autotools eutils multilib user python-single-r1
DESCRIPTION="Network traffic analyzer with web interface"
HOMEPAGE="http://www.ntop.org/products/ntop/"
SRC_URI="mirror://sourceforge/ntop/ntop/Stable/${P}.tar.gz"
LICENSE="GPL-2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="snmp ssl"
IUSE="snmp ssl system-ndpi"
COMMON_DEPEND="
sys-apps/gawk
dev-lang/lua:=
dev-lang/perl
sys-libs/gdbm
dev-libs/libevent
net-libs/libpcap
media-libs/gd
media-libs/libpng
net-analyzer/rrdtool
ssl? ( dev-libs/openssl )
sys-libs/zlib
dev-libs/geoip
dev-lang/lua
snmp? ( net-analyzer/net-snmp[ipv6] )"
DEPEND="${COMMON_DEPEND}
>=sys-devel/libtool-1.5.26"
RDEPEND="${COMMON_DEPEND}
dev-libs/libevent
media-libs/gd
media-libs/libpng:0=
net-analyzer/rrdtool[graph]
net-libs/libpcap
snmp? ( net-analyzer/net-snmp[ipv6] )
ssl? ( dev-libs/openssl:0= )
sys-libs/gdbm
sys-libs/zlib
virtual/awk
system-ndpi? ( net-libs/libndpi )
"
DEPEND="
${COMMON_DEPEND}
${PYTHON_DEPS}
>=sys-devel/libtool-1.5.26
"
RDEPEND="
${COMMON_DEPEND}
app-arch/gzip
dev-libs/glib:2
dev-python/mako
media-fonts/corefonts
media-gfx/graphviz
net-misc/wget
app-arch/gzip
!arm? ( dev-libs/gdome2 )
dev-libs/glib:2"
"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
pkg_setup() {
python_set_active_version 2
python_pkg_setup
enewgroup ntop
enewuser ntop -1 -1 /var/lib/ntop ntop
python-single-r1_pkg_setup
#this flag is broken currently
if use system-ndpi; then
die "sorry system-ndpi is broken at the moment. See https://github.com/ntop/nDPI/issues/353"
fi
}
src_prepare() {
python_convert_shebangs -q -r 2 "${S}"
epatch "${FILESDIR}"/${P}-gentoo.patch
#Waiting for the fix, see https://www.ntop.org/bugzilla3/show_bug.cgi?id=273
# epatch "${FILESDIR}"/${P}-system-ndpi.patch
# rm -r ./nDPI
epatch \
"${FILESDIR}"/${P}-gentoo.patch \
"${FILESDIR}"/${P}-includes.patch \
"${FILESDIR}"/${P}-librrd.patch
#Waiting for the fix, see https://www.ntop.org/bugzilla3/show_bug.cgi?id=273
if use system-ndpi; then
epatch "${FILESDIR}"/${P}-system-ndpi.patch
rm -r ./nDPI
fi
cp /usr/share/aclocal/libtool.m4 libtool.m4.in
cat acinclude.m4.in libtool.m4.in acinclude.m4.ntop > acinclude.m4
eautoreconf
# The build system is a complete mess, so apply a configure patch here
# instead of patching configure.in above
epatch "${FILESDIR}"/${P}-INCS.patch
# Stop make from doing autotools stuff
sed -i -e '/missing --run echo/s|=.*|= true|g' Makefile.in || die
default
}
src_configure() {
@ -68,32 +94,42 @@ src_configure() {
ac_cv_lib_xml2_xmlCheckVersion=no \
ac_cv_lib_gdome_gdome_di_saveDocToFile=no
cd ./nDPI
econf
cd ..
if use !system-ndpi; then
pushd nDPI >/dev/null || die
econf
popd &>/dev/null || die
fi
if has_version '<net-analyzer/rrdtool-1.6'; then
export RRD_LIB=-lrrd_th
else
export RRD_LIB=-lrrd
fi
econf \
$(use_enable snmp) \
$(use_with ssl) \
--with-rrd-home=/usr/lib \
|| die "configure problem"
--with-rrd-home=/usr/$(get_libdir)
}
src_compile() {
cd ./nDPI
if use !system-ndpi; then
pushd nDPI >/dev/null || die
emake
popd &>/dev/null || die
fi
emake
cd ..
default_src_compile
}
src_install() {
LC_ALL=C # apparently doesn't work with some locales (#191576 and #205382)
emake DESTDIR="${D}" install || die "install problem"
keepdir /var/lib/ntop &&
fowners ntop:ntop /var/lib/ntop &&
fperms 750 /var/lib/ntop ||
die "failed to prepare /var/lib/ntop dir"
emake DESTDIR="${D}" install
keepdir /var/lib/ntop
insinto /var/lib/ntop
gunzip 3rd_party/GeoIPASNum.dat.gz
gunzip 3rd_party/GeoLiteCity.dat.gz
@ -101,14 +137,13 @@ src_install() {
for f in GeoIPASNum.dat GeoLiteCity.dat; do
# Don't install included GeoIP files if newer versions are available
[ -f "${ROOT}/var/lib/ntop/${f}" ] ||
doins "3rd_party/${f}" ||
die "failed to install ${f}"
doins "3rd_party/${f}"
done
dodoc AUTHORS CONTENTS ChangeLog MANIFESTO NEWS
dodoc PORTING README SUPPORT_NTOP.txt THANKS $(find docs -type f)
newinitd "${FILESDIR}"/ntop-initd ntop
newinitd "${FILESDIR}"/ntop-initd-r1 ntop
newconfd "${FILESDIR}"/ntop-confd ntop
exeinto /etc/cron.monthly
@ -116,7 +151,6 @@ src_install() {
}
pkg_postinst() {
elog "If this is the first time you install ntop, you need to run"
elog "following command before starting ntop service:"
elog " ntop --set-admin-password"
fowners ntop:ntop /var/lib/ntop
fperms 750 /var/lib/ntop
}

View file

@ -15,7 +15,7 @@ net-libs/libhackrf
net-libs/cppzmq
#xplico, ntop
~net-libs/libndpi-1.5.1
~net-libs/libndpi-1.6
#requried by zarp
~net-libs/nfqueue-bindings-0.5