DEB tdelibs: 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>
pull/287/head
Slávek Banko 9 months ago
parent 3b76f2c9d0
commit 4da2381632
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -28,7 +28,7 @@ Architecture: all
Replaces: kdelibs-trinity (<< 4:14.0.0~)
Breaks: kdelibs-trinity (<< 4:14.0.0~)
Provides: tdelibs
Depends: tdelibs14-trinity (>= ${source:Version}),
Depends: tdelibs14-trinity (>= ${source:Version}) | tdelibs14t64-trinity (>= ${source:Version}),
tdelibs-data-trinity (>= ${source:Version})
Description: core libraries from the official Trinity release
TDE (the Trinity Desktop Environment) is a powerful Open Source graphical

@ -11,9 +11,16 @@ export LD_LIBRARY_PATH
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk
#include /usr/share/cdbs/1/rules/patchsys-quilt.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
version=Debian Package $(DEB_VERSION)
@ -106,3 +113,40 @@ binary-install/tdelibs14-trinity::
mv debian/tmp/opt/trinity/bin/tdecmshell debian/tmp/opt/trinity/bin/tdecmshell.real
install -p -D -m755 debian/tmp/opt/trinity/bin/tdecmshell.real debian/tdelibs14-trinity/opt/trinity/bin/tdecmshell.real
install -p -D -m755 debian/tdecmshell debian/tdelibs14-trinity/opt/trinity/bin/tdecmshell
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/tdelibs14-trinity\." | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/tdelibs14$(DEB_TIME64_SUFFIX)-trinity.$${a##*.} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^\\(Package: tdelibs14\\)-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(tdelibs\\)4c2a-trinity\\( \|$$\)/\\1:\\2\\34c2a-trinity, \\314-trinity\\4/" \
-e "s/\\(tdelibs14\\)-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 "/tdelibs14$(DEB_TIME64_SUFFIX)-trinity\." | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

@ -29,7 +29,7 @@ Architecture: all
Replaces: kdelibs-trinity (<< 4:14.0.0~)
Breaks: kdelibs-trinity (<< 4:14.0.0~)
Provides: tdelibs
Depends: tdelibs14-trinity (>= ${source:Version}),
Depends: tdelibs14-trinity (>= ${source:Version}) | tdelibs14t64-trinity (>= ${source:Version}),
tdelibs-data-trinity (>= ${source:Version})
Description: core libraries from the official Trinity release
TDE (the Trinity Desktop Environment) is a powerful Open Source graphical

@ -11,9 +11,16 @@ export LD_LIBRARY_PATH
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk
#include /usr/share/cdbs/1/rules/patchsys-quilt.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
version=Debian Package $(DEB_VERSION)
@ -179,3 +186,40 @@ binary-install/tdelibs14-trinity::
mv debian/tmp/usr/bin/tdecmshell debian/tmp/usr/bin/tdecmshell.real
install -p -D -m755 debian/tmp/usr/bin/tdecmshell.real debian/tdelibs14-trinity/usr/bin/tdecmshell.real
install -p -D -m755 debian/tdecmshell debian/tdelibs14-trinity/usr/bin/tdecmshell
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/tdelibs14-trinity\." | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/tdelibs14$(DEB_TIME64_SUFFIX)-trinity.$${a##*.} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^\\(Package: tdelibs14\\)-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(tdelibs\\)4c2a-trinity\\( \|$$\)/\\1:\\2\\34c2a-trinity, \\314-trinity\\4/" \
-e "s/\\(tdelibs14\\)-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 "/tdelibs14$(DEB_TIME64_SUFFIX)-trinity\." | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

@ -29,7 +29,7 @@ Replaces: kdelibs-kde3 (<< 4:14.0.0~), kdelibs-trinity (<< 4:14.0.0~)
Breaks: kdelibs-kde3 (<< 4:14.0.0~), kdelibs-trinity (<< 4:14.0.0~)
Provides: tdelibs
Conflicts: tdelibs
Depends: tdelibs14-trinity (>= ${source:Version}),
Depends: tdelibs14-trinity (>= ${source:Version}) | tdelibs14t64-trinity (>= ${source:Version}),
tdelibs-data-trinity (>= ${source:Version})
Description: core libraries from the official Trinity release
TDE (the Trinity Desktop Environment) is a powerful Open Source graphical

@ -13,6 +13,14 @@ 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
version=Debian Package $(DEB_VERSION)
@ -105,3 +113,40 @@ binary-install/tdelibs14-trinity::
mv debian/tmp/opt/trinity/bin/tdecmshell debian/tmp/opt/trinity/bin/tdecmshell.real
install -p -D -m755 debian/tmp/opt/trinity/bin/tdecmshell.real debian/tdelibs14-trinity/opt/trinity/bin/tdecmshell.real
install -p -D -m755 debian/tdecmshell debian/tdelibs14-trinity/opt/trinity/bin/tdecmshell
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/tdelibs14-trinity\." | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/tdelibs14$(DEB_TIME64_SUFFIX)-trinity.$${a##*.} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^\\(Package: tdelibs14\\)-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(tdelibs\\)4c2a-trinity\\( \|$$\)/\\1:\\2\\34c2a-trinity, \\314-trinity\\4/" \
-e "s/\\(tdelibs14\\)-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 "/tdelibs14$(DEB_TIME64_SUFFIX)-trinity\." | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

Loading…
Cancel
Save