summaryrefslogtreecommitdiff
path: root/community/xe-guest-utilities
diff options
context:
space:
mode:
Diffstat (limited to 'community/xe-guest-utilities')
-rw-r--r--community/xe-guest-utilities/PKGBUILD75
-rw-r--r--community/xe-guest-utilities/ip_address.patch16
-rw-r--r--community/xe-guest-utilities/proc-xen.mount9
-rw-r--r--community/xe-guest-utilities/tmpfile1
-rw-r--r--community/xe-guest-utilities/xe-daemon.service12
-rw-r--r--community/xe-guest-utilities/xe-linux-distribution.service11
6 files changed, 124 insertions, 0 deletions
diff --git a/community/xe-guest-utilities/PKGBUILD b/community/xe-guest-utilities/PKGBUILD
new file mode 100644
index 000000000..f3af11392
--- /dev/null
+++ b/community/xe-guest-utilities/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 91549 2013-05-23 14:44:31Z dwallace $
+# Maintainer: Daniel Wallace <danielwallace at code gtmanfred com>
+# Contributor: Phillip Smith <fukawi2@NO-SPAM.gmail.com>
+# Contributor: Krzysztof Raczkowski <raczkow@gnu-tech.pl>
+
+pkgbase=xe-guest-utilities
+pkgname=('xe-guest-utilities' 'xenstore')
+pkgver=6.1.0
+pkgrel=6
+pkgdesc="Citrix XenServer Tools"
+arch=('i686' 'x86_64')
+url="http://citrix.com/English/ps2/products/product.asp?contentID=683148&ntref=hp_nav_US"
+license=('GPL' 'LGPL')
+makedepends=(python2)
+source=("ftp://ftp.archlinux.org/other/community/$pkgbase/${pkgbase}_${pkgver}-1033.tar.gz"
+ 'ip_address.patch'
+ 'xe-linux-distribution.service'
+ 'xe-daemon.service'
+ 'proc-xen.mount'
+ 'tmpfile')
+md5sums=('26fd52ffc5ddeb7d3e510e6f272c2860'
+ '9bd39e95384056069f7faa870a28413a'
+ '95064a7d8a32cd3aaca14e3b48c69599'
+ '173fed74c76817702b062ed653002db0'
+ '3252fa21362fd55246f9d8b923070151'
+ 'cadad1eb5b1fa6d5fe463a1a0fd82fff')
+
+prepare(){
+ patch -d $srcdir/$pkgname-$pkgver -Np1 -i $srcdir/ip_address.patch
+ bsdtar xf "$srcdir/$pkgname-$pkgver/xenstore-sources.tar.bz2"
+}
+
+build() {
+ export CC=gcc
+ CFLAGS='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess'
+ export CFLAGS
+ export PYTHON=python2
+ cd "$srcdir/uclibc-sources"
+ make -C tools/include
+ make -C tools/libxc
+ make -C tools/xenstore
+}
+
+package_xenstore() {
+ depends=(bzip2 lzo2 zlib xz)
+ export CFLAGS+='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess'
+ if [[ $CARCH == x86_64 ]]; then
+ export LIBLEAFDIR_x86_64=lib
+ fi
+ for f in include libxc xenstore; do
+ [[ ! -d "$srcdir"/uclibc-sources/tools/$f ]] && continue
+ make -C ""$srcdir"/uclibc-sources/tools/$f" DESTDIR="$pkgdir" SBINDIR=/usr/bin install
+ done
+ cd "$srcdir/$pkgbase-$pkgver"
+ install -Dm644 "COPYING.LGPL" "$pkgdir/usr/share/licenses/$pkgname/COPYING.LGPL"
+ install -Dm644 "COPYING" "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -Dm644 $srcdir/proc-xen.mount "$pkgdir/usr/lib/systemd/system/proc-xen.mount"
+ install -Dm644 $srcdir/tmpfile "$pkgdir/usr/lib/tmpfiles.d/30-xenstored.conf"
+ rm -r "$pkgdir"/var
+}
+
+package_xe-guest-utilities(){
+ cd "$srcdir/$pkgname-$pkgver"
+ depends=('xenstore' 'bash')
+ install -Dm755 xe-linux-distribution "$pkgdir/usr/bin/xe-linux-distribution"
+ install -Dm755 xe-update-guest-attrs "$pkgdir/usr/bin/xe-update-guest-attrs"
+ install -Dm755 xe-daemon "$pkgdir/usr/bin/xe-daemon"
+ install -Dm644 xen-vcpu-hotplug.rules "$pkgdir/usr/lib/udev/rules.d/10-xen-vcpu-hotplug.rules"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ install -Dm644 $srcdir/xe-daemon.service "$pkgdir/usr/lib/systemd/system/xe-daemon.service"
+ install -Dm644 $srcdir/xe-linux-distribution.service "$pkgdir/usr/lib/systemd/system/"
+ sed -i 's:sbin:bin:' $pkgdir/usr/bin/xe-daemon
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/xe-guest-utilities/ip_address.patch b/community/xe-guest-utilities/ip_address.patch
new file mode 100644
index 000000000..3142c3d6b
--- /dev/null
+++ b/community/xe-guest-utilities/ip_address.patch
@@ -0,0 +1,16 @@
+diff -uNr a/xe-update-guest-attrs b/xe-update-guest-attrs
+--- a/xe-update-guest-attrs 2012-09-25 12:45:14.000000000 +0200
++++ b/xe-update-guest-attrs 2012-11-21 16:46:35.000000000 +0100
+@@ -177,9 +177,9 @@
+ # collisions:0 txqueuelen:0
+ # RX bytes:3604609 (3.4 MiB) TX bytes:3604609 (3.4 MiB)
+
+-ifs=`/sbin/ifconfig | sed -n -e 's/^\([a-z0-9]\+\).*/name \1/p' \
+- -e 's/.*inet addr:\('$IPADDR_RE'\) .*/ipv4 \1/p' \
+- -e 's+.*inet6 addr: \('$IPADDR6_RE'\)/.*+ipv6 \1+p' | \
++ifs=`ip addr show | sed -n -e 's/^[[:digit:]]*: \([a-z0-9]*\): .*/name \1 /gp;' \
++ -e 's/^[[:space:]]\{4\}inet \('${IPADDR_RE}'\)\/.*/ipv4 \1 /gp;' \
++ -e 's/^[[:space:]]\{4\}inet6 \('${IPADDR6_RE}'\)\/.*/ipv6 \1 /gp;' | \
+ while read tag value; do
+ case "${tag}" in
+ name)
diff --git a/community/xe-guest-utilities/proc-xen.mount b/community/xe-guest-utilities/proc-xen.mount
new file mode 100644
index 000000000..0eaa59c5f
--- /dev/null
+++ b/community/xe-guest-utilities/proc-xen.mount
@@ -0,0 +1,9 @@
+[Unit]
+Description=Mount /proc/xen files
+ConditionPathExists=/proc/xen
+RefuseManualStop=true
+
+[Mount]
+What=xenfs
+Where=/proc/xen
+Type=xenfs
diff --git a/community/xe-guest-utilities/tmpfile b/community/xe-guest-utilities/tmpfile
new file mode 100644
index 000000000..44337cf44
--- /dev/null
+++ b/community/xe-guest-utilities/tmpfile
@@ -0,0 +1 @@
+d /run/xenstored 0755 - - -
diff --git a/community/xe-guest-utilities/xe-daemon.service b/community/xe-guest-utilities/xe-daemon.service
new file mode 100644
index 000000000..0a5a6ee92
--- /dev/null
+++ b/community/xe-guest-utilities/xe-daemon.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=xen daemon file
+After=xe-linux-distribution.service
+Requires=proc-xen.mount
+
+[Service]
+PIDFile=/run/xe-daemon.pid
+ExecStart=/usr/bin/xe-daemon -p /run/xe-daemon.pid
+ExecStop=/usr/bin/pkill -TERM -F /run/xe-daemon.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/xe-guest-utilities/xe-linux-distribution.service b/community/xe-guest-utilities/xe-linux-distribution.service
new file mode 100644
index 000000000..eb0b32ff4
--- /dev/null
+++ b/community/xe-guest-utilities/xe-linux-distribution.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=xen linux distribution service
+Before=xend.service
+
+[Service]
+Type=simple
+RemainAfterExit=yes
+ExecStart=/usr/bin/xe-linux-distribution /var/cache/xe-linux-distribution
+
+[Install]
+WantedBy=multi-user.target