From 3255cb592ceaa9ea7e4758b9c68a24775773f471 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 15 Aug 2024 14:11:40 -0400 Subject: [PATCH] build-sys: Remove autotools meson is better, basically. Closes: https://github.com/containers/composefs/issues/301 Signed-off-by: Colin Walters --- .github/workflows/test-meson.yaml | 168 ---------------------- .github/workflows/test.yaml | 40 +++--- Makefile.am | 42 ------ autogen.sh | 3 - composefs.spec.in | 7 +- configure.ac | 231 ------------------------------ libcomposefs/Makefile-lib.am | 22 --- libcomposefs/Makefile.am | 8 -- tests/Makefile.am | 42 ------ tools/Makefile.am | 28 ---- 10 files changed, 24 insertions(+), 567 deletions(-) delete mode 100644 .github/workflows/test-meson.yaml delete mode 100644 Makefile.am delete mode 100755 autogen.sh delete mode 100644 configure.ac delete mode 100644 libcomposefs/Makefile-lib.am delete mode 100644 libcomposefs/Makefile.am delete mode 100644 tests/Makefile.am delete mode 100644 tools/Makefile.am diff --git a/.github/workflows/test-meson.yaml b/.github/workflows/test-meson.yaml deleted file mode 100644 index 1a60cba9..00000000 --- a/.github/workflows/test-meson.yaml +++ /dev/null @@ -1,168 +0,0 @@ -name: Test with meson - -on: [push, pull_request] - -permissions: - actions: read - -jobs: - build: - runs-on: ubuntu-latest - name: "Build with ASAN" - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - name: Install dependencies - run: sudo ./hacking/installdeps.sh - - name: Install fsck.erofs - run: sudo apt install erofs-utils - - name: Install go-md2man - run: sudo apt install go-md2man - - name: Configure - run: meson setup build --prefix=/usr --werror -Db_sanitize=address,undefined - - name: Build - run: meson compile -C build - - name: Unit tests - run: meson test -C build - - name: Capture build - run: DESTDIR=$(pwd)/instroot meson install -C build && tar -C instroot -czf composefs.tar . - - name: Upload binary - uses: actions/upload-artifact@v2 - with: - name: composefs.tar - path: composefs.tar - # This build doesn't enable ASAN, which e.g. makes it easier to use with Rust - build-noasan: - runs-on: ubuntu-latest - name: "Build without ASAN" - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - name: Install dependencies - run: sudo ./hacking/installdeps.sh - - name: Configure - run: meson setup build --prefix=/usr --werror - - name: Build - run: meson compile -C build - - name: Capture build - run: DESTDIR=$(pwd)/instroot meson install -C build && tar -C instroot -czf composefs.tar . - - name: Upload binary - uses: actions/upload-artifact@v2 - with: - name: composefs-noasan.tar - path: composefs.tar - build-baseline: - runs-on: ubuntu-latest - name: "Build on Ubuntu Focal" - container: ubuntu:focal - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt-get update -y - ALLOW_MISSING="libfsverity-dev" ./hacking/installdeps.sh - - name: Configure - run: meson setup build --werror - - name: Build - # focal's meson is too old for 'meson compile' - run: ninja -C build - build-unit-cross: - runs-on: ubuntu-latest - name: Build on ${{ matrix.arch }} - - strategy: - matrix: - include: - - arch: armv7 - distro: ubuntu_latest - - arch: aarch64 - distro: ubuntu_latest - - arch: s390x - distro: ubuntu_latest - - arch: ppc64le - distro: ubuntu_latest - steps: - - uses: actions/checkout@v3.0.2 - with: - submodules: true - set-safe-directory: true - - - uses: uraimo/run-on-arch-action@v2.2.0 - name: Build - id: build - with: - arch: ${{ matrix.arch }} - distro: ${{ matrix.distro }} - - githubToken: ${{ github.token }} - - run: | - apt-get update -y - ./hacking/installdeps.sh - meson setup build --werror - meson compile -C build - meson test -C build --timeout-multiplier 10 - integration: - needs: build - runs-on: ubuntu-latest - - steps: - - run: sudo apt-get update -y - - name: Install erofs kmod - run: sudo apt install linux-modules-extra-$(uname -r) - - name: Install sanitizer dependencies - run: sudo apt install libasan6 libubsan1 - - name: Checkout repository - uses: actions/checkout@v3 - - name: Download - uses: actions/download-artifact@v2 - with: - name: composefs.tar - - run: sudo tar -C / -xvf composefs.tar - - name: Integration tests - run: sudo ./tests/integration.sh - rust: - needs: build-noasan - runs-on: ubuntu-latest - steps: - - run: sudo apt-get update -y - - name: Checkout repository - uses: actions/checkout@v3 - - name: Download - uses: actions/download-artifact@v2 - with: - name: composefs-noasan.tar - - run: sudo tar -C / -xvf composefs.tar - - name: Cache Dependencies - uses: Swatinem/rust-cache@v2 - with: - key: "rust-main" - - name: Rust (default features) - run: cargo test - - name: Rust (all features) - run: cargo test --all-features - clang-format: - runs-on: ubuntu-24.04 - steps: - - name: checkout - uses: actions/checkout@v2 - - name: install dependencies - run: | - sudo apt-get update -y - sudo apt-get install -y make clang-format - - name: check formatting - run: | - sudo docker build -t clang-format hacking/clang-format - sudo docker run --rm -w /src -v ${PWD}:/src clang-format - distcheck: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - name: Install dependencies - run: sudo ./hacking/installdeps.sh - - name: Configure - run: meson setup build --werror - - name: Run make distcheck - run: meson dist -C build diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 82fdb42c..1a60cba9 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,4 +1,4 @@ -name: Test with autotools +name: Test with meson on: [push, pull_request] @@ -8,7 +8,7 @@ permissions: jobs: build: runs-on: ubuntu-latest - name: "Build" + name: "Build with ASAN" steps: - name: Checkout repository uses: actions/checkout@v3 @@ -16,14 +16,16 @@ jobs: run: sudo ./hacking/installdeps.sh - name: Install fsck.erofs run: sudo apt install erofs-utils + - name: Install go-md2man + run: sudo apt install go-md2man - name: Configure - run: ./autogen.sh && ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) CFLAGS='-Wall -Werror' + run: meson setup build --prefix=/usr --werror -Db_sanitize=address,undefined - name: Build - run: make -j $(nproc) CFLAGS='-fsanitize=address -fsanitize=undefined' + run: meson compile -C build - name: Unit tests - run: make check + run: meson test -C build - name: Capture build - run: make install DESTDIR=$(pwd)/instroot && tar -C instroot -czf composefs.tar . + run: DESTDIR=$(pwd)/instroot meson install -C build && tar -C instroot -czf composefs.tar . - name: Upload binary uses: actions/upload-artifact@v2 with: @@ -32,18 +34,18 @@ jobs: # This build doesn't enable ASAN, which e.g. makes it easier to use with Rust build-noasan: runs-on: ubuntu-latest - name: "Build" + name: "Build without ASAN" steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies run: sudo ./hacking/installdeps.sh - name: Configure - run: ./autogen.sh && ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) CFLAGS='-Wall -Werror' + run: meson setup build --prefix=/usr --werror - name: Build - run: make -j $(nproc) + run: meson compile -C build - name: Capture build - run: make install DESTDIR=$(pwd)/instroot && tar -C instroot -czf composefs.tar . + run: DESTDIR=$(pwd)/instroot meson install -C build && tar -C instroot -czf composefs.tar . - name: Upload binary uses: actions/upload-artifact@v2 with: @@ -61,11 +63,10 @@ jobs: apt-get update -y ALLOW_MISSING="libfsverity-dev" ./hacking/installdeps.sh - name: Configure - run: | - ./autogen.sh - ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) CFLAGS='-Wall -Werror' + run: meson setup build --werror - name: Build - run: make -j $(nproc) CFLAGS='-fsanitize=address -fsanitize=undefined' + # focal's meson is too old for 'meson compile' + run: ninja -C build build-unit-cross: runs-on: ubuntu-latest name: Build on ${{ matrix.arch }} @@ -99,10 +100,9 @@ jobs: run: | apt-get update -y ./hacking/installdeps.sh - ./autogen.sh - ./configure CFLAGS='-Wall -Werror' - make -j $(nproc) - make check + meson setup build --werror + meson compile -C build + meson test -C build --timeout-multiplier 10 integration: needs: build runs-on: ubuntu-latest @@ -163,6 +163,6 @@ jobs: - name: Install dependencies run: sudo ./hacking/installdeps.sh - name: Configure - run: ./autogen.sh && ./configure CFLAGS='-Wall -Werror' + run: meson setup build --werror - name: Run make distcheck - run: make -j$(nproc) distcheck + run: meson dist -C build diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 2b456cb5..00000000 --- a/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -SUBDIRS=libcomposefs tools tests - -CLEANFILES= - -MAN1PAGES=\ - man/mount.composefs.md \ - man/mkcomposefs.md \ - man/composefs-info.md -MAN5PAGES=\ - man/composefs-dump.md - -MANPAGES=${MAN1PAGES} ${MAN5PAGES} - -EXTRA_DIST=\ - composefs.pc.in \ - composefs.spec.in \ - composefs.spec \ - COPYING.LESSERv3 \ - COPYINGv3 \ - COPYINGv3 \ - LICENSE.Apache-2.0 \ - BSD-2-Clause.txt \ - ${MANPAGES} - -pkgconfig_DATA = composefs.pc - -if ENABLE_MAN - -man/%.1: man/%.md - mkdir -p man - ${MD2MAN} -in $^ -out $@ - -man/%.5: man/%.md - mkdir -p man - ${MD2MAN} -in $^ -out $@ - -man1_MANS = $(MAN1PAGES:.md=.1) -man5_MANS = $(MAN5PAGES:.md=.5) - -CLEANFILES += ${man1_MANS} ${man5_MANS} - -endif diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index 70243a96..00000000 --- a/autogen.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec autoreconf -fi diff --git a/composefs.spec.in b/composefs.spec.in index c8cf7459..a3992e84 100644 --- a/composefs.spec.in +++ b/composefs.spec.in @@ -11,7 +11,7 @@ License: GPL-3.0-or-later AND LGPL-2.0-or-later AND Apache-2.0 URL: https://github.com/containers/composefs Source0: https://github.com/containers/composefs/releases/download/v%{version}/%{name}-%{version}.tar.xz -BuildRequires: gcc automake libtool openssl-devel fuse3-devel +BuildRequires: gcc meson openssl-devel fuse3-devel %if %{with man} BuildRequires: go-md2man %endif @@ -43,6 +43,8 @@ Library files for %{name}. %autosetup %build +%meson +%meson_build %configure \ --disable-static \ %if %{with man} @@ -52,8 +54,7 @@ Library files for %{name}. %make_build %install -%make_install -rm -rf %{buildroot}%{_libdir}/libcomposefs.la +%meson_install %files devel %{_includedir}/libcomposefs diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 93899d48..00000000 --- a/configure.ac +++ /dev/null @@ -1,231 +0,0 @@ -AC_PREREQ([2.69]) -AC_INIT([composefs], [1.0.5], [giuseppe@scrivano.org]) -AC_CONFIG_SRCDIR([tools/mkcomposefs.c]) -AC_CONFIG_HEADERS([config.h]) -AC_SYS_LARGEFILE - -# Library soname versioning: -# -# Note that this is different from the package version, as the package -# version is more of a human-oriented version for the tools, and does -# not encode library compatibility. -# -# Making releases: -# If library added functions or features: -# LIBCOMPOSEFS_VERSION_MICRO = 0; -# LIBCOMPOSEFS_VERSION_MINOR += 1; -# else, if library code changes: -# LIBCOMPOSEFS_VERSION_MICRO += 1; -# -# Only touch LIBCOMPOSEFS_VERSION_MAJOR if breaking ABI. -# (And never do that lightly) - -m4_define([LIBCOMPOSEFS_VERSION_MAJOR], [1]) -m4_define([LIBCOMPOSEFS_VERSION_MINOR], [3]) -m4_define([LIBCOMPOSEFS_VERSION_MICRO], [0]) - -LT_PREREQ([2.2.6]) -LT_INIT() - -AM_INIT_AUTOMAKE([1.11.2 -Wno-portability foreign tar-ustar no-dist-gzip dist-xz subdir-objects]) - -m4_define([lt_current], [m4_eval(LIBCOMPOSEFS_VERSION_MINOR + LIBCOMPOSEFS_VERSION_MAJOR)]) -m4_define([lt_revision], [LIBCOMPOSEFS_VERSION_MICRO]) -m4_define([lt_age], [LIBCOMPOSEFS_VERSION_MINOR]) -LT_VERSION_INFO="lt_current:lt_revision:lt_age" -AC_SUBST(LT_VERSION_INFO) - -LIBCOMPOSEFS_RELEASE_ARGS="-version-info $LT_VERSION_INFO" -AC_SUBST([LIBCOMPOSEFS_RELEASE_ARGS]) - -AC_PROG_CC -PKG_PROG_PKG_CONFIG -m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/pkgconfig)) - -PKGCONFIG_REQUIRES= -PKGCONFIG_REQUIRES_PRIVATELY= - -AC_MSG_CHECKING([for MOUNT_ATTR_IDMAP]) -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([ - #include - #include - ],[int foo = MOUNT_ATTR_IDMAP;] - )], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_MOUNT_ATTR_IDMAP], 1, [Define if MOUNT_ATTR_IDMAP is available in linux/mount.h])], - [AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING([for new mount API (fsconfig)]) -AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([[ - #include - int cmd = FSCONFIG_CMD_CREATE; - ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_FSCONFIG_CMD_CREATE_SYS_MOUNT_H], 1, [Define if FSCONFIG_CMD_CREATE is available in sys/mount.h])], - [AC_MSG_RESULT(no)]) -AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([[ - /* also make sure it doesn't conflict with since it is always used. */ - #include - #include - int cmd = FSCONFIG_CMD_CREATE; - ]])], - [AC_MSG_RESULT(yes) - AC_DEFINE([HAVE_FSCONFIG_CMD_CREATE_LINUX_MOUNT_H], 1, [Define if FSCONFIG_CMD_CREATE is available in linux/mount.h])], - [AC_MSG_RESULT(no)]) - -PKG_CHECK_MODULES(LCFS_DEP_CRYPTO, libcrypto,[ - AC_DEFINE([HAVE_OPENSSL], 1, [Define if we have openssl]) - with_openssl=yes - PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libcrypto" -],[ - with_openssl=no -]) -AM_CONDITIONAL(USE_OPENSSL, test $with_openssl != no) - -AC_CHECK_HEADERS([sys/capability.h endian.h sys/endian.h machine/endian.h]) - -AC_DEFUN([CC_CHECK_FLAG_APPEND], [ - AC_CACHE_CHECK([if $CC supports flag $3 in envvar $2], - AS_TR_SH([cc_cv_$2_$3]), - [eval "AS_TR_SH([cc_save_$2])='${$2}'" - eval "AS_TR_SH([$2])='${cc_save_$2} -Werror `echo "$3" | sed 's/^-Wno-/-W/'`'" - AC_LINK_IFELSE([AC_LANG_SOURCE(ifelse([$4], [], - [int main(void) { return 0; } ], - [$4]))], - [eval "AS_TR_SH([cc_cv_$2_$3])='yes'"], - [eval "AS_TR_SH([cc_cv_$2_$3])='no'"]) - eval "AS_TR_SH([$2])='$cc_save_$2'"]) - - AS_IF([eval test x$]AS_TR_SH([cc_cv_$2_$3])[ = xyes], - [eval "$1='${$1} $3'"]) -]) - -AC_DEFUN([CC_CHECK_FLAGS_APPEND], [ - for flag in [$3]; do - CC_CHECK_FLAG_APPEND([$1], [$2], $flag, [$4]) - done -]) - -AC_ARG_ENABLE(man, - [AS_HELP_STRING([--enable-man], - [generate man pages [default=auto]])],, - enable_man=maybe) - -AS_IF([test "$enable_man" != no], [ - AC_PATH_PROG([MD2MAN], [go-md2man]) - AS_IF([test -z "$MD2MAN"], [ - AS_IF([test "$enable_man" = yes], [ - AC_MSG_ERROR([go-md2man is required for --enable-man]) - ]) - enable_man=no - ],[ - enable_man=yes - ]) -]) -AM_CONDITIONAL(ENABLE_MAN, test "$enable_man" != no) - -################################################## -# Visibility handling -################################################## - -HIDDEN_VISIBILITY_CFLAGS="" -case "$host" in - *) - dnl on other compilers, check if we can do -fvisibility=hidden - SAVED_CFLAGS="${CFLAGS}" - CFLAGS="-fvisibility=hidden" - AC_MSG_CHECKING([for -fvisibility=hidden compiler flag]) - AC_TRY_COMPILE([], [int main (void) { return 0; }], - AC_MSG_RESULT(yes) - enable_fvisibility_hidden=yes, - AC_MSG_RESULT(no) - enable_fvisibility_hidden=no) - CFLAGS="${SAVED_CFLAGS}" - - AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [ - AC_DEFINE([LCFS_EXTERN], [__attribute__((visibility("default"))) extern], - [defines how to decorate public symbols while building]) - HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden" - ], [ - AC_DEFINE([LCFS_EXTERN], [extern], - [defines how to decorate public symbols while building]) - ]) - ;; -esac -AC_SUBST(HIDDEN_VISIBILITY_CFLAGS) - -################################################# -# Enable testing with Valgrind? Default is "no". -################################################# -AC_ARG_ENABLE([valgrind-test], - AS_HELP_STRING([--enable-valgrind-test], [Enable running tests with Valgrind (slow)]), - [use_valgrind=$enableval], [use_valgrind=no]) -AC_MSG_CHECKING([whether to run tests with Valgrind]) -AC_MSG_RESULT([$use_valgrind]) -AC_PATH_PROG([VALGRIND], [valgrind], [no]) -AS_IF([test "${use_valgrind}" != "no" -a "${VALGRIND}" = "no"], - [AC_MSG_ERROR([Valgrind test are enabled, but "valgrind" not found in PATH!])]) -AM_CONDITIONAL([ENABLE_VALGRIND], [test "${use_valgrind}" != "no"]) - -AS_IF([echo "$CFLAGS" | grep -q -E -e '-Werror($| )'], [], [ -CC_CHECK_FLAGS_APPEND([WARN_CFLAGS], [CFLAGS], [\ - -pipe \ - -Wall \ - -Werror=shadow \ - -Werror=empty-body \ - -Werror=strict-prototypes \ - -Werror=missing-prototypes \ - -Werror=implicit-function-declaration \ - "-Werror=format=2 -Werror=format-security -Werror=format-nonliteral" \ - -Werror=pointer-arith -Werror=init-self \ - -Werror=missing-declarations \ - -Werror=return-type \ - -Werror=switch \ - -Werror=overflow \ - -Werror=int-conversion \ - -Werror=parentheses \ - -Werror=undef \ - -Werror=incompatible-pointer-types \ - -Werror=misleading-indentation \ - -Werror=missing-include-dirs \ - -Wstrict-aliasing=2 \ - -Werror=unused-result \ -])]) -AC_SUBST(WARN_CFLAGS) - -AC_ARG_WITH(fuse, - AS_HELP_STRING([--with-fuse], [Build fuse support [default=auto]]), - , with_fuse=auto) -if test "x$with_fuse" != "xno"; then - PKG_CHECK_MODULES(FUSE3, [fuse3 >= 3.10.0], [have_fuse3=yes], [have_fuse3=no]) - if test $have_fuse3 = yes; then - AC_DEFINE(HAVE_FUSE3, 1, [Define if fuse3 is available]) - elif test "x$with_fuse" == "xyes"; then - AC_MSG_ERROR([fuse was requested but fuse3 it could not be found]) - fi -else - have_fuse3=no -fi -AM_CONDITIONAL([USE_FUSE3],[test "$have_fuse3" = "yes"]) - -AC_FUNC_ERROR_AT_LINE -AC_FUNC_FSEEKO -AC_HEADER_MAJOR -AC_FUNC_MMAP -AC_CHECK_FUNCS([getcwd memset munmap reallocarray strdup]) - -AC_SUBST(PKGCONFIG_REQUIRES) -AC_SUBST(PKGCONFIG_REQUIRES_PRIVATELY) - -AC_CONFIG_FILES([ -Makefile -libcomposefs/Makefile -tools/Makefile -tests/Makefile -composefs.spec -composefs.pc -]) -AC_OUTPUT diff --git a/libcomposefs/Makefile-lib.am b/libcomposefs/Makefile-lib.am deleted file mode 100644 index deb9dc90..00000000 --- a/libcomposefs/Makefile-lib.am +++ /dev/null @@ -1,22 +0,0 @@ -COMPOSEFS_HASH_CFLAGS = -DUSE_OBSTACK=0 -DTESTING=0 -DUSE_DIFF_HASH=0 - -libcomposefs_la_SOURCES = \ - $(COMPOSEFSDIR)/bitrotate.h \ - $(COMPOSEFSDIR)/erofs_fs.h \ - $(COMPOSEFSDIR)/erofs_fs_wrapper.h \ - $(COMPOSEFSDIR)/hash.c \ - $(COMPOSEFSDIR)/hash.h \ - $(COMPOSEFSDIR)/lcfs-internal.h \ - $(COMPOSEFSDIR)/lcfs-erofs.h \ - $(COMPOSEFSDIR)/lcfs-erofs-internal.h \ - $(COMPOSEFSDIR)/lcfs-fsverity.c \ - $(COMPOSEFSDIR)/lcfs-fsverity.h \ - $(COMPOSEFSDIR)/lcfs-writer-erofs.c \ - $(COMPOSEFSDIR)/lcfs-writer.c \ - $(COMPOSEFSDIR)/lcfs-writer.h \ - $(COMPOSEFSDIR)/lcfs-utils.h \ - $(COMPOSEFSDIR)/lcfs-mount.c \ - $(COMPOSEFSDIR)/lcfs-mount.h \ - $(COMPOSEFSDIR)/xalloc-oversized.h -libcomposefs_la_CFLAGS = $(WARN_CFLAGS) $(COMPOSEFS_HASH_CFLAGS) $(LCFS_DEP_CRYPTO_CFLAGS) $(HIDDEN_VISIBILITY_CFLAGS) -libcomposefs_la_LIBADD = $(LCFS_DEP_CRYPTO_LIBS) $(LIBCOMPOSEFS_RELEASE_ARGS) diff --git a/libcomposefs/Makefile.am b/libcomposefs/Makefile.am deleted file mode 100644 index 6b9c2682..00000000 --- a/libcomposefs/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -lib_LTLIBRARIES = libcomposefs.la - -libcomposefsincludedir = $(includedir)/libcomposefs -libcomposefsinclude_HEADERS = lcfs-writer.h lcfs-erofs.h lcfs-mount.h - -# We split the library out so it can be used easily as a git submodule -COMPOSEFSDIR = . -include Makefile-lib.am diff --git a/tests/Makefile.am b/tests/Makefile.am deleted file mode 100644 index 96c37bb2..00000000 --- a/tests/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -TEST_ASSETS_SMALL = \ - config.dump.gz config-with-hard-link.dump.gz special.dump special_v1.dump - -TEST_ASSETS_SMALL_EXTRA = \ - special.dump.version special_v1.dump.version - -TEST_ASSETS_SHOULD_FAIL = should-fail-long-link.dump should-fail-long-xattr-key.dump should-fail-long-xattr-value.dump \ - should-fail-no-ftype.dump -TEST_ASSETS = ${TEST_ASSETS_SMALL} \ - cs9-x86_64-developer.dump.gz cs9-x86_64-minimal.dump.gz \ - f36-x86_64-silverblue.dump.gz - -if ENABLE_VALGRIND -VALGRIND_PREFIX=libtool --mode=execute ${VALGRIND} --quiet --leak-check=yes --error-exitcode=42 -endif - -EXTRA_DIST = \ - gendir \ - dumpdir \ - test-lib.sh \ - test-units.sh \ - test-random-fuse.sh \ - test-checksums.sh \ - test-should-fail.sh \ - integration.sh \ - $(patsubst %,assets/%,${TEST_ASSETS_SMALL_EXTRA}) \ - $(patsubst %,assets/%,${TEST_ASSETS_SHOULD_FAIL}) \ - $(patsubst %,assets/%,${TEST_ASSETS_SMALL}) $(patsubst %,assets/%.sha256,${TEST_ASSETS_SMALL}) - -check-checksums: - VALGRIND_PREFIX="${VALGRIND_PREFIX}" $(srcdir)/test-checksums.sh "$(builddir)/../tools/" "$(srcdir)/assets" "${TEST_ASSETS}" - -check-should-fail: - $(srcdir)/test-should-fail.sh "$(builddir)/../tools/" ${TEST_ASSETS_SHOULD_FAIL} - -check-units: - VALGRIND_PREFIX="${VALGRIND_PREFIX}" $(srcdir)/test-units.sh "$(builddir)/../tools/" - -check-random-fuse: - VALGRIND_PREFIX="${VALGRIND_PREFIX}" $(srcdir)/test-random-fuse.sh "$(builddir)/../tools/" - -check: check-units check-checksums check-random-fuse check-should-fail diff --git a/tools/Makefile.am b/tools/Makefile.am deleted file mode 100644 index ef5084ad..00000000 --- a/tools/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -COMPOSEFS_HASH_CFLAGS = -DUSE_OBSTACK=0 -DTESTING=0 -DUSE_DIFF_HASH=0 - -bin_PROGRAMS = mkcomposefs composefs-info -sbin_PROGRAMS = mount.composefs -noinst_PROGRAMS = composefs-dump - -if USE_FUSE3 -noinst_PROGRAMS += composefs-fuse -endif - -AM_CFLAGS = $(WARN_CFLAGS) -I$(top_srcdir)/ - -mkcomposefs_SOURCES = mkcomposefs.c -mkcomposefs_LDADD = ../libcomposefs/libcomposefs.la $(LIBCRYPTO_LIBS) - -mount_composefs_SOURCES = mountcomposefs.c -mount_composefs_LDADD = ../libcomposefs/libcomposefs.la $(LIBCRYPTO_LIBS) - -composefs_info_SOURCES = composefs-info.c ../libcomposefs/hash.c -composefs_info_CFLAGS = $(AM_CFLAGS) $(COMPOSEFS_HASH_CFLAGS) -composefs_info_LDADD = ../libcomposefs/libcomposefs.la - -composefs_dump_SOURCES = composefs-dump.c -composefs_dump_LDADD = ../libcomposefs/libcomposefs.la - -composefs_fuse_SOURCES = cfs-fuse.c -composefs_fuse_LDADD = ../libcomposefs/libcomposefs.la $(FUSE3_LIBS) -composefs_fuse_CFLAGS = $(AM_CFLAGS) $(FUSE3_CFLAGS)