diff mbox series

[RFC,2/2] python3-bcrypt: update 3.2.2 -> 4.0.0

Message ID 20220930175520.2850089-2-alex@linutronix.de
State New
Headers show
Series [RFC,1/2] cargo-update-recipe-crates.bbclass: add a class to generate SRC_URI crate lists from Cargo.lock | expand

Commit Message

Alexander Kanavin Sept. 30, 2022, 5:55 p.m. UTC
The component has been reimplemented in rust, and comes
with a large list of dependencies in Cargo.toml/Cargo.lock.

Rather than list them by hand, use a file generated with
cargo-update-recipe-crates class.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 .../python/python3-bcrypt-crates.inc          | 53 +++++++++++++++++++
 ...crypt_3.2.2.bb => python3-bcrypt_4.0.0.bb} |  6 ++-
 2 files changed, 57 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/python/python3-bcrypt-crates.inc
 rename meta/recipes-devtools/python/{python3-bcrypt_3.2.2.bb => python3-bcrypt_4.0.0.bb} (76%)

Comments

Peter Kjellerstedt Oct. 1, 2022, 12:05 p.m. UTC | #1
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Alexander Kanavin
> Sent: den 30 september 2022 19:55
> To: openembedded-core@lists.openembedded.org
> Cc: Alexander Kanavin <alex@linutronix.de>
> Subject: [OE-core] [RFC PATCH 2/2] python3-bcrypt: update 3.2.2 -> 4.0.0
> 
> The component has been reimplemented in rust, and comes
> with a large list of dependencies in Cargo.toml/Cargo.lock.
> 
> Rather than list them by hand, use a file generated with
> cargo-update-recipe-crates class.
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  .../python/python3-bcrypt-crates.inc          | 53 +++++++++++++++++++
>  ...crypt_3.2.2.bb => python3-bcrypt_4.0.0.bb} |  6 ++-
>  2 files changed, 57 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-devtools/python/python3-bcrypt-crates.inc
>  rename meta/recipes-devtools/python/{python3-bcrypt_3.2.2.bb => python3-bcrypt_4.0.0.bb} (76%)
> 
> diff --git a/meta/recipes-devtools/python/python3-bcrypt-crates.inc b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
> new file mode 100644
> index 0000000000..78c5d5aa22
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
> @@ -0,0 +1,53 @@
> +# Autogenerated with 'bitbake -c update_crates python3-bcrypt'
> +
> +SRC_URI += " \
> +        crate://crates.io/autocfg/1.1.0 \
> +        crate://crates.io/base64/0.13.0 \
> +        crate://crates.io/bcrypt/0.13.0 \
> +        crate://crates.io/bcrypt-pbkdf/0.8.1 \
> +        crate://crates.io/bitflags/1.3.2 \
> +        crate://crates.io/block-buffer/0.10.2 \
> +        crate://crates.io/blowfish/0.9.1 \
> +        crate://crates.io/byteorder/1.4.3 \
> +        crate://crates.io/cfg-if/1.0.0 \
> +        crate://crates.io/cipher/0.4.3 \
> +        crate://crates.io/cpufeatures/0.2.4 \
> +        crate://crates.io/crypto-common/0.1.6 \
> +        crate://crates.io/digest/0.10.3 \
> +        crate://crates.io/generic-array/0.14.6 \
> +        crate://crates.io/getrandom/0.2.7 \
> +        crate://crates.io/indoc/0.3.6 \
> +        crate://crates.io/indoc-impl/0.3.6 \
> +        crate://crates.io/inout/0.1.3 \
> +        crate://crates.io/instant/0.1.12 \
> +        crate://crates.io/libc/0.2.132 \
> +        crate://crates.io/lock_api/0.4.7 \
> +        crate://crates.io/once_cell/1.13.1 \
> +        crate://crates.io/parking_lot/0.11.2 \
> +        crate://crates.io/parking_lot_core/0.8.5 \
> +        crate://crates.io/paste/0.1.18 \
> +        crate://crates.io/paste-impl/0.1.18 \
> +        crate://crates.io/pbkdf2/0.10.1 \
> +        crate://crates.io/proc-macro-hack/0.5.19 \
> +        crate://crates.io/proc-macro2/1.0.43 \
> +        crate://crates.io/pyo3/0.15.2 \
> +        crate://crates.io/pyo3-build-config/0.15.2 \
> +        crate://crates.io/pyo3-macros/0.15.2 \
> +        crate://crates.io/pyo3-macros-backend/0.15.2 \
> +        crate://crates.io/quote/1.0.21 \
> +        crate://crates.io/redox_syscall/0.2.16 \
> +        crate://crates.io/scopeguard/1.1.0 \
> +        crate://crates.io/sha2/0.10.2 \
> +        crate://crates.io/smallvec/1.9.0 \
> +        crate://crates.io/subtle/2.4.1 \
> +        crate://crates.io/syn/1.0.99 \
> +        crate://crates.io/typenum/1.15.0 \
> +        crate://crates.io/unicode-ident/1.0.3 \
> +        crate://crates.io/unindent/0.1.10 \
> +        crate://crates.io/version_check/0.9.4 \
> +        crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
> +        crate://crates.io/winapi/0.3.9 \
> +        crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
> +        crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
> +        crate://crates.io/zeroize/1.5.7 \
> +"
> diff --git a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
> similarity index 76%
> rename from meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb
> rename to meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
> index 54070e4b9c..857b38df2c 100644
> --- a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb
> +++ b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
> @@ -5,14 +5,16 @@ HOMEPAGE = "https://pypi.org/project/bcrypt/"
> 
>  DEPENDS += "${PYTHON_PN}-cffi-native"
> 
> -SRC_URI[sha256sum] = "433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb"
> +SRC_URI[sha256sum] = "c59c170fc9225faad04dde1ba61d85b413946e8ce2e5f5f5ff30dfd67283f319"
> 
> -inherit pypi python_setuptools_build_meta ptest
> +inherit pypi python_setuptools3_rust ptest cargo-update-recipe-crates
> 
>  SRC_URI += " \
>  	file://run-ptest \
>  "
> 
> +require ${BPN}-crates.inc

Would it make sense to instead use:

require ${BP}-crates.inc

i.e., make the crates.inc file versioned? That would help to make sure one 
does not forget to update the versions of the crates when the version of 
the recipe is updated. (My assumption is that with the huge lists of crates 
for a typical rust application, there will most likely always be updates to 
them when the application is updated.)

> +
>  RDEPENDS:${PN}-ptest += " \
>  	${PYTHON_PN}-pytest \
>  "
> --
> 2.30.2

//Peter
Alexander Kanavin Oct. 1, 2022, 12:42 p.m. UTC | #2
Any breakage would quickly be exposed in do_compile as cargo will fail
against mismatching lock file. I usually do the opposite and remove version
numbers everywhere except .bb, as it tends to cause trouble with automated
updates.

Alex

On Sat 1. Oct 2022 at 14.05, Peter Kjellerstedt <peter.kjellerstedt@axis.com>
wrote:

> > -----Original Message-----
> > From: openembedded-core@lists.openembedded.org <
> openembedded-core@lists.openembedded.org> On Behalf Of Alexander Kanavin
> > Sent: den 30 september 2022 19:55
> > To: openembedded-core@lists.openembedded.org
> > Cc: Alexander Kanavin <alex@linutronix.de>
> > Subject: [OE-core] [RFC PATCH 2/2] python3-bcrypt: update 3.2.2 -> 4.0.0
> >
> > The component has been reimplemented in rust, and comes
> > with a large list of dependencies in Cargo.toml/Cargo.lock.
> >
> > Rather than list them by hand, use a file generated with
> > cargo-update-recipe-crates class.
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> >  .../python/python3-bcrypt-crates.inc          | 53 +++++++++++++++++++
> >  ...crypt_3.2.2.bb => python3-bcrypt_4.0.0.bb} |  6 ++-
> >  2 files changed, 57 insertions(+), 2 deletions(-)
> >  create mode 100644
> meta/recipes-devtools/python/python3-bcrypt-crates.inc
> >  rename meta/recipes-devtools/python/{python3-bcrypt_3.2.2.bb =>
> python3-bcrypt_4.0.0.bb} (76%)
> >
> > diff --git a/meta/recipes-devtools/python/python3-bcrypt-crates.inc
> b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
> > new file mode 100644
> > index 0000000000..78c5d5aa22
> > --- /dev/null
> > +++ b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
> > @@ -0,0 +1,53 @@
> > +# Autogenerated with 'bitbake -c update_crates python3-bcrypt'
> > +
> > +SRC_URI += " \
> > +        crate://crates.io/autocfg/1.1.0 \
> > +        crate://crates.io/base64/0.13.0 \
> > +        crate://crates.io/bcrypt/0.13.0 \
> > +        crate://crates.io/bcrypt-pbkdf/0.8.1 \
> > +        crate://crates.io/bitflags/1.3.2 \
> > +        crate://crates.io/block-buffer/0.10.2 \
> > +        crate://crates.io/blowfish/0.9.1 \
> > +        crate://crates.io/byteorder/1.4.3 \
> > +        crate://crates.io/cfg-if/1.0.0 \
> > +        crate://crates.io/cipher/0.4.3 \
> > +        crate://crates.io/cpufeatures/0.2.4 \
> > +        crate://crates.io/crypto-common/0.1.6 \
> > +        crate://crates.io/digest/0.10.3 \
> > +        crate://crates.io/generic-array/0.14.6 \
> > +        crate://crates.io/getrandom/0.2.7 \
> > +        crate://crates.io/indoc/0.3.6 \
> > +        crate://crates.io/indoc-impl/0.3.6 \
> > +        crate://crates.io/inout/0.1.3 \
> > +        crate://crates.io/instant/0.1.12 \
> > +        crate://crates.io/libc/0.2.132 \
> > +        crate://crates.io/lock_api/0.4.7 \
> > +        crate://crates.io/once_cell/1.13.1 \
> > +        crate://crates.io/parking_lot/0.11.2 \
> > +        crate://crates.io/parking_lot_core/0.8.5 \
> > +        crate://crates.io/paste/0.1.18 \
> > +        crate://crates.io/paste-impl/0.1.18 \
> > +        crate://crates.io/pbkdf2/0.10.1 \
> > +        crate://crates.io/proc-macro-hack/0.5.19 \
> > +        crate://crates.io/proc-macro2/1.0.43 \
> > +        crate://crates.io/pyo3/0.15.2 \
> > +        crate://crates.io/pyo3-build-config/0.15.2 \
> > +        crate://crates.io/pyo3-macros/0.15.2 \
> > +        crate://crates.io/pyo3-macros-backend/0.15.2 \
> > +        crate://crates.io/quote/1.0.21 \
> > +        crate://crates.io/redox_syscall/0.2.16 \
> > +        crate://crates.io/scopeguard/1.1.0 \
> > +        crate://crates.io/sha2/0.10.2 \
> > +        crate://crates.io/smallvec/1.9.0 \
> > +        crate://crates.io/subtle/2.4.1 \
> > +        crate://crates.io/syn/1.0.99 \
> > +        crate://crates.io/typenum/1.15.0 \
> > +        crate://crates.io/unicode-ident/1.0.3 \
> > +        crate://crates.io/unindent/0.1.10 \
> > +        crate://crates.io/version_check/0.9.4 \
> > +        crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
> > +        crate://crates.io/winapi/0.3.9 \
> > +        crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
> > +        crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
> > +        crate://crates.io/zeroize/1.5.7 \
> > +"
> > diff --git a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb
> b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
> > similarity index 76%
> > rename from meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb
> > rename to meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
> > index 54070e4b9c..857b38df2c 100644
> > --- a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb
> > +++ b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
> > @@ -5,14 +5,16 @@ HOMEPAGE = "https://pypi.org/project/bcrypt/"
> >
> >  DEPENDS += "${PYTHON_PN}-cffi-native"
> >
> > -SRC_URI[sha256sum] =
> "433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb"
> > +SRC_URI[sha256sum] =
> "c59c170fc9225faad04dde1ba61d85b413946e8ce2e5f5f5ff30dfd67283f319"
> >
> > -inherit pypi python_setuptools_build_meta ptest
> > +inherit pypi python_setuptools3_rust ptest cargo-update-recipe-crates
> >
> >  SRC_URI += " \
> >       file://run-ptest \
> >  "
> >
> > +require ${BPN}-crates.inc
>
> Would it make sense to instead use:
>
> require ${BP}-crates.inc
>
> i.e., make the crates.inc file versioned? That would help to make sure one
> does not forget to update the versions of the crates when the version of
> the recipe is updated. (My assumption is that with the huge lists of
> crates
> for a typical rust application, there will most likely always be updates
> to
> them when the application is updated.)
>
> > +
> >  RDEPENDS:${PN}-ptest += " \
> >       ${PYTHON_PN}-pytest \
> >  "
> > --
> > 2.30.2
>
> //Peter
>
>
Peter Kjellerstedt Oct. 1, 2022, 2:30 p.m. UTC | #3
Ok, as long as any problems are automatically detected, your proposed solution seems fine then.

//Peter

From: Alexander Kanavin <alex.kanavin@gmail.com>
Sent: den 1 oktober 2022 14:42
To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Cc: Alexander Kanavin <alex@linutronix.de>; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [RFC PATCH 2/2] python3-bcrypt: update 3.2.2 -> 4.0.0

Any breakage would quickly be exposed in do_compile as cargo will fail against mismatching lock file. I usually do the opposite and remove version numbers everywhere except .bb, as it tends to cause trouble with automated updates.

Alex

On Sat 1. Oct 2022 at 14.05, Peter Kjellerstedt <peter.kjellerstedt@axis.com<mailto:peter.kjellerstedt@axis.com>> wrote:
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org<mailto:openembedded-core@lists.openembedded.org> <openembedded-core@lists.openembedded.org<mailto:openembedded-core@lists.openembedded.org>> On Behalf Of Alexander Kanavin
> Sent: den 30 september 2022 19:55
> To: openembedded-core@lists.openembedded.org<mailto:openembedded-core@lists.openembedded.org>
> Cc: Alexander Kanavin <alex@linutronix.de<mailto:alex@linutronix.de>>
> Subject: [OE-core] [RFC PATCH 2/2] python3-bcrypt: update 3.2.2 -> 4.0.0
>
> The component has been reimplemented in rust, and comes
> with a large list of dependencies in Cargo.toml/Cargo.lock.
>
> Rather than list them by hand, use a file generated with
> cargo-update-recipe-crates class.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de<mailto:alex@linutronix.de>>
> ---
>  .../python/python3-bcrypt-crates.inc          | 53 +++++++++++++++++++
>  ...crypt_3.2.2.bb<http://crypt_3.2.2.bb> => python3-bcrypt_4.0.0.bb<http://python3-bcrypt_4.0.0.bb>} |  6 ++-
>  2 files changed, 57 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-devtools/python/python3-bcrypt-crates.inc
>  rename meta/recipes-devtools/python/{python3-bcrypt_3.2.2.bb<http://python3-bcrypt_3.2.2.bb> => python3-bcrypt_4.0.0.bb<http://python3-bcrypt_4.0.0.bb>} (76%)
>
> diff --git a/meta/recipes-devtools/python/python3-bcrypt-crates.inc b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
> new file mode 100644
> index 0000000000..78c5d5aa22
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
> @@ -0,0 +1,53 @@
> +# Autogenerated with 'bitbake -c update_crates python3-bcrypt'
> +
> +SRC_URI += " \
> +        crate://crates.io/autocfg/1.1.0<http://crates.io/autocfg/1.1.0> \
> +        crate://crates.io/base64/0.13.0<http://crates.io/base64/0.13.0> \
> +        crate://crates.io/bcrypt/0.13.0<http://crates.io/bcrypt/0.13.0> \
> +        crate://crates.io/bcrypt-pbkdf/0.8.1<http://crates.io/bcrypt-pbkdf/0.8.1> \
> +        crate://crates.io/bitflags/1.3.2<http://crates.io/bitflags/1.3.2> \
> +        crate://crates.io/block-buffer/0.10.2<http://crates.io/block-buffer/0.10.2> \
> +        crate://crates.io/blowfish/0.9.1<http://crates.io/blowfish/0.9.1> \
> +        crate://crates.io/byteorder/1.4.3<http://crates.io/byteorder/1.4.3> \
> +        crate://crates.io/cfg-if/1.0.0<http://crates.io/cfg-if/1.0.0> \
> +        crate://crates.io/cipher/0.4.3<http://crates.io/cipher/0.4.3> \
> +        crate://crates.io/cpufeatures/0.2.4<http://crates.io/cpufeatures/0.2.4> \
> +        crate://crates.io/crypto-common/0.1.6<http://crates.io/crypto-common/0.1.6> \
> +        crate://crates.io/digest/0.10.3<http://crates.io/digest/0.10.3> \
> +        crate://crates.io/generic-array/0.14.6<http://crates.io/generic-array/0.14.6> \
> +        crate://crates.io/getrandom/0.2.7<http://crates.io/getrandom/0.2.7> \
> +        crate://crates.io/indoc/0.3.6<http://crates.io/indoc/0.3.6> \
> +        crate://crates.io/indoc-impl/0.3.6<http://crates.io/indoc-impl/0.3.6> \
> +        crate://crates.io/inout/0.1.3<http://crates.io/inout/0.1.3> \
> +        crate://crates.io/instant/0.1.12<http://crates.io/instant/0.1.12> \
> +        crate://crates.io/libc/0.2.132<http://crates.io/libc/0.2.132> \
> +        crate://crates.io/lock_api/0.4.7<http://crates.io/lock_api/0.4.7> \
> +        crate://crates.io/once_cell/1.13.1<http://crates.io/once_cell/1.13.1> \
> +        crate://crates.io/parking_lot/0.11.2<http://crates.io/parking_lot/0.11.2> \
> +        crate://crates.io/parking_lot_core/0.8.5<http://crates.io/parking_lot_core/0.8.5> \
> +        crate://crates.io/paste/0.1.18<http://crates.io/paste/0.1.18> \
> +        crate://crates.io/paste-impl/0.1.18<http://crates.io/paste-impl/0.1.18> \
> +        crate://crates.io/pbkdf2/0.10.1<http://crates.io/pbkdf2/0.10.1> \
> +        crate://crates.io/proc-macro-hack/0.5.19<http://crates.io/proc-macro-hack/0.5.19> \
> +        crate://crates.io/proc-macro2/1.0.43<http://crates.io/proc-macro2/1.0.43> \
> +        crate://crates.io/pyo3/0.15.2<http://crates.io/pyo3/0.15.2> \
> +        crate://crates.io/pyo3-build-config/0.15.2<http://crates.io/pyo3-build-config/0.15.2> \
> +        crate://crates.io/pyo3-macros/0.15.2<http://crates.io/pyo3-macros/0.15.2> \
> +        crate://crates.io/pyo3-macros-backend/0.15.2<http://crates.io/pyo3-macros-backend/0.15.2> \
> +        crate://crates.io/quote/1.0.21<http://crates.io/quote/1.0.21> \
> +        crate://crates.io/redox_syscall/0.2.16<http://crates.io/redox_syscall/0.2.16> \
> +        crate://crates.io/scopeguard/1.1.0<http://crates.io/scopeguard/1.1.0> \
> +        crate://crates.io/sha2/0.10.2<http://crates.io/sha2/0.10.2> \
> +        crate://crates.io/smallvec/1.9.0<http://crates.io/smallvec/1.9.0> \
> +        crate://crates.io/subtle/2.4.1<http://crates.io/subtle/2.4.1> \
> +        crate://crates.io/syn/1.0.99<http://crates.io/syn/1.0.99> \
> +        crate://crates.io/typenum/1.15.0<http://crates.io/typenum/1.15.0> \
> +        crate://crates.io/unicode-ident/1.0.3<http://crates.io/unicode-ident/1.0.3> \
> +        crate://crates.io/unindent/0.1.10<http://crates.io/unindent/0.1.10> \
> +        crate://crates.io/version_check/0.9.4<http://crates.io/version_check/0.9.4> \
> +        crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1<http://crates.io/wasi/0.11.0+wasi-snapshot-preview1> \
> +        crate://crates.io/winapi/0.3.9<http://crates.io/winapi/0.3.9> \
> +        crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0<http://crates.io/winapi-i686-pc-windows-gnu/0.4.0> \
> +        crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0<http://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0> \
> +        crate://crates.io/zeroize/1.5.7<http://crates.io/zeroize/1.5.7> \
> +"
> diff --git a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb<http://python3-bcrypt_3.2.2.bb> b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb<http://python3-bcrypt_4.0.0.bb>
> similarity index 76%
> rename from meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb<http://python3-bcrypt_3.2.2.bb>
> rename to meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb<http://python3-bcrypt_4.0.0.bb>
> index 54070e4b9c..857b38df2c 100644
> --- a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb<http://python3-bcrypt_3.2.2.bb>
> +++ b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb<http://python3-bcrypt_4.0.0.bb>
> @@ -5,14 +5,16 @@ HOMEPAGE = "https://pypi.org/project/bcrypt/"
>
>  DEPENDS += "${PYTHON_PN}-cffi-native"
>
> -SRC_URI[sha256sum] = "433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb"
> +SRC_URI[sha256sum] = "c59c170fc9225faad04dde1ba61d85b413946e8ce2e5f5f5ff30dfd67283f319"
>
> -inherit pypi python_setuptools_build_meta ptest
> +inherit pypi python_setuptools3_rust ptest cargo-update-recipe-crates
>
>  SRC_URI += " \
>       file://run-ptest \
>  "
>
> +require ${BPN}-crates.inc

Would it make sense to instead use:

require ${BP}-crates.inc

i.e., make the crates.inc file versioned? That would help to make sure one
does not forget to update the versions of the crates when the version of
the recipe is updated. (My assumption is that with the huge lists of crates
for a typical rust application, there will most likely always be updates to
them when the application is updated.)

> +
>  RDEPENDS:${PN}-ptest += " \
>       ${PYTHON_PN}-pytest \
>  "
> --
> 2.30.2

//Peter
diff mbox series

Patch

diff --git a/meta/recipes-devtools/python/python3-bcrypt-crates.inc b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
new file mode 100644
index 0000000000..78c5d5aa22
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-bcrypt-crates.inc
@@ -0,0 +1,53 @@ 
+# Autogenerated with 'bitbake -c update_crates python3-bcrypt'
+
+SRC_URI += " \ 
+        crate://crates.io/autocfg/1.1.0 \ 
+        crate://crates.io/base64/0.13.0 \ 
+        crate://crates.io/bcrypt/0.13.0 \ 
+        crate://crates.io/bcrypt-pbkdf/0.8.1 \ 
+        crate://crates.io/bitflags/1.3.2 \ 
+        crate://crates.io/block-buffer/0.10.2 \ 
+        crate://crates.io/blowfish/0.9.1 \ 
+        crate://crates.io/byteorder/1.4.3 \ 
+        crate://crates.io/cfg-if/1.0.0 \ 
+        crate://crates.io/cipher/0.4.3 \ 
+        crate://crates.io/cpufeatures/0.2.4 \ 
+        crate://crates.io/crypto-common/0.1.6 \ 
+        crate://crates.io/digest/0.10.3 \ 
+        crate://crates.io/generic-array/0.14.6 \ 
+        crate://crates.io/getrandom/0.2.7 \ 
+        crate://crates.io/indoc/0.3.6 \ 
+        crate://crates.io/indoc-impl/0.3.6 \ 
+        crate://crates.io/inout/0.1.3 \ 
+        crate://crates.io/instant/0.1.12 \ 
+        crate://crates.io/libc/0.2.132 \ 
+        crate://crates.io/lock_api/0.4.7 \ 
+        crate://crates.io/once_cell/1.13.1 \ 
+        crate://crates.io/parking_lot/0.11.2 \ 
+        crate://crates.io/parking_lot_core/0.8.5 \ 
+        crate://crates.io/paste/0.1.18 \ 
+        crate://crates.io/paste-impl/0.1.18 \ 
+        crate://crates.io/pbkdf2/0.10.1 \ 
+        crate://crates.io/proc-macro-hack/0.5.19 \ 
+        crate://crates.io/proc-macro2/1.0.43 \ 
+        crate://crates.io/pyo3/0.15.2 \ 
+        crate://crates.io/pyo3-build-config/0.15.2 \ 
+        crate://crates.io/pyo3-macros/0.15.2 \ 
+        crate://crates.io/pyo3-macros-backend/0.15.2 \ 
+        crate://crates.io/quote/1.0.21 \ 
+        crate://crates.io/redox_syscall/0.2.16 \ 
+        crate://crates.io/scopeguard/1.1.0 \ 
+        crate://crates.io/sha2/0.10.2 \ 
+        crate://crates.io/smallvec/1.9.0 \ 
+        crate://crates.io/subtle/2.4.1 \ 
+        crate://crates.io/syn/1.0.99 \ 
+        crate://crates.io/typenum/1.15.0 \ 
+        crate://crates.io/unicode-ident/1.0.3 \ 
+        crate://crates.io/unindent/0.1.10 \ 
+        crate://crates.io/version_check/0.9.4 \ 
+        crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ 
+        crate://crates.io/winapi/0.3.9 \ 
+        crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ 
+        crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ 
+        crate://crates.io/zeroize/1.5.7 \ 
+"
diff --git a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
similarity index 76%
rename from meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb
rename to meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
index 54070e4b9c..857b38df2c 100644
--- a/meta/recipes-devtools/python/python3-bcrypt_3.2.2.bb
+++ b/meta/recipes-devtools/python/python3-bcrypt_4.0.0.bb
@@ -5,14 +5,16 @@  HOMEPAGE = "https://pypi.org/project/bcrypt/"
 
 DEPENDS += "${PYTHON_PN}-cffi-native"
 
-SRC_URI[sha256sum] = "433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb"
+SRC_URI[sha256sum] = "c59c170fc9225faad04dde1ba61d85b413946e8ce2e5f5f5ff30dfd67283f319"
 
-inherit pypi python_setuptools_build_meta ptest
+inherit pypi python_setuptools3_rust ptest cargo-update-recipe-crates
 
 SRC_URI += " \
 	file://run-ptest \
 "
 
+require ${BPN}-crates.inc
+
 RDEPENDS:${PN}-ptest += " \
 	${PYTHON_PN}-pytest \
 "