Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package profanity for openSUSE:Factory checked in at 2025-08-20 13:25:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/profanity (Old) and /work/SRC/openSUSE:Factory/.profanity.new.29662 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "profanity" Wed Aug 20 13:25:40 2025 rev:39 rq:1300328 version:0.15.0 Changes: -------- --- /work/SRC/openSUSE:Factory/profanity/profanity.changes 2025-07-25 17:05:10.384883703 +0200 +++ /work/SRC/openSUSE:Factory/.profanity.new.29662/profanity.changes 2025-08-20 13:26:28.523299255 +0200 @@ -1,0 +2,20 @@ +Tue Aug 19 15:55:27 UTC 2025 - Michael Vetter <mvet...@suse.com> + +- Remove the URL part from the patches. + For some reason GH seems to change the patches even though + we used them from commits on master, resulting in OBS to + decline the submission due to the differences + +------------------------------------------------------------------- +Sat Aug 16 10:38:25 UTC 2025 - Andreas Stieger <andreas.stie...@gmx.de> + +- rework spec file to wrap bcond around optional dependencies. This + allows a clean generation of the -mini headless build boo#1246851 +- split the library and -devel packages +- enable xscreensaver awareness, use gtk3 +- run some tests +- add profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch + to fix tests with gcc15 +- package the license files + +------------------------------------------------------------------- Old: ---- profanity-rpmlintrc New: ---- _multibuild profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch ----------(New B)---------- New:- run some tests - add profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch to fix tests with gcc15 ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ profanity.spec ++++++ --- /var/tmp/diff_new_pack.UPmwUY/_old 2025-08-20 13:26:29.067322126 +0200 +++ /var/tmp/diff_new_pack.UPmwUY/_new 2025-08-20 13:26:29.067322126 +0200 @@ -2,6 +2,7 @@ # spec file for package profanity # # Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 Andreas Stieger <andreas.stie...@gmx.de> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,7 +17,37 @@ # -Name: profanity +%global flavor @BUILD_FLAVOR@%{nil} +%global sname profanity +%if "%{flavor}" == "" +%global pname %{sname} +%else +%global pname %{sname}-%{flavor} +%endif +%define sover 0 +# standard flavor +%if "%{flavor}" == "" +%bcond_without notifications +%bcond_without xscreensaver +%bcond_without icons +%bcond_without scaled_avatars +%bcond_without tests +%else +# -mini +%bcond_with notifications +%bcond_with xscreensaver +%bcond_with icons +%bcond_with scaled_avatars +%bcond_with tests +%endif +# common to both +%bcond_without python +%bcond_without otr +%bcond_without gpg +%bcond_without omemo +%bcond_without omemo_qrcode +# +Name: %{pname} Version: 0.15.0 Release: 0 Summary: Console-based XMPP client @@ -24,128 +55,165 @@ Group: Productivity/Networking/Instant Messenger URL: https://profanity-im.github.io Source: https://github.com/profanity-im/profanity/releases/download/%{version}/profanity-%{version}.tar.gz -Source1: profanity-rpmlintrc # bsc#1246850: Fix build with gpgme >= 2.0.0. See gh/profanity#2048 -Patch0: https://github.com/profanity-im/profanity/commit/606eaac31dfb97df16b0d2ba9466a3a67bec122a.patch#/profanity-0.15.0-gpgme.patch -BuildRequires: glib2-devel >= 2.62 -BuildRequires: gtk2-devel -BuildRequires: libcurl-devel -BuildRequires: libexpat-devel -BuildRequires: libgcrypt-devel >= 1.7.0 -BuildRequires: libgpgme-devel -BuildRequires: libnotify-devel -BuildRequires: libotr-devel -BuildRequires: libsignal-protocol-c-devel >= 2.3.2 -BuildRequires: libstrophe-devel >= 0.12.2 -BuildRequires: libuuid-devel -BuildRequires: ncurses-devel +Patch0: profanity-0.15.0-gpgme.patch +# fixes tests build with ggc15. See gh/profanity#2055 +Patch1: profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch +BuildRequires: pkgconfig +# mandatory requirements +BuildRequires: pkgconfig(glib-2.0) >= 2.62 +BuildRequires: pkgconfig(libcurl) >= 7.62.0 +BuildRequires: pkgconfig(libstrophe) >= 0.12.3 +BuildRequires: pkgconfig(ncursesw) +BuildRequires: pkgconfig(sqlite3) >= 3.22.0 +%if 0%{?suse_version} >= 1600 +BuildRequires: pkgconfig(readline) +%endif +Conflicts: profanity-binary +Provides: profanity-binary = %{version} +# optional requirements +%if %{with notifications} +BuildRequires: pkgconfig(libnotify) +%endif +%if %{with python} BuildRequires: python3-devel -BuildRequires: readline-devel -BuildRequires: sqlite3-devel >= 3.22.0 -Requires: libstrophe0 >= 0.12.3 -Requires: profanity-binary = %{version} -Suggests: profanity-standard +%endif +%if %{with otr} +BuildRequires: pkgconfig(libotr) >= 4.0 +%endif +%if %{with gpg} +BuildRequires: pkgconfig(gpgme) +%endif +%if %{with omemo} +BuildRequires: pkgconfig(libgcrypt) >= 1.7.0 +BuildRequires: pkgconfig(libsignal-protocol-c) >= 2.3.2 +%endif +%if %{with xscreensaver} +BuildRequires: pkgconfig(xscrnsaver) +%endif +%if %{with icons} +BuildRequires: pkgconfig(gtk+-3.0) >= 3.24.0 +%endif +%if %{with scaled_avatars} +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +%endif +%if %{with omemo_qrcode} +BuildRequires: pkgconfig(libqrencode) +%endif +# tests requirements +%if %{with tests} +BuildRequires: expect +BuildRequires: pkgconfig(cmocka) +%endif +%if "%{flavor}" == "" +Obsoletes: profanity-standard +%endif %description -Profanity is a console-based XMPP client written in C using ncurses, -and inspired by Irssi. - -%package mini -Summary: Console-based XMPP client -Group: Productivity/Networking/Instant Messenger -Requires: profanity = %{version} -Provides: profanity-binary = %{version}-%{release} -Conflicts: profanity-binary -Removepathpostfixes: .mini - -%description mini -Profanity is a console-based XMPP client written in C using ncurses, -and inspired by Irssi. +Profanity is a console-based XMPP client written in C using ncurses, and +inspired by Irssi. +%if "%{flavor}" == "mini" This package holds a minimal version, with most options not compiled in to have fewer dependencies. It is thus well suited for headless servers. +%endif -%package standard -Summary: Console-based XMPP client -Group: Productivity/Networking/Instant Messenger -Requires: profanity = %{version} -Provides: profanity-binary = %{version}-%{release} -Conflicts: profanity-binary -Removepathpostfixes: .standard +# only standard flavor builds the plugin library +%if "%{flavor}" == "" +%package -n libprofanity%{sover} +Summary: Shared library for the %{name} console-based XMPP client + +%description -n libprofanity%{sover} +Profanity is a console-based XMPP client written in C using ncurses, and +inspired by Irssi. + +This package contains the shared library used by the profanity client and +plug-ins. + +%package devel +Summary: Development files for the libprofanity XMPP client library +Requires: libprofanity%{sover} = %{version} + +%description devel +Profanity is a console-based XMPP client written in C using ncurses, and +inspired by Irssi. -%description standard -Profanity is a-console based XMPP client written in C using ncurses, -and inspired by Irssi. - -This package holds the standard version. -Including: - * Desktop notifications (OSD) - * Tray icon +This package contains the files needed to build with libprofanity. +%endif %prep -%autosetup -p1 +%autosetup -p1 -n %{sname}-%{version} sed -i -e "s/python-config/python3-config/g" configure %build -%configure PYTHON_VERSION=3 \ +%configure \ +%if %{with notifications} --enable-notifications \ - --with-themes \ - --enable-otr \ - --enable-pgp \ - --enable-omemo \ +%endif +%if %{with python} + PYTHON_VERSION=3 \ --enable-python-plugins \ +%endif --enable-c-plugins \ --enable-plugins \ - --enable-icons-and-clipboard - -export CFLAGS="%{optflags} -fcommon" -%make_build - -%install -%make_install -rm %{buildroot}%{_libdir}/libprofanity.la - -mv %{buildroot}%{_bindir}/profanity %{buildroot}%{_bindir}/profanity.standard - -make clean - -%configure PYTHON_VERSION=3 \ - --disable-notifications \ - --with-themes \ +%if %{with otr} --enable-otr \ +%endif +%if %{with gpg} --enable-pgp \ +%endif +%if %{with omemo} --enable-omemo \ - --enable-python-plugins \ - --enable-c-plugins \ - --enable-plugins \ - --disable-icons-and-clipboard +%endif +%if %{with xscreensaver} + --with-xscreensaver \ +%endif + --with-themes \ +%if %{with icons} + --enable-icons-and-clipboard \ +%endif +%if %{with scaled_avatars} + --enable-gdk-pixbuf \ +%endif +%if %{with omemo_qrcode} + --enable-omemo-qrcode \ +%endif + %{nil} +%make_build -export CFLAGS="%{optflags} -fcommon" -make %{?_smp_mflags} +%install %make_install -rm %{buildroot}%{_libdir}/libprofanity.la - -mv %{buildroot}%{_bindir}/profanity %{buildroot}%{_bindir}/profanity.mini +find %{buildroot} -type f -name "*.la" -delete -print +%if "%{flavor}" == "mini" +rm %{buildroot}%{_includedir}/profapi.h +rm %{buildroot}%{_libdir}/libprofanity.so* +%endif + +%check +%if %{with tests} +%make_build check +%endif + +# only standard flavor builds the plugin library +%if "%{flavor}" == "" +%ldconfig_scriptlets -n libprofanity%{sover} +%endif %files -%{_mandir}/man1/profanity.1%{?ext_man} -%{_mandir}/man1/profanity-*.1%{?ext_man} -%dir %{_datadir}/profanity/ -%dir %{_datadir}/profanity/themes/ -%dir %{_datadir}/profanity/icons/ -%{_datadir}/profanity/themes/* -%{_datadir}/profanity/icons/* -# for now we will have them here -%{_libdir}/libprofanity.so* +%license COPYING LICENSE.txt +%{_bindir}/profanity +%{_mandir}/man1/*1%{?ext_man} +%{_datadir}/profanity/ + +# only standard flavor builds the plugin library +%if "%{flavor}" == "" +%files -n libprofanity%{sover} +%license COPYING LICENSE.txt +%{_libdir}/libprofanity.so.%{sover}{,.*} +%files devel +%license COPYING LICENSE.txt %{_includedir}/profapi.h - -%files mini -%{_bindir}/profanity.mini - -%files standard -%{_bindir}/profanity.standard - -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%{_libdir}/libprofanity.so +%endif ++++++ _multibuild ++++++ <multibuild> <flavor>mini</flavor> </multibuild> ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.UPmwUY/_old 2025-08-20 13:26:29.119324312 +0200 +++ /var/tmp/diff_new_pack.UPmwUY/_new 2025-08-20 13:26:29.123324480 +0200 @@ -1,6 +1,6 @@ -mtime: 1753254306 -commit: eb166bb46892870c298f6d914fbdb5a894a3f2da76a7b7687a2a25004f2c7696 +mtime: 1755618983 +commit: e234792cba84d133146c488f11e0093e4f1d34749da807313fb04cb344a5f66c url: https://src.opensuse.org/xmpp/profanity.git -revision: eb166bb46892870c298f6d914fbdb5a894a3f2da76a7b7687a2a25004f2c7696 +revision: e234792cba84d133146c488f11e0093e4f1d34749da807313fb04cb344a5f66c projectscmsync: https://src.opensuse.org/xmpp/_ObsPrj.git ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2025-08-19 17:56:40.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch ++++++ >From 9f2abc75ad27d3dcc951b8fc5aa922bdbe76f287 Mon Sep 17 00:00:00 2001 From: Andreas Stieger <andreas.stie...@gmx.de> Date: Mon, 28 Jul 2025 18:38:26 +0200 Subject: [PATCH] Fix tests with gcc15 (uintptr_t) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixes: error: ‘uintptr_t’ undeclared, defined in header ‘<stdint.h> --- tests/unittests/config/stub_accounts.c | 1 + tests/unittests/log/stub_log.c | 1 + tests/unittests/test_autocomplete.c | 1 + tests/unittests/test_chat_session.c | 1 + tests/unittests/test_common.c | 1 + tests/unittests/test_jid.c | 1 + tests/unittests/test_parser.c | 1 + tests/unittests/test_preferences.c | 1 + tests/unittests/test_roster_list.c | 1 + 9 files changed, 9 insertions(+) diff --git a/tests/unittests/config/stub_accounts.c b/tests/unittests/config/stub_accounts.c index 360e564312..981d018013 100644 --- a/tests/unittests/config/stub_accounts.c +++ b/tests/unittests/config/stub_accounts.c @@ -1,5 +1,6 @@ #include <stdarg.h> #include <stddef.h> +#include <stdint.h> #include <setjmp.h> #include <cmocka.h> diff --git a/tests/unittests/log/stub_log.c b/tests/unittests/log/stub_log.c index 23ab5cdc88..f0f67e4781 100644 --- a/tests/unittests/log/stub_log.c +++ b/tests/unittests/log/stub_log.c @@ -20,6 +20,7 @@ * */ +#include <stdint.h> #include <glib.h> #include <setjmp.h> #include <cmocka.h> diff --git a/tests/unittests/test_autocomplete.c b/tests/unittests/test_autocomplete.c index 599cf39003..0e30735137 100644 --- a/tests/unittests/test_autocomplete.c +++ b/tests/unittests/test_autocomplete.c @@ -1,6 +1,7 @@ #include <glib.h> #include <stdarg.h> #include <stddef.h> +#include <stdint.h> #include <setjmp.h> #include <cmocka.h> #include <stdlib.h> diff --git a/tests/unittests/test_chat_session.c b/tests/unittests/test_chat_session.c index 26845dbcbf..2de18c0866 100644 --- a/tests/unittests/test_chat_session.c +++ b/tests/unittests/test_chat_session.c @@ -4,6 +4,7 @@ #include <setjmp.h> #include <cmocka.h> #include <stdlib.h> +#include <stdint.h> #include "xmpp/chat_session.h" diff --git a/tests/unittests/test_common.c b/tests/unittests/test_common.c index f381947b8c..e340fcf378 100644 --- a/tests/unittests/test_common.c +++ b/tests/unittests/test_common.c @@ -5,6 +5,7 @@ #include <setjmp.h> #include <cmocka.h> #include <stdlib.h> +#include <stdint.h> void replace_one_substr(void** state) diff --git a/tests/unittests/test_jid.c b/tests/unittests/test_jid.c index 645a7b0a5e..77886e4a42 100644 --- a/tests/unittests/test_jid.c +++ b/tests/unittests/test_jid.c @@ -1,5 +1,6 @@ #include <stdarg.h> #include <stddef.h> +#include <stdint.h> #include <setjmp.h> #include <cmocka.h> #include <stdlib.h> diff --git a/tests/unittests/test_parser.c b/tests/unittests/test_parser.c index 3d0d3fc6e6..8019097da0 100644 --- a/tests/unittests/test_parser.c +++ b/tests/unittests/test_parser.c @@ -1,5 +1,6 @@ #include <stdarg.h> #include <stddef.h> +#include <stdint.h> #include <setjmp.h> #include <cmocka.h> #include <stdlib.h> diff --git a/tests/unittests/test_preferences.c b/tests/unittests/test_preferences.c index 7868791d41..1eb2ba3643 100644 --- a/tests/unittests/test_preferences.c +++ b/tests/unittests/test_preferences.c @@ -1,5 +1,6 @@ #include <stdarg.h> #include <stddef.h> +#include <stdint.h> #include <setjmp.h> #include <cmocka.h> #include <stdlib.h> diff --git a/tests/unittests/test_roster_list.c b/tests/unittests/test_roster_list.c index fc10d1a740..185a9c7282 100644 --- a/tests/unittests/test_roster_list.c +++ b/tests/unittests/test_roster_list.c @@ -5,6 +5,7 @@ #include <setjmp.h> #include <cmocka.h> #include <stdlib.h> +#include <stdint.h> #include "xmpp/contact.h" #include "xmpp/roster_list.h"