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
next 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.