DEB arts: 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/284/head
Slávek Banko 9 months ago
parent ccf345e5a0
commit 8f8ece8a19
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -18,7 +18,7 @@ Architecture: all
Section: sound
Replaces: arts-trinity (<< 4:14.0.0~)
Breaks: arts-trinity (<< 4:14.0.0~)
Depends: libartsc0-trinity (>= ${source:Version}), libarts1c2a-trinity (>= ${source:Version})
Depends: libartsc0-trinity (>= ${source:Version}), libarts1c2a-trinity (>= ${source:Version}) | libarts1t64-trinity (>= ${source:Version})
Description: sound system from the official TDE release
TDE (the Trinity Desktop Environment) is a powerful Open Source graphical
desktop environment for Unix workstations. It combines ease of use,

@ -12,6 +12,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 = c2a
endif
DEB_CMAKE_EXTRA_FLAGS := \
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
-DPKGCONFIG_INSTALL_DIR="/usr/lib/pkgconfig" \
@ -30,12 +38,12 @@ DEB_CMAKE_EXTRA_FLAGS := \
DEB_DH_STRIP_ARGS := --dbg-package=arts-trinity-dbg
PACKAGES_WITH_LIBS := libarts1c2a-trinity libartsc0-trinity
PACKAGES_WITH_LIBS := libarts1$(DEB_TIME64_SUFFIX)-trinity libartsc0-trinity
DEB_DH_MAKESHLIBS_ARGS_ALL := -V
DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/opt/trinity/lib)
DEB_DH_MAKESHLIBS_ARGS_libarts1c2a-trinity := -V'libarts1c2a-trinity (>= 1.5.9)'
DEB_DH_MAKESHLIBS_ARGS_libarts1$(DEB_TIME64_SUFFIX)-trinity := -V'libarts1$(DEB_TIME64_SUFFIX)-trinity (>= 1.5.9)'
DEB_DH_MAKESHLIBS_ARGS_libartsc0-trinity := -V'libartsc0-trinity (>= 1.5.9)'
#shlibs_ver = 1.5.0-1
@ -47,3 +55,40 @@ binary-predeb/libarts1-trinity-dev::
ifeq (linux,$(DEB_HOST_ARCH_OS))
echo "libasound2-dev=libasound2-dev" >> debian/libarts1-trinity-dev.substvars
endif
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/libarts1c2a" | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/libarts1$(DEB_TIME64_SUFFIX)$${a##*c2a} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^\\(Package: libarts1\\)c2a-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libarts1\\)c2a-trinity\\( \|$$\)/\\1:\\2\\3c2a-trinity, \\3$(DEB_TIME64_SUFFIX)-trinity\\4/" \
-e "s/\\(libarts1\\)c2a-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 "/libarts1$(DEB_TIME64_SUFFIX)-" | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

@ -18,7 +18,7 @@ Architecture: all
Section: sound
Replaces: arts-trinity (<< 4:14.0.0~)
Breaks: arts-trinity (<< 4:14.0.0~)
Depends: libartsc0-trinity (>= ${source:Version}), libarts1c2a-trinity (>= ${source:Version})
Depends: libartsc0-trinity (>= ${source:Version}), libarts1c2a-trinity (>= ${source:Version}) | libarts1t64-trinity (>= ${source:Version})
Description: sound system from the official TDE release
TDE (the Trinity Desktop Environment) is a powerful Open Source graphical
desktop environment for Unix workstations. It combines ease of use,

@ -12,6 +12,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 = c2a
endif
DEB_CMAKE_EXTRA_FLAGS := \
-DCONFIG_INSTALL_DIR="/etc/trinity" \
-DSYSCONF_INSTALL_DIR="/etc/trinity" \
@ -37,12 +45,12 @@ DEB_DH_STRIP_ARGS := --dbg-package=arts-trinity-dbg \
-Xlibmcop.so.1.0.0 -Xlibqtmcop.so.1.0.0 -Xartsplay -Xartsd -Xartscat \
-Xartsshell -Xartsrec -Xmcopidl
PACKAGES_WITH_LIBS := libarts1c2a-trinity libartsc0-trinity
PACKAGES_WITH_LIBS := libarts1$(DEB_TIME64_SUFFIX)-trinity libartsc0-trinity
DEB_DH_MAKESHLIBS_ARGS_ALL := -V
DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/usr/lib/$(DEB_HOST_MULTIARCH))
DEB_DH_MAKESHLIBS_ARGS_libarts1c2a-trinity := -V'libarts1c2a-trinity (>= 1.5.9)'
DEB_DH_MAKESHLIBS_ARGS_libarts1$(DEB_TIME64_SUFFIX)-trinity := -V'libarts1$(DEB_TIME64_SUFFIX)-trinity (>= 1.5.9)'
DEB_DH_MAKESHLIBS_ARGS_libartsc0-trinity := -V'libartsc0-trinity (>= 1.5.9)'
#shlibs_ver = 1.5.0-1
@ -54,3 +62,40 @@ binary-predeb/libarts1-trinity-dev::
ifeq (linux,$(DEB_HOST_ARCH_OS))
echo "libasound2-dev=libasound2-dev" >> debian/libarts1-trinity-dev.substvars
endif
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/libarts1c2a" | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/libarts1$(DEB_TIME64_SUFFIX)$${a##*c2a} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^\\(Package: libarts1\\)c2a-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libarts1\\)c2a-trinity\\( \|$$\)/\\1:\\2\\3c2a-trinity, \\3$(DEB_TIME64_SUFFIX)-trinity\\4/" \
-e "s/\\(libarts1\\)c2a-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 "/libarts1$(DEB_TIME64_SUFFIX)-" | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

@ -18,7 +18,7 @@ Architecture: all
Section: sound
Replaces: arts-kde3 (<< 4:14.0.0~), arts-trinity (<< 4:14.0.0~)
Breaks: arts-kde3 (<< 4:14.0.0~), arts-trinity (<< 4:14.0.0~)
Depends: libartsc0-trinity (>= ${source:Version}), libarts1c2a-trinity (>= ${source:Version})
Depends: libartsc0-trinity (>= ${source:Version}), libarts1c2a-trinity (>= ${source:Version}) | libarts1t64-trinity (>= ${source:Version})
Description: sound system from the official TDE release
TDE (the Trinity Desktop Environment) is a powerful Open Source graphical
desktop environment for Unix workstations. It combines ease of use,

@ -12,6 +12,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 = c2a
endif
DEB_CMAKE_EXTRA_FLAGS := \
-DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \
-DPKGCONFIG_INSTALL_DIR="/usr/lib/pkgconfig" \
@ -30,12 +38,12 @@ DEB_CMAKE_EXTRA_FLAGS := \
DEB_DH_STRIP_ARGS := --dbg-package=arts-trinity-dbg
PACKAGES_WITH_LIBS := libarts1c2a-trinity libartsc0-trinity
PACKAGES_WITH_LIBS := libarts1$(DEB_TIME64_SUFFIX)-trinity libartsc0-trinity
DEB_DH_MAKESHLIBS_ARGS_ALL := -V
DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/opt/trinity/lib)
DEB_DH_MAKESHLIBS_ARGS_libarts1c2a-trinity := -V'libarts1c2a-trinity (>= 1.5.9)'
DEB_DH_MAKESHLIBS_ARGS_libarts1$(DEB_TIME64_SUFFIX)-trinity := -V'libarts1$(DEB_TIME64_SUFFIX)-trinity (>= 1.5.9)'
DEB_DH_MAKESHLIBS_ARGS_libartsc0-trinity := -V'libartsc0-trinity (>= 1.5.9)'
#shlibs_ver = 1.5.0-1
@ -47,3 +55,40 @@ binary-predeb/libarts1-trinity-dev::
ifeq (linux,$(DEB_HOST_ARCH_OS))
echo "libasound2-dev=libasound2-dev" >> debian/libarts1-trinity-dev.substvars
endif
post-patches::
dh_testdir
ifeq ($(DEB_TIME64_API),true)
# update library package name for TIME64 ABI
ls -d debian/* | \
grep -E "/libarts1c2a" | \
grep -v "\.t64$$" | \
while read a; do \
[ -d $$a ] || [ -f $$a.t64 ] || \
(cp -a $$a debian/libarts1$(DEB_TIME64_SUFFIX)$${a##*c2a} && mv $$a $$a.t64); \
done
[ -f debian/control.t64 ] || \
sed -i.t64 \
-e "s/^\\(Package: libarts1\\)c2a-trinity$$/\\1$(DEB_TIME64_SUFFIX)-trinity/" \
-e "s/^\\(Replaces\\|Breaks\\):\\(.*\\)\\(libarts1\\)c2a-trinity\\( \|$$\)/\\1:\\2\\3c2a-trinity, \\3$(DEB_TIME64_SUFFIX)-trinity\\4/" \
-e "s/\\(libarts1\\)c2a-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 "/libarts1$(DEB_TIME64_SUFFIX)-" | \
xargs -r rm
[ ! -f debian/control.t64 ] || \
mv debian/control.t64 debian/control
endif

Loading…
Cancel
Save