Github messages for voidlinux
 help / color / mirror / Atom feed
From: sgn <sgn@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] verify dependencies between subpkgs
Date: Thu, 17 Aug 2023 06:42:37 +0200	[thread overview]
Message-ID: <20230817044237.Vvw1qQtOqoNVdYJFbbPs90fB8dWEBY4QjfezVa-GndE@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-45504@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1727 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages gen-rt-deps-subpkg
https://github.com/void-linux/void-packages/pull/45504

verify dependencies between subpkgs
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

With those threads on reddit about unable to use libreoffice to generate epub, then a note to revbump libreoffice when poppler is rebuilt.

This solution hopefully is not too stupid.

Expect problem to come:

- A package that would be build multiple time for multiple configuration. (Says `emacs` or `Cataclysm-DDA`), not sure how that would work. We may pick the first package that provides the shared library without SONAME. I don't know.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->
[ci skip][skip ci]

A patch file from https://github.com/void-linux/void-packages/pull/45504.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gen-rt-deps-subpkg-45504.patch --]
[-- Type: text/x-diff, Size: 31585 bytes --]

From 0bf9584698de74697f79b0bc02130d751dcc0afc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 8 Aug 2023 13:44:43 +0700
Subject: [PATCH 01/14] hooks: move prepare-32bit and shlib-provides to
 post-install

In a later change, we will generate shlib-depends cross subpkgs during
pre-pkg stage.  Thus we need shlib-provides information of all subpkgs
ready before pre-pkg is run.

Those information can only be read in post-install stage at the
eariliest.

Let's move the shlib-provides to post-install.  This hook requires
prepare-32bit, so, let's move that hook, too.
---
 .../05-prepare-32bit.sh => post-install/80-prepare-32bit.sh}      | 0
 .../06-shlib-provides.sh => post-install/98-shlib-provides.sh}    | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
 rename common/hooks/{pre-pkg/05-prepare-32bit.sh => post-install/80-prepare-32bit.sh} (100%)
 rename common/hooks/{pre-pkg/06-shlib-provides.sh => post-install/98-shlib-provides.sh} (100%)

diff --git a/common/hooks/pre-pkg/05-prepare-32bit.sh b/common/hooks/post-install/80-prepare-32bit.sh
similarity index 100%
rename from common/hooks/pre-pkg/05-prepare-32bit.sh
rename to common/hooks/post-install/80-prepare-32bit.sh
diff --git a/common/hooks/pre-pkg/06-shlib-provides.sh b/common/hooks/post-install/98-shlib-provides.sh
similarity index 100%
rename from common/hooks/pre-pkg/06-shlib-provides.sh
rename to common/hooks/post-install/98-shlib-provides.sh

From 2e4e12221f26ee32ecb8d240f0c17fc5902a212a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 8 Aug 2023 22:08:27 +0700
Subject: [PATCH 02/14] hooks/shlib-provides: record shared libraries without
 SONAME

In a later change, we would like to generate runtime-deps between
sub-packages.

In order to do that, we can add everything into etc/shlibs or we can
look into other subpackages directly.  The former is cumbersome if such
package has lot of shared-objects.  The latter requires traversing and
checking a lot of files.  Furtunately, we can speed up the latter one by
storing all shared-objects' information in a centralised place.
---
 .../hooks/post-install/98-shlib-provides.sh   | 21 +++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/common/hooks/post-install/98-shlib-provides.sh b/common/hooks/post-install/98-shlib-provides.sh
index a09eb6f5c3b33..e9d20e740ae9d 100644
--- a/common/hooks/post-install/98-shlib-provides.sh
+++ b/common/hooks/post-install/98-shlib-provides.sh
@@ -6,19 +6,25 @@ collect_sonames() {
 	local _pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)*$"
 	local _versioned_pattern="^[[:alnum:]]+(.*)+\.so(\.[0-9]+)+$"
 	local _tmpfile=$(mktemp) || exit 1
+	local _mainpkg="$2"
+	local _shlib_dir="${XBPS_STATEDIR}/shlib-provides"
+	local _no_soname=$(mktemp) || exit 1
 
+	mkdir -p "${_shlib_dir}" || exit 1
 	if [ ! -d ${_destdir} ]; then
 		rm -f ${_tmpfile}
+		rm -f ${_no_soname}
 		return 0
 	fi
 
+
 	# real pkg
 	find ${_destdir} -type f -name "*.so*" | while read f; do
 		_fname="${f##*/}"
 		case "$(file -bi "$f")" in
 		application/x-sharedlib*|application/x-pie-executable*)
 			# shared library
-			_soname=$(${OBJDUMP} -p "$f"|grep SONAME|awk '{print $2}')
+			_soname=$(${OBJDUMP} -p "$f"|awk '/SONAME/{print $2}')
 			# Register all versioned sonames, and
 			# unversioned sonames only when in libdir.
 			if [[ ${_soname} =~ ${_versioned_pattern} ]] ||
@@ -27,6 +33,9 @@ collect_sonames() {
 				  -e ${_destdir}/usr/lib32/${_fname} ) ]]; then
 				echo "${_soname}" >> ${_tmpfile}
 				echo "   SONAME ${_soname} from ${f##${_destdir}}"
+			else
+				# register all shared lib for rt-deps between sub-pkg
+				echo "${_fname}" >>${_no_soname}
 			fi
 			;;
 		esac
@@ -38,6 +47,14 @@ collect_sonames() {
 	if [ -s "${_tmpfile}" ]; then
 		tr '\n' ' ' < "${_tmpfile}" > ${_destdir}/shlib-provides
 		echo >> ${_destdir}/shlib-provides
+		if [ "$_mainpkg" ]; then
+			cp "${_tmpfile}" "${_shlib_dir}/${pkgname}.soname"
+		fi
+	fi
+	if [ "$_mainpkg" ] && [ -s "${_no_soname}" ]; then
+		mv "${_no_soname}" "${_shlib_dir}/${pkgname}.nosoname"
+	else
+		rm -f ${_no_soname}
 	fi
 	rm -f ${_tmpfile}
 }
@@ -50,7 +67,7 @@ hook() {
 	fi
 
 	# native pkg
-	collect_sonames ${PKGDESTDIR}
+	collect_sonames ${PKGDESTDIR} yes
 	# 32bit pkg
 	collect_sonames ${_destdir32}
 }

From c028f6cac2baeae59c6a2028c17ad080bb7b9be0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 9 Aug 2023 13:19:01 +0700
Subject: [PATCH 03/14] hooks/gen-rt-deps: Look for rt-deps by subpkg first,
 common/shlibs later

---
 .../hooks/pre-pkg/04-generate-runtime-deps.sh | 80 +++++++------------
 1 file changed, 29 insertions(+), 51 deletions(-)

diff --git a/common/hooks/pre-pkg/04-generate-runtime-deps.sh b/common/hooks/pre-pkg/04-generate-runtime-deps.sh
index a291f2ccc8720..e2020ce05f79f 100644
--- a/common/hooks/pre-pkg/04-generate-runtime-deps.sh
+++ b/common/hooks/pre-pkg/04-generate-runtime-deps.sh
@@ -47,6 +47,7 @@ store_pkgdestdir_rundeps() {
 
 hook() {
     local depsftmp f lf j mapshlibs sorequires _curdep elfmagic broken_shlibs verify_deps
+    local _shlib_dir="${XBPS_STATEDIR}/shlib-provides"
 
     # Disable trap on ERR, xbps-uhelper cmd might return error... but not something
     # to be worried about because if there are broken shlibs this hook returns
@@ -95,65 +96,42 @@ hook() {
     # above, the mapping is done thru the common/shlibs file.
     #
     for f in ${verify_deps}; do
-        unset _f j rdep _rdep rdepcnt soname _pkgname _rdepver found
-        _f=$(echo "$f"|sed -E 's|\+|\\+|g')
-        rdep="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2)"
-        rdepcnt="$(grep -E "^${_f}[[:blank:]]+.*$" $mapshlibs|cut -d ' ' -f2|wc -l)"
-        if [ -z "$rdep" ]; then
+        unset _rdep _pkgname _rdepver
+
+        if [ "$(find ${PKGDESTDIR} -name "$f")" ]; then
             # Ignore libs by current pkg
-            soname=$(find ${PKGDESTDIR} -name "$f")
-            if [ -z "$soname" ]; then
+            echo "   SONAME: $f <-> $pkgname (ignored)"
+            continue
+        # If this library is provided by a subpkg of sourcepkg, use that subpkg
+        elif _pkgname="$(cd "$_shlib_dir" && grep -F -l -x "$f" *.soname 2>/dev/null)"; then
+            # If that library has SONAME, add it to shlibs-requires, too.
+            _pkgname=${_pkgname%.soname}
+            _sdep="${_pkgname}-${version}_${revision}"
+            sorequires+="${f} "
+        elif _pkgname="$(cd "$_shlib_dir" && grep -F -l -x "$f" *.nosoname 2>/dev/null)"; then
+            _pkgname=${_pkgname%.nosoname}
+            _sdep="${_pkgname}-${version}_${revision}"
+        else
+            _rdep="$(awk -v sl="$f" '$1 == sl { print $2; exit; }' "$mapshlibs")"
+
+            if [ -z "$_rdep" ]; then
                 msg_red_nochroot "   SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
                 broken_shlibs=1
-            else
-                echo "   SONAME: $f <-> $pkgname (ignored)"
-            fi
-            continue
-        elif [ "$rdepcnt" -gt 1 ]; then
-            unset j found
-            # Check if shlib is provided by multiple pkgs.
-            for j in ${rdep}; do
-                _pkgname=$($XBPS_UHELPER_CMD getpkgname "$j")
-                # if there's a SONAME matching pkgname, use it.
-                for x in ${pkgname} ${subpackages}; do
-                    [[ $_pkgname == $x ]] && found=1 && break
-                done
-                [[ $found ]] && _rdep=$j && break
-            done
-            if [ -z "${_rdep}" ]; then
-                # otherwise pick up the first one.
-                for j in ${rdep}; do
-                    [ -z "${_rdep}" ] && _rdep=$j
-                done
+                continue
             fi
-        else
-            _rdep=$rdep
-        fi
-        _pkgname=$($XBPS_UHELPER_CMD getpkgname "${_rdep}" 2>/dev/null)
-        _rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null)
-        if [ -z "${_pkgname}" -o -z "${_rdepver}" ]; then
-            msg_red_nochroot "   SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
-            broken_shlibs=1
-            continue
-        fi
-        # Check if pkg is a subpkg of sourcepkg; if true, ignore version
-        # in common/shlibs.
-        _sdep="${_pkgname}>=${_rdepver}"
-        for _subpkg in ${subpackages}; do
-            if [ "${_subpkg}" = "${_pkgname}" ]; then
-                _sdep="${_pkgname}-${version}_${revision}"
-                break
+            _pkgname=$($XBPS_UHELPER_CMD getpkgname "${_rdep}" 2>/dev/null)
+            _rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null)
+            if [ -z "${_pkgname}" -o -z "${_rdepver}" ]; then
+                msg_red_nochroot "   SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
+                broken_shlibs=1
+                continue
             fi
-        done
+            _sdep="${_pkgname}>=${_rdepver}"
 
-        if [ "${_pkgname}" != "${pkgname}" ]; then
-            echo "   SONAME: $f <-> ${_sdep}"
+            # By this point, SONAME can't be found in current pkg
             sorequires+="${f} "
-        else
-            # Ignore libs by current pkg
-            echo "   SONAME: $f <-> ${_rdep} (ignored)"
-            continue
         fi
+        echo "   SONAME: $f <-> ${_sdep}"
         add_rundep "${_sdep}"
     done
     #

From 431689695b95a92bf8588b40dce6a98320a23ed8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Wed, 9 Aug 2023 19:50:06 +0700
Subject: [PATCH 04/14] libreoffice: verify dependencies

---
 srcpkgs/libreoffice-epub     |  1 -
 srcpkgs/libreoffice/template | 27 +++------------------------
 2 files changed, 3 insertions(+), 25 deletions(-)
 delete mode 120000 srcpkgs/libreoffice-epub

diff --git a/srcpkgs/libreoffice-epub b/srcpkgs/libreoffice-epub
deleted file mode 120000
index d5e3a56f35028..0000000000000
--- a/srcpkgs/libreoffice-epub
+++ /dev/null
@@ -1 +0,0 @@
-libreoffice
\ No newline at end of file
diff --git a/srcpkgs/libreoffice/template b/srcpkgs/libreoffice/template
index a5ade73cc1969..709ffe8d7161b 100644
--- a/srcpkgs/libreoffice/template
+++ b/srcpkgs/libreoffice/template
@@ -488,8 +488,9 @@ do_install() {
 
 libreoffice-common_package() {
 	short_desc+=" - Common files"
-	depends="hunspell hyphen mythes openldap libreoffice-i18n-en-US>=${version}_${revision}"
+	depends="libreoffice-i18n-en-US>=${version}_${revision}"
 	skiprdeps=/usr/lib/libreoffice/program/libofficebean.so
+	replaces="libreoffice-epub>=0"
 	pkg_install() {
 		_split common
 	}
@@ -498,7 +499,6 @@ libreoffice-common_package() {
 libreoffice-base_package() {
 	short_desc+=" - Database frontend"
 	depends="libreoffice-writer>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		_split base
 	}
@@ -507,7 +507,6 @@ libreoffice-base_package() {
 libreoffice-calc_package() {
 	short_desc+=" - Spreadsheet"
 	depends="libreoffice-writer>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		_split calc
 	}
@@ -516,7 +515,6 @@ libreoffice-calc_package() {
 libreoffice-draw_package() {
 	short_desc+=" - Drawing application"
 	depends="sane libreoffice-writer>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		_split draw
 	}
@@ -556,8 +554,6 @@ libreoffice-fonts_package() {
 
 libreoffice-gnome_package() {
 	short_desc+=" - GNOME integration"
-	depends="libreoffice-common>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		_split gnome
 	}
@@ -566,7 +562,6 @@ libreoffice-gnome_package() {
 libreoffice-impress_package() {
 	short_desc+=" - Presentation application"
 	depends="libreoffice-writer>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		_split impress
 	}
@@ -574,8 +569,6 @@ libreoffice-impress_package() {
 
 libreoffice-kde_package() {
 	short_desc+=" - KDE integration"
-	depends="libreoffice-common>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		cat > ${wrksrc}/file-lists/kde5_list.txt <<-EOF
 		%dir /usr/lib/libreoffice/program
@@ -593,8 +586,6 @@ libreoffice-kde_package() {
 
 libreoffice-qt6_package() {
 	short_desc+=" - Qt6 integration"
-	depends="libreoffice-common>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		cat > ${wrksrc}/file-lists/qt6_list.txt <<-EOF
 		%dir /usr/lib/libreoffice/program
@@ -615,7 +606,6 @@ libreoffice-kit_package() {
 libreoffice-math_package() {
 	short_desc+=" - Equation editor"
 	depends="libreoffice-writer>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		_split math
 	}
@@ -623,8 +613,7 @@ libreoffice-math_package() {
 
 libreoffice-postgresql_package() {
 	short_desc+=" - Connector for PostgreSQL"
-	depends="libreoffice-base>=${version}_${revision} libreoffice-common>=${version}_${revision}"
-	noverifyrdeps=yes
+	depends="libreoffice-base>=${version}_${revision}"
 	pkg_install() {
 		_split postgresql
 	}
@@ -632,25 +621,15 @@ libreoffice-postgresql_package() {
 
 libreoffice-writer_package() {
 	short_desc+=" - Word processor"
-	depends="libreoffice-common>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		_split writer
 	}
 }
 
-libreoffice-epub_package() {
-	short_desc+=" - EPUB output"
-	build_style=meta
-	depends="libreoffice-common>=${version}_${revision} libepubgen libabw libe-book
-	 libetonyek libwps"
-}
-
 # Use a name which makes this catch-all subpackage the last one
 libreoffice-xtensions_package() {
 	short_desc+=" - Extensions"
 	depends="libreoffice-common>=${version}_${revision}"
-	noverifyrdeps=yes
 	pkg_install() {
 		# Remove empty files
 		find ${DESTDIR}/all -size 0 -delete

From 32ae306e36af7b35df9ff06c1d95606649d77392 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 07:05:45 +0700
Subject: [PATCH 05/14] CLion: verify runtime deps

---
 srcpkgs/CLion/template | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/srcpkgs/CLion/template b/srcpkgs/CLion/template
index f302b7d6798e9..cc924d23fe49c 100644
--- a/srcpkgs/CLion/template
+++ b/srcpkgs/CLion/template
@@ -1,7 +1,7 @@
 # Template file for 'CLion'
 pkgname=CLion
 version=2021.3.4
-revision=1
+revision=2
 archs="x86_64 aarch64"
 depends="jetbrains-jdk-bin giflib libXtst"
 short_desc="Smart cross-platform IDE for C and C++"
@@ -13,8 +13,6 @@ checksum=f3b0b9e0dd0cd4aebef5d424e7a22868c732daad47d6c94f73630cef449ccf78
 repository=nonfree
 restricted=yes
 nopie=yes
-# JetBrains' tools are self-sufficient and while they include code that appears to be linked to libs from other packages, these libs are either included in the tool package, or the code works by looking for one of several supported libs.
-noverifyrdeps=yes
 python_version=3
 
 build_options="bundled_cmake bundled_gdb bundled_lldb"

From 87e5e763633b9368422e9b5b1fe44d08742be625 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 07:07:40 +0700
Subject: [PATCH 06/14] PhpStorm: verify runtime-deps

---
 srcpkgs/PhpStorm/template | 2 --
 1 file changed, 2 deletions(-)

diff --git a/srcpkgs/PhpStorm/template b/srcpkgs/PhpStorm/template
index 306a6c77d0b36..cb84a08e13636 100644
--- a/srcpkgs/PhpStorm/template
+++ b/srcpkgs/PhpStorm/template
@@ -13,8 +13,6 @@ checksum=a23922f5f93bc8df1f2aabbb0f9969e27d28f706c09d18d66d4cc2d56c52ddc9
 repository=nonfree
 restricted=yes
 nopie=yes
-# JetBrains' tools are self-sufficient and while they include code that appears to be linked to libs from other packages, these libs are either included in the tool package, or the code works by looking for one of several supported libs.
-noverifyrdeps=yes
 python_version=3
 
 post_extract() {

From 9d1350cf1142b43f97f44245db0d17e76e6465b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 07:27:35 +0700
Subject: [PATCH 07/14] intellij-idea-ultimate-edition: verify runtime deps

---
 srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg | 2 --
 srcpkgs/intellij-idea-ultimate-edition/template    | 9 ++++-----
 2 files changed, 4 insertions(+), 7 deletions(-)
 delete mode 100644 srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg

diff --git a/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg b/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg
deleted file mode 100644
index c04f6c9ab2a95..0000000000000
--- a/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg
+++ /dev/null
@@ -1,2 +0,0 @@
-IntelliJ Ultimate has the following optional dependencies:
-	libdbusmenu-glib: For global menu support
diff --git a/srcpkgs/intellij-idea-ultimate-edition/template b/srcpkgs/intellij-idea-ultimate-edition/template
index 92ad9135f3a97..00c1186b589f7 100644
--- a/srcpkgs/intellij-idea-ultimate-edition/template
+++ b/srcpkgs/intellij-idea-ultimate-edition/template
@@ -1,10 +1,9 @@
 # Template file for 'intellij-idea-ultimate-edition'
 pkgname=intellij-idea-ultimate-edition
 version=2021.3.3
-revision=1
+revision=2
 archs="i686 x86_64"
-create_wrksrc="true"
-depends="giflib libXtst jetbrains-jdk-bin"
+depends="giflib libXtst jetbrains-jdk-bin lldb-devel"
 short_desc="Most intelligent Java IDE"
 maintainer="Anton Afanasyev <anton@doubleasoftware.com>"
 license="custom:Commercial"
@@ -15,9 +14,9 @@ checksum=2a3295fca08060ad515f6c7198879d09963724cfb36af3ea94f16dcd76636470
 repository=nonfree
 restricted=yes
 nopie=yes
-# JetBrains' tools are self-sufficient and while they include code that appears to be linked to libs from other packages, these libs are either included in the tool package, or the code works by looking for one of several supported libs.
-noverifyrdeps=yes
 python_version=3
+# requires liblldb.so which is unversioned, pulled by lldb-devel
+skiprdeps="/usr/lib/intellij-idea-ultimate-edition/plugins/Kotlin/bin/linux/LLDBFrontend"
 
 do_extract() {
 	bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_filename} --strip-components=1 -C .

From eba70075771329439b0e7e3c1d4d7dd10df2b7c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 09:35:21 +0700
Subject: [PATCH 08/14] mercury: verify runtime deps

---
 srcpkgs/mercury/template | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/srcpkgs/mercury/template b/srcpkgs/mercury/template
index 078da62c329ee..07ab9363960bc 100644
--- a/srcpkgs/mercury/template
+++ b/srcpkgs/mercury/template
@@ -1,9 +1,8 @@
 # Template file for 'mercury'
 pkgname=mercury
 version=22.01.3
-revision=1
+revision=2
 hostmakedepends="flex bison gettext texinfo"
-depends="mercury-libs>=${version}_${revision}"
 short_desc="Logic/Functional Programming Language"
 maintainer="Emily McDonough <emily@alaskanemily.net>"
 license="GPL-2.0-only, custom:LGPL-2.0-only-linking-exception"
@@ -11,7 +10,6 @@ homepage="https://mercurylang.org/"
 distfiles="https://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.xz"
 checksum=4b0783ee9205021e4193b0404fd654e9c6fd288bc9bb7e144b1c1f6cd45dcd2e
 nocross="Mercury cannot be cross-compiled to different architectures"
-noverifyrdeps=yes
 
 CFLAGS="-Wno-array-bounds -fno-tree-slp-vectorize"
 

From 6d6b0d18988a59a6cfe835d9099e128d54315909 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 09:50:16 +0700
Subject: [PATCH 09/14] fixup! hooks/shlib-provides: record shared libraries
 without SONAME

---
 common/hooks/post-install/98-shlib-provides.sh | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/common/hooks/post-install/98-shlib-provides.sh b/common/hooks/post-install/98-shlib-provides.sh
index e9d20e740ae9d..ad1c31c72db05 100644
--- a/common/hooks/post-install/98-shlib-provides.sh
+++ b/common/hooks/post-install/98-shlib-provides.sh
@@ -25,6 +25,11 @@ collect_sonames() {
 		application/x-sharedlib*|application/x-pie-executable*)
 			# shared library
 			_soname=$(${OBJDUMP} -p "$f"|awk '/SONAME/{print $2}')
+			if [ -n "$noshlibprovides" ]; then
+				# register all shared lib for rt-deps between sub-pkg
+				echo "${_fname}" >>${_no_soname}
+				continue
+			fi
 			# Register all versioned sonames, and
 			# unversioned sonames only when in libdir.
 			if [[ ${_soname} =~ ${_versioned_pattern} ]] ||
@@ -62,10 +67,6 @@ collect_sonames() {
 hook() {
 	local _destdir32=${XBPS_DESTDIR}/${pkgname}-32bit-${version}
 
-	if [ -n "$noshlibprovides" ]; then
-		return 0
-	fi
-
 	# native pkg
 	collect_sonames ${PKGDESTDIR} yes
 	# 32bit pkg

From d5e506d519ea9ae87a2ce25794f064e58e795f9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 09:51:57 +0700
Subject: [PATCH 10/14] jetbrains-jdk-bin: verify runtime-deps

---
 srcpkgs/jetbrains-jdk-bin/template | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/srcpkgs/jetbrains-jdk-bin/template b/srcpkgs/jetbrains-jdk-bin/template
index c275199504e8c..79534a1383f51 100644
--- a/srcpkgs/jetbrains-jdk-bin/template
+++ b/srcpkgs/jetbrains-jdk-bin/template
@@ -11,11 +11,7 @@ _jdk_ver=${version%b*}
 _jdk_build=${version#*b}
 distfiles="https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-${_jdk_ver//\./_}-linux-x64-b${_jdk_build}.tar.gz"
 checksum=192bc1c4d877a9035a08db8a4bc9ac98551fa344ec5835f08d455fab66c82fe0
-# This JDK appears to link to libs that do not exist, but functions well even in their absence.
-# Best guess is that they are optional. ¯\_(ツ)_/¯
-noverifyrdeps=yes
 nopie=yes
-noshlibprovides=yes
 
 do_install() {
 	TARGET_PATH="usr/lib/jvm/jbrsdk"

From f24f391c4d3b43e3759fc1388913cdea4612d494 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 10:08:58 +0700
Subject: [PATCH 11/14] protonmail-bridge: verify runtime deps

---
 common/shlibs                      |  1 +
 srcpkgs/protonmail-bridge/template | 13 +++++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 4477d4c879782..311ced37789f5 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2052,6 +2052,7 @@ libQt6LabsSharedImage.so.6 qt6-declarative-6.1.0_1
 libQt6LabsWavefrontMesh.so.6 qt6-declarative-6.1.0_1
 libQt6QmlLocalStorage.so.6 qt6-declarative-6.1.0_1
 libQt6QmlWorkerScript.so.6 qt6-declarative-6.0.0_1
+libQt6QmlXmlListModel.so.6 qt6-declarative-6.5.0_1
 libQt6QuickTest.so.6 qt6-quick-test-6.4.2_1
 libQt6QuickShapes.so.6 qt6-declarative-6.0.0_1
 libQt6QuickWidgets.so.6 qt6-declarative-6.0.0_1
diff --git a/srcpkgs/protonmail-bridge/template b/srcpkgs/protonmail-bridge/template
index 5d1315f6063ca..ff08aee8720d7 100644
--- a/srcpkgs/protonmail-bridge/template
+++ b/srcpkgs/protonmail-bridge/template
@@ -1,7 +1,7 @@
 # Template file for 'protonmail-bridge'
 pkgname=protonmail-bridge
 version=3.3.0
-revision=1
+revision=2
 archs="x86_64"
 create_wrksrc=yes
 depends="desktop-file-utils"
@@ -13,9 +13,18 @@ distfiles="https://proton.me/download/bridge/protonmail-bridge_${version}-1_amd6
 checksum=4541f8aa145097ee171889b0c9d058450d09dc23be10231c83d6659789a27627
 
 restricted=yes
-noverifyrdeps=yes
 nopie=yes
 
 do_install() {
+	rm -f usr/lib/protonmail/bridge/plugins/sqldrivers/libqsqlmysql.so
+	rm -f usr/lib/protonmail/bridge/plugins/sqldrivers/libqsqlodbc.so
+	rm -f usr/lib/protonmail/bridge/plugins/sqldrivers/libqsqlpsql.so
+	rm -rf usr/lib/protonmail/bridge/plugins/designer
+	rm -rf usr/lib/protonmail/bridge/plugins/qmltooling
+	rm -rf usr/lib/protonmail/bridge/qml/QtTest
+	rm -rf usr/lib/protonmail/bridge/qml/Qt/labs
+	rm -rf usr/lib/protonmail/bridge/lib/cmake
+	rm -rf usr/lib/protonmail/bridge/lib/pkgconfig
+	rm -rf usr/lib/protonmail/bridge/lib/*.a
 	vcopy usr /
 }

From a36a0ec7bf5fa6ccff3f5345dcce0a66ac5d9d91 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 10:18:12 +0700
Subject: [PATCH 12/14] teamspeak3: verify runtime deps

---
 srcpkgs/teamspeak3/template | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/teamspeak3/template b/srcpkgs/teamspeak3/template
index 23ca26aeb08e9..bf0dcfd75b642 100644
--- a/srcpkgs/teamspeak3/template
+++ b/srcpkgs/teamspeak3/template
@@ -1,12 +1,10 @@
 # Template file for 'teamspeak3'
 pkgname=teamspeak3
 version=3.5.6
-revision=1
+revision=2
 archs="i686 x86_64"
-create_wrksrc=yes
 hostmakedepends="tar"
-depends="glib bash grep freetype nss libXcomposite fontconfig glibc
- libxslt dbus-libs alsa-lib libXi libXcursor libXtst libXScrnSaver pciutils"
+depends="bash grep"
 short_desc="Popular proprietary voice chat for gaming"
 maintainer="Tai Chi Minh Ralph Eastwood <tcmreastwood@gmail.com>"
 license="custom:Proprietary"
@@ -15,7 +13,6 @@ restricted=yes
 repository="nonfree"
 nopie=yes
 nostrip=yes
-noverifyrdeps=yes
 
 if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
 	_pkg="TeamSpeak3-Client-linux_amd64-${version}"

From a7b08db1c58d84f7e47557aa9ef4f0cfe587a8b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 10:39:42 +0700
Subject: [PATCH 13/14] zoom: verify runtime deps

---
 srcpkgs/zoom/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/zoom/template b/srcpkgs/zoom/template
index 7b026f182ae7d..db3e3288bc05c 100644
--- a/srcpkgs/zoom/template
+++ b/srcpkgs/zoom/template
@@ -1,13 +1,10 @@
 # Template file for 'zoom'
 pkgname=zoom
 version=5.15.3.4839
-revision=1
+revision=2
 archs="x86_64"
 create_wrksrc=yes
-depends="$(vopt_if systemqt 'qt5 qt5-graphicaleffects qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-svg qt5-script qt5-declarative')
- xcb-util-image xcb-util-keysyms glib libXfixes libXtst libgbm libglvnd
- nss atk at-spi2-atk libXcomposite libXdamage libXrandr libxkbcommon pango
- alsa-lib libcups libxshmfence pulseaudio-utils"
+depends="libglvnd pulseaudio-utils"
 short_desc="Video Conferencing and Web Conferencing Service"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:Proprietary"
@@ -16,13 +13,16 @@ distfiles="https://cdn.zoom.us/prod/${version}/zoom_x86_64.rpm"
 checksum=3dc36195400744ceacd025009e88549f7a8481a6964ef3276a4f753764e51ac6
 repository=nonfree
 noshlibprovides=yes
-noverifyrdeps=yes
 restricted=yes
 nopie=yes
 build_options="systemqt"
 desc_option_systemqt="Use system QT libraries"
 
 pre_install() {
+	# rm -rf opt/zoom/Qt/qml/QtQml/RemoteObjects
+	# rm -rf opt/zoom/Qt/qml/Qt/labs
+	# rm -rf opt/zoom/Qt/qml/QtQuick/Scene2D
+	# rm -rf opt/zoom/Qt/qml/QtQuick/Scene3D
 	if [ "${build_option_systemqt}" ]; then
 		rm -f opt/zoom/libQt5*.so{,.*}
 		rm -f opt/zoom/libicu*.so{,.*}

From 314bd5489d2a378d14ad6c674835f8dbd93220dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 17 Aug 2023 11:04:58 +0700
Subject: [PATCH 14/14] common/shlibs: clean up

---
 common/shlibs | 49 -------------------------------------------------
 1 file changed, 49 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 311ced37789f5..f6a8230e3fc4b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -131,13 +131,6 @@ libGL.so.1 libGL-7.11_1
 libEGL.so.1 libEGL-7.11_1
 libGLESv1_CM.so.1 libGLES-1.0_1
 libGLESv2.so.2 libGLES-1.0_1
-libEGL.so rpi-userland-0.0.0.0.20150907_1
-libGLESv2.so rpi-userland-0.0.0.0.20150907_1
-libGLESv2.so opera-55.0.2994.37_2
-libGLESv2.so discord-0.0.7_1
-libGLESv2.so keybase-desktop-3.1.2_1
-libGLESv2.so Signal-Desktop-1.23.2_1
-libGLESv2.so slack-desktop-3.4.2_1
 libbrcmEGL.so rpi-userland-20180103_2
 libbrcmGLESv2.so rpi-userland-20180103_2
 libbrcmOpenVG.so rpi-userland-20180103_2
@@ -1141,7 +1134,6 @@ libgstpbutils-1.0.so.0 gst-plugins-base1-1.0.0_1
 libgstriff-1.0.so.0 gst-plugins-base1-1.0.0_1
 libgstapp-1.0.so.0 gst-plugins-base1-1.0.0_1
 libgstallocators-1.0.so.0 gst-plugins-base1-1.1.1_1
-libgsttranscoder-1.0.so.0 gst-plugins-bad1-1.22.1_1
 libgstphotography-1.0.so.0 gst-plugins-bad1-1.18.3_2
 libgstsignalprocessor-1.0.so.0 gst-plugins-bad1-1.18.3_2
 libgstbasevideo-1.0.so.0 gst-plugins-bad1-1.18.3_2
@@ -1844,30 +1836,6 @@ libawt_xawt.so openjdk11-jre-11.0.5+10_1
 libjava.so openjdk11-jre-11.0.5+10_1
 libjli.so openjdk11-jre-11.0.5+10_1
 libjvm.so openjdk11-jre-11.0.5+10_1
-libjawt.so openjdk7-bootstrap-7u221b02_1
-libawt.so openjdk7-bootstrap-7u221b02_1
-libawt_xawt.so openjdk7-bootstrap-7u221b02_1
-libjava.so openjdk7-bootstrap-7u221b02_1
-libjli.so openjdk7-bootstrap-7u221b02_1
-libjvm.so openjdk7-bootstrap-7u221b02_1
-libjawt.so openjdk9-bootstrap-9.0.4p12_1
-libawt.so openjdk9-bootstrap-9.0.4p12_1
-libawt_xawt.so openjdk9-bootstrap-9.0.4p12_1
-libjava.so openjdk9-bootstrap-9.0.4p12_1
-libjli.so openjdk9-bootstrap-9.0.4p12_1
-libjvm.so openjdk9-bootstrap-9.0.4p12_1
-libjawt.so openjdk10-bootstrap-10.0.2p13_1
-libawt.so openjdk10-bootstrap-10.0.2p13_1
-libawt_xawt.so openjdk10-bootstrap-10.0.2p13_1
-libjava.so openjdk10-bootstrap-10.0.2p13_1
-libjli.so openjdk10-bootstrap-10.0.2p13_1
-libjvm.so openjdk10-bootstrap-10.0.2p13_1
-libjawt.so mandrel-21.1.0.0_1
-libawt.so mandrel-21.1.0.0_1
-libawt_xawt.so mandrel-21.1.0.0_1
-libjava.so mandrel-21.1.0.0_1
-libjli.so mandrel-21.1.0.0_1
-libjvm.so mandrel-21.1.0.0_1
 libucl.so.5 libucl-0.8.1_6
 libhandle.so.1 xfsprogs-3.2.1_1
 libnfnetlink.so.0 libnfnetlink-1.0.1_1
@@ -2642,16 +2610,10 @@ libglyphy.so.0 glyphy-0.0.20160104_1
 libSwiften.so.0 swiften-4.0.3_2
 libfreehand-0.1.so.1 libfreehand-0.1.1_1
 libe-book-0.1.so.1 libe-book-0.1.2_1
-libOsi.so.1 CoinMP-1.8.3_1
-libClp.so.1 CoinMP-1.8.3_1
 libCoinMP.so.1 CoinMP-1.8.3_1
 libOsiCbc.so.3 CoinMP-1.8.3_1
-libCoinUtils.so.3 CoinMP-1.8.3_1
-libClpSolver.so.1 CoinMP-1.8.3_1
 libCgl.so.1 CoinMP-1.8.3_1
-libOsiClp.so.1 CoinMP-1.8.3_1
 libCbc.so.3 CoinMP-1.8.3_1
-libOsiCommonTests.so.1 CoinMP-1.8.3_1
 libCbcSolver.so.3 CoinMP-1.8.3_1
 libmwaw-0.3.so.3 libmwaw-0.3.7_1
 libixion-0.17.so.0 libixion-0.17.0_1
@@ -2675,10 +2637,6 @@ leatherman_curl.so.1.12.4 leatherman-1.12.4_1
 leatherman_dynamic_library.so.1.12.4 leatherman-1.12.4_1
 leatherman_execution.so.1.12.4 leatherman-1.12.4_1
 leatherman_ruby.so.1.12.4 leatherman-1.12.4_1
-libUTF.so opencollada-0.0.20160223_1
-libbuffer.so opencollada-0.0.20160223_1
-libftoa.so opencollada-0.0.20160223_1
-libzlib.so opencollada-1.6.51_1
 libfbclient.so.2 libfbclient3-3.0.4.33054_1
 libipmiutil.so.1 ipmiutil-3.1.3_4
 libqxmpp.so.3 qxmpp-1.2.0_1
@@ -3646,12 +3604,6 @@ libTECkit.so.0 libteckit-2.5.8_1
 libTECkit_Compiler.so.0 libteckit-2.5.8_1
 libwf-config.so.1 wf-config-0.5.0_1
 libQt5Pas.so.1 qt5pas-2.6~beta_1
-libClp.so.1 libClp-1.16.11_1
-libCoinUtils.so.3 libClp-1.16.11_1
-libOsiClp.so.1 libClp-1.16.11_1
-libClpSolver.so.1 libClp-1.16.11_1
-libOsiCommonTests.so.1 libClp-1.16.11_1
-libOsi.so.1 libClp-1.16.11_1
 libOGDF.so libogdf-2018.03_1
 libCOIN.so libogdf-2018.03_1
 librocksdb.so.7 rocksdb-7.4.5_1
@@ -4189,7 +4141,6 @@ libThread.so root-6.24.06_1
 libTMVA.so root-6.24.06_1
 libMathCore.so root-6.24.06_1
 libCore.so root-6.24.06_1
-libCore.so qtcreator-7.0.2_1
 liblowdown.so.3 lowdown-1.0.2_1
 libjaylink.so.0 libjaylink-0.2.0_1
 libnvidia-container.so.1 libnvidia-container-1.10.0_1

  parent reply	other threads:[~2023-08-17  4:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-09 12:58 [PR PATCH] " sgn
2023-08-16 13:05 ` [PR PATCH] [Updated] " sgn
2023-08-16 16:21 ` Duncaen
2023-08-17  0:08 ` [PR PATCH] [Updated] " sgn
2023-08-17  0:15 ` sgn
2023-08-17  4:42 ` sgn [this message]
2023-08-17 11:34 ` [PR PATCH] [Updated] " sgn
2023-08-29  6:18 ` sgn
2023-08-29 15:17 ` sgn
2023-08-30  6:24 ` [PR PATCH] [Merged]: " sgn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230817044237.Vvw1qQtOqoNVdYJFbbPs90fB8dWEBY4QjfezVa-GndE@z \
    --to=sgn@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).