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

nick83ola nick83ola at gmail.com
Fri Nov 15 17:48:14 UTC 2019


Done Thanks

On Fri, 15 Nov 2019 at 17:36, Khem Raj <raj.khem at gmail.com> wrote:

> On Fri, Nov 15, 2019 at 9:21 AM Nicola Lunghi <nick83ola at gmail.com> wrote:
> >
> > This is the backport of a patch upstream
> > - 10f8a3e Add format validators as separate modules
> >
> > This will add a PACKAGECONFIG = "nongpl" option to include only
> dependencies
> > not licensed under the GPL license.
> >
>
> please rebase on top of master-next and resend these patches
>
> > Signed-off-by: Nicola Lunghi <nick83ola at gmail.com>
> > ---
> >  .../python/python-jsonschema.inc              | 11 +++
> >  ...-setup.cfg-add-non-GPL-format-option.patch | 96 +++++++++++++++++++
> >  2 files changed, 107 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 c1b11a2cc..837d5760c 100644
> > --- a/meta-python/recipes-devtools/python/python-jsonschema.inc
> > +++ b/meta-python/recipes-devtools/python/python-jsonschema.inc
> > @@ -5,6 +5,10 @@ LIC_FILES_CHKSUM =
> "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
> >
> file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"
> >  DEPENDS += "${PYTHON_PN}-vcversioner-native
> ${PYTHON_PN}-setuptools-scm-native"
> >
> > +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"
> >
> > @@ -16,6 +20,13 @@ PACKAGECONFIG[format] = ",,,\
> >      ${PYTHON_PN}-rfc3987 \
> >      ${PYTHON_PN}-strict-rfc3339 \
> >  "
> > +PACKAGECONFIG[nongpl] = ",,,\
> > +    ${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..afc38a30b
> > --- /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: Backported. [ to be removed for releases > 3.1.1 ]
> > +---
> > + 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
> >
>


More information about the Openembedded-devel mailing list