From c21a453ffda4fb451593b85ae06b8ea9eac0ea7d Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Fri, 11 Oct 2019 09:29:46 +0300 Subject: [PATCH] django: split django1 package and update to 2.2.6 After many failed attempts at upgrading Django to 2.2.6, the solution seems to be to split a `python-django1` package that works with Python2 and upgrade `python3-django` to the latest 2.2[.6] LTS release. This also means that all Python2 Django packages will be stuck & based on Django 1.11[.24] LTS release. But, it's currently the sanest approach I could find to be able to perform an upgrade of Django to 2.2, and not break Seafile. Upgrading Seafile is also pretty difficult, as their Python3 support is not yet finished & released. And in the meantime, we want to allow people to use newer Django versions. Signed-off-by: Alexandru Ardelean --- lang/python/django-appconf/Makefile | 6 +-- lang/python/django-compressor/Makefile | 6 +-- lang/python/django-constance/Makefile | 12 +++-- lang/python/django-formtools/Makefile | 6 +-- lang/python/django-jsonfield/Makefile | 6 +-- lang/python/django-picklefield/Makefile | 6 +-- lang/python/django-postoffice/Makefile | 6 +-- lang/python/django-ranged-response/Makefile | 8 +-- lang/python/django-restframework/Makefile | 6 +-- lang/python/django-simple-captcha/Makefile | 6 +-- lang/python/django-statici18n/Makefile | 6 +-- lang/python/django-webpack-loader/Makefile | 6 +-- lang/python/django/Makefile | 28 +++------- lang/python/django1/Makefile | 58 +++++++++++++++++++++ net/seafile-seahub/Makefile | 2 +- 15 files changed, 107 insertions(+), 61 deletions(-) create mode 100644 lang/python/django1/Makefile diff --git a/lang/python/django-appconf/Makefile b/lang/python/django-appconf/Makefile index 8e81051e1c..3af0870130 100644 --- a/lang/python/django-appconf/Makefile +++ b/lang/python/django-appconf/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-appconf PKG_VERSION:=1.0.2 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/$(PKG_NAME)/ @@ -39,9 +39,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-compressor/Makefile b/lang/python/django-compressor/Makefile index 6638bae69a..975f8d3d82 100644 --- a/lang/python/django-compressor/Makefile +++ b/lang/python/django-compressor/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-compressor PKG_VERSION:=2.2 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=django_compressor-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/$(PKG_NAME)/ @@ -39,11 +39,11 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django \ + python-django1 \ +PACKAGE_python-$(PKG_NAME):python-django-appconf \ +PACKAGE_python-$(PKG_NAME):python-rcssmin VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-constance/Makefile b/lang/python/django-constance/Makefile index 749c0aae1b..50dcf2d721 100644 --- a/lang/python/django-constance/Makefile +++ b/lang/python/django-constance/Makefile @@ -9,13 +9,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-constance PKG_VERSION:=2.3.1 -PKG_RELEASE:=3 -PKG_LICENSE:=BSD-3-Clause +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-constance PKG_HASH:=a49735063b2c30015d2e52a90609ea9798da722ed070f091de51714758a5d018 + PKG_MAINTAINER:=Alexandru Ardelean +PKG_LICENSE:=BSD-3-Clause PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-django-constance-$(PKG_VERSION) @@ -37,9 +38,9 @@ define Package/python-django-constance $(call Package/python-django-constance/Default) DEPENDS:= \ +PACKAGE_python-django-constance:python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-django-constance/description @@ -63,5 +64,8 @@ endef $(eval $(call PyPackage,python-django-constance)) $(eval $(call BuildPackage,python-django-constance)) +$(eval $(call BuildPackage,python-django-constance-src)) + $(eval $(call Py3Package,python3-django-constance)) $(eval $(call BuildPackage,python3-django-constance)) +$(eval $(call BuildPackage,python3-django-constance-src)) diff --git a/lang/python/django-formtools/Makefile b/lang/python/django-formtools/Makefile index 445cd34462..e820d85743 100644 --- a/lang/python/django-formtools/Makefile +++ b/lang/python/django-formtools/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-formtools PKG_VERSION:=2.1 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/$(PKG_NAME)/ @@ -37,9 +37,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-jsonfield/Makefile b/lang/python/django-jsonfield/Makefile index 9e95d3a98c..77df093759 100644 --- a/lang/python/django-jsonfield/Makefile +++ b/lang/python/django-jsonfield/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-jsonfield PKG_VERSION:=1.0.1 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/$(PKG_NAME)/ @@ -39,9 +39,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-picklefield/Makefile b/lang/python/django-picklefield/Makefile index 9a7331fc49..0c57ff269e 100644 --- a/lang/python/django-picklefield/Makefile +++ b/lang/python/django-picklefield/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-picklefield PKG_VERSION:=1.1.0 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/$(PKG_NAME)/ @@ -39,9 +39,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-postoffice/Makefile b/lang/python/django-postoffice/Makefile index cd8ea3dbec..928f59bec9 100644 --- a/lang/python/django-postoffice/Makefile +++ b/lang/python/django-postoffice/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-postoffice PKG_VERSION:=3.1.0 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=django-post_office-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-post_office @@ -39,10 +39,10 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django \ + python-django1 \ +PACKAGE_python-$(PKG_NAME):python-django-jsonfield VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-ranged-response/Makefile b/lang/python/django-ranged-response/Makefile index 923f5c75b2..2f0eeb5dfd 100644 --- a/lang/python/django-ranged-response/Makefile +++ b/lang/python/django-ranged-response/Makefile @@ -7,10 +7,10 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-ranged-response PKG_VERSION:=0.2.0 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/${PKG_NAME} +PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/$(PKG_NAME)/ PKG_HASH:=f71fff352a37316b9bead717fc76e4ddd6c9b99c4680cdf4783b9755af1cf985 PKG_MAINTAINER:=Eneas U de Queiroz @@ -37,9 +37,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-restframework/Makefile b/lang/python/django-restframework/Makefile index 45c8d7e1ff..c86fd418af 100644 --- a/lang/python/django-restframework/Makefile +++ b/lang/python/django-restframework/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-restframework PKG_VERSION:=3.9.0 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=djangorestframework-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/djangorestframework @@ -39,9 +39,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-simple-captcha/Makefile b/lang/python/django-simple-captcha/Makefile index 21f81594d2..54988b23d3 100644 --- a/lang/python/django-simple-captcha/Makefile +++ b/lang/python/django-simple-captcha/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-simple-captcha PKG_VERSION:=0.5.12 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/mbi/django-simple-captcha/tar.gz/v$(PKG_VERSION)? @@ -40,11 +40,11 @@ $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ +PACKAGE_python-$(PKG_NAME):python-six \ - python-django \ + python-django1 \ +PACKAGE_python-$(PKG_NAME):python-pillow \ +PACKAGE_python-$(PKG_NAME):python-django-ranged-response VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-statici18n/Makefile b/lang/python/django-statici18n/Makefile index 37f0735348..d59dfb3005 100644 --- a/lang/python/django-statici18n/Makefile +++ b/lang/python/django-statici18n/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-statici18n PKG_VERSION:=1.8.2 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/django-statici18n @@ -39,9 +39,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django-webpack-loader/Makefile b/lang/python/django-webpack-loader/Makefile index 72ed867999..28c454be0a 100644 --- a/lang/python/django-webpack-loader/Makefile +++ b/lang/python/django-webpack-loader/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django-webpack-loader PKG_VERSION:=0.6.0 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/${PKG_NAME} @@ -37,9 +37,9 @@ define Package/python-$(PKG_NAME) $(call Package/$(PKG_NAME)/Default) DEPENDS:= \ +PACKAGE_python-$(PKG_NAME):python \ - python-django + python-django1 VARIANT:=python - MDEPENDS:=python-django + MDEPENDS:=python-django1 endef define Package/python-$(PKG_NAME)/description diff --git a/lang/python/django/Makefile b/lang/python/django/Makefile index 175a3a5fa0..263a929154 100644 --- a/lang/python/django/Makefile +++ b/lang/python/django/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2007-2017 OpenWrt.org +# Copyright (C) Alexandru Ardelean # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django -PKG_VERSION:=1.11.24 +PKG_VERSION:=2.2.6 PKG_RELEASE:=1 PKG_SOURCE:=Django-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/D/Django -PKG_HASH:=215c27453f775b6b1add83a185f76c2e2ab711d17786a6704bd62eabd93f89e3 +PKG_HASH:=a8ca1033acac9f33995eb2209a6bf18a4681c3e5269a878e9a7e0b7384ed1ca3 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-django-$(PKG_VERSION) PKG_MAINTAINER:=Alexandru Ardelean @@ -22,7 +22,6 @@ PKG_LICENSE_FILES:=LICENSE LICENSE.python PKG_CPE_ID:=cpe:/a:djangoproject:django include $(INCLUDE_DIR)/package.mk -include ../python-package.mk include ../python3-package.mk PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE) @@ -36,18 +35,6 @@ define Package/django/Default MENU:=1 endef -define Package/python-django -$(call Package/django/Default) - DEPENDS:= \ - +PACKAGE_python-django:python \ - +PACKAGE_python-django:python-pytz - VARIANT:=python -endef - -define Package/python-django/description - The web framework for perfectionists with deadlines. -endef - define Package/python3-django $(call Package/django/Default) DEPENDS:= \ @@ -57,13 +44,10 @@ $(call Package/django/Default) endef define Package/python3-django/description -$(call Package/python-django/description) -. -(Variant for Python3) + The web framework for perfectionists with deadlines (LTS 2.2 series). + Python3 only. endef -$(eval $(call PyPackage,python-django)) -$(eval $(call BuildPackage,python-django)) - $(eval $(call Py3Package,python3-django)) $(eval $(call BuildPackage,python3-django)) +$(eval $(call BuildPackage,python3-django-src)) diff --git a/lang/python/django1/Makefile b/lang/python/django1/Makefile new file mode 100644 index 0000000000..619a57b90f --- /dev/null +++ b/lang/python/django1/Makefile @@ -0,0 +1,58 @@ +# +# Copyright (C) Alexandru Ardelean +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=django1 +PKG_VERSION:=1.11.24 +PKG_RELEASE:=1 + +PKG_SOURCE:=Django-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/D/Django +PKG_HASH:=215c27453f775b6b1add83a185f76c2e2ab711d17786a6704bd62eabd93f89e3 +PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-django-$(PKG_VERSION) + +PKG_MAINTAINER:=Alexandru Ardelean +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE LICENSE.python +PKG_CPE_ID:=cpe:/a:djangoproject:django + +include $(INCLUDE_DIR)/package.mk +include ../python-package.mk + +PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE) + +define Package/django1/Default + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + TITLE:=The web framework for perfectionists with deadlines. + URL:=https://www.djangoproject.com/ + MENU:=1 +endef + +define Package/python-django1 +$(call Package/django1/Default) + DEPENDS:= \ + +PACKAGE_python-django1:python \ + +PACKAGE_python-django1:python-pytz + VARIANT:=python + CONFLICTS:=python3-django +endef + +define Package/python-django1/description + The web framework for perfectionists with deadlines (LTS 1.11 series). + Python2 only. +endef + +$(eval $(call PyPackage,python-django1)) +define Package/python-django1-src += + + MDEPENDS:=python-django1 +endef +$(eval $(call BuildPackage,python-django1)) +$(eval $(call BuildPackage,python-django1-src)) diff --git a/net/seafile-seahub/Makefile b/net/seafile-seahub/Makefile index 071f043c27..bfae7f4325 100644 --- a/net/seafile-seahub/Makefile +++ b/net/seafile-seahub/Makefile @@ -28,7 +28,7 @@ include ../../lang/python/python-package.mk SEAFILE_PYTHON_DEPENDS:= \ simplejson chardet dateutil mysqlclient pytz qrcode requests requests-oauthlib \ - django django-constance django-appconf django-compressor django-formtools \ + django1 django-constance django-appconf django-compressor django-formtools \ django-jsonfield django-picklefield django-postoffice django-restframework \ pillow django-simple-captcha django-statici18n django-webpack-loader