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)

Reply via email to