Openembedded Core Discussions
 help / color / mirror / Atom feed
* [oe-core][PATCH 1/1] libdnf: allow reproducible binary builds
@ 2020-07-22 20:31 Joe Slater
  2020-07-22 22:01 ` Richard Purdie
  0 siblings, 1 reply; 3+ messages in thread
From: Joe Slater @ 2020-07-22 20:31 UTC (permalink / raw)
  To: openembedded-core; +Cc: joe.slater, randy.macleod

Use a static TESTDATADIR if tests are disabled.  Allow
override of TESTDATADIR if tests are enabled since the
default will be wrong for target builds.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
 .../libdnf/libdnf/enable_test_data_dir_set.patch   | 26 ++++++++++++++++++++++
 meta/recipes-devtools/libdnf/libdnf_0.48.0.bb      |  1 +
 2 files changed, 27 insertions(+)
 create mode 100644 meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch

diff --git a/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch b/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
new file mode 100644
index 0000000..e3784cc
--- /dev/null
+++ b/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
@@ -0,0 +1,26 @@
+libdnf: allow reproducible binary builds
+
+Use a dummy directory for test data if not built WITH_TESTS.  Allow for overriding
+TESTDATADIR, since the default is guaranteed to be wrong for target builds.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -133,7 +133,12 @@ add_definitions(-DG_LOG_DOMAIN=\\"libdnf
+ add_definitions(-D_FILE_OFFSET_BITS=64)
+ 
+ # tests
+-add_definitions(-DTESTDATADIR=\\"${CMAKE_SOURCE_DIR}/data/tests\\")
++if(NOT WITH_TESTS)
++  set(TEST_DATA_DIR "/notests")
++elseif(NOT DEFINED TEST_DATA_DIR)
++  set(TEST_DATA_DIR "${CMAKE_SOURCE_DIR}/data/tests")
++endif()
++add_definitions(-DTESTDATADIR=\\"${TEST_DATA_DIR}\\")
+ 
+ # librhsm
+ if(ENABLE_RHSM_SUPPORT)
diff --git a/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb b/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
index 947b2f2..37991e6 100644
--- a/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
+++ b/meta/recipes-devtools/libdnf/libdnf_0.48.0.bb
@@ -8,6 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
            file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
            file://0001-Add-WITH_TESTS-option.patch \
            file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \
+           file://enable_test_data_dir_set.patch \
            "
 
 SRCREV = "46a28d0cf09277fffc11392e5e362a2eda0d53a8"
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [oe-core][PATCH 1/1] libdnf: allow reproducible binary builds
  2020-07-22 20:31 [oe-core][PATCH 1/1] libdnf: allow reproducible binary builds Joe Slater
@ 2020-07-22 22:01 ` Richard Purdie
  2020-07-23 14:10   ` Joe Slater
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Purdie @ 2020-07-22 22:01 UTC (permalink / raw)
  To: Joe Slater, openembedded-core; +Cc: randy.macleod

On Wed, 2020-07-22 at 13:31 -0700, Joe Slater wrote:
> Use a static TESTDATADIR if tests are disabled.  Allow
> override of TESTDATADIR if tests are enabled since the
> default will be wrong for target builds.
> 
> Signed-off-by: Joe Slater <joe.slater@windriver.com>
> ---
>  .../libdnf/libdnf/enable_test_data_dir_set.patch   | 26 ++++++++++++++++++++++
>  meta/recipes-devtools/libdnf/libdnf_0.48.0.bb      |  1 +
>  2 files changed, 27 insertions(+)
>  create mode 100644 meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
> 
> diff --git a/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch b/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
> new file mode 100644
> index 0000000..e3784cc
> --- /dev/null
> +++ b/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
> @@ -0,0 +1,26 @@
> +libdnf: allow reproducible binary builds
> +
> +Use a dummy directory for test data if not built WITH_TESTS.  Allow for overriding
> +TESTDATADIR, since the default is guaranteed to be wrong for target builds.
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Joe Slater <joe.slater@windriver.com>
> +
> +
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -133,7 +133,12 @@ add_definitions(-DG_LOG_DOMAIN=\\"libdnf
> + add_definitions(-D_FILE_OFFSET_BITS=64)
> + 
> + # tests
> +-add_definitions(-DTESTDATADIR=\\"${CMAKE_SOURCE_DIR}/data/tests\\")
> ++if(NOT WITH_TESTS)
> ++  set(TEST_DATA_DIR "/notests")
> ++elseif(NOT DEFINED TEST_DATA_DIR)
> ++  set(TEST_DATA_DIR "${CMAKE_SOURCE_DIR}/data/tests")
> ++endif()
> ++add_definitions(-DTESTDATADIR=\\"${TEST_DATA_DIR}\\")

Do we need to set a value in the build or do we never enable the tests?

Cheers,

Richard


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [oe-core][PATCH 1/1] libdnf: allow reproducible binary builds
  2020-07-22 22:01 ` Richard Purdie
@ 2020-07-23 14:10   ` Joe Slater
  0 siblings, 0 replies; 3+ messages in thread
From: Joe Slater @ 2020-07-23 14:10 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core@lists.openembedded.org; +Cc: MacLeod, Randy

We never enable the tests, however the "directory" is processed, perhaps by code that is never executed, but the code is built into the library.  Since it is already dealing with a directory that will not exist on the target, I felt it safer just to feed it a "safe" name and let upstream deal with not building the code in the first place.

Joe

-----Original Message-----
From: Richard Purdie <richard.purdie@linuxfoundation.org> 
Sent: Wednesday, July 22, 2020 3:01 PM
To: Slater, Joseph <joe.slater@windriver.com>; openembedded-core@lists.openembedded.org
Cc: MacLeod, Randy <Randy.MacLeod@windriver.com>
Subject: Re: [oe-core][PATCH 1/1] libdnf: allow reproducible binary builds

On Wed, 2020-07-22 at 13:31 -0700, Joe Slater wrote:
> Use a static TESTDATADIR if tests are disabled.  Allow override of 
> TESTDATADIR if tests are enabled since the default will be wrong for 
> target builds.
> 
> Signed-off-by: Joe Slater <joe.slater@windriver.com>
> ---
>  .../libdnf/libdnf/enable_test_data_dir_set.patch   | 26 ++++++++++++++++++++++
>  meta/recipes-devtools/libdnf/libdnf_0.48.0.bb      |  1 +
>  2 files changed, 27 insertions(+)
>  create mode 100644 
> meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
> 
> diff --git 
> a/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch 
> b/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.patch
> new file mode 100644
> index 0000000..e3784cc
> --- /dev/null
> +++ b/meta/recipes-devtools/libdnf/libdnf/enable_test_data_dir_set.pat
> +++ ch
> @@ -0,0 +1,26 @@
> +libdnf: allow reproducible binary builds
> +
> +Use a dummy directory for test data if not built WITH_TESTS.  Allow 
> +for overriding TESTDATADIR, since the default is guaranteed to be wrong for target builds.
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Joe Slater <joe.slater@windriver.com>
> +
> +
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -133,7 +133,12 @@ add_definitions(-DG_LOG_DOMAIN=\\"libdnf
> + add_definitions(-D_FILE_OFFSET_BITS=64)
> + 
> + # tests
> +-add_definitions(-DTESTDATADIR=\\"${CMAKE_SOURCE_DIR}/data/tests\\")
> ++if(NOT WITH_TESTS)
> ++  set(TEST_DATA_DIR "/notests")
> ++elseif(NOT DEFINED TEST_DATA_DIR)
> ++  set(TEST_DATA_DIR "${CMAKE_SOURCE_DIR}/data/tests")
> ++endif()
> ++add_definitions(-DTESTDATADIR=\\"${TEST_DATA_DIR}\\")

Do we need to set a value in the build or do we never enable the tests?

Cheers,

Richard


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-07-23 14:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-22 20:31 [oe-core][PATCH 1/1] libdnf: allow reproducible binary builds Joe Slater
2020-07-22 22:01 ` Richard Purdie
2020-07-23 14:10   ` Joe Slater

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox