* Don't relax versioned shlibs dependencies for snapshot builds and

release versions.
This commit is contained in:
Matthias Klose 2024-09-20 10:10:56 +02:00
parent b7452b1693
commit 826ba80ee2
2 changed files with 28 additions and 20 deletions

4
debian/changelog vendored
View File

@ -4,6 +4,10 @@ llvm-toolchain-19 (1:19.1.0-4) UNRELEASED; urgency=medium
* Adjust the workaround for apt.llvm.org version upgrades
https://github.com/llvm/llvm-project/issues/109276
[ Matthias Klose ]
* Don't relax versioned shlibs dependencies for snapshot builds and
release versions.
-- Matthias Klose <doko@debian.org> Wed, 18 Sep 2024 17:26:29 +0200
llvm-toolchain-19 (1:19.1.0-3) unstable; urgency=medium

44
debian/rules vendored
View File

@ -12,11 +12,12 @@ GXX_VERSIONED_PACKAGE := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o
GXX_VERSIONED_EXECUTABLE := $(shell dpkg -L $(GXX_VERSIONED_PACKAGE) | grep '/usr/bin/g++-[0-9][0-9.]*' | xargs ls -d | tail -n1 )
GCC_VERSION := $(subst /usr/bin/g++-,,$(GXX_VERSIONED_EXECUTABLE))
PKG_VERSION := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
LLVM_EPOCH := 1:
LLVM_VERSION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p")
LLVM_VERSION_FULL := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p")
LLVM_VERSION_MINOR := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:[0-9]+\.([0-9]+)\.[0-9]+.*,\1,p")
LLVM_VERSION_SNAPSHOT := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:(.*),\1,p")
LLVM_VERSION := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:([0-9]+).*,\1,p")
LLVM_VERSION_FULL := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:([0-9.]+)(~|-)(.*),\1,p")
LLVM_VERSION_MINOR := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:[0-9]+\.([0-9]+)\.[0-9]+.*,\1,p")
LLVM_VERSION_SNAPSHOT := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:(.*),\1,p")
ifeq ($(LLVM_VERSION),$(LLVM_VERSION_FULL))
LLVM_VERSION_FULL := $(LLVM_VERSION).0.0
LLVM_VERSION_MINOR := 0
@ -1429,23 +1430,26 @@ endif
rm -rf $(TARGET_BUILD)
# for apt.llvm.org and prerelease versions, we are depending on the
# upstream version. After release, assume that the ABIs don't change
# anymore with the point releases (X.Y.1, Y.Y.2, ...)
LLVM_RELEASE := $(LLVM_EPOCH)$(LLVM_VERSION).$(LLVM_VERSION_MINOR).0
override_dh_makeshlibs:
# for apt.llvm.org
if echo $(LLVM_VERSION_SNAPSHOT)| grep -q "~++"; then \
dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION); \
dh_makeshlibs -pliblldb-$(LLVM_VERSION); \
dh_makeshlibs -plibllvm$(LLVM_VERSION); \
dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION); \
else \
dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) \
'-Vlibclang$(SONAME_EXT)-$(LLVM_VERSION) (>= 1:19.1.0)'; \
dh_makeshlibs -pliblldb-$(LLVM_VERSION) \
'-Vliblldb-$(LLVM_VERSION) (>= 1:19.1.0)'; \
dh_makeshlibs -plibllvm$(LLVM_VERSION) \
'-Vlibllvm$(LLVM_VERSION) (>= 1:19.1.0)'; \
dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) \
'-Vlibomp$(SONAME_OPENMP)-$(LLVM_VERSION) (>= 1:19.1.0)'; \
fi
ifneq (,$(findstring ~,$(PKG_VERSION))
dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION)
dh_makeshlibs -pliblldb-$(LLVM_VERSION)
dh_makeshlibs -plibllvm$(LLVM_VERSION)
dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION)
else
dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) \
'-Vlibclang$(SONAME_EXT)-$(LLVM_VERSION) (>= $(LLVM_RELEASE))'
dh_makeshlibs -pliblldb-$(LLVM_VERSION) \
'-Vliblldb-$(LLVM_VERSION) (>= $(LLVM_RELEASE))'
dh_makeshlibs -plibllvm$(LLVM_VERSION) \
'-Vlibllvm$(LLVM_VERSION) (>= $(LLVM_RELEASE))'
dh_makeshlibs -plibomp$(SONAME_OPENMP)-$(LLVM_VERSION) \
'-Vlibomp$(SONAME_OPENMP)-$(LLVM_VERSION) (>= $(LLVM_RELEASE))'
endif
dh_makeshlibs --remaining-packages -V
override_dh_shlibdeps: