Compare commits
No commits in common. "c10s" and "c8" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
/gnome-initial-setup-*.tar.xz
|
SOURCES/gnome-initial-setup-3.28.0.tar.xz
|
||||||
|
1
.gnome-initial-setup.metadata
Normal file
1
.gnome-initial-setup.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
79d6f8ce89086aba95c1fd519053af523d4409ea SOURCES/gnome-initial-setup-3.28.0.tar.xz
|
File diff suppressed because it is too large
Load Diff
30
SOURCES/allow-weak-passwords.patch
Normal file
30
SOURCES/allow-weak-passwords.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 985f2a009ddf5179482e7551400cf8065553707e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@igalia.com>
|
||||||
|
Date: Wed, 11 Apr 2018 22:16:54 -0500
|
||||||
|
Subject: Revert "Revert "Don't hard-enforce strong passwords""
|
||||||
|
|
||||||
|
This reverts commit 0c67a9800c7832dd55c046adc372833a96a96cf0.
|
||||||
|
|
||||||
|
This is a requirement for Fedora, but I suspect few distros want to
|
||||||
|
irritate users right off the bat by dictating which passwords may be
|
||||||
|
used.
|
||||||
|
---
|
||||||
|
gnome-initial-setup/pages/password/gis-password-page.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/password/gis-password-page.c b/gnome-initial-setup/pages/password/gis-password-page.c
|
||||||
|
index cf3db9e..731666d 100644
|
||||||
|
--- a/gnome-initial-setup/pages/password/gis-password-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/password/gis-password-page.c
|
||||||
|
@@ -59,7 +59,7 @@ page_validate (GisPasswordPage *page)
|
||||||
|
{
|
||||||
|
GisPasswordPagePrivate *priv = gis_password_page_get_instance_private (page);
|
||||||
|
|
||||||
|
- return priv->valid_confirm && priv->valid_password;
|
||||||
|
+ return priv->valid_confirm;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
--
|
||||||
|
cgit v0.12
|
||||||
|
|
@ -0,0 +1,91 @@
|
|||||||
|
diff -urN gnome-initial-setup-3.28.0.old/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c gnome-initial-setup-3.28.0/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
--- gnome-initial-setup-3.28.0.old/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c 2020-10-23 09:57:27.493000000 +0100
|
||||||
|
+++ gnome-initial-setup-3.28.0/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c 2020-10-23 15:03:34.772000000 +0100
|
||||||
|
@@ -37,6 +37,8 @@
|
||||||
|
#include "keyboard-resources.h"
|
||||||
|
#include "cc-input-chooser.h"
|
||||||
|
|
||||||
|
+#include "cc-common-language.h"
|
||||||
|
+
|
||||||
|
#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.gnome.desktop.input-sources"
|
||||||
|
#define KEY_CURRENT_INPUT_SOURCE "current"
|
||||||
|
#define KEY_INPUT_SOURCES "sources"
|
||||||
|
@@ -281,8 +283,7 @@
|
||||||
|
{
|
||||||
|
const gchar *type;
|
||||||
|
const gchar *id;
|
||||||
|
- const gchar * const *locales;
|
||||||
|
- const gchar *language;
|
||||||
|
+ gchar *language;
|
||||||
|
GVariantBuilder builder;
|
||||||
|
GSettings *input_settings;
|
||||||
|
|
||||||
|
@@ -292,12 +293,12 @@
|
||||||
|
add_default_keyboard_layout (proxy, &builder);
|
||||||
|
|
||||||
|
/* add other input sources */
|
||||||
|
- locales = g_get_language_names ();
|
||||||
|
- language = locales[0];
|
||||||
|
+ language = cc_common_language_get_current_language ();
|
||||||
|
if (gnome_get_input_source_from_locale (language, &type, &id)) {
|
||||||
|
if (!g_str_equal (type, "xkb"))
|
||||||
|
g_variant_builder_add (&builder, "(ss)", type, id);
|
||||||
|
}
|
||||||
|
+ g_free (language);
|
||||||
|
|
||||||
|
g_settings_delay (input_settings);
|
||||||
|
g_settings_set_value (input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
||||||
|
@@ -346,8 +347,12 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-load_localed_input (GisKeyboardPage *self)
|
||||||
|
+preselect_input_source (GisKeyboardPage *self)
|
||||||
|
{
|
||||||
|
+ const gchar *type;
|
||||||
|
+ const gchar *id;
|
||||||
|
+ gchar *language;
|
||||||
|
+
|
||||||
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
GSList * sources = get_localed_input (priv->localed);
|
||||||
|
|
||||||
|
@@ -356,11 +361,28 @@
|
||||||
|
g_slist_free_full (priv->system_sources, g_free);
|
||||||
|
priv->system_sources = g_slist_reverse (sources);
|
||||||
|
|
||||||
|
- /* We only pre-select the first system layout. */
|
||||||
|
- if (priv->system_sources)
|
||||||
|
+ /* For languages that use an input method, we will add both
|
||||||
|
+ * system keyboard layout and the ibus input method. For
|
||||||
|
+ * languages that use keyboard layout only, we will add only
|
||||||
|
+ * system keyboard layout. Because the keyboard layout
|
||||||
|
+ * information from gnome-desktop is not as accurate as system
|
||||||
|
+ * keyboard layout, if gnome-desktop returns keyboard layout,
|
||||||
|
+ * we ignore it and use system keyboard layout instead. If
|
||||||
|
+ * gnome-desktop instead returns an ibus input method, we will
|
||||||
|
+ * add both system keyboard layout and the ibus input method. */
|
||||||
|
+ language = cc_common_language_get_current_language ();
|
||||||
|
+
|
||||||
|
+ if (!priv->system_sources ||
|
||||||
|
+ (gnome_get_input_source_from_locale (language, &type, &id) && g_strcmp0 (type, "xkb") != 0)) {
|
||||||
|
+ cc_input_chooser_set_input (CC_INPUT_CHOOSER (priv->input_chooser),
|
||||||
|
+ id, type);
|
||||||
|
+ } else {
|
||||||
|
cc_input_chooser_set_input (CC_INPUT_CHOOSER (priv->input_chooser),
|
||||||
|
(const gchar *) priv->system_sources->data,
|
||||||
|
"xkb");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_free (language);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -395,7 +417,7 @@
|
||||||
|
|
||||||
|
priv->localed = proxy;
|
||||||
|
|
||||||
|
- load_localed_input (self);
|
||||||
|
+ preselect_input_source (self);
|
||||||
|
update_page_complete (self);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,200 @@
|
|||||||
|
From 55f148cb0e09009bc0bfc2e12b58fa3577bc900c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ondrej Holy <oholy@redhat.com>
|
||||||
|
Date: Mon, 9 Apr 2018 09:07:32 +0200
|
||||||
|
Subject: [PATCH 1/3] account: Use GIO API for face images handling
|
||||||
|
|
||||||
|
Users panel in gnome-control-center switched to GIO API for face images
|
||||||
|
handling. Let's do the similar changes here also as a preparation for
|
||||||
|
filtering out legacy face images.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=795086
|
||||||
|
---
|
||||||
|
.../pages/account/um-photo-dialog.c | 45 ++++++++++---------
|
||||||
|
1 file changed, 23 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/account/um-photo-dialog.c b/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
index b63ed78..8b23974 100644
|
||||||
|
--- a/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
+++ b/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
@@ -145,15 +145,12 @@ stock_icon_selected (GtkMenuItem *menuitem,
|
||||||
|
|
||||||
|
static GtkWidget *
|
||||||
|
menu_item_for_filename (UmPhotoDialog *um,
|
||||||
|
- const char *filename)
|
||||||
|
+ GFile *file)
|
||||||
|
{
|
||||||
|
GtkWidget *image, *menuitem;
|
||||||
|
- GFile *file;
|
||||||
|
GIcon *icon;
|
||||||
|
|
||||||
|
- file = g_file_new_for_path (filename);
|
||||||
|
icon = g_file_icon_new (file);
|
||||||
|
- g_object_unref (file);
|
||||||
|
image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_DIALOG);
|
||||||
|
g_object_unref (icon);
|
||||||
|
|
||||||
|
@@ -161,8 +158,9 @@ menu_item_for_filename (UmPhotoDialog *um,
|
||||||
|
gtk_container_add (GTK_CONTAINER (menuitem), image);
|
||||||
|
gtk_widget_show_all (menuitem);
|
||||||
|
|
||||||
|
- g_object_set_data_full (G_OBJECT (menuitem), "filename",
|
||||||
|
- g_strdup (filename), (GDestroyNotify) g_free);
|
||||||
|
+ g_object_set_data_full (G_OBJECT (menuitem),
|
||||||
|
+ "filename", g_file_get_path (file),
|
||||||
|
+ (GDestroyNotify) g_free);
|
||||||
|
g_signal_connect (G_OBJECT (menuitem), "activate",
|
||||||
|
G_CALLBACK (stock_icon_selected), um);
|
||||||
|
|
||||||
|
@@ -176,8 +174,6 @@ setup_photo_popup (UmPhotoDialog *um)
|
||||||
|
guint x, y;
|
||||||
|
const gchar * const * dirs;
|
||||||
|
guint i;
|
||||||
|
- GDir *dir;
|
||||||
|
- const char *face;
|
||||||
|
gboolean none_item_shown;
|
||||||
|
gboolean added_faces;
|
||||||
|
|
||||||
|
@@ -189,25 +185,32 @@ setup_photo_popup (UmPhotoDialog *um)
|
||||||
|
|
||||||
|
dirs = g_get_system_data_dirs ();
|
||||||
|
for (i = 0; dirs[i] != NULL; i++) {
|
||||||
|
- char *path;
|
||||||
|
+ g_autoptr(GFileEnumerator) enumerator = NULL;
|
||||||
|
+ g_autoptr(GFile) dir = NULL;
|
||||||
|
+ g_autofree gchar *path = NULL;
|
||||||
|
+ gpointer infoptr;
|
||||||
|
|
||||||
|
path = g_build_filename (dirs[i], "pixmaps", "faces", NULL);
|
||||||
|
- dir = g_dir_open (path, 0, NULL);
|
||||||
|
- if (dir == NULL) {
|
||||||
|
- g_free (path);
|
||||||
|
+ dir = g_file_new_for_path (path);
|
||||||
|
+
|
||||||
|
+ enumerator = g_file_enumerate_children (dir,
|
||||||
|
+ G_FILE_ATTRIBUTE_STANDARD_NAME ","
|
||||||
|
+ G_FILE_ATTRIBUTE_STANDARD_TYPE ","
|
||||||
|
+ G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK ","
|
||||||
|
+ G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET,
|
||||||
|
+ G_FILE_QUERY_INFO_NONE,
|
||||||
|
+ NULL, NULL);
|
||||||
|
+ if (enumerator == NULL)
|
||||||
|
continue;
|
||||||
|
- }
|
||||||
|
|
||||||
|
- while ((face = g_dir_read_name (dir)) != NULL) {
|
||||||
|
- char *filename;
|
||||||
|
+ while ((infoptr = g_file_enumerator_next_file (enumerator, NULL, NULL)) != NULL) {
|
||||||
|
+ g_autoptr (GFileInfo) info = infoptr;
|
||||||
|
+ g_autoptr (GFile) face_file = NULL;
|
||||||
|
|
||||||
|
added_faces = TRUE;
|
||||||
|
|
||||||
|
- filename = g_build_filename (path, face, NULL);
|
||||||
|
- menuitem = menu_item_for_filename (um, filename);
|
||||||
|
- g_free (filename);
|
||||||
|
- if (menuitem == NULL)
|
||||||
|
- continue;
|
||||||
|
+ face_file = g_file_get_child (dir, g_file_info_get_name (info));
|
||||||
|
+ menuitem = menu_item_for_filename (um, face_file);
|
||||||
|
|
||||||
|
gtk_menu_attach (GTK_MENU (menu), GTK_WIDGET (menuitem),
|
||||||
|
x, x + 1, y, y + 1);
|
||||||
|
@@ -219,8 +222,6 @@ setup_photo_popup (UmPhotoDialog *um)
|
||||||
|
x = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- g_dir_close (dir);
|
||||||
|
- g_free (path);
|
||||||
|
|
||||||
|
if (added_faces)
|
||||||
|
break;
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
|
||||||
|
From 0441acd191fb89b40d30484e2966ddd48a196f12 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ondrej Holy <oholy@redhat.com>
|
||||||
|
Date: Mon, 9 Apr 2018 09:10:45 +0200
|
||||||
|
Subject: [PATCH 2/3] account: Do not show legacy face images
|
||||||
|
|
||||||
|
Legacy face images should not be shown in avatar chooser, so let's filter
|
||||||
|
all symlinks to the legacy files out.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=795086
|
||||||
|
---
|
||||||
|
gnome-initial-setup/pages/account/um-photo-dialog.c | 10 ++++++++++
|
||||||
|
1 file changed, 10 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/account/um-photo-dialog.c b/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
index 8b23974..0769209 100644
|
||||||
|
--- a/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
+++ b/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
@@ -170,6 +170,8 @@ menu_item_for_filename (UmPhotoDialog *um,
|
||||||
|
static void
|
||||||
|
setup_photo_popup (UmPhotoDialog *um)
|
||||||
|
{
|
||||||
|
+ GFileType type;
|
||||||
|
+ const gchar *target;
|
||||||
|
GtkWidget *menu, *menuitem, *image;
|
||||||
|
guint x, y;
|
||||||
|
const gchar * const * dirs;
|
||||||
|
@@ -209,6 +211,14 @@ setup_photo_popup (UmPhotoDialog *um)
|
||||||
|
|
||||||
|
added_faces = TRUE;
|
||||||
|
|
||||||
|
+ type = g_file_info_get_file_type (info);
|
||||||
|
+ if (type != G_FILE_TYPE_REGULAR && type != G_FILE_TYPE_SYMBOLIC_LINK)
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
+ target = g_file_info_get_symlink_target (info);
|
||||||
|
+ if (target != NULL && g_str_has_prefix (target , "legacy/"))
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
face_file = g_file_get_child (dir, g_file_info_get_name (info));
|
||||||
|
menuitem = menu_item_for_filename (um, face_file);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
||||||
|
|
||||||
|
From 6a7fcaf82b3dc913313f328501ec085b5bfb5d0f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ondrej Holy <oholy@redhat.com>
|
||||||
|
Date: Mon, 9 Apr 2018 09:37:46 +0200
|
||||||
|
Subject: [PATCH 3/3] account: Make face images bigger
|
||||||
|
|
||||||
|
The new set of face images doesn't contain the same number of images,
|
||||||
|
so let's change parameters of avatar chooser in the same way as it was
|
||||||
|
done in gnome-control-center.
|
||||||
|
|
||||||
|
Now we present 72x72 faces in a 4x4 grid.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=795086
|
||||||
|
---
|
||||||
|
gnome-initial-setup/pages/account/um-photo-dialog.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/account/um-photo-dialog.c b/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
index 0769209..ac89d30 100644
|
||||||
|
--- a/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
+++ b/gnome-initial-setup/pages/account/um-photo-dialog.c
|
||||||
|
@@ -37,7 +37,8 @@
|
||||||
|
#include "um-photo-dialog.h"
|
||||||
|
#include "um-utils.h"
|
||||||
|
|
||||||
|
-#define ROW_SPAN 6
|
||||||
|
+#define ROW_SPAN 5
|
||||||
|
+#define AVATAR_PIXEL_SIZE 72
|
||||||
|
|
||||||
|
struct _UmPhotoDialog {
|
||||||
|
GtkWidget *photo_popup;
|
||||||
|
@@ -152,6 +153,7 @@ menu_item_for_filename (UmPhotoDialog *um,
|
||||||
|
|
||||||
|
icon = g_file_icon_new (file);
|
||||||
|
image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_DIALOG);
|
||||||
|
+ gtk_image_set_pixel_size (GTK_IMAGE (image), AVATAR_PIXEL_SIZE);
|
||||||
|
g_object_unref (icon);
|
||||||
|
|
||||||
|
menuitem = gtk_menu_item_new ();
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
88
SOURCES/honor-firstboot-disabled.patch
Normal file
88
SOURCES/honor-firstboot-disabled.patch
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
From b2659246f3e2afcbf51a92ee6839775de4e6487a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rui Matos <tiagomatos@gmail.com>
|
||||||
|
Date: Mon, 23 Jan 2017 19:42:44 +0100
|
||||||
|
Subject: [PATCH] Exit gracefully if we are disabled systemwide
|
||||||
|
|
||||||
|
Sysadmins might want to disable any kind of initial setup for their
|
||||||
|
users, perhaps because they pre-configure their environments. We
|
||||||
|
should provide an easy way to do it.
|
||||||
|
|
||||||
|
At least the anaconda installer provides an option to skip any kind
|
||||||
|
post-install setup tools so, for now we're only adding support for
|
||||||
|
that but more might be added in the future.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=777707
|
||||||
|
---
|
||||||
|
gnome-initial-setup/Makefile.am | 3 ++-
|
||||||
|
gnome-initial-setup/gnome-initial-setup.c | 34 +++++++++++++++++++++++++++++++
|
||||||
|
2 files changed, 36 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/Makefile.am b/gnome-initial-setup/Makefile.am
|
||||||
|
index d275dda..465b598 100644
|
||||||
|
--- a/gnome-initial-setup/Makefile.am
|
||||||
|
+++ b/gnome-initial-setup/Makefile.am
|
||||||
|
@@ -11,7 +11,8 @@ AM_CPPFLAGS = \
|
||||||
|
-DUIDIR="\"$(uidir)\"" \
|
||||||
|
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
|
||||||
|
-DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \
|
||||||
|
- -DDATADIR=\""$(datadir)"\"
|
||||||
|
+ -DDATADIR=\""$(datadir)"\" \
|
||||||
|
+ -DSYSCONFDIR=\""$(sysconfdir)"\"
|
||||||
|
|
||||||
|
libexec_PROGRAMS = gnome-initial-setup gnome-initial-setup-copy-worker
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c
|
||||||
|
index 2ec91b9..10b5f84 100644
|
||||||
|
--- a/gnome-initial-setup/gnome-initial-setup.c
|
||||||
|
+++ b/gnome-initial-setup/gnome-initial-setup.c
|
||||||
|
@@ -186,6 +186,31 @@ get_mode (void)
|
||||||
|
return GIS_DRIVER_MODE_NEW_USER;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static gboolean
|
||||||
|
+initial_setup_disabled_by_anaconda (void)
|
||||||
|
+{
|
||||||
|
+ GKeyFile *key_file;
|
||||||
|
+ const gchar *file_name = SYSCONFDIR "/sysconfig/anaconda";
|
||||||
|
+ gboolean disabled = FALSE;
|
||||||
|
+ GError *error = NULL;
|
||||||
|
+
|
||||||
|
+ key_file = g_key_file_new ();
|
||||||
|
+ if (!g_key_file_load_from_file (key_file, file_name, G_KEY_FILE_NONE, &error)) {
|
||||||
|
+ if (!g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT) &&
|
||||||
|
+ !g_error_matches (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_NOT_FOUND)) {
|
||||||
|
+ g_warning ("Could not read %s: %s", file_name, error->message);
|
||||||
|
+ }
|
||||||
|
+ g_error_free (error);
|
||||||
|
+ goto out;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ disabled = g_key_file_get_boolean (key_file, "General",
|
||||||
|
+ "post_install_tools_disabled", NULL);
|
||||||
|
+ out:
|
||||||
|
+ g_key_file_unref (key_file);
|
||||||
|
+ return disabled;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int
|
||||||
|
main (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
@@ -226,6 +251,15 @@ main (int argc, char *argv[])
|
||||||
|
|
||||||
|
mode = get_mode ();
|
||||||
|
|
||||||
|
+ /* We only do this in existing-user mode, because if gdm launches us
|
||||||
|
+ * in new-user mode and we just exit, gdm's special g-i-s session
|
||||||
|
+ * never terminates. */
|
||||||
|
+ if (initial_setup_disabled_by_anaconda () &&
|
||||||
|
+ mode == GIS_DRIVER_MODE_EXISTING_USER) {
|
||||||
|
+ gis_ensure_stamp_files ();
|
||||||
|
+ exit (EXIT_SUCCESS);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* When we are running as the gnome-initial-setup user we
|
||||||
|
* dont have a normal user session and need to initialize
|
||||||
|
* the keyring manually so that we can pass the credentials
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
24
SOURCES/quacks-like-fedora.patch
Normal file
24
SOURCES/quacks-like-fedora.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
diff -up gnome-initial-setup-3.28.0/gnome-initial-setup/pages/language/gis-language-page.c.quacks_like_fedora gnome-initial-setup-3.28.0/gnome-initial-setup/pages/language/gis-language-page.c
|
||||||
|
--- gnome-initial-setup-3.28.0/gnome-initial-setup/pages/language/gis-language-page.c.quacks_like_fedora 2019-02-18 11:06:22.404874101 -0500
|
||||||
|
+++ gnome-initial-setup-3.28.0/gnome-initial-setup/pages/language/gis-language-page.c 2019-02-18 13:29:59.069513421 -0500
|
||||||
|
@@ -227,11 +227,18 @@ update_distro_logo (GisLanguagePage *pag
|
||||||
|
|
||||||
|
if (g_file_get_contents ("/etc/os-release", &buffer, NULL, NULL))
|
||||||
|
{
|
||||||
|
- id = get_item (buffer, "ID");
|
||||||
|
+ id = get_item (buffer, "ID_LIKE");
|
||||||
|
+
|
||||||
|
+ if (id == NULL)
|
||||||
|
+ id = get_item (buffer, "ID");
|
||||||
|
+
|
||||||
|
g_free (buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (g_strcmp0 (id, "fedora") == 0)
|
||||||
|
+ if (id != NULL &&
|
||||||
|
+ (strcmp (id, "fedora") == 0 ||
|
||||||
|
+ strstr (id, " fedora") != NULL ||
|
||||||
|
+ strstr (id, "fedora ") != NULL))
|
||||||
|
{
|
||||||
|
g_object_set (priv->logo, "icon-name", "fedora-logo-icon", NULL);
|
||||||
|
}
|
974
SOURCES/reduce-initial-setup-redundancy.patch
Normal file
974
SOURCES/reduce-initial-setup-redundancy.patch
Normal file
@ -0,0 +1,974 @@
|
|||||||
|
From de07cbc69b8f64b1a7708f454f029814d3c48b10 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@igalia.com>
|
||||||
|
Date: Thu, 15 Feb 2018 21:08:38 -0600
|
||||||
|
Subject: [PATCH] Reduce initial setup redundancy
|
||||||
|
|
||||||
|
This contains patches from these bugs:
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=793501
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=794166
|
||||||
|
|
||||||
|
modified a bit to not conflict with each other.
|
||||||
|
|
||||||
|
This is a combination of work by Peng Wu and Michael Catanzaro.
|
||||||
|
---
|
||||||
|
gnome-initial-setup/gis-assistant.c | 3 +-
|
||||||
|
gnome-initial-setup/gis-page.c | 8 +
|
||||||
|
gnome-initial-setup/gis-page.h | 2 +
|
||||||
|
gnome-initial-setup/gnome-initial-setup.c | 77 +++++++--
|
||||||
|
.../pages/account/gis-account-page.h | 2 -
|
||||||
|
.../pages/account/gis-account-pages.c | 9 +-
|
||||||
|
.../pages/account/gis-account-pages.h | 2 +-
|
||||||
|
gnome-initial-setup/pages/eulas/gis-eula-pages.c | 16 +-
|
||||||
|
gnome-initial-setup/pages/eulas/gis-eula-pages.h | 2 +-
|
||||||
|
gnome-initial-setup/pages/goa/gis-goa-page.c | 9 +-
|
||||||
|
gnome-initial-setup/pages/goa/gis-goa-page.h | 2 +-
|
||||||
|
.../pages/keyboard/gis-keyboard-page.c | 185 ++++++++++++++++-----
|
||||||
|
.../pages/keyboard/gis-keyboard-page.h | 2 +-
|
||||||
|
.../pages/language/gis-language-page.c | 24 ++-
|
||||||
|
.../pages/language/gis-language-page.h | 3 +-
|
||||||
|
.../pages/language/gis-language-page.ui | 4 +-
|
||||||
|
.../pages/network/gis-network-page.c | 9 +-
|
||||||
|
.../pages/network/gis-network-page.h | 2 +-
|
||||||
|
.../pages/password/gis-password-page.c | 9 +-
|
||||||
|
.../pages/password/gis-password-page.h | 2 +-
|
||||||
|
.../pages/privacy/gis-privacy-page.c | 9 +-
|
||||||
|
.../pages/privacy/gis-privacy-page.h | 2 +-
|
||||||
|
gnome-initial-setup/pages/region/gis-region-page.c | 9 +-
|
||||||
|
gnome-initial-setup/pages/region/gis-region-page.h | 2 +-
|
||||||
|
.../pages/software/gis-software-page.c | 14 +-
|
||||||
|
.../pages/software/gis-software-page.h | 2 +-
|
||||||
|
.../pages/summary/gis-summary-page.c | 9 +-
|
||||||
|
.../pages/summary/gis-summary-page.h | 2 +-
|
||||||
|
.../pages/timezone/gis-timezone-page.c | 9 +-
|
||||||
|
.../pages/timezone/gis-timezone-page.h | 2 +-
|
||||||
|
30 files changed, 296 insertions(+), 136 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/gis-assistant.c b/gnome-initial-setup/gis-assistant.c
|
||||||
|
index 37ed563..0a3bd05 100644
|
||||||
|
--- a/gnome-initial-setup/gis-assistant.c
|
||||||
|
+++ b/gnome-initial-setup/gis-assistant.c
|
||||||
|
@@ -302,7 +302,8 @@ gis_assistant_add_page (GisAssistant *assistant,
|
||||||
|
|
||||||
|
gtk_container_add (GTK_CONTAINER (priv->stack), GTK_WIDGET (page));
|
||||||
|
|
||||||
|
- if (priv->current_page->assistant_priv->link == link->prev)
|
||||||
|
+ if (priv->current_page &&
|
||||||
|
+ priv->current_page->assistant_priv->link == link->prev)
|
||||||
|
update_navigation_buttons (assistant);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/gis-page.c b/gnome-initial-setup/gis-page.c
|
||||||
|
index e28f573..8564935 100644
|
||||||
|
--- a/gnome-initial-setup/gis-page.c
|
||||||
|
+++ b/gnome-initial-setup/gis-page.c
|
||||||
|
@@ -382,3 +382,11 @@ gis_page_shown (GisPage *page)
|
||||||
|
if (GIS_PAGE_GET_CLASS (page)->shown)
|
||||||
|
GIS_PAGE_GET_CLASS (page)->shown (page);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+gboolean
|
||||||
|
+gis_page_skip (GisPage *page)
|
||||||
|
+{
|
||||||
|
+ if (GIS_PAGE_GET_CLASS (page)->skip)
|
||||||
|
+ return GIS_PAGE_GET_CLASS (page)->skip (page);
|
||||||
|
+ return TRUE;
|
||||||
|
+}
|
||||||
|
diff --git a/gnome-initial-setup/gis-page.h b/gnome-initial-setup/gis-page.h
|
||||||
|
index 02e3085..1f11578 100644
|
||||||
|
--- a/gnome-initial-setup/gis-page.h
|
||||||
|
+++ b/gnome-initial-setup/gis-page.h
|
||||||
|
@@ -60,6 +60,7 @@ struct _GisPageClass
|
||||||
|
GCancellable *cancellable);
|
||||||
|
void (*save_data) (GisPage *page);
|
||||||
|
void (*shown) (GisPage *page);
|
||||||
|
+ gboolean (*skip) (GisPage *page);
|
||||||
|
};
|
||||||
|
|
||||||
|
GType gis_page_get_type (void);
|
||||||
|
@@ -80,6 +81,7 @@ void gis_page_apply_complete (GisPage *page, gboolean valid);
|
||||||
|
gboolean gis_page_get_applying (GisPage *page);
|
||||||
|
void gis_page_save_data (GisPage *page);
|
||||||
|
void gis_page_shown (GisPage *page);
|
||||||
|
+gboolean gis_page_skip (GisPage *page);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c
|
||||||
|
index 5a988a3..4558810 100644
|
||||||
|
--- a/gnome-initial-setup/gnome-initial-setup.c
|
||||||
|
+++ b/gnome-initial-setup/gnome-initial-setup.c
|
||||||
|
@@ -50,11 +50,15 @@
|
||||||
|
#include "pages/summary/gis-summary-page.h"
|
||||||
|
|
||||||
|
#define VENDOR_PAGES_GROUP "pages"
|
||||||
|
-#define VENDOR_PAGES_SKIP_KEY "skip"
|
||||||
|
+#define VENDOR_SKIP_KEY "skip"
|
||||||
|
+#define VENDOR_NEW_USER_ONLY_KEY "new_user_only"
|
||||||
|
+#define VENDOR_EXISTING_USER_ONLY_KEY "existing_user_only"
|
||||||
|
|
||||||
|
static gboolean force_existing_user_mode;
|
||||||
|
|
||||||
|
-typedef void (*PreparePage) (GisDriver *driver);
|
||||||
|
+static GPtrArray *skipped_pages;
|
||||||
|
+
|
||||||
|
+typedef GisPage *(*PreparePage) (GisDriver *driver);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
const gchar *page_id;
|
||||||
|
@@ -101,21 +105,40 @@ should_skip_page (GisDriver *driver,
|
||||||
|
}
|
||||||
|
|
||||||
|
static gchar **
|
||||||
|
-pages_to_skip_from_file (void)
|
||||||
|
+strv_append (gchar **a,
|
||||||
|
+ gchar **b)
|
||||||
|
+{
|
||||||
|
+ guint n = g_strv_length (a);
|
||||||
|
+ guint m = g_strv_length (b);
|
||||||
|
+
|
||||||
|
+ a = g_renew (gchar *, a, n + m + 1);
|
||||||
|
+ for (guint i = 0; i < m; i++)
|
||||||
|
+ a[n + i] = g_strdup (b[i]);
|
||||||
|
+ a[n + m] = NULL;
|
||||||
|
+
|
||||||
|
+ return a;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static gchar **
|
||||||
|
+pages_to_skip_from_file (gboolean is_new_user)
|
||||||
|
{
|
||||||
|
GKeyFile *skip_pages_file;
|
||||||
|
gchar **skip_pages = NULL;
|
||||||
|
+ gchar **additional_skip_pages = NULL;
|
||||||
|
GError *error = NULL;
|
||||||
|
|
||||||
|
/* VENDOR_CONF_FILE points to a keyfile containing vendor customization
|
||||||
|
* options. This code will look for options under the "pages" group, and
|
||||||
|
* supports the following keys:
|
||||||
|
- * - skip (optional): list of pages to be skipped.
|
||||||
|
+ * - skip (optional): list of pages to be skipped always
|
||||||
|
+ * - new_user_only (optional): list of pages to be skipped in existing user mode
|
||||||
|
+ * - existing_user_only (optional): list of pages to be skipped in new user mode
|
||||||
|
*
|
||||||
|
- * This is how this file would look on a vendor image:
|
||||||
|
+ * This is how this file might look on a vendor image:
|
||||||
|
*
|
||||||
|
* [pages]
|
||||||
|
- * skip=language
|
||||||
|
+ * skip=timezone
|
||||||
|
+ * existing_user_only=language;keyboard
|
||||||
|
*/
|
||||||
|
skip_pages_file = g_key_file_new ();
|
||||||
|
if (!g_key_file_load_from_file (skip_pages_file, VENDOR_CONF_FILE,
|
||||||
|
@@ -127,8 +150,20 @@ pages_to_skip_from_file (void)
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
- skip_pages = g_key_file_get_string_list (skip_pages_file, VENDOR_PAGES_GROUP,
|
||||||
|
- VENDOR_PAGES_SKIP_KEY, NULL, NULL);
|
||||||
|
+ skip_pages = g_key_file_get_string_list (skip_pages_file,
|
||||||
|
+ VENDOR_PAGES_GROUP,
|
||||||
|
+ VENDOR_SKIP_KEY, NULL, NULL);
|
||||||
|
+ additional_skip_pages = g_key_file_get_string_list (skip_pages_file,
|
||||||
|
+ VENDOR_PAGES_GROUP,
|
||||||
|
+ is_new_user ? VENDOR_EXISTING_USER_ONLY_KEY : VENDOR_NEW_USER_ONLY_KEY,
|
||||||
|
+ NULL, NULL);
|
||||||
|
+
|
||||||
|
+ if (!skip_pages && additional_skip_pages) {
|
||||||
|
+ skip_pages = additional_skip_pages;
|
||||||
|
+ } else if (skip_pages && additional_skip_pages) {
|
||||||
|
+ skip_pages = strv_append (skip_pages, additional_skip_pages);
|
||||||
|
+ g_strfreev (additional_skip_pages);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
out:
|
||||||
|
g_key_file_free (skip_pages_file);
|
||||||
|
@@ -159,16 +194,14 @@ static void
|
||||||
|
rebuild_pages_cb (GisDriver *driver)
|
||||||
|
{
|
||||||
|
PageData *page_data;
|
||||||
|
+ GisPage *page;
|
||||||
|
GisAssistant *assistant;
|
||||||
|
GisPage *current_page;
|
||||||
|
gchar **skip_pages;
|
||||||
|
- gboolean is_new_user;
|
||||||
|
+ gboolean is_new_user, skipped;
|
||||||
|
|
||||||
|
assistant = gis_driver_get_assistant (driver);
|
||||||
|
current_page = gis_assistant_get_current_page (assistant);
|
||||||
|
-
|
||||||
|
- skip_pages = pages_to_skip_from_file ();
|
||||||
|
-
|
||||||
|
page_data = page_table;
|
||||||
|
|
||||||
|
if (current_page != NULL) {
|
||||||
|
@@ -182,14 +215,23 @@ rebuild_pages_cb (GisDriver *driver)
|
||||||
|
}
|
||||||
|
|
||||||
|
is_new_user = (gis_driver_get_mode (driver) == GIS_DRIVER_MODE_NEW_USER);
|
||||||
|
+ skip_pages = pages_to_skip_from_file (is_new_user);
|
||||||
|
+
|
||||||
|
for (; page_data->page_id != NULL; ++page_data) {
|
||||||
|
- if (page_data->new_user_only && !is_new_user)
|
||||||
|
- continue;
|
||||||
|
+ skipped = FALSE;
|
||||||
|
+
|
||||||
|
+ if ((page_data->new_user_only && !is_new_user) ||
|
||||||
|
+ (should_skip_page (driver, page_data->page_id, skip_pages)))
|
||||||
|
+ skipped = TRUE;
|
||||||
|
|
||||||
|
- if (should_skip_page (driver, page_data->page_id, skip_pages))
|
||||||
|
+ page = page_data->prepare_page_func (driver);
|
||||||
|
+ if (!page)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
- page_data->prepare_page_func (driver);
|
||||||
|
+ if (skipped && gis_page_skip (page))
|
||||||
|
+ g_ptr_array_add (skipped_pages, page);
|
||||||
|
+ else
|
||||||
|
+ gis_driver_add_page (driver, page);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_strfreev (skip_pages);
|
||||||
|
@@ -267,6 +309,7 @@ main (int argc, char *argv[])
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ skipped_pages = g_ptr_array_new_with_free_func ((GDestroyNotify)gtk_widget_destroy);
|
||||||
|
mode = get_mode ();
|
||||||
|
|
||||||
|
/* We only do this in existing-user mode, because if gdm launches us
|
||||||
|
@@ -290,6 +333,8 @@ main (int argc, char *argv[])
|
||||||
|
g_signal_connect (driver, "rebuild-pages", G_CALLBACK (rebuild_pages_cb), NULL);
|
||||||
|
status = g_application_run (G_APPLICATION (driver), argc, argv);
|
||||||
|
|
||||||
|
+ g_ptr_array_free (skipped_pages, TRUE);
|
||||||
|
+
|
||||||
|
g_object_unref (driver);
|
||||||
|
g_option_context_free (context);
|
||||||
|
return status;
|
||||||
|
diff --git a/gnome-initial-setup/pages/account/gis-account-page.h b/gnome-initial-setup/pages/account/gis-account-page.h
|
||||||
|
index cc34304..7629e1a 100644
|
||||||
|
--- a/gnome-initial-setup/pages/account/gis-account-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/account/gis-account-page.h
|
||||||
|
@@ -50,8 +50,6 @@ struct _GisAccountPageClass
|
||||||
|
|
||||||
|
GType gis_account_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_account_page (GisDriver *driver);
|
||||||
|
-
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __GIS_ACCOUNT_PAGE_H__ */
|
||||||
|
diff --git a/gnome-initial-setup/pages/account/gis-account-pages.c b/gnome-initial-setup/pages/account/gis-account-pages.c
|
||||||
|
index 5f4411b..d9cc8d9 100644
|
||||||
|
--- a/gnome-initial-setup/pages/account/gis-account-pages.c
|
||||||
|
+++ b/gnome-initial-setup/pages/account/gis-account-pages.c
|
||||||
|
@@ -23,11 +23,10 @@
|
||||||
|
#include "gis-account-pages.h"
|
||||||
|
#include "gis-account-page.h"
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_account_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_ACCOUNT_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_ACCOUNT_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/account/gis-account-pages.h b/gnome-initial-setup/pages/account/gis-account-pages.h
|
||||||
|
index 20d615a..394421b 100644
|
||||||
|
--- a/gnome-initial-setup/pages/account/gis-account-pages.h
|
||||||
|
+++ b/gnome-initial-setup/pages/account/gis-account-pages.h
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
-void gis_prepare_account_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_account_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/eulas/gis-eula-pages.c b/gnome-initial-setup/pages/eulas/gis-eula-pages.c
|
||||||
|
index 8c989c2..3de6653 100644
|
||||||
|
--- a/gnome-initial-setup/pages/eulas/gis-eula-pages.c
|
||||||
|
+++ b/gnome-initial-setup/pages/eulas/gis-eula-pages.c
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
#include "gis-eula-pages.h"
|
||||||
|
#include "gis-eula-page.h"
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_eula_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
gchar *eulas_dir_path;
|
||||||
|
@@ -33,6 +33,7 @@ gis_prepare_eula_page (GisDriver *driver)
|
||||||
|
GError *error = NULL;
|
||||||
|
GFileEnumerator *enumerator = NULL;
|
||||||
|
GFileInfo *info;
|
||||||
|
+ GisPage *page = NULL;
|
||||||
|
|
||||||
|
eulas_dir_path = g_build_filename (PKGDATADIR, "eulas", NULL);
|
||||||
|
eulas_dir = g_file_new_for_path (eulas_dir_path);
|
||||||
|
@@ -52,11 +53,12 @@ gis_prepare_eula_page (GisDriver *driver)
|
||||||
|
|
||||||
|
while ((info = g_file_enumerator_next_file (enumerator, NULL, &error)) != NULL) {
|
||||||
|
GFile *eula = g_file_enumerator_get_child (enumerator, info);
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_EULA_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- "eula", eula,
|
||||||
|
- NULL));
|
||||||
|
+
|
||||||
|
+ page = g_object_new (GIS_TYPE_EULA_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ "eula", eula,
|
||||||
|
+ NULL);
|
||||||
|
+
|
||||||
|
g_object_unref (eula);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -71,4 +73,6 @@ gis_prepare_eula_page (GisDriver *driver)
|
||||||
|
|
||||||
|
g_object_unref (eulas_dir);
|
||||||
|
g_clear_object (&enumerator);
|
||||||
|
+
|
||||||
|
+ return page;
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/eulas/gis-eula-pages.h b/gnome-initial-setup/pages/eulas/gis-eula-pages.h
|
||||||
|
index 9424a6d..54906bc 100644
|
||||||
|
--- a/gnome-initial-setup/pages/eulas/gis-eula-pages.h
|
||||||
|
+++ b/gnome-initial-setup/pages/eulas/gis-eula-pages.h
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
-void gis_prepare_eula_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_eula_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/goa/gis-goa-page.c b/gnome-initial-setup/pages/goa/gis-goa-page.c
|
||||||
|
index fcdcabe..3ed4e98 100644
|
||||||
|
--- a/gnome-initial-setup/pages/goa/gis-goa-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/goa/gis-goa-page.c
|
||||||
|
@@ -363,11 +363,10 @@ gis_goa_page_init (GisGoaPage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_goa_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_GOA_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_GOA_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/goa/gis-goa-page.h b/gnome-initial-setup/pages/goa/gis-goa-page.h
|
||||||
|
index e65aa28..31918bf 100644
|
||||||
|
--- a/gnome-initial-setup/pages/goa/gis-goa-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/goa/gis-goa-page.h
|
||||||
|
@@ -48,7 +48,7 @@ struct _GisGoaPageClass
|
||||||
|
|
||||||
|
GType gis_goa_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_goa_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_goa_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
index 91d9a25..445da30 100644
|
||||||
|
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
@@ -30,6 +30,9 @@
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
#include <polkit/polkit.h>
|
||||||
|
|
||||||
|
+#define GNOME_DESKTOP_USE_UNSTABLE_API
|
||||||
|
+#include <libgnome-desktop/gnome-languages.h>
|
||||||
|
+
|
||||||
|
#include "gis-keyboard-page.h"
|
||||||
|
#include "keyboard-resources.h"
|
||||||
|
#include "cc-input-chooser.h"
|
||||||
|
@@ -208,53 +211,145 @@ gis_keyboard_page_apply (GisPage *page,
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static GSList *
|
||||||
|
+get_localed_input (GDBusProxy *proxy)
|
||||||
|
+{
|
||||||
|
+ GVariant *v;
|
||||||
|
+ const gchar *s;
|
||||||
|
+ gchar *id;
|
||||||
|
+ guint i, n;
|
||||||
|
+ gchar **layouts = NULL;
|
||||||
|
+ gchar **variants = NULL;
|
||||||
|
+ GSList *sources = NULL;
|
||||||
|
+
|
||||||
|
+ if (!proxy)
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
+ v = g_dbus_proxy_get_cached_property (proxy, "X11Layout");
|
||||||
|
+ if (v) {
|
||||||
|
+ s = g_variant_get_string (v, NULL);
|
||||||
|
+ layouts = g_strsplit (s, ",", -1);
|
||||||
|
+ g_variant_unref (v);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ v = g_dbus_proxy_get_cached_property (proxy, "X11Variant");
|
||||||
|
+ if (v) {
|
||||||
|
+ s = g_variant_get_string (v, NULL);
|
||||||
|
+ if (s && *s)
|
||||||
|
+ variants = g_strsplit (s, ",", -1);
|
||||||
|
+ g_variant_unref (v);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (variants && variants[0])
|
||||||
|
+ n = MIN (g_strv_length (layouts), g_strv_length (variants));
|
||||||
|
+ else if (layouts && layouts[0])
|
||||||
|
+ n = g_strv_length (layouts);
|
||||||
|
+ else
|
||||||
|
+ n = 0;
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < n && layouts[i][0]; i++) {
|
||||||
|
+ if (variants && variants[i] && variants[i][0])
|
||||||
|
+ id = g_strdup_printf ("%s+%s", layouts[i], variants[i]);
|
||||||
|
+ else
|
||||||
|
+ id = g_strdup (layouts[i]);
|
||||||
|
+ sources = g_slist_prepend (sources, id);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_strfreev (variants);
|
||||||
|
+ g_strfreev (layouts);
|
||||||
|
+
|
||||||
|
+ return sources;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
-load_localed_input (GisKeyboardPage *self)
|
||||||
|
+add_default_keyboard_layout (GDBusProxy *proxy,
|
||||||
|
+ GVariantBuilder *builder)
|
||||||
|
{
|
||||||
|
- GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
- GVariant *v;
|
||||||
|
- const gchar *s;
|
||||||
|
- gchar *id;
|
||||||
|
- guint i, n;
|
||||||
|
- gchar **layouts = NULL;
|
||||||
|
- gchar **variants = NULL;
|
||||||
|
- GSList *sources = NULL;
|
||||||
|
+ GSList *sources = get_localed_input (proxy);
|
||||||
|
+ sources = g_slist_reverse (sources);
|
||||||
|
|
||||||
|
- if (!priv->localed)
|
||||||
|
- return;
|
||||||
|
+ for (; sources; sources = sources->next)
|
||||||
|
+ g_variant_builder_add (builder, "(ss)", "xkb",
|
||||||
|
+ (const gchar *) sources->data);
|
||||||
|
|
||||||
|
- v = g_dbus_proxy_get_cached_property (priv->localed, "X11Layout");
|
||||||
|
- if (v) {
|
||||||
|
- s = g_variant_get_string (v, NULL);
|
||||||
|
- layouts = g_strsplit (s, ",", -1);
|
||||||
|
- g_variant_unref (v);
|
||||||
|
- }
|
||||||
|
+ g_slist_free_full (sources, g_free);
|
||||||
|
+}
|
||||||
|
|
||||||
|
- v = g_dbus_proxy_get_cached_property (priv->localed, "X11Variant");
|
||||||
|
- if (v) {
|
||||||
|
- s = g_variant_get_string (v, NULL);
|
||||||
|
- if (s && *s)
|
||||||
|
- variants = g_strsplit (s, ",", -1);
|
||||||
|
- g_variant_unref (v);
|
||||||
|
- }
|
||||||
|
+static void
|
||||||
|
+add_default_input_sources (GisKeyboardPage *self,
|
||||||
|
+ GDBusProxy *proxy)
|
||||||
|
+{
|
||||||
|
+ const gchar *type;
|
||||||
|
+ const gchar *id;
|
||||||
|
+ const gchar * const *locales;
|
||||||
|
+ const gchar *language;
|
||||||
|
+ GVariantBuilder builder;
|
||||||
|
+ GSettings *input_settings;
|
||||||
|
+
|
||||||
|
+ input_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
|
||||||
|
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
|
||||||
|
+
|
||||||
|
+ add_default_keyboard_layout (proxy, &builder);
|
||||||
|
+
|
||||||
|
+ /* add other input sources */
|
||||||
|
+ locales = g_get_language_names ();
|
||||||
|
+ language = locales[0];
|
||||||
|
+ if (gnome_get_input_source_from_locale (language, &type, &id)) {
|
||||||
|
+ if (!g_str_equal (type, "xkb"))
|
||||||
|
+ g_variant_builder_add (&builder, "(ss)", type, id);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_settings_delay (input_settings);
|
||||||
|
+ g_settings_set_value (input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
|
||||||
|
+ g_settings_set_uint (input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
|
||||||
|
+ g_settings_apply (input_settings);
|
||||||
|
+
|
||||||
|
+ g_object_unref (input_settings);
|
||||||
|
+}
|
||||||
|
|
||||||
|
- if (variants && variants[0])
|
||||||
|
- n = MIN (g_strv_length (layouts), g_strv_length (variants));
|
||||||
|
- else if (layouts && layouts[0])
|
||||||
|
- n = g_strv_length (layouts);
|
||||||
|
- else
|
||||||
|
- n = 0;
|
||||||
|
-
|
||||||
|
- for (i = 0; i < n && layouts[i][0]; i++) {
|
||||||
|
- if (variants && variants[i] && variants[i][0])
|
||||||
|
- id = g_strdup_printf ("%s+%s", layouts[i], variants[i]);
|
||||||
|
- else
|
||||||
|
- id = g_strdup (layouts[i]);
|
||||||
|
- sources = g_slist_prepend (sources, id);
|
||||||
|
- }
|
||||||
|
+static void
|
||||||
|
+skip_proxy_ready (GObject *source,
|
||||||
|
+ GAsyncResult *res,
|
||||||
|
+ gpointer data)
|
||||||
|
+{
|
||||||
|
+ GisKeyboardPage *self = data;
|
||||||
|
+ GDBusProxy *proxy;
|
||||||
|
+ GError *error = NULL;
|
||||||
|
+
|
||||||
|
+ proxy = g_dbus_proxy_new_finish (res, &error);
|
||||||
|
+
|
||||||
|
+ if (!proxy) {
|
||||||
|
+ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
|
||||||
|
+ g_warning ("Failed to contact localed: %s", error->message);
|
||||||
|
+ g_error_free (error);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ add_default_input_sources (self, proxy);
|
||||||
|
+
|
||||||
|
+ g_object_unref (proxy);
|
||||||
|
+}
|
||||||
|
|
||||||
|
- g_strfreev (variants);
|
||||||
|
- g_strfreev (layouts);
|
||||||
|
+static gboolean
|
||||||
|
+gis_keyboard_page_skip (GisPage *self)
|
||||||
|
+{
|
||||||
|
+ g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
|
||||||
|
+ G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
|
||||||
|
+ NULL,
|
||||||
|
+ "org.freedesktop.locale1",
|
||||||
|
+ "/org/freedesktop/locale1",
|
||||||
|
+ "org.freedesktop.locale1",
|
||||||
|
+ NULL,
|
||||||
|
+ (GAsyncReadyCallback) skip_proxy_ready,
|
||||||
|
+ self);
|
||||||
|
+ return TRUE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+load_localed_input (GisKeyboardPage *self)
|
||||||
|
+{
|
||||||
|
+ GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
+ GSList * sources = get_localed_input (priv->localed);
|
||||||
|
|
||||||
|
/* These will be added silently after the user selection when
|
||||||
|
* writing out the settings. */
|
||||||
|
@@ -375,6 +470,7 @@ gis_keyboard_page_class_init (GisKeyboardPageClass * klass)
|
||||||
|
|
||||||
|
page_class->page_id = PAGE_ID;
|
||||||
|
page_class->apply = gis_keyboard_page_apply;
|
||||||
|
+ page_class->skip = gis_keyboard_page_skip;
|
||||||
|
page_class->locale_changed = gis_keyboard_page_locale_changed;
|
||||||
|
object_class->constructed = gis_keyboard_page_constructed;
|
||||||
|
object_class->finalize = gis_keyboard_page_finalize;
|
||||||
|
@@ -389,11 +485,10 @@ gis_keyboard_page_init (GisKeyboardPage *self)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_keyboard_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_KEYBOARD_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_KEYBOARD_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.h b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.h
|
||||||
|
index 832473f..d5710a0 100644
|
||||||
|
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.h
|
||||||
|
@@ -63,7 +63,7 @@ struct _GisKeyboardPageClass
|
||||||
|
|
||||||
|
GType gis_keyboard_page_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
|
-void gis_prepare_keyboard_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_keyboard_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/language/gis-language-page.c b/gnome-initial-setup/pages/language/gis-language-page.c
|
||||||
|
index 6e246f9..c5f895c 100644
|
||||||
|
--- a/gnome-initial-setup/pages/language/gis-language-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/language/gis-language-page.c
|
||||||
|
@@ -267,6 +267,8 @@ gis_language_page_constructed (GObject *object)
|
||||||
|
|
||||||
|
update_distro_logo (page);
|
||||||
|
|
||||||
|
+ gtk_widget_show (priv->language_chooser);
|
||||||
|
+
|
||||||
|
g_signal_connect (priv->language_chooser, "notify::language",
|
||||||
|
G_CALLBACK (language_changed), page);
|
||||||
|
g_signal_connect (priv->language_chooser, "confirm",
|
||||||
|
@@ -288,7 +290,7 @@ gis_language_page_constructed (GObject *object)
|
||||||
|
(GAsyncReadyCallback) localed_proxy_ready,
|
||||||
|
object);
|
||||||
|
g_object_unref (bus);
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
gis_page_set_complete (GIS_PAGE (page), TRUE);
|
||||||
|
gtk_widget_show (GTK_WIDGET (page));
|
||||||
|
@@ -300,6 +302,16 @@ gis_language_page_locale_changed (GisPage *page)
|
||||||
|
gis_page_set_title (GIS_PAGE (page), _("Welcome"));
|
||||||
|
}
|
||||||
|
|
||||||
|
+static gboolean
|
||||||
|
+gis_language_page_skip (GisPage *page)
|
||||||
|
+{
|
||||||
|
+ GisLanguagePagePrivate *priv = gis_language_page_get_instance_private (GIS_LANGUAGE_PAGE (page));
|
||||||
|
+
|
||||||
|
+ gtk_widget_hide (priv->language_chooser);
|
||||||
|
+
|
||||||
|
+ return FALSE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
gis_language_page_dispose (GObject *object)
|
||||||
|
{
|
||||||
|
@@ -327,6 +339,7 @@ gis_language_page_class_init (GisLanguagePageClass *klass)
|
||||||
|
|
||||||
|
page_class->page_id = PAGE_ID;
|
||||||
|
page_class->locale_changed = gis_language_page_locale_changed;
|
||||||
|
+ page_class->skip = gis_language_page_skip;
|
||||||
|
object_class->constructed = gis_language_page_constructed;
|
||||||
|
object_class->dispose = gis_language_page_dispose;
|
||||||
|
}
|
||||||
|
@@ -341,11 +354,10 @@ gis_language_page_init (GisLanguagePage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_language_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_LANGUAGE_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_LANGUAGE_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/language/gis-language-page.h b/gnome-initial-setup/pages/language/gis-language-page.h
|
||||||
|
index 37b33ab..a5b78ff 100644
|
||||||
|
--- a/gnome-initial-setup/pages/language/gis-language-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/language/gis-language-page.h
|
||||||
|
@@ -50,7 +50,8 @@ struct _GisLanguagePageClass
|
||||||
|
|
||||||
|
GType gis_language_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_language_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_language_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_language_page_without_language_selection (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/language/gis-language-page.ui b/gnome-initial-setup/pages/language/gis-language-page.ui
|
||||||
|
index 1b98a6d..d5e962a 100644
|
||||||
|
--- a/gnome-initial-setup/pages/language/gis-language-page.ui
|
||||||
|
+++ b/gnome-initial-setup/pages/language/gis-language-page.ui
|
||||||
|
@@ -7,7 +7,7 @@
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="halign">center</property>
|
||||||
|
- <property name="valign">fill</property>
|
||||||
|
+ <property name="valign">center</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="logo">
|
||||||
|
<property name="visible" bind-source="GisLanguagePage" bind-property="small-screen" bind-flags="invert-boolean|sync-create"/>
|
||||||
|
@@ -30,7 +30,7 @@
|
||||||
|
<object class="CcLanguageChooser" id="language_chooser">
|
||||||
|
<property name="margin_bottom">18</property>
|
||||||
|
<property name="width_request">400</property>
|
||||||
|
- <property name="visible">True</property>
|
||||||
|
+ <property name="visible">False</property>
|
||||||
|
<property name="valign">start</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
diff --git a/gnome-initial-setup/pages/network/gis-network-page.c b/gnome-initial-setup/pages/network/gis-network-page.c
|
||||||
|
index 0beae26..29fc523 100644
|
||||||
|
--- a/gnome-initial-setup/pages/network/gis-network-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/network/gis-network-page.c
|
||||||
|
@@ -691,11 +691,10 @@ gis_network_page_init (GisNetworkPage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_network_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_NETWORK_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_NETWORK_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/network/gis-network-page.h b/gnome-initial-setup/pages/network/gis-network-page.h
|
||||||
|
index cdb1798..172b7d1 100644
|
||||||
|
--- a/gnome-initial-setup/pages/network/gis-network-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/network/gis-network-page.h
|
||||||
|
@@ -48,7 +48,7 @@ struct _GisNetworkPageClass
|
||||||
|
|
||||||
|
GType gis_network_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_network_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_network_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/password/gis-password-page.c b/gnome-initial-setup/pages/password/gis-password-page.c
|
||||||
|
index cefa30e..cf3db9e 100644
|
||||||
|
--- a/gnome-initial-setup/pages/password/gis-password-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/password/gis-password-page.c
|
||||||
|
@@ -304,12 +304,11 @@ gis_password_page_init (GisPasswordPage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_password_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_PASSWORD_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_PASSWORD_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/password/gis-password-page.h b/gnome-initial-setup/pages/password/gis-password-page.h
|
||||||
|
index 59d22c7..954782f 100644
|
||||||
|
--- a/gnome-initial-setup/pages/password/gis-password-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/password/gis-password-page.h
|
||||||
|
@@ -50,7 +50,7 @@ struct _GisPasswordPageClass
|
||||||
|
|
||||||
|
GType gis_password_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_password_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_password_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/privacy/gis-privacy-page.c b/gnome-initial-setup/pages/privacy/gis-privacy-page.c
|
||||||
|
index f2af372..7d83d62 100644
|
||||||
|
--- a/gnome-initial-setup/pages/privacy/gis-privacy-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/privacy/gis-privacy-page.c
|
||||||
|
@@ -321,11 +321,10 @@ gis_privacy_page_init (GisPrivacyPage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_privacy_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_PRIVACY_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_PRIVACY_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/privacy/gis-privacy-page.h b/gnome-initial-setup/pages/privacy/gis-privacy-page.h
|
||||||
|
index d814612..9596b36 100644
|
||||||
|
--- a/gnome-initial-setup/pages/privacy/gis-privacy-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/privacy/gis-privacy-page.h
|
||||||
|
@@ -50,7 +50,7 @@ struct _GisPrivacyPageClass
|
||||||
|
|
||||||
|
GType gis_privacy_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_privacy_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_privacy_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/region/gis-region-page.c b/gnome-initial-setup/pages/region/gis-region-page.c
|
||||||
|
index 6e90d57..5a31b9c 100644
|
||||||
|
--- a/gnome-initial-setup/pages/region/gis-region-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/region/gis-region-page.c
|
||||||
|
@@ -276,11 +276,10 @@ gis_region_page_init (GisRegionPage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_region_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_REGION_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_REGION_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/region/gis-region-page.h b/gnome-initial-setup/pages/region/gis-region-page.h
|
||||||
|
index eca0204..b99c2fe 100644
|
||||||
|
--- a/gnome-initial-setup/pages/region/gis-region-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/region/gis-region-page.h
|
||||||
|
@@ -50,7 +50,7 @@ struct _GisRegionPageClass
|
||||||
|
|
||||||
|
GType gis_region_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_region_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_region_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/software/gis-software-page.c b/gnome-initial-setup/pages/software/gis-software-page.c
|
||||||
|
index 7c15a2c..f3e827a 100644
|
||||||
|
--- a/gnome-initial-setup/pages/software/gis-software-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/software/gis-software-page.c
|
||||||
|
@@ -244,22 +244,24 @@ gis_software_page_init (GisSoftwarePage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_software_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
-#ifdef ENABLE_SOFTWARE_SOURCES
|
||||||
|
GSettingsSchemaSource *source;
|
||||||
|
GSettingsSchema *schema;
|
||||||
|
+ GisPage *page = NULL;
|
||||||
|
|
||||||
|
+#ifdef ENABLE_SOFTWARE_SOURCES
|
||||||
|
source = g_settings_schema_source_get_default ();
|
||||||
|
schema = g_settings_schema_source_lookup (source, "org.gnome.software", TRUE);
|
||||||
|
if (schema != NULL && g_settings_schema_has_key (schema, "show-nonfree-software"))
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_SOFTWARE_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ page = g_object_new (GIS_TYPE_SOFTWARE_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
|
||||||
|
if (schema != NULL)
|
||||||
|
g_settings_schema_unref (schema);
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
+ return page;
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/software/gis-software-page.h b/gnome-initial-setup/pages/software/gis-software-page.h
|
||||||
|
index 6bceda1..8d15245 100644
|
||||||
|
--- a/gnome-initial-setup/pages/software/gis-software-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/software/gis-software-page.h
|
||||||
|
@@ -50,7 +50,7 @@ struct _GisSoftwarePageClass
|
||||||
|
|
||||||
|
GType gis_software_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_software_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_software_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/summary/gis-summary-page.c b/gnome-initial-setup/pages/summary/gis-summary-page.c
|
||||||
|
index 4261b92..f510f2f 100644
|
||||||
|
--- a/gnome-initial-setup/pages/summary/gis-summary-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/summary/gis-summary-page.c
|
||||||
|
@@ -361,11 +361,10 @@ gis_summary_page_init (GisSummaryPage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_summary_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_SUMMARY_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_SUMMARY_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/summary/gis-summary-page.h b/gnome-initial-setup/pages/summary/gis-summary-page.h
|
||||||
|
index 0fe2274..20190f1 100644
|
||||||
|
--- a/gnome-initial-setup/pages/summary/gis-summary-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/summary/gis-summary-page.h
|
||||||
|
@@ -48,7 +48,7 @@ struct _GisSummaryPageClass
|
||||||
|
|
||||||
|
GType gis_summary_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_summary_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_summary_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/timezone/gis-timezone-page.c b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
|
||||||
|
index a090db2..0775d98 100644
|
||||||
|
--- a/gnome-initial-setup/pages/timezone/gis-timezone-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
|
||||||
|
@@ -462,11 +462,10 @@ gis_timezone_page_init (GisTimezonePage *page)
|
||||||
|
gtk_widget_init_template (GTK_WIDGET (page));
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+GisPage *
|
||||||
|
gis_prepare_timezone_page (GisDriver *driver)
|
||||||
|
{
|
||||||
|
- gis_driver_add_page (driver,
|
||||||
|
- g_object_new (GIS_TYPE_TIMEZONE_PAGE,
|
||||||
|
- "driver", driver,
|
||||||
|
- NULL));
|
||||||
|
+ return g_object_new (GIS_TYPE_TIMEZONE_PAGE,
|
||||||
|
+ "driver", driver,
|
||||||
|
+ NULL);
|
||||||
|
}
|
||||||
|
diff --git a/gnome-initial-setup/pages/timezone/gis-timezone-page.h b/gnome-initial-setup/pages/timezone/gis-timezone-page.h
|
||||||
|
index 5e75256..e9ba8ed 100644
|
||||||
|
--- a/gnome-initial-setup/pages/timezone/gis-timezone-page.h
|
||||||
|
+++ b/gnome-initial-setup/pages/timezone/gis-timezone-page.h
|
||||||
|
@@ -50,7 +50,7 @@ struct _GisTimezonePageClass
|
||||||
|
|
||||||
|
GType gis_timezone_page_get_type (void);
|
||||||
|
|
||||||
|
-void gis_prepare_timezone_page (GisDriver *driver);
|
||||||
|
+GisPage *gis_prepare_timezone_page (GisDriver *driver);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
18352
SOURCES/timezones.patch
Normal file
18352
SOURCES/timezones.patch
Normal file
File diff suppressed because it is too large
Load Diff
3
SOURCES/vendor.conf
Normal file
3
SOURCES/vendor.conf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[pages]
|
||||||
|
skip=timezone
|
||||||
|
existing_user_only=language;keyboard
|
@ -1,236 +1,147 @@
|
|||||||
* Fri May 27 2022 David King <amigadave@amigadave.com> - 42.2-1
|
%global nm_version 1.2
|
||||||
- Update to 42.2
|
%global nma_version 1.0
|
||||||
|
%global glib_required_version 2.53.0
|
||||||
* Thu Apr 21 2022 David King <amigadave@amigadave.com> - 42.1.1-1
|
%global gtk_required_version 3.11.3
|
||||||
- Update to 42.1.1
|
%global geoclue_version 2.3.1
|
||||||
|
|
||||||
* Wed Apr 06 2022 David King <amigadave@amigadave.com> - 42.1-1
|
Name: gnome-initial-setup
|
||||||
- Update to 42.1
|
Version: 3.28.0
|
||||||
|
Release: 11%{?dist}
|
||||||
* Thu Mar 24 2022 David King <amigadave@amigadave.com> - 42.0.1-1
|
Summary: Bootstrapping your OS
|
||||||
- Update to 42.0.1
|
|
||||||
|
License: GPLv2+
|
||||||
* Wed Mar 23 2022 Adam Williamson <awilliam@redhat.com> - 42.0-3
|
URL: https://wiki.gnome.org/Design/OS/InitialSetup
|
||||||
- Backport proposed upstream fix for keyring issue (#2066424)
|
Source0: https://download.gnome.org/sources/%{name}/3.28/%{name}-%{version}.tar.xz
|
||||||
|
Source1: vendor.conf
|
||||||
* Mon Mar 21 2022 Adam Williamson <awilliam@redhat.com> - 42.0-2
|
Patch0: honor-firstboot-disabled.patch
|
||||||
- Revert dark theme support to fix user keyring password (#2066424)
|
# https://bugzilla.gnome.org/show_bug.cgi?id=793501 and https://bugzilla.gnome.org/show_bug.cgi?id=794166
|
||||||
|
Patch1: reduce-initial-setup-redundancy.patch
|
||||||
* Fri Mar 18 2022 David King <amigadave@amigadave.com> - 42.0-1
|
# https://bugzilla.gnome.org/show_bug.cgi?id=754213
|
||||||
- Update to 42.0
|
Patch2: allow-weak-passwords.patch
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1655150
|
||||||
* Mon Mar 07 2022 David King <amigadave@amigadave.com> - 42~rc-1
|
Patch3: quacks-like-fedora.patch
|
||||||
- Update to 42.rc
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1703333
|
||||||
|
Patch4: gnome-initial-setup-3.28.0-fix-japanese-defaults.patch
|
||||||
* Sun Feb 13 2022 David King <amigadave@amigadave.com> - 42~beta-1
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1838088
|
||||||
- Update to 42.beta
|
Patch5: gnome-initial-setup-3.28.0-fix-legacy-faces-missing-icon.patch
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2097848
|
||||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 42~alpha.1-3
|
Patch6: timezones.patch
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
BuildRequires: git
|
||||||
* Wed Jan 12 2022 David King <amigadave@amigadave.com> - 42~alpha.1-2
|
BuildRequires: krb5-devel
|
||||||
- Rebuild against gnome-desktop4
|
BuildRequires: desktop-file-utils
|
||||||
|
BuildRequires: intltool
|
||||||
* Wed Jan 12 2022 David King <amigadave@amigadave.com> - 42~alpha.1-1
|
BuildRequires: libpwquality-devel
|
||||||
- Update to 42.alpha.1
|
BuildRequires: pkgconfig(libnm) >= %{nm_version}
|
||||||
|
BuildRequires: pkgconfig(libnma) >= %{nma_version}
|
||||||
* Tue Dec 07 2021 Kalev Lember <klember@redhat.com> - 41.2-1
|
BuildRequires: pkgconfig(accountsservice)
|
||||||
- Update to 41.2
|
BuildRequires: pkgconfig(gnome-desktop-3.0)
|
||||||
|
BuildRequires: pkgconfig(gstreamer-1.0)
|
||||||
* Fri Sep 17 2021 Kalev Lember <klember@redhat.com> - 41.0-1
|
BuildRequires: pkgconfig(cheese)
|
||||||
- Update to 41.0
|
BuildRequires: pkgconfig(cheese-gtk) >= 3.3.5
|
||||||
|
BuildRequires: pkgconfig(fontconfig)
|
||||||
* Tue Sep 14 2021 Kalev Lember <klember@redhat.com> - 41~rc-3
|
BuildRequires: pkgconfig(geocode-glib-1.0)
|
||||||
- Disable parental controls support as per Workstation WG decision (#2004259)
|
BuildRequires: pkgconfig(gweather-3.0)
|
||||||
|
BuildRequires: pkgconfig(goa-1.0)
|
||||||
* Tue Sep 14 2021 Michael Catanzaro <mcatanzaro@redhat.com> - 41~rc-2
|
BuildRequires: pkgconfig(goa-backend-1.0)
|
||||||
- Fix new Fedora third party software page
|
BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk_required_version}
|
||||||
|
BuildRequires: pkgconfig(glib-2.0) >= %{glib_required_version}
|
||||||
* Wed Sep 08 2021 Kalev Lember <klember@redhat.com> - 41~rc-1
|
BuildRequires: pkgconfig(gio-2.0) >= %{glib_required_version}
|
||||||
- Update to 41.rc
|
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_required_version}
|
||||||
|
BuildRequires: pkgconfig(gdm)
|
||||||
* Tue Aug 24 2021 Kalev Lember <klember@redhat.com> - 41~beta-3
|
BuildRequires: pkgconfig(iso-codes)
|
||||||
- Rebuild
|
BuildRequires: pkgconfig(libgeoclue-2.0) >= %{geoclue_version}
|
||||||
|
BuildRequires: pkgconfig(packagekit-glib2)
|
||||||
* Tue Aug 24 2021 Kalev Lember <klember@redhat.com> - 41~beta-2
|
BuildRequires: pkgconfig(webkit2gtk-4.0)
|
||||||
- Enable parental controls support
|
BuildRequires: krb5-devel
|
||||||
|
BuildRequires: ibus-devel
|
||||||
* Tue Aug 24 2021 Kalev Lember <klember@redhat.com> - 41~beta-1.1
|
BuildRequires: rest-devel
|
||||||
- Fix the polkit rule for Fedora third party setup (#1996901)
|
BuildRequires: polkit-devel
|
||||||
|
BuildRequires: libsecret-devel
|
||||||
* Mon Aug 23 2021 Kalev Lember <klember@redhat.com> - 41~beta-1
|
# Needed to run autoreconf, for patches that touch autotools bits
|
||||||
- Update to 41.beta
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: gnome-common
|
||||||
* Fri Aug 06 2021 Michael Catanzaro <mcatanzaro@redhat.com> - 41~alpha-2
|
|
||||||
- Add enterprise login patch, first user should be a local admin
|
# gnome-initial-setup is being run by gdm
|
||||||
|
Requires: gdm
|
||||||
* Tue Aug 03 2021 Kalev Lember <klember@redhat.com> - 41~alpha-1
|
Requires: geoclue2-libs%{?_isa} >= %{geoclue_version}
|
||||||
- Update to 41.alpha
|
Requires: glib2%{?_isa} >= %{glib_required_version}
|
||||||
|
# we install a rules file
|
||||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 40.2-2
|
Requires: polkit-js-engine
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
Requires: /usr/bin/gkbd-keyboard-display
|
||||||
|
|
||||||
* Mon Jun 21 2021 Kalev Lember <klember@redhat.com> - 40.2-1
|
Requires(pre): shadow-utils
|
||||||
- Update to 40.2
|
|
||||||
|
Provides: user(%name)
|
||||||
* Wed May 05 2021 Kalev Lember <klember@redhat.com> - 40.1-1
|
|
||||||
- Update to 40.1
|
%description
|
||||||
|
GNOME Initial Setup is an alternative to firstboot, providing
|
||||||
* Fri Apr 30 2021 Kalev Lember <klember@redhat.com> - 40.0-2
|
a good setup experience to welcome you to your system, and walks
|
||||||
- Drop gnome-tour dep here and move it to gnome-shell instead (#1955179)
|
you through configuring it. It is integrated with gdm.
|
||||||
|
|
||||||
* Mon Mar 22 2021 Kalev Lember <klember@redhat.com> - 40.0-1
|
%prep
|
||||||
- Update to 40.0
|
%autosetup -p1 -Sgit
|
||||||
|
|
||||||
* Mon Mar 15 2021 Kalev Lember <klember@redhat.com> - 40~rc-1
|
%build
|
||||||
- Update to 40.rc
|
# patches touch am files
|
||||||
|
autoreconf -i
|
||||||
* Wed Feb 17 2021 Kalev Lember <klember@redhat.com> - 40~beta-1
|
%configure \
|
||||||
- Update to 40.beta
|
--enable-software-sources \
|
||||||
|
--with-vendor-conf-file=%{_datadir}/gnome-initial-setup/vendor.conf
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.38.3-2
|
make %{?_smp_mflags}
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
%install
|
||||||
* Sat Jan 16 2021 Kalev Lember <klember@redhat.com> - 3.38.3-1
|
%make_install
|
||||||
- Update to 3.38.3
|
find %{buildroot} -name '*.la' -exec rm -f {} ';'
|
||||||
|
|
||||||
* Wed Nov 25 2020 Kalev Lember <klember@redhat.com> - 3.38.2-1
|
# Desktop file does not (and probably will not) ever validate, as it uses
|
||||||
- Update to 3.38.2
|
# an absolute path /tmp/-style trigger to determine whether to autostart.
|
||||||
|
# desktop-file-validate %%{buildroot}/%%{_sysconfdir}/xdg/autostart/gnome-welcome-tour.desktop
|
||||||
* Mon Oct 5 2020 Kalev Lember <klember@redhat.com> - 3.38.1-1
|
desktop-file-validate %{buildroot}%{_sysconfdir}/xdg/autostart/gnome-initial-setup-copy-worker.desktop
|
||||||
- Update to 3.38.1
|
desktop-file-validate %{buildroot}%{_datadir}/gdm/greeter/applications/gnome-initial-setup.desktop
|
||||||
|
desktop-file-validate %{buildroot}%{_datadir}/gdm/greeter/applications/setup-shell.desktop
|
||||||
* Fri Sep 11 2020 Ray Strode <rstrode@redhat.com> - 3.38.0-2
|
|
||||||
- Remove weird, unnecessary g_idle_add which are triggering
|
mkdir -p %{buildroot}%{_datadir}/gnome-initial-setup
|
||||||
some weird, not fully understood bug.
|
cp %{SOURCE1} %{buildroot}%{_datadir}/gnome-initial-setup/
|
||||||
Resolves: #1875140
|
|
||||||
|
%find_lang %{name}
|
||||||
* Thu Sep 10 2020 Kalev Lember <klember@redhat.com> - 3.38.0-1
|
|
||||||
- Update to 3.38.0
|
%pre
|
||||||
|
useradd -rM -d /run/gnome-initial-setup/ -s /sbin/nologin %{name} &>/dev/null || :
|
||||||
* Sun Sep 06 2020 Kalev Lember <klember@redhat.com> - 3.37.92-1
|
|
||||||
- Update to 3.37.92
|
%files -f %{name}.lang
|
||||||
- Drop upstreamed honor-firstboot-disabled.patch
|
%license COPYING
|
||||||
|
%doc README
|
||||||
* Thu Aug 27 2020 Kalev Lember <klember@redhat.com> - 3.37.91.1-2
|
%{_libexecdir}/gnome-initial-setup
|
||||||
- Require new gnome-tour package (#1873206)
|
%{_libexecdir}/gnome-initial-setup-copy-worker
|
||||||
|
%{_libexecdir}/gnome-welcome-tour
|
||||||
* Mon Aug 24 2020 Kalev Lember <klember@redhat.com> - 3.37.91.1-1
|
%{_sysconfdir}/xdg/autostart/gnome-welcome-tour.desktop
|
||||||
- Update to 3.37.91.1
|
%{_sysconfdir}/xdg/autostart/gnome-initial-setup-copy-worker.desktop
|
||||||
- Rebase honor-firstboot-disabled.patch
|
%{_sysconfdir}/xdg/autostart/gnome-initial-setup-first-login.desktop
|
||||||
|
|
||||||
* Mon Aug 17 2020 Kalev Lember <klember@redhat.com> - 3.37.91-1
|
%{_datadir}/gdm/greeter/applications/gnome-initial-setup.desktop
|
||||||
- Update to 3.37.91
|
%{_datadir}/gdm/greeter/applications/setup-shell.desktop
|
||||||
|
%{_datadir}/gnome-session/sessions/gnome-initial-setup.session
|
||||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.37.3-3
|
%{_datadir}/gnome-shell/modes/initial-setup.json
|
||||||
- Second attempt - Rebuilt for
|
%{_datadir}/polkit-1/rules.d/20-gnome-initial-setup.rules
|
||||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
%dir %{_datadir}/gnome-initial-setup
|
||||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.37.3-2
|
%{_datadir}/gnome-initial-setup/vendor.conf
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
%changelog
|
||||||
* Mon Jul 20 2020 Kalev Lember <klember@redhat.com> - 3.37.3-1
|
* Tue Jun 21 2022 Michael Catanzaro <mcatanzaro@redhat.com> - 3.28.0-11
|
||||||
- Update to 3.37.3
|
- Remove timezone boundaries
|
||||||
|
Related: #2097849
|
||||||
* Tue Jun 23 2020 Adam Williamson <awilliam@redhat.com> - 3.37.1-3
|
|
||||||
- Backport MR #89 to fix 'disabled' timezone page setting timezone
|
* Tue Nov 23 2021 David King <dking@redhat.com> - 3.28.0-10
|
||||||
|
- Fix missing icon for legacy faces (#1838088)
|
||||||
* Mon May 04 2020 Adam Williamson <awilliam@redhat.com> - 3.37.1-2
|
|
||||||
- Backport MR #83 to fix preselection of input methods
|
* Mon Oct 19 2020 David King <dking@redhat.com> - 3.28.0-9
|
||||||
|
- Fix Japanese language default (#1703333)
|
||||||
* Thu Apr 30 2020 Kalev Lember <klember@redhat.com> - 3.37.1-1
|
|
||||||
- Update to 3.37.1
|
* Mon Feb 18 2019 Ray Strode <rstrode@redhat.com> - 3.28.0-8
|
||||||
|
- Ensure vendora logo gets used instead of foot
|
||||||
* Mon Apr 27 2020 Kalev Lember <klember@redhat.com> - 3.36.2-1
|
Resolves: #1655150
|
||||||
- Update to 3.36.2
|
|
||||||
|
|
||||||
* Sat Mar 28 2020 Kalev Lember <klember@redhat.com> - 3.36.1-1
|
|
||||||
- Update to 3.36.1
|
|
||||||
|
|
||||||
* Fri Mar 06 2020 Kalev Lember <klember@redhat.com> - 3.36.0-1
|
|
||||||
- Update to 3.36.0
|
|
||||||
|
|
||||||
* Mon Mar 02 2020 Kalev Lember <klember@redhat.com> - 3.35.92-1
|
|
||||||
- Update to 3.35.92
|
|
||||||
|
|
||||||
* Mon Feb 17 2020 Kalev Lember <klember@redhat.com> - 3.35.91-1
|
|
||||||
- Update to 3.35.91
|
|
||||||
|
|
||||||
* Tue Feb 04 2020 Kalev Lember <klember@redhat.com> - 3.35.90-1
|
|
||||||
- Update to 3.35.90
|
|
||||||
|
|
||||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.35.3-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jan 16 2020 Kalev Lember <klember@redhat.com> - 3.35.3-2
|
|
||||||
- Rebuilt for libgnome-desktop soname bump
|
|
||||||
|
|
||||||
* Tue Jan 07 2020 Kalev Lember <klember@redhat.com> - 3.35.3-1
|
|
||||||
- Update to 3.35.3
|
|
||||||
|
|
||||||
* Tue Jan 07 2020 Kalev Lember <klember@redhat.com> - 3.34.3-1
|
|
||||||
- Update to 3.34.3
|
|
||||||
|
|
||||||
* Mon Oct 07 2019 Kalev Lember <klember@redhat.com> - 3.34.1-1
|
|
||||||
- Update to 3.34.1
|
|
||||||
|
|
||||||
* Mon Sep 09 2019 Benjamin Berg <bberg@redhat.com> - 3.34.0-2
|
|
||||||
- Fix g-i-s starting in GDM
|
|
||||||
Upstream MR https://gitlab.gnome.org/GNOME/gnome-initial-setup/merge_requests/59
|
|
||||||
- Resolves: 1750237
|
|
||||||
|
|
||||||
* Mon Sep 09 2019 Kalev Lember <klember@redhat.com> - 3.34.0-1
|
|
||||||
- Update to 3.34.0
|
|
||||||
|
|
||||||
* Wed Sep 04 2019 Benjamin Berg <bberg@redhat.com> - 3.33.92-2
|
|
||||||
- Include upstream patches to fix systemd support
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-initial-setup/merge_requests/58
|
|
||||||
- Resolves: 1746563
|
|
||||||
|
|
||||||
* Tue Sep 03 2019 Kalev Lember <klember@redhat.com> - 3.33.92-1
|
|
||||||
- Update to 3.33.92
|
|
||||||
|
|
||||||
* Tue Aug 20 2019 Kalev Lember <klember@redhat.com> - 3.33.91-1
|
|
||||||
- Update to 3.33.91
|
|
||||||
|
|
||||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.33.4-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Jul 21 2019 Kalev Lember <klember@redhat.com> - 3.33.4-2
|
|
||||||
- Rebuilt for libgnome-desktop soname bump
|
|
||||||
|
|
||||||
* Mon Jul 15 2019 Kalev Lember <klember@redhat.com> - 3.33.4-1
|
|
||||||
- Update to 3.33.4
|
|
||||||
|
|
||||||
* Mon Jul 08 2019 Kalev Lember <klember@redhat.com> - 3.33.2-2
|
|
||||||
- Rebuilt for libgweather soname bump
|
|
||||||
|
|
||||||
* Tue May 21 2019 Kalev Lember <klember@redhat.com> - 3.33.2-1
|
|
||||||
- Update to 3.33.2
|
|
||||||
|
|
||||||
* Tue Apr 16 2019 Adam Williamson <awilliam@redhat.com> - 3.32.1-2
|
|
||||||
- Rebuild with Meson fix for #1699099
|
|
||||||
|
|
||||||
* Sat Apr 06 2019 Kalev Lember <klember@redhat.com> - 3.32.1-1
|
|
||||||
- Update to 3.32.1
|
|
||||||
|
|
||||||
* Thu Apr 04 2019 Ray Strode <rstrode@redhat.com> - 3.32.0-1
|
|
||||||
- Update to 3.32.0
|
|
||||||
|
|
||||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.30.0-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Sep 22 2018 Kalev Lember <klember@redhat.com> - 3.30.0-1
|
|
||||||
- Update to 3.30.0
|
|
||||||
|
|
||||||
* Fri Sep 07 2018 Kalev Lember <klember@redhat.com> - 3.29.92-1
|
|
||||||
- Update to 3.29.92
|
|
||||||
- Drop upstreamed patches reduce-initial-setup-redundancy.patch and
|
|
||||||
allow-weak-passwords.patch
|
|
||||||
- Rebase honor-firstboot-disabled.patch
|
|
||||||
|
|
||||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.28.0-8
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Apr 30 2018 Adam Williamson <awilliam@redhat.com> - 3.28.0-7
|
* Mon Apr 30 2018 Adam Williamson <awilliam@redhat.com> - 3.28.0-7
|
||||||
- Drop unnecessary pkgconfig(NetworkManager) BuildRequire
|
- Drop unnecessary pkgconfig(NetworkManager) BuildRequire
|
@ -1,6 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-10
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
|
@ -1,135 +0,0 @@
|
|||||||
%global nm_version 1.2
|
|
||||||
%global nma_version 1.0
|
|
||||||
%global glib_required_version 2.63.1
|
|
||||||
%global gtk_required_version 4.6
|
|
||||||
%global geoclue_version 2.3.1
|
|
||||||
%global gnome_desktop_version 44.0-7
|
|
||||||
|
|
||||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
|
||||||
|
|
||||||
%if 0%{?rhel}
|
|
||||||
%bcond_with webkitgtk
|
|
||||||
%else
|
|
||||||
%bcond_without webkitgtk
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Name: gnome-initial-setup
|
|
||||||
Version: 46.alpha
|
|
||||||
Release: %autorelease
|
|
||||||
Summary: Bootstrapping your OS
|
|
||||||
|
|
||||||
License: GPL-2.0-or-later
|
|
||||||
URL: https://wiki.gnome.org/Design/OS/InitialSetup
|
|
||||||
Source0: https://download.gnome.org/sources/%{name}/46/%{name}-%{tarball_version}.tar.xz
|
|
||||||
Source1: vendor.conf
|
|
||||||
|
|
||||||
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/200
|
|
||||||
Patch: live-user-mode.patch
|
|
||||||
# Downstream branding
|
|
||||||
Patch: 0001-RHEL10-style-illustrations.patch
|
|
||||||
|
|
||||||
BuildRequires: desktop-file-utils
|
|
||||||
BuildRequires: gcc
|
|
||||||
BuildRequires: meson
|
|
||||||
BuildRequires: pkgconfig(accountsservice)
|
|
||||||
BuildRequires: pkgconfig(fontconfig)
|
|
||||||
BuildRequires: pkgconfig(gdm)
|
|
||||||
BuildRequires: pkgconfig(geocode-glib-2.0)
|
|
||||||
BuildRequires: pkgconfig(gio-2.0) >= %{glib_required_version}
|
|
||||||
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_required_version}
|
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= %{glib_required_version}
|
|
||||||
BuildRequires: pkgconfig(gnome-desktop-4)
|
|
||||||
BuildRequires: pkgconfig(gsettings-desktop-schemas)
|
|
||||||
BuildRequires: pkgconfig(gstreamer-1.0)
|
|
||||||
BuildRequires: pkgconfig(gtk4) >= %{gtk_required_version}
|
|
||||||
BuildRequires: pkgconfig(gweather4)
|
|
||||||
BuildRequires: pkgconfig(ibus-1.0)
|
|
||||||
BuildRequires: pkgconfig(iso-codes)
|
|
||||||
BuildRequires: pkgconfig(json-glib-1.0)
|
|
||||||
BuildRequires: pkgconfig(krb5)
|
|
||||||
BuildRequires: pkgconfig(libadwaita-1)
|
|
||||||
BuildRequires: pkgconfig(libgeoclue-2.0) >= %{geoclue_version}
|
|
||||||
BuildRequires: pkgconfig(libnma-gtk4) >= %{nma_version}
|
|
||||||
BuildRequires: pkgconfig(libnm) >= %{nm_version}
|
|
||||||
BuildRequires: pkgconfig(libsecret-1)
|
|
||||||
BuildRequires: pkgconfig(packagekit-glib2)
|
|
||||||
BuildRequires: pkgconfig(pango)
|
|
||||||
BuildRequires: pkgconfig(polkit-gobject-1)
|
|
||||||
BuildRequires: pkgconfig(pwquality)
|
|
||||||
BuildRequires: pkgconfig(rest-1.0)
|
|
||||||
%if %{with webkitgtk}
|
|
||||||
BuildRequires: pkgconfig(webkitgtk-6.0)
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# gnome-initial-setup is being run by gdm
|
|
||||||
Requires: gdm
|
|
||||||
Requires: geoclue2-libs%{?_isa} >= %{geoclue_version}
|
|
||||||
Requires: glib2%{?_isa} >= %{glib_required_version}
|
|
||||||
Requires: gnome-desktop4%{?_isa} >= %{gnome_desktop_version}
|
|
||||||
# we install a rules file
|
|
||||||
Requires: polkit-js-engine
|
|
||||||
Requires: /usr/bin/tecla
|
|
||||||
|
|
||||||
Requires(pre): shadow-utils
|
|
||||||
|
|
||||||
Provides: user(%name)
|
|
||||||
|
|
||||||
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
|
||||||
ExcludeArch: %{ix86}
|
|
||||||
|
|
||||||
%description
|
|
||||||
GNOME Initial Setup is an alternative to firstboot, providing
|
|
||||||
a good setup experience to welcome you to your system, and walks
|
|
||||||
you through configuring it. It is integrated with gdm.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -p1 -n %{name}-%{tarball_version}
|
|
||||||
|
|
||||||
%build
|
|
||||||
%meson \
|
|
||||||
-Dparental_controls=disabled \
|
|
||||||
%if !%{with webkitgtk}
|
|
||||||
-Dwebkitgtk=disabled \
|
|
||||||
%endif
|
|
||||||
%{nil}
|
|
||||||
%meson_build
|
|
||||||
|
|
||||||
%install
|
|
||||||
%meson_install
|
|
||||||
|
|
||||||
desktop-file-validate %{buildroot}%{_sysconfdir}/xdg/autostart/gnome-initial-setup-copy-worker.desktop
|
|
||||||
desktop-file-validate %{buildroot}%{_datadir}/applications/gnome-initial-setup.desktop
|
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_datadir}/gnome-initial-setup
|
|
||||||
cp %{SOURCE1} %{buildroot}%{_datadir}/gnome-initial-setup/
|
|
||||||
|
|
||||||
%find_lang %{name}
|
|
||||||
|
|
||||||
%pre
|
|
||||||
# we do not use sysusers yet because we need /var/lib/gnome-initial-setup
|
|
||||||
# to be owned by the gnome-initial-setup user. please do not convert
|
|
||||||
# to sysusers without making sure this is handled, maybe by tmpfiles
|
|
||||||
useradd -rM -d /run/gnome-initial-setup/ -s /sbin/nologin %{name} &>/dev/null || :
|
|
||||||
|
|
||||||
%files -f %{name}.lang
|
|
||||||
%license COPYING
|
|
||||||
%doc NEWS README.md
|
|
||||||
%attr(-, gnome-initial-setup, gnome-initial-setup) %dir %{_localstatedir}/lib/gnome-initial-setup
|
|
||||||
%ghost %{_localstatedir}/gnome-initial-setup/state
|
|
||||||
%{_libexecdir}/gnome-initial-setup
|
|
||||||
%{_libexecdir}/gnome-initial-setup-copy-worker
|
|
||||||
%{_sysconfdir}/xdg/autostart/gnome-initial-setup-copy-worker.desktop
|
|
||||||
%{_sysconfdir}/xdg/autostart/gnome-initial-setup-first-login.desktop
|
|
||||||
%{_datadir}/applications/gnome-initial-setup.desktop
|
|
||||||
%{_datadir}/dconf/profile/gnome-initial-setup
|
|
||||||
%dir %{_datadir}/gnome-initial-setup
|
|
||||||
%{_datadir}/gnome-initial-setup/initial-setup-dconf-defaults
|
|
||||||
%{_datadir}/gnome-initial-setup/vendor.conf
|
|
||||||
%{_datadir}/gnome-session/sessions/gnome-initial-setup.session
|
|
||||||
%{_datadir}/gnome-shell/modes/initial-setup.json
|
|
||||||
%{_datadir}/polkit-1/rules.d/20-gnome-initial-setup.rules
|
|
||||||
%{_sysusersdir}/gnome-initial-setup.conf
|
|
||||||
%{_userunitdir}/*
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
%autochangelog
|
|
2870
live-user-mode.patch
2870
live-user-mode.patch
File diff suppressed because it is too large
Load Diff
1
sources
1
sources
@ -1 +0,0 @@
|
|||||||
SHA512 (gnome-initial-setup-46.alpha.tar.xz) = dcd1aa67805e0db70de0bb8dc529c08a691e229c14135fa1ef4a454ee735c6552614e03815d655392bf2714fa5edca9c74fe7286fac4128beb669169afb73c1d
|
|
@ -1,5 +0,0 @@
|
|||||||
[live_user pages]
|
|
||||||
skip=privacy;timezone;software;goa;network;
|
|
||||||
|
|
||||||
[install]
|
|
||||||
application=anaconda.desktop
|
|
Loading…
Reference in New Issue
Block a user