From 79f00055b0cbde782e8b3f7c7f1e0ef57e926ac8 Mon Sep 17 00:00:00 2001 From: Ian Jordan Date: Tue, 9 Apr 2024 13:31:07 +0100 Subject: mate-base/mate-control-center: Optional systemd support Removed my fix and now using upstream patch. Signed-off-by: Ian Jordan Signed-off-by: Arthur Zamarin --- ...te-control-center-1.28.0-optional-systemd.patch | 250 +++++++++++++++++++++ .../mate-control-center-1.28.0.ebuild | 3 + 2 files changed, 253 insertions(+) create mode 100644 mate-base/mate-control-center/files/mate-control-center-1.28.0-optional-systemd.patch diff --git a/mate-base/mate-control-center/files/mate-control-center-1.28.0-optional-systemd.patch b/mate-base/mate-control-center/files/mate-control-center-1.28.0-optional-systemd.patch new file mode 100644 index 000000000000..11ecdc855382 --- /dev/null +++ b/mate-base/mate-control-center/files/mate-control-center-1.28.0-optional-systemd.patch @@ -0,0 +1,250 @@ +From 86a190c7b0ac8e5dbd5545d9aea30da771e34b31 Mon Sep 17 00:00:00 2001 +From: Oz Tiram +Date: Sun, 3 Mar 2024 14:36:27 +0100 +Subject: [PATCH 1/2] Make systemd optional + +There is not much of direct systemd usage in the system-info plugin. +This patch suggestion enables building this plugin on system like +alpine, voidlinux or gentoo with openrc. + +Signed-off-by: Oz Tiram +--- + capplets/system-info/mate-system-info.c | 12 ++++++++++-- + configure.ac | 16 +++++++++++++++- + 2 files changed, 25 insertions(+), 3 deletions(-) + +diff --git a/capplets/system-info/mate-system-info.c b/capplets/system-info/mate-system-info.c +index 36380678..180cdf3e 100644 +--- a/capplets/system-info/mate-system-info.c ++++ b/capplets/system-info/mate-system-info.c +@@ -21,6 +21,7 @@ + * + */ + #include ++#include + #include + #include + #include +@@ -159,6 +160,7 @@ mate_system_info_set_row (MateSystemInfo *info) + static char * + get_system_hostname (void) + { ++# ifdef HAVE_SYSTEMD + GDBusProxy *hostnamed_proxy; + g_autoptr(GVariant) variant = NULL; + g_autoptr(GError) error = NULL; +@@ -206,6 +208,9 @@ get_system_hostname (void) + g_object_unref (hostnamed_proxy); + return g_variant_dup_string (variant, NULL); + } ++# else ++ return g_strdup (g_get_host_name ()); ++# endif + } + + static char * +@@ -493,7 +498,9 @@ static struct { + { "openvz", "OpenVZ" }, + { "lxc", "LXC" }, + { "lxc-libvirt", "LXC (libvirt)" }, +- { "systemd-nspawn", "systemd (nspawn)" } ++# ifdef HAVE_SYSTEMD ++ { "systemd-nspawn", "systemd (nspawn)" }, ++# endif + }; + + static char * +@@ -666,7 +673,7 @@ mate_system_info_setup (MateSystemInfo *info) + kernel_text = get_kernel_vesrion (); + label = g_object_get_data (G_OBJECT (info->kernel_row), "labelvalue"); + set_lable_style (label, "gray", 12, kernel_text, FALSE); +- ++# ifdef HAVE_SYSTEMD + virt_text = get_system_virt (); + if (virt_text != NULL) + { +@@ -674,6 +681,7 @@ mate_system_info_setup (MateSystemInfo *info) + label = g_object_get_data (G_OBJECT (info->virtualization_row), "labelvalue"); + set_lable_style (label, "gray", 12, virt_text, FALSE); + } ++# endif + windowing_system_text = get_windowing_system (); + label = g_object_get_data (G_OBJECT (info->windowing_system_row), "labelvalue"); + set_lable_style (label, "gray", 12, windowing_system_text, FALSE); +diff --git a/configure.ac b/configure.ac +index aa43d083..45d5365f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -121,7 +121,6 @@ PKG_CHECK_MODULES(TYPING, $GMODULE_ADD glib-2.0 >= $GLIB_REQUIRED gio-2.0 gtk+-3 + PKG_CHECK_MODULES(GIO, gio-2.0) + PKG_CHECK_MODULES(GLIBTOP, libgtop-2.0) + PKG_CHECK_MODULES(UDISKS, udisks2) +-PKG_CHECK_MODULES(SYSTEMD, systemd >= $SYSTEMD_REQUIRED) + + PKG_CHECK_MODULES([DCONF], [dconf >= 0.13.4]) + AC_SUBST(DCONF_CFLAGS) +@@ -168,6 +167,20 @@ AC_ARG_ENABLE([libappindicator], + [enable_appindicator=yes], + [enable_appindicator=no])])]) + ++AC_ARG_ENABLE([systemd], ++ [AS_HELP_STRING([--enable-systemd[=@<:@no/auto/yes@:>@]],[Use systemd @<:@default=yes@:>@])], ++ [enable_systemd=$enableval], ++ [PKG_CHECK_EXISTS([$SYSTEMD >= $SYSTEMD_REQUIRED], ++ [enable_systemd=no], ++ , ++ )]) ++ ++AS_IF([test "x$enable_systemd" = xyes], ++ [AC_MSG_NOTICE([Building with systemd support.]) ++ PKG_CHECK_MODULES([SYSTEMD], ++ [systemd >= $SYSTEMD_REQUIRED], ++ [AC_DEFINE(HAVE_SYSTEMD, 1, [Have systemd])])]) ++ + AS_IF([test "x$enable_appindicator" = xyes], + [AC_MSG_NOTICE([Buidling against Ubuntu AppIndicator.]) + PKG_CHECK_MODULES([APPINDICATOR], +@@ -313,6 +326,7 @@ Configure summary: + + Ayatana AppIndicator (preferred) $(test "x$enable_appindicator" = xyes && echo no || echo yes) + Ubuntu AppIndicator (legacy) $(test "x$enable_appindicator" = xyes && echo yes || echo no) ++ Systemd: $(test "x$enable_systemd" = xyes && echo yes || echo no) + + Accountsservice: ${have_accountsservice} + Native Language support: ${USE_NLS} +-- +2.43.0 + + +From 0f0f4f7151cce75e44fe3fef870e7120b17866a4 Mon Sep 17 00:00:00 2001 +From: Oz Tiram +Date: Mon, 4 Mar 2024 08:03:40 +0100 +Subject: [PATCH 2/2] Disable function definitions if systemd isn't found + +Signed-off-by: Oz Tiram +--- + capplets/system-info/mate-system-info.c | 23 ++++++++++++++++------- + 1 file changed, 16 insertions(+), 7 deletions(-) + +diff --git a/capplets/system-info/mate-system-info.c b/capplets/system-info/mate-system-info.c +index 180cdf3e..00b0d8a3 100644 +--- a/capplets/system-info/mate-system-info.c ++++ b/capplets/system-info/mate-system-info.c +@@ -132,13 +132,15 @@ static void + mate_system_info_set_row (MateSystemInfo *info) + { + mate_system_info_row_fill (info->hostname_row, _("Device Name"), FALSE); ++# ifdef HAVE_SYSTEMD + mate_system_info_row_fill (info->hardware_model_row, _("Hardware Model"), TRUE); ++ mate_system_info_row_fill (info->virtualization_row, _("Virtualization"), TRUE); ++# endif + mate_system_info_row_fill (info->memory_row, _("Memory"), TRUE); + mate_system_info_row_fill (info->processor_row, _("Processor"), TRUE); + mate_system_info_row_fill (info->graphics_row, _("Graphics"), TRUE); + mate_system_info_row_fill (info->disk_row, _("Disk Capacity"), FALSE); + mate_system_info_row_fill (info->kernel_row, _("Kernel Version"), FALSE); +- mate_system_info_row_fill (info->virtualization_row, _("Virtualization"), TRUE); + mate_system_info_row_fill (info->windowing_system_row, _("Windowing System"), TRUE); + mate_system_info_row_fill (info->mate_version_row, _("MATE Version"), TRUE); + mate_system_info_row_fill (info->os_name_row, _("OS Name"), TRUE); +@@ -213,6 +215,7 @@ get_system_hostname (void) + # endif + } + ++# ifdef HAVE_SYSTEMD + static char * + get_hardware_model (void) + { +@@ -263,6 +266,7 @@ get_hardware_model (void) + + return NULL; + } ++# endif + + static char * + get_cpu_info (void) +@@ -483,6 +487,7 @@ get_kernel_vesrion (void) + return g_strdup_printf ("%s %s", un.sysname, un.release); + } + ++# ifdef HAVE_SYSTEMD + static struct { + const char *id; + const char *display; +@@ -498,9 +503,7 @@ static struct { + { "openvz", "OpenVZ" }, + { "lxc", "LXC" }, + { "lxc-libvirt", "LXC (libvirt)" }, +-# ifdef HAVE_SYSTEMD +- { "systemd-nspawn", "systemd (nspawn)" }, +-# endif ++ { "systemd-nspawn", "systemd (nspawn)" } + }; + + static char * +@@ -567,6 +570,7 @@ get_system_virt (void) + + return get_virtualization_label (g_variant_get_string (inner, NULL)); + } ++# endif + + static char * + get_mate_desktop_version () +@@ -622,7 +626,10 @@ mate_system_info_setup (MateSystemInfo *info) + { + g_autofree char *logo_name = NULL; + g_autofree char *hostname_text = NULL; ++# ifdef HAVE_SYSTEMD + g_autofree char *hw_model_text = NULL; ++ g_autofree char *virt_text = NULL; ++# endif + g_autofree char *memory_text = NULL; + g_autofree char *cpu_text = NULL; + g_autofree char *os_type_text = NULL; +@@ -630,7 +637,6 @@ mate_system_info_setup (MateSystemInfo *info) + g_autofree char *disk_text = NULL; + g_autofree char *kernel_text = NULL; + g_autofree char *windowing_system_text = NULL; +- g_autofree char *virt_text = NULL; + g_autofree char *de_text = NULL; + g_autofree char *graphics_hardware_string = NULL; + +@@ -645,6 +651,7 @@ mate_system_info_setup (MateSystemInfo *info) + label = g_object_get_data (G_OBJECT (info->hostname_row), "labelvalue"); + set_lable_style (label, "gray", 12, hostname_text, FALSE); + ++# if HAVE_SYSTEMD + hw_model_text = get_hardware_model (); + if (hw_model_text != NULL) + { +@@ -652,7 +659,7 @@ mate_system_info_setup (MateSystemInfo *info) + label = g_object_get_data (G_OBJECT (info->hardware_model_row), "labelvalue"); + set_lable_style (label, "gray", 12, hw_model_text, FALSE); + } +- ++# endif + glibtop_get_mem (&mem); + memory_text = g_format_size_full (mem.total, G_FORMAT_SIZE_IEC_UNITS); + label = g_object_get_data (G_OBJECT (info->memory_row), "labelvalue"); +@@ -714,7 +721,10 @@ mate_system_info_class_init (MateSystemInfoClass *klass) + gtk_widget_class_set_template_from_resource (widget_class, "/org/mate/control-center/system-info/mate-system-info.ui"); + + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, hostname_row); ++# ifdef HAVE_SYSTEMD + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, hardware_box); ++ gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, virtualization_row); ++# endif + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, disk_row); + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, mate_version_row); + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, graphics_row); +@@ -725,7 +735,6 @@ mate_system_info_class_init (MateSystemInfoClass *klass) + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, os_name_row); + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, os_type_row); + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, processor_row); +- gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, virtualization_row); + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, kernel_row); + gtk_widget_class_bind_template_child (widget_class, MateSystemInfo, windowing_system_row); + } +-- +2.43.0 + diff --git a/mate-base/mate-control-center/mate-control-center-1.28.0.ebuild b/mate-base/mate-control-center/mate-control-center-1.28.0.ebuild index 3a172d90a638..49df50a37938 100644 --- a/mate-base/mate-control-center/mate-control-center-1.28.0.ebuild +++ b/mate-base/mate-control-center/mate-control-center-1.28.0.ebuild @@ -62,6 +62,9 @@ BDEPEND="${COMMON_DEPEND} x11-base/xorg-proto virtual/pkgconfig " +PATCHES=( + "${FILESDIR}"/${PN}-1.28.0-optional-systemd.patch +) src_configure() { mate_src_configure \ -- cgit v1.2.3-65-gdbad