X-Git-Url: http://git.ipfire.org/?p=people%2Fms%2Fnetwork.git;a=blobdiff_plain;f=Makefile.am;h=1b5e7e92ec03f40d90570262dd03cec23e187519;hp=60f59607d3214b0fded56046a3209d9f9d543ec8;hb=298a1ffe3f10ec14416c3aed19bb541553de160a;hpb=02807ad2de3f26373a32c3f9ca1895d9d3edea65 diff --git a/Makefile.am b/Makefile.am index 60f59607..1b5e7e92 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,9 +28,10 @@ AUTOMAKE_OPTIONS = color-tests # keep itermediate files .SECONDARY: +configdir = $(sysconfdir)/network bashcompletiondir= $(datadir)/bash-completion/completions libexecdir = $(prefix)/lib -pkgconfigdatadir = $(datadir)/pkgconfig +pkgconfigdir = $(libdir)/pkgconfig pppdir = $(sysconfdir)/ppp systemconfigdir = $(datadir)/network sysctldir = $(prefix)/lib/sysctl.d @@ -50,6 +51,7 @@ hooks_zonesdir = $(hooksdir)/zones triggersdir = $(networkdir)/triggers logdir = $(localestatedir)/log/network +utildir = $(networkdir) CLEANFILES = DISTCLEANFILES = @@ -59,9 +61,21 @@ INSTALL_EXEC_HOOKS = UNINSTALL_EXEC_HOOKS = noinst_DATA = -AM_CFLAGS = $(OUR_CFLAGS) -AM_CPPFLAGS = $(OUR_CPPFLAGS) -AM_LDFLAGS = $(OUR_LDFLAGS) +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 +89,14 @@ INSTALL_EXEC_HOOKS += \ # ------------------------------------------------------------------------------ +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 " $@; @@ -93,7 +115,7 @@ dist_sbin_SCRIPTS = \ src/firewall6 \ src/network -network_SCRIPTS = \ +network_DATA = \ src/functions/functions CLEANFILES += \ @@ -102,10 +124,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.batman-adv \ + src/functions/functions.bird \ src/functions/functions.bonding \ src/functions/functions.bridge \ src/functions/functions.cli \ @@ -140,11 +162,13 @@ 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 \ @@ -165,13 +189,17 @@ dist_network_SCRIPTS = \ src/functions/functions.vpn \ src/functions/functions.vpn-security-policies \ src/functions/functions.wireless \ + src/functions/functions.wireless-mesh \ + 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 @@ -189,30 +217,118 @@ 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/batman-adv \ 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-adhoc \ 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 + +# ------------------------------------------------------------------------------ + +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 = \ @@ -310,11 +426,11 @@ endif # ------------------------------------------------------------------------------ -pkgconfigdata_DATA = \ +pkgconfig_DATA = \ src/network.pc CLEANFILES += \ - $(pkgconfigdata_DATA) + $(pkgconfig_DATA) EXTRA_DIST += \ src/network.pc.in @@ -344,16 +460,16 @@ MANPAGES = \ man/network-dns-server.8 \ man/network-performance-tuning.8 \ man/network-port.8 \ - man/network-port-batman-adv.8 \ - man/network-port-batman-adv-port.8 \ man/network-quick-start.8 \ man/network-route.8 \ man/network-route-static.8 \ man/network-settings.8 \ + man/network-vpn.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 @@ -405,27 +521,21 @@ substitutions = \ '|PACKAGE_NAME=$(PACKAGE_NAME)|' \ '|PACKAGE_URL=$(PACKAGE_URL)|' \ '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \ + '|builddir=$(abs_builddir)|' \ '|prefix=$(prefix)|' \ '|exec_prefix=$(exec_prefix)|' \ '|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 += \ @@ -438,6 +548,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 \ @@ -460,3 +571,121 @@ TESTS = \ test/functions/ip/ip_prefix_is_valid \ test/functions/ip/ip_protocol_is_supported \ test/functions/ip/ip_split_prefix + +# - 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 > $@