summaryrefslogtreecommitdiffstats
path: root/dilos/core/tdepim/debian
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2024-03-12 04:01:46 +0100
committerSlávek Banko <slavek.banko@axis.cz>2024-03-12 04:01:46 +0100
commitf32d6abff0a755187b97e0e26662b1c50e547c53 (patch)
treecc501a41f1c9346f997b3ccba5584ee0b272283a /dilos/core/tdepim/debian
parent06cb6c204aa668f6347e63d022b7b73f3eb42dd7 (diff)
downloadtde-packaging-f32d6abff0a755187b97e0e26662b1c50e547c53.tar.gz
tde-packaging-f32d6abff0a755187b97e0e26662b1c50e547c53.zip
DEB tdepim: 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 'dilos/core/tdepim/debian')
-rw-r--r--dilos/core/tdepim/debian/control2
-rwxr-xr-xdilos/core/tdepim/debian/rules58
2 files changed, 59 insertions, 1 deletions
diff --git a/dilos/core/tdepim/debian/control b/dilos/core/tdepim/debian/control
index 6e411e711..1e08619f1 100644
--- a/dilos/core/tdepim/debian/control
+++ b/dilos/core/tdepim/debian/control
@@ -21,7 +21,7 @@ Section: tde
Architecture: all
Replaces: kdepim-trinity (<< 4:14.0.0~)
Breaks: kdepim-trinity (<< 4:14.0.0~)
-Depends: akregator-trinity (>= ${source:Version}), kaddressbook-trinity (>= ${source:Version}), kalarm-trinity (>= ${source:Version}), kandy-trinity (>= ${source:Version}), karm-trinity (>= ${source:Version}), tdepim-tdefile-plugins-trinity (>= ${source:Version}), tdepim-tdeio-plugins-trinity (>= ${source:Version}), tdepim-tderesources-trinity (>= ${source:Version}), tdepim-wizards-trinity (>= ${source:Version}), kleopatra-trinity (>= ${source:Version}), kmail-trinity (>= ${source:Version}), kmailcvt-trinity (>= ${source:Version}), knode-trinity (>= ${source:Version}), knotes-trinity (>= ${source:Version}), konsolekalendar-trinity (>= ${source:Version}), kontact-trinity (>= ${source:Version}), korganizer-trinity (>= ${source:Version}), korn-trinity (>= ${source:Version}), ktnef-trinity (>= ${source:Version}), libindex0-trinity (>= ${source:Version}), libtdepim1a-trinity (>= ${source:Version}), libkgantt0-trinity (>= ${source:Version}), libkleopatra1-trinity (>= ${source:Version}), libkpimexchange1-trinity (>= ${source:Version}), libkpimidentities1-trinity (>= ${source:Version}), libksieve0-trinity (>= ${source:Version}), libktnef1-trinity (>= ${source:Version}), libmimelib1c2a-trinity (>= ${source:Version})
+Depends: akregator-trinity (>= ${source:Version}), kaddressbook-trinity (>= ${source:Version}), kalarm-trinity (>= ${source:Version}), kandy-trinity (>= ${source:Version}), karm-trinity (>= ${source:Version}), tdepim-tdefile-plugins-trinity (>= ${source:Version}), tdepim-tdeio-plugins-trinity (>= ${source:Version}), tdepim-tderesources-trinity (>= ${source:Version}), tdepim-wizards-trinity (>= ${source:Version}), kleopatra-trinity (>= ${source:Version}), kmail-trinity (>= ${source:Version}), kmailcvt-trinity (>= ${source:Version}), knode-trinity (>= ${source:Version}), knotes-trinity (>= ${source:Version}), konsolekalendar-trinity (>= ${source:Version}), kontact-trinity (>= ${source:Version}), korganizer-trinity (>= ${source:Version}), korn-trinity (>= ${source:Version}), ktnef-trinity (>= ${source:Version}), libindex0-trinity (>= ${source:Version}), libtdepim1a-trinity (>= ${source:Version}), libkgantt0-trinity (>= ${source:Version}), libkleopatra1-trinity (>= ${source:Version}) | libkleopatra1t64-trinity (>= ${source:Version}), libkpimexchange1-trinity (>= ${source:Version}), libkpimidentities1-trinity (>= ${source:Version}), libksieve0-trinity (>= ${source:Version}), libktnef1-trinity (>= ${source:Version}), libmimelib1c2a-trinity (>= ${source:Version}) | libmimelib1t64-trinity (>= ${source:Version})
Suggests: tdepim-trinity-doc-html
Description: Personal Information Management apps from the official Trinity release
TDE (the Trinity Desktop Environment) is a powerful Open Source graphical
diff --git a/dilos/core/tdepim/debian/rules b/dilos/core/tdepim/debian/rules
index 06c6e701d..afc29ebff 100755
--- a/dilos/core/tdepim/debian/rules
+++ b/dilos/core/tdepim/debian/rules
@@ -13,6 +13,13 @@ include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk
include debian/cdbs/debian-tde.mk
+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
+
DEB_KDE_APIDOX := yes
CPPFLAGS+= -D__dilos__
@@ -92,3 +99,54 @@ NEWDEB_SOURCEDIR := $(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION)
DEB_DH_STRIP_ARGS := -Xlibindex.so.0.0.0 -Xlibgpgme++.so.0.4.0 \
-Xlibmimelib.so.1.0.1
+
+post-patches::
+ dh_testdir
+ifeq ($(DEB_TIME64_API),true)
+ # update library package name for TIME64 ABI
+ ls -d debian/* | \
+ grep -E "/libmimelib1c2a" | \
+ grep -v "\.t64$$" | \
+ while read a; do \
+ [ -d $$a ] || [ -f $$a.t64 ] || \
+ (cp -a $$a debian/libmimelib1$(DEB_TIME64_SUFFIX)$${a##*c2a} && mv $$a $$a.t64); \
+ done
+ ls -d debian/* | \
+ grep -E "/libkleopatra1-" | \
+ grep -v "\.t64$$" | \
+ while read a; do \
+ [ -d $$a ] || [ -f $$a.t64 ] || \
+ (cp -a $$a debian/libkleopatra1$(DEB_TIME64_SUFFIX)-$${a##*-} && mv $$a $$a.t64); \
+ done
+ [ -f debian/control.t64 ] || \
+ sed -i.t64 \
+ -e "s/^\\(Package: libmimelib1\\)c2a-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
+ -e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libmimelib1\\)c2a-trinity\\( \|$$\)/\\1:\\2\\3c2a-trinity, \\3$(DEB_TIME64_SUFFIX)-trinity\\4/" \
+ -e "s/\\(libmimelib1\\)c2a-trinity (=/\\1$(DEB_TIME64_SUFFIX)-trinity (=/" \
+ \
+ -e "s/^\\(Package: libkleopatra1\\)-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
+ -e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libkleopatra1\\)-trinity\\( \|$$\)/\\1:\\2\\3-trinity, \\3$(DEB_TIME64_SUFFIX)-trinity\\4/" \
+ -e "s/\\(libkleopatra1\\)-trinity (=/\\1$(DEB_TIME64_SUFFIX)-trinity (=/" \
+ debian/control
+endif
+
+clean::
+ dh_testdir
+ 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 "/libmimelib1$(DEB_TIME64_SUFFIX)-" | \
+ xargs -r rm
+ ls -d debian/* | \
+ grep -E "/libkleopatra1$(DEB_TIME64_SUFFIX)-" | \
+ xargs -r rm
+ [ ! -f debian/control.t64 ] || \
+ mv debian/control.t64 debian/control
+endif