Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Zoltán Böszörményi" <zboszor@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: "Alexander Kanavin" <alex.kanavin@gmail.com>,
	"Randy MacLeod" <randy.macleod@windriver.com>,
	"Khem Raj" <raj.khem@gmail.com>,
	"Zoltán Böszörményi" <zboszor@gmail.com>
Subject: [OE-core][PATCH 1/3] cargo.bbclass: Allow using --offline instead of --frozen
Date: Wed, 29 Jan 2025 09:09:00 +0100	[thread overview]
Message-ID: <20250129080902.1863054-1-zboszor@gmail.com> (raw)

Some rust packages complain about the --frozen flag:

| error: the lock file .../Cargo.lock needs to be updated but --frozen was passed to prevent this
| If you want to try to generate the lock file without accessing the network, remove the --frozen flag and use --offline instead.

Add a CARGO_USE_OFFLINE_FLAG = 0/1 flag to allow using --offline
instead of --frozen for such cases.

Use 0 by default to keep using --frozen as the default flag.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
 meta/classes-recipe/cargo.bbclass | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/cargo.bbclass b/meta/classes-recipe/cargo.bbclass
index b583f84bdf..fe5ce9b023 100644
--- a/meta/classes-recipe/cargo.bbclass
+++ b/meta/classes-recipe/cargo.bbclass
@@ -37,7 +37,10 @@ BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
 # and will require an up to date Cargo.lock file.
 # This force the package being built to already ship a Cargo.lock, in the end
 # this is what we want, at least, for reproducibility of the build.
-CARGO_BUILD_FLAGS = "-v --frozen --target ${RUST_HOST_SYS} ${BUILD_MODE} --manifest-path=${CARGO_MANIFEST_PATH}"
+# Sometimes --freeze fails because Cargo.lock needs to be modified
+# without version changes. --offline can be used instead.
+CARGO_USE_OFFLINE_FLAG ??= "0"
+CARGO_BUILD_FLAGS = "-v ${@ '--frozen' if d.getVar('CARGO_USE_OFFLINE_FLAG') == '0' else '--offline'} --target ${RUST_HOST_SYS} ${BUILD_MODE} --manifest-path=${CARGO_MANIFEST_PATH}"
 
 # This is based on the content of CARGO_BUILD_FLAGS and generally will need to
 # change if CARGO_BUILD_FLAGS changes.
-- 
2.48.1



             reply	other threads:[~2025-01-29  8:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-29  8:09 Zoltán Böszörményi [this message]
2025-01-29  8:09 ` [OE-core][PATCH 2/3] rpm-sequoia: New recipe for version 1.6.0 Zoltán Böszörményi
2025-01-29  9:05   ` Alexander Kanavin
2025-01-29  9:14     ` Böszörményi Zoltán
2025-01-29  9:20     ` Böszörményi Zoltán
2025-01-29  9:29       ` Alexander Kanavin
2025-01-29 10:09         ` Böszörményi Zoltán
     [not found]       ` <181F1FDA3B65007A.31881@lists.openembedded.org>
2025-01-29  9:41         ` Alexander Kanavin
2025-01-29  8:09 ` [OE-core][PATCH 3/3] rpm: Automatically enable using rpm-sequoia for signed packages Zoltán Böszörményi
2025-01-29  8:56   ` Alexander Kanavin
2025-01-29 10:34     ` Böszörményi Zoltán
2025-01-29 10:54       ` Alexander Kanavin
2025-01-29  8:49 ` [OE-core][PATCH 1/3] cargo.bbclass: Allow using --offline instead of --frozen Alexander Kanavin
2025-01-29  9:00   ` Böszörményi Zoltán
2025-01-29  9:08     ` Alexander Kanavin
2025-01-29  9:36 ` Yoann Congal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250129080902.1863054-1-zboszor@gmail.com \
    --to=zboszor@gmail.com \
    --cc=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    --cc=randy.macleod@windriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox