Compare commits
10 Commits
37849b9e0c
...
1ad89966bf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ad89966bf | ||
|
|
daac7cb3f6 | ||
|
|
2730e0bf21 | ||
|
|
e3653325b7 | ||
|
|
5f1461adec | ||
|
|
5753fb2c6e | ||
|
|
0ebca4a38a | ||
|
|
a9977c1006 | ||
|
|
e92e4a7447 | ||
|
|
a3b2a498fc |
@ -1,80 +0,0 @@
|
||||
From 10b064844855a3d0ce4cefb5c8d02eab7e0d2d6a Mon Sep 17 00:00:00 2001
|
||||
From: Debarshi Ray <debarshir@gnome.org>
|
||||
Date: Thu, 4 Oct 2018 11:28:15 +0200
|
||||
Subject: [PATCH] online-accounts: Track the lifecycle of CcGoaPanel across
|
||||
async calls
|
||||
|
||||
Due to an API bug in GNOME Online Accounts, the asynchronous
|
||||
goa_provider_get_all method doesn't accept a GCancellable argument.
|
||||
This makes it difficult to cancel an ongoing call when the CcGoaPanel
|
||||
gets destroyed.
|
||||
|
||||
Prior to commit c26f8ae018900a55, this was hacked around by taking a
|
||||
reference on the panel for the duration of the call. Instead of
|
||||
cancelling a pending call on destruction, it would keep the panel alive
|
||||
until the call was over. However, that was lost during commit
|
||||
c26f8ae018900a55.
|
||||
|
||||
One thing to bear in mind is that GtkWidgets, CcGoaPanel is one, can
|
||||
be destroyed by a gtk_widget_destroy call, which is subtly different
|
||||
than a simple sequence of g_object_unref calls. When gtk_widget_destroy
|
||||
is used, it invokes the GObject::dispose virtual method of the widget.
|
||||
It is expected this will cause anything holding a reference to this
|
||||
widget to drop their references, leading to GObject::finalize being
|
||||
called. However, there is no guarantee that this will happen in the
|
||||
same iteration of the GMainLoop. Therefore, it is possible that when
|
||||
the goa_provider_get_all call finishes, the CcGoaPanel might be in a
|
||||
disposed, but not yet finalized state.
|
||||
|
||||
When a GObject is in a disposed-but-not-finalized state, only a very
|
||||
limited number of operations can be performed on it. Its reference
|
||||
count can be altered, the memory used by the instance struct can be
|
||||
accessed, but none of the member GObjects can be assumed to be valid.
|
||||
eg., it's definitely illegal to add new rows to the member GtkListBox.
|
||||
Hence a boolean flag is used to mark the destroyed state of the panel.
|
||||
|
||||
This second part is a small improvement over the earlier hack.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/208
|
||||
---
|
||||
|
||||
diff --git a/panels/online-accounts/cc-online-accounts-panel.c b/panels/online-accounts/cc-online-accounts-panel.c
|
||||
index e6d6a3d..2afddeb 100644
|
||||
--- a/panels/online-accounts/cc-online-accounts-panel.c
|
||||
+++ b/panels/online-accounts/cc-online-accounts-panel.c
|
||||
@@ -57,6 +57,7 @@ struct _CcGoaPanel
|
||||
GoaObject *active_object;
|
||||
GoaObject *removed_object;
|
||||
|
||||
+ gboolean destroyed;
|
||||
guint remove_account_timeout_id;
|
||||
};
|
||||
|
||||
@@ -399,6 +400,8 @@ cc_goa_panel_dispose (GObject *object)
|
||||
/* Must be destroyed in dispose, not finalize. */
|
||||
g_clear_pointer ((GtkWidget **) &panel->edit_account_dialog, gtk_widget_destroy);
|
||||
|
||||
+ panel->destroyed = TRUE;
|
||||
+
|
||||
G_OBJECT_CLASS (cc_goa_panel_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
@@ -493,6 +496,8 @@ cc_goa_panel_init (CcGoaPanel *panel)
|
||||
|
||||
fill_accounts_listbox (panel);
|
||||
|
||||
+ goa_provider_get_all (get_all_providers_cb, g_object_ref_sink (panel));
|
||||
+
|
||||
gtk_widget_show (GTK_WIDGET (panel));
|
||||
}
|
||||
|
||||
@@ -875,6 +880,9 @@ get_all_providers_cb (GObject *source,
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (self->destroyed)
|
||||
+ return;
|
||||
+
|
||||
for (l = providers; l != NULL; l = l->next)
|
||||
{
|
||||
GoaProvider *provider;
|
||||
@ -1,246 +0,0 @@
|
||||
From d8a9c8c3526980e576e8d61d033cd983562b07d3 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Mon, 1 Oct 2018 20:36:05 +0200
|
||||
Subject: [PATCH] background: Add queue to load 4 pictures at a time
|
||||
|
||||
We need to process the pictures sequentially rather than trying to
|
||||
thumbnail all of them in parallel. This commit adds a simple task queue
|
||||
from which 4 tasks at will be processed at the same time.
|
||||
|
||||
Fixes #191
|
||||
---
|
||||
diff --git a/panels/background/bg-pictures-source.c b/panels/background/bg-pictures-source.c
|
||||
index 3a3027b..3b955bb 100644
|
||||
--- a/panels/background/bg-pictures-source.c
|
||||
+++ b/panels/background/bg-pictures-source.c
|
||||
@@ -45,12 +45,26 @@ struct _BgPicturesSource
|
||||
|
||||
CcBackgroundGriloMiner *grl_miner;
|
||||
|
||||
+ GQueue add_queue;
|
||||
+ gint adds_running;
|
||||
+
|
||||
GFileMonitor *picture_dir_monitor;
|
||||
GFileMonitor *cache_dir_monitor;
|
||||
|
||||
GHashTable *known_items;
|
||||
};
|
||||
|
||||
+#define MAX_PARALLEL_ADD 4
|
||||
+
|
||||
+typedef struct {
|
||||
+ BgPicturesSource *bg_source;
|
||||
+ GFile *file;
|
||||
+ gchar *content_type;
|
||||
+ guint64 mtime;
|
||||
+ GtkTreeRowReference **ret_row_ref;
|
||||
+ GCancellable *cancellable;
|
||||
+} AddQueueData;
|
||||
+
|
||||
G_DEFINE_TYPE (BgPicturesSource, bg_pictures_source, BG_TYPE_SOURCE)
|
||||
|
||||
const char * const content_types[] = {
|
||||
@@ -72,6 +86,86 @@ static char *bg_pictures_source_get_unique_filename (const char *uri);
|
||||
|
||||
static void picture_opened_for_read (GObject *source_object, GAsyncResult *res, gpointer user_data);
|
||||
|
||||
+static gboolean add_single_file_real (BgPicturesSource *bg_source,
|
||||
+ GFile *file,
|
||||
+ const gchar *content_type,
|
||||
+ guint64 mtime,
|
||||
+ GtkTreeRowReference **ret_row_ref);
|
||||
+
|
||||
+static void
|
||||
+add_queue_data_free (AddQueueData *data)
|
||||
+{
|
||||
+ g_clear_object (&data->file);
|
||||
+ g_clear_object (&data->cancellable);
|
||||
+ g_free (data->content_type);
|
||||
+ g_free (data);
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+add_single_file_idle (gpointer user_data)
|
||||
+{
|
||||
+ AddQueueData *data = (AddQueueData*) user_data;
|
||||
+
|
||||
+ if (!g_cancellable_is_cancelled (data->cancellable))
|
||||
+ add_single_file_real (data->bg_source, data->file, data->content_type,
|
||||
+ data->mtime, data->ret_row_ref);
|
||||
+ add_queue_data_free (data);
|
||||
+
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+ensure_add_processing (BgPicturesSource *bg_source)
|
||||
+{
|
||||
+ while (bg_source->adds_running < MAX_PARALLEL_ADD)
|
||||
+ {
|
||||
+ AddQueueData *data = g_queue_pop_head (&bg_source->add_queue);
|
||||
+
|
||||
+ /* Nothing left to process */
|
||||
+ if (!data)
|
||||
+ return;
|
||||
+
|
||||
+ g_idle_add (add_single_file_idle, data);
|
||||
+
|
||||
+ bg_source->adds_running += 1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+add_processing_finished (BgPicturesSource *bg_source)
|
||||
+{
|
||||
+ g_assert (bg_source->adds_running > 0);
|
||||
+
|
||||
+ bg_source->adds_running -= 1;
|
||||
+
|
||||
+ ensure_add_processing (bg_source);
|
||||
+}
|
||||
+
|
||||
+static gboolean
|
||||
+add_single_file (BgPicturesSource *bg_source,
|
||||
+ GFile *file,
|
||||
+ const gchar *content_type,
|
||||
+ guint64 mtime,
|
||||
+ GtkTreeRowReference **ret_row_ref)
|
||||
+{
|
||||
+ AddQueueData *data = g_new0 (AddQueueData, 1);
|
||||
+
|
||||
+ data->bg_source = bg_source;
|
||||
+ data->file = g_object_ref (file);
|
||||
+ data->content_type = g_strdup (content_type);
|
||||
+ data->mtime = mtime;
|
||||
+ data->ret_row_ref = ret_row_ref;
|
||||
+ data->cancellable = g_object_ref (bg_source->cancellable);
|
||||
+
|
||||
+ g_queue_push_tail (&bg_source->add_queue, data);
|
||||
+
|
||||
+ ensure_add_processing (bg_source);
|
||||
+
|
||||
+ /* Just return TRUE. */
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+
|
||||
static void
|
||||
bg_pictures_source_dispose (GObject *object)
|
||||
{
|
||||
@@ -83,6 +177,9 @@ bg_pictures_source_dispose (GObject *object)
|
||||
g_clear_object (&source->cancellable);
|
||||
}
|
||||
|
||||
+ g_queue_foreach (&source->add_queue, (GFunc) add_queue_data_free, NULL);
|
||||
+ g_queue_clear (&source->add_queue);
|
||||
+
|
||||
g_clear_object (&source->grl_miner);
|
||||
|
||||
G_OBJECT_CLASS (bg_pictures_source_parent_class)->dispose (object);
|
||||
@@ -206,6 +303,10 @@ picture_scaled (GObject *source_object,
|
||||
{
|
||||
g_warning ("Failed to load image: %s", error->message);
|
||||
remove_placeholder (BG_PICTURES_SOURCE (user_data), item);
|
||||
+
|
||||
+ bg_source = BG_PICTURES_SOURCE (user_data);
|
||||
+ add_processing_finished (bg_source);
|
||||
+
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -227,7 +328,9 @@ picture_scaled (GObject *source_object,
|
||||
{
|
||||
g_debug ("Ignored URL '%s' as it's a screenshot from gnome-screenshot", uri);
|
||||
remove_placeholder (BG_PICTURES_SOURCE (user_data), item);
|
||||
- return;
|
||||
+
|
||||
+ add_processing_finished (bg_source);
|
||||
+ return;
|
||||
}
|
||||
|
||||
/* Process embedded orientation */
|
||||
@@ -262,6 +365,8 @@ picture_scaled (GObject *source_object,
|
||||
GINT_TO_POINTER (TRUE));
|
||||
|
||||
g_clear_pointer (&surface, cairo_surface_destroy);
|
||||
+
|
||||
+ add_processing_finished (bg_source);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -286,6 +391,9 @@ picture_opened_for_read (GObject *source_object,
|
||||
g_autofree gchar *filename = g_file_get_path (G_FILE (source_object));
|
||||
g_warning ("Failed to load picture '%s': %s", filename, error->message);
|
||||
remove_placeholder (BG_PICTURES_SOURCE (user_data), item);
|
||||
+
|
||||
+ bg_source = BG_PICTURES_SOURCE (user_data);
|
||||
+ add_processing_finished (bg_source);
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -339,6 +447,10 @@ picture_copied_for_read (GObject *source_object,
|
||||
|
||||
uri = g_file_get_uri (thumbnail_file);
|
||||
g_warning ("Failed to download '%s': %s", uri, error->message);
|
||||
+
|
||||
+ bg_source = BG_PICTURES_SOURCE (user_data);
|
||||
+ add_processing_finished (bg_source);
|
||||
+
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -378,10 +490,11 @@ bg_pictures_source_get_cache_file (void)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
-add_single_file (BgPicturesSource *bg_source,
|
||||
- GFile *file,
|
||||
- const gchar *content_type,
|
||||
- guint64 mtime)
|
||||
+add_single_file_real (BgPicturesSource *bg_source,
|
||||
+ GFile *file,
|
||||
+ const gchar *content_type,
|
||||
+ guint64 mtime,
|
||||
+ GtkTreeRowReference **ret_row_ref)
|
||||
{
|
||||
g_autoptr(CcBackgroundItem) item = NULL;
|
||||
CcBackgroundItemFlags flags = 0;
|
||||
@@ -480,6 +593,11 @@ add_single_file (BgPicturesSource *bg_source,
|
||||
retval = TRUE;
|
||||
|
||||
out:
|
||||
+
|
||||
+ /* Async processing is happening. */
|
||||
+ if (!retval)
|
||||
+ add_processing_finished (bg_source);
|
||||
+
|
||||
return retval;
|
||||
}
|
||||
|
||||
@@ -493,7 +611,7 @@ add_single_file_from_info (BgPicturesSource *bg_source,
|
||||
|
||||
content_type = g_file_info_get_content_type (info);
|
||||
mtime = g_file_info_get_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED);
|
||||
- return add_single_file (bg_source, file, content_type, mtime);
|
||||
+ return add_single_file (bg_source, file, content_type, mtime, NULL);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -518,7 +636,7 @@ add_single_file_from_media (BgPicturesSource *bg_source,
|
||||
else
|
||||
mtime_unix = g_get_real_time () / G_USEC_PER_SEC;
|
||||
|
||||
- return add_single_file (bg_source, file, content_type, (guint64) mtime_unix);
|
||||
+ return add_single_file (bg_source, file, content_type, (guint64) mtime_unix, NULL);
|
||||
}
|
||||
|
||||
gboolean
|
||||
@@ -828,6 +946,8 @@ bg_pictures_source_init (BgPicturesSource *self)
|
||||
(GDestroyNotify) g_free,
|
||||
NULL);
|
||||
|
||||
+ g_queue_init (&self->add_queue);
|
||||
+
|
||||
pictures_path = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES);
|
||||
if (pictures_path == NULL)
|
||||
pictures_path = g_get_home_dir ();
|
||||
@ -1,8 +1,7 @@
|
||||
diff --git a/panels/user-accounts/run-passwd.c b/panels/user-accounts/run-passwd.c
|
||||
index 56eea9f..1abefcd 100644
|
||||
--- a/panels/user-accounts/run-passwd.c
|
||||
+++ b/panels/user-accounts/run-passwd.c
|
||||
@@ -471,7 +471,7 @@ io_watch_stdout (GIOChannel *source, GIOCondition condition, PasswdHandler *pass
|
||||
diff -up gnome-control-center-43.2/panels/user-accounts/run-passwd.c.BAK gnome-control-center-43.2/panels/user-accounts/run-passwd.c
|
||||
--- gnome-control-center-43.2/panels/user-accounts/run-passwd.c.BAK 2023-01-10 16:43:06.694171795 +0800
|
||||
+++ gnome-control-center-43.2/panels/user-accounts/run-passwd.c 2023-01-10 16:45:52.034162096 +0800
|
||||
@@ -446,7 +446,7 @@ io_watch_stdout (GIOChannel *source, GIO
|
||||
"different",
|
||||
"wrapped",
|
||||
"recovered",
|
||||
@ -11,7 +10,7 @@ index 56eea9f..1abefcd 100644
|
||||
"unchanged",
|
||||
"match",
|
||||
"1 numeric or special",
|
||||
@@ -514,9 +514,9 @@ io_watch_stdout (GIOChannel *source, GIOCondition condition, PasswdHandler *pass
|
||||
@@ -490,9 +490,9 @@ io_watch_stdout (GIOChannel *source, GIO
|
||||
strstr (str->str, "wrapped") != NULL) {
|
||||
error = g_error_new (PASSWD_ERROR, PASSWD_ERROR_REJECTED,
|
||||
_("The old and new passwords are too similar"));
|
||||
@ -23,18 +22,17 @@ index 56eea9f..1abefcd 100644
|
||||
} else if (strstr (str->str, "1 numeric or special") != NULL) {
|
||||
error = g_error_new (PASSWD_ERROR, PASSWD_ERROR_REJECTED,
|
||||
_("The new password must contain numeric or special characters"));
|
||||
diff --git a/po/zh_CN.po b/po/zh_CN.po
|
||||
index ba8a7a8..03540dd 100644
|
||||
--- a/po/zh_CN.po
|
||||
+++ b/po/zh_CN.po
|
||||
@@ -7642,8 +7642,8 @@ msgstr "新密码和旧密码太相似"
|
||||
diff -up gnome-control-center-43.2/po/zh_CN.po.BAK gnome-control-center-43.2/po/zh_CN.po
|
||||
--- gnome-control-center-43.2/po/zh_CN.po.BAK 2023-01-10 16:46:29.198159916 +0800
|
||||
+++ gnome-control-center-43.2/po/zh_CN.po 2023-01-10 16:47:38.446155853 +0800
|
||||
@@ -8505,8 +8505,8 @@ msgstr "新密码和旧密码太相似"
|
||||
|
||||
#: panels/user-accounts/run-passwd.c:519
|
||||
#: panels/user-accounts/run-passwd.c:495
|
||||
#, c-format
|
||||
-msgid "The new password has already been used recently."
|
||||
-msgstr "新的密码最近已使用过。"
|
||||
+msgid "Password has been already used. Choose another."
|
||||
+msgstr "新密码在最近已经使用过。请选用其他密码"
|
||||
|
||||
#: panels/user-accounts/run-passwd.c:522
|
||||
#: panels/user-accounts/run-passwd.c:498
|
||||
#, c-format
|
||||
|
||||
Binary file not shown.
BIN
gnome-control-center-44.4.tar.xz
Normal file
BIN
gnome-control-center-44.4.tar.xz
Normal file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
diff --git a/panels/user-accounts/pw-utils.c b/panels/user-accounts/pw-utils.c
|
||||
index 0f4dfd8..617e0d7 100644
|
||||
index 0f4dfd8..700a5a4 100644
|
||||
--- a/panels/user-accounts/pw-utils.c
|
||||
+++ b/panels/user-accounts/pw-utils.c
|
||||
@@ -127,7 +127,7 @@ pw_error_hint (gint error)
|
||||
@ -12,10 +12,10 @@ index 0f4dfd8..617e0d7 100644
|
||||
return C_("Password hint", "Adding more letters, numbers and punctuation will make the password stronger.");
|
||||
}
|
||||
diff --git a/po/zh_CN.po b/po/zh_CN.po
|
||||
index 03540dd..34e1624 100644
|
||||
index 1e1984e..bab9794 100644
|
||||
--- a/po/zh_CN.po
|
||||
+++ b/po/zh_CN.po
|
||||
@@ -7612,8 +7612,8 @@ msgstr "需要更长的密码。请试着加入更多的字母、数字和标点
|
||||
@@ -7708,8 +7708,8 @@ msgstr "需要更长的密码。请试着加入更多的字母、数字和标点
|
||||
|
||||
#: panels/user-accounts/pw-utils.c:130
|
||||
msgctxt "Password hint"
|
||||
|
||||
@ -1,10 +1,3 @@
|
||||
From 758b69f9834d24120a7e5f1c20cf5b63c67a4aca Mon Sep 17 00:00:00 2001
|
||||
Date: Fri, 14 Feb 2020 18:14:33 +0800
|
||||
Subject: [PATCH] control-center: remove country in the name of timezone
|
||||
|
||||
Change-Id: I794c649d35e498bdd4273062b982c04ebe953e6c
|
||||
---
|
||||
|
||||
diff --git a/panels/datetime/backward b/panels/datetime/backward
|
||||
index 8594be6..3fe71fc 100644
|
||||
--- a/panels/datetime/backward
|
||||
@ -25,10 +18,10 @@ index 8594be6..3fe71fc 100644
|
||||
\ No newline at end of file
|
||||
+Link Etc/UTC Zulu
|
||||
diff --git a/panels/datetime/cc-datetime-panel.c b/panels/datetime/cc-datetime-panel.c
|
||||
index eb7e78b..3a58d93 100644
|
||||
index c1e6aaa..f562556 100644
|
||||
--- a/panels/datetime/cc-datetime-panel.c
|
||||
+++ b/panels/datetime/cc-datetime-panel.c
|
||||
@@ -414,7 +414,6 @@ translated_city_name (TzLocation *loc)
|
||||
@@ -405,7 +405,6 @@ translated_city_name (TzLocation *loc)
|
||||
{
|
||||
g_autofree gchar *zone_translated = NULL;
|
||||
g_auto(GStrv) split_translated = NULL;
|
||||
@ -36,7 +29,7 @@ index eb7e78b..3a58d93 100644
|
||||
gchar *name;
|
||||
gint length;
|
||||
|
||||
@@ -427,11 +426,10 @@ translated_city_name (TzLocation *loc)
|
||||
@@ -418,11 +417,9 @@ translated_city_name (TzLocation *loc)
|
||||
|
||||
length = g_strv_length (split_translated);
|
||||
|
||||
@ -48,7 +41,6 @@ index eb7e78b..3a58d93 100644
|
||||
+ /* Translators: "city" */
|
||||
+ name = g_strdup_printf (C_("timezone loc", "%s"),
|
||||
+ split_translated[length-1]);
|
||||
+
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
@ -1,42 +1,72 @@
|
||||
%define gnome_online_accounts_version 3.25.3
|
||||
%define glib2_version 2.70.0
|
||||
%define gnome_desktop_version 42.0
|
||||
%define gsd_version 41.0
|
||||
%define gsettings_desktop_schemas_version 42.0
|
||||
%define upower_version 0.99.8
|
||||
%define gtk4_version 4.9.3
|
||||
%define gnome_bluetooth_version 42.0
|
||||
%define libadwaita_version 1.2.0
|
||||
%define nm_version 1.24
|
||||
|
||||
Name: gnome-control-center
|
||||
Version: 3.38.6
|
||||
Version: 44.4
|
||||
Release: 1
|
||||
Summary: GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop.
|
||||
License: GPLv2+ and CC-BY-SA
|
||||
License: GPLv2+
|
||||
URL: http://www.gnome.org
|
||||
Source0: https://download.gnome.org/sources/gnome-control-center/3.38/%{name}-%{version}.tar.xz
|
||||
|
||||
BuildRequires: chrpath cups-devel desktop-file-utils docbook-style-xsl gettext gcc git libudisks2-devel
|
||||
BuildRequires: libxslt meson accountsservice-devel cheese-libs-devel clutter-gtk-devel colord-devel
|
||||
BuildRequires: colord-gtk-devel gdk-pixbuf2-devel gtk3-devel glib2-devel pulseaudio-libs-devel
|
||||
BuildRequires: gnome-desktop3-devel gnome-settings-daemon-devel gnome-online-accounts-devel
|
||||
BuildRequires: grilo-devel gsettings-desktop-schemas-devel gtk3-devel libgudev-devel ibus-devel
|
||||
BuildRequires: libcanberra-devel libgtop2-devel NetworkManager-libnm-devel libnma-devel
|
||||
BuildRequires: libsecret-devel libsoup-devel libxml2-devel ModemManager-glib-devel polkit-devel
|
||||
BuildRequires: libpwquality-devel libsmbclient-devel upower-devel libX11-devel libXi-devel
|
||||
BuildRequires: gnome-bluetooth-libs-devel libwacom-devel gdb gsound-devel
|
||||
BuildRequires: pkgconfig(libhandy-1)
|
||||
|
||||
Requires: accountsservice alsa-lib bolt colord cups-pk-helper dbus-x11 glx-utils iso-codes
|
||||
Requires: nm-connection-editor switcheroo-control /usr/bin/gkbd-keyboard-display
|
||||
Requires: gnome-bluetooth >= 1:3.18.2 %{name}-filesystem = %{version}-%{release}
|
||||
Requires: upower >= 0.99.6 cheese-libs >= 3.28.0 glib2 >= 2.53.0 gtk3 >= 3.22.20
|
||||
Requires: gnome-online-accounts >= 3.25.3 gnome-settings-daemon >= 3.25.90
|
||||
Requires: gsettings-desktop-schemas >= 3.27.2 gnome-desktop3 >= 3.27.90
|
||||
|
||||
Recommends: NetworkManager-wifi vino
|
||||
Provides: control-center = 1:%{version}-%{release}
|
||||
Provides: control-center%{?_isa} = 1:%{version}-%{release}
|
||||
Obsoletes: control-center < 1:%{version}-%{release}
|
||||
|
||||
Patch1: 0001-online-accounts-Track-the-lifecycle-of-CcGoaPanel-ac.patch
|
||||
Patch2: 0002-background-Add-queue-to-load-4-pictures-at-a-time.patch
|
||||
Source0: https://download.gnome.org/sources/gnome-control-center/44/%{name}-%{version}.tar.xz
|
||||
|
||||
Patch9001: bugfix-fix_used_passwd_error_capture.patch
|
||||
Patch9002: bugfix-gnome-control-center-fix-repetitivewallpapers.patch
|
||||
Patch9003: gnome-control-center-change-translation-when-changing-password.patch
|
||||
Patch9004: gnome-control-center-remove-country-in-the-name-of-timezone.patch
|
||||
|
||||
BuildRequires: chrpath gcc meson gettext cups-devel desktop-file-utils docbook-style-xsl libxslt
|
||||
BuildRequires: accountsservice-devel clutter-gtk-devel colord-devel
|
||||
BuildRequires: gcr-devel gdk-pixbuf2-devel gtk3-devel gnome-online-accounts-devel
|
||||
BuildRequires: gsound-devel libgudev-devel ibus-devel libgtop2-devel
|
||||
BuildRequires: pulseaudio-libs-devel libsecret-devel libxml2-devel ModemManager-glib-devel
|
||||
BuildRequires: pkgconfig(polkit-gobject-1) pkgconfig(pwquality) pkgconfig(smbclient)
|
||||
BuildRequires: pkgconfig(libwacom) pkgconfig(colord-gtk4) pkgconfig(libnma-gtk4)
|
||||
BuildRequires: pkgconfig(x11) pkgconfig(xi) pkgconfig(udisks2)
|
||||
BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version}
|
||||
BuildRequires: pkgconfig(gnome-desktop-4) >= %{gnome_desktop_version}
|
||||
BuildRequires: pkgconfig(gnome-settings-daemon) >= %{gsd_version}
|
||||
BuildRequires: pkgconfig(goa-1.0) >= %{gnome_online_accounts_version}
|
||||
BuildRequires: pkgconfig(libadwaita-1) >= %{libadwaita_version}
|
||||
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= %{gsettings_desktop_schemas_version}
|
||||
BuildRequires: pkgconfig(libnm) >= %{nm_version}
|
||||
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
|
||||
BuildRequires: pkgconfig(upower-glib) >= %{upower_version}
|
||||
BuildRequires: pkgconfig(gnome-bluetooth-3.0) >= %{gnome_bluetooth_version}
|
||||
|
||||
Requires: libadwaita%{?_isa} >= %{libadwaita_version}
|
||||
Requires: glib2%{?_isa} >= %{glib2_version}
|
||||
Requires: gnome-desktop3%{?_isa} >= %{gnome_desktop_version}
|
||||
Requires: gnome-online-accounts%{?_isa} >= %{gnome_online_accounts_version}
|
||||
Requires: gnome-settings-daemon%{?_isa} >= %{gsd_version}
|
||||
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
|
||||
Requires: gtk4%{?_isa} >= %{gtk4_version}
|
||||
Requires: upower%{?_isa} >= %{upower_version}
|
||||
Requires: gnome-bluetooth%{?_isa} >= 1:%{gnome_bluetooth_version}
|
||||
Requires: %{name}-filesystem = %{version}-%{release}
|
||||
Requires: accountsservice alsa-lib colord cups-pk-helper dbus glx-utils iso-codes
|
||||
Requires: libgnomekbd
|
||||
|
||||
Recommends: bolt
|
||||
Recommends: NetworkManager-wifi
|
||||
Recommends: nm-connection-editor
|
||||
Recommends: gnome-color-manager
|
||||
Recommends: gnome-remote-desktop
|
||||
Recommends: rygel
|
||||
Recommends: switcheroo-control
|
||||
Recommends: power-profiles-daemon
|
||||
|
||||
Provides: control-center = 1:%{version}-%{release}
|
||||
Provides: control-center%{?_isa} = 1:%{version}-%{release}
|
||||
Obsoletes: control-center < 1:%{version}-%{release}
|
||||
|
||||
%description
|
||||
Gnome-control-center is a graphical user interface to configure
|
||||
various aspects of GNOME.
|
||||
@ -60,47 +90,67 @@ utilities in this package.
|
||||
%autosetup -n %{name}-%{version} -p1
|
||||
|
||||
%build
|
||||
%meson -Ddocumentation=true
|
||||
%meson \
|
||||
-Ddocumentation=true
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
mkdir -p %{buildroot}%{_datadir}/gnome/wm-properties
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/gnome/wm-properties
|
||||
|
||||
%find_lang %{name} --all-name --with-gnome
|
||||
chrpath --delete %{buildroot}%{_bindir}/gnome-control-center
|
||||
chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center
|
||||
|
||||
%files -f %{name}.lang
|
||||
%license COPYING
|
||||
%{_bindir}/gnome-control-center
|
||||
%{_libexecdir}/gnome-control-center-search-provider
|
||||
%{_libexecdir}/cc-remote-login-helper
|
||||
%{_libexecdir}/gnome-control-center-print-renderer
|
||||
%{_datadir}/sounds/gnome/default/alerts/*.ogg
|
||||
%{_datadir}/polkit-1/actions/*.policy
|
||||
%{_datadir}/polkit-1/rules.d/gnome-control-center.rules
|
||||
%{_datadir}/pixmaps/faces/
|
||||
%{_datadir}/pkgconfig/*.pc
|
||||
%{_datadir}/icons/hicolor/*
|
||||
%{_datadir}/metainfo/*.xml
|
||||
%{_datadir}/gnome-control-center/*
|
||||
%{_datadir}/gnome-shell/search-providers/*.ini
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
%{_datadir}/gettext/its/*
|
||||
%{_datadir}/dbus-1/services/*.service
|
||||
%{_datadir}/bash-completion/completions/gnome-control-center
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_datadir}/bash-completion/completions/gnome-control-center
|
||||
%{_datadir}/dbus-1/services/org.gnome.Settings.SearchProvider.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Settings.service
|
||||
%{_datadir}/gettext/
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.Settings.gschema.xml
|
||||
%{_datadir}/gnome-control-center/keybindings/*.xml
|
||||
%{_datadir}/gnome-control-center/pixmaps
|
||||
%{_datadir}/gnome-shell/search-providers/org.gnome.Settings.search-provider.ini
|
||||
%{_datadir}/icons/gnome-logo-text*.svg
|
||||
%{_datadir}/icons/hicolor/*/*/*
|
||||
%{_metainfodir}/org.gnome.Settings.appdata.xml
|
||||
%{_datadir}/pixmaps/faces
|
||||
%{_datadir}/pkgconfig/gnome-keybindings.pc
|
||||
%{_datadir}/polkit-1/actions/org.gnome.controlcenter.*.policy
|
||||
%{_datadir}/polkit-1/rules.d/gnome-control-center.rules
|
||||
%{_datadir}/sounds/gnome/default/*/*.ogg
|
||||
%{_libexecdir}/cc-remote-login-helper
|
||||
%{_libexecdir}/gnome-control-center-goa-helper
|
||||
%{_libexecdir}/gnome-control-center-search-provider
|
||||
%{_libexecdir}/gnome-control-center-print-renderer
|
||||
|
||||
%files filesystem
|
||||
%dir %{_datadir}/gnome/wm-properties
|
||||
%dir %{_datadir}/gnome-control-center/
|
||||
%dir %{_datadir}/gnome-control-center
|
||||
%dir %{_datadir}/gnome-control-center/keybindings
|
||||
%dir %{_datadir}/gnome/wm-properties
|
||||
|
||||
%files help
|
||||
%doc NEWS README.md
|
||||
%{_mandir}/man1/*.gz
|
||||
%{_datadir}/man/man1/gnome-control-center.1*
|
||||
|
||||
%changelog
|
||||
* Thu Nov 23 2023 lwg <liweiganga@uniontech.com> - 44.4-1
|
||||
- update to version 44.4
|
||||
|
||||
* Tue Jan 10 2023 wenlong ding <wenlong.ding@turbolinux.com.cn> - 43.2-1
|
||||
- Update to 43.2
|
||||
|
||||
* Tue Jun 21 2022 weijin deng <weijin.deng@turbolinux.com.cn> - 42.2-1
|
||||
- Udpate to 42.2
|
||||
|
||||
* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 42.0-1
|
||||
- Udpate to 42.0
|
||||
|
||||
* Wed Aug 04 2021 chenyanpanHW <chenyanpan@huawei.com> - 3.38.6-2
|
||||
- DESC: delete BuildRequires gdb
|
||||
|
||||
* Mon May 31 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.6-1
|
||||
- Upgrade to 3.38.6
|
||||
- Update Version, Release, BuildRequires, stage 'files'
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
version_control: github
|
||||
src_repo: GNOME/gnome-control-center
|
||||
tag_prefix: "^"
|
||||
seperator: "."
|
||||
separator: "."
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user