[gnome-initial-setup] summary: Change the skeleton dir to be inside the user's run directory



commit f54035020c897eeb4f795df207bd28715a9e1a38
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Thu Oct 4 18:13:25 2012 -0300

    summary: Change the skeleton dir to be inside the user's run directory

 .../gnome-initial-setup-copy-worker.c              |   10 ++++++++--
 .../pages/summary/gis-summary-page.c               |   15 +++++++++++----
 2 files changed, 19 insertions(+), 6 deletions(-)
---
diff --git a/gnome-initial-setup/gnome-initial-setup-copy-worker.c b/gnome-initial-setup/gnome-initial-setup-copy-worker.c
index af165e2..7a39f35 100644
--- a/gnome-initial-setup/gnome-initial-setup-copy-worker.c
+++ b/gnome-initial-setup/gnome-initial-setup-copy-worker.c
@@ -5,7 +5,13 @@
 
 #include <gio/gio.h>
 
-#define SKELETON_DIR "/dev/shm/gnome-initial-setup/skeleton"
+#define SKELETON_PATH "gnome-initial-setup/skeleton"
+
+static char *
+get_skeleton_dir (void)
+{
+  return g_build_filename (g_get_user_runtime_dir (), SKELETON_PATH, NULL);
+}
 
 static gboolean
 move_file_from_tmpfs (GFile *src_base,
@@ -52,7 +58,7 @@ main (int    argc,
 
   g_type_init ();
 
-  src = g_file_new_for_path (SKELETON_DIR);
+  src = g_file_new_for_path (get_skeleton_dir ());
 
   if (g_file_query_exists (src, NULL))
     goto out;
diff --git a/gnome-initial-setup/pages/summary/gis-summary-page.c b/gnome-initial-setup/pages/summary/gis-summary-page.c
index e680e00..c0ed457 100644
--- a/gnome-initial-setup/pages/summary/gis-summary-page.c
+++ b/gnome-initial-setup/pages/summary/gis-summary-page.c
@@ -15,7 +15,7 @@
 
 #define SERVICE_NAME "gdm-password"
 
-#define SKELETON_DIR "/dev/shm/gnome-initial-setup/skeleton"
+#define SKELETON_PATH "/gnome-initial-setup/skeleton"
 
 typedef struct _SummaryData SummaryData;
 
@@ -134,10 +134,17 @@ copy_file_to_tmpfs (GFile *dest_base,
   g_clear_error (&error);
 }
 
+static char *
+get_skeleton_dir (SummaryData *data)
+{
+  uid_t uid = act_user_get_uid (data->user_account);
+  return g_strdup_printf ("/run/user/%d" SKELETON_PATH, uid);
+}
+
 static void
-copy_files_to_tmpfs (void)
+copy_files_to_tmpfs (SummaryData *data)
 {
-  GFile *dest = g_file_new_for_path (SKELETON_DIR);
+  GFile *dest = g_file_new_for_path (get_skeleton_dir (data));
   GError *error = NULL;
 
   if (!recursively_delete (dest, &error)) {
@@ -273,7 +280,7 @@ log_user_in (SummaryData *data)
 static void
 byebye (SummaryData *data)
 {
-  copy_files_to_tmpfs ();
+  copy_files_to_tmpfs (data);
   log_user_in (data);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]