461 lines
14 KiB
Makefile
461 lines
14 KiB
Makefile
export PATH := $(PATH):$(abs_srcdir)/node_modules/.bin
|
|
|
|
NULL =
|
|
man_MANS =
|
|
BUILT_SOURCES =
|
|
bin_PROGRAMS =
|
|
check_SCRIPTS =
|
|
check_PROGRAMS =
|
|
noinst_SCRIPTS =
|
|
libexec_PROGRAMS =
|
|
noinst_PROGRAMS =
|
|
sbin_PROGRAMS =
|
|
noinst_LIBRARIES =
|
|
noinst_DATA =
|
|
nodist_noinst_DATA =
|
|
nodist_noinst_SCRIPTS =
|
|
|
|
dist_systemdunit_DATA =
|
|
nodist_systemdunit_DATA =
|
|
|
|
TESTS = $(NULL)
|
|
|
|
CLEANFILES = \
|
|
$(man_MANS) \
|
|
valgrind-suppressions \
|
|
$(NULL)
|
|
|
|
DISTCLEANFILES = \
|
|
$(srcdir)/Makefile \
|
|
cockpit-cache-*.tar.xz \
|
|
$(NULL)
|
|
|
|
MAINTAINERCLEANFILES = \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST = \
|
|
package.json \
|
|
package-lock.json \
|
|
README.md \
|
|
$(NULL)
|
|
|
|
clean-local::
|
|
find $(builddir) -name '*.gc??' -delete
|
|
find $(srcdir) -name '*.pyc' -delete
|
|
|
|
SUFFIXES = \
|
|
.css .css.gz \
|
|
.html .html.gz \
|
|
.js .js.gz \
|
|
.json .json.in \
|
|
.jsx \
|
|
.map .map.gz \
|
|
.mo .po \
|
|
.service .service.in \
|
|
.socket .socket.in \
|
|
.svg .svg.gz \
|
|
.woff .woff.gz \
|
|
.1 .8 .5 \
|
|
$(NULL)
|
|
|
|
V_CHECK = $(V_CHECK_$(V))
|
|
V_CHECK_ = $(V_CHECK_$(AM_DEFAULT_VERBOSITY))
|
|
V_CHECK_0 = @echo " CHECK " $@;
|
|
|
|
V_GZIP = $(V_GZIP_$(V))
|
|
V_GZIP_ = $(V_GZIP_$(AM_DEFAULT_VERBOSITY))
|
|
V_GZIP_0 = @echo " GZIP " $@;
|
|
|
|
V_COPY = $(V_COPY_$(V))
|
|
V_COPY_ = $(V_COPY_$(AM_DEFAULT_VERBOSITY))
|
|
V_COPY_0 = @echo " COPY " $@;
|
|
|
|
MV = mv -f
|
|
|
|
COPY_RULE = \
|
|
$(V_COPY) $(MKDIR_P) $(dir $@) && \
|
|
cp -L $< $@.tmp && $(MV) $@.tmp $@
|
|
|
|
CAT_RULE = \
|
|
$(AM_V_GEN) $(MKDIR_P) $(dir $@) && \
|
|
cat $^ > $@.tmp && $(MV) $@.tmp $@
|
|
|
|
GZ_RULE = \
|
|
$(V_GZIP) $(MKDIR_P) $(dir $@) && \
|
|
gzip -n -c $< > $@.tmp && $(MV) $@.tmp $@
|
|
|
|
UGLIFY_JS = $(srcdir)/node_modules/.bin/uglifyjs
|
|
CLEAN_CSS = $(srcdir)/node_modules/.bin/cleancss
|
|
LESSC = $(srcdir)/node_modules/.bin/lessc
|
|
|
|
MIN_JS_RULE = \
|
|
$(AM_V_GEN) $(MKDIR_P) $(dir $@) && \
|
|
$(srcdir)/tools/missing $(UGLIFY_JS) $(filter-out %.deps, $^) --mangle --comments 'preserve' --beautify \
|
|
--source-map url=$(notdir $@).map,includeSources --output $@
|
|
|
|
MIN_CSS_RULE = \
|
|
$(AM_V_GEN) $(MKDIR_P) $(dir $@) && \
|
|
$(srcdir)/tools/missing $(CLEAN_CSS) --keep-line-breaks --output=$@ \
|
|
--source-map --source-map-inline-sources $^
|
|
|
|
ESLINT_RULE = \
|
|
$(V_CHECK) eslint $<
|
|
|
|
SUBST_RULE = \
|
|
$(AM_V_GEN) $(MKDIR_P) $(dir $@) && sed \
|
|
-e 's,[@]datadir[@],$(datadir),g' \
|
|
-e 's,[@]libexecdir[@],$(libexecdir),g' \
|
|
-e 's,[@]sysconfdir[@],$(sysconfdir),g' \
|
|
-e 's,[@]libdir[@],$(libdir),g' \
|
|
-e 's,[@]includedir[@],$(includedir),g' \
|
|
-e 's,[@]bindir[@],$(bindir),g' \
|
|
-e 's,[@]sbindir[@],$(sbindir),g' \
|
|
-e 's,[@]prefix[@],$(prefix),g' \
|
|
-e 's,[@]exec_prefix[@],$(exec_prefix),g' \
|
|
-e 's,[@]prefix[@],$(prefix),g' \
|
|
-e 's,[@]PACKAGE[@],$(PACKAGE),g' \
|
|
-e 's,[@]VERSION[@],$(VERSION),g' \
|
|
-e 's,[@]PKEXEC[@],$(PKEXEC),g' \
|
|
-e 's,[@]SUDO[@],$(SUDO),g' \
|
|
-e 's,[@]user[@],$(COCKPIT_USER),g' \
|
|
-e 's,[@]group[@],$(COCKPIT_GROUP),g' \
|
|
-e 's,[@]wsinstanceuser[@],$(COCKPIT_WSINSTANCE_USER),g' \
|
|
-e 's,[@]wsinstancegroup[@],$(COCKPIT_WSINSTANCE_GROUP),g' \
|
|
-e 's,[@]selinux_config_type[@],$(COCKPIT_SELINUX_CONFIG_TYPE),g' \
|
|
-e 's,[@]with_networkmanager_needs_root[@],$(with_networkmanager_needs_root),g' \
|
|
-e 's,[@]with_storaged_iscsi_sessions[@],$(with_storaged_iscsi_sessions),g' \
|
|
-e 's,[@]with_appstream_config_packages[@],$(with_appstream_config_packages),g' \
|
|
-e 's,[@]with_appstream_data_packages[@],$(with_appstream_data_packages),g' \
|
|
-e 's,[@]with_nfs_client_package[@],$(with_nfs_client_package),g' \
|
|
-e 's,[@]with_vdo_package[@],$(with_vdo_package),g' \
|
|
$< > $@.tmp && $(MV) $@.tmp $@ \
|
|
$(NULL)
|
|
|
|
.css.css.gz:
|
|
$(GZ_RULE)
|
|
.html.html.gz:
|
|
$(GZ_RULE)
|
|
.js.js.gz:
|
|
$(GZ_RULE)
|
|
.json.in.json:
|
|
$(SUBST_RULE)
|
|
.map.map.gz:
|
|
$(GZ_RULE)
|
|
.service.in.service:
|
|
$(SUBST_RULE)
|
|
.socket.in.socket:
|
|
$(SUBST_RULE)
|
|
.svg.svg.gz:
|
|
$(GZ_RULE)
|
|
.woff.woff.gz:
|
|
$(GZ_RULE)
|
|
|
|
# Webpack related
|
|
|
|
WEBPACK_PACKAGES = \
|
|
apps \
|
|
dashboard \
|
|
docker \
|
|
kdump \
|
|
machines \
|
|
networkmanager \
|
|
pcp \
|
|
packagekit \
|
|
playground \
|
|
selinux \
|
|
shell \
|
|
sosreport \
|
|
ssh \
|
|
storaged \
|
|
systemd \
|
|
tuned \
|
|
users \
|
|
$(NULL)
|
|
|
|
V_WEBPACK = $(V_WEBPACK_$(V))
|
|
V_WEBPACK_ = $(V_WEBPACK_$(AM_DEFAULT_VERBOSITY))
|
|
V_WEBPACK_0 = @echo " WEBPACK $(@:dist/%/stamp=%)";
|
|
|
|
WEBPACK_MAKE = NODE_ENV=$(NODE_ENV) SRCDIR=$(abspath $(srcdir)) BUILDDIR=$(abspath $(builddir)) \
|
|
timeout 15m $(srcdir)/tools/missing $(srcdir)/tools/webpack-make
|
|
|
|
WEBPACK_CONFIG = $(srcdir)/webpack.config.js
|
|
WEBPACK_INPUTS =
|
|
WEBPACK_PO =
|
|
WEBPACK_OUTPUTS =
|
|
WEBPACK_INSTALL = $(WEBPACK_PACKAGES:%=dist/%/manifest.json)
|
|
WEBPACK_DEPS = $(WEBPACK_PACKAGES:%=dist/%/Makefile.deps)
|
|
WEBPACK_STAMPS = $(WEBPACK_PACKAGES:%=dist/%/stamp)
|
|
WEBPACK_MANIFEST_IN = $(WEBPACK_PACKAGES:%=pkg/%/manifest.json.in)
|
|
|
|
noinst_SCRIPTS += $(WEBPACK_STAMPS) $(WEBPACK_INSTALL)
|
|
MAINTAINERCLEANFILES += $(WEBPACK_STAMPS) $(WEBPACK_DEPS) $(WEBPACK_OUTPUTS)
|
|
EXTRA_DIST += $(WEBPACK_STAMPS) $(WEBPACK_DEPS) $(WEBPACK_MANIFEST_IN) webpack.config.js
|
|
|
|
PRINT_COPY_MSG_0 = echo " COPY " $@ &&
|
|
PRINT_COPY_MSG_ = $(PRINT_COPY_MSG_$(AM_DEFAULT_VERBOSITY))
|
|
|
|
# Copy an original copy of each Makefile.deps from the srcdir, in case
|
|
# of an out-of-tree build from a tarball. This is needed because the
|
|
# 'include' below won't find the file in srcdir.
|
|
# This rule needs to have a successful exit, or make will become unhappy.
|
|
dist/%/Makefile.deps:
|
|
$(AM_V_at)test "$(srcdir)" == "$(builddir)" -o ! $(srcdir)/$@ -nt $@ || ( \
|
|
$(PRINT_COPY_MSG_$(V))$(MKDIR_P) $(dir $@) && \
|
|
cp -p $(srcdir)/$@ $@.tmp && \
|
|
mv $@.tmp $@)
|
|
|
|
# This is the primary rule for running webpack; some pkgs like ssh or pcp only
|
|
# have a manifest, no actual webpack, so don't call webpack-make for these
|
|
dist/%/stamp: $(WEBPACK_CONFIG) $(srcdir)/tools/webpack-make
|
|
$(V_WEBPACK) $(MKDIR_P) dist/$* && \
|
|
(if ls $(srcdir)/pkg/$*/*.html >/dev/null 2>&1; then $(WEBPACK_MAKE) -d dist/$*/Makefile.deps $(WEBPACK_CONFIG); else touch dist/$*/Makefile.deps; fi ) && \
|
|
touch $@
|
|
|
|
dist/%/manifest.json: pkg/%/manifest.json
|
|
$(COPY_RULE)
|
|
|
|
-include $(WEBPACK_DEPS)
|
|
|
|
# the rules above copy a lot of stuff into builddir; clean it up so that distcleancheck works
|
|
clean-local::
|
|
$(AM_V_at)test "$(srcdir)" == "$(builddir)" || rm -rf dist/
|
|
|
|
maintainer-clean-local::
|
|
rm -rf dist/ node_modules/ package-lock.json
|
|
|
|
install-data-local:: $(WEBPACK_INSTALL)
|
|
$(MKDIR_P) $(DESTDIR)$(pkgdatadir)
|
|
tar -cf - $^ | tar -C $(DESTDIR)$(pkgdatadir) --strip-components=1 -xvf -
|
|
install-data-local:: $(WEBPACK_DEBUG)
|
|
$(MKDIR_P) $(DESTDIR)$(debugdir)$(pkgdatadir)
|
|
tar -cf - $^ | tar -C $(DESTDIR)$(debugdir)$(pkgdatadir) --strip-components=1 -xvf -
|
|
uninstall-local::
|
|
find $(DESTDIR)$(pkgdatadir) -ignore_readdir_race -type f -exec rm -f {} \;
|
|
find $(DESTDIR)$(pkgdatadir) -ignore_readdir_race -type d -empty -delete
|
|
find $(DESTDIR)$(debugdir)$(pkgdatadir) -ignore_readdir_race -type f -delete
|
|
find $(DESTDIR)$(debugdir)$(pkgdatadir) -ignore_readdir_race -type d -empty -delete
|
|
dist-hook:: $(WEBPACK_INPUTS) $(WEBPACK_OUTPUTS) $(WEBPACK_PO)
|
|
tar -cf - $^ | tar -C $(distdir) -xf -
|
|
|
|
#
|
|
|
|
ACLOCAL_AMFLAGS = -I tools ${ACLOCAL_FLAGS}
|
|
|
|
DISTCHECK_CONFIGURE_FLAGS= \
|
|
--disable-debug \
|
|
--disable-coverage \
|
|
--disable-silent-rules \
|
|
--enable-prefix-only \
|
|
$(NULL)
|
|
|
|
AM_CPPFLAGS = \
|
|
-I$(top_builddir) \
|
|
-I$(top_builddir)/src \
|
|
-I$(top_srcdir) \
|
|
-I$(top_srcdir)/src \
|
|
-DSRCDIR=\"$(abs_srcdir)\" \
|
|
-DBUILDDIR=\"$(abs_builddir)\" \
|
|
-DDATADIR=\"$(datadir)\" \
|
|
-DPACKAGE_LIBEXEC_DIR=\""$(libexecdir)"\" \
|
|
-DPACKAGE_SYSCONF_DIR=\""$(sysconfdir)"\" \
|
|
-DPACKAGE_BIN_DIR=\""$(bindir)"\" \
|
|
-DPACKAGE_LOCALSTATE_DIR=\""$(localstatedir)/lib/cockpit"\" \
|
|
-DPACKAGE_LIB_DIR=\""$(libdir)"\" \
|
|
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
|
|
$(NULL)
|
|
|
|
AM_LDFLAGS = -Wl,--as-needed
|
|
|
|
LOG_DRIVER = $(PYTHON) $(top_srcdir)/tools/tap-driver
|
|
LOG_COMPILER = sh -c '"$$0" "$$@" --tap' # For GLib < 2.62
|
|
|
|
TEST_EXTENSIONS = .html .sh
|
|
SH_LOG_DRIVER = $(LOG_DRIVER)
|
|
HTML_LOG_DRIVER = $(LOG_DRIVER)
|
|
HTML_TEST_SERVER = $(builddir)/test-server
|
|
|
|
HTML_LOG_COMPILER = $(PYTHON) $(top_srcdir)/test/common/tap-cdp --strip=$(abs_top_srcdir)/ -- $(HTML_TEST_SERVER)
|
|
|
|
VALGRIND_ARGS = --trace-children=yes --quiet --error-exitcode=33 \
|
|
--suppressions=valgrind-suppressions --gen-suppressions=all \
|
|
--num-callers=16 --leak-check=yes --show-leak-kinds=definite \
|
|
--errors-for-leak-kinds=definite --trace-children-skip='*mock*,/bin*,/usr/bin/*,/usr/local/bin'
|
|
VALGRIND_SUPPRESSIONS = \
|
|
tools/glib.supp \
|
|
tools/libssh.supp \
|
|
tools/polkit.supp \
|
|
tools/gnutls.supp \
|
|
$(NULL)
|
|
|
|
if VALGRIND_MINADDR_HACK
|
|
VALGRIND_ARGS += --aspace-minaddr=0x100000000
|
|
endif
|
|
|
|
valgrind-suppressions: $(VALGRIND_SUPPRESSIONS)
|
|
$(AM_V_GEN) cat $^ /usr/share/glib-2.0/valgrind/glib.supp > $@
|
|
|
|
check-memory: valgrind-suppressions
|
|
$(MAKE) LOG_FLAGS="valgrind $(VALGRIND_ARGS)" \
|
|
HTML_LOG_FLAGS="valgrind $(VALGRIND_ARGS)" \
|
|
COCKPIT_SKIP_SLOW_TESTS=1 \
|
|
$(AM_MAKEFLAGS) check TESTS="$(filter-out tools/% bots/%,$(TESTS))"
|
|
recheck-memory: valgrind-suppressions
|
|
$(MAKE) LOG_FLAGS="-- valgrind $(VALGRIND_ARGS)" \
|
|
HTML_LOG_FLAGS="valgrind $(VALGRIND_ARGS)" \
|
|
$(AM_MAKEFLAGS) recheck
|
|
|
|
install-data-hook::
|
|
mkdir -p $(DESTDIR)$(localstatedir)/lib/cockpit
|
|
chgrp wheel $(DESTDIR)$(localstatedir)/lib/cockpit || true
|
|
chmod 775 $(DESTDIR)$(localstatedir)/lib/cockpit
|
|
|
|
FONTSDIR = dist/static/fonts
|
|
|
|
# Fonts are used by multiple things so put them here
|
|
OPENSANS_FONTS = \
|
|
$(FONTSDIR)/OpenSans-Bold-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-BoldItalic-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-ExtraBold-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-ExtraBoldItalic-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-Italic-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-Light-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-LightItalic-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-Regular-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-Semibold-webfont.woff \
|
|
$(FONTSDIR)/OpenSans-SemiboldItalic-webfont.woff \
|
|
$(NULL)
|
|
|
|
REDHATTEXT_FONTS = \
|
|
$(FONTSDIR)/RedHatText-Bold.woff2 \
|
|
$(FONTSDIR)/RedHatText-BoldItalic.woff2 \
|
|
$(FONTSDIR)/RedHatText-Italic.woff2 \
|
|
$(FONTSDIR)/RedHatText-Medium.woff2 \
|
|
$(FONTSDIR)/RedHatText-MediumItalic.woff2 \
|
|
$(FONTSDIR)/RedHatText-Regular.woff2 \
|
|
$(NULL)
|
|
|
|
REDHATDISPLAY_FONTS = \
|
|
$(FONTSDIR)/RedHatDisplay-Black.woff2 \
|
|
$(FONTSDIR)/RedHatDisplay-BlackItalic.woff2 \
|
|
$(FONTSDIR)/RedHatDisplay-Bold.woff2 \
|
|
$(FONTSDIR)/RedHatDisplay-BoldItalic.woff2 \
|
|
$(FONTSDIR)/RedHatDisplay-Italic.woff2 \
|
|
$(FONTSDIR)/RedHatDisplay-Medium.woff2 \
|
|
$(FONTSDIR)/RedHatDisplay-MediumItalic.woff2 \
|
|
$(FONTSDIR)/RedHatDisplay-Regular.woff2 \
|
|
$(NULL)
|
|
|
|
$(FONTSDIR)/OpenSans-%.woff:
|
|
$(V_COPY) $(MKDIR_P) $(dir $@) && \
|
|
cp -L $(subst $(FONTSDIR),$(srcdir)/node_modules/patternfly/dist/fonts,$@) $@.tmp && $(MV) $@.tmp $@
|
|
|
|
$(FONTSDIR)/RedHatText-%.woff2:
|
|
$(V_COPY) $(MKDIR_P) $(dir $@) && \
|
|
cp -L $(subst $(FONTSDIR),$(srcdir)/node_modules/@redhat/redhat-font/webfonts/RedHatText,$@) $@.tmp && $(MV) $@.tmp $@
|
|
|
|
$(FONTSDIR)/RedHatDisplay-%.woff2:
|
|
$(V_COPY) $(MKDIR_P) $(dir $@) && \
|
|
cp -L $(subst $(FONTSDIR),$(srcdir)/node_modules/@redhat/redhat-font/webfonts/RedHatDisplay,$@) $@.tmp && $(MV) $@.tmp $@
|
|
|
|
EXTRA_DIST += $(OPENSANS_FONTS) $(REDHATTEXT_FONTS) $(REDHATDISPLAY_FONTS)
|
|
|
|
MAINTAINERCLEANFILES += $(OPENSANS_FONTS) $(REDHATTEXT_FONTS) $(REDHATDISPLAY_FONTS)
|
|
|
|
if ENABLE_DOC
|
|
|
|
include doc/Makefile-doc.am
|
|
include doc/guide/Makefile-guide.am
|
|
include doc/man/Makefile-man.am
|
|
|
|
dist-doc-hook:
|
|
@true
|
|
|
|
else
|
|
|
|
dist-doc-hook:
|
|
@echo "*** doc must be enabled (ie: --enable-doc) in order to make dist or distcheck"
|
|
|
|
endif
|
|
|
|
dist-hook:: dist-doc-hook
|
|
@true
|
|
distcheck-hook:: dist-doc-hook
|
|
@true
|
|
install-data-local:: dist/guide/html/index.html
|
|
$(MKDIR_P) $(DESTDIR)$(htmldir)
|
|
$(INSTALL_DATA) $(dir $<)/* $(DESTDIR)$(htmldir)
|
|
uninstall-local::
|
|
rm -rf $(DESTDIR)$(htmldir)
|
|
|
|
# See bots/make-source
|
|
dump-dist-gzip:
|
|
@echo "$(abs_builddir)/$(distdir).tar.gz"
|
|
|
|
# Subdirectories to distribute everything that's committed to git
|
|
COMMITTED_DIST = \
|
|
tools/ \
|
|
test \
|
|
$(NULL)
|
|
|
|
# Build up the distribution using $COMMITTED_DIST and include node_modules licenses
|
|
# also automatically update minimum base dependency in RPM spec file
|
|
dist-hook:: $(WEBPACK_PACKAGES:%=dist/%/manifest.json)
|
|
( cd $(srcdir); git ls-tree HEAD --name-only -r $(COMMITTED_DIST) || (echo $(COMMITTED_DIST) | tr ' ' '\n' ) ) | \
|
|
tar -C $(srcdir) -cf - -T - | tar -C $(distdir) -xf -
|
|
echo $(VERSION) > $(distdir)/.tarball
|
|
$(srcdir)/tools/build-copying $(distdir)/node_modules > $(distdir)/COPYING.node
|
|
[ ! -d $(distdir)/tools/debian ] || $(srcdir)/tools/build-debian-copyright $(distdir)/node_modules > $(distdir)/tools/debian/copyright
|
|
[ ! -e $(distdir)/tools/cockpit.spec ] || $(srcdir)/tools/gen-spec-dependencies $(distdir)/tools/cockpit.spec
|
|
|
|
DIST_TAR_MAIN = tar --format=posix -cf - "$(distdir)"
|
|
DIST_TAR_CACHE = tar --format=posix -cf - --transform="flags=r;s|^\./||" --transform="flags=r;s|^|$(distdir)/|" --exclude test \
|
|
"$(srcdir)/node_modules" "$(srcdir)/package.json"
|
|
|
|
DIST_ARCHIVES = \
|
|
cockpit-$(VERSION).tar.xz \
|
|
cockpit-cache-$(VERSION).tar.xz
|
|
|
|
# used from containers/unit-tests/run.sh
|
|
XZ_COMPRESS_FLAGS = --extreme
|
|
|
|
dist-gzip: distdir
|
|
$(DIST_TAR_MAIN) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
|
|
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "$(distdir)"
|
|
dist-xz: distdir
|
|
$(DIST_TAR_MAIN) | xz $(XZ_COMPRESS_FLAGS) > $(distdir).tar.xz
|
|
$(DIST_TAR_CACHE) | xz $(XZ_COMPRESS_FLAGS) > cockpit-cache-$(VERSION).tar.xz
|
|
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "$(distdir)"
|
|
|
|
distcheck-hook::
|
|
$(srcdir)/tools/check-dist $(distdir)
|
|
|
|
# checkout Cockpit's bots for standard test VM images and API to launch them
|
|
# must be from master, as only that has current and existing images; but testvm.py API is stable
|
|
# support CI testing against a bots change
|
|
bots:
|
|
tools/make-bots
|
|
|
|
include po/Makefile.am
|
|
include pkg/Makefile.am
|
|
include src/base1/Makefile.am
|
|
include src/branding/centos/Makefile.am
|
|
include src/branding/debian/Makefile.am
|
|
include src/branding/default/Makefile.am
|
|
include src/branding/fedora/Makefile.am
|
|
include src/branding/kubernetes/Makefile.am
|
|
include src/branding/registry/Makefile.am
|
|
include src/branding/rhel/Makefile.am
|
|
include src/branding/scientific/Makefile.am
|
|
include src/branding/ubuntu/Makefile.am
|
|
include src/bridge/Makefile.am
|
|
include src/common/Makefile-common.am
|
|
include src/websocket/Makefile-websocket.am
|
|
include tools/Makefile-tools.am
|
|
include src/ssh/Makefile-ssh.am
|
|
include src/ws/Makefile-ws.am
|
|
include src/tls/Makefile-tls.am
|
|
include src/retest/Makefile.am
|
|
include src/pam-ssh-add/Makefile.am
|
|
include containers/Makefile.am
|