add hotplug stuff to trunk/
SVN-Revision: 2364
This commit is contained in:
parent
14a88822fd
commit
2e8e51060f
25 changed files with 148 additions and 73 deletions
|
@ -3,7 +3,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=base-files
|
||||
PKG_RELEASE:=4
|
||||
PKG_RELEASE:=6
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/base-files
|
||||
|
||||
REV:=${shell svn info | grep Revision | cut -d ' ' -f 2}
|
||||
|
@ -16,9 +16,6 @@ include $(TOPDIR)/package/rules.mk
|
|||
IDIR_BASE:=$(PKG_BUILD_DIR)/base-files
|
||||
IPKG_BASE:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_RELEASE)_$(ARCH).ipk
|
||||
|
||||
IDIR_HOTPLUG:=$(PKG_BUILD_DIR)/hotplug
|
||||
IPKG_HOTPLUG:=$(PACKAGE_DIR)/hotplug_$(PKG_RELEASE)_$(ARCH).ipk
|
||||
|
||||
UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version}
|
||||
IDIR_UCLIBC:=$(PKG_BUILD_DIR)/uclibc
|
||||
IPKG_UCLIBC:=$(PACKAGE_DIR)/uclibc_$(UCLIBC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
|
||||
|
@ -27,7 +24,7 @@ LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version}
|
|||
IDIR_LIBGCC:=$(PKG_BUILD_DIR)/libgcc
|
||||
IPKG_LIBGCC:=$(PACKAGE_DIR)/libgcc_$(LIBGCC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
|
||||
|
||||
PACKAGES:=$(IPKG_BASE) $(IPKG_UCLIBC) $(IPKG_LIBGCC) $(IPKG_HOTPLUG)
|
||||
PACKAGES:=$(IPKG_BASE) $(IPKG_UCLIBC) $(IPKG_LIBGCC)
|
||||
|
||||
$(PKG_BUILD_DIR)/.prepared:
|
||||
mkdir -p $(PKG_BUILD_DIR) $(PACKAGE_DIR)
|
||||
|
@ -74,12 +71,6 @@ $(IPKG_LIBGCC):
|
|||
-$(STRIP) $(IDIR_LIBGCC)/lib/*
|
||||
$(IPKG_BUILD) $(IDIR_LIBGCC) $(PACKAGE_DIR)
|
||||
|
||||
$(IPKG_HOTPLUG):
|
||||
$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_HOTPLUG) ipkg/hotplug.control $(PKG_RELEASE) $(ARCH)
|
||||
mkdir -p $(IDIR_HOTPLUG)/sbin
|
||||
install -m0755 files/hotplug $(IDIR_HOTPLUG)/sbin
|
||||
$(IPKG_BUILD) $(IDIR_HOTPLUG) $(PACKAGE_DIR)
|
||||
|
||||
package-clean:
|
||||
rm -f $(PACKAGES)
|
||||
|
||||
|
|
|
@ -41,12 +41,14 @@ do_ifup() {
|
|||
$DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} broadcast + up
|
||||
${gateway:+$DEBUG route add default gw $gateway}
|
||||
|
||||
[ -f /etc/resolv.conf ] && return
|
||||
|
||||
debug "# --- creating /etc/resolv.conf ---"
|
||||
for dns in $(nvram get ${2}_dns); do
|
||||
echo "nameserver $dns" >> /etc/resolv.conf
|
||||
done
|
||||
[ -f /etc/resolv.conf ] || {
|
||||
debug "# --- creating /etc/resolv.conf ---"
|
||||
for dns in $(nvram get ${2}_dns); do
|
||||
echo "nameserver $dns" >> /etc/resolv.conf
|
||||
done
|
||||
}
|
||||
|
||||
env -i ACTION="ifup" INTERFACE="${2}" PROTO=static /sbin/hotplug "iface" &
|
||||
;;
|
||||
dhcp)
|
||||
DHCP_IP=$(nvram get ${2}_ipaddr)
|
||||
|
@ -64,6 +66,7 @@ do_ifup() {
|
|||
sleep 1
|
||||
kill -9 $oldpid
|
||||
}
|
||||
# hotplug events are handled by /usr/share/udhcpc/default.script
|
||||
;;
|
||||
none|"")
|
||||
;;
|
||||
|
|
3
openwrt/package/base-files/files/hotplug → openwrt/package/base-files/default/etc/hotplug.d/net/01-wds
Executable file → Normal file
3
openwrt/package/base-files/files/hotplug → openwrt/package/base-files/default/etc/hotplug.d/net/01-wds
Executable file → Normal file
|
@ -1,6 +1,5 @@
|
|||
#!/bin/ash
|
||||
# $Id$
|
||||
[ "${INTERFACE%%[0-9]*}" = "wds" ] && {
|
||||
ifconfig $INTERFACE 0.0.0.0 up
|
||||
/usr/sbin/brctl addif br0 $INTERFACE
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
mount_storage() {
|
||||
cd /dev/discs
|
||||
for dev in disc*; do
|
||||
[ -f /tmp/.${dev}_id ] || {
|
||||
echo ${INTERFACE}${PRODUCT} > /tmp/.${dev}_id
|
||||
mount | grep /mnt/${dev} || (
|
||||
[ -d /mnt/. ] || {
|
||||
mkdir -p /tmp/mnt
|
||||
ln -s /tmp/mnt /
|
||||
}
|
||||
cd $dev
|
||||
for part in part*; do
|
||||
path=/mnt/${dev}_${part##*part}
|
||||
mkdir -p ${path}
|
||||
mount ${part} ${path}
|
||||
done
|
||||
)
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
umount_storage() {
|
||||
for tmp in /tmp/.*_id; do
|
||||
id=$(cat $tmp 2>&-)
|
||||
[ "${INTERFACE}${PRODUCT}" = "$id" ] && {
|
||||
rm -f $tmp
|
||||
disc=${tmp##*disc}
|
||||
disc=${disc%%_id}
|
||||
for disc in /mnt/disc${disc}*; do
|
||||
umount -f $disc || umount -l $disc
|
||||
done
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
[ -f /proc/bus/usb/devices ] || mount -t usbfs none /proc/bus/usb
|
||||
|
||||
case "$ACTION" in
|
||||
add)
|
||||
case "${INTERFACE%%/*}" in
|
||||
8) mount_storage ;;
|
||||
esac
|
||||
;;
|
||||
remove)
|
||||
case "${INTERFACE%%/*}" in
|
||||
8) umount_storage ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
11
openwrt/package/base-files/default/sbin/hotplug
Executable file
11
openwrt/package/base-files/default/sbin/hotplug
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
LOGNAME=root
|
||||
USER=root
|
||||
export PATH LOGNAME USER
|
||||
|
||||
[ \! -z "$1" -a -d /etc/hotplug.d/$1 ] && {
|
||||
for script in $(ls /etc/hotplug.d/$1/* 2>&-); do (
|
||||
[ -f $script ] && . $script
|
||||
); done
|
||||
}
|
|
@ -1,13 +1,19 @@
|
|||
#!/bin/ash
|
||||
#!/bin/sh
|
||||
[ $# = 0 ] && { echo " $0 <group>"; exit; }
|
||||
. /etc/functions.sh
|
||||
. /etc/network.overrides
|
||||
. /etc/network.overrides
|
||||
[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network
|
||||
|
||||
type=$1
|
||||
debug "### ifdown $type ###"
|
||||
|
||||
if=$(nvram get ${type}_ifname)
|
||||
proto=$(nvram get ${type}_proto)
|
||||
if_valid $if && $DEBUG ifconfig $if down
|
||||
kill $(cat /var/run/${if}.pid 2>&-) 2>&-
|
||||
[ "$if" = "ppp0" ] && killall pppd
|
||||
killall ifup.$proto >&- 2>&-
|
||||
case "$proto" in
|
||||
pptp|pppoe) killall pppd >&- 2>&- ;;
|
||||
static) env -i ACTION="ifdown" INTERFACE="$if" PROTO=static /sbin/hotplug "iface" ;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -1,42 +1,51 @@
|
|||
#!/bin/sh
|
||||
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
|
||||
# (slightly modified for OpenWrt)
|
||||
|
||||
[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
|
||||
|
||||
RESOLV_CONF="/tmp/resolv.conf"
|
||||
|
||||
hotplug_event() {
|
||||
nvram show 2>&- | grep _proto=dhcp | {
|
||||
while :; do
|
||||
read FOO
|
||||
[ -z "$FOO" ] && break
|
||||
FOO="${FOO%%_*}"
|
||||
[ "$(nvram get ${FOO}_ifname)" = "${interface}" ] || continue
|
||||
env -i ACTION="$1" INTERFACE="${FOO}" PROTO=dhcp /sbin/hotplug iface
|
||||
done
|
||||
}
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
deconfig)
|
||||
ifconfig $interface 0.0.0.0
|
||||
;;
|
||||
deconfig)
|
||||
ifconfig $interface 0.0.0.0
|
||||
hotplug_event ifdown
|
||||
;;
|
||||
renew|bound)
|
||||
ifconfig $interface $ip \
|
||||
netmask ${subnet:-255.255.255.0} \
|
||||
broadcast ${broadcast:-+}
|
||||
|
||||
renew|bound)
|
||||
ifconfig $interface $ip \
|
||||
netmask ${subnet:-255.255.255.0} \
|
||||
broadcast ${broadcast:-+}
|
||||
|
||||
if [ -n "$router" ] ; then
|
||||
echo "deleting routers"
|
||||
while route del default gw 0.0.0.0 dev $interface ; do
|
||||
:
|
||||
done
|
||||
|
||||
for i in $router ; do
|
||||
route add default gw $i dev $interface
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n > $RESOLV_CONF
|
||||
${domain:+echo search $domain} >> $RESOLV_CONF
|
||||
for i in $dns ; do
|
||||
echo adding dns $i
|
||||
echo nameserver $i >> $RESOLV_CONF
|
||||
if [ -n "$router" ] ; then
|
||||
echo "deleting routers"
|
||||
while route del default gw 0.0.0.0 dev $interface ; do :; done
|
||||
|
||||
for i in $router ; do
|
||||
route add default gw $i dev $interface
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n > $RESOLV_CONF
|
||||
${domain:+echo search $domain} >> $RESOLV_CONF
|
||||
for i in $dns ; do
|
||||
echo adding dns $i
|
||||
echo nameserver $i >> $RESOLV_CONF
|
||||
done
|
||||
|
||||
hotplug_event ifup
|
||||
|
||||
# user rules
|
||||
[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user
|
||||
|
||||
done
|
||||
;;
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
Package: hotplug
|
||||
Priority: optional
|
||||
Section: net
|
||||
Description: Hotplug script for WDS
|
|
@ -39,5 +39,4 @@ $(IPKG_BUSYBOX):
|
|||
$(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" PREFIX="$(IDIR_BUSYBOX)" \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(PKG_BUILD_DIR) install
|
||||
$(STRIP) $(IDIR_BUSYBOX)/bin/busybox
|
||||
-chmod a+x $(IDIR_BUSYBOX)/usr/share/udhcpc/default.script
|
||||
$(IPKG_BUILD) $(IDIR_BUSYBOX) $(PACKAGE_DIR)
|
||||
|
|
|
@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=ntpclient
|
||||
PKG_VERSION:=2003_194
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
PKG_MD5SUM:=94e84d5c6023c5e1f3890b28d0a08c92
|
||||
|
||||
PKG_SOURCE_URL:=http://doolittle.faludi.com/ntpclient
|
||||
|
@ -26,8 +26,8 @@ $(PKG_BUILD_DIR)/.built:
|
|||
touch $@
|
||||
|
||||
$(IPKG_NTPCLIENT):
|
||||
install -d -m0755 $(IDIR_NTPCLIENT)/etc/init.d
|
||||
install -m0755 ./files/ntpclient.init $(IDIR_NTPCLIENT)/etc/init.d/S60ntpclient
|
||||
install -d -m0755 $(IDIR_NTPCLIENT)/etc/hotplug.d/iface
|
||||
install -m0755 ./files/ntpclient.init $(IDIR_NTPCLIENT)/etc/hotplug.d/iface/10-ntpclient
|
||||
install -d -m0755 $(IDIR_NTPCLIENT)/usr/sbin
|
||||
install -m0755 $(PKG_BUILD_DIR)/ntpclient $(IDIR_NTPCLIENT)/usr/sbin/
|
||||
$(RSTRIP) $(IDIR_NTPCLIENT)
|
||||
|
|
|
@ -1,2 +1,11 @@
|
|||
#!/bin/sh
|
||||
/usr/sbin/ntpclient -c 1 -s -h pool.ntp.org &
|
||||
server=$(nvram get ntp_server)
|
||||
case "$ACTION" in
|
||||
ifup)
|
||||
ps x | grep '[n]tpclient' >&- || {
|
||||
route -n 2>&- | grep '0.0.0.0' >&- && /usr/sbin/ntpclient -c 1 -s -h ${server:-pool.ntp.org} &
|
||||
}
|
||||
;;
|
||||
ifdown)
|
||||
route -n 2>&- | grep '0.0.0.0' >&- || killall ntpclient 2>&- >&- ;;
|
||||
esac
|
||||
|
|
|
@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=ppp
|
||||
PKG_VERSION:=2.4.3
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=7
|
||||
PKG_MD5SUM:=848f6c3cafeb6074ffeb293c3af79b7c
|
||||
|
||||
PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/
|
||||
|
@ -82,6 +82,8 @@ $(IPKG_PPP):
|
|||
ln -sf /tmp/resolv.conf $(IDIR_PPP)/etc/ppp/resolv.conf
|
||||
install -m0600 ./files/etc/ppp/chap-secrets $(IDIR_PPP)/etc/ppp/
|
||||
install -m0644 ./files/etc/ppp/options $(IDIR_PPP)/etc/ppp/
|
||||
install -m0755 ./files/etc/ppp/ip-up $(IDIR_PPP)/etc/ppp/
|
||||
install -m0755 ./files/etc/ppp/ip-down $(IDIR_PPP)/etc/ppp/
|
||||
install -d -m0755 $(IDIR_PPP)/etc/ppp/peers
|
||||
install -m0644 ./files/etc/ppp/peers/sample $(IDIR_PPP)/etc/ppp/peers/
|
||||
install -d -m0755 $(IDIR_PPP)/usr/sbin
|
||||
|
|
2
openwrt/package/ppp/files/etc/ppp/ip-down
Executable file
2
openwrt/package/ppp/files/etc/ppp/ip-down
Executable file
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
[ -z "$6" ] || env -i ACTION="ifdown" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface"
|
2
openwrt/package/ppp/files/etc/ppp/ip-up
Executable file
2
openwrt/package/ppp/files/etc/ppp/ip-up
Executable file
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
[ -z "$6" ] || env -i ACTION="ifup" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface"
|
|
@ -31,6 +31,7 @@ while :; do
|
|||
usepeerdns \
|
||||
defaultroute \
|
||||
linkname $type \
|
||||
ipparam $type \
|
||||
user "$USERNAME" \
|
||||
password "$PASSWORD" \
|
||||
mtu $MTU mru $MTU \
|
||||
|
|
|
@ -32,6 +32,7 @@ while :; do
|
|||
usepeerdns \
|
||||
defaultroute \
|
||||
linkname $type \
|
||||
ipparam $type \
|
||||
user "$USERNAME" \
|
||||
password "$PASSWORD" \
|
||||
mtu $MTU mru $MTU \
|
||||
|
|
|
@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=pptp
|
||||
PKG_VERSION:=1.6.0
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
PKG_MD5SUM:=9a706327fb9827541d7c86d48ceb9631
|
||||
|
||||
PKG_SOURCE_URL:=@SF/pptpclient
|
||||
|
|
|
@ -22,7 +22,7 @@ while :; do
|
|||
IDLETIME=$(nvram get ppp_idletime)
|
||||
IDLETIME=${IDLETIME:+lcp-echo-failure $IDLETIME}
|
||||
MTU=$(nvram get ppp_mtu)
|
||||
MTU=${MTU:+ mtu $MTU mru $MTU}
|
||||
MTU=${MTU:-1452}
|
||||
|
||||
do_ifup $PPTP_PROTO $type
|
||||
|
||||
|
@ -38,10 +38,12 @@ while :; do
|
|||
usepeerdns \
|
||||
defaultroute \
|
||||
replacedefaultroute \
|
||||
linkname $type \
|
||||
linkname "$type" \
|
||||
ipparam "$type" \
|
||||
user "$USERNAME" \
|
||||
password "$PASSWORD" \
|
||||
$MTU \
|
||||
mtu $MTU \
|
||||
mru $MTU \
|
||||
$IDLETIME \
|
||||
$REDIAL
|
||||
done &
|
||||
|
|
|
@ -5,7 +5,6 @@ bridge
|
|||
busybox
|
||||
dnsmasq
|
||||
dropbear
|
||||
hotplug
|
||||
iptables
|
||||
kmod-atm
|
||||
kmod-cpmac
|
||||
|
|
|
@ -5,7 +5,6 @@ bridge
|
|||
busybox
|
||||
dnsmasq
|
||||
dropbear
|
||||
hotplug
|
||||
iptables
|
||||
kmod-atm
|
||||
kmod-cpmac
|
||||
|
|
|
@ -5,7 +5,6 @@ busybox
|
|||
dnsmasq
|
||||
dropbear
|
||||
iptables
|
||||
hotplug
|
||||
kmod-cpmac
|
||||
libgcc
|
||||
mtd
|
||||
|
|
|
@ -5,7 +5,6 @@ busybox
|
|||
dnsmasq
|
||||
dropbear
|
||||
iptables
|
||||
hotplug
|
||||
kmod-brcm-et
|
||||
kmod-brcm-wl
|
||||
kmod-diag
|
||||
|
|
|
@ -5,7 +5,6 @@ busybox
|
|||
dnsmasq
|
||||
dropbear
|
||||
iptables
|
||||
hotplug
|
||||
kmod-net-natsemi
|
||||
libgcc
|
||||
mtd
|
||||
|
|
|
@ -5,7 +5,6 @@ busybox
|
|||
dnsmasq
|
||||
dropbear
|
||||
iptables
|
||||
hotplug
|
||||
kmod-brcm-et
|
||||
kmod-brcm-wl
|
||||
kmod-diag
|
||||
|
|
|
@ -5,7 +5,6 @@ busybox
|
|||
dnsmasq
|
||||
dropbear
|
||||
iptables
|
||||
hotplug
|
||||
kmod-net-natsemi
|
||||
kmod-ppp
|
||||
kmod-gre
|
||||
|
|
Loading…
Reference in a new issue