summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominique Martinet <asmadeus@codewreck.org>2016-01-21 15:19:18 +0100
committerDominique Martinet <asmadeus@codewreck.org>2016-01-21 15:27:30 +0100
commit060b1ea63f266318a372936f75d83640dfb98fbb (patch)
treef9e93ff070aa1c6896d675f4ef81bab3e031cd32
parent4a21970d690023d6826b20c31b7c648ff844c255 (diff)
make kvm-wrapper installable
-rw-r--r--.gitignore1
-rw-r--r--Makefile43
-rwxr-xr-xkvm-wrapper.sh6
-rw-r--r--kvm-wrapper.spec33
4 files changed, 79 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index ff35a9c..c36002f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
run
kvm-wrapper.conf
+kvm-wrapper-0.tar.gz
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f913f74
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,43 @@
+# base prefixes
+PREFIX=/usr
+SYSCONFDIR=/etc
+
+#derivated prefixes
+BINDIR=$(PREFIX)/bin
+CONMANDIR=$(PREFIX)/share/conman/exec
+BASHCOMPDIR=$(PREFIX)/share/bash-completion/completions
+SYSTEMDDIR=$(PREFIX)/lib/systemd/system
+
+
+all:
+ @echo "Nothing to build, please run make install"
+
+install:
+ install -d $(DESTDIR)$(SYSCONFDIR)/kvm-wrapper
+ install -m 644 kvm-wrapper.conf kvm-cluster.conf \
+ $(DESTDIR)$(SYSCONFDIR)/kvm-wrapper
+ cp -r bootstrap $(DESTDIR)$(SYSCONFDIR)/kvm-wrapper
+ install -d $(DESTDIR)$(BINDIR)
+ install -m 755 kvm-wrapper.sh $(DESTDIR)$(BINDIR)/kvm-wrapper
+
+ifneq ($(wildcard $(DESTDIR)$(CONMANDIR)/.),)
+ install -m 755 host_config/conman-kvm-wrapper.exp \
+ $(DESTDIR)$(CONMANDIR)/kvm-wrapper.exp
+endif
+
+ifneq ($(wildcard $(DESTDIR)$(BASHCOMPDIR)/.),)
+ install -m 644 host_config/bash_completion.d-kvm-wrapper \
+ $(DESTDIR)$(BASHCOMPDIR)/kvm-wrapper
+endif
+
+ifneq ($(wildcard $(DESTDIR)$(SYSTEMDDIR)/.),)
+ install -m 644 host_config/kvm-wrapper@.service \
+ host_config/kvm-wrapper-cleanup.service \
+ $(DESTDIR)$(SYSTEMDDIR)/
+endif
+
+dist:
+ tar -czf kvm-wrapper-0.tar.gz --transform 's:^./:kvm-wrapper-0/:' --exclude kvm-wrapper-0.tar.gz --exclude .git --exclude vm --exclude run .
+
+rpms: dist
+ rpmbuild -ta kvm-wrapper-0.tar.gz
diff --git a/kvm-wrapper.sh b/kvm-wrapper.sh
index 64c6724..c0c5df4 100755
--- a/kvm-wrapper.sh
+++ b/kvm-wrapper.sh
@@ -9,6 +9,7 @@ SCRIPT_PATH="${BASH_SOURCE[0]}"
SCRIPT_NAME=$(basename "$SCRIPT_PATH")
ROOTDIR=$(readlink -m "$SCRIPT_PATH")
ROOTDIR=$(dirname "$ROOTDIR")
+[[ -r "$ROOTDIR/kvm-wrapper.conf" ]] || ROOTDIR="/etc/kvm-wrapper"
CONFFILE="$ROOTDIR/kvm-wrapper.conf"
function canonpath ()
@@ -686,9 +687,6 @@ function kvm_start_vm ()
prepare_disks
CLEANUP+=("unprepare_disks")
- # Network scripts
- local KVM_NET_SCRIPT="$ROOTDIR/net"
-
local KVM_NET=""
# backward compatibility - prioritize old values because new ones can come from the global config
@@ -1439,7 +1437,7 @@ if [[ $# -le 1 ]]; then
fi
kvm_init_env "$2"
-test_nodename "$KVM_CLUSTER_NODE" && { run_remote $KVM_CLUSTER_NODE $ROOTDIR/kvm-wrapper.sh $@; exit $?; }
+test_nodename "$KVM_CLUSTER_NODE" && { run_remote $KVM_CLUSTER_NODE kvm-wrapper $@; exit $?; }
# Argument parsing
case "$1" in
diff --git a/kvm-wrapper.spec b/kvm-wrapper.spec
new file mode 100644
index 0000000..00dc80b
--- /dev/null
+++ b/kvm-wrapper.spec
@@ -0,0 +1,33 @@
+Name: kvm-wrapper
+Version: 0
+Release: 0.20160120git58bbe76%{?dist}
+Summary: qemu (kvm) wrapper for VM management
+License: WTFPLv2
+
+Source0: %{name}-%{version}.tar.gz
+BuildArch: noarch
+
+%description
+qemu (kvm) wrapper for VM management
+
+%prep
+%setup -q
+
+%build
+# nothing to build
+
+%install
+install -d %{buildroot}/%{_datarootdir}/conman/exec
+install -d %{buildroot}/%{_datarootdir}/bash-completion/completions
+install -d %{buildroot}/%{_unitdir}
+make install DESTDIR=%{buildroot}
+
+%files
+%config(noreplace) /etc/kvm-wrapper/kvm-wrapper.conf
+%config(noreplace) /etc/kvm-wrapper/kvm-cluster.conf
+%{_bindir}/kvm-wrapper
+%{_datarootdir}/conman/exec/kvm-wrapper.exp
+%{_datarootdir}/bash-completion/completions/kvm-wrapper
+%{_unitdir}/kvm-wrapper-cleanup.service
+%{_unitdir}/kvm-wrapper@.service
+/etc/kvm-wrapper/bootstrap