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 8e81051e1..3af087013 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 6638bae69..975f8d3d8 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 749c0aae1..50dcf2d72 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 445cd3446..e820d8574 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 9e95d3a98..77df09375 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 9a7331fc4..0c57ff269 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 cd8ea3dbe..928f59bec 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 923f5c75b..2f0eeb5df 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 45c8d7e1f..c86fd418a 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 21f81594d..54988b23d 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 37f073534..d59dfb300 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 72ed86799..28c454be0 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 175a3a5fa..263a92915 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 000000000..619a57b90 --- /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 071f043c2..bfae7f432 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