Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-maturin for openSUSE:Factory 
checked in at 2022-01-31 22:57:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-maturin (Old)
 and      /work/SRC/openSUSE:Factory/.python-maturin.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-maturin"

Mon Jan 31 22:57:13 2022 rev:9 rq:950093 version:0.12.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-maturin/python-maturin.changes    
2021-12-23 17:54:02.591730040 +0100
+++ /work/SRC/openSUSE:Factory/.python-maturin.new.1898/python-maturin.changes  
2022-01-31 22:57:59.437311427 +0100
@@ -1,0 +2,12 @@
+Mon Jan 31 06:58:49 UTC 2022 - Mia Herkt <[email protected]>
+
+- Update to 0.12.6
+* Add support for repairing cross compiled linux wheels
+  gh#PyO3/maturin#754
+* Add support for `manylinux_2_28` and `manylinux_2_31`
+  gh#PyO3/maturin#755
+* Remove existing so file first in `maturin develop` command to
+  avoid triggering SIGSEV in running process
+  gh#PyO3/maturin#760
+
+-------------------------------------------------------------------

Old:
----
  maturin-0.12.5.tar.gz

New:
----
  maturin-0.12.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-maturin.spec ++++++
--- /var/tmp/diff_new_pack.TROmLF/_old  2022-01-31 22:58:00.241306014 +0100
+++ /var/tmp/diff_new_pack.TROmLF/_new  2022-01-31 22:58:00.245305986 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-maturin
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define skip_python2 1
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-maturin
-Version:        0.12.5
+Version:        0.12.6
 Release:        0
 Summary:        Rust/Python Interoperability
 License:        Apache-2.0 OR MIT

++++++ maturin-0.12.5.tar.gz -> maturin-0.12.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/.github/workflows/test.yml 
new/maturin-0.12.6/.github/workflows/test.yml
--- old/maturin-0.12.5/.github/workflows/test.yml       2021-12-20 
15:05:12.000000000 +0100
+++ new/maturin-0.12.6/.github/workflows/test.yml       2021-12-31 
17:19:56.000000000 +0100
@@ -77,7 +77,7 @@
       - name: Cache test crates cargo build
         uses: actions/cache@v2
         with:
-          path: test-crates/*/target
+          path: test-crates/targets
           key: test-crates-${{ runner.os }}-${{ 
steps.rustup.outputs.rustc_hash }}-${{ hashFiles('test-crates/*/Cargo.lock') }}
 
       - name: cargo test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/.gitignore 
new/maturin-0.12.6/.gitignore
--- old/maturin-0.12.5/.gitignore       2021-12-20 15:05:12.000000000 +0100
+++ new/maturin-0.12.6/.gitignore       2021-12-31 17:19:56.000000000 +0100
@@ -11,3 +11,6 @@
 build
 dist
 tags
+test-crates/wheels/
+test-crates/targets/
+test-crates/venvs/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/Cargo.lock 
new/maturin-0.12.6/Cargo.lock
--- old/maturin-0.12.5/Cargo.lock       2021-12-20 15:05:12.000000000 +0100
+++ new/maturin-0.12.6/Cargo.lock       2021-12-31 17:19:56.000000000 +0100
@@ -68,9 +68,9 @@
 
 [[package]]
 name = "anyhow"
-version = "1.0.51"
+version = "1.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203"
+checksum = "84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3"
 
 [[package]]
 name = "async-io"
@@ -825,13 +825,13 @@
 
 [[package]]
 name = "http"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b"
+checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
 dependencies = [
  "bytes",
  "fnv",
- "itoa 0.4.8",
+ "itoa 1.0.1",
 ]
 
 [[package]]
@@ -1022,9 +1022,9 @@
 
 [[package]]
 name = "lddtree"
-version = "0.1.4"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6f5d1501bcbb2572cd5aaec64307faf409b52f25c0d8adbaeaa8afe01387f467"
+checksum = "738eccba56c448014efe5a639caf93eb67c3c73d0443e2be7c874bd642d9c718"
 dependencies = [
  "fs-err",
  "glob",
@@ -1065,13 +1065,14 @@
 
 [[package]]
 name = "maturin"
-version = "0.12.5"
+version = "0.12.6"
 dependencies = [
  "anyhow",
  "base64",
  "bytesize",
  "cargo_metadata",
  "cbindgen",
+ "cc",
  "configparser",
  "console",
  "dialoguer",
@@ -1133,9 +1134,9 @@
 
 [[package]]
 name = "minijinja"
-version = "0.8.2"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1c8de52c925a3f40bd30cb2041440eb3d11658b9a2b8564c1d66fba41c890dc6"
+checksum = "f26f1dbd15ffd709a508dc5ad4ccf6e559e30e083127e0033c12c2f7b6b9aa20"
 dependencies = [
  "serde",
 ]
@@ -1282,9 +1283,9 @@
 
 [[package]]
 name = "num_cpus"
-version = "1.13.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
 dependencies = [
  "hermit-abi",
  "libc",
@@ -1334,9 +1335,9 @@
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
+checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
 
 [[package]]
 name = "pin-utils"
@@ -1381,9 +1382,9 @@
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba"
+checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
 
 [[package]]
 name = "pretty_env_logger"
@@ -1440,9 +1441,9 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.34"
+version = "1.0.36"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2f84e92c0f7c9d58328b85a78557813e4bd845130db68d7184635344399423b1"
+checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
 dependencies = [
  "unicode-xid",
 ]
@@ -1479,9 +1480,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.10"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05"
+checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
 dependencies = [
  "proc-macro2",
 ]
@@ -1579,9 +1580,9 @@
 
 [[package]]
 name = "reqwest"
-version = "0.11.7"
+version = "0.11.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "07bea77bc708afa10e59905c3d4af7c8fd43c9214251673095ff8b14345fcbc5"
+checksum = "7c4e0a76dc12a116108933f6301b95e83634e0c47b0afbed6abbaa0601e99258"
 dependencies = [
  "base64",
  "bytes",
@@ -1666,7 +1667,7 @@
  "log",
  "ring",
  "sct",
- "webpki 0.22.0",
+ "webpki",
 ]
 
 [[package]]
@@ -1937,9 +1938,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.82"
+version = "1.0.84"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59"
+checksum = "ecb2e6da8ee5eb9a61068762a32fa9619cc591ceb055b3687f4cd4051ec2e06b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2093,7 +2094,7 @@
 dependencies = [
  "rustls",
  "tokio",
- "webpki 0.22.0",
+ "webpki",
 ]
 
 [[package]]
@@ -2153,9 +2154,9 @@
 
 [[package]]
 name = "typenum"
-version = "1.14.0"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec"
+checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
 
 [[package]]
 name = "unicase"
@@ -2249,9 +2250,9 @@
 
 [[package]]
 name = "version_check"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "void"
@@ -2370,16 +2371,6 @@
 
 [[package]]
 name = "webpki"
-version = "0.21.4"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "webpki"
 version = "0.22.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
@@ -2390,11 +2381,11 @@
 
 [[package]]
 name = "webpki-roots"
-version = "0.21.1"
+version = "0.22.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940"
+checksum = "552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449"
 dependencies = [
- "webpki 0.21.4",
+ "webpki",
 ]
 
 [[package]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/Cargo.toml 
new/maturin-0.12.6/Cargo.toml
--- old/maturin-0.12.5/Cargo.toml       1970-01-01 01:00:00.000000000 +0100
+++ new/maturin-0.12.6/Cargo.toml       1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
 [package]
 authors = ["konstin <[email protected]>"]
 name = "maturin"
-version = "0.12.5"
+version = "0.12.6"
 description = "Build and publish crates with pyo3, rust-cpython and cffi 
bindings as well as rust binaries as python packages"
 exclude = ["test-crates/**/*", "sysconfig/*", "test-data/*", "ci/*", "tests/*"]
 homepage = "https://github.com/pyo3/maturin";
@@ -56,8 +56,9 @@
 ignore = "0.4.18"
 dialoguer = "0.9.0"
 console = "0.15.0"
-minijinja = "0.8.2"
-lddtree = "0.1.4"
+minijinja = "0.10.0"
+lddtree = "0.2.0"
+cc = "1.0.72"
 
 [dev-dependencies]
 indoc = "1.0.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/Changelog.md 
new/maturin-0.12.6/Changelog.md
--- old/maturin-0.12.5/Changelog.md     2021-12-20 15:05:12.000000000 +0100
+++ new/maturin-0.12.6/Changelog.md     2021-12-31 17:19:56.000000000 +0100
@@ -7,6 +7,12 @@
 
 ## [Unreleased]
 
+## [0.12.6] - 2021-12-31
+
+* Add support for repairing cross compiled linux wheels in 
[#754](https://github.com/PyO3/maturin/pull/754)
+* Add support for `manylinux_2_28` and `manylinux_2_31` in 
[#755](https://github.com/PyO3/maturin/pull/755)
+* Remove existing so file first in `maturin develop` command to avoid 
triggering SIGSEV in running process in 
[#760](https://github.com/PyO3/maturin/pull/760)
+
 ## [0.12.5] - 2021-12-20
 
 * Fix docs for `new` and `init` commands in `maturin --help` in 
[#734](https://github.com/PyO3/maturin/pull/734)
@@ -511,7 +517,8 @@
 
  * Initial Release
 
-[Unreleased]: https://github.com/pyo3/maturin/compare/v0.12.5...HEAD
+[Unreleased]: https://github.com/pyo3/maturin/compare/v0.12.6...HEAD
+[0.12.6]: https://github.com/pyo3/maturin/compare/v0.12.5...v0.12.6
 [0.12.5]: https://github.com/pyo3/maturin/compare/v0.12.4...v0.12.5
 [0.12.4]: https://github.com/pyo3/maturin/compare/v0.12.3...v0.12.4
 [0.12.3]: https://github.com/pyo3/maturin/compare/v0.12.2...v0.12.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/PKG-INFO new/maturin-0.12.6/PKG-INFO
--- old/maturin-0.12.5/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/maturin-0.12.6/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: maturin
-Version: 0.12.5
+Version: 0.12.6
 Classifier: Topic :: Software Development :: Build Tools
 Classifier: Programming Language :: Rust
 Classifier: Programming Language :: Python :: Implementation :: CPython
@@ -14,10 +14,10 @@
 License: MIT OR Apache-2.0
 Requires-Python: >=3.6
 Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
-Project-URL: Source Code, https://github.com/PyO3/maturin
 Project-URL: Documentation, https://maturin.rs
-Project-URL: Changelog, https://maturin.rs/changelog.html
 Project-URL: Issues, https://github.com/PyO3/maturin/issues
+Project-URL: Changelog, https://maturin.rs/changelog.html
+Project-URL: Source Code, https://github.com/PyO3/maturin
 
 # Maturin
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/auditwheel/audit.rs 
new/maturin-0.12.6/src/auditwheel/audit.rs
--- old/maturin-0.12.5/src/auditwheel/audit.rs  2021-12-20 15:05:12.000000000 
+0100
+++ new/maturin-0.12.6/src/auditwheel/audit.rs  2021-12-31 17:19:56.000000000 
+0100
@@ -256,7 +256,6 @@
     if !target.is_linux() || platform_tag == Some(PlatformTag::Linux) {
         return Ok((Policy::default(), false));
     }
-    let cross_compiling = target.cross_compiling();
     let arch = target.target_arch().to_string();
     let mut file = File::open(path).map_err(AuditWheelError::IoError)?;
     let mut buffer = Vec::new();
@@ -300,15 +299,10 @@
                 should_repair = false;
                 break;
             }
-            Err(err @ AuditWheelError::LinksForbiddenLibrariesError(..)) => {
-                // TODO: support repair for cross compiled wheels
-                if !cross_compiling {
-                    highest_policy = Some(policy.clone());
-                    should_repair = true;
-                    break;
-                } else {
-                    return Err(err);
-                }
+            Err(AuditWheelError::LinksForbiddenLibrariesError(..)) => {
+                highest_policy = Some(policy.clone());
+                should_repair = true;
+                break;
             }
             Err(AuditWheelError::VersionedSymbolTooNewError(..))
             | Err(AuditWheelError::BlackListedSymbolsError(..))
@@ -340,14 +334,9 @@
                 should_repair = false;
                 Ok(policy)
             }
-            Err(err @ AuditWheelError::LinksForbiddenLibrariesError(..)) => {
-                // TODO: support repair for cross compiled wheels
-                if !cross_compiling {
-                    should_repair = true;
-                    Ok(policy)
-                } else {
-                    Err(err)
-                }
+            Err(AuditWheelError::LinksForbiddenLibrariesError(..)) => {
+                should_repair = true;
+                Ok(policy)
             }
             Err(err) => Err(err),
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/auditwheel/manylinux-policy.json 
new/maturin-0.12.6/src/auditwheel/manylinux-policy.json
--- old/maturin-0.12.5/src/auditwheel/manylinux-policy.json     2021-12-20 
15:05:12.000000000 +0100
+++ new/maturin-0.12.6/src/auditwheel/manylinux-policy.json     2021-12-31 
17:19:56.000000000 +0100
@@ -260,5 +260,126 @@
      ],
      "blacklist": {
        "libz.so.1": ["_dist_code", "_length_code", "_tr_align", 
"_tr_flush_block", "_tr_init", "_tr_stored_block", "_tr_tally", "bi_windup", 
"crc32_vpmsum", "crc_fold_512to32", "crc_fold_copy", "crc_fold_init", 
"deflate_copyright", "deflate_medium", "fill_window", "flush_pending", 
"gzflags", "inflate_copyright", "inflate_fast", "inflate_table", 
"longest_match", "slide_hash_sse", "static_ltree", "uncompress2", 
"x86_check_features", "x86_cpu_has_pclmul", "x86_cpu_has_sse2", 
"x86_cpu_has_sse42", "z_errmsg", "zcalloc", "zcfree"]
-      }}
+     }},
+    {"name": "manylinux_2_28",
+     "aliases": [],
+     "priority": 64,
+     "symbol_versions": {
+       "i686": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "FLOAT128", "TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "4.0.0", "4.2.0", 
"4.3.0", "4.4.0", "4.5.0", "4.7.0", "4.8.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.1", "2.1.1", "2.1.2", "2.1.3", "2.2", "2.2.1", 
"2.2.2", "2.2.3", "2.2.4", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", 
"2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", 
"2.15", "2.16", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", 
"2.28"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "x86_64": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "FLOAT128", "TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.2.0", "4.3.0", "4.7.0", "4.8.0", "7.0.0"],
+         "GLIBC": ["2.2.5", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", 
"2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", 
"2.15", "2.16", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", 
"2.28"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "aarch64": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.2.0", "4.3.0", "4.5.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", 
"2.26", "2.27", "2.28"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "ppc64le": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "LDBL_1.3", "TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.2.0", "4.3.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", 
"2.26", "2.27", "2.28"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", 
"LDBL_3.4.7"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "s390x": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "LDBL_1.3", "TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.1.0", "4.2.0", "4.3.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.2", "2.2.1", "2.2.2", "2.2.3", "2.2.4", "2.2.6", "2.3", 
"2.3.2", "2.3.3", "2.3.4", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", 
"2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.19", "2.22", 
"2.23", "2.24", "2.25", "2.26", "2.27", "2.28"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", 
"LDBL_3.4.7"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "armv7l": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "ARM_1.3.3", "TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.3.4", "3.4", "3.4.2", "3.5", 
"4.0.0", "4.2.0", "4.3.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", 
"2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.22", "2.23", 
"2.24", "2.25", "2.26", "2.27", "2.28"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       }},
+      "lib_whitelist": [
+        "libgcc_s.so.1",
+        "libstdc++.so.6",
+        "libm.so.6", "libdl.so.2", "librt.so.1",
+        "libc.so.6", "libnsl.so.1", "libutil.so.1", "libpthread.so.0",
+        "libX11.so.6", "libXext.so.6", "libXrender.so.1", "libICE.so.6",
+        "libSM.so.6", "libGL.so.1", "libgobject-2.0.so.0",
+        "libgthread-2.0.so.0", "libglib-2.0.so.0", "libresolv.so.2",
+        "libexpat.so.1",
+        "libz.so.1"
+      ],
+      "blacklist": {
+        "libz.so.1": ["_dist_code", "_length_code", "_tr_align", 
"_tr_flush_block", "_tr_init", "_tr_stored_block", "_tr_tally", "bi_windup", 
"crc32_vpmsum", "crc_fold_512to32", "crc_fold_copy", "crc_fold_init", 
"deflate_copyright", "deflate_medium", "fill_window", "flush_pending", 
"gzflags", "inflate_copyright", "inflate_fast", "inflate_table", 
"longest_match", "slide_hash_sse", "static_ltree", "uncompress2", 
"x86_check_features", "x86_cpu_has_pclmul", "x86_cpu_has_sse2", 
"x86_cpu_has_sse42", "z_errmsg", "zcalloc", "zcfree"]
+      }},
+    {"name": "manylinux_2_31",
+     "aliases": [],
+     "priority": 61,
+     "symbol_versions": {
+       "i686": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "FLOAT128", 
"TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "4.0.0", "4.2.0", 
"4.3.0", "4.4.0", "4.5.0", "4.7.0", "4.8.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.1", "2.1.1", "2.1.2", "2.1.3", "2.2", "2.2.1", 
"2.2.2", "2.2.3", "2.2.4", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", 
"2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", 
"2.15", "2.16", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", 
"2.28", "2.29", "2.30", "2.31"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "x86_64": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "FLOAT128", 
"TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.2.0", "4.3.0", "4.7.0", "4.8.0", "7.0.0"],
+         "GLIBC": ["2.2.5", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", 
"2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", 
"2.15", "2.16", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", "2.26", "2.27", 
"2.28", "2.29", "2.30", "2.31"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "aarch64": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.2.0", "4.3.0", "4.5.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", 
"2.26", "2.27", "2.28", "2.29", "2.30", "2.31"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "ppc64le": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "LDBL_1.3", 
"TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.2.0", "4.3.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.17", "2.18", "2.22", "2.23", "2.24", "2.25", 
"2.26", "2.27", "2.28", "2.29", "2.30", "2.31"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", 
"LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", "LDBL_3.4.7"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "s390x": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "LDBL_1.3", 
"TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "3.4.4", "4.0.0", 
"4.1.0", "4.2.0", "4.3.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.2", "2.2.1", "2.2.2", "2.2.3", "2.2.4", "2.2.6", "2.3", 
"2.3.2", "2.3.3", "2.3.4", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", 
"2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.19", "2.22", 
"2.23", "2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28", 
"LDBL_3.4", "LDBL_3.4.10", "LDBL_3.4.21", "LDBL_3.4.7"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       },
+       "armv7l": {
+         "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3", "1.3.4", "1.3.5", 
"1.3.6", "1.3.7", "1.3.8", "1.3.9", "1.3.10", "1.3.11", "1.3.12", "ARM_1.3.3", 
"TM_1"],
+         "GCC": ["3.0", "3.3", "3.3.1", "3.3.4", "3.4", "3.4.2", "3.5", 
"4.0.0", "4.2.0", "4.3.0", "4.7.0", "7.0.0"],
+         "GLIBC": ["2.0", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", 
"2.11", "2.12", "2.13", "2.14", "2.15", "2.16", "2.17", "2.18", "2.22", "2.23", 
"2.24", "2.25", "2.26", "2.27", "2.28", "2.29", "2.30", "2.31"],
+         "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", 
"3.4.6", "3.4.7", "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13", 
"3.4.14", "3.4.15", "3.4.16", "3.4.17", "3.4.18", "3.4.19", "3.4.20", "3.4.21", 
"3.4.22", "3.4.23", "3.4.24", "3.4.25", "3.4.26", "3.4.27", "3.4.28"],
+         "ZLIB": ["1.2.0", "1.2.0.2", "1.2.0.8", "1.2.2", "1.2.2.3", 
"1.2.2.4", "1.2.3.3", "1.2.3.4", "1.2.3.5", "1.2.5.1", "1.2.5.2", "1.2.7.1", 
"1.2.9"]
+       }
+     },
+     "lib_whitelist": [
+       "libgcc_s.so.1",
+       "libstdc++.so.6",
+       "libm.so.6", "libdl.so.2", "librt.so.1",
+       "libc.so.6", "libnsl.so.1", "libutil.so.1", "libpthread.so.0",
+       "libX11.so.6", "libXext.so.6", "libXrender.so.1", "libICE.so.6",
+       "libSM.so.6", "libGL.so.1", "libgobject-2.0.so.0",
+       "libgthread-2.0.so.0", "libglib-2.0.so.0", "libresolv.so.2",
+       "libexpat.so.1",
+       "libz.so.1"
+     ],
+     "blacklist": {
+       "libz.so.1": ["_dist_code", "_length_code", "_tr_align", 
"_tr_flush_block", "_tr_init", "_tr_stored_block", "_tr_tally", "bi_windup", 
"crc32_vpmsum", "crc_fold_512to32", "crc_fold_copy", "crc_fold_init", 
"deflate_copyright", "deflate_medium", "fill_window", "flush_pending", 
"gzflags", "inflate_copyright", "inflate_fast", "inflate_table", 
"longest_match", "slide_hash_sse", "static_ltree", "uncompress2", 
"x86_check_features", "x86_cpu_has_pclmul", "x86_cpu_has_sse2", 
"x86_cpu_has_sse42", "z_errmsg", "zcalloc", "zcfree"]
+     }}
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/auditwheel/mod.rs 
new/maturin-0.12.6/src/auditwheel/mod.rs
--- old/maturin-0.12.5/src/auditwheel/mod.rs    2021-12-20 15:05:12.000000000 
+0100
+++ new/maturin-0.12.6/src/auditwheel/mod.rs    2021-12-31 17:19:56.000000000 
+0100
@@ -8,4 +8,4 @@
 pub use audit::*;
 pub use platform_tag::PlatformTag;
 pub use policy::{Policy, MANYLINUX_POLICIES, MUSLLINUX_POLICIES};
-pub use repair::{get_external_libs, hash_file};
+pub use repair::{find_external_libs, hash_file};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/auditwheel/repair.rs 
new/maturin-0.12.6/src/auditwheel/repair.rs
--- old/maturin-0.12.5/src/auditwheel/repair.rs 2021-12-20 15:05:12.000000000 
+0100
+++ new/maturin-0.12.6/src/auditwheel/repair.rs 2021-12-31 17:19:56.000000000 
+0100
@@ -5,13 +5,14 @@
 use lddtree::DependencyAnalyzer;
 use sha2::{Digest, Sha256};
 use std::io;
-use std::path::Path;
+use std::path::{Path, PathBuf};
 
-pub fn get_external_libs(
+pub fn find_external_libs(
     artifact: impl AsRef<Path>,
     policy: &Policy,
+    sysroot: PathBuf,
 ) -> Result<Vec<lddtree::Library>, AuditWheelError> {
-    let dep_analyzer = DependencyAnalyzer::new();
+    let dep_analyzer = DependencyAnalyzer::new(sysroot);
     let deps = dep_analyzer.analyze(artifact).unwrap();
     let mut ext_libs = Vec::new();
     for (name, lib) in deps.libraries {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/build_context.rs 
new/maturin-0.12.6/src/build_context.rs
--- old/maturin-0.12.5/src/build_context.rs     2021-12-20 15:05:12.000000000 
+0100
+++ new/maturin-0.12.6/src/build_context.rs     2021-12-31 17:19:56.000000000 
+0100
@@ -1,5 +1,5 @@
 use crate::auditwheel::{
-    auditwheel_rs, get_external_libs, hash_file, patchelf, PlatformTag, Policy,
+    auditwheel_rs, find_external_libs, hash_file, patchelf, PlatformTag, 
Policy,
 };
 use crate::compile::warn_missing_py_init;
 use crate::module_writer::{
@@ -15,6 +15,7 @@
 use std::borrow::Cow;
 use std::collections::HashMap;
 use std::path::{Path, PathBuf};
+use std::process::{Command, Stdio};
 
 /// The way the rust code is used in the wheel
 #[derive(Clone, Debug, PartialEq, Eq)]
@@ -272,7 +273,8 @@
                 }
             })?;
         let external_libs = if should_repair && !self.editable {
-            get_external_libs(&artifact, &policy).with_context(|| {
+            let sysroot = get_sysroot_path(&self.target)?;
+            find_external_libs(&artifact, &policy, sysroot).with_context(|| {
                 if let Some(platform_tag) = platform_tag {
                     format!("Error repairing wheel for {} compliance", 
platform_tag)
                 } else {
@@ -301,6 +303,7 @@
 
         let temp_dir = tempfile::tempdir()?;
         let mut soname_map = HashMap::new();
+        let mut libs_copied = Vec::new();
         for lib in ext_libs {
             let lib_path = lib.realpath.clone().with_context(|| {
                 format!(
@@ -308,6 +311,7 @@
                     lib.path.display()
                 )
             })?;
+            // Generate a new soname with a short hash
             let short_hash = &hash_file(&lib_path)?[..8];
             let (file_stem, file_ext) = lib.name.split_once('.').unwrap();
             let new_soname = if !file_stem.ends_with(&format!("-{}", 
short_hash)) {
@@ -315,8 +319,13 @@
             } else {
                 format!("{}.{}", file_stem, file_ext)
             };
+
+            // Copy the original lib to a tmpdir and modify some of its 
properties
+            // for example soname and rpath
             let dest_path = temp_dir.path().join(&new_soname);
             fs::copy(&lib_path, &dest_path)?;
+            libs_copied.push(lib_path);
+
             patchelf::set_soname(&dest_path, &new_soname)?;
             if !lib.rpath.is_empty() || !lib.runpath.is_empty() {
                 patchelf::set_rpath(&dest_path, &libs_dir)?;
@@ -342,6 +351,14 @@
             writer.add_file_with_permissions(libs_dir.join(new_soname), path, 
0o755)?;
         }
 
+        println!(
+            "????  Copied external shared libraries to package {} directory:",
+            libs_dir.display()
+        );
+        for lib_path in libs_copied {
+            println!("    {}", lib_path.display());
+        }
+
         // Currently artifact .so file always resides at 
${module_name}/${module_name}.so
         let artifact_dir = Path::new(&self.module_name);
         let old_rpaths = patchelf::get_rpath(artifact)?;
@@ -685,6 +702,50 @@
     result
 }
 
+/// Get sysroot path from target C compiler
+///
+/// Currently only gcc is supported, clang doesn't have a `--print-sysroot` 
option
+/// TODO: allow specify sysroot from environment variable?
+fn get_sysroot_path(target: &Target) -> Result<PathBuf> {
+    use crate::target::get_host_target;
+
+    let host_triple = get_host_target()?;
+    let target_triple = target.target_triple();
+    if host_triple != target_triple {
+        let mut build = cc::Build::new();
+        build
+            // Suppress cargo metadata for example env vars printing
+            .cargo_metadata(false)
+            // opt_level, host and target are required
+            .opt_level(0)
+            .host(&host_triple)
+            .target(target_triple);
+        let compiler = build
+            .try_get_compiler()
+            .with_context(|| format!("Failed to get compiler for {}", 
target_triple))?;
+        let path = compiler.path();
+        let out = Command::new(path)
+            .arg("--print-sysroot")
+            .stdout(Stdio::piped())
+            .stderr(Stdio::null())
+            .output()
+            .with_context(|| format!("Failed to run `{} --print-sysroot`", 
path.display()))?;
+        if out.status.success() {
+            let sysroot = String::from_utf8(out.stdout)
+                .context("Failed to read the sysroot path")?
+                .trim()
+                .to_owned();
+            return Ok(PathBuf::from(sysroot));
+        } else {
+            bail!(
+                "Failed to get the sysroot path: {}",
+                String::from_utf8(out.stderr)?
+            );
+        }
+    }
+    Ok(PathBuf::from("/"))
+}
+
 #[cfg(test)]
 mod test {
     use super::relpath;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/develop.rs 
new/maturin-0.12.6/src/develop.rs
--- old/maturin-0.12.5/src/develop.rs   2021-12-20 15:05:12.000000000 +0100
+++ new/maturin-0.12.6/src/develop.rs   2021-12-31 17:19:56.000000000 +0100
@@ -6,6 +6,7 @@
 use std::path::Path;
 use std::process::Command;
 use std::str;
+use tempfile::TempDir;
 
 /// Installs a crate by compiling it and copying the shared library to 
site-packages.
 /// Also adds the dist-info directory to make sure pip and other tools detect 
the library
@@ -23,15 +24,16 @@
     extras: Vec<String>,
 ) -> Result<()> {
     let target = Target::from_target_triple(None)?;
-
     let python = target.get_venv_python(&venv_dir);
+    // Store wheel in a unique location so we don't get name clashes with 
parallel runs
+    let wheel_dir = TempDir::new().context("Failed to create temporary 
directory")?;
 
     let build_options = BuildOptions {
         platform_tag: Some(PlatformTag::Linux),
         interpreter: Some(vec![python.clone()]),
         bindings,
         manifest_path: manifest_file.to_path_buf(),
-        out: None,
+        out: Some(wheel_dir.path().to_path_buf()),
         skip_auditwheel: false,
         target: None,
         cargo_extra_args,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/module_writer.rs 
new/maturin-0.12.6/src/module_writer.rs
--- old/maturin-0.12.5/src/module_writer.rs     2021-12-20 15:05:12.000000000 
+0100
+++ new/maturin-0.12.6/src/module_writer.rs     2021-12-31 17:19:56.000000000 
+0100
@@ -628,6 +628,9 @@
 
             if editable {
                 let target = rust_module.join(&so_filename);
+                // Remove existing so file to avoid triggering SIGSEV in 
running process
+                // See https://github.com/PyO3/maturin/issues/758
+                let _ = fs::remove_file(&target);
                 fs::copy(&artifact, &target).context(format!(
                     "Failed to copy {} to {}",
                     artifact.display(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/maturin-0.12.5/src/target.rs 
new/maturin-0.12.6/src/target.rs
--- old/maturin-0.12.5/src/target.rs    2021-12-20 15:05:12.000000000 +0100
+++ new/maturin-0.12.6/src/target.rs    2021-12-31 17:19:56.000000000 +0100
@@ -300,8 +300,8 @@
         }
     }
 
-    /// Returns the default Manylinux tag for this architecture
-    pub fn get_default_manylinux_tag(&self) -> PlatformTag {
+    /// Returns the oldest possible Manylinux tag for this architecture
+    pub fn get_minimum_manylinux_tag(&self) -> PlatformTag {
         match self.arch {
             Arch::Aarch64 | Arch::Armv7L | Arch::Powerpc64 | Arch::Powerpc64Le 
| Arch::S390X => {
                 PlatformTag::manylinux2014()

++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/python-maturin/vendor.tar.xz 
/work/SRC/openSUSE:Factory/.python-maturin.new.1898/vendor.tar.xz differ: char 
26, line 1

Reply via email to