summaryrefslogtreecommitdiffstats
path: root/ubuntu
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2024-03-06 02:12:06 +0100
committerSlávek Banko <slavek.banko@axis.cz>2024-03-06 10:38:12 +0100
commit5c660d4f018675f2395bc010a5c9f2f5b2b63fbc (patch)
tree4c376a44b960f3e421aec7f5ab7712eb11949203 /ubuntu
parentdd638fb71e247042a4b25096bb76e177138b1ac6 (diff)
downloadtde-packaging-5c660d4f018675f2395bc010a5c9f2f5b2b63fbc.tar.gz
tde-packaging-5c660d4f018675f2395bc010a5c9f2f5b2b63fbc.zip
DEB tqt3: Change the library package name in case of incompatible ABI for 64-bit time_t.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'ubuntu')
-rwxr-xr-xubuntu/_base/dependencies/tqt3/debian/rules43
1 files changed, 40 insertions, 3 deletions
diff --git a/ubuntu/_base/dependencies/tqt3/debian/rules b/ubuntu/_base/dependencies/tqt3/debian/rules
index 6f488ad1b..36a8cc408 100755
--- a/ubuntu/_base/dependencies/tqt3/debian/rules
+++ b/ubuntu/_base/dependencies/tqt3/debian/rules
@@ -25,6 +25,13 @@ DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+DEB_TIME64_API = $(shell echo | cc $(dpkg-buildflags --get CPPFLAGS) -dM -E -x c++ - | grep -q "_TIME_BITS 64" && echo true || false)
+ifeq ($(DEB_TIME64_API),true)
+DEB_TIME64_SUFFIX = -t64
+else
+DEB_TIME64_SUFFIX =
+endif
+
# Honour "parallel=N" option of DEB_BUILD_OPTIONS. Comment out to
# never build in parallel, regardless of DEB_BUILD_OPTIONS.
DEB_BUILD_PARALLEL ?= true
@@ -44,7 +51,7 @@ endif #hurd
# build variables (directorys)
DEBIAN = $(shell pwd)/debian
-P_LIBS = $(DEBIAN)/libtqt3-mt
+P_LIBS = $(DEBIAN)/libtqt3-mt$(DEB_TIME64_SUFFIX)
P_DOC = $(DEBIAN)/tqt3-doc
P_APPSDEV = $(DEBIAN)/tqt3-apps-dev
P_HEADERS = $(DEBIAN)/libtqt3-headers
@@ -139,6 +146,22 @@ endif
post-patches::
dh_testdir
+ifeq ($(DEB_TIME64_API),true)
+ # update library package name for TIME64 ABI
+ ls -d debian/* | \
+ grep -E "/libtqt3-mt\." | \
+ grep -v "\.t64$$" | \
+ while read a; do \
+ [ -d $$a ] || [ -f $$a.t64 ] || \
+ (cp -a $$a debian/libtqt3-mt$(DEB_TIME64_SUFFIX).$${a##*.} && mv $$a $$a.t64); \
+ done
+ [ -f debian/control.t64 ] || \
+ sed -i.t64 \
+ -e "s/^\\(Package: libtqt3-mt\\)$$/\\1$(DEB_TIME64_SUFFIX)/" \
+ -e "s/^\\(Replaces\\|Breaks\\): \\(libtqt3-mt\\)\\( \|$$\)/\\1: \\2, \\2$(DEB_TIME64_SUFFIX)\\3/" \
+ -e "s/\\(libtqt3-mt\\) (=/\\1$(DEB_TIME64_SUFFIX) (=/" \
+ debian/control
+endif
build build-arch: libqt-thread-stamp
build-indep:
@@ -224,6 +247,20 @@ clean::
dh_clean
+ifeq ($(DEB_TIME64_API),true)
+ # revert library package name for TIME64 ABI
+ ls -d debian/* | \
+ grep -E "\.t64$$" | \
+ while read a; do \
+ mv $$a $${a%.t64}; \
+ done
+ ls -d debian/* | \
+ grep -E "/libtqt3-mt$(DEB_TIME64_SUFFIX)\." | \
+ xargs -r rm
+ [ ! -f debian/control.t64 ] || \
+ mv debian/control.t64 debian/control
+endif
+
install: build
dh_testdir
@@ -423,7 +460,7 @@ binary-arch: build install
dh_link -ptqt3-dev-tools usr/share/tqt3/doc/html usr/share/doc/tqt3-dev-tools/html
# copy README.Debian
- for a in libtqt3-mt-dev libtqt3-mt tqt3-doc; do install -D `pwd`/debian/README.Debian `pwd`/debian/"$$a"/usr/share/doc/"$$a"/README.Debian; done
+ for a in libtqt3-mt-dev libtqt3-mt$(DEB_TIME64_SUFFIX) tqt3-doc; do install -D `pwd`/debian/README.Debian `pwd`/debian/"$$a"/usr/share/doc/"$$a"/README.Debian; done
# install the qmake binary
rm -rf `pwd`/debian/tqt3-dev-tools/usr/bin/tqmake
@@ -460,7 +497,7 @@ binary-arch: build install
dh_makeshlibs -a $(IBASE) -V
dh_installdeb -a $(IBASE)
dh_perl -a $(IBASE)
- dh_shlibdeps -a $(IBASE) -l`pwd`/debian/libtqt3-mt/usr/lib
+ dh_shlibdeps -a $(IBASE) -l`pwd`/debian/libtqt3-mt$(DEB_TIME64_SUFFIX)/usr/lib
# fix shlibdeps madness
for a in `find debian/ -name '*.substvars'`; do cat "$$a" | sed 's/, xlibs (>> 4.1.0)//g' > "$$a".new && mv "$$a.new" "$$a"; done