Commit f8b6660e authored by Evangelos Ribeiro Tzaras's avatar Evangelos Ribeiro Tzaras
Browse files

Revert "Merge branch 'backport_latest_byzantium_0.3.0-2' into 'pureos/amber-phone'"

This reverts merge request !5 because there are some issues with
crashing calls in certain conditions (related to gnome-online-accounts)

Therefore I think it would be best to just backport relevant
fixes instead of pushing the new version.
parent 38fb269c
Pipeline #65959 passed with stages
in 8 minutes and 10 seconds
include:
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-definitions.yml'
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-byzantium-jobs.yml'
stages:
- build
......@@ -8,54 +7,79 @@ stages:
- package
- test-package
variables:
DEPS: build-essential git
WANT_BUILD_DEPS: "true"
IMAGE: debian:bullseye
COMMON_BUILD_OPTS: --werror
before_script:
- export DEBIAN_FRONTEND=noninteractive
- apt-get -y update
- apt-get -y install $DEPS wget ca-certificates gnupg
- echo "deb http://ci.puri.sm/ bullseyeci main" > /etc/apt/sources.list.d/ci.list
- wget -O- https://ci.puri.sm/ci-repo.key | apt-key add -
- apt-get -y update
- apt-get -y build-dep .
- ulimit -c unlimited
.tags: &tags
tags:
- librem5
.build_step: &build_step
script:
- 'echo "Build opts: ${BUILD_OPTS}"'
- meson ${BUILD_OPTS} . _build
- ninja -C _build
build:native:
<<: *tags
image: $IMAGE
stage: build
artifacts:
paths:
- _build
variables:
BUILD_OPTS: -Dgtk_doc=true ${COMMON_BUILD_OPTS}
WANT_BUILD_DEPS: "true"
COMMON_BUILD_OPTS: --werror
<<: *build_step
except:
variables:
- $PKG_ONLY == "1"
image: pureos/byzantium
tags:
- librem5
before_script:
- export DEBIAN_FRONTEND=noninteractive
- apt-get -y update
- apt-get -y build-dep .
- ulimit -c unlimited
script:
- 'echo "Build opts: ${BUILD_OPTS}"'
- meson ${BUILD_OPTS} . _build
- ninja -C _build
test:native:
extends: build:native
<<: *tags
image: $IMAGE
stage: test
dependencies:
- build:native
script:
- export LC_ALL=C.UTF-8
- xvfb-run ninja -C _build test
except:
variables:
- $PKG_ONLY == "1"
build-gtkdoc:
extends: build:native
<<: *tags
image: $IMAGE
stage: test
dependencies:
- build:native
<<: *build_step
script:
- ninja -C _build calls-doc
- mv _build/doc/html/ _reference/
artifacts:
paths:
- _reference
except:
variables:
- $PKG_ONLY == "1"
check-po:
extends: build:native
<<: *tags
image: $IMAGE
stage: test
dependencies:
- build:native
......@@ -68,62 +92,25 @@ check-po:
# in this case
- cd po/
- intltool-update -m 2>&1 | grep -qs '/.*\.c' && { intltool-update -m; exit 1; } || exit 0
except:
variables:
- $PKG_ONLY == "1"
# For some reason including https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml fails, therefore it's copied here
.flatpak:
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
stage: 'package'
interruptible: true
tags:
- flatpak
script:
- rewrite-flatpak-manifest ${MANIFEST_PATH} ${FLATPAK_MODULE} ${CONFIG_OPTS}
- flatpak-builder --user --disable-rofiles-fuse flatpak_app --repo=repo ${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH}
# Generate a Flatpak bundle
- flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID} ${BRANCH}
- tar cf repo.tar repo/
# Run automatic tests inside the Flatpak env
# we need to recreate the build directory because cleanup would have deleted build dependencies
- rm -rf flatpak_app
- flatpak-builder --user --disable-rofiles-fuse --build-only flatpak_app ${MANIFEST_PATH}
- flatpak build-finish --socket=x11 --share=network flatpak_app
- >
xvfb-run -a -s "-screen 0 1024x768x24"
flatpak-builder --user --disable-rofiles-fuse --build-shell=${FLATPAK_MODULE} flatpak_app ${MANIFEST_PATH} <<END
package:deb-debian-buster:
extends: .l5-build-debian-package
LANG=C.UTF-8
NO_AT_BRIDGE=1
dbus-run-session
meson test --no-stdsplit --print-errorlogs ${TEST_RUN_ARGS}
package:deb-debian-buster:arm64:
tags:
- librem5:arm64
extends: .l5-build-debian-package
END
autopkgtest-debian-buster-package:
dependencies:
- package:deb-debian-buster
extends: .l5-autopkgtest-debian-package
artifacts:
name: 'Flatpak artifacts'
expose_as: 'Get Flatpak bundle here'
when: 'always'
paths:
- "${BUNDLE}"
- 'repo.tar'
- '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/meson-log.txt'
- '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.txt'
expire_in: 14 days
cache:
key: "$CI_JOB_NAME"
paths:
- '.flatpak-builder/downloads'
- '.flatpak-builder/git'
lintian-debian-buster-package:
dependencies:
- package:deb-debian-buster
extends: .l5-lintian-debian-package
flatpak:master:
extends: .flatpak
stage: package
variables:
MANIFEST_PATH: "sm.puri.Calls.json"
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
FLATPAK_MODULE: "calls"
# Make sure to keep this in sync with the Flatpak manifest, all arguments
# are passed except the config-args because we build it ourselves
MESON_ARGS: ""
APP_ID: "sm.puri.Calls"
BUNDLE: 'calls.flatpak'
......@@ -6,11 +6,11 @@ Comment=A phone dialer and call handler (daemon mode)
Keywords=Telephone;Call;Phone;Dial;Dialer;PSTN;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=sm.puri.Calls
TryExec=gnome-calls
Exec=gnome-calls --daemon
TryExec=calls
Exec=calls --daemon
Type=Application
StartupNotify=true
NoDisplay=true
Terminal=false
Categories=Network;GNOME;GTK;Telephony;
Categories=GNOME;GTK;Telephony;
X-GNOME-AutoRestart=true
......@@ -6,11 +6,11 @@ Comment=A phone dialer and call handler
Keywords=Telephone;Call;Phone;Dial;Dialer;PSTN;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=sm.puri.Calls
TryExec=gnome-calls
Exec=gnome-calls %u
TryExec=calls
Exec=calls %u
Type=Application
StartupNotify=true
Terminal=false
Categories=Network;GNOME;GTK;Telephony;
Categories=GNOME;GTK;Telephony;
MimeType=x-scheme-handler/tel
X-Purism-FormFactor=Workstation;Mobile;
/usr/share/gtk-doc/html/calls
/etc
/usr/bin
/usr/lib
/usr/share/applications
/usr/share/icons
/usr/share/locale
/usr/share/metainfo
mv_conffile /etc/xdg/autostart/sm.puri.Calls.desktop /etc/xdg/autostart/sm.puri.Calls-daemon.desktop 0.2.0~
gnome-calls (0.3.0-2pureos1~amber1) amber-phone; urgency=medium
* Upload to amber-phone
* debian: Remove calls* files
-- Evangelos Ribeiro Tzaras <evangelos.tzaras@puri.sm> Sat, 13 Mar 2021 02:54:54 +0100
gnome-calls (0.3.0-2pureos1) byzantium; urgency=medium
* Upload to byzantium
-- Evangelos Ribeiro Tzaras <evangelos.tzaras@puri.sm> Tue, 16 Feb 2021 03:59:15 +0100
gnome-calls (0.3.0-2) experimental; urgency=medium
* d/patches: fix double free
-- Evangelos Ribeiro Tzaras <devrtz-debian@fortysixandtwo.eu> Tue, 16 Feb 2021 03:35:42 +0100
gnome-calls (0.3.0-1pureos1) byzantium; urgency=medium
* d/gbp.conf: Use 'v%(version)s' upstream tags (debian imports tarballs)
* Upload to byzantium
-- Evangelos Ribeiro Tzaras <evangelos.tzaras@puri.sm> Sun, 14 Feb 2021 15:28:50 +0100
gnome-calls (0.3.0-1) experimental; urgency=medium
* d/gbp.conf: Use default upstream tag format
* d/patches: Remove upstreamed patches
* d: Adjust doc installation directory
-- Evangelos Ribeiro Tzaras <devrtz-debian@fortysixandtwo.eu> Sat, 13 Feb 2021 10:54:04 +0100
gnome-calls (0.2.0-2pureos1~amber1) amber-phone; urgency=medium
* Upload to amber-phone
......
......@@ -7,4 +7,3 @@ upstream-tag = v%(version)s
[tag]
sign-tags = true
/usr/share/gtk-doc/html/calls
/usr/share/gtk-doc/html/gnome-calls
Subject: Fix missing main category from desktop file
From: Evangelos Ribeiro Tzaras <devrtz-debian@fortysixandtwo.eu>
* data/sm.puri.Calls.desktop: Added Network main category
--- a/data/sm.puri.Calls-daemon.desktop.in
+++ b/data/sm.puri.Calls-daemon.desktop.in
@@ -12,5 +12,5 @@
StartupNotify=true
NoDisplay=true
Terminal=false
-Categories=GNOME;GTK;Telephony;
+Categories=Network;GNOME;GTK;Telephony;
X-GNOME-AutoRestart=true
--- a/data/sm.puri.Calls.desktop.in
+++ b/data/sm.puri.Calls.desktop.in
@@ -11,6 +11,6 @@
Type=Application
StartupNotify=true
Terminal=false
-Categories=GNOME;GTK;Telephony;
+Categories=Network;GNOME;GTK;Telephony;
MimeType=x-scheme-handler/tel
X-Purism-FormFactor=Workstation;Mobile;
From d75a08b9b7e45d22b75772848d83a9ef8ee9e5fe Mon Sep 17 00:00:00 2001
From: Evangelos Ribeiro Tzaras <evangelos.tzaras@puri.sm>
Date: Tue, 16 Feb 2021 02:59:24 +0100
Subject: [PATCH] application: Fix double free
The double free was introduced in 46e4422.
This fixes #225
---
src/calls-application.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/calls-application.c b/src/calls-application.c
index 05eaef5..f8cfdf7 100644
--- a/src/calls-application.c
+++ b/src/calls-application.c
@@ -188,8 +188,6 @@ check_dial_number (const gchar *number)
matches = g_regex_match (reject, number, 0, NULL);
- g_regex_unref (reject);
-
return !matches;
}
--
2.30.0
Subject: Rename binary from 'calls' to 'gnome-calls'
From: Evangelos Ribeiro Tzaras <devrtz-debian@fortysixandtwo.eu>
* src/meson.build: Renamed executable
* data/sm.puri.Calls.desktop: Changed Exec and TryExec to reflect the new name
--- a/src/meson.build
+++ b/src/meson.build
@@ -120,7 +120,7 @@
)
executable (
- 'calls',
+ 'gnome-calls',
calls_sources, calls_enum_sources, calls_resources,
wl_proto_sources, wayland_sources, 'main.c',
dependencies : calls_deps,
--- a/data/sm.puri.Calls.desktop.in
+++ b/data/sm.puri.Calls.desktop.in
@@ -6,8 +6,8 @@
Keywords=Telephone;Call;Phone;Dial;Dialer;PSTN;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=sm.puri.Calls
-TryExec=calls
-Exec=calls %u
+TryExec=gnome-calls
+Exec=gnome-calls %u
Type=Application
StartupNotify=true
Terminal=false
--- a/data/sm.puri.Calls-daemon.desktop.in
+++ b/data/sm.puri.Calls-daemon.desktop.in
@@ -6,8 +6,8 @@
Keywords=Telephone;Call;Phone;Dial;Dialer;PSTN;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=sm.puri.Calls
-TryExec=calls
-Exec=calls --daemon
+TryExec=gnome-calls
+Exec=gnome-calls --daemon
Type=Application
StartupNotify=true
NoDisplay=true
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -41,7 +41,7 @@
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gi')),
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gtk3')),
],
- install_dir: 'calls',
+ install_dir: 'gnome-calls',
install: true)
endif
From eaed62151bd533a4021ba937a959464383ddc0cb Mon Sep 17 00:00:00 2001
From: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Date: Tue, 12 Jan 2021 18:40:12 +0100
Subject: [PATCH 1/2] call-display: update libcallaudio API calls
Upstream modified the async API, make sure we use it.
---
src/calls-call-display.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/calls-call-display.c b/src/calls-call-display.c
index 7d17772..2bfb8fc 100644
--- a/src/calls-call-display.c
+++ b/src/calls-call-display.c
@@ -211,7 +211,7 @@ stop_timeout (CallsCallDisplay *self)
static void
-select_mode_complete (gboolean success, GError *error)
+select_mode_complete (gboolean success, GError *error, gpointer data)
{
if (error)
{
@@ -261,11 +261,15 @@ call_state_changed_cb (CallsCallDisplay *self,
state != CALLS_CALL_STATE_DIALING
&& state != CALLS_CALL_STATE_ALERTING);
- call_audio_select_mode_async (CALL_AUDIO_MODE_CALL, select_mode_complete);
+ call_audio_select_mode_async (CALL_AUDIO_MODE_CALL,
+ select_mode_complete,
+ NULL);
break;
case CALLS_CALL_STATE_DISCONNECTED:
- call_audio_select_mode_async (CALL_AUDIO_MODE_DEFAULT, select_mode_complete);
+ call_audio_select_mode_async (CALL_AUDIO_MODE_DEFAULT,
+ select_mode_complete,
+ NULL);
break;
}
--
2.26.2
From b371ee665c981c3ea9f398da04fdf1536560cae6 Mon Sep 17 00:00:00 2001
From: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Date: Tue, 12 Jan 2021 18:42:29 +0100
Subject: [PATCH 2/2] src: meson.build: update libcallaudio dependency
---
src/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/meson.build b/src/meson.build
index 6222432..9be8cd8 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -36,7 +36,7 @@ calls_deps = [ dependency('gobject-2.0', version: '>= 2.58'),
dependency('gom-1.0'),
dependency('libebook-contacts-1.2'),
dependency('folks'),
- dependency('libcallaudio-0'),
+ dependency('libcallaudio-0.1'),
]
if wl_scanner.found()
--
2.26.2
0001-application-Fix-double-free.patch
0000-fix-missing-main-category-from-desktop-file.patch
0001-rename-binary.patch
0002-callaudio-api.patch
......@@ -22,7 +22,7 @@
project(
'calls',
'c', 'vala',
version: '0.3.0',
version: '0.2.0',
license: 'GPLv3+',
meson_version: '>= 0.47.0',
default_options: [
......
......@@ -33,30 +33,55 @@
struct _CallsDummyProvider
{
CallsProvider parent_instance;
GObject parent_instance;
GList *origins;
};
static void calls_dummy_provider_message_source_interface_init (CallsMessageSourceInterface *iface);
static void calls_dummy_provider_message_source_interface_init (CallsProviderInterface *iface);
static void calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface);
#ifdef FOR_TESTING
G_DEFINE_TYPE_WITH_CODE
(CallsDummyProvider, calls_dummy_provider, CALLS_TYPE_PROVIDER,
(CallsDummyProvider, calls_dummy_provider, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (CALLS_TYPE_MESSAGE_SOURCE,
calls_dummy_provider_message_source_interface_init))
calls_dummy_provider_message_source_interface_init)
G_IMPLEMENT_INTERFACE (CALLS_TYPE_PROVIDER,
calls_dummy_provider_provider_interface_init))
#else
G_DEFINE_DYNAMIC_TYPE_EXTENDED
(CallsDummyProvider, calls_dummy_provider, CALLS_TYPE_PROVIDER, 0,
(CallsDummyProvider, calls_dummy_provider, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE_DYNAMIC (CALLS_TYPE_MESSAGE_SOURCE,
calls_dummy_provider_message_source_interface_init))
calls_dummy_provider_message_source_interface_init)
G_IMPLEMENT_INTERFACE_DYNAMIC (CALLS_TYPE_PROVIDER,
calls_dummy_provider_provider_interface_init))
#endif /* FOR_TESTING */
enum {
PROP_0,
PROP_STATUS,
PROP_LAST_PROP,
};
static const gchar *
get_name (CallsProvider *iface)
{
return "Dummy provider";
}
static GList *
get_origins (CallsProvider *iface)
{
CallsDummyProvider *self = CALLS_DUMMY_PROVIDER (iface);
return g_list_copy (self->origins);
}
static gboolean
usr1_handler (CallsDummyProvider *self)
......@@ -73,25 +98,6 @@ usr1_handler (CallsDummyProvider *self)
return TRUE;
}
static const char *
calls_dummy_provider_get_name (CallsProvider *provider)
{
return "Dummy provider";
}
static const char *
calls_dummy_provider_get_status (CallsProvider *provider)
{
return "Normal";
}
static GList *
calls_dummy_provider_get_origins (CallsProvider *provider)
{
CallsDummyProvider *self = CALLS_DUMMY_PROVIDER (provider);
return g_list_copy (self->origins);
}
static void
constructed (GObject *object)
......@@ -108,6 +114,24 @@ constructed (GObject *object)
}
static void
get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec)
{
switch (property_id) {
case PROP_STATUS:
g_value_set_string (value, "Normal");
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
}
}
static void
dispose (GObject *object)
{
......@@ -133,20 +157,26 @@ static void
calls_dummy_provider_class_init (CallsDummyProviderClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
CallsProviderClass *provider_class = CALLS_PROVIDER_CLASS (klass);
object_class->constructed = constructed;
object_class->get_property = get_property;
object_class->dispose = dispose;
provider_class->get_name = calls_dummy_provider_get_name;
provider_class->get_status = calls_dummy_provider_get_status;
provider_class->get_origins = calls_dummy_provider_get_origins;
g_object_class_override_property (object_class, PROP_STATUS, "status");
}
static void
calls_dummy_provider_message_source_interface_init (CallsProviderInterface *iface)
{
}
static void
calls_dummy_provider_message_source_interface_init (CallsMessageSourceInterface *iface)
calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface)
{
iface->get_name = get_name;
iface->get_origins = get_origins;
}
......
......@@ -27,13 +27,11 @@
#include <glib-object.h>
#include "calls-provider.h"
G_BEGIN_DECLS
#define CALLS_TYPE_DUMMY_PROVIDER (calls_dummy_provider_get_type ())
G_DECLARE_FINAL_TYPE (CallsDummyProvider, calls_dummy_provider, CALLS, DUMMY_PROVIDER, CallsProvider)
G_DECLARE_FINAL_TYPE (CallsDummyProvider, calls_dummy_provider, CALLS, DUMMY_PROVIDER, GObject);
CallsDummyProvider *calls_dummy_provider_new ();