From bb55416d6844769391476f78aaff25c6b6bee090 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 21 Mar 2023 12:04:06 +0100 Subject: [PATCH 1/8] app-emulation/libvirt: Fix a build failure with LLD 16 With the newest LLD, the libvirt's detection of --version-script= linker argument works no more. Backport the upstream patch that fixes the issue. Since the patch is merged and is going to be contained in the upcoming release, there's no point in adding it to the list of patched in the live ebuild. Append it only into the older versions then. Also, I had to rebase the patch for older version of libvirt, because the patched file (meson.build) looked a bit different and the upstream patch did not apply cleanly. Closes: https://bugs.gentoo.org/902211 Signed-off-by: Michal Privoznik Closes: https://github.com/gentoo/gentoo/pull/30284 Signed-off-by: Sam James --- ...son-Stop-detecting-Wl-version-script.patch | 55 +++++++++++++++++++ ...son-Stop-detecting-Wl-version-script.patch | 53 ++++++++++++++++++ app-emulation/libvirt/libvirt-8.7.0-r1.ebuild | 1 + app-emulation/libvirt/libvirt-8.8.0-r1.ebuild | 1 + app-emulation/libvirt/libvirt-8.9.0-r1.ebuild | 1 + app-emulation/libvirt/libvirt-8.9.0.ebuild | 1 + 6 files changed, 112 insertions(+) create mode 100644 app-emulation/libvirt/files/libvirt-8.7.0-meson-Stop-detecting-Wl-version-script.patch create mode 100644 app-emulation/libvirt/files/libvirt-9.2.0-meson-Stop-detecting-Wl-version-script.patch diff --git a/app-emulation/libvirt/files/libvirt-8.7.0-meson-Stop-detecting-Wl-version-script.patch b/app-emulation/libvirt/files/libvirt-8.7.0-meson-Stop-detecting-Wl-version-script.patch new file mode 100644 index 0000000000000..749e580b4432f --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-8.7.0-meson-Stop-detecting-Wl-version-script.patch @@ -0,0 +1,55 @@ +From ab5ce6ac561b9ef5d97ee8268df048b3432d7b8b Mon Sep 17 00:00:00 2001 +Message-Id: +From: Michal Privoznik +Date: Mon, 20 Mar 2023 13:38:27 +0100 +Subject: [PATCH] meson: Stop detecting -Wl,--version-script= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With its version 16.0, the LLVM's linker turned on +--no-undefined-version by default [1]. This breaks how we detect +--version-script= detection, because at the compile time there's +no library built yet that we can use to make --version-script= +happy. Unfortunately, meson does not provide a way to detect this +either [2]. + +But there's not much sense in detecting the argument either. We +already special case some systems (windows, darwin) and do the +check for others, which are expected to support versioned +symbols, because of ELF. Worst case scenario - the error is +reported during compile time rather than configure time. + +1: https://reviews.llvm.org/D135402 +2: https://github.com/mesonbuild/meson/issues/3047 + +Resolves: https://bugs.gentoo.org/902211 +Signed-off-by: Michal Privoznik +Reviewed-by: Daniel P. Berrangé +(cherry picked from commit 743fdb97c81f38adc6e9b55f402244f7982352f4) +Signed-off-by: Michal Privoznik +--- + meson.build | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index 0b3187ad88..53156329a4 100644 +--- a/meson.build ++++ b/meson.build +@@ -514,12 +514,7 @@ elif host_machine.system() == 'darwin' + # macOS libraries don't support symbol versioning + version_script_flags = '' + else +- test_file = '@0@/src/libvirt_qemu.syms'.format(meson.source_root()) +- if cc.has_link_argument('-Wl,--version-script=@0@'.format(test_file)) +- version_script_flags = '-Wl,--version-script=' +- else +- error('No supported version script link argument found.') +- endif ++ version_script_flags = '-Wl,--version-script=' + endif + + libvirt_flat_namespace = [] +-- +2.39.2 + diff --git a/app-emulation/libvirt/files/libvirt-9.2.0-meson-Stop-detecting-Wl-version-script.patch b/app-emulation/libvirt/files/libvirt-9.2.0-meson-Stop-detecting-Wl-version-script.patch new file mode 100644 index 0000000000000..18b36c92a1496 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-9.2.0-meson-Stop-detecting-Wl-version-script.patch @@ -0,0 +1,53 @@ +From 743fdb97c81f38adc6e9b55f402244f7982352f4 Mon Sep 17 00:00:00 2001 +Message-Id: <743fdb97c81f38adc6e9b55f402244f7982352f4.1679396460.git.mprivozn@redhat.com> +From: Michal Privoznik +Date: Mon, 20 Mar 2023 13:38:27 +0100 +Subject: [PATCH] meson: Stop detecting -Wl,--version-script= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +With its version 16.0, the LLVM's linker turned on +--no-undefined-version by default [1]. This breaks how we detect +--version-script= detection, because at the compile time there's +no library built yet that we can use to make --version-script= +happy. Unfortunately, meson does not provide a way to detect this +either [2]. + +But there's not much sense in detecting the argument either. We +already special case some systems (windows, darwin) and do the +check for others, which are expected to support versioned +symbols, because of ELF. Worst case scenario - the error is +reported during compile time rather than configure time. + +1: https://reviews.llvm.org/D135402 +2: https://github.com/mesonbuild/meson/issues/3047 + +Resolves: https://bugs.gentoo.org/902211 +Signed-off-by: Michal Privoznik +Reviewed-by: Daniel P. Berrangé +--- + meson.build | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index c35823a79a..a0682e8d0b 100644 +--- a/meson.build ++++ b/meson.build +@@ -534,12 +534,7 @@ elif host_machine.system() == 'darwin' + # macOS libraries don't support symbol versioning + version_script_flags = '' + else +- test_file = '@0@/src/libvirt_qemu.syms'.format(meson.project_source_root()) +- if cc.has_link_argument('-Wl,--version-script=@0@'.format(test_file)) +- version_script_flags = '-Wl,--version-script=' +- else +- error('No supported version script link argument found.') +- endif ++ version_script_flags = '-Wl,--version-script=' + endif + + libvirt_flat_namespace = [] +-- +2.39.2 + diff --git a/app-emulation/libvirt/libvirt-8.7.0-r1.ebuild b/app-emulation/libvirt/libvirt-8.7.0-r1.ebuild index 141a8a85fa024..c2a702cad16c4 100644 --- a/app-emulation/libvirt/libvirt-8.7.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-8.7.0-r1.ebuild @@ -137,6 +137,7 @@ PATCHES=( "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch "${FILESDIR}"/${PN}-8.2.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-8.2.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-8.7.0-meson-Stop-detecting-Wl-version-script.patch ) pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-8.8.0-r1.ebuild b/app-emulation/libvirt/libvirt-8.8.0-r1.ebuild index 98dd864b7cb35..1dc8765c85f01 100644 --- a/app-emulation/libvirt/libvirt-8.8.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-8.8.0-r1.ebuild @@ -137,6 +137,7 @@ PATCHES=( "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch "${FILESDIR}"/${PN}-8.2.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-8.2.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-8.7.0-meson-Stop-detecting-Wl-version-script.patch ) pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-8.9.0-r1.ebuild b/app-emulation/libvirt/libvirt-8.9.0-r1.ebuild index bb30f72a02cca..45612ed6d5e9c 100644 --- a/app-emulation/libvirt/libvirt-8.9.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-8.9.0-r1.ebuild @@ -144,6 +144,7 @@ PATCHES=( "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch "${FILESDIR}"/${PN}-8.2.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-8.2.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-9.2.0-meson-Stop-detecting-Wl-version-script.patch ) pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-8.9.0.ebuild b/app-emulation/libvirt/libvirt-8.9.0.ebuild index e03f2c8d386da..c41595583ab42 100644 --- a/app-emulation/libvirt/libvirt-8.9.0.ebuild +++ b/app-emulation/libvirt/libvirt-8.9.0.ebuild @@ -140,6 +140,7 @@ PATCHES=( "${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch "${FILESDIR}"/${PN}-8.2.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-8.2.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-9.2.0-meson-Stop-detecting-Wl-version-script.patch ) pkg_setup() { From 535a2f1d72fa9553b442036e7b6d25054037fa16 Mon Sep 17 00:00:00 2001 From: Kai-Chun Ning Date: Tue, 21 Mar 2023 14:06:17 +0100 Subject: [PATCH 2/8] app-emulation/libirt: fix apparmor path for merge-usr layout Signed-off-by: Kai-Chun Ning Closes: https://github.com/gentoo/gentoo/pull/30286 Signed-off-by: Sam James --- ...libvirt-8.2.0-fix-paths-for-apparmor.patch | 32 +++++++++---------- ....9.0-r1.ebuild => libvirt-8.9.0-r2.ebuild} | 0 2 files changed, 15 insertions(+), 17 deletions(-) rename app-emulation/libvirt/{libvirt-8.9.0-r1.ebuild => libvirt-8.9.0-r2.ebuild} (100%) diff --git a/app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch b/app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch index 5bab5d69856ad..544eb944f9e70 100644 --- a/app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch +++ b/app-emulation/libvirt/files/libvirt-8.2.0-fix-paths-for-apparmor.patch @@ -6,19 +6,11 @@ Subject: [PATCH] libvirt-8.2.0-fix-paths-for-apparmor.patch Signed-off-by: Michal Privoznik --- - src/security/apparmor/libvirt-qemu | 1 + - src/security/apparmor/meson.build | 6 +++--- - ...t-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} | 2 +- - ...elper.local => usr.libexec.libvirt.virt-aa-helper.local} | 0 - 4 files changed, 5 insertions(+), 4 deletions(-) - rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper.in => usr.libexec.libvirt.virt-aa-helper.in} (97%) - rename src/security/apparmor/{usr.lib.libvirt.virt-aa-helper.local => usr.libexec.libvirt.virt-aa-helper.local} (100%) - diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu -index 250ba4ea58..1599289932 100644 +index 44056b5f14..1f0db2cda2 100644 --- a/src/security/apparmor/libvirt-qemu +++ b/src/security/apparmor/libvirt-qemu -@@ -95,6 +95,7 @@ +@@ -96,6 +96,7 @@ /usr/share/sgabios/** r, /usr/share/slof/** r, /usr/share/vgabios/** r, @@ -27,7 +19,7 @@ index 250ba4ea58..1599289932 100644 # pki for libvirt-vnc and libvirt-spice (LP: #901272, #1690140) /etc/pki/CA/ r, diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build -index 990f00b4f3..2a2235c89a 100644 +index 58b4024b85..c77b32665d 100644 --- a/src/security/apparmor/meson.build +++ b/src/security/apparmor/meson.build @@ -1,5 +1,5 @@ @@ -37,7 +29,7 @@ index 990f00b4f3..2a2235c89a 100644 'usr.sbin.libvirtd', 'usr.sbin.virtqemud', 'usr.sbin.virtxend', -@@ -34,7 +34,7 @@ install_data( +@@ -35,7 +35,7 @@ install_data( ) install_data( @@ -48,12 +40,21 @@ index 990f00b4f3..2a2235c89a 100644 + rename: 'usr.libexec.libvirt.virt-aa-helper', ) diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in -similarity index 97% +similarity index 94% rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in -index ff1d46bebe..4f2679de7b 100644 +index ff1d46bebe..6beedde1b1 100644 --- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +++ b/src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.in +@@ -41,7 +41,7 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper { + deny /dev/mapper/* r, + + @libexecdir@/virt-aa-helper mr, +- /{usr/,}sbin/apparmor_parser Ux, ++ /{usr/,}{s,}bin/apparmor_parser Ux, + + @sysconfdir@/apparmor.d/libvirt/* r, + @sysconfdir@/apparmor.d/libvirt/libvirt-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]* rw, @@ -71,5 +71,5 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper { /**.[iI][sS][oO] r, /**/disk{,.*} r, @@ -65,6 +66,3 @@ diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local b/src/se similarity index 100% rename from src/security/apparmor/usr.lib.libvirt.virt-aa-helper.local rename to src/security/apparmor/usr.libexec.libvirt.virt-aa-helper.local --- -2.34.1 - diff --git a/app-emulation/libvirt/libvirt-8.9.0-r1.ebuild b/app-emulation/libvirt/libvirt-8.9.0-r2.ebuild similarity index 100% rename from app-emulation/libvirt/libvirt-8.9.0-r1.ebuild rename to app-emulation/libvirt/libvirt-8.9.0-r2.ebuild From e931db1a60a8369c3a3f65cbb725f3f48fc0f94b Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 21 Mar 2023 19:19:49 +0000 Subject: [PATCH 3/8] dev-java/jaxrs-api: Keyword 2.1.6-r1 arm, #902499 Signed-off-by: Sam James --- dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild b/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild index 0d90ff6057d08..1c3077bda68e3 100644 --- a/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild +++ b/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/rest-${PV}/${PN}" LICENSE="EPL-2.0 GPL-2-with-classpath-exception" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm" DEPEND=" >=virtual/jdk-11:* From 9e44c42ad5f64100b9e3e2cea5d56fa47941f606 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 21 Mar 2023 19:19:51 +0000 Subject: [PATCH 4/8] dev-java/jaxb-runtime: Keyword 2.3.8 arm, #902499 Signed-off-by: Sam James --- dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild b/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild index 33c8c739e864d..0212c9379c879 100644 --- a/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild +++ b/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/jaxb-ri-${PV}-RI/jaxb-ri/runtime/impl" LICENSE="EPL-1.0" SLOT="2" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm" CP_DEPEND=" dev-java/fastinfoset:0 From dde869d9484f4843e15f321d562b69793b79e0b5 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 21 Mar 2023 19:19:52 +0000 Subject: [PATCH 5/8] dev-java/txw2: Keyword 2.3.8 arm, #902499 Signed-off-by: Sam James --- dev-java/txw2/txw2-2.3.8.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/txw2/txw2-2.3.8.ebuild b/dev-java/txw2/txw2-2.3.8.ebuild index a31cd740a9dfc..38f335a76b067 100644 --- a/dev-java/txw2/txw2-2.3.8.ebuild +++ b/dev-java/txw2/txw2-2.3.8.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/jaxb-ri-${PV}-RI/jaxb-ri/txw/runtime" LICENSE="EPL-1.0" SLOT="2" -KEYWORDS="~amd64" +KEYWORDS="~amd64 ~arm" DEPEND=">=virtual/jdk-1.8:*" RDEPEND=">=virtual/jre-1.8:*" From ce96e584f697850b3fbfccd337ee836383308fe0 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 21 Mar 2023 19:19:54 +0000 Subject: [PATCH 6/8] dev-java/jaxrs-api: Keyword 2.1.6-r1 ppc64, #902499 Signed-off-by: Sam James --- dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild b/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild index 1c3077bda68e3..5e43db903aad8 100644 --- a/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild +++ b/dev-java/jaxrs-api/jaxrs-api-2.1.6-r1.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/rest-${PV}/${PN}" LICENSE="EPL-2.0 GPL-2-with-classpath-exception" SLOT="0" -KEYWORDS="~amd64 ~arm" +KEYWORDS="~amd64 ~arm ~ppc64" DEPEND=" >=virtual/jdk-11:* From 0598ea5e77444c83b965d7ada87118043879a465 Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 21 Mar 2023 19:19:56 +0000 Subject: [PATCH 7/8] dev-java/jaxb-runtime: Keyword 2.3.8 ppc64, #902499 Signed-off-by: Sam James --- dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild b/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild index 0212c9379c879..c2c5cc4ee6ceb 100644 --- a/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild +++ b/dev-java/jaxb-runtime/jaxb-runtime-2.3.8.ebuild @@ -16,7 +16,7 @@ S="${WORKDIR}/jaxb-ri-${PV}-RI/jaxb-ri/runtime/impl" LICENSE="EPL-1.0" SLOT="2" -KEYWORDS="~amd64 ~arm" +KEYWORDS="~amd64 ~arm ~ppc64" CP_DEPEND=" dev-java/fastinfoset:0 From 6edf64311ff1513ccd884786b239553b5decb23d Mon Sep 17 00:00:00 2001 From: Sam James Date: Tue, 21 Mar 2023 19:19:57 +0000 Subject: [PATCH 8/8] dev-java/txw2: Keyword 2.3.8 ppc64, #902499 Signed-off-by: Sam James --- dev-java/txw2/txw2-2.3.8.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev-java/txw2/txw2-2.3.8.ebuild b/dev-java/txw2/txw2-2.3.8.ebuild index 38f335a76b067..d2ca3f88b993e 100644 --- a/dev-java/txw2/txw2-2.3.8.ebuild +++ b/dev-java/txw2/txw2-2.3.8.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/jaxb-ri-${PV}-RI/jaxb-ri/txw/runtime" LICENSE="EPL-1.0" SLOT="2" -KEYWORDS="~amd64 ~arm" +KEYWORDS="~amd64 ~arm ~ppc64" DEPEND=">=virtual/jdk-1.8:*" RDEPEND=">=virtual/jre-1.8:*"