Ok, as long as any problems are automatically detected, your proposed solution seems fine then. //Peter From: Alexander Kanavin Sent: den 1 oktober 2022 14:42 To: Peter Kjellerstedt Cc: Alexander Kanavin ; 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 > wrote: > -----Original Message----- > From: 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 > > 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 > > --- > .../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