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
+
+- 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 "]
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,
) -> Resultlddtree::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