On Wed Apr 1, 2026 at 12:45 PM BST, Miguel Ojeda wrote: > It is not possible anymore to fall into the issue that this warning was > alerting about given the `bindgen` version bump. > > Thus simplify by removing the machinery behind it, including tests.
The scripts/rust_is_available.sh change looks correct to me, although I couldn't get scripts/rust_is_available_test.py to run on NixOS. Looks like it filtered out PATH but uses /usr/bin/env to find python binary? For obvious reasons that will only work if python is located /usr/bin/python. Best, Gary > > Signed-off-by: Miguel Ojeda <[email protected]> > --- > scripts/rust_is_available.sh | 13 ------------ > scripts/rust_is_available_bindgen_0_66.h | 2 -- > scripts/rust_is_available_test.py | 26 +++--------------------- > 3 files changed, 3 insertions(+), 38 deletions(-) > delete mode 100644 scripts/rust_is_available_bindgen_0_66.h > > diff --git a/scripts/rust_is_available.sh b/scripts/rust_is_available.sh > index d2323de0692c..77896e31dab5 100755 > --- a/scripts/rust_is_available.sh > +++ b/scripts/rust_is_available.sh > @@ -163,19 +163,6 @@ if [ "$rust_bindings_generator_cversion" -lt > "$rust_bindings_generator_min_cvers > echo >&2 "***" > exit 1 > fi > -if [ "$rust_bindings_generator_cversion" -eq 6600 ] || > - [ "$rust_bindings_generator_cversion" -eq 6601 ]; then > - # Distributions may have patched the issue (e.g. Debian did). > - if ! "$BINDGEN" $(dirname $0)/rust_is_available_bindgen_0_66.h > >/dev/null; then > - echo >&2 "***" > - echo >&2 "*** Rust bindings generator '$BINDGEN' versions > 0.66.0 and 0.66.1 may not" > - echo >&2 "*** work due to a bug > (https://github.com/rust-lang/rust-bindgen/pull/2567)," > - echo >&2 "*** unless patched (like Debian's)." > - echo >&2 "*** Your version: > $rust_bindings_generator_version" > - echo >&2 "***" > - warning=1 > - fi > -fi > > # Check that the `libclang` used by the Rust bindings generator is suitable. > # > diff --git a/scripts/rust_is_available_bindgen_0_66.h > b/scripts/rust_is_available_bindgen_0_66.h > deleted file mode 100644 > index c0431293421c..000000000000 > --- a/scripts/rust_is_available_bindgen_0_66.h > +++ /dev/null > @@ -1,2 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -#define A "\0" > diff --git a/scripts/rust_is_available_test.py > b/scripts/rust_is_available_test.py > index 4fcc319dea84..b66fa5933844 100755 > --- a/scripts/rust_is_available_test.py > +++ b/scripts/rust_is_available_test.py > @@ -54,17 +54,12 @@ else: > """) > > @classmethod > - def generate_bindgen(cls, version_stdout, libclang_stderr, > version_0_66_patched=False, libclang_concat_patched=False): > + def generate_bindgen(cls, version_stdout, libclang_stderr, > libclang_concat_patched=False): > if libclang_stderr is None: > libclang_case = f"raise > SystemExit({cls.bindgen_default_bindgen_libclang_failure_exit_code})" > else: > libclang_case = f"print({repr(libclang_stderr)}, > file=sys.stderr)" > > - if version_0_66_patched: > - version_0_66_case = "pass" > - else: > - version_0_66_case = "raise SystemExit(1)" > - > if libclang_concat_patched: > libclang_concat_case = "print('pub static mut foofoo: > ::std::os::raw::c_int;')" > else: > @@ -74,8 +69,6 @@ else: > import sys > if "rust_is_available_bindgen_libclang.h" in " ".join(sys.argv): > {libclang_case} > -elif "rust_is_available_bindgen_0_66.h" in " ".join(sys.argv): > - {version_0_66_case} > elif "rust_is_available_bindgen_libclang_concat.h" in " ".join(sys.argv): > {libclang_concat_case} > else: > @@ -83,8 +76,8 @@ else: > """) > > @classmethod > - def generate_bindgen_version(cls, stdout, version_0_66_patched=False): > - return cls.generate_bindgen(stdout, > cls.bindgen_default_bindgen_libclang_stderr, version_0_66_patched) > + def generate_bindgen_version(cls, stdout): > + return cls.generate_bindgen(stdout, > cls.bindgen_default_bindgen_libclang_stderr) > > @classmethod > def generate_bindgen_libclang_failure(cls): > @@ -245,19 +238,6 @@ else: > result = self.run_script(self.Expected.FAILURE, { "BINDGEN": bindgen > }) > self.assertIn(f"Rust bindings generator '{bindgen}' is too old.", > result.stderr) > > - def test_bindgen_bad_version_0_66_0_and_0_66_1(self): > - for version in ("0.66.0", "0.66.1"): > - with self.subTest(version=version): > - bindgen = self.generate_bindgen_version(f"bindgen {version}") > - result = > self.run_script(self.Expected.SUCCESS_WITH_WARNINGS, { "BINDGEN": bindgen }) > - self.assertIn(f"Rust bindings generator '{bindgen}' versions > 0.66.0 and 0.66.1 may not", result.stderr) > - > - def test_bindgen_bad_version_0_66_0_and_0_66_1_patched(self): > - for version in ("0.66.0", "0.66.1"): > - with self.subTest(version=version): > - bindgen = self.generate_bindgen_version(f"bindgen > {version}", True) > - result = self.run_script(self.Expected.SUCCESS, { "BINDGEN": > bindgen }) > - > def test_bindgen_libclang_failure(self): > bindgen = self.generate_bindgen_libclang_failure() > result = self.run_script(self.Expected.FAILURE, { "BINDGEN": bindgen > })
