[ostree] Add support for mkinitcpio



commit ccb10d592ded5b665a11ceca0e61cab1dd6e5013
Author: Daniel Narvaez <dwnarvaez gmail com>
Date:   Tue Oct 22 22:04:32 2013 +0200

    Add support for mkinitcpio
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710682

 Makefile-dracut.am => Makefile-boot.am           |   29 +++++++++++++++-------
 Makefile-switchroot.am                           |    2 +-
 Makefile.am                                      |    2 +-
 configure.ac                                     |   15 +++++++++--
 src/{ => boot}/dracut/module-setup.sh            |    2 +-
 src/{ => boot}/dracut/ostree.conf                |    0
 src/boot/mkinitcpio/ostree                       |   10 +++++++
 src/boot/mkinitcpio/ostree-mkinitcpio.conf       |    1 +
 src/{dracut => boot}/ostree-prepare-root.service |    0
 src/{dracut => boot}/ostree-remount.service      |    0
 10 files changed, 46 insertions(+), 15 deletions(-)
---
diff --git a/Makefile-dracut.am b/Makefile-boot.am
similarity index 61%
rename from Makefile-dracut.am
rename to Makefile-boot.am
index d9e0dd4..49b3c03 100644
--- a/Makefile-dracut.am
+++ b/Makefile-boot.am
@@ -20,18 +20,29 @@
 if BUILDOPT_DRACUT
 # Not using $(libdir) here is intentional, dracut modules go in prefix/lib
 dracutmoddir = $(prefix)/lib/dracut/modules.d/98ostree
-dracutmod_SCRIPTS = src/dracut/module-setup.sh
-dracutmod_DATA = src/dracut/ostree-prepare-root.service
-
-systemdsystemunit_DATA = src/dracut/ostree-remount.service
+dracutmod_SCRIPTS = src/boot/dracut/module-setup.sh
 
 dracutconfdir = $(sysconfdir)/dracut.conf.d
-dracutconf_DATA = src/dracut/ostree.conf
+dracutconf_DATA = src/boot/dracut/ostree.conf
+endif
+
+if BUILDOPT_MKINITCPIO
+mkinitcpioinstalldir = $(prefix)/lib/initcpio/install
+mkinitcpioinstall_SCRIPTS = src/boot/mkinitcpio/ostree
+
+mkinitcpioconfdir = $(sysconfdir)
+mkinitcpioconf_DATA = src/boot/mkinitcpio/ostree-mkinitcpio.conf
+endif
+
+if BUILDOPT_SYSTEMD
+systemdsystemunit_DATA = src/boot/ostree-prepare-root.service \
+       src/boot/ostree-remount.service
 endif
 
-EXTRA_DIST += src/dracut/module-setup.sh \
-       src/dracut/ostree-prepare-root.service \
-       src/dracut/ostree-remount.service \
-       src/dracut/ostree.conf \
+EXTRA_DIST += src/boot/dracut/module-setup.sh \
+       src/boot/dracut/ostree.conf \
+       src/boot/mkinitcpio/ostree \
+       src/boot/ostree-prepare-root.service \
+       src/boot/ostree-remount.service \
        $(NULL)
 
diff --git a/Makefile-switchroot.am b/Makefile-switchroot.am
index 3dacb87..ef837ce 100644
--- a/Makefile-switchroot.am
+++ b/Makefile-switchroot.am
@@ -15,7 +15,7 @@
 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
-if BUILDOPT_DRACUT
+if BUILDOPT_SYSTEMD
 sbin_PROGRAMS += ostree-prepare-root
 sbin_PROGRAMS += ostree-remount
 noinst_LTLIBRARIES += libswitchroot-mountutil.la
diff --git a/Makefile.am b/Makefile.am
index 578f265..131a458 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -108,7 +108,7 @@ include Makefile-libostree.am
 include Makefile-ostree.am
 include Makefile-switchroot.am
 include Makefile-tests.am
-include Makefile-dracut.am
+include Makefile-boot.am
 
 install-data-hook: $(INSTALL_DATA_HOOKS)
 
diff --git a/configure.ac b/configure.ac
index 7cfa64b..073b7a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -143,7 +143,14 @@ AC_ARG_WITH(dracut,
               [with_dracut=no])
 AM_CONDITIONAL(BUILDOPT_DRACUT, test x$with_dracut = xyes)
 
-AS_IF([test "x$with_dracut" = "xyes"], [
+AC_ARG_WITH(mkinitcpio,
+            AS_HELP_STRING([--with-mkinitcpio],
+                           [Install mkinitcpio module (default: no)]),,
+              [with_mkinitcpio=no])
+AM_CONDITIONAL(BUILDOPT_MKINITCPIO, test x$with_mkinitcpio = xyes)
+
+AS_IF([test "x$with_dracut" = "xyes" || test "x$with_mkinitcpio" = "xyes"], [
+  with_systemd=yes
   AC_ARG_WITH([systemdsystemunitdir],
               AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
               [],
@@ -152,6 +159,7 @@ AS_IF([test "x$with_dracut" = "xyes"], [
     AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
   ])
 ])
+AM_CONDITIONAL(BUILDOPT_SYSTEMD, test x$with_systemd = xyes)
 
 dnl for tests
 AS_IF([test "x$found_introspection" = xyes], [
@@ -184,8 +192,9 @@ echo "
     gpgme (sign commits):                         $with_gpgme
     documentation:                                $enable_gtk_doc
     gjs-based tests:                              $have_gjs
-    dracut:                                       $with_dracut"
-AS_IF([test "x$with_dracut" = "xyes"], [
+    dracut:                                       $with_dracut
+    mkinitcpio:                                   $with_mkinitcpio"
+AS_IF([test "x$with_systemd" = "xyes"], [
     echo "    systemd unit dir:                             $with_systemdsystemunitdir"
 ])
 echo ""
diff --git a/src/dracut/module-setup.sh b/src/boot/dracut/module-setup.sh
similarity index 92%
rename from src/dracut/module-setup.sh
rename to src/boot/dracut/module-setup.sh
index b2af772..a976991 100755
--- a/src/dracut/module-setup.sh
+++ b/src/boot/dracut/module-setup.sh
@@ -33,7 +33,7 @@ depends() {
 
 install() {
     dracut_install ostree-prepare-root
-    inst_simple "$moddir/ostree-prepare-root.service" "${systemdsystemunitdir}/ostree-prepare-root.service"
+    inst_simple "${systemdsystemunitdir}/ostree-prepare-root.service"
     mkdir -p "${initdir}${systemdsystemconfdir}/initrd-switch-root.target.wants"
     ln_r "${systemdsystemunitdir}/ostree-prepare-root.service" \
         "${systemdsystemconfdir}/initrd-switch-root.target.wants/ostree-prepare-root.service"
diff --git a/src/dracut/ostree.conf b/src/boot/dracut/ostree.conf
similarity index 100%
rename from src/dracut/ostree.conf
rename to src/boot/dracut/ostree.conf
diff --git a/src/boot/mkinitcpio/ostree b/src/boot/mkinitcpio/ostree
new file mode 100644
index 0000000..4674837
--- /dev/null
+++ b/src/boot/mkinitcpio/ostree
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+build() {
+    add_binary /usr/sbin/ostree-prepare-root
+    add_binary /usr/sbin/ostree-remount
+
+    add_file /usr/lib/systemd/system/ostree-prepare-root.service
+    add_symlink /usr/lib/systemd/system/initrd-switch-root.target.wants/ostree-prepare-root.service \
+        /usr/lib/systemd/system/ostree-prepare-root.service
+}
diff --git a/src/boot/mkinitcpio/ostree-mkinitcpio.conf b/src/boot/mkinitcpio/ostree-mkinitcpio.conf
new file mode 100644
index 0000000..75d26eb
--- /dev/null
+++ b/src/boot/mkinitcpio/ostree-mkinitcpio.conf
@@ -0,0 +1 @@
+HOOKS="base systemd ostree autodetect modconf block filesystems keyboard fsck"
diff --git a/src/dracut/ostree-prepare-root.service b/src/boot/ostree-prepare-root.service
similarity index 100%
rename from src/dracut/ostree-prepare-root.service
rename to src/boot/ostree-prepare-root.service
diff --git a/src/dracut/ostree-remount.service b/src/boot/ostree-remount.service
similarity index 100%
rename from src/dracut/ostree-remount.service
rename to src/boot/ostree-remount.service


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