X-Git-Url: http://git.ipfire.org/?p=people%2Fms%2Fnetwork.git;a=blobdiff_plain;f=Makefile.am;h=a5ea1235c7b8a774ead5ce3c0ec6aa800ef037e2;hp=c18c460a04cfdaab52b69acb9bec8296c71f6af1;hb=HEAD;hpb=bec94f95fe6fc4b01baf8eae5a07155593a5c3e8 diff --git a/Makefile.am b/Makefile.am index c18c460a..7ca12292 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,9 +28,11 @@ AUTOMAKE_OPTIONS = color-tests # keep itermediate files .SECONDARY: +configdir = $(sysconfdir)/network bashcompletiondir= $(datadir)/bash-completion/completions libexecdir = $(prefix)/lib -pkgconfigdatadir = $(datadir)/pkgconfig +modprobedir = $(prefix)/lib/modprobe.d +pkgconfigdir = $(libdir)/pkgconfig pppdir = $(sysconfdir)/ppp systemconfigdir = $(datadir)/network sysctldir = $(prefix)/lib/sysctl.d @@ -49,19 +51,38 @@ hooks_zonesdir = $(hooksdir)/zones triggersdir = $(networkdir)/triggers -logdir = $(localestatedir)/log/network +logdir = $(localstatedir)/log/network +utildir = $(networkdir) CLEANFILES = DISTCLEANFILES = EXTRA_DIST = INSTALL_DIRS = INSTALL_EXEC_HOOKS = +TESTS = UNINSTALL_EXEC_HOOKS = noinst_DATA = - -AM_CFLAGS = $(OUR_CFLAGS) -AM_CPPFLAGS = $(OUR_CPPFLAGS) -AM_LDFLAGS = $(OUR_LDFLAGS) +network_PROGRAMS = +dist_dbuspolicy_DATA = +dist_dbussystembus_DATA = +dist_polkitpolicy_DATA = +systemdsystemunit_DATA = + +AM_CPPFLAGS = \ + $(OUR_CPPFLAGS) \ + -include $(top_builddir)/config.h \ + -I${top_srcdir}/src/libnetwork + +AM_CFLAGS = \ + $(OUR_CFLAGS) \ + -fvisibility=hidden \ + -ffunction-sections \ + -fdata-sections + +AM_LDFLAGS = \ + $(OUR_LDFLAGS) \ + -Wl,--gc-sections \ + -Wl,--as-needed DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) \ @@ -75,6 +96,18 @@ INSTALL_EXEC_HOOKS += \ # ------------------------------------------------------------------------------ +AM_V_ASCIIDOC = $(AM_V_ASCIIDOC_$(V)) +AM_V_ASCIIDOC_ = $(AM_V_ASCIIDOC_$(AM_DEFAULT_VERBOSITY)) +AM_V_ASCIIDOC_0 = @echo " ASCIIDOC" $@; + +AM_V_DOWNLOAD = $(AM_V_DOWNLOAD_$(V)) +AM_V_DOWNLOAD_ = $(AM_V_DOWNLOAD_$(AM_DEFAULT_VERBOSITY)) +AM_V_DOWNLOAD_0 = @echo " LOAD " $@; + +AM_V_NITSI = $(AM_V_NITSI_$(V)) +AM_V_NITSI_ = $(AM_V_NITSI_$(AM_DEFAULT_VERBOSITY)) +AM_V_NITSI_0 = @echo " NITSI " $@; + AM_V_XSLT = $(AM_V_XSLT_$(V)) AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY)) AM_V_XSLT_0 = @echo " XSLT " $@; @@ -88,12 +121,10 @@ dist_doc_DATA = \ dist_sbin_SCRIPTS = \ src/dhclient-script \ - src/firewall-config \ - src/firewall4 \ - src/firewall6 \ + src/firewall \ src/network -network_SCRIPTS = \ +network_DATA = \ src/functions/functions CLEANFILES += \ @@ -102,9 +133,10 @@ CLEANFILES += \ EXTRA_DIST += \ src/functions/functions.in -dist_network_SCRIPTS = \ +dist_network_DATA = \ src/functions/functions.at \ src/functions/functions.auth \ + src/functions/functions.bird \ src/functions/functions.bonding \ src/functions/functions.bridge \ src/functions/functions.cli \ @@ -139,16 +171,17 @@ dist_network_SCRIPTS = \ src/functions/functions.ip-tunnel \ src/functions/functions.ipv4 \ src/functions/functions.ipv6 \ + src/functions/functions.leds \ src/functions/functions.list \ src/functions/functions.lock \ src/functions/functions.logging \ src/functions/functions.macros \ src/functions/functions.modem \ + src/functions/functions.offloading \ src/functions/functions.phy \ src/functions/functions.ports \ src/functions/functions.ppp \ src/functions/functions.pppoe-server \ - src/functions/functions.radvd \ src/functions/functions.route \ src/functions/functions.routing \ src/functions/functions.serial \ @@ -168,17 +201,17 @@ dist_network_SCRIPTS = \ src/functions/functions.wireless-networks \ src/functions/functions.wpa_supplicant \ src/functions/functions.zone \ - src/network-radvd-config \ - src/dhclient-helper \ src/header-config \ src/header-port \ - src/header-zone \ + src/header-zone + +dist_network_SCRIPTS = \ + src/dhclient-helper \ src/ppp/dialer \ src/ppp/pppoe-server dist_helpers_SCRIPTS = \ src/helpers/dhcpd-config-helper \ - src/helpers/firewall-kernel-init \ src/helpers/hostapd-config-helper \ src/helpers/ipsec-updown \ src/helpers/pppd-angel \ @@ -190,28 +223,236 @@ bin_PROGRAMS = \ src_inetcalc_SOURCES = \ src/inetcalc.c +src_inetcalc_LDADD = \ + src/libnetwork.la + dist_hooks_configs_SCRIPTS = \ src/hooks/configs/dhcp \ - src/hooks/configs/ipv4-static \ src/hooks/configs/ipv6-auto \ - src/hooks/configs/ipv6-static \ - src/hooks/configs/pppoe-server + src/hooks/configs/pppoe-server \ + src/hooks/configs/static dist_hooks_ports_SCRIPTS = \ src/hooks/ports/bonding \ src/hooks/ports/dummy \ src/hooks/ports/ethernet \ + src/hooks/ports/ip-tunnel \ src/hooks/ports/vlan \ src/hooks/ports/wireless-ap \ src/hooks/ports/wireless-mesh dist_hooks_zones_SCRIPTS = \ - src/hooks/zones/6to4-tunnel \ src/hooks/zones/bridge \ + src/hooks/zones/ip-tunnel \ src/hooks/zones/modem \ src/hooks/zones/pppoe \ src/hooks/zones/wireless +INSTALL_DIRS += \ + $(configdir) \ + $(configdir)/ports \ + $(configdir)/vpn \ + $(configdir)/vpn/ipsec/connections \ + $(configdir)/vpn/security-policies \ + $(configdir)/wireless \ + $(configdir)/wireless/networks \ + $(configdir)/zones + +# ------------------------------------------------------------------------------ + +LIBNETWORK_CURRENT=0 +LIBNETWORK_REVISION=0 +LIBNETWORK_AGE=0 + +pkginclude_HEADERS = \ + src/libnetwork/network/interface.h \ + src/libnetwork/network/libnetwork.h \ + src/libnetwork/network/logging.h \ + src/libnetwork/network/phy.h + +lib_LTLIBRARIES = \ + src/libnetwork.la + +src_libnetwork_la_SOURCES = \ + src/libnetwork/interface.c \ + src/libnetwork/libnetwork-private.h \ + src/libnetwork/libnetwork.c \ + src/libnetwork/phy.c + +src_libnetwork_la_LIBADD = \ + $(LIBNL_LIBS) + +src_libnetwork_la_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(LIBNL_CPPFLAGS) \ + -D_GNU_SOURCE \ + -DNETWORK_PRIVATE + +src_libnetwork_la_CFLAGS = \ + $(AM_CFLAGS) \ + $(LIBNL_CFLAGS) + +src_libnetwork_la_LDFLAGS = \ + $(AM_LDFLAGS) \ + -version-info $(LIBNETWORK_CURRENT):$(LIBNETWORK_REVISION):$(LIBNETWORK_AGE) \ + -Wl,--version-script=$(top_srcdir)/src/libnetwork/libnetwork.sym + +src_libnetwork_la_DEPENDENCIES = \ + src/libnetwork/libnetwork.sym + +EXTRA_DIST += \ + src/libnetwork/libnetwork.sym + +# ------------------------------------------------------------------------------ + +network_PROGRAMS += \ + networkd + +dist_networkd_SOURCES = \ + src/networkd/address.h \ + src/networkd/bus.c \ + src/networkd/bus.h \ + src/networkd/config.c \ + src/networkd/config.h \ + src/networkd/daemon.c \ + src/networkd/daemon.h \ + src/networkd/daemon-bus.c \ + src/networkd/daemon-bus.h \ + src/networkd/devmon.c \ + src/networkd/devmon.h \ + src/networkd/json.h \ + src/networkd/link.c \ + src/networkd/link.h \ + src/networkd/links.c \ + src/networkd/links.h \ + src/networkd/logging.c \ + src/networkd/logging.h \ + src/networkd/main.c \ + src/networkd/ports.c \ + src/networkd/ports.h \ + src/networkd/port.c \ + src/networkd/port.h \ + src/networkd/port-bonding.c \ + src/networkd/port-bonding.h \ + src/networkd/port-bus.c \ + src/networkd/port-bus.h \ + src/networkd/port-dummy.c \ + src/networkd/port-dummy.h \ + src/networkd/port-ethernet.c \ + src/networkd/port-ethernet.h \ + src/networkd/port-veth.c \ + src/networkd/port-veth.h \ + src/networkd/port-vlan.c \ + src/networkd/port-vlan.h \ + src/networkd/stats-collector.c \ + src/networkd/stats-collector.h \ + src/networkd/string.h \ + src/networkd/util.c \ + src/networkd/util.h \ + src/networkd/zones.c \ + src/networkd/zones.h \ + src/networkd/zone.c \ + src/networkd/zone.h \ + src/networkd/zone-bus.c \ + src/networkd/zone-bus.h + +networkd_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -DCONFIG_DIR="\"$(configdir)\"" + +networkd_CFLAGS = \ + $(AM_CFLAGS) \ + $(CAP_CFLAGS) \ + $(JSON_C_CFLAGS) \ + $(SYSTEMD_CFLAGS) + +networkd_LDFLAGS = \ + $(AM_LDFLAGS) + +networkd_LDADD = \ + src/libnetwork.la \ + $(CAP_LIBS) \ + $(JSON_C_LIBS) \ + $(SYSTEMD_LIBS) + +dist_dbuspolicy_DATA += \ + src/networkd/org.ipfire.network1.conf + +dist_dbussystembus_DATA += \ + src/networkd/org.ipfire.network1.service + +dist_polkitpolicy_DATA += \ + src/networkd/org.ipfire.network1.policy + +systemdsystemunit_DATA += \ + src/networkd/networkd.service + +EXTRA_DIST += \ + src/networkd/networkd.service.in + +CLEANFILES += \ + src/networkd/networkd.service + +# ------------------------------------------------------------------------------ + +bin_PROGRAMS += \ + networkctl + +dist_networkctl_SOURCES = \ + src/networkctl/command.c \ + src/networkctl/command.h \ + src/networkctl/main.c \ + src/networkctl/port.c \ + src/networkctl/port.h \ + src/networkctl/terminal.c \ + src/networkctl/terminal.h \ + src/networkctl/zone.c \ + src/networkctl/zone.h + +networkctl_CFLAGS = \ + $(AM_CFLAGS) \ + $(JSON_C_CFLAGS) \ + $(SYSTEMD_CFLAGS) + +networkctl_LDFLAGS = \ + $(AM_LDFLAGS) + +networkctl_LDADD = \ + $(JSON_C_LIBS) \ + $(SYSTEMD_LIBS) + +# ------------------------------------------------------------------------------ + +util_PROGRAMS = \ + src/utils/network-phy-list-channels \ + src/utils/network-phy-list-ciphers \ + src/utils/network-phy-list-ht-caps \ + src/utils/network-phy-list-vht-caps + +src_utils_network_phy_list_channels_SOURCES = \ + src/utils/network-phy-list-channels.c + +src_utils_network_phy_list_channels_LDADD = \ + src/libnetwork.la + +src_utils_network_phy_list_ciphers_SOURCES = \ + src/utils/network-phy-list-ciphers.c + +src_utils_network_phy_list_ciphers_LDADD = \ + src/libnetwork.la + +src_utils_network_phy_list_ht_caps_SOURCES = \ + src/utils/network-phy-list-ht-caps.c + +src_utils_network_phy_list_ht_caps_LDADD = \ + src/libnetwork.la + +src_utils_network_phy_list_vht_caps_SOURCES = \ + src/utils/network-phy-list-vht-caps.c + +src_utils_network_phy_list_vht_caps_LDADD = \ + src/libnetwork.la + # ------------------------------------------------------------------------------ ppp_SCRIPTS = \ @@ -244,9 +485,8 @@ UNINSTALL_EXEC_HOOKS += ppp-uninstall-hook # ------------------------------------------------------------------------------ if HAVE_SYSTEMD -systemdsystemunit_DATA = \ - src/systemd/firewall4.service \ - src/systemd/firewall6.service \ +systemdsystemunit_DATA += \ + src/systemd/firewall.service \ src/systemd/firewall-init.service \ src/systemd/network-init.service \ src/systemd/network@.service @@ -259,8 +499,7 @@ INSTALL_DIRS += \ endif EXTRA_DIST += \ - src/systemd/firewall4.service.in \ - src/systemd/firewall6.service.in \ + src/systemd/firewall.service.in \ src/systemd/firewall-init.service.in \ src/systemd/network-init.service.in \ src/systemd/network@.service.in @@ -282,6 +521,11 @@ dist_sysctl_DATA = \ # ------------------------------------------------------------------------------ +dist_modprobe_DATA = \ + src/modprobe.d/no-copybreak.conf + +# ------------------------------------------------------------------------------ + dist_bashcompletion_SCRIPTS = \ src/bash-completion/network @@ -309,11 +553,11 @@ endif # ------------------------------------------------------------------------------ -pkgconfigdata_DATA = \ +pkgconfig_DATA = \ src/network.pc CLEANFILES += \ - $(pkgconfigdata_DATA) + $(pkgconfig_DATA) EXTRA_DIST += \ src/network.pc.in @@ -336,8 +580,6 @@ INSTALL_DIRS += \ MANPAGES = \ man/firewall-settings.8 \ man/network.8 \ - man/network-color.8 \ - man/network-description.8 \ man/network-device.8 \ man/network-dhcp.8 \ man/network-dns-server.8 \ @@ -348,34 +590,40 @@ MANPAGES = \ man/network-route-static.8 \ man/network-settings.8 \ man/network-vpn.8 \ + man/network-vpn-ipsec.8 \ man/network-vpn-security-policies.8 \ man/network-zone.8 \ - man/network-zone-6to4-tunnel.8 \ man/network-zone-bridge.8 \ man/network-zone-config-pppoe-server.8 \ + man/network-zone-ip-tunnel.8 \ man/network-zone-modem.8 \ man/network-zone-pppoe.8 \ man/network-zone-wireless.8 -MANPAGES_XML = $(patsubst %.8,%.xml,$(MANPAGES)) -MANPAGES_HTML = $(patsubst %.xml,%.html,$(MANPAGES_XML)) +EXTRA_DIST += \ + man/include-color.txt \ + man/include-description.txt + +MANPAGES_TXT = $(patsubst %.8,%.txt,$(MANPAGES)) +MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT)) +MANPAGES_XML = $(patsubst %.txt,%.xml,$(MANPAGES_TXT)) .PHONY: man man: $(MANPAGES) $(MANPAGES_HTML) +if ENABLE_MANPAGES man_MANS = \ $(MANPAGES) - -noinst_DATA += \ - $(MANPAGES_HTML) +endif CLEANFILES += \ - $(man_MANS) \ - $(MANPAGES_HTML) + $(MANPAGES) \ + $(MANPAGES_HTML) \ + $(MANPAGES_XML) EXTRA_DIST += \ - $(MANPAGES_XML) \ - man/custom-html.xsl + man/asciidoc.conf \ + $(MANPAGES_TXT) XSLTPROC_FLAGS = \ --nonet \ @@ -386,17 +634,28 @@ XSLTPROC_FLAGS = \ --stringparam man.copyright.section.enabled 1 XSLTPROC_COMMAND_MAN = \ - $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \ + $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \ + $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< -XSLTPROC_COMMAND_HTML = \ - $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $< +man/%.xml: man/%.txt man/asciidoc.conf + $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \ + $(ASCIIDOC) \ + -f $(abs_srcdir)/man/asciidoc.conf \ + -d manpage -b docbook -o $@ $< man/%.8: man/%.xml $(XSLTPROC_COMMAND_MAN) -man/%.html: man/%.xml man/custom-html.xsl - $(XSLTPROC_COMMAND_HTML) +man/%.html: man/%.txt man/asciidoc.conf + $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \ + $(ASCIIDOC) \ + -f $(abs_srcdir)/man/asciidoc.conf \ + -b html5 -a icons -a theme=flask -o $@ $< + +.PHONY: upload-man +upload-man: $(MANPAGES_HTML) + rsync -avHz --delete --progress $(MANPAGES_HTML) ms@people.ipfire.org:/pub/man-pages/$(PACKAGE_NAME)/ # ------------------------------------------------------------------------------ @@ -404,27 +663,22 @@ substitutions = \ '|PACKAGE_NAME=$(PACKAGE_NAME)|' \ '|PACKAGE_URL=$(PACKAGE_URL)|' \ '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \ + '|builddir=$(abs_builddir)|' \ '|prefix=$(prefix)|' \ '|exec_prefix=$(exec_prefix)|' \ + '|bindir=$(bindir)|' \ '|sbindir=$(sbindir)|' \ '|networkdir=$(networkdir)|' \ - '|helpersdir=$(helpersdir)|' + '|helpersdir=$(helpersdir)|' \ + '|utildir=$(utildir)|' \ + '|VIRTUAL_ENVIRONMENT_IMAGES_DIR=$(VIRTUAL_ENVIRONMENT_IMAGES_DIR)|' SED_PROCESS = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \ < $< > $@ -src/functions/functions: src/functions/functions.in Makefile - $(SED_PROCESS) - -src/ppp/ip-updown: src/ppp/ip-updown.in Makefile - $(SED_PROCESS) - -src/systemd/%: src/systemd/%.in Makefile - $(SED_PROCESS) - -src/%.pc: src/%.pc.in Makefile +%: %.in Makefile $(SED_PROCESS) INSTALL_DIRS += \ @@ -437,6 +691,7 @@ uninstall-hook: $(UNINSTALL_EXEC_HOOKS) # - testsuite ------------------------------------------------------------------ TESTS_ENVIRONMENT = \ + LD_LIBRARY_PATH=$(top_builddir)/src/.libs:$(LD_LIBRARY_PATH) \ PATH=$(top_builddir)/src:$(PATH) \ functions=$(abs_builddir)/src/functions/functions \ networkdir=$(abs_srcdir)/src/functions \ @@ -444,12 +699,10 @@ TESTS_ENVIRONMENT = \ dist_check_DATA = \ test/constants.sh \ - test/test-functions + test/test-functions \ + test/networkd/test.sh dist_check_SCRIPTS = \ - $(TESTS) - -TESTS = \ test/load-library \ test/functions/ip/ip_detect_protocol \ test/functions/ip/ip_get_prefix \ @@ -459,3 +712,139 @@ TESTS = \ test/functions/ip/ip_prefix_is_valid \ test/functions/ip/ip_protocol_is_supported \ test/functions/ip/ip_split_prefix + +TESTS += $(dist_check_SCRIPTS) + +TEST_EXTENSIONS = .t + +NETWORKD_TESTS = \ + test/networkd/00_launch.t \ + test/networkd/01_dummy.t + +TESTS += $(NETWORKD_TESTS) + +EXTRA_DIST += \ + test/networkd/test.sh \ + $(NETWORKD_TESTS) + +# Run all networkd tests in their own namespaces +T_LOG_COMPILER = unshare --net --ipc --uts --user --cgroup --time --pid --fork \ + --map-root-user --keep-caps $(SHELL) test/networkd/test.sh + +# - NITSI tests ---------------------------------------------------------------- + +# Files for the virtual environment +VIRTUAL_ENVIRONMENT_FILES = \ + test/nitsi/virtual-environment/basic/machines/alice/machine.xml \ + test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml \ + test/nitsi/virtual-environment/basic/machines/bob/machine.xml \ + test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml \ + test/nitsi/virtual-environment/basic/network/network1/network.xml \ + test/nitsi/virtual-environment/basic/network/network2/network.xml \ + test/nitsi/virtual-environment/basic/network/network3/network.xml \ + test/nitsi/virtual-environment/basic/network/network4/network.xml \ + test/nitsi/virtual-environment/basic/settings + +EXTRA_DIST += \ + test/nitsi/virtual-environment/basic/machines/alice/machine.xml.in \ + test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml.in \ + test/nitsi/virtual-environment/basic/machines/bob/machine.xml.in \ + test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml.in \ + test/nitsi/virtual-environment/basic/settings.in + +CLEANFILES += \ + test/nitsi/virtual-environment/basic/machines/alice/machine.xml \ + test/nitsi/virtual-environment/basic/machines/alice/snapshot.xml \ + test/nitsi/virtual-environment/basic/machines/bob/machine.xml \ + test/nitsi/virtual-environment/basic/machines/bob/snapshot.xml \ + test/nitsi/virtual-environment/basic/settings + +# Virtual Machine Images +VIRTUAL_ENVIRONMENT_IMAGES = \ + $(VIRTUAL_ENVIRONMENT_IMAGES_DIR)/ipfire-alice-2.qcow2 \ + $(VIRTUAL_ENVIRONMENT_IMAGES_DIR)/ipfire-bob.qcow2 + +DISTCLEANFILES += \ + $(VIRTUAL_ENVIRONMENT_IMAGES) + +VIRTUAL_ENVIRONMENT_IMAGES_DIR = $(abs_builddir)/test/nitsi/virtual-environment/.images +VIRTUAL_ENVIRONMENT_IMAGES_DOWNLOAD_URL = \ + https://people.ipfire.org/~jschlag/nitsi-ipfire/virtual-environment/basic/ + +NITSI_INCLUDE_RECIPES = \ + test/nitsi/include/setup + +EXTRA_DIST += \ + test/nitsi/include/setup.in + +CLEANFILES += \ + test/nitsi/include/setup + +NITSI_TESTS = \ + test/nitsi/test/make-check \ + test/nitsi/test/phase1 \ + test/nitsi/test/pppoe \ + test/nitsi/test/raw-device-get-by-mac \ + test/nitsi/test/zone-new-bridge \ + test/nitsi/test/zone-port-attach-bridge \ + test/nitsi/test/zone/ip-tunnel/gre6 \ + test/nitsi/test/zone/ip-tunnel/gre4 \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv4 \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv6 \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv4 \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv6 \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv4 \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv6 \ + test/nitsi/test/port-vlan + +EXTRA_DIST += \ + test/nitsi/test/settings.in \ + test/nitsi/test/make-check/recipe.in \ + test/nitsi/test/make-check/settings.in \ + test/nitsi/test/raw-device-get-by-mac/recipe \ + test/nitsi/test/raw-device-get-by-mac/settings.in \ + test/nitsi/test/zone-new-bridge/recipe \ + test/nitsi/test/zone-new-bridge/settings.in \ + test/nitsi/test/zone-port-attach-bridge/recipe \ + test/nitsi/test/zone-port-attach-bridge/settings.in \ + test/nitsi/test/zone/ip-tunnel/gre6/recipe \ + test/nitsi/test/zone/ip-tunnel/gre6/settings \ + test/nitsi/test/zone/ip-tunnel/gre4/recipe \ + test/nitsi/test/zone/ip-tunnel/gre4/settings \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv4/recipe \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv4/settings \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv6/recipe \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv4-via-ipv6/settings \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv4/recipe \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv4/settings \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv6/recipe \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv6-via-ipv6/settings \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv4/recipe \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv4/settings \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv6/recipe \ + test/nitsi/test/vpn/ipsec/n2n/vti/ipv64-via-ipv6/settings \ + test/nitsi/test/port-vlan/recipe \ + test/nitsi/test/port-vlan/settings + +CLEANFILES += \ + test/nitsi/test/settings \ + test/nitsi/test/make-check/recipe \ + test/nitsi/test/make-check/settings \ + test/nitsi/test/raw-device-get-by-mac/settings \ + test/nitsi/test/zone-new-bridge/settings \ + test/nitsi/test/zone-port-attach-bridge/settings + +NITSI_ENVIRONMENT = + +.PHONY: $(NITSI_TESTS) +$(NITSI_TESTS): % : dist %/recipe %/settings test/nitsi/test/settings $(VIRTUAL_ENVIRONMENT_FILES) $(VIRTUAL_ENVIRONMENT_IMAGES) $(NITSI_INCLUDE_RECIPES) + $(AM_V_NITSI) $(NITSI_ENVIRONMENT) $(NITSI) --log-level error run-test -d $@ \ + --default-settings $(abs_builddir)/test/nitsi/test/settings --interactive-error-handling + +.PHONY: nitsi +nitsi: $(NITSI_TESTS) + +# Downloads a virtual image file and extracts it +$(VIRTUAL_ENVIRONMENT_IMAGES): + $(AM_V_DOWNLOAD)$(MKDIR_P) $(dir $@) && \ + $(WGET) -qO - $(VIRTUAL_ENVIRONMENT_IMAGES_DOWNLOAD_URL)/$(notdir $@).xz | xz -qd > $@