django1: Add python3-django1 package
authorJeffery To <redacted>
Wed, 5 Feb 2020 11:13:45 +0000 (19:13 +0800)
committerJeffery To <redacted>
Thu, 13 Feb 2020 07:29:59 +0000 (15:29 +0800)
This adds a Python 3 version of the django1 package.

This also adds a python-django1-common package that contains a
django-admin script based on the one in Debian[1]. This allows
python-django1 and python3-django1 to be installed at the same time.

python3-django conflicts with python-django1 (via python-django1-common)
and python3-django1.

This also updates older Python 3 Django plugin packages to depend on
python3-django1, and newer plugin packages to depend on "django", which
both python3-django and python3-django1 provide.

Because of this dependency on either version of Django, the MDEPENDS for
Python 3 Django plugin packages no longer functions correctly and has
been removed.

[1]: https://salsa.debian.org/python-team/modules/python-django/blob/debian/buster/debian/django-admin

Signed-off-by: Jeffery To <redacted>
19 files changed:
lang/python/django-appconf/Makefile
lang/python/django-compressor/Makefile
lang/python/django-constance/Makefile
lang/python/django-formtools/Makefile
lang/python/django-jsonfield/Makefile
lang/python/django-picklefield/Makefile
lang/python/django-postoffice/Makefile
lang/python/django-ranged-response/Makefile
lang/python/django-restframework/Makefile
lang/python/django-restframework39/Makefile
lang/python/django-simple-captcha/Makefile
lang/python/django-statici18n/Makefile
lang/python/django-webpack-loader/Makefile
lang/python/django/Makefile
lang/python/django1/Makefile
lang/python/django1/files/django-admin [new file with mode: 0644]
lang/python/python3-django-cors-headers/Makefile
lang/python/python3-django-etesync-journal/Makefile
lang/python/python3-drf-nested-routers/Makefile

index 78863cc8112f5ea3a5a45eb41e5823ef9c808b8f..1a86fa63d8ab0043648d85a376420b69cc355153 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-appconf
 PKG_VERSION:=1.0.2
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=6a4d9aea683b4c224d97ab8ee11ad2d29a37072c0c6c509896dd9857466fb261
@@ -48,9 +48,8 @@ define Package/python3-django-appconf
 $(call Package/django-appconf/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-appconf:python3 \
-       python3-django
+       +PACKAGE_python3-django-appconf:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-appconf/description
index fa7dd215b76cd1ed08bbb3cc9b4ebe85fc524b29..0c277d362b468c183187bd258496ba8407d8e261 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-compressor
 PKG_VERSION:=2.2
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PYPI_NAME:=$(PKG_NAME)
 PYPI_SOURCE_NAME:=django_compressor
@@ -54,11 +54,10 @@ define Package/python3-django-compressor
 $(call Package/django-compressor/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-compressor:python3 \
-       python3-django \
+       +PACKAGE_python3-django-compressor:python3-django1 \
        +PACKAGE_python3-django-compressor:python3-django-appconf \
        +PACKAGE_python3-django-compressor:python3-rcssmin
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-compressor/description
index f0c3fcdfe22bd9613af559d0d5b5265cef932099..1332c44dc32b1aae10a7600d9eab53c0241d9347 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-constance
 PKG_VERSION:=2.3.1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=a49735063b2c30015d2e52a90609ea9798da722ed070f091de51714758a5d018
@@ -47,9 +47,8 @@ define Package/python3-django-constance
 $(call Package/python-django-constance/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-constance:python3 \
-       python3-django
+       +PACKAGE_python3-django-constance:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-constance/description
index cf15742c40230ce376f3182e4d1b630bfa89cd9c..c391da958746664b4703ff2a5789cb84fe620a35 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-formtools
 PKG_VERSION:=2.1
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=7703793f1675aa6e871f9fed147e8563816d7a5b9affdc5e3459899596217f7c
@@ -47,9 +47,8 @@ define Package/python3-django-formtools
 $(call Package/django-formtools/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-formtools:python3 \
-       python3-django
+       +PACKAGE_python3-django-formtools:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-formtools/description
index c10eae0e222516237e4166a301a78d359eb11f88..305ab6f686d1ab9ac0235b5a95e9129d743eadcb 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-jsonfield
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=6c0afd5554739365b55d86e285cf966cc3a45682fff963463364ea1f6511ca3e
@@ -48,9 +48,8 @@ define Package/python3-django-jsonfield
 $(call Package/django-jsonfield/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-jsonfield:python3 \
-       python3-django
+       +PACKAGE_python3-django-jsonfield:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-jsonfield/description
index 5e707c67debac70f6687049763f02705981ff4a3..6e4d6805fdf971c38d060f7d6bf7d911cfaf6290 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-picklefield
 PKG_VERSION:=1.1.0
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=ce7fee5c6558fe5dc8924993d994ccde75bb75b91cd82787cbd4c92b95a69f9c
@@ -48,9 +48,8 @@ define Package/python3-django-picklefield
 $(call Package/django-picklefield/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-picklefield:python3 \
-       python3-django
+       +PACKAGE_python3-django-picklefield:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-picklefield/description
index 6e86e2f3b0cfbe228d56babc152439227b8ad175..7cfa82ce46a5c77a6d719bade750f3f26d084bcf 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-postoffice
 PKG_VERSION:=3.1.0
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PYPI_NAME:=django-post-office
 PYPI_SOURCE_NAME:=django-post_office
@@ -51,10 +51,9 @@ define Package/python3-django-postoffice
 $(call Package/django-postoffice/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-postoffice:python3 \
-       python3-django \
+       +PACKAGE_python3-django-postoffice:python3-django1 \
        +PACKAGE_python3-django-postoffice:python3-django-jsonfield
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-postoffice/description
index 6c9bb9abc807a6a502a2b4eeba8bd4093adb50f9..62f91a317ca9e61dbedaed25ccd7d8b87ca6e292 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-ranged-response
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=f71fff352a37316b9bead717fc76e4ddd6c9b99c4680cdf4783b9755af1cf985
@@ -46,9 +46,8 @@ define Package/python3-django-ranged-response
 $(call Package/django-ranged-response/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-ranged-response:python3 \
-       python3-django
+       +PACKAGE_python3-django-ranged-response:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-ranged-response/description
index f9fdbd33106685d2e87a614cf9b25b5cdb4027f8..f18b8811bb63e4d4bd4ebf9d023cf280b3f42def 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-restframework
 PKG_VERSION:=3.11.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=djangorestframework
 PKG_HASH:=e782087823c47a26826ee5b6fa0c542968219263fb3976ec3c31edab23a4001f
@@ -28,9 +28,8 @@ define Package/python3-django-restframework
   CATEGORY:=Languages
   TITLE:=Web APIs for Django, made easy.
   URL:=https://www.django-rest-framework.org
-  DEPENDS:=+python3 python3-django
+  DEPENDS:=+python3 +django
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-restframework/description
index 079c42e19b83c8891be60f1f6a03b56f87df9ec2..5cdb76bfc5d92f89744d03938e71279053bfda2d 100644 (file)
@@ -48,10 +48,9 @@ define Package/python3-django-restframework39
 $(call Package/django-restframework39/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-restframework39:python3 \
-       python3-django
+       +PACKAGE_python3-django-restframework39:python3-django1
   CONFLICTS:=python3-django-restframework
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-restframework39/description
index fd493147c0f27bd66d98b1d567456283d3b9cc5a..a4431aa5fb7adc55b535202ee2cfafe9246ade29 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-simple-captcha
 PKG_VERSION:=0.5.12
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mbi/django-simple-captcha/tar.gz/v$(PKG_VERSION)?
@@ -57,11 +57,10 @@ $(call Package/django-simple-captcha/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-simple-captcha:python3 \
        +PACKAGE_python3-django-simple-captcha:python3-six \
-       python3-django \
+       +PACKAGE_python3-django-simple-captcha:python3-django1 \
        +PACKAGE_python3-django-simple-captcha:python3-pillow \
        +PACKAGE_python3-django-simple-captcha:python3-django-ranged-response
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-simple-captcha/description
index 9c1f2ebbe6a84ee95c5401d548748d6250690525..ea58e6f8491d3143f3ffbb54479ee4c7631a1ac9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-statici18n
 PKG_VERSION:=1.8.2
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=ba9eeb3c4517027922645999359f8335fbb9fea04c457123cfbd6b4a36cbeda4
@@ -48,9 +48,8 @@ define Package/python3-django-statici18n
 $(call Package/django-statici18n/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-statici18n:python3 \
-       python3-django
+       +PACKAGE_python3-django-statici18n:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-statici18n/description
index 1ff80d64c0eedeff2f2fae334134f80cd33ff864..90c65d2acfa97b4cadcc5c1037416d8d0c130c1a 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-webpack-loader
 PKG_VERSION:=0.6.0
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PYPI_NAME:=$(PKG_NAME)
 PKG_HASH:=60bab6b9a037a5346fad12d2a70a6bc046afb33154cf75ed640b93d3ebd5f520
@@ -46,9 +46,8 @@ define Package/python3-django-webpack-loader
 $(call Package/django-webpack-loader/Default)
   DEPENDS:= \
        +PACKAGE_python3-django-webpack-loader:python3 \
-       python3-django
+       +PACKAGE_python3-django-webpack-loader:python3-django1
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-webpack-loader/description
index 4924a5586fee7109f144e93b4911170c38ca0543..0ae57b44b66bf289f3e725aae6312594db104c6a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django
 PKG_VERSION:=3.0.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Django
 PKG_HASH:=2f1ba1db8648484dd5c238fb62504777b7ad090c81c5f1fd8d5eb5ec21b5f283
@@ -23,18 +23,15 @@ include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python3-package.mk
 
-define Package/django/Default
+define Package/python3-django
   SUBMENU:=Python
   SECTION:=lang
   CATEGORY:=Languages
   TITLE:=The web framework for perfectionists with deadlines.
   URL:=https://www.djangoproject.com/
-  MENU:=1
-endef
-
-define Package/python3-django
-$(call Package/django/Default)
   DEPENDS:= +python3 +python3-pytz +python3-sqlparse +python3-asgiref
+  CONFLICTS:=python3-django1 python-django1-common
+  PROVIDES:=django
   VARIANT:=python3
 endef
 
index 4c115c7c43316f8a0aebc63d627dc02e258ee646..e4c25e0dcfd2ba8cfc666dde7cbd64312d26e138 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django1
 PKG_VERSION:=1.11.28
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=Django
 PKG_HASH:=b33ce35f47f745fea6b5aa3cf3f4241069803a3712d423ac748bd673a39741eb
@@ -22,6 +22,7 @@ PKG_CPE_ID:=cpe:/a:djangoproject:django
 include ../pypi.mk
 include $(INCLUDE_DIR)/package.mk
 include ../python-package.mk
+include ../python3-package.mk
 
 define Package/django1/Default
   SUBMENU:=Python
@@ -29,27 +30,62 @@ define Package/django1/Default
   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
+       +PACKAGE_python-django1:python-pytz \
+       +PACKAGE_python-django1:python-django1-common
   VARIANT:=python
-  CONFLICTS:=python3-django
+  MENU:=1
 endef
 
 define Package/python-django1/description
-    The web framework for perfectionists with deadlines (LTS 1.11 series).
-    Python2 only.
+  The web framework for perfectionists with deadlines (LTS 1.11 series).
 endef
 
-$(eval $(call PyPackage,python-django1))
-define Package/python-django1-src +=
+define Package/python3-django1
+$(call Package/django1/Default)
+  DEPENDS:= \
+       +PACKAGE_python3-django1:python3 \
+       +PACKAGE_python3-django1:python3-pytz \
+       +PACKAGE_python3-django1:python-django1-common
+  VARIANT:=python3
+  PROVIDES:=django
+endef
+
+define Package/python3-django1/description
+$(call Package/python-django1/description)
+.
+(Variant for Python3)
+endef
+
+define Package/python-django1-common
+$(call Package/django1/Default)
+endef
+
+define Package/python-django1-common/description
+$(call Package/python-django1/description)
+.
+This package contains files common to both Python 2.7 and Python 3.
+endef
+
+PyPackage/python-django1/install:=:
+Py3Package/python3-django1/install:=:
 
-  MDEPENDS:=python-django1
+define Package/python-django1-common/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) ./files/django-admin $(1)/usr/bin
 endef
+
+$(eval $(call PyPackage,python-django1))
 $(eval $(call BuildPackage,python-django1))
 $(eval $(call BuildPackage,python-django1-src))
+
+$(eval $(call Py3Package,python3-django1))
+$(eval $(call BuildPackage,python3-django1))
+$(eval $(call BuildPackage,python3-django1-src))
+
+$(eval $(call BuildPackage,python-django1-common))
diff --git a/lang/python/django1/files/django-admin b/lang/python/django1/files/django-admin
new file mode 100644 (file)
index 0000000..acf99b9
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+shell_code=''' '
+# shell code
+if command -v python3.8 > /dev/null && test -e /usr/lib/python3.8/site-packages/django/bin/django-admin.pyc
+then
+    exec python3.8 "$0" "$@"
+elif command -v python2.7 > /dev/null && test -e /usr/lib/python2.7/site-packages/django/bin/django-admin.pyc
+then
+    exec python2.7 "$0" "$@"
+else
+    echo "Cannot find installed version of python-django1 or python3-django1." >&2
+    exit 1
+fi
+
+python_code='''
+# python code
+# ONLY use DOUBLE quotes <"> after this line
+from django.core import management
+
+if __name__ == "__main__":
+    management.execute_from_command_line()
+
+# End of Python code. Do not modify this line. #'
index 6878cfe7ab95995298211f927c2f1276739fec3f..b7d8778236cd99b1cfaf18ee74628ecab2d85184 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-cors-headers
 PKG_VERSION:=3.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=django-cors-headers
 PKG_HASH:=a5960addecc04527ab26617e51b8ed42f0adab4594b24bb0f3c33e2bd3857c3f
@@ -21,9 +21,8 @@ define Package/python3-django-cors-headers
   CATEGORY:=Languages
   TITLE:=Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS).
   URL:=https://github.com/ottoyiu/django-cors-headers
-  DEPENDS:=python3-django +python3-urllib +python3-light
+  DEPENDS:=+django +python3-urllib +python3-light
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-cors-headers/description
index e9863a50ed4e60889f3b44cf8661c518488a22db..9c9787ba54196f9a38553b5951e9057c753dcddd 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django-etesync-journal
 PKG_VERSION:=1.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=django-etesync-journal
 PKG_HASH:=1b481f592217186482be9faee686f0c132790db4177deb1f5152b73e99ac6338
@@ -21,9 +21,8 @@ define Package/python3-django-etesync-journal
   CATEGORY:=Languages
   TITLE:=The server side implementation of the EteSync protocol.
   URL:=https://www.etesync.com/
-  DEPENDS:=python3-django +python3-django-restframework +python3-light
+  DEPENDS:=+django +python3-django-restframework +python3-light
   VARIANT:=python3
-  MDEPENDS:=python3-django
 endef
 
 define Package/python3-django-etesync-journal/description
index 9b7d02ce59396dff32e37e97a6e6438d728d5c7d..3a42067dd235465150a060f71c8d7d2d40403ff9 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=drf-nested-routers
 PKG_VERSION:=0.91
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PYPI_NAME:=drf-nested-routers
 PKG_HASH:=46e5c3abc15c782cafafd7d75028e8f9121bbc6228e3599bbb48a3daa4585034
@@ -21,7 +21,7 @@ define Package/python3-drf-nested-routers
   CATEGORY:=Languages
   TITLE:=Nested resources for the Django Rest Framework
   URL:=https://github.com/alanjds/drf-nested-routers
-  DEPENDS:=+python3-django-restframework +python3-django +python3-light
+  DEPENDS:=+python3-django-restframework +django +python3-light
   VARIANT:=python3
 endef
 
git clone https://git.99rst.org/PROJECT