Start converting the indentation to 2-chars
[ganeti-local] / Makefile.am
index 4c70c78..7358964 100644 (file)
@@ -21,6 +21,7 @@ ACLOCAL_AMFLAGS = -I autotools
 BUILD_BASH_COMPLETION = $(top_srcdir)/autotools/build-bash-completion
 RUN_IN_TEMPDIR = $(top_srcdir)/autotools/run-in-tempdir
 CHECK_PYTHON_CODE = $(top_srcdir)/autotools/check-python-code
+CHECK_HEADER = $(top_srcdir)/autotools/check-header
 CHECK_MAN = $(top_srcdir)/autotools/check-man
 CHECK_VERSION = $(top_srcdir)/autotools/check-version
 CHECK_NEWS = $(top_srcdir)/autotools/check-news
@@ -28,6 +29,7 @@ CHECK_IMPORTS = $(top_srcdir)/autotools/check-imports
 DOCPP = $(top_srcdir)/autotools/docpp
 REPLACE_VARS_SED = autotools/replace_vars.sed
 CONVERT_CONSTANTS = $(top_srcdir)/autotools/convert-constants
+BUILD_RPC = $(top_srcdir)/autotools/build-rpc
 
 # Note: these are automake-specific variables, and must be named after
 # the directory + 'dir' suffix
@@ -82,6 +84,7 @@ DIRS = \
        test \
        test/data \
        test/data/ovfdata \
+       test/data/ovfdata/other \
        tools
 
 BUILDTIME_DIR_AUTOCREATE = \
@@ -143,6 +146,7 @@ CLEANFILES = \
        doc/examples/ganeti.cron \
        doc/examples/gnt-config-backup \
        doc/examples/hooks/ipsec \
+       lib/_generated_rpc.py \
        $(man_MANS) \
        $(manhtml) \
        tools/kvm-ifup \
@@ -163,7 +167,8 @@ BUILT_SOURCES = \
 
 BUILT_PYTHON_SOURCES = \
        lib/_autoconf.py \
-       lib/_vcsversion.py
+       lib/_vcsversion.py \
+       lib/_generated_rpc.py
 
 nodist_pkgpython_PYTHON = \
        $(BUILT_PYTHON_SOURCES)
@@ -198,6 +203,7 @@ pkgpython_PYTHON = \
        lib/qlang.py \
        lib/query.py \
        lib/rpc.py \
+       lib/rpc_defs.py \
        lib/runtime.py \
        lib/serializer.py \
        lib/ssconf.py \
@@ -305,9 +311,11 @@ docrst = \
        doc/design-network.rst \
        doc/design-chained-jobs.rst \
        doc/design-ovf-support.rst \
+       doc/design-resource-model.rst \
        doc/cluster-merge.rst \
        doc/design-shared-storage.rst \
        doc/design-node-state-cache.rst \
+       doc/design-virtual-clusters.rst \
        doc/devnotes.rst \
        doc/glossary.rst \
        doc/hooks.rst \
@@ -333,8 +341,11 @@ HFLAGS = -O -Wall -fwarn-monomorphism-restriction -fwarn-tabs -ihtools
 # extra flags that can be overriden on the command line
 HEXTRA =
 # exclude options for coverage reports
-HPCEXCL = --exclude Main --exclude Ganeti.HTools.QC \
+HPCEXCL = --exclude Main \
        --exclude Ganeti.Constants \
+       --exclude Ganeti.THH \
+       --exclude Ganeti.HTools.QC \
+       --exclude Ganeti.HTools.QCHelper \
        --exclude Ganeti.HTools.Version
 
 HS_LIB_SRCS = \
@@ -346,11 +357,13 @@ HS_LIB_SRCS = \
        htools/Ganeti/HTools/Group.hs \
        htools/Ganeti/HTools/IAlloc.hs \
        htools/Ganeti/HTools/Instance.hs \
+       htools/Ganeti/HTools/JSON.hs \
        htools/Ganeti/HTools/Loader.hs \
        htools/Ganeti/HTools/Luxi.hs \
        htools/Ganeti/HTools/Node.hs \
        htools/Ganeti/HTools/PeerMap.hs \
        htools/Ganeti/HTools/QC.hs \
+       htools/Ganeti/HTools/QCHelper.hs \
        htools/Ganeti/HTools/Rapi.hs \
        htools/Ganeti/HTools/Simu.hs \
        htools/Ganeti/HTools/Text.hs \
@@ -362,7 +375,8 @@ HS_LIB_SRCS = \
        htools/Ganeti/HTools/Program/Hspace.hs \
        htools/Ganeti/Jobs.hs \
        htools/Ganeti/Luxi.hs \
-       htools/Ganeti/OpCodes.hs
+       htools/Ganeti/OpCodes.hs \
+       htools/Ganeti/THH.hs
 
 HS_BUILT_SRCS = htools/Ganeti/HTools/Version.hs htools/Ganeti/Constants.hs
 HS_BUILT_SRCS_IN = $(patsubst %,%.in,$(HS_BUILT_SRCS))
@@ -491,9 +505,10 @@ $(HS_ALL_PROGS): %: %.hs $(HS_LIB_SRCS) $(HS_BUILT_SRCS) Makefile
          exit 1; \
        fi
        BINARY=$(@:htools/%=%); $(GHC) --make \
-         $(HFLAGS) $(HEXTRA) \
+         $(HFLAGS) \
          $(HTOOLS_NOCURL) $(HTOOLS_PARALLEL3) \
-         -osuf $$BINARY.o -hisuf $$BINARY.hi $@
+         -osuf $$BINARY.o -hisuf $$BINARY.hi \
+         $(HEXTRA) $@
 
 # for the htools/test binary, we need to enable profiling/coverage
 htools/test: HEXTRA=-fhpc -Wwarn -fno-warn-missing-signatures \
@@ -522,7 +537,8 @@ dist_tools_PYTHON = \
 dist_tools_SCRIPTS = \
        $(dist_tools_PYTHON) \
        tools/kvm-console-wrapper \
-       tools/xm-console-wrapper
+       tools/xm-console-wrapper \
+       tools/master-ip-setup
 
 pkglib_python_scripts = \
        daemons/import-export \
@@ -545,6 +561,8 @@ EXTRA_DIST = \
        epydoc.conf.in \
        pylintrc \
        autotools/build-bash-completion \
+       autotools/build-rpc \
+       autotools/check-header \
        autotools/check-python-code \
        autotools/check-imports \
        autotools/check-man \
@@ -642,22 +660,30 @@ TEST_FILES = \
        test/data/proc_drbd83_sync_krnl2.6.39.txt \
        test/data/sys_drbd_usermode_helper.txt \
        test/data/ovfdata/compr_disk.vmdk.gz \
+       test/data/ovfdata/config.ini \
        test/data/ovfdata/corrupted_resources.ovf \
+       test/data/ovfdata/empty.ini \
        test/data/ovfdata/empty.ovf \
        test/data/ovfdata/ganeti.mf \
        test/data/ovfdata/ganeti.ovf \
        test/data/ovfdata/gzip_disk.ovf \
        test/data/ovfdata/new_disk.vmdk \
+       test/data/ovfdata/no_disk.ini \
        test/data/ovfdata/no_disk_in_ref.ovf \
+       test/data/ovfdata/no_os.ini \
        test/data/ovfdata/no_ovf.ova \
        test/data/ovfdata/ova.ova \
        test/data/ovfdata/second_disk.vmdk \
+       test/data/ovfdata/rawdisk.raw \
+       test/data/ovfdata/unsafe_path.ini \
        test/data/ovfdata/virtualbox.ovf \
        test/data/ovfdata/wrong_extension.ovd \
+       test/data/ovfdata/wrong_config.ini \
        test/data/ovfdata/wrong_manifest.mf \
        test/data/ovfdata/wrong_manifest.ovf \
        test/data/ovfdata/wrong_ova.ova \
        test/data/ovfdata/wrong_xml.ovf \
+       test/data/ovfdata/other/rawdisk.raw \
        test/import-export_unittest-helper
 
 python_tests = \
@@ -721,6 +747,7 @@ python_tests = \
        test/ganeti.workerpool_unittest.py \
        test/cfgupgrade_unittest.py \
        test/docs_unittest.py \
+       test/pycurl_reset_unittest.py \
        test/tempfile_fork_unittest.py
 
 haskell_tests = htools/test
@@ -780,6 +807,7 @@ srclink_files = \
 check_python_code = \
        $(BUILD_BASH_COMPLETION) \
        $(CHECK_IMPORTS) \
+       $(CHECK_HEADER) \
        $(DOCPP) \
        $(all_python_code)
 
@@ -791,6 +819,7 @@ lint_python_code = \
        $(pkglib_python_scripts) \
        $(BUILD_BASH_COMPLETION) \
        $(CHECK_IMPORTS) \
+       $(CHECK_HEADER) \
        $(DOCPP) \
        $(PYTHON_BOOTSTRAP)
 
@@ -805,6 +834,7 @@ pep8_python_code = \
        $(dist_tools_PYTHON) \
        $(pkglib_python_scripts) \
        $(BUILD_BASH_COMPLETION) \
+       $(CHECK_HEADER) \
        $(DOCPP) \
        $(PYTHON_BOOTSTRAP) \
        qa
@@ -904,7 +934,8 @@ htools/Ganeti/HTools/Version.hs: htools/Ganeti/HTools/Version.hs.in vcs-version
        sed -e "s/%ver%/$$VCSVER/" < $< > $@
 
 htools/Ganeti/Constants.hs: htools/Ganeti/Constants.hs.in \
-       lib/constants.py lib/_autoconf.py $(CONVERT_CONSTANTS)
+       lib/constants.py lib/_autoconf.py $(CONVERT_CONSTANTS) \
+       | lib/_vcsversion.py
        set -e; \
        { cat $< ; PYTHONPATH=. $(CONVERT_CONSTANTS); } > $@
 
@@ -966,6 +997,7 @@ lib/_autoconf.py: Makefile | lib/.dir
          echo "NODED_USER = '$(NODED_USER)'"; \
          echo "NODED_GROUP = '$(NODED_GROUP)'"; \
          echo "DISK_SEPARATOR = '$(DISK_SEPARATOR)'"; \
+         echo "QEMUIMG_PATH = '$(QEMUIMG_PATH)'"; \
          if [ "$(HTOOLS)" ]; then \
            echo "HTOOLS = True"; \
          else \
@@ -994,6 +1026,9 @@ lib/_vcsversion.py: Makefile vcs-version | lib/.dir
          echo "VCS_VERSION = '$$VCSVER'"; \
        } > $@
 
+lib/_generated_rpc.py: lib/rpc_defs.py $(BUILD_RPC) | lib/.dir
+       PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(BUILD_RPC) $< > $@
+
 $(REPLACE_VARS_SED): Makefile
        set -e; \
        { echo 's#@PREFIX@#$(prefix)#g'; \
@@ -1095,6 +1130,7 @@ check-dirs: $(BUILT_SOURCES)
 .PHONY: check-local
 check-local: check-dirs $(BUILT_SOURCES)
        $(CHECK_PYTHON_CODE) $(check_python_code)
+       PYTHONPATH=. $(CHECK_HEADER) $(check_python_code)
        $(CHECK_VERSION) $(VERSION) $(top_srcdir)/NEWS
        $(CHECK_NEWS) < $(top_srcdir)/NEWS
        PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(CHECK_IMPORTS) . $(standalone_python_modules)
@@ -1105,7 +1141,7 @@ check-local: check-dirs $(BUILT_SOURCES)
        fi; \
        for file in doc/iallocator.rst doc/hooks.rst; do \
                if test "`sed -ne '4 p' $(top_srcdir)/$$file`" != \
-                       "Documents Ganeti version $$expver"; then \
+                       "Documents Ganeti version $$expver"; then \
                        echo "Incorrect version in $$file, expected $$expver"; \
                        exit 1; \
                fi; \