Accepting request 179158 from home:jengelh:branches:network:utilities

(pkgconfig) this is how it's done.

OBS-URL: https://build.opensuse.org/request/show/179158
OBS-URL: https://build.opensuse.org/package/show/network:utilities/netsniff-ng?expand=0&rev=14
This commit is contained in:
Marcus Meissner 2013-06-17 12:39:22 +00:00 committed by Git OBS Bridge
parent 263e1d5530
commit c442f86b06
3 changed files with 101 additions and 0 deletions

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Sun Jun 16 12:37:18 UTC 2013 - jengelh@inai.de
- Properly search for libraries using pkgconfig
-------------------------------------------------------------------
Wed Jun 12 10:52:05 UTC 2013 - joop.boonen@opensuse.org

View File

@ -29,6 +29,7 @@ Source: http://www.netsniff-ng.org/pub/netsniff-ng/netsniff-ng-%{version
Patch1: netsniff-ng-cmake_pod2man_without_stderr.patch
# PATCH-FIX-SUSE netsniff-ng-optflags.patch
Patch2: netsniff-ng-optflags.patch
Patch3: netsniff-pkgconfig.diff
BuildRequires: libGeoIP-devel
BuildRequires: ncurses-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -53,6 +54,7 @@ BuildRequires: libnl-1_1-devel
BuildRequires: libtool
BuildRequires: make
BuildRequires: nacl-devel
BuildRequires: pkgconfig
%description
netsniff-ng is a high performance Linux network sniffer for packet inspection.
@ -70,6 +72,7 @@ firewalls.
%patch1
%endif
%patch2 -p1
%patch -P 3 -p1
%build
install -d build

93
netsniff-pkgconfig.diff Normal file
View File

@ -0,0 +1,93 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-06-16 14:35:24.498138986 +0200
Properly search for libraries using pkgconfig rather than
reinventing the error-prone hand-crafted search once again.
---
src/flowtop/CMakeLists.txt | 11 +++++++----
src/netsniff-ng/CMakeLists.txt | 6 ++++--
src/trafgen/CMakeLists.txt | 6 ++++--
3 files changed, 15 insertions(+), 8 deletions(-)
Index: netsniff-ng-0.5.7/src/flowtop/CMakeLists.txt
===================================================================
--- netsniff-ng-0.5.7.orig/src/flowtop/CMakeLists.txt
+++ netsniff-ng-0.5.7/src/flowtop/CMakeLists.txt
@@ -2,11 +2,12 @@ PROJECT(flowtop C)
SET(BUILD_STRING "generic")
+find_package(PkgConfig)
FIND_PACKAGE(LibGeoIP)
FIND_PACKAGE(Threads)
FIND_PACKAGE(Curses)
-FIND_PACKAGE(LibNetFilterConnTrack)
-FIND_PACKAGE(LibURCU)
+pkg_check_modules(LIBNETFILTER_CONNTRACK libnetfilter_conntrack)
+pkg_check_modules(LIBURCU liburcu)
INCLUDE(Pod2Man)
IF(CURSES_FOUND AND CMAKE_HAVE_PTHREAD_CREATE AND LIBGEOIP_FOUND AND LIBNETFILTER_CONNTRACK_FOUND AND LIBURCU_FOUND)
@@ -23,8 +24,10 @@ IF(CURSES_FOUND AND CMAKE_HAVE_PTHREAD_C
../flowtop.c)
ADD_DEFINITIONS(-DPROGNAME_STRING="${PROJECT_NAME}"
-DVERSION_STRING="${VERSION}"
- -DBUILD_STRING="${BUILD_STRING}")
- TARGET_LINK_LIBRARIES(flowtop ${CURSES_NCURSES_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${LIBNETFILTER_CONNTRACK_LIBRARY} ${LIBGEOIP_LIBRARY} ${LIBURCU_LIBRARY})
+ -DBUILD_STRING="${BUILD_STRING}"
+ ${LIBNETFILTER_CONNTRACK_CFLAGS}
+ ${LIBURCU_CFLAGS})
+ TARGET_LINK_LIBRARIES(flowtop ${CURSES_NCURSES_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${LIBNETFILTER_CONNTRACK_LIBRARIES} ${LIBGEOIP_LIBRARY} ${LIBURCU_LIBRARIES})
POD2MAN(${CMAKE_SOURCE_DIR}/flowtop.c flowtop 8)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${EXECUTABLE_INSTALL_PATH})
INSTALL(FILES ../conf/oui.conf
Index: netsniff-ng-0.5.7/src/netsniff-ng/CMakeLists.txt
===================================================================
--- netsniff-ng-0.5.7.orig/src/netsniff-ng/CMakeLists.txt
+++ netsniff-ng-0.5.7/src/netsniff-ng/CMakeLists.txt
@@ -1,8 +1,9 @@
PROJECT(netsniff-ng C)
SET(BUILD_STRING "generic")
+find_package(PkgConfig)
FIND_PACKAGE(Threads)
-FIND_PACKAGE(Libnl)
+pkg_check_modules(LIBNL libnl-1)
INCLUDE(Pod2Man)
IF (CMAKE_HAVE_PTHREAD_CREATE AND LIBNL_FOUND)
@@ -54,7 +55,8 @@ IF (CMAKE_HAVE_PTHREAD_CREATE AND LIBNL_
-D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE
- -D__WITH_PROTOS)
+ -D__WITH_PROTOS
+ ${LIBNL_CFLAGS})
# -D__WITH_HARDWARE_TIMESTAMPING)
POD2MAN(${CMAKE_SOURCE_DIR}/netsniff-ng.c netsniff-ng 8)
TARGET_LINK_LIBRARIES(netsniff-ng ${CMAKE_THREAD_LIBS_INIT} ${LIBNL_LIBRARIES})
Index: netsniff-ng-0.5.7/src/trafgen/CMakeLists.txt
===================================================================
--- netsniff-ng-0.5.7.orig/src/trafgen/CMakeLists.txt
+++ netsniff-ng-0.5.7/src/trafgen/CMakeLists.txt
@@ -3,7 +3,8 @@ PROJECT(trafgen C)
FIND_PACKAGE(FLEX)
FIND_PACKAGE(BISON)
FIND_PACKAGE(LibCLI)
-FIND_PACKAGE(Libnl)
+find_package(PkgConfig)
+pkg_check_modules(LIBNL libnl-1)
INCLUDE(Pod2Man)
SET(BUILD_STRING "generic")
@@ -23,7 +24,8 @@ IF(LIBCLI_FOUND AND FLEX_FOUND AND BISON
../trafgen.c)
ADD_DEFINITIONS(-DPROGNAME_STRING="${PROJECT_NAME}"
-DVERSION_STRING="${VERSION}"
- -DBUILD_STRING="${BUILD_STRING}")
+ -DBUILD_STRING="${BUILD_STRING}"
+ ${LIBNL_CFLAGS})
TARGET_LINK_LIBRARIES(trafgen ${LIBCLI_LIBRARY} ${LIBNL_LIBRARIES})
POD2MAN(${CMAKE_SOURCE_DIR}/trafgen.c trafgen 8)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${EXECUTABLE_INSTALL_PATH})