pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/57060: Patch for running sysutils/podman on Darwin/aarch64
>Number: 57060
>Category: pkg
>Synopsis: Patch for running sysutils/podman on Darwin/aarch64
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sun Oct 16 18:45:00 +0000 2022
>Originator: MB
>Release: pkgsrc trunk
>Organization:
>Environment:
uname -mrs: Darwin 21.6.0 arm64
>Description:
I installed sysutils/podman to some non-standard prefix with pkgsrc.
The Podman builds do not find the 'edk2-aarch64-code.fd' file and 'gvproxy' is also not found. Podman has some standard Unix / homebrew paths hard-coded, but not the pkgsrc bootstrap prefix (@PREFIX@).
There's a patch against the pkgsrc git (trunk in github.com/netbsd/pkgsrc.git) in the 'fix' section below.
>How-To-Repeat:
build and install sysutils/podman on some apple silicon box with a pkgsrc bootstrapped into a non-standard path (e.g. prefix of '/opt/arm64/')
>Fix:
commit 37bb68922b56ea5b10ccec7585c0a2a99f7af07d
Author: MB <>
Date: Sun Oct 16 20:38:53 2022 +0200
sysutils/podman: fix look-up paths on darwin
Add the pkgsrc prefix to qemu's share directory look-up (otherwise
edk2-aarch64-code.fd is not found), and also to the binary directory
search paths (fixes problem with non-standard pkgsrc prefixes).
diff --git a/sysutils/podman/Makefile b/sysutils/podman/Makefile
index 6b0cb8a37a2..7395a0868b3 100644
--- a/sysutils/podman/Makefile
+++ b/sysutils/podman/Makefile
@@ -25,6 +25,13 @@ SUBST_STAGE.gvproxy= pre-configure
SUBST_MESSAGE.gvproxy= fix PREFIX inside patch
SUBST_VARS.gvproxy= PREFIX
+.if ${OPSYS} == "Darwin"
+SUBST_FILES.gvproxy+= vendor/github.com/containers/common/pkg/config/config_darwin.go
+.endif
+.if !empty(MACHINE_PLATFORM:MDarwin-*-aarch64)
+SUBST_FILES.gvproxy+= pkg/machine/qemu/options_darwin_arm64.go
+.endif
+
CHECK_PORTABILITY_SKIP+= vendor/github.com/containers/buildah/release.sh
.if ${OPSYS} != "Linux"
diff --git a/sysutils/podman/distinfo b/sysutils/podman/distinfo
index c5280be3da6..df190a78096 100644
--- a/sysutils/podman/distinfo
+++ b/sysutils/podman/distinfo
@@ -5,12 +5,14 @@ SHA512 (podman-3.4.4.tar.gz) = cfd295bf50ce86ea70741c3e663b409ed47b1e560c962bc57
Size (podman-3.4.4.tar.gz) = 10945990 bytes
SHA1 (patch-Makefile) = 5671f5452430d4b94af924defbb473eb91732281
SHA1 (patch-cmd_podman_registry_config.go) = 6d32a7526cad5728a385de0029b2bbe5474e7f1b
+SHA1 (patch-pkg_machine_qemu_options__darwin__arm64.go) = 2304dba53ddba7d2228cbdbd77ca3c501d654bef
SHA1 (patch-pkg_machine_qemu_options__netbsd.go) = a256dcafceb70f29b4f7a1ed013b52b5d6b0f4ba
SHA1 (patch-pkg_machine_qemu_options__netbsd__amd64.go) = 7f5e4fe206e6e1d8f8e2cd33c8ac18b614c2dd61
SHA1 (patch-pkg_util_utils__netbsd.go) = 452c7ca070a945cbcc3e703105c1fe0a65eaedc7
SHA1 (patch-utils_utils__supported.go) = 37c999dbf55ff98017d1a4d017d20d576e28d42d
SHA1 (patch-vendor_github.com_containers_buildah_util_util__uint64.go) = 3e8b233c63224e5c2785760342bb42ec064a81a1
SHA1 (patch-vendor_github.com_containers_buildah_util_util__unix.go) = 2073a132dc3bf63436ff29bcd228d960ab3c90d0
+SHA1 (patch-vendor_github.com_containers_common_pkg_config_config__darwin.go) = f164989a794f35981a4fc9abcdb9384a57d1f581
SHA1 (patch-vendor_github.com_containers_common_pkg_config_config__netbsd.go) = 0da82c8c514630fe6afed3041c51869915c3fda8
SHA1 (patch-vendor_github.com_containers_common_pkg_config_util__supported.go) = 3e02f5ee7d0855d46d8318792f620e18f722d259
SHA1 (patch-vendor_github.com_containers_storage_drivers_chroot__unix.go) = c2c625898c7651d24ba842a6654d57dd4a0e4428
diff --git a/sysutils/podman/patches/patch-pkg_machine_qemu_options__darwin__arm64.go b/sysutils/podman/patches/patch-pkg_machine_qemu_options__darwin__arm64.go
new file mode 100644
index 00000000000..eb4e399d97f
--- /dev/null
+++ b/sysutils/podman/patches/patch-pkg_machine_qemu_options__darwin__arm64.go
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- pkg/machine/qemu/options_darwin_arm64.go.orig 2021-12-08 18:41:11.000000000 +0000
++++ pkg/machine/qemu/options_darwin_arm64.go
+@@ -47,6 +47,8 @@ func getEdk2CodeFd(name string) string {
+ dirs := []string{
+ "/usr/local/share/qemu",
+ "/opt/homebrew/share/qemu",
++ // pkgsrc paths
++ "@PREFIX@/share/qemu",
+ }
+ for _, dir := range dirs {
+ fullpath := filepath.Join(dir, name)
diff --git a/sysutils/podman/patches/patch-vendor_github.com_containers_common_pkg_config_config__darwin.go b/sysutils/podman/patches/patch-vendor_github.com_containers_common_pkg_config_config__darwin.go
new file mode 100644
index 00000000000..0dce767bb75
--- /dev/null
+++ b/sysutils/podman/patches/patch-vendor_github.com_containers_common_pkg_config_config__darwin.go
@@ -0,0 +1,11 @@
+$NetBSD$
+
+--- vendor/github.com/containers/common/pkg/config/config_darwin.go.orig 2022-10-15 09:48:55.000000000 +0000
++++ vendor/github.com/containers/common/pkg/config/config_darwin.go
+@@ -27,4 +27,6 @@ var defaultHelperBinariesDir = []string{
+ "/usr/local/lib/podman",
+ "/usr/libexec/podman",
+ "/usr/lib/podman",
++ // pkgsrc paths
++ "@PREFIX@/bin",
+ }
Home |
Main Index |
Thread Index |
Old Index