+++ /dev/null
-#
-# Copyright (C) 2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=luai2c
-PKG_VERSION:=1.0.0
-PKG_RELEASE:=3
-PKG_MAINTAINER:=Frank Edelhaeuser <mrpace2@gmail.com>
-PKG_LICENSE:=MIT
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/mrpace2/i2c-lua.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_VERSION)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/luai2c
- SUBMENU:=Lua
- SECTION:=lang
- CATEGORY:=Languages
- TITLE:=Lua I2C binding
- URL:=https://github.com/mrpace2/i2c-lua/
- DEPENDS:=+liblua +kmod-i2c-core
- MAINTAINER:=Frank Edelhaeuser <mrpace2@gmail.com>
-endef
-
-define Package/luai2c/description
- This is the Lua binding for I2C. It provides access to I2C slaves supported by the kernel.
-endef
-
-define Package/luai2c/install
- $(INSTALL_DIR) $(1)/usr/lib/lua
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/i2c.so $(1)/usr/lib/lua
- $(INSTALL_DIR) $(1)/usr/lib/lua/i2c
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/examples/* $(1)/usr/lib/lua/i2c
-endef
-
-$(eval $(call BuildPackage,luai2c))
+++ /dev/null
-#
-# Copyright (C) 2010-2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=usbip
-PKG_RELEASE:=5
-PKG_LICENSE:=GPL-2.0
-
-# Since kernel 2.6.39.1 userspace tools are inside the kernel tree
-# Package Automatic match version in kernel
-# MD5SUM is not useful kernel package already check it
-PKG_VERSION:=$(shell sed -n -e '/^AC_INIT/s/.*\[\([[:digit:]\.]*\)\].*/\1/gp' $(LINUX_DIR)/tools/usb/usbip/configure.ac)
-PKG_SOURCE:=
-PKG_SOURCE_URL:=
-PKG_MD5SUM:=unknown
-
-PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>
-
-PATCH_DIR:=./patches-$(PKG_VERSION)
-
-define prepare_source_directory
- rm -rf $(PKG_BUILD_DIR)
- $(CP) $(LINUX_DIR)/tools/usb/usbip $(PKG_BUILD_DIR)
-endef
-Hooks/Prepare/Pre += prepare_source_directory
-
-PKG_BUILD_DEPENDS:=eudev
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-PKG_FLAGS:=nonshared
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
-
-define Package/usbip/Common
- TITLE:=USB-over-IP
- URL:=http://usbip.sourceforge.net/
- DEPENDS:=@USB_SUPPORT
-endef
-
-define Package/usbip/Default
- $(call Package/usbip/Common)
- SECTION:=net
- CATEGORY:=Network
-endef
-
-define Package/usbip
- $(call Package/usbip/Default)
- TITLE+= (common)
- DEPENDS+= +libwrap +kmod-usbip +eudev
-endef
-
-define Package/usbip-client
- $(call Package/usbip/Default)
- TITLE+= (client)
- DEPENDS+= usbip +kmod-usbip-client
-endef
-
-define Package/usbip-server
- $(call Package/usbip/Default)
- TITLE+= (server)
- DEPENDS+= usbip +kmod-usbip-server
-endef
-
-CONFIGURE_PATH:=.
-MAKE_PATH:=.
-LIBTOOL_PATHS:=.
-MAKE_FLAGS+=CFLAGS="-Wno-implicit-function-declaration"
-
-define Build/Configure
- (cd $(PKG_BUILD_DIR); ./autogen.sh );
- $(call Build/Configure/Default)
-endef
-
-CFLAGS+="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include"
-
-define Download/usb.ids
- URL:=http://www.linux-usb.org/
- FILE:=usb.ids
- MD5SUM:=
-endef
-
-define Package/usbip/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libusbip.so.* $(1)/usr/lib/
- $(INSTALL_DIR) $(1)/usr/share/hwdata
- $(CP) $(DL_DIR)/usb.ids $(1)/usr/share/hwdata/
-endef
-
-define Package/usbip-client/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/usbip $(1)/usr/sbin/
-endef
-
-define Package/usbip-server/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/usbipd $(1)/usr/sbin/
-endef
-
-$(eval $(call Download,usb.ids))
-$(eval $(call BuildPackage,usbip))
-$(eval $(call BuildPackage,usbip-client))
-$(eval $(call BuildPackage,usbip-server))
+++ /dev/null
---- a/src/usbipd.c
-+++ b/src/usbipd.c
-@@ -453,7 +453,7 @@ static void set_signal(void)
- sigaction(SIGTERM, &act, NULL);
- sigaction(SIGINT, &act, NULL);
- act.sa_handler = SIG_IGN;
-- sigaction(SIGCLD, &act, NULL);
-+ sigaction(SIGCHLD, &act, NULL);
- }
-
- static const char *pid_file;
+++ /dev/null
-Index: trunk/src/cmd/Makefile.am
-===================================================================
---- trunk/src/cmd/Makefile.am (revision 98)
-+++ trunk/src/cmd/Makefile.am (revision 99)
-@@ -17,5 +17,5 @@
- INCLUDES = -I$(top_srcdir)/lib
- LDADD = ../lib/libusbip.la @PACKAGE_LIBS@
- EXTRA_CFLAGS = @EXTRA_CFLAGS@
--AM_CFLAGS = -Wall -W -Wstrict-prototypes -std=gnu99 $(EXTRA_CFLAGS) @PACKAGE_CFLAGS@
-+AM_CFLAGS = -Wall -W -Wstrict-prototypes -std=gnu99 $(EXTRA_CFLAGS) @PACKAGE_CFLAGS@ -DUSBIDS_FILE='"@USBIDS_DIR@/usb.ids"'
-
+++ /dev/null
---- a/drivers/head/stub_dev.c
-+++ b/drivers/head/stub_dev.c
-@@ -398,7 +398,11 @@ static int stub_probe(struct usb_interfa
- {
- struct usb_device *udev = interface_to_usbdev(interface);
- struct stub_device *sdev = NULL;
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
- char *udev_busid = interface->dev.parent->bus_id;
-+#else
-+ char *udev_busid = dev_name(interface->dev.parent);
-+#endif
- int err = 0;
-
- udbg("Enter\n");
---- a/drivers/head/stub_main.c
-+++ b/drivers/head/stub_main.c
-@@ -252,18 +252,17 @@ static int __init usb_stub_init(void)
- return -ENOMEM;
- }
-
-+ info(DRIVER_DESC "" DRIVER_VERSION);
-+
-+ memset(busid_table, 0, sizeof(busid_table));
-+ spin_lock_init(&busid_table_lock);
-+
- ret = usb_register(&stub_driver);
- if (ret) {
- uerr("usb_register failed %d\n", ret);
- return ret;
- }
-
--
-- info(DRIVER_DESC "" DRIVER_VERSION);
--
-- memset(busid_table, 0, sizeof(busid_table));
-- spin_lock_init(&busid_table_lock);
--
- ret = driver_create_file(&stub_driver.drvwrap.driver, &driver_attr_match_busid);
-
- if (ret) {
---- a/drivers/head/stub_rx.c
-+++ b/drivers/head/stub_rx.c
-@@ -159,7 +159,11 @@ static int tweak_set_configuration_cmd(s
- * A user may need to set a special configuration value before
- * exporting the device.
- */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
- uinfo("set_configuration (%d) to %s\n", config, urb->dev->dev.bus_id);
-+#else
-+ uinfo("set_configuration (%d) to %s\n", config, dev_name(&urb->dev->dev));
-+#endif
- uinfo("but, skip!\n");
-
- return 0;
-@@ -177,7 +181,11 @@ static int tweak_reset_device_cmd(struct
- value = le16_to_cpu(req->wValue);
- index = le16_to_cpu(req->wIndex);
-
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
- uinfo("reset_device (port %d) to %s\n", index, urb->dev->dev.bus_id);
-+#else
-+ uinfo("reset_device (port %d) to %s\n", index, dev_name(&urb->dev->dev));
-+#endif
-
- /* all interfaces should be owned by usbip driver, so just reset it. */
- ret = usb_lock_device_for_reset(urb->dev, NULL);
-@@ -187,7 +195,11 @@ static int tweak_reset_device_cmd(struct
- }
-
- /* try to reset the device */
-- ret = usb_reset_composite_device(urb->dev, NULL);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
-+ ret = usb_reset_composite_device(urb->dev, NULL);
-+#else
-+ ret = usb_reset_device(urb->dev);
-+#endif
- if (ret < 0)
- uerr("device reset\n");
-
---- a/drivers/head/usbip_common.c
-+++ b/drivers/head/usbip_common.c
-@@ -55,10 +55,7 @@ static ssize_t show_flag(struct device *
- static ssize_t store_flag(struct device *dev, struct device_attribute *attr,
- const char *buf, size_t count)
- {
-- unsigned long flag;
--
-- sscanf(buf, "%lx", &flag);
-- usbip_debug_flag = flag;
-+ sscanf(buf, "%lx", &usbip_debug_flag);
-
- return count;
- }
-@@ -390,7 +387,7 @@ int usbip_thread(void *param)
- unlock_kernel();
-
- /* srv.rb must wait for rx_thread starting */
-- complete(&ut->thread_done);
-+ complete(&ut->thread_started);
-
- /* start of while loop */
- ut->loop_ops(ut);
-@@ -403,15 +400,21 @@ int usbip_thread(void *param)
-
- void usbip_start_threads(struct usbip_device *ud)
- {
-+
- /*
- * threads are invoked per one device (per one connection).
- */
-+ INIT_COMPLETION(ud->tcp_rx.thread_started);
-+ INIT_COMPLETION(ud->tcp_tx.thread_started);
-+ INIT_COMPLETION(ud->tcp_rx.thread_done);
-+ INIT_COMPLETION(ud->tcp_tx.thread_done);
-+
- kernel_thread((int(*)(void *))usbip_thread, (void *)&ud->tcp_rx, 0);
- kernel_thread((int(*)(void *))usbip_thread, (void *)&ud->tcp_tx, 0);
-
- /* confirm threads are starting */
-- wait_for_completion(&ud->tcp_rx.thread_done);
-- wait_for_completion(&ud->tcp_tx.thread_done);
-+ wait_for_completion(&ud->tcp_rx.thread_started);
-+ wait_for_completion(&ud->tcp_tx.thread_started);
- }
- EXPORT_SYMBOL(usbip_start_threads);
-
-@@ -436,6 +439,7 @@ void usbip_task_init(struct usbip_task *
- void (*loop_ops)(struct usbip_task *))
- {
- ut->thread = NULL;
-+ init_completion(&ut->thread_started);
- init_completion(&ut->thread_done);
- ut->name = name;
- ut->loop_ops = loop_ops;
---- a/drivers/head/usbip_event.c
-+++ b/drivers/head/usbip_event.c
-@@ -38,7 +38,7 @@ void usbip_start_eh(struct usbip_device
-
- kernel_thread((int(*)(void *)) usbip_thread, (void *) eh, 0);
-
-- wait_for_completion(&eh->thread_done);
-+ wait_for_completion(&eh->thread_started);
- }
- EXPORT_SYMBOL(usbip_start_eh);
-
---- a/drivers/head/vhci_hcd.c
-+++ b/drivers/head/vhci_hcd.c
-@@ -58,7 +58,7 @@ static void vhci_stop(struct usb_hcd *hc
- static int vhci_get_frame_number(struct usb_hcd *hcd);
-
- static const char driver_name[] = "vhci_hcd";
--static const char driver_desc[] = "USB/IP Virtual Host Contoroller";
-+static const char driver_desc[] = "USB/IP Virtual Host Controller";
-
-
-
-@@ -416,14 +416,6 @@ static int vhci_hub_control(struct usb_h
- case USB_PORT_FEAT_SUSPEND:
- dbg_vhci_rh(" SetPortFeature: USB_PORT_FEAT_SUSPEND\n");
- uerr(" not yet\n");
--#if 0
-- dum->port_status[rhport] |= (1 << USB_PORT_FEAT_SUSPEND);
-- if (dum->driver->suspend) {
-- spin_unlock (&dum->lock);
-- dum->driver->suspend (&dum->gadget);
-- spin_lock (&dum->lock);
-- }
--#endif
- break;
- case USB_PORT_FEAT_RESET:
- dbg_vhci_rh(" SetPortFeature: USB_PORT_FEAT_RESET\n");
-@@ -432,12 +424,6 @@ static int vhci_hub_control(struct usb_h
- dum->port_status[rhport] &= ~(USB_PORT_STAT_ENABLE
- | USB_PORT_STAT_LOW_SPEED
- | USB_PORT_STAT_HIGH_SPEED);
--#if 0
-- if (dum->driver) {
-- dev_dbg (hardware, "disconnect\n");
-- stop_activity (dum, dum->driver);
-- }
--#endif
-
- /* FIXME test that code path! */
- }
-@@ -1060,7 +1046,7 @@ static int vhci_hcd_probe(struct platfor
- struct usb_hcd *hcd;
- int ret;
-
-- uinfo("proving...\n");
-+ uinfo("probing...\n");
-
- dbg_vhci_hc("name %s id %d\n", pdev->name, pdev->id);
-
-@@ -1076,7 +1062,11 @@ static int vhci_hcd_probe(struct platfor
- * Allocate and initialize hcd.
- * Our private data is also allocated automatically.
- */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
- hcd = usb_create_hcd(&vhci_hc_driver, &pdev->dev, pdev->dev.bus_id);
-+#else
-+ hcd = usb_create_hcd(&vhci_hc_driver, &pdev->dev, dev_name(&pdev->dev));
-+#endif
- if (!hcd) {
- uerr("create hcd failed\n");
- return -ENOMEM;
---- a/drivers/head/vhci_sysfs.c
-+++ b/drivers/head/vhci_sysfs.c
-@@ -123,7 +123,11 @@ static ssize_t show_status(struct device
- out += sprintf(out, "%03u %08x ",
- vdev->speed, vdev->devid);
- out += sprintf(out, "%16p ", vdev->ud.tcp_socket);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
- out += sprintf(out, "%s", vdev->udev->dev.bus_id);
-+#else
-+ out += sprintf(out, "%s", dev_name(&vdev->udev->dev));
-+#endif
-
- } else
- out += sprintf(out, "000 000 000 0000000000000000 0-0");
---- a/drivers/head/usbip_common.h
-+++ b/drivers/head/usbip_common.h
-@@ -300,6 +300,7 @@ struct usbip_device;
-
- struct usbip_task {
- struct task_struct *thread;
-+ struct completion thread_started;
- struct completion thread_done;
- char *name;
- void (*loop_ops)(struct usbip_task *);
+++ /dev/null
-#
-# Copyright (C) 2006,2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=wifidog
-PKG_VERSION:=1.3.0
-PKG_RELEASE=1
-
-
-PKG_LICENSE:=GPL-2.0
-# Note: Packaging is maintained upstream at
-# https://github.com/wifidog/packages
-PKG_MAINTAINER:=Michael Haas <haas@computerlinguist.org>
-PKG_LICENSE_FILES:=COPYING
-
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://github.com/wifidog/wifidog-gateway.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=1.3.0
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-
-PKG_FIXUP:=autoreconf
-# do not run make install
-PKG_INSTALL:=0
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/wifidog/Default
- SUBMENU:=Captive Portals
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=+iptables-mod-extra +iptables-mod-ipopt +iptables-mod-nat-extra +libpthread
- TITLE:=A wireless captive portal solution
- URL:=http://www.wifidog.org
-endef
-
-define Package/wifidog
-$(call Package/wifidog/Default)
- VARIANT:=normal
-endef
-
-define Package/wifidog-tls
-$(call Package/wifidog/Default)
- DEPENDS+= +libcyassl
- VARIANT:=tls
-endef
-
-
-define Package/wifidog/description
- The Wifidog project is a complete and embeddable captive
- portal solution for wireless community groups or individuals
- who wish to open a free Hotspot while still preventing abuse
- of their Internet connection.
-endef
-
-define Package/wifidog-tls/description
-$(call Package/wifidog/description)
-
-This variant can talk TLS to the auth server.
-endef
-
-define Package/wifidog/conffiles
-/etc/wifidog.conf
-endef
-
-Package/wifidog-tls/conffiles = $(Package/wifidog/conffiles)
-
-
-define Package/wifidog/configure
- $(call Build/Configure/Default)
-endef
-
-ifeq ($(BUILD_VARIANT),tls)
-
-CONFIGURE_ARGS += \
- --enable-cyassl
-
-endif
-
-define Package/wifidog/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wifidog $(1)/usr/bin/
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wdctl $(1)/usr/bin/
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhttpd.so* $(1)/usr/lib/
- $(INSTALL_DIR) $(1)/etc
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/wifidog.conf $(1)/etc/
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/wifidog-msg.html $(1)/etc/
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/wifidog.init $(1)/etc/init.d/wifidog
-endef
-
-Package/wifidog-tls/install = $(Package/wifidog/install)
-
-$(eval $(call BuildPackage,wifidog))
-$(eval $(call BuildPackage,wifidog-tls))
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-START=65
-
-USE_PROCD=1
-
-EXTRA_COMMANDS="status"
-EXTRA_HELP=" status Print the status of the service"
-
-start_service() {
- procd_open_instance
- # -s: log to syslog
- # -f: run in foreground
- procd_set_param command /usr/bin/wifidog -s -f
- procd_set_param respawn # respawn automatically if something died
- procd_set_param file /etc/wifidog.conf
- procd_close_instance
-}
-
-status() {
- /usr/bin/wdctl status
-}
+++ /dev/null
-#
-# Copyright (C) 2010-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ap51-flash
-PKG_VERSION:=2016-10-16
-PKG_RELEASE:=1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://dev.cloudtrax.com/ap51-flash.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=48b3fbac1c30c5968b2608eb09b53ea37c310a24
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
-PKG_MAINTAINER:=Russell Senior <russell@personaltelco.net>
-
-include $(INCLUDE_DIR)/package.mk
-
-ifeq ($(CONFIG_BIG_ENDIAN),y)
- STAMP_BUILT:=$(STAMP_BUILT)_big
-endif
-
-define Package/ap51-flash
- SECTION:=utils
- CATEGORY:=Utilities
- TITLE:=A tool for flashing (nearly) all ap51/ap61 based routers
- URL:=http://dev.cloudtrax.com/wiki/ap51-flash-station
-endef
-
-TARGET_EXTRA_CFLAGS:=-DFLASH_FROM_FILE -DNO_LIBPCAP -D_GNU_SOURCE -DIPPORT_TFTP=69
-ifeq ($(CONFIG_BIG_ENDIAN),y)
- TARGET_EXTRA_CFLAGS:=$(TARGET_EXTRA_CFLAGS) -DUIP_CONF_BYTE_ORDER=1234
-endif
-
-# pass optimization flags
-MAKE_FLAGS += \
- OFLAGS="$(TARGET_CFLAGS)" \
- EXTRA_CFLAGS="$(TARGET_EXTRA_CFLAGS)" \
- REVISION="$(PKG_VERSION)" \
- ap51-flash
-
-define Package/ap51-flash/install
- $(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d $(1)/usr/sbin \
- $(1)/usr/lib/ap51-flash
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/ap51-flash $(1)/usr/sbin/
- $(INSTALL_BIN) ./files/ap51-flash.init $(1)/etc/init.d/ap51-flash
- $(INSTALL_BIN) ./files/ap51-flash.sh $(1)/usr/lib/ap51-flash/ap51-flash.sh
- $(INSTALL_DATA) ./files/ap51-flash.config $(1)/etc/config/ap51-flash
-endef
-
-define Package/ap51-flash/conffiles
-/etc/config/ap51-flash
-endef
-
-$(eval $(call BuildPackage,ap51-flash))
+++ /dev/null
-#config flash
-# option ifname eth0.1
-# option rootfs /tmp/images/openwrt-atheros-root.squashfs
-# option kernel /tmp/images/openwrt-atheros-vmlinux.lzma
-# option ubnt /tmp/images/openwrt-atheros-ubnt5-squashfs.bin
-## option loop '1'
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2010 OpenWrt.org
-
-START=20
-
-NAME=ap51-flash
-
-start_daemon() {
- local cfg="$1"
-
- config_get_bool loop "$cfg" loop
- config_get ifname "$cfg" ifname
- config_get rootfs "$cfg" rootfs
- config_get kernel "$cfg" kernel
- config_get ubnt "$cfg" ubnt
- [ "$loop" != "1" ] && loop=0
- if [ -n "$ifname" -a -n "$rootfs" -a -n "$kernel" ] || \
- [ -n "$ifname" -a -n "$ubnt" ]; then
- PID="`cat /var/run/$NAME.sh-$ifname.pid 2> /dev/null`"
- [ -z "`ps | grep "^.[ ]*$PID "`" ] && \
- rm /var/run/$NAME.sh-$ifname.pid
- [ -n "`ls /var/run/$NAME.sh-$ifname.pid 2> /dev/null`" ] && {
- echo "Can't start more than one ap51-flash for interface $ifname!"
- return 0
- }
- start-stop-daemon -S -b -m -p /var/run/$NAME.sh-$ifname.pid -n $NAME.sh \
- -x /usr/lib/ap51-flash/$NAME.sh -- "$loop" "$ifname" "$rootfs" "$kernel" "$ubnt"
- fi
-}
-
-start() {
- config_load ap51-flash
- config_foreach start_daemon flash
-}
-
-stop() {
- # Terminating all ap51-flash processes
- echo "WARNING: Going to teminate all ap51-flash processes! (hope you made sure that they're not flashing right now)"
- echo "OR you can stop this with Ctrl+c within 10 seconds"
- sleep 10
- local pidfile
- for pidfile in `ls /var/run/${NAME}.sh-*.pid 2> /dev/null`; do
- start-stop-daemon -K -s TERM -p "${pidfile}" -n "${NAME}.sh" >/dev/null
- rm -f "${pidfile}"
- done
- for pidfile in `ls /var/run/${NAME}-*.pid 2> /dev/null`; do
- start-stop-daemon -K -s TERM -p "${pidfile}" -n "${NAME}" >/dev/null
- rm -f "${pidfile}"
- done
-}
+++ /dev/null
-#!/bin/sh
-
-NAME=ap51-flash
-rootfs=""
-kernel=""
-ubnt=""
-
-[ $1 -eq "1" ] && loop="1"
-ifname="$2"
-[ -n "$3" ] && rootfs="--rootfs $3"
-[ -n "$4" ] && kernel="--kernel $4"
-[ -n "$5" ] && ubnt="--ubnt $5"
-
-while [ 1 ]; do
- start-stop-daemon -S -m -p /var/run/$NAME-$ifname.pid -n $NAME \
- -x /usr/sbin/$NAME -- --flash-from-file $rootfs $kernel $ubnt $ifname
-
- rm /var/run/$NAME-$ifname.pid
- [ "$loop" != "1" ] && break
- sleep 15
-done