DEB k3b: 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>
(cherry picked from commit 58da7fe89a)
r14.1.x
Slávek Banko 7 months ago
parent 796994c302
commit c9dcbc21dd
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -4,6 +4,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_CMAKE_EXTRA_FLAGS := \
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
-DCMAKE_INSTALL_PREFIX="/opt/trinity" \
@ -14,3 +22,41 @@ DEB_CMAKE_EXTRA_FLAGS := \
-DCMAKE_VERBOSE_MAKEFILE="ON" \
-DCMAKE_SKIP_RPATH="OFF" \
-DWITH_ALL_OPTIONS="ON"
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/libk3b3-trinity\." | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/libk3b3$(DEB_TIME64_SUFFIX)-$${a##*-} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^Package: \\(libk3b3\\)-trinity$$/Package: \\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libk3b3-trinity\\)\\( [^,]*\|$$\)/\\1:\\2\\3/" \
-e "s/\\(libk3b3\\)-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 "/libk3b3$(DEB_TIME64_SUFFIX)-" | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

@ -4,6 +4,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_CMAKE_EXTRA_FLAGS := \
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
-DCMAKE_INSTALL_PREFIX="/opt/trinity" \
@ -14,3 +22,41 @@ DEB_CMAKE_EXTRA_FLAGS := \
-DCMAKE_VERBOSE_MAKEFILE="ON" \
-DCMAKE_SKIP_RPATH="OFF" \
-DWITH_ALL_OPTIONS="ON"
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/libk3b3-trinity\." | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/libk3b3$(DEB_TIME64_SUFFIX)-$${a##*-} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^Package: \\(libk3b3\\)-trinity$$/Package: \\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libk3b3-trinity\\)\\( [^,]*\|$$\)/\\1:\\2\\3/" \
-e "s/\\(libk3b3\\)-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 "/libk3b3$(DEB_TIME64_SUFFIX)-" | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

Loading…
Cancel
Save