Bump version to v1.5.4a
[librecmc/librecmc.git] / package / utils / usbmode / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=usbmode
4 PKG_RELEASE:=2
5
6 PKG_SOURCE_PROTO:=git
7 PKG_SOURCE_URL=$(PROJECT_GIT)/usbmode.git
8 PKG_SOURCE_DATE:=2017-12-19
9 PKG_SOURCE_VERSION:=f40f84c27534159066c94dadc0c08e0b255c3e26
10 PKG_MIRROR_HASH:=840c7ee2843102b09d8943a20820025251cc259385e2b0bde6b7c8cce8190f83
11 CMAKE_INSTALL:=1
12
13 PKG_LICENSE:=GPL-2.0
14 PKG_LICENSE_FILES:=
15
16 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
17
18 PKG_DATA_VERSION:=20170806
19 PKG_DATA_URL:=http://www.draisberghof.de/usb_modeswitch
20 PKG_DATA_PATH:=usb-modeswitch-data-$(PKG_DATA_VERSION)
21 PKG_DATA_FILENAME:=$(PKG_DATA_PATH).tar.bz2
22
23 include $(INCLUDE_DIR)/package.mk
24 include $(INCLUDE_DIR)/cmake.mk
25
26 define Download/data
27   FILE:=$(PKG_DATA_FILENAME)
28   URL:=$(PKG_DATA_URL)
29   HASH:=ce413ef2a50e648e9c81bc3ea6110e7324a8bf981034fc9ec4467d3562563c2c
30 endef
31 $(eval $(call Download,data))
32
33 define Package/usb-modeswitch
34   SECTION:=utils
35   CATEGORY:=Utilities
36   DEPENDS:=+libubox +libblobmsg-json +libusb-1.0
37   TITLE:=USB mode switching utility
38 endef
39
40 define Build/Prepare
41         $(Build/Prepare/Default)
42         tar xvfj $(DL_DIR)/$(PKG_DATA_FILENAME) -C $(PKG_BUILD_DIR)
43         #remove devices with unsupported modes
44         for filevar in $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/* ; \
45         do \
46                 if grep -q -E '(Quanta|Option|Blackberry|Pantech)Mode' "$$$$filevar" ; then \
47                         rm "$$$$filevar" ; \
48                 fi \
49         done
50         cp ./data/* $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/
51         #in order to keep the Lede GIT repo free of filenames with colons,
52         #we name the files xxxx-yyyy
53         # and rename here after copying to the build directory
54         for filevar in $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/*-* ; \
55         do \
56                 [ -f "$$$$filevar" ] || continue ; \
57                 FILENAME=$$$$(basename $$$$filevar) ; \
58                 NEWNAME=$$$${FILENAME//-/:} ; \
59                 rm "$(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/$$$$NEWNAME" ; \
60                 mv "$(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/$$$$FILENAME" "$(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/$$$$NEWNAME" ; \
61         done
62 endef
63
64 define Package/usb-modeswitch/install
65         $(INSTALL_DIR) $(1)/etc/hotplug.d/usb $(1)/etc/init.d $(1)/sbin
66         perl $(PKG_BUILD_DIR)/convert-modeswitch.pl \
67                 $(PKG_BUILD_DIR)/$(PKG_DATA_PATH)/usb_modeswitch.d/* \
68                 > $(1)/etc/usb-mode.json
69         $(INSTALL_CONF) ./files/usbmode.hotplug $(1)/etc/hotplug.d/usb/20-usb_mode
70         $(INSTALL_BIN) ./files/usbmode.init $(1)/etc/init.d/usbmode
71         $(CP) $(PKG_INSTALL_DIR)/usr/sbin/usbmode $(1)/sbin/
72 endef
73
74 $(eval $(call BuildPackage,usb-modeswitch))