Subject: [alpine-aports] [PATCH 17/20] testing/lz4: new aport lossless compression algorithm http://www.lz4.info

From: Stuart Cardall <[email-masked]>
Date: Mon, 20 Apr 2015 11:14:31 +0000

required for the new spice-gtk 0.28 update patch to follow
---
 testing/lz4/APKBUILD | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 testing/lz4/APKBUILD

diff --git a/testing/lz4/APKBUILD b/testing/lz4/APKBUILD
new file mode 100644
index 0000000..4fc0589
--- /dev/null
+++ b/testing/lz4/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Stuart Cardall <[email-masked]>
+# Maintainer: Stuart Cardall <[email-masked]>
+pkgname=lz4
+pkgver=128
+_pkgver=r${pkgver}
+pkgrel=0
+pkgdesc="LZ4 is lossless compression algorithm with fast decoder @ multiple GB/s per core."
+url="http://www.lz4.info"
+arch="all"
+license="BSD / GPLv2"
+depends=""
+depends_dev=""
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/Cyan4973/lz4/archive/$_pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$_pkgver
+prepare() {
+	local i
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
+build() {
+	cd "$_builddir"
+        export PREFIX="/usr"
+        make || return 1
+}
+
+package() {
+	cd "$_builddir"
+	make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="ebcc102f31e890974f96b7a05861d9fd  r128.tar.gz"
+sha256sums="cb08a99a9d0bea4aa5a4707070c574fc0e4dab549522a171b8078b8a1f50c7d1  r128.tar.gz"
+sha512sums="1574fa4e54a376b71745282bc50ab6bf1bb7379941bb5b07e4a23860a79fd7921b798d0edba6af450b40eb2632d0dfe3accb69028ca834d822c74bde5d15035f  r128.tar.gz"
-- 
2.3.5

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Stuart Cardall <[email-masked]>
Date: Mon, 20 Apr 2015 11:14:32 +0000

This build includes support for lz4 compression.
---
 main/spice-gtk/APKBUILD | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/main/spice-gtk/APKBUILD b/main/spice-gtk/APKBUILD
index 6205861..dd3ebf4 100644
--- a/main/spice-gtk/APKBUILD
+++ b/main/spice-gtk/APKBUILD
@@ -1,16 +1,16 @@
 # Contributor: Natanael Copa <[email-masked]>
 # Maintainer: Natanael Copa <[email-masked]>
 pkgname=spice-gtk
-pkgver=0.25
-pkgrel=1
+pkgver=0.28
+pkgrel=0
 pkgdesc="A GTK+ widget for SPICE clients"
 url="http://spice-space.org/page/Spice-Gtk"
 arch="all"
 license="LGPLv2+"
 depends=""
 depends_dev="gtk+3.0-dev celt051-dev polkit-dev libxrandr-dev openssl-dev
-	cyrus-sasl-dev gst-plugins-base0.10-dev libjpeg-turbo-dev zlib-dev
-	acl-dev"
+	cyrus-sasl-dev gst-plugins-base1-dev libjpeg-turbo-dev zlib-dev
+	acl-dev lz4-dev"
 makedepends="$depends_dev bash usbutils python-dev udev-dev
 	usbredir-dev libusb-dev libsoup-dev
 	polkit-dev py-parsing gobject-introspection-dev
@@ -75,6 +75,6 @@ glib() {
 	done
 }
 
-md5sums="a79f1ff8b21d295b2a028e52708fb551  spice-gtk-0.25.tar.bz2"
-sha256sums="0730c6a80ad9f5012f65927d443377019f300573f7ccc93db84eadec462ad087  spice-gtk-0.25.tar.bz2"
-sha512sums="5d44ffa784af3c94492e80129b7350065f4d108c8e3bc42be673fc1f42b47023757d0b8131d047432b7c59c03662db0652759cb4bdf677062a6d1e0508d02bd9  spice-gtk-0.25.tar.bz2"
+md5sums="ad07d438ce6dfbb038aa8e28f5a2fb81  spice-gtk-0.28.tar.bz2"
+sha256sums="15aeeb63422cb3bfaa2edbf4602ed2025baa4455abfd1677f631245a0d0f81c4  spice-gtk-0.28.tar.bz2"
+sha511sums="a183ab3d9a463de13acc3333d6927fbaba00f184b40f4346d1fd4de94a3394a6cdfeb51b02666be9154d9f65184d1499560f2aa5a387a526915671e951e1493f  spice-gtk-0.28.tar.bz2"
-- 
2.3.5

---

---

From: Leonardo Arena <[email-masked]>
Date: Mon, 27 Apr 2015 09:10:18 +0200

>  1 file changed, 7 insertions(+), 7 deletions(-)

Hi!

A package in main cannot build if one of its depends (lz4) are in
testing. So it got moved into main.

Thanks!

- leo

---

From: Stuart Cardall <[email-masked]>
Date: Mon, 20 Apr 2015 11:14:33 +0000

This is a slight improvement over the Spicy Client - supports
auto resizing & includes a screen bar to 'leave fullscreen' /
usb redirection / send special keystrokes.

Copy & paste functionality tested on 32 / 64 bit.
---
 testing/virt-viewer/APKBUILD | 47 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 testing/virt-viewer/APKBUILD

diff --git a/testing/virt-viewer/APKBUILD b/testing/virt-viewer/APKBUILD
new file mode 100644
index 0000000..95ec2f5
--- /dev/null
+++ b/testing/virt-viewer/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Stuart Cardall <[email-masked]>
+# Maintainer: Stuart Cardall <[email-masked]>
+pkgname=virt-viewer
+pkgver=2.0
+pkgrel=0
+pkgdesc="A lightweight interface for interacting with the graphical display of virtualized guest OS"
+url="http://virt-manager.org"
+arch="all"
+license="GPL"
+depends=""
+depends_dev=""
+makedepends="$depends_dev intltool spice-protocol glib-dev gtk+3.0-dev gtk-vnc-dev spice-gtk-dev"
+install=""
+subpackages="$pkgname-lang $pkgname-doc"
+source="http://virt-manager.org/download/sources/$pkgname/$pkgname-$pkgver.tar.gz"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+	local i
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
+build() {
+	cd "$_builddir"
+	./configure \
+		--prefix=/usr \
+		--with-gtk=3.0 \
+		--disable-update-mimedb \
+		--with-gtk-vnc \
+		--with-spice-gtk \
+	|| return 1
+	make || return 1
+}
+
+package() {
+	cd "$_builddir"
+	make DESTDIR="$pkgdir" install
+}
+
+md5sums="4b1e9a2029e0dfff741e17bb915f75ec  virt-viewer-2.0.tar.gz"
+sha256sums="e9c583bcb5acdabac6a8a13eff6ce4e093a3050645771628f832e15ce685d437  virt-viewer-2.0.tar.gz"
+sha512sums="271ded11e4af3f1dd208c7b8ab7d1c0cd24f641a79e05178d0762a03de3dcf99ae7432acde2b67460e7a98d1fa562587b6b08cf06ab3cf80f025a7b259e8203e  virt-viewer-2.0.tar.gz"
-- 
2.3.5

---

---

From: Leonardo Arena <[email-masked]>
Date: Mon, 27 Apr 2015 09:15:45 +0200

>  create mode 100644 testing/virt-viewer/APKBUILD

Applied, thanks!

- leo

---

From: Stuart Cardall <[email-masked]>
Date: Mon, 20 Apr 2015 11:14:34 +0000

This patch adds an init script for copy & paste functionality between
the guest & host. Run 'rc-service spice-vdagentd info' for details on
the settings for libvirt.

By default this runs with a single session possible. For multiple sessions
remove '-X' to disable consolekit from the init script & install slim or lxdm.

Tested on 32 & 64 bit KVM - but should also work on XEN / LXC run by libvirt.
---
 testing/spice-vdagent/APKBUILD                     | 23 +++--
 .../fix-memcpy-memset-implicit-declaration.patch   | 11 +++
 testing/spice-vdagent/spice-vdagentd.initd         | 97 ++++++++++++++++++++++
 3 files changed, 125 insertions(+), 6 deletions(-)
 create mode 100644 testing/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch
 create mode 100644 testing/spice-vdagent/spice-vdagentd.initd

diff --git a/testing/spice-vdagent/APKBUILD b/testing/spice-vdagent/APKBUILD
index feb52cf..656e251 100644
--- a/testing/spice-vdagent/APKBUILD
+++ b/testing/spice-vdagent/APKBUILD
@@ -8,11 +8,14 @@ arch="all"
 license="GPLv3+"
 depends=""
 depends_dev=""
-makedepends="$depends_dev glib-dev spice-protocol libpciaccess-dev
-	libxrandr-dev libxinerama-dev libxfixes-dev"
+makedepends="$depends_dev glib-dev spice-protocol libpciaccess-dev dbus-dev
+		libxrandr-dev libxinerama-dev libxfixes-dev linux-headers"
 install=""
 subpackages="$pkgname-doc"
-source="http://spice-space.org/download/releases/spice-vdagent-$pkgver.tar.bz2"
+source="http://spice-space.org/download/releases/spice-vdagent-$pkgver.tar.bz2
+	"$pkgname"d.initd
+	fix-memcpy-memset-implicit-declaration.patch
+	"
 
 _builddir="$srcdir"/spice-vdagent-$pkgver
 prepare() {
@@ -43,8 +46,16 @@ package() {
 	cd "$_builddir"
 	make DESTDIR="$pkgdir" install || return 1
 	rm -f "$pkgdir"/usr/lib/*.la
+	install -m755 -D "$srcdir/$pkgname"d.initd \
+                "$pkgdir"/etc/init.d/"$pkgname"d || return 1
 }
 
-md5sums="2919ac7a4195b0b4b2588fae90a9241c  spice-vdagent-0.15.0.tar.bz2"
-sha256sums="5bae1747307c2f4195f6de97639391be7c6be6c5673fdcc9febed6faca22bd34  spice-vdagent-0.15.0.tar.bz2"
-sha512sums="7d3bdeca2a8a5a63f817c8b0c1c46508e3238e0d2f3a018e44ffa4c7a2b7d0e82b0a2c37a6f35c59fcb23d89de82312edb689dc1de6fdf659004e640b900f436  spice-vdagent-0.15.0.tar.bz2"
+md5sums="2919ac7a4195b0b4b2588fae90a9241c  spice-vdagent-0.15.0.tar.bz2
+c707c8127d647a9f5e2c99cd213dc0b3  spice-vdagentd.initd
+083cdf808a24d1855d09a93a52dbeccd  fix-memcpy-memset-implicit-declaration.patch"
+sha256sums="5bae1747307c2f4195f6de97639391be7c6be6c5673fdcc9febed6faca22bd34  spice-vdagent-0.15.0.tar.bz2
+b61b09be015148dbaeb2047b1da9e96163920e34176cd6507d7d3cb9f872e083  spice-vdagentd.initd
+69bbdffc46bd247f5fdee84e8a06d86b0a59e8dc53e9dc5eb0fd8055d87b9323  fix-memcpy-memset-implicit-declaration.patch"
+sha512sums="7d3bdeca2a8a5a63f817c8b0c1c46508e3238e0d2f3a018e44ffa4c7a2b7d0e82b0a2c37a6f35c59fcb23d89de82312edb689dc1de6fdf659004e640b900f436  spice-vdagent-0.15.0.tar.bz2
+322a72ebfa978366e04b2aec49258fda2f2535fa21470a5c0a7e41a295b61dc57f657270836be99733e0111dc2b2da6c005d05f93dcf592bb280284b080b25c1  spice-vdagentd.initd
+381f974580aa478a9c0a35d7e6cc5bee57903f47929dea143ee2ddda9952d4b3ed6180a2b2e90ef83b01425d46507ea18bba01c42d32739fd0cc85bcbac59537  fix-memcpy-memset-implicit-declaration.patch"
diff --git a/testing/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch b/testing/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch
new file mode 100644
index 0000000..ad0de92
--- /dev/null
+++ b/testing/spice-vdagent/fix-memcpy-memset-implicit-declaration.patch
@@ -0,0 +1,11 @@
+--- spice-vdagent-0.15.0/src/udscs.c
++++ spice-vdagent-0.15.0/src/udscs.c.new
+@@ -26,6 +26,7 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <syslog.h>
+ #include <unistd.h>
+ #include <errno.h>
+
diff --git a/testing/spice-vdagent/spice-vdagentd.initd b/testing/spice-vdagent/spice-vdagentd.initd
new file mode 100644
index 0000000..904908d
--- /dev/null
+++ b/testing/spice-vdagent/spice-vdagentd.initd
@@ -0,0 +1,97 @@
+#!/sbin/runscript
+
+# This file is part of spice-vdagent
+# by Stuart Cardall <[email-masked]>
+
+sockfile="/var/run/spice-vdagentd/spice-vdagent-sock"
+pidfile="/var/run/spice-vdagentd/spice-vdagentd.pid"
+command="/usr/sbin/spice-vdagentd"
+command_args="-X"
+msgfile=/tmp/spice-vdagent.msg
+extra_commands="info"
+
+MODULES="uinput"
+
+depend() {
+	need net
+	need logger
+}
+
+start_pre() {
+	# make sure dir for pidfile exists. /var/run is tmpfs...
+	checkpath --directory ${pidfile%/*}
+	# load userspace input driver for copy & paste support
+	ebegin "Loading uinput kernel module for ${SVCNAME}"
+        for mod in $MODULES; do
+		modprobe -q $mod
+	done
+	eend $?
+	rm -f $sockfile
+}
+
+start() {
+	ebegin "Starting ${SVCNAME}"
+	start-stop-daemon --start $command --pidfile $pidfile -- $command_args
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping ${SVCNAME}"
+	start-stop-daemon --stop --quiet --pidfile $pidfile
+	eend $? "Failed to stop ${SVCNAME}"
+	ebegin "Unloading uinput kernel module for ${SVCNAME}"
+        for mod in $MODULES; do
+		rmmod $mod
+	done
+        eend $?
+	rm -f $sockfile
+}
+
+info() {
+	cat > $msgfile <<EOF
+By default the daemon is run with $command_args="-X" to disable consolekit
+support & allow a single agent session only. Run without '-X' & install lxdm
+or slim for muliple sessions.
+
+------------------------------------------------------------------------------
+Settings for libvirt:
+------------------------------------------------------------------------------
+<channel type='spicevmc'>
+  <target type='virtio' name='com.redhat.spice.0'/>
+  <address type='virtio-serial' controller='0' bus='0' port='1'/>
+</channel>
+  <input type='tablet' bus='usb'/>
+  <input type='mouse' bus='ps2'/>
+  <input type='keyboard' bus='ps2'/>
+<graphics type='spice' autoport='yes' listen='127.0.0.1'>
+  <listen type='address' address='127.0.0.1'/>
+  <channel name='main' mode='insecure'/>
+  <channel name='record' mode='insecure'/>
+  <image compression='auto_glz'/>
+  <jpeg compression='auto'/>
+  <zlib compression='auto'/>
+  <playback compression='on'/>
+  <streaming mode='filter'/>
+  <mouse mode='client'/>
+  <clipboard copypaste='yes'/>
+  <filetransfer enable='yes'/>
+</graphics>
+<video>
+  <model type='qxl' ram='65536' vram='9216' heads='1'/>
+  <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+</video>
+
+------------------------------------------------------------------------------
+Settings for /etc/X11/xorg.conf:   <install xf86-video-qxl>
+------------------------------------------------------------------------------
+Section "Device"
+	Identifier  "Videocard0"
+	Driver      "qxl"
+	Option	    "EnableSurfaces" "0"
+EndSection
+EOF
+
+cat $msgfile
+rm -f $msgfile
+}
+
-- 
2.3.5

---

---

From: Leonardo Arena <[email-masked]>
Date: Mon, 27 Apr 2015 09:17:21 +0200

Applied, thanks!

- leo

---

From: Leonardo Arena <[email-masked]>
Date: Mon, 27 Apr 2015 09:09:59 +0200

Applied, thanks!

- leo