include $(TOPDIR)/rules.mk
PKG_NAME:=base-files
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PKG_BUILD_DIR:=$(BUILD_DIR)/base-files
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
-
LIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version}
IDIR_LIBC:=$(PKG_BUILD_DIR)/uclibc
IPKG_LIBC:=$(PACKAGE_DIR)/uclibc_$(LIBC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
IDIR_GCC:=$(PKG_BUILD_DIR)/libgcc
IPKG_GCC:=$(PACKAGE_DIR)/libgcc_$(GCC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
-PACKAGES:=$(IPKG_BASE) $(IPKG_LIBC) $(IPKG_GCC) $(IPKG_HOTPLUG)
+PACKAGES:=$(IPKG_BASE) $(IPKG_LIBC) $(IPKG_GCC)
$(PKG_BUILD_DIR)/.prepared:
mkdir -p $(PKG_BUILD_DIR) $(PACKAGE_DIR)
-$(STRIP) $(IDIR_GCC)/lib/*
$(IPKG_BUILD) $(IDIR_GCC) $(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)
clean: package-clean
$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)
sleep 1
kill -9 $oldpid
}
+ # hotplug events are handled by /usr/share/udhcpc/default.script
;;
none|"")
;;
--- /dev/null
+[ "${INTERFACE%%[0-9]*}" = "wds" ] && {
+ ifconfig $INTERFACE 0.0.0.0 up
+ /usr/sbin/brctl addif br0 $INTERFACE
+}
+
--- /dev/null
+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
--- /dev/null
+#!/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
+}
-#!/bin/ash
+#!/bin/sh
[ $# = 0 ] && { echo " $0 <group>"; exit; }
. /etc/functions.sh
+
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
+
#!/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"
-case "$1" in
- deconfig)
- ifconfig $interface 0.0.0.0
- ;;
-
- 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
+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
+ hotplug_event ifdown
+ ;;
+ 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
+ done
+
+ hotplug_event ifup
+
# user rules
[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user
-
- done
- ;;
+ ;;
esac
+
exit 0
+++ /dev/null
-#!/bin/ash
-# $Id$
-[ "${INTERFACE%%[0-9]*}" = "wds" ] && {
- ifconfig $INTERFACE 0.0.0.0 up
- /usr/sbin/brctl addif br0 $INTERFACE
-}
+++ /dev/null
-Package: hotplug
-Priority: optional
-Section: net
-Description: Hotplug script for WDS
$(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)
PKG_NAME:=ntpclient
PKG_VERSION:=2003_194
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MD5SUM:=94e84d5c6023c5e1f3890b28d0a08c92
PKG_SOURCE_URL:=http://doolittle.faludi.com/ntpclient
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)
#!/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
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/
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
--- /dev/null
+#!/bin/sh
+[ -z "$6" ] || env -i ACTION="ifdown" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface"
--- /dev/null
+#!/bin/sh
+[ -z "$6" ] || env -i ACTION="ifup" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface"
IDLETIME=${IDLETIME:+lcp-echo-failure $IDLETIME}
MTU=$(nvram get ppp_mtu)
MTU=${MTU:-1492}
- MTU=${MTU:+ mtu $MTU mru $MTU}
ifconfig $IFNAME up
/usr/sbin/pppd nodetach \
usepeerdns \
defaultroute \
replacedefaultroute \
- linkname $type \
+ ipparam "$type" \
+ linkname "$type" \
user "$USERNAME" \
password "$PASSWORD" \
- $MTU \
+ mtu $MTU \
+ mru $MTU \
$IDLETIME \
$REDIAL \
nic-$IFNAME
PKG_NAME:=pptp
PKG_VERSION:=1.6.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_MD5SUM:=9a706327fb9827541d7c86d48ceb9631
PKG_SOURCE_URL:=@SF/pptpclient
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
usepeerdns \
defaultroute \
replacedefaultroute \
- linkname $type \
+ linkname "$type" \
+ ipparam "$type" \
user "$USERNAME" \
password "$PASSWORD" \
- $MTU \
+ mtu $MTU \
+ mru $MTU \
$IDLETIME \
$REDIAL
done &
dnsmasq
dropbear
haserl
-hotplug
ipkg
iptables
kmod-brcm-et
busybox
dnsmasq
dropbear
-hotplug
ipkg
iptables
kmod-brcm-et
dnsmasq
dropbear
haserl
-hotplug
ipkg
iptables
kmod-brcm-et