Ok, as long as any problems are automatically detected, your proposed solution 
seems fine then.

//Peter

From: Alexander Kanavin <alex.kana...@gmail.com>
Sent: den 1 oktober 2022 14:42
To: Peter Kjellerstedt <peter.kjellerst...@axis.com>
Cc: Alexander Kanavin <a...@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.kjellerst...@axis.com<mailto:peter.kjellerst...@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 <a...@linutronix.de<mailto:a...@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 
> <a...@linutronix.de<mailto:a...@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
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#171252): 
https://lists.openembedded.org/g/openembedded-core/message/171252
Mute This Topic: https://lists.openembedded.org/mt/94022675/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to