]> git.ipfire.org Git - people/stevee/pakfire.git/blobdiff - Makefile.am
Hardening: Declare content of /usr/lib/grub as firmware files
[people/stevee/pakfire.git] / Makefile.am
index 254eb2934cad8c0da41c1798255128f1c82b9602..010f7f4f96a39ee09e4cb41e2374d93b907b61f6 100644 (file)
@@ -40,7 +40,6 @@ pythondir  = $(pyexecdir)
 configsdir = $(sysconfdir)/pakfire
 configsdistrosdir = $(configsdir)/distros
 macrosdir = $(prefix)/lib/pakfire/macros
-qualityagentdir = $(prefix)/lib/quality-agent
 scriptsdir = $(prefix)/lib/$(PACKAGE_NAME)
 
 TEST_ROOTFS = $(abs_top_builddir)/tests/.root
@@ -74,6 +73,7 @@ check_PROGRAMS =
 lib_LTLIBRARIES =
 libexec_PROGRAMS =
 noinst_LTLIBRARIES =
+noinst_PROGRAMS =
 pkgpyexec_LTLIBRARIES =
 pkginclude_HEADERS =
 
@@ -102,61 +102,42 @@ dist_doc_DATA = \
 
 # ------------------------------------------------------------------------------
 
-dist_bin_SCRIPTS = \
-       src/scripts/pakfire
+bin_SCRIPTS = \
+       src/scripts/pakfire \
+       src/scripts/pakfire-builder \
+       src/scripts/pakfire-client \
+       src/scripts/pakfire-daemon
 
-install-exec-local:
-       $(MKDIR_P) $(DESTDIR)/$(bindir)
-       cd $(DESTDIR)/$(bindir) && \
-               $(LN_S) -vf pakfire pakfire-builder && \
-               $(LN_S) -vf pakfire pakfire-client && \
-               $(LN_S) -vf pakfire pakfire-daemon && \
-               $(LN_S) -vf pakfire pakfire-key
+EXTRA_DIST += \
+       src/scripts/pakfire.in \
+       src/scripts/pakfire-builder.in \
+       src/scripts/pakfire-client.in \
+       src/scripts/pakfire-daemon.in
+
+CLEANFILES += \
+       src/scripts/pakfire \
+       src/scripts/pakfire-builder \
+       src/scripts/pakfire-client \
+       src/scripts/pakfire-daemon
 
 # ------------------------------------------------------------------------------
 
 pakfire_PYTHON = \
        src/pakfire/__init__.py \
        src/pakfire/__version__.py \
-       src/pakfire/base.py \
-       src/pakfire/builder.py \
-       src/pakfire/client.py \
-       src/pakfire/cli.py \
        src/pakfire/config.py \
        src/pakfire/constants.py \
        src/pakfire/daemon.py \
        src/pakfire/errors.py \
-       src/pakfire/http.py \
        src/pakfire/hub.py \
        src/pakfire/i18n.py \
        src/pakfire/logger.py \
-       src/pakfire/system.py \
        src/pakfire/util.py
 
 pakfiredir = $(pythondir)/pakfire
 
 # ------------------------------------------------------------------------------
 
-pakfire_packages_PYTHON = \
-       src/pakfire/packages/__init__.py \
-       src/pakfire/packages/packager.py \
-       src/pakfire/packages/tar.py
-
-pakfire_packagesdir = $(pythondir)/pakfire/packages
-
-# ------------------------------------------------------------------------------
-
-pakfire_ui_PYTHON = \
-       src/pakfire/ui/__init__.py \
-       src/pakfire/ui/base.py \
-       src/pakfire/ui/cli.py \
-       src/pakfire/ui/helpers.py \
-       src/pakfire/ui/progressbar.py
-
-pakfire_uidir = $(pythondir)/pakfire/ui
-
-# ------------------------------------------------------------------------------
-
 pkgpyexec_LTLIBRARIES += \
        _pakfire.la
 
@@ -164,27 +145,25 @@ _pakfire_la_SOURCES = \
        src/_pakfire/_pakfiremodule.c \
        src/_pakfire/archive.c \
        src/_pakfire/archive.h \
+       src/_pakfire/archive_file.c \
+       src/_pakfire/archive_file.h \
        src/_pakfire/errors.h \
+       src/_pakfire/file.c \
+       src/_pakfire/file.h \
        src/_pakfire/key.c \
        src/_pakfire/key.h \
        src/_pakfire/package.c \
        src/_pakfire/package.h \
        src/_pakfire/pakfire.c \
        src/_pakfire/pakfire.h \
-       src/_pakfire/parser.c \
-       src/_pakfire/parser.h \
        src/_pakfire/problem.c \
        src/_pakfire/problem.h \
        src/_pakfire/progressbar.c \
        src/_pakfire/progressbar.h \
        src/_pakfire/repo.c \
        src/_pakfire/repo.h \
-       src/_pakfire/request.c \
-       src/_pakfire/request.h \
        src/_pakfire/solution.c \
        src/_pakfire/solution.h \
-       src/_pakfire/transaction.c \
-       src/_pakfire/transaction.h \
        src/_pakfire/util.c \
        src/_pakfire/util.h
 
@@ -223,7 +202,8 @@ libpakfire_parser_la_SOURCES = \
        src/libpakfire/parser/scanner.l
 
 libpakfire_parser_la_CFLAGS = \
-       $(AM_CFLAGS)
+       $(AM_CFLAGS) \
+       $(JSON_C_CFLAGS)
 
 libpakfire_parser_la_CPPFLAGS = \
        $(AM_CPPFLAGS) \
@@ -245,13 +225,19 @@ libpakfire_la_SOURCES = \
        src/libpakfire/compress.c \
        src/libpakfire/config.c \
        src/libpakfire/db.c \
+       src/libpakfire/dependencies.c \
+       src/libpakfire/digest.c \
        src/libpakfire/dist.c \
        src/libpakfire/downloader.c \
-       src/libpakfire/execute.c \
+       src/libpakfire/fhs.c \
        src/libpakfire/file.c \
        src/libpakfire/filelist.c \
+       src/libpakfire/jail.c \
        src/libpakfire/key.c \
+       src/libpakfire/keystore.c \
+       src/libpakfire/linter.c \
        src/libpakfire/logging.c \
+       src/libpakfire/mount.c \
        src/libpakfire/package.c \
        src/libpakfire/packager.c \
        src/libpakfire/packagelist.c \
@@ -266,7 +252,9 @@ libpakfire_la_SOURCES = \
        src/libpakfire/scriptlet.c \
        src/libpakfire/snapshot.c \
        src/libpakfire/solution.c \
+       src/libpakfire/string.c \
        src/libpakfire/transaction.c \
+       src/libpakfire/ui.c \
        src/libpakfire/util.c
 
 pkginclude_HEADERS += \
@@ -278,14 +266,20 @@ pkginclude_HEADERS += \
        src/libpakfire/include/pakfire/config.h \
        src/libpakfire/include/pakfire/constants.h \
        src/libpakfire/include/pakfire/db.h \
+       src/libpakfire/include/pakfire/dependencies.h \
+       src/libpakfire/include/pakfire/digest.h \
        src/libpakfire/include/pakfire/dist.h \
        src/libpakfire/include/pakfire/downloader.h \
-       src/libpakfire/include/pakfire/execute.h \
+       src/libpakfire/include/pakfire/fhs.h \
        src/libpakfire/include/pakfire/file.h \
        src/libpakfire/include/pakfire/filelist.h \
        src/libpakfire/include/pakfire/i18n.h \
+       src/libpakfire/include/pakfire/jail.h \
        src/libpakfire/include/pakfire/key.h \
+       src/libpakfire/include/pakfire/keystore.h \
+       src/libpakfire/include/pakfire/linter.h \
        src/libpakfire/include/pakfire/logging.h \
+       src/libpakfire/include/pakfire/mount.h \
        src/libpakfire/include/pakfire/package.h \
        src/libpakfire/include/pakfire/packager.h \
        src/libpakfire/include/pakfire/packagelist.h \
@@ -301,19 +295,26 @@ pkginclude_HEADERS += \
        src/libpakfire/include/pakfire/scriptlet.h \
        src/libpakfire/include/pakfire/snapshot.h \
        src/libpakfire/include/pakfire/solution.h \
+       src/libpakfire/include/pakfire/string.h \
        src/libpakfire/include/pakfire/transaction.h \
-       src/libpakfire/include/pakfire/types.h \
+       src/libpakfire/include/pakfire/ui.h \
        src/libpakfire/include/pakfire/util.h
 
 libpakfire_la_CFLAGS = \
        $(AM_CFLAGS) \
        -fvisibility=hidden \
+       $(CAP_LIBS) \
        $(CURL_CFLAGS) \
+       $(ELF_CFLAGS) \
        $(JSON_C_CFLAGS) \
+       $(MAGIC_CFLAGS) \
+       $(MOUNT_CFLAGS) \
        $(OPENSSL_CFLAGS) \
        $(PCRE2_CFLAGS) \
+       $(SECCOMP_CFLAGS) \
        $(SOLV_CFLAGS) \
        $(SQLITE3_CFLAGS) \
+       $(SYSTEMD_CFLAGS) \
        $(UUID_CFLAGS) \
        $(ZSTD_CFLAGS)
 
@@ -331,14 +332,20 @@ libpakfire_la_LDFLAGS = \
 libpakfire_la_LIBADD = \
        libpakfire-parser.la \
        $(ARCHIVE_LIBS) \
+       $(CAP_LIBS) \
        $(CURL_LIBS) \
+       $(ELF_LIBS) \
        $(GPGME_LIBS) \
        $(JSON_C_LIBS) \
        $(LZMA_LIBS) \
+       $(MAGIC_LIBS) \
+       $(MOUNT_LIBS) \
        $(OPENSSL_LIBS) \
        $(PCRE2_LIBS) \
+       $(SECCOMP_LIBS) \
        $(SOLV_LIBS) \
        $(SQLITE3_LIBS) \
+       $(SYSTEMD_LIBS) \
        $(UUID_LIBS) \
        $(ZSTD_LIBS)
 
@@ -375,26 +382,35 @@ check_PROGRAMS += \
        tests/libpakfire/main \
        tests/libpakfire/arch \
        tests/libpakfire/archive \
+       tests/libpakfire/build \
        tests/libpakfire/cgroup \
        tests/libpakfire/compress \
        tests/libpakfire/config \
        tests/libpakfire/db \
+       tests/libpakfire/dependencies \
+       tests/libpakfire/digest \
        tests/libpakfire/downloader \
-       tests/libpakfire/execute \
+       tests/libpakfire/file \
+       tests/libpakfire/jail \
        tests/libpakfire/key \
        tests/libpakfire/makefile \
+       tests/libpakfire/package \
        tests/libpakfire/packager \
        tests/libpakfire/parser \
        tests/libpakfire/progressbar \
        tests/libpakfire/repo \
+       tests/libpakfire/snapshot \
+       tests/libpakfire/string \
        tests/libpakfire/util
 
 dist_tests_libpakfire_main_SOURCES = \
        tests/libpakfire/main.c
 
 tests_libpakfire_main_CPPFLAGS = \
-       $(TESTSUITE_CPPFLAGS) \
-       -DTEST_ROOTFS=\"$(TEST_ROOTFS)\"
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_main_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
 
 tests_libpakfire_main_LDADD = \
        $(TESTSUITE_LDADD)
@@ -405,6 +421,9 @@ tests_libpakfire_arch_SOURCES = \
 tests_libpakfire_arch_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_arch_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_arch_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -414,15 +433,33 @@ tests_libpakfire_archive_SOURCES = \
 tests_libpakfire_archive_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_archive_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_archive_LDADD = \
        $(TESTSUITE_LDADD)
 
+dist_tests_libpakfire_build_SOURCES = \
+       tests/libpakfire/build.c
+
+tests_libpakfire_build_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_build_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_build_LDADD = \
+       $(TESTSUITE_LDADD)
+
 dist_tests_libpakfire_cgroup_SOURCES = \
        tests/libpakfire/cgroup.c
 
 tests_libpakfire_cgroup_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_cgroup_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_cgroup_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -432,6 +469,9 @@ dist_tests_libpakfire_compress_SOURCES = \
 tests_libpakfire_compress_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_compress_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_compress_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -441,6 +481,9 @@ dist_tests_libpakfire_config_SOURCES = \
 tests_libpakfire_config_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_config_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_config_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -450,25 +493,70 @@ tests_libpakfire_db_SOURCES = \
 tests_libpakfire_db_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_db_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_db_LDADD = \
        $(TESTSUITE_LDADD)
 
+dist_tests_libpakfire_dependencies_SOURCES = \
+       tests/libpakfire/dependencies.c
+
+tests_libpakfire_dependencies_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_dependencies_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_dependencies_LDADD = \
+       $(TESTSUITE_LDADD)
+
+dist_tests_libpakfire_digest_SOURCES = \
+       tests/libpakfire/digest.c
+
+tests_libpakfire_digest_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_digest_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_digest_LDADD = \
+       $(TESTSUITE_LDADD)
+
 dist_tests_libpakfire_downloader_SOURCES = \
        tests/libpakfire/downloader.c
 
 tests_libpakfire_downloader_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_downloader_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_downloader_LDADD = \
        $(TESTSUITE_LDADD)
 
-tests_libpakfire_execute_SOURCES = \
-       tests/libpakfire/execute.c
+dist_tests_libpakfire_file_SOURCES = \
+       tests/libpakfire/file.c
+
+tests_libpakfire_file_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_file_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_file_LDADD = \
+       $(TESTSUITE_LDADD)
+
+dist_tests_libpakfire_jail_SOURCES = \
+       tests/libpakfire/jail.c
 
-tests_libpakfire_execute_CPPFLAGS = \
+tests_libpakfire_jail_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
-tests_libpakfire_execute_LDADD = \
+tests_libpakfire_jail_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_jail_LDADD = \
        $(TESTSUITE_LDADD)
 
 tests_libpakfire_key_SOURCES = \
@@ -478,6 +566,9 @@ tests_libpakfire_key_SOURCES = \
 tests_libpakfire_key_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_key_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_key_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -487,15 +578,33 @@ dist_tests_libpakfire_makefile_SOURCES = \
 tests_libpakfire_makefile_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_makefile_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_makefile_LDADD = \
        $(TESTSUITE_LDADD)
 
+dist_tests_libpakfire_package_SOURECES = \
+       tests/libpakfire/package.c
+
+tests_libpakfire_package_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_package_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_package_LDADD = \
+       $(TESTSUITE_LDADD)
+
 dist_tests_libpakfire_packager_SOURCES = \
        tests/libpakfire/packager.c
 
 tests_libpakfire_packager_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_packager_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_packager_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -505,6 +614,9 @@ dist_tests_libpakfire_parser_SOURCES = \
 tests_libpakfire_parser_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_parser_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_parser_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -514,6 +626,9 @@ dist_tests_libpakfire_progressbar_SOURCES = \
 tests_libpakfire_progressbar_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_progressbar_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_progressbar_LDADD = \
        $(TESTSUITE_LDADD)
 
@@ -523,106 +638,190 @@ dist_tests_libpakfire_repo_SOURCES = \
 tests_libpakfire_repo_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_repo_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_repo_LDADD = \
        $(TESTSUITE_LDADD)
 
+dist_tests_libpakfire_snapshot_SOURCES = \
+       tests/libpakfire/snapshot.c
+
+tests_libpakfire_snapshot_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_snapshot_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_snapshot_LDADD = \
+       $(TESTSUITE_LDADD)
+
+dist_tests_libpakfire_string_SOURCES = \
+       tests/libpakfire/string.c
+
+tests_libpakfire_string_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_string_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
+tests_libpakfire_string_LDADD = \
+       $(TESTSUITE_LDADD)
+
 dist_tests_libpakfire_util_SOURCES = \
        tests/libpakfire/util.c
 
 tests_libpakfire_util_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
+tests_libpakfire_util_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libpakfire_util_LDADD = \
        $(TESTSUITE_LDADD)
 
 # ------------------------------------------------------------------------------
 
-lib_LTLIBRARIES += \
-       libpakfire_preload.la
+noinst_PROGRAMS += \
+       tests/stub/root/command
 
-libpakfire_preload_la_SOURCES = \
-       src/libpakfire_preload/uname.c
+tests_stub_root_command_SOURCES = \
+       tests/stub/command.c
 
-libpakfire_preload_la_LDFLAGS = \
-       $(AM_LDFLAGS) \
-       -shared \
-       -module \
-       -avoid-version
+tests_stub_root_command_LDFLAGS = \
+       -all-static
+
+CLEANFILES += \
+       tests/stub/root/command
 
-libpakfire_preload_la_LIBADD = \
-       $(DL_LIBS)
+TEST_STUB_ROOT = $(abs_top_builddir)/tests/stub/root
 
 # ------------------------------------------------------------------------------
 
-scripts_SCRIPTS = \
-       src/scripts/quality-agent
+noinst_PROGRAMS += \
+       tests/parser/test
 
-EXTRA_DIST += \
-       src/scripts/quality-agent.in
+dist_tests_parser_test_SOURCES = \
+       tests/parser/test.c
 
-CLEANFILES += \
-       src/scripts/quality-agent
+tests_parser_test_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       $(PAKFIRE_CPPFLAGS) \
+       -DPAKFIRE_PRIVATE
+
+tests_parser_test_CFLAGS = \
+       $(JSON_C_CFLAGS)
+
+tests_parser_test_LDFLAGS = \
+       $(AM_LDFLAGS)
+
+tests_parser_test_LDADD = \
+       libpakfire.la \
+       libpakfire-internal.la
+
+# ------------------------------------------------------------------------------
 
 dist_scripts_SCRIPTS = \
-       src/scripts/cleanup \
+       src/scripts/check-interpreters \
        src/scripts/compress-man-pages \
-       src/scripts/find-common \
        src/scripts/find-prerequires \
        src/scripts/find-provides \
        src/scripts/find-requires \
-       src/scripts/patch \
        src/scripts/perl.prov \
        src/scripts/perl.req \
-       src/scripts/py-compile \
-       src/scripts/remove-static-libs \
        src/scripts/strip
 
-dist_scripts_DATA = \
-       src/scripts/functions-common \
-       src/scripts/functions-constants \
-       src/scripts/functions-directories \
-       src/scripts/functions-files \
-       src/scripts/functions-lists \
-       src/scripts/functions-logging
-
-# ------------------------------------------------------------------------------
-
-dist_qualityagent_SCRIPTS = \
-       src/quality-agent/001-include-files \
-       src/quality-agent/001-remove-info-files \
-       src/quality-agent/001-unsafe-files \
-       src/quality-agent/002-bad-symlinks \
-       src/quality-agent/003-libs-location \
-       src/quality-agent/050-canary \
-       src/quality-agent/050-execstacks \
-       src/quality-agent/050-invalid-interpreters \
-       src/quality-agent/050-libs-needed \
-       src/quality-agent/050-libs-soname \
-       src/quality-agent/050-libs-x86_64 \
-       src/quality-agent/050-nx \
-       src/quality-agent/050-relro \
-       src/quality-agent/050-rpaths \
-       src/quality-agent/095-directory-layout
-
-dist_qualityagent_DATA = \
-       src/quality-agent/qa-include
-
 # ------------------------------------------------------------------------------
 
 dist_macros_DATA = \
        macros/arch.macro \
        macros/build.macro \
        macros/cflags.macro \
+       macros/cmake.macro \
        macros/constants.macro \
+       macros/meson.macro \
+       macros/ninja.macro \
        macros/package-default.macro \
        macros/perl.macro \
        macros/python.macro \
-       macros/quality-agent.macro \
        macros/systemd.macro \
        macros/templates.macro
 
 # ------------------------------------------------------------------------------
 
+MANPAGES = \
+       man/pakfire.8 \
+       man/pakfire-archive-format.5 \
+       man/pakfire-deps.5
+
+MANPAGES_TXT    = $(MANPAGES_TXT_5) $(MANPAGES_TXT_8)
+MANPAGES_TXT_5  = $(patsubst %.5,%.txt,$(MANPAGES))
+MANPAGES_TXT_8  = $(patsubst %.8,%.txt,$(MANPAGES))
+MANPAGES_HTML   = $(patsubst %.txt,%.html,$(MANPAGES_TXT))
+MANPAGES_XML    = $(patsubst %.txt,%.xml,$(MANPAGES_TXT))
+
+AM_V_ASCIIDOC   = $(AM_V_ASCIIDOC_$(V))
+AM_V_ASCIIDOC_  = $(AM_V_ASCIIDOC_$(AM_DEFAULT_VERBOSITY))
+AM_V_ASCIIDOC_0 = @echo "  ASCIIDOC" $@;
+
+AM_V_XSLT       = $(AM_V_XSLT_$(V))
+AM_V_XSLT_      = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
+AM_V_XSLT_0     = @echo "  XSLT    " $@;
+
+.PHONY: man
+man: $(MANPAGES) $(MANPAGES_HTML)
+
+if ENABLE_MAN_PAGES
+man_MANS = \
+       $(MANPAGES)
+endif
+
+CLEANFILES += \
+       $(MANPAGES) \
+       $(MANPAGES_HTML) \
+       $(MANPAGES_XML)
+
+EXTRA_DIST += \
+       man/asciidoc.conf \
+       $(MANPAGES_TXT)
+
+XSLTPROC_FLAGS = \
+       --nonet \
+       --stringparam man.output.quietly 1 \
+       --stringparam funcsynopsis.style ansi \
+       --stringparam man.th.extra1.suppress 1 \
+       --stringparam man.authors.section.enabled 1 \
+       --stringparam man.copyright.section.enabled 1
+
+XSLTPROC_COMMAND_MAN = \
+       $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \
+       $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
+               http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.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/%.5: man/%.xml
+       $(XSLTPROC_COMMAND_MAN)
+
+man/%.8: man/%.xml
+       $(XSLTPROC_COMMAND_MAN)
+
+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@fs01.haj.ipfire.org:/pub/man-pages/$(PACKAGE_NAME)/
+
+# ------------------------------------------------------------------------------
+
 if HAVE_SYSTEMD
 systemdsystemunit_DATA = \
        src/systemd/pakfire-daemon.service
@@ -651,17 +850,14 @@ substitutions = \
        '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
        '|bindir=$(bindir)|' \
        '|libexecdir=$(libexecdir)|' \
-       '|qualityagentdir=$(qualityagentdir)|'
+       '|sysconfdir=$(sysconfdir)|'
 
 SED_PROCESS = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
        $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
                < $< > $@
 
-src/scripts/%: src/scripts/%.in Makefile
-       $(SED_PROCESS)
-
-src/systemd/%: src/systemd/%.in Makefile
+%: %.in Makefile
        $(SED_PROCESS)
 
 # - testsuite ------------------------------------------------------------------
@@ -673,6 +869,9 @@ tests_libtestsuite_la_SOURCES = \
        tests/testsuite.c \
        tests/testsuite.h
 
+tests_libtestsuite_la_CFLAGS = \
+       $(TESTSUITE_CFLAGS)
+
 tests_libtestsuite_la_CPPFLAGS = \
        $(TESTSUITE_CPPFLAGS)
 
@@ -681,8 +880,13 @@ TESTSUITE_CPPFLAGS = \
        $(PAKFIRE_CPPFLAGS) \
        -DABS_TOP_SRCDIR=\"$(abs_top_srcdir)\" \
        -DTEST_ROOTFS=\"$(TEST_ROOTFS)\" \
+       -DTEST_STUB_COMMAND=\"$(abs_top_builddir)/tests/stub/root/command\" \
+       -DTEST_STUB_ROOT=\"$(TEST_STUB_ROOT)\" \
        -DPAKFIRE_PRIVATE
 
+TESTSUITE_CFLAGS = \
+       $(JSON_C_CFLAGS)
+
 TESTSUITE_LDADD = \
        tests/libtestsuite.la \
        libpakfire.la \
@@ -690,13 +894,12 @@ TESTSUITE_LDADD = \
 
 TESTS_ENVIRONMENT = \
        TEST_DATA_DIR="$(abs_top_srcdir)/tests/data" \
+       TEST_STUB_ROOT="$(TEST_STUB_ROOT)" \
        PAKFIRE_LOG=debug \
-       PYTHONPATH="$(top_srcdir)/.libs:$(top_srcdir)/src" \
        topdir="$(shell pwd)"
 
 dist_check_SCRIPTS = \
-       tests/python/execute.py \
-       tests/python/parser.py \
+       tests/python/jail.py \
        tests/python/progressbar.py \
        tests/python/test.py
 
@@ -717,6 +920,10 @@ EXTRA_DIST += \
        tests/data/compress/data.xz \
        tests/data/compress/data.zst \
        \
+       tests/data/digest/random \
+       \
+       tests/data/packages/dummy/dummy.nm \
+       \
        tests/data/parser/test-comments.txt \
        tests/data/parser/test-conditionals.txt \
        tests/data/parser/test-declarations.txt \