instance-p2v-target/Makefile.am now installs a new dir for fix scripts,
adds a hook script to install them into the bootstrap OS, and
generalizes the "building" of files that use sed to substitute paths.

Signed-off-by: Ben Lipton <[email protected]>
---
 .gitignore                      |    4 +++
 instance-p2v-target/Makefile.am |   40 +++++++++++++++++++++++++++++---------
 2 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/.gitignore b/.gitignore
index 710166a..5573cc3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,10 @@ Makefile.in
 # built files
 /instance-p2v-target/common.sh
 /instance-p2v-target/p2v-target.conf
+/instance-p2v-target/hooks/install-fixes
+
+/README.html
+/doc/*.html
 
 # archives
 /ganeti-p2v-transfer-*.tar.gz
diff --git a/instance-p2v-target/Makefile.am b/instance-p2v-target/Makefile.am
index a146d8b..f44647f 100644
--- a/instance-p2v-target/Makefile.am
+++ b/instance-p2v-target/Makefile.am
@@ -4,17 +4,35 @@ osdir=$(DESTDIR)$(OS_DIR)/$(osname)
 configdir=$(DESTDIR)$(sysconfdir)/ganeti/instance-$(osname)
 variantsdir=$(configdir)/variants
 hookdir=$(configdir)/hooks
+fixesdir=$(configdir)/fixes
+fixlibdir=$(fixesdir)/fixlib
 
 dist_os_SCRIPTS = create import export rename
 config_DATA = p2v-target.conf
 dist_hook_SCRIPTS = hooks/ramboot hooks/interfaces hooks/xen-hvc0 \
                    hooks/clear-root-password
+hook_SCRIPTS = hooks/install-fixes
+
+subst_files = hooks/install-fixes common.sh p2v-target.conf
+
 dist_os_DATA = ganeti_api_version variants.list
-os_DATA = common.sh
+os_SCRIPTS = common.sh
 
 dist_sbin_SCRIPTS = scripts/make_ramboot_initrd.py
+dist_fixes_SCRIPTS = \
+       fixes/10_fix_fstab \
+       fixes/20_remove_persistent_rules \
+       fixes/30_add_console_inittab \
+       fixes/40_copy_hostname
+
+dist_fixlib_DATA = \
+       fixes/fixlib/__init__.py \
+       fixes/fixlib/fix_fstab.py \
+       fixes/fixlib/remove_persistent_rules.py \
+       fixes/fixlib/add_console_inittab.py \
+       fixes/fixlib/copy_hostname.py
 
-EXTRA_DIST = common.sh.in p2v-target.conf.in \
+EXTRA_DIST = $(patsubst %,%.in,$(subst_files)) \
        $(dist_TESTS) \
        $(test_extras)
 
@@ -22,12 +40,17 @@ EXTRA_DIST = common.sh.in p2v-target.conf.in \
 abs_top_srcdir = @abs_top_srcdir@
 srcdir = $(abs_top_srcdir)/instance-p2v-target
 dist_TESTS = \
-       test/make_ramboot_initrd_test.py
+       test/make_ramboot_initrd_test.py \
+       test/remove_persistent_rules_test.py \
+       test/fix_fstab_test.py \
+       test/add_console_inittab_test.py
 TESTS = $(dist_TESTS)
 TESTS_ENVIRONMENT = \
-       PYTHONPATH=$(srcdir) SRCDIR=$(srcdir)
+       PYTHONPATH=$(srcdir)/scripts:$(srcdir)/fixes SRCDIR=$(srcdir)
 test_extras = \
        scripts/__init__.py \
+       test/testdata/fstab_uuid_in \
+       test/testdata/fstab_uuid_out \
        test/testdata/movetoram
 
 do_subst = sed \
@@ -35,11 +58,8 @@ do_subst = sed \
        -e 's,[@]localstatedir[@],$(localstatedir),g' \
        -e 's,[@]configdir[@],$(configdir),g'
 
-common.sh: common.sh.in Makefile
-       $(do_subst) < $< > $@
-       chmod +x $@
-
-p2v-target.conf: p2v-target.conf.in Makefile
+$(subst_files):%: %.in Makefile
+       @mkdir_p@ `dirname $@`
        $(do_subst) < $< > $@
 
 install-exec-local:
@@ -57,4 +77,4 @@ install-exec-hook:
        @echo *****************************************************************
        @echo
 
-CLEANFILES = common.sh p2v-target.conf
+CLEANFILES = $(subst_files)
-- 
1.7.3.1

Reply via email to