[oe] [meta-python][PATCH 2/2] python-jsonschema: add PACKAGECONFIG format_nongpl

Khem Raj raj.khem at gmail.com
Thu Nov 14 22:17:04 UTC 2019


On Thu, Nov 14, 2019 at 12:30 PM Nicola Lunghi <nick83ola at gmail.com> wrote:
>
> This is the backport of a patch upstream
> - 10f8a3e Add format validators as separate modules
>
> that add an option permit to use validator that don't contain GPLv3 code.
>
> Signed-off-by: Nicola Lunghi <nick83ola at gmail.com>
> ---
>  .../python/python-jsonschema.inc              | 12 +++
>  ...-setup.cfg-add-non-GPL-format-option.patch | 96 +++++++++++++++++++
>  2 files changed, 108 insertions(+)
>  create mode 100644 meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch
>
> diff --git a/meta-python/recipes-devtools/python/python-jsonschema.inc b/meta-python/recipes-devtools/python/python-jsonschema.inc
> index df41f06a2..9b81b7ad4 100644
> --- a/meta-python/recipes-devtools/python/python-jsonschema.inc
> +++ b/meta-python/recipes-devtools/python/python-jsonschema.inc
> @@ -6,10 +6,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
>  DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native"
>  PR = "r1"
>
> +FILESEXTRAPATHS_prepend := "${THISDIR}/python-jsonschema:"
> +
> +SRC_URI_append = " file://0001-setup.cfg-add-non-GPL-format-option.patch"
> +
>  SRC_URI[md5sum] = "a802ab85600074a726ef6acc4e6a8148"
>  SRC_URI[sha256sum] = "2fa0684276b6333ff3c0b1b27081f4b2305f0a36cf702a23db50edb141893c3f"
>
>  PACKAGECONFIG ??= "format"
> +# PACKAGECONFIG ??= "format_nongpl"
>  PACKAGECONFIG[format] = ",,,\
>      ${PYTHON_PN}-idna \
>      ${PYTHON_PN}-jsonpointer \
> @@ -17,6 +22,13 @@ PACKAGECONFIG[format] = ",,,\
>      ${PYTHON_PN}-rfc3987 \
>      ${PYTHON_PN}-strict-rfc3339 \
>  "
> +PACKAGECONFIG[format_nongpl] = ",,,\

perhaps call it nongpl ( avoid underscores if you can )

> +    ${PYTHON_PN}-idna \
> +    ${PYTHON_PN}-jsonpointer \
> +    ${PYTHON_PN}-webcolors \
> +    ${PYTHON_PN}-rfc3986-validator \
> +    ${PYTHON_PN}-rfc3339-validator \
> +"
>
>  RDEPENDS_${PN} += " \
>      ${PYTHON_PN}-attrs \
> diff --git a/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch b/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch
> new file mode 100644
> index 000000000..96fd48447
> --- /dev/null
> +++ b/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch
> @@ -0,0 +1,96 @@
> +From 8df0332475991884b8e1801d31f9c3e06d06bf9f Mon Sep 17 00:00:00 2001
> +From: Nicola Lunghi <nick83ola at gmail.com>
> +Date: Thu, 14 Nov 2019 18:58:56 +0000
> +Subject: [PATCH] setup.cfg: add non GPL format option
> +
> +This is a rewrite of the following upstream commits:
> +
> + - 10f8a3e Add format validators as separate modules
> + - af37707 non GPL format option
> +
> +removing all the non necessary bits (tox in particular)
> +
> +Original author: Nicolas Aimetti <naimetti at yahoo.com.ar>
> +
> +Upstream-status: Invalid.

what does invalid state here? Perhaps inapproprite is what you meant ?

> +---
> + jsonschema/_format.py | 33 ++++++++++++++++++++++++++++-----
> + setup.cfg             |  6 ++++++
> + 2 files changed, 34 insertions(+), 5 deletions(-)
> +
> +diff --git a/jsonschema/_format.py b/jsonschema/_format.py
> +index aa04090..c967d98 100644
> +--- a/jsonschema/_format.py
> ++++ b/jsonschema/_format.py
> +@@ -248,7 +248,26 @@ else:
> + try:
> +     import rfc3987
> + except ImportError:
> +-    pass
> ++    try:
> ++        from rfc3986_validator import validate_rfc3986
> ++    except ImportError:
> ++        pass
> ++    else:
> ++        @_checks_drafts(name="uri",)
> ++        def is_uri(instance):
> ++            if not isinstance(instance, str_types):
> ++                return True
> ++            return validate_rfc3986(instance, rule="URI")
> ++
> ++        @_checks_drafts(
> ++            draft6="uri-reference",
> ++            draft7="uri-reference",
> ++            raises=ValueError,
> ++        )
> ++        def is_uri_reference(instance):
> ++            if not isinstance(instance, str_types):
> ++                return True
> ++            return validate_rfc3986(instance, rule="URI_reference")
> + else:
> +     @_checks_drafts(draft7="iri", raises=ValueError)
> +     def is_iri(instance):
> +@@ -280,15 +299,19 @@ else:
> +
> +
> + try:
> +-    import strict_rfc3339
> ++    from strict_rfc3339 import validate_rfc3339
> + except ImportError:
> +-    pass
> +-else:
> ++    try:
> ++        from rfc3339_validator import validate_rfc3339
> ++    except ImportError:
> ++        validate_rfc3339 = None
> ++
> ++if validate_rfc3339:
> +     @_checks_drafts(name="date-time")
> +     def is_datetime(instance):
> +         if not isinstance(instance, str_types):
> +             return True
> +-        return strict_rfc3339.validate_rfc3339(instance)
> ++        return validate_rfc3339(instance)
> +
> +     @_checks_drafts(draft7="time")
> +     def is_time(instance):
> +diff --git a/setup.cfg b/setup.cfg
> +index 74bc4a7..878221c 100644
> +--- a/setup.cfg
> ++++ b/setup.cfg
> +@@ -40,6 +40,12 @@ format =
> +       rfc3987
> +       strict-rfc3339
> +       webcolors
> ++format_nongpl =
> ++      idna
> ++      jsonpointer>1.13
> ++      webcolors
> ++      rfc3986-validator>0.1.0
> ++      rfc3339-validator
> +
> + [options.entry_points]
> + console_scripts =
> +--
> +2.20.1
> +
> --
> 2.20.1
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


More information about the Openembedded-devel mailing list