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
