diff options
author | Alexander Larsson <alexl@redhat.com> | 2015-05-21 18:52:13 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2015-05-21 18:54:06 +0200 |
commit | 8ffacee14c150bdbdb69b1b82f69e1066414f3da (patch) | |
tree | 2d32721a24dcfb62808a7ea237932912e4a9c14b | |
parent | 3a68d242a6cd96c7262fea799b5bcf6193da2e38 (diff) | |
download | xdg-app-8ffacee14c150bdbdb69b1b82f69e1066414f3da.tar.gz |
Change /self to /app
This changes the application prefix to /app, which has the
advantage of being the same length as /usr. This may help
making some packages relocatable.
We make /self a symlink to /app for now, to keep existing images
work, but at some point we will probably remove this.
-rw-r--r-- | doc/xdg-app-build.xml | 2 | ||||
-rw-r--r-- | doc/xdg-app-run.xml | 2 | ||||
-rwxr-xr-x | triggers/desktop-database.trigger | 4 | ||||
-rwxr-xr-x | triggers/gtk-icon-cache.trigger | 6 | ||||
-rwxr-xr-x | triggers/mime-database.trigger | 4 | ||||
-rw-r--r-- | xdg-app-builtins-run.c | 2 | ||||
-rw-r--r-- | xdg-app-helper.c | 28 | ||||
-rw-r--r-- | xdg-app-run.c | 20 |
8 files changed, 35 insertions, 33 deletions
diff --git a/doc/xdg-app-build.xml b/doc/xdg-app-build.xml index 41581c1..a1659b7 100644 --- a/doc/xdg-app-build.xml +++ b/doc/xdg-app-build.xml @@ -48,7 +48,7 @@ The sdk that is specfied in the <filename>metadata</filename> file in the directory is mounted at <filename>/usr</filename> and the <filename>files</filename> and <filename>var</filename> subdirectories - are mounted at <filename>/self</filename> and <filename>/var</filename>, + are mounted at <filename>/app</filename> and <filename>/var</filename>, respectively. They are writable, and their contents are preserved between build commands, to allow accumulating build artifacts there. </para> diff --git a/doc/xdg-app-run.xml b/doc/xdg-app-run.xml index 4ddee7b..d5e1728 100644 --- a/doc/xdg-app-run.xml +++ b/doc/xdg-app-run.xml @@ -49,7 +49,7 @@ xdg-app creates a sandboxed environment for the application to run in by mounting the right runtime at <filename>/usr</filename> and a writable directory at <filename>/var</filename>, whose content is preserved between - application runs. The application itself is mounted at <filename>/self</filename>. + application runs. The application itself is mounted at <filename>/app</filename>. </para> <para> The details of the sandboxed environment are controlled by the application diff --git a/triggers/desktop-database.trigger b/triggers/desktop-database.trigger index 8270383..ec89865 100755 --- a/triggers/desktop-database.trigger +++ b/triggers/desktop-database.trigger @@ -1,5 +1,5 @@ #!/bin/sh -if test \( -x "$(which update-desktop-database 2>/dev/null)" \) -a \( -d /self/exports/share/applications \); then - exec update-desktop-database -q /self/exports/share/applications +if test \( -x "$(which update-desktop-database 2>/dev/null)" \) -a \( -d /app/exports/share/applications \); then + exec update-desktop-database -q /app/exports/share/applications fi diff --git a/triggers/gtk-icon-cache.trigger b/triggers/gtk-icon-cache.trigger index 9b02b9c..1afa239 100755 --- a/triggers/gtk-icon-cache.trigger +++ b/triggers/gtk-icon-cache.trigger @@ -1,8 +1,8 @@ #!/bin/sh -if test \( -x "$(which gtk-update-icon-cache 2>/dev/null)" \) -a \( -d /self/exports/share/icons/hicolor \); then - cp /usr/share/icons/hicolor/index.theme /self/exports/share/icons/hicolor/ - for dir in /self/exports/share/icons/*; do +if test \( -x "$(which gtk-update-icon-cache 2>/dev/null)" \) -a \( -d /app/exports/share/icons/hicolor \); then + cp /usr/share/icons/hicolor/index.theme /app/exports/share/icons/hicolor/ + for dir in /app/exports/share/icons/*; do if test -f $dir/index.theme; then if ! gtk-update-icon-cache --quiet $dir; then echo "Failed to run gtk-update-icon-cache for $dir" diff --git a/triggers/mime-database.trigger b/triggers/mime-database.trigger index 8a6d3ae..f8edc17 100755 --- a/triggers/mime-database.trigger +++ b/triggers/mime-database.trigger @@ -1,5 +1,5 @@ #!/bin/sh -if test \( -x "$(which update-mime-database 2>/dev/null)" \) -a \( -d /self/exports/share/mime/packages \); then - exec update-mime-database /self/exports/share/mime +if test \( -x "$(which update-mime-database 2>/dev/null)" \) -a \( -d /app/exports/share/mime/packages \); then + exec update-mime-database /app/exports/share/mime fi diff --git a/xdg-app-builtins-run.c b/xdg-app-builtins-run.c index fd8a9c7..190374a 100644 --- a/xdg-app-builtins-run.c +++ b/xdg-app-builtins-run.c @@ -66,7 +66,7 @@ add_extension_arg (const char *directory, is_app = strcmp (type, "app") == 0; - full_directory = g_build_filename (is_app ? "/self" : "/usr", directory, NULL); + full_directory = g_build_filename (is_app ? "/app" : "/usr", directory, NULL); extension_ref = g_build_filename (type, extension, arch, branch, NULL); deploy = xdg_app_find_deploy_dir_for_ref (extension_ref, cancellable, NULL); diff --git a/xdg-app-helper.c b/xdg-app-helper.c index 4f33376..61abf3e 100644 --- a/xdg-app-helper.c +++ b/xdg-app-helper.c @@ -298,11 +298,11 @@ usage (char **argv) fprintf (stderr, "usage: %s [OPTIONS...] RUNTIMEPATH COMMAND [ARGS...]\n\n", argv[0]); fprintf (stderr, - " -a Specify path for application (mounted at /self)\n" - " -b SOURCE=DEST Bind extra source directory into DEST (must be in /usr, /self, /run/host)\n" + " -a Specify path for application (mounted at /app)\n" + " -b SOURCE=DEST Bind extra source directory into DEST (must be in /usr, /app, /run/host)\n" " -d SOCKETPATH Use SOCKETPATH as dbus session bus\n" " -D SOCKETPATH Use SOCKETPATH as dbus system bus\n" - " -e Make /self/exports writable\n" + " -e Make /app/exports writable\n" " -E Make /etc a pure symlink to /usr/etc\n" " -f Mount the host filesystems\n" " -g Allow use of direct rendering graphics\n" @@ -316,7 +316,7 @@ usage (char **argv) " -p SOCKETPATH Use SOCKETPATH as pulseaudio connection\n" " -s Share Shm namespace with session\n" " -v PATH Mount PATH as /var\n" - " -w Make /self writable\n" + " -w Make /app writable\n" " -W Make /usr writable\n" " -x SOCKETPATH Use SOCKETPATH as X display\n" " -y SOCKETPATH Use SOCKETPATH as Wayland display\n" @@ -388,7 +388,9 @@ static const create_table_t create[] = { { FILE_TYPE_DIR, ".oldroot", 0755 }, { FILE_TYPE_DIR, "usr", 0755 }, { FILE_TYPE_DIR, "tmp", 01777 }, - { FILE_TYPE_DIR, "self", 0755}, + { FILE_TYPE_DIR, "app", 0755}, + /* Backwards compat, the app prefix used to be /self */ + { FILE_TYPE_SYMLINK, "self", 0755, "app"}, { FILE_TYPE_DIR, "run", 0755}, { FILE_TYPE_DIR, "run/host", 0755}, { FILE_TYPE_DIR, "run/dbus", 0755}, @@ -469,7 +471,7 @@ static const mount_table_t mount_table[] = { const char *dont_mount_in_root[] = { ".", "..", "lib", "lib32", "lib64", "bin", "sbin", "usr", "boot", "root", - "tmp", "etc", "self", "run", "proc", "sys", "dev", "var" + "tmp", "etc", "self", "app", "run", "proc", "sys", "dev", "var" }; typedef enum { @@ -1514,9 +1516,9 @@ main (int argc, die ("Too many extra directories"); if (strncmp (optarg, "/usr/", strlen ("/usr/")) != 0 && - strncmp (optarg, "/self/", strlen ("/self/")) != 0 && + strncmp (optarg, "/app/", strlen ("/app/")) != 0 && strncmp (optarg, "/run/host/", strlen ("/run/host/")) != 0) - die ("Extra directories must be in /usr, /self or /run/host"); + die ("Extra directories must be in /usr, /app or /run/host"); extra_dirs[n_extra_dirs].dest = optarg + 1; extra_dirs[n_extra_dirs].src = tmp; @@ -1705,18 +1707,18 @@ main (int argc, if (app_path != NULL) { - if (bind_mount (app_path, "self", BIND_PRIVATE | (writable_app?0:BIND_READONLY))) - die_with_error ("mount self"); + if (bind_mount (app_path, "app", BIND_PRIVATE | (writable_app?0:BIND_READONLY))) + die_with_error ("mount app"); if (lock_files) - add_lock_dir ("self"); + add_lock_dir ("app"); if (!writable_app && writable_exports) { char *exports = strconcat (app_path, "/exports"); - if (bind_mount (exports, "self/exports", BIND_PRIVATE)) - die_with_error ("mount self/exports"); + if (bind_mount (exports, "app/exports", BIND_PRIVATE)) + die_with_error ("mount app/exports"); free (exports); } diff --git a/xdg-app-run.c b/xdg-app-run.c index afe00de..3eed49b 100644 --- a/xdg-app-run.c +++ b/xdg-app-run.c @@ -390,21 +390,21 @@ xdg_app_run_add_environment_args (GPtrArray *argv_array, } static const struct {const char *env; const char *val;} default_exports[] = { - {"PATH","/self/bin:/usr/bin"}, + {"PATH","/app/bin:/usr/bin"}, {"LD_LIBRARY_PATH", ""}, - {"_LD_LIBRARY_PATH", "/self/lib"}, - {"XDG_CONFIG_DIRS","/self/etc/xdg:/etc/xdg"}, - {"XDG_DATA_DIRS","/self/share:/usr/share"}, - {"GI_TYPELIB_PATH","/self/lib/girepository-1.0"}, + {"_LD_LIBRARY_PATH", "/app/lib"}, + {"XDG_CONFIG_DIRS","/app/etc/xdg:/etc/xdg"}, + {"XDG_DATA_DIRS","/app/share:/usr/share"}, + {"GI_TYPELIB_PATH","/app/lib/girepository-1.0"}, {"SHELL","/bin/sh"}, }; static const struct {const char *env; const char *val;} devel_exports[] = { - {"ACLOCAL_PATH","/self/share/aclocal"}, - {"C_INCLUDE_PATH","/self/include"}, - {"CPLUS_INCLUDE_PATH","/self/include"}, - {"LDFLAGS","-L/self/lib "}, - {"PKG_CONFIG_PATH","/self/lib/pkgconfig:/self/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig"}, + {"ACLOCAL_PATH","/app/share/aclocal"}, + {"C_INCLUDE_PATH","/app/include"}, + {"CPLUS_INCLUDE_PATH","/app/include"}, + {"LDFLAGS","-L/app/lib "}, + {"PKG_CONFIG_PATH","/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig"}, {"LC_ALL","en_US.utf8"}, }; |