diff mbox series

[3/4] package/mender-artifact: bump version to 3.9.0

Message ID 20221005212150.1384370-3-aduskett@gmail.com
State Changes Requested
Headers show
Series [1/4] package/mender: bump version to 3.4.0 | expand

Commit Message

Adam Duskett Oct. 5, 2022, 9:21 p.m. UTC
Changes:
New licenses:
  Apache  2.0:
  - vendor/github.com/mendersoftware/openssl/LICENSE

BSD 3 Clause:
  - vendor/golang.org/x/crypto/LICENSE
  - vendor/golang.org/x/time/LICENSE

mender-artifact now requires OpenSSL, and is incompatible with OpenSSL3.
As such, the host-pkgconf and host-libopenssl packages are now dependencies to
prevent linking errors against OpenSSL3 on newer distributions such as
Fedora 35.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
 package/mender-artifact/Config.in.host       |  1 +
 package/mender-artifact/mender-artifact.hash |  7 +++++--
 package/mender-artifact/mender-artifact.mk   | 16 +++++++++++++---
 3 files changed, 19 insertions(+), 5 deletions(-)

Comments

Thomas Petazzoni Oct. 6, 2022, 7:42 p.m. UTC | #1
On Wed,  5 Oct 2022 14:21:49 -0700
Adam Duskett <aduskett@gmail.com> wrote:

> mender-artifact now requires OpenSSL, and is incompatible with OpenSSL3.
> As such, the host-pkgconf and host-libopenssl packages are now dependencies to
> prevent linking errors against OpenSSL3 on newer distributions such as
> Fedora 35.

Even if mender-artifact was compatible with OpenSSL3, it would be a bug
to rely on the system-provided OpenSSL library.

> +# Mender-artifact requires OpenSSL, and is not yet compatible with OpenSSL3.
> +# Mender-artifact also uses pkgconf to find the OpenSSL library.
> +# Use host-pkgconf to force mender-artifact to use Buildroots host-openssl, as
> +# newer distributions, such as Fedora, are starting to use OpenSSL3.
> +HOST_MENDER_ARTIFACT_GO_ENV = \
> +	GOFLAGS="-mod=vendor" \
> +	PKG_CONFIG_PATH="$(HOST_DIR)/lib/pkgconfig"

Why is -mod=vendor needed here?

Also for pkg-config, I would prefer if we were to use the same
variables as defined in HOST_MAKE_ENV (in package/Makefile.in), i.e:

HOST_MAKE_ENV = \
        PATH=$(BR_PATH) \
        PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
        PKG_CONFIG_SYSROOT_DIR="/" \
        PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
        PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
        PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"

Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/mender-artifact/Config.in.host b/package/mender-artifact/Config.in.host
index c7be0ed261..1879b4aa74 100644
--- a/package/mender-artifact/Config.in.host
+++ b/package/mender-artifact/Config.in.host
@@ -1,6 +1,7 @@ 
 config BR2_PACKAGE_HOST_MENDER_ARTIFACT
 	bool "host mender-artifact"
 	depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+	select BR2_PACKAGE_HOST_PKGCONF
 	help
 	  The mender-artifact tool is a CLI implementation of the
 	  Mender artifacts library.
diff --git a/package/mender-artifact/mender-artifact.hash b/package/mender-artifact/mender-artifact.hash
index 8262e26bf0..58a8cc663d 100644
--- a/package/mender-artifact/mender-artifact.hash
+++ b/package/mender-artifact/mender-artifact.hash
@@ -1,6 +1,6 @@ 
 # Locally computed:
-sha256  d3ed68d8637195ff35de97b12c8fa148cebffb1ee0fd0d43909ec1643c0c296a  mender-artifact-3.8.0.tar.gz
-sha256  b8462a14975e30fb0dff14ed50e7563e833ccce13c2aa93f95386ffe877ed673  LIC_FILES_CHKSUM.sha256
+sha256  cb6d4da1bef47b5ddab311ffe5c7331073d6c98f2a8dac29ddced36feac29e5e  mender-artifact-3.9.0.tar.gz
+sha256  5635790313f33aea860583427e8e73792e99c5dfb947d4025c0102011564af50  LIC_FILES_CHKSUM.sha256
 
 # License hash extracted from LIC_FILES_CHKSUM.sha256 using the
 # following command:
@@ -22,6 +22,7 @@  sha256  58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd  vendor
 sha256  73ba74dfaa520b49a401b5d21459a8523a146f3b7518a833eea5efa85130bf68  vendor/github.com/golang/groupcache/LICENSE
 sha256  cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30  vendor/gopkg.in/square/go-jose.v2/LICENSE
 sha256  c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4  vendor/github.com/oklog/run/LICENSE
+sha256  73ba74dfaa520b49a401b5d21459a8523a146f3b7518a833eea5efa85130bf68  vendor/github.com/mendersoftware/openssl/LICENSE
 
 #
 # BSD 2 Clause licenses.
@@ -44,6 +45,8 @@  sha256  fc0a2f71df4e8f047902da53d1f85301be43e0f360fc167057a2d04658ed2ba9  vendor
 sha256  4835612df0098ca95f8e7d9e3bffcb02358d435dbb38057c844c99d7f725eb20  vendor/google.golang.org/protobuf/LICENSE
 sha256  8778a9fc1eaffb03ab873caae251df2d224f6b5502be8777d3cd573a4dd43903  vendor/github.com/golang/protobuf/LICENSE
 sha256  b95218cd9607855a6536384c0262922b30a0c2bf56e4ced790240f3a3bac4722  vendor/github.com/googleapis/gax-go/v2/LICENSE
+sha256  2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067  vendor/golang.org/x/crypto/LICENSE
+sha256  2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067  vendor/golang.org/x/time/LICENSE
 sha256  f69f157b0be75da373605dbc8bbf142e8924ee82d8f44f11bcaf351335bf98cf  vendor/github.com/golang/snappy/LICENSE
 sha256  dd26a7abddd02e2d0aba97805b31f248ef7835d9e10da289b22e3b8ab78b324d  vendor/gopkg.in/square/go-jose.v2/json/LICENSE
 sha256  6a358d2540ca14048f02d366f23787c0a480157e58f058113f0e27168dd4e447  vendor/github.com/pierrec/lz4/LICENSE
diff --git a/package/mender-artifact/mender-artifact.mk b/package/mender-artifact/mender-artifact.mk
index 1031166f34..a5f79ea449 100644
--- a/package/mender-artifact/mender-artifact.mk
+++ b/package/mender-artifact/mender-artifact.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-HOST_MENDER_ARTIFACT_VERSION = 3.8.0
+HOST_MENDER_ARTIFACT_VERSION = 3.9.0
 HOST_MENDER_ARTIFACT_SITE = $(call github,mendersoftware,mender-artifact,$(HOST_MENDER_ARTIFACT_VERSION))
 HOST_MENDER_ARTIFACT_LICENSE = Apache2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, MPL-2.0
 HOST_MENDER_ARTIFACT_LICENSE_FILES = \
@@ -23,6 +23,7 @@  HOST_MENDER_ARTIFACT_LICENSE_FILES = \
 	vendor/github.com/golang/groupcache/LICENSE \
 	vendor/gopkg.in/square/go-jose.v2/LICENSE \
 	vendor/github.com/oklog/run/LICENSE \
+	vendor/github.com/mendersoftware/openssl/LICENSE \
 	vendor/github.com/pkg/errors/LICENSE \
 	vendor/github.com/pmezard/go-difflib/LICENSE \
 	vendor/golang.org/x/sys/LICENSE \
@@ -40,6 +41,8 @@  HOST_MENDER_ARTIFACT_LICENSE_FILES = \
 	vendor/google.golang.org/protobuf/LICENSE \
 	vendor/github.com/golang/protobuf/LICENSE \
 	vendor/github.com/googleapis/gax-go/v2/LICENSE \
+	vendor/golang.org/x/crypto/LICENSE \
+	vendor/golang.org/x/time/LICENSE \
 	vendor/github.com/golang/snappy/LICENSE \
 	vendor/gopkg.in/square/go-jose.v2/json/LICENSE \
 	vendor/github.com/pierrec/lz4/LICENSE \
@@ -84,7 +87,7 @@  HOST_MENDER_ARTIFACT_LICENSE_FILES = \
 	vendor/github.com/hashicorp/go-multierror/LICENSE \
 	vendor/github.com/hashicorp/golang-lru/LICENSE
 
-HOST_MENDER_ARTIFACT_DEPENDENCIES = host-xz
+HOST_MENDER_ARTIFACT_DEPENDENCIES = host-xz host-libopenssl host-pkgconf
 
 # By default, go will attempt to download needed modules before building, which
 # is not desirable. This behavior also causes permission issues when cleaning,
@@ -92,7 +95,14 @@  HOST_MENDER_ARTIFACT_DEPENDENCIES = host-xz
 # includes the modules in the vendor directory, mod=vendor prevents the package
 # from downloading the go modules during the build process and prevents
 # permission issues when cleaning.
-HOST_MENDER_ARTIFACT_GO_ENV = GOFLAGS="-mod=vendor"
+#
+# Mender-artifact requires OpenSSL, and is not yet compatible with OpenSSL3.
+# Mender-artifact also uses pkgconf to find the OpenSSL library.
+# Use host-pkgconf to force mender-artifact to use Buildroots host-openssl, as
+# newer distributions, such as Fedora, are starting to use OpenSSL3.
+HOST_MENDER_ARTIFACT_GO_ENV = \
+	GOFLAGS="-mod=vendor" \
+	PKG_CONFIG_PATH="$(HOST_DIR)/lib/pkgconfig"
 
 HOST_MENDER_ARTIFACT_LDFLAGS = -X github.com/mendersoftware/mender-artifact/cli.Version=$(HOST_MENDER_ARTIFACT_VERSION)