diff mbox series

[5/5] package/python3-cryptography: add python3 host variant

Message ID 1621475383746.46545@lab126.com
State Accepted
Headers show
Series [1/5] package/python3-six: add python3 host variant | expand

Commit Message

Voss, Samuel M Collins via buildroot May 20, 2021, 1:49 a.m. UTC
Add a python3 host variant since another downstream OSS component
(OP-TEE) uses buildroot and it will depend on a python3 host variant
of python-cryptography.

Signed-off-by: Donald Chan <hoiho@lab126.com>
---
 .../python3-cryptography.hash                 |  1 +
 .../python3-cryptography.mk                   | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 120000 package/python3-cryptography/python3-cryptography.hash
 create mode 100644 package/python3-cryptography/python3-cryptography.mk

Comments

Yann E. MORIN May 21, 2021, 4:22 p.m. UTC | #1
Chan, All,

(Not sure if I should address you as Chan, or Donald. Apologies if I
messed up; just tell me! ;-) )

On 2021-05-20 01:49 +0000, Chan, Donald via buildroot spake thusly:
> Add a python3 host variant since another downstream OSS component
> (OP-TEE) uses buildroot and it will depend on a python3 host variant
> of python-cryptography.

So, those 5 patches are OK (but still, see below for some comments)),
but there is still nothing that uses those new host packages in the
Buildroot tree.

You said OP-TEE OS would use them, but you haven't provided a patch that
does so, which still leaves those packages unused.

I've had a quick look at the optee_os git tree [0], but I could not see
anything thsat uses puthon cryptography.

[0] https://github.com/OP-TEE/optee_os

So, I guess those will only become usefull when optee_os is updated in
Buildroot, to a version where python cryptography is actually used.

In which case, adding those pacakges should be part of the series that
updates optee_os.

> Signed-off-by: Donald Chan <hoiho@lab126.com>
> ---
[--SNIP--]
> diff --git a/package/python3-cryptography/python3-cryptography.mk b/package/python3-cryptography/python3-cryptography.mk
> new file mode 100644
> index 0000000..ce8e9e6
> --- /dev/null
> +++ b/package/python3-cryptography/python3-cryptography.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# python3-cryptography
> +#
> +################################################################################
> +
> +# Please keep in sync with package/python-cryptography/python-cryptography.mk
> +PYTHON3_CRYPTOGRAPHY_VERSION = 3.0

This is not the latest version. 3.4.7 is not available:

    https://pypi.org/project/cryptography/

I haven't looked at the others, but be sure to submit packages that use
the latest version. If that is not possible, then state so in the commit
log, and explain why the latest can't be used.

While waiting for an update to optee_os that does need those packages,
I've marked them postponed in Patchwork [1], which basically means
they'll no longer appear in the list of pending patches. Please include
them uin the series that updates optee_os when that is ready.

Thanks you! :-)

Regards,
Yann E. MORIN.

> +PYTHON3_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON3_CRYPTOGRAPHY_VERSION).tar.gz
> +PYTHON3_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/bf/ac/552fc8729d90393845cc3a2062facf4a89dcbe206fa78771d60ddaae7554
> +PYTHON3_CRYPTOGRAPHY_SETUP_TYPE = setuptools
> +PYTHON3_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3-Clause
> +PYTHON3_CRYPTOGRAPHY_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD
> +PYTHON3_CRYPTOGRAPHY_DEPENDENCIES = openssl
> +HOST_PYTHON3_CRYPTOGRAPHY_DEPENDENCIES = host-python3-cffi host-python3-pip host-python3-six
> +HOST_PYTHON3_CRYPTOGRAPHY_DL_SUBDIR = python-cryptography
> +HOST_PYTHON3_CRYPTOGRAPHY_NEEDS_HOST_PYTHON = python3
> +
> +$(eval $(host-python-package))
> -- 
> 2.17.1
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Voss, Samuel M Collins via buildroot May 22, 2021, 12:42 a.m. UTC | #2
> (Not sure if I should address you as Chan, or Donald. Apologies if I
messed up; just tell me! ;-) )

Donald is fine :)

On 2021-05-20 01:49 +0000, Chan, Donald via buildroot spake thusly:
> > Add a python3 host variant since another downstream OSS component
> > (OP-TEE) uses buildroot and it will depend on a python3 host variant
> > of python-cryptography.
> 
> So, those 5 patches are OK (but still, see below for some comments)),
> but there is still nothing that uses those new host packages in the
> Buildroot tree.
> 
> You said OP-TEE OS would use them, but you haven't provided a patch that
> does so, which still leaves those packages unused.
> 
> I've had a quick look at the optee_os git tree [0], but I could not see
> anything thsat uses puthon cryptography.
> 
> [0] https://github.com/OP-TEE/optee_os
> 
> So, I guess those will only become usefull when optee_os is updated in
> Buildroot, to a version where python cryptography is actually used.
> 
> In which case, adding those pacakges should be part of the series that
> updates optee_os.

It's a chicken and egg problem - the original OP-TEE ticket to migrate to pyca/cryptography is https://github.com/OP-TEE/optee_os/issues/4599, but if it's merged now, it will immediately break their CI because they are still using buildroot 2021.02 (https://github.com/OP-TEE/manifest/blob/master/default.xml#L24).

So the best approach seems to be:

1. Update buildroot with these new packages
2. Wait till there is a new buildroot release, submit a PR to update their manifest
3. Then submit another PR to migrate to pyca/cryptography

It's going to be a long process but it will cause the least amount of disruptions. 

> Signed-off-by: Donald Chan <hoiho@lab126.com>
> ---
[--SNIP--]
> diff --git a/package/python3-cryptography/python3-cryptography.mk b/package/python3-cryptography/python3-cryptography.mk
> new file mode 100644
> index 0000000..ce8e9e6
> --- /dev/null
> +++ b/package/python3-cryptography/python3-cryptography.mk
> @@ -0,0 +1,19 @@
> +################################################################################
> +#
> +# python3-cryptography
> +#
> +################################################################################
> +
> +# Please keep in sync with package/python-cryptography/python-cryptography.mk
> +PYTHON3_CRYPTOGRAPHY_VERSION = 3.0

This is not the latest version. 3.4.7 is not available:

    https://pypi.org/project/cryptography/

I haven't looked at the others, but be sure to submit packages that use
the latest version. If that is not possible, then state so in the commit
log, and explain why the latest can't be used.

While waiting for an update to optee_os that does need those packages,
I've marked them postponed in Patchwork [1], which basically means
they'll no longer appear in the list of pending patches. Please include
them uin the series that updates optee_os when that is ready.

Thanks you! :-)

Regards,
Yann E. MORIN.

> +PYTHON3_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON3_CRYPTOGRAPHY_VERSION).tar.gz
> +PYTHON3_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/bf/ac/552fc8729d90393845cc3a2062facf4a89dcbe206fa78771d60ddaae7554
> +PYTHON3_CRYPTOGRAPHY_SETUP_TYPE = setuptools
> +PYTHON3_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3-Clause
> +PYTHON3_CRYPTOGRAPHY_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD
> +PYTHON3_CRYPTOGRAPHY_DEPENDENCIES = openssl
> +HOST_PYTHON3_CRYPTOGRAPHY_DEPENDENCIES = host-python3-cffi host-python3-pip host-python3-six
> +HOST_PYTHON3_CRYPTOGRAPHY_DL_SUBDIR = python-cryptography
> +HOST_PYTHON3_CRYPTOGRAPHY_NEEDS_HOST_PYTHON = python3
> +
> +$(eval $(host-python-package))
> --
> 2.17.1
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

--
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
Yann E. MORIN May 22, 2021, 8:32 a.m. UTC | #3
Donald, All,

+Peter, +Thomas, +Arnout

On 2021-05-22 00:42 +0000, Chan, Donald via buildroot spake thusly:
> On 2021-05-20 01:49 +0000, Chan, Donald via buildroot spake thusly:
> > > Add a python3 host variant since another downstream OSS component
> > > (OP-TEE) uses buildroot and it will depend on a python3 host variant
> > > of python-cryptography.
> > So, those 5 patches are OK (but still, see below for some comments)),
> > but there is still nothing that uses those new host packages in the
> > Buildroot tree.
[--SNIP--]
> > In which case, adding those pacakges should be part of the series that
> > updates optee_os.
> It's a chicken and egg problem - the original OP-TEE ticket to migrate
> to pyca/cryptography is https://github.com/OP-TEE/optee_os/issues/4599,
> but if it's merged now, it will immediately break their CI because they
> are still using buildroot 2021.02 (https://github.com/OP-TEE/manifest/blob/master/default.xml#L24).

Ah. that's the piece I was missing: the CI is using an unmodified,
released version of Buildroot. That's neat! :-)

I can see the chicken-n-egg problem, now, thanks.

> So the best approach seems to be:
> 1. Update buildroot with these new packages
> 2. Wait till there is a new buildroot release, submit a PR to update their manifest
> 3. Then submit another PR to migrate to pyca/cryptography
> It's going to be a long process but it will cause the least amount of disruptions. 

I've reinistated these pactches in the "new" state, so they are back
under consideration. We'll see what the opinion of the other maintainers
are.

Peter, Thomas, Arnout: your thoughts?

Regards,
Yann E. MORIN.
Yann E. MORIN June 6, 2021, 9:10 p.m. UTC | #4
Donald, All,

On 2021-05-22 10:32 +0200, Yann E. MORIN spake thusly:
> On 2021-05-22 00:42 +0000, Chan, Donald via buildroot spake thusly:
> > On 2021-05-20 01:49 +0000, Chan, Donald via buildroot spake thusly:
> > > > Add a python3 host variant since another downstream OSS component
> > > > (OP-TEE) uses buildroot and it will depend on a python3 host variant
> > > > of python-cryptography.
> > > So, those 5 patches are OK (but still, see below for some comments)),
> > > but there is still nothing that uses those new host packages in the
> > > Buildroot tree.
> [--SNIP--]
> > > In which case, adding those pacakges should be part of the series that
> > > updates optee_os.
> > It's a chicken and egg problem - the original OP-TEE ticket to migrate
> > to pyca/cryptography is https://github.com/OP-TEE/optee_os/issues/4599,
> > but if it's merged now, it will immediately break their CI because they
> > are still using buildroot 2021.02 (https://github.com/OP-TEE/manifest/blob/master/default.xml#L24).
> 
> Ah. that's the piece I was missing: the CI is using an unmodified,
> released version of Buildroot. That's neat! :-)
> 
> I can see the chicken-n-egg problem, now, thanks.
> 
> > So the best approach seems to be:
> > 1. Update buildroot with these new packages
> > 2. Wait till there is a new buildroot release, submit a PR to update their manifest
> > 3. Then submit another PR to migrate to pyca/cryptography
> > It's going to be a long process but it will cause the least amount of disruptions. 
> 
> I've reinistated these pactches in the "new" state, so they are back
> under consideration. We'll see what the opinion of the other maintainers
> are.
> 
> Peter, Thomas, Arnout: your thoughts?

Without further replies, I've applied this 5-patch series to master,
thanks.

Please review the individual commits, I had to do a few tweaks to the 5
packages.

Regards,
Yann E. MORIN.
diff mbox series

Patch

diff --git a/package/python3-cryptography/python3-cryptography.hash b/package/python3-cryptography/python3-cryptography.hash
new file mode 120000
index 0000000..73fa25f
--- /dev/null
+++ b/package/python3-cryptography/python3-cryptography.hash
@@ -0,0 +1 @@ 
+../python-cryptography/python-cryptography.hash
\ No newline at end of file
diff --git a/package/python3-cryptography/python3-cryptography.mk b/package/python3-cryptography/python3-cryptography.mk
new file mode 100644
index 0000000..ce8e9e6
--- /dev/null
+++ b/package/python3-cryptography/python3-cryptography.mk
@@ -0,0 +1,19 @@ 
+################################################################################
+#
+# python3-cryptography
+#
+################################################################################
+
+# Please keep in sync with package/python-cryptography/python-cryptography.mk
+PYTHON3_CRYPTOGRAPHY_VERSION = 3.0
+PYTHON3_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON3_CRYPTOGRAPHY_VERSION).tar.gz
+PYTHON3_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/bf/ac/552fc8729d90393845cc3a2062facf4a89dcbe206fa78771d60ddaae7554
+PYTHON3_CRYPTOGRAPHY_SETUP_TYPE = setuptools
+PYTHON3_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3-Clause
+PYTHON3_CRYPTOGRAPHY_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD
+PYTHON3_CRYPTOGRAPHY_DEPENDENCIES = openssl
+HOST_PYTHON3_CRYPTOGRAPHY_DEPENDENCIES = host-python3-cffi host-python3-pip host-python3-six
+HOST_PYTHON3_CRYPTOGRAPHY_DL_SUBDIR = python-cryptography
+HOST_PYTHON3_CRYPTOGRAPHY_NEEDS_HOST_PYTHON = python3
+
+$(eval $(host-python-package))