diff mbox series

[meta-python,master] python3-pydantic-core: fix TMPDIR path reference

Message ID 20240808084458.1316-1-debrabander@gmail.com
State Under Review
Headers show
Series [meta-python,master] python3-pydantic-core: fix TMPDIR path reference | expand

Commit Message

Frank de Brabander Aug. 8, 2024, 8:44 a.m. UTC
Backport a new upstream fix to remove the TMPDIR
reference from the rust code.

Signed-off-by: Frank de Brabander <debrabander@gmail.com>
---
 ...Dont-embed-RUSTFLAGS-in-final-binary.patch | 47 +++++++++++++++++++
 .../python/python3-pydantic-core_2.18.4.bb    |  4 +-
 2 files changed, 49 insertions(+), 2 deletions(-)
 create mode 100644 meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch

Comments

Tim Orling Aug. 8, 2024, 4:41 p.m. UTC | #1
I just included this in a new series to upgrade python3-pydantic-core and
python3-pydantic. I'd prefer we take that series instead, so I can stop
churning on this.

However, this patch should be backported to scarthgap. I will work on that
series next.

On Thu, Aug 8, 2024 at 1:45 AM Frank de Brabander via lists.openembedded.org
<debrabander=gmail.com@lists.openembedded.org> wrote:

> Backport a new upstream fix to remove the TMPDIR
> reference from the rust code.
>
> Signed-off-by: Frank de Brabander <debrabander@gmail.com>
> ---
>  ...Dont-embed-RUSTFLAGS-in-final-binary.patch | 47 +++++++++++++++++++
>  .../python/python3-pydantic-core_2.18.4.bb    |  4 +-
>  2 files changed, 49 insertions(+), 2 deletions(-)
>  create mode 100644
> meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
>
> diff --git
> a/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
> b/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
> new file mode 100644
> index 000000000..1c195e294
> --- /dev/null
> +++
> b/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
> @@ -0,0 +1,47 @@
> +From b3282b301096253a11b1f887f915d0a2a2183597 Mon Sep 17 00:00:00 2001
> +From: Frank de Brabander <debrabander@gmail.com>
> +Date: Thu, 8 Aug 2024 08:04:48 +0200
> +Subject: [PATCH] Dont embed RUSTFLAGS in final binary
> +
> +Upstream-Status: Backport [
> https://github.com/pydantic/pydantic-core/commit/e07c41b3bad75948201a2201387225694c2fb501
> ]
> +---
> + build.rs   | 9 +++++++++
> + src/lib.rs | 5 ++++-
> + 2 files changed, 13 insertions(+), 1 deletion(-)
> +
> +diff --git a/build.rs b/build.rs
> +index 7f59e1f..7fe6490 100644
> +--- a/build.rs
> ++++ b/build.rs
> +@@ -35,6 +35,15 @@ fn main() {
> +     if let Some(true) =
> version_check::supports_feature("coverage_attribute") {
> +         println!("cargo:rustc-cfg=has_coverage_attribute");
> +     }
> ++
> ++    if std::env::var("RUSTFLAGS")
> ++        .unwrap_or_default()
> ++        .contains("-Cprofile-use=")
> ++    {
> ++        println!("cargo:rustc-cfg=specified_profile_use");
> ++    }
> ++    println!("cargo:rustc-check-cfg=cfg(specified_profile_use)");
> ++
> +     generate_self_schema();
> +     println!("cargo:rustc-env=PROFILE={}",
> std::env::var("PROFILE").unwrap());
> + }
> +diff --git a/src/lib.rs b/src/lib.rs
> +index d55e836..206a7a1 100644
> +--- a/src/lib.rs
> ++++ b/src/lib.rs
> +@@ -111,7 +111,10 @@ pub fn build_info() -> String {
> +     format!(
> +         "profile={} pgo={}",
> +         env!("PROFILE"),
> +-
> option_env!("RUSTFLAGS").unwrap_or("").contains("-Cprofile-use="),
> ++        // We use a `cfg!` here not `env!`/`option_env!` as those would
> ++        // embed `RUSTFLAGS` into the generated binary which causes
> problems
> ++        // with reproducable builds.
> ++        cfg!(specified_profile_use),
> +     )
> + }
> +
> diff --git a/meta-python/recipes-devtools/python/
> python3-pydantic-core_2.18.4.bb b/meta-python/recipes-devtools/python/
> python3-pydantic-core_2.18.4.bb
> index eb5599199..0ab1873a0 100644
> --- a/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
> +++ b/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
> @@ -8,7 +8,8 @@ HOMEPAGE = "https://github.com/pydantic/pydantic-core"
>  LICENSE = "MIT"
>  LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c"
>
> -SRC_URI +=
> "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch"
> +SRC_URI +=
> "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch \
> +            file://0002-Dont-embed-RUSTFLAGS-in-final-binary.patch"
>  SRC_URI[sha256sum] =
> "ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"
>
>  DEPENDS = "python3-maturin-native python3-typing-extensions"
> @@ -25,7 +26,6 @@ RDEPENDS:${PN} += " \
>  "
>
>  INSANE_SKIP:${PN} = "already-stripped"
> -INSANE_SKIP:${PN} += "buildpaths"
>
>  inherit ptest
>  SRC_URI += "file://run-ptest"
> --
> 2.39.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#111648):
> https://lists.openembedded.org/g/openembedded-devel/message/111648
> Mute This Topic: https://lists.openembedded.org/mt/107786340/924729
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> ticotimo@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch b/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
new file mode 100644
index 000000000..1c195e294
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-pydantic-core/0002-Dont-embed-RUSTFLAGS-in-final-binary.patch
@@ -0,0 +1,47 @@ 
+From b3282b301096253a11b1f887f915d0a2a2183597 Mon Sep 17 00:00:00 2001
+From: Frank de Brabander <debrabander@gmail.com>
+Date: Thu, 8 Aug 2024 08:04:48 +0200
+Subject: [PATCH] Dont embed RUSTFLAGS in final binary
+
+Upstream-Status: Backport [https://github.com/pydantic/pydantic-core/commit/e07c41b3bad75948201a2201387225694c2fb501]
+---
+ build.rs   | 9 +++++++++
+ src/lib.rs | 5 ++++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/build.rs b/build.rs
+index 7f59e1f..7fe6490 100644
+--- a/build.rs
++++ b/build.rs
+@@ -35,6 +35,15 @@ fn main() {
+     if let Some(true) = version_check::supports_feature("coverage_attribute") {
+         println!("cargo:rustc-cfg=has_coverage_attribute");
+     }
++
++    if std::env::var("RUSTFLAGS")
++        .unwrap_or_default()
++        .contains("-Cprofile-use=")
++    {
++        println!("cargo:rustc-cfg=specified_profile_use");
++    }
++    println!("cargo:rustc-check-cfg=cfg(specified_profile_use)");
++
+     generate_self_schema();
+     println!("cargo:rustc-env=PROFILE={}", std::env::var("PROFILE").unwrap());
+ }
+diff --git a/src/lib.rs b/src/lib.rs
+index d55e836..206a7a1 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -111,7 +111,10 @@ pub fn build_info() -> String {
+     format!(
+         "profile={} pgo={}",
+         env!("PROFILE"),
+-        option_env!("RUSTFLAGS").unwrap_or("").contains("-Cprofile-use="),
++        // We use a `cfg!` here not `env!`/`option_env!` as those would
++        // embed `RUSTFLAGS` into the generated binary which causes problems
++        // with reproducable builds.
++        cfg!(specified_profile_use),
+     )
+ }
+ 
diff --git a/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb b/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
index eb5599199..0ab1873a0 100644
--- a/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
+++ b/meta-python/recipes-devtools/python/python3-pydantic-core_2.18.4.bb
@@ -8,7 +8,8 @@  HOMEPAGE = "https://github.com/pydantic/pydantic-core"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c"
 
-SRC_URI += "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch"
+SRC_URI += "file://0001-Set-rust-version-from-1.76-to-1.75-in-Cargo.toml.patch \
+            file://0002-Dont-embed-RUSTFLAGS-in-final-binary.patch"
 SRC_URI[sha256sum] = "ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"
 
 DEPENDS = "python3-maturin-native python3-typing-extensions"
@@ -25,7 +26,6 @@  RDEPENDS:${PN} += " \
 "
 
 INSANE_SKIP:${PN} = "already-stripped"
-INSANE_SKIP:${PN} += "buildpaths"
 
 inherit ptest
 SRC_URI += "file://run-ptest"