diff mbox series

native/cross: ar wrapper: don't prepend 'D' when @<file> is used

Message ID 20260402001458.1717490-1-martin.jansa@gmail.com
State New
Headers show
Series native/cross: ar wrapper: don't prepend 'D' when @<file> is used | expand

Commit Message

Martin Jansa April 2, 2026, 12:14 a.m. UTC
From: Martin Jansa <martin.jansa@gmail.com>

In some cases bazel-native build calls ar with
@<file>      - read options from <file>
syntax, where the ar params are generated in *.param file by
separate bazel action before ar is called.

Unfortunately this intercept breaks that syntax by prepending D like:

$ ./ar-intercept @foo
argv before: ['./ar-intercept', '@foo']
argv after:  ['./ar-intercept', 'D@foo']
./ar-intercept: invalid option -- '@'
Usage: ./ar-intercept [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
       ./ar-intercept -M [<mri-script]
...

or might trigger 'non-deterministic mode requested' error on false positive:

$ ./ar-intercept @Ufo
argv before: ['./ar-intercept', '@Ufo']
ar: non-deterministic mode requested
argv after:  ['./ar-intercept', '@Ufo']
./ar-intercept: invalid option -- '@'
Usage: ./ar-intercept [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
       ./ar-intercept -M [<mri-script]

Don't try to inject D into first line of @<file>, lets assume the caller
uses D already (bazel uses 'rcsD' by default).

       * Ar flags for combining object files into archives. If this is not set, it
       * defaults to "rcsD".
       * TODO(b/37271982): Remove after blaze with ar action_config release

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 scripts/native-intercept/ar | 5 +++++
 1 file changed, 5 insertions(+)

Comments

patchtest@automation.yoctoproject.org April 2, 2026, 12:30 a.m. UTC | #1
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:

---
Testing patch /home/patchtest/share/mboxes/native-cross-ar-wrapper-don-t-prepend-D-when-file-is-used.patch

FAIL: test commit message user tags: Mbox includes one or more GitHub-style username tags. Ensure that any "@" symbols are stripped out of usernames (test_mbox.TestMbox.test_commit_message_user_tags)

PASS: test Signed-off-by presence (test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence (test_mbox.TestMbox.test_commit_message_presence)
PASS: test mbox format (test_mbox.TestMbox.test_mbox_format)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)

SKIP: pretest pylint: No python related patches, skipping test (test_python_pylint.PyLint.pretest_pylint)
SKIP: test CVE tag format: No new CVE patches introduced (test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: No new CVE patches introduced (test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: No new CVE patches introduced (test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test bugzilla entry format: No bug ID found (test_mbox.TestMbox.test_bugzilla_entry_format)
SKIP: test pylint: No python related patches, skipping test (test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now (test_mbox.TestMbox.test_series_merge_on_head)

---

Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!
diff mbox series

Patch

diff --git a/scripts/native-intercept/ar b/scripts/native-intercept/ar
index dcc623e3ed..fd266c19d4 100755
--- a/scripts/native-intercept/ar
+++ b/scripts/native-intercept/ar
@@ -19,6 +19,11 @@  argv = sys.argv
 if argv[1].startswith('--'):
     # No modifier given
     None
+elif argv[1][0] == '@':
+    # Reading parameters from @file, we can try to inject D on the first line as well
+    # but modifying input files seems a bit too far for this intercept, bazel-native
+    # uses it but with rcsD by default
+    None
 else:
     # remove the optional '-'
     if argv[1][0] == '-':