summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2016-05-09 12:21:28 +0200
committerAlexander Larsson <alexl@redhat.com>2016-05-09 12:21:28 +0200
commit5e9b247d260ff4e2b9a9620053e61e8a0161cdee (patch)
tree11a05b05d1c7d6d2db8f58519630e3de8e22b6fc /common
parent8abbc0186efe977cec2a3214e7aa3703e9f1169f (diff)
downloadxdg-app-5e9b247d260ff4e2b9a9620053e61e8a0161cdee.tar.gz
Migrate ~/.local/share/xdg-app to ~/.local/share/flatpak
Diffstat (limited to 'common')
-rw-r--r--common/flatpak-dir.c2
-rw-r--r--common/flatpak-run.c4
-rw-r--r--common/flatpak-utils.c24
-rw-r--r--common/flatpak-utils.h2
4 files changed, 29 insertions, 3 deletions
diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c
index c4bbfe3..bf737a2 100644
--- a/common/flatpak-dir.c
+++ b/common/flatpak-dir.c
@@ -167,7 +167,7 @@ flatpak_get_system_base_dir_location (void)
GFile *
flatpak_get_user_base_dir_location (void)
{
- g_autofree char *base = g_build_filename (g_get_user_data_dir (), "xdg-app", NULL);
+ g_autofree char *base = g_build_filename (g_get_user_data_dir (), "flatpak", NULL);
return g_file_new_for_path (base);
}
diff --git a/common/flatpak-run.c b/common/flatpak-run.c
index 388aef9..fab92fb 100644
--- a/common/flatpak-run.c
+++ b/common/flatpak-run.c
@@ -2440,7 +2440,7 @@ setup_seccomp (GPtrArray *argv_array,
* can do, and we should support code portability between different
* container tools.
*
- * This syscall blacklist is copied from xdg-app, which was in turn
+ * This syscall blacklist is copied from linux-user-chroot, which was in turn
* clearly influenced by the Sandstorm.io blacklist.
*
* If you make any changes here, I suggest sending the changes along
@@ -2454,7 +2454,7 @@ setup_seccomp (GPtrArray *argv_array,
* https://github.com/sandstorm-io/sandstorm
* in src/sandstorm/supervisor.c++
* http://cgit.freedesktop.org/xdg-app/xdg-app/
- * in lib/xdg-app-helper.c
+ * in common/flatpak-run.c
* https://git.gnome.org/browse/linux-user-chroot
* in src/setup-seccomp.c
*
diff --git a/common/flatpak-utils.c b/common/flatpak-utils.c
index fca297a..b79e276 100644
--- a/common/flatpak-utils.c
+++ b/common/flatpak-utils.c
@@ -26,6 +26,7 @@
#include <string.h>
#include <stdlib.h>
+#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
@@ -252,6 +253,29 @@ flatpak_get_bwrap (void)
return HELPER;
}
+/* We only migrate the user dir, because thats what most people used with xdg-app,
+ * and its where all per-user state/config are stored.
+ */
+void
+flatpak_migrate_from_xdg_app (void)
+{
+ g_autofree char *source = g_build_filename (g_get_user_data_dir (), "xdg-app", NULL);
+ g_autofree char *dest = g_build_filename (g_get_user_data_dir (), "flatpak", NULL);
+
+ if (!g_file_test (dest, G_FILE_TEST_EXISTS) &&
+ g_file_test (source, G_FILE_TEST_EXISTS))
+ {
+ g_print ("Migrating %s to %s\n", source, dest);
+ if (rename (source, dest) != 0)
+ {
+ if (errno != ENOENT &&
+ errno != ENOTEMPTY &&
+ errno != EEXIST)
+ g_print ("Error during migration: %s\n", strerror (errno));
+ }
+ }
+}
+
static gboolean
is_valid_initial_name_character (gint c)
{
diff --git a/common/flatpak-utils.h b/common/flatpak-utils.h
index 8f3ab92..5621b65 100644
--- a/common/flatpak-utils.h
+++ b/common/flatpak-utils.h
@@ -45,6 +45,8 @@ const char * flatpak_get_arch (void);
const char * flatpak_get_bwrap (void);
+void flatpak_migrate_from_xdg_app (void);
+
GBytes * flatpak_read_stream (GInputStream *in,
gboolean null_terminate,
GError **error);