From c05bac452674f80f44e4021afda25f6c4af7a0c2 Mon Sep 17 00:00:00 2001 From: DebXWoody Date: Thu, 20 Feb 2025 03:00:26 +0100 Subject: [PATCH 1/4] Replace libsignal-protocol-c with libomemo-c The library libsignal-protocol-c is not maintained. This commit will replace the dependency libsignal-protocol-c with libomemo-c. On 2025-02-07 a new version of protobuf-c has been uploaded to Debian. This new version induced a bug for libsignal-protocol-c and libomemo-c: * Bug#1095352: libomemo-c: FTBFS [1] * Bug#1095353: libsignal-protocol-c: FTBFS [2] (Thanks to Dino team and Debian Maintainer it's solved) libomemo-c [3] is a fork of libsignal-protocol-c [4] maintained by the Dino team. [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095352 [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095353 [3] https://github.com/dino/libomemo-c [4] https://github.com/signalapp/libsignal-protocol-c Note: Commits squashed and commit message edited by @jubalh. --- .builds/openbsd.yml | 2 +- Brewfile | 2 +- Dockerfile.arch | 2 +- Dockerfile.debian | 2 +- Dockerfile.fedora | 2 +- Dockerfile.tumbleweed | 2 +- Dockerfile.ubuntu | 2 +- configure.ac | 6 +++--- src/omemo/crypto.c | 4 ++-- src/omemo/crypto.h | 2 +- src/omemo/omemo.c | 2 +- src/omemo/store.c | 2 +- src/omemo/store.h | 2 +- 13 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.builds/openbsd.yml b/.builds/openbsd.yml index 326bdb5f99..00815b36d1 100644 --- a/.builds/openbsd.yml +++ b/.builds/openbsd.yml @@ -20,7 +20,7 @@ packages: - libassuan - libgpg-error - libgcrypt - - libsignal-protocol-c + - libomemo-c - sqlite3 sources: diff --git a/Brewfile b/Brewfile index d73a973c6f..c5d0b58d63 100644 --- a/Brewfile +++ b/Brewfile @@ -11,7 +11,7 @@ brew 'gpgme' brew 'gtk+' brew 'libffi' brew 'libotr' -brew 'libsignal-protocol-c' +brew 'libomemo-c' brew 'libstrophe' brew 'libtool' brew 'ncurses' diff --git a/Dockerfile.arch b/Dockerfile.arch index d8d981e5ce..286686f899 100644 --- a/Dockerfile.arch +++ b/Dockerfile.arch @@ -19,7 +19,7 @@ RUN pacman -Syu --noconfirm && pacman -S --needed --noconfirm \ libgcrypt \ libmicrohttpd \ libnotify \ - libsignal-protocol-c \ + libomemo-c \ libotr \ libtool \ libxss \ diff --git a/Dockerfile.debian b/Dockerfile.debian index 114aec28a0..bf98b6a24e 100644 --- a/Dockerfile.debian +++ b/Dockerfile.debian @@ -19,7 +19,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libnotify-dev \ libotr5-dev \ libreadline-dev \ - libsignal-protocol-c-dev \ + libomemo-c-dev \ libssl-dev \ libtool \ libxss-dev \ diff --git a/Dockerfile.fedora b/Dockerfile.fedora index c8004c1160..d9eca48f13 100644 --- a/Dockerfile.fedora +++ b/Dockerfile.fedora @@ -24,7 +24,7 @@ RUN dnf install -y \ libmicrohttpd-devel \ libnotify-devel \ libotr-devel \ - libsignal-protocol-c-devel \ + libomemo-c-devel \ libtool \ libuuid-devel \ make \ diff --git a/Dockerfile.tumbleweed b/Dockerfile.tumbleweed index 1777d1708d..cc292d6b57 100644 --- a/Dockerfile.tumbleweed +++ b/Dockerfile.tumbleweed @@ -24,7 +24,7 @@ RUN zypper --non-interactive in --no-recommends \ libmicrohttpd-devel \ libnotify-devel \ libotr-devel \ - libsignal-protocol-c-devel \ + libomemo-c-devel \ libtool \ libuuid-devel \ make \ diff --git a/Dockerfile.ubuntu b/Dockerfile.ubuntu index 7f100dddba..a3aca879ef 100644 --- a/Dockerfile.ubuntu +++ b/Dockerfile.ubuntu @@ -20,7 +20,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libnotify-dev \ libotr5-dev \ libreadline-dev \ - libsignal-protocol-c-dev \ + libomemo-c-dev \ libssl-dev \ libtool \ libxss-dev \ diff --git a/configure.ac b/configure.ac index f9346fdfe0..c28954871d 100644 --- a/configure.ac +++ b/configure.ac @@ -331,13 +331,13 @@ dnl feature: omemo AM_CONDITIONAL([BUILD_OMEMO], [false]) if test "x$enable_omemo" != xno; then OMEMO_LIBS="" - PKG_CHECK_MODULES([libsignal], [libsignal-protocol-c >= 2.3.2], - [OMEMO_LIBS="-lsignal-protocol-c" + PKG_CHECK_MODULES([libomemo], [libomemo-c >= 0.5.0], + [OMEMO_LIBS="-lomemo-c" AC_CHECK_LIB([gcrypt], [gcry_md_extract], [OMEMO_LIBS="-lgcrypt $OMEMO_LIBS" AM_CONDITIONAL([BUILD_OMEMO], [true])], [AC_MSG_NOTICE([gcrypt >= 1.7.0 not found, OMEMO support not enabled])])], - [AC_MSG_NOTICE([libsignal-protocol-c >= 2.3.2 not found, OMEMO support not enabled])]) + [AC_MSG_NOTICE([libomemo-c >= 0.5.0 not found, OMEMO support not enabled])]) AM_COND_IF([BUILD_OMEMO], [AC_DEFINE([HAVE_OMEMO], [1], [Have OMEMO]) diff --git a/src/omemo/crypto.c b/src/omemo/crypto.c index 8653b1d19d..0cc933760e 100644 --- a/src/omemo/crypto.c +++ b/src/omemo/crypto.c @@ -35,8 +35,8 @@ #include "config.h" #include -#include -#include +#include +#include #include "log.h" #include "omemo/omemo.h" diff --git a/src/omemo/crypto.h b/src/omemo/crypto.h index d3f775dd80..bf5d034232 100644 --- a/src/omemo/crypto.h +++ b/src/omemo/crypto.h @@ -34,7 +34,7 @@ */ #include #include -#include +#include #include #define AES128_GCM_KEY_LENGTH 16 diff --git a/src/omemo/omemo.c b/src/omemo/omemo.c index f47ff5064d..3092b43ed7 100644 --- a/src/omemo/omemo.c +++ b/src/omemo/omemo.c @@ -44,7 +44,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/omemo/store.c b/src/omemo/store.c index fd085a582f..a3fda04269 100644 --- a/src/omemo/store.c +++ b/src/omemo/store.c @@ -33,7 +33,7 @@ * */ #include -#include +#include #include "config.h" #include "log.h" diff --git a/src/omemo/store.h b/src/omemo/store.h index b6a9a74d7b..34e632528d 100644 --- a/src/omemo/store.h +++ b/src/omemo/store.h @@ -32,7 +32,7 @@ * source files in the program, then also delete it here. * */ -#include +#include #include "config.h" From eeaf41c51b6bc87c97f70ce72fc67bd44a6ec1ea Mon Sep 17 00:00:00 2001 From: Stefan Kropp Date: Thu, 13 Mar 2025 08:25:20 -0500 Subject: [PATCH 2/4] Replace libsignal-protocol-c with libomemo-c Fixed missing includeds --- src/omemo/omemo.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/omemo/omemo.c b/src/omemo/omemo.c index 3092b43ed7..1356d9d158 100644 --- a/src/omemo/omemo.c +++ b/src/omemo/omemo.c @@ -42,11 +42,11 @@ #include #include #include -#include -#include +#include +#include #include -#include -#include +#include +#include #include "config/account.h" #include "config/files.h" From b4a152800c4fd1ea37885b0c6152bdf429b66756 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Sat, 15 Mar 2025 14:01:10 +0100 Subject: [PATCH 3/4] Fix Dockerfile.arch Signed-off-by: Steffen Jaeckel --- Dockerfile.arch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.arch b/Dockerfile.arch index 286686f899..6e24d5e8a9 100644 --- a/Dockerfile.arch +++ b/Dockerfile.arch @@ -1,6 +1,6 @@ FROM archlinux -RUN pacman -Syu --noconfirm && pacman -S --needed --noconfirm \ +RUN pacman -Syu --noconfirm && pacman -Sy --needed --noconfirm \ autoconf \ autoconf-archive \ automake \ From 6183351938202adc7bc8d6ed142218b480bbb723 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Sat, 15 Mar 2025 14:23:21 +0100 Subject: [PATCH 4/4] libomemo-c does not provide a pkg-config version. Let's just hope it never breaks its API and/or ABI. Signed-off-by: Steffen Jaeckel --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index c28954871d..64f8d7d18b 100644 --- a/configure.ac +++ b/configure.ac @@ -331,13 +331,13 @@ dnl feature: omemo AM_CONDITIONAL([BUILD_OMEMO], [false]) if test "x$enable_omemo" != xno; then OMEMO_LIBS="" - PKG_CHECK_MODULES([libomemo], [libomemo-c >= 0.5.0], + PKG_CHECK_MODULES([libomemo], [libomemo-c], [OMEMO_LIBS="-lomemo-c" AC_CHECK_LIB([gcrypt], [gcry_md_extract], [OMEMO_LIBS="-lgcrypt $OMEMO_LIBS" AM_CONDITIONAL([BUILD_OMEMO], [true])], [AC_MSG_NOTICE([gcrypt >= 1.7.0 not found, OMEMO support not enabled])])], - [AC_MSG_NOTICE([libomemo-c >= 0.5.0 not found, OMEMO support not enabled])]) + [AC_MSG_NOTICE([libomemo-c not found, OMEMO support not enabled])]) AM_COND_IF([BUILD_OMEMO], [AC_DEFINE([HAVE_OMEMO], [1], [Have OMEMO])