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
next prev 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).