summaryrefslogtreecommitdiffstats
path: root/modules.d/dnbd3-rootfs/helper/build.inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/dnbd3-rootfs/helper/build.inc')
-rw-r--r--modules.d/dnbd3-rootfs/helper/build.inc84
1 files changed, 31 insertions, 53 deletions
diff --git a/modules.d/dnbd3-rootfs/helper/build.inc b/modules.d/dnbd3-rootfs/helper/build.inc
index d549b8d1..9fe05cbf 100644
--- a/modules.d/dnbd3-rootfs/helper/build.inc
+++ b/modules.d/dnbd3-rootfs/helper/build.inc
@@ -10,10 +10,10 @@ build_initialize_components() {
_deps_base_dir="${_mainmoddir}/binaries"
# We might want to move the "binaries" repos from the dnbd3-rootfs module to main repo one day...
# TODO check for its existence using modinfo -k <kernel_version>
- if [[ ! -f "${_deps_base_dir}/dnbd3/build/dnbd3.ko" ]] || \
- [[ ! -f "${_deps_base_dir}/dnbd3/build/dnbd3-client" ]]; then
+ if [[ ! -f "${_deps_base_dir}/dnbd3/build/src/kernel/dnbd3/dnbd3.ko" ]] || \
+ [[ ! -f "${_deps_base_dir}/dnbd3/build/src/client/dnbd3-client" ]]; then
echo "Could not find dnbd3, building it..."
- if ! CMAKE_FLAGS="-DKERNEL_DIR=${kernel_headers}" \
+ if ! CMAKE_FLAGS="-DKERNEL_BUILD_DIR=${kernel_headers}" \
build_compile_dnbd3 "${_deps_base_dir}/dnbd3/"; then
echo "Failed to build dnbd3."
return 1
@@ -169,83 +169,61 @@ build_compile_dnbd3() {
local __doc__='
Compiles dnbd3 kernel module and client.
- Provides the following file:
- "$1/build/dnbd3.ko"
- "$1/build/dnbd3-client"
-
Examples:
`build_compile_dnbd3 path/to/dnbd3/source/`
Passing the kernel version to cmake:
- `CMAKE_FLAGS="-DKERNEL_VERSION=4.14.6-openslx+" \
+ `CMAKE_FLAGS="-DKERNEL_BUILD_DIR=<path_to_kernel_build_dir>" \
build_compile_dnbd3 path/to/dnbd3/source/`
'
+ [ -z "$1" ] && return 1
pushd "$1"
- # NOTE: The generic way would be: "./build.sh" but this tries to build
- # more than we really need and takes more time.
- mkdir --parents build
- cd build
- # Inject CMAKE_FLAGS as a way to control how cmake is called,
- # e.g. to pass the kernel version
- cmake ${CMAKE_FLAGS} \
- -DBUILD_FUSE_CLIENT=OFF \
- -DBUILD_KERNEL_MODULE=ON \
- -DBUILD_SERVER=OFF \
- -DBUILD_STRESSTEST=OFF \
- ../
- make -j dnbd3 dnbd3-client
+ (
+ mkdir --parents build
+ cd build
+ # Inject CMAKE_FLAGS as a way to control how cmake is called,
+ # e.g. to pass the kernel version
+ cmake ${CMAKE_FLAGS} \
+ -DDNBD3_KERNEL_MODULE=ON \
+ -DDNBD3_CLIENT_FUSE=OFF \
+ -DDNBD3_SERVER=OFF \
+ -DDNBD3_SERVER_FUSE=OFF \
+ ..
+ make -j
+ )
local ret=$?
popd
return $ret
}
build_clean_dnbd3() {
- local __doc__='Clean the build of `build_compile_dnbd3`.'
- rm --recursive --force "$1/build"
- return $?
+ [ -z "$1" ] && return 1
+ rm -rf "$1/build"
}
build_compile_xloop() {
+ [ -z "$1" ] && return 1
pushd "$1"
- # https://lab.ks.uni-freiburg.de/projects/kernel-qcow2/wiki
if [ -z "$kernel_headers" ]; then
echo "Kernel header directory not set, ignoring."
return 1
fi
- make \
- KDIR="$kernel_headers" \
- CONFIG_BLK_DEV_LOOP=m \
- CONFIG_BLK_DEV_LOOP_FILE_FMT_RAW=m \
- CONFIG_BLK_DEV_LOOP_FILE_FMT_QCOW=m
- local ret=$?
- popd
- return $ret
-}
-build_clean_xloop() {
- pushd "$1"
- make clean
- local ret=$?
- popd
- return $ret
-}
-build_compile_xlosetup() {
- pushd "$1"
(
set -o errexit
- ./autogen.sh
- ./configure
- make -j losetup
- gcc -I./libsmartcols/src -O2 -o .libs/losetup sys-utils/losetup-losetup.o .libs/libcommon.a .libs/libsmartcols.a
+ mkdir -p build
+ cd build
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKERNEL_BUILD_DIR="$kernel_headers" \
+ ..
+ make -j
)
local ret=$?
popd
return $ret
}
-build_clean_xlosetup() {
- pushd "$1"
- make clean
- local ret=$?
- popd
- return $ret
+build_clean_xloop() {
+ [ -z "$1" ] && return 1
+ rm -rf "$1/build"
}
build_compile_systemd_preserve_process_marker() {
local __doc__='