summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <karel.koci@nic.cz>2018-10-09 09:59:52 +0200
committerKarel Kočí <karel.koci@nic.cz>2018-10-09 10:00:59 +0200
commite80d577eca049b4968d30c77ab646fa4fcd01780 (patch)
treeaf48600c83613401d7c8be7c7f6db5f616ce68af
parent3532fa47380fb79d6c6edb32039c1b491f64709a (diff)
parentd32f4c85ac3634a3a4c35d4fec7dc8131c9cfcab (diff)
downloadopenwrt-personal-pkgs-e80d577eca049b4968d30c77ab646fa4fcd01780.tar.gz
openwrt-personal-pkgs-e80d577eca049b4968d30c77ab646fa4fcd01780.tar.bz2
openwrt-personal-pkgs-e80d577eca049b4968d30c77ab646fa4fcd01780.zip
Merge branch 'turris3x'
-rw-r--r--autopkg-tag.mk2
-rw-r--r--bigclown-control-tools/Makefile28
-rwxr-xr-xbigclown-control-tools/files/bch9
-rw-r--r--bigclown-gateway/Makefile36
-rwxr-xr-xbigclown-gateway/files/bcg9
-rw-r--r--bigclown-gateway/files/config9
-rwxr-xr-xbigclown-gateway/files/init57
-rw-r--r--bigclown-mqtt2influxdb/Makefile35
-rw-r--r--bigclown-mqtt2influxdb/files/config.yml60
-rw-r--r--bigclown-mqtt2influxdb/files/init22
-rwxr-xr-xbigclown-mqtt2influxdb/files/mqtt2influxdb9
-rw-r--r--click-log/Makefile24
-rw-r--r--click/Makefile24
-rw-r--r--personal-pkgs-repo/Makefile3
-rw-r--r--python3-certifi/Makefile26
-rw-r--r--python3-chardet/Makefile26
-rw-r--r--python3-dateutil/Makefile37
-rw-r--r--python3-decorator/Makefile25
-rw-r--r--python3-idna/Makefile26
-rw-r--r--python3-influxdb/Makefile26
-rwxr-xr-xpython3-influxdb/files/bch9
-rw-r--r--python3-jsonpath-ng/Makefile26
-rw-r--r--python3-pyserial/Makefile36
-rw-r--r--python3-requests/Makefile38
-rw-r--r--python3-schema/Makefile25
-rw-r--r--python3-six/Makefile38
-rw-r--r--python3-urllib3/Makefile26
27 files changed, 688 insertions, 3 deletions
diff --git a/autopkg-tag.mk b/autopkg-tag.mk
index ecad206..9b80418 100644
--- a/autopkg-tag.mk
+++ b/autopkg-tag.mk
@@ -2,7 +2,7 @@
AUTOPKG_VARIANT:=tag
include $(TOPDIR)/feeds/personal/autopkg-head.mk
-PKG_SOURCE_VERSION:=$(shell git $(GIT_ARGS) tag | grep '^v' | sort -n | tail -1)
+PKG_SOURCE_VERSION:=$(shell git $(GIT_ARGS) tag | grep '^v' | sort -V | tail -1)
PKG_VERSION:=$(subst v%,%,$(PKG_SOURCE_VERSION))
include $(TOPDIR)/feeds/personal/autopkg-tail.mk
diff --git a/bigclown-control-tools/Makefile b/bigclown-control-tools/Makefile
new file mode 100644
index 0000000..e1decb7
--- /dev/null
+++ b/bigclown-control-tools/Makefile
@@ -0,0 +1,28 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bigclown-control-tools
+PKG_RELEASE:=3
+PKG_SOURCE_URL:=https://github.com/bigclownlabs/bch-control-tool.git
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+
+include $(TOPDIR)/feeds/personal/autopkg-tag.mk
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=BigCLown control tools
+ DEPENDS:=+python3 +click-log +python3-influxdb +python3-pyyaml +python3-pyserial +python3-simplejson
+endef
+
+define Py3Package/$(PKG_NAME)/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) ./files/bch $(1)/usr/bin/bch
+endef
+
+define Build/Compile
+ sed -i 's/@@VERSION@@/$(PKG_VERSION)/' "$(PKG_BUILD_DIR)/setup.py"
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/bigclown-control-tools/files/bch b/bigclown-control-tools/files/bch
new file mode 100755
index 0000000..a473b30
--- /dev/null
+++ b/bigclown-control-tools/files/bch
@@ -0,0 +1,9 @@
+#!/usr/bin/python3.6
+import bch
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.exit(
+ load_entry_point('bch', 'console_scripts', 'bch')()
+ )
diff --git a/bigclown-gateway/Makefile b/bigclown-gateway/Makefile
new file mode 100644
index 0000000..9cfaf3e
--- /dev/null
+++ b/bigclown-gateway/Makefile
@@ -0,0 +1,36 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bigclown-gateway
+PKG_RELEASE:=2
+PKG_SOURCE_URL:=https://github.com/bigclownlabs/bch-gateway.git
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+
+include $(TOPDIR)/feeds/personal/autopkg-tag.mk
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=BigCLown gateway
+ DEPENDS:=+python3 +mosquitto +mosquitto-client +kmod-usb-serial-ftdi +kmod-usb-acm +python3-paho-mqtt +python3-pyyaml +python3-pyserial +python3-simplejson
+endef
+
+define Py3Package/$(PKG_NAME)/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) ./files/bcg $(1)/usr/bin/bcg
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) ./files/config $(1)/etc/config/bigclown-gateway
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/init $(1)/etc/init.d/bigclown-gateway
+endef
+
+define Package/$(PKG_NAME)/conffiles
+/etc/config/bigclown-gateway
+endef
+
+define Build/Compile
+ sed -i 's/@@VERSION@@/$(PKG_VERSION)/' "$(PKG_BUILD_DIR)/setup.py"
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/bigclown-gateway/files/bcg b/bigclown-gateway/files/bcg
new file mode 100755
index 0000000..fe261f4
--- /dev/null
+++ b/bigclown-gateway/files/bcg
@@ -0,0 +1,9 @@
+#!/usr/bin/python3.6
+import bcg
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.exit(
+ load_entry_point('bcg', 'console_scripts', 'bcg')()
+ )
diff --git a/bigclown-gateway/files/config b/bigclown-gateway/files/config
new file mode 100644
index 0000000..c16e31b
--- /dev/null
+++ b/bigclown-gateway/files/config
@@ -0,0 +1,9 @@
+
+config gateway 'gateway'
+ option name 'usb-dongle'
+ option device '/dev/ttyUSB0'
+ option automatic_rename_kit_nodes '1'
+
+config mqtt 'mqtt'
+ option host 'localhost'
+ option port '1883'
diff --git a/bigclown-gateway/files/init b/bigclown-gateway/files/init
new file mode 100755
index 0000000..02f27d1
--- /dev/null
+++ b/bigclown-gateway/files/init
@@ -0,0 +1,57 @@
+#!/bin/sh /etc/rc.common
+
+START=98
+STOP=1
+
+USE_PROCD=1
+
+PROG=/usr/bin/bcg
+CONF=/tmp/etc/bigclown-gateway.conf
+
+append() {
+ local cfg="$1"
+ local uci_name="$2"
+ local out_name="$3"
+ local default="$4"
+ config_get val $cfg $uci_name $default
+ if [ -n "$val" ]; then
+ echo "$out_name $val" >> $CONF
+ fi
+}
+
+start_service() {
+ config_load bigclown-gateway
+
+ rm -rf $CONF
+ echo "Generating bigclown-gateway config file in $CONF"
+
+ append gateway name 'name:' usb-dongle
+ # TODO add udev rules and use different default here
+ append gateway device 'device:' /dev/ttyUSB0
+ append gateway automatic_rename_kit_nodes 'automatic_rename_kit_nodes:' 1
+ append gateway base_topic_prefix 'base_topic_prefix:'
+
+ echo "mqtt:" >> $CONF
+ append mqtt host ' host:' localhost
+ append mqtt port ' port:' 1883
+ append mqtt cafile ' cafile:'
+ append mqtt certfile ' certfile:'
+ append mqtt keyfile ' keyfile:'
+
+ procd_open_instance
+ procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
+ procd_set_param command "$PROG" -c "$CONF" -W
+ procd_set_param stdout 1
+ procd_set_param stderr 1
+ procd_close_instance
+}
+
+stop_service() {
+ service_stop "$PROG"
+ ps | grep "$PROG" | grep -v grep | sed -e 's/^\s*\([0-9]\+\)\s.*$/\1/' | xargs -r -- kill -9
+}
+
+service_triggers()
+{
+ procd_add_reload_trigger 'bc-gateway-usb-dongle'
+}
diff --git a/bigclown-mqtt2influxdb/Makefile b/bigclown-mqtt2influxdb/Makefile
new file mode 100644
index 0000000..5e6f0d2
--- /dev/null
+++ b/bigclown-mqtt2influxdb/Makefile
@@ -0,0 +1,35 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bigclown-mqtt2influxdb
+PKG_RELEASE:=3
+PKG_SOURCE_URL:=https://github.com/bigclownlabs/bch-mqtt2influxdb.git
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+
+include $(TOPDIR)/feeds/personal/autopkg-tag.mk
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=BigCLown MQTT to Influxdb bridge
+ DEPENDS:=+python3 +python3-paho-mqtt +python3-pyyaml +python3-influxdb +python3-jsonpath-ng +python3-schema
+endef
+
+define Py3Package/$(PKG_NAME)/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) ./files/mqtt2influxdb $(1)/usr/bin/mqtt2influxdb
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/init $(1)/etc/init.d/bc-mqtt2influxdb
+ $(INSTALL_DATA) ./files/config.yml $(1)/etc/bc-mqtt2influxdb.yml
+endef
+
+define Package/$(PKG_NAME)/conffiles
+/etc/bc-mqtt2influxdb.yml
+endef
+
+define Build/Compile
+ sed -i 's/@@VERSION@@/$(PKG_VERSION)/' "$(PKG_BUILD_DIR)/setup.py"
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/bigclown-mqtt2influxdb/files/config.yml b/bigclown-mqtt2influxdb/files/config.yml
new file mode 100644
index 0000000..922c1b9
--- /dev/null
+++ b/bigclown-mqtt2influxdb/files/config.yml
@@ -0,0 +1,60 @@
+mqtt:
+ host: 127.0.0.1
+ port: 1883
+
+influxdb:
+ host: 127.0.0.1
+ port: 8086
+ database: node
+
+points:
+ - measurement: temperature
+ topic: node/+/thermometer/+/temperature
+ fields:
+ value: $.payload
+ tags:
+ id: $.topic[1]
+ channel: $.topic[3]
+
+ - measurement: relative-humidity
+ topic: node/+/hygrometer/0:4/relative-humidity
+ fields:
+ value: $.payload
+ tags:
+ id: $.topic[1]
+
+ - measurement: illuminance
+ topic: node/+/lux-meter/0:0/illuminance
+ fields:
+ value: $.payload
+ tags:
+ id: $.topic[1]
+
+ - measurement: pressure
+ topic: node/+/barometer/0:0/pressure
+ fields:
+ value: $.payload
+ tags:
+ id: $.topic[1]
+
+ - measurement: co2
+ topic: node/+/co2-meter/-/concentration
+ fields:
+ value: $.payload
+ tags:
+ id: $.topic[1]
+
+ - measurement: voltage
+ topic: node/+/battery/+/voltage
+ fields:
+ value: $.payload
+ tags:
+ id: $.topic[1]
+
+ - measurement: button
+ topic: node/+/push-button/+/event-count
+ fields:
+ value: $.payload
+ tags:
+ id: $.topic[1]
+ channel: $.topic[3]
diff --git a/bigclown-mqtt2influxdb/files/init b/bigclown-mqtt2influxdb/files/init
new file mode 100644
index 0000000..5218205
--- /dev/null
+++ b/bigclown-mqtt2influxdb/files/init
@@ -0,0 +1,22 @@
+#!/bin/sh /etc/rc.common
+
+START=99
+STOP=1
+
+USE_PROCD=1
+
+PROG=/usr/bin/mqtt2influxdb
+CONF=/etc/bc-mqtt2influxdb.yml
+
+start_service() {
+ procd_open_instance
+ procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
+ procd_set_param command "$PROG" -c "$CONF"
+ procd_set_param stdout 1
+ procd_set_param stderr 1
+ procd_close_instance
+}
+
+stop_service() {
+ service_stop "$PROG"
+}
diff --git a/bigclown-mqtt2influxdb/files/mqtt2influxdb b/bigclown-mqtt2influxdb/files/mqtt2influxdb
new file mode 100755
index 0000000..22f9f8c
--- /dev/null
+++ b/bigclown-mqtt2influxdb/files/mqtt2influxdb
@@ -0,0 +1,9 @@
+#!/usr/bin/python3.6
+import mqtt2influxdb
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.exit(
+ load_entry_point('mqtt2influxdb', 'console_scripts', 'mqtt2influxdb')()
+ )
diff --git a/click-log/Makefile b/click-log/Makefile
new file mode 100644
index 0000000..0193c3d
--- /dev/null
+++ b/click-log/Makefile
@@ -0,0 +1,24 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=click-log
+PKG_VERSION:=0.3.2
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=https://github.com/click-contrib/click-log/archive/$(PKG_VERSION)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=fd9f23b5644c093c045a25c176f00686
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Simple and beautiful logging for click applications
+ DEPENDS:=+python3 +click
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/click/Makefile b/click/Makefile
new file mode 100644
index 0000000..438f14a
--- /dev/null
+++ b/click/Makefile
@@ -0,0 +1,24 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=click
+PKG_VERSION:=6.7
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=https://github.com/pallets/click/archive/$(PKG_VERSION)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=fc4cc00c4863833230d3af92af48abd4
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Python composable command line utility
+ DEPENDS:=+python3
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/personal-pkgs-repo/Makefile b/personal-pkgs-repo/Makefile
index 624a895..cb02c69 100644
--- a/personal-pkgs-repo/Makefile
+++ b/personal-pkgs-repo/Makefile
@@ -15,7 +15,7 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
- TITLE:=Package with repository key
+ TITLE:=Package with repository key and meta dependencies
endef
define Build/Compile
@@ -44,7 +44,6 @@ ifeq ($(CONFIG_TARGET_PROFILE),"TURRIS")
endif
ifeq ($(CONFIG_TARGET_PROFILE),"DEVICE_cznic-mox")
BOARD:=mox
-endif
define Package/$(PKG_NAME)/postinst
#!/bin/sh
diff --git a/python3-certifi/Makefile b/python3-certifi/Makefile
new file mode 100644
index 0000000..e51f02f
--- /dev/null
+++ b/python3-certifi/Makefile
@@ -0,0 +1,26 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-certifi
+PKG_VERSION:=2018.8.24
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/c/certifi/
+PKG_SOURCE:=certifi-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=c6be18cddd339c893131d992e13949c1
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+PKG_BUILD_DIR:=$(BUILD_DIR)/certifi-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Collection of Root Certificates for validating the trustworthiness of SSL certificates
+ DEPENDS:=+python3
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-chardet/Makefile b/python3-chardet/Makefile
new file mode 100644
index 0000000..a629fb5
--- /dev/null
+++ b/python3-chardet/Makefile
@@ -0,0 +1,26 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-chardet
+PKG_VERSION:=3.0.4
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/c/chardet/
+PKG_SOURCE:=chardet-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=7dd1ba7f9c77e32351b0a0cfacf4055c
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+PKG_BUILD_DIR:=$(BUILD_DIR)/chardet-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=The Universal Character Encoding Detector
+ DEPENDS:=+python3
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-dateutil/Makefile b/python3-dateutil/Makefile
new file mode 100644
index 0000000..357590f
--- /dev/null
+++ b/python3-dateutil/Makefile
@@ -0,0 +1,37 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-dateutil
+PKG_VERSION:=2.7.3
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/python-dateutil/
+PKG_SOURCE:=python-dateutil-$(PKG_VERSION).tar.gz
+PKG_MD5SUM:=175b7c1a3cc0cb01151eced07c61c0b8
+PKG_BUILD_DIR:=$(BUILD_DIR)/python-dateutil-$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=python3-setuptools
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Python powerful extensions to datetime
+ URL:=https://dateutil.readthedocs.io/en/stable/
+ DEPENDS:=+python3 +python3-six
+endef
+
+define Package/$(PKG_NAME)/description
+ Python powerful extensions to datetime
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,, \
+ install --root="$(PKG_INSTALL_DIR)" --prefix="/usr" \
+ --single-version-externally-managed \
+ )
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-decorator/Makefile b/python3-decorator/Makefile
new file mode 100644
index 0000000..aefd6d2
--- /dev/null
+++ b/python3-decorator/Makefile
@@ -0,0 +1,25 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-decorator
+PKG_VERSION:=4.3.1
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=https://github.com/micheles/decorator/archive/$(PKG_VERSION)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=b92084f8732267b9ea5bfe8887fbad14
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+PKG_BUILD_DIR:=$(BUILD_DIR)/decorator-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Python3 decorators
+ DEPENDS:=+python3
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-idna/Makefile b/python3-idna/Makefile
new file mode 100644
index 0000000..36e6e7f
--- /dev/null
+++ b/python3-idna/Makefile
@@ -0,0 +1,26 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-idna
+PKG_VERSION:=2.7
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/i/idna/
+PKG_SOURCE:=idna-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=0e5bb69018ddef1b9d95f681182be82c
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+PKG_BUILD_DIR:=$(BUILD_DIR)/idna-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Support for the Internationalised Domain Names in Applications
+ DEPENDS:=+python3
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-influxdb/Makefile b/python3-influxdb/Makefile
new file mode 100644
index 0000000..b97c5c2
--- /dev/null
+++ b/python3-influxdb/Makefile
@@ -0,0 +1,26 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-influxdb
+PKG_VERSION:=5.2.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/i/influxdb/
+PKG_SOURCE:=influxdb-$(PKG_VERSION).tar.gz
+PKG_MD5SUM:=8d82a3e48c8d20f4d1f1243c6bb04402
+PKG_BUILD_DIR:=$(BUILD_DIR)/influxdb-$(PKG_VERSION)
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Python client for InfluxDB
+ DEPENDS:=+python3 +python3-requests +python3-pytz +python3-six +python3-dateutil
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-influxdb/files/bch b/python3-influxdb/files/bch
new file mode 100755
index 0000000..a473b30
--- /dev/null
+++ b/python3-influxdb/files/bch
@@ -0,0 +1,9 @@
+#!/usr/bin/python3.6
+import bch
+import sys
+from pkg_resources import load_entry_point
+
+if __name__ == '__main__':
+ sys.exit(
+ load_entry_point('bch', 'console_scripts', 'bch')()
+ )
diff --git a/python3-jsonpath-ng/Makefile b/python3-jsonpath-ng/Makefile
new file mode 100644
index 0000000..2c55565
--- /dev/null
+++ b/python3-jsonpath-ng/Makefile
@@ -0,0 +1,26 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-jsonpath-ng
+PKG_VERSION:=1.4.3
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/j/jsonpath-ng/
+PKG_SOURCE:=jsonpath-ng-$(PKG_VERSION).tar.gz
+PKG_MD5SUM:=cb507b93e1e9b81c6f2e01061eeb2098
+PKG_BUILD_DIR:=$(BUILD_DIR)/jsonpath-ng-$(PKG_VERSION)
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Python composable command line utility
+ DEPENDS:=+python3 +python3-ply +python3-six +python3-decorator
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-pyserial/Makefile b/python3-pyserial/Makefile
new file mode 100644
index 0000000..d1d8aaf
--- /dev/null
+++ b/python3-pyserial/Makefile
@@ -0,0 +1,36 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-pyserial
+PKG_VERSION:=3.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=pyserial-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pyserial/
+PKG_MD5SUM:=ed6183b15519a0ae96675e9c3330c69b
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/pyserial-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-pyserial
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Python Serial Port Extension
+ URL:=http://pyserial.sourceforge.net/
+ DEPENDS:=+python3
+endef
+
+define Package/python3-pyserial/description
+ Python Serial Port Extension
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,, \
+ install --root="$(PKG_INSTALL_DIR)" --prefix="/usr" \
+ )
+endef
+
+$(eval $(call Py3Package,python3-pyserial))
+$(eval $(call BuildPackage,python3-pyserial))
diff --git a/python3-requests/Makefile b/python3-requests/Makefile
new file mode 100644
index 0000000..f7a97ee
--- /dev/null
+++ b/python3-requests/Makefile
@@ -0,0 +1,38 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-requests
+PKG_VERSION:=2.19.1
+PKG_RELEASE:=2
+
+PKG_SOURCE:=requests-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/r/requests/
+PKG_MD5SUM:=6c1a31afec9d614e2e71a91ee6ca2878
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/requests-$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=python3-setuptools
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-requests
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Python HTTP for Humans.
+ URL:=http://python-requests.org
+ DEPENDS:=+python3 +python3-chardet +python3-idna +python3-urllib3 +python3-certifi
+endef
+
+define Package/python3-requests/description
+ Python HTTP for Humans.
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,, \
+ install --root="$(PKG_INSTALL_DIR)" --prefix="/usr" \
+ --single-version-externally-managed \
+ )
+endef
+
+$(eval $(call Py3Package,python3-requests))
+$(eval $(call BuildPackage,python3-requests))
diff --git a/python3-schema/Makefile b/python3-schema/Makefile
new file mode 100644
index 0000000..fd3811a
--- /dev/null
+++ b/python3-schema/Makefile
@@ -0,0 +1,25 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-schema
+PKG_VERSION:=0.7.2
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=https://github.com/keleshev/schema/archive/v$(PKG_VERSION)/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=d3f3ebab4939b18ea299f63fe64ce7f9
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+PKG_BUILD_DIR:=$(BUILD_DIR)/schema-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=Schema validation just got Pythonic
+ DEPENDS:=+python3
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))
diff --git a/python3-six/Makefile b/python3-six/Makefile
new file mode 100644
index 0000000..1aa2938
--- /dev/null
+++ b/python3-six/Makefile
@@ -0,0 +1,38 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-six
+PKG_VERSION:=1.11.0
+PKG_RELEASE:=2
+
+PKG_SOURCE:=six-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/s/six/
+PKG_MD5SUM:=d12789f9baf7e9fb2524c0c64f1773f8
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/six-$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=python3-setuptools
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-six
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=Python 2 and 3 compatibility utilities
+ URL:=http://pypi.python.org/pypi/six/
+ DEPENDS:=+python3
+endef
+
+define Package/python3-six/description
+ Python 2 and 3 compatibility utilities
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,, \
+ install --root="$(PKG_INSTALL_DIR)" --prefix="/usr" \
+ --single-version-externally-managed \
+ )
+endef
+
+$(eval $(call Py3Package,python3-six))
+$(eval $(call BuildPackage,python3-six))
diff --git a/python3-urllib3/Makefile b/python3-urllib3/Makefile
new file mode 100644
index 0000000..a322299
--- /dev/null
+++ b/python3-urllib3/Makefile
@@ -0,0 +1,26 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python3-urllib3
+PKG_VERSION:=1.23
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/u/urllib3/
+PKG_SOURCE:=urllib3-$(PKG_VERSION).tar.gz
+PKG_MDSUM:=1ad43e4b5ab7a0794c89dc057e1d7179
+PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
+PKG_BUILD_DIR:=$(BUILD_DIR)/urllib3-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/$(PKG_NAME)
+ TITLE:=A powerful, sanity-friendly HTTP client for Python
+ DEPENDS:=+python3
+endef
+
+define Build/Compile
+ $(call Build/Compile/Py3Mod,,install --prefix="/usr" --root=$(PKG_INSTALL_DIR))
+endef
+
+$(eval $(call Py3Package,$(PKG_NAME)))
+$(eval $(call BuildPackage,$(PKG_NAME)))