summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-07-07 14:37:59 -0400
committerColin Walters <walters@verbum.org>2013-07-07 14:37:59 -0400
commit26cef497a6bda37f8fdbe98238985f5b99e0a80a (patch)
tree511e1083111d877be45ec4eace89a2e9b5756fda
parentf6bca20551c994025e33972e29100ac0944cb82c (diff)
downloadostree-26cef497a6bda37f8fdbe98238985f5b99e0a80a.tar.gz
Remove built in "triggers"
Originally, the idea was that clients would replicate "OS/tree"s from a build server, but we'd run things like "ldconfig" on the client. This was to allow adding e.g. the nVidia binary driver. However, the triggers were the only thing in the system at the moment that really had expected knowledge of the *contents* of the OS, like the location of binaries. For now, it's architecturally cleaner if we move the burden of triggers to the tree builder (e.g. gnome-ostree or RPM). Eventually we may want OSTree to assist with this type of thing (perhaps something like RPM %ghost), but this is the right thing to do now.
-rw-r--r--Makefile-daemon.am2
-rw-r--r--Makefile-libostree.am4
-rw-r--r--Makefile-ostree.am3
-rw-r--r--Makefile-otutil.am2
-rw-r--r--Makefile-switchroot.am2
-rw-r--r--Makefile-triggers.am41
-rw-r--r--Makefile.am3
-rw-r--r--configure.ac19
-rw-r--r--src/libostree/ostree-sysroot.c105
-rw-r--r--src/libostree/ostree-sysroot.h39
-rw-r--r--src/libostree/ostree.h1
-rw-r--r--src/ostree/ot-admin-builtin-run-triggers.c61
-rw-r--r--src/ostree/ot-admin-builtins.h1
-rw-r--r--src/ostree/ot-builtin-admin.c1
-rw-r--r--src/ostree/ot-builtin-checkout.c15
-rw-r--r--src/triggers/ostree-run-triggers.c233
-rwxr-xr-xsrc/triggers/triggers.d/0001ldconfig.trigger23
-rwxr-xr-xsrc/triggers/triggers.d/0005depmod.trigger27
-rwxr-xr-xsrc/triggers/triggers.d/0010mime-database.trigger23
-rwxr-xr-xsrc/triggers/triggers.d/0020dconf.trigger23
-rwxr-xr-xsrc/triggers/triggers.d/0030glib.trigger23
-rwxr-xr-xsrc/triggers/triggers.d/0040gdk-pixbuf.trigger24
-rwxr-xr-xsrc/triggers/triggers.d/0050gconf.trigger29
-rwxr-xr-xsrc/triggers/triggers.d/0060immodules.trigger23
-rwxr-xr-xsrc/triggers/triggers.d/0070pango.trigger29
-rwxr-xr-xsrc/triggers/triggers.d/0080gtk+.trigger30
-rwxr-xr-xsrc/triggers/triggers.d/0090desktop-database.trigger23
-rwxr-xr-xsrc/triggers/triggers.d/0100fontconfig-cache.trigger23
28 files changed, 2 insertions, 830 deletions
diff --git a/Makefile-daemon.am b/Makefile-daemon.am
index 3a9d7187..aab7e408 100644
--- a/Makefile-daemon.am
+++ b/Makefile-daemon.am
@@ -17,9 +17,7 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-if !TRIGGERS_ONLY
libexec_PROGRAMS += ostreed
-endif
ostreed_SOURCES = src/daemon/ostreed.c \
src/daemon/ot-daemon.h \
diff --git a/Makefile-libostree.am b/Makefile-libostree.am
index 21b91996..5641ae9d 100644
--- a/Makefile-libostree.am
+++ b/Makefile-libostree.am
@@ -17,9 +17,7 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-if !TRIGGERS_ONLY
privlib_LTLIBRARIES += libostree.la
-endif
libostree_la_SOURCES = src/libostree/ostree.h \
src/libostree/ostree-core.c \
@@ -41,8 +39,6 @@ libostree_la_SOURCES = src/libostree/ostree.h \
src/libostree/ostree-types.h \
src/libostree/ostree-traverse.c \
src/libostree/ostree-traverse.h \
- src/libostree/ostree-sysroot.c \
- src/libostree/ostree-sysroot.h \
$(NULL)
if USE_LIBARCHIVE
libostree_la_SOURCES += src/libostree/ostree-libarchive-input-stream.h \
diff --git a/Makefile-ostree.am b/Makefile-ostree.am
index 13f967e9..ad06c81f 100644
--- a/Makefile-ostree.am
+++ b/Makefile-ostree.am
@@ -17,9 +17,7 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-if !TRIGGERS_ONLY
bin_PROGRAMS += ostree
-endif
ostree_SOURCES = src/ostree/main.c \
src/ostree/ostree-curl-fetcher.h \
@@ -59,7 +57,6 @@ ostree_SOURCES += \
src/ostree/ot-admin-builtin-os-init.c \
src/ostree/ot-admin-builtin-install.c \
src/ostree/ot-admin-builtin-status.c \
- src/ostree/ot-admin-builtin-run-triggers.c \
src/ostree/ot-admin-builtin-upgrade.c \
src/ostree/ot-admin-builtins.h \
src/ostree/ot-admin-cleanup.c \
diff --git a/Makefile-otutil.am b/Makefile-otutil.am
index 8598025c..47ea98cf 100644
--- a/Makefile-otutil.am
+++ b/Makefile-otutil.am
@@ -17,9 +17,7 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-if !TRIGGERS_ONLY
noinst_LTLIBRARIES += libotutil.la
-endif
libotutil_la_SOURCES = \
src/libotutil/ot-checksum-utils.c \
diff --git a/Makefile-switchroot.am b/Makefile-switchroot.am
index 99301064..3dacb87a 100644
--- a/Makefile-switchroot.am
+++ b/Makefile-switchroot.am
@@ -15,13 +15,11 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-if !TRIGGERS_ONLY
if BUILDOPT_DRACUT
sbin_PROGRAMS += ostree-prepare-root
sbin_PROGRAMS += ostree-remount
noinst_LTLIBRARIES += libswitchroot-mountutil.la
endif
-endif
libswitchroot_mountutil_la_SOURCES = \
src/switchroot/ostree-mount-util.c \
diff --git a/Makefile-triggers.am b/Makefile-triggers.am
deleted file mode 100644
index 359d5914..00000000
--- a/Makefile-triggers.am
+++ /dev/null
@@ -1,41 +0,0 @@
-# Makefile for triggers
-#
-# Copyright (C) 2011 Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-triggersdir = $(libexecdir)/ostree/triggers.d
-triggers_SCRIPTS = \
- src/triggers/triggers.d/0001ldconfig.trigger \
- src/triggers/triggers.d/0005depmod.trigger \
- src/triggers/triggers.d/0010mime-database.trigger \
- src/triggers/triggers.d/0020dconf.trigger \
- src/triggers/triggers.d/0030glib.trigger \
- src/triggers/triggers.d/0040gdk-pixbuf.trigger \
- src/triggers/triggers.d/0050gconf.trigger \
- src/triggers/triggers.d/0060immodules.trigger \
- src/triggers/triggers.d/0070pango.trigger \
- src/triggers/triggers.d/0080gtk+.trigger \
- src/triggers/triggers.d/0090desktop-database.trigger \
- src/triggers/triggers.d/0100fontconfig-cache.trigger \
- $(NULL)
-EXTRA_DIST += $(triggers_SCRIPTS)
-
-bin_PROGRAMS += ostree-run-triggers
-
-ostree_run_triggers_SOURCES = src/triggers/ostree-run-triggers.c
-ostree_run_triggers_CFLAGS = $(OT_INTERNAL_GIO_UNIX_CFLAGS)
-ostree_run_triggers_LDADD = $(OT_INTERNAL_GIO_UNIX_LIBS)
diff --git a/Makefile.am b/Makefile.am
index 2f1a7935..ac4bf5ff 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -76,16 +76,13 @@ endif
libgsystem_srcpath := src/libgsystem
libgsystem_cflags = $(OT_INTERNAL_GIO_UNIX_CFLAGS) -I$(srcdir)/src/libgsystem
libgsystem_libs = $(OT_INTERNAL_GIO_UNIX_LIBS)
-if !TRIGGERS_ONLY
include src/libgsystem/Makefile-libgsystem.am
noinst_LTLIBRARIES += libgsystem.la
-endif
include Makefile-daemon.am
include Makefile-otutil.am
include Makefile-libostree.am
include Makefile-ostree.am
include Makefile-switchroot.am
-include Makefile-triggers.am
include Makefile-tests.am
include Makefile-dracut.am
diff --git a/configure.ac b/configure.ac
index 5e822210..e10b9c05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -31,11 +31,6 @@ LT_INIT([disable-static])
OSTREE_FEATURES=""
AC_SUBST([OSTREE_FEATURES])
-AC_ARG_ENABLE(triggers-only,
- AS_HELP_STRING([--enable-triggers-only], [Only build and install triggers]),,
- enable_triggers_only=no)
-AM_CONDITIONAL(TRIGGERS_ONLY, test x$enable_triggers_only != xno)
-
AC_ARG_ENABLE(installed_tests,
AS_HELP_STRING([--enable-installed-tests],
[Install test programs (default: no)]),,
@@ -61,9 +56,6 @@ AS_IF([test x$enable_embedded_dependencies = xyes], [
AC_ARG_WITH(soup,
AS_HELP_STRING([--with-soup], [Use libsoup @<:@default=yes@:>@]),
[], [with_soup=check])
- if test x$enable_triggers_only != xno; then
- with_soup=no
- fi
AS_IF([test x$with_soup != xno ], [
AC_MSG_CHECKING([for $SOUP_DEPENDENCY])
PKG_CHECK_EXISTS($SOUP_DEPENDENCY, have_soup=yes, have_soup=no)
@@ -89,9 +81,6 @@ AC_ARG_ENABLE(documentation,
AC_HELP_STRING([--enable-documentation],
[build documentation]),,
enable_documentation=yes)
-if test x$enable_triggers_only != xno; then
- enable_documentation=no
-fi
if test x$enable_documentation = xyes; then
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test x$XSLTPROC = x; then
@@ -103,9 +92,6 @@ AM_CONDITIONAL(BUILD_DOCUMENTATION, test x$enable_documentation = xyes)
AC_ARG_WITH(libarchive,
AS_HELP_STRING([--without-libarchive], [Do not use libarchive]),
:, with_libarchive=maybe)
-if test x$enable_triggers_only != xno; then
- with_libarchive=no
-fi
AS_IF([ test x$with_libarchive != xno ], [
AC_MSG_CHECKING([for $LIBARCHIVE_DEPENDENCY])
@@ -125,7 +111,7 @@ AS_IF([ test x$with_libarchive != xno ], [
if test x$with_libarchive != xno; then OSTREE_FEATURES="$OSTREE_FEATURES +libarchive"; fi
AM_CONDITIONAL(USE_LIBARCHIVE, test $with_libarchive != no)
-AS_IF([test x$cross_compiling != xyes && test -d /etc/kernel && test x$enable_triggers_only != xyes ],
+AS_IF([test x$cross_compiling != xyes && test -d /etc/kernel ],
[kernel_updates_default=yes],
[kernel_updates_default=no])
@@ -136,7 +122,7 @@ AC_ARG_ENABLE(kernel-updates,
enable_kernel_updates=${kernel_updates_default})
AM_CONDITIONAL(ENABLE_KERNEL_UPDATES, test $enable_kernel_updates != no)
-AS_IF([test x$cross_compiling != xyes && test -d /etc/grub.d && test x$enable_triggers_only != xyes ],
+AS_IF([test x$cross_compiling != xyes && test -d /etc/grub.d ],
[grub2_hook_default=yes],
[grub2_hook_default=no])
@@ -163,7 +149,6 @@ echo "
===============
- triggers only: $enable_triggers_only
embedded dependencies: $enable_embedded_dependencies
libsoup (retrieve remote HTTP repositories): $with_soup
libarchive (parse tar files directly): $with_libarchive
diff --git a/src/libostree/ostree-sysroot.c b/src/libostree/ostree-sysroot.c
deleted file mode 100644
index 2517c551..00000000
--- a/src/libostree/ostree-sysroot.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
- *
- * Copyright (C) 2012 Colin Walters <walters@verbum.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Colin Walters <walters@verbum.org>
- */
-
-#include "config.h"
-
-#include <sys/wait.h>
-
-#include "ostree.h"
-#include "otutil.h"
-
-static const char * const sysroot_environ[] = {
- "HOME=/",
- "PWD=/",
- "HOSTNAME=ostreesysroot",
- "LANG=C",
- "PATH=/usr/bin:/bin:/usr/sbin:/sbin",
- "SHELL=/bin/bash",
- "TERM=vt100",
- "TMPDIR=/tmp",
- "TZ=EST5EDT",
- NULL
-};
-
-const char *const*
-ostree_get_sysroot_environ (void)
-{
- return (const char *const*)sysroot_environ;
-}
-
-/**
- * @root: (allow-none): Change to this root; if %NULL, don't chroot
- *
- * Triggers are a set of programs to run on a root to regenerate cache
- * files. This API call will simply run them against the given root.
- */
-gboolean
-ostree_run_triggers_in_root (GFile *root,
- GCancellable *cancellable,
- GError **error)
-{
- gboolean ret = FALSE;
- int estatus;
- gs_free char *rel_triggerdir = NULL;
- gs_unref_object GFile *triggerdir = NULL;
- gs_unref_ptrarray GPtrArray *argv = NULL;
-
- rel_triggerdir = g_build_filename ("usr", "libexec", "ostree", "triggers.d", NULL);
-
- if (root)
- triggerdir = g_file_resolve_relative_path (root, rel_triggerdir);
- else
- triggerdir = g_file_new_for_path (rel_triggerdir);
-
- if (g_file_query_exists (triggerdir, cancellable))
- {
- argv = g_ptr_array_new ();
- if (root)
- {
- g_ptr_array_add (argv, "linux-user-chroot");
- g_ptr_array_add (argv, "--unshare-pid");
- g_ptr_array_add (argv, "--unshare-ipc");
- /* FIXME - unshare net too */
- g_ptr_array_add (argv, "--mount-proc");
- g_ptr_array_add (argv, "/proc");
- g_ptr_array_add (argv, "--mount-bind");
- g_ptr_array_add (argv, "/dev");
- g_ptr_array_add (argv, "/dev");
- g_ptr_array_add (argv, (char*)gs_file_get_path_cached (root));
- }
- g_ptr_array_add (argv, "ostree-run-triggers");
- g_ptr_array_add (argv, NULL);
-
- if (!g_spawn_sync (NULL, (char**)argv->pdata,
- (char**) ostree_get_sysroot_environ (),
- G_SPAWN_SEARCH_PATH,
- NULL, NULL, NULL, NULL, &estatus, error))
- goto out;
-
- if (!g_spawn_check_exit_status (estatus, error))
- goto out;
- }
-
- ret = TRUE;
- out:
- return ret;
-}
diff --git a/src/libostree/ostree-sysroot.h b/src/libostree/ostree-sysroot.h
deleted file mode 100644
index b10246df..00000000
--- a/src/libostree/ostree-sysroot.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
- *
- * Copyright (C) 2011 Colin Walters <walters@verbum.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Colin Walters <walters@verbum.org>
- */
-
-#ifndef _OSTREE_SYSROOT
-#define _OSTREE_SYSROOT
-
-#include "ostree-core.h"
-#include "ostree-types.h"
-
-G_BEGIN_DECLS
-
-const char *const* ostree_get_sysroot_environ (void);
-
-gboolean ostree_run_triggers_in_root (GFile *root,
- GCancellable *cancellable,
- GError **error);
-
-G_END_DECLS
-
-#endif
diff --git a/src/libostree/ostree.h b/src/libostree/ostree.h
index b5b50f3c..3734af66 100644
--- a/src/libostree/ostree.h
+++ b/src/libostree/ostree.h
@@ -29,7 +29,6 @@
#include <ostree-mutable-tree.h>
#include <ostree-repo-file.h>
#include <ostree-traverse.h>
-#include <ostree-sysroot.h>
#include <ostree-diff.h>
#endif
diff --git a/src/ostree/ot-admin-builtin-run-triggers.c b/src/ostree/ot-admin-builtin-run-triggers.c
deleted file mode 100644
index 5609ee75..00000000
--- a/src/ostree/ot-admin-builtin-run-triggers.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
- *
- * Copyright (C) 2012 Colin Walters <walters@verbum.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Colin Walters <walters@verbum.org>
- */
-
-#include "config.h"
-
-#include "ot-admin-builtins.h"
-#include "ot-admin-functions.h"
-#include "ostree.h"
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <glib/gi18n.h>
-
-static GOptionEntry options[] = {
- { NULL }
-};
-
-gboolean
-ot_admin_builtin_run_triggers (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error)
-{
- GOptionContext *context;
- gboolean ret = FALSE;
- gs_unref_object GFile *rootdir = NULL;
- __attribute__((unused)) GCancellable *cancellable = NULL;
-
- context = g_option_context_new ("[ROOT] - Run triggers (regenerate caches, etc.)");
- g_option_context_add_main_entries (context, options, NULL);
-
- if (!g_option_context_parse (context, &argc, &argv, error))
- goto out;
-
- rootdir = g_file_new_for_path (argv[1]);
-
- if (!ostree_run_triggers_in_root (rootdir, cancellable, error))
- goto out;
-
- ret = TRUE;
- out:
- if (context)
- g_option_context_free (context);
- return ret;
-}
diff --git a/src/ostree/ot-admin-builtins.h b/src/ostree/ot-admin-builtins.h
index 99240867..307e0e26 100644
--- a/src/ostree/ot-admin-builtins.h
+++ b/src/ostree/ot-admin-builtins.h
@@ -38,7 +38,6 @@ gboolean ot_admin_builtin_deploy (int argc, char **argv, OtAdminBuiltinOpts *adm
gboolean ot_admin_builtin_prune (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
gboolean ot_admin_builtin_status (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
gboolean ot_admin_builtin_diff (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
-gboolean ot_admin_builtin_run_triggers (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
gboolean ot_admin_builtin_upgrade (int argc, char **argv, OtAdminBuiltinOpts *admin_opts, GError **error);
G_END_DECLS
diff --git a/src/ostree/ot-builtin-admin.c b/src/ostree/ot-builtin-admin.c
index b1dfac72..8b54f883 100644
--- a/src/ostree/ot-builtin-admin.c
+++ b/src/ostree/ot-builtin-admin.c
@@ -52,7 +52,6 @@ static OstreeAdminCommand admin_subcommands[] = {
{ "prune", ot_admin_builtin_prune },
{ "status", ot_admin_builtin_status },
{ "config-diff", ot_admin_builtin_diff },
- { "run-triggers", ot_admin_builtin_run_triggers },
{ NULL, NULL }
};
diff --git a/src/ostree/ot-builtin-checkout.c b/src/ostree/ot-builtin-checkout.c
index d88e01ee..25433af1 100644
--- a/src/ostree/ot-builtin-checkout.c
+++ b/src/ostree/ot-builtin-checkout.c
@@ -31,7 +31,6 @@
static gboolean opt_user_mode;
static gboolean opt_allow_noent;
-static gboolean opt_no_triggers;
static char *opt_subpath;
static gboolean opt_union;
static gboolean opt_from_stdin;
@@ -42,7 +41,6 @@ static GOptionEntry options[] = {
{ "subpath", 0, 0, G_OPTION_ARG_STRING, &opt_subpath, "Checkout sub-directory PATH", "PATH" },
{ "union", 0, 0, G_OPTION_ARG_NONE, &opt_union, "Keep existing directories, overwrite existing files", NULL },
{ "allow-noent", 0, 0, G_OPTION_ARG_NONE, &opt_allow_noent, "Do nothing if specified path does not exist", NULL },
- { "no-triggers", 0, 0, G_OPTION_ARG_NONE, &opt_no_triggers, "Don't run triggers", NULL },
{ "from-stdin", 0, 0, G_OPTION_ARG_NONE, &opt_from_stdin, "Process many checkouts from standard input", NULL },
{ "from-file", 0, 0, G_OPTION_ARG_STRING, &opt_from_file, "Process many checkouts from input file", NULL },
{ NULL }
@@ -262,12 +260,6 @@ ostree_builtin_checkout (int argc, char **argv, GFile *repo_path, GError **error
if (!process_many_checkouts (repo, checkout_target, cancellable, error))
goto out;
-
- if (!opt_no_triggers)
- {
- if (!ostree_run_triggers_in_root (checkout_target, cancellable, error))
- goto out;
- }
}
else
{
@@ -286,13 +278,6 @@ ostree_builtin_checkout (int argc, char **argv, GFile *repo_path, GError **error
checkout_target_tmp ? checkout_target_tmp : checkout_target,
cancellable, error))
goto out;
-
- if (!opt_no_triggers)
- {
- if (!ostree_run_triggers_in_root (checkout_target_tmp ? checkout_target_tmp : checkout_target,
- cancellable, error))
- goto out;
- }
}
ret = TRUE;
diff --git a/src/triggers/ostree-run-triggers.c b/src/triggers/ostree-run-triggers.c
deleted file mode 100644
index 4ac1f1c9..00000000
--- a/src/triggers/ostree-run-triggers.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
- *
- * Copyright (C) 2011,2012 Colin Walters <walters@verbum.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Colin Walters <walters@verbum.org>
- */
-
-#include "config.h"
-
-#include <gio/gio.h>
-#include <string.h>
-
-static gboolean verbose;
-
-static GOptionEntry options[] = {
- { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, "Display informational messages", NULL },
- { NULL }
-};
-
-static gboolean
-run_trigger (const char *path,
- GCancellable *cancellable,
- GError **error)
-{
- gboolean ret = FALSE;
- char *basename = NULL;
- GPtrArray *args = NULL;
- int estatus;
-
- basename = g_path_get_basename (path);
-
- args = g_ptr_array_new ();
-
- g_ptr_array_add (args, (char*)path);
- g_ptr_array_add (args, NULL);
-
- if (verbose)
- g_print ("Running trigger: %s\n", path);
- if (!g_spawn_sync (NULL,
- (char**)args->pdata,
- NULL,
- 0,
- NULL, NULL, NULL, NULL,
- &estatus,
- error))
- {
- g_prefix_error (error, "Failed to run trigger %s: ", basename);
- goto out;
- }
-
- ret = TRUE;
- out:
- g_free (basename);
- if (args)
- g_ptr_array_free (args, TRUE);
- return ret;
-}
-
-static int
-compare_files_by_basename (gconstpointer ap,
- gconstpointer bp)
-{
- GFile *a = *(GFile**)ap;
- GFile *b = *(GFile**)bp;
- char *name_a, *name_b;
- int c;
-
- name_a = g_file_get_basename (a);
- name_b = g_file_get_basename (b);
- c = strcmp (name_a, name_b);
- g_free (name_b);
- g_free (name_a);
- return c;
-}
-
-static gboolean
-get_sorted_triggers (GPtrArray **out_triggers,
- GCancellable *cancellable,
- GError **error)
-{
- gboolean ret = FALSE;
- GError *temp_error = NULL;
- char *triggerdir_path = NULL;
- GFile *triggerdir = NULL;
- GFileInfo *file_info = NULL;
- GFileEnumerator *enumerator = NULL;
- GPtrArray *ret_triggers = NULL;
-
- ret_triggers = g_ptr_array_new_with_free_func ((GDestroyNotify)g_object_unref);
-
- triggerdir_path = g_build_filename (LIBEXECDIR, "ostree", "triggers.d", NULL);
- triggerdir = g_file_new_for_path (triggerdir_path);
-
- enumerator = g_file_enumerate_children (triggerdir, "standard::name,standard::type",
- G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
- cancellable,
- error);
- if (!enumerator)
- goto out;
-
- while ((file_info = g_file_enumerator_next_file (enumerator, cancellable, &temp_error)) != NULL)
- {
- const char *name;
- guint32 type;
-
- name = g_file_info_get_attribute_byte_string (file_info, "standard::name");
- type = g_file_info_get_attribute_uint32 (file_info, "standard::type");
-
- if (type == G_FILE_TYPE_REGULAR && g_str_has_suffix (name, ".trigger"))
- {
- char *child_path;
- GFile *child;
-
- child_path = g_build_filename (triggerdir_path, name, NULL);
- child = g_file_new_for_path (child_path);
- g_free (child_path);
-
- g_ptr_array_add (ret_triggers, child);
- }
- g_clear_object (&file_info);
- }
- if (file_info == NULL && temp_error != NULL)
- {
- g_propagate_error (error, temp_error);
- goto out;
- }
-
- g_ptr_array_sort (ret_triggers, compare_files_by_basename);
-
- ret = TRUE;
- if (out_triggers)
- {
- *out_triggers = ret_triggers;
- ret_triggers = NULL;
- }
- out:
- g_free (triggerdir_path);
- g_clear_object (&triggerdir);
- g_clear_object (&enumerator);
- if (ret_triggers)
- g_ptr_array_unref (ret_triggers);
- return ret;
-}
-
-gboolean
-run_triggers (GCancellable *cancellable,
- GError **error)
-{
- gboolean ret = FALSE;
- int i;
- GPtrArray *triggers = NULL;
- char *path = NULL;
-
- if (!get_sorted_triggers (&triggers, cancellable, error))
- goto out;
-
- for (i = 0; i < triggers->len; i++)
- {
- const char *basename;
- GFile *trigger_path = triggers->pdata[i];
- guint64 start_time;
- guint64 end_time;
-
- g_free (path);
- path = g_file_get_path (trigger_path);
- basename = strrchr (path, '/');
- if (basename)
- basename += 1;
- else
- basename = path;
-
- start_time = g_get_monotonic_time ();
- g_print ("ostree-run-triggers: Starting: %s\n", basename);
- if (!run_trigger (path, cancellable, error))
- goto out;
- end_time = g_get_monotonic_time ();
- g_print ("ostree-run-triggers: Completed %s in %.2f seconds\n", basename,
- (double) (end_time - start_time) / (double)G_USEC_PER_SEC);
- }
-
- ret = TRUE;
- out:
- g_free (path);
- if (triggers)
- g_ptr_array_unref (triggers);
- return ret;
-}
-
-int
-main (int argc,
- char **argv)
-{
- GOptionContext *context;
- GError *real_error = NULL;
- GError **error = &real_error;
- GCancellable *cancellable = NULL;
- gboolean ret = FALSE;
-
- g_type_init ();
-
- context = g_option_context_new ("- Regenerate caches in operating system tree");
- g_option_context_add_main_entries (context, options, NULL);
-
- if (!g_option_context_parse (context, &argc, &argv, error))
- goto out;
-
- if (!run_triggers (cancellable, error))
- goto out;
-
- ret = TRUE;
- out:
- if (real_error)
- g_printerr ("%s\n", real_error->message);
- g_clear_error (&real_error);
- if (!ret)
- return 1;
- return 0;
-}
diff --git a/src/triggers/triggers.d/0001ldconfig.trigger b/src/triggers/triggers.d/0001ldconfig.trigger
deleted file mode 100755
index daed471a..00000000
--- a/src/triggers/triggers.d/0001ldconfig.trigger
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-# Post-installation hook for shared libraries. -*- mode: sh -*-
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which ldconfig 2>/dev/null)"; then
- exec ldconfig
-fi
diff --git a/src/triggers/triggers.d/0005depmod.trigger b/src/triggers/triggers.d/0005depmod.trigger
deleted file mode 100755
index fc786b28..00000000
--- a/src/triggers/triggers.d/0005depmod.trigger
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-# Post-installation hook for kernel modules. -*- mode: sh -*-
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-set -e
-
-if test -x "$(which depmod 2>/dev/null)"; then
- for d in /usr/lib/modules/*; do
- if test -d "$d"; then depmod $(basename "$d"); fi
- done
-fi
diff --git a/src/triggers/triggers.d/0010mime-database.trigger b/src/triggers/triggers.d/0010mime-database.trigger
deleted file mode 100755
index e99cf2ec..00000000
--- a/src/triggers/triggers.d/0010mime-database.trigger
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Post-installation hook for shared-mime-info. -*- mode: sh -*-
-#
-# Written by Matthias Clasen <mclasen@redhat.com>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which update-mime-database 2>/dev/null)"; then
- exec update-mime-database /usr/share/mime
-fi
diff --git a/src/triggers/triggers.d/0020dconf.trigger b/src/triggers/triggers.d/0020dconf.trigger
deleted file mode 100755
index 620d4e0e..00000000
--- a/src/triggers/triggers.d/0020dconf.trigger
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Post-installation hook for system dconf schemas. -*- mode: sh -*-
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which dconf 2>/dev/null)"; then
- exec dconf update
-fi
diff --git a/src/triggers/triggers.d/0030glib.trigger b/src/triggers/triggers.d/0030glib.trigger
deleted file mode 100755
index 8c8bf506..00000000
--- a/src/triggers/triggers.d/0030glib.trigger
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Post-installation hook for glib/gschema. -*- mode: sh -*-
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which glib-compile-schemas 2>/dev/null)"; then
- exec glib-compile-schemas /usr/share/glib-2.0/schemas
-fi
diff --git a/src/triggers/triggers.d/0040gdk-pixbuf.trigger b/src/triggers/triggers.d/0040gdk-pixbuf.trigger
deleted file mode 100755
index 989d08b2..00000000
--- a/src/triggers/triggers.d/0040gdk-pixbuf.trigger
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-# Post-installation hook for gdk-pixbuf. -*- mode: sh -*-
-# Corresponds to gdk-pixbuf/gdk-pixbuf/Makefile.am:install-data-hook
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which gdk-pixbuf-query-loaders 2>/dev/null)"; then
- exec gdk-pixbuf-query-loaders --update-cache
-fi
diff --git a/src/triggers/triggers.d/0050gconf.trigger b/src/triggers/triggers.d/0050gconf.trigger
deleted file mode 100755
index f7a7c380..00000000
--- a/src/triggers/triggers.d/0050gconf.trigger
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-# Post-installation hook for GConf. -*- mode: sh -*-
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which gconftool-2 2>/dev/null)"; then
- GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
- export GCONF_CONFIG_SOURCE
- for f in /etc/gconf/schemas/*.schemas; do
- # The default output is extremely chatty...redirect to
- # /dev/null here until there's a way to make it quieter.
- gconftool-2 --makefile-install-rule "$f" >/dev/null
- done
-fi
diff --git a/src/triggers/triggers.d/0060immodules.trigger b/src/triggers/triggers.d/0060immodules.trigger
deleted file mode 100755
index b9738eec..00000000
--- a/src/triggers/triggers.d/0060immodules.trigger
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Post-installation hook for GTK+ input method modules. -*- mode: sh -*-
-#
-# Written by Matthias Clasen <mclasen@redhat.com>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which gtk-query-immodules-3.0 2>/dev/null)"; then
- exec gtk-query-immodules-3.0 --update-cache
-fi
diff --git a/src/triggers/triggers.d/0070pango.trigger b/src/triggers/triggers.d/0070pango.trigger
deleted file mode 100755
index 250d8960..00000000
--- a/src/triggers/triggers.d/0070pango.trigger
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-# Post-installation hook for pango. -*- mode: sh -*-
-# Corresponds to gdk-pixbuf/gdk-pixbuf/Makefile.am:install-data-hook
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which pango-querymodules 2>/dev/null)"; then
- # Support both old and new pango-querymodules; see
- # http://git.gnome.org/browse/pango/commit/?id=9bbb992671140b840bedb4339f6c326a2ae2c072
- if ! pango-querymodules --system --update-cache; then
- DEST=/etc/pango/pango.modules
- pango-querymodules --system > ${DEST}.tmp && mv ${DEST}.tmp ${DEST}
- fi
-fi
diff --git a/src/triggers/triggers.d/0080gtk+.trigger b/src/triggers/triggers.d/0080gtk+.trigger
deleted file mode 100755
index 85b9e799..00000000
--- a/src/triggers/triggers.d/0080gtk+.trigger
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Post-installation hook for gtk icon cache. -*- mode: sh -*-
-#
-# Written by Colin Walters <walters@verbum.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which gtk-update-icon-cache 2>/dev/null)"; then
- for dir in /usr/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"
- exit 1
- fi
- fi
- done
-fi
diff --git a/src/triggers/triggers.d/0090desktop-database.trigger b/src/triggers/triggers.d/0090desktop-database.trigger
deleted file mode 100755
index 25da1e9b..00000000
--- a/src/triggers/triggers.d/0090desktop-database.trigger
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Post-installation hook for desktop files. -*- mode: sh -*-
-#
-# Written by Matthias Clasen <mclasen@redhat.com>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which update-desktop-database 2>/dev/null)"; then
- exec update-desktop-database -q /usr/share/applications
-fi
diff --git a/src/triggers/triggers.d/0100fontconfig-cache.trigger b/src/triggers/triggers.d/0100fontconfig-cache.trigger
deleted file mode 100755
index 3b93b8bd..00000000
--- a/src/triggers/triggers.d/0100fontconfig-cache.trigger
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Post-installation hook for the FontConfig cache -*- mode: sh -*-
-#
-# Written by Adrian Perez de Castro <aperez@igalia.com>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-if test -x "$(which fc-cache 2>/dev/null)"; then
- exec fc-cache --system-only
-fi