package/kismet: fix ncurses static build
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 26 Dec 2014 21:08:00 +0000 (22:08 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 27 Dec 2014 10:29:04 +0000 (11:29 +0100)
Says Vicente:
    [T]he order is very important when doing static builds.
    Otherwise we will see errors like this one:

    [...]/sysroot/usr/lib/libpanel.a(p_delete.o):
    In function `del_panel':
    p_delete.c:(.text+0x68): undefined reference to `_nc_panelhook'

Fix the order configure adds libraries: new libraries should be added
at the *front* of the list, not at the end.

Reported-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/kismet/0003-fix-curses-libs-ordering.patch [new file with mode: 0644]
package/kismet/kismet.mk

diff --git a/package/kismet/0003-fix-curses-libs-ordering.patch b/package/kismet/0003-fix-curses-libs-ordering.patch
new file mode 100644 (file)
index 0000000..b579c96
--- /dev/null
@@ -0,0 +1,42 @@
+configure: fix ordering of ncurses libraries
+
+Says Vicente:
+    [T]he order is very important when doing static builds.
+    Otherwise we will see errors like this one:
+
+    [...]/sysroot/usr/lib/libpanel.a(p_delete.o):
+    In function `del_panel':
+    p_delete.c:(.text+0x68): undefined reference to `_nc_panelhook'
+
+Fix the order configure adds libraries: new libraries should be added
+at the *front* of the list, not at the end.
+
+Reported-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+diff -durN kismet-Kismet-2014-02-R1.orig/configure.in kismet-Kismet-2014-02-R1/configure.in
+--- kismet-Kismet-2014-02-R1.orig/configure.in 2014-02-19 05:37:43.000000000 +0100
++++ kismet-Kismet-2014-02-R1/configure.in      2014-12-26 16:46:55.770692349 +0100
+@@ -437,10 +434,10 @@
+               AC_MSG_ERROR(Failed to find curses.h or ncurses.h.  You probably need to install the curses-devel package from your distribution)
+       fi
+-      LIBS="$LIBS $curseaux"
++      LIBS="$curseaux $LIBS"
+       AC_CHECK_LIB([panel], [new_panel],
+                                AC_DEFINE(HAVE_LIBPANEL, 1, Panel terminal lib) 
+-                               curseaux="$curseaux -lpanel",
++                               curseaux="-lpanel $curseaux",
+                                AC_MSG_ERROR(Failed to find libpanel extension to curses/ncurses.  Install it, or disable building the Kismet client with --disable-client.  Disabling the client is probably not something you want to do normally.))
+       AC_CHECK_HEADER([panel.h], [foundhpanel=yes])
+@@ -450,7 +447,7 @@
+       LIBS="$OLIBS"
+-      CLIENTCLIBS="$CLIENTCLIBS $curseaux"
++      CLIENTCLIBS="$curseaux $CLIENTCLIBS"
+ fi
+ AC_SUBST(CLIBS)
index f177fea2da371cc334970db6758fde0c18317843..a71414ed0ec4bedb3f6da5574e384190d0c8eb9b 100644 (file)
@@ -12,6 +12,9 @@ KISMET_CONF_OPTS += --with-netlink-version=3
 KISMET_LICENSE = GPLv2+
 KISMET_LICENSE_FILES = debian/copyright
 
+# We touch configure.in:
+KISMET_AUTORECONF = YES
+
 ifeq ($(BR2_PACKAGE_PCRE),y)
        KISMET_DEPENDENCIES += pcre
 endif