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)