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
