aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/usbmode
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils/usbmode')
-rw-r--r--package/utils/usbmode/Makefile57
-rw-r--r--package/utils/usbmode/files/usbmode.hotplug7
2 files changed, 64 insertions, 0 deletions
diff --git a/package/utils/usbmode/Makefile b/package/utils/usbmode/Makefile
new file mode 100644
index 0000000000..491f3e572f
--- /dev/null
+++ b/package/utils/usbmode/Makefile
@@ -0,0 +1,57 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=usbmode
+PKG_VERSION:=2013-05-31
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=git://git.openwrt.org/project/usbmode.git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=b62a33af03c39a8970249ce7afe7baec7ea9b91b
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+CMAKE_INSTALL:=1
+
+PKG_LICENSE:=GPLv2
+PKG_LICENSE_FILES:=
+
+PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+
+PKG_DATA_VERSION:=20121109
+PKG_DATA_URL:=http://www.draisberghof.de/usb_modeswitch
+PKG_DATA_PATH:=usb-modeswitch-data-$(PKG_DATA_VERSION)
+PKG_DATA_FILENAME:=$(PKG_DATA_PATH).tar.bz2
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Download/data
+ FILE:=$(PKG_DATA_FILENAME)
+ URL:=$(PKG_DATA_URL)
+ MD5SUM:=a7d23a03157871013a0d708ab2b1b6df
+endef
+$(eval $(call Download,data))
+
+define Package/usb-modeswitch
+ SECTION:=utils
+ CATEGORY:=Utilities
+ DEPENDS:=+libubox +libblobmsg-json +libusb-1.0
+ TITLE:=USB mode switching utility
+endef
+
+define Build/Prepare
+ $(Build/Prepare/Default)
+ tar xvfj $(DL_DIR)/$(PKG_DATA_FILENAME) -C $(PKG_BUILD_DIR)
+ rm -f \
+ $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/05c6:1000:sVe=GT
+endef
+
+define Package/usb-modeswitch/install
+ $(INSTALL_DIR) $(1)/etc/hotplug.d/usb $(1)/sbin
+ perl $(PKG_BUILD_DIR)/convert-modeswitch.pl \
+ $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/* \
+ > $(1)/etc/usb-mode.json
+ $(CP) ./files/usbmode.hotplug $(1)/etc/hotplug.d/usb/20-usb_mode
+ $(CP) $(PKG_INSTALL_DIR)/usr/sbin/usbmode $(1)/sbin/
+endef
+
+$(eval $(call BuildPackage,usb-modeswitch))
diff --git a/package/utils/usbmode/files/usbmode.hotplug b/package/utils/usbmode/files/usbmode.hotplug
new file mode 100644
index 0000000000..4ef2bd8daa
--- /dev/null
+++ b/package/utils/usbmode/files/usbmode.hotplug
@@ -0,0 +1,7 @@
+. /lib/functions/procd.sh
+
+procd_open_service "usbmode"
+procd_open_instance
+procd_set_param command "/sbin/usbmode" -s
+procd_close_instance
+procd_close_service