From c442f86b06132a1bac6a0ec201522a88dd77cd5f5ab1520ce9d6aa0d045f92f9 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Mon, 17 Jun 2013 12:39:22 +0000 Subject: [PATCH] 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 --- netsniff-ng.changes | 5 +++ netsniff-ng.spec | 3 ++ netsniff-pkgconfig.diff | 93 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 netsniff-pkgconfig.diff diff --git a/netsniff-ng.changes b/netsniff-ng.changes index 8766cc6..7a2ec2c 100644 --- a/netsniff-ng.changes +++ b/netsniff-ng.changes @@ -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 diff --git a/netsniff-ng.spec b/netsniff-ng.spec index b9abf67..96e86f4 100644 --- a/netsniff-ng.spec +++ b/netsniff-ng.spec @@ -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 diff --git a/netsniff-pkgconfig.diff b/netsniff-pkgconfig.diff new file mode 100644 index 0000000..8cf9fa6 --- /dev/null +++ b/netsniff-pkgconfig.diff @@ -0,0 +1,93 @@ +From: Jan Engelhardt +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})