-
-
Notifications
You must be signed in to change notification settings - Fork 756
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rebuild openssl-sys if the underlying openssl has changed #2157
Conversation
@@ -79,6 +79,9 @@ fn main() { | |||
let target = env::var("TARGET").unwrap(); | |||
|
|||
let (lib_dirs, include_dir) = find_openssl(&target); | |||
if let Some(printable_include) = include_dir.to_str() { | |||
println!("cargo:rerun-if-changed={}", printable_include); | |||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've considered doing something like this before, but I think it's a bit dangerous. With this specific setup, include_dir
will be e.g. /usr/include
on a system-wide install so you'd rebuild any time you updated any system header.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated the PR to use <include>/openssl
`include_dir.join("openssl")`?
…On Tue, Jan 30, 2024, 10:36 AM Steven Fackler ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In openssl-sys/build/main.rs
<#2157 (comment)>
:
> @@ -79,6 +79,9 @@ fn main() {
let target = env::var("TARGET").unwrap();
let (lib_dirs, include_dir) = find_openssl(&target);
+ if let Some(printable_include) = include_dir.to_str() {
+ println!("cargo:rerun-if-changed={}", printable_include);
+ }
I've considered doing something like this before, but I think it's a bit
dangerous. With this specific setup, include_dir will be e.g. /usr/include
on a system-wide install so you'd rebuild any time you updated any system
header.
—
Reply to this email directly, view it on GitHub
<#2157 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBHBB4P5TPA4D3ET2ETYREHQFAVCNFSM6AAAAABCRNKVNWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQNJRGYZTMOJVGI>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
openssl-sys/build/main.rs
Outdated
let mut ossl_include_dir = include_dir.clone(); | ||
ossl_include_dir.push("openssl"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can just be let ossl_include_dir = include_dir.join("openssl");
as far as I can tell
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Not merging until @sfackler reviews)
chore(deps): update compatible [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [annotate-snippets](https://github.com/rust-lang/annotate-snippets-rs) | workspace.dependencies | patch | `0.10.1` -> `0.10.2` | | [anstream](https://github.com/rust-cli/anstyle) | workspace.dependencies | patch | `0.6.11` -> `0.6.13` | | [anyhow](https://github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.79` -> `1.0.80` | | [curl](https://github.com/alexcrichton/curl-rust) | workspace.dependencies | patch | `0.4.44` -> `0.4.46` | | [curl-sys](https://github.com/alexcrichton/curl-rust) | workspace.dependencies | patch | `0.4.71` -> `0.4.72+curl-8` | | [openssl](https://github.com/sfackler/rust-openssl) | workspace.dependencies | patch | `0.10.63` -> `0.10.64` | | [pkg-config](https://github.com/rust-lang/pkg-config-rs) | workspace.dependencies | patch | `0.3.29` -> `0.3.30` | | [semver](https://github.com/dtolnay/semver) | workspace.dependencies | patch | `1.0.21` -> `1.0.22` | | [serde](https://serde.rs) ([source](https://github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.196` -> `1.0.197` | | [serde_json](https://github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.113` -> `1.0.114` | | [snapbox](https://github.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://github.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.5.6` -> `0.5.7` | | [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://github.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.9.0` -> `3.10.1` | | [thiserror](https://github.com/dtolnay/thiserror) | workspace.dependencies | patch | `1.0.56` -> `1.0.57` | | [toml_edit](https://github.com/toml-rs/toml) | workspace.dependencies | patch | `0.22.4` -> `0.22.6` | --- ### Release Notes <details> <summary>rust-lang/annotate-snippets-rs (annotate-snippets)</summary> ### [`v0.10.2`](https://github.com/rust-lang/annotate-snippets-rs/blob/HEAD/CHANGELOG.md#0102---2024-02-29) [Compare Source](https://github.com/rust-lang/annotate-snippets-rs/compare/0.10.1...0.10.2) ##### Added - Added `testing-colors` feature to remove platform-specific colors when testing [#​82](https://github.com/rust-lang/annotate-snippets-rs/pull/82) </details> <details> <summary>rust-cli/anstyle (anstream)</summary> ### [`v0.6.13`](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.12...anstream-v0.6.13) [Compare Source](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.12...anstream-v0.6.13) ### [`v0.6.12`](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.11...anstream-v0.6.12) [Compare Source](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.11...anstream-v0.6.12) </details> <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.80`](https://github.com/dtolnay/anyhow/releases/tag/1.0.80) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.79...1.0.80) - Fix unused_imports warnings when compiled by rustc 1.78 </details> <details> <summary>alexcrichton/curl-rust (curl)</summary> ### [`v0.4.46`](https://github.com/alexcrichton/curl-rust/compare/0.4.45...0.4.46) [Compare Source](https://github.com/alexcrichton/curl-rust/compare/0.4.45...0.4.46) ### [`v0.4.45`](https://github.com/alexcrichton/curl-rust/compare/0.4.44...0.4.45) [Compare Source](https://github.com/alexcrichton/curl-rust/compare/0.4.44...0.4.45) </details> <details> <summary>sfackler/rust-openssl (openssl)</summary> ### [`v0.10.64`](https://github.com/sfackler/rust-openssl/releases/tag/openssl-v0.10.64) [Compare Source](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.63...openssl-v0.10.64) ##### What's Changed - Make \_STACK opaque for LibreSSL >= 3.9.0 by [`@​botovq](https://github.com/botovq)` in [https://github.com/sfackler/rust-openssl/pull/2153](https://github.com/sfackler/rust-openssl/pull/2153) - enable x509 verify and groups list for boringssl by [`@​zh-jq](https://github.com/zh-jq)` in [https://github.com/sfackler/rust-openssl/pull/2155](https://github.com/sfackler/rust-openssl/pull/2155) - Cleanup some not-required Path::new invocations by [`@​alex](https://github.com/alex)` in [https://github.com/sfackler/rust-openssl/pull/2158](https://github.com/sfackler/rust-openssl/pull/2158) - fixed a clippy (nightly) warning by [`@​alex](https://github.com/alex)` in [https://github.com/sfackler/rust-openssl/pull/2161](https://github.com/sfackler/rust-openssl/pull/2161) - Bump actions versions by [`@​alex](https://github.com/alex)` in [https://github.com/sfackler/rust-openssl/pull/2162](https://github.com/sfackler/rust-openssl/pull/2162) - Add support for setting the nonce type and digest on a PKEY_CTX by [`@​facutuesca](https://github.com/facutuesca)` in [https://github.com/sfackler/rust-openssl/pull/2144](https://github.com/sfackler/rust-openssl/pull/2144) - rebuild openssl-sys if the underlying openssl has changed by [`@​reaperhulk](https://github.com/reaperhulk)` in [https://github.com/sfackler/rust-openssl/pull/2157](https://github.com/sfackler/rust-openssl/pull/2157) - Added binding for EVP_default_properties_enable_fips by [`@​alex](https://github.com/alex)` in [https://github.com/sfackler/rust-openssl/pull/2168](https://github.com/sfackler/rust-openssl/pull/2168) - LibreSSL 3.9: fix CRYPTO_malloc/free signatures by [`@​botovq](https://github.com/botovq)` in [https://github.com/sfackler/rust-openssl/pull/2170](https://github.com/sfackler/rust-openssl/pull/2170) - Expose alias on X509 structs by [`@​alex](https://github.com/alex)` in [https://github.com/sfackler/rust-openssl/pull/2167](https://github.com/sfackler/rust-openssl/pull/2167) - bump openssl and openssl-sys + changelogs by [`@​reaperhulk](https://github.com/reaperhulk)` in [https://github.com/sfackler/rust-openssl/pull/2175](https://github.com/sfackler/rust-openssl/pull/2175) **Full Changelog**: sfackler/rust-openssl@openssl-v0.10.63...openssl-v0.10.64 </details> <details> <summary>rust-lang/pkg-config-rs (pkg-config)</summary> ### [`v0.3.30`](https://github.com/rust-lang/pkg-config-rs/blob/HEAD/CHANGELOG.md#0330---2024-02-14) [Compare Source](https://github.com/rust-lang/pkg-config-rs/compare/0.3.29...0.3.30) ##### Changed - Update documentation for cross-compilation ([#​161](https://github.com/rust-lang/pkg-config-rs/issues/161)). - Update GitHub Action CI ([#​160](https://github.com/rust-lang/pkg-config-rs/issues/160)). </details> <details> <summary>dtolnay/semver (semver)</summary> ### [`v1.0.22`](https://github.com/dtolnay/semver/releases/tag/1.0.22) [Compare Source](https://github.com/dtolnay/semver/compare/1.0.21...1.0.22) - Fix unused_imports warnings when compiled by rustc 1.78 </details> <details> <summary>serde-rs/serde (serde)</summary> ### [`v1.0.197`](https://github.com/serde-rs/serde/releases/tag/v1.0.197) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.196...v1.0.197) - Fix unused_imports warnings when compiled by rustc 1.78 - Optimize code size of some Display impls ([#​2697](https://github.com/serde-rs/serde/issues/2697), thanks [`@​nyurik](https://github.com/nyurik))` </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.114`](https://github.com/serde-rs/json/releases/tag/v1.0.114) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.113...v1.0.114) - Fix unused_imports warnings when compiled by rustc 1.78 </details> <details> <summary>assert-rs/trycmd (snapbox)</summary> ### [`v0.5.7`](https://github.com/assert-rs/trycmd/compare/snapbox-v0.5.6...snapbox-v0.5.7) [Compare Source](https://github.com/assert-rs/trycmd/compare/snapbox-v0.5.6...snapbox-v0.5.7) </details> <details> <summary>Stebalien/tempfile (tempfile)</summary> ### [`v3.10.1`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3101) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.10.0...v3.10.1) - Handle potential integer overflows in 32-bit systems when seeking/truncating "spooled" temporary files past 4GiB (2³²). - Handle a theoretical 32-bit overflow when generating a temporary file name larger than 4GiB. Now it'll panic (on allocation failure) rather than silently succeeding due to wraparound. Thanks to [`@​stoeckmann](https://github.com/stoeckmann)` for finding and fixing both of these issues. ### [`v3.10.0`](https://github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3100) [Compare Source](https://github.com/Stebalien/tempfile/compare/v3.9.0...v3.10.0) - Drop `redox_syscall` dependency, we now use `rustix` for Redox. - Add `Builder::permissions` for setting the permissions on temporary files and directories (thanks to [`@​Byron](https://github.com/Byron)).` - Update rustix to 0.38.31. - Update fastrand to 2.0.1. </details> <details> <summary>dtolnay/thiserror (thiserror)</summary> ### [`v1.0.57`](https://github.com/dtolnay/thiserror/releases/tag/1.0.57) [Compare Source](https://github.com/dtolnay/thiserror/compare/1.0.56...1.0.57) - Generate more efficient `Display` impl for error message which do not contain any interpolated value ([#​286](https://github.com/dtolnay/thiserror/issues/286), thanks [`@​nyurik](https://github.com/nyurik))` </details> <details> <summary>toml-rs/toml (toml_edit)</summary> ### [`v0.22.6`](https://github.com/toml-rs/toml/compare/v0.22.5...v0.22.6) [Compare Source](https://github.com/toml-rs/toml/compare/v0.22.5...v0.22.6) ### [`v0.22.5`](https://github.com/toml-rs/toml/compare/v0.22.4...v0.22.5) [Compare Source](https://github.com/toml-rs/toml/compare/v0.22.4...v0.22.5) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjAuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIyMC4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
No description provided.