diff --git a/packages/liblzma/build.sh b/packages/liblzma/build.sh index 2e679f096f..62db071e6f 100644 --- a/packages/liblzma/build.sh +++ b/packages/liblzma/build.sh @@ -3,9 +3,26 @@ TERMUX_PKG_DESCRIPTION="XZ-format compression library" TERMUX_PKG_LICENSE="LGPL-2.1, GPL-2.0, GPL-3.0" TERMUX_PKG_LICENSE_FILE="COPYING, COPYING.GPLv2, COPYING.GPLv3, COPYING.LGPLv2.1" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=5.4.0 +TERMUX_PKG_VERSION=5.4.1 TERMUX_PKG_SRCURL=https://downloads.sourceforge.net/project/lzmautils/xz-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=7471ef5991f690268a8f2be019acec2e0564b7b233ca40035f339fe9a07f830b +TERMUX_PKG_SHA256=e4b0f81582efa155ccf27bb88275254a429d44968e488fc94b806f2a61cd3e22 TERMUX_PKG_BREAKS="liblzma-dev" TERMUX_PKG_REPLACES="liblzma-dev" TERMUX_PKG_ESSENTIAL=true + +termux_step_post_massage() { + # Do not forget to bump revision of reverse dependencies and rebuild them + # after SOVERSION is changed. + local _SOVERSION_GUARD_FILES="lib/liblzma.so.5" + local f + for f in ${_SOVERSION_GUARD_FILES}; do + if [ ! -e "${f}" ]; then + termux_error_exit "SOVERSION guard check failed." + fi + done + + # Check if SONAME is properly set: + if ! readelf -d lib/liblzma.so | grep -q '(SONAME).*\[liblzma\.so\.'; then + termux_error_exit "SONAME of liblzma.so is not properly set." + fi +} diff --git a/packages/liblzma/configure.patch b/packages/liblzma/configure.patch index 2374768c24..3da32cad43 100644 --- a/packages/liblzma/configure.patch +++ b/packages/liblzma/configure.patch @@ -1,3 +1,6 @@ +SOVERSION suffix is needed for SONAME of `liblzma.so` to avoid conflict +with a system one (in /system/lib64 or /system/lib) + diff -uNr xz-5.2.4/configure xz-5.2.4.mod/configure --- xz-5.2.4/configure 2018-04-29 19:01:24.000000000 +0300 +++ xz-5.2.4.mod/configure 2019-05-03 15:50:52.793155366 +0300