summaryrefslogtreecommitdiffstats
path: root/builder/dnbd3-rootfs/scripts/build.sh
diff options
context:
space:
mode:
authorjandob2016-01-07 13:16:38 +0100
committerjandob2016-01-07 13:16:38 +0100
commitf19fd7ff96822ae1ce3851f508539e1e33712030 (patch)
treed51d1ccd3bde7db2002b27d3f3f94337df8009cb /builder/dnbd3-rootfs/scripts/build.sh
parentmerge (diff)
downloadsystemd-init-f19fd7ff96822ae1ce3851f508539e1e33712030.tar.gz
systemd-init-f19fd7ff96822ae1ce3851f508539e1e33712030.tar.xz
systemd-init-f19fd7ff96822ae1ce3851f508539e1e33712030.zip
add qemu-nbd build function
Diffstat (limited to 'builder/dnbd3-rootfs/scripts/build.sh')
-rw-r--r--builder/dnbd3-rootfs/scripts/build.sh48
1 files changed, 41 insertions, 7 deletions
diff --git a/builder/dnbd3-rootfs/scripts/build.sh b/builder/dnbd3-rootfs/scripts/build.sh
index e811d932..7a7bfe1c 100644
--- a/builder/dnbd3-rootfs/scripts/build.sh
+++ b/builder/dnbd3-rootfs/scripts/build.sh
@@ -1,7 +1,41 @@
source "$(dirname "${BASH_SOURCE[0]}")/rebash/core.sh"
core.import logging
-function build_compile_nbd() {
+build_clean_qemu_nbd() {
+ # removes qemu-nbd.
+ #
+ rm --recursive --force "$1/*"
+}
+build_compile_qemu_nbd() {
+ # Downloads and compiles qemu-nbd.
+ #
+ # Examples:
+ #
+ # >>> build_compile_qemu_nbd path/to/nbd/directory/
+ # ...
+ # Provides the following file:
+ # "$1/qemu-nbd"
+ logging.info 'Compiling static qemu-nbd binary. This takes a while,' \
+ 'grab a cup of coffee...'
+ # TODO check if need all, after disabling features
+ # TODO check dependencies
+ #su -s /bin/bash nobody
+ #yaourt --noconfirm -S glib2-static glibc-static pcre-static
+ #exit
+ pushd "$1/.."
+ git clone git://git.qemu.org/qemu.git qemu
+ cd qemu
+ # TODO check what other features can be disabled
+ ./configure --static --target-list=x86_64-linux-user \
+ --python=$(which python2) --disable-docs --disable-gtk --disable-vnc \
+ --disable-kvm --disable-libssh2 --enable-user --disable-system \
+ --disable-fdt --disable-libnfs --disable-glusterfs --disable-libiscsi \
+ --disable-gcrypt --disable-nettle && make qemu-nbd
+ local ret=$?
+ popd
+ return $ret
+}
+build_compile_nbd() {
# Downloads and compiles nbd.
#
# Examples:
@@ -16,7 +50,7 @@ function build_compile_nbd() {
popd
return $?
}
-function build_clean_nbd() {
+build_clean_nbd() {
# Cleans nbd specific generated files
#
# Examples:
@@ -30,7 +64,7 @@ function build_clean_nbd() {
popd
return $?
}
-function build_compile_dnbd3() {
+build_compile_dnbd3() {
# Downloads and compiles dnbd3.
#
# Examples:
@@ -47,7 +81,7 @@ function build_compile_dnbd3() {
popd
return $?
}
-function build_clean_dnbd3() {
+build_clean_dnbd3() {
# Removes generated dnbd3 specific files.
#
# Examples:
@@ -59,7 +93,7 @@ function build_clean_dnbd3() {
rm --recursive --force "$1/build"
return $?
}
-function build_compile_systemd_preserve_process_marker() {
+build_compile_systemd_preserve_process_marker() {
# Compiles simple c program.
#
# Examples:
@@ -70,7 +104,7 @@ function build_compile_systemd_preserve_process_marker() {
popd
return $?
}
-function build_clean_systemd_preserve_process_marker() {
+build_clean_systemd_preserve_process_marker() {
# Removes compiled simple c program.
#
# Examples:
@@ -81,7 +115,7 @@ function build_clean_systemd_preserve_process_marker() {
popd
return $?
}
-function build_mount_partition() {
+build_mount_partition() {
# Mounts a partition at given offset.
#
# Examples: