summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/anjuta/PKGBUILD33
-rw-r--r--testing/anjuta/anjuta.install21
-rw-r--r--testing/gdm/PKGBUILD66
-rw-r--r--testing/gdm/fix_external_program_directories.patch34
-rwxr-xr-xtesting/gdm/gdm36
-rw-r--r--testing/gdm/gdm-autologin.pam18
-rw-r--r--testing/gdm/gdm-fingerprint.pam18
-rw-r--r--testing/gdm/gdm-password.pam20
-rw-r--r--testing/gdm/gdm-smartcard.pam18
-rw-r--r--testing/gdm/gdm-vt-allocation-hack.patch118
-rw-r--r--testing/gdm/gdm-welcome.pam12
-rw-r--r--testing/gdm/gdm.install31
-rw-r--r--testing/gdm/gdm.pam10
-rw-r--r--testing/java7-openjdk/PKGBUILD105
-rw-r--r--testing/libarchive/PKGBUILD38
-rw-r--r--testing/libarchive/release-2.8-fixes.patch234
-rw-r--r--testing/qemu/65-kvm.rules1
-rw-r--r--testing/qemu/PKGBUILD44
-rw-r--r--testing/qemu/qemu.install24
-rw-r--r--testing/udev/81-arch.rules9
-rw-r--r--testing/udev/PKGBUILD101
-rw-r--r--testing/udev/udev.install62
22 files changed, 999 insertions, 54 deletions
diff --git a/testing/anjuta/PKGBUILD b/testing/anjuta/PKGBUILD
new file mode 100644
index 000000000..a8d8fcc35
--- /dev/null
+++ b/testing/anjuta/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 140802 2011-10-19 14:21:48Z ibiru $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: Harley Laue <losinggeneration@yahoo.com>
+
+pkgname=anjuta
+pkgver=3.2.1
+pkgrel=1
+pkgdesc="GNOME Integrated Development Environment (IDE)"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('vte3' 'gdl' 'autogen' 'devhelp' 'glade' 'libgda' 'subversion' 'gnome-icon-theme' 'hicolor-icon-theme' 'vala' 'python2' 'shared-mime-info' 'desktop-file-utils')
+makedepends=('gnome-doc-utils' 'intltool' 'gobject-introspection')
+url="http://anjuta.sourceforge.net/"
+install=anjuta.install
+source=(ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+options=('!libtool' '!emptydirs')
+sha256sums=('1e59aed63312e293c55f2934c4766411e9908fa512dd86e1422e3d906fe75613')
+
+build() {
+ cd "${srcdir}/anjuta-${pkgver}"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-scrollkeeper
+ make
+}
+
+package(){
+ cd "${srcdir}/anjuta-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ sed -i "1s|#!/usr/bin/python$|&2|" \
+ $pkgdir/usr/share/anjuta/project/{pygtk,python}/src/main.py
+}
diff --git a/testing/anjuta/anjuta.install b/testing/anjuta/anjuta.install
new file mode 100644
index 000000000..c6fcfec11
--- /dev/null
+++ b/testing/anjuta/anjuta.install
@@ -0,0 +1,21 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ gtk-update-icon-cache -q -t -f usr/share/icons/gnome
+ update-mime-database usr/share/mime > /dev/null
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall anjuta
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/testing/gdm/PKGBUILD b/testing/gdm/PKGBUILD
new file mode 100644
index 000000000..03c4713e4
--- /dev/null
+++ b/testing/gdm/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 140814 2011-10-19 17:08:25Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gdm
+pkgver=3.2.1.1
+pkgrel=1
+pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnome.org"
+backup=('etc/pam.d/gdm-autologin' 'etc/pam.d/gdm-fingerprint' 'etc/pam.d/gdm' 'etc/pam.d/gdm-password'
+ 'etc/pam.d/gdm-smartcard' 'etc/pam.d/gdm-welcome' 'etc/gdm/custom.conf')
+groups=('gnome-extra')
+options=('!libtool')
+depends=('libcanberra' 'libxklavier' 'gnome-session' 'gnome-settings-daemon' 'metacity' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb' 'nss')
+makedepends=('intltool' 'gnome-doc-utils' 'xorg-server' 'gobject-introspection')
+optdepends=('gnome-shell: new login interface')
+install=gdm.install
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver:0:3}/${pkgname}-${pkgver}.tar.xz
+ fix_external_program_directories.patch
+ gdm-vt-allocation-hack.patch
+ gdm
+ gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam)
+sha256sums=('85a1383f93870fb5d47a938cc2e04b6f0d74cb611a2b5d94d9651b78a5ccffbd'
+ '2014ae3a6077546f7c07e80a6acc8a1c80c6765ad319ec389f52500c5a4fb363'
+ '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215'
+ '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550'
+ 'b30dfa217718b43ff3aa4e8af08985963175b79ff30698ec54e8396d2905922d'
+ '5bc3ff3ea7b31219dfcb7d9fc0eb2819eca1c5573a0f426d288a17560a69633e'
+ 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19'
+ '92aded0804bad8a609fd150448ad4a2edb8166c17cb4e2b581559e80603bbb6c'
+ 'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd'
+ '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/fix_external_program_directories.patch"
+ patch -Np1 -i "${srcdir}/gdm-vt-allocation-hack.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/gdm \
+ --localstatedir=/var \
+ --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \
+ --disable-scrollkeeper \
+ --disable-static \
+ --without-tcp-wrappers
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gdm ${pkgdir}/etc/gconf/schemas/*.schemas
+
+ for i in gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam;do
+ install -m644 "${srcdir}/${i}" "${pkgdir}/etc/pam.d/${i%.pam}"
+ done
+
+ install -Dm755 "${srcdir}/gdm" "${pkgdir}/etc/rc.d/gdm"
+
+ chmod 1770 "${pkgdir}/var/log/gdm"
+ chmod 700 "${pkgdir}/var/lib/gdm/.config/dconf"
+ rm -rf "${pkgdir}/var/run" "${pkgdir}/var/gdm" "${pkgdir}/etc/gconf"
+}
diff --git a/testing/gdm/fix_external_program_directories.patch b/testing/gdm/fix_external_program_directories.patch
new file mode 100644
index 000000000..997ea5405
--- /dev/null
+++ b/testing/gdm/fix_external_program_directories.patch
@@ -0,0 +1,34 @@
+diff -Nur gdm-3.2.0.orig/daemon/gdm-server.c gdm-3.2.0/daemon/gdm-server.c
+--- gdm-3.2.0.orig/daemon/gdm-server.c 2011-10-02 01:13:37.772372528 +0000
++++ gdm-3.2.0/daemon/gdm-server.c 2011-10-02 01:14:58.036444496 +0000
+@@ -131,7 +131,7 @@
+ g_return_val_if_fail (GDM_IS_SERVER (server), NULL);
+
+ error = NULL;
+- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s",
++ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s",
+ server->priv->display_name);
+
+ g_debug ("GdmServer: Running helper %s", command);
+diff -Nur gdm-3.2.0.orig/data/gdm-shell.session.in gdm-3.2.0/data/gdm-shell.session.in
+--- gdm-3.2.0.orig/data/gdm-shell.session.in 2011-10-02 01:17:01.394246573 +0000
++++ gdm-3.2.0/data/gdm-shell.session.in 2011-10-02 01:16:22.210552560 +0000
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Display Manager
+ RequiredComponents=gnome-shell;gnome-settings-daemon;
+-IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && @libexecdir@/gnome-session-check-accelerated'
++IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && /usr/lib/gnome-session/gnome-session-check-accelerated'
+ FallbackSession=gdm-fallback
+diff -Nur gdm-3.2.0.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.2.0/gui/simple-chooser/gdm-chooser-session.c
+--- gdm-3.2.0.orig/gui/simple-chooser/gdm-chooser-session.c 2011-10-02 01:13:37.775705892 +0000
++++ gdm-3.2.0/gui/simple-chooser/gdm-chooser-session.c 2011-10-02 01:14:58.036444496 +0000
+@@ -131,7 +131,7 @@
+ ret = FALSE;
+
+ error = NULL;
+- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error);
++ g_spawn_command_line_async ("/usr/lib/gnome-settings-daemon/gnome-settings-daemon", &error);
+ if (error != NULL) {
+ g_warning ("Error starting settings daemon: %s", error->message);
+ g_error_free (error);
diff --git a/testing/gdm/gdm b/testing/gdm/gdm
new file mode 100755
index 000000000..c3e635a6d
--- /dev/null
+++ b/testing/gdm/gdm
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting GDM"
+ /usr/sbin/gdm &
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+
+ add_daemon gdm
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping GDM"
+ [ -f /var/run/gdm.pid ] && kill `cat /var/run/gdm.pid` &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon gdm
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/gdm/gdm-autologin.pam b/testing/gdm/gdm-autologin.pam
new file mode 100644
index 000000000..c77c78917
--- /dev/null
+++ b/testing/gdm/gdm-autologin.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_permit.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/testing/gdm/gdm-fingerprint.pam b/testing/gdm/gdm-fingerprint.pam
new file mode 100644
index 000000000..5b74bf6d6
--- /dev/null
+++ b/testing/gdm/gdm-fingerprint.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_fprintd.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/testing/gdm/gdm-password.pam b/testing/gdm/gdm-password.pam
new file mode 100644
index 000000000..aa4d4dd47
--- /dev/null
+++ b/testing/gdm/gdm-password.pam
@@ -0,0 +1,20 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_unix.so nullok
+auth optional pam_gnome_keyring.so
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_unix.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so force revoke
+session required pam_limits.so
+session required pam_unix.so
+session optional pam_gnome_keyring.so auto_start
diff --git a/testing/gdm/gdm-smartcard.pam b/testing/gdm/gdm-smartcard.pam
new file mode 100644
index 000000000..baacb8bed
--- /dev/null
+++ b/testing/gdm/gdm-smartcard.pam
@@ -0,0 +1,18 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+
+auth requisite pam_pkcs11.so wait_for_card card_only
+
+auth sufficient pam_succeed_if.so uid >= 1000 quiet
+auth required pam_deny.so
+
+account required pam_unix.so
+
+password required pam_pkcs11.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/testing/gdm/gdm-vt-allocation-hack.patch b/testing/gdm/gdm-vt-allocation-hack.patch
new file mode 100644
index 000000000..56fa5a151
--- /dev/null
+++ b/testing/gdm/gdm-vt-allocation-hack.patch
@@ -0,0 +1,118 @@
+diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
+index 39def47..03488fd 100644
+--- a/daemon/gdm-server.c
++++ b/daemon/gdm-server.c
+@@ -33,6 +33,8 @@
+ #include <grp.h>
+ #include <signal.h>
+ #include <sys/resource.h>
++#include <sys/ioctl.h>
++#include <sys/vt.h>
+
+ #include <glib.h>
+ #include <glib/gi18n.h>
+@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
+ return out;
+ }
+
++#ifndef O_NOCTTY
++# define O_NOCTTY 0
++#endif
++
++static int
++open_vt (int vtno)
++{
++ char *vtname;
++ int fd;
++
++ vtname = g_strdup_printf ("/dev/tty%d", vtno);
++
++ do {
++ errno = 0;
++ fd = open (vtname, O_RDWR | O_NOCTTY, 0);
++ } while (errno == EINTR);
++
++ g_free (vtname);
++ return fd;
++}
++
++static gint
++find_first_probably_free_vt (void)
++{
++ int fd, fdv;
++ int vtno;
++ unsigned short vtmask;
++ struct vt_stat vtstat;
++ guint v_state;
++
++ fdv = -1;
++
++ do {
++ errno = 0;
++ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0);
++ } while (errno == EINTR);
++
++ if (fd >= 0) {
++ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) {
++ v_state = vtstat.v_state;
++ } else {
++ close (fd);
++ v_state = 0;
++ fd = -1;
++ }
++ } else {
++ v_state = 0;
++ }
++
++ if (fd < 0) {
++ do {
++ errno = 0;
++ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
++ } while (errno == EINTR);
++
++ if (fd >= 0) {
++ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
++ v_state = vtstat.v_state;
++ }
++ }
++
++ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
++ /* Is this console in use? */
++ if (v_state & vtmask)
++ continue;
++
++ /* No, try to open it */
++ fdv = open_vt (vtno);
++ if (fdv >= 0)
++ break;
++
++ /* If we're here, kernel indicated that the console was free,
++ * but we failed to open it. Just go on to higher VTs. */
++ }
++
++ if (fdv >= 0)
++ close (fdv);
++ else
++ vtno = -1;
++
++ if (fd >= 0)
++ close (fd);
++
++ return vtno;
++}
++
+ char *
+ gdm_server_get_display_device (GdmServer *server)
+ {
+@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server,
+
+ if (vtarg != NULL && ! gotvtarg) {
+ argv[len++] = g_strdup (vtarg);
++ } else if (!query_in_arglist && !gotvtarg) {
++ gint vtnum = find_first_probably_free_vt ();
++
++ if (vtnum > 0)
++ argv [len++] = g_strdup_printf ("vt%d", vtnum);
+ }
+
+ argv[len++] = NULL;
diff --git a/testing/gdm/gdm-welcome.pam b/testing/gdm/gdm-welcome.pam
new file mode 100644
index 000000000..cc3811c19
--- /dev/null
+++ b/testing/gdm/gdm-welcome.pam
@@ -0,0 +1,12 @@
+#%PAM-1.0
+auth required pam_env.so
+auth required pam_permit.so
+
+account required pam_nologin.so
+account required pam_unix.so
+
+password required pam_deny.so
+
+session required pam_loginuid.so
+-session optional pam_systemd.so
+session optional pam_keyinit.so force revoke
diff --git a/testing/gdm/gdm.install b/testing/gdm/gdm.install
new file mode 100644
index 000000000..fda42d319
--- /dev/null
+++ b/testing/gdm/gdm.install
@@ -0,0 +1,31 @@
+pkgname=gdm
+
+post_install() {
+ getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm
+ getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm
+ passwd -l gdm > /dev/null
+ chown -R gdm:gdm /var/lib/gdm > /dev/null
+
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ gconfpkg --install ${pkgname}
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ dconf update
+}
+
+pre_remove() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ dconf update
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ getent passwd gdm >/dev/null 2>&1 && userdel gdm
+ getent group gdm >/dev/null 2>&1 && groupdel gdm
+}
diff --git a/testing/gdm/gdm.pam b/testing/gdm/gdm.pam
new file mode 100644
index 000000000..655299cb7
--- /dev/null
+++ b/testing/gdm/gdm.pam
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth required pam_unix.so
+auth optional pam_gnome_keyring.so
+account required pam_unix.so
+session required pam_limits.so
+session required pam_unix.so
+session optional pam_gnome_keyring.so auto_start
+password required pam_unix.so
diff --git a/testing/java7-openjdk/PKGBUILD b/testing/java7-openjdk/PKGBUILD
index 7db99b002..219c5588f 100644
--- a/testing/java7-openjdk/PKGBUILD
+++ b/testing/java7-openjdk/PKGBUILD
@@ -11,31 +11,31 @@ _icedtea_ver=2.0
_date=20110922
# check "${srcdir}/icedtea7"/Makefile.am
-_CORBA_CHANGESET=616c760dc288
-_HOTSPOT_CHANGESET=1dd9b3d73b22
-_JAXP_CHANGESET=c40983d6ae70
-_JAXWS_CHANGESET=83db5e316798
-_JDK_CHANGESET=0cb15650412a
-_LANGTOOLS_CHANGESET=fb7fb3071b64
-_OPENJDK_CHANGESET=3defd24c2671
+_CORBA_CHANGESET=4d9e4fb8af09
+_HOTSPOT_CHANGESET=b28ae681bae0
+_JAXP_CHANGESET=948e734135ea
+_JAXWS_CHANGESET=a2ebfdc9db7e
+_JDK_CHANGESET=2054526dd141
+_LANGTOOLS_CHANGESET=9b85f1265346
+_OPENJDK_CHANGESET=0a76e5390e68
pkgver=${_java_ver}.${_openjdk_build}_${_icedtea_ver}
-pkgrel=0.20110922.1
+pkgrel=1
arch=('i686' 'x86_64')
url="http://icedtea.classpath.org"
license=('custom')
-makedepends=('eclipse-ecj' 'libcups' 'libxp' 'libxtst' 'libxi' 'libxt' 'libxslt' 'freetype2'
+makedepends=('libcups' 'libxp' 'libxtst' 'libxi' 'libxt' 'libxslt' 'freetype2' #'eclipse-ecj' only for bootstrapping
'alsa-lib' 'xalan-java' 'glib2' 'gtk2' 'apache-ant>=1.6.5' 'giflib'
'libjpeg>=6b' 'zlib' 'rhino' 'libpulse>=0.9.11' 'zip' 'unzip' 'cpio' 'lcms2')
-source=(ftp://ftp.archlinux.org/other/$pkgname/icedtea7-${_date}-hg.tar.xz
+source=( #ftp://ftp.archlinux.org/other/$pkgname/icedtea7-${_date}-hg.tar.xz
+ http://icedtea.classpath.org/download/source/icedtea-${_icedtea_ver}.tar.gz
http://icedtea.classpath.org/hg/icedtea7-forest/archive/${_OPENJDK_CHANGESET}.tar.gz # openjdk.tar.gz
http://icedtea.classpath.org/hg/icedtea7-forest/corba/archive/${_CORBA_CHANGESET}.tar.gz # corba.tar.gz
http://icedtea.classpath.org/hg/icedtea7-forest/jaxp/archive/${_JAXP_CHANGESET}.tar.gz # jaxp.tar.gz
http://icedtea.classpath.org/hg/icedtea7-forest/jaxws/archive/${_JAXWS_CHANGESET}.tar.gz # jaxws.tar.gz
- http://icedtea.classpath.org/hg/icedtea7-forest/jdk/archive/${_JDK_CHANGESET}.tar.gz # jdk.tar.gz
+ http://icedtea.classpath.org/hg/icedtea7-forest/jdk/archive/${_JDK_CHANGESET}.tar.gz # jdk.tar.gz
http://icedtea.classpath.org/hg/icedtea7-forest/langtools/archive/${_LANGTOOLS_CHANGESET}.tar.gz # langtools.tar.gz
http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/archive/${_HOTSPOT_CHANGESET}.tar.gz # hotspot.tar.gz
- http://icedtea.classpath.org/download/drops/{jdk7-jaf-2010_08_19.zip,jdk7-jaxws2_2_4-b03-2011_05_27.zip,jaxp145_01.zip}
fontconfig-paths.diff
fix_corba_cmds_path.diff
openjdk7_fix_jdk_cmds_path.diff
@@ -46,27 +46,6 @@ source=(ftp://ftp.archlinux.org/other/$pkgname/icedtea7-${_date}-hg.tar.xz
jre7-openjdk.profile.csh
jconsole.desktop
policytool.desktop)
-sha1sums=('e569c8a1265d30856caa646d101ce3e1e4a2a69f'
- '51dafe7367732d58a5ee531f5840fe1ab9c9d2bf'
- 'c246e4a01d11bdbe4fb23f1bd3819456d1446f52'
- '8a286c9314f47f7bb6c59b8e8b4560db81019a83'
- 'c0e7e9b99d4de220ef3346f3da942a4a39bb8b71'
- '6a115a71c94b4de1ad4e9c00fe3994bc31acd943'
- '29f8481fd98d709c72a81d5d742097455f38af7d'
- 'a8a199fb4c908852a0afdd76937ad194191d20f7'
- '63ea970dcf129fbbba39a132d8f71add19fbf1f0'
- '539bcf80b9a86c97406a3c79e7d10684b213a4be'
- '106db88c8e53abb1a064e83d41cc7acd16b7713c'
- '00ae05d9c8679deb72c0a9008a670daafeb21565'
- 'e551b40820393c4cab3a82154f51b55577644ba1'
- 'fe04691f0a23f43a8d9017f7c5fccd4620bc9019'
- 'ab22e135916786c181be66be39acd7954175bb9c'
- 'b2dbb1a8a7264db229d6888467ed3f2799a007b0'
- '344f7e911ab52e38f1ff237ed770bec362d79f79'
- '683cbb342c8d3077b43b31be700864379c0aa54b'
- '2a12035cc3e586131952cbb78d9885f6dc10d1b2'
- '2e7827f47b9190dcc0697752b0f799caea872239'
- '0bc35e5436f1663f5251b8f8c159a04088a09484')
#http://www.java.net/download/openjdk/jdk${_java_ver}/promoted/${_openjdk_build}/openjdk-${_java_ver}-fcs-src-${_openjdk_build}-${_openjdk_date}.zip
@@ -76,10 +55,25 @@ noextract=("${_OPENJDK_CHANGESET}.tar.gz"
"${_JAXWS_CHANGESET}.tar.gz"
"${_JDK_CHANGESET}.tar.gz"
"${_LANGTOOLS_CHANGESET}.tar.gz"
- "${_HOTSPOT_CHANGESET}.tar.gz"
- "jdk7-jaf-2010_08_19.zip"
- "jdk7-jaxws2_2_4-b03-2011_05_27.zip"
- "jaxp145_01.zip")
+ "${_HOTSPOT_CHANGESET}.tar.gz")
+md5sums=('752721a037a625001fad7a5fc2013f60'
+ 'ffb12013564794e9abbffbbbd0c58502'
+ '8f8d222d0a6d363d06b40576da5f1ea2'
+ '4abf34372e34cccd74ad337e487ed790'
+ 'f2f40590a83889b8aa1d4631b705092d'
+ 'd3beed0118bbd93d4651af762eb748c7'
+ 'c8617700b4bd6cd5de1257bc36509bed'
+ 'f10b711b0c784df8707808d9d0f52abd'
+ 'ee1afda124d5927345014ab382ef581e'
+ 'f7e7a212e50abb56a6ef1a2b1bd27405'
+ 'c195c4865b84d9e2e0fd71ac6d88eadb'
+ '203640d6e79e41b0065e016818c17ccd'
+ 'fe39da48a62b1fdd8fc24de0e0c4b525'
+ 'cdabafad0ec413d9a983888bf445a443'
+ '612b0fec7e0943c37a6de77c43622007'
+ '62443459da0cb28181feb260dc0e5ce7'
+ '8e346f19a69b11b8dc4fcd8ea9d9d8f1'
+ 'b6357228d29836504a90abe006d86e56')
# source PKGBUILD && mksource
#makedepends+=('mercurial')
@@ -93,27 +87,31 @@ mksource() {
}
build() {
- cd "${srcdir}/icedtea7"
+ cd "${srcdir}/icedtea-${_icedtea_ver}"
unset JAVA_HOME
unset CLASSPATH
+ # default is to build with first found java-environment found in our repos - is jdk7-openjdk
+ [ -f /etc/profile.d/jdk7-openjdk.sh ] && . /etc/profile.d/jdk7-openjdk.sh
+
unset MAKEFLAGS
-
export ALT_PARALLEL_COMPILE_JOBS="${MAKEFLAGS/-j}"
export HOTSPOT_BUILD_JOBS="${ALT_PARALLEL_COMPILE_JOBS}"
. /etc/profile.d/apache-ant.sh
- cp ${srcdir}/*.diff ${srcdir}/icedtea7/patches
+ cp ${srcdir}/*.diff ${srcdir}/icedtea-${_icedtea_ver}/patches
export DISTRIBUTION_PATCHES="patches/fontconfig-paths.diff patches/fix_corba_cmds_path.diff patches/openjdk7_fix_jdk_cmds_path.diff patches/openjdk7_nonreparenting-wm.diff"
# Bootstrap IcedTea with ecj and a GNU Classpath-based JDK:
- autoreconf --force --install
+# autoreconf --force --install
./configure \
--disable-bootstrap \
+ --with-parallel-jobs="${MAKEFLAGS/-j}" \
--disable-tests \
--with-pkgversion=ArchLinux-${pkgver}-${pkgrel}-${CARCH} \
+ --with-jdk-home=${JAVA_HOME} \
--with-openjdk-src-zip=${srcdir}/${_OPENJDK_CHANGESET}.tar.gz \
--with-hotspot-src-zip=${srcdir}/${_HOTSPOT_CHANGESET}.tar.gz \
--with-corba-src-zip=${srcdir}/${_CORBA_CHANGESET}.tar.gz \
@@ -121,24 +119,23 @@ build() {
--with-jaxws-src-zip=${srcdir}/${_JAXWS_CHANGESET}.tar.gz \
--with-jdk-src-zip=${srcdir}/${_JDK_CHANGESET}.tar.gz \
--with-langtools-src-zip=${srcdir}/${_LANGTOOLS_CHANGESET}.tar.gz \
- --with-jaxp-drop-zip=${srcdir}/jaxp145_01.zip \
- --with-jaf-drop-zip=${srcdir}/jdk7-jaf-2010_08_19.zip \
- --with-jaxws-drop-zip=${srcdir}/jdk7-jaxws2_2_4-b03-2011_05_27.zip \
- --enable-pulse-java #--help
+ --enable-pulse-java \
+# --with-rhino #--help
+
+ #--with-jaxp-drop-zip=${srcdir}/jaxp145_01.zip \
+ #--with-jaf-drop-zip=${srcdir}/jdk7-jaf-2010_08_19.zip \
+ #--with-jaxws-drop-zip=${srcdir}/jdk7-jaxws2_2_4-b03-2011_05_27.zip \
-#
# --enable-systemtap Enable inclusion of SystemTap trace support
# --enable-nss Enable inclusion of NSS security provider
# --with-abs-install-dir The absolute path where the j2sdk-image dir will be installed
-
-
- #LD_PRELOAD=""
+
make
}
check() {
- cd "${srcdir}/icedtea7"
+ cd "${srcdir}/icedtea-${_icedtea_ver}"
make -k check
}
@@ -146,7 +143,7 @@ package_jre7-openjdk() {
pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - runtime environment"
depends=('gcc-libs' 'hicolor-icon-theme' 'ca-certificates-java' 'libxtst'
'libxt' 'nss' 'libjpeg' 'freetype2' 'libxrender' 'libpng')
- optdepends=('icedtea-web: web browser plugin + Java Web Start'
+ optdepends=('icedtea-web-java7: web browser plugin + Java Web Start'
'alsa-lib: for sound'
'giflib: for gif format support')
provides=('java-runtime=7')
@@ -157,7 +154,7 @@ package_jre7-openjdk() {
_jvmdir=/usr/lib/jvm/java-7-openjdk
- cd "${srcdir}/icedtea7/openjdk.build/j2sdk-image/jre"
+ cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/jre"
install -d -m755 ${pkgdir}/${_jvmdir}/jre/
cp -a bin lib ${pkgdir}/${_jvmdir}/jre
@@ -216,7 +213,7 @@ package_jdk7-openjdk() {
_jvmdir=/usr/lib/jvm/java-7-openjdk
- cd "${srcdir}/icedtea7/openjdk.build/j2sdk-image"
+ cd "${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image"
# Main files
install -m755 -d ${pkgdir}/${_jvmdir}/
@@ -262,6 +259,6 @@ package_jdk7-openjdk() {
package_openjdk7-src() {
pkgdesc="Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - sources"
- install -D ${srcdir}/icedtea7/openjdk.build/j2sdk-image/src.zip \
+ install -D ${srcdir}/icedtea-${_icedtea_ver}/openjdk.build/j2sdk-image/src.zip \
${pkgdir}/${_jvmdir}/src.zip
}
diff --git a/testing/libarchive/PKGBUILD b/testing/libarchive/PKGBUILD
new file mode 100644
index 000000000..236ae0f44
--- /dev/null
+++ b/testing/libarchive/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 140820 2011-10-19 19:30:28Z dan $
+# Maintainer: Dan McGee <dan@archlinux.org>
+pkgname=libarchive
+pkgver=2.8.5
+pkgrel=2
+pkgdesc="library that can create and read several streaming archive formats"
+arch=('i686' 'x86_64')
+url="http://libarchive.googlecode.com/"
+license=('BSD')
+depends=('zlib' 'bzip2' 'xz>=5.0.0' 'acl' 'openssl>=1.0.0' 'expat')
+source=("http://libarchive.googlecode.com/files/libarchive-${pkgver}.tar.gz"
+ release-2.8-fixes.patch)
+md5sums=('9caf51dcf6213e9c9f5a1c27448b9c90'
+ '14dbbf2d31d68d8eedb93ec5531f3b0c')
+sha256sums=('13993e0ffbd121ccda46ea226b1f8eac218de0fa8da7d8b1f998093d5c32a72d'
+ 'fcadc5ac3020a9fab5922d343baca28f067cc051e9b6f59e480349ba5b0a5060')
+
+# keep an upgrade path for older installations
+PKGEXT='.pkg.tar.gz'
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -Np0 < ../release-2.8-fixes.patch
+ ./configure --prefix=/usr --without-xml2
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ install -D -m644 COPYING "$pkgdir"/usr/share/licenses/libarchive/COPYING
+}
diff --git a/testing/libarchive/release-2.8-fixes.patch b/testing/libarchive/release-2.8-fixes.patch
new file mode 100644
index 000000000..c21eeaa7b
--- /dev/null
+++ b/testing/libarchive/release-2.8-fixes.patch
@@ -0,0 +1,234 @@
+Index: build/cmake/config.h.in
+===================================================================
+--- build/cmake/config.h.in (revision 3670)
++++ build/cmake/config.h.in (revision 3737)
+@@ -1,5 +1,8 @@
+ /* config.h. Generated from config.h.cmake by cmake configure */
+
++/* Define ZLIB_WINAPI if zlib was built on Visual Studio. */
++#cmakedefine ZLIB_WINAPI 1
++
+ /* MD5 via ARCHIVE_HASH_MD5_LIBC supported. */
+ #cmakedefine ARCHIVE_HASH_MD5_LIBC
+
+Index: libarchive/archive_read_support_format_all.c
+===================================================================
+--- libarchive/archive_read_support_format_all.c (revision 3670)
++++ libarchive/archive_read_support_format_all.c (revision 3737)
+@@ -1,5 +1,5 @@
+ /*-
+- * Copyright (c) 2003-2007 Tim Kientzle
++ * Copyright (c) 2003-2011 Tim Kientzle
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+@@ -39,5 +39,13 @@
+ archive_read_support_format_tar(a);
+ archive_read_support_format_xar(a);
+ archive_read_support_format_zip(a);
++
++ /* Note: We always return ARCHIVE_OK here, even if some of the
++ * above return ARCHIVE_WARN. The intent here is to enable
++ * "as much as possible." Clients who need specific
++ * compression should enable those individually so they can
++ * verify the level of support. */
++ /* Clear any warning messages set by the above functions. */
++ archive_clear_error(a);
+ return (ARCHIVE_OK);
+ }
+Index: libarchive/archive_write_disk.c
+===================================================================
+--- libarchive/archive_write_disk.c (revision 3670)
++++ libarchive/archive_write_disk.c (revision 3737)
+@@ -1513,6 +1513,22 @@
+ }
+
+ #if defined(_WIN32) || defined(__CYGWIN__)
++static int
++guidword(const char *p, int n)
++{
++ int i;
++
++ for (i = 0; i < n; i++) {
++ if ((*p >= '0' && *p <= '9') ||
++ (*p >= 'a' && *p <= 'f') ||
++ (*p >= 'A' && *p <= 'F'))
++ p++;
++ else
++ return (-1);
++ }
++ return (0);
++}
++
+ /*
+ * 1. Convert a path separator from '\' to '/' .
+ * We shouldn't check multi-byte character directly because some
+@@ -1521,26 +1537,92 @@
+ * 2. Replace unusable characters in Windows with underscore('_').
+ * See also : http://msdn.microsoft.com/en-us/library/aa365247.aspx
+ */
+-static void
++static int
+ cleanup_pathname_win(struct archive_write_disk *a)
+ {
+ wchar_t wc;
+ char *p;
+ size_t alen, l;
+
+- alen = 0;
+- l = 0;
+- for (p = a->name; *p != '\0'; p++) {
+- ++alen;
+- if (*p == '\\')
+- l = 1;
++ p = a->name;
++ /* Skip leading "\\.\" or "\\?\" or "\\?\UNC\" or
++ * "\\?\Volume{GUID}\"
++ * (absolute path prefixes used by Windows API) */
++ if ((p[0] == '\\' || p[0] == '/') && (p[1] == '\\' || p[1] == '/' ) &&
++ (p[2] == '.' || p[2] == '?') && (p[3] == '\\' || p[3] == '/'))
++ {
++ /* A path begin with "\\?\UNC\" */
++ if (p[2] == '?' &&
++ (p[4] == 'U' || p[4] == 'u') &&
++ (p[5] == 'N' || p[5] == 'n') &&
++ (p[6] == 'C' || p[6] == 'c') &&
++ (p[7] == '\\' || p[7] == '/'))
++ p += 8;
++ /* A path begin with "\\?\Volume{GUID}\" */
++ else if (p[2] == '?' &&
++ (p[4] == 'V' || p[4] == 'v') &&
++ (p[5] == 'O' || p[5] == 'o') &&
++ (p[6] == 'L' || p[6] == 'l') &&
++ (p[7] == 'U' || p[7] == 'u') &&
++ (p[8] == 'M' || p[8] == 'm') &&
++ (p[9] == 'E' || p[9] == 'e') &&
++ p[10] == '{') {
++ if (guidword(p+11, 8) == 0 && p[19] == '-' &&
++ guidword(p+20, 4) == 0 && p[24] == '-' &&
++ guidword(p+25, 4) == 0 && p[29] == '-' &&
++ guidword(p+30, 4) == 0 && p[34] == '-' &&
++ guidword(p+35, 12) == 0 && p[47] == '}' &&
++ (p[48] == '\\' || p[48] == '/'))
++ p += 49;
++ else
++ p += 4;
++ /* A path begin with "\\.\PhysicalDriveX" */
++ } else if (p[2] == '.' &&
++ (p[4] == 'P' || p[4] == 'p') &&
++ (p[5] == 'H' || p[5] == 'h') &&
++ (p[6] == 'Y' || p[6] == 'y') &&
++ (p[7] == 'S' || p[7] == 's') &&
++ (p[8] == 'I' || p[8] == 'i') &&
++ (p[9] == 'C' || p[9] == 'c') &&
++ (p[9] == 'A' || p[9] == 'a') &&
++ (p[9] == 'L' || p[9] == 'l') &&
++ (p[9] == 'D' || p[9] == 'd') &&
++ (p[9] == 'R' || p[9] == 'r') &&
++ (p[9] == 'I' || p[9] == 'i') &&
++ (p[9] == 'V' || p[9] == 'v') &&
++ (p[9] == 'E' || p[9] == 'e') &&
++ (p[10] >= '0' && p[10] <= '9') &&
++ p[11] == '\0') {
++ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
++ "Path is a physical drive name");
++ return (ARCHIVE_FAILED);
++ } else
++ p += 4;
++ }
++
++ /* Skip leading drive letter from archives created
++ * on Windows. */
++ if (((p[0] >= 'a' && p[0] <= 'z') ||
++ (p[0] >= 'A' && p[0] <= 'Z')) &&
++ p[1] == ':') {
++ if (p[2] == '\0') {
++ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
++ "Path is a drive name");
++ return (ARCHIVE_FAILED);
++ }
++ if (p[2] == '\\' || p[2] == '/')
++ p += 3;
++ }
++
++ for (; *p != '\0'; p++) {
+ /* Rewrite the path name if its character is a unusable. */
+ if (*p == ':' || *p == '*' || *p == '?' || *p == '"' ||
+ *p == '<' || *p == '>' || *p == '|')
+ *p = '_';
+ }
+- if (alen == 0 || l == 0)
+- return;
++ alen = p - a->name;
++ if (alen == 0 || strchr(a->name, '\\') == NULL)
++ return (ARCHIVE_OK);
+ /*
+ * Convert path separator.
+ */
+@@ -1560,6 +1642,7 @@
+ p += l;
+ alen -= l;
+ }
++ return (ARCHIVE_OK);
+ }
+ #endif
+
+@@ -1583,7 +1666,8 @@
+ }
+
+ #if defined(_WIN32) || defined(__CYGWIN__)
+- cleanup_pathname_win(a);
++ if (cleanup_pathname_win(a) != ARCHIVE_OK)
++ return (ARCHIVE_FAILED);
+ #endif
+ /* Skip leading '/'. */
+ if (*src == '/')
+Index: libarchive/archive_util.c
+===================================================================
+--- libarchive/archive_util.c (revision 3670)
++++ libarchive/archive_util.c (revision 3737)
+@@ -155,6 +155,7 @@
+ {
+ archive_string_empty(&a->error_string);
+ a->error = NULL;
++ a->archive_error_number = 0;
+ }
+
+ void
+Index: libarchive/archive_read_extract.c
+===================================================================
+--- libarchive/archive_read_extract.c (revision 3670)
++++ libarchive/archive_read_extract.c (revision 3737)
+@@ -108,7 +108,7 @@
+ if (r != ARCHIVE_OK)
+ /* If _write_header failed, copy the error. */
+ archive_copy_error(&a->archive, ad);
+- else if (archive_entry_size(entry) > 0)
++ else if (!archive_entry_size_is_set(entry) || archive_entry_size(entry) > 0)
+ /* Otherwise, pour data into the entry. */
+ r = copy_data(_a, ad);
+ r2 = archive_write_finish_entry(ad);
+Index: CMakeLists.txt
+===================================================================
+--- CMakeLists.txt (revision 3670)
++++ CMakeLists.txt (revision 3737)
+@@ -154,6 +154,13 @@
+ SET(HAVE_ZLIB_H 1)
+ INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
+ LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES})
++ IF(WIN32 AND NOT CYGWIN)
++ SET(CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIR})
++ SET(CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES})
++ CHECK_C_SOURCE_Runs(
++ "#ifndef ZLIB_WINAPI\n#define ZLIB_WINAPI\n#endif\n#include <zlib.h>\nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }"
++ ZLIB_WINAPI)
++ ENDIF(WIN32 AND NOT CYGWIN)
+ ENDIF(ZLIB_FOUND)
+ MARK_AS_ADVANCED(CLEAR ZLIB_INCLUDE_DIR)
+ MARK_AS_ADVANCED(CLEAR ZLIB_LIBRARY)
+
+Property changes on: .
+___________________________________________________________________
+Modified: svn:mergeinfo
+ Merged /trunk:r1989,3247,3722
+
diff --git a/testing/qemu/65-kvm.rules b/testing/qemu/65-kvm.rules
new file mode 100644
index 000000000..c2f7317aa
--- /dev/null
+++ b/testing/qemu/65-kvm.rules
@@ -0,0 +1 @@
+KERNEL=="kvm", GROUP="kvm", MODE="0660"
diff --git a/testing/qemu/PKGBUILD b/testing/qemu/PKGBUILD
new file mode 100644
index 000000000..478935151
--- /dev/null
+++ b/testing/qemu/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 140817 2011-10-19 18:05:05Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=qemu
+pkgver=0.15.1
+pkgrel=1
+pkgdesc="A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation."
+arch=('i686' 'x86_64')
+license=('GPL2' 'LGPL2.1')
+url="http://wiki.qemu.org/Index.html"
+makedepends=('texi2html' 'perl' 'python2')
+depends=('libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux-ng' 'curl' 'libsasl' 'libgl')
+backup=('etc/qemu/target-x86_64.conf')
+install=qemu.install
+source=(http://wiki.qemu.org/download/${pkgname}-${pkgver}.tar.gz
+ 65-kvm.rules)
+options=(!strip)
+
+build()
+{
+ cd ${srcdir}/${pkgname}-${pkgver}
+ sed -i -e 's/lib64/lib/g' x86_64.ld
+ ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list=oss,alsa,sdl \
+ --python=/usr/bin/python2 \
+ --audio-card-list=ac97,sb16,es1370,hda \
+ --enable-docs
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -D -m644 ${srcdir}/65-kvm.rules \
+ ${pkgdir}/lib/udev/rules.d/65-kvm.rules
+ # strip scripts directory
+ find ${pkgdir}/usr/src/linux-${_kernver}/scripts -type f -perm -u+w 2>/dev/null | while read binary ; do
+ case "$(file -bi "$binary")" in
+ *application/x-executable*) # Binaries
+ /usr/bin/strip $STRIP_BINARIES "$binary";;
+ esac
+ done
+
+}
+md5sums=('34f17737baaf1b3495c89cd6d4a607ed'
+ 'b316a066d2f1bb57d8f5b7ea1d0d1caf')
diff --git a/testing/qemu/qemu.install b/testing/qemu/qemu.install
new file mode 100644
index 000000000..e16ac027c
--- /dev/null
+++ b/testing/qemu/qemu.install
@@ -0,0 +1,24 @@
+# kvm: the new package version
+post_install() {
+ #
+ groupadd kvm -f -g 78
+ echo ">>> PLEASE READ FOR KVM USAGE!"
+ echo ">>> Load the correct KVM module, you will need a KVM capable CPU!"
+ echo ">>> Add yourself to the group 'kvm'."
+ echo ">>> Use 'qemu -enable-kvm' to use KVM."
+ echo ""
+ if [ "$(vercmp $2 0.11)" -lt 0 ]; then
+ echo "With the release of qemu and qemu-kvm 0.12.X, the kqemu kernel module"
+ echo "is no longer supported and will be removed from the repositories. You"
+ echo "can safely uninstall it from your system."
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ #
+ groupdel kvm
+}
diff --git a/testing/udev/81-arch.rules b/testing/udev/81-arch.rules
new file mode 100644
index 000000000..6bdf4e249
--- /dev/null
+++ b/testing/udev/81-arch.rules
@@ -0,0 +1,9 @@
+# do not edit this file, it will be overwritten on update
+# this file is going away in the near future
+
+# this might belong in <http://aur.archlinux.org/packages.php?ID=22698>
+# see also /usr/src/*/Documentation/laptops/sonypi.txt
+KERNEL=="sonypi", MODE="0666"
+
+# this might belong in <https://aur.archlinux.org/packages.php?ID=18393>
+KERNEL=="legousbtower*", MODE="0666"
diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD
new file mode 100644
index 000000000..00ee77d90
--- /dev/null
+++ b/testing/udev/PKGBUILD
@@ -0,0 +1,101 @@
+# $Id: PKGBUILD 140824 2011-10-19 21:51:21Z tomegun $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# Maintainer: Tom Gundersen <teg@jklm.no>
+
+pkgbase="udev"
+pkgname=('udev' 'udev-compat')
+pkgver=174
+pkgrel=1
+arch=(i686 x86_64)
+url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
+license=('GPL')
+groups=('base')
+options=(!makeflags !libtool)
+makedepends=('gobject-introspection' 'gperf')
+#source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2
+source=(http://people.freedesktop.org/~kay/$pkgbase-$pkgver.tar.bz2
+ 81-arch.rules)
+
+build() {
+ cd $srcdir/$pkgbase-$pkgver
+
+ ./configure --sysconfdir=/etc\
+ --with-rootlibdir=/lib\
+ --libexecdir=/lib/udev\
+ --sbindir=/sbin\
+ --with-systemdsystemunitdir=/lib/systemd/system\
+ --disable-rule-generator\
+ --enable-udev_acl
+
+ make
+}
+
+package_udev() {
+ pkgdesc="The userspace dev tools (udev)"
+ depends=('util-linux' 'libusb-compat' 'glib2' 'module-init-tools' 'pciutils')
+ install=udev.install
+ backup=(etc/udev/udev.conf)
+ conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07')
+ replaces=('devfsd')
+
+ cd $srcdir/$pkgbase-$pkgver
+ make DESTDIR=${pkgdir} install
+ # Install our rule for permissions and symlinks
+ install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules
+
+ # create framebuffer blacklist
+ mkdir -p $pkgdir/lib/modprobe.d/
+ for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko.gz' -exec basename {} .ko.gz \;); do
+ echo "blacklist $mod"
+ done | sort -u > $pkgdir/lib/modprobe.d/framebuffer_blacklist.conf
+
+ # /dev/loop0 is created for convenience, to autoload the module if necessary
+ # may be obsoleted by https://lkml.org/lkml/2011/7/30/111
+ mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0
+ chgrp disk ${pkgdir}/lib/udev/devices/loop0
+
+ # udevd moved, symlink to make life easy for restarting udevd manually
+ ln -s /lib/udev/udevd ${pkgdir}/sbin/udevd
+
+ # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
+ for i in $pkgdir/lib/udev/rules.d/*.rules; do
+ sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g;
+ s#GROUP="tape"#GROUP="storage"#g;
+ s#GROUP="cdrom"#GROUP="optical"#g' $i
+ done
+}
+
+package_udev-compat() {
+ pkgdesc="The userspace dev tools (udev) - additional rules for older kernels"
+ depends=('udev')
+ groups=('')
+ cd $srcdir/$pkgbase-$pkgver
+ install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d
+ install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules
+ # create static devices in /lib/udev/devices/
+ mkdir -p ${pkgdir}/lib/udev/devices/{pts,shm}
+
+ mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3
+ mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11
+
+ ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd
+ ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin
+ ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout
+ ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr
+ ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
+
+ # these static devices are created for convenience, to autoload the modules if necessary
+ # /dev/net/tun
+ mkdir ${pkgdir}/lib/udev/devices/net
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
+ # /dev/fuse
+ mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229
+ # /dev/ppp
+ mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
+}
+md5sums=('3b84706046a33d7a7e00491a1136804d'
+ '3da2bb9891592f9438a07bd641465531')
diff --git a/testing/udev/udev.install b/testing/udev/udev.install
new file mode 100644
index 000000000..2cc8caaa0
--- /dev/null
+++ b/testing/udev/udev.install
@@ -0,0 +1,62 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+post_upgrade() {
+ if [ "$(vercmp $2 174)" -lt 0 ]; then
+ echo "ATTENTION UDEV:"
+ echo "----------"
+ if [ "$(vercmp $2 168)" -lt 0 ]; then
+ echo "Kernel 2.6.32 or newer is now required."
+ echo " --"
+ echo "OSS emulation modules are not loaded by default, add to rc.conf if needed."
+ echo " --"
+ echo "Arch specific cd symlinks are now no longer created."
+ echo " --"
+ echo "cd and net persistent rules will no longer be autogenerated,"
+ echo "see <https://wiki.archlinux.org/index.php/Udev> for details."
+ echo " --"
+ echo "Errors are now logged (possibly to the console) by default."
+ echo " --"
+ fi
+ if [ "$(vercmp $2 171)" -lt 0 ]; then
+ echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and"
+ echo "blacklisting in MODULES no longer works."
+ echo "See 'man modprobe.conf' for a replacement to blacklisting."
+ echo "To disable a module mod1 on the kernel command line, use"
+ echo "mod1.disable=1"
+ echo "or"
+ echo "modprobe.blacklist=mod1"
+ echo " --"
+ echo "The following modules are no longer unconditionally loaded:"
+ echo " pcspkr irtty-sir analog lp ppdev ide-generic"
+ echo "Add them to MODULES in rc.conf if you need them."
+ echo " --"
+ fi
+ if [ "$(vercmp $2 172)" -lt 0 ]; then
+ echo "Support for non-devtmpfs self-compiled kernels have been moved to udev-compat."
+ echo " --"
+ echo "Blacklisting of framebuffer devices has moved from /etc/modprobe.d to"
+ echo "/lib/modprobe.d. Any customizations shoud be done to the file in /etc, as it"
+ echo "takes precedence."
+ echo " --"
+ echo "kbd and rtc devices are no longer world readable."
+ echo " --"
+ echo "rtc is no longer in the audio group and fb devices are no longer in"
+ echo "the video group, as permissions and ownership of fb devices are controlled"
+ echo "by X."
+ echo " --"
+ fi
+ echo "We now use upstream rules for assigning devices to the 'disk', 'optical',"
+ echo "'scanner' and 'video' groups. Beware of any changes."
+ echo " --"
+ echo "We no longer create symlinks from /dev/<dev> to /dev/<dev>0."
+ echo " --"
+ echo "For security reasons, we no longer add devices to the 'storage' group. Use"
+ echo "udisks and friends, or add custom rules to /etc/udev.d/rules/, if you want"
+ echo "this functionality back."
+ echo " --"
+ echo "We no longer create the static nodes on install needed for an initrd-less and"
+ echo "devtmpfs-less boot, this only affects fresh installs."
+ echo "---------------"
+ fi
+}