pymysql: make python3-cryptography optional 11164/head
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 29 Jan 2020 07:25:10 +0000 (09:25 +0200)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 29 Jan 2020 07:30:59 +0000 (09:30 +0200)
According to the installation guide [1], the support for "sha256_password"
or "caching_sha2_password" for authentication is optional.

This change makes it optional for the OpenWrt package by providing a build
option to enable it.
By default it won't be enabled, and packages can choose to enable it.

[1] https://pymysql.readthedocs.io/en/latest/user/installation.html

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
lang/python/pymysql/Config.in [new file with mode: 0644]
lang/python/pymysql/Makefile

diff --git a/lang/python/pymysql/Config.in b/lang/python/pymysql/Config.in
new file mode 100644 (file)
index 0000000..0dfa265
--- /dev/null
@@ -0,0 +1,11 @@
+menu "Configuration"
+       depends on PACKAGE_python3-pymysql
+
+config PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORT
+       bool "Enable support for SHA password authentication"
+       help
+         To use “sha256_password” or “caching_sha2_password” for authentication
+         this symbol needs to be enabled, to also install python3-cryptography.
+       default n
+
+endmenu
index f017b7e6624a647fa9da803466d3fc670470deac..87baddd1c426446a9042b830ed118cd6b3e0eae1 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pymysql
 PKG_VERSION:=0.9.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=PyMySQL
 PKG_HASH:=d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7
@@ -18,6 +18,8 @@ PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 
+PKG_CONFIG_DEPENDS:=CONFIG_PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORT
+
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
@@ -28,10 +30,14 @@ define Package/python3-pymysql
   CATEGORY:=Languages
   TITLE:=Pure Python MySQL Client
   URL:=https://pymysql.readthedocs.io/
-  DEPENDS:=+python3 +python3-cryptography
+  DEPENDS:=+python3 +PYTHON3_PYMYSQL_SHA_PASSWORD_SUPPORT:python3-cryptography
   VARIANT:=python3
 endef
 
+define Package/python3-pymysql/config
+  source "$(SOURCE)/Config.in"
+endef
+
 define Package/python3-pymysql/description
   This package contains a pure-Python MySQL client library, based on PEP 249.
 endef