diff options
Diffstat (limited to 'testing')
-rw-r--r-- | testing/anjuta/PKGBUILD | 33 | ||||
-rw-r--r-- | testing/anjuta/anjuta.install | 21 | ||||
-rw-r--r-- | testing/gdm/PKGBUILD | 66 | ||||
-rw-r--r-- | testing/gdm/fix_external_program_directories.patch | 34 | ||||
-rwxr-xr-x | testing/gdm/gdm | 36 | ||||
-rw-r--r-- | testing/gdm/gdm-autologin.pam | 18 | ||||
-rw-r--r-- | testing/gdm/gdm-fingerprint.pam | 18 | ||||
-rw-r--r-- | testing/gdm/gdm-password.pam | 20 | ||||
-rw-r--r-- | testing/gdm/gdm-smartcard.pam | 18 | ||||
-rw-r--r-- | testing/gdm/gdm-vt-allocation-hack.patch | 118 | ||||
-rw-r--r-- | testing/gdm/gdm-welcome.pam | 12 | ||||
-rw-r--r-- | testing/gdm/gdm.install | 31 | ||||
-rw-r--r-- | testing/gdm/gdm.pam | 10 | ||||
-rw-r--r-- | testing/java7-openjdk/PKGBUILD | 105 | ||||
-rw-r--r-- | testing/libarchive/PKGBUILD | 38 | ||||
-rw-r--r-- | testing/libarchive/release-2.8-fixes.patch | 234 | ||||
-rw-r--r-- | testing/qemu/65-kvm.rules | 1 | ||||
-rw-r--r-- | testing/qemu/PKGBUILD | 44 | ||||
-rw-r--r-- | testing/qemu/qemu.install | 24 | ||||
-rw-r--r-- | testing/udev/81-arch.rules | 9 | ||||
-rw-r--r-- | testing/udev/PKGBUILD | 101 | ||||
-rw-r--r-- | testing/udev/udev.install | 62 |
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 +} |