Control: tag -1 + confirmed sid bullseye
I looked into this the past days, and I think this is actually a bug
in d/rules in src:linphone. I'm beginning to suspect that this is due
to this line:
-DENABLE_DB_STORAGE=NO \
Apparently the code for the once separate chat history and call
history DBs has been merged into a single DB with special logic to
handle the migration -- since I have no files from a previous version
linphone-desktop 4.2.5 here does not even create anymore the sqlite3
database linphone.db in ~/.local/share/linphone/ that David mentions,
only call-history.db and friends.db are created (which matches the
source code). However, if the database storage isn't configured and
compiled in then that new database is not going to work of course.
Was there a specific reason for disabling this? I could get
linphone-4.4.21 to build with -DENABLE_DB_STORAGE=YES, but I had to
first build+install a version of libsoci-dev that was compiled with
-DSOCI_CXX11=YES. I'll contact the soci maintainer to see if he can
change that in time.
linphone-4.4.21/cmake/FindSoci.cmake calls the soci support
experimental, but the official appimage ships with both libsoci_core.0
and libsoci_sqlite3.0, so it should be stable enough for us, too.
That warning is probably outdated. I attached a diff of the linked-in
shared libraries in Debian's and the AppImage's /usr/bin/linphone
(4.2.5) to illustrate where else we deviate.
Another issue I ran into: during dh_auto_configure a CMake macro tries
to invoke "git describe" to look up the tag for the build's branch.
Setting GIT_EXECUTABLE to a shell script that emits the expected tag
worked around that. I used $(shell pwd) there to point to the script,
but I don't know if this is the right way to do it. Fix it if it's
wrong.
I'll keep digging into this and let you know if I learn something new.
Regards,
Dennis
diff --git a/linphone-4.4.21/debian/git.sh b/linphone-4.4.21/debian/git.sh
new file mode 100755
index 0000000..2d1c3ec
--- /dev/null
+++ b/linphone-4.4.21/debian/git.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+#echo 4.4.12
+#f=$PWD/debian/git.sh
+f=$0
+g=${f%/debian/git.sh}
+h=${g##*/}
+i=${h##*-}
+#echo "$f $g $h"
+echo "$i"
diff --git a/linphone-4.4.21/debian/rules b/linphone-4.4.21/debian/rules
index 74476b0..9fa407f 100755
--- a/linphone-4.4.21/debian/rules
+++ b/linphone-4.4.21/debian/rules
@@ -2,6 +2,17 @@
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+# The macro bc_compute_lib_version (among others) from
+# /usr/share/bctoolbox/cmake/bctoolboxCMakeUtils.cmake expects the
+# .git directory to be available. We fool it with a shellscript
+# debian/git.sh that emits the version number hard-coded.
+CONFIGURE_ARGS += -DGIT_EXECUTABLE=$(shell pwd)/debian/git.sh
+
+# this enables the unified call+chat database; it requires sqlite3 and
+# a version of libsoci-dev built with C++11 support (libsoci-dev 4.0.1-3
+# doesn't have it yet).
+CONFIGURE_ARGS += -DENABLE_DB_STORAGE=YES
+
%:
dh $@ --buildsystem=cmake
@@ -14,7 +25,6 @@ override_dh_auto_configure:
-DENABLE_ADVANCED_IM=NO \
-DENABLE_LIME=NO \
-DENABLE_LIME_X3DH=NO \
- -DENABLE_DB_STORAGE=NO \
-DENABLE_UNIT_TESTS=NO \
-DENABLE_STATIC=NO \
$(CONFIGURE_ARGS)
--- ldd-bullseye-4.2.5.txt 2021-02-25 18:06:16.143870152 +0100
+++ ldd-appimage-4.2.5.txt 2021-02-25 18:06:16.139870152 +0100
@@ -1,158 +1,99 @@
/lib64/ld-linux-x86-64 (ADDR)
-libantlr3c-3.4
-libaom
libasound
libasyncns
libavcodec
libavutil
+libbcg729
libbctoolbox
libbelcard
libbellesip
libbelr
-libblkid
-libbrotlicommon
-libbrotlidec
libbsd
+libbv16
libbzrtp
libc
-libcairo
-libcairo-gobject
-libcodec2.9
-libcom_err
-libdatrie
-libdav1d
+libcap
libdbus-1
+libdecaf
libdl
-libdouble-conversion
-libdrm
-libexpat
-libffi
libFLAC
-libfontconfig
-libfreetype
-libfribidi
libgcc_s
libgcrypt
-libgdk_pixbuf-2.0
-libgio-2.0
libGL
libGLdispatch
-libGLEW.1
+libGLEW.0
libglib-2.0
libGLX
-libgmodule-2.0
-libgobject-2.0
-libgomp
libgpg-error
-libgraphite2
libgsm
-libgssapi_krb5
-libharfbuzz
+libgthread-2.0
+libICE
libicudata
libicui18n
libicuuc
-libk5crypto
-libkeyutils
-libkrb5
-libkrb5support
+libjpeg
+liblime
liblinphone
liblinphone++
liblz4
liblzma
libm
libmbedcrypto
libmbedtls
libmbedx509
-libmd
-libmd4c
libmediastreamer
-libmfx
-libmount
-libmp3lame
libnsl
-libnspr4
-libnss3
-libnssutil3
-libnuma
libogg
-libOpenCL
-libopenjp2
libopus
libortp
-libpango-1.0
-libpangocairo-1.0
-libpangoft2-1.0
libpcre
-libpcre2-16
-libpcre2-8
-libpixman-1
-libplc4
-libplds4
-libpng16
libpthread
libpulse
-libpulsecommon-14.1
+libpulsecommon-10.0
+libQt5Concurrent
libQt5Core
libQt5DBus
libQt5Gui
libQt5Network
libQt5Qml
-libQt5QmlModels
libQt5Quick
libQt5QuickControls2
libQt5QuickTemplates2
libQt5Svg
+libQt5TextToSpeech
libQt5Widgets
libresolv
-librsvg-2
librt
libselinux
-libshine
-libsnappy
+libSM
libsndfile
-libsoxr
+libsoci_core.0
+libsoci_sqlite3.0
libspeex
libspeexdsp
libsqlite3
libsrtp2
libstdc++
-libswresample
libswscale
libsystemd
-libthai
-libtheora
-libtheoradec
-libtheoraenc
-libtirpc
-libturbojpeg
-libtwolame
libuuid
-libva
-libva-drm
-libva-x11
-libvdpau
+libv4l1
+libv4l2
+libv4lconvert
libvorbis
libvorbisenc
libvpx
-libwavpack
-libwebp
-libwebpmux
libwrap
libX11
-libx264
-libx265
+libX11-xcb
libXau
libxcb
-libxcb-render
-libxcb-shm
libXdmcp
+libxerces-c
libXext
-libXfixes
+libXi
libxml2
-libXrender
+libXtst
libXv
-libxvidcore
libz
-libzstd
-libzvbi
linux-vdso (ADDR)