Initial SRPM import
Signed-off-by: Tomas Hozza <thozza@redhat.com>
This commit is contained in:
parent
0c8ad59152
commit
8e8f9a7b03
6
.gitignore
vendored
6
.gitignore
vendored
@ -0,0 +1,6 @@
|
|||||||
|
/hv_get_dhcp_info.sh
|
||||||
|
/hv_get_dns_info.sh
|
||||||
|
/hv_kvp_daemon.c
|
||||||
|
/hv_set_ifconfig.sh
|
||||||
|
/hv_vss_daemon.c
|
||||||
|
/COPYING
|
229
hyperv-daemons.spec
Normal file
229
hyperv-daemons.spec
Normal file
@ -0,0 +1,229 @@
|
|||||||
|
# HyperV KVP daemon binary name
|
||||||
|
%global hv_kvp_daemon hypervkvpd
|
||||||
|
# HyperV VSS daemon binary name
|
||||||
|
%global hv_vss_daemon hypervvssd
|
||||||
|
# snapshot version
|
||||||
|
%global snapver .20130826git
|
||||||
|
# use hardened build
|
||||||
|
%global _hardened_build 1
|
||||||
|
|
||||||
|
Name: hyperv-daemons
|
||||||
|
Version: 0
|
||||||
|
Release: 0.1%{?snapver}%{?dist}
|
||||||
|
Summary: HyperV daemons suite
|
||||||
|
|
||||||
|
Group: System Environment/Daemons
|
||||||
|
License: GPLv2
|
||||||
|
URL: http://www.kernel.org
|
||||||
|
|
||||||
|
# Source files obtained from kernel upstream 2013-08-26.
|
||||||
|
# git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
|
||||||
|
# The daemon and scripts are located in "master branch - /tools/hv"
|
||||||
|
# COPYING -> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/plain/COPYING?id=refs/tags/next-20130822
|
||||||
|
Source0: COPYING
|
||||||
|
|
||||||
|
# HYPERV KVP DAEMON
|
||||||
|
# hv_kvp_daemon.c -> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/plain/tools/hv/hv_kvp_daemon.c?id=refs/tags/next-20130822
|
||||||
|
Source1: hv_kvp_daemon.c
|
||||||
|
# hv_get_dhcp_info.sh -> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/plain/tools/hv/hv_get_dhcp_info.sh?id=refs/tags/next-20130822
|
||||||
|
Source2: hv_get_dhcp_info.sh
|
||||||
|
# hv_get_dns_info.sh -> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/plain/tools/hv/hv_get_dns_info.sh?id=refs/tags/next-20130822
|
||||||
|
Source3: hv_get_dns_info.sh
|
||||||
|
# hv_set_ifconfig.sh -> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/plain/tools/hv/hv_set_ifconfig.sh?id=refs/tags/next-20130822
|
||||||
|
Source4: hv_set_ifconfig.sh
|
||||||
|
Source5: hypervkvpd.service
|
||||||
|
|
||||||
|
# HYPERV VSS DAEMON
|
||||||
|
# hv_vss_daemon.c -> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/plain/tools/hv/hv_vss_daemon.c?id=refs/tags/next-20130822
|
||||||
|
Source100: hv_vss_daemon.c
|
||||||
|
Source101: hypervvssd.service
|
||||||
|
|
||||||
|
# HYPERV KVP DAEMON
|
||||||
|
# Correct paths to external scripts ("/usr/libexec/hypervkvpd").
|
||||||
|
Patch0: hypervkvpd-0-corrected_paths_to_external_scripts.patch
|
||||||
|
# use quoted include for linux/hyperv.h because we use gcc option
|
||||||
|
# -iquote for include PATH where it is located. This is because
|
||||||
|
# some headers in system include PATH are also in kernel-devel
|
||||||
|
# package.
|
||||||
|
Patch1: hypervkvpd-0-include_fix.patch
|
||||||
|
# rhbz#872566
|
||||||
|
Patch2: hypervkvpd-0-long_file_names_from_readdir.patch
|
||||||
|
# Remove daemon() call and let systemd handle it
|
||||||
|
Patch3: hypervkvpd-0-dont_call_deamon.patch
|
||||||
|
|
||||||
|
# HYPERV VSS DAEMON
|
||||||
|
# use quoted include for linux/hyperv.h because we use gcc option
|
||||||
|
# -iquote for include PATH where it is located. This is because
|
||||||
|
# some headers in system include PATH are also in kernel-devel
|
||||||
|
# package.
|
||||||
|
Patch100: hypervvssd-0-fix_includes.patch
|
||||||
|
# Remove daemon() call and let systemd handle it
|
||||||
|
Patch101: hypervvssd-0-dont_call_daemon.patch
|
||||||
|
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
# HyperV is available only on x86 architectures
|
||||||
|
ExclusiveArch: i686 x86_64
|
||||||
|
Requires: hypervkvpd = %{version}-%{release}
|
||||||
|
Requires: hypervvssd = %{version}-%{release}
|
||||||
|
|
||||||
|
%description
|
||||||
|
Suite of daemons that are needed when Linux guest
|
||||||
|
is running on Windows Host with HyperV.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n hypervkvpd
|
||||||
|
Summary: HyperV key value pair (KVP) daemon
|
||||||
|
Group: System Environment/Daemons
|
||||||
|
Requires: %{name}-license = %{version}-%{release}
|
||||||
|
BuildRequires: systemd, kernel-devel
|
||||||
|
Requires(post): systemd
|
||||||
|
Requires(preun): systemd
|
||||||
|
Requires(postun): systemd
|
||||||
|
|
||||||
|
%description -n hypervkvpd
|
||||||
|
Hypervkvpd is an implementation of HyperV key value pair (KVP)
|
||||||
|
functionality for Linux. The daemon first registers with the
|
||||||
|
kernel driver. After this is done it collects information
|
||||||
|
requested by Windows Host about the Linux Guest. It also supports
|
||||||
|
IP injection functionality on the Guest.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n hypervvssd
|
||||||
|
Summary: HyperV VSS daemon
|
||||||
|
Group: System Environment/Daemons
|
||||||
|
Requires: %{name}-license = %{version}-%{release}
|
||||||
|
BuildRequires: systemd, kernel-devel
|
||||||
|
Requires(post): systemd
|
||||||
|
Requires(preun): systemd
|
||||||
|
Requires(postun): systemd
|
||||||
|
|
||||||
|
%description -n hypervvssd
|
||||||
|
Hypervvssd is an implementation of HyperV VSS functionality
|
||||||
|
for Linux. The daemon is used for host initiated guest snapshot
|
||||||
|
on HyperV hypervisor. The daemon first registers with the
|
||||||
|
kernel driver. After this is done it waits for instructions
|
||||||
|
from Windows Host if to "freeze" or "thaw" the filesystem
|
||||||
|
on the Linux Guest.
|
||||||
|
|
||||||
|
|
||||||
|
%package license
|
||||||
|
Summary: License of the HyperV daemons suite
|
||||||
|
Group: Applications/System
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description license
|
||||||
|
Contains license of the HyperV daemons suite.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -Tc
|
||||||
|
cp -pvL %{SOURCE0} COPYING
|
||||||
|
|
||||||
|
cp -pvL %{SOURCE1} hv_kvp_daemon.c
|
||||||
|
cp -pvL %{SOURCE2} hv_get_dhcp_info.sh
|
||||||
|
cp -pvL %{SOURCE3} hv_get_dns_info.sh
|
||||||
|
cp -pvL %{SOURCE4} hv_set_ifconfig.sh
|
||||||
|
cp -pvL %{SOURCE5} hypervkvpd.service
|
||||||
|
|
||||||
|
cp -pvL %{SOURCE100} hv_vss_daemon.c
|
||||||
|
cp -pvL %{SOURCE101} hypervvssd.service
|
||||||
|
|
||||||
|
%patch0 -p1 -b .external_scripts
|
||||||
|
%patch1 -p1 -b .include
|
||||||
|
%patch2 -p1 -b .long_names
|
||||||
|
%patch3 -p1 -b .daemon
|
||||||
|
|
||||||
|
%patch100 -p1 -b .include
|
||||||
|
%patch101 -p1 -b .daemon
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# kernel-devel version
|
||||||
|
%{!?kversion: %global kversion `ls %{_usrsrc}/kernels | sort -dr | head -n 1`}
|
||||||
|
|
||||||
|
# HYPERV KVP DAEMON
|
||||||
|
gcc \
|
||||||
|
$RPM_OPT_FLAGS \
|
||||||
|
-iquote %{_usrsrc}/kernels/%{kversion}/include \
|
||||||
|
-c hv_kvp_daemon.c
|
||||||
|
|
||||||
|
gcc \
|
||||||
|
$RPM_LD_FLAGS \
|
||||||
|
hv_kvp_daemon.o \
|
||||||
|
-o %{hv_kvp_daemon}
|
||||||
|
|
||||||
|
# HYPERV VSS DAEMON
|
||||||
|
gcc \
|
||||||
|
$RPM_OPT_FLAGS \
|
||||||
|
-iquote %{_usrsrc}/kernels/%{kversion}/include \
|
||||||
|
-c hv_vss_daemon.c
|
||||||
|
|
||||||
|
gcc \
|
||||||
|
$RPM_LD_FLAGS \
|
||||||
|
hv_vss_daemon.o \
|
||||||
|
-o %{hv_vss_daemon}
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_sbindir}
|
||||||
|
install -p -m 0755 %{hv_kvp_daemon} %{buildroot}%{_sbindir}
|
||||||
|
install -p -m 0755 %{hv_vss_daemon} %{buildroot}%{_sbindir}
|
||||||
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
|
# Systemd unit file
|
||||||
|
install -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}
|
||||||
|
install -p -m 0644 %{SOURCE101} %{buildroot}%{_unitdir}
|
||||||
|
# Shell scripts for the daemon
|
||||||
|
mkdir -p %{buildroot}%{_libexecdir}/%{name}
|
||||||
|
install -p -m 0755 hv_get_dhcp_info.sh %{buildroot}%{_libexecdir}/%{name}/hv_get_dhcp_info
|
||||||
|
install -p -m 0755 hv_get_dns_info.sh %{buildroot}%{_libexecdir}/%{name}/hv_get_dns_info
|
||||||
|
install -p -m 0755 hv_set_ifconfig.sh %{buildroot}%{_libexecdir}/%{name}/hv_set_ifconfig
|
||||||
|
# Directory for pool files
|
||||||
|
mkdir -p %{buildroot}%{_sharedstatedir}/hyperv
|
||||||
|
|
||||||
|
|
||||||
|
%post -n hypervkvpd
|
||||||
|
%systemd_post hypervkvpd.service
|
||||||
|
|
||||||
|
%preun -n hypervkvpd
|
||||||
|
%systemd_preun hypervkvpd.service
|
||||||
|
|
||||||
|
%postun -n hypervkvpd
|
||||||
|
# hypervkvpd daemon does NOT support restarting (driver, neither)
|
||||||
|
%systemd_postun hypervkvpd.service
|
||||||
|
# If removing the package, delete %%{_sharedstatedir}/hyperv directory
|
||||||
|
if [ "$1" -eq "0" ] ; then
|
||||||
|
rm -rf %{_sharedstatedir}/hyperv || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%post -n hypervvssd
|
||||||
|
%systemd_post hypervvssd.service
|
||||||
|
|
||||||
|
%postun -n hypervvssd
|
||||||
|
%systemd_postun hypervvssd.service
|
||||||
|
|
||||||
|
%preun -n hypervvssd
|
||||||
|
%systemd_preun hypervvssd.service
|
||||||
|
|
||||||
|
|
||||||
|
%files -n hypervkvpd
|
||||||
|
%{_sbindir}/%{hv_kvp_daemon}
|
||||||
|
%{_unitdir}/hypervkvpd.service
|
||||||
|
%dir %{_libexecdir}/%{name}
|
||||||
|
%{_libexecdir}/%{name}/hv_get_dhcp_info
|
||||||
|
%{_libexecdir}/%{name}/hv_get_dns_info
|
||||||
|
%{_libexecdir}/%{name}/hv_set_ifconfig
|
||||||
|
%dir %{_sharedstatedir}/hyperv
|
||||||
|
|
||||||
|
%files -n hypervvssd
|
||||||
|
%{_sbindir}/%{hv_vss_daemon}
|
||||||
|
%{_unitdir}/hypervvssd.service
|
||||||
|
|
||||||
|
%files license
|
||||||
|
%doc COPYING
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Aug 26 2013 Tomas Hozza <thozza@redhat.com> - 0-0.1.20130826git
|
||||||
|
- Initial package
|
45
hypervkvpd-0-corrected_paths_to_external_scripts.patch
Normal file
45
hypervkvpd-0-corrected_paths_to_external_scripts.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From c8cec9f3f9c34aa824e652a01ae08e7e7a621daa Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Hozza <thozza@redhat.com>
|
||||||
|
Date: Wed, 26 Sep 2012 10:26:55 +0200
|
||||||
|
Subject: [PATCH] Corrected paths to hypervkvpd external scripts.
|
||||||
|
|
||||||
|
Corrected paths to hypervkvpd external scripts, because
|
||||||
|
they will be located in "/usr/libexec/hypervkvpd".
|
||||||
|
---
|
||||||
|
hv_kvp_daemon.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hv_kvp_daemon.c b/hv_kvp_daemon.c
|
||||||
|
index 5959aff..3ea3af2 100644
|
||||||
|
--- a/hv_kvp_daemon.c
|
||||||
|
+++ b/hv_kvp_daemon.c
|
||||||
|
@@ -812,7 +812,7 @@ static void kvp_get_ipconfig_info(char *if_name,
|
||||||
|
* .
|
||||||
|
*/
|
||||||
|
|
||||||
|
- sprintf(cmd, "%s", "hv_get_dns_info");
|
||||||
|
+ sprintf(cmd, "%s", "/usr/libexec/hypervkvpd/hv_get_dns_info");
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Execute the command to gather DNS info.
|
||||||
|
@@ -829,7 +829,7 @@ static void kvp_get_ipconfig_info(char *if_name,
|
||||||
|
* Enabled: DHCP enabled.
|
||||||
|
*/
|
||||||
|
|
||||||
|
- sprintf(cmd, "%s %s", "hv_get_dhcp_info", if_name);
|
||||||
|
+ sprintf(cmd, "%s %s", "/usr/libexec/hypervkvpd/hv_get_dhcp_info", if_name);
|
||||||
|
|
||||||
|
file = popen(cmd, "r");
|
||||||
|
if (file == NULL)
|
||||||
|
@@ -1331,7 +1331,7 @@ setval_done:
|
||||||
|
* invoke the external script to do its magic.
|
||||||
|
*/
|
||||||
|
|
||||||
|
- snprintf(cmd, sizeof(cmd), "%s %s", "hv_set_ifconfig", if_file);
|
||||||
|
+ snprintf(cmd, sizeof(cmd), "%s %s", "/usr/libexec/hypervkvpd/hv_set_ifconfig", if_file);
|
||||||
|
if (system(cmd)) {
|
||||||
|
syslog(LOG_ERR, "Failed to execute cmd '%s'; error: %d %s",
|
||||||
|
cmd, errno, strerror(errno));
|
||||||
|
--
|
||||||
|
1.7.11.4
|
||||||
|
|
12
hypervkvpd-0-dont_call_deamon.patch
Normal file
12
hypervkvpd-0-dont_call_deamon.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up hypervkvpd-0/hv_kvp_daemon.c.daemon hypervkvpd-0/hv_kvp_daemon.c
|
||||||
|
--- hypervkvpd-0/hv_kvp_daemon.c.daemon 2013-08-09 10:51:41.020041192 +0200
|
||||||
|
+++ hypervkvpd-0/hv_kvp_daemon.c 2013-08-09 10:53:23.217056215 +0200
|
||||||
|
@@ -1434,8 +1434,6 @@ int main(void)
|
||||||
|
char *kvp_recv_buffer;
|
||||||
|
size_t kvp_recv_buffer_len;
|
||||||
|
|
||||||
|
- if (daemon(1, 0))
|
||||||
|
- return 1;
|
||||||
|
openlog("KVP", 0, LOG_USER);
|
||||||
|
syslog(LOG_INFO, "KVP starting; pid is:%d", getpid());
|
||||||
|
|
21
hypervkvpd-0-include_fix.patch
Normal file
21
hypervkvpd-0-include_fix.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff -up hypervkvpd-0/hv_kvp_daemon.c.include hypervkvpd-0/hv_kvp_daemon.c
|
||||||
|
--- hypervkvpd-0/hv_kvp_daemon.c.include 2013-03-20 14:47:30.812899613 +0100
|
||||||
|
+++ hypervkvpd-0/hv_kvp_daemon.c 2013-03-20 14:47:42.337896971 +0100
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/poll.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
-#include <linux/types.h>
|
||||||
|
+/* #include <linux/types.h> */
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
@@ -35,7 +35,7 @@
|
||||||
|
#include <errno.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <linux/connector.h>
|
||||||
|
-#include <linux/hyperv.h>
|
||||||
|
+#include "linux/hyperv.h"
|
||||||
|
#include <linux/netlink.h>
|
||||||
|
#include <ifaddrs.h>
|
||||||
|
#include <netdb.h>
|
92
hypervkvpd-0-long_file_names_from_readdir.patch
Normal file
92
hypervkvpd-0-long_file_names_from_readdir.patch
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
From 396ee697e4d5c7d10bacf6d4670fb4ddab357330 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Hozza <thozza@redhat.com>
|
||||||
|
Date: Mon, 5 Nov 2012 13:56:02 +0100
|
||||||
|
Subject: [PATCH] Tools: hv: Fix for long file names from readdir
|
||||||
|
|
||||||
|
kvp_get_if_name and kvp_mac_to_if_name copy strings into statically
|
||||||
|
sized buffers which could be too small to store really long names.
|
||||||
|
|
||||||
|
Buffer sizes have been increased and length checks added via snprintf.
|
||||||
|
---
|
||||||
|
hv_kvp_daemon.c | 26 +++++++++-----------------
|
||||||
|
1 file changed, 9 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hv_kvp_daemon.c b/hv_kvp_daemon.c
|
||||||
|
index 3ea3af2..4c2ab6a 100755
|
||||||
|
--- a/hv_kvp_daemon.c
|
||||||
|
+++ b/hv_kvp_daemon.c
|
||||||
|
@@ -44,6 +44,7 @@
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
+#include <limits.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* KVP protocol: The user mode component first registers with the
|
||||||
|
@@ -588,26 +589,22 @@ static char *kvp_get_if_name(char *guid)
|
||||||
|
DIR *dir;
|
||||||
|
struct dirent *entry;
|
||||||
|
FILE *file;
|
||||||
|
- char *p, *q, *x;
|
||||||
|
+ char *p, *x;
|
||||||
|
char *if_name = NULL;
|
||||||
|
char buf[256];
|
||||||
|
char *kvp_net_dir = "/sys/class/net/";
|
||||||
|
- char dev_id[256];
|
||||||
|
+ char dev_id[PATH_MAX];
|
||||||
|
|
||||||
|
dir = opendir(kvp_net_dir);
|
||||||
|
if (dir == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
- snprintf(dev_id, sizeof(dev_id), "%s", kvp_net_dir);
|
||||||
|
- q = dev_id + strlen(kvp_net_dir);
|
||||||
|
-
|
||||||
|
while ((entry = readdir(dir)) != NULL) {
|
||||||
|
/*
|
||||||
|
* Set the state for the next pass.
|
||||||
|
*/
|
||||||
|
- *q = '\0';
|
||||||
|
- strcat(dev_id, entry->d_name);
|
||||||
|
- strcat(dev_id, "/device/device_id");
|
||||||
|
+ snprintf(dev_id, sizeof(dev_id), "%s%s/device/device_id", kvp_net_dir,
|
||||||
|
+ entry->d_name);
|
||||||
|
|
||||||
|
file = fopen(dev_id, "r");
|
||||||
|
if (file == NULL)
|
||||||
|
@@ -680,28 +677,23 @@ static char *kvp_mac_to_if_name(char *mac)
|
||||||
|
DIR *dir;
|
||||||
|
struct dirent *entry;
|
||||||
|
FILE *file;
|
||||||
|
- char *p, *q, *x;
|
||||||
|
+ char *p, *x;
|
||||||
|
char *if_name = NULL;
|
||||||
|
char buf[256];
|
||||||
|
char *kvp_net_dir = "/sys/class/net/";
|
||||||
|
- char dev_id[256];
|
||||||
|
+ char dev_id[PATH_MAX];
|
||||||
|
int i;
|
||||||
|
|
||||||
|
dir = opendir(kvp_net_dir);
|
||||||
|
if (dir == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
- snprintf(dev_id, sizeof(dev_id), kvp_net_dir);
|
||||||
|
- q = dev_id + strlen(kvp_net_dir);
|
||||||
|
-
|
||||||
|
while ((entry = readdir(dir)) != NULL) {
|
||||||
|
/*
|
||||||
|
* Set the state for the next pass.
|
||||||
|
*/
|
||||||
|
- *q = '\0';
|
||||||
|
-
|
||||||
|
- strcat(dev_id, entry->d_name);
|
||||||
|
- strcat(dev_id, "/address");
|
||||||
|
+ snprintf(dev_id, sizeof(dev_id), "%s%s/address", kvp_net_dir,
|
||||||
|
+ entry->d_name);
|
||||||
|
|
||||||
|
file = fopen(dev_id, "r");
|
||||||
|
if (file == NULL)
|
||||||
|
--
|
||||||
|
1.7.11.7
|
||||||
|
|
10
hypervkvpd.service
Normal file
10
hypervkvpd.service
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Hyper-V KVP daemon
|
||||||
|
ConditionVirtualization=microsoft
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/sbin/hypervkvpd
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=basic.target
|
13
hypervvssd-0-dont_call_daemon.patch
Normal file
13
hypervvssd-0-dont_call_daemon.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -up ./hv_vss_daemon.c.daemon ./hv_vss_daemon.c
|
||||||
|
--- ./hv_vss_daemon.c.daemon 2013-06-26 10:26:42.272419971 +0200
|
||||||
|
+++ ./hv_vss_daemon.c 2013-06-26 10:27:12.894443174 +0200
|
||||||
|
@@ -148,9 +148,6 @@ int main(void)
|
||||||
|
char *vss_recv_buffer;
|
||||||
|
size_t vss_recv_buffer_len;
|
||||||
|
|
||||||
|
- if (daemon(1, 0))
|
||||||
|
- return 1;
|
||||||
|
-
|
||||||
|
openlog("Hyper-V VSS", 0, LOG_USER);
|
||||||
|
syslog(LOG_INFO, "VSS starting; pid is:%d", getpid());
|
||||||
|
|
12
hypervvssd-0-fix_includes.patch
Normal file
12
hypervvssd-0-fix_includes.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up ./hv_vss_daemon.c.include ./hv_vss_daemon.c
|
||||||
|
--- ./hv_vss_daemon.c.include 2013-06-26 10:36:36.444910963 +0200
|
||||||
|
+++ ./hv_vss_daemon.c 2013-06-26 10:37:22.115951240 +0200
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <linux/fs.h>
|
||||||
|
#include <linux/connector.h>
|
||||||
|
-#include <linux/hyperv.h>
|
||||||
|
+#include "linux/hyperv.h"
|
||||||
|
#include <linux/netlink.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
|
9
hypervvssd.service
Normal file
9
hypervvssd.service
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Hyper-V VSS daemon
|
||||||
|
ConditionVirtualization=microsoft
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/sbin/hypervvssd
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=basic.target
|
6
sources
6
sources
@ -0,0 +1,6 @@
|
|||||||
|
5a1b4a81be9d5bbbf8869976408354e8 hv_get_dhcp_info.sh
|
||||||
|
dbb5cc7ec83ccc7b1c39458a7521c9b4 hv_get_dns_info.sh
|
||||||
|
38064680ecf579444d853803ab265528 hv_kvp_daemon.c
|
||||||
|
da7f77aa7507e950851cbb53673ce5d4 hv_set_ifconfig.sh
|
||||||
|
8ae1875cc2bbf54e4a0b39f9f75a457d hv_vss_daemon.c
|
||||||
|
d7810fab7487fb0aad327b76f1be7cd7 COPYING
|
Loading…
Reference in New Issue
Block a user