Merge upstream/master into merge/upstream-full
Some checks failed
CI Code / Check coding style (pull_request) Failing after 7s
CI Code / Check spelling (pull_request) Successful in 17s
CI Code / Linux (debian) (pull_request) Successful in 7m1s
CI Code / Linux (ubuntu) (pull_request) Successful in 7m44s
CI Code / Code Coverage (pull_request) Successful in 7m35s
Lint / DCO (pull_request) Failing after 7s
Lint / conventional commits (pull_request) Failing after 45s
CI Code / Linux (arch) (pull_request) Successful in 9m23s
Build / ubuntu | func | signal (pull_request) Has been cancelled
Lint / coding style (pull_request) Has been cancelled
Lint / spellcheck (pull_request) Has been cancelled
Build / cygwin / build only (pull_request) Has been cancelled
CodeQL / analyze (pull_request) Has been cancelled
Some checks failed
CI Code / Check coding style (pull_request) Failing after 7s
CI Code / Check spelling (pull_request) Successful in 17s
CI Code / Linux (debian) (pull_request) Successful in 7m1s
CI Code / Linux (ubuntu) (pull_request) Successful in 7m44s
CI Code / Code Coverage (pull_request) Successful in 7m35s
Lint / DCO (pull_request) Failing after 7s
Lint / conventional commits (pull_request) Failing after 45s
CI Code / Linux (arch) (pull_request) Successful in 9m23s
Build / ubuntu | func | signal (pull_request) Has been cancelled
Lint / coding style (pull_request) Has been cancelled
Lint / spellcheck (pull_request) Has been cancelled
Build / cygwin / build only (pull_request) Has been cancelled
CodeQL / analyze (pull_request) Has been cancelled
Merge profanity-im/profanity master (373 commits) into cproof fork.
Source changes (manual merge):
- src/command/: cmd_defs, cmd_funcs, cmd_ac — upstream g_new0, auto_gchar,
launch_editor callback; keep our XEP-0308 LMC, force-encryption, CWE-134
- src/config/: preferences, tlscerts, account — upstream UNIQUE dedup,
dynamic pad capacity; keep our db_history_result_t, scroll logic
- src/database.*: upstream g_new0 memory mgmt; keep our return types,
add null-check fix for msg->timestamp
- src/omemo/, src/pgp/: upstream _gpgme_key_get_email, g_new0;
keep our replace_id in omemo_on_message_send
- src/tools/: editor, http_upload, bookmark_ignore — upstream launch_editor
callback API
- src/ui/: console, window, chatwin, mucwin, inputwin, buffer —
upstream win_warn_needed/sent dedup, PAD_MIN_HEIGHT dynamic pads;
keep our y_start_pos scroll, _truncate_datetime_suffix
- src/xmpp/: message, stanza, presence, roster_list, iq, session —
upstream connection_get_available_resources; keep our LMC stanza logic
- src/common.c: fix format-security (cons_show)
Build system:
- Makefile.am: updated test paths to subdirectory structure, added
test_cmd_ac, test_forced_encryption
- Restored autotools files deleted by upstream meson migration:
bootstrap.sh, autogen.sh, m4/ax_valgrind_check.m4, configure-debug
Tests:
- Unit tests: upstream unittests.c base + our forced_encryption tests
(482 passed, 0 failed across all 4 configurations)
- Functional tests: kept our version (93 passed, 0 failed)
upstream version requires stbbr_for_xmlns not yet in our stabber fork
- Updated test stubs: stub_xmpp.c, stub_omemo.c from upstream
Compile fixes:
- src/common.c: cons_show(errmsg) -> cons_show("%s", errmsg)
- src/database.c: null-check before msg->timestamp access
- src/ui/console.c: size_t -> (int) cast for format width
- src/config/tlscerts.c: %d -> %zu for size_t
This commit is contained in:
78
ci/Dockerfile.arch
Normal file
78
ci/Dockerfile.arch
Normal file
@@ -0,0 +1,78 @@
|
||||
FROM archlinux:latest
|
||||
|
||||
ENV TERM=xterm
|
||||
ENV CC="ccache gcc"
|
||||
|
||||
RUN pacman -Syyu --noconfirm
|
||||
|
||||
# reflector is optional - if it fails due to network issues, continue with default mirrorlist
|
||||
RUN pacman -S --needed --noconfirm reflector && \
|
||||
(reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist || true)
|
||||
RUN pacman-key --init
|
||||
RUN pacman -S --needed --noconfirm \
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
automake \
|
||||
base-devel \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
check \
|
||||
cmake \
|
||||
cmocka \
|
||||
lcov \
|
||||
curl \
|
||||
debuginfod \
|
||||
doxygen \
|
||||
expat \
|
||||
gcc \
|
||||
git \
|
||||
gpgme \
|
||||
gtk3 \
|
||||
libgcrypt \
|
||||
libmicrohttpd \
|
||||
libnotify \
|
||||
libsignal-protocol-c \
|
||||
libotr \
|
||||
libtool \
|
||||
libxss \
|
||||
make \
|
||||
openssl \
|
||||
pkg-config \
|
||||
python \
|
||||
wget \
|
||||
sqlite \
|
||||
valgrind \
|
||||
gdk-pixbuf2 \
|
||||
qrencode
|
||||
|
||||
RUN mkdir -p /usr/src/{stabber,profanity}
|
||||
|
||||
RUN useradd -mb /usr/src --shell=/bin/false aur && usermod -L aur
|
||||
USER aur
|
||||
|
||||
WORKDIR /usr/src/aur
|
||||
|
||||
# NOTE: These will change their extension to .tar.zst if a new snapshot is built
|
||||
# due to:
|
||||
# https://www.archlinux.org/news/now-using-zstandard-instead-of-xz-for-package-compression/
|
||||
RUN wget https://aur.archlinux.org/cgit/aur.git/snapshot/libstrophe-git.tar.gz
|
||||
|
||||
RUN tar -zxvf libstrophe-git.tar.gz
|
||||
|
||||
RUN pushd libstrophe-git && makepkg && popd
|
||||
|
||||
USER root
|
||||
|
||||
RUN pacman -U --noconfirm libstrophe-git/libstrophe-git-*.pkg.tar.zst
|
||||
|
||||
WORKDIR /usr/src
|
||||
RUN git clone --depth 1 https://git.jabber.space/devs/stabber
|
||||
|
||||
WORKDIR /usr/src/stabber
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr --disable-dependency-tracking
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
WORKDIR /usr/src/profanity
|
||||
COPY . /usr/src/profanity
|
||||
60
ci/Dockerfile.debian
Normal file
60
ci/Dockerfile.debian
Normal file
@@ -0,0 +1,60 @@
|
||||
# Build the latest Debian testing image
|
||||
FROM debian:testing
|
||||
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
ENV TERM=xterm
|
||||
ENV CC="ccache gcc"
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
automake \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
gcc \
|
||||
git \
|
||||
lcov \
|
||||
libcmocka-dev \
|
||||
libcurl3-dev \
|
||||
libgcrypt-dev \
|
||||
libglib2.0-dev \
|
||||
libgpgme11-dev \
|
||||
libgtk2.0-dev \
|
||||
libmicrohttpd-dev \
|
||||
libncursesw5-dev \
|
||||
libnotify-dev \
|
||||
libotr5-dev \
|
||||
libreadline-dev \
|
||||
libsignal-protocol-c-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
libxss-dev \
|
||||
make \
|
||||
pkg-config \
|
||||
python3-dev \
|
||||
python-dev-is-python3 \
|
||||
valgrind \
|
||||
libsqlite3-dev \
|
||||
libgdk-pixbuf-2.0-dev \
|
||||
libqrencode-dev
|
||||
|
||||
RUN mkdir -p /usr/src/{stabber,libstrophe,profanity}
|
||||
WORKDIR /usr/src
|
||||
|
||||
RUN git clone --depth 1 https://git.jabber.space/devs/stabber
|
||||
RUN git clone --depth 1 https://github.com/strophe/libstrophe
|
||||
|
||||
WORKDIR /usr/src/stabber
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr --disable-dependency-tracking
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
WORKDIR /usr/src/libstrophe
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
WORKDIR /usr/src/profanity
|
||||
COPY . /usr/src/profanity
|
||||
72
ci/Dockerfile.fedora
Normal file
72
ci/Dockerfile.fedora
Normal file
@@ -0,0 +1,72 @@
|
||||
# Build the latest Fedora image
|
||||
FROM fedora:latest
|
||||
|
||||
ENV TERM=xterm
|
||||
ENV CC="ccache gcc"
|
||||
|
||||
# libmicrohttpd - for stabber
|
||||
# glibc-locale - to have en_US locale
|
||||
RUN dnf install -y \
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
automake \
|
||||
awk \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
gcc \
|
||||
git \
|
||||
lcov \
|
||||
glib2-devel \
|
||||
glibc-all-langpacks \
|
||||
gtk2-devel \
|
||||
libXScrnSaver-devel \
|
||||
libcmocka-devel \
|
||||
libcurl-devel \
|
||||
expat-devel \
|
||||
libgcrypt-devel \
|
||||
gpgme-devel \
|
||||
libmicrohttpd-devel \
|
||||
libnotify-devel \
|
||||
libotr-devel \
|
||||
libsignal-protocol-c-devel \
|
||||
libtool \
|
||||
libuuid-devel \
|
||||
make \
|
||||
ncurses-devel \
|
||||
python3 \
|
||||
python3-devel \
|
||||
readline-devel \
|
||||
openssl-devel \
|
||||
sqlite-devel \
|
||||
valgrind \
|
||||
gdk-pixbuf2-devel \
|
||||
qrencode-devel
|
||||
|
||||
# https://github.com/openSUSE/docker-containers-build/issues/26
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US:en
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV TERM=xterm
|
||||
|
||||
RUN mkdir -p /usr/src
|
||||
WORKDIR /usr/src
|
||||
|
||||
RUN git clone --depth 1 https://git.jabber.space/devs/stabber
|
||||
WORKDIR /usr/src/stabber
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr --disable-dependency-tracking
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
WORKDIR /usr/src
|
||||
RUN mkdir -p /usr/src/libstrophe
|
||||
RUN git clone --depth 1 https://github.com/strophe/libstrophe
|
||||
WORKDIR /usr/src/libstrophe
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
RUN mkdir -p /usr/src/profanity
|
||||
WORKDIR /usr/src/profanity
|
||||
COPY . /usr/src/profanity
|
||||
62
ci/Dockerfile.tumbleweed
Normal file
62
ci/Dockerfile.tumbleweed
Normal file
@@ -0,0 +1,62 @@
|
||||
# Build the latest openSUSE Tumbleweed image
|
||||
FROM opensuse/tumbleweed
|
||||
|
||||
ENV TERM=xterm
|
||||
ENV CC="ccache gcc"
|
||||
|
||||
# libmicrohttpd - for stabber
|
||||
# glibc-locale - to have en_US locale
|
||||
RUN zypper --non-interactive in --no-recommends \
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
automake \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
gcc \
|
||||
git \
|
||||
lcov \
|
||||
glib2-devel \
|
||||
glibc-locale \
|
||||
gtk2-devel \
|
||||
libXss-devel \
|
||||
libcmocka-devel \
|
||||
libcurl-devel \
|
||||
libexpat-devel \
|
||||
libgcrypt-devel \
|
||||
libgpgme-devel \
|
||||
libstrophe-devel \
|
||||
libmicrohttpd-devel \
|
||||
libnotify-devel \
|
||||
libotr-devel \
|
||||
libsignal-protocol-c-devel \
|
||||
libtool \
|
||||
libuuid-devel \
|
||||
make \
|
||||
ncurses-devel \
|
||||
python310 \
|
||||
python310-devel \
|
||||
readline-devel \
|
||||
sqlite3-devel \
|
||||
valgrind \
|
||||
gdk-pixbuf-devel \
|
||||
qrencode-devel
|
||||
|
||||
# https://github.com/openSUSE/docker-containers-build/issues/26
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US:en
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV TERM=xterm
|
||||
|
||||
RUN mkdir -p /usr/src
|
||||
WORKDIR /usr/src
|
||||
|
||||
RUN git clone --depth 1 https://git.jabber.space/devs/stabber
|
||||
WORKDIR /usr/src/stabber
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr --disable-dependency-tracking
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
RUN mkdir -p /usr/src/profanity
|
||||
WORKDIR /usr/src/profanity
|
||||
COPY . /usr/src/profanity
|
||||
59
ci/Dockerfile.ubuntu
Normal file
59
ci/Dockerfile.ubuntu
Normal file
@@ -0,0 +1,59 @@
|
||||
FROM ubuntu:latest
|
||||
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
ENV TERM=xterm
|
||||
ENV CC="ccache gcc"
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
autoconf \
|
||||
autoconf-archive \
|
||||
automake \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
gcc \
|
||||
git \
|
||||
lcov \
|
||||
libcmocka-dev \
|
||||
libcurl3-dev \
|
||||
libgcrypt-dev \
|
||||
libglib2.0-dev \
|
||||
libgpgme11-dev \
|
||||
libgtk2.0-dev \
|
||||
libmicrohttpd-dev \
|
||||
libncursesw5-dev \
|
||||
libnotify-dev \
|
||||
libotr5-dev \
|
||||
libreadline-dev \
|
||||
libsignal-protocol-c-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
libxss-dev \
|
||||
make \
|
||||
pkg-config \
|
||||
python3-dev \
|
||||
python-dev-is-python3 \
|
||||
valgrind \
|
||||
libsqlite3-dev \
|
||||
libgdk-pixbuf-2.0-dev \
|
||||
libqrencode-dev
|
||||
|
||||
RUN mkdir -p /usr/src/{stabber,libstrophe,profanity}
|
||||
WORKDIR /usr/src
|
||||
|
||||
RUN git clone --depth 1 https://git.jabber.space/devs/stabber
|
||||
RUN git clone --depth 1 https://github.com/strophe/libstrophe
|
||||
|
||||
WORKDIR /usr/src/stabber
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr --disable-dependency-tracking
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
WORKDIR /usr/src/libstrophe
|
||||
RUN ./bootstrap.sh
|
||||
RUN ./configure --prefix=/usr
|
||||
RUN make -j$(nproc)
|
||||
RUN make install
|
||||
|
||||
WORKDIR /usr/src/profanity
|
||||
COPY . /usr/src/profanity
|
||||
Reference in New Issue
Block a user