diff mbox series

[meta-lts-mixins,scarthgap/rust] rust: use 'config.toml' instead of plain 'config'

Message ID 20250322093209.17389-1-vasileios.anagnostopoulos@siemens.com
State New
Headers show
Series [meta-lts-mixins,scarthgap/rust] rust: use 'config.toml' instead of plain 'config' | expand

Commit Message

Vasileios Anagnostopoulos March 22, 2025, 9:32 a.m. UTC
cargo configuration has been renamed from 'config' to
'config.toml' in rust-1.38

Using the old name is still supported but creates warnings like

| $ cargo
| warning: `/sdk.../home/cargo/config` is deprecated in favor of `config.toml`
| note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`

So use the new name to avoid the warnings

Signed-off-by: Vasileios Anagnostopoulos <vasileios.anagnostopoulos@siemens.com>
---
 classes-recipe/cargo_common.bbclass           | 20 +++++++++----------
 recipes-devtools/rust/rust-cross-canadian.inc | 14 ++++++-------
 2 files changed, 17 insertions(+), 17 deletions(-)

Comments

Scott Murray March 24, 2025, 11:54 p.m. UTC | #1
On Sat, 22 Mar 2025, Vasileios Anagnostopoulos via lists.yoctoproject.org wrote:

> cargo configuration has been renamed from 'config' to
> 'config.toml' in rust-1.38
>
> Using the old name is still supported but creates warnings like
>
> | $ cargo
> | warning: `/sdk.../home/cargo/config` is deprecated in favor of `config.toml`
> | note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`
>
> So use the new name to avoid the warnings
>
> Signed-off-by: Vasileios Anagnostopoulos <vasileios.anagnostopoulos@siemens.com>

There's a version of this in master branch already, it will get picked up
when I do the next set of backports, should be this week.

Scott


> ---
>  classes-recipe/cargo_common.bbclass           | 20 +++++++++----------
>  recipes-devtools/rust/rust-cross-canadian.inc | 14 ++++++-------
>  2 files changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/classes-recipe/cargo_common.bbclass b/classes-recipe/cargo_common.bbclass
> index 26de947..c0f6544 100644
> --- a/classes-recipe/cargo_common.bbclass
> +++ b/classes-recipe/cargo_common.bbclass
> @@ -47,14 +47,14 @@ CARGO_RUST_TARGET_CCLD ??= "${RUST_TARGET_CCLD}"
>  cargo_common_do_configure () {
>  	mkdir -p ${CARGO_HOME}/bitbake
>
> -	cat <<- EOF > ${CARGO_HOME}/config
> +	cat <<- EOF > ${CARGO_HOME}/config.toml
>  	# EXTRA_OECARGO_PATHS
>  	paths = [
>  	$(for p in ${EXTRA_OECARGO_PATHS}; do echo \"$p\",; done)
>  	]
>  	EOF
>
> -	cat <<- EOF >> ${CARGO_HOME}/config
> +	cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  	# Local mirror vendored by bitbake
>  	[source.bitbake]
> @@ -62,7 +62,7 @@ cargo_common_do_configure () {
>  	EOF
>
>  	if [ ${CARGO_DISABLE_BITBAKE_VENDORING} = "0" ]; then
> -		cat <<- EOF >> ${CARGO_HOME}/config
> +		cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  		[source.crates-io]
>  		replace-with = "bitbake"
> @@ -70,7 +70,7 @@ cargo_common_do_configure () {
>  		EOF
>  	fi
>
> -	cat <<- EOF >> ${CARGO_HOME}/config
> +	cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  	[http]
>  	# Multiplexing can't be enabled because http2 can't be enabled
> @@ -82,7 +82,7 @@ cargo_common_do_configure () {
>
>  	EOF
>
> -	cat <<- EOF >> ${CARGO_HOME}/config
> +	cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  	# HOST_SYS
>  	[target.${RUST_HOST_SYS}]
> @@ -90,7 +90,7 @@ cargo_common_do_configure () {
>  	EOF
>
>  	if [ "${RUST_HOST_SYS}" != "${RUST_BUILD_SYS}" ]; then
> -		cat <<- EOF >> ${CARGO_HOME}/config
> +		cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  		# BUILD_SYS
>  		[target.${RUST_BUILD_SYS}]
> @@ -99,7 +99,7 @@ cargo_common_do_configure () {
>  	fi
>
>  	if [ "${RUST_TARGET_SYS}" != "${RUST_BUILD_SYS}" -a "${RUST_TARGET_SYS}" != "${RUST_HOST_SYS}" ]; then
> -		cat <<- EOF >> ${CARGO_HOME}/config
> +		cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  		# TARGET_SYS
>  		[target.${RUST_TARGET_SYS}]
> @@ -110,7 +110,7 @@ cargo_common_do_configure () {
>  	# Put build output in build directory preferred by bitbake instead of
>  	# inside source directory unless they are the same
>  	if [ "${B}" != "${S}" ]; then
> -		cat <<- EOF >> ${CARGO_HOME}/config
> +		cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  		[build]
>  		# Use out of tree build destination to avoid polluting the source tree
> @@ -118,7 +118,7 @@ cargo_common_do_configure () {
>  		EOF
>  	fi
>
> -	cat <<- EOF >> ${CARGO_HOME}/config
> +	cat <<- EOF >> ${CARGO_HOME}/config.toml
>
>  	[term]
>  	progress.when = 'always'
> @@ -129,7 +129,7 @@ cargo_common_do_configure () {
>  python cargo_common_do_patch_paths() {
>      import shutil
>
> -    cargo_config = os.path.join(d.getVar("CARGO_HOME"), "config")
> +    cargo_config = os.path.join(d.getVar("CARGO_HOME"), "config.toml")
>      if not os.path.exists(cargo_config):
>          return
>
> diff --git a/recipes-devtools/rust/rust-cross-canadian.inc b/recipes-devtools/rust/rust-cross-canadian.inc
> index af9f2d6..6525525 100644
> --- a/recipes-devtools/rust/rust-cross-canadian.inc
> +++ b/recipes-devtools/rust/rust-cross-canadian.inc
> @@ -72,13 +72,13 @@ do_install () {
>  	export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
>  	mkdir -p "\$CARGO_HOME"
>          # Init the default target once, it might be otherwise user modified.
> -	if [ ! -f "\$CARGO_HOME/config" ]; then
> -		touch "\$CARGO_HOME/config"
> -		echo "[build]" >> "\$CARGO_HOME/config"
> -		echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config"
> -		echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
> -		echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config"
> -		echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
> +	if [ ! -f "\$CARGO_HOME/config.toml" ]; then
> +		touch "\$CARGO_HOME/config.toml"
> +		echo "[build]" >> "\$CARGO_HOME/config.toml"
> +		echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config.toml"
> +		echo '# TARGET_SYS' >> "\$CARGO_HOME/config.toml"
> +		echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config.toml"
> +		echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config.toml"
>      fi
>
>  	# Keep the below off as long as HTTP/2 is disabled.
>
diff mbox series

Patch

diff --git a/classes-recipe/cargo_common.bbclass b/classes-recipe/cargo_common.bbclass
index 26de947..c0f6544 100644
--- a/classes-recipe/cargo_common.bbclass
+++ b/classes-recipe/cargo_common.bbclass
@@ -47,14 +47,14 @@  CARGO_RUST_TARGET_CCLD ??= "${RUST_TARGET_CCLD}"
 cargo_common_do_configure () {
 	mkdir -p ${CARGO_HOME}/bitbake
 
-	cat <<- EOF > ${CARGO_HOME}/config
+	cat <<- EOF > ${CARGO_HOME}/config.toml
 	# EXTRA_OECARGO_PATHS
 	paths = [
 	$(for p in ${EXTRA_OECARGO_PATHS}; do echo \"$p\",; done)
 	]
 	EOF
 
-	cat <<- EOF >> ${CARGO_HOME}/config
+	cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 	# Local mirror vendored by bitbake
 	[source.bitbake]
@@ -62,7 +62,7 @@  cargo_common_do_configure () {
 	EOF
 
 	if [ ${CARGO_DISABLE_BITBAKE_VENDORING} = "0" ]; then
-		cat <<- EOF >> ${CARGO_HOME}/config
+		cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 		[source.crates-io]
 		replace-with = "bitbake"
@@ -70,7 +70,7 @@  cargo_common_do_configure () {
 		EOF
 	fi
 
-	cat <<- EOF >> ${CARGO_HOME}/config
+	cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 	[http]
 	# Multiplexing can't be enabled because http2 can't be enabled
@@ -82,7 +82,7 @@  cargo_common_do_configure () {
 
 	EOF
 
-	cat <<- EOF >> ${CARGO_HOME}/config
+	cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 	# HOST_SYS
 	[target.${RUST_HOST_SYS}]
@@ -90,7 +90,7 @@  cargo_common_do_configure () {
 	EOF
 
 	if [ "${RUST_HOST_SYS}" != "${RUST_BUILD_SYS}" ]; then
-		cat <<- EOF >> ${CARGO_HOME}/config
+		cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 		# BUILD_SYS
 		[target.${RUST_BUILD_SYS}]
@@ -99,7 +99,7 @@  cargo_common_do_configure () {
 	fi
 
 	if [ "${RUST_TARGET_SYS}" != "${RUST_BUILD_SYS}" -a "${RUST_TARGET_SYS}" != "${RUST_HOST_SYS}" ]; then
-		cat <<- EOF >> ${CARGO_HOME}/config
+		cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 		# TARGET_SYS
 		[target.${RUST_TARGET_SYS}]
@@ -110,7 +110,7 @@  cargo_common_do_configure () {
 	# Put build output in build directory preferred by bitbake instead of
 	# inside source directory unless they are the same
 	if [ "${B}" != "${S}" ]; then
-		cat <<- EOF >> ${CARGO_HOME}/config
+		cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 		[build]
 		# Use out of tree build destination to avoid polluting the source tree
@@ -118,7 +118,7 @@  cargo_common_do_configure () {
 		EOF
 	fi
 
-	cat <<- EOF >> ${CARGO_HOME}/config
+	cat <<- EOF >> ${CARGO_HOME}/config.toml
 
 	[term]
 	progress.when = 'always'
@@ -129,7 +129,7 @@  cargo_common_do_configure () {
 python cargo_common_do_patch_paths() {
     import shutil
 
-    cargo_config = os.path.join(d.getVar("CARGO_HOME"), "config")
+    cargo_config = os.path.join(d.getVar("CARGO_HOME"), "config.toml")
     if not os.path.exists(cargo_config):
         return
 
diff --git a/recipes-devtools/rust/rust-cross-canadian.inc b/recipes-devtools/rust/rust-cross-canadian.inc
index af9f2d6..6525525 100644
--- a/recipes-devtools/rust/rust-cross-canadian.inc
+++ b/recipes-devtools/rust/rust-cross-canadian.inc
@@ -72,13 +72,13 @@  do_install () {
 	export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
 	mkdir -p "\$CARGO_HOME"
         # Init the default target once, it might be otherwise user modified.
-	if [ ! -f "\$CARGO_HOME/config" ]; then
-		touch "\$CARGO_HOME/config"
-		echo "[build]" >> "\$CARGO_HOME/config"
-		echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config"
-		echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
-		echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config"
-		echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
+	if [ ! -f "\$CARGO_HOME/config.toml" ]; then
+		touch "\$CARGO_HOME/config.toml"
+		echo "[build]" >> "\$CARGO_HOME/config.toml"
+		echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config.toml"
+		echo '# TARGET_SYS' >> "\$CARGO_HOME/config.toml"
+		echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config.toml"
+		echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config.toml"
     fi
 
 	# Keep the below off as long as HTTP/2 is disabled.