ADD: [wireless-tools] add wireless-tools to meta layer

BugzId: 65179
This commit is contained in:
Patrick Walther 2020-07-23 18:18:03 +02:00
parent 3197cb683e
commit 558e34b455
6 changed files with 279 additions and 0 deletions

View File

@ -0,0 +1,21 @@
wireless_tools: Avoid stripping iwmulticall
Upstream-Status: Inappropriate [other]
The removed code was from upstream.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
diff -ur wireless_tools.29.orig/Makefile wireless_tools.29/Makefile
--- wireless_tools.29.orig/Makefile 2011-06-18 11:35:12.183907453 -0500
+++ wireless_tools.29/Makefile 2011-06-18 11:38:09.995907985 -0500
@@ -135,9 +135,8 @@
macaddr: macaddr.o $(IWLIB)
-# Always do symbol stripping here
iwmulticall: iwmulticall.o
- $(CC) $(LDFLAGS) -Wl,-s $(XCFLAGS) -o $@ $^ $(LIBS)
+ $(CC) $(LDFLAGS) $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS)
# It's a kind of magic...
wireless.h:

View File

@ -0,0 +1,26 @@
From f3f846ef06f746cd6aa7a41d277669b5e0c705ad Mon Sep 17 00:00:00 2001
From: Moritz Rosenthal <moritz.rosenthal@netmodule.com>
Date: Tue, 27 Aug 2019 10:40:52 +0200
Subject: [PATCH] Borrowed wireless tools recipe:
Upstream-Status: Inappropriate [configuration]
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 879c0e6..26bccf4 100644
--- a/Makefile
+++ b/Makefile
@@ -73,8 +73,8 @@ DYNAMIC_LINK= libiw.so
# Install directories
INSTALL_DIR= $(PREFIX)/sbin/
INSTALL_LIB= $(PREFIX)/lib/
-INSTALL_INC= $(PREFIX)/include/
-INSTALL_MAN= $(PREFIX)/man/
+INSTALL_INC= $(PREFIX)/usr/include/
+INSTALL_MAN= $(PREFIX)/usr/share/man/
# Various commands
RM = rm -f

View File

@ -0,0 +1,19 @@
When /etc/ld.so.cache is writeable by user running bitbake then it creates invalid cache
(in my case libstdc++.so cannot be found after building zlib(-native) and I have to call
touch */libstdc++.so && /sbin/ldconfig to fix it.
So remove ldconfig call from make install-libs
Upstream-Status: Inappropriate [disable feature]
diff -uNr wireless_tools.29.orig/Makefile wireless_tools.29/Makefile
--- wireless_tools.29.orig/Makefile 2007-09-18 01:56:46.000000000 +0200
+++ wireless_tools.29/Makefile 2012-02-15 20:46:41.780763514 +0100
@@ -163,7 +163,6 @@
install -m 755 $(DYNAMIC) $(INSTALL_LIB)
ln -sfn $(DYNAMIC) $(INSTALL_LIB)/$(DYNAMIC_LINK)
@echo "*** Don't forget to add $(INSTALL_LIB) to /etc/ld.so.conf, and run ldconfig as root. ***"
- @$(LDCONFIG) || echo "*** Could not run ldconfig ! ***"
# Install the static library
install-static:: $(STATIC)

View File

@ -0,0 +1,122 @@
#!/bin/sh
case "$METHOD" in loopback) exit 0 ;; esac
IWCONFIG=/sbin/iwconfig
IWPRIV=/sbin/iwpriv
if [ ! -x $IWCONFIG ]; then
exit 0
fi
# Detect and do nothing for linux-wlan-ng interfaces;
# which are configured by thier own if-pre-up script.
if [ -n "$IF_WIRELESS_TYPE" -a "$IF_WIRELESS_TYPE" = "wlan-ng" ]; then
exit 0
fi
if [ -n "$IF_NEEDS_RESET" ]; then
$IWPRIV "$IFACE" reset 1
sleep 1
fi
if [ -n "$IF_NEEDS_FIRMWARE" ]; then
$IF_NEEDS_FIRMWARE "$IFACE"
fi
if [ -n "$IF_WIRELESS_SENS" ]; then
$IWCONFIG "$IFACE" sens $IF_WIRELESS_SENS
fi
if [ -n "$IF_WIRELESS_RATE" ]; then
$IWCONFIG "$IFACE" rate $IF_WIRELESS_RATE
fi
if [ -n "$IF_WIRELESS_RTS" ]; then
$IWCONFIG "$IFACE" rts $IF_WIRELESS_RTS
fi
if [ -n "$IF_WIRELESS_FRAG" ]; then
$IWCONFIG "$IFACE" frag $IF_WIRELESS_FRAG
fi
if [ -n "$IF_WIRELESS_POWER" ]; then
$IWCONFIG "$IFACE" power $IF_WIRELESS_POWER
fi
if [ -n "$IF_WIRELESS_POWERPERIOD" ]; then
$IWCONFIG "$IFACE" power period $IF_WIRELESS_POWERPERIOD
fi
if [ -n "$IF_WIRELESS_POWERTIMEOUT" ]; then
$IWCONFIG "$IFACE" power timeout $IF_WIRELESS_POWERTIMEOUT
fi
if [ -n "$IF_WIRELESS_TXPOWER" ]; then
$IWCONFIG "$IFACE" txpower $IF_WIRELESS_TXPOWER
fi
if [ -n "$IF_WIRELESS_RETRY" ]; then
$IWCONFIG "$IFACE" retry $IF_WIRELESS_RETRY
fi
if [ -n "$IF_WIRELESS_NICK" ]; then
$IWCONFIG "$IFACE" nick "$IF_WIRELESS_NICK"
fi
if [ -n "$IF_WIRELESS_NWID" ]; then
$IWCONFIG "$IFACE" nwid "$IF_WIRELESS_NWID"
fi
if [ -n "$IF_WIRELESS_ENC" ]; then
eval $IWCONFIG "$IFACE" enc $IF_WIRELESS_ENC
fi
if [ -n "$IF_WIRELESS_KEY" ]; then
eval $IWCONFIG "$IFACE" key $IF_WIRELESS_KEY
fi
if [ -n "$IF_WIRELESS_KEY1" ]; then
$IWCONFIG "$IFACE" key [1] "$IF_WIRELESS_KEY1"
fi
if [ -n "$IF_WIRELESS_KEY2" ]; then
$IWCONFIG "$IFACE" key [2] "$IF_WIRELESS_KEY2"
fi
if [ -n "$IF_WIRELESS_KEY3" ]; then
$IWCONFIG "$IFACE" key [3] "$IF_WIRELESS_KEY3"
fi
if [ -n "$IF_WIRELESS_KEY4" ]; then
$IWCONFIG "$IFACE" key [4] "$IF_WIRELESS_KEY4"
fi
if [ -n "$IF_WIRELESS_DEFAULTKEY" ]; then
$IWCONFIG "$IFACE" key ["$IF_WIRELESS_DEFAULTKEY"]
fi
if [ -n "$IF_WIRELESS_KEYMODE" ]; then
$IWCONFIG "$IFACE" key "$IF_WIRELESS_KEYMODE"
fi
if [ -n "$IF_WIRELESS_MODE" ]; then
$IWCONFIG "$IFACE" mode $IF_WIRELESS_MODE
fi
if [ -n "$IF_WIRELESS_FREQ" ]; then
$IWCONFIG "$IFACE" freq $IF_WIRELESS_FREQ
fi
if [ -n "$IF_WIRELESS_CHANNEL" ]; then
$IWCONFIG "$IFACE" channel $IF_WIRELESS_CHANNEL
fi
if [ -n "$IF_WIRELESS_ESSID" ]; then
$IWCONFIG "$IFACE" essid "$IF_WIRELESS_ESSID"
fi
if [ -n "$IF_WIRELESS_COMMIT" ]; then
$IWCONFIG "$IFACE" commit
fi

View File

@ -0,0 +1,34 @@
#!/bin/sh
#
# /etc/network/if-pre-up.d/zzz-wireless
# by Stefan Tomanek (stefan@pico.ruhr.de)
IWCONFIG=/sbin/iwconfig
IFCONFIG=/sbin/ifconfig
GREP=/bin/grep
LOGGER=/usr/bin/logger
SLEEP=/bin/sleep
# How long do we wait for association?
RETRIES=15
SLEEPTIME=1
# Only sleep if we use DHCP (add others methods seperated by spaces)
ONLY_FOR="static dhcp"
if [ -z "$IF_WIRELESS_TYPE" ] && echo "$ONLY_FOR" | grep -q "$METHOD" ; then
$IFCONFIG $IFACE up
$LOGGER Checking for WLAN association...
while ( [ $RETRIES -gt 0 ] && ($IWCONFIG "$IFACE" | $GREP -q "Access Point: Not-Associated") ); do
$LOGGER No association yet, $RETRIES retries until timeout
RETRIES=$(($RETRIES-1))
$SLEEP $SLEEPTIME
done
if [ $RETRIES -eq 0 ]; then
$LOGGER Timeout waiting for association, continuing anyway...
else
$LOGGER Found association!
fi
fi

View File

@ -0,0 +1,57 @@
DESCRIPTION = "Tools for the Linux Standard Wireless Extension Subsystem"
HOMEPAGE = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html"
LICENSE = "GPLv2 & (LGPLv2.1 | MPL-1.1 | BSD)"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://iwconfig.c;beginline=1;endline=12;md5=cf710eb1795c376eb10ea4ff04649caf \
file://iwevent.c;beginline=59;endline=72;md5=d66a10026d4394f0a5b1c5587bce4537 \
file://sample_enc.c;beginline=1;endline=4;md5=838372be07874260b566bae2f6ed33b6"
SECTION = "base"
PE = "1"
PR = "r4"
SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz \
file://remove.ldconfig.call.patch \
file://man.patch \
file://wireless-tools.if-pre-up \
file://zzz-wireless.if-pre-up \
file://avoid_strip.patch"
SRC_URI[md5sum] = "e06c222e186f7cc013fd272d023710cb"
SRC_URI[sha256sum] = "6fb80935fe208538131ce2c4178221bab1078a1656306bce8909c19887e2e5a1"
S = "${WORKDIR}/wireless_tools.29"
TARGET_CC_ARCH += "${LDFLAGS}"
CFLAGS =+ "-I${S}"
EXTRA_OEMAKE = "-e 'BUILD_SHARED=y' \
'INSTALL_DIR=${D}${base_sbindir}' \
'INSTALL_LIB=${D}${libdir}' \
'INSTALL_INC=${D}${includedir}' \
'INSTALL_MAN=${D}${mandir}'"
do_compile() {
oe_runmake all libiw.a
}
do_install() {
oe_runmake PREFIX=${D} install-iwmulticall install-dynamic install-man install-hdr
install -d ${D}${sbindir}
install -m 0755 ifrename ${D}${sbindir}/ifrename
# Disabled by RP - 20/8/08 - We don't seem to need/use these
#install -d ${D}${sysconfdir}/network/if-pre-up.d
#install ${WORKDIR}/wireless-tools.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/wireless-tools
#install ${WORKDIR}/zzz-wireless.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/zzz-wireless
}
PACKAGES = "libiw-dbg ifrename-dbg ${PN}-dbg \
libiw libiw-dev libiw-doc ifrename-doc ifrename ${PN} ${PN}-doc"
FILES_libiw-dbg = "${libdir}/.debug/*.so.*"
FILES_ifrename-dbg = "${sbindir}/.debug/ifrename"
FILES_libiw = "${libdir}/*.so.*"
FILES_libiw-dev = "${libdir}/*.a ${libdir}/*.so ${includedir}"
FILES_libiw-doc = "${mandir}/man7"
FILES_ifrename = "${sbindir}/ifrename"
FILES_ifrename-doc = "${mandir}/man8/ifrename.8 ${mandir}/man5/iftab.5"
FILES_${PN} = "${bindir} ${sbindir}/iw* ${base_sbindir} ${base_bindir} ${sysconfdir}/network"
FILES_${PN}-doc = "${mandir}"