diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 523da05acf..d382589222 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -77,6 +77,7 @@ endif() # Set up mktree set(MKTREE_BACKEND oci CACHE STRING "Mktree backend to use") +option(MKTREE_NATIVE "Enable native mktree build integration" ON) if (MKTREE_BACKEND STREQUAL oci) find_program(PODMAN podman) find_program(DOCKER docker) @@ -84,8 +85,10 @@ if (MKTREE_BACKEND STREQUAL oci) os_release(OS_NAME ID) os_release(OS_VERSION VERSION_ID) set(DOCKERFILE ${CMAKE_CURRENT_SOURCE_DIR}/Dockerfile.${OS_NAME}) - if (PODMAN AND EXISTS ${DOCKERFILE}) - set(MKTREE_NATIVE yes) + if (NOT PODMAN OR NOT EXISTS ${DOCKERFILE}) + set(MKTREE_NATIVE OFF) + endif() + if (MKTREE_NATIVE) configure_file(${DOCKERFILE} Dockerfile COPYONLY) add_custom_target(ci COMMAND ./mktree.oci build @@ -94,17 +97,16 @@ if (MKTREE_BACKEND STREQUAL oci) WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) else() - set(MKTREE_NATIVE no) configure_file(Dockerfile Dockerfile COPYONLY) endif() find_program(PODMAN NAMES podman docker REQUIRED) elseif (MKTREE_BACKEND STREQUAL rootfs) - set(MKTREE_NATIVE yes) + set(MKTREE_NATIVE ON) find_program(BWRAP bwrap REQUIRED) mark_as_advanced(BWRAP) endif() -message(STATUS "Using mktree backend: ${MKTREE_BACKEND} " - "(native: ${MKTREE_NATIVE})") +message(STATUS "Using mktree backend: ${MKTREE_BACKEND}") +message(STATUS "Native mktree build integration: ${MKTREE_NATIVE}") configure_file(mktree.common mktree.common @ONLY) configure_file(mktree.${MKTREE_BACKEND} mktree @ONLY) configure_file(setup.sh setup.sh @ONLY) diff --git a/tests/mktree.oci b/tests/mktree.oci index f2ab912891..265cc0b01b 100755 --- a/tests/mktree.oci +++ b/tests/mktree.oci @@ -14,12 +14,12 @@ if [ "$PROGRAM" == "mktree" ]; then else # Running from source directory CMAKE=no - NATIVE=no + NATIVE=OFF PODMAN=${MKTREE_ENGINE:-podman} CONTEXT=.. fi -if [ $NATIVE == yes ]; then +if [ $NATIVE == ON ]; then FROM="--from @OS_NAME@:@OS_VERSION@" else FROM= @@ -70,7 +70,7 @@ clean() unshared() { - [ $(id -u) != 0 ] && [ $NATIVE == yes ] || return 0 + [ $(id -u) != 0 ] && [ $NATIVE == ON ] || return 0 $PODMAN unshare $0 $CMD "$@" exit } @@ -82,7 +82,7 @@ case $CMD in # Add RPM install on top clean - if [ $NATIVE == yes ]; then + if [ $NATIVE == ON ]; then # Native build id=$($PODMAN create -t $BASE_TAG) trap "$PODMAN kill $id >/dev/null; $PODMAN rm $id > /dev/null" EXIT