Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cog for openSUSE:Factory checked in at 2024-01-05 21:42:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cog (Old) and /work/SRC/openSUSE:Factory/.cog.new.28375 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cog" Fri Jan 5 21:42:28 2024 rev:2 rq:1137025 version:0.18.2 Changes: -------- --- /work/SRC/openSUSE:Factory/cog/cog.changes 2023-12-12 19:33:14.762710175 +0100 +++ /work/SRC/openSUSE:Factory/.cog.new.28375/cog.changes 2024-01-05 21:43:46.615465995 +0100 @@ -1,0 +2,17 @@ +Fri Jan 5 08:48:59 UTC 2024 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 0.18.2: + + drm: Fix crash on iMX.6 (and possibly others) by improving how + the CRTC and encoder combination is chosen. + + wl: Add support for Weston protocols version 13. + + launcher: Handle GApplication activation to avoid a warning. + +------------------------------------------------------------------- +Wed Dec 6 08:48:26 UTC 2023 - Jan Engelhardt <jeng...@inai.de> + +- cogctl does not look like a devel package; merge it with main + package +- Install cogctl manpage +- Trim repeated "small" word from description. + +------------------------------------------------------------------- Old: ---- cog-0.18.1.obscpio New: ---- cog-0.18.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cog.spec ++++++ --- /var/tmp/diff_new_pack.3ZFNpE/_old 2024-01-05 21:43:47.371493662 +0100 +++ /var/tmp/diff_new_pack.3ZFNpE/_new 2024-01-05 21:43:47.371493662 +0100 @@ -1,7 +1,7 @@ # # spec file for package cog # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,8 +15,9 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # + Name: cog -Version: 0.18.1 +Version: 0.18.2 Release: 0 Summary: WPE launcher and webapp container License: MIT @@ -26,42 +27,34 @@ Patch0: cog-fix-include-dirs.patch Patch1: cog-fix-load-backend-fdo-lib.patch +BuildRequires: cmake BuildRequires: meson BuildRequires: ninja BuildRequires: pkg-config -BuildRequires: cmake -BuildRequires: pkgconfig(wpe-webkit-2.0) -BuildRequires: pkgconfig(gio-2.0) -BuildRequires: pkgconfig(libsoup-3.0) -BuildRequires: pkgconfig(wpe-1.0) -BuildRequires: pkgconfig(manette-0.2) -BuildRequires: pkgconfig(wpebackend-fdo-1.0) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libinput) +BuildRequires: pkgconfig(libsoup-3.0) BuildRequires: pkgconfig(libudev) -BuildRequires: pkgconfig(cairo) -BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(manette-0.2) BuildRequires: pkgconfig(wayland-client) -BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-egl) -BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(wayland-protocols) -BuildRequires: pkgconfig(wayland-cursor) -BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(wayland-scanner) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wpe-1.0) +BuildRequires: pkgconfig(wpe-webkit-2.0) +BuildRequires: pkgconfig(wpebackend-fdo-1.0) +Obsoletes: cogctl < %{version} +Provides: cogctl:%{_bindir}/cogctl %description -Cog is a small single âwindowâ launcher for the WebKit WPE port. It is small, -provides no user interface, and is suitable to be used as a Web application -container. The âwindowâ may be fullscreen depending on the WPE backend -being used. - -%package -n cogctl -Summary: Development files for %{name} -Group: Development/Libraries/C and C++ - -%description -n cogctl -Cog is a small single âwindowâ launcher for the WebKit WPE port. It is small, +Cog is a small single âwindowâ launcher for the WebKit WPE port. It provides no user interface, and is suitable to be used as a Web application container. The âwindowâ may be fullscreen depending on the WPE backend being used. @@ -72,7 +65,7 @@ Requires: cog = %{version} %description devel -Cog is a small single âwindowâ launcher for the WebKit WPE port. It is small, +Cog is a small single âwindowâ launcher for the WebKit WPE port. It provides no user interface, and is suitable to be used as a Web application container. The âwindowâ may be fullscreen depending on the WPE backend being used. @@ -88,11 +81,13 @@ %install %meson_install +cp -a data/cogctl.1 "%{buildroot}/%{_mandir}/man1/" %ldconfig_scriptlets %files %{_bindir}/cog +%{_bindir}/cogctl %{_libdir}/libcogcore.so.* %dir %{_libdir}/cog %{_libdir}/cog/modules @@ -100,9 +95,6 @@ %license COPYING %doc NEWS -%files -n cogctl -%{_bindir}/cogctl - %files devel %{_includedir}/cog %{_libdir}/libcogcore.so ++++++ _service ++++++ --- /var/tmp/diff_new_pack.3ZFNpE/_old 2024-01-05 21:43:47.395494540 +0100 +++ /var/tmp/diff_new_pack.3ZFNpE/_new 2024-01-05 21:43:47.399494687 +0100 @@ -3,7 +3,7 @@ <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/Igalia/cog.git</param> - <param name="revision">0.18.1</param> + <param name="revision">0.18.2</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ cog-0.18.1.obscpio -> cog-0.18.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cog-0.18.1/NEWS new/cog-0.18.2/NEWS --- old/cog-0.18.1/NEWS 2023-11-15 12:09:36.000000000 +0100 +++ new/cog-0.18.2/NEWS 2023-12-13 10:00:55.000000000 +0100 @@ -1,4 +1,13 @@ ========================== +0.18.2 - December 13, 2023 +========================== + +- drm: Fix crash on iMX.6 (and possibly others) by improving how the CRTC + and encoder combination is chosen. +- wl: Add support for Weston protocols version 13. +- launcher: Handle GApplication activation to avoid a warning. + +========================== 0.18.1 - November 15, 2023 ========================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cog-0.18.1/launcher/cog-launcher.c new/cog-0.18.2/launcher/cog-launcher.c --- old/cog-0.18.1/launcher/cog-launcher.c 2023-11-15 12:09:36.000000000 +0100 +++ new/cog-0.18.2/launcher/cog-launcher.c 2023-12-13 10:00:55.000000000 +0100 @@ -437,6 +437,14 @@ } static void +cog_launcher_activate(GApplication *application) +{ + /* GApplication warns if activate is not handled. Usually this signal will focus a + window but this doesn't apply to many of our platforms so this is a noop. */ + G_APPLICATION_CLASS(cog_launcher_parent_class)->activate(application); +} + +static void cog_launcher_shutdown(GApplication *application) { cog_shell_shutdown(cog_launcher_get_shell(COG_LAUNCHER(application))); @@ -1406,6 +1414,7 @@ application_class->startup = cog_launcher_startup; application_class->shutdown = cog_launcher_shutdown; application_class->handle_local_options = cog_launcher_handle_local_options; + application_class->activate = cog_launcher_activate; g_object_class_install_property(object_class, PROP_AUTOMATED, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cog-0.18.1/meson.build new/cog-0.18.2/meson.build --- old/cog-0.18.1/meson.build 2023-11-15 12:09:36.000000000 +0100 +++ new/cog-0.18.2/meson.build 2023-12-13 10:00:55.000000000 +0100 @@ -6,7 +6,7 @@ 'c_std=c11', ], license: 'MIT', - version: '0.18.1', + version: '0.18.2', ) # Before making a release, the LT_VERSION string should be modified. @@ -16,7 +16,7 @@ # - If binary compatibility has been broken (eg removed or changed interfaces) # change to [C+1, 0, 0] # - If the interface is the same as the previous version, use [C, R+1, A]. -cogcore_soversion = [11, 4, 2] +cogcore_soversion = [11, 5, 2] # Mangle [C, R, A] into an actual usable *soversion*. cogcore_soversion_major = cogcore_soversion[0] - cogcore_soversion[2] # Current-Age diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cog-0.18.1/platform/drm/cog-platform-drm.c new/cog-0.18.2/platform/drm/cog-platform-drm.c --- old/cog-0.18.1/platform/drm/cog-platform-drm.c 2023-11-15 12:09:36.000000000 +0100 +++ new/cog-0.18.2/platform/drm/cog-platform-drm.c 2023-12-13 10:00:55.000000000 +0100 @@ -351,6 +351,21 @@ return supported; } +static int32_t +find_crtc_for_encoder(const drmModeRes *resources, const drmModeEncoder *encoder) +{ + for (int i = 0; i < resources->count_crtcs; i++) { + const uint32_t crtc_mask = 1 << i; + const uint32_t crtc_id = resources->crtcs[i]; + if (encoder->possible_crtcs & crtc_mask && encoder->crtc_id == crtc_id) { + return crtc_id; + } + } + + /* no match found */ + return -1; +} + static gboolean init_drm(void) { @@ -493,19 +508,30 @@ (long)((drm_data.mode - drm_data.connector.obj->modes) / sizeof(drmModeModeInfo *)), drm_data.mode->name, drm_data.mode->vrefresh); + /* Try the currently connected encoder+crtc */ for (int i = 0; i < drm_data.base_resources->count_encoders; ++i) { drm_data.encoder = drmModeGetEncoder(drm_data.fd, drm_data.base_resources->encoders[i]); - if (drm_data.encoder->encoder_id == drm_data.connector.obj->encoder_id) + if (!drm_data.encoder) { + /* cannot retrieve encoder, ignoring... */ + continue; + } + + const int32_t crtc_id = find_crtc_for_encoder(drm_data.base_resources, drm_data.encoder); + if (crtc_id != -1) { + drm_data.crtc.obj_id = crtc_id; break; + } g_clear_pointer (&drm_data.encoder, drmModeFreeEncoder); } - if (!drm_data.encoder) + + if (!drm_data.encoder) { + fprintf(stderr, "no crtc for encoder found!\n"); return FALSE; + } drm_data.connector.obj_id = drm_data.connector.obj->connector_id; - drm_data.crtc.obj_id = drm_data.encoder->crtc_id; drm_data.crtc.obj = drmModeGetCrtc (drm_data.fd, drm_data.crtc.obj_id); for (int i = 0; i < drm_data.base_resources->count_crtcs; ++i) { if (drm_data.base_resources->crtcs[i] == drm_data.crtc.obj_id) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cog-0.18.1/platform/wayland/meson.build new/cog-0.18.2/platform/wayland/meson.build --- old/cog-0.18.1/platform/wayland/meson.build 2023-11-15 12:09:36.000000000 +0100 +++ new/cog-0.18.2/platform/wayland/meson.build 2023-12-13 10:00:55.000000000 +0100 @@ -48,6 +48,7 @@ if wayland_platform_weston_protocols.length() > 0 foreach weston_dep_name : [ + 'libweston-13-protocols', 'libweston-12-protocols', 'libweston-11-protocols', 'libweston-10-protocols', ++++++ cog.obsinfo ++++++ --- /var/tmp/diff_new_pack.3ZFNpE/_old 2024-01-05 21:43:47.535499664 +0100 +++ /var/tmp/diff_new_pack.3ZFNpE/_new 2024-01-05 21:43:47.539499810 +0100 @@ -1,5 +1,5 @@ name: cog -version: 0.18.1 -mtime: 1700046576 -commit: 984305c278af8fb3bb17dffb376f7ddfddb4457d +version: 0.18.2 +mtime: 1702458055 +commit: 066c93e941e9af94f12abc250ca7838f709d777d