diff options
Diffstat (limited to 'abs/extra')
302 files changed, 6373 insertions, 8010 deletions
diff --git a/abs/extra/autofs/0001-autofs-5.0.5-include-krb5-library.patch b/abs/extra/autofs/0001-autofs-5.0.5-include-krb5-library.patch deleted file mode 100644 index 572ca97..0000000 --- a/abs/extra/autofs/0001-autofs-5.0.5-include-krb5-library.patch +++ /dev/null @@ -1,206 +0,0 @@ -From e467755fac27630730be25c4b41e5d0cfcd89c67 Mon Sep 17 00:00:00 2001 -From: Ian Kent <raven@themaw.net> -Date: Tue, 10 Aug 2010 15:48:21 +0800 -Subject: [PATCH 1/2] autofs-5.0.5 - include krb5 library - -Since the Cyrus SASL module calls Kerberos directly we should be -linking against the Kerberos librarys. ---- - Makefile.conf.in | 2 + - aclocal.m4 | 19 +++++++++++++++ - configure | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++- - configure.in | 5 +++- - modules/Makefile | 4 +- - 5 files changed, 93 insertions(+), 4 deletions(-) - -diff --git a/Makefile.conf.in b/Makefile.conf.in -index f0287c3..a9bcf8c 100644 ---- a/Makefile.conf.in -+++ b/Makefile.conf.in -@@ -31,6 +31,8 @@ XML_FLAGS = @XML_FLAGS@ - SASL = @HAVE_SASL@ - LIBSASL= @LIBSASL@ - SASL_FLAGS = @SASL_FLAGS@ -+KRB5_LIBS=@KRB5_LIBS@ -+KRB5_FLAGS=@KRB5_FLAGS@ - - # NIS+ support: yes (1) no (0) - NISPLUS = @HAVE_NISPLUS@ -diff --git a/aclocal.m4 b/aclocal.m4 -index e7f1a30..750a159 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -215,6 +215,25 @@ else - fi]) - - dnl -------------------------------------------------------------------------- -+dnl AF_CHECK_KRB5 -+dnl -+dnl Check for Kerberos 5 -+dnl -------------------------------------------------------------------------- -+AC_DEFUN([AF_CHECK_KRB5], -+[AC_PATH_PROGS(KRB5_CONFIG, krb5-config, no) -+AC_MSG_CHECKING(for Kerberos library) -+if test "$KRB5_CONFIG" = "no" -+then -+ AC_MSG_RESULT(no) -+ HAVE_KRB5=0 -+else -+ AC_MSG_RESULT(yes) -+ HAVE_KRB5=1 -+ KRB5_LIBS=`$KRB5_CONFIG --libs` -+ KRB5_FLAGS=`$KRB5_CONFIG --cflags` -+fi]) -+ -+dnl -------------------------------------------------------------------------- - dnl AF_CHECK_LIBHESIOD - dnl - dnl Check for lib hesiod -diff --git a/configure b/configure -index 159f25f..500411c 100755 ---- a/configure -+++ b/configure -@@ -640,6 +640,8 @@ ac_subst_vars='LTLIBOBJS - LIBOBJS - DAEMON_LDFLAGS - DAEMON_CFLAGS -+KRB5_FLAGS -+KRB5_LIBS - LIBSASL - HAVE_SASL - SASL_FLAGS -@@ -657,6 +659,7 @@ LIBHESIOD - HAVE_HESIOD - LIBRESOLV - LIBNSL -+KRB5_CONFIG - XML_CONFIG - PATH_RPCGEN - RPCGEN -@@ -3723,7 +3726,7 @@ $as_echo "no" >&6; } - fi - fi - --# LDAP SASL auth need libxml -+# LDAP SASL auth needs libxml and Kerberos - for ac_prog in xml2-config - do - # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -3801,6 +3804,66 @@ _ACEOF - fi - fi - fi -+for ac_prog in krb5-config -+do -+ # Extract the first word of "$ac_prog", so it can be a program name with args. -+set dummy $ac_prog; ac_word=$2 -+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+$as_echo_n "checking for $ac_word... " >&6; } -+if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+else -+ case $KRB5_CONFIG in -+ [\\/]* | ?:[\\/]*) -+ ac_cv_path_KRB5_CONFIG="$KRB5_CONFIG" # Let the user override the test with a path. -+ ;; -+ *) -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext" -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+done -+done -+IFS=$as_save_IFS -+ -+ ;; -+esac -+fi -+KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG -+if test -n "$KRB5_CONFIG"; then -+ { $as_echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5 -+$as_echo "$KRB5_CONFIG" >&6; } -+else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+fi -+ -+ -+ test -n "$KRB5_CONFIG" && break -+done -+test -n "$KRB5_CONFIG" || KRB5_CONFIG="no" -+ -+{ $as_echo "$as_me:$LINENO: checking for Kerberos library" >&5 -+$as_echo_n "checking for Kerberos library... " >&6; } -+if test "$KRB5_CONFIG" = "no" -+then -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+ HAVE_KRB5=0 -+else -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 -+$as_echo "yes" >&6; } -+ HAVE_KRB5=1 -+ KRB5_LIBS=`$KRB5_CONFIG --libs` -+ KRB5_FLAGS=`$KRB5_CONFIG --cflags` -+fi - - # - # glibc/libc 6 new libraries -@@ -5178,6 +5241,8 @@ fi - - - -+ -+ - LDFLAGS="${AF_tmp_ldflags}" - - # -diff --git a/configure.in b/configure.in -index f649a58..70b45e8 100644 ---- a/configure.in -+++ b/configure.in -@@ -144,8 +144,9 @@ AF_CHECK_PROG(RPCGEN, rpcgen, , $searchpath) - # - AF_SLOPPY_MOUNT() - --# LDAP SASL auth need libxml -+# LDAP SASL auth needs libxml and Kerberos - AF_CHECK_LIBXML() -+AF_CHECK_KRB5() - - # - # glibc/libc 6 new libraries -@@ -274,6 +275,8 @@ AC_SUBST(XML_LIBS) - AC_SUBST(SASL_FLAGS) - AC_SUBST(HAVE_SASL) - AC_SUBST(LIBSASL) -+AC_SUBST(KRB5_LIBS) -+AC_SUBST(KRB5_FLAGS) - LDFLAGS="${AF_tmp_ldflags}" - - # -diff --git a/modules/Makefile b/modules/Makefile -index 13b3bd8..2389196 100644 ---- a/modules/Makefile -+++ b/modules/Makefile -@@ -42,8 +42,8 @@ ifeq ($(LDAP), 1) - MODS += lookup_ldap.so - ifeq ($(SASL), 1) - SASL_OBJ = cyrus-sasl.o -- LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE -- LIBLDAP += $(LIBSASL) $(XML_LIBS) -+ LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) $(KRB5_FLAGS) -DLDAP_THREAD_SAFE -+ LIBLDAP += $(LIBSASL) $(XML_LIBS) $(KRB5_LIBS) - endif - endif - --- -1.7.5.1 - diff --git a/abs/extra/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch b/abs/extra/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch deleted file mode 100644 index e4e480e..0000000 --- a/abs/extra/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 205c305922cdbded91ff8fadbaad7959bdb497bc Mon Sep 17 00:00:00 2001 -From: Ian Kent <raven@themaw.net> -Date: Wed, 11 Aug 2010 09:33:09 +0800 -Subject: [PATCH 2/2] autofs-5.0.5 - remove ERR_remove_state() openssl call - -autofs should never have had to use ERR_remove_state() so remove that call. - -Lukas: Resolve a conflict in "CHANGELOG" that occured due to cherry -picking Kerberos related patches from the 5.0.6 development branch. - -Conflicts: - - CHANGELOG - -Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> ---- - CHANGELOG | 4 ++++ - modules/lookup_ldap.c | 12 +----------- - 2 files changed, 5 insertions(+), 11 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index e734cb3..1a20a81 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -1,3 +1,7 @@ -+??/??/20?? autofs-5.0.6 -+----------------------- -+- remove ERR_remove_state() openssl call. -+ - 03/09/2009 autofs-5.0.5 - ----------------------- - - fix dumb libxml2 check -diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c -index 2ecf5fe..1221c2c 100644 ---- a/modules/lookup_ldap.c -+++ b/modules/lookup_ldap.c -@@ -168,18 +168,8 @@ int unbind_ldap_connection(unsigned logopt, LDAP *ldap, struct lookup_context *c - int rv; - - #ifdef WITH_SASL -- /* -- * The OpenSSL library can't handle having its message and error -- * string database loaded multiple times and segfaults if the -- * TLS environment is not reset at the right times. As there -- * is no ldap_stop_tls call in the openldap library we have -- * to do the job ourselves, here and in lookup_done when the -- * module is closed. -- */ -- if (ctxt->use_tls == LDAP_TLS_RELEASE) { -- ERR_remove_state(0); -+ if (ctxt->use_tls == LDAP_TLS_RELEASE) - ctxt->use_tls = LDAP_TLS_INIT; -- } - autofs_sasl_unbind(ctxt); - #endif - --- -1.7.5.1 - diff --git a/abs/extra/autofs/PKGBUILD b/abs/extra/autofs/PKGBUILD index 3663f03..0618dae 100644 --- a/abs/extra/autofs/PKGBUILD +++ b/abs/extra/autofs/PKGBUILD @@ -1,37 +1,37 @@ -# $Id: PKGBUILD 75188 2012-08-15 18:36:09Z lfleischer $ +# $Id: PKGBUILD 103218 2013-12-30 14:30:57Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Dale Blount <dale@archlinux.org> # Contributor: Manolis Tzanidakis pkgname=autofs -pkgver=5.0.7 +pkgver=5.0.8 pkgrel=1 pkgdesc='A kernel-based automounter for Linux.' arch=('i686' 'x86_64') url='http://freshmeat.net/projects/autofs' license=('GPL2') depends=('libxml2') -makedepends=('libldap' 'krb5') +makedepends=('libldap' 'krb5' 'kmod') optdepends=('krb5: for LDAP support') -backup=('etc/autofs/auto.master' - 'etc/autofs/auto.misc' - 'etc/conf.d/autofs') +backup=('etc/default/autofs' + 'etc/autofs/auto.master' + 'etc/autofs/auto.misc') options=(!makeflags) -install='autofs.install' -source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.bz2" - 'autofs' - 'autofs.conf.d' - 'auto.master' - 'auto.misc') +source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.xz") +sha256sums=('32c41fb4e3439f18400468e84dc82fbbd4b14156bef6b9a7f09196ecd9299d52') -build() { +prepare() { cd "${srcdir}/${pkgname}-${pkgver}" + sed -i -e 's|/etc/auto.misc|/etc/autofs/auto.misc|' \ + -e 's|/etc/auto.master.d|/etc/autofs/auto.master.d|' samples/auto.master +} - sed -i "s:SUBDIRS = lib daemon modules man samples:SUBDIRS = lib daemon modules man:" \ - Makefile.rules +build() { + cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc/autofs --with-mapdir=/etc/autofs --without-hesiod \ + ./configure --prefix=/usr --sysconfdir=/etc/autofs --sbindir=/usr/bin \ + --with-mapdir=/etc/autofs --without-hesiod \ --enable-ignore-busy --with-systemd make } @@ -40,16 +40,8 @@ package() { cd "${srcdir}/${pkgname}-${pkgver}" make INSTALLROOT="${pkgdir}" install - - install -Dm0644 "${srcdir}/auto.master" "${pkgdir}/etc/autofs/auto.master" - install -Dm0644 "${srcdir}/auto.misc" "${pkgdir}/etc/autofs/auto.misc" - install -Dm0755 "${srcdir}/autofs" "${pkgdir}/etc/rc.d/autofs" - install -Dm0644 "${srcdir}/autofs.conf.d" "${pkgdir}/etc/conf.d/autofs" - - install -Dm0644 "samples/autofs.service" "${pkgdir}/usr/lib/systemd/system/autofs.service" + rm -r "$pkgdir/run" + install -dm755 "$pkgdir/etc/autofs/auto.master.d" } -md5sums=('bc46838dece83c02d800ff144ed9f431' - 'e307bf6d2638e46eeb916cf42fe029b2' - '47f597c870410055e0fdb66103daf928' - 'a6cefb591e77b31b79dbb7243646c96b' - 'd8a15ec9186c5c0b36e5cea1e2739e8a') + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/autofs/auto.master b/abs/extra/autofs/auto.master deleted file mode 100644 index be4ea73..0000000 --- a/abs/extra/autofs/auto.master +++ /dev/null @@ -1,6 +0,0 @@ -# Sample auto.master file -# Format of this file: -# mountpoint map options -# For details of the format look at autofs(5). - -#/media /etc/autofs/auto.media diff --git a/abs/extra/autofs/auto.misc b/abs/extra/autofs/auto.misc deleted file mode 100644 index 5691566..0000000 --- a/abs/extra/autofs/auto.misc +++ /dev/null @@ -1,7 +0,0 @@ -# This is an automounter map and it has the following format -# key [ -mount-options-separated-by-comma ] location -# Details may be found in the autofs(5) manpage - -cdrom -fstype=iso9660,ro,nodev,nosuid :/dev/cdrom -floppy -fstype=auto,async,nodev,nosuid,umask=000 :/dev/fl -usbstick -fstype=auto,async,nodev,nosuid,umask=000 :/dev/sda1 diff --git a/abs/extra/autofs/autofs b/abs/extra/autofs/autofs deleted file mode 100644 index 08bd3e1..0000000 --- a/abs/extra/autofs/autofs +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -daemon_name=autofs - -. /etc/rc.conf -. /etc/rc.d/functions - -# source application-specific settings -[ -f /etc/conf.d/autofs ] && . /etc/conf.d/autofs - -if [ ! -z "$TIMEOUT" ]; then - daemonoptions="--timeout=$TIMEOUT $daemonoptions" -fi - -PID=`cat /var/run/autofs-running 2> /dev/null` -case "$1" in - start) - stat_busy "Starting $daemon_name daemon" - [ -z "$PID" ] && /usr/sbin/automount $daemonoptions &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon $daemon_name - stat_done - fi - ;; - stop) - stat_busy "Stopping $daemon_name daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon $daemon_name - stat_done - fi - ;; - restart) - stat_busy "Restarting $daemon_name daemon" - $0 stop - sleep 1 - $0 start - ;; - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - ;; - *) - echo "usage: $0 {start|stop|restart|status}" -esac -exit 0 diff --git a/abs/extra/autofs/autofs.conf.d b/abs/extra/autofs/autofs.conf.d deleted file mode 100644 index bc82491..0000000 --- a/abs/extra/autofs/autofs.conf.d +++ /dev/null @@ -1,4 +0,0 @@ -#localoptions='rsize=8192,wsize=8192' - -# e.g. --timeout=60 -daemonoptions='' diff --git a/abs/extra/autofs/autofs.install b/abs/extra/autofs/autofs.install deleted file mode 100644 index 34ae75f..0000000 --- a/abs/extra/autofs/autofs.install +++ /dev/null @@ -1,4 +0,0 @@ -post_install(){ - echo "> In autofs5 --ghost option isn't valid. In order to start autofs you" - echo "> must remove that option from your /etc/conf.d/autofs." -} diff --git a/abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch b/abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch new file mode 100644 index 0000000..fe3c513 --- /dev/null +++ b/abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch @@ -0,0 +1,59 @@ +From 3027cb7141fb65cf3eeda69c688db8c4045e2d3f Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org> +Date: Sat, 12 Oct 2013 17:45:25 +0200 +Subject: [PATCH] Allow using obexd without systemd in the user session + +Not all sessions run systemd --user (actually, the majority +doesn't), so the dbus daemon must be able to spawn obexd +directly, and to do so it needs the full path of the daemon. +--- + Makefile.obexd | 4 ++-- + obexd/src/org.bluez.obex.service | 4 ---- + obexd/src/org.bluez.obex.service.in | 4 ++++ + 3 files changed, 6 insertions(+), 6 deletions(-) + delete mode 100644 obexd/src/org.bluez.obex.service + create mode 100644 obexd/src/org.bluez.obex.service.in + +diff --git a/Makefile.obexd b/Makefile.obexd +index 3760867..142e7c3 100644 +--- a/Makefile.obexd ++++ b/Makefile.obexd +@@ -2,12 +2,12 @@ + if SYSTEMD + systemduserunitdir = @SYSTEMD_USERUNITDIR@ + systemduserunit_DATA = obexd/src/obex.service ++endif + + dbussessionbusdir = @DBUS_SESSIONBUSDIR@ + dbussessionbus_DATA = obexd/src/org.bluez.obex.service +-endif + +-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service ++EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in + + obex_plugindir = $(libdir)/obex/plugins + +diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service +deleted file mode 100644 +index a538088..0000000 +--- a/obexd/src/org.bluez.obex.service ++++ /dev/null +@@ -1,4 +0,0 @@ +-[D-BUS Service] +-Name=org.bluez.obex +-Exec=/bin/false +-SystemdService=dbus-org.bluez.obex.service +diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in +new file mode 100644 +index 0000000..9c815f2 +--- /dev/null ++++ b/obexd/src/org.bluez.obex.service.in +@@ -0,0 +1,4 @@ ++[D-BUS Service] ++Name=org.bluez.obex ++Exec=@libexecdir@/obexd ++SystemdService=dbus-org.bluez.obex.service +-- +1.8.3.1 + + diff --git a/abs/extra/bluez/PKGBUILD b/abs/extra/bluez/PKGBUILD index 758e858..25a7e32 100644 --- a/abs/extra/bluez/PKGBUILD +++ b/abs/extra/bluez/PKGBUILD @@ -3,86 +3,142 @@ # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Geoffroy Carrier <geoffroy@archlinux.org> -pkgname=bluez -pkgver=4.101 +pkgbase=bluez +pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins') +pkgver=5.18 pkgrel=1 -pkgdesc="Libraries and tools for the Bluetooth protocol stack" url="http://www.bluez.org/" arch=('i686' 'x86_64') license=('GPL2') -depends=('dbus-core' 'python2' 'udev') -makedepends=('gstreamer0.10-base' 'libusb-compat' 'libsndfile' 'libusb') -optdepends=("gstreamer0.10-base: bluetooth GStreamer support" - "alsa-lib: Audio bluetooth devices support" - "dbus-python: to run bluez-simple-agent" - "pygobject: to run bluez-simple-agent" - "libusb-compat: USB adapters support" - "cups: CUPS backend") -conflicts=('bluez-libs' 'bluez-utils') -provides=('bluez-libs' 'bluez-utils') -replaces=('bluez-libs' 'bluez-utils') -options=('!libtool') -backup=(etc/bluetooth/{main,rfcomm,audio,network,input,serial}.conf - 'etc/conf.d/bluetooth' 'etc/dbus-1/system.d/bluetooth.conf') -source=("http://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.bz2" - 'bluetooth.conf.d' - 'org.bluez.service' - 'audio-streaming.patch') +makedepends=('dbus' 'libical' 'systemd') +source=(http://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.xz + 0001-Allow-using-obexd-without-systemd-in-the-user-session.patch + bluetooth.modprobe) +# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc +sha256sums=('8c8bb13db83d0de6c85def2da8dfa0a758aff595405fb57a00719ed94d558340' + '896a1403d9b7258c4fb0d41f3a6f70fd51eaa1115ab3f4259f3dbbe02b55766b' + '46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4') + +prepare() { + cd $pkgname-$pkgver + # patch not upstreamable for obex file transfer - FS#37773 taken from FC + # http://www.hadess.net/2013/11/bluetooth-file-sharing-obexpush-in.html + patch -Np1 -i ${srcdir}/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch + autoreconf -vfi +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" - -# Add setting that allows audio streaming out-of-the-box - patch -Np1 -i ${srcdir}/audio-streaming.patch || return 1 - - cp ../org.bluez.service src/ - - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --libexecdir=/lib \ - --enable-gstreamer \ - --enable-alsa \ - --enable-usb \ - --enable-tools \ - --enable-bccmd \ - --enable-dfutool \ - --enable-hid2hci \ - --enable-hidd \ - --enable-pand \ - --enable-dund \ - --enable-cups \ - --enable-wiimote \ - --disable-test \ - --with-systemdunitdir=/usr/lib/systemd/system - - make + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib \ + --enable-sixaxis \ + --enable-library # this is deprecated +# --enable-experimental \ + + make all V=1 +} + +check() { + cd $pkgname-$pkgver + make check +} + + +package_bluez() { + pkgdesc="Daemons for the bluetooth protocol stack" + depends=('libical' 'dbus' 'glib2') + backup=('etc/dbus-1/system.d/bluetooth.conf' + 'etc/bluetooth/main.conf') + conflicts=('obexd-client' 'obexd-server') + + cd ${pkgbase}-${pkgver} + #make DESTDIR=${pkgdir} install + #return 1 + + make DESTDIR=${pkgdir} \ + install-libexecPROGRAMS \ + install-dbussessionbusDATA \ + install-systemdsystemunitDATA \ + install-systemduserunitDATA \ + install-dbussystembusDATA \ + install-dbusDATA \ + install-man8 + + # ship upstream main config file + install -dm755 ${pkgdir}/etc/bluetooth + install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/src/main.conf ${pkgdir}/etc/bluetooth/main.conf + + # add basic documention + install -dm755 ${pkgdir}/usr/share/doc/${pkgbase}/dbus-apis + cp -a doc/*.txt ${pkgdir}/usr/share/doc/${pkgbase}/dbus-apis/ + # fix module loading errors + install -dm755 ${pkgdir}/usr/lib/modprobe.d + install -Dm644 ${srcdir}/bluetooth.modprobe ${pkgdir}/usr/lib/modprobe.d/bluetooth-usb.conf +} + +package_bluez-utils() { + pkgdesc="Development and debugging utilities for the bluetooth protocol stack" + depends=('dbus' 'systemd') + conflicts=('bluez-hcidump') + provides=('bluez-hcidump') + replaces=('bluez-hcidump' 'bluez<=4.101') + + cd ${pkgbase}-${pkgver} + make DESTDIR=${pkgdir} \ + install-binPROGRAMS \ + install-man1 + + # libbluetooth.so* are part of libLTLIBRARIES and binPROGRAMS targets + #make DESTDIR=${pkgdir} uninstall-libLTLIBRARIES + #rmdir ${pkgdir}/usr/lib + rm -rf ${pkgdir}/usr/lib + + # move the hid2hci man page out + mv ${pkgdir}/usr/share/man/man1/hid2hci.1 ${srcdir}/ +} + +package_bluez-libs() { + pkgdesc="Deprecated libraries for the bluetooth protocol stack" + depends=('glibc') + license=('LGPL2.1') + + cd ${pkgbase}-${pkgver} + make DESTDIR=${pkgdir} \ + install-includeHEADERS \ + install-libLTLIBRARIES \ + install-pkgconfigDATA } -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install +package_bluez-cups() { + pkgdesc="CUPS printer backend for Bluetooth printers" + depends=('cups') - install -d ${pkgdir}/etc/bluetooth - install -m644 network/network.conf \ - input/input.conf \ - audio/audio.conf \ - serial/serial.conf \ - ${pkgdir}/etc/bluetooth/ + cd ${pkgbase}-${pkgver} + make DESTDIR=${pkgdir} install-cupsPROGRAMS +} + +package_bluez-hid2hci() { + pkgdesc="Put HID proxying bluetooth HCI's into HCI mode" + depends=('systemd') + + cd ${pkgbase}-${pkgver} + make DESTDIR=${pkgdir} \ + install-udevPROGRAMS \ + install-rulesDATA - install -Dm644 ${srcdir}/bluetooth.conf.d \ - ${pkgdir}/etc/conf.d/bluetooth - - # FS#27630 - install -Dm755 test/simple-agent "${pkgdir}"/usr/bin/bluez-simple-agent - install -Dm755 test/test-device "${pkgdir}"/usr/bin/bluez-test-device - install -Dm755 test/test-input "${pkgdir}"/usr/bin/bluez-test-input - sed -i 's#/usr/bin/python#/usr/bin/python2#' \ - "${pkgdir}"/usr/bin/bluez-simple-agent \ - "${pkgdir}"/usr/bin/bluez-test-device \ - "${pkgdir}"/usr/bin/bluez-test-input + install -dm755 ${pkgdir}/usr/share/man/man1 + mv ${srcdir}/hid2hci.1 ${pkgdir}/usr/share/man/man1/hid2hci.1 +} + +package_bluez-plugins() { + pkgdesc="bluez plugins (PS3 Sixaxis controller)" + depends=('systemd') + + cd ${pkgbase}-${pkgver} + make DESTDIR=${pkgdir} \ + install-pluginLTLIBRARIES } -md5sums=('902b390af95c6c5d6d1a17d94c8344ab' - '7412982b440f29fa7f76a41a87fef985' - '54c7de598327bf11d56592235d0702f4' - 'cc9c86af1ced7ad46fc7be114d32adfb') diff --git a/abs/extra/bluez/__changelog b/abs/extra/bluez/__changelog index e6448b6..47f870d 100644 --- a/abs/extra/bluez/__changelog +++ b/abs/extra/bluez/__changelog @@ -22,3 +22,6 @@ re-add audio-streaming.patch for ootb audio streaming - change 'systemd-tools' dependency back to 'udev' - change 'libusbx' dependency back to 'libusb' - remove refrences to rc.bluetooth + +2014-03-07 +- update bluez 5.15 arch pkgbuild no changes diff --git a/abs/extra/bluez/audio-streaming.patch b/abs/extra/bluez/audio-streaming.patch deleted file mode 100644 index 83705c5..0000000 --- a/abs/extra/bluez/audio-streaming.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- bluez-4.98/audio/audio.conf.orig 2012-02-27 23:52:30.960349047 +0000 -+++ bluez-4.98/audio/audio.conf 2012-02-27 23:54:19.768069787 +0000 -@@ -4,6 +4,11 @@ - # particular interface - [General] - -+# Allow audio streaming with bluez-4.98 and alsa-lib 1.0.24.1 -+# https://wiki.archlinux.org/index.php/Bluetooth#Audio_streaming -+ -+Enable=Socket -+ - # Switch to master role for incoming connections (defaults to true) - #Master=true diff --git a/abs/extra/bluez/bluetooth.conf.d b/abs/extra/bluez/bluetooth.conf.d deleted file mode 100644 index 1c1e025..0000000 --- a/abs/extra/bluez/bluetooth.conf.d +++ /dev/null @@ -1,30 +0,0 @@ -# Bluetooth configuraton file - -# Bluetooth services (allowed values are "true" and "false") - -# Run the bluetoothd daemon (default: true) -#DAEMON_ENABLE="false" - -# Run the sdp daemon (default: false) -# If this is disabled, hcid's internal sdp daemon will be used -#SDPD_ENABLE="true" - -# Run the bluetooth HID daemon (default: false) -#HIDD_ENABLE="true" - -# Activate rfcomm ports (default: false) -#RFCOMM_ENABLE="true" - -# Run bluetooth dial-up networking daemon (default: false) -#DUND_ENABLE="true" - -# Run bluetooth PAN daemon (default: false) -#PAND_ENABLE="true" - -# rfcomm configuration file (default: /etc/bluetooth/rfcomm.conf) -#RFCOMM_CONFIG="/etc/bluetooth/rfcomm.conf" - -# Options for hidd, dund and pand (default: none) -HIDD_OPTIONS="--server" -#DUND_OPTIONS="" -#PAND_OPTIONS="" diff --git a/abs/extra/bluez/bluetooth.modprobe b/abs/extra/bluez/bluetooth.modprobe new file mode 100644 index 0000000..3072d78 --- /dev/null +++ b/abs/extra/bluez/bluetooth.modprobe @@ -0,0 +1,3 @@ +# use "reset=1" as default, since it should be safe for recent devices and +# solves all kind of problems. +options btusb reset=1 diff --git a/abs/extra/bluez/bluez.install b/abs/extra/bluez/bluez.install index 30bd262..9cfe793 100644 --- a/abs/extra/bluez/bluez.install +++ b/abs/extra/bluez/bluez.install @@ -9,7 +9,7 @@ post_install() { pre_remove() { for d in { bluetoothd,hidd,dund,pand,sdpd,rfcomm,hid2hci } ; do if [ -d /var/service/${d} ] ; then - remove_servcie.sh $d + remove_service.sh $d fi done } diff --git a/abs/extra/bluez/org.bluez.service b/abs/extra/bluez/org.bluez.service deleted file mode 100644 index dd7ae8f..0000000 --- a/abs/extra/bluez/org.bluez.service +++ /dev/null @@ -1,5 +0,0 @@ -[D-BUS Service] -Name=org.bluez -Exec=/bin/false -User=root -SystemdService=dbus-org.bluez.service diff --git a/abs/extra/ca-certificates-java/PKGBUILD b/abs/extra/ca-certificates-java/PKGBUILD deleted file mode 100644 index ff1a341..0000000 --- a/abs/extra/ca-certificates-java/PKGBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: PKGBUILD 162732 2012-06-29 08:16:24Z pierre $ -# Maintainer: Jan de Groot <jgc@archlinux.org> - -pkgname=ca-certificates-java -pkgver=20120721 -pkgrel=1 -pkgdesc='Common CA certificates (JKS keystore)' -arch=('any') -url='http://packages.qa.debian.org/c/ca-certificates-java.html' -license=('GPL') -depends=('ca-certificates') -makedepends=('jdk7-openjdk') -install='ca-certificates-java.install' -backup=('etc/default/cacerts') -source=("http://ftp.debian.org/debian/pool/main/c/${pkgname}/${pkgname}_${pkgver}.tar.gz" - 'init-jks-keystore' 'jks-keystore.hook') - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - javac -target 1.6 -source 1.6 UpdateCertificates.java - jar cfe ca-certificates-java.jar UpdateCertificates *.class -} - -package() { - cd ${srcdir}/${pkgname}-${pkgver} - - install -d -m755 ${pkgdir}/etc/ssl/certs/java - install -D -m600 debian/default ${pkgdir}/etc/default/cacerts - install -D -m644 ca-certificates-java.jar ${pkgdir}/usr/share/ca-certificates-java/ca-certificates-java.jar - install -D -m755 ${srcdir}/init-jks-keystore ${pkgdir}/usr/sbin/init-jks-keystore - install -D -m755 ${srcdir}/jks-keystore.hook ${pkgdir}/etc/ca-certificates/update.d/jks-keystore -} -md5sums=('a4c17590cc91a498b611c2dc62795273' - '75eeca3f443f4b5a17ed5ac81875f1e9' - '6dd4f915aee0df51260083e00b7fa012') diff --git a/abs/extra/ca-certificates-java/ca-certificates-java.install b/abs/extra/ca-certificates-java/ca-certificates-java.install deleted file mode 100644 index f5ce35e..0000000 --- a/abs/extra/ca-certificates-java/ca-certificates-java.install +++ /dev/null @@ -1,18 +0,0 @@ -post_install() { - if [ ! -f etc/ssl/certs/java/cacerts ]; then - if which java >/dev/null 2>&1; then - usr/sbin/init-jks-keystore - fi - fi -} - -post_upgrade() { - if [ $(vercmp $2 20110426-2) -lt 0 ]; then - mv etc/ssl/certs/java/cacerts etc/ssl/certs/java/cacerts.pacsave - fi - post_install -} - -post_remove() { - rm -rf etc/ssl/certs/java -} diff --git a/abs/extra/ca-certificates-java/init-jks-keystore b/abs/extra/ca-certificates-java/init-jks-keystore deleted file mode 100755 index 0758420..0000000 --- a/abs/extra/ca-certificates-java/init-jks-keystore +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -storepass='changeit' -. /etc/default/cacerts - -JAR=/usr/share/ca-certificates-java/ca-certificates-java.jar - -find /etc/ssl/certs -name '*.pem' -printf "+%p\n" | \ - java -jar $JAR -storepass "$storepass" >/dev/null -echo "done." diff --git a/abs/extra/ca-certificates-java/jks-keystore.hook b/abs/extra/ca-certificates-java/jks-keystore.hook deleted file mode 100644 index 67d9eda..0000000 --- a/abs/extra/ca-certificates-java/jks-keystore.hook +++ /dev/null @@ -1,15 +0,0 @@ -#! /bin/sh - -storepass='changeit' -. /etc/default/cacerts - -echo "" -if [ "$cacerts_updates" != yes ] || [ "$CACERT_UPDATES" = disabled ]; then - echo "updates of cacerts keystore disabled." - exit 0 -fi - -JAR=/usr/share/ca-certificates-java/ca-certificates-java.jar - -java -jar $JAR -storepass "$storepass" -echo "done." diff --git a/abs/extra/chrpath/PKGBUILD b/abs/extra/chrpath/PKGBUILD new file mode 100644 index 0000000..4c5d2a2 --- /dev/null +++ b/abs/extra/chrpath/PKGBUILD @@ -0,0 +1,34 @@ +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> + +pkgname=chrpath +pkgver=0.16 +pkgrel=1 +pkgdesc="Change or delete the rpath or runpath in ELF files" +arch=('i686' 'x86_64') +url="http://directory.fsf.org/project/chrpath/" +license=('GPL2') +depends=('glibc') +source=("https://alioth.debian.org/frs/download.php/latestfile/813/chrpath-$pkgver.tar.gz") +md5sums=('2bf8d1d1ee345fc8a7915576f5649982') + +prepare() { + cd "${srcdir}"/$pkgname-$pkgver +# rm -f config.guess +# aclocal +# libtoolize +# automake --add-missing +# autoconf +} + +build() { + cd "${srcdir}"/$pkgname-$pkgver + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +package() { + cd "${srcdir}"/$pkgname-$pkgver + make DESTDIR="${pkgdir}" docdir=/usr/share/doc/chrpath install +} diff --git a/abs/extra/cifs-utils/PKGBUILD b/abs/extra/cifs-utils/PKGBUILD index f220fa4..fb2db27 100644 --- a/abs/extra/cifs-utils/PKGBUILD +++ b/abs/extra/cifs-utils/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 161430 2012-06-11 13:06:12Z tpowa $ +# $Id: PKGBUILD 200381 2013-11-27 10:08:51Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=cifs-utils -pkgver=5.5 +pkgver=6.2 pkgrel=1 pkgdesc="CIFS filesystem user-space tools" arch=(i686 x86_64) @@ -12,7 +12,9 @@ source=(ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/$pkgname-$pkgver.tar.bz2) build() { cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr + # systemd support is broken in mount.cifs + # https://bugs.archlinux.org/task/30958 + ./configure --prefix=/usr --sbindir=/usr/bin --disable-systemd make } @@ -22,4 +24,4 @@ package() { # set mount.cifs uid, to enable none root mounting form fstab chmod +s $pkgdir/usr/bin/mount.cifs } -md5sums=('4de6c660ccdb9506d0e2cff4f37b8707') +md5sums=('6a83fe19e02266cb468ea3bf1cc0d007') diff --git a/abs/extra/cifs-utils/fix-5.9-credentials.patch b/abs/extra/cifs-utils/fix-5.9-credentials.patch new file mode 100644 index 0000000..24e20ed --- /dev/null +++ b/abs/extra/cifs-utils/fix-5.9-credentials.patch @@ -0,0 +1,16 @@ +X-Git-Url: https://git.samba.org/?p=cifs-utils.git;a=blobdiff_plain;f=mount.cifs.c;h=40b77e92e3f734c606f522ccf279a0508ad64eab;hp=c7c3055cb890764937193b1d50d1f0fb7ae18826;hb=1a01f7c4b90695211d12291d7a24bec05b1f2922;hpb=739289ad3ce915e1ee2705ecd7ac4e907cd91405 + +diff --git a/mount.cifs.c b/mount.cifs.c +index c7c3055..40b77e9 100644 +--- a/mount.cifs.c ++++ b/mount.cifs.c +@@ -581,7 +581,8 @@ static int open_cred_file(char *file_name, + switch (parse_cred_line(line_buf + i, &temp_val)) { + case CRED_USER: + strlcpy(parsed_info->username, temp_val, +- sizeof(parsed_info->domain)); ++ sizeof(parsed_info->username)); ++ parsed_info->got_user = 1; + break; + case CRED_PASS: + i = set_password(parsed_info, temp_val); diff --git a/abs/extra/community/athcool/PKGBUILD b/abs/extra/community/athcool/PKGBUILD deleted file mode 100644 index 58d7c21..0000000 --- a/abs/extra/community/athcool/PKGBUILD +++ /dev/null @@ -1,28 +0,0 @@ -pkgname=athcool -pkgver=0.3.12 -pkgrel=4 -pkgdesc="Small utility allowing to enable powersaving mode on AMD Duron/Athlon/Athlon XP processors." -url="http://members.jcom.home.ne.jp/jacobi/linux/softwares.html" -depends=('pciutils') -license=('GPL') -install=athcool.install -arch=('i686' 'x86_64') -source=(http://members.jcom.home.ne.jp/jacobi/linux/files/$pkgname-$pkgver.tar.gz - athcool run finish) - -build() { - cd ${srcdir}/${pkgname}-${pkgver} - make || return 1 -} -package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - install -D -m0755 ../athcool ${pkgdir}/etc/rc.d/athcool - mkdir -p ${pkgdir}/etc/sv/athcool/supervise - install -D -m0755 ../run ${pkgdir}/etc/sv/athcool - install -D -m0755 ../finish ${pkgdir}/etc/sv/athcool -} -md5sums=('f2e0f4fbd04f5e1f09aa60a3ecb24645' - 'bbf32484cec6431568ccf51c2516f9e7' - 'b9cf31ac580c1665d50d70e405d276bc' - 'f854a49b2430852fddab2b7baa0591ad') diff --git a/abs/extra/community/athcool/athcool b/abs/extra/community/athcool/athcool deleted file mode 100644 index f49bd40..0000000 --- a/abs/extra/community/athcool/athcool +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -ATHCOOL=/usr/sbin/athcool - -case "$1" in - start) - stat_busy "Enabling Athcool" - $ATHCOOL on > /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - stat_done - fi - ;; - stop) - stat_busy "Disabling Athcool" - $ATHCOOL off > /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - stat_done - fi - ;; - restart) - $0 stop - /bin/sleep 1 - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/community/athcool/athcool.install b/abs/extra/community/athcool/athcool.install deleted file mode 100644 index 8896da2..0000000 --- a/abs/extra/community/athcool/athcool.install +++ /dev/null @@ -1,18 +0,0 @@ -# arg 1: the new package version -post_install() { - add_service.sh athcool -} -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - /bin/true -} - -# arg 1: the old package version -post_remove() { - remove_service.sh athcool -} - -op=$1 -shift -$op $* diff --git a/abs/extra/community/athcool/finish b/abs/extra/community/athcool/finish deleted file mode 100755 index cae6b1b..0000000 --- a/abs/extra/community/athcool/finish +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -exec 2>&1 -sv down athcool diff --git a/abs/extra/community/athcool/run b/abs/extra/community/athcool/run deleted file mode 100644 index b43936c..0000000 --- a/abs/extra/community/athcool/run +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec /usr/sbin/athcool on 2>&1 diff --git a/abs/extra/community/desktop-file-utils/ChangeLog b/abs/extra/community/desktop-file-utils/ChangeLog deleted file mode 100644 index 8941e48..0000000 --- a/abs/extra/community/desktop-file-utils/ChangeLog +++ /dev/null @@ -1,7 +0,0 @@ -2008-07-22 Alexander Fehr <pizzapunk gmail com> - - * desktop-file-utils-0.15-1: - New upstream release. - New maintainer. - Changed url. - Added ChangeLog. diff --git a/abs/extra/community/nxtvepg.tar.gz b/abs/extra/community/nxtvepg.tar.gz Binary files differdeleted file mode 100644 index fe8da09..0000000 --- a/abs/extra/community/nxtvepg.tar.gz +++ /dev/null diff --git a/abs/extra/crda/0001-Makefile-Don-t-run-ldconfig.patch b/abs/extra/crda/0001-Makefile-Don-t-run-ldconfig.patch new file mode 100644 index 0000000..e9f102d --- /dev/null +++ b/abs/extra/crda/0001-Makefile-Don-t-run-ldconfig.patch @@ -0,0 +1,24 @@ +From 15bc8065e9dc5485c650c528f8d80f7536e378d6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org> +Date: Fri, 21 Feb 2014 20:30:24 +0100 +Subject: [PATCH] Makefile: Don't run ldconfig + +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 80f4946..c003195 100644 +--- a/Makefile ++++ b/Makefile +@@ -130,7 +130,6 @@ install-libreg: + $(NQ) ' INSTALL libreg' + $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) + $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ +- $(Q)ldconfig + + %.o: %.c regdb.h $(LIBREG) + $(NQ) ' CC ' $@ +-- +1.9.0 + diff --git a/abs/extra/crda/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch b/abs/extra/crda/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch new file mode 100644 index 0000000..10dae58 --- /dev/null +++ b/abs/extra/crda/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch @@ -0,0 +1,55 @@ +From e2e519730c33de4503ac5dda28863d029e3cf578 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org> +Date: Fri, 21 Feb 2014 20:15:32 +0100 +Subject: [PATCH] Makefile: Link libreg.so against the crypto library. + +--- + Makefile | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 1f25509..80f4946 100644 +--- a/Makefile ++++ b/Makefile +@@ -33,6 +33,7 @@ LDLIBS += $(LDLIBREG) + LDLIBS += -lm + LIBREG += libreg.so + LDFLAGS += -L ./ ++LIBREG_LDFLAGS += -lm + + all: all_noverify verify + +@@ -40,17 +41,19 @@ all_noverify: $(LIBREG) crda intersect regdbdump db2rd optimize + + ifeq ($(USE_OPENSSL),1) + CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl` +-LDLIBS += `pkg-config --libs openssl` ++LDCRYPTOLIB := `pkg-config --libs openssl` + + $(LIBREG): keys-ssl.c + + else + CFLAGS += -DUSE_GCRYPT +-LDLIBS += -lgcrypt ++LDCRYPTOLIB := -lgcrypt + + $(LIBREG): keys-gcrypt.c + + endif ++LDLIBS += $(LDCRYPTOLIB) ++LIBREG_LDFLAGS += $(LDCRYPTOLIB) + MKDIR ?= mkdir -p + INSTALL ?= install + +@@ -116,7 +119,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem) + + $(LIBREG): regdb.h reglib.h reglib.c + $(NQ) ' CC ' $@ +- $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ ++ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LIBREG_LDFLAGS) + + install-libreg-headers: + $(NQ) ' INSTALL libreg-headers' +-- +1.9.0 + diff --git a/abs/extra/crda/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch b/abs/extra/crda/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch new file mode 100644 index 0000000..6807e99 --- /dev/null +++ b/abs/extra/crda/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch @@ -0,0 +1,52 @@ +From fefefdb2c52c8fbedbb339b4badb8226cad7e7e0 Mon Sep 17 00:00:00 2001 +From: Krishna Chaitanya <chaitanya.mgit@gmail.com> +Date: Mon, 16 Dec 2013 21:57:39 +0530 +Subject: [PATCH] crda: Fix the linking order to avoid compilation error + +While linking the crda.o and libreg.so, first put crda.o +and then -lreg. This fixed the below error: + + GEN keys-gcrypt.c + Trusted pubkeys: pubkeys/linville.key.pub.pem + CC libreg.so + CC crda.o + LD crda +crda.o: In function `main': +crda/crda.c:196: undefined reference to `reglib_get_rd_alpha2' +collect2: ld returned 1 exit status +make: *** [crda] Error 1 + +Note: This still doesn't fix the below error (will send another mail) + + CHK /usr/lib/crda/regulatory.bin +Database signature verification failed. +Invalid or empty regulatory file, note: a binary regulatory file should be used. +make: *** [verify] Error 234 + +Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> +Signed-off-by: Chaitanya T K <chaitanya.mgit@gmail.com> +--- + Makefile | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 4a351c6..0b2f0d7 100644 +--- a/Makefile ++++ b/Makefile +@@ -28,10 +28,11 @@ RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys + CFLAGS += -O2 -fpic + CFLAGS += -std=gnu99 -Wall -Werror -pedantic + CFLAGS += -Wall -g +-LDLIBS += -lm + LDLIBREG += -lreg ++LDLIBS += $(LDLIBREG) ++LDLIBS += -lm + LIBREG += libreg.so +-LDFLAGS += -L ./ $(LDLIBREG) ++LDFLAGS += -L ./ + + all: all_noverify verify + +-- +1.9.0 + diff --git a/abs/extra/crda/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch b/abs/extra/crda/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch new file mode 100644 index 0000000..c69f8f7 --- /dev/null +++ b/abs/extra/crda/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch @@ -0,0 +1,37 @@ +From 2cabb2588da56735369131b709f191453c080be0 Mon Sep 17 00:00:00 2001 +From: "John W. Linville" <linville@tuxdriver.com> +Date: Fri, 14 Feb 2014 13:58:44 -0500 +Subject: [PATCH 2/2] crda: Add DESTDIR support in install-libreg* rules in + Makefile + +Signed-off-by: John W. Linville <linville@tuxdriver.com> +Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> +--- + Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 0b2f0d7..1f25509 100644 +--- a/Makefile ++++ b/Makefile +@@ -120,13 +120,13 @@ $(LIBREG): regdb.h reglib.h reglib.c + + install-libreg-headers: + $(NQ) ' INSTALL libreg-headers' +- $(Q)mkdir -p $(INCLUDE_DIR) +- $(Q)cp *.h $(INCLUDE_DIR)/ ++ $(Q)mkdir -p $(DESTDIR)/$(INCLUDE_DIR) ++ $(Q)cp *.h $(DESTDIR)/$(INCLUDE_DIR)/ + + install-libreg: + $(NQ) ' INSTALL libreg' +- $(Q)mkdir -p $(LIBDIR) +- $(Q)cp $(LIBREG) $(LIBDIR)/ ++ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) ++ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ + $(Q)ldconfig + + %.o: %.c regdb.h $(LIBREG) +-- +1.9.0 + diff --git a/abs/extra/crda/PKGBUILD b/abs/extra/crda/PKGBUILD index 88ad6cc..53fe499 100644 --- a/abs/extra/crda/PKGBUILD +++ b/abs/extra/crda/PKGBUILD @@ -1,37 +1,53 @@ -# $Id: PKGBUILD 158615 2012-05-05 03:17:06Z allan $ +# $Id$ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=crda -pkgver=1.1.2 -pkgrel=3 +pkgver=3.13 +pkgrel=1 pkgdesc="Central Regulatory Domain Agent for wireless networks" arch=(i686 x86_64) url="http://wireless.kernel.org/en/developers/Regulatory/CRDA" license=('custom') -depends=('wireless-regdb' 'libnl' 'libgcrypt' 'udev' 'iw') +depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd' 'iw') makedepends=('python-m2crypto') install=crda.install -source=(http://wireless.kernel.org/download/crda/${pkgname}-${pkgver}.tar.bz2 - crda.rc libnl32.patch) -md5sums=('5226f65aebacf94baaf820f8b4e06df4' - '014eef3f8655e9a130064ec6891317fc' - 'c1f7aff29f15a0364ae6f7905a1d4ae6') - -build() { +source=(https://kernel.org/pub/software/network/crda/${pkgname}-${pkgver}.tar.xz + set-wireless-regdom + 0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch + 0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch + 0001-Makefile-Link-libreg.so-against-the-crypto-library.patch + 0001-Makefile-Don-t-run-ldconfig.patch) +sha256sums=('2f85da7ab0170b140d6ed62596c8f268d4a7dedecf84cac7182ada979742ff59' + '603ce97da5cce3f5337e99007ce04e2f295bb33a36b308794884011f7bcabaf3' + '8920b5988eb1befe13f88ce5c0dbbf30c294796d613681a2b0925f6f8534c51b' + 'ced0a372b06ffd64f90be77d7267c9d8cc10413bc017c3154b7208dbf69be3cb' + '96b2068b27202f8bc78009869520e396cb3f3ac7a826efef06d0fc41047f2520' + 'ff52990cf9295e5cebcf07ebbf2a96e225d97088573edcc898b29ce33a0fb663') + +prepare() { cd "${srcdir}"/${pkgname}-${pkgver} - patch -Np1 -i "$srcdir/libnl32.patch" sed 's|^#!/usr/bin/env python|#!/usr/bin/python2|' -i utils/key2pub.py - make crda regdbdump + patch -p1 -i "${srcdir}"/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch + patch -p1 -i "${srcdir}"/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch + patch -p1 -i "${srcdir}"/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch + patch -p1 -i "${srcdir}"/0001-Makefile-Don-t-run-ldconfig.patch +} + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + make } package() { # Install crda, regdbdump and udev rules cd "${srcdir}"/${pkgname}-${pkgver} - make DESTDIR="${pkgdir}" UDEV_RULE_DIR=/usr/lib/udev/rules.d/ install + make DESTDIR="${pkgdir}" UDEV_RULE_DIR=/usr/lib/udev/rules.d/ SBINDIR=/usr/bin/ install + # Adjust paths in udev rule file + sed 's|/sbin/crda|/usr/bin/crda|' -i "${pkgdir}"/usr/lib/udev/rules.d/85-regulatory.rules # This rule automatically sets the regulatory domain when cfg80211 is loaded - echo 'ACTION=="add" SUBSYSTEM=="module", DEVPATH=="/module/cfg80211", RUN+="/etc/rc.d/wireless-regdom start >/dev/null"' >> "${pkgdir}"/usr/lib/udev/rules.d/85-regulatory.rules + echo 'ACTION=="add" SUBSYSTEM=="module", DEVPATH=="/module/cfg80211", RUN+="/usr/bin/set-wireless-regdom"' >> "${pkgdir}"/usr/lib/udev/rules.d/85-regulatory.rules install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/crda/LICENSE - install -D -m755 "${srcdir}"/crda.rc "${pkgdir}"/etc/rc.d/wireless-regdom + install -D -m755 "${srcdir}"/set-wireless-regdom "${pkgdir}"/usr/bin/set-wireless-regdom } diff --git a/abs/extra/crda/__changelog b/abs/extra/crda/__changelog new file mode 100644 index 0000000..2c7ba65 --- /dev/null +++ b/abs/extra/crda/__changelog @@ -0,0 +1 @@ +PKGBUILD: change dep python2-m2crypto to python-m2crypto diff --git a/abs/extra/crda/crda.install b/abs/extra/crda/crda.install index c18e15f..9618a74 100644 --- a/abs/extra/crda/crda.install +++ b/abs/extra/crda/crda.install @@ -1,18 +1,5 @@ ## arg 1: the new package version post_install() { echo "Uncomment the right regulatory domain in /etc/conf.d/wireless-regdom." - echo "It will automatically be set when necessary." -} - -## arg 1: the new package version -## arg 2: the old package version -post_upgrade() { - # In an upgrade from 1.0.1-1 or older, the wireless-regdom file moves from the crda package - # to the new wireless-regdb package. If the user changed the file, it is save to overwrite the one - # from wireless-regdb by the user-defined one - if [ $(vercmp $2 1.0.1-2) -lt 0 ]; then - if [ -f /etc/conf.d/wireless-regdom.pacorig -a -n "$(grep -v ^# /etc/conf.d/wireless-regdom.pacorig 2>/dev/null | grep -v ^$)" ]; then - mv /etc/conf.d/wireless-regdom.pacorig /etc/conf.d/wireless-regdom - fi - fi + echo "It will automatically be set on boot." } diff --git a/abs/extra/crda/crda.rc b/abs/extra/crda/crda.rc deleted file mode 100755 index 13dbd87..0000000 --- a/abs/extra/crda/crda.rc +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/wireless-regdom - -case "$1" in - start) - if [ -n "${WIRELESS_REGDOM}" ]; then - stat_busy "Setting wireless regulatory domain: ${WIRELESS_REGDOM}" - if iw reg set ${WIRELESS_REGDOM}; then - stat_done - else - stat_fail - fi - fi - ;; - stop) - ;; - restart) - $0 start - ;; - *) - echo "usage: $0 start" -esac -exit 0 diff --git a/abs/extra/crda/libnl32.patch b/abs/extra/crda/libnl32.patch deleted file mode 100644 index 682b6c5..0000000 --- a/abs/extra/crda/libnl32.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r crda-1.1.2/Makefile crda-1.1.2-libnl32/Makefile ---- crda-1.1.2/Makefile 2011-08-10 01:36:19.000000000 +0200 -+++ crda-1.1.2-libnl32/Makefile 2012-02-09 18:53:33.376430180 +0100 -@@ -51,7 +51,7 @@ - - ifeq ($(NL3FOUND),Y) - CFLAGS += -DCONFIG_LIBNL30 --NLLIBS += -lnl-genl -+NLLIBS += $(shell pkg-config --libs libnl-genl-3.0) - NLLIBNAME = libnl-3.0 - else - ifeq ($(NL2FOUND),Y) diff --git a/abs/extra/crda/set-wireless-regdom b/abs/extra/crda/set-wireless-regdom new file mode 100755 index 0000000..3905ae9 --- /dev/null +++ b/abs/extra/crda/set-wireless-regdom @@ -0,0 +1,5 @@ +#!/bin/bash + +unset WIRELESS_REGDOM +. /etc/conf.d/wireless-regdom +[ -n "${WIRELESS_REGDOM}" ] && iw reg set ${WIRELESS_REGDOM} diff --git a/abs/extra/cups/PKGBUILD b/abs/extra/cups/PKGBUILD index 9a55d2f..3975850 100644 --- a/abs/extra/cups/PKGBUILD +++ b/abs/extra/cups/PKGBUILD @@ -1,66 +1,105 @@ -# $Id: PKGBUILD 161774 2012-06-13 17:38:37Z andyrtr $ +# $Id: PKGBUILD 218449 2014-07-31 13:11:09Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase="cups" pkgname=('libcups' 'cups') -pkgver=1.5.3 -pkgrel=5 +pkgver=1.7.5 +pkgrel=1 arch=('i686' 'x86_64') license=('GPL') url="http://www.cups.org/" -makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc' - 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme' 'systemd') -source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 - cups-avahi-1-config.patch - cups-avahi-2-backend.patch - cups-avahi-3-timeouts.patch - cups-avahi-4-poll.patch - cups-avahi-5-services.patch +makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'openssl' + 'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus' + 'avahi' 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 'valgrind') +source=(#http://mirror.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 + http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2{,.sig} + cups.logrotate cups.pam + # improve build and linking cups-no-export-ssllibs.patch cups-no-gcrypt.patch cups-no-gzip-man.patch + # FC cups-systemd-socket.patch - cups cups.logrotate cups.pam) -#options=('!emptydirs') -md5sums=('e1ad15257aa6f162414ea3beae0c5df8' - '12c8af5bcd3b8f84240280b3dfaf9e89' - 'cdc1322c8014297ae349e2db78a03c5a' - '1a5112f63958643f2888abc9418dbcac' - 'c37d1bf1bb76acc3fe93362c80d91b7c' - '5d302860559960042f3b47a91b97c5fe' - '9b8467a1e51d360096b70e2c3c081e6c' - '3733c23e77eb503bd94cc368e02830dc' - 'c9159ba1233902ba6ddbbe6885a46b72' - '4505b8b2c57a7c28ea79e08388bbbbb9' - '9657daa21760bb0b5fa3d8b51d5e01a1' - 'f861b18f4446c43918c8643dcbbd7f6d' - '96f82c38f3f540b53f3e5144900acf17') + cups-res_init.patch + cups-avahi-address.patch + cups-enum-all.patch + cups-final-content-type.patch + # Gentoo + cups-1.6.0-fix-install-perms.patch + cups-1.6.2-statedir.patch + # Debian + cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch + get-ppd-file-for-statically-configured-ipp-shared-queues.patch + ppd-poll-with-client-conf.patch) +md5sums=('5d893edc2957005f78e2b2423fdace2e' + 'SKIP' + '26e9b4e65c0a4d76db5737c9b156fd80' + '96f82c38f3f540b53f3e5144900acf17' + '3ba9e3410df1dc3015463d615ef91b3b' + 'cc4101beccb5ed6deb1c92707a575925' + '90c30380d4c8cd48a908cfdadae1ea24' + '8162e1d05947bd59fa29ba40ac565fec' + '8fe27d4248cacbc02824e7937cab4088' + 'df0c367c0022e3c7d8e01827e8a6c5e7' + 'f30c2a161caaf27854581507cde8cac6' + 'a31b64ba25a985fbae65d8ddf311b08c' + '5117f65342fcc69c6a506529e4daca9e' + '451609db34f95209d64c38474de27ce1' + 'cb58bf4e0b80eaee383712e5c84a1ab4' + 'b578bcd17949a7203237ba1e31f78ef9' + '0becd6ab8782b97f19a02c1dc174c75e') -build() { - cd ${srcdir}/${pkgbase}-${pkgver} - # http://www.cups.org/str.php?L3066 - # Avahi support in the dnssd backend. patches from upstream/FC RawHide - patch -Np1 -i ${srcdir}/cups-avahi-1-config.patch - patch -Np1 -i ${srcdir}/cups-avahi-2-backend.patch - patch -Np1 -i ${srcdir}/cups-avahi-3-timeouts.patch - patch -Np1 -i ${srcdir}/cups-avahi-4-poll.patch - patch -Np1 -i ${srcdir}/cups-avahi-5-services.patch +prepare() { + cd ${pkgbase}-${pkgver} +#return 1 # add systemd socket support - Fedora patch, also used in Gentoo + # modified now to the changes done by Gentoo in their svn ebuild + # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-1.5.0-systemd-socket.patch?revision=1.1 patch -Np1 -i ${srcdir}/cups-systemd-socket.patch - + # Do not export SSL libs in cups-config patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch" patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch" + # don't zip man pages in make install, let makepkg do that / Fedora patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch + + + # various bugfixes (upstream reports/SVN or Fedora/Debian + + # Fixed crash which sometimes happens on shutdown of the CUPS daemon, caused by a wrong shutdown sequence for shutting down the Avahi threaded poll. +# patch -Np1 -i ${srcdir}/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch + # Applications could not get the PPD file for statically-configured IPP-shared print queues + patch -Np1 -i ${srcdir}/get-ppd-file-for-statically-configured-ipp-shared-queues.patch + # If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs + # for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server Bug: http://www.cups.org/str.php?L2763 +# patch -Np1 -i ${srcdir}/ppd-poll-with-client-conf.patch + # fix permissions on some files - alternative: cups-0755.patch by FC + patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch + # move /var/run -> /run for pid file + patch -Np1 -i ${srcdir}/cups-1.6.2-statedir.patch + # Re-initialise the resolver on failure in httpAddrGetList() + patch -Np1 -i ${srcdir}/cups-res_init.patch + # Use IP address when resolving DNSSD URIs + patch -Np1 -i ${srcdir}/cups-avahi-address.patch + # Return from cupsEnumDests() once all records have been returned. + patch -Np1 -i ${srcdir}/cups-enum-all.patch - # Rebuild configure script for --enable-avahi. + # Fix printing to some network printers fails - https://bugs.archlinux.org/task/37605 + patch -Np1 -i ${srcdir}/cups-final-content-type.patch + + # Rebuild configure script for not zipping man-pages. aclocal -I config-scripts autoconf -I config-scripts +} + +build() { + cd ${pkgbase}-${pkgver} ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --sbindir=/usr/bin \ --libdir=/usr/lib \ --with-systemdsystemunitdir=/usr/lib/systemd/system \ --with-logdir=/var/log/cups \ @@ -68,32 +107,28 @@ build() { --with-cups-user=daemon \ --with-cups-group=lp \ --enable-pam=yes \ - --disable-ldap \ --enable-raw-printing \ --enable-dbus --with-dbusdir=/etc/dbus-1 \ - --enable-ssl=yes --enable-gnutls \ + --enable-ssl=yes --enable-openssl \ --enable-threads \ --enable-avahi\ + --enable-libpaper \ --with-php=/usr/bin/php-cgi \ - --with-pdftops=pdftops \ --with-optim="$CFLAGS" make } check() { - cd "$srcdir/$pkgbase-$pkgver" - #httpAddrGetList(workstation64): FAIL - #1 TESTS FAILED! - #make[1]: *** [testhttp] Error 1 + cd ${pkgbase}-${pkgver} make -k check || /bin/true } package_libcups() { pkgdesc="The CUPS Printing System - client libraries and headers" -depends=('gnutls>=2.8.3' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi') +depends=('openssl' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi') backup=(etc/cups/client.conf) - cd ${srcdir}/${pkgbase}-${pkgver} + cd ${pkgbase}-${pkgver} make BUILDROOT=${pkgdir} install-headers install-libs # put this into the libs pkg to make other software find the libs(no pkg-config file included) mkdir -p ${pkgdir}/usr/bin @@ -101,13 +136,12 @@ backup=(etc/cups/client.conf) # install client.conf man page and config file install -dm755 ${pkgdir}/usr/share/man/man5 - #install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5.gz ${pkgdir}/usr/share/man/man5/ install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5 ${pkgdir}/usr/share/man/man5/ - install -dm755 ${pkgdir}/etc/cups + install -dm755 -g lp ${pkgdir}/etc/cups touch ${pkgdir}/etc/cups/client.conf echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf - chgrp lp ${pkgdir}/etc/cups/client.conf + chgrp -R lp ${pkgdir}/etc/cups } package_cups() { @@ -117,16 +151,17 @@ backup=(etc/cups/cupsd.conf etc/cups/snmp.conf etc/cups/printers.conf etc/cups/classes.conf + etc/cups/cups-files.conf etc/cups/subscriptions.conf etc/dbus-1/system.d/cups.conf etc/logrotate.d/cups etc/pam.d/cups etc/xinetd.d/cups-lpd) -depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'libsystemd' 'hicolor-icon-theme') -optdepends=('php: for included phpcups.so module' - 'xdg-utils: xdg .desktop file support') +depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord' + 'libusb' 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme') +optdepends=('xdg-utils: xdg .desktop file support') - cd ${srcdir}/${pkgbase}-${pkgver} + cd ${pkgbase}-${pkgver} make BUILDROOT=${pkgdir} install-data install-exec # this one we ship in the libcups pkg @@ -135,24 +170,23 @@ optdepends=('php: for included phpcups.so module' # kill the sysv stuff rm -rf ${pkgdir}/etc/rc*.d rm -rf ${pkgdir}/etc/init.d - install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups # fix perms on /var/spool and /etc chmod 755 ${pkgdir}/var/spool chmod 755 ${pkgdir}/etc - + # install ssl directory where to store the certs, solves some samba issues install -dm700 -g lp ${pkgdir}/etc/cups/ssl - # remove directory from package, we create it in cups rc.d file - rm -rf ${pkgdir}/var/run + # remove directory from package, it will be recreated at each server start + rm -rf ${pkgdir}/run # install some more configuration files that will get filled by cupsd touch ${pkgdir}/etc/cups/printers.conf touch ${pkgdir}/etc/cups/classes.conf touch ${pkgdir}/etc/cups/subscriptions.conf - chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,subscriptions.conf} + chgrp -R lp ${pkgdir}/etc/cups # fix .desktop file sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop @@ -163,12 +197,12 @@ optdepends=('php: for included phpcups.so module' # remove client.conf man page rm -f ${pkgdir}/usr/share/man/man5/client.conf.5 - # remove files now part of cups-filters - check cups-filters INSTALL for packagers instructions - rm -v ${pkgdir}/usr/lib/cups/backend/{parallel,serial} - rm -v ${pkgdir}/usr/lib/cups/filter/{bannertops,commandtoescpx,commandtopclx,imagetops,imagetoraster,pdftops,rastertoescpx,rastertopclx,texttops} + # remove files now part of cups-filters rm -v ${pkgdir}/usr/share/cups/banners/* - rm -v ${pkgdir}/usr/share/cups/data/{testprint,psglyphs} - rm -v ${pkgdir}/usr/share/cups/fonts/* + rm -v ${pkgdir}/usr/share/cups/data/testprint # comment out all conversion rules which use any of the removed filters - perl -p -i -e 's:^(.*\s+(pdftops|texttops|imagetops|bannertops|imagetoraster)\s*)$:#\1:' ${pkgdir}/usr/share/cups/mime/mime.convs + perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' $pkgdir/usr/share/cups/mime/mime.convs + + # Provide native service for arch-daemons generator + ln -s cups.service "$pkgdir/usr/lib/systemd/system/cupsd.service" } diff --git a/abs/extra/cups/PKGBUILD.16 b/abs/extra/cups/PKGBUILD.16 deleted file mode 100644 index 01faba0..0000000 --- a/abs/extra/cups/PKGBUILD.16 +++ /dev/null @@ -1,146 +0,0 @@ -# $Id: PKGBUILD 159509 2012-05-25 16:34:34Z andyrtr $ -# Maintainer: Andreas Radke <andyrtr@archlinux.org> - -pkgbase="cups" -pkgname=('libcups' 'cups') -pkgver=1.6b1 -pkgrel=1 -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.cups.org/" -makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc' 'colord' - 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme') -source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 - cups-no-export-ssllibs.patch - cups-no-gcrypt.patch - cups-no-gzip-man.patch - cups cups.logrotate cups.pam) -#options=('!emptydirs') -md5sums=('468a40755a872d84be89111ce97a69d1' - '9b8467a1e51d360096b70e2c3c081e6c' - '3733c23e77eb503bd94cc368e02830dc' - '90c30380d4c8cd48a908cfdadae1ea24' - '9657daa21760bb0b5fa3d8b51d5e01a1' - 'f861b18f4446c43918c8643dcbbd7f6d' - '96f82c38f3f540b53f3e5144900acf17') - -build() { - cd ${srcdir}/${pkgbase}-${pkgver} - - # Do not export SSL libs in cups-config - patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch" - - patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch" - # don't zip man pages in make install, let makepkg do that / Fedora - patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch - - # Rebuild configure script for not zipping man-pages. - aclocal -I config-scripts - autoconf -I config-scripts - - ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ - --libdir=/usr/lib \ - --with-logdir=/var/log/cups \ - --with-docdir=/usr/share/cups/doc \ - --with-cups-user=daemon \ - --with-cups-group=lp \ - --enable-pam=yes \ - --enable-raw-printing \ - --enable-dbus --with-dbusdir=/etc/dbus-1 \ - --enable-ssl=yes --enable-gnutls \ - --enable-threads \ - --enable-avahi\ - --with-php=/usr/bin/php-cgi \ - --with-optim="$CFLAGS" - make -} - -check() { - cd "$srcdir/$pkgbase-$pkgver" - #httpAddrGetList(workstation64): FAIL - #1 TESTS FAILED! - #make[1]: *** [testhttp] Error 1 - make -k check || /bin/true -} - -package_libcups() { -pkgdesc="The CUPS Printing System - client libraries and headers" -depends=('gnutls>=2.8.3' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi') -backup=(etc/cups/client.conf) - - cd ${srcdir}/${pkgbase}-${pkgver} - make BUILDROOT=${pkgdir} install-headers install-libs - # put this into the libs pkg to make other software find the libs(no pkg-config file included) - mkdir -p ${pkgdir}/usr/bin - install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config - - # install client.conf man page and config file - install -dm755 ${pkgdir}/usr/share/man/man5 - #install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5.gz ${pkgdir}/usr/share/man/man5/ - install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/man/client.conf.5 ${pkgdir}/usr/share/man/man5/ - install -dm755 ${pkgdir}/etc/cups - touch ${pkgdir}/etc/cups/client.conf - echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf - echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf - chgrp lp ${pkgdir}/etc/cups/client.conf -} - -package_cups() { -pkgdesc="The CUPS Printing System - daemon package" -install=cups.install -backup=(etc/cups/cupsd.conf - etc/cups/snmp.conf - etc/cups/printers.conf - etc/cups/classes.conf - etc/cups/subscriptions.conf - etc/dbus-1/system.d/cups.conf - etc/logrotate.d/cups - etc/pam.d/cups - etc/xinetd.d/cups-lpd) -depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'hicolor-icon-theme') -optdepends=('xdg-utils: xdg .desktop file support') - - cd ${srcdir}/${pkgbase}-${pkgver} - make BUILDROOT=${pkgdir} install-data install-exec - - # this one we ship in the libcups pkg - rm -f ${pkgdir}/usr/bin/cups-config - - # kill the sysv stuff - rm -rf ${pkgdir}/etc/rc*.d - rm -rf ${pkgdir}/etc/init.d - install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd - install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups - install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups - - # fix perms on /var/spool and /etc - chmod 755 ${pkgdir}/var/spool - chmod 755 ${pkgdir}/etc - - # install ssl directory where to store the certs, solves some samba issues - install -dm700 -g lp ${pkgdir}/etc/cups/ssl - # remove directory from package, we create it in cups rc.d file - rm -rf ${pkgdir}/var/run - - # install some more configuration files that will get filled by cupsd - touch ${pkgdir}/etc/cups/printers.conf - touch ${pkgdir}/etc/cups/classes.conf - touch ${pkgdir}/etc/cups/subscriptions.conf - chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,subscriptions.conf} - - # fix .desktop file - sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop - - # compress some driver files, adopted from Fedora - find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f - - # remove client.conf man page - rm -f ${pkgdir}/usr/share/man/man5/client.conf.5 - - # remove files now part of cups-filters - rm -v ${pkgdir}/usr/lib/cups/filter/bannertops - rm -v ${pkgdir}/usr/share/cups/banners/* - rm -v ${pkgdir}/usr/share/cups/data/testprint - # comment out all conversion rules which use any of the removed filters - perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs -} diff --git a/abs/extra/cups/cups b/abs/extra/cups/cups deleted file mode 100755 index 744c8e6..0000000 --- a/abs/extra/cups/cups +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -daemon_name=cupsd - -. /etc/rc.conf -. /etc/rc.d/functions -#. /etc/conf.d/$daemon_name.conf - -get_pid() { - pidof -o %PPID $daemon_name -} - -case "$1" in - start) - stat_busy "Starting $daemon_name daemon" - - PID=$(get_pid) - if [ -z "$PID" ]; then - [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid - # RUN - $daemon_name - # - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - echo $(get_pid) > /var/run/$daemon_name.pid - add_daemon $daemon_name - stat_done - fi - else - stat_fail - exit 1 - fi - ;; - - stop) - stat_busy "Stopping $daemon_name daemon" - PID=$(get_pid) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - rm -f /var/run/$daemon_name.pid &> /dev/null - rm_daemon $daemon_name - stat_done - fi - ;; - - restart) - $0 stop - sleep 3 - $0 start - ;; - - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - ;; - - *) - echo "usage: $0 {start|stop|restart|status}" -esac - -exit 0 diff --git a/abs/extra/cups/cups-1.6.0-fix-install-perms.patch b/abs/extra/cups/cups-1.6.0-fix-install-perms.patch new file mode 100644 index 0000000..2d7a77c --- /dev/null +++ b/abs/extra/cups/cups-1.6.0-fix-install-perms.patch @@ -0,0 +1,25 @@ +Index: Makedefs.in +=================================================================== +--- Makedefs.in (Revision 10520) ++++ Makedefs.in (Arbeitskopie) +@@ -40,14 +40,14 @@ + # Installation programs... + # + +-INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@ +-INSTALL_COMPDATA = $(INSTALL) -c -m 444 @INSTALL_GZIP@ ++INSTALL_BIN = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@ ++INSTALL_COMPDATA = $(INSTALL) -c -m 644 @INSTALL_GZIP@ + INSTALL_CONFIG = $(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@ +-INSTALL_DATA = $(INSTALL) -c -m 444 ++INSTALL_DATA = $(INSTALL) -c -m 644 + INSTALL_DIR = $(INSTALL) -d +-INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@ +-INSTALL_MAN = $(INSTALL) -c -m 444 +-INSTALL_SCRIPT = $(INSTALL) -c -m 555 ++INSTALL_LIB = $(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@ ++INSTALL_MAN = $(INSTALL) -c -m 644 ++INSTALL_SCRIPT = $(INSTALL) -c -m 755 + + # + # Default user, group, and system groups for the scheduler... diff --git a/abs/extra/cups/cups-1.6.2-statedir.patch b/abs/extra/cups/cups-1.6.2-statedir.patch new file mode 100644 index 0000000..c44ebed --- /dev/null +++ b/abs/extra/cups/cups-1.6.2-statedir.patch @@ -0,0 +1,12 @@ +diff -ruN cups-1.6.2.orig/config-scripts/cups-directories.m4 cups-1.6.2/config-scripts/cups-directories.m4 +--- cups-1.6.2.orig/config-scripts/cups-directories.m4 2012-10-01 03:55:23.000000000 +0200 ++++ cups-1.6.2/config-scripts/cups-directories.m4 2013-04-02 00:11:41.000000000 +0200 +@@ -420,7 +420,7 @@ + ;; + *) + # All others +- CUPS_STATEDIR="$localstatedir/run/cups" ++ CUPS_STATEDIR="/run/cups" + ;; + esac]) + AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR") diff --git a/abs/extra/cups/cups-avahi-1-config.patch b/abs/extra/cups/cups-avahi-1-config.patch deleted file mode 100644 index 304cd26..0000000 --- a/abs/extra/cups/cups-avahi-1-config.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -up cups-1.5.2/config.h.in.avahi-1-config cups-1.5.2/config.h.in ---- cups-1.5.2/config.h.in.avahi-1-config 2011-06-16 21:12:16.000000000 +0100 -+++ cups-1.5.2/config.h.in 2012-03-14 15:04:51.365347165 +0000 -@@ -390,6 +390,13 @@ - - - /* -+ * Do we have Avahi for DNS Service Discovery? -+ */ -+ -+#undef HAVE_AVAHI -+ -+ -+/* - * Do we have <sys/ioctl.h>? - */ - -diff -up cups-1.5.2/config-scripts/cups-dnssd.m4.avahi-1-config cups-1.5.2/config-scripts/cups-dnssd.m4 ---- cups-1.5.2/config-scripts/cups-dnssd.m4.avahi-1-config 2011-05-12 06:21:56.000000000 +0100 -+++ cups-1.5.2/config-scripts/cups-dnssd.m4 2012-03-14 15:04:51.365347165 +0000 -@@ -23,6 +23,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn - DNSSDLIBS="" - DNSSD_BACKEND="" - -+AC_ARG_ENABLE(avahi, [ --enable-avahi turn on DNS Service Discovery support, default=no], -+ [if test x$enable_avahi = xyes; then -+ AC_MSG_CHECKING(for Avahi) -+ if $PKGCONFIG --exists avahi-client; then -+ AC_MSG_RESULT(yes) -+ CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`" -+ DNSSDLIBS="`$PKGCONFIG --libs avahi-client`" -+ DNSSD_BACKEND="dnssd" -+ AC_DEFINE(HAVE_AVAHI) -+ enable_dnssd=no -+ else -+ AC_MSG_RESULT(no) -+ fi -+ fi]) -+ - if test x$enable_dnssd != xno; then - AC_CHECK_HEADER(dns_sd.h, [ - case "$uname" in
\ No newline at end of file diff --git a/abs/extra/cups/cups-avahi-2-backend.patch b/abs/extra/cups/cups-avahi-2-backend.patch deleted file mode 100644 index 00e12a0..0000000 --- a/abs/extra/cups/cups-avahi-2-backend.patch +++ /dev/null @@ -1,1118 +0,0 @@ -diff -up cups-1.5.3/backend/dnssd.c.avahi-2-backend cups-1.5.3/backend/dnssd.c ---- cups-1.5.3/backend/dnssd.c.avahi-2-backend 2012-05-15 16:53:18.164774446 +0200 -+++ cups-1.5.3/backend/dnssd.c 2012-05-15 17:09:07.684155704 +0200 -@@ -15,14 +15,21 @@ - * - * Contents: - * -+ * next_txt_record() - Get next TXT record from a cups_txt_records_t. -+ * parse_txt_record_pair() - Read key/value pair in cups_txt_records_t. - * main() - Browse for printers. - * browse_callback() - Browse devices. - * browse_local_callback() - Browse local devices. - * compare_devices() - Compare two devices. - * exec_backend() - Execute the backend that corresponds to the - * resolved service name. -+ * device_type() - Get DNS-SD type enumeration from string. - * get_device() - Create or update a device. - * query_callback() - Process query data. -+ * avahi_client_callback() - Avahi client callback function. -+ * avahi_query_callback() - Avahi query callback function. -+ * avahi_browse_callback() - Avahi browse callback function. -+ * find_device() - Find a device from its name and domain. - * sigterm_handler() - Handle termination signals... - * unquote() - Unquote a name string. - */ -@@ -33,7 +40,18 @@ - - #include "backend-private.h" - #include <cups/array.h> --#include <dns_sd.h> -+#ifdef HAVE_DNSSD -+# include <dns_sd.h> -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include <avahi-client/client.h> -+# include <avahi-client/lookup.h> -+# include <avahi-common/simple-watch.h> -+# include <avahi-common/domain.h> -+# include <avahi-common/error.h> -+# include <avahi-common/malloc.h> -+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX -+#endif /* HAVE_AVAHI */ - - - /* -@@ -53,7 +71,12 @@ typedef enum - - typedef struct - { -+#ifdef HAVE_DNSSD - DNSServiceRef ref; /* Service reference for resolve */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ int resolved; /* Did we resolve the device? */ -+#endif /* HAVE_AVAHI */ - char *name, /* Service name */ - *domain, /* Domain name */ - *fullName, /* Full name */ -@@ -65,6 +88,20 @@ typedef struct - sent; /* Did we list the device? */ - } cups_device_t; - -+typedef struct -+{ -+ char key[256]; -+ char value[256]; -+ -+#ifdef HAVE_DNSSD -+ const uint8_t *data; -+ const uint8_t *datanext; -+ const uint8_t *dataend; -+#else /* HAVE_AVAHI */ -+ AvahiStringList *txt; -+#endif /* HAVE_DNSSD */ -+} cups_txt_records_t; -+ - - /* - * Local globals... -@@ -78,6 +115,7 @@ static int job_canceled = 0; - * Local functions... - */ - -+#ifdef HAVE_DNSSD - static void browse_callback(DNSServiceRef sdRef, - DNSServiceFlags flags, - uint32_t interfaceIndex, -@@ -95,13 +133,6 @@ static void browse_local_callback(DNSSe - const char *replyDomain, - void *context) - __attribute__((nonnull(1,5,6,7,8))); --static int compare_devices(cups_device_t *a, cups_device_t *b); --static void exec_backend(char **argv); --static cups_device_t *get_device(cups_array_t *devices, -- const char *serviceName, -- const char *regtype, -- const char *replyDomain) -- __attribute__((nonnull(1,2,3,4))); - static void query_callback(DNSServiceRef sdRef, - DNSServiceFlags flags, - uint32_t interfaceIndex, -@@ -111,10 +142,119 @@ static void query_callback(DNSServiceRe - const void *rdata, uint32_t ttl, - void *context) - __attribute__((nonnull(1,5,9,11))); -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+static void avahi_client_callback (AvahiClient *client, -+ AvahiClientState state, -+ void *context); -+static void avahi_browse_callback (AvahiServiceBrowser *browser, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiBrowserEvent event, -+ const char *serviceName, -+ const char *regtype, -+ const char *replyDomain, -+ AvahiLookupResultFlags flags, -+ void *context); -+#endif /* HAVE_AVAHI */ -+static cups_device_t * find_device (cups_array_t *devices, -+ cups_txt_records_t *txt, -+ cups_device_t *dkey); -+static int compare_devices(cups_device_t *a, cups_device_t *b); -+static void exec_backend(char **argv); -+static cups_device_t *get_device(cups_array_t *devices, -+ const char *serviceName, -+ const char *regtype, -+ const char *replyDomain) -+ __attribute__((nonnull(1,2,3,4))); - static void sigterm_handler(int sig); - static void unquote(char *dst, const char *src, size_t dstsize) - __attribute__((nonnull(1,2))); - -+#ifdef HAVE_AVAHI -+static AvahiSimplePoll *simple_poll = NULL; -+static int avahi_got_callback; -+#endif /* HAVE_AVAHI */ -+ -+ -+/* -+ * 'next_txt_record()' - Get next TXT record from a cups_txt_records_t. -+ */ -+ -+static cups_txt_records_t * -+next_txt_record (cups_txt_records_t *txt) -+{ -+#ifdef HAVE_DNSSD -+ txt->data = txt->datanext; -+#else /* HAVE_AVAHI */ -+ txt->txt = avahi_string_list_get_next (txt->txt); -+ if (txt->txt == NULL) -+ return NULL; -+#endif /* HAVE_DNSSD */ -+ -+ return txt; -+} -+ -+ -+/* -+ * 'parse_txt_record_pair()' - Read key/value pair in cups_txt_records_t. -+ */ -+ -+static int -+parse_txt_record_pair (cups_txt_records_t *txt) -+{ -+#ifdef HAVE_DNSSD -+ uint8_t datalen; -+ uint8_t *data = txt->data; -+ char *ptr; -+ -+ /* -+ * Read a key/value pair starting with an 8-bit length. Since the -+ * length is 8 bits and the size of the key/value buffers is 256, we -+ * don't need to check for overflow... -+ */ -+ -+ datalen = *data++; -+ if (!datalen || (data + datalen) > txt->dataend) -+ return NULL; -+ txt->datanext = data + datalen; -+ -+ for (ptr = txt->key; data < txt->datanext && *data != '='; data ++) -+ *ptr++ = *data; -+ *ptr = '\0'; -+ -+ if (data < txt->datanext && *data == '=') -+ { -+ data++; -+ -+ if (data < datanext) -+ memcpy (txt->value, data, txt->datanext - data); -+ value[txt->datanext - data] = '\0'; -+ } -+ else -+ return 1; -+#else /* HAVE_AVAHI */ -+ char *key, *value; -+ size_t len; -+ avahi_string_list_get_pair (txt->txt, &key, &value, &len); -+ if (len > sizeof (txt->value) - 1) -+ len = sizeof (txt->value) - 1; -+ -+ memcpy (txt->value, value, len); -+ txt->value[len] = '\0'; -+ len = strlen (key); -+ if (len > sizeof (txt->key) - 1) -+ len = sizeof (txt->key) - 1; -+ -+ memcpy (txt->key, key, len); -+ txt->key[len] = '\0'; -+ avahi_free (key); -+ avahi_free (value); -+#endif /* HAVE_AVAHI */ -+ -+ return 0; -+} -+ - - /* - * 'main()' - Browse for printers. -@@ -125,6 +265,13 @@ main(int argc, /* I - Number of comm - char *argv[]) /* I - Command-line arguments */ - { - const char *name; /* Backend name */ -+ cups_array_t *devices; /* Device array */ -+ cups_device_t *device; /* Current device */ -+ char uriName[1024]; /* Unquoted fullName for URI */ -+#ifdef HAVE_DNSSD -+ int fd; /* Main file descriptor */ -+ fd_set input; /* Input set for select() */ -+ struct timeval timeout; /* Timeout for select() */ - DNSServiceRef main_ref, /* Main service reference */ - fax_ipp_ref, /* IPP fax service reference */ - ipp_ref, /* IPP service reference */ -@@ -138,12 +285,11 @@ main(int argc, /* I - Number of comm - pdl_datastream_ref, /* AppSocket service reference */ - printer_ref, /* LPD service reference */ - riousbprint_ref; /* Remote IO service reference */ -- int fd; /* Main file descriptor */ -- fd_set input; /* Input set for select() */ -- struct timeval timeout; /* Timeout for select() */ -- cups_array_t *devices; /* Device array */ -- cups_device_t *device; /* Current device */ -- char uriName[1024]; /* Unquoted fullName for URI */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ AvahiClient *client; -+ int error; -+#endif /* HAVE_AVAHI */ - #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET) - struct sigaction action; /* Actions for POSIX signals */ - #endif /* HAVE_SIGACTION && !HAVE_SIGSET */ -@@ -203,6 +349,49 @@ main(int argc, /* I - Number of comm - * Browse for different kinds of printers... - */ - -+#ifdef HAVE_AVAHI -+ if ((simple_poll = avahi_simple_poll_new ()) == NULL) -+ { -+ perror ("ERROR: Unable to create avahi simple poll object"); -+ return (1); -+ } -+ -+ client = avahi_client_new (avahi_simple_poll_get (simple_poll), -+ 0, avahi_client_callback, NULL, &error); -+ if (!client) -+ { -+ perror ("DEBUG: Unable to create avahi client"); -+ return (0); -+ } -+ -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_fax-ipp._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_ipp._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_ipp-tls._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_pdl-datastream._tcp", -+ NULL, 0, -+ avahi_browse_callback, -+ devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_printer._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ "_riousbprint._tcp", NULL, 0, -+ avahi_browse_callback, devices); -+#endif /* HAVE_AVAHI */ -+#ifdef HAVE_DNSSD - if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError) - { - perror("ERROR: Unable to create service connection"); -@@ -263,6 +452,7 @@ main(int argc, /* I - Number of comm - riousbprint_ref = main_ref; - DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0, - "_riousbprint._tcp", NULL, browse_callback, devices); -+#endif /* HAVE_DNSSD */ - - /* - * Loop until we are killed... -@@ -270,6 +460,9 @@ main(int argc, /* I - Number of comm - - while (!job_canceled) - { -+ int announce = 0; -+ -+#ifdef HAVE_DNSSD - FD_ZERO(&input); - FD_SET(fd, &input); - -@@ -289,11 +482,35 @@ main(int argc, /* I - Number of comm - } - else - { -+ announce = 1; -+ } -+#else /* HAVE_AVAHI */ -+ int r; -+ avahi_got_callback = 0; -+ r = avahi_simple_poll_iterate (simple_poll, 1); -+ if (r != 0 && r != EINTR) -+ { -+ /* -+ * We've been told to exit the loop. Perhaps the connection to -+ * avahi failed. -+ */ -+ -+ break; -+ } -+ -+ if (avahi_got_callback) -+ announce = 1; -+#endif /* HAVE_DNSSD */ -+ -+ if (announce) -+ { - /* - * Announce any devices we've found... - */ - -+#ifdef HAVE_DNSSD - DNSServiceErrorType status; /* DNS query status */ -+#endif /* HAVE_DNSSD */ - cups_device_t *best; /* Best matching device */ - char device_uri[1024]; /* Device URI */ - int count; /* Number of queries */ -@@ -307,6 +524,7 @@ main(int argc, /* I - Number of comm - if (device->sent) - sent ++; - -+#ifdef HAVE_DNSSD - if (device->ref) - count ++; - -@@ -338,14 +556,23 @@ main(int argc, /* I - Number of comm - count ++; - } - } -- else if (!device->sent) -+ else -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ if (!device->resolved) -+ continue; -+ else -+#endif /* HAVE_AVAHI */ -+ if (!device->sent) - { -+#ifdef HAVE_DNSSD - /* - * Got the TXT records, now report the device... - */ - - DNSServiceRefDeallocate(device->ref); - device->ref = 0; -+#endif /* HAVE_DNSSD */ - - if (!best) - best = device; -@@ -406,6 +633,7 @@ main(int argc, /* I - Number of comm - } - - -+#ifdef HAVE_DNSSD - /* - * 'browse_callback()' - Browse devices. - */ -@@ -494,6 +722,7 @@ browse_local_callback( - device->fullName); - device->sent = 1; - } -+#endif /* HAVE_DNSSD */ - - - /* -@@ -574,6 +803,41 @@ exec_backend(char **argv) /* I - Comman - - - /* -+ * 'device_type()' - Get DNS-SD type enumeration from string. -+ */ -+ -+static int -+device_type (const char *regtype) -+{ -+#ifdef HAVE_AVAHI -+ if (!strcmp(regtype, "_ipp._tcp")) -+ return (CUPS_DEVICE_IPP); -+ else if (!strcmp(regtype, "_ipps._tcp") || -+ !strcmp(regtype, "_ipp-tls._tcp")) -+ return (CUPS_DEVICE_IPPS); -+ else if (!strcmp(regtype, "_fax-ipp._tcp")) -+ return (CUPS_DEVICE_FAX_IPP); -+ else if (!strcmp(regtype, "_printer._tcp")) -+ return (CUPS_DEVICE_PDL_DATASTREAM); -+#else -+ if (!strcmp(regtype, "_ipp._tcp.")) -+ return (CUPS_DEVICE_IPP); -+ else if (!strcmp(regtype, "_ipps._tcp.") || -+ !strcmp(regtype, "_ipp-tls._tcp.")) -+ return (CUPS_DEVICE_IPPS); -+ else if (!strcmp(regtype, "_fax-ipp._tcp.")) -+ return (CUPS_DEVICE_FAX_IPP); -+ else if (!strcmp(regtype, "_printer._tcp.")) -+ return (CUPS_DEVICE_PRINTER); -+ else if (!strcmp(regtype, "_pdl-datastream._tcp.")) -+ return (CUPS_DEVICE_PDL_DATASTREAM); -+#endif /* HAVE_AVAHI */ -+ -+ return (CUPS_DEVICE_RIOUSBPRINT); -+} -+ -+ -+/* - * 'get_device()' - Create or update a device. - */ - -@@ -594,20 +858,7 @@ get_device(cups_array_t *devices, /* I - - */ - - key.name = (char *)serviceName; -- -- if (!strcmp(regtype, "_ipp._tcp.")) -- key.type = CUPS_DEVICE_IPP; -- else if (!strcmp(regtype, "_ipps._tcp.") || -- !strcmp(regtype, "_ipp-tls._tcp.")) -- key.type = CUPS_DEVICE_IPPS; -- else if (!strcmp(regtype, "_fax-ipp._tcp.")) -- key.type = CUPS_DEVICE_FAX_IPP; -- else if (!strcmp(regtype, "_printer._tcp.")) -- key.type = CUPS_DEVICE_PRINTER; -- else if (!strcmp(regtype, "_pdl-datastream._tcp.")) -- key.type = CUPS_DEVICE_PDL_DATASTREAM; -- else -- key.type = CUPS_DEVICE_RIOUSBPRINT; -+ key.type = device_type (regtype); - - for (device = cupsArrayFind(devices, &key); - device; -@@ -627,8 +878,14 @@ get_device(cups_array_t *devices, /* I - - free(device->domain); - device->domain = strdup(replyDomain); - -+#ifdef HAVE_DNSSD - DNSServiceConstructFullName(fullName, device->name, regtype, - replyDomain); -+#else /* HAVE_AVAHI */ -+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, -+ serviceName, regtype, replyDomain); -+#endif /* HAVE_DNSSD */ -+ - free(device->fullName); - device->fullName = strdup(fullName); - } -@@ -648,6 +905,9 @@ get_device(cups_array_t *devices, /* I - - device->domain = strdup(replyDomain); - device->type = key.type; - device->priority = 50; -+#ifdef HAVE_AVAHI -+ device->resolved = 0; -+#endif /* HAVE_AVAHI */ - - cupsArrayAdd(devices, device); - -@@ -655,13 +915,20 @@ get_device(cups_array_t *devices, /* I - - * Set the "full name" of this service, which is used for queries... - */ - -+#ifdef HAVE_DNSSD - DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain); -+#else /* HAVE_AVAHI */ -+ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, -+ serviceName, regtype, replyDomain); -+#endif /* HAVE_DNSSD */ -+ - device->fullName = strdup(fullName); - - return (device); - } - - -+#ifdef HAVE_DNSSD - /* - * 'query_callback()' - Process query data. - */ -@@ -685,7 +952,7 @@ query_callback( - *ptr; /* Pointer into string */ - cups_device_t dkey, /* Search key */ - *device; /* Device */ -- -+ cups_txt_records_t txt; - - fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, " - "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", " -@@ -719,94 +986,233 @@ query_callback( - if ((ptr = strstr(name, "._")) != NULL) - *ptr = '\0'; - -- if (strstr(fullName, "_ipp._tcp.")) -- dkey.type = CUPS_DEVICE_IPP; -- else if (strstr(fullName, "_ipps._tcp.") || -- strstr(fullName, "_ipp-tls._tcp.")) -- dkey.type = CUPS_DEVICE_IPPS; -- else if (strstr(fullName, "_fax-ipp._tcp.")) -- dkey.type = CUPS_DEVICE_FAX_IPP; -- else if (strstr(fullName, "_printer._tcp.")) -- dkey.type = CUPS_DEVICE_PRINTER; -- else if (strstr(fullName, "_pdl-datastream._tcp.")) -- dkey.type = CUPS_DEVICE_PDL_DATASTREAM; -+ dkey.type = device_type (fullName); -+ -+ txt.data = rdata; -+ txt.dataend = rdata + rdlen; -+ device = find_device ((cups_array_t *) context, &txt, &dkey); -+ if (!device) -+ fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); -+} -+#endif /* HAVE_DNSSD */ -+ -+ -+#ifdef HAVE_AVAHI -+/* -+ * 'avahi_client_callback()' - Avahi client callback function. -+ */ -+ -+static void -+avahi_client_callback(AvahiClient *client, -+ AvahiClientState state, -+ void *context) -+{ -+ /* -+ * If the connection drops, quit. -+ */ -+ -+ if (state == AVAHI_CLIENT_FAILURE) -+ { -+ fprintf (stderr, "ERROR: Avahi connection failed\n"); -+ avahi_simple_poll_quit (simple_poll); -+ } -+} -+ -+ -+/* -+ * 'avahi_query_callback()' - Avahi query callback function. -+ */ -+ -+static void -+avahi_query_callback(AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ AvahiClient *client; -+ cups_device_t key, -+ *device; -+ char uqname[1024], -+ *ptr; -+ cups_txt_records_t txtr; -+ -+ client = avahi_service_resolver_get_client (resolver); -+ if (event != AVAHI_RESOLVER_FOUND) -+ { -+ if (event == AVAHI_RESOLVER_FAILURE) -+ { -+ fprintf (stderr, "ERROR: %s\n", -+ avahi_strerror (avahi_client_errno (client))); -+ } -+ -+ avahi_service_resolver_free (resolver); -+ return; -+ } -+ -+ /* -+ * Set search key for device. -+ */ -+ -+ key.name = uqname; -+ unquote (uqname, name, sizeof (uqname)); -+ if ((ptr = strstr(name, "._")) != NULL) -+ *ptr = '\0'; -+ -+ key.domain = (char *) domain; -+ key.type = device_type (type); -+ -+ /* -+ * Find the device and the the TXT information. -+ */ -+ -+ txtr.txt = txt; -+ device = find_device ((cups_array_t *) context, &txtr, &key); -+ if (device) -+ { -+ /* -+ * Let the main loop know to announce the device. -+ */ -+ -+ device->resolved = 1; -+ avahi_got_callback = 1; -+ } - else -- dkey.type = CUPS_DEVICE_RIOUSBPRINT; -+ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name); - -- for (device = cupsArrayFind(devices, &dkey); -+ avahi_service_resolver_free (resolver); -+} -+ -+ -+/* -+ * 'avahi_browse_callback()' - Avahi browse callback function. -+ */ -+ -+static void -+avahi_browse_callback(AvahiServiceBrowser *browser, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiBrowserEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ AvahiClient *client = avahi_service_browser_get_client (browser); -+ -+ switch (event) -+ { -+ case AVAHI_BROWSER_FAILURE: -+ fprintf (stderr, "ERROR: %s\n", -+ avahi_strerror (avahi_client_errno (client))); -+ avahi_simple_poll_quit (simple_poll); -+ return; -+ -+ case AVAHI_BROWSER_NEW: -+ /* -+ * This object is new on the network. -+ */ -+ -+ if (flags & AVAHI_LOOKUP_RESULT_LOCAL) -+ { -+ /* -+ * This comes from the local machine so ignore it. -+ */ -+ -+ fprintf (stderr, "DEBUG: ignoring local service %s\n", name); -+ } -+ else -+ { -+ /* -+ * Create a device entry for it if it doesn't yet exist. -+ */ -+ -+ get_device ((cups_array_t *)context, name, type, domain); -+ -+ /* -+ * Now look for a TXT entry. -+ */ -+ -+ if (avahi_service_resolver_new (client, interface, protocol, -+ name, type, domain, -+ AVAHI_PROTO_UNSPEC, 0, -+ avahi_query_callback, context) == NULL) -+ { -+ fprintf (stderr, "ERROR: failed to resolve service %s: %s\n", -+ name, avahi_strerror (avahi_client_errno (client))); -+ } -+ } -+ -+ break; -+ -+ case AVAHI_BROWSER_REMOVE: -+ case AVAHI_BROWSER_ALL_FOR_NOW: -+ case AVAHI_BROWSER_CACHE_EXHAUSTED: -+ break; -+ } -+} -+#endif /* HAVE_AVAHI */ -+ -+ -+/* -+ * 'find_device()' - Find a device from its name and domain. -+ */ -+ -+static cups_device_t * -+find_device (cups_array_t *devices, -+ cups_txt_records_t *txt, -+ cups_device_t *dkey) -+{ -+ cups_device_t *device; -+ char *ptr; -+ -+ for (device = cupsArrayFind(devices, dkey); - device; - device = cupsArrayNext(devices)) - { -- if (_cups_strcasecmp(device->name, dkey.name) || -- _cups_strcasecmp(device->domain, dkey.domain)) -+ if (_cups_strcasecmp(device->name, dkey->name) || -+ _cups_strcasecmp(device->domain, dkey->domain)) - { - device = NULL; - break; - } -- else if (device->type == dkey.type) -+ else if (device->type == dkey->type) - { - /* - * Found it, pull out the priority and make and model from the TXT - * record and save it... - */ - -- const uint8_t *data, /* Pointer into data */ -- *datanext, /* Next key/value pair */ -- *dataend; /* End of entire TXT record */ -- uint8_t datalen; /* Length of current key/value pair */ -- char key[256], /* Key string */ -- value[256], /* Value string */ -- make_and_model[512], -+ char make_and_model[512], - /* Manufacturer and model */ - model[256], /* Model */ -- device_id[2048];/* 1284 device ID */ -- -+ device_id[2048]; /* 1284 device ID */ - - device_id[0] = '\0'; - make_and_model[0] = '\0'; - - strcpy(model, "Unknown"); - -- for (data = rdata, dataend = data + rdlen; -- data < dataend; -- data = datanext) -+ for (;;) - { -- /* -- * Read a key/value pair starting with an 8-bit length. Since the -- * length is 8 bits and the size of the key/value buffers is 256, we -- * don't need to check for overflow... -- */ -- -- datalen = *data++; -- -- if (!datalen || (data + datalen) > dataend) -- break; -- -- datanext = data + datalen; -- -- for (ptr = key; data < datanext && *data != '='; data ++) -- *ptr++ = *data; -- *ptr = '\0'; -+ char *key; -+ char *value; - -- if (data < datanext && *data == '=') -- { -- data ++; -- -- if (data < datanext) -- memcpy(value, data, datanext - data); -- value[datanext - data] = '\0'; -+ if (parse_txt_record_pair (txt)) -+ goto next; - -- fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n", -- key, value); -- } -- else -- { -- fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n", -- key); -- continue; -- } -- -- if (!_cups_strncasecmp(key, "usb_", 4)) -+ key = txt->key; -+ value = txt->value; -+ if (!strncasecmp(key, "usb_", 4)) - { - /* - * Add USB device ID information... -@@ -861,6 +1267,10 @@ query_callback( - if (device->type == CUPS_DEVICE_PRINTER) - device->sent = 1; - } -+ -+ next: -+ if (next_txt_record (txt) == NULL) -+ break; - } - - if (device->device_id) -@@ -917,11 +1327,9 @@ query_callback( - } - } - -- if (!device) -- fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); -+ return device; - } - -- - /* - * 'sigterm_handler()' - Handle termination signals... - */ -diff -up cups-1.5.3/cups/http-support.c.avahi-2-backend cups-1.5.3/cups/http-support.c ---- cups-1.5.3/cups/http-support.c.avahi-2-backend 2012-02-15 02:06:12.000000000 +0100 -+++ cups-1.5.3/cups/http-support.c 2012-05-15 17:04:51.045944634 +0200 -@@ -43,6 +43,10 @@ - * http_copy_decode() - Copy and decode a URI. - * http_copy_encode() - Copy and encode a URI. - * http_resolve_cb() - Build a device URI for the given service name. -+ * avahi_resolve_uri_client_cb() -+ * - Avahi client callback for resolving URI. -+ * avahi_resolve_uri_resolver_cb() -+ * - Avahi resolver callback for resolving URI. - */ - - /* -@@ -60,6 +64,11 @@ - # include <sys/select.h> - # endif /* WIN32 */ - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include <avahi-client/client.h> -+# include <avahi-client/lookup.h> -+# include <avahi-common/simple-watch.h> -+#endif /* HAVE_AVAHI */ - - - /* -@@ -127,6 +136,24 @@ static void DNSSD_API http_resolve_cb(DN - void *context); - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+static void avahi_resolve_uri_client_cb(AvahiClient *client, -+ AvahiClientState state, -+ void *simple_poll); -+static void avahi_resolve_uri_resolver_cb(AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context); -+#endif /* HAVE_AVAHI */ - - /* - * 'httpAssembleURI()' - Assemble a uniform resource identifier from its -@@ -1434,6 +1461,9 @@ _httpResolveURI( - - if (strstr(hostname, "._tcp")) - { -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ char *regtype, /* Pointer to type in hostname */ -+ *domain; /* Pointer to domain in hostname */ - #ifdef HAVE_DNSSD - # ifdef WIN32 - # pragma comment(lib, "dnssd.lib") -@@ -1452,6 +1482,17 @@ _httpResolveURI( - fd_set input_set; /* Input set for select() */ - struct timeval stimeout; /* Timeout value for select() */ - #endif /* HAVE_POLL */ -+#else /* HAVE_AVAHI */ -+ AvahiSimplePoll *simple_poll; -+ AvahiClient *client; -+ int error; -+ struct -+ { -+ AvahiSimplePoll *poll; -+ _http_uribuf_t uribuf; -+ } user_data; -+#endif /* HAVE_DNSSD */ -+ - - if (options & _HTTP_RESOLVE_STDERR) - fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname); -@@ -1488,9 +1529,16 @@ _httpResolveURI( - if (domain) - *domain++ = '\0'; - -+#ifdef HAVE_DNSSD - uribuf.buffer = resolved_uri; - uribuf.bufsize = resolved_size; - uribuf.options = options; -+#else -+ user_data.uribuf.buffer = resolved_uri; -+ user_data.uribuf.bufsize = resolved_size; -+ user_data.uribuf.options = options; -+#endif -+ - resolved_uri[0] = '\0'; - - DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", " -@@ -1504,6 +1552,7 @@ _httpResolveURI( - - uri = NULL; - -+#ifdef HAVE_DNSSD - if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError) - { - localref = ref; -@@ -1611,6 +1660,36 @@ _httpResolveURI( - - DNSServiceRefDeallocate(ref); - } -+#else /* HAVE_AVAHI */ -+ if ((simple_poll = avahi_simple_poll_new ()) != NULL) -+ { -+ if ((client = avahi_client_new (avahi_simple_poll_get (simple_poll), -+ 0, avahi_resolve_uri_client_cb, -+ &simple_poll, &error)) != NULL) -+ { -+ user_data.poll = simple_poll; -+ if (avahi_service_resolver_new (client, AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, hostname, -+ regtype, domain, AVAHI_PROTO_UNSPEC, 0, -+ avahi_resolve_uri_resolver_cb, -+ &user_data) != NULL) -+ { -+ avahi_simple_poll_loop (simple_poll); -+ -+ /* -+ * Collect the result. -+ */ -+ -+ if (resolved_uri[0]) -+ uri = resolved_uri; -+ } -+ -+ avahi_client_free (client); -+ } -+ -+ avahi_simple_poll_free (simple_poll); -+ } -+#endif /* HAVE_DNSSD */ - - if (options & _HTTP_RESOLVE_STDERR) - { -@@ -1622,13 +1701,13 @@ _httpResolveURI( - fputs("STATE: -connecting-to-device,offline-report\n", stderr); - } - --#else -+#else /* HAVE_DNSSD || HAVE_AVAHI */ - /* - * No DNS-SD support... - */ - - uri = NULL; --#endif /* HAVE_DNSSD */ -+#endif /* HAVE_DNSSD || HAVE_AVAHI */ - - if ((options & _HTTP_RESOLVE_STDERR) && !uri) - _cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer.")); -@@ -1916,6 +1995,115 @@ http_resolve_cb( - } - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+/* -+ * 'avahi_resolve_uri_client_cb()' - Avahi client callback for resolving URI. -+ */ -+ -+static void -+avahi_resolve_uri_client_cb (AvahiClient *client, -+ AvahiClientState state, -+ void *simple_poll) -+{ -+ DEBUG_printf(("avahi_resolve_uri_client_callback(client=%p, state=%d, " -+ "simple_poll=%p)\n", client, state, simple_poll)); -+ -+ /* -+ * If the connection drops, quit. -+ */ -+ -+ if (state == AVAHI_CLIENT_FAILURE) -+ avahi_simple_poll_quit (simple_poll); -+} -+ -+ -+/* -+ * 'avahi_resolve_uri_resolver_cb()' - Avahi resolver callback for resolving -+ * URI. -+ */ -+ -+static void -+avahi_resolve_uri_resolver_cb (AvahiServiceResolver *resolver, -+ AvahiIfIndex interface, -+ AvahiProtocol protocol, -+ AvahiResolverEvent event, -+ const char *name, -+ const char *type, -+ const char *domain, -+ const char *host_name, -+ const AvahiAddress *address, -+ uint16_t port, -+ AvahiStringList *txt, -+ AvahiLookupResultFlags flags, -+ void *context) -+{ -+ const char *scheme; /* URI scheme */ -+ char rp[256]; /* Remote printer */ -+ AvahiStringList *pair; -+ char *value; -+ size_t valueLen = 0; -+ char addr[AVAHI_ADDRESS_STR_MAX]; -+ struct -+ { -+ AvahiSimplePoll *poll; -+ _http_uribuf_t uribuf; -+ } *poll_uribuf = context; -+ -+ DEBUG_printf(("avahi_resolve_uri_resolver_callback(resolver=%p, " -+ "interface=%d, protocol=%d, event=%d, name=\"%s\", " -+ "type=\"%s\", domain=\"%s\", host_name=\"%s\", address=%p, " -+ "port=%d, txt=%p, flags=%d, context=%p)\n", -+ resolver, interface, protocol, event, name, type, domain, -+ host_name, address, port, txt, flags, context)); -+ -+ if (event != AVAHI_RESOLVER_FOUND) -+ { -+ avahi_service_resolver_free (resolver); -+ avahi_simple_poll_quit (poll_uribuf->poll); -+ return; -+ } -+ -+ /* -+ * Figure out the scheme from the full name... -+ */ -+ -+ if (strstr(type, "_ipp.")) -+ scheme = "ipp"; -+ else if (strstr(type, "_printer.")) -+ scheme = "lpd"; -+ else if (strstr(type, "_pdl-datastream.")) -+ scheme = "socket"; -+ else -+ scheme = "riousbprint"; -+ -+ /* -+ * Extract the "remote printer key from the TXT record... -+ */ -+ -+ if ((pair = avahi_string_list_find (txt, "rp")) != NULL) -+ { -+ avahi_string_list_get_pair (pair, NULL, &value, &valueLen); -+ rp[0] = '/'; -+ memcpy (rp + 1, value, valueLen); -+ rp[valueLen + 1] = '\0'; -+ } -+ else -+ rp[0] = '\0'; -+ -+ /* -+ * Assemble the final device URI... -+ */ -+ -+ avahi_address_snprint (addr, AVAHI_ADDRESS_STR_MAX, address); -+ httpAssembleURI(HTTP_URI_CODING_ALL, poll_uribuf->uribuf.buffer, -+ poll_uribuf->uribuf.bufsize, scheme, NULL, -+ addr, port, rp); -+ DEBUG_printf(("avahi_resolve_uri_resolver_callback: Resolved URI is \"%s\"\n", -+ poll_uribuf->uribuf.buffer)); -+ avahi_simple_poll_quit (poll_uribuf->poll); -+} -+#endif /* HAVE_AVAHI */ -+ - - /* - * End of "$Id: http-support.c 10284 2012-02-15 01:06:12Z mike $".
\ No newline at end of file diff --git a/abs/extra/cups/cups-avahi-3-timeouts.patch b/abs/extra/cups/cups-avahi-3-timeouts.patch deleted file mode 100644 index daf852a..0000000 --- a/abs/extra/cups/cups-avahi-3-timeouts.patch +++ /dev/null @@ -1,381 +0,0 @@ -diff -up cups-1.5.2/scheduler/cupsd.h.avahi-3-timeouts cups-1.5.2/scheduler/cupsd.h ---- cups-1.5.2/scheduler/cupsd.h.avahi-3-timeouts 2011-05-11 23:17:34.000000000 +0100 -+++ cups-1.5.2/scheduler/cupsd.h 2012-03-14 15:06:36.509476983 +0000 -@@ -140,6 +140,15 @@ extern const char *cups_hstrerror(int); - - typedef void (*cupsd_selfunc_t)(void *data); - -+#ifdef HAVE_AVAHI -+/* -+ * Timeout callback function type... -+ */ -+ -+typedef struct _cupsd_timeout_s cupsd_timeout_t; -+typedef void (*cupsd_timeoutfunc_t)(cupsd_timeout_t *timeout, void *data); -+#endif /* HAVE_AVAHI */ -+ - - /* - * Globals... -@@ -173,6 +182,11 @@ VAR int Launchd VALUE(0); - /* Running from launchd */ - #endif /* HAVE_LAUNCH_H */ - -+#ifdef HAVE_AVAHI -+VAR cups_array_t *Timeouts; /* Timed callbacks for main loop */ -+#endif /* HAVE_AVAHI */ -+ -+ - - /* - * Prototypes... -@@ -242,6 +256,20 @@ extern void cupsdStopSelect(void); - extern void cupsdStartServer(void); - extern void cupsdStopServer(void); - -+#ifdef HAVE_AVAHI -+extern void cupsdInitTimeouts(void); -+extern cupsd_timeout_t *cupsdAddTimeout (const struct timeval *tv, -+ cupsd_timeoutfunc_t cb, -+ void *data); -+extern cupsd_timeout_t *cupsdNextTimeout (long *delay); -+extern void cupsdRunTimeout (cupsd_timeout_t *timeout); -+extern void cupsdUpdateTimeout (cupsd_timeout_t *timeout, -+ const struct timeval *tv); -+extern void cupsdRemoveTimeout (cupsd_timeout_t *timeout); -+#endif /* HAVE_AVAHI */ -+ -+extern int cupsdRemoveFile(const char *filename); -+ - - /* - * End of "$Id: cupsd.h 9766 2011-05-11 22:17:34Z mike $". -diff -up cups-1.5.2/scheduler/main.c.avahi-3-timeouts cups-1.5.2/scheduler/main.c ---- cups-1.5.2/scheduler/main.c.avahi-3-timeouts 2012-03-14 15:04:17.655305548 +0000 -+++ cups-1.5.2/scheduler/main.c 2012-03-14 15:06:36.511476986 +0000 -@@ -146,6 +146,10 @@ main(int argc, /* I - Number of comm - int launchd_idle_exit; - /* Idle exit on select timeout? */ - #endif /* HAVE_LAUNCHD */ -+#ifdef HAVE_AVAHI -+ cupsd_timeout_t *tmo; /* Next scheduled timed callback */ -+ long tmo_delay; /* Time before it must be called */ -+#endif /* HAVE_AVAHI */ - - - #ifdef HAVE_GETEUID -@@ -535,6 +539,14 @@ main(int argc, /* I - Number of comm - - httpInitialize(); - -+#ifdef HAVE_AVAHI -+ /* -+ * Initialize timed callback structures. -+ */ -+ -+ cupsdInitTimeouts(); -+#endif /* HAVE_AVAHI */ -+ - cupsdStartServer(); - - /* -@@ -874,6 +886,16 @@ main(int argc, /* I - Number of comm - } - #endif /* __APPLE__ */ - -+#ifdef HAVE_AVAHI -+ /* -+ * If a timed callback is due, run it. -+ */ -+ -+ tmo = cupsdNextTimeout (&tmo_delay); -+ if (tmo && tmo_delay == 0) -+ cupsdRunTimeout (tmo); -+#endif /* HAVE_AVAHI */ -+ - #ifndef __APPLE__ - /* - * Update the network interfaces once a minute... -@@ -1787,6 +1809,10 @@ select_timeout(int fds) /* I - Number - cupsd_job_t *job; /* Job information */ - cupsd_subscription_t *sub; /* Subscription information */ - const char *why; /* Debugging aid */ -+#ifdef HAVE_AVAHI -+ cupsd_timeout_t *tmo; /* Timed callback */ -+ long tmo_delay; /* Seconds before calling it */ -+#endif /* HAVE_AVAHI */ - - - /* -@@ -1829,6 +1855,19 @@ select_timeout(int fds) /* I - Number - } - #endif /* __APPLE__ */ - -+#ifdef HAVE_AVAHI -+ /* -+ * See if there are any scheduled timed callbacks to run. -+ */ -+ -+ if ((tmo = cupsdNextTimeout(&tmo_delay)) != NULL && -+ (now + tmo_delay) < timeout) -+ { -+ timeout = tmo_delay; -+ why = "run a timed callback"; -+ } -+#endif /* HAVE_AVAHI */ -+ - /* - * Check whether we are accepting new connections... - */ -diff -up cups-1.5.2/scheduler/Makefile.avahi-3-timeouts cups-1.5.2/scheduler/Makefile ---- cups-1.5.2/scheduler/Makefile.avahi-3-timeouts 2012-03-14 15:04:17.685305586 +0000 -+++ cups-1.5.2/scheduler/Makefile 2012-03-14 15:06:36.508476980 +0000 -@@ -39,7 +39,8 @@ CUPSDOBJS = \ - server.o \ - statbuf.o \ - subscriptions.o \ -- sysman.o -+ sysman.o \ -+ timeout.o - LIBOBJS = \ - filter.o \ - mime.o \ -diff -up cups-1.5.2/scheduler/timeout.c.avahi-3-timeouts cups-1.5.2/scheduler/timeout.c ---- cups-1.5.2/scheduler/timeout.c.avahi-3-timeouts 2012-03-14 15:06:36.552477037 +0000 -+++ cups-1.5.2/scheduler/timeout.c 2012-03-14 15:06:36.552477037 +0000 -@@ -0,0 +1,235 @@ -+/* -+ * "$Id$" -+ * -+ * Timeout functions for the Common UNIX Printing System (CUPS). -+ * -+ * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Authors: -+ * Tim Waugh <twaugh@redhat.com> -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -+ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -+ * OF THE POSSIBILITY OF SUCH DAMAGE. -+ * -+ * Contents: -+ * -+ * cupsdInitTimeouts() - Initialise timeout structure. -+ * cupsdAddTimeout() - Add a timed callback. -+ * cupsdNextTimeout() - Find the next enabled timed callback. -+ * cupsdUpdateTimeout() - Adjust the time of a timed callback or disable it. -+ * cupsdRemoveTimeout() - Discard a timed callback. -+ * compare_timeouts() - Compare timed callbacks for array sorting. -+ */ -+ -+#include <config.h> -+ -+#ifdef HAVE_AVAHI /* Applies to entire file... */ -+ -+/* -+ * Include necessary headers... -+ */ -+ -+#include "cupsd.h" -+ -+#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) -+# include <malloc.h> -+#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ -+ -+#ifdef HAVE_AVAHI -+# include <avahi-common/timeval.h> -+#endif /* HAVE_AVAHI */ -+ -+ -+struct _cupsd_timeout_s -+{ -+ struct timeval when; -+ int enabled; -+ cupsd_timeoutfunc_t callback; -+ void *data; -+}; -+ -+/* -+ * Local functions... -+ */ -+ -+/* -+ * 'compare_timeouts()' - Compare timed callbacks for array sorting. -+ */ -+ -+static int -+compare_addrs (void *p0, void *p1) -+{ -+ if (p0 == p1) -+ return (0); -+ if (p0 < p1) -+ return (-1); -+ return (1); -+} -+ -+static int -+compare_timeouts (cupsd_timeout_t *p0, cupsd_timeout_t *p1) -+{ -+ int addrsdiff = compare_addrs (p0, p1); -+ int tvdiff; -+ -+ if (addrsdiff == 0) -+ return (0); -+ -+ if (!p0->enabled || !p1->enabled) -+ { -+ if (!p0->enabled && !p1->enabled) -+ return (addrsdiff); -+ -+ return (p0->enabled ? -1 : 1); -+ } -+ -+ tvdiff = avahi_timeval_compare (&p0->when, &p1->when); -+ if (tvdiff != 0) -+ return (tvdiff); -+ -+ return (addrsdiff); -+} -+ -+ -+/* -+ * 'cupsdInitTimeouts()' - Initialise timeout structures. -+ */ -+ -+void -+cupsdInitTimeouts(void) -+{ -+ Timeouts = cupsArrayNew ((cups_array_func_t)compare_timeouts, NULL); -+} -+ -+ -+/* -+ * 'cupsdAddTimeout()' - Add a timed callback. -+ */ -+ -+cupsd_timeout_t * /* O - Timeout handle */ -+cupsdAddTimeout(const struct timeval *tv, /* I - Absolute time */ -+ cupsd_timeoutfunc_t cb, /* I - Callback function */ -+ void *data) /* I - User data */ -+{ -+ cupsd_timeout_t *timeout; -+ -+ timeout = malloc (sizeof(cupsd_timeout_t)); -+ if (timeout != NULL) -+ { -+ timeout->enabled = (tv != NULL); -+ if (tv) -+ { -+ timeout->when.tv_sec = tv->tv_sec; -+ timeout->when.tv_usec = tv->tv_usec; -+ } -+ -+ timeout->callback = cb; -+ timeout->data = data; -+ cupsArrayAdd (Timeouts, timeout); -+ } -+ -+ return timeout; -+} -+ -+ -+/* -+ * 'cupsdNextTimeout()' - Find the next enabled timed callback. -+ */ -+ -+cupsd_timeout_t * /* O - Next enabled timeout or NULL */ -+cupsdNextTimeout(long *delay) /* O - Seconds before scheduled */ -+{ -+ cupsd_timeout_t *first = cupsArrayFirst (Timeouts); -+ struct timeval curtime; -+ -+ if (first && !first->enabled) -+ first = NULL; -+ -+ if (first && delay) -+ { -+ gettimeofday (&curtime, NULL); -+ if (avahi_timeval_compare (&curtime, &first->when) > 0) -+ { -+ *delay = 0; -+ } else { -+ *delay = 1 + first->when.tv_sec - curtime.tv_sec; -+ if (first->when.tv_usec < curtime.tv_usec) -+ (*delay)--; -+ } -+ } -+ -+ return (first); -+} -+ -+ -+/* -+ * 'cupsdRunTimeout()' - Run a timed callback. -+ */ -+ -+void -+cupsdRunTimeout(cupsd_timeout_t *timeout) /* I - Timeout */ -+{ -+ if (!timeout) -+ return; -+ timeout->enabled = 0; -+ if (!timeout->callback) -+ return; -+ timeout->callback (timeout, timeout->data); -+} -+ -+/* -+ * 'cupsdUpdateTimeout()' - Adjust the time of a timed callback or disable it. -+ */ -+ -+void -+cupsdUpdateTimeout(cupsd_timeout_t *timeout, /* I - Timeout */ -+ const struct timeval *tv) /* I - Absolute time or NULL */ -+{ -+ cupsArrayRemove (Timeouts, timeout); -+ timeout->enabled = (tv != NULL); -+ if (tv) -+ { -+ timeout->when.tv_sec = tv->tv_sec; -+ timeout->when.tv_usec = tv->tv_usec; -+ } -+ cupsArrayAdd (Timeouts, timeout); -+} -+ -+ -+/* -+ * 'cupsdRemoveTimeout()' - Discard a timed callback. -+ */ -+ -+void -+cupsdRemoveTimeout(cupsd_timeout_t *timeout) /* I - Timeout */ -+{ -+ cupsArrayRemove (Timeouts, timeout); -+ free (timeout); -+} -+ -+ -+#endif /* HAVE_AVAHI ... from top of file */ -+ -+/* -+ * End of "$Id$". -+ */ diff --git a/abs/extra/cups/cups-avahi-4-poll.patch b/abs/extra/cups/cups-avahi-4-poll.patch deleted file mode 100644 index d7fa5fd..0000000 --- a/abs/extra/cups/cups-avahi-4-poll.patch +++ /dev/null @@ -1,529 +0,0 @@ -diff -up cups-1.5.2/scheduler/avahi.c.avahi-4-poll cups-1.5.2/scheduler/avahi.c ---- cups-1.5.2/scheduler/avahi.c.avahi-4-poll 2012-03-14 15:07:29.477542381 +0000 -+++ cups-1.5.2/scheduler/avahi.c 2012-03-14 15:07:29.477542381 +0000 -@@ -0,0 +1,441 @@ -+/* -+ * "$Id$" -+ * -+ * Avahi poll implementation for the CUPS scheduler. -+ * -+ * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Authors: -+ * Tim Waugh <twaugh@redhat.com> -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -+ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -+ * OF THE POSSIBILITY OF SUCH DAMAGE. -+ * -+ * Contents: -+ * -+ * watch_read_cb - Read callback for file descriptor -+ * watch_write_cb - Write callback for file descriptor -+ * watched_fd_add_select() - Call cupsdAddSelect() as needed -+ * watch_new() - Create a new file descriptor watch -+ * watch_free() - Free a file descriptor watch -+ * watch_update() - Update watched events for a file descriptor -+ * watch_get_events() - Get events that happened for a file descriptor -+ * timeout_cb() - Run a timed Avahi callback -+ * timeout_new() - Set a wakeup time -+ * timeout_update() - Update the expiration time for a timeout -+ * timeout_free() - Free a timeout -+ * compare_watched_fds() - Compare watched file descriptors for array sorting -+ * avahi_cups_poll_new() - Create a new Avahi main loop object for CUPS -+ * avahi_cups_poll_free() - Free an Avahi main loop object for CUPS -+ * avahi_cups_poll_get() - Get the abstract poll API structure -+ */ -+ -+#include <config.h> -+ -+#ifdef HAVE_AVAHI /* Applies to entire file... */ -+ -+/* -+ * Include necessary headers... -+ */ -+ -+#include "cupsd.h" -+ -+#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) -+# include <malloc.h> -+#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ -+ -+#ifdef HAVE_AVAHI -+# include <avahi-common/timeval.h> -+#endif /* HAVE_AVAHI */ -+ -+ -+typedef struct -+{ -+ AvahiCupsPoll *cups_poll; -+ -+ int fd; -+ AvahiWatchEvent occurred; -+ cups_array_t *watches; -+} cupsd_watched_fd_t; -+ -+struct AvahiWatch -+{ -+ cupsd_watched_fd_t *watched_fd; -+ -+ AvahiWatchEvent events; -+ AvahiWatchCallback callback; -+ void *userdata; -+}; -+ -+struct AvahiTimeout -+{ -+ AvahiCupsPoll *cups_poll; -+ AvahiTimeoutCallback callback; -+ void *userdata; -+ cupsd_timeout_t *cupsd_timeout; -+}; -+ -+/* -+ * Local functions... -+ */ -+ -+static AvahiWatch * watch_new(const AvahiPoll *api, -+ int fd, -+ AvahiWatchEvent events, -+ AvahiWatchCallback callback, -+ void *userdata); -+static void watch_free(AvahiWatch *watch); -+static void watch_update(AvahiWatch *watch, -+ AvahiWatchEvent events); -+static AvahiWatchEvent watch_get_events(AvahiWatch *watch); -+ -+ -+/* -+ * 'watch_read_cb' - Read callback for file descriptor -+ */ -+ -+static void -+watch_read_cb (void *userdata) -+{ -+ AvahiWatch *watch; -+ cupsd_watched_fd_t *watched_fd = userdata; -+ watched_fd->occurred |= AVAHI_WATCH_IN; -+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); -+ watch; -+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) -+ { -+ if (watch->events & watched_fd->occurred) -+ { -+ (watch->callback) (watch, watched_fd->fd, -+ AVAHI_WATCH_IN, watch->userdata); -+ watched_fd->occurred &= ~AVAHI_WATCH_IN; -+ break; -+ } -+ } -+} -+ -+ -+/* -+ * 'watch_write_cb' - Write callback for file descriptor -+ */ -+ -+static void -+watch_write_cb (void *userdata) -+{ -+ AvahiWatch *watch; -+ cupsd_watched_fd_t *watched_fd = userdata; -+ watched_fd->occurred |= AVAHI_WATCH_OUT; -+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); -+ watch; -+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) -+ { -+ if (watch->events & watched_fd->occurred) -+ { -+ (watch->callback) (watch, watched_fd->fd, -+ AVAHI_WATCH_OUT, watch->userdata); -+ watched_fd->occurred &= ~AVAHI_WATCH_OUT; -+ break; -+ } -+ } -+} -+ -+ -+/* -+ * 'watched_fd_add_select' - Call cupsdAddSelect() as needed -+ */ -+ -+static int /* O - Watches? */ -+watched_fd_add_select (cupsd_watched_fd_t *watched_fd) -+{ -+ AvahiWatch *watch; -+ cupsd_selfunc_t read_cb = NULL, write_cb = NULL; -+ int any_watches = 0; -+ -+ for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches); -+ watch; -+ watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches)) -+ { -+ any_watches = 1; -+ if (watch->events & (AVAHI_WATCH_IN | -+ AVAHI_WATCH_ERR | -+ AVAHI_WATCH_HUP)) -+ { -+ read_cb = (cupsd_selfunc_t)watch_read_cb; -+ if (write_cb != NULL) -+ break; -+ } -+ -+ if (watch->events & AVAHI_WATCH_OUT) -+ { -+ write_cb = (cupsd_selfunc_t)watch_write_cb; -+ if (read_cb != NULL) -+ break; -+ } -+ } -+ -+ if (read_cb || write_cb) -+ cupsdAddSelect (watched_fd->fd, read_cb, write_cb, watched_fd); -+ else -+ cupsdRemoveSelect (watched_fd->fd); -+ -+ return (any_watches); -+} -+ -+/* -+ * 'watch_new' - Create a new file descriptor watch -+ */ -+ -+static AvahiWatch * -+watch_new (const AvahiPoll *api, -+ int fd, -+ AvahiWatchEvent events, -+ AvahiWatchCallback callback, -+ void *userdata) -+{ -+ cupsd_watched_fd_t key, *watched_fd; -+ AvahiCupsPoll *cups_poll = api->userdata; -+ AvahiWatch *watch = malloc(sizeof(AvahiWatch)); -+ if (watch == NULL) -+ return (NULL); -+ -+ watch->events = events; -+ watch->callback = callback; -+ watch->userdata = userdata; -+ -+ key.fd = fd; -+ watched_fd = cupsArrayFind (cups_poll->watched_fds, &key); -+ if (watched_fd == NULL) -+ { -+ watched_fd = malloc(sizeof(cupsd_watched_fd_t)); -+ if (watched_fd == NULL) -+ { -+ free (watch); -+ return (NULL); -+ } -+ -+ watched_fd->fd = fd; -+ watched_fd->occurred = 0; -+ watched_fd->cups_poll = cups_poll; -+ watched_fd->watches = cupsArrayNew (NULL, NULL); -+ cupsArrayAdd (cups_poll->watched_fds, watched_fd); -+ } -+ -+ watch->watched_fd = watched_fd; -+ cupsArrayAdd(watched_fd->watches, watch); -+ watched_fd_add_select (watched_fd); -+ return (watch); -+} -+ -+ -+/* -+ * 'watch_free' - Free a file descriptor watch -+ */ -+ -+static void -+watch_free (AvahiWatch *watch) -+{ -+ cupsd_watched_fd_t *watched_fd = watch->watched_fd; -+ AvahiCupsPoll *cups_poll = watched_fd->cups_poll; -+ -+ cupsArrayRemove (watched_fd->watches, watch); -+ free (watch); -+ -+ if (!watched_fd_add_select (watched_fd)) -+ { -+ /* No more watches */ -+ cupsArrayRemove (cups_poll->watched_fds, watched_fd); -+ free (watched_fd); -+ } -+} -+ -+ -+/* -+ * 'watch_update' - Update watched events for a file descriptor -+ */ -+ -+static void -+watch_update (AvahiWatch *watch, -+ AvahiWatchEvent events) -+{ -+ watch->events = events; -+ watched_fd_add_select (watch->watched_fd); -+} -+ -+ -+/* -+ * 'watch_get_events' - Get events that happened for a file descriptor -+ */ -+ -+static AvahiWatchEvent -+watch_get_events (AvahiWatch *watch) -+{ -+ return (watch->watched_fd->occurred); -+} -+ -+ -+/* -+ * 'timeout_cb()' - Run a timed Avahi callback -+ */ -+ -+static void -+timeout_cb (cupsd_timeout_t *cupsd_timeout, void *userdata) -+{ -+ AvahiTimeout *timeout = userdata; -+ (timeout->callback) (timeout, timeout->userdata); -+} -+ -+ -+/* -+ * 'timeout_new' - Set a wakeup time -+ */ -+ -+static AvahiTimeout * -+timeout_new (const AvahiPoll *api, -+ const struct timeval *tv, -+ AvahiTimeoutCallback callback, -+ void *userdata) -+{ -+ AvahiTimeout *timeout; -+ AvahiCupsPoll *cups_poll = api->userdata; -+ -+ timeout = malloc(sizeof(AvahiTimeout)); -+ if (timeout == NULL) -+ return (NULL); -+ -+ timeout->cups_poll = cups_poll; -+ timeout->callback = callback; -+ timeout->userdata = userdata; -+ timeout->cupsd_timeout = cupsdAddTimeout (tv, -+ (cupsd_timeoutfunc_t)timeout_cb, -+ timeout); -+ cupsArrayAdd (cups_poll->timeouts, timeout); -+ return (timeout); -+} -+ -+ -+/* -+ * 'timeout_update' - Update the expiration time for a timeout -+ */ -+ -+static void -+timeout_update (AvahiTimeout *timeout, -+ const struct timeval *tv) -+{ -+ cupsdUpdateTimeout (timeout->cupsd_timeout, tv); -+} -+ -+ -+/* -+ * ' timeout_free' - Free a timeout -+ */ -+ -+static void -+timeout_free (AvahiTimeout *timeout) -+{ -+ cupsArrayRemove (timeout->cups_poll->timeouts, timeout); -+ cupsdRemoveTimeout (timeout->cupsd_timeout); -+ free (timeout); -+} -+ -+ -+/* -+ * 'compare_watched_fds' - Compare watched file descriptors for array sorting -+ */ -+static int -+compare_watched_fds(cupsd_watched_fd_t *p0, -+ cupsd_watched_fd_t *p1) -+{ -+ /* -+ * Compare by fd (no two elements have the same fd) -+ */ -+ -+ if (p0->fd == p1->fd) -+ return 0; -+ -+ return (p0->fd < p1->fd ? -1 : 1); -+} -+ -+ -+/* -+ * 'avahi_cups_poll_new' - Create a new Avahi main loop object for CUPS -+ */ -+ -+AvahiCupsPoll * -+avahi_cups_poll_new (void) -+{ -+ AvahiCupsPoll *cups_poll = malloc(sizeof(AvahiCupsPoll)); -+ if (cups_poll == NULL) -+ return (NULL); -+ -+ cups_poll->watched_fds = cupsArrayNew ((cups_array_func_t)compare_watched_fds, -+ NULL); -+ cups_poll->timeouts = cupsArrayNew (NULL, NULL); -+ -+ cups_poll->api.userdata = cups_poll; -+ cups_poll->api.watch_new = watch_new; -+ cups_poll->api.watch_free = watch_free; -+ cups_poll->api.watch_update = watch_update; -+ cups_poll->api.watch_get_events = watch_get_events; -+ -+ cups_poll->api.timeout_new = timeout_new; -+ cups_poll->api.timeout_update = timeout_update; -+ cups_poll->api.timeout_free = timeout_free; -+ -+ return (cups_poll); -+} -+ -+ -+/* -+ * 'avahi_cups_poll_free' - Free an Avahi main loop object for CUPS -+ */ -+void -+avahi_cups_poll_free (AvahiCupsPoll *cups_poll) -+{ -+ cupsd_watched_fd_t *watched_fd; -+ -+ for (watched_fd = (cupsd_watched_fd_t*)cupsArrayFirst(cups_poll->watched_fds); -+ watched_fd; -+ watched_fd = (cupsd_watched_fd_t*)cupsArrayNext(cups_poll->watched_fds)) -+ cupsArrayClear (watched_fd->watches); -+ -+ cupsArrayClear (cups_poll->watched_fds); -+ cupsArrayClear (cups_poll->timeouts); -+} -+ -+ -+/* -+ * 'avahi_cups_poll_get' - Get the abstract poll API structure -+ */ -+ -+const AvahiPoll * -+avahi_cups_poll_get (AvahiCupsPoll *cups_poll) -+{ -+ return (&cups_poll->api); -+} -+ -+ -+#endif /* HAVE_AVAHI ... from top of file */ -+ -+/* -+ * End of "$Id$". -+ */ -diff -up cups-1.5.2/scheduler/avahi.h.avahi-4-poll cups-1.5.2/scheduler/avahi.h ---- cups-1.5.2/scheduler/avahi.h.avahi-4-poll 2012-03-14 15:07:29.477542381 +0000 -+++ cups-1.5.2/scheduler/avahi.h 2012-03-14 15:07:29.477542381 +0000 -@@ -0,0 +1,69 @@ -+/* -+ * "$Id$" -+ * -+ * Avahi poll implementation for the CUPS scheduler. -+ * -+ * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Authors: -+ * Tim Waugh <twaugh@redhat.com> -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -+ * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -+ * OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#include <config.h> -+ -+#ifdef HAVE_AVAHI -+# include <avahi-client/client.h> -+# include <avahi-client/publish.h> -+#endif /* HAVE_AVAHI */ -+ -+#ifdef HAVE_AUTHORIZATION_H -+# include <Security/Authorization.h> -+#endif /* HAVE_AUTHORIZATION_H */ -+ -+ -+#ifdef HAVE_AVAHI -+typedef struct -+{ -+ AvahiPoll api; -+ cups_array_t *watched_fds; -+ cups_array_t *timeouts; -+} AvahiCupsPoll; -+#endif /* HAVE_AVAHI */ -+ -+/* -+ * Prototypes... -+ */ -+ -+#ifdef HAVE_AVAHI -+extern AvahiCupsPoll * avahi_cups_poll_new(void); -+extern void avahi_cups_poll_free(AvahiCupsPoll *cups_poll); -+extern const AvahiPoll *avahi_cups_poll_get(AvahiCupsPoll *cups_poll); -+#endif /* HAVE_AVAHI */ -+ -+ -+/* -+ * End of "$Id$". -+ */ -diff -up cups-1.5.2/scheduler/Makefile.avahi-4-poll cups-1.5.2/scheduler/Makefile ---- cups-1.5.2/scheduler/Makefile.avahi-4-poll 2012-03-14 15:06:36.508476980 +0000 -+++ cups-1.5.2/scheduler/Makefile 2012-03-14 15:07:29.476542380 +0000 -@@ -17,6 +17,7 @@ include ../Makedefs - - CUPSDOBJS = \ - auth.o \ -+ avahi.o \ - banners.o \ - cert.o \ - classes.o \ diff --git a/abs/extra/cups/cups-avahi-5-services.patch b/abs/extra/cups/cups-avahi-5-services.patch deleted file mode 100644 index 820b3c3..0000000 --- a/abs/extra/cups/cups-avahi-5-services.patch +++ /dev/null @@ -1,1272 +0,0 @@ -diff -up cups-1.5.2/cgi-bin/admin.c.avahi-5-services cups-1.5.2/cgi-bin/admin.c ---- cups-1.5.2/cgi-bin/admin.c.avahi-5-services 2011-08-17 22:01:53.000000000 +0100 -+++ cups-1.5.2/cgi-bin/admin.c 2012-03-14 15:08:25.701611799 +0000 -@@ -1643,7 +1643,7 @@ do_config_server(http_t *http) /* I - H - else - local_protocols[0] = '\0'; - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - if (cgiGetVariable("BROWSE_LOCAL_DNSSD")) - { - if (local_protocols[0]) -@@ -1651,7 +1651,7 @@ do_config_server(http_t *http) /* I - H - else - strcat(local_protocols, "dnssd"); - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LDAP - if (cgiGetVariable("BROWSE_LOCAL_LDAP")) -@@ -2718,9 +2718,9 @@ do_menu(http_t *http) /* I - HTTP conn - #endif /* HAVE_GSSAPI */ - cgiSetVariable("KERBEROS", ""); - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - cgiSetVariable("HAVE_DNSSD", "1"); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LDAP - cgiSetVariable("HAVE_LDAP", "1"); -diff -up cups-1.5.2/scheduler/avahi.h.avahi-5-services cups-1.5.2/scheduler/avahi.h ---- cups-1.5.2/scheduler/avahi.h.avahi-5-services 2012-03-14 15:07:29.477542381 +0000 -+++ cups-1.5.2/scheduler/avahi.h 2012-03-14 15:08:25.701611799 +0000 -@@ -3,7 +3,7 @@ - * - * Avahi poll implementation for the CUPS scheduler. - * -- * Copyright (C) 2010, 2011 Red Hat, Inc. -+ * Copyright (C) 2010, 2011, 2012 Red Hat, Inc. - * Authors: - * Tim Waugh <twaugh@redhat.com> - * -@@ -32,37 +32,40 @@ - * OF THE POSSIBILITY OF SUCH DAMAGE. - */ - --#include <config.h> -+#ifndef _CUPS_AVAHI_H_ -+# define _CUPS_AVAHI_H_ - --#ifdef HAVE_AVAHI --# include <avahi-client/client.h> --# include <avahi-client/publish.h> --#endif /* HAVE_AVAHI */ -+/* -+ * Include necessary headers... -+ */ - --#ifdef HAVE_AUTHORIZATION_H --# include <Security/Authorization.h> --#endif /* HAVE_AUTHORIZATION_H */ -+# include <config.h> - -+# ifdef HAVE_AVAHI -+# include <avahi-client/client.h> -+# include <avahi-client/publish.h> -+# endif /* HAVE_AVAHI */ - --#ifdef HAVE_AVAHI -+# ifdef HAVE_AVAHI - typedef struct - { - AvahiPoll api; - cups_array_t *watched_fds; - cups_array_t *timeouts; - } AvahiCupsPoll; --#endif /* HAVE_AVAHI */ -+# endif /* HAVE_AVAHI */ - - /* - * Prototypes... - */ - --#ifdef HAVE_AVAHI -+# ifdef HAVE_AVAHI - extern AvahiCupsPoll * avahi_cups_poll_new(void); - extern void avahi_cups_poll_free(AvahiCupsPoll *cups_poll); - extern const AvahiPoll *avahi_cups_poll_get(AvahiCupsPoll *cups_poll); --#endif /* HAVE_AVAHI */ -+# endif /* HAVE_AVAHI */ - -+#endif /* !_CUPS_AVAHI_H_ */ - - /* - * End of "$Id$". -diff -up cups-1.5.2/scheduler/client.c.avahi-5-services cups-1.5.2/scheduler/client.c ---- cups-1.5.2/scheduler/client.c.avahi-5-services 2012-01-13 23:00:22.000000000 +0000 -+++ cups-1.5.2/scheduler/client.c 2012-03-14 15:08:25.703611797 +0000 -@@ -4989,7 +4989,7 @@ valid_host(cupsd_client_t *con) /* I - - !strncmp(host, "[::1]:", 6)); - } - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * Check if the hostname is something.local (Bonjour); if so, allow it. - */ -@@ -4998,7 +4998,7 @@ valid_host(cupsd_client_t *con) /* I - - (!_cups_strcasecmp(end, ".local") || !_cups_strncasecmp(end, ".local:", 7) || - !_cups_strcasecmp(end, ".local.") || !_cups_strncasecmp(end, ".local.:", 8))) - return (1); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - /* - * Check if the hostname is an IP address... -diff -up cups-1.5.2/scheduler/conf.c.avahi-5-services cups-1.5.2/scheduler/conf.c ---- cups-1.5.2/scheduler/conf.c.avahi-5-services 2012-03-14 15:04:17.636305526 +0000 -+++ cups-1.5.2/scheduler/conf.c 2012-03-14 15:08:25.706611803 +0000 -@@ -652,7 +652,7 @@ cupsdReadConfiguration(void) - Browsing = CUPS_DEFAULT_BROWSING; - DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED; - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups"); - #endif /* HAVE_DNSSD */ - -diff -up cups-1.5.2/scheduler/dirsvc.c.avahi-5-services cups-1.5.2/scheduler/dirsvc.c ---- cups-1.5.2/scheduler/dirsvc.c.avahi-5-services 2012-03-14 15:04:17.674305572 +0000 -+++ cups-1.5.2/scheduler/dirsvc.c 2012-03-14 15:08:25.709611806 +0000 -@@ -27,6 +27,7 @@ - * ldap_connect() - Start new LDAP connection - * ldap_reconnect() - Reconnect to LDAP Server - * ldap_disconnect() - Disconnect from LDAP Server -+ * cupsdStartAvahiClient() - Start an Avahi client if needed - * cupsdStartBrowsing() - Start sending and receiving broadcast - * information. - * cupsdStartPolling() - Start polling servers as needed. -@@ -40,11 +41,12 @@ - * dequote() - Remote quotes from a string. - * dnssdAddAlias() - Add a DNS-SD alias name. - * dnssdBuildTxtRecord() - Build a TXT record from printer info. -- * dnssdComparePrinters() - Compare the registered names of two printers. - * dnssdDeregisterPrinter() - Stop sending broadcast information for a - * printer. - * dnssdPackTxtRecord() - Pack an array of key/value pairs into the TXT - * record format. -+ * avahiPackTxtRecord() - Pack an array of key/value pairs into an -+ * AvahiStringList. - * dnssdRegisterCallback() - DNSServiceRegister callback. - * dnssdRegisterPrinter() - Start sending broadcast information for a - * printer or update the broadcast contents. -@@ -83,6 +85,7 @@ - */ - - #include "cupsd.h" -+#include <assert.h> - #include <grp.h> - - #ifdef HAVE_DNSSD -@@ -97,6 +100,17 @@ - # endif /* HAVE_SYSTEMCONFIGURATION */ - # endif /* __APPLE__ */ - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include <avahi-common/domain.h> -+#endif /* HAVE_AVAHI */ -+ -+ -+#ifdef HAVE_DNSSD -+typedef char *cupsd_txt_record_t; -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+typedef AvahiStringList *cupsd_txt_record_t; -+#endif /* HAVE_AVAHI */ - - - /* -@@ -159,27 +173,38 @@ static void update_polling(void); - static void update_smb(int onoff); - - -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+static cupsd_txt_record_t dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p, -+ int for_lpd); -+static void dnssdDeregisterPrinter(cupsd_printer_t *p); -+static void dnssdRegisterPrinter(cupsd_printer_t *p); -+static void dnssdStop(void); -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ -+ - #ifdef HAVE_DNSSD - # ifdef HAVE_COREFOUNDATION - static void dnssdAddAlias(const void *key, const void *value, - void *context); - # endif /* HAVE_COREFOUNDATION */ --static char *dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p, -- int for_lpd); --static int dnssdComparePrinters(cupsd_printer_t *a, cupsd_printer_t *b); --static void dnssdDeregisterPrinter(cupsd_printer_t *p); --static char *dnssdPackTxtRecord(int *txt_len, char *keyvalue[][2], -- int count); - static void dnssdRegisterCallback(DNSServiceRef sdRef, - DNSServiceFlags flags, - DNSServiceErrorType errorCode, - const char *name, const char *regtype, - const char *domain, void *context); --static void dnssdRegisterPrinter(cupsd_printer_t *p); --static void dnssdStop(void); - static void dnssdUpdate(void); - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+static AvahiStringList *avahiPackTxtRecord(char *keyvalue[][2], -+ int count); -+static void avahi_entry_group_cb (AvahiEntryGroup *group, -+ AvahiEntryGroupState state, -+ void *userdata); -+static void avahi_client_cb (AvahiClient *client, -+ AvahiClientState state, -+ void *userdata); -+#endif /* HAVE_AVAHI */ -+ - #ifdef HAVE_LDAP - static const char * const ldap_attrs[] =/* CUPS LDAP attributes */ - { -@@ -283,10 +308,10 @@ cupsdDeregisterPrinter( - ldap_dereg_printer(p); - #endif /* HAVE_LDAP */ - --#ifdef HAVE_DNSSD -- if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD)) - dnssdDeregisterPrinter(p); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - } - - -@@ -702,10 +727,10 @@ cupsdRegisterPrinter(cupsd_printer_t *p) - slpRegisterPrinter(p); */ - #endif /* HAVE_LIBSLP */ - --#ifdef HAVE_DNSSD -- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if ((BrowseLocalProtocols & BROWSE_DNSSD)) - dnssdRegisterPrinter(p); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - } - - -@@ -1419,6 +1444,36 @@ ldap_disconnect(LDAP *ld) /* I - LDAP h - #endif /* HAVE_LDAP */ - - -+#ifdef HAVE_AVAHI -+/* -+ * 'cupsdStartAvahiClient()' - Start an Avahi client if needed -+ */ -+ -+void -+cupsdStartAvahiClient(void) -+{ -+ int error = 0; -+ -+ if (!AvahiCupsClient && !AvahiCupsClientConnecting) -+ { -+ if (!AvahiCupsPollHandle) -+ AvahiCupsPollHandle = avahi_cups_poll_new (); -+ -+ if (AvahiCupsPollHandle) -+ { -+ if (avahi_client_new (avahi_cups_poll_get (AvahiCupsPollHandle), -+ AVAHI_CLIENT_NO_FAIL, -+ avahi_client_cb, NULL, -+ &error) != NULL) -+ AvahiCupsClientConnecting = 1; -+ else -+ cupsdLogMessage (CUPSD_LOG_WARN, "Avahi client failed: %d", error); -+ } -+ } -+} -+#endif /* HAVE_AVAHI */ -+ -+ - /* - * 'cupsdStartBrowsing()' - Start sending and receiving broadcast information. - */ -@@ -1542,13 +1597,16 @@ cupsdStartBrowsing(void) - else - BrowseSocket = -1; - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_DNSSD) - { -+#ifdef HAVE_DNSSD - DNSServiceErrorType error; /* Error from service creation */ -+#endif /* HAVE_DNSSD */ - cupsd_listener_t *lis; /* Current listening socket */ - - -+#ifdef HAVE_DNSSD - /* - * First create a "master" connection for all registrations... - */ -@@ -1573,6 +1631,7 @@ cupsdStartBrowsing(void) - fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); - - cupsdAddSelect(fd, (cupsd_selfunc_t)dnssdUpdate, NULL, NULL); -+#endif /* HAVE_DNSSD */ - - /* - * Then get the port we use for registrations. If we are not listening -@@ -1598,17 +1657,23 @@ cupsdStartBrowsing(void) - */ - - if (BrowseRemoteProtocols & BROWSE_DNSSD) -- DNSSDPrinters = cupsArrayNew((cups_array_func_t)dnssdComparePrinters, -- NULL); -+ DNSSDPrinters = cupsArrayNew(NULL, NULL); - - /* - * Set the computer name and register the web interface... - */ - - cupsdUpdateDNSSDName(); -+ -+#ifdef HAVE_AVAHI -+ cupsdStartAvahiClient (); -+#endif /* HAVE_AVAHI */ -+ -+#ifdef HAVE_DNSSD - } -- } - #endif /* HAVE_DNSSD */ -+ } -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LIBSLP - if ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) -@@ -1834,10 +1899,10 @@ cupsdStopBrowsing(void) - BrowseSocket = -1; - } - --#ifdef HAVE_DNSSD -- if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if ((BrowseLocalProtocols & BROWSE_DNSSD)) - dnssdStop(); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - #ifdef HAVE_LIBSLP - if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_SLP) && -@@ -1902,7 +1967,7 @@ cupsdStopPolling(void) - } - - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * 'cupsdUpdateDNSSDName()' - Update the computer name we use for browsing... - */ -@@ -1910,8 +1975,14 @@ cupsdStopPolling(void) - void - cupsdUpdateDNSSDName(void) - { -+#ifdef HAVE_DNSSD - DNSServiceErrorType error; /* Error from service creation */ - char webif[1024]; /* Web interface share name */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ int ret; /* Error from service creation */ -+ char webif[AVAHI_LABEL_MAX]; /* Web interface share name */ -+#endif /* HAVE_AVAHI */ - # ifdef HAVE_SYSTEMCONFIGURATION - SCDynamicStoreRef sc; /* Context for dynamic store */ - CFDictionaryRef btmm; /* Back-to-My-Mac domains */ -@@ -2042,6 +2113,7 @@ cupsdUpdateDNSSDName(void) - else - strlcpy(webif, "CUPS Web Interface", sizeof(webif)); - -+#ifdef HAVE_DNSSD - if (WebIFRef) - DNSServiceRefDeallocate(WebIFRef); - -@@ -2054,9 +2126,45 @@ cupsdUpdateDNSSDName(void) - NULL)) != kDNSServiceErr_NoError) - cupsdLogMessage(CUPSD_LOG_ERROR, - "DNS-SD web interface registration failed: %d", error); -+#endif /* HAVE_DNSSD */ -+ -+#ifdef HAVE_AVAHI -+ if (!AvahiCupsClient) -+ /* -+ * Client not yet running. -+ */ -+ return; -+ -+ if (AvahiWebIFGroup) -+ avahi_entry_group_reset (AvahiWebIFGroup); -+ else -+ AvahiWebIFGroup = avahi_entry_group_new (AvahiCupsClient, -+ avahi_entry_group_cb, -+ NULL); -+ -+ if (AvahiWebIFGroup) -+ { -+ ret = avahi_entry_group_add_service (AvahiWebIFGroup, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, /* flags */ -+ webif, /* name */ -+ "_http._tcp", /* type */ -+ NULL, /* domain */ -+ NULL, /* host */ -+ DNSSDPort, /* port */ -+ "path=/", NULL); -+ if (ret == 0) -+ ret = avahi_entry_group_commit (AvahiWebIFGroup); -+ -+ if (ret != 0) -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Avahi web interface registration failed: %d", ret); -+ } -+#endif /* HAVE_AVAHI */ - } - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - - #ifdef HAVE_LDAP -@@ -2334,13 +2442,15 @@ dnssdAddAlias(const void *key, /* I - K - "Bad Back to My Mac domain in dynamic store!"); - } - # endif /* HAVE_COREFOUNDATION */ -+#endif /* HAVE_DNSSD */ - - -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * 'dnssdBuildTxtRecord()' - Build a TXT record from printer info. - */ - --static char * /* O - TXT record */ -+static cupsd_txt_record_t /* O - TXT record */ - dnssdBuildTxtRecord( - int *txt_len, /* O - TXT record length */ - cupsd_printer_t *p, /* I - Printer information */ -@@ -2379,7 +2489,12 @@ dnssdBuildTxtRecord( - keyvalue[i ][0] = "ty"; - keyvalue[i++][1] = p->make_model ? p->make_model : "Unknown"; - -- snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.", DNSSDHostName); -+ snprintf(admin_hostname, sizeof(admin_hostname), -+ "%s.local" -+#ifdef HAVE_DNSSD -+ "." /* terminating dot no good for Avahi */ -+#endif /* HAVE_DNSSD */ -+ , DNSSDHostName); - httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str), - "http", NULL, admin_hostname, DNSSDPort, "/%s/%s", - (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers", -@@ -2462,19 +2577,12 @@ dnssdBuildTxtRecord( - * Then pack them into a proper txt record... - */ - -+#ifdef HAVE_DNSSD - return (dnssdPackTxtRecord(txt_len, keyvalue, i)); --} -- -- --/* -- * 'dnssdComparePrinters()' - Compare the registered names of two printers. -- */ -- --static int /* O - Result of comparison */ --dnssdComparePrinters(cupsd_printer_t *a,/* I - First printer */ -- cupsd_printer_t *b)/* I - Second printer */ --{ -- return (_cups_strcasecmp(a->reg_name, b->reg_name)); -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ return (avahiPackTxtRecord(keyvalue, i)); -+#endif /* HAVE_AVAHI */ - } - - -@@ -2489,6 +2597,10 @@ dnssdDeregisterPrinter( - { - cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdDeregisterPrinter(%s)", p->name); - -+#ifdef HAVE_DNSSD -+ if (!DNSSDRef) -+ return; -+ - /* - * Closing the socket deregisters the service - */ -@@ -2524,6 +2636,24 @@ dnssdDeregisterPrinter( - free(p->printer_txt); - p->printer_txt = NULL; - } -+#endif /* HAVE_DNSSD */ -+ -+#ifdef HAVE_AVAHI -+ if (p->avahi_group) -+ { -+ avahi_entry_group_reset (p->avahi_group); -+ avahi_entry_group_free (p->avahi_group); -+ p->avahi_group = NULL; -+ -+ if (p->ipp_txt) -+ avahi_string_list_free (p->ipp_txt); -+ -+ if (p->printer_txt) -+ avahi_string_list_free (p->printer_txt); -+ -+ p->ipp_txt = p->printer_txt = NULL; -+ } -+#endif /* HAVE_AVAHI */ - - /* - * Remove the printer from the array of DNS-SD printers, then clear the -@@ -2533,8 +2663,10 @@ dnssdDeregisterPrinter( - cupsArrayRemove(DNSSDPrinters, p); - cupsdClearString(&p->reg_name); - } -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - -+#ifdef HAVE_DNSSD - /* - * 'dnssdPackTxtRecord()' - Pack an array of key/value pairs into the - * TXT record format. -@@ -2644,8 +2776,10 @@ dnssdRegisterCallback( - LastEvent |= CUPSD_EVENT_PRINTER_MODIFIED; - } - } -+#endif /* HAVE_DNSSD */ - - -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - /* - * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer - * or update the broadcast contents. -@@ -2654,20 +2788,40 @@ dnssdRegisterCallback( - static void - dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */ - { -+#ifdef HAVE_DNSSD - DNSServiceErrorType se; /* dnssd errors */ - char *ipp_txt, /* IPP TXT record buffer */ - *printer_txt, /* LPD TXT record buffer */ -- name[1024], /* Service name */ -- *nameptr; /* Pointer into name */ -+ name[1024]; /* Service name */ - int ipp_len, /* IPP TXT record length */ - printer_len, /* LPD TXT record length */ - printer_port; /* LPD port number */ -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ int ret; /* Error code */ -+ AvahiStringList *ipp_txt, /* IPP TXT record */ -+ *printer_txt; /* LPD TXT record */ -+ char name[AVAHI_LABEL_MAX], /* Service name */ -+ fullsubtype[AVAHI_LABEL_MAX]; /* Full subtype */ -+ char *regtype_copy, /* Writeable copy of reg type */ -+ *subtype, /* Current service sub type */ -+ *nextsubtype; /* Next service sub type */ -+#endif /* HAVE_AVAHI */ -+ char *nameptr; /* Pointer into name */ - const char *regtype; /* Registration type */ - - -+#ifdef HAVE_DNSSD -+ if (!DNSSDRef) -+ return; -+ - cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name, - !p->ipp_ref ? "new" : "update"); -- -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name, -+ !p->avahi_group ? "new" : "update"); -+#endif /* HAVE_AVAHI */ - /* - * If per-printer sharing was just disabled make sure we're not - * registered before returning. -@@ -2686,12 +2840,36 @@ dnssdRegisterPrinter(cupsd_printer_t *p) - if (p->info && strlen(p->info) > 0) - { - if (DNSSDComputerName) -- snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName); -+ { -+ /* -+ * Make sure there is room for at least 15 characters of -+ * DNSSDComputerName. -+ */ -+ -+ assert(sizeof(name) >= 15 + 4); -+ nameptr = name + strlcpy(name, p->info, -+ sizeof(name) - 4 - -+ strnlen(DNSSDComputerName, 15)); -+ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name)); -+ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name)); -+ } - else - strlcpy(name, p->info, sizeof(name)); - } - else if (DNSSDComputerName) -- snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName); -+ { -+ /* -+ * Make sure there is room for at least 15 characters of -+ * DNSSDComputerName. -+ */ -+ -+ assert(sizeof(name) >= 15 + 4); -+ nameptr = name + strlcpy(name, p->info, -+ sizeof(name) - 4 - -+ strnlen(DNSSDComputerName, 15)); -+ nameptr += strlcpy(nameptr, " @ ", sizeof(name) - (nameptr - name)); -+ strlcpy(nameptr, DNSSDComputerName, sizeof(name) - (nameptr - name)); -+ } - else - strlcpy(name, p->name, sizeof(name)); - -@@ -2712,6 +2890,7 @@ dnssdRegisterPrinter(cupsd_printer_t *p) - * Register IPP and (optionally) LPD... - */ - -+#ifdef HAVE_DNSSD - ipp_len = 0; /* anti-compiler-warning-code */ - ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0); - -@@ -2884,6 +3063,209 @@ dnssdRegisterPrinter(cupsd_printer_t *p) - - if (printer_txt) - free(printer_txt); -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ if (!AvahiCupsClient) -+ /* -+ * Client not running yet. The client callback will call us again later. -+ */ -+ return; -+ -+ ipp_txt = dnssdBuildTxtRecord(NULL, p, 0); -+ printer_txt = dnssdBuildTxtRecord(NULL, p, 1); -+ regtype = (p->type & CUPS_PRINTER_FAX) ? "_fax-ipp._tcp" : DNSSDRegType; -+ -+ if (p->avahi_group && p->ipp_txt && ipp_txt && -+ !avahi_string_list_equal (p->ipp_txt, ipp_txt)) -+ { -+ /* -+ * Update the existing registration... -+ */ -+ -+ avahi_string_list_free (p->ipp_txt); -+ -+ if (p->printer_txt) -+ avahi_string_list_free (p->printer_txt); -+ -+ /* -+ * Update the service group entry. -+ */ -+ -+ regtype_copy = strdup (regtype); -+ subtype = strchr (regtype_copy, ','); -+ if (subtype) -+ *subtype = '\0'; -+ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Updating TXT record for %s (%s)", name, regtype_copy); -+ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ regtype_copy, -+ NULL, ipp_txt); -+ free (regtype_copy); -+ -+ if (ret < 0) -+ goto update_failed; -+ -+ p->ipp_txt = ipp_txt; -+ ipp_txt = NULL; -+ -+ if (BrowseLocalProtocols & BROWSE_LPD) -+ { -+ ret = avahi_entry_group_update_service_txt_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ "_printer._tcp", NULL, -+ printer_txt); -+ if (ret < 0) -+ goto update_failed; -+ -+ p->printer_txt = printer_txt; -+ printer_txt = NULL; -+ } -+ -+ ret = avahi_entry_group_commit (p->avahi_group); -+ if (ret < 0) -+ { -+ update_failed: -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Failed to update TXT record for %s: %d", -+ name, ret); -+ avahi_entry_group_reset (p->avahi_group); -+ avahi_entry_group_free (p->avahi_group); -+ p->avahi_group = NULL; -+ ipp_txt = p->ipp_txt; -+ p->ipp_txt = NULL; -+ } -+ } -+ -+ if (!p->avahi_group) -+ { -+ /* -+ * Initial registration. Use the _fax subtype for fax queues... -+ */ -+ -+ p->avahi_group = avahi_entry_group_new (AvahiCupsClient, -+ avahi_entry_group_cb, -+ p); -+ -+ cupsdLogMessage(CUPSD_LOG_DEBUG, -+ "Registering Avahi printer %s with name \"%s\" and " -+ "type \"%s\"", p->name, name, regtype); -+ -+ if (!p->avahi_group) -+ { -+ ret = 0; -+ goto add_failed; -+ } -+ -+ /* -+ * Add each service type (DNSSDRegType may contain several, -+ * separated by commas). -+ */ -+ -+ subtype = regtype_copy = strdup (regtype); -+ while (subtype && *subtype) -+ { -+ nextsubtype = strchr (subtype, ','); -+ if (nextsubtype) -+ *nextsubtype++ = '\0'; -+ -+ if (subtype == regtype_copy) -+ { -+ /* -+ * Main type entry. -+ */ -+ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Adding TXT record for %s (%s)", name, regtype_copy); -+ ret = avahi_entry_group_add_service_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, regtype_copy, -+ NULL, NULL, -+ DNSSDPort, -+ ipp_txt); -+ } -+ else -+ { -+ /* -+ * Sub-type entry. -+ */ -+ -+ snprintf (fullsubtype, sizeof(fullsubtype), -+ "%s._sub.%s", subtype, regtype_copy); -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Adding TXT record for %s (%s)", name, fullsubtype); -+ ret = avahi_entry_group_add_service_subtype (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ regtype_copy, -+ NULL, fullsubtype); -+ } -+ -+ if (ret < 0) -+ { -+ free (regtype_copy); -+ goto add_failed; -+ } -+ -+ subtype = nextsubtype; -+ } -+ -+ free (regtype_copy); -+ p->ipp_txt = ipp_txt; -+ ipp_txt = NULL; -+ -+ if (BrowseLocalProtocols & BROWSE_LPD) -+ { -+ cupsdLogMessage(CUPSD_LOG_DEBUG, -+ "Registering Avahi printer %s with name \"%s\" and " -+ "type \"_printer._tcp\"", p->name, name); -+ -+ ret = avahi_entry_group_add_service_strlst (p->avahi_group, -+ AVAHI_IF_UNSPEC, -+ AVAHI_PROTO_UNSPEC, -+ 0, name, -+ "_printer._tcp", NULL, NULL, -+ 515, -+ printer_txt); -+ if (ret < 0) -+ goto add_failed; -+ -+ p->printer_txt = printer_txt; -+ printer_txt = NULL; -+ } -+ -+ ret = avahi_entry_group_commit (p->avahi_group); -+ -+ if (ret < 0) -+ { -+ add_failed: -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Failed to add Avahi entry for %s: %d", -+ name, ret); -+ if (p->avahi_group) -+ { -+ avahi_entry_group_reset (p->avahi_group); -+ avahi_entry_group_free (p->avahi_group); -+ p->avahi_group = NULL; -+ } -+ ipp_txt = p->ipp_txt; -+ p->ipp_txt = NULL; -+ } -+ } -+ -+ if (ipp_txt) -+ avahi_string_list_free (ipp_txt); -+ -+ if (printer_txt) -+ avahi_string_list_free (printer_txt); -+#endif /* HAVE_AVAHI */ - } - - -@@ -2896,6 +3278,10 @@ dnssdStop(void) - { - cupsd_printer_t *p; /* Current printer */ - -+#ifdef HAVE_DNSSD -+ if (!DNSSDRef) -+ return; -+#endif /* HAVE_DNSSD */ - - /* - * De-register the individual printers -@@ -2910,12 +3296,23 @@ dnssdStop(void) - * Shutdown the rest of the service refs... - */ - -+#ifdef HAVE_DNSSD - if (WebIFRef) - { - DNSServiceRefDeallocate(WebIFRef); - WebIFRef = NULL; - } -+#endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ if (AvahiWebIFGroup) -+ { -+ avahi_entry_group_reset (AvahiWebIFGroup); -+ avahi_entry_group_free (AvahiWebIFGroup); -+ AvahiWebIFGroup = NULL; -+ } -+#endif /* HAVE_AVAHI */ - -+#ifdef HAVE_DNSSD - if (RemoteRef) - { - DNSServiceRefDeallocate(RemoteRef); -@@ -2926,14 +3323,17 @@ dnssdStop(void) - - DNSServiceRefDeallocate(DNSSDRef); - DNSSDRef = NULL; -+#endif /* HAVE_DNSSD */ - - cupsArrayDelete(DNSSDPrinters); - DNSSDPrinters = NULL; - - DNSSDPort = 0; - } -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - -+#ifdef HAVE_DNSSD - /* - * 'dnssdUpdate()' - Handle DNS-SD queries. - */ -@@ -2955,6 +3355,153 @@ dnssdUpdate(void) - #endif /* HAVE_DNSSD */ - - -+#ifdef HAVE_AVAHI -+/* -+ * 'avahiPackTxtRecord()' - Pack an array of key/value pairs into an -+ * AvahiStringList. -+ */ -+ -+static AvahiStringList * /* O - new string list */ -+avahiPackTxtRecord(char *keyvalue[][2], /* I - Table of key value pairs */ -+ int count) /* I - Number of items in table */ -+{ -+ AvahiStringList *strlst = NULL; -+ char **elements; -+ size_t len; -+ int i = 0; -+ -+ elements = malloc ((1 + count) * sizeof (char *)); -+ if (!elements) -+ goto cleanup; -+ -+ for (i = 0; i < count; i++) -+ { -+ len = (1 + strlen (keyvalue[i][0]) + -+ (keyvalue[i][1] ? 1 + strlen (keyvalue[i][1]) : 1)); -+ elements[i] = malloc (len * sizeof (char)); -+ if (!elements[i]) -+ goto cleanup; -+ -+ snprintf (elements[i], len, "%s=%s", keyvalue[i][0], keyvalue[i][1]); -+ } -+ -+ strlst = avahi_string_list_new_from_array ((const char **) elements, count); -+ -+cleanup: -+ while (--i >= 0) -+ free (elements[i]); -+ -+ free (elements); -+ return (strlst); -+} -+ -+ -+/* -+ * 'avahi_entry_group_cb()' - Avahi entry group callback function. -+ */ -+static void -+avahi_entry_group_cb (AvahiEntryGroup *group, -+ AvahiEntryGroupState state, -+ void *userdata) -+{ -+ char *name; -+ -+ if (userdata) -+ name = ((cupsd_printer_t *) userdata)->reg_name; -+ else -+ name = "CUPS web interface"; -+ -+ switch (state) -+ { -+ case AVAHI_ENTRY_GROUP_UNCOMMITED: -+ case AVAHI_ENTRY_GROUP_REGISTERING: -+ break; -+ -+ case AVAHI_ENTRY_GROUP_ESTABLISHED: -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Avahi entry group established for %s", name); -+ break; -+ -+ default: -+ cupsdLogMessage (CUPSD_LOG_DEBUG, -+ "Avahi entry group %s has state %d", -+ name, state); -+ break; -+ } -+} -+ -+ -+/* -+ * 'avahi_client_cb()' - Avahi client callback function. -+ */ -+static void -+avahi_client_cb (AvahiClient *client, -+ AvahiClientState state, -+ void *userdata) -+{ -+ cupsd_printer_t *printer; -+ switch (state) -+ { -+ case AVAHI_CLIENT_S_RUNNING: -+ /* -+ * Avahi client started successfully. -+ */ -+ AvahiCupsClient = client; -+ AvahiCupsClientConnecting = 0; -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client started"); -+ -+ cupsdUpdateDNSSDName (); -+ -+ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers); -+ printer; -+ printer = (cupsd_printer_t *)cupsArrayNext(Printers)) -+ if (Browsing && (BrowseLocalProtocols & BROWSE_DNSSD) && -+ (!(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT | -+ CUPS_PRINTER_SCANNER))) && printer->shared) -+ dnssdRegisterPrinter (printer); -+ -+ break; -+ -+ case AVAHI_CLIENT_CONNECTING: -+ /* -+ * No Avahi daemon, client is waiting. -+ */ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client connecting"); -+ break; -+ -+ case AVAHI_CLIENT_S_REGISTERING: -+ /* -+ * Not yet registered. -+ */ -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client registering"); -+ break; -+ -+ case AVAHI_CLIENT_FAILURE: -+ /* -+ * Avahi client failed, close it to allow a clean restart. -+ */ -+ cupsdLogMessage (CUPSD_LOG_ERROR, -+ "Avahi client failed, " -+ "closing client to allow a clean restart"); -+ -+ for (printer = (cupsd_printer_t *)cupsArrayFirst(Printers); -+ printer; -+ printer = (cupsd_printer_t *)cupsArrayNext(Printers)) -+ dnssdDeregisterPrinter (printer); -+ -+ avahi_client_free(client); -+ AvahiCupsClientConnecting = 0; -+ AvahiCupsClient = NULL; -+ -+ break; -+ -+ default: -+ cupsdLogMessage (CUPSD_LOG_DEBUG, "Avahi client state: %d", state); -+ } -+} -+#endif /* HAVE_AVAHI */ -+ -+ - /* - * 'get_auth_info_required()' - Get the auth-info-required value to advertise. - */ -diff -up cups-1.5.2/scheduler/dirsvc.h.avahi-5-services cups-1.5.2/scheduler/dirsvc.h ---- cups-1.5.2/scheduler/dirsvc.h.avahi-5-services 2011-03-21 02:12:14.000000000 +0000 -+++ cups-1.5.2/scheduler/dirsvc.h 2012-03-14 15:08:25.711611808 +0000 -@@ -31,6 +31,10 @@ - # endif /* HAVE_LDAP_SSL_H */ - #endif /* HAVE_LDAP */ - -+#ifdef HAVE_AVAHI -+# include <avahi-client/publish.h> -+#endif /* HAVE_AVAHI */ -+ - /* - * Browse protocols... - */ -@@ -131,19 +135,22 @@ VAR int PollPipe VALUE(0); - VAR cupsd_statbuf_t *PollStatusBuffer VALUE(NULL); - /* Status buffer for pollers */ - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - VAR char *DNSSDComputerName VALUE(NULL), - /* Computer/server name */ - *DNSSDHostName VALUE(NULL), - /* Hostname */ - *DNSSDRegType VALUE(NULL); - /* Bonjour registration type */ --VAR cups_array_t *DNSSDAlias VALUE(NULL); -- /* List of dynamic ServerAlias's */ - VAR int DNSSDPort VALUE(0); - /* Port number to register */ - VAR cups_array_t *DNSSDPrinters VALUE(NULL); - /* Printers we have registered */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ -+ -+#ifdef HAVE_DNSSD -+VAR cups_array_t *DNSSDAlias VALUE(NULL); -+ /* List of dynamic ServerAlias's */ - VAR DNSServiceRef DNSSDRef VALUE(NULL), - /* Master DNS-SD service reference */ - WebIFRef VALUE(NULL), -@@ -152,6 +159,17 @@ VAR DNSServiceRef DNSSDRef VALUE(NULL), - /* Remote printer browse reference */ - #endif /* HAVE_DNSSD */ - -+#ifdef HAVE_AVAHI -+VAR AvahiCupsPoll *AvahiCupsPollHandle VALUE(NULL); -+ /* AvahiCupsPoll object */ -+VAR AvahiClient *AvahiCupsClient VALUE(NULL); -+ /* AvahiClient object */ -+VAR int AvahiCupsClientConnecting VALUE(0); -+ /* Is AvahiClient object connecting? */ -+VAR AvahiEntryGroup *AvahiWebIFGroup VALUE(NULL); -+ /* Web interface entry group */ -+#endif /* HAVE_AVAHI */ -+ - #ifdef HAVE_LIBSLP - VAR SLPHandle BrowseSLPHandle VALUE(NULL); - /* SLP API handle */ -@@ -195,13 +213,14 @@ extern void cupsdRegisterPrinter(cupsd_p - extern void cupsdRestartPolling(void); - extern void cupsdSaveRemoteCache(void); - extern void cupsdSendBrowseList(void); -+extern void cupsdStartAvahiClient(void); - extern void cupsdStartBrowsing(void); - extern void cupsdStartPolling(void); - extern void cupsdStopBrowsing(void); - extern void cupsdStopPolling(void); --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - extern void cupsdUpdateDNSSDName(void); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - #ifdef HAVE_LDAP - extern void cupsdUpdateLDAPBrowse(void); - #endif /* HAVE_LDAP */ -diff -up cups-1.5.2/scheduler/ipp.c.avahi-5-services cups-1.5.2/scheduler/ipp.c ---- cups-1.5.2/scheduler/ipp.c.avahi-5-services 2012-03-14 15:04:17.665305560 +0000 -+++ cups-1.5.2/scheduler/ipp.c 2012-03-14 15:08:25.715611813 +0000 -@@ -6099,7 +6099,7 @@ copy_printer_attrs( - ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time", - ippTimeToDate(curtime)); - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - if (!ra || cupsArrayFind(ra, "printer-dns-sd-name")) - { - if (printer->reg_name) -@@ -6109,7 +6109,7 @@ copy_printer_attrs( - ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE, - "printer-dns-sd-name", 0); - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - if (!ra || cupsArrayFind(ra, "printer-error-policy")) - ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME, -diff -up cups-1.5.2/scheduler/main.c.avahi-5-services cups-1.5.2/scheduler/main.c ---- cups-1.5.2/scheduler/main.c.avahi-5-services 2012-03-14 15:06:36.511476986 +0000 -+++ cups-1.5.2/scheduler/main.c 2012-03-14 15:08:25.718611817 +0000 -@@ -120,6 +120,10 @@ main(int argc, /* I - Number of comm - cupsd_listener_t *lis; /* Current listener */ - time_t current_time, /* Current time */ - activity, /* Client activity timer */ -+#ifdef HAVE_AVAHI -+ avahi_client_time, /* Time for next Avahi client -+ check */ -+#endif /* HAVE_AVAHI */ - browse_time, /* Next browse send time */ - senddoc_time, /* Send-Document time */ - expire_time, /* Subscription expire time */ -@@ -672,6 +676,9 @@ main(int argc, /* I - Number of comm - */ - - current_time = time(NULL); -+#ifdef HAVE_AVAHI -+ avahi_client_time = current_time; -+#endif /* HAVE_AVAHI */ - browse_time = current_time; - event_time = current_time; - expire_time = current_time; -@@ -894,6 +901,16 @@ main(int argc, /* I - Number of comm - tmo = cupsdNextTimeout (&tmo_delay); - if (tmo && tmo_delay == 0) - cupsdRunTimeout (tmo); -+ -+ /* -+ * Try to restart the Avahi client every 10 seconds if needed... -+ */ -+ -+ if ((current_time - avahi_client_time) >= 10) -+ { -+ avahi_client_time = current_time; -+ cupsdStartAvahiClient(); -+ } - #endif /* HAVE_AVAHI */ - - #ifndef __APPLE__ -diff -up cups-1.5.2/scheduler/printers.c.avahi-5-services cups-1.5.2/scheduler/printers.c ---- cups-1.5.2/scheduler/printers.c.avahi-5-services 2012-03-14 15:04:17.646305537 +0000 -+++ cups-1.5.2/scheduler/printers.c 2012-03-14 15:08:25.720611819 +0000 -@@ -883,9 +883,9 @@ cupsdDeletePrinter( - cupsdClearString(&p->alert); - cupsdClearString(&p->alert_description); - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - cupsdClearString(&p->pdl); --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - - cupsArrayDelete(p->filetypes); - -@@ -3787,7 +3787,7 @@ add_printer_formats(cupsd_printer_t *p) - attr->values[i].string.text = _cupsStrAlloc(mimetype); - } - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - { - char pdl[1024]; /* Buffer to build pdl list */ - mime_filter_t *filter; /* MIME filter looping var */ -@@ -3843,7 +3843,7 @@ add_printer_formats(cupsd_printer_t *p) - - cupsdSetString(&p->pdl, pdl); - } --#endif /* HAVE_DNSSD */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ - } - - -diff -up cups-1.5.2/scheduler/printers.h.avahi-5-services cups-1.5.2/scheduler/printers.h ---- cups-1.5.2/scheduler/printers.h.avahi-5-services 2011-03-18 18:42:46.000000000 +0000 -+++ cups-1.5.2/scheduler/printers.h 2012-03-14 15:08:25.721611820 +0000 -@@ -16,6 +16,9 @@ - #ifdef HAVE_DNSSD - # include <dns_sd.h> - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+# include "avahi.h" -+#endif /* HAVE_AVAHI */ - #include <cups/pwg-private.h> - - -@@ -95,16 +98,23 @@ struct cupsd_printer_s - time_t marker_time; /* Last time marker attributes were updated */ - _ppd_cache_t *pc; /* PPD cache and mapping data */ - --#ifdef HAVE_DNSSD -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - char *reg_name, /* Name used for service registration */ -- *pdl, /* pdl value for TXT record */ -- *ipp_txt, /* IPP TXT record contents */ -+ *pdl; /* pdl value for TXT record */ -+#endif /* defined(HAVE_DNSSD) || defined(HAVE_AVAHI) */ -+#ifdef HAVE_DNSSD -+ char *ipp_txt, /* IPP TXT record contents */ - *printer_txt; /* LPD TXT record contents */ - int ipp_len, /* IPP TXT record length */ - printer_len; /* LPD TXT record length */ - DNSServiceRef ipp_ref, /* Reference for _ipp._tcp,_cups */ - printer_ref; /* Reference for _printer._tcp */ - #endif /* HAVE_DNSSD */ -+#ifdef HAVE_AVAHI -+ AvahiStringList *ipp_txt, /* IPP TXT record */ -+ *printer_txt; /* LPD TXT record */ -+ AvahiEntryGroup *avahi_group; /* Avahi entry group */ -+#endif /* HAVE_AVAHI */ - }; - - diff --git a/abs/extra/cups/cups-avahi-address.patch b/abs/extra/cups/cups-avahi-address.patch new file mode 100644 index 0000000..a03d1ad --- /dev/null +++ b/abs/extra/cups/cups-avahi-address.patch @@ -0,0 +1,75 @@ +diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-support.c +--- cups-1.6.2/cups/http-support.c.avahi-address 2013-03-11 18:44:36.000000000 +0000 ++++ cups-1.6.2/cups/http-support.c 2013-04-04 15:39:06.651847041 +0100 +@@ -2121,7 +2121,7 @@ http_resolve_cb( + const char *type, /* I - Registration type */ + const char *domain, /* I - Domain (unused) */ + const char *hostTarget, /* I - Hostname */ +- const AvahiAddress *address, /* I - Address (unused) */ ++ const AvahiAddress *address, /* I - Address */ + uint16_t port, /* I - Port number */ + AvahiStringList *txt, /* I - TXT record */ + AvahiLookupResultFlags flags, /* I - Lookup flags (unused) */ +@@ -2253,36 +2253,37 @@ http_resolve_cb( + + DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget)); + +- snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port)); +- if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL) ++ int error = getnameinfo(&(address->data), ++ address->proto == AVAHI_PROTO_INET ? ++ sizeof (AvahiIPv4Address) : ++ (address->proto == AVAHI_PROTO_INET6 ? ++ sizeof (AvahiIPv6Address) : ++ sizeof (address->data)), ++ fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD); ++ ++ if (!error) + { +- for (addr = addrlist; addr; addr = addr->next) ++ DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn)); ++ ++ if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn || ++ _cups_strcasecmp(hostptr, ".local")) + { +- int error = getnameinfo(&(addr->addr.addr), +- httpAddrLength(&(addr->addr)), +- fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD); +- +- if (!error) +- { +- DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn)); +- +- if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn || +- _cups_strcasecmp(hostptr, ".local")) +- { +- hostTarget = fqdn; +- break; +- } +- } ++ hostTarget = fqdn; ++ } ++ } + #ifdef DEBUG +- else +- DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d", +- httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)), +- error)); ++ else ++ DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d", ++ httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)), ++ error)); + #endif /* DEBUG */ +- } ++ } else { ++ /* ++ * Use the IP address that responded... ++ */ + +- httpAddrFreeList(addrlist); +- } ++ avahi_address_snprint (fqdn, sizeof (fqdn), address); ++ hostTarget = fqdn; + } + + /* diff --git a/abs/extra/cups/cups-enum-all.patch b/abs/extra/cups/cups-enum-all.patch new file mode 100644 index 0000000..0ac3983 --- /dev/null +++ b/abs/extra/cups/cups-enum-all.patch @@ -0,0 +1,17 @@ +diff -up cups-1.6.2/cups/dest.c.enum-all cups-1.6.2/cups/dest.c +--- cups-1.6.2/cups/dest.c.enum-all 2013-06-04 10:58:36.169786250 +0100 ++++ cups-1.6.2/cups/dest.c 2013-06-04 10:59:02.147900811 +0100 +@@ -2724,9 +2724,12 @@ cups_dnssd_browse_cb( + break; + + case AVAHI_BROWSER_REMOVE: +- case AVAHI_BROWSER_ALL_FOR_NOW: + case AVAHI_BROWSER_CACHE_EXHAUSTED: + break; ++ ++ case AVAHI_BROWSER_ALL_FOR_NOW: ++ avahi_simple_poll_quit(data->simple_poll); ++ break; + } + } + diff --git a/abs/extra/cups/cups-final-content-type.patch b/abs/extra/cups/cups-final-content-type.patch new file mode 100644 index 0000000..6ae4010 --- /dev/null +++ b/abs/extra/cups/cups-final-content-type.patch @@ -0,0 +1,18 @@ +diff -up cups-1.6.4/scheduler/job.c.final-content-type cups-1.6.4/scheduler/job.c +--- cups-1.6.4/scheduler/job.c.final-content-type 2013-09-27 16:58:13.934775402 +0100 ++++ cups-1.6.4/scheduler/job.c 2013-09-27 17:00:57.716549576 +0100 +@@ -692,12 +692,7 @@ cupsdContinueJob(cupsd_job_t *job) /* I + + if (!job->printer->remote) + { +- for (filter = (mime_filter_t *)cupsArrayLast(filters); +- filter && filter->dst; +- filter = (mime_filter_t *)cupsArrayPrev(filters)) +- if (strcmp(filter->dst->super, "printer") || +- strcmp(filter->dst->type, job->printer->name)) +- break; ++ filter = (mime_filter_t *)cupsArrayLast(filters); + + if (filter && filter->dst) + { + diff --git a/abs/extra/cups/cups-no-export-ssllibs.patch b/abs/extra/cups/cups-no-export-ssllibs.patch index 9be3c81..e227bd1 100644 --- a/abs/extra/cups/cups-no-export-ssllibs.patch +++ b/abs/extra/cups/cups-no-export-ssllibs.patch @@ -1,7 +1,7 @@ diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4 ---- cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200 -+++ cups-1.5b1/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200 -@@ -164,7 +164,7 @@ AC_SUBST(IPPALIASES) +--- cups-1.6.2/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200 ++++ cups-1.6.2/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200 +@@ -180,7 +180,7 @@ AC_SUBST(SSLFLAGS) AC_SUBST(SSLLIBS) @@ -9,4 +9,4 @@ diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/conf +EXPORT_SSLLIBS="" AC_SUBST(EXPORT_SSLLIBS) - + dnl diff --git a/abs/extra/cups/cups-no-gcrypt.patch b/abs/extra/cups/cups-no-gcrypt.patch index 42f71d0..4eaff67 100644 --- a/abs/extra/cups/cups-no-gcrypt.patch +++ b/abs/extra/cups/cups-no-gcrypt.patch @@ -9,12 +9,14 @@ diff -ruN cups-1.4.7.orig//config-scripts/cups-ssl.m4 cups-1.4.7/config-scripts/ if $PKGCONFIG --exists gnutls; then have_ssl=1 SSLLIBS=`$PKGCONFIG --libs gnutls` -@@ -110,16 +109,6 @@ - AC_DEFINE(HAVE_SSL) +@@ -108,18 +107,6 @@ AC_DEFINE(HAVE_GNUTLS) fi -- + - if test $have_ssl = 1; then +- CUPS_SERVERCERT="ssl/server.crt" +- CUPS_SERVERKEY="ssl/server.key" +- - if $PKGCONFIG --exists gcrypt; then - SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`" - SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`" diff --git a/abs/extra/cups/cups-no-gzip-man.patch b/abs/extra/cups/cups-no-gzip-man.patch index 6786c44..69899b9 100644 --- a/abs/extra/cups/cups-no-gzip-man.patch +++ b/abs/extra/cups/cups-no-gzip-man.patch @@ -4,7 +4,7 @@ diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/confi @@ -69,10 +69,10 @@ case "$uname" in ;; Linux* | GNU* | Darwin*) - # Linux, GNU Hurd, and Mac OS X + # Linux, GNU Hurd, and OS X - MAN1EXT=1.gz - MAN5EXT=5.gz - MAN7EXT=7.gz diff --git a/abs/extra/cups/cups-no-gzip-man.patch.16 b/abs/extra/cups/cups-no-gzip-man.patch.16 deleted file mode 100644 index 69899b9..0000000 --- a/abs/extra/cups/cups-no-gzip-man.patch.16 +++ /dev/null @@ -1,18 +0,0 @@ -diff -up cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man cups-1.5b1/config-scripts/cups-manpages.m4 ---- cups-1.5b1/config-scripts/cups-manpages.m4.no-gzip-man 2011-05-12 07:21:56.000000000 +0200 -+++ cups-1.5b1/config-scripts/cups-manpages.m4 2011-05-23 17:25:50.000000000 +0200 -@@ -69,10 +69,10 @@ case "$uname" in - ;; - Linux* | GNU* | Darwin*) - # Linux, GNU Hurd, and OS X -- MAN1EXT=1.gz -- MAN5EXT=5.gz -- MAN7EXT=7.gz -- MAN8EXT=8.gz -+ MAN1EXT=1 -+ MAN5EXT=5 -+ MAN7EXT=7 -+ MAN8EXT=8 - MAN8DIR=8 - ;; - *) diff --git a/abs/extra/cups/cups-res_init.patch b/abs/extra/cups/cups-res_init.patch new file mode 100644 index 0000000..94a81a4 --- /dev/null +++ b/abs/extra/cups/cups-res_init.patch @@ -0,0 +1,26 @@ +diff -up cups-1.6b1/cups/http-addr.c.res_init cups-1.6b1/cups/http-addr.c +--- cups-1.6b1/cups/http-addr.c.res_init 2012-05-17 00:57:03.000000000 +0200 ++++ cups-1.6b1/cups/http-addr.c 2012-05-25 15:51:51.323916352 +0200 +@@ -254,7 +254,8 @@ httpAddrLookup( + + if (error) + { +- if (error == EAI_FAIL) ++ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA || ++ error == EAI_NONAME) + cg->need_res_init = 1; + + return (httpAddrString(addr, name, namelen)); +diff -up cups-1.6b1/cups/http-addrlist.c.res_init cups-1.6b1/cups/http-addrlist.c +--- cups-1.6b1/cups/http-addrlist.c.res_init 2012-04-23 19:26:57.000000000 +0200 ++++ cups-1.6b1/cups/http-addrlist.c 2012-05-25 16:05:05.930377452 +0200 +@@ -540,7 +540,8 @@ httpAddrGetList(const char *hostname, /* + } + else + { +- if (error == EAI_FAIL) ++ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA || ++ error == EAI_NONAME) + cg->need_res_init = 1; + + _cupsSetError(IPP_INTERNAL_ERROR, gai_strerror(error), 0); diff --git a/abs/extra/cups/cups-systemd-socket.patch b/abs/extra/cups/cups-systemd-socket.patch index 09d17d4..2eef708 100644 --- a/abs/extra/cups/cups-systemd-socket.patch +++ b/abs/extra/cups/cups-systemd-socket.patch @@ -1,7 +1,7 @@ -diff -up cups-1.5.2/config.h.in.systemd-socket cups-1.5.2/config.h.in ---- cups-1.5.2/config.h.in.systemd-socket 2012-03-16 14:50:57.089449755 +0000 -+++ cups-1.5.2/config.h.in 2012-03-16 14:50:57.146449787 +0000 -@@ -503,6 +503,13 @@ +diff -up cups-1.7.2/config.h.in.systemd-socket cups-1.7.2/config.h.in +--- cups-1.7.2/config.h.in.systemd-socket 2014-02-27 16:57:59.000000000 +0100 ++++ cups-1.7.2/config.h.in 2014-04-17 14:05:04.104472016 +0200 +@@ -451,6 +451,13 @@ /* @@ -15,9 +15,9 @@ diff -up cups-1.5.2/config.h.in.systemd-socket cups-1.5.2/config.h.in * Various scripting languages... */ -diff -up cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.2/config-scripts/cups-systemd.m4 ---- cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket 2012-03-16 14:50:57.146449787 +0000 -+++ cups-1.5.2/config-scripts/cups-systemd.m4 2012-03-16 14:50:57.146449787 +0000 +diff -up cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.7.2/config-scripts/cups-systemd.m4 +--- cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket 2014-04-17 14:05:04.104472016 +0200 ++++ cups-1.7.2/config-scripts/cups-systemd.m4 2014-04-17 14:05:04.104472016 +0200 @@ -0,0 +1,36 @@ +dnl +dnl "$Id$" @@ -55,31 +55,31 @@ diff -up cups-1.5.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.2/con +dnl +dnl "$Id$" +dnl -diff -up cups-1.5.2/configure.in.systemd-socket cups-1.5.2/configure.in ---- cups-1.5.2/configure.in.systemd-socket 2011-08-31 02:36:33.000000000 +0100 -+++ cups-1.5.2/configure.in 2012-03-16 14:50:57.146449787 +0000 -@@ -37,6 +37,7 @@ sinclude(config-scripts/cups-pam.m4) +diff -up cups-1.7.2/configure.in.systemd-socket cups-1.7.2/configure.in +--- cups-1.7.2/configure.in.systemd-socket 2013-07-08 23:15:13.000000000 +0200 ++++ cups-1.7.2/configure.in 2014-04-17 14:05:04.104472016 +0200 +@@ -33,6 +33,7 @@ sinclude(config-scripts/cups-pam.m4) sinclude(config-scripts/cups-largefile.m4) sinclude(config-scripts/cups-dnssd.m4) sinclude(config-scripts/cups-launchd.m4) +sinclude(config-scripts/cups-systemd.m4) sinclude(config-scripts/cups-defaults.m4) - sinclude(config-scripts/cups-pdf.m4) sinclude(config-scripts/cups-scripting.m4) -@@ -71,6 +72,9 @@ AC_OUTPUT(Makedefs + +@@ -67,6 +68,9 @@ AC_OUTPUT(Makedefs conf/snmp.conf cups-config data/testprint -+ data/cups.service -+ data/cups.socket -+ data/cups.path ++ data/cups.service ++ data/cups.socket ++ data/cups.path desktop/cups.desktop + doc/help/ref-cups-files-conf.html doc/help/ref-cupsd-conf.html - doc/help/standard.html -diff -up cups-1.5.2/cups/usersys.c.systemd-socket cups-1.5.2/cups/usersys.c ---- cups-1.5.2/cups/usersys.c.systemd-socket 2012-03-16 14:50:57.054449734 +0000 -+++ cups-1.5.2/cups/usersys.c 2012-03-16 14:50:57.148449788 +0000 -@@ -778,7 +778,7 @@ cups_read_client_conf( +diff -up cups-1.7.2/cups/usersys.c.systemd-socket cups-1.7.2/cups/usersys.c +--- cups-1.7.2/cups/usersys.c.systemd-socket 2014-03-05 22:22:12.000000000 +0100 ++++ cups-1.7.2/cups/usersys.c 2014-04-17 14:05:04.105472002 +0200 +@@ -1050,7 +1050,7 @@ cups_read_client_conf( struct stat sockinfo; /* Domain socket information */ if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) && @@ -88,9 +88,9 @@ diff -up cups-1.5.2/cups/usersys.c.systemd-socket cups-1.5.2/cups/usersys.c cups_server = CUPS_DEFAULT_DOMAINSOCKET; else #endif /* CUPS_DEFAULT_DOMAINSOCKET */ -diff -up cups-1.5.2/data/cups.path.in.systemd-socket cups-1.5.2/data/cups.path.in ---- cups-1.5.2/data/cups.path.in.systemd-socket 2012-03-16 14:50:57.148449788 +0000 -+++ cups-1.5.2/data/cups.path.in 2012-03-16 14:50:57.148449788 +0000 +diff -up cups-1.7.2/data/cups.path.in.systemd-socket cups-1.7.2/data/cups.path.in +--- cups-1.7.2/data/cups.path.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200 ++++ cups-1.7.2/data/cups.path.in 2014-04-17 14:05:04.105472002 +0200 @@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printer Service Spool @@ -100,39 +100,39 @@ diff -up cups-1.5.2/data/cups.path.in.systemd-socket cups-1.5.2/data/cups.path.i + +[Install] +WantedBy=multi-user.target -diff -up cups-1.5.2/data/cups.service.in.systemd-socket cups-1.5.2/data/cups.service.in ---- cups-1.5.2/data/cups.service.in.systemd-socket 2012-03-16 14:50:57.149449788 +0000 -+++ cups-1.5.2/data/cups.service.in 2012-03-16 14:50:57.149449788 +0000 -@@ -0,0 +1,10 @@ +diff -up cups-1.7.2/data/cups.service.in.systemd-socket cups-1.7.2/data/cups.service.in +--- cups-1.7.2/data/cups.service.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200 ++++ cups-1.7.2/data/cups.service.in 2014-04-17 14:05:04.105472002 +0200 +@@ -0,0 +1,11 @@ +[Unit] +Description=CUPS Printing Service + +[Service] ++Type=notify +ExecStart=@sbindir@/cupsd -f +PrivateTmp=true + +[Install] +Also=cups.socket cups.path +WantedBy=printer.target -diff -up cups-1.5.2/data/cups.socket.in.systemd-socket cups-1.5.2/data/cups.socket.in ---- cups-1.5.2/data/cups.socket.in.systemd-socket 2012-03-16 14:50:57.150449788 +0000 -+++ cups-1.5.2/data/cups.socket.in 2012-03-16 14:50:57.150449788 +0000 -@@ -0,0 +1,11 @@ +diff -up cups-1.7.2/data/cups.socket.in.systemd-socket cups-1.7.2/data/cups.socket.in +--- cups-1.7.2/data/cups.socket.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200 ++++ cups-1.7.2/data/cups.socket.in 2014-04-17 14:05:04.105472002 +0200 +@@ -0,0 +1,10 @@ +[Unit] +Description=CUPS Printing Service Sockets + +[Socket] +ListenStream=@CUPS_DEFAULT_DOMAINSOCKET@ -+ListenStream=631 -+ListenDatagram=0.0.0.0:631 ++ListenStream=@DEFAULT_IPP_PORT@ +BindIPv6Only=ipv6-only + +[Install] +WantedBy=sockets.target -diff -up cups-1.5.2/data/Makefile.systemd-socket cups-1.5.2/data/Makefile ---- cups-1.5.2/data/Makefile.systemd-socket 2011-05-12 06:21:56.000000000 +0100 -+++ cups-1.5.2/data/Makefile 2012-03-16 14:50:57.151449789 +0000 -@@ -112,6 +112,12 @@ install-data: +diff -up cups-1.7.2/data/Makefile.systemd-socket cups-1.7.2/data/Makefile +--- cups-1.7.2/data/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200 ++++ cups-1.7.2/data/Makefile 2014-04-17 14:05:04.106471988 +0200 +@@ -100,6 +100,12 @@ install-data: $(INSTALL_DATA) $$file $(DATADIR)/ppdc; \ done $(INSTALL_DIR) -m 755 $(DATADIR)/profiles @@ -145,8 +145,8 @@ diff -up cups-1.5.2/data/Makefile.systemd-socket cups-1.5.2/data/Makefile # -@@ -159,6 +165,9 @@ uninstall: - -$(RMDIR) $(DATADIR)/charsets +@@ -143,6 +149,9 @@ uninstall: + -$(RMDIR) $(DATADIR)/data -$(RMDIR) $(DATADIR)/banners -$(RMDIR) $(DATADIR) + for file in $(SYSTEMD_UNITS); do \ @@ -155,10 +155,10 @@ diff -up cups-1.5.2/data/Makefile.systemd-socket cups-1.5.2/data/Makefile # -diff -up cups-1.5.2/Makedefs.in.systemd-socket cups-1.5.2/Makedefs.in ---- cups-1.5.2/Makedefs.in.systemd-socket 2012-03-16 14:50:57.081449751 +0000 -+++ cups-1.5.2/Makedefs.in 2012-03-16 14:50:57.152449790 +0000 -@@ -143,6 +143,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ +diff -up cups-1.7.2/Makedefs.in.systemd-socket cups-1.7.2/Makedefs.in +--- cups-1.7.2/Makedefs.in.systemd-socket 2014-04-17 14:05:04.092472182 +0200 ++++ cups-1.7.2/Makedefs.in 2014-04-17 14:05:04.106471988 +0200 +@@ -134,6 +134,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ CXXLIBS = @CXXLIBS@ DBUS_NOTIFIER = @DBUS_NOTIFIER@ DBUS_NOTIFIERLIBS = @DBUS_NOTIFIERLIBS@ @@ -166,15 +166,15 @@ diff -up cups-1.5.2/Makedefs.in.systemd-socket cups-1.5.2/Makedefs.in DNSSD_BACKEND = @DNSSD_BACKEND@ DSOFLAGS = -L../cups @DSOFLAGS@ DSOLIBS = @DSOLIBS@ $(COMMONLIBS) -@@ -151,6 +152,7 @@ FONTS = @FONTS@ - IMGLIBS = @IMGLIBS@ - IMGFILTERS = @IMGFILTERS@ +@@ -141,6 +142,7 @@ DNSSDLIBS = @DNSSDLIBS@ + IPPFIND_BIN = @IPPFIND_BIN@ + IPPFIND_MAN = @IPPFIND_MAN@ LAUNCHDLIBS = @LAUNCHDLIBS@ +SDLIBS = @SDLIBS@ LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \ -L../scheduler @LDARCHFLAGS@ \ @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM) -@@ -267,6 +269,7 @@ PAMFILE = @PAMFILE@ +@@ -232,6 +234,7 @@ PAMFILE = @PAMFILE@ DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@ DBUSDIR = @DBUSDIR@ @@ -182,10 +182,10 @@ diff -up cups-1.5.2/Makedefs.in.systemd-socket cups-1.5.2/Makedefs.in # -diff -up cups-1.5.2/scheduler/client.h.systemd-socket cups-1.5.2/scheduler/client.h ---- cups-1.5.2/scheduler/client.h.systemd-socket 2011-03-25 21:25:38.000000000 +0000 -+++ cups-1.5.2/scheduler/client.h 2012-03-16 14:50:57.153449791 +0000 -@@ -75,6 +75,9 @@ typedef struct +diff -up cups-1.7.2/scheduler/client.h.systemd-socket cups-1.7.2/scheduler/client.h +--- cups-1.7.2/scheduler/client.h.systemd-socket 2013-08-02 00:23:18.000000000 +0200 ++++ cups-1.7.2/scheduler/client.h 2014-04-17 14:05:04.106471988 +0200 +@@ -79,6 +79,9 @@ typedef struct int fd; /* File descriptor for this server */ http_addr_t address; /* Bind address of socket */ http_encryption_t encryption; /* To encrypt or not to encrypt... */ @@ -195,99 +195,9 @@ diff -up cups-1.5.2/scheduler/client.h.systemd-socket cups-1.5.2/scheduler/clien } cupsd_listener_t; -diff -up cups-1.5.2/scheduler/dirsvc.c.systemd-socket cups-1.5.2/scheduler/dirsvc.c ---- cups-1.5.2/scheduler/dirsvc.c.systemd-socket 2012-03-16 14:50:57.112449768 +0000 -+++ cups-1.5.2/scheduler/dirsvc.c 2012-03-16 14:50:57.155449792 +0000 -@@ -1512,7 +1512,7 @@ cupsdStartBrowsing(void) - } - } - -- if (BrowseSocket >= 0) -+ if (BrowseSocket >= 0 && !BrowseSocketIsSystemd) - { - /* - * Bind the socket to browse port... -@@ -1556,13 +1556,17 @@ cupsdStartBrowsing(void) - cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to set broadcast mode - %s.", - strerror(errno)); - -+ if (!BrowseSocketIsSystemd) -+ { - #ifdef WIN32 -- closesocket(BrowseSocket); -+ closesocket(BrowseSocket); - #else -- close(BrowseSocket); -+ close(BrowseSocket); - #endif /* WIN32 */ - -- BrowseSocket = -1; -+ BrowseSocket = -1; -+ } -+ - BrowseLocalProtocols &= ~BROWSE_CUPS; - BrowseRemoteProtocols &= ~BROWSE_CUPS; - -@@ -1885,15 +1889,22 @@ cupsdStopBrowsing(void) - if (((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS) && - BrowseSocket >= 0) - { -- /* -- * Close the socket and remove it from the input selection set. -- */ -+ if (!BrowseSocketIsSystemd) -+ { -+ /* -+ * Close the socket. -+ */ - - #ifdef WIN32 -- closesocket(BrowseSocket); -+ closesocket(BrowseSocket); - #else -- close(BrowseSocket); -+ close(BrowseSocket); - #endif /* WIN32 */ -+ } -+ -+ /* -+ * Remove it from the input selection set. -+ */ - - cupsdRemoveSelect(BrowseSocket); - BrowseSocket = -1; -@@ -5693,11 +5704,14 @@ update_cups_browse(void) - strerror(errno)); - cupsdLogMessage(CUPSD_LOG_ERROR, "CUPS browsing turned off."); - -+ if (!BrowseSocketIsSystemd) -+ { - #ifdef WIN32 -- closesocket(BrowseSocket); -+ closesocket(BrowseSocket); - #else -- close(BrowseSocket); -+ close(BrowseSocket); - #endif /* WIN32 */ -+ } - - cupsdRemoveSelect(BrowseSocket); - BrowseSocket = -1; -diff -up cups-1.5.2/scheduler/dirsvc.h.systemd-socket cups-1.5.2/scheduler/dirsvc.h ---- cups-1.5.2/scheduler/dirsvc.h.systemd-socket 2012-03-16 14:50:57.113449769 +0000 -+++ cups-1.5.2/scheduler/dirsvc.h 2012-03-16 14:50:57.157449792 +0000 -@@ -100,6 +100,8 @@ VAR int Browsing VALUE(TRUE), - /* Short names for remote printers? */ - BrowseSocket VALUE(-1), - /* Socket for browsing */ -+ BrowseSocketIsSystemd VALUE(0), -+ /* BrowseSocket is systemd-provided? */ - BrowsePort VALUE(IPP_PORT), - /* Port number for broadcasts */ - BrowseInterval VALUE(DEFAULT_INTERVAL), -diff -up cups-1.5.2/scheduler/listen.c.systemd-socket cups-1.5.2/scheduler/listen.c ---- cups-1.5.2/scheduler/listen.c.systemd-socket 2011-04-16 00:38:13.000000000 +0100 -+++ cups-1.5.2/scheduler/listen.c 2012-03-16 14:50:57.158449792 +0000 +diff -up cups-1.7.2/scheduler/listen.c.systemd-socket cups-1.7.2/scheduler/listen.c +--- cups-1.7.2/scheduler/listen.c.systemd-socket 2013-05-29 13:51:34.000000000 +0200 ++++ cups-1.7.2/scheduler/listen.c 2014-04-17 14:05:04.107471974 +0200 @@ -401,7 +401,11 @@ cupsdStopListening(void) lis; lis = (cupsd_listener_t *)cupsArrayNext(Listeners)) @@ -301,19 +211,10 @@ diff -up cups-1.5.2/scheduler/listen.c.systemd-socket cups-1.5.2/scheduler/liste { #ifdef WIN32 closesocket(lis->fd); -diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c ---- cups-1.5.2/scheduler/main.c.systemd-socket 2012-03-16 14:50:57.121449773 +0000 -+++ cups-1.5.2/scheduler/main.c 2012-03-16 14:51:55.409483636 +0000 -@@ -26,6 +26,8 @@ - * launchd_checkin() - Check-in with launchd and collect the listening - * fds. - * launchd_checkout() - Update the launchd KeepAlive file as needed. -+ * systemd_checkin() - Check-in with systemd and collect the -+ * listening fds. - * parent_handler() - Catch USR1/CHLD signals... - * process_children() - Process all dead children... - * select_timeout() - Calculate the select timeout value. -@@ -62,6 +64,10 @@ +diff -up cups-1.7.2/scheduler/main.c.systemd-socket cups-1.7.2/scheduler/main.c +--- cups-1.7.2/scheduler/main.c.systemd-socket 2014-04-17 14:05:04.052472738 +0200 ++++ cups-1.7.2/scheduler/main.c 2014-04-17 14:09:39.102634667 +0200 +@@ -39,6 +39,10 @@ # endif /* !LAUNCH_JOBKEY_SERVICEIPC */ #endif /* HAVE_LAUNCH_H */ @@ -324,7 +225,7 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c #if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO) # include <malloc.h> #endif /* HAVE_MALLOC_H && HAVE_MALLINFO */ -@@ -78,6 +84,9 @@ +@@ -64,6 +68,9 @@ static void launchd_checkin(void); static void launchd_checkout(void); #endif /* HAVE_LAUNCHD */ @@ -334,7 +235,7 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c static void parent_handler(int sig); static void process_children(void); static void sigchld_handler(int sig); -@@ -537,6 +546,13 @@ main(int argc, /* I - Number of comm +@@ -563,6 +570,13 @@ main(int argc, /* I - Number of comm } #endif /* HAVE_LAUNCHD */ @@ -348,7 +249,20 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c /* * Startup the server... */ -@@ -759,6 +775,15 @@ main(int argc, /* I - Number of comm +@@ -654,6 +668,12 @@ main(int argc, /* I - Number of comm + "Scheduler started via launchd."); + else + #endif /* HAVE_LAUNCHD */ ++#ifdef HAVE_SYSTEMD ++ sd_notifyf(0, "READY=1\n" ++ "STATUS=Scheduler is running...\n" ++ "MAINPID=%lu", ++ (unsigned long) getpid()); ++#endif /* HAVE_SYSTEMD */ + if (fg) + cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL, + "Scheduler started in foreground."); +@@ -751,6 +771,15 @@ main(int argc, /* I - Number of comm } #endif /* HAVE_LAUNCHD */ @@ -364,7 +278,7 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c /* * Startup the server... */ -@@ -1584,6 +1609,139 @@ launchd_checkout(void) +@@ -1500,6 +1529,102 @@ launchd_checkout(void) } #endif /* HAVE_LAUNCHD */ @@ -406,43 +320,6 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c + + if (!r) + { -+ if (Browsing && -+ ((BrowseLocalProtocols | BrowseRemoteProtocols) & BROWSE_CUPS)) -+ { -+ r = sd_is_socket(fd, AF_UNSPEC, SOCK_DGRAM, 0); -+ if (r < 0) -+ { -+ cupsdLogMessage(CUPSD_LOG_ERROR, -+ "systemd_checkin: Unable to verify socket type - %s", -+ strerror(-r)); -+ continue; -+ } -+ -+ if (r) -+ { -+ /* -+ * This is the browse socket. -+ */ -+ -+ char addrstr[256]; -+ if (getsockname(fd, (struct sockaddr*) &addr, &addrlen)) -+ { -+ cupsdLogMessage(CUPSD_LOG_ERROR, -+ "systemd_checkin: Unable to get local address - %s", -+ strerror(errno)); -+ continue; -+ } -+ -+ httpAddrString (&addr, addrstr, sizeof (addrstr)); -+ BrowseSocket = fd; -+ BrowseSocketIsSystemd = 1; -+ cupsdLogMessage(CUPSD_LOG_DEBUG, -+ "systemd_checkin: Matched browse (port %d) with fd %d:%s...", -+ BrowsePort, fd, addrstr); -+ continue; -+ } -+ -+ } + cupsdLogMessage(CUPSD_LOG_ERROR, + "systemd_checkin: Socket not of the right type"); + continue; @@ -504,10 +381,10 @@ diff -up cups-1.5.2/scheduler/main.c.systemd-socket cups-1.5.2/scheduler/main.c /* * 'parent_handler()' - Catch USR1/CHLD signals... -diff -up cups-1.5.2/scheduler/Makefile.systemd-socket cups-1.5.2/scheduler/Makefile ---- cups-1.5.2/scheduler/Makefile.systemd-socket 2012-03-16 14:50:57.130449778 +0000 -+++ cups-1.5.2/scheduler/Makefile 2012-03-16 14:50:57.160449794 +0000 -@@ -382,7 +382,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu +diff -up cups-1.7.2/scheduler/Makefile.systemd-socket cups-1.7.2/scheduler/Makefile +--- cups-1.7.2/scheduler/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200 ++++ cups-1.7.2/scheduler/Makefile 2014-04-17 14:05:04.108471960 +0200 +@@ -381,7 +381,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \ $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \ $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBS) \ @@ -516,12 +393,12 @@ diff -up cups-1.5.2/scheduler/Makefile.systemd-socket cups-1.5.2/scheduler/Makef cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC) echo Linking $@... -@@ -390,7 +390,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a +@@ -389,7 +389,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \ ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \ $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \ - $(LIBWRAP) -+ $(LIBWRAP) $(SDLIBS) ++ $(LIBWRAP) $(SDLIBS) + tls.o: tls-darwin.c tls-gnutls.c tls-openssl.c - # diff --git a/abs/extra/cups/cups.install b/abs/extra/cups/cups.install index 47c3d9b..121eeb0 100644 --- a/abs/extra/cups/cups.install +++ b/abs/extra/cups/cups.install @@ -1,6 +1,6 @@ post_install() { if [ -x usr/bin/xdg-icon-resource ]; then - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null fi echo ">> If you use an HTTPS connection to CUPS, the first time you access" echo ">> the interface it may take a very long time before the site comes up." @@ -10,17 +10,26 @@ post_install() { post_upgrade() { if [ -x usr/bin/xdg-icon-resource ]; then - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null fi - if [ "`vercmp $2 1.4.7-2`" -lt 0 ]; then + + if [ "`vercmp $2 1.6.0`" -lt 0 ]; then # important upgrade notice - echo "daemon script has been renamed to /etc/rc.d/cupsd" - echo "change your entry in /etc/rc.conf" + echo "* avahi-daemon should now run before you start cupsd for" + echo " printer Browsing support" + echo "* check your config with cupsd -t" + echo " and fix all Browsing related settings" + fi + + if [ "`vercmp $2 1.6.1-3`" -lt 0 ]; then + # important upgrade notice + echo "> It's now safe to load usblp kernel module." + echo "> There's no more need to blacklist it." fi } post_remove() { if [ -x usr/bin/xdg-icon-resource ]; then - xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null fi } diff --git a/abs/extra/cups/cups.logrotate b/abs/extra/cups/cups.logrotate deleted file mode 100644 index 9c49bbd..0000000 --- a/abs/extra/cups/cups.logrotate +++ /dev/null @@ -1,8 +0,0 @@ -/var/log/cups/*log { - missingok - notifempty - delaycompress - postrotate - /bin/kill -HUP `cat /var/run/cups.pid 2>/dev/null` 2>/dev/null || true - endscript -} diff --git a/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch b/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch new file mode 100644 index 0000000..ee36936 --- /dev/null +++ b/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch @@ -0,0 +1,19 @@ +Description: Fixed crash which sometimes happens on shutdown of the CUPS + daemon, caused by a wrong shutdown sequence for shutting down the Avahi + threaded poll. +Author: Till Kamppeter <till.kamppeter@gmail.com> +Bug-Upstream: http://cups.org/str.php?L4180 +Bug-Upstream: http://cups.org/str.php?L4213 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1034045 +Last-Updated: 2012-10-16 + +--- a/scheduler/dirsvc.c ++++ b/scheduler/dirsvc.c +@@ -1333,6 +1333,7 @@ + DNSSDMaster = NULL; + + # else /* HAVE_AVAHI */ ++ avahi_threaded_poll_stop(DNSSDMaster); + avahi_client_free(DNSSDClient); + DNSSDClient = NULL; + diff --git a/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch b/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch new file mode 100644 index 0000000..ed132d7 --- /dev/null +++ b/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch @@ -0,0 +1,31 @@ +Description: Applications could not get the PPD file for + statically-configured IPP-shared print queues +Author: Till Kamppeter <till.kamppeter@gmail.com> +Bug-Upstream: http://cups.org/str.php?L4178 +Last-Updated: 2012-09-19 + +--- a/cups/util.c ++++ b/cups/util.c +@@ -1731,6 +1731,22 @@ + + return (1); + } ++ else if (device_uri && ++ (!strncmp(device_uri, "ipp:", 4) != NULL || ++ !strncmp(device_uri, "ipps:", 5) != NULL)) ++ { ++ /* ++ * Statically-configured IPP shared printer. ++ */ ++ ++ httpSeparateURI(HTTP_URI_CODING_ALL, ++ device_uri, ++ scheme, sizeof(scheme), username, sizeof(username), ++ host, hostsize, port, resource, resourcesize); ++ ippDelete(response); ++ ++ return (1); ++ } + else if ((attr = ippFindAttribute(response, "member-uris", + IPP_TAG_URI)) != NULL) + { diff --git a/abs/extra/cups/ppd-poll-with-client-conf.patch b/abs/extra/cups/ppd-poll-with-client-conf.patch new file mode 100644 index 0000000..8985fa3 --- /dev/null +++ b/abs/extra/cups/ppd-poll-with-client-conf.patch @@ -0,0 +1,23 @@ +Description: If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server +Bug: http://www.cups.org/str.php?L2763 + +--- a/cups/util.c ++++ b/cups/util.c +@@ -1085,11 +1085,13 @@ + http2 = http; + else if ((http2 = httpConnectEncrypt(hostname, port, + cupsEncryption())) == NULL) +- { +- DEBUG_puts("1cupsGetPPD3: Unable to connect to server"); ++ if ((http2 = httpConnectEncrypt(http_hostname, http_port, ++ cupsEncryption())) == NULL) ++ { ++ DEBUG_puts("1cupsGetPPD3: Unable to connect to server"); + +- return (HTTP_SERVICE_UNAVAILABLE); +- } ++ return (HTTP_SERVICE_UNAVAILABLE); ++ } + + /* + * Get a temp file... diff --git a/abs/extra/ddclient/ChangeLog b/abs/extra/ddclient/ChangeLog deleted file mode 100644 index 4520b69..0000000 --- a/abs/extra/ddclient/ChangeLog +++ /dev/null @@ -1,22 +0,0 @@ -2008-08-07 Abhishek Dasgupta <abhidg@gmail.com> - - * ddclient 3.7.3-2 - * added /etc/conf.d/ddclient for modifying - daemon poll frequency. This overrides the - setting specified in /etc/ddclient/ddclient.conf - when ddclient is called as an rc script. - -2007-08-08 Alessio 'mOLOk' Bolognino <themolok@gmail.com> - - * ddclient-3.7.3-1 - * version bump - * GPL -> GPL2 - * shortened pkgdesc - -2007-07-02 tardo <tardo@nagi-fanboi.net> - - * Built for x86_64 - -2007-06-29 Georg Grabler (STiAT) <ggrabler@gmail.com> - - * Version Bump to 3.7.2 diff --git a/abs/extra/ddclient/PKGBUILD b/abs/extra/ddclient/PKGBUILD index 77be4a8..91f7baa 100644 --- a/abs/extra/ddclient/PKGBUILD +++ b/abs/extra/ddclient/PKGBUILD @@ -1,37 +1,34 @@ -# $Id: PKGBUILD 17388 2010-05-24 09:45:55Z spupykin $ -# Maintainer: Abhishek Dasgupta <abhidg@gmail.com> +# $Id$ +# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org> +# Contributor: Abhishek Dasgupta <abhidg@gmail.com> # Contributor: David Rosenstrauch <darose@darose.net> pkgname=ddclient -pkgver=3.8.0 -pkgrel=4 -pkgdesc="Update dynamic DNS entries for accounts on many dynamic DNS services." +pkgver=3.8.2 +pkgrel=1 +pkgdesc="Update dynamic DNS entries for accounts on many dynamic DNS services" arch=('any') -url="http://ddclient.sourceforge.net/" +url="http://ddclient.sourceforge.net" license=('GPL2') -depends=('perl' 'perl-io-socket-ssl') -backup=('etc/ddclient/ddclient.conf' 'etc/conf.d/ddclient') -install=ddclient.install -source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 ddclient.rc ddclient.conf.d ddclient-foreground.patch) +depends=('perl-io-socket-ssl' 'perl-digest-sha1' 'net-tools') +backup=('etc/ddclient/ddclient.conf') +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 + $pkgname.service) +md5sums=('62cd5fe93ced2c794d5f441f9d908841' + '1bcd3e75309e658931532adef2a0608a') -build() { - cd ${srcdir}/ddclient-${pkgver} - patch < ${srcdir}/ddclient-foreground.patch +package() { + cd "$srcdir"/$pkgname-$pkgver - # core files - install -D -m755 ddclient ${pkgdir}/usr/sbin/ddclient - install -D -m755 ${srcdir}/ddclient.rc ${pkgdir}/etc/rc.d/ddclient - install -D -m600 sample-etc_ddclient.conf ${pkgdir}/etc/ddclient/ddclient.conf - install -D -m644 ${srcdir}/ddclient.conf.d ${pkgdir}/etc/conf.d/ddclient - install -d ${pkgdir}/var/cache/ddclient + install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname + install -Dm600 sample-etc_$pkgname.conf "$pkgdir"/etc/$pkgname/$pkgname.conf + install -d "$pkgdir"/var/cache/$pkgname + install -Dm644 "$srcdir"/$pkgname.service "$pkgdir"/usr/lib/systemd/system/$pkgname.service - # additional instructions, sample configs - install -D -m644 README ${pkgdir}/etc/ddclient/samples/README - install -D -m644 sample-etc_cron.d_ddclient ${pkgdir}/etc/ddclient/samples/sample-etc_cron.d_ddclient - install -D -m644 sample-etc_dhcpc_dhcpcd-eth0.exe ${pkgdir}/etc/ddclient/samples/sample-etc_dhcpc_dhcpcd-eth0.exe - install -D -m644 sample-etc_ppp_ip-up.local ${pkgdir}/etc/ddclient/samples/sample-etc_ppp_ip-up.local + install -Dm644 README.cisco "$pkgdir"/usr/share/doc/$pkgname/README.cisco + install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md + install -Dm644 README.ssl "$pkgdir"/usr/share/doc/$pkgname/README.ssl + install -Dm644 sample-etc_cron.d_$pkgname "$pkgdir"/usr/share/doc/$pkgname/sample-etc_cron.d_$pkgname + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING + install -Dm644 COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT } -md5sums=('6cac7a5eb1da781bfd4d98cef0b21f8e' - '7035bf8132f3517a59167f61ee5e8b90' - 'b8f39c82827776da948b76ef83544d33' - 'd8ffc95f98f9afcb4a06a1e192220e35') diff --git a/abs/extra/ddclient/ddclient-foreground.patch b/abs/extra/ddclient/ddclient-foreground.patch deleted file mode 100644 index a814ede..0000000 --- a/abs/extra/ddclient/ddclient-foreground.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- ../ddclient-orig/ddclient 2009-10-19 22:45:15.000000000 +1030 -+++ ddclient 2009-10-19 22:50:11.000000000 +1030 -@@ -307,6 +307,7 @@ - my %variables = ( - 'global-defaults' => { - 'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')), -+ 'foreground' => setv(T_BOOL, 0, 0, 1, 0, undef), - 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef), - 'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef), - 'pid' => setv(T_FILE, 0, 0, 1, "", undef), -@@ -535,6 +536,7 @@ - "usage: ${program} [options]", - "options are:", - [ "daemon", "=s", "-daemon delay : run as a daemon, specify delay as an interval." ], -+ [ "foreground", "!", "-foreground : do not fork" ], - [ "proxy", "=s", "-proxy host : use 'host' as the HTTP proxy" ], - [ "server", "=s", "-server host : update DNS information on 'host'" ], - [ "protocol", "=s", "-protocol type : update protocol used" ], -@@ -623,7 +625,10 @@ - $SIG{'HUP'} = sub { $caught_hup = 1; }; - $SIG{'TERM'} = sub { $caught_term = 1; }; - $SIG{'KILL'} = sub { $caught_kill = 1; }; --if (opt('daemon') && !opt('force')) { -+# don't fork() if foreground or force is on -+if (opt('foreground') || opt('force')) { -+ ; -+} elsif (opt('daemon')) { - $SIG{'CHLD'} = 'IGNORE'; - my $pid = fork; - if ($pid < 0) { -@@ -633,12 +638,15 @@ - exit 0; - } - $SIG{'CHLD'} = 'DEFAULT'; -- $opt{'syslog'} = 1; - open(STDOUT, ">/dev/null"); - open(STDERR, ">/dev/null"); - open(STDIN, "</dev/null"); -+} - -+# write out the pid file if we're daemon'ized -+if(opt('daemon')) { - write_pid(); -+ $opt{'syslog'} = 1; - } - - umask 077; diff --git a/abs/extra/ddclient/ddclient.conf.d b/abs/extra/ddclient/ddclient.conf.d deleted file mode 100644 index 8b754a3..0000000 --- a/abs/extra/ddclient/ddclient.conf.d +++ /dev/null @@ -1,2 +0,0 @@ -# Parameters passed to ddclient -EXTRA_ARGS="-daemon 300" diff --git a/abs/extra/ddclient/ddclient.install b/abs/extra/ddclient/ddclient.install deleted file mode 100644 index 55b0e1b..0000000 --- a/abs/extra/ddclient/ddclient.install +++ /dev/null @@ -1,37 +0,0 @@ -# arg 1: the new package version -post_install() { -cat << EOM - -If you want to use ddclient with dhcpcd, cron or pppd, -see /etc/ddclient/samples for further instructions. - -If you have ddclient in the DAEMONS array of /etc/rc.conf: -- Change /etc/conf.d/ddclient according to your needs. -- This setting OVERRIDES any setting in - /etc/ddclient/ddclient.conf - -EOM -} - -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - -if [ -f /etc/ddclient/ddclient.cache ]; then - echo -n "Moving ddclient.cache from /etc/ddclient/ to /var/cache/ddclient/." - mv /etc/ddclient/ddclient.cache /var/cache/ddclient/ - echo " (done)" -fi - -if [ "$(vercmp $2 3.7.3-2)" -lt 0 ]; then -cat << EOM - -If you have ddclient in the DAEMONS array of /etc/rc.conf: -- Change /etc/conf.d/ddclient according to your needs. -- This setting OVERRIDES any setting in - /etc/ddclient/ddclient.conf - -EOM -fi - -} diff --git a/abs/extra/ddclient/ddclient.rc b/abs/extra/ddclient/ddclient.rc deleted file mode 100644 index a9093f7..0000000 --- a/abs/extra/ddclient/ddclient.rc +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -[ -f /etc/conf.d/ddclient ] && . /etc/conf.d/ddclient - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/ddclient` -case "$1" in - start) - stat_busy "Starting ddclient" - [ -z "$PID" ] && /usr/sbin/ddclient ${EXTRA_ARGS} - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon ddclient - stat_done - fi - ;; - stop) - stat_busy "Stopping ddclient" - [ -n "$PID" ] && kill -15 $PID >/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon ddclient - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac diff --git a/abs/extra/ddclient/ddclient.service b/abs/extra/ddclient/ddclient.service new file mode 100644 index 0000000..4abadac --- /dev/null +++ b/abs/extra/ddclient/ddclient.service @@ -0,0 +1,11 @@ +[Unit] +Description=Dynamic DNS Update Client +After=network.target + +[Service] +Type=forking +PIDFile=/var/run/ddclient.pid +ExecStart=/usr/bin/ddclient + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/community/desktop-file-utils/PKGBUILD b/abs/extra/desktop-file-utils/PKGBUILD index 1588bfc..25859b2 100644 --- a/abs/extra/community/desktop-file-utils/PKGBUILD +++ b/abs/extra/desktop-file-utils/PKGBUILD @@ -1,8 +1,9 @@ -# $Id: PKGBUILD 161386 2012-06-10 16:51:40Z jgc $ -# Maintainer: Alexander Fehr <pizzapunk gmail com> +# $Id$ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Alexander Fehr <pizzapunk gmail com> pkgname=desktop-file-utils -pkgver=0.20 +pkgver=0.22 pkgrel=1 pkgdesc="Command line utilities for working with desktop entries" arch=('i686' 'x86_64') @@ -10,7 +11,7 @@ url="http://www.freedesktop.org/wiki/Software/desktop-file-utils" license=('GPL') depends=('glib2') source=(http://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-${pkgver}.tar.xz) -md5sums=('8c85cbc13632ba69077c6bc41ce4d0ac') +sha256sums=('843532672692f98e9b2d6ae6cc8658da562dfde1606c7f33d9d227a344de56c5') build() { cd "${srcdir}/desktop-file-utils-${pkgver}" diff --git a/abs/extra/dri3proto/COPYING b/abs/extra/dri3proto/COPYING new file mode 100644 index 0000000..313c8f1 --- /dev/null +++ b/abs/extra/dri3proto/COPYING @@ -0,0 +1,21 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ diff --git a/abs/extra/dri3proto/PKGBUILD b/abs/extra/dri3proto/PKGBUILD new file mode 100644 index 0000000..02e81e4 --- /dev/null +++ b/abs/extra/dri3proto/PKGBUILD @@ -0,0 +1,30 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +pkgname=dri3proto +pkgver=1.0 +pkgrel=1 +pkgdesc="X11 DRI3 protocol" +arch=('any') +url="http://xorg.freedesktop.org/" +license=('custom') +source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2 + COPYING) +sha256sums=('01be49d70200518b9a6b297131f6cc71f4ea2de17436896af153226a774fc074' + '5e46864ede2fda46c3cb7cfe3a7b9f9e4bd36d8d21d8010a284caa64b81d465a') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install + + # license is still missing + # COPYING is taken from top of /usr/include/X11/extensions/dri3proto.h + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 ${srcdir}/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/abs/extra/efibootmgr/PKGBUILD b/abs/extra/efibootmgr/PKGBUILD index 0fd7bb2..813f99d 100755 --- a/abs/extra/efibootmgr/PKGBUILD +++ b/abs/extra/efibootmgr/PKGBUILD @@ -5,7 +5,7 @@ pkgname=efibootmgr pkgver=0.5.4 -pkgrel=3 +pkgrel=4 pkgdesc="Tool to modify UEFI Firmware Boot Manager Variables." arch=('i686' 'x86_64') url="http://linux.dell.com/efibootmgr/" @@ -38,12 +38,12 @@ build () { package() { - mkdir -p ${pkgdir}/usr/sbin/ + mkdir -p ${pkgdir}/usr/bin/ mkdir -p ${pkgdir}/usr/share/man/man8/ cd ${srcdir}/efibootmgr-${pkgver}_build/ - install -D -m755 ${srcdir}/efibootmgr-${pkgver}_build/src/efibootmgr/efibootmgr ${pkgdir}/usr/sbin/efibootmgr + install -D -m755 ${srcdir}/efibootmgr-${pkgver}_build/src/efibootmgr/efibootmgr ${pkgdir}/usr/bin/efibootmgr install -D -m644 ${srcdir}/efibootmgr-${pkgver}_build/src/man/man8/efibootmgr.8 ${pkgdir}/usr/share/man/man8/efibootmgr.8 } diff --git a/abs/extra/efivar/PKGBUILD b/abs/extra/efivar/PKGBUILD new file mode 100644 index 0000000..e8d8995 --- /dev/null +++ b/abs/extra/efivar/PKGBUILD @@ -0,0 +1,65 @@ +# $Id: PKGBUILD 199468 2013-11-13 11:07:43Z tpowa $ +# Maintainer : Tobias Powalowski <tpowa@archlinux.org> +# Contributor : Keshav Padram <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +_gitroot="git://github.com/vathpela/efivar.git" +_gitname="efivar" +_gitbranch="master" + +_pkgname="efivar" +pkgname="${_pkgname}" + +pkgdesc="Library to manipulate EFI variables" +pkgver=0.7 +pkgrel=1 +arch=('x86_64' 'i686') +url="https://github.com/vathpela/efivar" +license=('LGPL2.1') +makedepends=('git') +depends=('popt') +conflicts=('libefivar') +provides=('libefivar') +options=('zipman' 'docs' '!makeflags') + +source=("${_gitname}::git+${_gitroot}#tag=${pkgver}") +sha1sums=('SKIP') + +pkgver() { + cd "${srcdir}/${_gitname}/" + echo "$(git describe --tags)" | sed 's|-|\.|g' +} + +build() { + + rm -rf "${srcdir}/${_gitname}_build/" || true + cp -r "${srcdir}/${_gitname}" "${srcdir}/${_gitname}_build" + + cd "${srcdir}/${_gitname}_build/" + + git clean -x -d -f + echo + + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + sed 's|-rpath=$(TOPDIR)/src/|-rpath=$(libdir)|g' -i "${srcdir}/${_gitname}_build/src/test/Makefile" || true + + make libdir="/usr/lib/" bindir="/usr/bin/" mandir="/usr/share/man/" includedir="/usr/include/" V=1 -j1 + echo + +} + +package() { + + cd "${srcdir}/${_gitname}_build/" + + make -j1 V=1 DESTDIR="${pkgdir}/" libdir="/usr/lib/" bindir="/usr/bin/" mandir="/usr/share/man/" includedir="/usr/include/" install + echo + + install -d "${pkgdir}/usr/bin" + install -D -m0755 "${srcdir}/${_gitname}_build/src/test/tester" "${pkgdir}/usr/bin/efivar-tester" + +} diff --git a/abs/extra/community/enca/PKGBUILD b/abs/extra/enca/PKGBUILD index fdcea7c..33346c7 100644 --- a/abs/extra/community/enca/PKGBUILD +++ b/abs/extra/enca/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 143739 2011-11-28 18:10:34Z giovanni $ +# $Id$ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Filip Dvorak <fila@pruda.com> pkgname=enca -pkgver=1.13 -pkgrel=2 +pkgver=1.15 +pkgrel=1 pkgdesc="Charset analyser and converter" arch=('i686' 'x86_64') -url="http://freshmeat.net/projects/enca/" -options=('!libtool') +url="http://cihar.com/software/enca/" license=('GPL') -depends=('recode' 'bash') +depends=('recode') +options=('!docs') source=("http://dl.cihar.com/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('762bead5d9a0a5e55024e1102baaa89d') +md5sums=('fef132969d26e649719eae08297a4a52') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/abs/extra/etherwake/PKGBUILD b/abs/extra/etherwake/PKGBUILD index bbe4f6a..4d53d1e 100644 --- a/abs/extra/etherwake/PKGBUILD +++ b/abs/extra/etherwake/PKGBUILD @@ -3,7 +3,7 @@ pkgname=etherwake pkgver=1.09 -pkgrel=5 +pkgrel=6 arch=(i686 x86_64) pkgdesc="Utility for waking up computers via wake-on-lan (wol)" license="GPL" @@ -19,7 +19,7 @@ build() { package() { cd "$srcdir/$pkgname-$pkgver.orig" - install -Dm0755 etherwake "$pkgdir/usr/sbin/etherwake" + install -Dm0755 etherwake "$pkgdir/usr/bin/etherwake" install -Dm0644 etherwake.8.gz "$pkgdir/usr/share/man/man8/etherwake.8" } diff --git a/abs/extra/ethtool/PKGBUILD b/abs/extra/ethtool/PKGBUILD index 27ba9a5..cdf5122 100644 --- a/abs/extra/ethtool/PKGBUILD +++ b/abs/extra/ethtool/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 161868 2012-06-16 00:18:47Z ibiru $ +# $Id: PKGBUILD 196480 2013-10-14 08:50:55Z ioni $ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Paul Mattal <paul@archlinux.org> # Contributor: Martin Kemp <mdkemp@elys.com> pkgname=ethtool -pkgver=3.4 +pkgver=3.11 pkgrel=1 epoch=1 pkgdesc="Utility for controlling network drivers and hardware" @@ -16,7 +16,8 @@ source=(http://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar build() { cd $pkgname-$pkgver - ./configure --prefix=/usr --mandir=/usr/share/man + ./configure --prefix=/usr --mandir=/usr/share/man \ + --sbindir=/usr/bin make } @@ -24,4 +25,4 @@ package() { cd $pkgname-$pkgver make DESTDIR="$pkgdir" install } -md5sums=('cc4c4cf3ac086a53cd24f17d426f2b8f') +md5sums=('5f3a0ed1b3510ca0695db0b4debdd292') diff --git a/abs/extra/fakechroot/PKGBUILD b/abs/extra/fakechroot/PKGBUILD index 4cdd8c9..853268e 100644 --- a/abs/extra/fakechroot/PKGBUILD +++ b/abs/extra/fakechroot/PKGBUILD @@ -3,25 +3,17 @@ # Contributor: Aaron Griffin <aaron@archlinux.org> pkgname=fakechroot -pkgver=2.16 -pkgrel=3 +pkgver=2.17.2 +pkgrel=1 pkgdesc="Gives a fake chroot environment" arch=('i686' 'x86_64') -url="https://github.com/fakechroot/fakechroot/wiki" +url="https://github.com/dex4er/fakechroot/wiki" license=('LGPL') -options=('!libtool') install=fakechroot.install -source=(https://github.com/downloads/fakechroot/fakechroot/fakechroot-${pkgver}.tar.gz) -md5sums=('3ea5efb76664e787450e0cfcefc1b807') +source=(https://github.com/dex4er/fakechroot/archive/${pkgver}.tar.gz) +md5sums=('e614f62972efa4654fc780ae7e4affad') -prepare() { - cd ${srcdir}/${pkgname}-${pkgver} - - # https://github.com/fakechroot/fakechroot/issues/10 - sed -i "s#usr/sbin/chroot#usr/bin/chroot#" test/testtree.sh test/t/chroot.t -} - build() { cd ${srcdir}/${pkgname}-${pkgver} ./configure --prefix=/usr --sbindir=/usr/bin \ diff --git a/abs/extra/fceux/PKGBUILD b/abs/extra/fceux/PKGBUILD index 3d18d67..cae2c61 100644 --- a/abs/extra/fceux/PKGBUILD +++ b/abs/extra/fceux/PKGBUILD @@ -1,45 +1,44 @@ -# $Id: PKGBUILD 57567 2011-10-30 20:09:10Z arodseth $ +# $Id$ # Maintainer: Alexander Rødseth <rodseth@gmail.com> -# Contributor: Eric Belanger <eric@archlinux.org> +# Contriutor: Eric Belanger <eric@archlinux.org> # Contributor: Jo Christian Bergskås <jcberg@gmail.com> + pkgname=fceux -pkgver=2.1.5 -pkgrel=3 +pkgver=2.2.2 +pkgrel=2 +url='http://www.fceux.com/' +pkgdesc='Fast and ultra-compatible NES/Famicom emulator' arch=('x86_64' 'i686') -url="http://fceux.com/" -pkgdesc="Fast and ultra-compatible NES/Famicom emulator" license=('GPL') -depends=('sdl' 'gtk2' 'gd' 'desktop-file-utils') -makedepends=('scons' 'mesa' 'lua') -optdepends=('xchm: for viewing the manual') -provides=('fceu' 'gfceux') -replaces=('fceu' 'gfceux') -install=fceux.install -source=("http://downloads.sourceforge.net/fceultra/$pkgname-$pkgver.src.tar.bz2" - "fceux.desktop" - "fceux.png") +depends=('sdl' 'gtk2' 'gd' 'desktop-file-utils' 'lua' 'libgl' 'shared-mime-info') +makedepends=('scons' 'mesa-libgl' 'glu') +install='fceux.install' +source=("https://downloads.sourceforge.net/project/fceultra/Source%20Code/$pkgver%20src/$pkgname-$pkgver.src.tar.gz") +sha256sums=('804d11bdb4a195f3a580ce5d2d01be877582763378637e16186a22459f5fe5e1') build() { - cd "$srcdir/fceu${pkgver}" + cd "$pkgname-$pkgver" - sed -i "s|/usr/local|$pkgdir/usr|" SConstruct - scons OPENGL=0 install + scons } package() { - cd "$srcdir/fceu${pkgver}" - - install -Dm644 bin/$pkgname.chm \ - "$pkgdir/usr/share/doc/$pkgname/$pkgname.chm" - install -Dm644 $srcdir/fceux.desktop \ - "$pkgdir/usr/share/applications/fceux.desktop" - install -Dm644 $srcdir/fceux.png \ - "$pkgdir/usr/share/pixmaps/fceux.png" - install -Dm644 COPYING \ - "$pkgdir/usr/share/licenses/$pkgname/COPYING" + cd "$pkgname-$pkgver" + + scons install -i --prefix="$pkgdir/usr" + + # scons install creates usr/share/pixmaps as a regular file, wtf? + rm -f "$pkgdir/usr/share/pixmaps" + + install -d "$pkgdir/usr/share/doc/$pkgname" + cp -r documentation/* "$pkgdir/usr/share/doc/$pkgname/" + install -Dm644 changelog.txt "$pkgdir/usr/share/doc/$pkgname/" + + # desktop shortcut + install -Dm644 "$pkgname.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" + install -Dm644 "$pkgname.png" \ + "$pkgdir/usr/share/pixmaps/$pkgname.png" } # vim:set ts=2 sw=2 et: -md5sums=('e8b20e62bbbb061b1a59d51b47c827bd' - '3c6a259d88825ff1b9387d191a6c970e' - '3fe753731ac46b5fee528b1f73abd3e3') diff --git a/abs/extra/fceux/__changelog b/abs/extra/fceux/__changelog new file mode 100644 index 0000000..6bb6428 --- /dev/null +++ b/abs/extra/fceux/__changelog @@ -0,0 +1 @@ +- PKGBUILD: change dep lua51 to lua diff --git a/abs/extra/fceux/fceux.desktop b/abs/extra/fceux/fceux.desktop deleted file mode 100644 index c20271a..0000000 --- a/abs/extra/fceux/fceux.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=Fceux -GenericName=NES/Famicom emulator -Exec=fceux -Icon=fceux -Type=Application -Categories=Game;Emulator; -Encoding=UTF-8 -MimeType=application/x-nes;application/x-nes-rom diff --git a/abs/extra/fceux/fceux.install b/abs/extra/fceux/fceux.install index ad97d7b..6af331e 100644 --- a/abs/extra/fceux/fceux.install +++ b/abs/extra/fceux/fceux.install @@ -1,13 +1,15 @@ -post_upgrade() { +post_install() { update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null +# xdg-icon-resource forceupdate --theme hicolor &> /dev/null } -post_install() { - post_upgrade +post_upgrade() { + post_install } post_remove() { - post_upgrade + post_install } # vim:set ts=2 sw=2 et: diff --git a/abs/extra/fceux/fceux.png b/abs/extra/fceux/fceux.png Binary files differdeleted file mode 100644 index 1cf27b1..0000000 --- a/abs/extra/fceux/fceux.png +++ /dev/null diff --git a/abs/extra/community/flashplugin/PKGBUILD b/abs/extra/flashplugin/PKGBUILD index 59f78f5..a4ef79c 100644 --- a/abs/extra/community/flashplugin/PKGBUILD +++ b/abs/extra/flashplugin/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 161290 2012-06-08 23:27:45Z ibiru $ +# $Id$ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> pkgname=flashplugin _licensefile='PlatformClients_PC_WWEULA_Combined_20100108_1657.pdf' -pkgver=11.2.202.236 +pkgver=11.2.202.356 pkgrel=1 pkgdesc='Adobe Flash Player' url='http://get.adobe.com/flashplayer' @@ -21,14 +21,14 @@ if [ "$CARCH" = "i686" ]; then source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.i386.tar.gz" "http://www.adobe.com/products/eulas/pdfs/${_licensefile}" mms.cfg) - md5sums=('00b3dd02b9ac600272440ebadda724e1' + md5sums=('8c197a50457c8266ca0e18fa28bd6acf' '94ca2aecb409abfe36494d1a7ec7591d' 'f34aae6279b40e0bd2abfb0d9963d7b8') elif [ "$CARCH" = "x86_64" ]; then source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.x86_64.tar.gz" "http://www.adobe.com/products/eulas/pdfs/${_licensefile}" mms.cfg) - md5sums=('f3cec2b9b38bd58f5e20f543d957bc17' + md5sums=('719258340ba34eda72495187b8148f75' '94ca2aecb409abfe36494d1a7ec7591d' 'f34aae6279b40e0bd2abfb0d9963d7b8') fi @@ -48,8 +48,8 @@ package () { install -Dm644 usr/share/applications/flash-player-properties.desktop "$pkgdir/usr/share/applications/flash-player-properties.desktop" install -Dm644 usr/share/kde4/services/kcm_adobe_flash_player.desktop "$pkgdir/usr/share/kde4/services/kcm_adobe_flash_player.desktop" install -Dm644 "${_licensefile}" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.pdf" - install -Dm644 "$srcdir/mms.cfg" "$pkgdir/etc/adobe/mms.cfg" + install -Dm644 mms.cfg "$pkgdir/etc/adobe/mms.cfg" } -md5sums=('f3cec2b9b38bd58f5e20f543d957bc17' +md5sums=('719258340ba34eda72495187b8148f75' '94ca2aecb409abfe36494d1a7ec7591d' 'f34aae6279b40e0bd2abfb0d9963d7b8') diff --git a/abs/extra/community/flashplugin/flashplugin.install b/abs/extra/flashplugin/flashplugin.install index 8018fcb..8018fcb 100644 --- a/abs/extra/community/flashplugin/flashplugin.install +++ b/abs/extra/flashplugin/flashplugin.install diff --git a/abs/extra/community/flashplugin/mms.cfg b/abs/extra/flashplugin/mms.cfg index 716525d..716525d 100644 --- a/abs/extra/community/flashplugin/mms.cfg +++ b/abs/extra/flashplugin/mms.cfg diff --git a/abs/extra/gconf/PKGBUILD b/abs/extra/gconf/PKGBUILD index 9a4d1f6..d7fc7e6 100644 --- a/abs/extra/gconf/PKGBUILD +++ b/abs/extra/gconf/PKGBUILD @@ -1,15 +1,14 @@ -# $Id: PKGBUILD 156770 2012-04-23 09:05:12Z ibiru $ +# $Id: PKGBUILD 197971 2013-10-30 12:00:18Z allan $ # Maintainer: Jan de Groot <jan@archlinux.org> pkgname=gconf -pkgver=3.2.5 -pkgrel=2 +pkgver=3.2.6 +pkgrel=3 pkgdesc="A configuration database system" arch=(i686 x86_64) license=('LGPL') -depends=('libxml2' 'polkit' 'libldap' 'dbus-glib' 'gtk3') +depends=('libxml2' 'polkit' 'libldap' 'dbus-glib') makedepends=('intltool' 'gtk-doc' 'gobject-introspection') -options=('!libtool') install=gconf.install url="http://www.gnome.org" source=(http://ftp.gnome.org/pub/gnome/sources/GConf/3.2/GConf-$pkgver.tar.xz @@ -17,14 +16,15 @@ source=(http://ftp.gnome.org/pub/gnome/sources/GConf/3.2/GConf-$pkgver.tar.xz gconfpkg gconf-reload.patch 01_xml-gettext-domain.patch) -sha256sums=('4ddea9503a212ee126c5b46a0a958fd5484574c3cb6ef2baf38db02e819e58c6' +sha256sums=('1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c' 'ee6b6e6f4975dad13a8c45f1c1f0547a99373bdecdcd6604bfc12965c328a028' 'bf1928718caa5df2b9e54a13cfd0f15a8fe0e09e86b84385ce023616a114e898' '567b78d8b4b4bbcb77c5f134d57bc503c34867fcc6341c0b01716bcaa4a21694' 'c883dec2b96978874a53700cfe7f26f24f8296767203e970bc6402b4b9945eb8') -build() { +prepare() { cd "GConf-$pkgver" + # Patch from fedora - reloads gconf after installing schemas patch -Np1 -i "$srcdir/gconf-reload.patch" # http://bugzilla.gnome.org/show_bug.cgi?id=568845 @@ -32,10 +32,14 @@ build() { # Python2 fix sed -i '1s|#!/usr/bin/env python$|&2|' gsettings/gsettings-schema-convert +} + +build() { + cd "GConf-$pkgver" ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --libexecdir=/usr/lib/GConf \ - --disable-static --enable-defaults-service --with-gtk=3.0 \ + --disable-static --enable-defaults-service \ --disable-orbit make pkglibdir=/usr/lib/GConf @@ -47,5 +51,5 @@ package() { install -m755 -d "$pkgdir/etc/gconf/gconf.xml.system" install -m755 "$srcdir/gconf-merge-schema" "$pkgdir/usr/bin/" - install -Dm755 "$srcdir/gconfpkg" "$pkgdir/usr/sbin/gconfpkg" + install -m755 "$srcdir/gconfpkg" "$pkgdir/usr/bin/gconfpkg" } diff --git a/abs/extra/gconf/gconf.install b/abs/extra/gconf/gconf.install index f7945d1..a5ea777 100644 --- a/abs/extra/gconf/gconf.install +++ b/abs/extra/gconf/gconf.install @@ -9,10 +9,7 @@ post_upgrade() { chmod 755 etc/gconf/gconf.xml.system usr/bin/gio-querymodules usr/lib/gio/modules - PID=`pidof gconfd-2` - if [ ! -z "${PID}" ]; then - kill ${PID} - fi + pkill /usr/lib/GConf/gconfd-2 || return 0 } post_remove() { diff --git a/abs/extra/gnu-efi-libs/PKGBUILD b/abs/extra/gnu-efi-libs/PKGBUILD new file mode 100644 index 0000000..7487c8b --- /dev/null +++ b/abs/extra/gnu-efi-libs/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Keshav Padram <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> +# Contributor: Alessio 'mOLOk' Bolognino <themolok@gmail.com> + +_pkgver="3.0" +pkgname="gnu-efi-libs" +pkgver="${_pkgver}u" +pkgrel="4" +pkgdesc="Library for building UEFI Applications using GNU toolchain" +url="http://sourceforge.net/projects/gnu-efi/" +license=('GPL') +arch=('x86_64' 'i686') +options=('!strip' '!makeflags' 'staticlibs') +makedepends=('pciutils') + +source=("http://download.sourceforge.net/gnu-efi/gnu-efi_${pkgver}.orig.tar.gz") + +[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64" +[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="ia32" + +build() { + + cd "${srcdir}/gnu-efi-${_pkgver}/" + + ## Unset all compiler FLAGS + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + make -j1 + make -j1 -C apps all + +} + +package() { + + cd "${srcdir}/gnu-efi-${_pkgver}/" + + make INSTALLROOT="${pkgdir}" PREFIX="/usr" LIBDIR="/usr/lib" install + + install -d "${pkgdir}/usr/share/gnu-efi/apps/${_EFI_ARCH}/" + install -D -m0644 "${srcdir}/gnu-efi-${_pkgver}/apps"/*.efi "${pkgdir}/usr/share/gnu-efi/apps/${_EFI_ARCH}/" + +} +md5sums=('d15d3c700e79a1e2938544d73edc572d') diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD index 9127569..a6ff092 100644 --- a/abs/extra/google-chrome/PKGBUILD +++ b/abs/extra/google-chrome/PKGBUILD @@ -5,40 +5,38 @@ # or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }' pkgname=google-chrome -pkgver=31.0.1650.63 +pkgver=38.0.2125.104 pkgrel=1 pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)" arch=('i686' 'x86_64') -url="https://www.google.com/chrome" +url="https://www.google.com/chrome/index.html" license=('custom:chrome') -depends=('alsa-lib' 'gconf' 'gtk2' 'hicolor-icon-theme' 'libpng' 'libxslt' 'libxss' 'libxtst' 'nss' 'ttf-font' 'xdg-utils') +depends=('alsa-lib' 'desktop-file-utils' 'flac' 'gconf' 'gtk2' 'harfbuzz' 'harfbuzz-icu' 'hicolor-icon-theme' + 'icu' 'libcups' 'libpng' 'libxss' 'libxtst' 'nss' 'opus' 'snappy' 'speech-dispatcher' 'ttf-font' 'xdg-utils') optdepends=('kdebase-kdialog: needed for file dialogs in KDE' 'ttf-google-fonts-git') provides=("google-chrome=$pkgver") -conflicts=('google-chrome') replaces=('chromium') options=('!emptydirs' '!strip') install=$pkgname.install _channel=stable -_arch=i386 -[ "$CARCH" = 'x86_64' ] && _arch=amd64 +_arch=amd64 +[[ $CARCH = i686 ]] && _arch=i386 source=("google-chrome-${_channel}_${pkgver}_${_arch}.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_${_arch}.deb" - 'https://www.google.com/intl/en/chrome/browser/privacy/eula_text.html') -[ "$CARCH" = 'x86_64' ] && md5sums[0]='83c6ddb1c281da8243aba0b5f2e3763f' - -#PKGEXT='.pkg.tar' + 'eula_text.html') +md5sums=('a2b61a623da973f12e1cb18674b9fb93' + 'b7e752f549b215ac77f284b6486794b6') +[[ $CARCH = i686 ]] && md5sums[0]='84353f292685c20e19c3cd9a6d8712db' package() { msg2 "Extracting the data.tar.lzma" bsdtar -xf data.tar.lzma -C "$pkgdir/" msg2 "Moving stuff in place" - # Desktop - mv "$pkgdir"/opt/google/chrome/google-chrome.desktop "$pkgdir"/usr/share/applications/ - # Icons for i in 16 22 24 32 48 64 128 256; do - install -Dm644 "$pkgdir"/opt/google/chrome/product_logo_${i}.png "$pkgdir"/usr/share/icons/hicolor/${i}x${i}/apps/google-chrome.png + install -Dm644 "$pkgdir"/opt/google/chrome/product_logo_$i.png \ + "$pkgdir"/usr/share/icons/hicolor/${i}x$i/apps/google-chrome.png done # Man page @@ -50,12 +48,17 @@ package() { msg2 "Symlinking missing Udev lib" ln -s /usr/lib/libudev.so.1 "$pkgdir"/opt/google/chrome/libudev.so.0 - msg2 "Removing the Debian-intended cron job and duplicated images" + msg2 "Fixing Chrome icon resolution" + _name=$(echo ${source/_*} | sed 's/.*/\u&/') + sed -i "/Exec=/i\StartupWMClass=$_name" "$pkgdir"/usr/share/applications/google-chrome.desktop + + msg2 "Adding support for CHROMIUM_USER_FLAGS" + sed -i 's/ "$@"/"$CHROMIUM_USER_FLAGS" "$@"/' "$pkgdir"/opt/google/chrome/google-chrome + + msg2 "Removing unnecessities (e.g. Debian Cron job)" rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/ rm "$pkgdir"/opt/google/chrome/product_logo_*.png msg2 "Rename google-chrome-stable to google-chrome" mv "$pkgdir"/usr/bin/google-chrome-stable "$pkgdir"/usr/bin/google-chrome } -md5sums=('83c6ddb1c281da8243aba0b5f2e3763f' - '6d57da7476a4b1b7a81821d9c036425c') diff --git a/abs/extra/google-chrome/__changelog b/abs/extra/google-chrome/__changelog index c280aef..289a6f2 100644 --- a/abs/extra/google-chrome/__changelog +++ b/abs/extra/google-chrome/__changelog @@ -1,6 +1,5 @@ -8/25/13 Pull from ARU: https://aur.archlinux.org/packages/google-chrome/ -- PKGBUILD: comment out PKGEXT so we compress the pkg - PKGBUILD: add replaces chromium - google-chrome.install: add symlink from /usr/bin/chromium to google-chrome so as not to break pkgs that use chromium -- Rename google-chrome-stable to google-chrome" +- PKGBUILD: Rename google-chrome-stable to google-chrome" +- PKGBUILD: Add dep libcups diff --git a/abs/extra/google-chrome/eula_text.html b/abs/extra/google-chrome/eula_text.html new file mode 100644 index 0000000..b45cb21 --- /dev/null +++ b/abs/extra/google-chrome/eula_text.html @@ -0,0 +1,902 @@ +<!DOCTYPE html> +<!-- saved from url=(0068)https://www.google.com/intl/en/chrome/browser/privacy/eula_text.html --> +<html class="js consumer" lang="en" id="linux"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + + <script type="text/javascript" async="" src="./Google Chrome Terms of Service_files/ga.js"></script><script> +(function(e, p){ + var m = location.href.match(/platform=(win8|win|mac|linux|cros)/); + e.id = (m && m[1]) || + (p.indexOf('Windows NT 6.2') > -1 ? 'win8' : p.indexOf('Windows') > -1 ? 'win' : p.indexOf('Mac') > -1 ? 'mac' : p.indexOf('CrOS') > -1 ? 'cros' : 'linux'); + e.className = e.className.replace(/\bno-js\b/,'js'); + })(document.documentElement, window.navigator.userAgent) + </script> + <meta charset="utf-8"> + <meta content="initial-scale=1, minimum-scale=1, width=device-width" name="viewport"> + <meta content="Google Chrome Terms of Service" name="description"> + <title> + Google Chrome Terms of Service + </title> + <link href="https://plus.google.com/100585555255542998765" rel="publisher"> + <link href="https://www.google.com/images/icons/product/chrome-32.png" rel="icon" type="image/ico"> + <style> +body { + font-family: Arial; + font-size: 13px; + } + </style> + <script src="./Google Chrome Terms of Service_files/autotrack.js"> +</script><style type="text/css"></style> + <script> +new gweb.analytics.AutoTrack({ + profile: 'UA-26908291-1' + }); + </script> + <style type="text/css">.st {word-wrap: break-word;}</style></head> + <body class="" id="grid"> + <div class="browser-eula" id="main"> + <div class="compact"> + <h2> + Google Chrome Terms of Service + </h2> + <p> + These Terms of Service apply to the executable code version of Google Chrome. Source code + for Google Chrome is available free of charge under open source software license + agreements at http://code.google.com/chromium/terms.html. + </p> + <p> + <strong>1. Your relationship with Google</strong> + </p> + <p> + 1.1 Your use of Google’s products, software, services and web sites (referred to + collectively as the “Services” in this document and excluding any services provided to + you by Google under a separate written agreement) is subject to the terms of a legal + agreement between you and Google. “Google” means Google Inc., whose principal place of + business is at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. This + document explains how the agreement is made up, and sets out some of the terms of that + agreement. + </p> + <p> + 1.2 Unless otherwise agreed in writing with Google, your agreement with Google will + always include, at a minimum, the terms and conditions set out in this document. These + are referred to below as the “Universal Terms”. Open source software licenses for Google + Chrome source code constitute separate written agreements. To the limited extent that the + open source software licenses expressly supersede these Universal Terms, the open source + licenses govern your agreement with Google for the use of Google Chrome or specific + included components of Google Chrome. + </p> + <p> + 1.3 Your agreement with Google will also include the terms set forth below in the Google + Chrome Additional Terms of Service and terms of any Legal Notices applicable to the + Services, in addition to the Universal Terms. All of these are referred to below as the + “Additional Terms”. Where Additional Terms apply to a Service, these will be accessible + for you to read either within, or through your use of, that Service. + </p> + <p> + 1.4 The Universal Terms, together with the Additional Terms, form a legally binding + agreement between you and Google in relation to your use of the Services. It is important + that you take the time to read them carefully. Collectively, this legal agreement is + referred to below as the “Terms”. + </p> + <p> + 1.5 If there is any contradiction between what the Additional Terms say and what the + Universal Terms say, then the Additional Terms shall take precedence in relation to that + Service. + </p> + <p> + <strong>2. Accepting the Terms</strong> + </p> + <p> + 2.1 In order to use the Services, you must first agree to the Terms. You may not use the + Services if you do not accept the Terms. + </p> + <p> + 2.2 You can accept the Terms by: + </p> + <p> + (A) clicking to accept or agree to the Terms, where this option is made available to you + by Google in the user interface for any Service; or + </p> + <p> + (B) by actually using the Services. In this case, you understand and agree that Google + will treat your use of the Services as acceptance of the Terms from that point onwards. + </p> + <p> + <strong>3. Language of the Terms</strong> + </p> + <p> + 3.1 Where Google has provided you with a translation of the English language version of + the Terms, then you agree that the translation is provided for your convenience only and + that the English language versions of the Terms will govern your relationship with + Google. + </p> + <p> + 3.2 If there is any contradiction between what the English language version of the Terms + says and what a translation says, then the English language version shall take + precedence. + </p> + <p> + <strong>4. Provision of the Services by Google</strong> + </p> + <p> + 4.1 Google has subsidiaries and affiliated legal entities around the world (“Subsidiaries + and Affiliates”). Sometimes, these companies will be providing the Services to you on + behalf of Google itself. You acknowledge and agree that Subsidiaries and Affiliates will + be entitled to provide the Services to you. + </p> + <p> + 4.2 Google is constantly innovating in order to provide the best possible experience for + its users. You acknowledge and agree that the form and nature of the Services which + Google provides may change from time to time without prior notice to you. + </p> + <p> + 4.3 As part of this continuing innovation, you acknowledge and agree that Google may stop + (permanently or temporarily) providing the Services (or any features within the Services) + to you or to users generally at Google’s sole discretion, without prior notice to you. + You may stop using the Services at any time. You do not need to specifically inform + Google when you stop using the Services. + </p> + <p> + 4.4 You acknowledge and agree that if Google disables access to your account, you may be + prevented from accessing the Services, your account details or any files or other content + which is contained in your account. + </p> + <p> + <strong>5. Use of the Services by you</strong> + </p> + <p> + 5.1 You agree to use the Services only for purposes that are permitted by (a) the Terms + and (b) any applicable law, regulation or generally accepted practices or guidelines in + the relevant jurisdictions (including any laws regarding the export of data or software + to and from the United States or other relevant countries). + </p> + <p> + 5.2 You agree that you will not engage in any activity that interferes with or disrupts + the Services (or the servers and networks which are connected to the Services). + </p> + <p> + 5.3 Unless you have been specifically permitted to do so in a separate agreement with + Google, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the + Services for any purpose. + </p> + <p> + 5.4 You agree that you are solely responsible for (and that Google has no responsibility + to you or to any third party for) any breach of your obligations under the Terms and for + the consequences (including any loss or damage which Google may suffer) of any such + breach. + </p> + <p> + <strong>6. Privacy and your personal information</strong> + </p> + <p> + 6.1 For information about Google’s data protection practices, please read Google’s + privacy policy at http://www.google.com/privacy.html and at + http://www.google.com/chrome/intl/en/privacy.html. This policy explains how Google treats + your personal information, and protects your privacy, when you use the Services. + </p> + <p> + 6.2 You agree to the use of your data in accordance with Google’s privacy policies. + </p> + <p> + <strong>7. Content in the Services</strong> + </p> + <p> + 7.1 You understand that all information (such as data files, written text, computer + software, music, audio files or other sounds, photographs, videos or other images) which + you may have access to as part of, or through your use of, the Services are the sole + responsibility of the person from which such content originated. All such information is + referred to below as the “Content.” + </p> + <p> + 7.2 You should be aware that Content presented to you as part of the Services, including + but not limited to advertisements in the Services and sponsored Content within the + Services may be protected by intellectual property rights which are owned by the sponsors + or advertisers who provide that Content to Google (or by other persons or companies on + their behalf). You may not modify, rent, lease, loan, sell, distribute or create + derivative works based on this Content (either in whole or in part) unless you have been + specifically told that you may do so by Google or by the owners of that Content, in a + separate agreement. + </p> + <p> + 7.3 Google reserves the right (but shall have no obligation) to pre-screen, review, flag, + filter, modify, refuse or remove any or all Content from any Service. For some of the + Services, Google may provide tools to filter out explicit sexual content. These tools + include the SafeSearch preference settings (see + http://www.google.com/help/customize.html#safe). In addition, there are commercially + available services and software to limit access to material that you may find + objectionable. + </p> + <p> + 7.4 You understand that by using the Services you may be exposed to Content that you may + find offensive, indecent or objectionable and that, in this respect, you use the Services + at your own risk. + </p> + <p> + 7.5 You agree that you are solely responsible for (and that Google has no responsibility + to you or to any third party for) any Content that you create, transmit or display while + using the Services and for the consequences of your actions (including any loss or damage + which Google may suffer) by doing so. + </p> + <p> + <strong>8. Proprietary rights</strong> + </p> + <p> + 8.1 You acknowledge and agree that Google (or Google’s licensors) own all legal right, + title and interest in and to the Services, including any intellectual property rights + which subsist in the Services (whether those rights happen to be registered or not, and + wherever in the world those rights may exist). + </p> + <p> + 8.2 Unless you have agreed otherwise in writing with Google, nothing in the Terms gives + you a right to use any of Google’s trade names, trade marks, service marks, logos, domain + names, and other distinctive brand features. + </p> + <p> + 8.3 If you have been given an explicit right to use any of these brand features in a + separate written agreement with Google, then you agree that your use of such features + shall be in compliance with that agreement, any applicable provisions of the Terms, and + Google's brand feature use guidelines as updated from time to time. These guidelines can + be viewed online at http://www.google.com/permissions/guidelines.html (or such other URL + as Google may provide for this purpose from time to time). + </p> + <p> + 8.4 Google acknowledges and agrees that it obtains no right, title or interest from you + (or your licensors) under these Terms in or to any Content that you submit, post, + transmit or display on, or through, the Services, including any intellectual property + rights which subsist in that Content (whether those rights happen to be registered or + not, and wherever in the world those rights may exist). Unless you have agreed otherwise + in writing with Google, you agree that you are responsible for protecting and enforcing + those rights and that Google has no obligation to do so on your behalf. + </p> + <p> + 8.5 You agree that you shall not remove, obscure, or alter any proprietary rights notices + (including copyright and trade mark notices) which may be affixed to or contained within + the Services. + </p> + <p> + 8.6 Unless you have been expressly authorized to do so in writing by Google, you agree + that in using the Services, you will not use any trade mark, service mark, trade name, + logo of any company or organization in a way that is likely or intended to cause + confusion about the owner or authorized user of such marks, names or logos. + </p> + <p> + <strong>9. License from Google</strong> + </p> + <p> + 9.1 Google gives you a personal, worldwide, royalty-free, non-assignable and + non-exclusive license to use the software provided to you by Google as part of the + Services as provided to you by Google (referred to as the “Software” below). This license + is for the sole purpose of enabling you to use and enjoy the benefit of the Services as + provided by Google, in the manner permitted by the Terms. + </p> + <p> + 9.2 Subject to section 1.2, you may not (and you may not permit anyone else to) copy, + modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to + extract the source code of the Software or any part thereof, unless this is expressly + permitted or required by law, or unless you have been specifically told that you may do + so by Google, in writing. + </p> + <p> + 9.3 Subject to section 1.2, unless Google has given you specific written permission to do + so, you may not assign (or grant a sub-license of) your rights to use the Software, grant + a security interest in or over your rights to use the Software, or otherwise transfer any + part of your rights to use the Software. + </p> + <p> + <strong>10. Content license from you</strong> + </p> + <p> + 10.1 You retain copyright and any other rights you already hold in Content which you + submit, post or display on or through, the Services. + </p> + <p> + <strong>11. Software updates</strong> + </p> + <p> + 11.1 The Software which you use may automatically download and install updates from time + to time from Google. These updates are designed to improve, enhance and further develop + the Services and may take the form of bug fixes, enhanced functions, new software modules + and completely new versions. You agree to receive such updates (and permit Google to + deliver these to you) as part of your use of the Services. + </p> + <p> + <strong>12. Ending your relationship with Google</strong> + </p> + <p> + 12.1 The Terms will continue to apply until terminated by either you or Google as set out + below. + </p> + <p> + 12.2 Google may at any time, terminate its legal agreement with you if: + </p> + <p> + (A) you have breached any provision of the Terms (or have acted in manner which clearly + shows that you do not intend to, or are unable to comply with the provisions of the + Terms); or + </p> + <p> + (B) Google is required to do so by law (for example, where the provision of the Services + to you is, or becomes, unlawful); or + </p> + <p> + (C) the partner with whom Google offered the Services to you has terminated its + relationship with Google or ceased to offer the Services to you; or + </p> + <p> + (D) Google is transitioning to no longer providing the Services to users in the country + in which you are resident or from which you use the service; or + </p> + <p> + (E) the provision of the Services to you by Google is, in Google’s opinion, no longer + commercially viable. + </p> + <p> + 12.3 Nothing in this Section shall affect Google’s rights regarding provision of Services + under Section 4 of the Terms. + </p> + <p> + 12.4 When these Terms come to an end, all of the legal rights, obligations and + liabilities that you and Google have benefited from, been subject to (or which have + accrued over time whilst the Terms have been in force) or which are expressed to continue + indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 19.7 + shall continue to apply to such rights, obligations and liabilities indefinitely. + </p> + <p> + <strong>13. EXCLUSION OF WARRANTIES</strong> + </p> + <p> + 13.1 NOTHING IN THESE TERMS, INCLUDING SECTIONS 13 AND 14, SHALL EXCLUDE OR LIMIT + GOOGLE’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED + BY APPLICABLE LAW. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR + CONDITIONS OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR LOSS OR DAMAGE CAUSED BY + NEGLIGENCE, BREACH OF CONTRACT OR BREACH OF IMPLIED TERMS, OR INCIDENTAL OR CONSEQUENTIAL + DAMAGES. ACCORDINGLY, ONLY THE LIMITATIONS WHICH ARE LAWFUL IN YOUR JURISDICTION WILL + APPLY TO YOU AND OUR LIABILITY WILL BE LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW. + </p> + <p> + 13.2 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICES IS AT YOUR SOLE + RISK AND THAT THE SERVICES ARE PROVIDED "AS IS" AND “AS AVAILABLE.” + </p> + <p> + 13.3 IN PARTICULAR, GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT + REPRESENT OR WARRANT TO YOU THAT: + </p> + <p> + (A) YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS, + </p> + <p> + (B) YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR, + </p> + <p> + (C) ANY INFORMATION OBTAINED BY YOU AS A RESULT OF YOUR USE OF THE SERVICES WILL BE + ACCURATE OR RELIABLE, AND + </p> + <p> + (D) THAT DEFECTS IN THE OPERATION OR FUNCTIONALITY OF ANY SOFTWARE PROVIDED TO YOU AS + PART OF THE SERVICES WILL BE CORRECTED. + </p> + <p> + 13.4 ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SERVICES IS + DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY RESPONSIBLE FOR ANY + DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM THE + DOWNLOAD OF ANY SUCH MATERIAL. + </p> + <p> + 13.5 NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM GOOGLE OR + THROUGH OR FROM THE SERVICES SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN THE TERMS. + </p> + <p> + 13.6 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, + WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND + CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + </p> + <p> + <strong>14. LIMITATION OF LIABILITY</strong> + </p> + <p> + 14.1 SUBJECT TO OVERALL PROVISION IN PARAGRAPH 13.1 ABOVE, YOU EXPRESSLY UNDERSTAND AND + AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE + TO YOU FOR: + </p> + <p> + (A) ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH + MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY.. THIS SHALL + INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR + INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST + OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS; + </p> + <p> + (B) ANY LOSS OR DAMAGE WHICH MAY BE INCURRED BY YOU, INCLUDING BUT NOT LIMITED TO LOSS OR + DAMAGE AS A RESULT OF: + </p> + <p> + (I) ANY RELIANCE PLACED BY YOU ON THE COMPLETENESS, ACCURACY OR EXISTENCE OF ANY + ADVERTISING, OR AS A RESULT OF ANY RELATIONSHIP OR TRANSACTION BETWEEN YOU AND ANY + ADVERTISER OR SPONSOR WHOSE ADVERTISING APPEARS ON THE SERVICES; + </p> + <p> + (II) ANY CHANGES WHICH GOOGLE MAY MAKE TO THE SERVICES, OR FOR ANY PERMANENT OR TEMPORARY + CESSATION IN THE PROVISION OF THE SERVICES (OR ANY FEATURES WITHIN THE SERVICES); + </p> + <p> + (III) THE DELETION OF, CORRUPTION OF, OR FAILURE TO STORE, ANY CONTENT AND OTHER + COMMUNICATIONS DATA MAINTAINED OR TRANSMITTED BY OR THROUGH YOUR USE OF THE SERVICES; + </p> + <p> + (IV) YOUR FAILURE TO PROVIDE GOOGLE WITH ACCURATE ACCOUNT INFORMATION; + </p> + <p> + (V) YOUR FAILURE TO KEEP YOUR PASSWORD OR ACCOUNT DETAILS SECURE AND CONFIDENTIAL; + </p> + <p> + 14.2 THE LIMITATIONS ON GOOGLE’S LIABILITY TO YOU IN PARAGRAPH 14.1 ABOVE SHALL APPLY + WHETHER OR NOT GOOGLE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF + ANY SUCH LOSSES ARISING. + </p> + <p> + <strong>15. Copyright and trade mark policies</strong> + </p> + <p> + 15.1 It is Google’s policy to respond to notices of alleged copyright infringement that + comply with applicable international intellectual property law (including, in the United + States, the Digital Millennium Copyright Act) and to terminating the accounts of repeat + infringers. Details of Google’s policy can be found at http://www.google.com/dmca.html. + </p> + <p> + 15.2 Google operates a trade mark complaints procedure in respect of Google’s advertising + business, details of which can be found at http://www.google.com/tm_complaint.html. + </p> + <p> + <strong>16. Advertisements</strong> + </p> + <p> + 16.1 Some of the Services are supported by advertising revenue and may display + advertisements and promotions. These advertisements may be targeted to the content of + information stored on the Services, queries made through the Services or other + information. + </p> + <p> + 16.2 The manner, mode and extent of advertising by Google on the Services are subject to + change without specific notice to you. + </p> + <p> + 16.3 In consideration for Google granting you access to and use of the Services, you + agree that Google may place such advertising on the Services. + </p> + <p> + <strong>17. Other content</strong> + </p> + <p> + 17.1 The Services may include hyperlinks to other web sites or content or resources. + Google may have no control over any web sites or resources which are provided by + companies or persons other than Google. + </p> + <p> + 17.2 You acknowledge and agree that Google is not responsible for the availability of any + such external sites or resources, and does not endorse any advertising, products or other + materials on or available from such web sites or resources. + </p> + <p> + 17.3 You acknowledge and agree that Google is not liable for any loss or damage which may + be incurred by you as a result of the availability of those external sites or resources, + or as a result of any reliance placed by you on the completeness, accuracy or existence + of any advertising, products or other materials on, or available from, such web sites or + resources. + </p> + <p> + <strong>18. Changes to the Terms</strong> + </p> + <p> + 18.1 Google may make changes to the Universal Terms or Additional Terms from time to + time. When these changes are made, Google will make a new copy of the Universal Terms + available at http://www.google.com/chrome/intl/en/eula_text.html and any new Additional + Terms will be made available to you from within, or through, the affected Services. + </p> + <p> + 18.2 You understand and agree that if you use the Services after the date on which the + Universal Terms or Additional Terms have changed, Google will treat your use as + acceptance of the updated Universal Terms or Additional Terms. + </p> + <p> + <strong>19. General legal terms</strong> + </p> + <p> + 19.1 Sometimes when you use the Services, you may (as a result of, or in connection with + your use of the Services) use a service or download a piece of software, or purchase + goods, which are provided by another person or company. Your use of these other services, + software or goods may be subject to separate terms between you and the company or person + concerned. If so, the Terms do not affect your legal relationship with these other + companies or individuals. + </p> + <p> + 19.2 The Terms constitute the whole legal agreement between you and Google and govern + your use of the Services (but excluding any services which Google may provide to you + under a separate written agreement), and completely replace any prior agreements between + you and Google in relation to the Services. + </p> + <p> + 19.3 You agree that Google may provide you with notices, including those regarding + changes to the Terms, by email, regular mail, or postings on the Services. + </p> + <p> + 19.4 You agree that if Google does not exercise or enforce any legal right or remedy + which is contained in the Terms (or which Google has the benefit of under any applicable + law), this will not be taken to be a formal waiver of Google’s rights and that those + rights or remedies will still be available to Google. + </p> + <p> + 19.5 If any court of law, having the jurisdiction to decide on this matter, rules that + any provision of these Terms is invalid, then that provision will be removed from the + Terms without affecting the rest of the Terms. The remaining provisions of the Terms will + continue to be valid and enforceable. + </p> + <p> + 19.6 You acknowledge and agree that each member of the group of companies of which Google + is the parent shall be third party beneficiaries to the Terms and that such other + companies shall be entitled to directly enforce, and rely upon, any provision of the + Terms which confers a benefit on (or rights in favor of) them. Other than this, no other + person or company shall be third party beneficiaries to the Terms. + </p> + <p> + 19.7 The Terms, and your relationship with Google under the Terms, shall be governed by + the laws of the State of California without regard to its conflict of laws provisions. + You and Google agree to submit to the exclusive jurisdiction of the courts located within + the county of Santa Clara, California to resolve any legal matter arising from the Terms. + Notwithstanding this, you agree that Google shall still be allowed to apply for + injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction. + </p> + <p> + <strong>20. Additional Terms for Extensions for Google Chrome</strong> + </p> + <p> + 20.1 These terms in this section apply if you install extensions on your copy of Google + Chrome. Extensions are small software programs, developed by Google or third parties, + that can modify and enhance the functionality of Google Chrome. Extensions may have + greater privileges to access your browser or your computer than regular webpages, + including the ability to read and modify your private data. + </p> + <p> + 20.2 From time to time, Google Chrome may check with remote servers (hosted by Google or + by third parties) for available updates to extensions, including but not limited to bug + fixes or enhanced functionality. You agree that such updates will be automatically + requested, downloaded, and installed without further notice to you. + </p> + <p> + 20.3 From time to time, Google may discover an extension that violates Google developer + terms or other legal agreements, laws, regulations or policies. Google Chrome will + periodically download a list of such extensions from Google’s servers. You agree that + Google may remotely disable or remove any such extension from user systems in its sole + discretion. + </p> + <p> + <strong>21. Additional Terms for Enterprise Use</strong> + </p> + <p> + 21.1 If you are a business entity, then the individual accepting on behalf of the entity + (for the avoidance of doubt, for business entities, in these Terms, "you" means the + entity) represents and warrants that he or she has the authority to act on your behalf, + that you represent that you are duly authorized to do business in the country or + countries where you operate, and that your employees, officers, representatives, and + other agents accessing the Service are duly authorized to access Google Chrome and to + legally bind you to these Terms. + </p> + <p> + 21.2 Subject to the Terms, and in addition to the license grant in Section 9, Google + grants you a non-exclusive, non-transferable license to reproduce, distribute, install, + and use Google Chrome solely on machines intended for use by your employees, officers, + representatives, and agents in connection with your business entity, and provided that + their use of Google Chrome will be subject to the Terms. + </p> + <p> + August 12, 2010 + </p><br> + <hr> + <br> + <h2> + Google Chrome Additional Terms of Service + </h2> + <p> + <strong>MPEGLA</strong> + </p> + <p> + THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL AND + NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD + ( “AVC VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A + PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PARTNER LICENSED TO + PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE. + ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM. + </p> + <p> + <strong>Adobe</strong> + </p> + <p> + Google Chrome may include one or more components provided by Adobe Systems Incorporated + and Adobe Software Ireland Limited (collectively “Adobe”). Your use of the Adobe software + as provided by Google (“Adobe Software”) is subject to the following additional terms + (the “Adobe Terms”). You, the entity receiving the Adobe Software, will be hereinafter + referred to as “Sublicensee.” + </p> + <p> + 1. License Restrictions. + </p> + <p> + (a) Flash Player, Version 10.x is designed only as a browser plug-in. Sublicensee may not + modify or distribute this Adobe Software for use as anything but a browser plug-in for + playing back content on a web page. For example, Sublicensee will not modify this Adobe + Software in order to allow interoperation with applications that run outside of the + browser (e.g., standalone applications, widgets, device UI). + </p> + <p> + (b) Sublicensee will not expose any APIs of the Flash Player, Version 10.x through a + browser plug-in interface in such a way that allows such extension to be used to playback + content from a web page as a stand-alone application. + </p> + <p> + (c) The Chrome-Reader Software may not be used to render any PDF or EPUB documents that + utilize digital rights management protocols or systems other than Adobe DRM. + </p> + <p> + (d) Adobe DRM must be enabled in the Chrome-Reader Software for all Adobe DRM protected + PDF and EPUB documents. + </p> + <p> + (e) The Chrome-Reader Software may not, other than as explicitly permitted by the + technical specifications, disable any capabilities provided by Adobe in the Adobe + Software, including but not limited to, support for PDF and EPUB formats and Adobe DRM. + </p> + <p> + 2. Electronic Transmission. Sublicensee may allow the download of the Adobe Software from + a web site, the Internet, an intranet, or similar technology (an, “Electronic + Transmissions”) provided that Sublicensee agrees that any distributions of the Adobe + Software by Sublicensee, including those on CD-ROM, DVD-ROM or other storage media and + Electronic Transmissions, if expressly permitted, shall be subject to reasonable security + measures to prevent unauthorized use. With relation to Electronic Transmissions approved + hereunder, Sublicensee agrees to employ any reasonable use restrictions set by Adobe, + including those related to security and/or the restriction of distribution to end users + of the Sublicensee Product. + </p> + <p> + 3. EULA and Distribution Terms. + </p> + <p> + (a) Sublicensee shall ensure that the Adobe Software is distributed to end users under an + enforceable end user license agreement, in favor of Sublicensee and its suppliers + containing at least each of the following minimum terms (the “End-User License”): (i) a + prohibition against distribution and copying, (ii) a prohibition against modifications + and derivative works, (iii) a prohibition against decompiling, reverse engineering, + disassembling, and otherwise reducing the Adobe Software to a human-perceivable form, + (iv) a provision indicating ownership of Sublicensee Product (as defined in Section 8) by + Sublicensee and its licensors, (v) a disclaimer of indirect, special, incidental, + punitive, and consequential damages, and (vi) other industry standard disclaimers and + limitations, including, as applicable: a disclaimer of all applicable statutory + warranties, to the full extent allowed by law. + </p> + <p> + (b) Sublicensee shall ensure that the Adobe Software is distributed to Sublicensee’s + distributors under an enforceable distribution license agreement, in favor of Sublicensee + and its suppliers containing terms as protective of Adobe as the Adobe Terms. + </p> + <p> + 4. Opensource. Sublicensee will not directly or indirectly grant, or purport to grant, to + any third party any rights or immunities under Adobe’s intellectual property or + proprietary rights that will subject such intellectual property to an open source license + or scheme in which there is or could be interpreted to be a requirement that as a + condition of use, modification and/or distribution, the Adobe Software be: (i) disclosed + or distributed in source code form; (ii) licensed for the purpose of making derivative + works; or (iii) redistributable at no charge. For clarification purposes, the foregoing + restriction does not preclude Sublicensee from distributing, and Sublicensee will + distribute the Adobe Software as bundled with the Google Software, without charge. + </p> + <p> + 5. Additional Terms. With respect to any update, upgrade, new versions of the Adobe + Software (collectively “Upgrades”) provided to Sublicenses, Adobe reserves the right to + require additional terms and conditions applicable solely to the Upgrade and future + versions thereof, and solely to the extent that such restrictions are imposed by Adobe on + all licensees of such Upgrade. If Sublicensee does not agree to such additional terms or + conditions, Sublicensee will have no license rights with respect to such Upgrade, and + Sublicensee’s license rights with respect to the Adobe Software will terminate + automatically on the 90th day from the date such additional terms are made available to + Sublicensee. + </p> + <p> + 6. Proprietary Rights Notices. Sublicensee shall not, and shall require its distributors + not to, delete or in any manner alter the copyright notices, trademarks, logos or related + notices, or other proprietary rights notices of Adobe (and its licensors, if any) + appearing on or within the Adobe Software or accompanying materials. + </p> + <p> + 7. Technical Requirements. Sublicensee and its distributors may only distribute Adobe + Software and/or Upgrade on devices that (i) meet the technical specifications posted on + http://www.adobe.com/mobile/licensees, (or a successor web site thereto), and (ii) has + been verified by Adobe as set forth below. + </p> + <p> + 8. Verification and Update. Sublicensee must submit to Adobe each Sublicensee product + (and each version thereof) containing the Adobe Software and/or Upgrade (“Sublicensee + Product”) that do not meet the Device Verification exemption criteria to be communicated + by Google, for Adobe to verify. Sublicensee shall pay for each submission made by + Sublicensee by procuring verification packages at Adobe’s then-current terms set forth at + http://flashmobile.adobe.com/. Sublicensee Product that has not passed verification may + not be distributed. Verification will be accomplished in accordance with Adobe’s + then-current process described at http://flashmobile.adobe.com/ (“Verification”). + </p> + <p> + 9. Profiles and Device Central. Sublicensee will be prompted to enter certain profile + information about the Sublicensee Products either as part of the Verification process or + some other method, and Sublicensee will provide such information, to Adobe. Adobe may (i) + use such profile information as reasonably necessary to verify the Sublicensee Product + (if such product is subject to Verification), and (ii) display such profile information + in “Adobe Device Intelligence system,” located at + https://devices.adobe.com/partnerportal/, and made available through Adobe’s authoring + and development tools and services to enable developers and end users to see how content + or applications are displayed in Sublicensee Products (e.g. how video images appear in + certain phones). + </p> + <p> + 10. Export. Sublicensee acknowledges that the laws and regulations of the United States + restrict the export and re-export of commodities and technical data of United States + origin, which may include the Adobe Software. Sublicensee agrees that it will not export + or re-export the Adobe Software, without the appropriate United States and foreign + governmental clearances, if any. + </p> + <p> + 11. Technology Pass-through Terms. + </p> + <p> + (a) Except pursuant to applicable permissions or agreements therefor, from or with the + applicable parties, Sublicensees shall not use and shall not allow the use of, the Adobe + Software for the encoding or decoding of mp3 audio only (.mp3) data on any non-pc device + (e.g., mobile phone or set-top box), nor may the mp3 encoders or decoders contained in + the Adobe Software be used or accessed by any product other than the Adobe Software. The + Adobe Software may be used for the encoding or decoding of MP3 data contained within a + swf or flv file, which contains video, picture or other data. Sublicensee shall + acknowledge that use of the Adobe Software for non-PC devices, as described in the + prohibitions in this section, may require the payment of licensing royalties or other + amounts to third parties who may hold intellectual property rights related to the MP3 + technology and that Adobe nor Sublicensee has not paid any royalties or other amounts on + account of third party intellectual property rights for such use. If Sublicensee requires + an MP3 encoder or decoder for such use, Sublicensee is responsible for obtaining the + necessary intellectual property license, including any applicable patent rights. + </p> + <p> + (b) Sublicensee will not use, copy, reproduce and modify (i) the On2 source code + (provided hereunder as a component of the Source Code) as necessary to enable the Adobe + Software to decode video in the Flash video file format (.flv or .f4v), and (ii) the + Sorenson Spark source code (provided hereunder as a component of the Source Code) for the + limited purpose of making bug fixes and performance enhancements to the Adobe Software. + All codecs provided with the Adobe Software may only be used and distributed as an + integrated part of the Adobe Software and may not be accessed by any other application, + including other Google applications. + </p> + <p> + (c) The Source Code may be provided with an AAC codec and/or HE-AAC codec (“the AAC + Codec”). Use of the AAC Codec is conditioned on Sublicensee obtaining a proper patent + license covering necessary patents as provided by VIA Licensing, for end products on or + in which the AAC Codec will be used. Sublicensee acknowledges and agrees that Adobe is + not providing a patent license for an AAC Codec under this Agreement to Sublicensee or + its sublicensees. + </p> + <p> + (d) THE SOURCE CODE MAY CONTAIN CODE LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR + THE PERSONAL NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE + AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER + ENGAGED IN A PERSONAL NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER + LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR WILL BE IMPLIED FOR ANY OTHER + USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. See + http://www.mpegla.com + </p> + <p> + 12. Update. Sublicensee will not circumvent Google’s or Adobe’s efforts to update the + Adobe Software in all Sublicensee’s products incorporating the Adobe Software as bundled + with the Google Software (“Sublicensee Products”). + </p> + <p> + 13. Attribution and Proprietary Notices. Sublicensee will list the Adobe Software in + publicly available Sublicensee Product specifications and include appropriate Adobe + Software branding (specifically excluding the Adobe corporate logo) on the Sublicensee + Product packaging or marketing materials in a manner consistent with branding of other + third party products contained within the Sublicensee Product. + </p> + <p> + 14. No Warranty. THE ADOBE SOFTWARE IS MADE AVAILABLE TO SUBLICENSEE FOR USE AND + REPRODUCTION “AS IS” AND ADOBE MAKES NO WARRANTY AS TO ITS USE OR PERFORMANCE. ADOBE AND + ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS OBTAINED BY USING THE + ADOBE SOFTWARE. EXCEPT FOR ANY WARRANTY, CONDITION, REPRESENTATION OR TERM TO THE EXTENT + TO WHICH THE SAME CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO + SUBLICENSEEIN SUBLICENSEE’S JURISDICTION, ADOBE AND ITS SUPPLIERS MAKE NO WARRANTIES, + CONDITIONS, REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW, + CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION NONINFRINGEMENT + OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, OR FITNESS FOR + ANY PARTICULAR PURPOSE. SUBLICENSEE AGREES THAT SUBLICENSEE SHALL NOT MAKE ANY WARRANTY, + EXPRESS OR IMPLIED, ON BEHALF OF ADOBE. + </p> + <p> + 15. Limitation of Liability. IN NO EVENT WILL ADOBE OR ITS SUPPLIERS BE LIABLE TO + SUBLICENSEE FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL, INDIRECT, + OR INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS, EVEN IF AN ADOBE + REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS + OR FOR ANY CLAIM BY ANY THIRD PARTY. THE FOREGOING LIMITATIONS AND EXCLUSIONS APPLY TO + THE EXTENT PERMITTED BY APPLICABLE LAW IN SUBLICENSEE’S JURISDICTION. ADOBE’S AGGREGATE + LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE + LIMITED TO ONE THOUSAND DOLLARS (US$1,000). Nothing contained in this Agreement limits + Adobe’s liability to Sublicensee in the event of death or personal injury resulting from + Adobe’s negligence or for the tort of deceit (fraud). Adobe is acting on behalf of its + suppliers for the purpose of disclaiming, excluding and/or limiting obligations, + warranties and liability as provided in this Agreement, but in no other respects and for + no other purpose. + </p> + <p> + 16. Content Protection Terms + </p> + <p> + (a) Definitions. + </p> + <p> + “Compliance and Robustness Rules” means the document setting forth compliance and + robustness rules for the Adobe Software located at http://www.adobe.com/mobile/licensees, + or a successor web site thereto. + </p> + <p> + “Content Protection Functions” means those aspects of the Adobe Software that are + designed to ensure compliance with the Compliance and Robustness Rules, and to prevent + playback, copying, modification, redistribution or other actions with respect to digital + content distributed for consumption by users of the Adobe Software when such actions are + not authorized by the owners of such digital content or its licensed distributors. + </p> + <p> + “Content Protection Code” means code within certain designated versions of the Adobe + Software that enables certain Content Protection Functions. + </p> + <p> + “Key” means a cryptographic value contained in the Adobe Software for use in decrypting + digital content. + </p> + <p> + (b) License Restrictions. Sublicensee’s right to exercise the licenses with respect to + the Adobe Software is subject to the following additional restrictions and obligations. + Sublicensee will ensure that Sublicensee’s customers comply with these restrictions and + obligations to the same extent imposed on Sublicensee with respect to the Adobe Software; + any failure by Sublicensee’s customers to comply with these additional restrictions and + obligations shall be treated as a material breach by Sublicensee. + </p> + <p> + b.1. Sublicensee and customers may only distribute the Adobe Software that meets the + Robustness and Compliance Rules as so confirmed by Sublicensee during the verification + process described above in the Adobe Terms. + </p> + <p> + b.2. Sublicensee shall not (i) circumvent the Content Protection Functions of either the + Adobe Software or any related Adobe Software that is used to encrypt or decrypt digital + content for authorized consumption by users of the Adobe Software, or (ii) develop or + distribute products that are designed to circumvent the Content Protection Functions of + either the Adobe Software or any Adobe Software that is used to encrypt or decrypt + digital content for authorized consumption by users of the Adobe Software. + </p> + <p> + (c) The Keys are hereby designated as Adobe’s Confidential Information, and Sublicensee + will, with respect to the Keys, adhere to Adobe’s Source Code Handling Procedure (to be + provided by Adobe upon request). + </p> + <p> + (d) Injunctive Relief. Sublicensee agrees that a breach of this Agreement may compromise + the Content Protection Functions of the Adobe Software and may cause unique and lasting + harm to the interests of Adobe and owners of digital content that rely on such Content + Protection Functions, and that monetary damages may be inadequate to compensate fully for + such harm. Therefore, Sublicensee further agrees that Adobe may be entitled to seek + injunctive relief to prevent or limit the harm caused by any such breach, in addition to + monetary damages. + </p> + <p> + 17. Intended Third-party Beneficiary. Adobe Systems Incorporated and Adobe Software + Ireland Limited are the intended third-party beneficiaries of Google’s agreement with + Sublicensee with respect to the Adobe Software, including but not limited to, the Adobe + Terms. Sublicensee agrees, notwithstanding anything to the contrary in its agreement with + Google, that Google may disclose Sublicensee’s identity to Adobe and certify in writing + that Sublicensee has entered into a license agreement with Google which includes the + Adobe Terms. Sublicensee must have an agreement with each of its licensees, and if such + licensees are allowed to redistribute the Adobe Software, such agreement will include the + Adobe Terms. + </p> + </div> + </div> + +</body></html>
\ No newline at end of file diff --git a/abs/extra/google-chrome/google-chrome.install b/abs/extra/google-chrome/google-chrome.install index 4b923b2..c958cc3 100644 --- a/abs/extra/google-chrome/google-chrome.install +++ b/abs/extra/google-chrome/google-chrome.install @@ -1,16 +1,39 @@ -post_install() { +# Colored makepkg-like functions +msg_blue() { + printf "${blue}==>${bold} $1${all_off}\n" +} + +note() { + printf "${blue}==>${yellow} NOTE:${bold} $1${all_off}\n" +} + +all_off="$(tput sgr0)" +bold="${all_off}$(tput bold)" +blue="${bold}$(tput setaf 4)" +yellow="${bold}$(tput setaf 3)" + +_update() { + msg_blue "Updating desktop MIME database..." + update-desktop-database -q + msg_blue "Updating icon cache.." gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_install() { + _update if [ ! -e /usr/bin/chromium ]; then ln -s /usr/bin/google-chrome /usr/bin/chromium fi } + post_upgrade() { post_install } + post_remove() { - gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + _update if [ -h /usr/bin/chromium ]; then rm /usr/bin/chromium fi diff --git a/abs/extra/graphite/PKGBUILD b/abs/extra/graphite/PKGBUILD new file mode 100644 index 0000000..0d8cc87 --- /dev/null +++ b/abs/extra/graphite/PKGBUILD @@ -0,0 +1,63 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +pkgname=graphite +pkgver=1.2.4 +pkgrel=1 +epoch=1 +arch=('i686' 'x86_64') +url="http://projects.palaso.org/projects/graphitedev" +pkgdesc='reimplementation of the SIL Graphite text processing engine' +license=('LGPL' 'GPL' 'custom') +depends=('gcc-libs') +makedepends=('cmake' 'freetype2' 'python2') + # - only for docs - target doesn't install properly + # 'doxygen' 'texlive-latexextra' 'graphviz' 'asciidoc' 'perl-module-build' 'icu') # builds doc properly? 'texlive-helvetic' seems to be missing +options=('!emptydirs') +source=(http://downloads.sourceforge.net/project/silgraphite/graphite2/graphite2-${pkgver}.tgz + graphite2-1.2.0-cmakepath.patch) +md5sums=('2ef839348fe28e3b923bf8cced440227' + '00353b67941dbc30b76a43253760769e') + +build() { + cd "${srcdir}" + + # python2 fixes + sed -i "s:\/usr\/bin\/python:\/usr\/bin\/python2:" graphite2-${pkgver}/tests/{jsoncmp,fuzztest,defuzz,corrupt.py} + + # fix install path - .cmake files contain architecture dependend content - patch taken from FC/Slackware + pushd graphite2-${pkgver} + patch -Np1 -i ${srcdir}/graphite2-1.2.0-cmakepath.patch + popd + + mkdir build + cd build + cmake -G "Unix Makefiles" ../graphite2-${pkgver} \ + -DCMAKE_C_FLAGS:STRING="${CFLAGS}" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DGRAPHITE2_COMPARE_RENDERER=OFF \ + #-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON # remove when docs install target will be fixed + + # fix unwanted -O3 cflag (taken form Debian) + find . -type f ! -name "rules" ! -name "changelog" -exec sed -i -e 's/\-O3//g' {} \; + + make + #make docs +} + +check() { + cd "${srcdir}"/build + sed -i "s:python:python2:g" tests/CTestTestfile.cmake + ctest +} + +package() { + cd "${srcdir}"/build + # FIXME: all target doesn't install the docs target files + make DESTDIR="$pkgdir/" install + + # licenses + mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname} + install -m644 "${srcdir}"/graphite2-${pkgver}/COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/ +} diff --git a/abs/extra/graphite/graphite2-1.2.0-cmakepath.patch b/abs/extra/graphite/graphite2-1.2.0-cmakepath.patch new file mode 100644 index 0000000..ee71cd6 --- /dev/null +++ b/abs/extra/graphite/graphite2-1.2.0-cmakepath.patch @@ -0,0 +1,9 @@ +diff -urN graphite2-1.2.0.orig/src/CMakeLists.txt graphite2-1.2.0/src/CMakeLists.txt +--- graphite2-1.2.0.orig/src/CMakeLists.txt 2013-01-29 15:47:32.465841769 +0530 ++++ graphite2-1.2.0/src/CMakeLists.txt 2013-01-29 15:48:24.056843352 +0530 +@@ -136,4 +136,4 @@ + + + install(TARGETS graphite2 EXPORT graphite2 LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX} PUBLIC_HEADER DESTINATION include/graphite2 RUNTIME DESTINATION bin) +-install(EXPORT graphite2 DESTINATION share/graphite2 NAMESPACE gr2_) ++install(EXPORT graphite2 DESTINATION lib${LIB_SUFFIX}/graphite2 NAMESPACE gr2_) diff --git a/abs/extra/handbrake/PKGBUILD b/abs/extra/handbrake/PKGBUILD index e2b4833..f7cef21 100644 --- a/abs/extra/handbrake/PKGBUILD +++ b/abs/extra/handbrake/PKGBUILD @@ -5,7 +5,7 @@ pkgname=('handbrake' 'handbrake-cli') pkgver=0.9.9 -pkgrel=5 +pkgrel=6 arch=('i686' 'x86_64') url="http://handbrake.fr/" license=('GPL') diff --git a/abs/extra/harfbuzz/PKGBUILD b/abs/extra/harfbuzz/PKGBUILD new file mode 100644 index 0000000..c9f550f --- /dev/null +++ b/abs/extra/harfbuzz/PKGBUILD @@ -0,0 +1,46 @@ +# $Id$ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgbase=(harfbuzz) +pkgname=(harfbuzz harfbuzz-icu) +pkgver=0.9.19 +pkgrel=1 +pkgdesc="OpenType text shaping engine" +arch=(i686 x86_64) +url="http://www.freedesktop.org/wiki/Software/HarfBuzz" +license=(MIT) +makedepends=(glib2 freetype2 graphite cairo icu) +options=(!libtool) +source=(http://www.freedesktop.org/software/harfbuzz/release/${pkgbase}-${pkgver}.tar.bz2) +sha256sums=('d2da0f060d47f6ad9de8c8781bb21fa4b9eae8ea1cd1e956b814095baa002f35') + +build() { + cd $pkgbase-$pkgver + ./configure --prefix=/usr \ + --with-glib --with-freetype --with-cairo --with-icu --with-graphite2 + make +} + +package_harfbuzz() { + depends=(glib2 freetype2 graphite) + optdepends=('cairo: hb-view program') + + cd $pkgbase-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/harfbuzz/COPYING" + +# Split harfbuzz-icu + mkdir -p ../hb-icu/usr/{include/harfbuzz,lib/pkgconfig}; cd ../hb-icu + mv "$pkgdir"/usr/lib/libharfbuzz-icu* ./usr/lib + mv "$pkgdir"/usr/lib/pkgconfig/harfbuzz-icu.pc ./usr/lib/pkgconfig + mv "$pkgdir"/usr/include/harfbuzz/hb-icu.h ./usr/include/harfbuzz +} + +package_harfbuzz-icu(){ + pkgdesc="$pkgdesc (ICU integration)" + depends=(harfbuzz icu) + + mv hb-icu/* "$pkgdir" + + install -Dm644 $pkgbase-$pkgver/COPYING "$pkgdir/usr/share/licenses/harfbuzz-icu/COPYING" +} diff --git a/abs/extra/hddtemp/PKGBUILD b/abs/extra/hddtemp/PKGBUILD index 94073ce..dcf2b6b 100644 --- a/abs/extra/hddtemp/PKGBUILD +++ b/abs/extra/hddtemp/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 163630 2012-07-17 14:24:03Z bisson $ +# $Id: PKGBUILD 198097 2013-10-30 12:47:12Z allan $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -9,24 +9,18 @@ pkgname=hddtemp _origver=0.3-beta15 _patchver=${_origver}-52 pkgver=${_patchver//-/.} -pkgrel=1 +pkgrel=2 pkgdesc="Gives you the temperature of your hard drive by reading S.M.A.R.T. information" url='https://savannah.nongnu.org/projects/hddtemp/' license=('GPL') arch=('i686' 'x86_64') -backup=('etc/conf.d/hddtemp') source=("http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${_origver}.tar.bz2" "http://ftp.debian.org/debian/pool/main/h/${pkgname}/${pkgname}_${_patchver}.diff.gz" - 'rc.d' - 'conf.d' 'service') sha1sums=('65393b0a4d9862c030c81702d95c1acd00da275b' 'b9bcdd0537c1540e55e5056445b571ea61d5a4a3' - '71159486b1505ec6acfb7585e0d8fbe78afe54ec' - 'd45e3022f614dbf8904ecb1a3e702bb71fcaa808' - '501fcf4faf8b2689d010f9cbbf39f917211f611f') + '9b02e5bed22f81ceab2b69bae788a9a3aa5c2147') -options=('!libtool') build() { cd "${srcdir}/${pkgname}-${_origver}" @@ -35,6 +29,7 @@ build() { ./configure \ --prefix=/usr \ + --sbindir=/usr/bin \ --mandir=/usr/share/man \ --with-db-path="/usr/share/${pkgname}/hddtemp.db" @@ -48,6 +43,4 @@ package() { install -Dm644 "../${pkgname}-${_origver}/debian/hddtemp.db" "${pkgdir}/usr/share/${pkgname}/hddtemp.db" install -Dm644 '../service' "${pkgdir}/usr/lib/systemd/system/hddtemp.service" - install -Dm644 '../conf.d' "${pkgdir}/etc/conf.d/hddtemp" - install -Dm755 '../rc.d' "${pkgdir}/etc/rc.d/hddtemp" } diff --git a/abs/extra/hddtemp/conf.d b/abs/extra/hddtemp/conf.d deleted file mode 100644 index 6a1e18e..0000000 --- a/abs/extra/hddtemp/conf.d +++ /dev/null @@ -1,2 +0,0 @@ -PARAMS="-q -l 127.0.0.1" -DRIVES="/dev/sda" diff --git a/abs/extra/hddtemp/rc.d b/abs/extra/hddtemp/rc.d deleted file mode 100644 index 62f0908..0000000 --- a/abs/extra/hddtemp/rc.d +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PARAMS= -DRIVES= -[ -f /etc/conf.d/hddtemp ] && . /etc/conf.d/hddtemp -PID=$(pidof -o %PPID /usr/sbin/hddtemp) -case "$1" in - start) - stat_busy "Starting HDDTemp" - [ -z "$PID" ] && /usr/sbin/hddtemp -d $PARAMS $DRIVES - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon hddtemp - stat_done - fi - ;; - stop) - stat_busy "Stopping HDDTemp" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon hddtemp - stat_done - fi - ;; - restart) - $0 stop - sleep 2 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/hddtemp/service b/abs/extra/hddtemp/service index bc56d16..992b898 100644 --- a/abs/extra/hddtemp/service +++ b/abs/extra/hddtemp/service @@ -2,8 +2,7 @@ Description=Hard drive temperature monitor daemon [Service] -EnvironmentFile=/etc/conf.d/hddtemp -ExecStart=/usr/sbin/hddtemp -dF $PARAMS $DRIVES +ExecStart=/usr/bin/hddtemp -dF /dev/sda [Install] WantedBy=multi-user.target diff --git a/abs/extra/htop/PKGBUILD b/abs/extra/htop/PKGBUILD index 93b4db6..1ba9d94 100644 --- a/abs/extra/htop/PKGBUILD +++ b/abs/extra/htop/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 170397 2012-11-07 01:25:17Z dreisner $ +# $Id$ # Maintainer: Angel Velasquez <angvp@archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=htop -pkgver=1.0.2 +pkgver=1.0.3 pkgrel=1 pkgdesc="Interactive process viewer" arch=('i686' 'x86_64') @@ -15,14 +15,18 @@ makedepends=('python2') optdepends=('lsof: show files opened by a process' 'strace: attach to a running process') options=('!emptydirs') -source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz") -md5sums=('0d01cca8df3349c74569cefebbd9919e') +source=("http://hisham.hm/$pkgname/releases/$pkgver/$pkgname-$pkgver.tar.gz") +md5sums=('e768b9b55c033d9c1dffda72db3a6ac7') -build() { +prepare() { cd "$pkgname-$pkgver" sed -i 's|ncursesw/curses.h|curses.h|' RichString.[ch] configure sed -i 's|python|python2|' scripts/MakeHeader.py +} + +build() { + cd "$pkgname-$pkgver" ./configure \ --prefix=/usr \ diff --git a/abs/extra/huludesktop/PKGBUILD b/abs/extra/huludesktop/PKGBUILD index d47f165..c896f7e 100644 --- a/abs/extra/huludesktop/PKGBUILD +++ b/abs/extra/huludesktop/PKGBUILD @@ -1,30 +1,31 @@ pkgname=huludesktop -pkgver=0.2 -pkgrel=6 +pkgver=0.9.8 +pkgrel=1 pkgdesc="Hulu Desktop for Linux" -arch=(i686 'x86_64') +arch=('x86_64') url="http://www.hulu.com/labs/hulu-desktop-linux" -license=('unknown') -makedepends=('deb2targz') -depends=('glib2' 'gtk2' 'lirc' 'flashplugin' 'linhes-scripts>=7-29' ) +license=('custom') +depends=('glib2' 'gtk2' 'lirc' 'flashplugin') backup=('home/mythtv/.huludesktop') install=huludesktop.install options=('') -source=('http://download.hulu.com/huludesktop_i386.deb' 'huludesktop' 'huludesktop.sh' 'huludesktop_is.conf') +source=('http://download.hulu.com/huludesktop_amd64.deb' 'huludesktop' 'huludesktop.sh' 'huludesktop_is.conf') . /usr/MythVantage/bin/install_functions.sh home_check -build() { - cd $startdir/src - deb2targz huludesktop_i386.deb - tar -xzvf huludesktop_i386.tar.gz -C $pkgdir + +package() { + cd $srcdir + ar p huludesktop_amd64.deb data.tar.gz | (cd $pkgdir; bsdtar xf -) mkdir -p $pkgdir/$MYTHHOME mkdir -p $pkgdir/usr/LH/bin cp huludesktop $pkgdir/$MYTHHOME/.huludesktop install -D -m755 huludesktop.sh ${pkgdir}/usr/LH/bin + #add in file for gen_is.xml install -D -m0744 ${srcdir}/huludesktop_is.conf ${pkgdir}/etc/gen_is_xml.d/huludesktop_is.conf } -md5sums=('d9b27d1837ab86526100964e80c3cdd1' - '935d923b90abaa4b1838a5e6b23e704e' + +md5sums=('bccc94d7f327989dab2653d254f40869' + '77b7241a4ec8402ba37f1f1811336ea3' '8f7dbf19d6168bc3a5b0c1da1c878693' - '36fb8d9af1ff8a0b8634e7dbddaf975f') + '224ed61a3ecfd6aa37d27d1c71426a3c') diff --git a/abs/extra/huludesktop/huludesktop b/abs/extra/huludesktop/huludesktop index c3fc9a5..dee8778 100644 --- a/abs/extra/huludesktop/huludesktop +++ b/abs/extra/huludesktop/huludesktop @@ -1,9 +1,9 @@ [display] fullscreen = TRUE -width = 1024 -height = 576 -pos_x = 201 -pos_y = 179 +width = 1920 +height = 1080 +pos_x = 0 +pos_y = 0 [remote] lirc_device = /var/run/lirc/lircd @@ -22,4 +22,4 @@ flash_location = /usr/lib/mozilla/plugins/libflashplayer.so [version] latest = (null) -eula_version = 0 +eula_version = 1 diff --git a/abs/extra/huludesktop/huludesktop.install b/abs/extra/huludesktop/huludesktop.install index e567a48..abe069f 100644 --- a/abs/extra/huludesktop/huludesktop.install +++ b/abs/extra/huludesktop/huludesktop.install @@ -2,11 +2,13 @@ post_install() { gen_is_xml.py chown mythtv.mythtv $MYTHHOME/.huludesktop + echo "Set your screen width and height in ~/.huludesktop to avoid a segfault." } # arg 1: the new package version # arg 2: the old package version post_upgrade() { gen_is_xml.py + echo "Set your screen width and height in ~/.huludesktop to avoid a segfault." } post_remove() { gen_is_xml.py diff --git a/abs/extra/huludesktop/huludesktop_is.conf b/abs/extra/huludesktop/huludesktop_is.conf index dba4076..2a83db7 100644 --- a/abs/extra/huludesktop/huludesktop_is.conf +++ b/abs/extra/huludesktop/huludesktop_is.conf @@ -1,8 +1,9 @@ <!--#Hulu--> - <button> - <type>STREAM</type> - <text>Hulu Desktop</text> - <action>EXEC huludesktop.sh</action> - </button> + <button> + <type>STREAM</type> + <text>Hulu Desktop</text> + <description>Open Hulu Desktop</description> + <action>EXEC huludesktop.sh</action> + </button> <!--#Hulu--> diff --git a/abs/extra/icu/PKGBUILD b/abs/extra/icu/PKGBUILD index 95b0fab..bf029ee 100644 --- a/abs/extra/icu/PKGBUILD +++ b/abs/extra/icu/PKGBUILD @@ -4,7 +4,7 @@ pkgname=icu pkgver=49.1.2 -pkgrel=1 +pkgrel=2 pkgdesc="International Components for Unicode library" arch=(i686 x86_64) url="http://www.icu-project.org/" @@ -13,8 +13,6 @@ depends=('gcc-libs' 'sh') source=(#http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver/./_}-src.tgz http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz icu.8198.revert.icu5431.patch) -md5sums=('bbc609fe5237202d7abf016141012a45' - 'ebd5470fc969c75e52baf4af94a9ee82') build() { cd ${srcdir}/icu/source @@ -22,6 +20,7 @@ build() { patch -Rp3 -i ${srcdir}/icu.8198.revert.icu5431.patch ./configure --prefix=/usr \ --sysconfdir=/etc \ + --sbindir=/usr/bin \ --mandir=/usr/share/man make } @@ -33,3 +32,5 @@ package() { # Install license install -Dm644 ${srcdir}/icu/license.html ${pkgdir}/usr/share/licenses/icu/license.html } +md5sums=('bbc609fe5237202d7abf016141012a45' + 'ebd5470fc969c75e52baf4af94a9ee82') diff --git a/abs/extra/ifenslave/PKGBUILD b/abs/extra/ifenslave/PKGBUILD index a730f2f..9747bc9 100644 --- a/abs/extra/ifenslave/PKGBUILD +++ b/abs/extra/ifenslave/PKGBUILD @@ -1,21 +1,17 @@ -# $Id: PKGBUILD 142704 2011-11-13 10:10:10Z bisson $ -# Maintainer: +# $Id$ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=ifenslave pkgver=1.1.0 -pkgrel=7 +pkgrel=8 pkgdesc='Utility for bonding ethernet interfaces' -arch=('i686' 'x86_64') url='http://www.linuxfoundation.org/en/Net:Bonding' +arch=('i686' 'x86_64') license=('GPL2') -depends=('glibc') makedepends=('linux-api-headers') -backup=('etc/conf.d/bonding') -source=(ifenslave.c::'http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/networking/ifenslave.c;h=65968fbf' - 'bonding.conf.d') -sha1sums=('c657d9e6b8acb983bb8ef856f8f7f25ee6bf4f73' - '6843971c0254768868b556af33289d7d32d6208d') +source=(ifenslave.c::'http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/networking/ifenslave.c;h=450faacc') +sha1sums=('cf0ca36e4a82f259f4bd5d7268ce758581a76fb0') build() { cd "${srcdir}" @@ -24,6 +20,5 @@ build() { package() { cd "${srcdir}" - install -Dm755 ifenslave "${pkgdir}"/sbin/ifenslave - install -Dm644 bonding.conf.d "${pkgdir}"/etc/conf.d/bonding + install -Dm755 ifenslave "${pkgdir}"/usr/bin/ifenslave } diff --git a/abs/extra/ifenslave/bonding.conf.d b/abs/extra/ifenslave/bonding.conf.d deleted file mode 100644 index 3092c5e..0000000 --- a/abs/extra/ifenslave/bonding.conf.d +++ /dev/null @@ -1,12 +0,0 @@ -# -# Settings for ethernet bonding -# -# For each bond interface declared in INTERFACES (in rc.conf), declare -# a bond_${IF} variable that contains the real ethernet interfaces that -# should be bonded to the bond interface with the ifenslave utility. -# Then list the bond interface name in the BOND_INTERFACES array. -# - -#bond_bond0="eth0 eth1" -#BOND_INTERFACES=(bond0) - diff --git a/abs/extra/inadyn/PKGBUILD b/abs/extra/inadyn/PKGBUILD index 2cbd9c8..e674492 100644 --- a/abs/extra/inadyn/PKGBUILD +++ b/abs/extra/inadyn/PKGBUILD @@ -1,20 +1,33 @@ +# Maintainer: megadriver <megadriver at gmx dot com> +# Contributor: Dag Odenhall <dag.odenhall@gmail.com> +# Contributor: Inxsible <inxsible at gmail dot com> +# Contributor: Frikilinux <frikilinux at frikilinux.com.ar> + pkgname=inadyn pkgver=1.96.2 -pkgrel=4 -pkgdesc="Simple dynamic DNS client" -url="http://www.dyndns.com/support/kb/using_inadyn_with_dyndns_services.html" -makedepends=('unzip') +pkgrel=5 +pkgdesc="A simple dynamic DNS updater" arch=('i686' 'x86_64') +url="http://www.inatech.eu/inadyn/" license=('GPL') -source=(http://cdn.dyndns.com/$pkgname.zip run) - +depends=('bash') +backup=(etc/inadyn.conf) +source=("http://www.inatech.eu/inadyn/inadyn.v$pkgver.zip" inadyn.conf inadyn.service) +md5sums=('702a127f13b96eee38d60c6f30b20efa' + 'f910c5778add779dfef4d680108513a2' + '85d2fbe3b45aba719fcb6f7085a3ae47') build() { - cd $startdir/src/$pkgname - install -m755 -D bin/linux/$pkgname $startdir/pkg/usr/sbin/$pkgname - install -m644 -D man/$pkgname.8 $startdir/pkg/usr/man/man8/$pkgname.8 - install -m644 -D man/$pkgname.conf.5 $startdir/pkg/usr/man/man5/$pkgname.conf.5 - install -m755 -D ../run $startdir/pkg/etc/sv/inadyn/run + cd "$srcdir/inadyn" + make +} + +package() { + cd "$srcdir/inadyn" + install -Dm755 bin/linux/inadyn $pkgdir/usr/bin/inadyn + install -Dm644 man/inadyn.8 $pkgdir/usr/share/man/man8/inadyn.8 + install -Dm644 man/inadyn.conf.5 $pkgdir/usr/share/man/man5/inadyn.conf.5 + install -Dm644 readme.html $pkgdir/usr/share/doc/inadyn/readme.html + install -Dm644 ../inadyn.conf $pkgdir/etc/inadyn.conf + install -Dm644 ../inadyn.service $pkgdir/usr/lib/systemd/system/inadyn.service } -md5sums=('d394ed5ab7a9313992bdc62c412cb369' - '3fee8156d8ae96125470dd0c692b0937') diff --git a/abs/extra/inadyn/inadyn.conf b/abs/extra/inadyn/inadyn.conf new file mode 100644 index 0000000..a63de2e --- /dev/null +++ b/abs/extra/inadyn/inadyn.conf @@ -0,0 +1,64 @@ +# inadyn.conf +# For more details see /usr/share/doc/inadyn/readme.html + +# example for FreeDNS service + +#--ip_server_name :80 checkip.dyndns.org +#--dyndns_server_name :80 +#--dyndns_system default@freedns.afraid.org +#--alias own.domain.com,PLohnR5QmhERfsashjyjyjkuQ3MTAzMQ== # copy and paste the hash value after the '?' until the end of line +#--alias second-own.domain.com,LogEf5QmhERfsGGHJfjfyjkuQ3MTAzMQ== + +# example for no-ip.com sevice + +#--ip_server_name :80 checkip.dyndns.org +#--dyndns_server_name :80 +#--dyndns_system default@no-ip.com +#--username test +#--password test +#--alias HOST + +# example for dyndns.org + +#--ip_server_name :80 checkip.dyndns.org +#--dyndns_server_name :80 +#--dyndns_system custom@dyndns.org +#--username test +#--password test +#--alias HOST + +# Common Options + +# How often the IP is checked. The period is in [ms]. Default is about 1 min. Max is 10 days +#--update_period 300000 + +# Runs in background. Output to syslog or to log file [if specified]. +#--background + +# The client IP is detected by calling 'url' from this 'ip_server_name:port'. Defaults to checkip.dyndns.org:80 +#--ip_server_name[:port] url + +# [NAME[:port]] - the http proxy server name and port. Default is none. +#--proxy_server + +# How often the IP is checked. The period is in [sec]. Default is about 1 min. Max is 10 days +#--update_period_sec + +# How often the IP is updated even if it is not changed. [in sec] +#--forced_update_period + +# Log file path +#--log_file /var/log/inadyn.log + +# Set dbg level. 0 to 5 +#--verbose 0 + +# Set the number of DNS updates. Default is 0, which means infinity. +#--iterations + +# Explicit set output to syslog. (e.g. /var/log/messages). Works on **NIX systems only. +#--syslog + +# After init changes user ID and group ID to the provided ones. +# This allows dropping unneeded [root] privileges after startup. Works for **NIX only. +#--change_persona uid[:gid]
\ No newline at end of file diff --git a/abs/extra/inadyn/inadyn.service b/abs/extra/inadyn/inadyn.service new file mode 100644 index 0000000..54846bf --- /dev/null +++ b/abs/extra/inadyn/inadyn.service @@ -0,0 +1,11 @@ +[Unit] +Description=Dynamic DNS updater +After=network.target +Documentation=man:inadyn(8) + +[Service] +Type=forking +ExecStart=/usr/bin/inadyn + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/inadyn/run b/abs/extra/inadyn/run deleted file mode 100644 index 7046c12..0000000 --- a/abs/extra/inadyn/run +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -exec 2>&1 -. /etc/systemconfig -exec /usr/sbin/inadyn -u $DDnslogin -p $DDnspassword -a $DDnshostname --syslog diff --git a/abs/extra/iniparser/PKGBUILD b/abs/extra/iniparser/PKGBUILD new file mode 100644 index 0000000..8f36631 --- /dev/null +++ b/abs/extra/iniparser/PKGBUILD @@ -0,0 +1,32 @@ +# $Id$ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: Roman Kyrylych <Roman.Kyrylych@gmail.com> +# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com> + +pkgname=iniparser +pkgver=3.1 +pkgrel=4 +pkgdesc="A free stand-alone ini file parsing library written in portable ANSI C" +arch=('i686' 'x86_64') +url="http://ndevilla.free.fr/iniparser/" +license=('MIT') +depends=('glibc') +makedepends=('chrpath') +source=(http://ndevilla.free.fr/iniparser/$pkgname-$pkgver.tar.gz) +md5sums=('0aa4f995468ed390caf323f50a285bc3') + +build() { + cd $srcdir/$pkgname + make +} + +package() { + cd $srcdir/$pkgname + install -Dm644 src/iniparser.h $pkgdir/usr/include/iniparser.h + install -Dm644 src/dictionary.h $pkgdir/usr/include/dictionary.h + install -Dm644 libiniparser.a $pkgdir/usr/lib/libiniparser.a + install -Dm644 libiniparser.so.0 $pkgdir/usr/lib/libiniparser.so.0 + install -Dm644 LICENSE $pkgdir/usr/share/licenses/iniparser/LICENSE + ln -sf libiniparser.so.0 $pkgdir/usr/lib/libiniparser.so + chrpath -d $pkgdir/usr/lib/libiniparser.so +} diff --git a/abs/extra/irqbalance/Makefile.irqbalance b/abs/extra/irqbalance/Makefile.irqbalance deleted file mode 100644 index fe08dc0..0000000 --- a/abs/extra/irqbalance/Makefile.irqbalance +++ /dev/null @@ -1,13 +0,0 @@ -CFLAGS := $(CFLAGS) -D_FORTIFY_SOURCE=2 -Wall -W $(shell pkg-config --cflags glib-2.0) -LDFLAGS := $(shell pkg-config --libs glib-2.0) - -OBJS = bitmap.o irqbalance.o cputree.o procinterrupts.o irqlist.o \ - placement.o activate.o network.o powermode.o numa.o classify.o - -all: irqbalance - -irqbalance: $(OBJS) - $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) - -clean: - rm -f irqbalance *~ *.o diff --git a/abs/extra/irqbalance/PKGBUILD b/abs/extra/irqbalance/PKGBUILD index 13db8d0..125f2b4 100644 --- a/abs/extra/irqbalance/PKGBUILD +++ b/abs/extra/irqbalance/PKGBUILD @@ -2,33 +2,28 @@ # Contributor: Martin Striz <ms@poruba.net> pkgname=irqbalance -pkgver=0.56 -pkgrel=1 +pkgver=1.0.7 +pkgrel=2 pkgdesc="IRQ balancing daemon for SMP systems" arch=('i686' 'x86_64') -url="http://www.irqbalance.org/" +url="https://github.com/Irqbalance/irqbalance" license=('GPL') -depends=(glib2) +depends=(glib2 numactl libcap-ng) makedepends=(pkgconfig) -backup=(etc/conf.d/irqbalance) -source=(http://irqbalance.googlecode.com/files/irqbalance-$pkgver.tbz2 - irqbalance.conf.d - irqbalance.rc.d) -md5sums=('cd0c4d3b2bb84778a04fc594ad83949a' - '336c1ee99818f9ecda1687e34c69fd6b' - 'fb82fc5d267d39110baf720d81282a7c') +source=(https://github.com/Irqbalance/irqbalance/archive/v${pkgver}.tar.gz + irqbalance.service) +md5sums=('2a7090abab6bba15d632c24f5554e7ae' + 'a97ad17dc7df98b81acb500b27f931e5') build() { - cd $srcdir/$pkgname-$pkgver + cd "$srcdir/$pkgname-$pkgver" ./autogen.sh - ./configure + ./configure --prefix=/usr --sbindir=/usr/bin make } package() { - cd $srcdir/$pkgname-$pkgver - install -D -m755 irqbalance $pkgdir/usr/sbin/irqbalance - install -D -m644 irqbalance.1 $pkgdir/usr/share/man/man1/irqbalance.1 - install -D -m644 ../irqbalance.conf.d $pkgdir/etc/conf.d/irqbalance - install -D -m755 ../irqbalance.rc.d $pkgdir/etc/rc.d/irqbalance + cd "$srcdir/$pkgname-$pkgver" + make install DESTDIR="$pkgdir" + install -D -m644 ../irqbalance.service "$pkgdir"/usr/lib/systemd/system/irqbalance.service } diff --git a/abs/extra/irqbalance/finish b/abs/extra/irqbalance/finish deleted file mode 100644 index ccd9278..0000000 --- a/abs/extra/irqbalance/finish +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/irqbalance` - - stat_runit "Stopping IRQ balancing" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon irqbalance - stat_done - fi diff --git a/abs/extra/irqbalance/irqbalance.conf.d b/abs/extra/irqbalance/irqbalance.conf.d deleted file mode 100644 index ef1bdfd..0000000 --- a/abs/extra/irqbalance/irqbalance.conf.d +++ /dev/null @@ -1,6 +0,0 @@ -# -# Settings for irqbalance daemon -# - -# one shot mode - set to 1 if you have Pentium 4 with HT -ONESHOT=0 diff --git a/abs/extra/irqbalance/irqbalance.install b/abs/extra/irqbalance/irqbalance.install deleted file mode 100644 index d4e15f1..0000000 --- a/abs/extra/irqbalance/irqbalance.install +++ /dev/null @@ -1,10 +0,0 @@ -post_install () { - add_service.sh irqbalance - -} - -pre_remove () { - remove_service.sh irqbalance - -} - diff --git a/abs/extra/irqbalance/irqbalance.rc.d b/abs/extra/irqbalance/irqbalance.rc.d deleted file mode 100644 index 987c26b..0000000 --- a/abs/extra/irqbalance/irqbalance.rc.d +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# source application-specific settings -ONESHOT=0 -[ -f /etc/conf.d/irqbalance ] && . /etc/conf.d/irqbalance - -if [ "$ONESHOT" -ne 0 ]; then - ONESHOT_CMD="--oneshot" -fi - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/irqbalance` -case "$1" in - start) - stat_busy "Starting IRQ balancing" - [ -z "$PID" ] && /usr/sbin/irqbalance $ONESHOT_CMD - if [ $? -gt 0 ]; then - stat_fail - else - if [ "$ONESHOT" -eq 0 ]; then - add_daemon irqbalance - fi - stat_done - fi - ;; - stop) - stat_busy "Stopping IRQ balancing" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon irqbalance - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/irqbalance/irqbalance.service b/abs/extra/irqbalance/irqbalance.service new file mode 100644 index 0000000..c9fced0 --- /dev/null +++ b/abs/extra/irqbalance/irqbalance.service @@ -0,0 +1,8 @@ +[Unit] +Description=CPU Interrupt Request Balancer + +[Service] +ExecStart=/usr/bin/irqbalance --foreground + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/irqbalance/run b/abs/extra/irqbalance/run deleted file mode 100644 index f0d18f7..0000000 --- a/abs/extra/irqbalance/run +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# source application-specific settings -ONESHOT=0 -[ -f /etc/conf.d/irqbalance ] && . /etc/conf.d/irqbalance - -if [ "$ONESHOT" -ne 0 ]; then - ONESHOT_CMD="oneshot" -fi - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/irqbalance` - - stat_runit "Starting IRQ balancing" - [ -z "$PID" ] && /usr/sbin/irqbalance --debug $ONESHOT_CMD >/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - if [ "$ONESHOT" -eq 0 ]; then - add_daemon irqbalance - fi - stat_done - fi diff --git a/abs/extra/iw/PKGBUILD b/abs/extra/iw/PKGBUILD index ed927b0..48da071 100644 --- a/abs/extra/iw/PKGBUILD +++ b/abs/extra/iw/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 159175 2012-05-17 10:12:16Z thomas $ +# $Id: PKGBUILD 195909 2013-10-05 07:30:47Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=iw -pkgver=3.4 +pkgver=3.11 pkgrel=1 pkgdesc="nl80211 based CLI configuration utility for wireless devices" arch=("i686" "x86_64") @@ -10,8 +10,8 @@ url="http://wireless.kernel.org/en/users/Documentation/iw" license=("GPL") depends=("libnl") makedepends=("linux-api-headers") -source=(http://wireless.kernel.org/download/$pkgname/$pkgname-$pkgver.tar.bz2) -sha256sums=('989b5677588e32de6eda97bf978810b366a7620f78f26f9cc61c15bdb434218a') +source=(https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.xz) +sha256sums=('e90327323821a8219abac56298919076c4bac6636464ca91356f02cfe40530ff') build() { cd "$srcdir"/$pkgname-$pkgver @@ -20,5 +20,5 @@ build() { package() { cd "$srcdir"/$pkgname-$pkgver - make DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" SBINDIR="/usr/bin" install } diff --git a/abs/extra/iw/__changelog b/abs/extra/iw/__changelog index 9723f2f..2f6d9a5 100644 --- a/abs/extra/iw/__changelog +++ b/abs/extra/iw/__changelog @@ -1 +1,4 @@ -linux-api-headers +no changes, but version.c needs to be createdoutside of our git +copy to /tmp +makepkg +copy srcdir back diff --git a/abs/extra/lcdproc/PKGBUILD b/abs/extra/lcdproc/PKGBUILD index 21aa4e8..7695503 100644..100755 --- a/abs/extra/lcdproc/PKGBUILD +++ b/abs/extra/lcdproc/PKGBUILD @@ -1,31 +1,30 @@ +# $Id: PKGBUILD 102962 2013-12-25 04:58:31Z bgyorgy $ # Maintainer: BlackEagle <ike DOT devolder AT gmail DOT com> # Contributor: Bernhard Walle <bernhard.walle@gmx.de> + pkgname=lcdproc pkgver=0.5.6 -pkgrel=1 +pkgrel=5 pkgdesc="Utility to drive one or more LCD (and LCD-like) devices" +arch=('i686' 'x86_64') url="http://lcdproc.omnipotent.net/" -license="GPL" -depends=('libusb-compat') -optdepends=( - 'perl: needed for some lcdproc tools' -) -backup=( - 'etc/LCDd.conf' +license=('GPL') +depends=('libftdi-compat' 'xosd') +optdepends=('perl: needed for some lcdproc tools') +backup=('etc/LCDd.conf' 'etc/lcdexec.conf' 'etc/lcdproc.conf' - 'etc/lcdvc.conf' -) -arch=('i686' 'x86_64') -source=( - "http://switch.dl.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver-pre1.tar.gz" - 'lcdd' -) + 'etc/lcdvc.conf') +source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" + 'lcdd.service') +sha256sums=('bd2f43c30ff43b30f43110abe6b4a5bc8e0267cb9f57fa97cc5e5ef9488b984a' + '0acdc0fb9668e6d5e023349874301153a16935e1ad757d550c426a9a7ac64638') build() { - cd "$pkgname-$pkgver-pre1" + cd "$pkgname-$pkgver" ./configure \ --prefix=/usr \ + --sbindir=/usr/bin \ --sysconfdir=/etc \ --enable-libusb \ --enable-lcdproc-menus \ @@ -35,10 +34,8 @@ build() { } package() { - cd "$pkgname-$pkgver-pre1" + cd "$pkgname-$pkgver" make DESTDIR="$pkgdir" install sed -e "s/server\/drivers\//\/usr\/lib\/lcdproc\//g" -i "$pkgdir/etc/LCDd.conf" - install -Dm755 "$srcdir/lcdd" "$pkgdir/etc/rc.d/lcdd" + install -Dm644 "$srcdir/lcdd.service" "$pkgdir/usr/lib/systemd/system/lcdd.service" } -md5sums=('2175376ebefc18280b494e5f0a68329b' - '56f52dcccd6e129a9cf84cd1a0452d56') diff --git a/abs/extra/lcdproc/lcdd b/abs/extra/lcdproc/lcdd deleted file mode 100755 index a124c00..0000000 --- a/abs/extra/lcdproc/lcdd +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/LCDd` -case "$1" in - start) - stat_busy "Starting LCDd daemon" - [ -z "$PID" ] && /usr/sbin/LCDd -c /etc/LCDd.conf - if [ $? -gt 0 ]; then - stat_fail - else - echo $PID > /var/run/lcdd.pid - add_daemon lcdd - stat_done - fi - ;; - stop) - stat_busy "Stopping LCDd daemon" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm /var/run/lcdd.pid - rm_daemon lcdd - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/lcdproc/lcdd.service b/abs/extra/lcdproc/lcdd.service new file mode 100644 index 0000000..6b0072d --- /dev/null +++ b/abs/extra/lcdproc/lcdd.service @@ -0,0 +1,11 @@ +[Unit] +Description=LCD display driver +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/bin/LCDd -c /etc/LCDd.conf +ControlGroup=cpu:/ + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/ldb/PKGBUILD b/abs/extra/ldb/PKGBUILD new file mode 100644 index 0000000..9a41c98 --- /dev/null +++ b/abs/extra/ldb/PKGBUILD @@ -0,0 +1,40 @@ +# $Id$ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Christian Hesse <mail@eworm.de> +# Contributor: Marco A Rojas <marquicus at gmail dot com> + +pkgname=ldb +pkgver=1.1.17 +pkgrel=1 +pkgdesc="A schema-less, ldap like, API and database" +arch=('i686' 'x86_64') +url="http://ldb.samba.org/" +source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.gz) +license=('GPL3') +depends=('talloc' 'tevent' 'tdb' 'popt') +makedepends=('python2') +optdepends=('python2: for python bindings') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # change to use python2 + sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" buildtools/bin/waf + export PYTHON=/usr/bin/python2 + + ./configure --prefix=/usr \ + --disable-rpath \ + --disable-rpath-install \ + --bundled-libraries=NONE \ + --builtin-libraries=replace \ + --with-modulesdir=/usr/lib/ldb/modules \ + --with-privatelibdir=/usr/lib/ldb + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make DESTDIR=${pkgdir}/ install +} +md5sums=('7c2ab4e3f2a4186493aa06eabbc61cc0') diff --git a/abs/extra/libaio/PKGBUILD b/abs/extra/libaio/PKGBUILD new file mode 100644 index 0000000..41ca5d6 --- /dev/null +++ b/abs/extra/libaio/PKGBUILD @@ -0,0 +1,24 @@ +# $Id$ +# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> +# Contributor: Thomas S Hatch <thatch45 at gmail dot com> + +pkgname=libaio +pkgver=0.3.109 +pkgrel=7 +pkgdesc="The Linux-native asynchronous I/O facility (aio) library" +arch=('i686' 'x86_64') +url="http://lse.sourceforge.net/io/aio.html" +license=('LGPL') +source=(http://ftp.de.debian.org/debian/pool/main/liba/$pkgname/${pkgname}_${pkgver}.orig.tar.gz) +md5sums=('435a5b16ca6198eaf01155263d855756') + +build() { + cd "$srcdir/$pkgname-$pkgver" + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make prefix="$pkgdir/usr" install +} + diff --git a/abs/extra/libbluray/PKGBUILD b/abs/extra/libbluray/PKGBUILD index 083cc1a..26c7c22 100644 --- a/abs/extra/libbluray/PKGBUILD +++ b/abs/extra/libbluray/PKGBUILD @@ -1,37 +1,30 @@ -# $Id: PKGBUILD 157790 2012-04-29 15:02:33Z ibiru $ -# Maintainer: Ionut Biru <ibiru@archlinux.org> +# $Id$ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Andrew Cook <ariscop@gmail.com> pkgname=libbluray -pkgver=0.2.2 +pkgver=0.5.0 pkgrel=1 -pkgdesc="Library to access Blu-Ray disks for video playback" +pkgdesc='Library to access Blu-Ray disks for video playback' arch=('i686' 'x86_64') -url="http://www.videolan.org/developers/libbluray.html" +url='http://www.videolan.org/developers/libbluray.html' license=('LGPL2.1') -depends=('libxml2') -makedepends=('apache-ant' 'jdk7-openjdk') -optdepends=('java-environment: Blu-ray Disc Java support library') -options=(!libtool) +depends=('libxml2' 'freetype2') source=(ftp://ftp.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2) -sha512sums=('a27eaa929ef05c544beb966a24dfc5425546d6035bfb3e86dc60987b8a4761031ce27c3836a64f71cc76b5308c3cd75efb3bc1f238185819385477e64883888a') +md5sums=('04cf15d0f3581a955d3a2ccb9dc06e9e') build() { - cd "$pkgname-$pkgver" + cd $pkgname-$pkgver - . /etc/profile.d/jdk.sh ./configure --prefix=/usr \ - --enable-bdjava \ - --with-jdk=${JAVA_HOME} \ --disable-static make } package() { - cd "$pkgname-$pkgver" + cd $pkgname-$pkgver make DESTDIR="$pkgdir" install - #install bdj - install -Dm644 src/.libs/libbluray.jar "$pkgdir/usr/share/java/libbluray.jar" } # vim:set ts=2 sw=2 et: diff --git a/abs/extra/libbonobo/PKGBUILD b/abs/extra/libbonobo/PKGBUILD index 177b162..153464c 100644 --- a/abs/extra/libbonobo/PKGBUILD +++ b/abs/extra/libbonobo/PKGBUILD @@ -1,15 +1,14 @@ -# $Id: PKGBUILD 151065 2012-02-24 17:44:58Z ibiru $ +# $Id: PKGBUILD 198129 2013-10-30 12:57:52Z allan $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libbonobo pkgver=2.32.1 -pkgrel=2 +pkgrel=4 pkgdesc="A set of language and system independant CORBA interfaces for creating reusable components" arch=(i686 x86_64) license=('GPL' 'LGPL') -depends=('orbit2' 'libxml2' 'glib2') -makedepends=('intltool' 'pkgconfig' 'flex') -options=('!libtool') +depends=('orbit2' 'libxml2' 'glib2' 'popt') +makedepends=('intltool' 'pkgconfig') backup=('etc/bonobo-activation/bonobo-activation-config.xml') url="http://www.gnome.org" source=(http://ftp.gnome.org/pub/gnome/sources/libbonobo/2.32/libbonobo-${pkgver}.tar.bz2 @@ -18,12 +17,21 @@ install=libbonobo.install sha256sums=('9160d4f277646400d3bb6b4fa73636cc6d1a865a32b9d0760e1e9e6ee624976b' '081de245c42de10ebeea3cbcd819c5ce5d0a15b9bdde9c2098302b1e14965af2') +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i "s#-DG_DISABLE_DEPRECATED##" activation-server/Makefile.in +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc \ + ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc \ --localstatedir=/var --disable-static \ --libexecdir=/usr/lib/bonobo make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install install -m644 "${srcdir}/bonobo-activation-config.xml" "${pkgdir}/etc/bonobo-activation/" } diff --git a/abs/extra/libbsd/PKGBUILD b/abs/extra/libbsd/PKGBUILD new file mode 100644 index 0000000..2e9b745 --- /dev/null +++ b/abs/extra/libbsd/PKGBUILD @@ -0,0 +1,39 @@ +# $Id$ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> + +pkgname=libbsd +pkgver=0.6.0 +pkgrel=2 +pkgdesc="Provides useful functions commonly found on BSD systems like strlcpy()" +arch=('i686' 'x86_64') +url="http://libbsd.freedesktop.org" +license=('custom') +depends=('glibc') +options=('staticlibs') +source=(http://libbsd.freedesktop.org/releases/$pkgname-$pkgver.tar.xz{,.asc}) +md5sums=('f6c75f0a9818e323a589bcbd560a0eb4' + 'SKIP') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + + make check +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + rm "${pkgdir}"/usr/lib/libbsd.a + install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/libbsd/spt.patch b/abs/extra/libbsd/spt.patch new file mode 100644 index 0000000..b19dc9b --- /dev/null +++ b/abs/extra/libbsd/spt.patch @@ -0,0 +1,50 @@ +diff -u -r libbsd-0.5.2-orig/src/setproctitle.c libbsd-0.5.2/src/setproctitle.c +--- libbsd-0.5.2-orig/src/setproctitle.c 2013-06-08 18:26:04.000000000 +0200 ++++ libbsd-0.5.2/src/setproctitle.c 2013-06-18 02:35:59.441393418 +0200 +@@ -86,7 +86,7 @@ + if (environ != envp) + return 0; + +- /* Make a copy of the old environ array of pointers, in case ++ /* Make a deep copy of the old environ array of pointers, in case + * clearenv() or setenv() is implemented to free the internal + * environ array, because we will need to access the old environ + * contents to make the new copy. */ +@@ -94,11 +94,13 @@ + envcopy = malloc(envsize); + if (envcopy == NULL) + return errno; +- memcpy(envcopy, envp, envsize); ++ for (i = 0; envp[i]; i++) envcopy[i] = strdup(envp[i]); ++ envcopy[i] = NULL; + + error = spt_clearenv(); + if (error) { + environ = envp; ++ for(i = 0; envcopy[i]; i++) free(envcopy[i]); + free(envcopy); + return error; + } +@@ -116,18 +118,20 @@ + if (error) { + #ifdef HAVE_CLEARENV + /* Because the old environ might not be available +- * anymore we will make do with the shallow copy. */ ++ * anymore we will make do with the deep copy. */ + environ = envcopy; + #else + environ = envp; ++ for(i = 0; envcopy[i]; i++) free(envcopy[i]); + free(envcopy); + #endif + return error; + } + } + +- /* Dispose of the shallow copy, now that we've finished transfering ++ /* Dispose of the deep copy, now that we've finished transfering + * the old environment. */ ++ for(i = 0; envcopy[i]; i++) free(envcopy[i]); + free(envcopy); + + return 0; diff --git a/abs/extra/libcdio-paranoia/PKGBUILD b/abs/extra/libcdio-paranoia/PKGBUILD new file mode 100644 index 0000000..152b38a --- /dev/null +++ b/abs/extra/libcdio-paranoia/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 174870 2013-01-08 10:06:34Z jgc $ +# Maintainer: +# Contributor: damir <damir@archlinux.org> + +pkgname=libcdio-paranoia +pkgver=10.2+0.90+1 +pkgrel=2 +pkgdesc="CD paranoia libraries from libcdio" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL') +url="http://www.gnu.org/software/libcdio/" +depends=('libcdio') +source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.bz2{,.sig}) +md5sums=('e79e196864dd3b1ca87a01345abbda07' + 'SKIP') + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr --enable-cpp-progs --disable-static --disable-example-progs + make +} + +package() { + cd "${pkgname}-${pkgver}" + make -j1 DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/libcdio/PKGBUILD b/abs/extra/libcdio/PKGBUILD index a532e0d..803acef 100644 --- a/abs/extra/libcdio/PKGBUILD +++ b/abs/extra/libcdio/PKGBUILD @@ -1,32 +1,35 @@ -# $Id: PKGBUILD 150880 2012-02-23 13:48:06Z allan $ +# $Id$ # Maintainer: # Contributor: damir <damir@archlinux.org> pkgname=libcdio -pkgver=0.83 +pkgver=0.92 pkgrel=1 pkgdesc="GNU Compact Disc Input and Control Library" arch=('i686' 'x86_64') license=('GPL3') url="http://www.gnu.org/software/libcdio/" -depends=('libcddb' 'ncurses') -options=('!libtool') +depends=('libcddb' 'ncurses' 'gcc-libs') install=libcdio.install source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz{,.sig} libcdio-0.83-linking.patch) -md5sums=('b9e0f1bccb142e697cd834fe56b6e6fb' - 'a7864a4b572a1e2a28cc0a05aa4a67d3' +md5sums=('86f3f2869c1d34e4c6e52db77992b918' + 'SKIP' '5a7f50209c03d5919d5b932f07871af7') +prepare() { + cd ${pkgname}-${pkgver} + patch -Np1 -i ../libcdio-0.83-linking.patch +} + build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i $srcdir/libcdio-0.83-linking.patch - ./configure --prefix=/usr --disable-vcd-info --enable-cpp-progs + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --disable-vcd-info --enable-cpp-progs --disable-static make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make -j1 DESTDIR="${pkgdir}" install sed -i "/LIBCDIO_SOURCE_PATH/s|.*|/* #undef LIBCDIO_SOURCE_PATH */|" \ diff --git a/abs/extra/libcl/PKGBUILD b/abs/extra/libcl/PKGBUILD new file mode 100644 index 0000000..94f2ca7 --- /dev/null +++ b/abs/extra/libcl/PKGBUILD @@ -0,0 +1,38 @@ +# $Id$ +#Maintainer: Ionut Biru <ibiru@archlinux.org> + +pkgname=libcl +pkgver=1.1 +_pkgver=304.37 +pkgrel=3 +pkgdesc="OpenCL library and ICD loader from NVIDIA" +arch=('i686' 'x86_64') +url="http://www.nvidia.com/" +depends=('gcc-libs') +license=('custom') +options=('!strip') + +if [ "$CARCH" = "i686" ]; then + _arch='x86' + _pkg="NVIDIA-Linux-${_arch}-${_pkgver}" + source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${_pkgver}/${_pkg}.run") + md5sums=('ee3e97109201ab954c96860e28ada611') +elif [ "$CARCH" = "x86_64" ]; then + _arch='x86_64' + _pkg="NVIDIA-Linux-${_arch}-${_pkgver}-no-compat32" + source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${_pkgver}/${_pkg}.run") + md5sums=('65fce562c0df3def06012db9ff6bafa1') +fi +build() { + cd $srcdir + sh ${_pkg}.run --extract-only +} + +package() { + cd $srcdir/${_pkg} + install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0 + ln -s /usr/lib/libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1 + ln -s /usr/lib/libOpenCL.so.1 $pkgdir/usr/lib/libOpenCL.so + install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE +} +md5sums=('65fce562c0df3def06012db9ff6bafa1') diff --git a/abs/extra/libftdi-compat/PKGBUILD b/abs/extra/libftdi-compat/PKGBUILD new file mode 100644 index 0000000..9be6032 --- /dev/null +++ b/abs/extra/libftdi-compat/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 200728 2013-12-03 16:50:08Z eric $ +# Maintainer: + +pkgname=libftdi-compat +pkgver=0.20 +pkgrel=1 +pkgdesc="A library to talk to FTDI chips" +arch=('i686' 'x86_64') +url="http://www.intra2net.com/en/developer/libftdi/download.php" +license=('GPL2' 'LGPL2.1') +depends=('libusb-compat' 'gcc-libs') +makedepends=('boost') +source=(http://www.intra2net.com/en/developer/libftdi/download/libftdi-$pkgver.tar.gz{,.sig}) +sha1sums=('4bc6ce70c98a170ada303fbd00b8428d8a2c1aa2' + '807d145147c9bee08b4cea4d7ca82ccaf1330f02') + +build() { + cd libftdi-$pkgver + ./configure --prefix=/usr --without-examples + make +} + +package() { + cd libftdi-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/abs/extra/libftdi/PKGBUILD b/abs/extra/libftdi/PKGBUILD index 61165b2..76e3f58 100644 --- a/abs/extra/libftdi/PKGBUILD +++ b/abs/extra/libftdi/PKGBUILD @@ -1,28 +1,36 @@ -# $Id: PKGBUILD 153977 2012-03-21 07:09:24Z eric $ -# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# $Id: PKGBUILD 200729 2013-12-03 16:51:00Z eric $ +# Maintainer: pkgname=libftdi -pkgver=0.20 -pkgrel=1 +pkgver=1.0 +pkgrel=2 pkgdesc="A library to talk to FTDI chips" arch=('i686' 'x86_64') url="http://www.intra2net.com/en/developer/libftdi/download.php" license=('GPL2' 'LGPL2.1') -depends=('libusb-compat' 'gcc-libs') -makedepends=('boost') -options=('!libtool') -source=(http://www.intra2net.com/en/developer/libftdi/download/$pkgname-$pkgver.tar.gz{,.sig}) -sha1sums=('4bc6ce70c98a170ada303fbd00b8428d8a2c1aa2' - '807d145147c9bee08b4cea4d7ca82ccaf1330f02') +depends=('libusbx') +makedepends=('boost' 'cmake') +source=(http://www.intra2net.com/en/developer/libftdi/download/${pkgname}1-$pkgver.tar.bz2{,.sig}) +sha1sums=('5be76cfd7cd36c5291054638f7caf4137303386f' + 'SKIP') + +prepare() { + cd ${pkgname}1-$pkgver + sed -i 's|LIB_SUFFIX 64|LIB_SUFFIX ""|' CMakeLists.txt +} build() { - cd "$srcdir/$pkgname-$pkgver" - sed -i '/no-install/d' examples/Makefile.in - ./configure --prefix=/usr + cd ${pkgname}1-$pkgver + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_SKIP_BUILD_RPATH=ON -DCMAKE_BUILD_TYPE=Release make } package() { - cd "$srcdir/$pkgname-$pkgver" + cd ${pkgname}1-$pkgver/build make DESTDIR="$pkgdir" install + find examples -type f -perm -755 -exec install {} "$pkgdir/usr/bin" \; + # Remove eepreom (conflict with i2c-tools FS#37925) + rm "$pkgdir/usr/bin/eeprom" } diff --git a/abs/extra/libical/PKGBUILD b/abs/extra/libical/PKGBUILD new file mode 100644 index 0000000..ef24bd1 --- /dev/null +++ b/abs/extra/libical/PKGBUILD @@ -0,0 +1,32 @@ +# $Id$ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgname=libical +pkgver=1.0 +pkgrel=3 +pkgdesc="An open source reference implementation of the icalendar data type and serialization format" +arch=('i686' 'x86_64') +url='http://sourceforge.net/projects/freeassociation/' +license=('LGPL' 'MPL') +depends=('glibc') +makedepends=('cmake') +source=("http://downloads.sourceforge.net/freeassociation/${pkgname}-${pkgver}.tar.gz") +md5sums=('4438c31d00ec434f02867a267a92f8a1') + +prepare() { + mkdir build +} + +build() { + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd build + make DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/libimobiledevice/HOME-segfault.patch b/abs/extra/libimobiledevice/HOME-segfault.patch deleted file mode 100644 index e48e6cb..0000000 --- a/abs/extra/libimobiledevice/HOME-segfault.patch +++ /dev/null @@ -1,14 +0,0 @@ -The patch fixes segfault when both $XDG_CONFIG_HOME and $HOME are unset -Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com> ---- src/userpref.c.orig 2012-06-04 17:04:57.387303630 +0300 -+++ src/userpref.c 2012-06-04 17:06:05.741301627 +0300 -@@ -125,6 +125,9 @@ - const char *cdir = getenv("XDG_CONFIG_HOME"); - if (!cdir) { - cdir = getenv("HOME"); -+ if (!cdir) { -+ cdir="/root"; -+ } - strcpy(__config_dir, cdir); - strcat(__config_dir, DIR_SEP_S); - strcat(__config_dir, ".config"); diff --git a/abs/extra/libimobiledevice/PKGBUILD b/abs/extra/libimobiledevice/PKGBUILD index bc921ac..9c4a74a 100644 --- a/abs/extra/libimobiledevice/PKGBUILD +++ b/abs/extra/libimobiledevice/PKGBUILD @@ -1,24 +1,22 @@ -# $Id: PKGBUILD 164989 2012-08-08 00:24:19Z tomegun $ +# $Id$ +# Maintainer : Tom Gundersen <teg@jklm.no> # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Gabriel Martinez < reitaka at gmail dot com > pkgname=libimobiledevice -pkgver=1.1.4 -pkgrel=2 +pkgver=1.1.6 +pkgrel=1 pkgdesc="Is a software library that talks the protocols to support iPhone and iPod Touch devices on Linux" url="http://libimobiledevice.org/" arch=('i686' 'x86_64') license=('GPL2' 'LGPL2.1') -depends=('usbmuxd' 'gnutls' 'libgcrypt') -options=('!libtool') -source=(http://libimobiledevice.org/downloads/$pkgname-$pkgver.tar.bz2 - HOME-segfault.patch) +depends=('libusbmuxd' 'gnutls' 'libgcrypt') +makedepends=('python2') +source=(http://libimobiledevice.org/downloads/$pkgname-$pkgver.tar.bz2) +md5sums=('274783651e9b772774cd9fed2fc52e08') build() { cd "$pkgname-$pkgver" - - patch -p0 < "$srcdir/HOME-segfault.patch" - PYTHON=/usr/bin/python2 ./configure --prefix=/usr make } @@ -27,5 +25,3 @@ package() { cd "$pkgname-$pkgver" make DESTDIR="$pkgdir" install } -md5sums=('3f28cbc6a2e30d34685049c0abde5183' - '0de709dbf8e79d0b00cca06f5e61d57c') diff --git a/abs/extra/libmng/PKGBUILD b/abs/extra/libmng/PKGBUILD index 7be67d7..812b577 100644 --- a/abs/extra/libmng/PKGBUILD +++ b/abs/extra/libmng/PKGBUILD @@ -1,31 +1,33 @@ -# $Id: PKGBUILD 137860 2011-09-12 05:28:13Z eric $ +# $Id$ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=libmng -pkgver=1.0.10 -pkgrel=4 +pkgver=2.0.2 +pkgrel=3 pkgdesc="A collection of routines used to create and manipulate MNG format graphics files" arch=('i686' 'x86_64') url="http://www.libmng.com/" license=('custom') -depends=('zlib' 'libjpeg') -options=('!libtool') -source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2 automake-patch) +depends=('lcms2') +source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.asc} + libmng-stdio.patch) +sha1sums=('7dd35369ff5916e1823cbacef984ab1b87714b69' + 'SKIP' + '2f8b472d53791ba3a44dab9b18fb215e8b19dd77') + +prepare() { + cd ${pkgname}-${pkgver} + patch -p5 -i "${srcdir}/libmng-stdio.patch" +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np0 < $srcdir/automake-patch || exit 1 - ln -s makefiles/configure.in . - ln -s makefiles/Makefile.am . - autoreconf --force --install + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } -md5sums=('eaf1476a3bb29f6190bca660e6abef16' - 'abd75e07394cc04e0d8ffa9a93b1e485') diff --git a/abs/extra/libmng/__changelog b/abs/extra/libmng/__changelog deleted file mode 100644 index 41fd872..0000000 --- a/abs/extra/libmng/__changelog +++ /dev/null @@ -1 +0,0 @@ -add automake_patch diff --git a/abs/extra/libmng/automake-patch b/abs/extra/libmng/automake-patch deleted file mode 100644 index 309983a..0000000 --- a/abs/extra/libmng/automake-patch +++ /dev/null @@ -1,11 +0,0 @@ ---- makefiles/configure.in 2005-01-30 05:28:00.000000000 -0500 -+++ makefiles/configure.in.new 2012-05-03 16:36:01.000000000 -0400 -@@ -15,7 +15,7 @@ - dnl Checks for programs. - AC_PROG_CC - AC_ISC_POSIX --AM_C_PROTOTYPES -+#AM_C_PROTOTYPES - if test "x$U" != "x"; then - AC_MSG_ERROR(Compiler not ANSI compliant) - fi diff --git a/abs/extra/libmng/libmng-stdio.patch b/abs/extra/libmng/libmng-stdio.patch new file mode 100644 index 0000000..42414f1 --- /dev/null +++ b/abs/extra/libmng/libmng-stdio.patch @@ -0,0 +1,10 @@ +--- /mnt/chrootstaging32/usr/include/libmng_types.h 2013-08-15 16:26:03.000000000 -0400 ++++ /mnt/chrootstaging64/usr/include/libmng_types.h 2013-08-16 19:53:39.165878412 -0400 +@@ -204,6 +204,7 @@ + #define HAVE_BOOLEAN + typedef int boolean; + #endif ++#include <stdio.h> + #include <jpeglib.h> + #endif /* MNG_INCLUDE_IJG6B */ + diff --git a/abs/extra/libpaper/PKGBUILD b/abs/extra/libpaper/PKGBUILD new file mode 100644 index 0000000..2321984 --- /dev/null +++ b/abs/extra/libpaper/PKGBUILD @@ -0,0 +1,48 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +# Contributor: Alexander Rødseth <rodseth@gmail.com> +# Contributor: Mateusz Herych <heniekk@gmail.com> +# Contributor: royrocks <royrocks13@gmail.com> + +pkgname=libpaper +pkgver=1.1.24 +pkgrel=7 +pkgdesc='Library for handling paper characteristics' +arch=('x86_64' 'i686') +url='http://packages.debian.org/unstable/source/libpaper' +license=('GPL') +depends=('sh') +backup=('etc/papersize') +source=("http://ftp.de.debian.org/debian/pool/main/libp/$pkgname/${pkgname}_$pkgver+nmu2.tar.gz") +sha256sums=('c5bdd6d9dff179699160675dbb61651d9b3158f6da27558fdaba00e7c427ba96') + +build() { + cd "$pkgname-$pkgver+nmu2" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin + make +} + +package() { + cd "$pkgname-$pkgver+nmu2" + make DESTDIR="$pkgdir" install + + # add systemwide default papersize read by many office applications + install -dm 755 $pkgdir/etc + echo '# Simply write the paper name. See papersize(5) for possible values' > $pkgdir/etc/papersize + + # add libpaper.d directory other packages can use to store files + install -dm 755 $pkgdir/etc/libpaper.d + + # add localisation + pushd debian/po + for i in `ls *.po`; do + install -dm 755 ${pkgdir}/usr/share/locale/${i%.po}/LC_MESSAGES/; + msgfmt $i -o ${pkgdir}/usr/share/locale/${i%.po}/LC_MESSAGES/${pkgname}.mo; + done + popd +} diff --git a/abs/extra/libplist/PKGBUILD b/abs/extra/libplist/PKGBUILD index 3e67eb5..c6e331c 100644 --- a/abs/extra/libplist/PKGBUILD +++ b/abs/extra/libplist/PKGBUILD @@ -1,30 +1,28 @@ # $Id$ +# Maintainer : Tom Gundersen <teg@jklm.no> # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Gabriel Martinez < reitaka at gmail dot com > pkgname=libplist -pkgver=1.8 -pkgrel=2 +pkgver=1.11 +pkgrel=1 pkgdesc="A library to handle Apple Property List format whereas it's binary or XML" url="http://libimobiledevice.org/" arch=('i686' 'x86_64') license=('GPL2' 'LGPL2.1') -depends=('glib2' 'libxml2' 'python2') -makedepends=('cmake' 'swig') +depends=('glib2' 'libxml2') +makedepends=('python2') +options=('!makeflags') source=(http://www.libimobiledevice.org/downloads/$pkgname-$pkgver.tar.bz2) -sha256sums=('a418da3880308199b74766deef2a760a9b169b81a868a6a9032f7614e20500ec') +md5sums=('82de65f38cb2f0a9fd0839679b46072b') build() { - mkdir build - cd build - cmake ../$pkgname-$pkgver \ - -DPYTHON_EXECUTABLE=/usr/bin/python2 \ - -DCMAKE_SKIP_RPATH=ON \ - -DCMAKE_INSTALL_PREFIX:PATH=/usr + cd libplist-$pkgver + ./configure --prefix=/usr make } package() { - cd build + cd libplist-$pkgver make DESTDIR="$pkgdir" install } diff --git a/abs/extra/community/libtorrent-rasterbar/PKGBUILD b/abs/extra/libtorrent-rasterbar/PKGBUILD index ea71f07..d1f4910 100644 --- a/abs/extra/community/libtorrent-rasterbar/PKGBUILD +++ b/abs/extra/libtorrent-rasterbar/PKGBUILD @@ -1,24 +1,24 @@ -# $Id: PKGBUILD 163820 2012-07-20 21:36:20Z ibiru $ +# $Id$ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Hugo Doria <hugo@archlinux.org> pkgname=libtorrent-rasterbar -pkgver=0.16.2 +pkgver=0.16.16 pkgrel=1 epoch=1 pkgdesc="A C++ library that aims to be a good alternative to all the other bittorrent implementations around" url="http://www.rasterbar.com/products/libtorrent/" arch=('i686' 'x86_64') -license=('custom') +license=('BSD') depends=('boost-libs' 'geoip' 'python2') makedepends=('boost') -options=('!libtool' '!emptydirs') -source=(http://libtorrent.googlecode.com/files/$pkgname-$pkgver.tar.gz) -sha1sums=('04da641d21d0867fc103f4f57ffd41b3fce19ead') +options=('!emptydirs') +source=(http://downloads.sourceforge.net/sourceforge/libtorrent/$pkgname-$pkgver.tar.gz) +sha1sums=('de8faed5cbc09baddb2748cb7b75edd07ab0addc') build() { cd $pkgname-$pkgver - PYTHON2=/usr/bin/python2 ./configure --prefix=/usr \ + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ --enable-python-binding \ --with-libgeoip=system make diff --git a/abs/extra/libusbmuxd/PKGBUILD b/abs/extra/libusbmuxd/PKGBUILD new file mode 100644 index 0000000..418db3f --- /dev/null +++ b/abs/extra/libusbmuxd/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Gabriel Martinez < reitaka at gmail dot com > + +pkgname=libusbmuxd +pkgver=1.0.9 +pkgrel=1 +pkgdesc="USB Multiplex Daemon" +url="http://marcansoft.com/blog/iphonelinux/usbmuxd/" +arch=('i686' 'x86_64') +license=('LGPL2.1' 'GPL2') +depends=('libusb' 'libplist') +conflicts=('usbmuxd<1.0.9') +source=(http://www.libimobiledevice.org/downloads/libusbmuxd-$pkgver.tar.bz2) +md5sums=('3f1d4bd0c0a1a4d7bf96219e117ec499') + +build() { + cd libusbmuxd-${pkgver} + ./configure --prefix=/usr + make +} + +package() { + cd libusbmuxd-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/abs/extra/libvpx/PKGBUILD b/abs/extra/libvpx/PKGBUILD index 09c994f..0fad7b8 100644 --- a/abs/extra/libvpx/PKGBUILD +++ b/abs/extra/libvpx/PKGBUILD @@ -1,20 +1,23 @@ -# $Id: PKGBUILD 158895 2012-05-12 18:37:10Z ibiru $ +# $Id$ # Maintainer: Ionut Biru <ibiru@archlinux.org> + pkgname=libvpx -pkgver=1.1.0 +pkgver=1.3.0 pkgrel=1 -pkgdesc="The VP8 Codec SDK" +pkgdesc='The VP8 Codec SDK' arch=('i686' 'x86_64') -url="http://www.webmproject.org/" +url='http://www.webmproject.org/' license=('BSD') depends=('glibc') -makedepends=('yasm') -source=(http://webm.googlecode.com/files/$pkgname-v$pkgver.tar.bz2) -sha1sums=('356af5f770c50cd021c60863203d8f30164f6021') +makedepends=('yasm' 'git') +source=($pkgname::git+http://code.google.com/p/webm.libvpx#tag=v$pkgver) +md5sums=('SKIP') build() { - cd "$pkgname-v$pkgver" - ./configure --prefix=/usr --enable-vp8 \ + cd $pkgname + ./configure --prefix=/usr \ + --enable-vp8 \ + --enable-vp9 \ --enable-runtime-cpu-detect \ --enable-shared \ --enable-postproc \ @@ -25,7 +28,7 @@ build() { } package() { - cd "$pkgname-v$pkgver" + cd $pkgname make DIST_DIR="$pkgdir/usr" install - install -D -m 0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } diff --git a/abs/extra/libwebp/PKGBUILD b/abs/extra/libwebp/PKGBUILD new file mode 100644 index 0000000..46e13f5 --- /dev/null +++ b/abs/extra/libwebp/PKGBUILD @@ -0,0 +1,43 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Alexander Rødseth <rodseth@gmail.com> +# Contributor: Jon Nordby <jononor@gmail.com> + +pkgname=libwebp +pkgver=0.4.1 +pkgrel=1 +pkgdesc="WebP library and conversion tools" +arch=(x86_64 i686) +url="https://developers.google.com/speed/webp/" +license=(BSD) +depends=(libpng libjpeg libtiff giflib) +makedepends=(freeglut mesa glu) +optdepends=('freeglut: vwebp viewer') +source=("http://downloads.webmproject.org/releases/webp/$pkgname-$pkgver.tar.gz") +sha256sums=('00b646e6f66550a8faa998711fe70aabee9ed3bc562a8437c89042901674d027') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --enable-swap-16bit-csp \ + --enable-experimental \ + --enable-libwebpmux \ + --enable-libwebpdemux \ + --enable-libwebpdecoder \ + --disable-static + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir/" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/libxshmfence/PKGBUILD b/abs/extra/libxshmfence/PKGBUILD new file mode 100644 index 0000000..eed460e --- /dev/null +++ b/abs/extra/libxshmfence/PKGBUILD @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +pkgname=libxshmfence +pkgver=1.1 +pkgrel=1 +pkgdesc="a library that exposes a event API on top of Linux futexes" +arch=('i686' 'x86_64') +url="http://xorg.freedesktop.org/" +license=('GPL') +#groups=() +depends=('glibc') +makedepends=('xorg-util-macros' 'xproto') +source=(${url}/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('dbc2db2925ca9f216fd1e9c63d0974db9f4d49aaf5877ffb606d2d8d7e58cebe') + +build() { + cd $pkgname-$pkgver + + # fix some libtools errors + #autoreconf -vfi + + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make -k check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/abs/extra/llvm/PKGBUILD b/abs/extra/llvm/PKGBUILD index 515dbc7..3a837d2 100644 --- a/abs/extra/llvm/PKGBUILD +++ b/abs/extra/llvm/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 159472 2012-05-24 20:02:15Z foutrelis $ +# $Id$ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Sebastian Nowicki <sebnow@gmail.com> @@ -9,93 +9,63 @@ # Contributor: Roberto Alsina <ralsina@kde.org> # Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> -pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer') -pkgver=3.1 -pkgrel=2 +pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'clang' 'clang-analyzer' + 'clang-tools-extra') +pkgver=3.4 +pkgrel=1 arch=('i686' 'x86_64') url="http://llvm.org/" license=('custom:University of Illinois/NCSA Open Source License') -makedepends=('libffi' 'python2' 'ocaml') -source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.src.tar.gz +makedepends=('libffi' 'python2' 'ocaml' 'python2-sphinx') +options=('staticlibs') +source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz http://llvm.org/releases/$pkgver/clang-$pkgver.src.tar.gz - http://dev.archlinux.org/~foutrelis/sources/compiler-rt/compiler-rt-$pkgver.src.tar.xz + http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.gz + http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.gz + clang-3.3-use-gold-linker.patch llvm-Config-config.h - llvm-Config-llvm-config.h - cindexer-clang-path.patch - clang-pure64.patch - enable-lto.patch - clang-3.1-fix-libprofile_rt.a-location.patch) -sha256sums=('1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab' - 'ff63e215dcd3e2838ffdea38502f8d35bab17e487f3c3799579961e452d5a786' - '563d8a5ef86123ed8775e115ad7f90c1aa3e80f70b4e587f1bccab2c10753558' + llvm-Config-llvm-config.h) +sha256sums=('25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628' + '22a9780db3b85a7f2eb9ea1f7f6e00da0249e3d12851e8dea0f62f1783242b1b' + 'ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4' + 'f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c' + '8240adda155d7961eeb5d07ed50ead10cb7125f70283dff7f1c9fee9df3cea09' '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3' - '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48' - '3074df5322900e087377a8e03a02115463ccc0011c25917c2f06df11facd9b92' - '288a82fbff17bc554f5863734246500e637882af33ee8511019d5e0d6cd20524' - 'f7145e203ffb4ce2c01976027f7840a9520e5341a9945f2459b6b11e5422d5b7' - '0d32ad283566357ca1bfbeb4cbe6b0b961943b79d3d718ed0435101c05629137') + '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48') -build() { - cd "$srcdir/$pkgname-$pkgver.src" +prepare() { + cd "$srcdir/llvm-$pkgver" # At the present, clang must reside inside the LLVM source code tree to build # See http://llvm.org/bugs/show_bug.cgi?id=4840 - rm -rf tools/clang - cp -r "$srcdir/clang-$pkgver.src" tools/clang + mv "$srcdir/clang-$pkgver" tools/clang - rm -rf projects/compiler-rt - cp -r "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt + mv "$srcdir/clang-tools-extra-$pkgver" tools/clang/tools/extra - # Fix symbolic links from OCaml bindings to LLVM libraries - sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml + mv "$srcdir/compiler-rt-$pkgver" projects/compiler-rt - # Fix installation directories, ./configure doesn't seem to set them right - sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \ - -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib/llvm:' \ - -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \ + # Fix docs installation directory + sed -i 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \ Makefile.config.in - sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib/llvm:' \ - tools/llvm-config/llvm-config.cpp - sed -i 's:LLVM_LIBDIR="${prefix}/lib":LLVM_LIBDIR="${prefix}/lib/llvm":' \ - autoconf/configure.ac \ - configure - - # Fix insecure rpath (http://bugs.archlinux.org/task/14017) - sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules - - # Fix clang path in CIndexer.cpp (https://bugs.archlinux.org/task/22799) - patch -d tools/clang -Np0 -i "$srcdir/cindexer-clang-path.patch" - - if [[ $CARCH == x86_64 ]]; then - # Adjust linker path - patch -d tools/clang -Np0 -i "$srcdir/clang-pure64.patch" - fi - # Make -flto work - # Use gold instead of default linker, and always use the plugin - patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch" + # Make -flto work; use ld.gold instead of the default linker + patch -d tools/clang -Np1 -i "$srcdir/clang-3.3-use-gold-linker.patch" +} - # Fix FS#29984: [clang] -coverage is broken - patch -d tools/clang -Np1 -i \ - "$srcdir/clang-3.1-fix-libprofile_rt.a-location.patch" +build() { + cd "$srcdir/llvm-$pkgver" # Apply strip option to configure _optimized_switch="enable" [[ $(check_option strip) == n ]] && _optimized_switch="disable" # Include location of libffi headers in CPPFLAGS - export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)" - - # Use Python 2 - mkdir "$srcdir/python2-path" - ln -s /usr/bin/python2 "$srcdir/python2-path/python" - export PATH="$srcdir/python2-path:$PATH" + CPPFLAGS+=" $(pkg-config --cflags libffi)" # Force the use of GCC instead of clang CC=gcc CXX=g++ \ ./configure \ --prefix=/usr \ - --libdir=/usr/lib/llvm \ --sysconfdir=/etc \ --enable-shared \ --enable-libffi \ @@ -104,16 +74,20 @@ build() { --disable-debug-runtime \ --disable-assertions \ --with-binutils-include=/usr/include \ + --with-python=/usr/bin/python2 \ --$_optimized_switch-optimized make REQUIRES_RTTI=1 + make -C docs -f Makefile.sphinx man + make -C docs -f Makefile.sphinx html + make -C tools/clang/docs -f Makefile.sphinx html } package_llvm() { pkgdesc="Low Level Virtual Machine" - depends=('perl' 'libffi') + depends=("llvm-libs=$pkgver-$pkgrel" 'perl') - cd "$srcdir/$pkgname-$pkgver.src" + cd "$srcdir/llvm-$pkgver" # We move the clang directory out of the tree so it won't get installed and # then we bring it back in for the clang package @@ -123,27 +97,26 @@ package_llvm() { make -j1 DESTDIR="$pkgdir" install mv "$srcdir/clang" tools + # The runtime library goes into llvm-libs + mv "$pkgdir/usr/lib/libLLVM-$pkgver.so" "$srcdir" + # OCaml bindings go to a separate package rm -rf "$srcdir"/{ocaml,ocamldoc} mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir" # Remove duplicate files installed by the OCaml bindings - rm "$pkgdir"/usr/{lib/llvm/libllvm*,share/doc/llvm/ocamldoc.tar.gz} + rm "$pkgdir"/usr/{lib/libllvm*,share/doc/llvm/ocamldoc.tar.gz} # Fix permissions of static libs - chmod -x "$pkgdir"/usr/lib/llvm/*.a + chmod -x "$pkgdir"/usr/lib/*.a # Get rid of example Hello transformation - rm "$pkgdir"/usr/lib/llvm/*LLVMHello.* - - # Add ld.so.conf.d entry - install -d "$pkgdir/etc/ld.so.conf.d" - echo /usr/lib/llvm >"$pkgdir/etc/ld.so.conf.d/llvm.conf" + rm "$pkgdir"/usr/lib/*LLVMHello.* # Symlink LLVMgold.so into /usr/lib/bfd-plugins # (https://bugs.archlinux.org/task/28479) install -d "$pkgdir/usr/lib/bfd-plugins" - ln -s ../llvm/LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so" + ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so" if [[ $CARCH == x86_64 ]]; then # Needed for multilib (https://bugs.archlinux.org/task/29951) @@ -155,14 +128,32 @@ package_llvm() { done fi + # Install man pages + install -d "$pkgdir/usr/share/man/man1" + cp docs/_build/man/*.1 "$pkgdir/usr/share/man/man1/" + + # Install html docs + cp -r docs/_build/html/* "$pkgdir/usr/share/doc/$pkgname/html/" + rm -r "$pkgdir/usr/share/doc/$pkgname/html/_sources" + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } +package_llvm-libs() { + pkgdesc="Low Level Virtual Machine (runtime library)" + depends=('gcc-libs' 'zlib' 'libffi' 'ncurses') + + install -D "$srcdir/libLLVM-$pkgver.so" "$pkgdir/usr/lib/libLLVM-$pkgver.so" + + install -Dm644 "$srcdir/llvm-$pkgver/LICENSE.TXT" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + package_llvm-ocaml() { pkgdesc="OCaml bindings for LLVM" depends=("llvm=$pkgver-$pkgrel" 'ocaml') - cd "$srcdir/llvm-$pkgver.src" + cd "$srcdir/llvm-$pkgver" install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm} cp -r "$srcdir/ocaml" "$pkgdir/usr/lib" @@ -171,7 +162,7 @@ package_llvm-ocaml() { # Remove execute bit from static libraries chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a - install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/llvm-ocaml/LICENSE" + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } package_clang() { @@ -181,19 +172,35 @@ package_clang() { # Fix installation path for clang docs sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \ - "$srcdir/llvm-$pkgver.src/Makefile.config" + "$srcdir/llvm-$pkgver/Makefile.config" + + cd "$srcdir/llvm-$pkgver/tools/clang" + + # We move the extra tools directory out of the tree so it won't get + # installed and then we bring it back in for the clang-tools-extra package + mv tools/extra "$srcdir" - cd "$srcdir/llvm-$pkgver.src/tools/clang" make DESTDIR="$pkgdir" install + mv "$srcdir/extra" tools/ # Fix permissions of static libs - chmod -x "$pkgdir"/usr/lib/llvm/*.a + chmod -x "$pkgdir"/usr/lib/*.a # Revert the path change in case we want to do a repackage later sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \ - "$srcdir/llvm-$pkgver.src/Makefile.config" + "$srcdir/llvm-$pkgver/Makefile.config" + + # Install html docs + cp -r docs/_build/html/* "$pkgdir/usr/share/doc/$pkgname/html/" + rm -r "$pkgdir/usr/share/doc/$pkgname/html/_sources" - install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang/LICENSE" + # Install Python bindings + install -d "$pkgdir/usr/lib/python2.7/site-packages" + cp -r bindings/python/clang "$pkgdir/usr/lib/python2.7/site-packages/" + python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang" + python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang" + + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } package_clang-analyzer() { @@ -201,7 +208,7 @@ package_clang-analyzer() { url="http://clang-analyzer.llvm.org/" depends=("clang=$pkgver-$pkgrel" 'python2') - cd "$srcdir/llvm-$pkgver.src/tools/clang" + cd "$srcdir/llvm-$pkgver/tools/clang" install -d "$pkgdir"/usr/{bin,lib/clang-analyzer} for _tool in scan-{build,view}; do @@ -209,6 +216,14 @@ package_clang-analyzer() { ln -s /usr/lib/clang-analyzer/$_tool/$_tool "$pkgdir/usr/bin/" done + # scan-build looks for clang within the same directory + ln -s /usr/bin/clang "$pkgdir/usr/lib/clang-analyzer/scan-build/" + + # Relocate man page + install -d "$pkgdir/usr/share/man/man1" + mv "$pkgdir/usr/lib/clang-analyzer/scan-build/scan-build.1" \ + "$pkgdir/usr/share/man/man1/" + # Use Python 2 sed -i \ -e 's|env python$|&2|' \ @@ -220,7 +235,22 @@ package_clang-analyzer() { python2 -m compileall "$pkgdir/usr/lib/clang-analyzer" python2 -O -m compileall "$pkgdir/usr/lib/clang-analyzer" - install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang-analyzer/LICENSE" + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_clang-tools-extra() { + pkgdesc="Extra tools built using Clang's tooling APIs" + url="http://clang.llvm.org/" + depends=("clang=$pkgver-$pkgrel") + + cd "$srcdir/llvm-$pkgver/tools/clang/tools/extra" + + make DESTDIR="$pkgdir" install + + # Fix permissions of static libs + chmod -x "$pkgdir"/usr/lib/*.a + + install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } # vim:set ts=2 sw=2 et: diff --git a/abs/extra/llvm/bug-9869-operator-h-c++0x.patch b/abs/extra/llvm/bug-9869-operator-h-c++0x.patch deleted file mode 100644 index b95d7d7..0000000 --- a/abs/extra/llvm/bug-9869-operator-h-c++0x.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- llvm/trunk/include/llvm/Operator.h 2011/02/07 16:40:21 125006 -+++ llvm/trunk/include/llvm/Operator.h 2011/05/08 01:59:22 131062 -@@ -186,28 +186,46 @@ - }; - - class AddOperator -- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> {}; -+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Add> { -+ ~AddOperator(); // DO NOT IMPLEMENT -+}; - class SubOperator -- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> {}; -+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Sub> { -+ ~SubOperator(); // DO NOT IMPLEMENT -+}; - class MulOperator -- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> {}; -+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Mul> { -+ ~MulOperator(); // DO NOT IMPLEMENT -+}; - class ShlOperator -- : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {}; -+ : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> { -+ ~ShlOperator(); // DO NOT IMPLEMENT -+}; - - - class SDivOperator -- : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> {}; -+ : public ConcreteOperator<PossiblyExactOperator, Instruction::SDiv> { -+ ~SDivOperator(); // DO NOT IMPLEMENT -+}; - class UDivOperator -- : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> {}; -+ : public ConcreteOperator<PossiblyExactOperator, Instruction::UDiv> { -+ ~UDivOperator(); // DO NOT IMPLEMENT -+}; - class AShrOperator -- : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> {}; -+ : public ConcreteOperator<PossiblyExactOperator, Instruction::AShr> { -+ ~AShrOperator(); // DO NOT IMPLEMENT -+}; - class LShrOperator -- : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> {}; -+ : public ConcreteOperator<PossiblyExactOperator, Instruction::LShr> { -+ ~LShrOperator(); // DO NOT IMPLEMENT -+}; - - - - class GEPOperator - : public ConcreteOperator<Operator, Instruction::GetElementPtr> { -+ ~GEPOperator(); // DO NOT IMPLEMENT -+ - enum { - IsInBounds = (1 << 0) - }; diff --git a/abs/extra/llvm/cindexer-clang-path.patch b/abs/extra/llvm/cindexer-clang-path.patch deleted file mode 100644 index ddaab69..0000000 --- a/abs/extra/llvm/cindexer-clang-path.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- tools/libclang/CIndexer.cpp.orig 2011-04-07 13:08:24.000000000 +0300 -+++ tools/libclang/CIndexer.cpp 2011-04-07 13:11:52.224884642 +0300 -@@ -80,6 +80,7 @@ std::string CIndexer::getClangResourcesP - - // We now have the CIndex directory, locate clang relative to it. - LibClangPath.eraseComponent(); -+ LibClangPath.eraseComponent(); - #endif - - LibClangPath.appendComponent("clang"); diff --git a/abs/extra/llvm/clang-3.1-fix-libprofile_rt.a-location.patch b/abs/extra/llvm/clang-3.1-fix-libprofile_rt.a-location.patch deleted file mode 100644 index 080aa4f..0000000 --- a/abs/extra/llvm/clang-3.1-fix-libprofile_rt.a-location.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr clang-3.1.src.orig/lib/Driver/Tools.cpp clang-3.1.src/lib/Driver/Tools.cpp ---- clang-3.1.src.orig/lib/Driver/Tools.cpp 2012-04-19 00:32:25.000000000 +0300 -+++ clang-3.1.src/lib/Driver/Tools.cpp 2012-05-23 21:12:08.000000000 +0300 -@@ -193,7 +193,7 @@ static void addProfileRT(const ToolChain - // libprofile_rt.so. We used to use the -l:libprofile_rt.a syntax, but that is - // not supported by old linkers. - std::string ProfileRT = -- std::string(TC.getDriver().Dir) + "/../lib/libprofile_rt.a"; -+ std::string(TC.getDriver().Dir) + "/../lib/llvm/libprofile_rt.a"; - - CmdArgs.push_back(Args.MakeArgString(ProfileRT)); - } diff --git a/abs/extra/llvm/clang-3.3-use-gold-linker.patch b/abs/extra/llvm/clang-3.3-use-gold-linker.patch new file mode 100644 index 0000000..76905a6 --- /dev/null +++ b/abs/extra/llvm/clang-3.3-use-gold-linker.patch @@ -0,0 +1,12 @@ +diff -upr cfe.src.orig/lib/Driver/ToolChains.cpp cfe.src/lib/Driver/ToolChains.cpp +--- cfe.src.orig/lib/Driver/ToolChains.cpp 2013-06-08 16:17:19.000000000 +0300 ++++ cfe.src/lib/Driver/ToolChains.cpp 2013-06-08 16:17:33.000000000 +0300 +@@ -2220,7 +2220,7 @@ Linux::Linux(const Driver &D, const llvm + PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + + GCCInstallation.getTriple().str() + "/bin").str()); + +- Linker = GetProgramPath("ld"); ++ Linker = GetProgramPath("ld.gold"); + + Distro Distro = DetectDistro(Arch); + diff --git a/abs/extra/llvm/clang-plugin-loader-registry.patch b/abs/extra/llvm/clang-plugin-loader-registry.patch deleted file mode 100644 index f46eb9f..0000000 --- a/abs/extra/llvm/clang-plugin-loader-registry.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map ---- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200 -+++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300 -@@ -2,6 +2,7 @@ - global: main; - __progname; - environ; -+ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE; - - local: *; - }; diff --git a/abs/extra/llvm/clang-pure64.patch b/abs/extra/llvm/clang-pure64.patch deleted file mode 100644 index 9bbbfaa..0000000 --- a/abs/extra/llvm/clang-pure64.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: lib/Driver/Tools.cpp -=================================================================== ---- lib/Driver/Tools.cpp (revision 123373) -+++ lib/Driver/Tools.cpp (working copy) -@@ -3306,7 +3306,7 @@ - else if (ToolChain.getArch() == llvm::Triple::ppc64) - CmdArgs.push_back("/lib64/ld64.so.1"); - else -- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); -+ CmdArgs.push_back("/lib/ld-linux-x86-64.so.2"); - } - - CmdArgs.push_back("-o"); diff --git a/abs/extra/llvm/clang-toolchains-gcc-versions.patch b/abs/extra/llvm/clang-toolchains-gcc-versions.patch deleted file mode 100644 index 7e00837..0000000 --- a/abs/extra/llvm/clang-toolchains-gcc-versions.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -upr clang-2.9.orig/lib/Driver/ToolChains.cpp clang-2.9/lib/Driver/ToolChains.cpp ---- clang-2.9.orig/lib/Driver/ToolChains.cpp 2011-03-21 23:29:27.000000000 +0200 -+++ clang-2.9/lib/Driver/ToolChains.cpp 2011-04-08 00:03:34.000000000 +0300 -@@ -1449,7 +1449,7 @@ Linux::Linux(const HostInfo &Host, const - GccTriple = "i586-suse-linux"; - } - -- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4", -+ const char* GccVersions[] = {"4.6.1", "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4", - "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2", - "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1", - "4.2"}; diff --git a/abs/extra/llvm/enable-lto.patch b/abs/extra/llvm/enable-lto.patch deleted file mode 100644 index 3205fbf..0000000 --- a/abs/extra/llvm/enable-lto.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: lib/Driver/ToolChains.cpp -=================================================================== ---- lib/Driver/ToolChains.cpp (revision 123373) -+++ lib/Driver/ToolChains.cpp (working copy) -@@ -1398,7 +1398,7 @@ - PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + - GCCInstallation.getTriple() + "/bin").str()); - -- Linker = GetProgramPath("ld"); -+ Linker = GetProgramPath("ld.gold"); - - LinuxDistro Distro = DetectLinuxDistro(Arch); - -Index: lib/Driver/Tools.cpp -=================================================================== ---- lib/Driver/Tools.cpp (revision 123373) -+++ lib/Driver/Tools.cpp (working copy) -@@ -3412,11 +3412,11 @@ - // Tell the linker to load the plugin. This has to come before AddLinkerInputs - // as gold requires -plugin to come before any -plugin-opt that -Wl might - // forward. -- if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) { -+ // if (D.IsUsingLTO(Args) || Args.hasArg(options::OPT_use_gold_plugin)) { - CmdArgs.push_back("-plugin"); -- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; -+ std::string Plugin = ToolChain.getDriver().Dir + "/../lib/llvm/LLVMgold.so"; - CmdArgs.push_back(Args.MakeArgString(Plugin)); -- } -+ // } - - AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs); - } diff --git a/abs/extra/llvm/llvm-3.1-2.src.tar.gz b/abs/extra/llvm/llvm-3.1-2.src.tar.gz deleted file mode 120000 index 4ea98f7..0000000 --- a/abs/extra/llvm/llvm-3.1-2.src.tar.gz +++ /dev/null @@ -1 +0,0 @@ -/data/pkg_repo/src_packages/llvm-3.1-2.src.tar.gz
\ No newline at end of file diff --git a/abs/extra/lm_sensors/PKGBUILD b/abs/extra/lm_sensors/PKGBUILD index 9635bb1..78f622e 100644 --- a/abs/extra/lm_sensors/PKGBUILD +++ b/abs/extra/lm_sensors/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 170399 2012-11-07 01:42:13Z eric $ +# $Id$ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=lm_sensors -pkgver=3.3.3 +pkgver=3.3.5 pkgrel=1 pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring" arch=('i686' 'x86_64') @@ -12,50 +12,39 @@ depends=('perl' 'sysfsutils') makedepends=('rrdtool') optdepends=('rrdtool: for logging with sensord') backup=('etc/sensors3.conf' 'etc/healthd.conf' 'etc/conf.d/sensord') -options=('!emptydirs') -source=(http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${pkgver}.tar.bz2{,.sig} \ - sensors.rc fancontrol.rc healthd healthd.conf healthd.rc sensord.conf \ - sensord.rc fancontrol.service sensord.service healthd.service \ - daemonarg.patch linux_3.0.patch) -sha1sums=('b55c06f425993e42f13553f204066c446da36fd3' - '035a721f20e4ad568f4fdde2d7c25d906c192458' - 'b2e664b9b87759991f02d0a1e8cac5e95098c0a5' - 'a068ac0a3115a6191a487e11422506baa922b40a' - 'afaad558d2ad4732aa53b69afa23ccf37bc67ab1' - '6c4e8a2d89dd2fd3ca2f0f4f3b1230111e01b0fc' - 'de5a46afc39a77ae8721246a0223baf21a2d4c9c' - 'de8d4d65406815c389f8a04e2a8508a1ae6749c8' - '72a60251d1d55a67307dab4105d9f3f01a080af4' - '7a4a4d1442aeeba0ba8aefb742a3ef187b593f4c' - 'eff43b4882d25dae7dd0b33eb2e33b0836a5cc51' - 'a7a20eb3c799d70287e6c7968a7ab42165925293' - '34241388c4001bfb6e49b7e10da1217e29a258d6' - '5662828085cdd981f0dc7cf8f79d3d6e2b72f50c') +source=(http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${pkgver}.tar.bz2{,.sig} + healthd healthd.conf healthd.service sensord.conf + lm_sensors-fancontrol.patch) +sha1sums=('179989a52bae8f01ba8ed77e8a15af6ec653d89e' + 'SKIP' + '1c91ae403d3cd02b6177ad1f1b2f2c3a7a3257f5' + '1edd4d72ade22adfc128fb8d670e85c633fd1d18' + 'd72ec328e9303acef86342483b6f8537de6117d9' + 'f4b5f21fdb3b2a55aa353afa1603f953b207b73b' + 'b0bc977348610d6a008d75a43f65800251c4c9f7') -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - sed -i -e 's|/etc/sysconfig|/etc/conf.d|' \ - -e 's|/etc/init.d/lm_sensors|/etc/rc.d/sensors|' prog/{detect/sensors-detect,init/lm_sensors.service} - sed -i 's@\(/bin/systemctl\|/lib/systemd/system\)@/usr\1@g' prog/detect/sensors-detect +prepare() { + cd ${pkgname}-${pkgver} + sed -i 's|/etc/sysconfig|/etc/conf.d|' prog/{detect/sensors-detect,init/{sensord,lm_sensors}.service} sed -i 's/EnvironmentFile=/EnvironmentFile=-/' prog/init/lm_sensors.service - patch -p1 < ../daemonarg.patch - patch -p0 < ../linux_3.0.patch + patch -p0 -i "${srcdir}/lm_sensors-fancontrol.patch" +} + +build() { + cd ${pkgname}-${pkgver} make PREFIX=/usr } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make PROG_EXTRA=sensord BUILD_STATIC_LIB=0 \ - PREFIX=/usr MANDIR=/usr/share/man DESTDIR="${pkgdir}" install - install -D -m644 prog/init/lm_sensors.service "${pkgdir}/usr/lib/systemd/system/lm_sensors.service" - install -D -m755 "${srcdir}/sensors.rc" "${pkgdir}/etc/rc.d/sensors" - install -D -m755 "${srcdir}/fancontrol.rc" "${pkgdir}/etc/rc.d/fancontrol" - install -D -m755 "${srcdir}/healthd" "${pkgdir}/usr/sbin/healthd" - install -D -m755 "${srcdir}/healthd.rc" "${pkgdir}/etc/rc.d/healthd" + PREFIX=/usr SBINDIR=/usr/bin MANDIR=/usr/share/man DESTDIR="${pkgdir}" install + + install -D -m755 "${srcdir}/healthd" "${pkgdir}/usr/bin/healthd" + install -D -m644 "${srcdir}/healthd.conf" "${pkgdir}/etc/healthd.conf" - install -D -m755 "${srcdir}/sensord.rc" "${pkgdir}/etc/rc.d/sensord" install -D -m644 "${srcdir}/sensord.conf" "${pkgdir}/etc/conf.d/sensord" - install -D -m644 "${srcdir}/fancontrol.service" "${pkgdir}/usr/lib/systemd/system/fancontrol.service" - install -D -m644 "${srcdir}/sensord.service" "${pkgdir}/usr/lib/systemd/system/sensord.service" + install -D -m644 "${srcdir}/healthd.service" "${pkgdir}/usr/lib/systemd/system/healthd.service" + install -D -m644 prog/init/*.service "${pkgdir}/usr/lib/systemd/system/" } diff --git a/abs/extra/lm_sensors/daemonarg.patch b/abs/extra/lm_sensors/daemonarg.patch deleted file mode 100644 index 4b80cef..0000000 --- a/abs/extra/lm_sensors/daemonarg.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -ru lm_sensors-3.1.2-1/prog/pwm/fancontrol lm_sensors-3.1.2-1_pyropeter/usr/sbin/fancontrol ---- lm_sensors-3.1.2-1/prog/pwm/fancontrol 2010-02-03 03:45:15.000000000 +0100 -+++ lm_sensors-3.1.2-1_pyropeter/prog/pwm/fancontrol 2010-03-07 01:37:09.000000000 +0100 -@@ -5,7 +5,9 @@ - # - # Version 0.70 - # --# Usage: fancontrol [CONFIGFILE] -+# Usage: fancontrol [-D] [CONFIGFILE] -+# -+# (-D causes fancontrol to 'fork' to the background after some tests) - # - # Dependencies: - # bash, egrep, sed, cut, sleep, readlink, lm_sensors :) -@@ -43,6 +45,12 @@ - #DEBUG=1 - MAX=255 - -+DAEMON=0 -+if [ "$1" = "-D" ]; then -+ DAEMON=1 -+ shift -+fi -+ - declare -i pwmval - - function LoadConfig { -@@ -303,7 +311,6 @@ - echo "File $PIDFILE exists, is fancontrol already running?" - exit 1 - fi --echo $$ > "$PIDFILE" - - # $1 = pwm file name - function pwmdisable() -@@ -475,6 +482,14 @@ - let fcvcount=$fcvcount+1 - done - -+if [ "$DAEMON" -gt 0 ]; then -+ echo "Forking..." -+ $0 $* &> /dev/null & -+ exit 0 -+fi -+ -+echo $$ > "$PIDFILE" -+ - echo 'Starting automatic fan control...' - - # main loop calling the main function at specified intervals diff --git a/abs/extra/lm_sensors/fancontrol.rc b/abs/extra/lm_sensors/fancontrol.rc deleted file mode 100644 index 8e98d06..0000000 --- a/abs/extra/lm_sensors/fancontrol.rc +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=$(pidof -o %PPID -x /usr/sbin/fancontrol) -case "$1" in - start) - stat_busy "Starting fancontrol" - [ -z "$PID" ] && /usr/sbin/fancontrol -D &>/dev/null - if [ $? -gt 0 -o -n "$PID" ]; then - stat_fail - else - add_daemon fancontrol - stat_done - fi - ;; - stop) - stat_busy "Stopping fancontrol" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon fancontrol - stat_done - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/lm_sensors/fancontrol.service b/abs/extra/lm_sensors/fancontrol.service deleted file mode 100644 index c86b498..0000000 --- a/abs/extra/lm_sensors/fancontrol.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Fan control daemon - -[Service] -PIDFile=/var/run/fancontrol.pid -ExecStart=/usr/sbin/fancontrol - -[Install] -WantedBy=multi-user.target diff --git a/abs/extra/lm_sensors/healthd b/abs/extra/lm_sensors/healthd index 5ffed56..b1e2fd6 100644 --- a/abs/extra/lm_sensors/healthd +++ b/abs/extra/lm_sensors/healthd @@ -1,7 +1,7 @@ #!/bin/bash # -# /usr/sbin/healthd +# /usr/bin/healthd # . /etc/healthd.conf diff --git a/abs/extra/lm_sensors/healthd.conf b/abs/extra/lm_sensors/healthd.conf index a8b2c3f..8df3e39 100644 --- a/abs/extra/lm_sensors/healthd.conf +++ b/abs/extra/lm_sensors/healthd.conf @@ -1,5 +1,5 @@ # -# /etc/conf.d/healthd +# /etc/healthd.conf # # reset any pending alarms on startup diff --git a/abs/extra/lm_sensors/healthd.rc b/abs/extra/lm_sensors/healthd.rc deleted file mode 100644 index f50f4a6..0000000 --- a/abs/extra/lm_sensors/healthd.rc +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=$(pidof -x -o %PPID /usr/sbin/healthd) -case "${1}" in - start) - stat_busy "Starting Health Daemon" - [ -z "${PID}" ] && /usr/sbin/healthd &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - echo "${PID}" > /var/run/healthd.pid - add_daemon healthd - stat_done - fi - ;; - stop) - stat_busy "Stopping Health Daemon" - [ ! -z "${PID}" ] && kill ${PID} &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon healthd - stat_done - fi - ;; - restart) - $0 stop - sleep 2 - $0 start - ;; - *) echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/lm_sensors/healthd.service b/abs/extra/lm_sensors/healthd.service index 59d3270..1933192 100644 --- a/abs/extra/lm_sensors/healthd.service +++ b/abs/extra/lm_sensors/healthd.service @@ -3,7 +3,7 @@ Description=A daemon which can be used to alert you in the event of a hardware h [Service] Type=forking -ExecStart=/usr/sbin/healthd +ExecStart=/usr/bin/healthd [Install] WantedBy=multi-user.target diff --git a/abs/extra/lm_sensors/linux_3.0.patch b/abs/extra/lm_sensors/linux_3.0.patch deleted file mode 100644 index da02a3d..0000000 --- a/abs/extra/lm_sensors/linux_3.0.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- prog/detect/sensors-detect 2011-08-02 10:23:46.000000000 +0200 -+++ prog/detect/sensors-detect 2011-08-02 10:24:04.000000000 +0200 -@@ -2472,7 +2472,7 @@ - - sub initialize_kernel_version - { -- `uname -r` =~ /(\d+)\.(\d+)\.(\d+)(.*)/; -+ `uname -r` =~ /(\d+)\.(\d+)(.*)/; - @kernel_version = ($1, $2, $3, $4); - chomp($kernel_arch = `uname -m`); - diff --git a/abs/extra/lm_sensors/lm_sensors-fancontrol.patch b/abs/extra/lm_sensors/lm_sensors-fancontrol.patch new file mode 100644 index 0000000..c42d7b8 --- /dev/null +++ b/abs/extra/lm_sensors/lm_sensors-fancontrol.patch @@ -0,0 +1,29 @@ +--- prog/pwm/fancontrol 2012-11-07 03:26:37.000000000 +0200 ++++ prog/pwm/fancontrol 2013-03-22 18:15:00.566696011 +0200 +@@ -297,7 +297,7 @@ + cd $DIR + + # Check for configuration change +-if [ "$DIR" != "/" ] && [ -z "$DEVPATH" -o -z "$DEVNAME" ] ++if [[ "$DIR" != "/" && ( -z "$DEVPATH" || -z "$DEVNAME" ) ]] + then + echo "Configuration is too old, please run pwmconfig again" >&2 + exit 1 +@@ -337,7 +337,7 @@ + # It didn't work, try pwmN_enable=1 pwmN=255 + echo 1 > $ENABLE 2> /dev/null + echo $MAX > $1 +- if [ `cat $ENABLE` -eq 1 -a `cat $1` -ge 190 ] ++ if [ `cat $ENABLE` -eq 1 ] && [ `cat $1` -ge 190 ] + then + # Success + return 0 +@@ -469,7 +469,7 @@ + else + # calculate the new value from temperature and settings + pwmval="(${tval}-${mint})*(${maxpwm}-${minso})/(${maxt}-${mint})+${minso}" +- if [ $pwmpval -eq 0 -o $min_fanval -eq 0 ] ++ if [ $pwmpval -eq 0 ] || [ $min_fanval -eq 0 ] + then # if fan was stopped start it using a safe value + echo $minsa > $pwmo + # Sleep while still handling signals diff --git a/abs/extra/lm_sensors/sensord.conf b/abs/extra/lm_sensors/sensord.conf index a1cf091..133783a 100644 --- a/abs/extra/lm_sensors/sensord.conf +++ b/abs/extra/lm_sensors/sensord.conf @@ -1,4 +1,9 @@ # -# Parameters to be passed to sensord +# /etc/conf.d/sensord # -SENSORD_ARGS="" + +#Specify the interval between scanning for sensor alarms +INTERVAL=60s + +#Specify the interval between logging all sensor readings +LOG_INTERVAL=30m diff --git a/abs/extra/lm_sensors/sensord.rc b/abs/extra/lm_sensors/sensord.rc deleted file mode 100644 index e3ef4d2..0000000 --- a/abs/extra/lm_sensors/sensord.rc +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/sensord - -PID=$(pidof -o %PPID /usr/sbin/sensord) -case "$1" in - start) - stat_busy "Starting sensord" - [ -z "$PID" ] && /usr/sbin/sensord ${SENSORD_ARGS} - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon sensord - stat_done - fi - ;; - stop) - stat_busy "Stopping sensord" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon sensord - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/lm_sensors/sensord.service b/abs/extra/lm_sensors/sensord.service deleted file mode 100644 index 6d272f1..0000000 --- a/abs/extra/lm_sensors/sensord.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Sensor information logging daemon - -[Service] -PIDFile=/var/run/sensord.pid -ExecStart=/usr/sbin/sensord - -[Install] -WantedBy=multi-user.target diff --git a/abs/extra/lm_sensors/sensors.rc b/abs/extra/lm_sensors/sensors.rc deleted file mode 100644 index 4acde22..0000000 --- a/abs/extra/lm_sensors/sensors.rc +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/bash - -# description: sensors is used for monitoring motherboard sensor values. -# config: /etc/conf.d/lm_sensors - -# See also the lm_sensors homepage at: -# http://www2.lm-sensors.nu/~lm78/index.html - -# It uses a config file /etc/conf.d/lm_sensors that contains the modules to -# be loaded/unloaded. That file is sourced into this one. - -# The format of that file a shell script that simply defines the modules -# in order as normal shell variables with the special names: -# MODULE_1, MODULE_2, MODULE_3, etc. - -. /etc/rc.conf -. /etc/rc.d/functions - -PSENSORS=/usr/bin/sensors - -if $(grep -q sysfs /proc/mounts); then - WITHSYS=1 -else - WITHSYS=0 -fi - -if [ $WITHSYS == "0" ]; then - # If sensors isn't supported by the kernel, try loading the module... - [ -e /proc/sys/dev/sensors ] || /sbin/modprobe i2c-proc &>/dev/null - - # Don't bother if /proc/sensors still doesn't exist, kernel doesn't have support for sensors. - if ! [ -e /proc/sys/dev/sensors ]; then - echo "lm_sensors: kernel does not have sensors support" - stat_fail - fi - - # If sensors was not already running, unload the module... - [ -e /var/run/daemons/sensors ] || /sbin/modprobe -r i2c-proc &>/dev/null -fi - -if [ -e /etc/conf.d/lm_sensors ]; then - CONFIG=/etc/conf.d/lm_sensors -elif [ -e /etc/sysconfig/lm_sensors ]; then - # Moving config to new Arch-specific location - mv /etc/sysconfig/lm_sensors /etc/conf.d/lm_sensors - CONFIG=/etc/conf.d/lm_sensors -fi - -case "$1" in - start) - stat_busy "Starting Up Sensors" - - if [ -r "$CONFIG" ]; then - . "$CONFIG" - modules=$(grep \^MODULE_ $CONFIG | wc -l | tr -d ' ') - i=0 - while [ $i -lt $modules ] ; do - module=$(eval echo '$'MODULE_$i) - # echo starting module __${module}__ #debug - /sbin/modprobe $module &>/dev/null - i=$(expr $i + 1) - done - fi - - $PSENSORS -s - - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon sensors - stat_done - fi - ;; - - stop) - stat_busy "Shutting Down Sensors" - - if [ -r "$CONFIG" ]; then - . "$CONFIG" - modules=$(grep \^MODULE_ $CONFIG | wc -l | tr -d ' ') - i=$(expr $modules - 1) - while [ $i -ge 0 ] ; do - module=$(eval echo '$'MODULE_$i) - # echo stoping module __${module}__ #debug - /sbin/modprobe -r $module &>/dev/null - i=$(expr $i - 1) - done - fi - - if [ $WITHSYS == "0" ]; then - /sbin/modprobe -r i2c-proc &>/dev/null - fi - - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon sensors - stat_done - fi - ;; - - status) - $PSENSORS - ;; - - restart) - $0 stop - sleep 1 - $0 start - ;; - - condrestart) - [ -e /var/run/daemons/sensors ] && $0 restart || : - ;; - - *) - echo "Usage: $0 {start|stop|restart|status|condrestart}" -esac -exit 0 diff --git a/abs/extra/mpg123/PKGBUILD b/abs/extra/mpg123/PKGBUILD index 8b2633f..e0c6397 100644 --- a/abs/extra/mpg123/PKGBUILD +++ b/abs/extra/mpg123/PKGBUILD @@ -1,31 +1,29 @@ -# $Id: PKGBUILD 163205 2012-07-09 20:33:57Z eric $ +# $Id$ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=mpg123 -pkgver=1.14.3 +pkgver=1.19.0 pkgrel=1 pkgdesc="A console based real time MPEG Audio Player for Layer 1, 2 and 3" arch=('i686' 'x86_64') url="http://sourceforge.net/projects/mpg123" -license=('GPL2' 'LGPL2.1') +license=('LGPL2.1') depends=('libltdl' 'alsa-lib') makedepends=('sdl') optdepends=('sdl: for sdl audio support') -conflicts=('mpg321') -provides=('mpg321') -options=('!libtool') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}) -sha1sums=('c3cd800121bccf15d8fc31a30575a5dce8aaa5d5' - '32f4a507aed62c038b1620c938c8001b3a9b04b5') +sha1sums=('835f8ae489b41ae69fa8c76a0b1e5ee5495ef0ae' + 'SKIP') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr --enable-int-quality --with-module-suffix=.so \ - --with-audio="alsa oss sdl " + --with-audio="alsa oss sdl" make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install + install -m755 scripts/conplay "${pkgdir}/usr/bin/conplay" } diff --git a/abs/extra/community/mutagen/PKGBUILD b/abs/extra/mutagen/PKGBUILD index 5e3d7b0..7c6d05a 100644 --- a/abs/extra/community/mutagen/PKGBUILD +++ b/abs/extra/mutagen/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 149368 2012-02-07 08:50:20Z eric $ +# $Id$ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=mutagen -pkgver=1.20 -pkgrel=4 +pkgver=1.22 +pkgrel=1 pkgdesc="An audio metadata tag reader and writer" arch=('any') url="http://code.google.com/p/mutagen/" license=('GPL2') depends=('python2') source=(http://mutagen.googlecode.com/files/${pkgname}-${pkgver}.tar.gz{,.sig}) -sha1sums=('7a8c1918160e6b5d24acd146f57c08ed942a2fa8' - '046c2d763cd59f86ee920a6dc28a32f86b555473') +sha1sums=('4338be32a7fcdbc9063ce58277c144a143a856be' + 'SKIP') check() { cd "${srcdir}/${pkgname}-${pkgver}" - python2 setup.py test + LANG=en_US.UTF8 python2 setup.py test } package() { diff --git a/abs/extra/mythexpress/PKGBUILD b/abs/extra/mythexpress/PKGBUILD index 51e5c32..d0d3dc6 100755 --- a/abs/extra/mythexpress/PKGBUILD +++ b/abs/extra/mythexpress/PKGBUILD @@ -1,6 +1,6 @@ pkgname=mythexpress -pkgver=20131218 -pkgrel=1 +pkgver=20140923 +pkgrel=2 pkgdesc="MythExpress is a browser-based interface to MythTV HTTP streaming capability" arch=('i686' 'x86_64') url="https://github.com/MythTV-Clients/MythExpress" diff --git a/abs/extra/nbd/PKGBUILD b/abs/extra/nbd/PKGBUILD index e02e890..cfe0c50 100644 --- a/abs/extra/nbd/PKGBUILD +++ b/abs/extra/nbd/PKGBUILD @@ -1,30 +1,26 @@ -# $Id: PKGBUILD 73924 2012-07-17 05:54:37Z svenstaro $ +# $Id: PKGBUILD 103355 2014-01-04 02:43:25Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Christian Hesse <mail@eworm.de> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Gerhard Brauer <gerbra@archlinux.de> pkgname=nbd -pkgver=3.2 -pkgrel=2 +pkgver=3.6 +pkgrel=1 pkgdesc="tools for network block devices, allowing you to use remote block devices over TCP/IP" arch=('i686' 'x86_64') url="http://nbd.sourceforge.net" license=('GPL') -source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2 - config nbd nbd.service) +source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.xz + config nbd.service) backup=('etc/nbd-server/config') depends=('glib2') install=nbd.install -md5sums=('9cafce4ecfb55e670d7ded4c8f4e6bc9' - '2d05d426b8c2708d5f8a0d028fcbae05' - 'e7b13a8b3369e11927d9917664557efa' - '5d1acc143018117174f79eff15afa038') build(){ cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --sysconfdir=/etc + ./configure --prefix=/usr --sysconfdir=/etc --enable-syslog --sbindir=/usr/bin make } @@ -35,8 +31,10 @@ package() { make DESTDIR="${pkgdir}" install install -D -m644 "${srcdir}"/config "${pkgdir}"/etc/nbd-server/config - install -D -m755 "${srcdir}"/nbd "${pkgdir}"/etc/rc.d/nbd install -D -m644 "${srcdir}"/nbd.service "${pkgdir}"/usr/lib/systemd/system/nbd.service install -D -m644 README "${pkgdir}"/usr/share/doc/nbd/README } +md5sums=('717213c2c99b693321fe444e319336ba' + '2d05d426b8c2708d5f8a0d028fcbae05' + '5d1acc143018117174f79eff15afa038') diff --git a/abs/extra/nbd/nbd b/abs/extra/nbd/nbd deleted file mode 100644 index 76d16c7..0000000 --- a/abs/extra/nbd/nbd +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PIDFILE="/var/run/nbd-server.pid" -PID=`cat $PIDFILE 2>/dev/null` -case "$1" in - start) - stat_busy "Starting Network Block Device Server" - if [ "$PID" = "" ]; then - /usr/bin/nbd-server - fi - if [ "$PID" != "" -o $? -gt 0 ]; then - stat_fail - else - add_daemon nbd - stat_done - fi - ;; - stop) - stat_busy "Stopping Network Block Device Server" - [ ! -z "$PID" ] && kill $PID &> /dev/null - rm -f $PIDFILE - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon nbd - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac diff --git a/abs/extra/net-snmp/PKGBUILD b/abs/extra/net-snmp/PKGBUILD index d70068f..4e003ed 100644 --- a/abs/extra/net-snmp/PKGBUILD +++ b/abs/extra/net-snmp/PKGBUILD @@ -1,40 +1,39 @@ -# $Id: PKGBUILD 160499 2012-06-02 10:26:47Z bluewind $ -# Maintainer: +# $Id: PKGBUILD 198340 2013-10-30 14:16:21Z allan $ +# Maintainer: # Contributor: Dale Blount <dale@archlinux.org> pkgname=net-snmp -pkgver=5.7.1 -pkgrel=3 +pkgver=5.7.2 +pkgrel=8 pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6" arch=('i686' 'x86_64') url="http://www.net-snmp.org/" license=('BSD') depends=('openssl' 'libnl' 'pciutils') -makedepends=('python2-distribute') -optdepends=('perl-term-readkey: for snmpcheck application' +makedepends=('python2-setuptools') +optdepends=('perl-term-readkey: for snmpcheck application' 'perl-tk: for snmpcheck and tkmib applications' 'python2: for the python modules') -provides=('ucd-snmp') -backup=('etc/conf.d/snmpd') -options=('!libtool' '!makeflags' '!emptydirs') +options=('!emptydirs' '!makeflags') source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc} - snmpd.confd snmpd.rc libnl32.patch) -sha1sums=('ddb82ce1112ef0642869d3c8d7c7e585f151849a' - '2bdc2839ce09d7daa608cd54687fa8beb47ed907' - 'cf811da9e57bbca34d8e2a3c358bb3bfc0c2b33b' - '90600c0141eed10d6e3ca3ccc97ad8dda15c2112' + snmpd.service snmptrapd.service libnl32.patch) +sha1sums=('c493027907f32400648244d81117a126aecd27ee' + 'SKIP' + '84e32c54d32e6b608747054e04a3ddfe6d6638cc' + '0244e91c7baa0abebfb5c0560e8ce04c966c5992' '74a9848b95f63378eb1753fc309d2b74de5afb0f') -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - # http://sourceforge.net/tracker/index.php?func=detail&aid=3250304&group_id=12694&atid=112694 +prepare() { + cd ${pkgname}-${pkgver} +# http://sourceforge.net/tracker/index.php?func=detail&aid=3250304&group_id=12694&atid=112694 patch -Np1 -i "$srcdir/libnl32.patch" autoreconf -f -i +} - sed -i -e "s:\(install --basedir=\$\$dir\):\1 --root='${pkgdir}':" Makefile.in +build() { + cd ${pkgname}-${pkgver} PYTHONPROG=/usr/bin/python2 ./configure --prefix=/usr \ - --sysconfdir=/etc \ + --sysconfdir=/etc --sbindir=/usr/bin \ --mandir=/usr/share/man \ --enable-ucd-snmp-compatibility \ --enable-ipv6 \ @@ -50,9 +49,10 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + sed -i -e "s:install --basedir=\$\$dir:install --basedir=\$\$dir --root=${pkgdir}:" Makefile make DESTDIR="${pkgdir}" INSTALL_PREFIX="${pkgdir}" INSTALLDIRS=vendor install - install -D -m755 "${srcdir}/snmpd.rc" "${pkgdir}/etc/rc.d/snmpd" - install -D -m644 "${srcdir}/snmpd.confd" "${pkgdir}/etc/conf.d/snmpd" + install -D -m644 "${srcdir}/snmpd.service" "${pkgdir}/usr/lib/systemd/system/snmpd.service" + install -D -m644 "${srcdir}/snmptrapd.service" "${pkgdir}/usr/lib/systemd/system/snmptrapd.service" install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/abs/extra/net-snmp/snmpd.confd b/abs/extra/net-snmp/snmpd.confd deleted file mode 100644 index 926b09b..0000000 --- a/abs/extra/net-snmp/snmpd.confd +++ /dev/null @@ -1,5 +0,0 @@ -# -# Parameters to be passed to snmpd -# -SNMPD_ARGS="" - diff --git a/abs/extra/net-snmp/snmpd.rc b/abs/extra/net-snmp/snmpd.rc deleted file mode 100644 index b00c09f..0000000 --- a/abs/extra/net-snmp/snmpd.rc +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/snmpd - -PID=`pidof -o %PPID /usr/sbin/snmpd` -case "$1" in - start) - stat_busy "Starting Net-SNMP" - [ -z "$PID" ] && /usr/sbin/snmpd $SNMPD_ARGS - if [ $? -gt 0 ]; then - stat_fail - else - echo $PID > /var/run/snmpd.pid - add_daemon snmpd - stat_done - fi - ;; - stop) - stat_busy "Stopping Net-SNMP" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm /var/run/snmpd.pid - rm_daemon snmpd - stat_done - fi - ;; - restart) - $0 stop - sleep 2 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/net-snmp/snmpd.service b/abs/extra/net-snmp/snmpd.service new file mode 100644 index 0000000..e9f713c --- /dev/null +++ b/abs/extra/net-snmp/snmpd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Simple Network Management Protocol (SNMP) Daemon +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/run/snmpd.pid +ExecStart=/usr/bin/snmpd -p /run/snmpd.pid +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/net-snmp/snmptrapd.service b/abs/extra/net-snmp/snmptrapd.service new file mode 100644 index 0000000..50eee7a --- /dev/null +++ b/abs/extra/net-snmp/snmptrapd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Simple Network Management Protocol (SNMP) TRAP Daemon +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/run/snmptrapd.pid +ExecStart=/usr/bin/snmptrapd -p /run/snmptrapd.pid +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/network-ups-tools/PKGBUILD b/abs/extra/network-ups-tools/PKGBUILD index 50afbcc..1a422ff 100644 --- a/abs/extra/network-ups-tools/PKGBUILD +++ b/abs/extra/network-ups-tools/PKGBUILD @@ -1,57 +1,67 @@ -# Maintainer: Alex Reznichenko <sa5gap@yandex.ru> +# Maintainer: Florian Bruhin (The Compiler) <archlinux.org@the-compiler.org> +# Contributor: Alex Reznichenko <sa5gap@yandex.ru> # Contributor: Roman Kyrylych <roman@archlinux.org> # Contributor: Giuseppe Lucarelli <luk@rebelsoft.org> +# Contributor: Dan Ziemba <zman0900@gmail.com> pkgname=network-ups-tools -pkgver=2.6.5 -pkgrel=2 +pkgver=2.7.2 +pkgrel=1 pkgdesc="NUT is a collection of programs for monitoring and administering UPS hardware" arch=('i686' 'x86_64') url="http://www.networkupstools.org/" license=('GPL2') -depends=('openssl' 'libusb-compat') -makedepends=() +depends=('openssl' 'libusb-compat' 'libltdl' 'neon' 'net-snmp') +makedepends=('asciidoc') backup=(etc/ups/{ups.conf,upsd.conf,upsd.users,upsmon.conf,upssched.conf}) install=nut.install -source=("http://www.networkupstools.org/source/2.6/nut-$pkgver.tar.gz" - 'upsd.init' 'nut-driver.service.patch') +source=("http://www.networkupstools.org/source/2.7/nut-${pkgver}.tar.gz" + "http://www.networkupstools.org/source/2.7/nut-${pkgver}.tar.gz.sig") options=('!emptydirs' '!libtool') -md5sums=('e6eac4fa04baff0d0a827d64efe81a7e' - '089ea4a56552253328d17603ff5670cc' - 'ee3aa25a08caca24f51951ee1f090c44') +sha256sums=('4d5365359b059d96dfcb77458f361a114d26c84f1297ffcd0c6c166f7200376d' + 'SKIP') build() { - - cd $srcdir/nut-$pkgver + cd "$srcdir/nut-$pkgver" ./configure \ --without-wrap \ --with-user=ups \ --with-group=nut \ + --disable-static \ + --with-serial \ --with-usb \ + --with-doc=html-single \ + --without-avahi \ + --with-snmp \ + --with-neon \ + --without-powerman \ + --without-ipmi \ + --without-freeipmi \ + --with-libltdl \ + --without-cgi \ --prefix=/usr \ --with-udev-dir=/usr/lib/udev \ --with-systemdsystemunitdir=/lib/systemd/system \ --datadir=/usr/share/ups \ - --sysconfdir=/etc/ups || return 1 - - make || return 1 - + --sbindir=/usr/bin \ + --with-drvpath=/usr/bin \ + --sysconfdir=/etc/ups \ + --with-openssl + make } package() { + cd "$srcdir/nut-$pkgver" + make DESTDIR="$pkgdir" install - cd $srcdir/nut-$pkgver - make DESTDIR=$pkgdir install || return 1 - - install -D -m755 $startdir/upsd.init $pkgdir/etc/rc.d/upsd || return 1 - install -D -m644 conf/ups.conf.sample $pkgdir/etc/ups/ups.conf - install -D -m640 conf/upsd.conf.sample $pkgdir/etc/ups/upsd.conf - install -D -m640 conf/upsd.users.sample $pkgdir/etc/ups/upsd.users - install -D -m640 conf/upsmon.conf.sample $pkgdir/etc/ups/upsmon.conf - install -D -m644 conf/upssched.conf.sample $pkgdir/etc/ups/upssched.conf - - # Fix systemd's nut-driver.service - cd $pkgdir - patch -p1 < ../nut-driver.service.patch + install -D -m644 "conf/ups.conf.sample" "$pkgdir/etc/ups/ups.conf" + install -D -m640 "conf/upsd.conf.sample" "$pkgdir/etc/ups/upsd.conf" + install -D -m640 "conf/upsd.users.sample" "$pkgdir/etc/ups/upsd.users" + install -D -m640 "conf/upsmon.conf.sample" "$pkgdir/etc/ups/upsmon.conf" + install -D -m644 "conf/upssched.conf.sample" "$pkgdir/etc/ups/upssched.conf" + install -d -v -m755 "$pkgdir/usr/share/doc/network-ups-tools/images/cables" + install -v -m 644 docs/*.html "$pkgdir/usr/share/doc/network-ups-tools" + install -v -m 644 docs/images/*.png "$pkgdir/usr/share/doc/network-ups-tools/images" + install -v -m 644 docs/images/cables/*.{png,jpg} "$pkgdir/usr/share/doc/network-ups-tools/images/cables" } diff --git a/abs/extra/network-ups-tools/finish.upsd b/abs/extra/network-ups-tools/finish.upsd deleted file mode 100644 index 8eb335b..0000000 --- a/abs/extra/network-ups-tools/finish.upsd +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/upsd` - stat_runit "Stopping UPSd Daemon" - /usr/bin/upsdrvctl stop &> /dev/null - /usr/sbin/upsmon -c stop &> /dev/null - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon upsd - stat_done - fi diff --git a/abs/extra/network-ups-tools/network-ups-tools.tar.gz b/abs/extra/network-ups-tools/network-ups-tools.tar.gz Binary files differdeleted file mode 100644 index eeb2ed6..0000000 --- a/abs/extra/network-ups-tools/network-ups-tools.tar.gz +++ /dev/null diff --git a/abs/extra/network-ups-tools/nut-driver.service.patch b/abs/extra/network-ups-tools/nut-driver.service.patch deleted file mode 100644 index fec8116..0000000 --- a/abs/extra/network-ups-tools/nut-driver.service.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- pkg/usr/lib/systemd/system/nut-driver.service 2012-10-15 21:50:08.216981122 +0400 -+++ pkg/usr/lib/systemd/system/nut-driver.service 2012-10-15 22:08:44.826990389 +0400 -@@ -4,7 +4,9 @@ - StopWhenUnneeded=yes - - [Service] --ExecStart=${exec_prefix}/bin/upsdrvctl start --ExecStop=${exec_prefix}/bin/upsdrvctl stop -+ExecStart=/usr/bin/upsdrvctl start -+ExecStop=/usr/bin/upsdrvctl stop - Type=forking - -+[Install] -+WantedBy=multi-user.target diff --git a/abs/extra/network-ups-tools/run.upsd b/abs/extra/network-ups-tools/run.upsd deleted file mode 100644 index 83be88d..0000000 --- a/abs/extra/network-ups-tools/run.upsd +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/upsd` - - stat_runit "Starting UPSd Daemon" - /usr/bin/upsdrvctl start &> /dev/null - [ -z "$PID" ] && /usr/sbin/upsd &>/dev/null - /usr/sbin/upsmon &>/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon upsd - stat_done - fi - - while [ -n $PID ] ; do - sleep 60 - done diff --git a/abs/extra/network-ups-tools/upsd.init b/abs/extra/network-ups-tools/upsd.init deleted file mode 100644 index acdd115..0000000 --- a/abs/extra/network-ups-tools/upsd.init +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/upsd` -case "$1" in - start) - stat_busy "Starting UPSd Daemon" - /usr/bin/upsdrvctl start &> /dev/null - [ -z "$PID" ] && /usr/sbin/upsd &>/dev/null - /usr/sbin/upsmon &>/dev/null - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon upsd - stat_done - fi - ;; - - stop) - stat_busy "Stopping UPSd Daemon" - /usr/sbin/upsmon -c stop &> /dev/null - /usr/sbin/upsd -c stop &> /dev/null - /usr/bin/upsdrvctl stop &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon upsd - stat_done - fi - ;; - - restart) - $0 stop - sleep 3 - $0 start - ;; - - *) - cho "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/nodejs/PKGBUILD b/abs/extra/nodejs/PKGBUILD index 7cada4d..2bb2da5 100644 --- a/abs/extra/nodejs/PKGBUILD +++ b/abs/extra/nodejs/PKGBUILD @@ -1,5 +1,6 @@ -# $Id: PKGBUILD 78912 2012-10-27 18:07:12Z bpiotrowski $ -# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> +# $Id$ +# Maintainer: Felix Yan <felixonmars@gmail.com> +# Contributor Bartłomiej Piotrowski <bpiotrowski@archlinux.org> # Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: James Campos <james.r.campos@gmail.com> # Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > @@ -8,20 +9,31 @@ # Contributor: TIanyi Cui <tianyicui@gmail.com> pkgname=nodejs -pkgver=0.8.14 -pkgrel=1 +pkgver=0.10.32 +_npmver=2.0.2 +pkgrel=3 pkgdesc='Evented I/O for V8 javascript' arch=('i686' 'x86_64') url='http://nodejs.org/' license=('MIT') -depends=('openssl' 'python2' 'v8') -checkdepends=('curl') # curl used for check() +depends=('openssl') +provides=('nodejs-node-gyp') +makedepends=('python2' 'git' 'procps-ng') +optdepends=('python2: for node-gyp') +checkdepends=('curl') options=('!emptydirs') -source=(http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz) -md5sums=('284fd2c7578064c339d9cf6a3a475ac7') +source=("http://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz" + git+https://github.com/npm/npm.git#tag=v$_npmver) +sha256sums=('c2120d0e3d2d191654cb11dbc0a33a7216d53732173317681da9502be0030f10' + 'SKIP') -build() { - cd node-v${pkgver} +prepare() { + cd node-v$pkgver + + # We need newer version of npm to fix bugs + rm -r deps/npm + ln -s "$srcdir/npm" deps + rm -r "$srcdir/npm/.git" msg 'Fixing for python2 name' find -type f -exec sed \ @@ -30,32 +42,51 @@ build() { -e 's_^#!/usr/bin/python$_&2_' \ -e "s_'python'_'python2'_" -i {} \; find test/ -type f -exec sed 's_python _python2 _' -i {} \; - export PYTHON=python2 +} + +build() { + cd node-v$pkgver + export PYTHON=python2 ./configure \ --prefix=/usr \ --shared-openssl make + + cd ../npm + ../node-v$pkgver/node cli.js install ronn marked + PATH="$srcdir/node-v$pkgver:$PATH" make + ../node-v$pkgver/node cli.js uninstall ronn marked } check() { - cd node-v${pkgver} - make test || true + cd node-v$pkgver + make test || warning "Tests failed" } package() { - cd node-v${pkgver} + cd node-v$pkgver - make DESTDIR=$pkgdir install + make DESTDIR="$pkgdir" install # install docs as per user request - install -d $pkgdir/usr/share/doc/nodejs - cp -r doc/api/*.html \ - $pkgdir/usr/share/doc/nodejs + install -d "$pkgdir"/usr/share/doc/nodejs + cp -r doc/api/{*.html,assets} \ + "$pkgdir"/usr/share/doc/nodejs install -D -m644 LICENSE \ - $pkgdir/usr/share/licenses/nodejs/LICENSE + "$pkgdir"/usr/share/licenses/nodejs/LICENSE + + install -d "$pkgdir"/usr/share/man/{man1,man3,man5,man7} + for _dir in man1 man3 man5 man7; do + cd "$pkgdir"/usr/lib/node_modules/npm/man/$_dir + for _file in *; do + ln -s /usr/lib/node_modules/npm/man/$_dir/$_file "$pkgdir"/usr/share/man/$_dir/ + done + done + + ln -s /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js "$pkgdir"/usr/bin/node-gyp } # vim:set ts=2 sw=2 et: diff --git a/abs/extra/nspr/PKGBUILD b/abs/extra/nspr/PKGBUILD index 3dd4de0..19538ba 100644 --- a/abs/extra/nspr/PKGBUILD +++ b/abs/extra/nspr/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=nspr -pkgver=4.10 -pkgrel=2 +pkgver=4.10.7 +pkgrel=1 pkgdesc="Netscape Portable Runtime" arch=(i686 x86_64) url="http://www.mozilla.org/projects/nspr/" @@ -13,12 +13,13 @@ depends=('glibc') makedepends=('zip') options=('!emptydirs') source=(ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz) -md5sums=('f5466def95726b3c900d8a0227bdd034') +md5sums=('6e06919e4b56efed501e05d8b45ec10e') +sha1sums=('f62972d7c66d4621d6262c5bd9b5723fa67b6bff') build() { cd $pkgname-$pkgver - if [[ $CARCH = x86_64 ]]; then + if [ "$CARCH" = "x86_64" ]; then _confflags="--enable-64bit" else _confflags="" @@ -37,7 +38,6 @@ package() { cd $pkgname-$pkgver make DESTDIR="$pkgdir" install - chmod 644 "$pkgdir"/usr/lib/*.a ln -s nspr.pc "$pkgdir/usr/lib/pkgconfig/mozilla-nspr.pc" rm -r "$pkgdir"/usr/bin/{compile-et.pl,prerr.properties} \ "$pkgdir/usr/include/nspr/md" diff --git a/abs/extra/nss/PKGBUILD b/abs/extra/nss/PKGBUILD index 09c9d97..7a06cec 100644 --- a/abs/extra/nss/PKGBUILD +++ b/abs/extra/nss/PKGBUILD @@ -1,34 +1,35 @@ # $Id$ # Maintainer: Jan de Groot <jgc@archlinux.org> -pkgname=nss -pkgver=3.15.1 -pkgrel=1 +pkgbase=nss +pkgname=(nss ca-certificates-mozilla) +pkgver=3.17 +pkgrel=4 pkgdesc="Mozilla Network Security Services" arch=(i686 x86_64) url="http://www.mozilla.org/projects/security/pki/nss/" license=('MPL' 'GPL') -_nsprver=4.10 -depends=("nspr>=${_nsprver}" 'sqlite' 'zlib' 'sh') -makedepends=('perl') -options=('!strip' '!makeflags') -source=(ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgname}-${pkgver}.tar.gz +_nsprver=4.10.7 +depends=("nspr>=${_nsprver}" 'sqlite' 'zlib' 'sh' 'p11-kit') +makedepends=('perl' 'python2') +options=('!strip' '!makeflags' 'staticlibs') +source=("ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgbase}-${pkgver}.tar.gz" + certdata2pem.py + bundle.sh nss.pc.in nss-config.in - ssl-renegotiate-transitional.patch - add_spi+cacert_ca_certs.patch) -sha1sums=('1aa7c0ff8af7fb2c8b6e4886ae2291f4bfe0d5c0' - 'aa5b2c0aa38d3c1066d511336cf28d1333e3aebd' - 'cb744cc3e56b604e4754bc3c7d9f25bb9a0a136c' - '8a964a744ba098711b80c0d279a2993524e8eb92' - 'be6ef0f124f188ebb76f4d83e13466bdcfb27dd3') + ssl-renegotiate-transitional.patch) +sha256sums=('3b1abcd8f89211dda2cc739bfa76552d080f7ea80482ef2727b006548a7f0c81' + 'af13c30801a8a27623948206458432a4cf98061b75ff6e5b5e03912f93c034ee' + '045f520403f715a4cc7f3607b4e2c9bcc88fee5bce58d462fddaa2fdb0e4c180' + 'b9f1428ca2305bf30b109507ff335fa00bce5a7ce0434b50acd26ad7c47dd5bd' + 'e44ac5095b4d88f24ec7b2e6a9f1581560bd3ad41a3d198596d67ef22f67adb9' + '12df04bccbf674db1eef7a519a28987927b5e9c107b1dc386686f05e64f49a97') prepare() { - cd $pkgname-$pkgver + mkdir certs - # Add CAcert and spi-inc.org CA certificates. - # See http://wiki.cacert.org/NSSLib for how to generate - patch -Np1 -i ../add_spi+cacert_ca_certs.patch + cd nss-$pkgver # Adds transitional SSL renegotiate support - patch from Debian patch -Np3 -i ../ssl-renegotiate-transitional.patch @@ -36,12 +37,20 @@ prepare() { # Respect LDFLAGS sed -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/' \ -i nss/coreconf/rules.mk + + ln -sr nss/lib/ckfw/builtins/certdata.txt ../certs/ + ln -sr nss/lib/ckfw/builtins/nssckbi.h ../certs/ } build() { - cd $pkgname-$pkgver/nss + cd certs + python2 ../certdata2pem.py + + cd .. + sh bundle.sh + cd nss-$pkgver/nss export BUILD_OPT=1 export NSS_USE_SYSTEM_SQLITE=1 export NSS_ENABLE_ECC=1 @@ -56,8 +65,8 @@ build() { make } -package() { - cd $pkgname-$pkgver +package_nss() { + cd nss-$pkgver install -d "$pkgdir"/usr/{bin,include/nss,lib/pkgconfig} NSS_VMAJOR=$(grep '#define.*NSS_VMAJOR' nss/lib/nss/nss.h | awk '{print $3}') @@ -94,4 +103,18 @@ package() { cd ../../public/nss install -t "$pkgdir/usr/include/nss" -m644 *.h + + rm "$pkgdir/usr/lib/libnssckbi.so" + ln -s pkcs11/p11-kit-trust.so "$pkgdir/usr/lib/libnssckbi.so" +} + +package_ca-certificates-mozilla() { + pkgdesc="Mozilla's set of trusted CA certificates" + depends=(ca-certificates-utils) + install=ca-certificates-mozilla.install + + local _certdir="$pkgdir/usr/share/ca-certificates/trust-source" + install -Dm644 ca-bundle.trust.crt "$_certdir/mozilla.trust.crt" + install -Dm644 ca-bundle.neutral-trust.crt "$_certdir/mozilla.neutral-trust.crt" + install -Dm644 ca-bundle.supplement.p11-kit "$_certdir/mozilla.supplement.p11-kit" } diff --git a/abs/extra/nss/add_spi+cacert_ca_certs.patch b/abs/extra/nss/add_spi+cacert_ca_certs.patch deleted file mode 100644 index 14c65e0..0000000 --- a/abs/extra/nss/add_spi+cacert_ca_certs.patch +++ /dev/null @@ -1,624 +0,0 @@ ---- security/nss/lib/ckfw/builtins/certdata.txt.orig 2012-08-19 16:22:51.726895174 +0200 -+++ security/nss/lib/ckfw/builtins/certdata.txt 2012-08-19 17:40:41.233306703 +0200 -@@ -24454,3 +24454,621 @@ - CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST - CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST - CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -+ -+# -+# Certificate "CAcert.org Class 1 Root CA" -+# -+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA -+# Serial Number: 0 (0x0) -+# Subject: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA -+# Not Valid Before: Sun Mar 30 12:29:49 2003 -+# Not Valid After : Tue Mar 29 12:29:49 2033 -+# Fingerprint (MD5): A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B -+# Fingerprint (SHA1): 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33 -+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -+CKA_TOKEN CK_BBOOL CK_TRUE -+CKA_PRIVATE CK_BBOOL CK_FALSE -+CKA_MODIFIABLE CK_BBOOL CK_FALSE -+CKA_LABEL UTF8 "CAcert.org Class 1 Root CA" -+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -+CKA_SUBJECT MULTILINE_OCTAL -+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157 -+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150 -+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164 -+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103 -+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101 -+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206 -+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164 -+\100\143\141\143\145\162\164\056\157\162\147 -+END -+CKA_ID UTF8 "0" -+CKA_ISSUER MULTILINE_OCTAL -+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157 -+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150 -+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164 -+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103 -+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101 -+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206 -+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164 -+\100\143\141\143\145\162\164\056\157\162\147 -+END -+CKA_SERIAL_NUMBER MULTILINE_OCTAL -+\002\001\000 -+END -+CKA_VALUE MULTILINE_OCTAL -+\060\202\007\075\060\202\005\045\240\003\002\001\002\002\001\000 -+\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -+\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157\164 -+\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150\164 -+\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164\056 -+\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103\101 -+\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101\165 -+\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206\110 -+\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164\100 -+\143\141\143\145\162\164\056\157\162\147\060\036\027\015\060\063 -+\060\063\063\060\061\062\062\071\064\071\132\027\015\063\063\060 -+\063\062\071\061\062\062\071\064\071\132\060\171\061\020\060\016 -+\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036 -+\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057 -+\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042 -+\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164 -+\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151 -+\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011 -+\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162 -+\164\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110 -+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002 -+\012\002\202\002\001\000\316\042\300\342\106\175\354\066\050\007 -+\120\226\362\240\063\100\214\113\361\073\146\077\061\345\153\002 -+\066\333\326\174\366\361\210\217\116\167\066\005\101\225\371\011 -+\360\022\317\106\206\163\140\267\156\176\350\300\130\144\256\315 -+\260\255\105\027\014\143\372\147\012\350\326\322\277\076\347\230 -+\304\360\114\372\340\003\273\065\135\154\041\336\236\040\331\272 -+\315\146\062\067\162\372\367\010\365\307\315\130\311\216\347\016 -+\136\352\076\376\034\241\024\012\025\154\206\204\133\144\146\052 -+\172\251\113\123\171\365\210\242\173\356\057\012\141\053\215\262 -+\176\115\126\245\023\354\352\332\222\236\254\104\101\036\130\140 -+\145\005\146\370\300\104\275\313\224\367\102\176\013\367\145\150 -+\230\121\005\360\363\005\221\004\035\033\027\202\354\310\127\273 -+\303\153\172\210\361\260\162\314\045\133\040\221\354\026\002\022 -+\217\062\351\027\030\110\320\307\005\056\002\060\102\270\045\234 -+\005\153\077\252\072\247\353\123\110\367\350\322\266\007\230\334 -+\033\306\064\177\177\311\034\202\172\005\130\053\010\133\363\070 -+\242\253\027\135\146\311\230\327\236\020\213\242\322\335\164\232 -+\367\161\014\162\140\337\315\157\230\063\235\226\064\166\076\044 -+\172\222\260\016\225\036\157\346\240\105\070\107\252\327\101\355 -+\112\267\022\366\327\033\203\212\017\056\330\011\266\131\327\252 -+\004\377\322\223\175\150\056\335\213\113\253\130\272\057\215\352 -+\225\247\240\303\124\211\245\373\333\213\121\042\235\262\303\276 -+\021\276\054\221\206\213\226\170\255\040\323\212\057\032\077\306 -+\320\121\145\207\041\261\031\001\145\177\105\034\207\365\174\320 -+\101\114\117\051\230\041\375\063\037\165\014\004\121\372\031\167 -+\333\324\024\034\356\201\303\035\365\230\267\151\006\221\042\335 -+\000\120\314\201\061\254\022\007\173\070\332\150\133\346\053\324 -+\176\311\137\255\350\353\162\114\363\001\345\113\040\277\232\246 -+\127\312\221\000\001\213\241\165\041\067\265\143\015\147\076\106 -+\117\160\040\147\316\305\326\131\333\002\340\360\322\313\315\272 -+\142\267\220\101\350\335\040\344\051\274\144\051\102\310\042\334 -+\170\232\377\103\354\230\033\011\121\113\132\132\302\161\361\304 -+\313\163\251\345\241\013\002\003\001\000\001\243\202\001\316\060 -+\202\001\312\060\035\006\003\125\035\016\004\026\004\024\026\265 -+\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262\071 -+\030\321\060\201\243\006\003\125\035\043\004\201\233\060\201\230 -+\200\024\026\265\062\033\324\307\363\340\346\216\363\275\322\260 -+\072\356\262\071\030\321\241\175\244\173\060\171\061\020\060\016 -+\006\003\125\004\012\023\007\122\157\157\164\040\103\101\061\036 -+\060\034\006\003\125\004\013\023\025\150\164\164\160\072\057\057 -+\167\167\167\056\143\141\143\145\162\164\056\157\162\147\061\042 -+\060\040\006\003\125\004\003\023\031\103\101\040\103\145\162\164 -+\040\123\151\147\156\151\156\147\040\101\165\164\150\157\162\151 -+\164\171\061\041\060\037\006\011\052\206\110\206\367\015\001\011 -+\001\026\022\163\165\160\160\157\162\164\100\143\141\143\145\162 -+\164\056\157\162\147\202\001\000\060\017\006\003\125\035\023\001 -+\001\377\004\005\060\003\001\001\377\060\062\006\003\125\035\037 -+\004\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160 -+\163\072\057\057\167\167\167\056\143\141\143\145\162\164\056\157 -+\162\147\057\162\145\166\157\153\145\056\143\162\154\060\060\006 -+\011\140\206\110\001\206\370\102\001\004\004\043\026\041\150\164 -+\164\160\163\072\057\057\167\167\167\056\143\141\143\145\162\164 -+\056\157\162\147\057\162\145\166\157\153\145\056\143\162\154\060 -+\064\006\011\140\206\110\001\206\370\102\001\010\004\047\026\045 -+\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162 -+\164\056\157\162\147\057\151\156\144\145\170\056\160\150\160\077 -+\151\144\075\061\060\060\126\006\011\140\206\110\001\206\370\102 -+\001\015\004\111\026\107\124\157\040\147\145\164\040\171\157\165 -+\162\040\157\167\156\040\143\145\162\164\151\146\151\143\141\164 -+\145\040\146\157\162\040\106\122\105\105\040\150\145\141\144\040 -+\157\166\145\162\040\164\157\040\150\164\164\160\072\057\057\167 -+\167\167\056\143\141\143\145\162\164\056\157\162\147\060\015\006 -+\011\052\206\110\206\367\015\001\001\004\005\000\003\202\002\001 -+\000\050\307\356\234\202\002\272\134\200\022\312\065\012\035\201 -+\157\211\152\231\314\362\150\017\177\247\341\215\130\225\076\275 -+\362\006\303\220\132\254\265\140\366\231\103\001\243\210\160\234 -+\235\142\235\244\207\257\147\130\015\060\066\073\346\255\110\323 -+\313\164\002\206\161\076\342\053\003\150\361\064\142\100\106\073 -+\123\352\050\364\254\373\146\225\123\212\115\135\375\073\331\140 -+\327\312\171\151\073\261\145\222\246\306\201\202\134\234\315\353 -+\115\001\212\245\337\021\125\252\025\312\037\067\300\202\230\160 -+\141\333\152\174\226\243\216\056\124\076\117\041\251\220\357\334 -+\202\277\334\350\105\255\115\220\163\010\074\224\145\260\004\231 -+\166\177\342\274\302\152\025\252\227\004\067\044\330\036\224\116 -+\155\016\121\276\326\304\217\312\226\155\367\103\337\350\060\145 -+\047\073\173\273\103\103\143\304\103\367\262\354\150\314\341\031 -+\216\042\373\230\341\173\132\076\001\067\073\213\010\260\242\363 -+\225\116\032\313\233\315\232\261\333\262\160\360\055\112\333\330 -+\260\343\157\105\110\063\022\377\376\074\062\052\124\367\304\367 -+\212\360\210\043\302\107\376\144\172\161\300\321\036\246\143\260 -+\007\176\244\057\323\001\217\334\237\053\266\306\010\251\017\223 -+\110\045\374\022\375\237\102\334\363\304\076\366\127\260\327\335 -+\151\321\006\167\064\012\113\322\312\240\377\034\306\214\311\026 -+\276\304\314\062\067\150\163\137\010\373\121\367\111\123\066\005 -+\012\225\002\114\362\171\032\020\366\330\072\165\234\363\035\361 -+\242\015\160\147\206\033\263\026\365\057\345\244\353\171\206\371 -+\075\013\302\163\013\245\231\254\157\374\147\270\345\057\013\246 -+\030\044\215\173\321\110\065\051\030\100\254\223\140\341\226\206 -+\120\264\172\131\330\217\041\013\237\317\202\221\306\073\277\153 -+\334\007\221\271\227\126\043\252\266\154\224\306\110\006\074\344 -+\316\116\252\344\366\057\011\334\123\157\056\374\164\353\072\143 -+\231\302\246\254\211\274\247\262\104\240\015\212\020\343\154\362 -+\044\313\372\233\237\160\107\056\336\024\213\324\262\040\011\226 -+\242\144\361\044\034\334\241\065\234\025\262\324\274\125\056\175 -+\006\365\234\016\125\364\132\326\223\332\166\255\045\163\114\305 -+\103 -+END -+ -+# Trust for "CAcert.org Class 1 Root CA" -+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA -+# Serial Number: 0 (0x0) -+# Subject: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA -+# Not Valid Before: Sun Mar 30 12:29:49 2003 -+# Not Valid After : Tue Mar 29 12:29:49 2033 -+# Fingerprint (MD5): A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B -+# Fingerprint (SHA1): 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33 -+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -+CKA_TOKEN CK_BBOOL CK_TRUE -+CKA_PRIVATE CK_BBOOL CK_FALSE -+CKA_MODIFIABLE CK_BBOOL CK_FALSE -+CKA_LABEL UTF8 "CAcert.org Class 1 Root CA" -+CKA_CERT_SHA1_HASH MULTILINE_OCTAL -+\023\134\354\066\364\234\270\351\073\032\262\160\315\200\210\106 -+\166\316\217\063 -+END -+CKA_CERT_MD5_HASH MULTILINE_OCTAL -+\246\033\067\136\071\015\234\066\124\356\275\040\061\106\037\153 -+END -+CKA_ISSUER MULTILINE_OCTAL -+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157 -+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150 -+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164 -+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103 -+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101 -+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206 -+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164 -+\100\143\141\143\145\162\164\056\157\162\147 -+END -+CKA_SERIAL_NUMBER MULTILINE_OCTAL -+\002\001\000 -+END -+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -+ -+# -+# Certificate "CAcert.org Class 3 Root CA" -+# -+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA -+# Serial Number: 672138 (0xa418a) -+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc. -+# Not Valid Before: Mon May 23 17:48:02 2011 -+# Not Valid After : Thu May 20 17:48:02 2021 -+# Fingerprint (MD5): F7:25:12:82:4E:67:B5:D0:8D:92:B7:7C:0B:86:7A:42 -+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE -+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -+CKA_TOKEN CK_BBOOL CK_TRUE -+CKA_PRIVATE CK_BBOOL CK_FALSE -+CKA_MODIFIABLE CK_BBOOL CK_FALSE -+CKA_LABEL UTF8 "CAcert.org Class 3 Root CA" -+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -+CKA_SUBJECT MULTILINE_OCTAL -+\060\124\061\024\060\022\006\003\125\004\012\023\013\103\101\143 -+\145\162\164\040\111\156\143\056\061\036\060\034\006\003\125\004 -+\013\023\025\150\164\164\160\072\057\057\167\167\167\056\103\101 -+\143\145\162\164\056\157\162\147\061\034\060\032\006\003\125\004 -+\003\023\023\103\101\143\145\162\164\040\103\154\141\163\163\040 -+\063\040\122\157\157\164 -+END -+CKA_ID UTF8 "0" -+CKA_ISSUER MULTILINE_OCTAL -+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157 -+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150 -+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164 -+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103 -+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101 -+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206 -+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164 -+\100\143\141\143\145\162\164\056\157\162\147 -+END -+CKA_SERIAL_NUMBER MULTILINE_OCTAL -+\002\003\012\101\212 -+END -+CKA_VALUE MULTILINE_OCTAL -+\060\202\007\131\060\202\005\101\240\003\002\001\002\002\003\012 -+\101\212\060\015\006\011\052\206\110\206\367\015\001\001\013\005 -+\000\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157 -+\157\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025 -+\150\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162 -+\164\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031 -+\103\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040 -+\101\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052 -+\206\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162 -+\164\100\143\141\143\145\162\164\056\157\162\147\060\036\027\015 -+\061\061\060\065\062\063\061\067\064\070\060\062\132\027\015\062 -+\061\060\065\062\060\061\067\064\070\060\062\132\060\124\061\024 -+\060\022\006\003\125\004\012\023\013\103\101\143\145\162\164\040 -+\111\156\143\056\061\036\060\034\006\003\125\004\013\023\025\150 -+\164\164\160\072\057\057\167\167\167\056\103\101\143\145\162\164 -+\056\157\162\147\061\034\060\032\006\003\125\004\003\023\023\103 -+\101\143\145\162\164\040\103\154\141\163\163\040\063\040\122\157 -+\157\164\060\202\002\042\060\015\006\011\052\206\110\206\367\015 -+\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 -+\002\001\000\253\111\065\021\110\174\322\046\176\123\224\317\103 -+\251\335\050\327\102\052\213\363\207\170\031\130\174\017\236\332 -+\211\175\341\373\353\162\220\015\164\241\226\144\253\237\240\044 -+\231\163\332\342\125\166\307\027\173\365\004\254\106\270\303\276 -+\177\144\215\020\154\044\363\141\234\300\362\220\372\121\346\365 -+\151\001\143\303\017\126\342\112\102\317\342\104\214\045\050\250 -+\305\171\011\175\106\271\212\363\351\363\064\051\010\105\344\034 -+\237\313\224\004\034\201\250\024\263\230\145\304\103\354\116\202 -+\215\011\321\275\252\133\215\222\320\354\336\220\305\177\012\302 -+\343\353\346\061\132\136\164\076\227\063\131\350\303\003\075\140 -+\063\277\367\321\157\107\304\315\356\142\203\122\156\056\010\232 -+\244\331\025\030\221\246\205\222\107\260\256\110\353\155\267\041 -+\354\205\032\150\162\065\253\377\360\020\135\300\364\224\247\152 -+\325\073\222\176\114\220\005\176\223\301\054\213\244\216\142\164 -+\025\161\156\013\161\003\352\257\025\070\232\324\322\005\162\157 -+\214\371\053\353\132\162\045\371\071\106\343\162\033\076\004\303 -+\144\047\042\020\052\212\117\130\247\003\255\276\264\056\023\355 -+\135\252\110\327\325\175\324\052\173\134\372\106\004\120\344\314 -+\016\102\133\214\355\333\362\317\374\226\223\340\333\021\066\124 -+\142\064\070\217\014\140\233\073\227\126\070\255\363\322\133\213 -+\240\133\352\116\226\270\174\327\325\240\206\160\100\323\221\051 -+\267\242\074\255\365\214\273\317\032\222\212\344\064\173\300\330 -+\154\137\351\012\302\303\247\040\232\132\337\054\135\122\134\272 -+\107\325\233\357\044\050\160\070\040\057\325\177\051\300\262\101 -+\003\150\222\314\340\234\314\227\113\105\357\072\020\012\253\160 -+\072\230\225\160\255\065\261\352\205\053\244\034\200\041\061\251 -+\256\140\172\200\046\110\000\270\001\300\223\143\125\042\221\074 -+\126\347\257\333\072\045\363\217\061\124\352\046\213\201\131\371 -+\241\321\123\021\305\173\235\003\366\164\021\340\155\261\054\077 -+\054\206\221\231\161\232\246\167\213\064\140\321\024\264\054\254 -+\235\257\214\020\323\237\304\152\370\157\023\374\163\131\367\146 -+\102\164\036\212\343\370\334\322\157\230\234\313\107\230\225\100 -+\005\373\351\002\003\001\000\001\243\202\002\015\060\202\002\011 -+\060\035\006\003\125\035\016\004\026\004\024\165\250\161\140\114 -+\210\023\360\170\331\211\167\265\155\305\211\337\274\261\172\060 -+\201\243\006\003\125\035\043\004\201\233\060\201\230\200\024\026 -+\265\062\033\324\307\363\340\346\216\363\275\322\260\072\356\262 -+\071\030\321\241\175\244\173\060\171\061\020\060\016\006\003\125 -+\004\012\023\007\122\157\157\164\040\103\101\061\036\060\034\006 -+\003\125\004\013\023\025\150\164\164\160\072\057\057\167\167\167 -+\056\143\141\143\145\162\164\056\157\162\147\061\042\060\040\006 -+\003\125\004\003\023\031\103\101\040\103\145\162\164\040\123\151 -+\147\156\151\156\147\040\101\165\164\150\157\162\151\164\171\061 -+\041\060\037\006\011\052\206\110\206\367\015\001\011\001\026\022 -+\163\165\160\160\157\162\164\100\143\141\143\145\162\164\056\157 -+\162\147\202\001\000\060\017\006\003\125\035\023\001\001\377\004 -+\005\060\003\001\001\377\060\135\006\010\053\006\001\005\005\007 -+\001\001\004\121\060\117\060\043\006\010\053\006\001\005\005\007 -+\060\001\206\027\150\164\164\160\072\057\057\157\143\163\160\056 -+\103\101\143\145\162\164\056\157\162\147\057\060\050\006\010\053 -+\006\001\005\005\007\060\002\206\034\150\164\164\160\072\057\057 -+\167\167\167\056\103\101\143\145\162\164\056\157\162\147\057\143 -+\141\056\143\162\164\060\112\006\003\125\035\040\004\103\060\101 -+\060\077\006\010\053\006\001\004\001\201\220\112\060\063\060\061 -+\006\010\053\006\001\005\005\007\002\001\026\045\150\164\164\160 -+\072\057\057\167\167\167\056\103\101\143\145\162\164\056\157\162 -+\147\057\151\156\144\145\170\056\160\150\160\077\151\144\075\061 -+\060\060\064\006\011\140\206\110\001\206\370\102\001\010\004\047 -+\026\045\150\164\164\160\072\057\057\167\167\167\056\103\101\143 -+\145\162\164\056\157\162\147\057\151\156\144\145\170\056\160\150 -+\160\077\151\144\075\061\060\060\120\006\011\140\206\110\001\206 -+\370\102\001\015\004\103\026\101\124\157\040\147\145\164\040\171 -+\157\165\162\040\157\167\156\040\143\145\162\164\151\146\151\143 -+\141\164\145\040\146\157\162\040\106\122\105\105\054\040\147\157 -+\040\164\157\040\150\164\164\160\072\057\057\167\167\167\056\103 -+\101\143\145\162\164\056\157\162\147\060\015\006\011\052\206\110 -+\206\367\015\001\001\013\005\000\003\202\002\001\000\051\050\205 -+\256\104\251\271\257\244\171\023\360\250\243\053\227\140\363\134 -+\356\343\057\301\366\342\146\240\021\256\066\067\072\166\025\004 -+\123\352\102\365\371\352\300\025\330\246\202\331\344\141\256\162 -+\013\051\134\220\103\350\101\262\341\167\333\002\023\104\170\107 -+\125\257\130\374\314\230\366\105\271\321\040\370\330\041\007\376 -+\155\252\163\324\263\306\007\351\011\205\314\073\362\266\276\054 -+\034\045\325\161\214\071\265\056\352\276\030\201\272\260\223\270 -+\017\343\346\327\046\214\061\132\162\003\204\122\346\246\365\063 -+\042\105\012\310\013\015\212\270\066\157\220\011\241\253\275\327 -+\325\116\056\161\242\324\256\372\247\124\053\353\065\215\132\267 -+\124\210\057\356\164\237\355\110\026\312\015\110\320\224\323\254 -+\244\242\366\044\337\222\343\275\353\103\100\221\156\034\030\216 -+\126\264\202\022\363\251\223\237\324\274\234\255\234\165\356\132 -+\227\033\225\347\164\055\034\017\260\054\227\237\373\251\063\071 -+\172\347\003\072\222\216\042\366\214\015\344\331\176\015\166\030 -+\367\001\371\357\226\226\242\125\163\300\074\161\264\035\032\126 -+\103\267\303\012\215\162\374\342\020\011\013\101\316\214\224\240 -+\371\003\375\161\163\113\212\127\063\345\216\164\176\025\001\000 -+\346\314\112\034\347\177\225\031\055\305\245\014\213\273\265\355 -+\205\263\134\323\337\270\271\362\312\307\015\001\024\254\160\130 -+\305\214\215\063\324\235\146\243\032\120\225\043\374\110\340\006 -+\103\022\331\315\247\206\071\057\066\162\243\200\020\344\341\363 -+\321\313\133\032\300\344\200\232\174\023\163\006\117\333\243\153 -+\044\012\272\263\034\274\112\170\273\345\343\165\070\245\110\247 -+\242\036\257\166\324\136\367\070\206\126\132\211\316\326\303\247 -+\171\262\122\240\306\361\205\264\045\214\362\077\226\263\020\331 -+\215\154\127\073\237\157\206\072\030\202\042\066\310\260\221\070 -+\333\052\241\223\252\204\077\365\047\145\256\163\325\310\325\323 -+\167\352\113\235\307\101\273\307\300\343\240\077\344\175\244\215 -+\163\346\022\113\337\241\163\163\163\072\200\350\325\313\216\057 -+\313\352\023\247\326\101\213\254\372\074\211\327\044\365\116\264 -+\340\141\222\267\363\067\230\304\276\226\243\267\212 -+END -+ -+# Trust for "CAcert.org Class 3 Root CA" -+# Issuer: E=support@cacert.org,CN=CA Cert Signing Authority,OU=http://www.cacert.org,O=Root CA -+# Serial Number: 672138 (0xa418a) -+# Subject: CN=CAcert Class 3 Root,OU=http://www.CAcert.org,O=CAcert Inc. -+# Not Valid Before: Mon May 23 17:48:02 2011 -+# Not Valid After : Thu May 20 17:48:02 2021 -+# Fingerprint (MD5): F7:25:12:82:4E:67:B5:D0:8D:92:B7:7C:0B:86:7A:42 -+# Fingerprint (SHA1): AD:7C:3F:64:FC:44:39:FE:F4:E9:0B:E8:F4:7C:6C:FA:8A:AD:FD:CE -+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -+CKA_TOKEN CK_BBOOL CK_TRUE -+CKA_PRIVATE CK_BBOOL CK_FALSE -+CKA_MODIFIABLE CK_BBOOL CK_FALSE -+CKA_LABEL UTF8 "CAcert.org Class 3 Root CA" -+CKA_CERT_SHA1_HASH MULTILINE_OCTAL -+\255\174\077\144\374\104\071\376\364\351\013\350\364\174\154\372 -+\212\255\375\316 -+END -+CKA_CERT_MD5_HASH MULTILINE_OCTAL -+\367\045\022\202\116\147\265\320\215\222\267\174\013\206\172\102 -+END -+CKA_ISSUER MULTILINE_OCTAL -+\060\171\061\020\060\016\006\003\125\004\012\023\007\122\157\157 -+\164\040\103\101\061\036\060\034\006\003\125\004\013\023\025\150 -+\164\164\160\072\057\057\167\167\167\056\143\141\143\145\162\164 -+\056\157\162\147\061\042\060\040\006\003\125\004\003\023\031\103 -+\101\040\103\145\162\164\040\123\151\147\156\151\156\147\040\101 -+\165\164\150\157\162\151\164\171\061\041\060\037\006\011\052\206 -+\110\206\367\015\001\011\001\026\022\163\165\160\160\157\162\164 -+\100\143\141\143\145\162\164\056\157\162\147 -+END -+CKA_SERIAL_NUMBER MULTILINE_OCTAL -+\002\003\012\101\212 -+END -+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -+ -+# -+# Certificate "Software in the Public Interest" -+# -+# Issuer: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US -+# Serial Number:00:e8:8e:b6:c9:f8:2a:14:28 -+# Subject: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US -+# Not Valid Before: Tue May 13 08:07:56 2008 -+# Not Valid After : Fri May 11 08:07:56 2018 -+# Fingerprint (MD5): 2A:47:9F:60:BB:83:74:6F:01:03:D7:0B:0D:F6:0D:78 -+# Fingerprint (SHA1): AF:70:88:43:83:82:02:15:CD:61:C6:BC:EC:FD:37:24:A9:90:43:1C -+CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -+CKA_TOKEN CK_BBOOL CK_TRUE -+CKA_PRIVATE CK_BBOOL CK_FALSE -+CKA_MODIFIABLE CK_BBOOL CK_FALSE -+CKA_LABEL UTF8 "Software in the Public Interest" -+CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -+CKA_SUBJECT MULTILINE_OCTAL -+\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123 -+\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141 -+\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144 -+\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125 -+\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040 -+\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162 -+\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157 -+\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004 -+\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101 -+\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206 -+\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163 -+\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147 -+END -+CKA_ID UTF8 "0" -+CKA_ISSUER MULTILINE_OCTAL -+\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123 -+\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141 -+\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144 -+\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125 -+\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040 -+\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162 -+\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157 -+\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004 -+\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101 -+\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206 -+\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163 -+\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147 -+END -+CKA_SERIAL_NUMBER MULTILINE_OCTAL -+\002\011\000\350\216\266\311\370\052\024\050 -+END -+CKA_VALUE MULTILINE_OCTAL -+\060\202\010\016\060\202\005\366\240\003\002\001\002\002\011\000 -+\350\216\266\311\370\052\024\050\060\015\006\011\052\206\110\206 -+\367\015\001\001\005\005\000\060\201\274\061\013\060\011\006\003 -+\125\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010 -+\023\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125 -+\004\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163 -+\061\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167 -+\141\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151 -+\143\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003 -+\125\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061 -+\036\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146 -+\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061 -+\045\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026 -+\150\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151 -+\156\143\056\157\162\147\060\036\027\015\060\070\060\065\061\063 -+\060\070\060\067\065\066\132\027\015\061\070\060\065\061\061\060 -+\070\060\067\065\066\132\060\201\274\061\013\060\011\006\003\125 -+\004\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023 -+\007\111\156\144\151\141\156\141\061\025\060\023\006\003\125\004 -+\007\023\014\111\156\144\151\141\156\141\160\157\154\151\163\061 -+\050\060\046\006\003\125\004\012\023\037\123\157\146\164\167\141 -+\162\145\040\151\156\040\164\150\145\040\120\165\142\154\151\143 -+\040\111\156\164\145\162\145\163\164\061\023\060\021\006\003\125 -+\004\013\023\012\150\157\163\164\155\141\163\164\145\162\061\036 -+\060\034\006\003\125\004\003\023\025\103\145\162\164\151\146\151 -+\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\045 -+\060\043\006\011\052\206\110\206\367\015\001\011\001\026\026\150 -+\157\163\164\155\141\163\164\145\162\100\163\160\151\055\151\156 -+\143\056\157\162\147\060\202\002\042\060\015\006\011\052\206\110 -+\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002 -+\012\002\202\002\001\000\334\066\346\107\102\302\304\121\165\051 -+\207\100\303\330\216\041\006\322\030\116\353\357\040\275\220\074 -+\205\020\023\214\051\133\224\143\366\364\055\361\006\102\221\271 -+\031\304\102\151\010\277\213\066\105\352\050\005\063\111\110\240 -+\047\103\223\065\212\101\330\170\263\360\357\263\156\055\335\321 -+\313\175\352\364\165\046\323\076\220\072\356\327\347\054\004\265 -+\174\341\365\174\305\116\357\167\275\134\242\223\063\222\316\175 -+\201\110\317\153\265\042\054\010\203\375\323\325\317\073\055\375 -+\265\111\220\133\366\255\115\023\312\336\323\246\235\123\121\161 -+\143\106\370\112\026\134\230\356\055\155\232\026\241\166\220\342 -+\140\103\231\326\211\326\154\056\172\230\262\013\003\054\343\172 -+\117\307\335\343\314\343\112\152\215\171\122\372\364\301\257\056 -+\217\052\010\313\033\051\202\222\162\103\274\316\210\251\252\247 -+\212\121\103\125\205\232\067\003\170\223\310\360\275\264\101\310 -+\007\102\232\313\065\227\172\212\201\145\336\035\124\010\001\361 -+\144\134\267\027\032\121\274\036\303\131\207\166\030\026\230\356 -+\277\366\147\201\213\006\065\305\113\155\131\031\307\322\306\110 -+\276\156\024\050\203\112\020\234\033\365\157\274\251\216\365\151 -+\376\262\301\125\314\347\024\311\371\133\024\123\121\007\352\316 -+\075\344\117\050\037\074\141\011\327\063\322\156\247\156\324\307 -+\023\011\157\153\135\024\356\235\211\033\245\152\362\366\370\320 -+\162\216\352\162\037\057\064\152\051\012\305\012\354\034\100\205 -+\022\367\246\245\323\117\255\300\205\214\114\174\163\040\314\123 -+\030\361\262\130\114\001\365\277\352\144\325\134\071\305\316\154 -+\314\123\132\126\272\101\017\045\337\153\120\266\307\212\240\275 -+\002\302\305\073\125\245\262\144\042\204\121\050\126\256\061\356 -+\136\373\013\026\115\106\005\221\200\104\355\254\155\360\127\250 -+\372\353\141\110\240\313\033\263\037\216\315\305\041\167\003\204 -+\036\374\254\243\103\010\143\214\355\371\047\357\264\260\135\147 -+\326\117\355\320\213\076\135\133\311\221\275\226\002\204\075\305 -+\115\274\102\077\164\375\074\135\254\134\110\066\136\207\061\057 -+\030\154\304\150\356\241\213\311\131\320\030\343\000\200\263\124 -+\047\056\231\360\025\123\002\003\001\000\001\243\202\002\017\060 -+\202\002\013\060\035\006\003\125\035\016\004\026\004\024\064\161 -+\321\070\327\025\066\203\107\153\327\067\144\102\073\216\215\122 -+\235\253\060\201\361\006\003\125\035\043\004\201\351\060\201\346 -+\200\024\064\161\321\070\327\025\066\203\107\153\327\067\144\102 -+\073\216\215\122\235\253\241\201\302\244\201\277\060\201\274\061 -+\013\060\011\006\003\125\004\006\023\002\125\123\061\020\060\016 -+\006\003\125\004\010\023\007\111\156\144\151\141\156\141\061\025 -+\060\023\006\003\125\004\007\023\014\111\156\144\151\141\156\141 -+\160\157\154\151\163\061\050\060\046\006\003\125\004\012\023\037 -+\123\157\146\164\167\141\162\145\040\151\156\040\164\150\145\040 -+\120\165\142\154\151\143\040\111\156\164\145\162\145\163\164\061 -+\023\060\021\006\003\125\004\013\023\012\150\157\163\164\155\141 -+\163\164\145\162\061\036\060\034\006\003\125\004\003\023\025\103 -+\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 -+\162\151\164\171\061\045\060\043\006\011\052\206\110\206\367\015 -+\001\011\001\026\026\150\157\163\164\155\141\163\164\145\162\100 -+\163\160\151\055\151\156\143\056\157\162\147\202\011\000\350\216 -+\266\311\370\052\024\050\060\017\006\003\125\035\023\001\001\377 -+\004\005\060\003\001\001\377\060\021\006\011\140\206\110\001\206 -+\370\102\001\001\004\004\003\002\000\007\060\011\006\003\125\035 -+\022\004\002\060\000\060\056\006\011\140\206\110\001\206\370\102 -+\001\015\004\041\026\037\123\157\146\164\167\141\162\145\040\151 -+\156\040\164\150\145\040\120\165\142\154\151\143\040\111\156\164 -+\145\162\145\163\164\060\060\006\011\140\206\110\001\206\370\102 -+\001\004\004\043\026\041\150\164\164\160\163\072\057\057\143\141 -+\056\163\160\151\055\151\156\143\056\157\162\147\057\143\141\055 -+\143\162\154\056\160\145\155\060\062\006\011\140\206\110\001\206 -+\370\102\001\003\004\045\026\043\150\164\164\160\163\072\057\057 -+\143\141\056\163\160\151\055\151\156\143\056\157\162\147\057\143 -+\145\162\164\055\143\162\154\056\160\145\155\060\041\006\003\125 -+\035\021\004\032\060\030\201\026\150\157\163\164\155\141\163\164 -+\145\162\100\163\160\151\055\151\156\143\056\157\162\147\060\016 -+\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\015 -+\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002 -+\001\000\264\315\275\340\271\352\262\003\053\176\062\351\336\162 -+\077\311\113\202\136\235\342\257\125\011\242\014\124\350\317\030 -+\074\050\040\035\251\273\003\002\057\122\071\042\371\027\317\255 -+\147\220\263\003\177\330\025\343\153\176\273\233\126\001\257\065 -+\324\332\271\307\147\027\233\324\325\016\067\263\040\101\056\014 -+\001\304\133\371\145\076\302\141\350\322\360\152\225\160\303\306 -+\157\325\065\244\254\131\162\341\211\337\241\240\235\044\275\051 -+\171\351\141\052\331\323\036\311\106\244\010\170\101\222\162\017 -+\253\024\165\355\011\360\242\360\134\357\303\012\142\040\267\302 -+\050\146\256\114\057\056\217\105\143\046\226\360\356\061\346\213 -+\125\233\252\072\371\202\071\035\210\074\342\007\165\032\341\017 -+\261\060\274\161\062\322\072\376\372\241\211\363\103\054\326\162 -+\304\171\247\025\110\005\300\330\055\162\002\343\313\075\026\152 -+\272\311\270\021\020\342\111\205\314\226\107\140\005\045\056\357 -+\165\131\063\365\107\031\026\357\332\154\137\007\310\246\120\266 -+\035\313\146\064\045\374\146\203\353\305\266\060\101\370\106\104 -+\142\250\301\014\124\346\352\114\132\050\346\256\306\267\376\177 -+\073\226\250\056\356\307\150\076\335\000\075\051\257\052\143\253 -+\137\356\111\052\055\305\334\373\321\306\323\321\227\126\122\206 -+\266\224\353\324\140\121\267\374\036\233\314\002\233\324\037\217 -+\371\112\217\266\056\050\073\027\314\305\246\005\343\322\323\265 -+\306\003\311\341\110\102\233\313\077\344\027\340\376\015\001\225 -+\011\272\270\015\161\344\011\160\167\102\330\115\341\102\251\140 -+\203\327\027\211\103\322\324\335\247\030\266\253\324\044\045\207 -+\265\324\342\374\056\042\151\275\255\150\054\377\162\265\230\252 -+\006\234\347\052\152\270\241\223\166\316\260\363\177\234\341\340 -+\117\270\330\206\106\245\063\002\054\045\141\067\052\222\310\254 -+\201\164\150\143\207\063\166\275\005\177\136\325\325\002\155\275 -+\257\377\052\132\252\111\354\230\171\107\123\221\366\016\064\132 -+\311\245\306\353\262\343\305\254\266\240\160\065\273\310\121\151 -+\320\362\265\242\062\156\274\077\240\067\071\174\161\066\246\005 -+\337\014\022\344\026\247\305\326\313\143\243\225\160\077\346\004 -+\243\140 -+END -+ -+# Trust for "Software in the Public Interest" -+# Issuer: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US -+# Serial Number:00:e8:8e:b6:c9:f8:2a:14:28 -+# Subject: E=hostmaster@spi-inc.org,CN=Certificate Authority,OU=hostmaster,O=Software in the Public Interest,L=Indianapolis,ST=Indiana,C=US -+# Not Valid Before: Tue May 13 08:07:56 2008 -+# Not Valid After : Fri May 11 08:07:56 2018 -+# Fingerprint (MD5): 2A:47:9F:60:BB:83:74:6F:01:03:D7:0B:0D:F6:0D:78 -+# Fingerprint (SHA1): AF:70:88:43:83:82:02:15:CD:61:C6:BC:EC:FD:37:24:A9:90:43:1C -+CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -+CKA_TOKEN CK_BBOOL CK_TRUE -+CKA_PRIVATE CK_BBOOL CK_FALSE -+CKA_MODIFIABLE CK_BBOOL CK_FALSE -+CKA_LABEL UTF8 "Software in the Public Interest" -+CKA_CERT_SHA1_HASH MULTILINE_OCTAL -+\257\160\210\103\203\202\002\025\315\141\306\274\354\375\067\044 -+\251\220\103\034 -+END -+CKA_CERT_MD5_HASH MULTILINE_OCTAL -+\052\107\237\140\273\203\164\157\001\003\327\013\015\366\015\170 -+END -+CKA_ISSUER MULTILINE_OCTAL -+\060\201\274\061\013\060\011\006\003\125\004\006\023\002\125\123 -+\061\020\060\016\006\003\125\004\010\023\007\111\156\144\151\141 -+\156\141\061\025\060\023\006\003\125\004\007\023\014\111\156\144 -+\151\141\156\141\160\157\154\151\163\061\050\060\046\006\003\125 -+\004\012\023\037\123\157\146\164\167\141\162\145\040\151\156\040 -+\164\150\145\040\120\165\142\154\151\143\040\111\156\164\145\162 -+\145\163\164\061\023\060\021\006\003\125\004\013\023\012\150\157 -+\163\164\155\141\163\164\145\162\061\036\060\034\006\003\125\004 -+\003\023\025\103\145\162\164\151\146\151\143\141\164\145\040\101 -+\165\164\150\157\162\151\164\171\061\045\060\043\006\011\052\206 -+\110\206\367\015\001\011\001\026\026\150\157\163\164\155\141\163 -+\164\145\162\100\163\160\151\055\151\156\143\056\157\162\147 -+END -+CKA_SERIAL_NUMBER MULTILINE_OCTAL -+\002\011\000\350\216\266\311\370\052\024\050 -+END -+CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -+CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE diff --git a/abs/extra/nss/bundle.sh b/abs/extra/nss/bundle.sh new file mode 100644 index 0000000..253e64a --- /dev/null +++ b/abs/extra/nss/bundle.sh @@ -0,0 +1,54 @@ +#!/bin/sh +# From Fedora's ca-certificates.spec + +( + cat <<EOF +# This is a bundle of X.509 certificates of public Certificate +# Authorities. It was generated from the Mozilla root CA list. +# These certificates are in the OpenSSL "TRUSTED CERTIFICATE" +# format and have trust bits set accordingly. +# An exception are auxiliary certificates, without positive or negative +# trust, but are used to assist in finding a preferred trust path. +# Those neutral certificates use the plain BEGIN CERTIFICATE format. +# +# Source: nss/lib/ckfw/builtins/certdata.txt +# Source: nss/lib/ckfw/builtins/nssckbi.h +# +# Generated from: +EOF + cat certs/nssckbi.h | grep -w NSS_BUILTINS_LIBRARY_VERSION | awk '{print "# " $2 " " $3}' + echo '#' +) > ca-bundle.trust.crt +for f in certs/*.crt; do + echo "processing $f" + tbits=`sed -n '/^# openssl-trust/{s/^.*=//;p;}' $f` + distbits=`sed -n '/^# openssl-distrust/{s/^.*=//;p;}' $f` + alias=`sed -n '/^# alias=/{s/^.*=//;p;q;}' $f | sed "s/'//g" | sed 's/"//g'` + targs="" + if [ -n "$tbits" ]; then + for t in $tbits; do + targs="${targs} -addtrust $t" + done + fi + if [ -n "$distbits" ]; then + for t in $distbits; do + targs="${targs} -addreject $t" + done + fi + if [ -n "$targs" ]; then + echo "trust flags $targs for $f" >> info.trust + openssl x509 -text -in "$f" -trustout $targs -setalias "$alias" >> ca-bundle.trust.crt + else + echo "no trust flags for $f" >> info.notrust + # p11-kit-trust defines empty trust lists as "rejected for all purposes". + # That's why we use the simple file format + # (BEGIN CERTIFICATE, no trust information) + # because p11-kit-trust will treat it as a certificate with neutral trust. + # This means we cannot use the -setalias feature for neutral trust certs. + openssl x509 -text -in "$f" >> ca-bundle.neutral-trust.crt + fi +done + +for p in certs/*.p11-kit; do + cat "$p" >> ca-bundle.supplement.p11-kit +done diff --git a/abs/extra/nss/ca-certificates-mozilla.install b/abs/extra/nss/ca-certificates-mozilla.install new file mode 100644 index 0000000..433c35a --- /dev/null +++ b/abs/extra/nss/ca-certificates-mozilla.install @@ -0,0 +1,11 @@ +post_install() { + usr/bin/update-ca-trust +} + +post_upgrade() { + post_install +} + +pre_remove() { + post_install +} diff --git a/abs/extra/nss/certdata2pem.py b/abs/extra/nss/certdata2pem.py new file mode 100644 index 0000000..175de1a --- /dev/null +++ b/abs/extra/nss/certdata2pem.py @@ -0,0 +1,199 @@ +#!/usr/bin/python +# vim:set et sw=4: +# +# certdata2pem.py - splits certdata.txt into multiple files +# +# Copyright (C) 2009 Philipp Kern <pkern@debian.org> +# Copyright (C) 2013 Kai Engert <kaie@redhat.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, +# USA. + +import base64 +import os.path +import re +import sys +import textwrap +import urllib + +objects = [] + +def printable_serial(obj): + return ".".join(map(lambda x:str(ord(x)), obj['CKA_SERIAL_NUMBER'])) + +# Dirty file parser. +in_data, in_multiline, in_obj = False, False, False +field, type, value, obj = None, None, None, dict() +for line in open('certdata.txt', 'r'): + # Ignore the file header. + if not in_data: + if line.startswith('BEGINDATA'): + in_data = True + continue + # Ignore comment lines. + if line.startswith('#'): + continue + # Empty lines are significant if we are inside an object. + if in_obj and len(line.strip()) == 0: + objects.append(obj) + obj = dict() + in_obj = False + continue + if len(line.strip()) == 0: + continue + if in_multiline: + if not line.startswith('END'): + if type == 'MULTILINE_OCTAL': + line = line.strip() + for i in re.finditer(r'\\([0-3][0-7][0-7])', line): + value += chr(int(i.group(1), 8)) + else: + value += line + continue + obj[field] = value + in_multiline = False + continue + if line.startswith('CKA_CLASS'): + in_obj = True + line_parts = line.strip().split(' ', 2) + if len(line_parts) > 2: + field, type = line_parts[0:2] + value = ' '.join(line_parts[2:]) + elif len(line_parts) == 2: + field, type = line_parts + value = None + else: + raise NotImplementedError, 'line_parts < 2 not supported.\n' + line + if type == 'MULTILINE_OCTAL': + in_multiline = True + value = "" + continue + obj[field] = value +if len(obj.items()) > 0: + objects.append(obj) + +# Build up trust database. +trustmap = dict() +for obj in objects: + if obj['CKA_CLASS'] != 'CKO_NSS_TRUST': + continue + key = obj['CKA_LABEL'] + printable_serial(obj) + trustmap[key] = obj + print " added trust", key + +# Build up cert database. +certmap = dict() +for obj in objects: + if obj['CKA_CLASS'] != 'CKO_CERTIFICATE': + continue + key = obj['CKA_LABEL'] + printable_serial(obj) + certmap[key] = obj + print " added cert", key + +def obj_to_filename(obj): + label = obj['CKA_LABEL'][1:-1] + label = label.replace('/', '_')\ + .replace(' ', '_')\ + .replace('(', '=')\ + .replace(')', '=')\ + .replace(',', '_') + label = re.sub(r'\\x[0-9a-fA-F]{2}', lambda m:chr(int(m.group(0)[2:], 16)), label) + serial = printable_serial(obj) + return label + ":" + serial + +trust_types = { + "CKA_TRUST_DIGITAL_SIGNATURE": "digital-signature", + "CKA_TRUST_NON_REPUDIATION": "non-repudiation", + "CKA_TRUST_KEY_ENCIPHERMENT": "key-encipherment", + "CKA_TRUST_DATA_ENCIPHERMENT": "data-encipherment", + "CKA_TRUST_KEY_AGREEMENT": "key-agreement", + "CKA_TRUST_KEY_CERT_SIGN": "cert-sign", + "CKA_TRUST_CRL_SIGN": "crl-sign", + "CKA_TRUST_SERVER_AUTH": "server-auth", + "CKA_TRUST_CLIENT_AUTH": "client-auth", + "CKA_TRUST_CODE_SIGNING": "code-signing", + "CKA_TRUST_EMAIL_PROTECTION": "email-protection", + "CKA_TRUST_IPSEC_END_SYSTEM": "ipsec-end-system", + "CKA_TRUST_IPSEC_TUNNEL": "ipsec-tunnel", + "CKA_TRUST_IPSEC_USER": "ipsec-user", + "CKA_TRUST_TIME_STAMPING": "time-stamping", + "CKA_TRUST_STEP_UP_APPROVED": "step-up-approved", +} + +openssl_trust = { + "CKA_TRUST_SERVER_AUTH": "serverAuth", + "CKA_TRUST_CLIENT_AUTH": "clientAuth", + "CKA_TRUST_CODE_SIGNING": "codeSigning", + "CKA_TRUST_EMAIL_PROTECTION": "emailProtection", +} + +for tobj in objects: + if tobj['CKA_CLASS'] == 'CKO_NSS_TRUST': + key = tobj['CKA_LABEL'] + printable_serial(tobj) + print "producing trust for " + key + trustbits = [] + distrustbits = [] + openssl_trustflags = [] + openssl_distrustflags = [] + for t in trust_types.keys(): + if tobj.has_key(t) and tobj[t] == 'CKT_NSS_TRUSTED_DELEGATOR': + trustbits.append(t) + if t in openssl_trust: + openssl_trustflags.append(openssl_trust[t]) + if tobj.has_key(t) and tobj[t] == 'CKT_NSS_NOT_TRUSTED': + distrustbits.append(t) + if t in openssl_trust: + openssl_distrustflags.append(openssl_trust[t]) + + fname = obj_to_filename(tobj) + try: + obj = certmap[key] + except: + obj = None + + if obj != None: + fname += ".crt" + else: + fname += ".p11-kit" + + f = open(fname, 'w') + if obj != None: + f.write("# alias=%s\n"%tobj['CKA_LABEL']) + f.write("# trust=" + " ".join(trustbits) + "\n") + f.write("# distrust=" + " ".join(distrustbits) + "\n") + if openssl_trustflags: + f.write("# openssl-trust=" + " ".join(openssl_trustflags) + "\n") + if openssl_distrustflags: + f.write("# openssl-distrust=" + " ".join(openssl_distrustflags) + "\n") + f.write("-----BEGIN CERTIFICATE-----\n") + f.write("\n".join(textwrap.wrap(base64.b64encode(obj['CKA_VALUE']), 64))) + f.write("\n-----END CERTIFICATE-----\n") + else: + f.write("[p11-kit-object-v1]\n") + f.write("label: "); + f.write(tobj['CKA_LABEL']); + f.write("\n") + f.write("class: certificate\n") + f.write("certificate-type: x-509\n") + f.write("issuer: \""); + f.write(urllib.quote(tobj['CKA_ISSUER'])); + f.write("\"\n") + f.write("serial-number: \""); + f.write(urllib.quote(tobj['CKA_SERIAL_NUMBER'])); + f.write("\"\n") + if (tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED'): + f.write("x-distrusted: true\n") + f.write("\n\n") + print " -> written as '%s', trust = %s, openssl-trust = %s, distrust = %s, openssl-distrust = %s" % (fname, trustbits, openssl_trustflags, distrustbits, openssl_distrustflags) diff --git a/abs/extra/ntfs-3g_ntfsprogs/PKGBUILD b/abs/extra/ntfs-3g_ntfsprogs/PKGBUILD index 116ab72..d329507 100644 --- a/abs/extra/ntfs-3g_ntfsprogs/PKGBUILD +++ b/abs/extra/ntfs-3g_ntfsprogs/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 185299 2013-05-13 04:23:22Z eric $ +# $Id: PKGBUILD 198347 2013-10-30 14:18:55Z allan $ # Maintainer: Tom Gundersen <teg@jklm.no> # Contributor: Ronald van Haren <ronald.archlinux.org> # Contributor: Thomas Bchler <thomas.archlinux.org> @@ -6,7 +6,7 @@ pkgbase=ntfs-3g_ntfsprogs pkgname=ntfs-3g pkgver=2013.1.13 -pkgrel=3 +pkgrel=4 pkgdesc="NTFS filesystem utilities" arch=('i686' 'x86_64') url="http://www.tuxera.com/community/ntfs-3g-download/" @@ -15,7 +15,6 @@ depends=('util-linux' 'fuse') conflicts=('ntfsprogs') provides=('ntfsprogs') replaces=('ntfsprogs') -options=('!libtool') source=(http://tuxera.com/opensource/$pkgbase-$pkgver.tgz) sha1sums=('8c12b7644d90ae9fb8d0aca0d7ebd5f8fac2c818') @@ -29,7 +28,8 @@ build() { ./configure --prefix=/usr \ --with-fuse=external --disable-static \ --enable-posix-acls --disable-ldconfig \ - --mandir=/usr/share/man --sbin=/usr/bin + --mandir=/usr/share/man --sbin=/usr/bin \ + --enable-extras make } diff --git a/abs/extra/numactl/PKGBUILD b/abs/extra/numactl/PKGBUILD new file mode 100644 index 0000000..532e145 --- /dev/null +++ b/abs/extra/numactl/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Dan McGee <dan@archlinux.org> +# Contributor: Florian Zeitz <florob at babelmonkeys dot de> + +pkgname=numactl +pkgver=2.0.9 +pkgrel=2 +pkgdesc="Simple NUMA policy support" +arch=('i686' 'x86_64') +url="http://oss.sgi.com/projects/libnuma/" +license=('LGPL2.1' 'GPL2') +depends=('perl') +source=(ftp://oss.sgi.com/www/projects/libnuma/download/$pkgname-${pkgver/_/-}.tar.gz) +sha1sums=('7231abc8f49e805225858ac08d801ade722f0b94') + +build() { + cd "$srcdir/$pkgname-${pkgver/_/-}" + rm numastat + make +} + +package() { + cd "$srcdir/$pkgname-${pkgver/_/-}" + make prefix="$pkgdir/usr" libdir="$pkgdir/usr/lib" install + rmdir $pkgdir/usr/share/man/man2 +} diff --git a/abs/extra/nvram-wakup/PKGBUILD b/abs/extra/nvram-wakup/PKGBUILD index c434716..494b861 100755 --- a/abs/extra/nvram-wakup/PKGBUILD +++ b/abs/extra/nvram-wakup/PKGBUILD @@ -1,16 +1,27 @@ -pkgname=nvram-wakup +# Contributor: Andreas Baumann <abaumann@yahoo.com> + +pkgname=nvram-wakeup pkgver=1.1 -pkgrel=1 -pkgdesc="set the wakeup time of the localpc" -license="GPL" +pkgrel=2 +pkgdesc="Reads and writes the WakeUp time in the BIOS." arch=(i686 x86_64) -url="http://sourceforge.net/projects/nvram-wakeup/" -source=("http://downloads.sourceforge.net/project/nvram-wakeup/nvram-wakup-1.1.tar.gz?use_mirror=kent") +url="http://sourceforge.net/projects/nvram-wakeup" +license="GPL" +depends=('bash') +source=(http://downloads.sourceforge.net/project/nvram-wakeup/nvram-wakup-${pkgver}.tar.gz) +md5sums=('ebd6e276167ba4351ecb1ea2bd368422') +options=('!docs') build() { - cd $startdir/src/$pkgname-$pkgver - make || return 1 - make prefix=$startdir/pkg/usr install -} + cd $srcdir/nvram-wakup-$pkgver -md5sums=('ebd6e276167ba4351ecb1ea2bd368422') + # standard Makefile variables (DESTDIR and prefix) + sed -i 's@${prefix}@${DESTDIR}${prefix}@g' Makefile + # FHS compliant location of man pages is /usr/share/man, not /usr/man + sed -i 's@${DESTDIR}${prefix}/man@${DESTDIR}${prefix}/share/man@g' Makefile + sed -i 's|/sbin$|/bin|g' Makefile + + + make || return 1 + make DESTDIR=$pkgdir prefix=/usr install +} diff --git a/abs/extra/nvram-wakup/__changelog b/abs/extra/nvram-wakup/__changelog new file mode 100644 index 0000000..9635654 --- /dev/null +++ b/abs/extra/nvram-wakup/__changelog @@ -0,0 +1,3 @@ +modified makefile to use bin instead of /sbin + sed -i 's|/sbin$|/bin|g' Makefile + diff --git a/abs/extra/open-dyslexic-fonts/PKGBUILD b/abs/extra/open-dyslexic-fonts/PKGBUILD new file mode 100644 index 0000000..ae54058 --- /dev/null +++ b/abs/extra/open-dyslexic-fonts/PKGBUILD @@ -0,0 +1,39 @@ +# Contributor: timthelion <timothyhobbs@seznam.cz> + +pkgname=open-dyslexic-fonts +pkgver=20120920 +pkgrel=1 +pkgdesc="A set of fonts developed with improved readability for dyslexics in mind." +arch=('any') +url="http://dyslexicfonts.com/" +license=('CC-By 3.0') +depends=('fontconfig') +makedepends=('git') +install=open-dyslexic-fonts.install + +_gitroot="https://github.com/antijingoist/open-dyslexic.git" +_gitname="master" + +build() { + cd ${srcdir} + msg "Connecting to GIT server...." + if [[ -d "$_gitname" ]]; then + cd "$_gitname" && git pull origin + msg "The local files are updated." + else + git clone "$_gitroot" "$_gitname" + fi + + msg "GIT checkout done or server timeout" + msg "Starting build..." + + rm -rf "$srcdir/$_gitname-build" + git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build" + cd "$srcdir/$_gitname-build" + + cd otf/ + mkdir -p ${pkgdir}/usr/share/fonts/open-dyslexic + install -m644 *.otf ${pkgdir}/usr/share/fonts/open-dyslexic/ || return 1 +} + +md5sums=() diff --git a/abs/extra/open-dyslexic-fonts/open-dyslexic-fonts.install b/abs/extra/open-dyslexic-fonts/open-dyslexic-fonts.install new file mode 100644 index 0000000..ba4a567 --- /dev/null +++ b/abs/extra/open-dyslexic-fonts/open-dyslexic-fonts.install @@ -0,0 +1,15 @@ +post_install() { + echo -n "Updating font cache... " + fc-cache /usr/share/fonts/open-dyslexic + mkfontscale /usr/share/fonts/open-dyslexic + mkfontdir /usr/share/fonts/open-dyslexic + echo "done." +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/abs/extra/openslp/PKGBUILD b/abs/extra/openslp/PKGBUILD index 70e0833..d1008b8 100644 --- a/abs/extra/openslp/PKGBUILD +++ b/abs/extra/openslp/PKGBUILD @@ -1,22 +1,28 @@ -# $Id: PKGBUILD 150461 2012-02-18 00:02:24Z allan $ +# $Id: PKGBUILD 198356 2013-10-30 14:22:17Z allan $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=openslp pkgver=1.2.1 -pkgrel=4 +pkgrel=7 pkgdesc="Open-source implementation of Service Location Protocol" arch=('i686' 'x86_64') url="http://www.openslp.org" license=('BSD') depends=('bash' 'openssl') backup=('etc/slp.conf' 'etc/slp.reg' 'etc/slp.spi') -options=('!libtool') -source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz rc.slpd) -md5sums=('ff9999d1b44017281dd00ed2c4d32330' '4f6889a5944894b8be2c01404a9566d2') +source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz + #https://github.com/lunar-linux/moonbase-other/commit/ae74b5873e639d50db0a563d2424114a530c01ae + openslp.service) +md5sums=('ff9999d1b44017281dd00ed2c4d32330' + '90eea4426492287ebfc01b2056a3ef9d') build() { cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --disable-static \ + --enable-slpv1 \ + --enable-slpv2-security # service would fail to start without this make } @@ -24,5 +30,5 @@ package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} DOC_DIR=/usr/share/doc/openslp-${pkgver} install install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE - install -D -m755 $srcdir/rc.slpd ${pkgdir}/etc/rc.d/slpd + install -D -m644 $srcdir/openslp.service ${pkgdir}/usr/lib/systemd/system/openslp.service } diff --git a/abs/extra/openslp/openslp.service b/abs/extra/openslp/openslp.service new file mode 100644 index 0000000..a3c306a --- /dev/null +++ b/abs/extra/openslp/openslp.service @@ -0,0 +1,11 @@ +[Unit] +Description=Service Location Protocol +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/slpd -c /etc/slp.conf -r /etc/slp.reg -s /etc/slp.spi +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=network.target diff --git a/abs/extra/openslp/rc.slpd b/abs/extra/openslp/rc.slpd deleted file mode 100755 index 4330c37..0000000 --- a/abs/extra/openslp/rc.slpd +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID /usr/sbin/slpd` -case "$1" in - start) - stat_busy "Starting SLPD" - [ -z "$PID" ] && /usr/sbin/slpd - if [ $? -gt 0 ]; then - stat_fail - else - echo $PID > /var/run/slpd.pid - add_daemon slpd - stat_done - fi - ;; - stop) - stat_busy "Stopping SLPD" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm /var/run/slpd.pid - rm_daemon slpd - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/opus/PKGBUILD b/abs/extra/opus/PKGBUILD new file mode 100644 index 0000000..f858a1a --- /dev/null +++ b/abs/extra/opus/PKGBUILD @@ -0,0 +1,33 @@ +# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: DrZaius <lou[at]fakeoutdoorsman[dot]com> +# Contributor: pumbur + +pkgname=opus +pkgver=1.1 +pkgrel=1 +pkgdesc="Codec designed for interactive speech and audio transmission over the Internet" +arch=(i686 x86_64) +url="http://www.opus-codec.org/" +license=(BSD) +depends=(glibc) +source=(http://downloads.us.xiph.org/releases/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('c5a8cf7c0b066759542bc4ca46817ac6') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --enable-custom-modes --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/abs/extra/oss/PKGBUILD b/abs/extra/oss/PKGBUILD index 8303c40..829c839 100644 --- a/abs/extra/oss/PKGBUILD +++ b/abs/extra/oss/PKGBUILD @@ -1,88 +1,114 @@ -# $Id: PKGBUILD 54037 2011-08-12 13:13:29Z bluewind $ -# Maintainer: Florian Pritz <bluewind@xinu.at> +# Maintainer: Damian Nowak <damian.nowak@atlashost.eu> +# Maintainer: Julian Rother <julian@toksik.org> +# Contributor: Sebastian Schwarz <seschwar@gmail.com> +# Contributor: Kyle Keen <keenerd@gmail.com> +# Contributor: Florian Pritz <bluewind@xinu.at> # Contributor: Paulo Matias <matiasΘarchlinux-br·org> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> +pkgbase=oss pkgname=oss -pkgver=4.2_2006 -pkgrel=1 -pkgdesc="Open Sound System UNIX audio architecture" -arch=('i686' 'x86_64') +true && pkgname=(oss libflashsupport-oss) +pkgver=4.2_2008 +pkgrel=3 +arch=(i686 x86_64) url="http://developer.opensound.com/" -license=('GPL2') -depends=('gcc' 'make' 'linux-headers' 'module-init-tools' 'libtool' 'sed') -makedepends=('pkgconfig' 'gawk' 'gtk2' 'findutils') -optdepends=('gtk2: for graphical mixer (ossxmix)') -conflicts=('oss-linux' 'oss-linux-free' 'oss-testing' 'libflashsupport' 'libflashsupport-pulse' 'libflashsupport-oss') -replaces=('libflashsupport-oss') -install=oss.install -backup=('usr/lib/oss/soundon.user') +license=(GPL2) +makedepends=(gcc gtk2) source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2" - "rm-init-scripts.patch" - "rc-script" - "soundon.patch" - "remove-hal.patch" - ) + 'linux-3.8.0.patch::http://www.opensound.com/forum/download/file.php?id=113' + 'linux-3.10.0.patch::http://www.opensound.com/forum/download/file.php?id=126' + 'linux-3.10.7.patch::http://www.opensound.com/forum/download/file.php?id=129' + oss.service + remove-hal.patch + rm-init-scripts.patch + soundon.patch + kmod-link.patch + ossvermagic.patch) +sha512sums=('bb80a5b6943724a668888684e0d8ec2c5799530ed6943a50a0f68b4eea2d639579e0bbaba4a614267bad4792252d0b3a431d926ae7bf15b01df9442988118b07' + '6483ed671b79a01dded17732e23a7cb8141329b62a2ddb812567f119389e98afc735d6b3cea20e801517d1a417dc823a3ebdbdcba004f44a0c3e6674a169a16e' + 'a2793ec82152167615428ed00ba423fa0571bafdb3e5eb790a02a276d5a4eb663c8a4bae6923f7b2536ed8ed5683254bb1efea26336810b7685aa2b1c9f4a5c5' + '609367d6eadc29a34535461db719b132fe675a06a0532ea3a451191b21a0499801a3a6e706a214833db8179741086a9c1a3f450b79d2d663ec8fb173c97c01f8' + '355e1380432947c0e9caa21114b2c3debeb162fb5abcf845125ec281ce52b437ad1ee1db04d37e9b7a5ac79816c4dcbc21b4ed4cf8191f71218d99acd7bab70e' + '6956e5e2e9323b568bb18e80bbee591b0e5ffd3d4612a50df09879941b2733c31d6b3178dc9a46c283bd1629f76b7ff5e2b54893a42a47f6379eaee4731fd9be' + '64e6d9d8eb5320f737d3a0698a245da2b2d141b68cfb2f02e448144d1c610aa8b8a6c38b56fcca364d63171a49afe93161a00545cdb90086b5328997b3096690' + 'a8196aeea43499f4822bad6adc8c7f8721eb122045732ab34bb675182a1c4403c3f4a30ead85188fdaec77ee79a5097dd8de84782f8915db4061157474b5c7c6' + 'f73b837643c7b86c5ce3a2ff18a66b99166d16ac7d1ac3d419b203efd8d398d8c4b21c304d6fa1c038ebf180ca0620d6517be384b307bb66e84a15b0339800df' + 'eec0608d82d5bec305b374d9cb62d70860d7be833f87f563a828c44b2dd67754cb27716194d2ea2707391d1257ba1b4b7b5cdf513d618dfd877a065999baa4ad') +_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl -build() { - _dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl - cd "${srcdir}/${_dir}" +prepare() { + cd "$srcdir/$_dir" - # Avoid these flags conflicting with OSS build system. - unset CFLAGS - unset LDFLAGS - unset OSFLAGS - unset LIBRARIES - export NO_WARNING_CHECKS=yes + # OSS wants an empty build directory + rm -rf build + mkdir build - # Compile libflashsupport.so only in packaging time, so we avoid - # conflicts with other packages and ease package management. - msg "Building libflashsupport.so." - cd oss/lib/ - gcc -shared -fPIC -O2 -Wall -Werror flashsupport.c -o libflashsupport.so + # make OSS compile with current Linux kernels + patch -p0 < "$srcdir/linux-3.8.0.patch" + patch -p0 < "$srcdir/linux-3.10.0.patch" + patch -p0 < "$srcdir/linux-3.10.7.patch" + patch -p0 < "$srcdir/ossvermagic.patch" - msg "Preparing the build environment." - cd "${srcdir}" + # remove outdated stuff + cd setup/Linux + patch -p2 < "$srcdir/rm-init-scripts.patch" + rm oss/etc/S89oss + patch -p2 < "$srcdir/remove-hal.patch" + rm oss/scripts/*oss_usb-create-device* + patch -p1 < "$srcdir/soundon.patch" - # Create build directory and configure - rm -rf build - mkdir build && cd build - "${srcdir}/${_dir}/configure" --enable-libsalsa=NO --regparm + # FS#35672 + mv oss/build/{osscore.c,osscore_wrapper.c} + patch -p2 < "$srcdir/kmod-link.patch" + cd ../.. +} - msg "Building OSS." - make build +build() { + cd "$srcdir/$_dir/build" + ../configure --enable-libsalsa=NO --regparm + make build + gcc $CFLAGS -shared -fPIC -Wall -Werror oss/lib/flashsupport.c \ + -o libflashsupport.so +} - msg "Patching init scripts." - cd "${srcdir}/build/prototype" - rm usr/lib/oss/etc/S89oss - patch -p0 -i "${srcdir}/rm-init-scripts.patch" - patch -p0 -i "${srcdir}/soundon.patch" - # remove hal dependency - patch -p0 -i "${srcdir}/remove-hal.patch" +package_libflashsupport-oss() { + pkgdesc="Adobe flash plugin support lib (OSSv4)" + conflicts=(libflashsupport libflashsupport-pulse) + depends=(oss) - rm -rf usr/lib/oss/scripts/oss_usb-create-devices usr/lib/oss/scripts/90-oss_usb-create-device.fdi + install -dm755 "$pkgdir/usr/lib" + ln -s oss/lib/libflashsupport.so "$pkgdir/usr/lib/libflashsupport.so" } -package() { - _dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl - cd "${srcdir}/${_dir}" +package_oss() { + pkgdesc="Open Sound System UNIX audio architecture" + depends=(gcc make linux-headers libtool sed) + optdepends=('gtk2: for graphical mixer (ossxmix)' + 'libflashsupport-oss: Adobe flash plugin support') + conflicts=(oss-linux oss-linux-free oss-testing) + backup=(usr/lib/oss/soundon.user) + install=oss.install - msg "Copying files." + cd "$srcdir/$_dir/build" + make DESTDIR="$pkgdir/" copy + install -Dm755 libflashsupport.so \ + "$pkgdir/usr/lib/oss/lib/libflashsupport.so" + cd "$pkgdir" - # Install libflashsupport.so - install -dm755 "$pkgdir/usr/lib" - ln -s oss/lib/libflashsupport.so "$pkgdir/usr/lib/libflashsupport.so" + # usr-move fixes + mv usr/sbin/* usr/bin + rmdir usr/sbin + grep -IlrZ '\<s\?bin\>' . \ + | xargs -0 sed -i 's,\<\(usr/\)\?s\?bin\>,usr/bin,g' -- + grep -IlrZ '\<lib/modules\>' . \ + | xargs -0 sed -i 's,\<\(usr/\)\?lib/modules\>,usr/&,g' -- - cd "${srcdir}/build/prototype" - cp -a * "${pkgdir}" + # make OSS install its modules to /usr/lib/modules/$KERNEL/extramodules/oss + grep -IlrZ '\<usr/lib/modules/[^/]\+/kernel/oss\>' . \ + | xargs -0 sed -i 's,\<usr/lib/modules/\([^/]\+\)/kernel/oss\>,usr/lib/modules/\1/extramodules/oss,g' -- - chmod -R a+r "${pkgdir}" # All files can have read permission (FS#13815) - find "${pkgdir}" -type d -exec chmod a+x '{}' \; # Make namcap happy - install -Dm755 "${srcdir}/rc-script" "${pkgdir}/etc/rc.d/oss" + chmod -R a+rX . # FS#13815 + install -Dm644 "$srcdir/oss.service" usr/lib/systemd/system/oss.service } -md5sums=('ca25c06bb7d0c6495e1b6f55d1bad96c' - 'b9a380a0ac8896390d71ac13676f27e1' - 'cbcbce5c03b127df5eafa8faa091492c' - '65f07fe241bfbf912f76d8b6d8f276b5' - 'cd7f1dc6166bba8c94d96f3a28e948a5') diff --git a/abs/extra/oss/kmod-link.patch b/abs/extra/oss/kmod-link.patch new file mode 100644 index 0000000..8ee9ab5 --- /dev/null +++ b/abs/extra/oss/kmod-link.patch @@ -0,0 +1,27 @@ +--- setup/Linux/oss/build/install.sh 2012-05-22 00:23:41.000000000 +0200 ++++ setup/Linux/oss/build/install.sh 2013-11-10 21:00:08.858276861 +0100 +@@ -203,11 +203,8 @@ + exit 3 + fi + +-if ! $LD -r osscore.ko osscore_mainline.o -o /lib/modules/$UNAME/kernel/oss/osscore.ko +-then +- echo Linking the osscore module failed +- exit 5 +-fi ++ ++cp -f osscore.ko /lib/modules/$UNAME/kernel/oss/osscore.ko + + if test -f Module.symvers + then +--- setup/Linux/oss/build/Makefile.osscore 2012-05-22 00:23:41.000000000 +0200 ++++ setup/Linux/oss/build/Makefile.osscore 2013-11-14 18:57:44.270163268 +0100 +@@ -5,6 +5,7 @@ + ifneq ($(KERNELRELEASE),) + + obj-m := osscore.o ++ osscore-y := osscore_wrapper.o osscore_mainline.o + + else + + diff --git a/abs/extra/oss/oss.install b/abs/extra/oss/oss.install index f665416..672d636 100644 --- a/abs/extra/oss/oss.install +++ b/abs/extra/oss/oss.install @@ -1,59 +1,30 @@ -_MSG_LIBOSSDIR=" Please note that OSS stores some of its configuration files - at /usr/lib/oss. If you are upgrading from an older OSS - release and it doesn't work properly, try removing that - directory and reinstall this package." - post_install() { echo "Running OSS install script..." - /bin/sh /usr/lib/oss/build/install.sh &> /dev/null - echo - echo "-------------------------------------------------------------" - echo " Open Sound System was installed. Now you should add 'oss'" - echo " to your DAEMONS variable at /etc/rc.conf, and start the" - echo " daemon by running /etc/rc.d/oss start." + sh /usr/lib/oss/build/install.sh &>/dev/null echo echo " Note that OSS can't currently work together with kernel" echo " ALSA modules, so they were moved out by the OSS install" echo " scripts. If you want the ALSA kernel modules back, you can" echo " just remove this package using pacman." - echo - echo "${_MSG_LIBOSSDIR}" - echo "-------------------------------------------------------------" - /bin/true } post_upgrade() { echo "Running OSS update script..." - /bin/sh /usr/lib/oss/build/install.sh &> /dev/null - echo - echo "-------------------------------------------------------------" - echo " Open Sound System was updated. Now you should restart the" - echo " daemon by running /etc/rc.d/oss restart." - echo - echo "${_MSG_LIBOSSDIR}" - echo "-------------------------------------------------------------" - /bin/true + sh /usr/lib/oss/build/install.sh &>/dev/null + + if [[ $(vercmp $2 4.2_2006) == "-1" ]]; then + echo "libflashsupport.so has been split into a seperate package." + echo "If you want flash to use oss, please install libflashsupport-oss" + fi } pre_remove() { # Restore any replaced ALSA drivers. - /bin/sh /usr/lib/oss/scripts/restore_drv.sh - # Remove symlinks left by the 'install.sh' script. - rm -f /usr/lib/hal/scripts/oss_usb-create-devices - rm -f /usr/share/hal/fdi/policy/20thirdparty/90-oss_usb-create-device.fdi - /bin/true + sh /usr/lib/oss/scripts/restore_drv.sh } post_remove() { - echo - echo "-------------------------------------------------------------" echo " Open Sound System was now removed, and the ALSA kernel" echo " modules were restored." - echo - echo " Please note that OSS stores some of its configuration files" - echo " at /usr/lib/oss. If you don't plan to use OSS anymore, you" - echo " can remove this directory." - echo "-------------------------------------------------------------" - /bin/true } diff --git a/abs/extra/oss/oss.service b/abs/extra/oss/oss.service new file mode 100644 index 0000000..0200d24 --- /dev/null +++ b/abs/extra/oss/oss.service @@ -0,0 +1,12 @@ +[Unit] +Description=Open Sound System v4 +Before=sound.target + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/soundon +ExecStop=/usr/bin/soundoff + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/oss/ossvermagic.patch b/abs/extra/oss/ossvermagic.patch new file mode 100644 index 0000000..9c20912 --- /dev/null +++ b/abs/extra/oss/ossvermagic.patch @@ -0,0 +1,12 @@ +--- os_cmd/Linux/ossvermagic/ossvermagic.c 2013-06-14 06:55:00.000000000 +0200 ++++ os_cmd/Linux/ossvermagic/ossvermagic.c 2013-11-14 18:42:23.910206071 +0100 +@@ -81,6 +81,8 @@ + if (!ok) + ok = ELF_LOAD_SYMTAB (fname, "__mod_vermagic", sym_callback); + if (!ok) ++ ok = ELF_LOAD_SYMTAB (fname, "__UNIQUE_ID_vermagic0", sym_callback); ++ if (!ok) + ELF_LOAD_SYMTAB (fname, "__oss_compile_vermagic", sym_callback); + } + + diff --git a/abs/extra/oss/rc-script b/abs/extra/oss/rc-script deleted file mode 100644 index 5c93010..0000000 --- a/abs/extra/oss/rc-script +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -. /etc/rc.conf -. /etc/rc.d/functions - -case "$1" in - start) - stat_busy 'Starting Open Sound System' - if /usr/sbin/soundon; then - add_daemon oss - stat_done - else - stat_fail - fi - ;; - stop) - stat_busy 'Stopping Open Sound System' - if /usr/sbin/soundoff; then - rm_daemon oss - stat_done - else - stat_fail - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart}" -esac diff --git a/abs/extra/perl-perl4-corelibs/PKGBUILD b/abs/extra/perl-perl4-corelibs/PKGBUILD new file mode 100644 index 0000000..7ff205c --- /dev/null +++ b/abs/extra/perl-perl4-corelibs/PKGBUILD @@ -0,0 +1,30 @@ +# $Id$ +# Maintainer: + +pkgname=perl-perl4-corelibs +pkgver=0.003 +pkgrel=2 +pkgdesc="Libraries historically supplied with Perl 4" +arch=('any') +url="https://metacpan.org/release/Perl4-CoreLibs" +license=('PerlArtistic' 'GPL') +depends=('perl') +options=('!emptydirs') +source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-$pkgver.tar.gz") +sha1sums=('ad4c5a9fa8da4f461dc774e5c53136a55413ef2f') + +build() { + cd Perl4-CoreLibs-$pkgver + perl Build.PL + ./Build +} + +check() { + cd Perl4-CoreLibs-$pkgver + ./Build test +} + +package() { + cd Perl4-CoreLibs-$pkgver + ./Build install installdirs=vendor destdir="$pkgdir" +} diff --git a/abs/extra/php-composer/PKGBUILD b/abs/extra/php-composer/PKGBUILD new file mode 100644 index 0000000..0cd1b13 --- /dev/null +++ b/abs/extra/php-composer/PKGBUILD @@ -0,0 +1,53 @@ +# $Id$ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgname=php-composer +pkgver=1.0.0.alpha8.532 +pkgrel=1 +pkgdesc="Dependency Manager for PHP" +arch=('any') +license=('MIT') +url='http://getcomposer.org/' +depends=('php' 'php-intl') +makedepends=('git' "${pkgname}") +checkdepends=('mercurial') +source=("${pkgname}::git+https://github.com/composer/composer.git" + 'php.ini') +md5sums=('SKIP' + '9d871623bc2ec0a37a7d78f708a7f838') + +pkgver() { + cd ${srcdir}/${pkgname} + + local _tag=$(git tag -l --sort -version:refname | head -1) + echo "${_tag}.$(git rev-list ${_tag}.. --count)" | sed 's/-/./g' +} + +prepare() { + cd ${srcdir}/${pkgname} + + sed "s~^#!/usr/bin/env php~#!/usr/bin/php -nc/usr/share/${pkgname}/php.ini~g" -i src/Composer/Compiler.php + /usr/bin/composer -on install +} + +check() { + cd ${srcdir}/${pkgname} + + git config --global user.email "${USER}@${HOST}" + git config --global user.name "${USER}" + /usr/bin/php -nc ${srcdir}/php.ini vendor/phpunit/phpunit/phpunit.php +} + +build() { + cd ${srcdir}/${pkgname} + + /usr/bin/php -nc ${srcdir}/php.ini bin/compile +} + +package() { + cd ${srcdir}/${pkgname} + + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + install -Dm644 ${srcdir}/php.ini ${pkgdir}/usr/share/php-composer/php.ini + install -Dm755 composer.phar ${pkgdir}/usr/bin/composer +} diff --git a/abs/extra/php-composer/php.ini b/abs/extra/php-composer/php.ini new file mode 100644 index 0000000..f6a59a5 --- /dev/null +++ b/abs/extra/php-composer/php.ini @@ -0,0 +1,11 @@ +[PHP] +memory_limit=-1 +extension=openssl.so +extension=phar.so +extension=zip.so +extension=curl.so +extension=intl.so +[Date] +date.timezone=UTC +[Phar] +phar.readonly=Off diff --git a/abs/extra/powertop/PKGBUILD b/abs/extra/powertop/PKGBUILD index efec607..fe3b066 100644 --- a/abs/extra/powertop/PKGBUILD +++ b/abs/extra/powertop/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 78981 2012-10-28 15:59:46Z jlichtblau $ +# $Id: PKGBUILD 101505 2013-11-26 18:13:32Z bpiotrowski $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Alexander Fehr <pizzapunk gmail com> # Contributor: Xilon <xilonmu@gmail.com> pkgname=powertop -pkgver=2.1.1 +pkgver=2.5 pkgrel=1 pkgdesc='A tool to diagnose issues with power consumption and power management' arch=('i686' 'x86_64') @@ -12,20 +12,18 @@ url='https://01.org/powertop/' license=('GPL2') depends=('gcc-libs' 'libnl' 'ncurses' 'pciutils') changelog=$pkgname.changelog -source=($pkgname-$pkgver.tar.gz::https://github.com/fenrus75/powertop/tarball/v2.1.1) -#https://01.org/powertop/sites/default/files/downloads/$pkgname-$pkgver.tar.gz) -sha256sums=('e925230cc9006dbc226aec4dea389b97a0f906a7997b33aca40a1d6bc7568dc4') +source=(https://01.org/powertop/sites/default/files/downloads/$pkgname-$pkgver.tar.gz) +sha256sums=('8b2c08a555d79e1c428863470c41cb023971d74ba4801d80a05e35adeec23c0b') build() { - cd ${srcdir}/*-$pkgname-* + cd "$srcdir/$pkgname-$pkgver" - ./autogen.sh - ./configure --prefix=/usr + ./configure --prefix=/usr --sbindir=/usr/bin make } package() { - cd ${srcdir}/*-$pkgname-* + cd "$srcdir/$pkgname-$pkgver" - make DESTDIR=${pkgdir} install + make DESTDIR="$pkgdir" install } diff --git a/abs/extra/powertop/powertop.changelog b/abs/extra/powertop/powertop.changelog index 9a53fc3..1abb367 100644 --- a/abs/extra/powertop/powertop.changelog +++ b/abs/extra/powertop/powertop.changelog @@ -1,3 +1,9 @@ +2013-03-23 Evangelos Foutras <evangelos@foutrelis.com> + * powertop 2.3-1 + +2013-01-05 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org> + * powertop 2.2-1 + 2012-10-28 Jaroslav Lichtblau (Dragonlord) <dragonlord@aur.archlinux.org> * powertop 2.1.1-1 diff --git a/abs/extra/presentproto/COPYING b/abs/extra/presentproto/COPYING new file mode 100644 index 0000000..313c8f1 --- /dev/null +++ b/abs/extra/presentproto/COPYING @@ -0,0 +1,21 @@ +/* + * Copyright © 2013 Keith Packard + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that copyright + * notice and this permission notice appear in supporting documentation, and + * that the name of the copyright holders not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. The copyright holders make no representations + * about the suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE + * OF THIS SOFTWARE. + */ diff --git a/abs/extra/presentproto/PKGBUILD b/abs/extra/presentproto/PKGBUILD new file mode 100644 index 0000000..53597f8 --- /dev/null +++ b/abs/extra/presentproto/PKGBUILD @@ -0,0 +1,30 @@ +# $Id$ +# Maintainer: AndyRTR <andyrtr@archlinux.org> + +pkgname=presentproto +pkgver=1.0 +pkgrel=1 +pkgdesc="X11 Present protocol specification" +arch=('any') +url="http://xorg.freedesktop.org/" +license=('custom') +source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2 + COPYING) +sha256sums=('812c7d48721f909a0f7a2cb1e91f6eead76159a36c4712f4579ca587552839ce' + '5e46864ede2fda46c3cb7cfe3a7b9f9e4bd36d8d21d8010a284caa64b81d465a') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install + + # license is still missing + # COPYING is taken from top of /usr/include/X11/extensions/presentproto.h + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 ${srcdir}/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/abs/extra/quota-tools/PKGBUILD b/abs/extra/quota-tools/PKGBUILD new file mode 100644 index 0000000..d58311b --- /dev/null +++ b/abs/extra/quota-tools/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 185213 2013-05-12 07:52:46Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> + +pkgname=quota-tools +pkgver=4.01 +pkgrel=2 +epoch=1 +pkgdesc="Tools to manage kernel-level quotas in Linux" +arch=('i686' 'x86_64') +url="http://sourceforge.net/projects/linuxquota/" +license=('GPL' 'BSD') +depends=('e2fsprogs') +backup=('etc/warnquota.conf' 'etc/quotatab' 'etc/quotagrpadmins') +options=('!emptydirs') +source=(http://downloads.sourceforge.net/sourceforge/linuxquota/quota-${pkgver}.tar.gz) +sha1sums=('64d2ab8b039cfea1aa4bd9e77e8c373488a7f0bf') + +build() { + cd ${pkgname} + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd ${pkgname} + make ROOTDIR="${pkgdir}" sbindir=/usr/bin root_sbindir=/usr/bin STRIP="" install + install -d "${pkgdir}/usr/share/licenses/${pkgname}" + head -33 quota.c > "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + +# remove conflicts with glibc + rm "${pkgdir}"/usr/include/rpcsvc/rquota.{h,x} +} diff --git a/abs/extra/rsync/PKGBUILD b/abs/extra/rsync/PKGBUILD index 1224537..ab83127 100644 --- a/abs/extra/rsync/PKGBUILD +++ b/abs/extra/rsync/PKGBUILD @@ -1,25 +1,32 @@ -# $Id: PKGBUILD 160933 2012-06-07 05:56:33Z pierre $ +# $Id$ pkgname=rsync -pkgver=3.0.9 -pkgrel=3 +pkgver=3.1.0 +pkgrel=1 pkgdesc="A file transfer program to keep remote files in sync" arch=('i686' 'x86_64') url="http://samba.anu.edu.au/rsync/" license=('GPL3') -depends=('perl') +depends=('perl' 'popt') backup=('etc/rsyncd.conf' 'etc/xinetd.d/rsync') source=("http://rsync.samba.org/ftp/rsync/$pkgname-$pkgver.tar.gz" - 'rsyncd.conf' 'rsyncd' 'rsync.xinetd' 'rsyncd.service') -md5sums=('5ee72266fe2c1822333c407e1761b92b' + "http://rsync.samba.org/ftp/rsync/$pkgname-$pkgver.tar.gz.asc" + 'rsyncd.conf' 'rsync.xinetd' 'rsyncd.service' + 'rsyncd.socket' 'rsyncd@.service') +md5sums=('3be148772a33224771a8d4d2a028b132' + 'SKIP' 'bce64d122a8e0f86872a4a21a03bc7f3' - 'ba413da4ebca05c57860151fda21efbc' 'ea3e9277dc908bc51f9eddc0f6b935c1' - 'ec96f9089d71109557cdcaa3f0633ed6') + '084140868d38cf3e937a2db716d47c0f' + 'ae4c381e0c02d6132c7f6ded3f473041' + '53f94e613e0bc502d38dd61bd2cd7636') build() { cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr --with-included-popt + ./configure --prefix=/usr \ + --with-included-popt=no \ + --with-included-zlib=no \ + --disable-debug make } @@ -31,9 +38,10 @@ check() { package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install - install -Dm755 ../rsyncd "$pkgdir/etc/rc.d/rsyncd" install -Dm644 ../rsyncd.conf "$pkgdir/etc/rsyncd.conf" install -Dm644 ../rsync.xinetd "$pkgdir/etc/xinetd.d/rsync" install -Dm644 ../rsyncd.service "$pkgdir/usr/lib/systemd/system/rsyncd.service" + install -m644 ../rsyncd.socket "$pkgdir/usr/lib/systemd/system/rsyncd.socket" + install -m644 ../rsyncd@.service "$pkgdir/usr/lib/systemd/system/rsyncd@.service" install -Dm755 support/rrsync "$pkgdir/usr/lib/rsync/rrsync" } diff --git a/abs/extra/rsync/rsyncd b/abs/extra/rsync/rsyncd deleted file mode 100644 index 27836d5..0000000 --- a/abs/extra/rsync/rsyncd +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -[ -f /etc/conf.d/rsyncd ] && . /etc/conf.d/rsyncd - -case "$1" in - start) - stat_busy "Starting rsyncd" - [ ! -f /run/daemons/rsyncd ] && /usr/bin/rsync --daemon $RSYNCD_ARGS - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon rsyncd - stat_done - fi - ;; - stop) - stat_busy "Stopping rsyncd" - [ -f /run/rsyncd.pid ] && kill `cat /run/rsyncd.pid` - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon rsyncd - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/rsync/rsyncd.service b/abs/extra/rsync/rsyncd.service index ea2e32c..8502c08 100644 --- a/abs/extra/rsync/rsyncd.service +++ b/abs/extra/rsync/rsyncd.service @@ -2,8 +2,7 @@ Description=A file transfer program to keep remote files in sync [Service] -EnvironmentFile=-/etc/conf.d/rsyncd -ExecStart=/usr/bin/rsync --daemon --no-detach ${RSYNCD_ARGS} +ExecStart=/usr/bin/rsync --daemon --no-detach RestartSec=1 [Install] diff --git a/abs/extra/rsync/rsyncd.socket b/abs/extra/rsync/rsyncd.socket new file mode 100644 index 0000000..2b9a964 --- /dev/null +++ b/abs/extra/rsync/rsyncd.socket @@ -0,0 +1,10 @@ +[Unit] +Description=Rsync Socket +Conflicts=rsyncd.service + +[Socket] +ListenStream=873 +Accept=true + +[Install] +WantedBy=sockets.target diff --git a/abs/extra/rsync/rsyncd@.service b/abs/extra/rsync/rsyncd@.service new file mode 100644 index 0000000..33db95c --- /dev/null +++ b/abs/extra/rsync/rsyncd@.service @@ -0,0 +1,11 @@ +[Unit] +Description=A file transfer program to keep remote files in sync +After=network.target + +[Service] +ExecStart=-/usr/bin/rsync --daemon +StandardInput=socket +StandardOutput=inherit +StandardError=journal +User=nobody +Group=nobody diff --git a/abs/extra/rtmpdump/PKGBUILD b/abs/extra/rtmpdump/PKGBUILD index b1e933a..e7432cb 100644 --- a/abs/extra/rtmpdump/PKGBUILD +++ b/abs/extra/rtmpdump/PKGBUILD @@ -1,27 +1,29 @@ -# $Id: PKGBUILD 134127 2011-08-02 03:47:07Z eric $ -# Maintainer: Jan de Groot <jgc@archlinux.org> +# $Id: PKGBUILD 202973 2013-12-29 17:17:31Z bpiotrowski $ +# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> # Contributor: xduugu # Contributor: Elis Hughes <elishughes@googlemail.com> pkgname=rtmpdump -pkgver=2.4 +pkgver=20131205 pkgrel=1 -pkgdesc="A tool to download rtmp streams" +pkgdesc='Tool to download rtmp streams' arch=('i686' 'x86_64') -url="http://rtmpdump.mplayerhq.hu/" +url='http://rtmpdump.mplayerhq.hu/' license=('GPL2' 'LGPL2.1') depends=('openssl') -#source=(http://rtmpdump.mplayerhq.hu/download/${pkgname}-${pkgver}.tgz) -source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('2c3b76d46d56180176ef099b8ad50a1608bef1dac35d8cb0b21ceac31b5c0656') +makedepends=('git') +options=('!makeflags') +source=(git://git.ffmpeg.org/rtmpdump#commit=dc76f0a8) build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - install -d -m755 "${pkgdir}/usr/lib" - make prefix=/usr mandir=/usr/share/man DESTDIR="${pkgdir}" install + cd $pkgname + make prefix=/usr sbindir=/usr/bin \ + mandir=/usr/share/man DESTDIR="$pkgdir" \ + install } +md5sums=('SKIP') diff --git a/abs/extra/samba/PKGBUILD b/abs/extra/samba/PKGBUILD index 63d943d..d1b2e44 100644 --- a/abs/extra/samba/PKGBUILD +++ b/abs/extra/samba/PKGBUILD @@ -1,168 +1,254 @@ -# $Id: PKGBUILD 162373 2012-06-26 05:39:58Z tpowa $ + # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> +# Contributor: Michael Hansen <zrax0111 gmail com> +# Contributor: Marco A Rojas <marquicus at gmail.com> +# Contributor: Netanel Shine <netanel at archlinux.org.il > +# Contributor: ngoonee <ngoonee.talk@gmail.com> +# Contributor: Adam Russell <adamlr6+arch@gmail.com> +# Contributor: Dhananjay Sathe <dhananjaysathe@gmail.com> + pkgbase=samba pkgname=('libwbclient' 'smbclient' 'samba') -pkgver=3.6.6 +pkgver=4.1.12 # We use the 'A' to fake out pacman's version comparators. Samba chooses # to append 'a','b',etc to their subsequent releases, which pamcan # misconstrues as alpha, beta, etc. Bad samba! -_realver=3.6.6 +_realver=4.1.12 pkgrel=1 arch=(i686 x86_64) url="http://www.samba.org" license=('GPL3') -makedepends=('db' 'popt' 'libcups' 'acl' 'libldap' 'libcap' 'krb5' 'pam' 'gnutls>=2.4.1' 'talloc' 'tdb') +makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups' + 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.17' 'krb5' 'pam' + 'gnutls>=2.4.1' 'talloc' 'tdb' 'dbus') source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz - samba samba.logrotate - swat.xinetd + samba.logrotate samba.pam + samba.service samba.conf.d smbd.service + smbd.socket nmbd.service + smbd@.service winbindd.service samba.conf) ### UNINSTALL dmapi package before building!!! build() { - cd ${srcdir}/${pkgbase}-${_realver}/source3 - ./configure --prefix=/usr \ - --libdir=/usr/lib/ \ + # Use samba-pkg as a staging directory for the split packages + # (This is so RPATHS and symlinks are generated correctly via + # make install, but the otherwise unsplit pieces can be split) + _pkgsrc=${srcdir}/samba-pkg + rm -rf ${_pkgsrc} + cd ${srcdir}/samba-${_realver} + # change to use python2 + SAVEIFS=${IFS} + IFS=$(echo -en "\n\b") + PYTHON_CALLERS="$(find ${srcdir}/samba-${_realver} -name '*.py') +$(find ${srcdir}/samba-${_realver} -name 'wscript*') +$(find ${srcdir}/samba-${_realver} -name 'configure.ac') +$(find ${srcdir}/samba-${_realver} -name 'upgrade_from_s3') +$(find ${srcdir}/samba-${_realver}/buildtools -type f) +$(find ${srcdir}/samba-${_realver}/source4/scripting -type f)" + sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" \ + -e "s|python-config|python2-config|" \ + -e "s|bin/python|bin/python2|" \ + ${PYTHON_CALLERS} + IFS=${SAVEIFS} + + export PYTHON=/usr/bin/python2 +_samba4_idmap_modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2 +_samba4_pdb_modules=pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4 +_samba4_auth_modules=auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 + cd ${srcdir}/samba-${_realver} + ./configure --enable-fhs \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ --localstatedir=/var \ --with-configdir=/etc/samba \ --with-lockdir=/var/cache/samba \ - --with-piddir=/var/run/samba \ - --with-fhs \ - --with-pam \ - --with-pam_smbpass \ - --with-pammodulesdir=/usr/lib/security \ - --with-dnsupdate \ - --with-automount \ - --with-quotas \ + --with-sockets-dir=/var/run/samba \ + --with-piddir=/var/run \ --with-ads \ + --with-ldap \ + --with-winbind \ --with-acl-support \ - --with-libsmbclient \ - --with-syslog \ - --enable-external-libtalloc \ - --disable-dnssd \ - --disable-avahi \ - --with-shared-modules=idmap_ad,idmap_adex,idmap_rid,idmap_hash,idmap_tdb2 \ - --enable-external-libtdb + --enable-gnutls \ + --with-pam \ + --with-pammodulesdir=/usr/lib/security \ + --bundled-libraries=!tdb,!talloc,!pytalloc-util,!tevent,!popt,!ldb,!pyldb-util \ + --with-shared-modules=${_samba4_idmap_modules},${_samba4_pdb_modules},${_samba4_auth_modules} \ + --disable-rpath-install + + # Add this to the options once it's working... + #--with-system-mitkrb5 /opt/heimdal make + make DESTDIR="${_pkgsrc}/" install + + # This gets skipped somehow + if [ ! -e ${_pkgsrc}/usr/bin/smbtar ]; then + install -m755 ${srcdir}/samba-${_realver}/source3/script/smbtar ${_pkgsrc}/usr/bin/ + fi } -package_libwbclient () { +package_libwbclient() { pkgdesc="Samba winbind client library" -depends=('glibc') - cd ${srcdir}/${pkgbase}-${_realver}/source3 - mkdir -p ${pkgdir}/usr/lib - for i in libwbclient*; do - cp -a bin/${i}*.so* ${pkgdir}/usr/lib/ - done +depends=('glibc' 'libbsd') + # Use samba-pkg as a staging directory for the split packages + # (This is so RPATHS and symlinks are generated correctly via + # make install, but the otherwise unsplit pieces can be split) + _pkgsrc=${srcdir}/samba-pkg + install -d -m755 ${pkgdir}/usr/lib + mv ${_pkgsrc}/usr/lib/libwbclient*.so* ${pkgdir}/usr/lib/ + + install -d -m755 ${pkgdir}/usr/lib/samba + mv ${_pkgsrc}/usr/lib/samba/libwinbind-client*.so* ${pkgdir}/usr/lib/samba/ + mv ${_pkgsrc}/usr/lib/samba/libreplace.so* ${pkgdir}/usr/lib/samba/ + + install -d -m755 ${pkgdir}/usr/lib/pkgconfig + mv ${_pkgsrc}/usr/lib/pkgconfig/wbclient.pc ${pkgdir}/usr/lib/pkgconfig/ + + install -d -m755 ${pkgdir}/usr/include/samba-4.0 + mv ${_pkgsrc}/usr/include/samba-4.0/wbclient.h ${pkgdir}/usr/include/samba-4.0/ } -package_smbclient () { +package_smbclient() { pkgdesc="Tools to access a server's filespace and printers via SMB" -depends=('readline' 'popt' 'libldap' 'cifs-utils' 'libcap' 'krb5' 'db' 'e2fsprogs' 'tdb' 'talloc' 'libwbclient') - cd ${srcdir}/${pkgbase}-${_realver}/source3 - mkdir -p ${pkgdir}/usr/bin ${pkgdir}/usr/lib - install -m755 bin/{smbclient,rpcclient,smbspool,smbtree,smbcacls,smbcquotas,smbget,net,nmblookup} ${pkgdir}/usr/bin/ - for i in libnetapi* libsmbclient*;do - cp -a bin/${i}*.so* ${pkgdir}/usr/lib/ - done - install -m755 script/smbtar ${pkgdir}/usr/bin/ - mkdir -p ${pkgdir}/usr/lib/cups/backend - ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb - mkdir -p ${pkgdir}/usr/include - install -m644 include/libsmbclient.h ${pkgdir}/usr/include/ - install -m644 lib/netapi/netapi.h ${pkgdir}/usr/include/ - mkdir -p ${pkgdir}/usr/share/man/man{1,7} - for man in rpcclient smbcacls smbclient smbcquotas smbget \ - smbtree smbtar nmblookup; do - install -m644 ../docs/manpages/${man}.1 ${pkgdir}/usr/share/man/man1/ - done - install -m644 ../docs/manpages/libsmbclient.7 ${pkgdir}/usr/share/man/man7/ +depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb' + 'tevent' 'libgcrypt' 'python2' 'talloc' 'readline' 'gnutls' + 'libbsd' 'libldap' 'libcups') + + _smbclient_bins=('smbclient' 'smbclient4' 'rpcclient' 'smbspool' + 'smbtree' 'smbcacls' 'smbcquotas' 'smbget' 'net' + 'nmblookup' 'nmblookup4' 'smbtar') + # Use samba-pkg as a staging directory for the split packages + # (This is so RPATHS and symlinks are generated correctly via + # make install, but the otherwise unsplit pieces can be split) + _pkgsrc=${srcdir}/samba-pkg + install -d -m755 ${pkgdir}/usr/bin + for bin in ${_smbclient_bins[@]}; do + mv ${_pkgsrc}/usr/bin/${bin} ${pkgdir}/usr/bin/ + done + + # smbclient binaries link to the majority of the samba + # libs, so this is a shortcut instead of resolving the + # whole dependency tree by hand + install -d -m755 ${pkgdir}/usr/lib + for lib in ${_pkgsrc}/usr/lib/lib*.so*; do + mv ${lib} ${pkgdir}/usr/lib/ + done + + install -d -m755 ${pkgdir}/usr/lib/samba + for lib in ${_pkgsrc}/usr/lib/samba/lib*.so*; do + mv ${lib} ${pkgdir}/usr/lib/samba/ + done + + install -d -m755 ${pkgdir}/usr/lib/pkgconfig + mv ${_pkgsrc}/usr/lib/pkgconfig/smbclient.pc ${pkgdir}/usr/lib/pkgconfig/ + mv ${_pkgsrc}/usr/lib/pkgconfig/smbclient-raw.pc ${pkgdir}/usr/lib/pkgconfig/ + mv ${_pkgsrc}/usr/lib/pkgconfig/netapi.pc ${pkgdir}/usr/lib/pkgconfig/ + + install -d -m755 ${pkgdir}/usr/share/man/man1 + install -d -m755 ${pkgdir}/usr/share/man/man7 + install -d -m755 ${pkgdir}/usr/share/man/man8 + for bin in ${_smbclient_bins[@]}; do + if [ -e ${_pkgsrc}/usr/share/man/man1/${bin}.1 ]; then + mv ${_pkgsrc}/usr/share/man/man1/${bin}.1 ${pkgdir}/usr/share/man/man1/ + fi + if [ -e ${_pkgsrc}/usr/share/man/man8/${bin}.8 ]; then + mv ${_pkgsrc}/usr/share/man/man8/${bin}.8 ${pkgdir}/usr/share/man/man8/ + fi + done + mv ${_pkgsrc}/usr/share/man/man7/libsmbclient.7 ${pkgdir}/usr/share/man/man7/ + + install -d -m755 ${pkgdir}/usr/include/samba-4.0 + mv ${_pkgsrc}/usr/include/samba-4.0/libsmbclient.h ${pkgdir}/usr/include/samba-4.0/ + mv ${_pkgsrc}/usr/include/samba-4.0/netapi.h ${pkgdir}/usr/include/samba-4.0/ + + mkdir -p ${pkgdir}/usr/lib/cups/backend + ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb } -package_samba () { -pkgdesc="Tools to access a server's filespace and printers via SMB" +package_samba() { +pkgdesc="SMB Fileserver and AD Domain server" +depends=('db>=4.7' 'popt' 'libcups' 'libcap>=2.16' 'gnutls>=2.4.1' + 'talloc' 'ldb' 'libbsd' 'python2' 'iniparser' 'tdb' 'libaio' "smbclient>=$pkgver") backup=(etc/logrotate.d/samba etc/pam.d/samba etc/samba/smb.conf etc/xinetd.d/swat etc/conf.d/samba) -depends=('db' 'popt' 'libcups' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap' 'krb5' 'pam' 'gnutls' 'e2fsprogs' 'tdb' 'talloc') -install='samba.install' - cd ${srcdir}/samba-${_realver}/source3 +install=samba.install + # Use samba-pkg as a staging directory for the split packages + # (This is so RPATHS and symlinks are generated correctly via + # make install, but the otherwise unsplit pieces can be split) + _pkgsrc=${srcdir}/samba-pkg + # Everything that libwbclient and smbclient didn't install goes + # into the samba package... + mv ${_pkgsrc}/* ${pkgdir}/ + rmdir ${_pkgsrc} + + _pyver=`python2 -c 'import sys; print(sys.version[:3])'` + + find ${pkgdir}/usr/lib/python${_pyver}/site-packages/ -name '*.py' | \ + xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|" + find ${pkgdir}/usr/bin ${pkgdir}/usr/bin -type f -executable | \ + xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|" + + # Make admin scripts look in the right place for the samba python module + for script in bin/samba_dnsupdate bin/samba_kcc bin/samba_spnupdate \ + bin/samba_upgradedns bin/samba-tool + do + sed -i "/^sys\.path\.insert/ a\ +sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ + ${pkgdir}/usr/${script} + done + + # install systemd files + install -d -m755 ${pkgdir}/usr/lib/systemd/system + #for i in smbd nmbd winbindd; do + install -m644 ${srcdir}/*.service ${pkgdir}/usr/lib/systemd/system/ + install -m644 ${srcdir}/*.socket ${pkgdir}/usr/lib/systemd/system/ + install -d -m755 ${pkgdir}/etc/conf.d + install -m644 ${srcdir}/samba.conf.d ${pkgdir}/etc/conf.d/samba + #done + # create ephemeral dirs via tmpfiles rather than shipping them in package + install -D -m644 ${srcdir}/samba.conf ${pkgdir}/usr/lib/tmpfiles.d/samba.conf + # install sample smb.conf + install -d -m755 ${pkgdir}/etc/samba + install -m644 ${srcdir}/samba-${_realver}/packaging/LSB/smb.conf ${pkgdir}/etc/samba/smb.conf.default + mkdir -p ${pkgdir}/etc/samba/private chmod 700 ${pkgdir}/etc/samba/private - make DESTDIR=${pkgdir} install - chmod 644 ${pkgdir}/usr/include/*.h - rm -rf ${pkgdir}/usr/var - rm -rf ${pkgdir}/var/run/samba - (cd script; cp installbin.sh i; cat i | sed 's/\/sbin\///' > installbin.sh) - install -D -m755 ../../samba ${pkgdir}/etc/rc.d/samba - install -D -m644 ../../samba.conf.d ${pkgdir}/etc/conf.d/samba - mkdir -p ${pkgdir}/etc/samba - cat ../examples/smb.conf.default | sed 's|log file = .*$|log file = /var/log/samba/log.%m|g' >${pkgdir}/etc/samba/smb.conf.default - install -D -m644 ../../samba.logrotate ${pkgdir}/etc/logrotate.d/samba - install -D -m644 ../../swat.xinetd ${pkgdir}/etc/xinetd.d/swat - install -D -m644 ../../samba.pam ${pkgdir}/etc/pam.d/samba - # spool directory - install -d -m1777 ${pkgdir}/var/spool/samba - sed -i 's|/usr/spool/samba|/var/spool/samba|g' ${pkgdir}/etc/samba/smb.conf.default - # fix logrotate - sed -i -e 's|log.%m|%m.log|g' ${pkgdir}/etc/samba/smb.conf.default - # nsswitch libraries - install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_wins.so ${pkgdir}/usr/lib/libnss_wins.so - ln -s libnss_wins.so ${pkgdir}/usr/lib/libnss_wins.so.2 - install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_winbind.so ${pkgdir}/usr/lib/libnss_winbind.so - ln -s libnss_winbind.so ${pkgdir}/usr/lib/libnss_winbind.so.2 + + install -D -m644 ${srcdir}/samba.logrotate ${pkgdir}/etc/logrotate.d/samba + install -D -m644 ${srcdir}/samba.pam ${pkgdir}/etc/pam.d/samba + # winbind krb5 locator mkdir -p ${pkgdir}/usr/lib/krb5/plugins/libkrb5 - install -d -m 0755 ${pkgdir}/usr/lib/krb5/plugins/libkrb5 - install -m 755 bin/winbind_krb5_locator.so ${pkgdir}/usr/lib/krb5/plugins/libkrb5/winbind_krb5_locator.so - # remove conflict files of smbclient - for man in libsmbclient smbspool \ - mount.cifs net cifs.upcall; do - rm -f ${pkgdir}/usr/share/man/man8/${man}.8 - done - for i in libnetapi* libwbclient* libsmbclient* winbind_krb5*;do - rm -f ${pkgdir}/usr/lib/$i - done - for bin in net \ - nmblookup rpcclient smbcacls smbclient \ - smbcquotas smbget smbspool smbtar smbtree; do - rm -f ${pkgdir}/usr/bin/$bin - done - rm -f ${pkgdir}/usr/sbin/cifs.upcall - rm -f ${pkgdir}/usr/include/netapi.h - for man in rpcclient smbcacls smbclient smbcquotas \ - smbtree smbtar nmblookup smbget; do - rm -f ${pkgdir}/usr/share/man/man1/${man}.1 - done - for man in tdbbackup tdbdump tdbtool; do - rm -f ${pkgdir}/usr/share/man/man8/${man}.8 - done - rm -f ${pkgdir}/usr/share/man/man7/libsmbclient.7 - rm -f ${pkgdir}/usr/include/libsmbclient.h + mv ${pkgdir}/usr/lib/*.so ${pkgdir}/usr/lib/krb5/plugins/libkrb5/ + + # fix logrotate + sed -i -e 's|log.%m|%m.log|g' ${pkgdir}/etc/samba/smb.conf.default + + # spool directory + install -d -m1777 ${pkgdir}/var/spool/samba + + rm -rf ${pkgdir}/var/run + # copy ldap example install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema - # install systemd files - for i in smbd nmbd winbindd; do - install -D -m644 ${srcdir}/$i.service ${pkgdir}/usr/lib/systemd/system/$i.service - done - # create ephemeral dirs via tmpfiles rather than shipping them in package - install -D -m644 ${srcdir}/samba.conf ${pkgdir}/usr/lib/tmpfiles.d/samba.conf - rm -rf ${pkgdir}/var/run } -md5sums=('0bea52842d172231c0c0e23ee570d7af' - 'a45a4283723be2b0ae32439dc4496a09' +md5sums=('232016d7581a1ba11e991ec2674553c4' '5697da77590ec092cc8a883bae06093c' - 'a4bbfa39fee95bba2e7ad6b535fae7e6' '96f82c38f3f540b53f3e5144900acf17' - 'f2f2e348acd1ccb566e95fa8a561b828' - '389cc4fa3b459360feaa1b3d93274693' - 'ea6a1251be979cb30c6098a28b270d2d' - '455f106ce7a4f983975b3a686eaa85e5' - '8e7ed39b54968e427f9506e9107bfb45') + 'ee4763a656cf00d92bfda31b6bb2c5cb' + '6c447748a064d631435dbef0a3dcf32f' + 'e4ae6a3cac080602120aa151918c4a36' + 'a78b9aa93eb14b0ac445897395693225' + 'df6380c73cb73163968eabc8650f7358' + '70afd2db60a2e8eff7615dbdecd887ac' + 'd5f56f43e1280bba20f6bbd88d16fa41' + '49abd7b719e3713a3f75a8a50958e381') diff --git a/abs/extra/samba/__changelog b/abs/extra/samba/__changelog index bb83999..b6a8d39 100644 --- a/abs/extra/samba/__changelog +++ b/abs/extra/samba/__changelog @@ -1 +1,2 @@ -removed fam/gamin +PKGBUILD: removefam/gamin, systemd +samba.install: add systemconfig.py -m fileshare diff --git a/abs/extra/samba/nmbd.service b/abs/extra/samba/nmbd.service index 6e22ef2..e138225 100644 --- a/abs/extra/samba/nmbd.service +++ b/abs/extra/samba/nmbd.service @@ -1,8 +1,12 @@ [Unit] Description=Samba NetBIOS name server +After=network.target [Service] -ExecStart=/usr/sbin/nmbd -F +Type=forking +PIDFile=/var/run/nmbd.pid +ExecStart=/usr/bin/nmbd -D +ExecReload=/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target diff --git a/abs/extra/samba/samba b/abs/extra/samba/samba deleted file mode 100755 index 6098ee0..0000000 --- a/abs/extra/samba/samba +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions -[ -f /etc/conf.d/samba ] && . /etc/conf.d/samba - -[ -z "$SAMBA_DAEMONS" ] && SAMBA_DAEMONS=(smbd nmbd) - -case "$1" in - start) - rc=0 - stat_busy "Starting Samba Server" - if [ ! -x /var/log/samba ] ; then - install -m755 -d /var/log/samba - fi - for d in ${SAMBA_DAEMONS[@]}; do - PID=`pidof -o %PPID /usr/sbin/$d` - [ -z "$PID" ] && /usr/sbin/$d -D - rc=$(($rc+$?)) - done - if [ $rc -gt 0 ]; then - stat_fail - else - add_daemon samba - stat_done - fi - ;; - stop) - rc=0 - stat_busy "Stopping Samba Server" - for d in ${SAMBA_DAEMONS[@]}; do - PID=`pidof -o %PPID /usr/sbin/$d` - [ -z "$PID" ] || kill $PID &> /dev/null - rc=$(($rc+$?)) - done - if [ $rc -gt 0 ]; then - stat_fail - else - rm /run/samba/smbd.pid &>/dev/null - rm /run/samba/nmbd.pid &>/dev/null - rm /run/samba/winbindd.pid &>/dev/null - rm_daemon samba - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" -esac -exit 0 diff --git a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch b/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch new file mode 100644 index 0000000..cb2378a --- /dev/null +++ b/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch @@ -0,0 +1,60 @@ +From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy <ab@samba.org> +Date: Wed, 6 Feb 2013 10:17:57 +0200 +Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output + +When PIDL calls out to C preprocessor to expand IDL files +and parse the output, it filters out linemarkers and line control +information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html +and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control + +With gcc 4.8 stdc-predef.h is included automatically and linemarker for the +file has extended flags that PIDL couldn't parse ('system header that needs to +be extern "C" protected for C++') + +Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format. + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517 + +Reviewed-by: Andreas Schneider <asn@samba.org> +(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526) + +Signed-off-by: Andreas Schneider <asn@samba.org> +--- + pidl/idl.yp | 4 +++- + pidl/lib/Parse/Pidl/IDL.pm | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/pidl/idl.yp b/pidl/idl.yp +index b5c5185..c8a65f6 100644 +--- a/pidl/idl.yp ++++ b/pidl/idl.yp +@@ -610,7 +610,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm +index d4820ff..6927c89 100644 +--- a/pidl/lib/Parse/Pidl/IDL.pm ++++ b/pidl/lib/Parse/Pidl/IDL.pm +@@ -2576,7 +2576,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +-- +1.8.1.1 + diff --git a/abs/extra/samba/samba.conf b/abs/extra/samba/samba.conf index c12610d..32e7228 100644 --- a/abs/extra/samba/samba.conf +++ b/abs/extra/samba/samba.conf @@ -1 +1,2 @@ D /run/samba 0755 - - - +d /var/log/samba 0755 - - -
\ No newline at end of file diff --git a/abs/extra/samba/samba.conf.d b/abs/extra/samba/samba.conf.d index 8721f95..7607426 100644 --- a/abs/extra/samba/samba.conf.d +++ b/abs/extra/samba/samba.conf.d @@ -1,7 +1,18 @@ -# -# Configuration for the samba init script -# - -# space separated list of daemons to launch -SAMBA_DAEMONS=(smbd nmbd) -#SAMBA_DAEMONS=(smbd nmbd winbindd) +## Path: Network/Samba +## Description: Samba process options +## Type: string +## Default: "" +## ServiceRestart: samba +SAMBAOPTIONS="" +## Type: string +## Default: "" +## ServiceRestart: smb +SMBDOPTIONS="" +## Type: string +## Default: "" +## ServiceRestart: nmb +NMBDOPTIONS="" +## Type: string +## Default: "" +## ServiceRestart: winbind +WINBINDOPTIONS="" diff --git a/abs/extra/samba/samba.install b/abs/extra/samba/samba.install index d9baeac..26dbfa4 100644 --- a/abs/extra/samba/samba.install +++ b/abs/extra/samba/samba.install @@ -1,7 +1,15 @@ #!/bin/sh post_install() { - systemd-tmpfiles --create /usr/lib/tmpfiles.d/samba.conf + systemd-tmpfiles --create samba.conf } +post_upgrade() { + if [ "$(vercmp $2 4.0.4)" -lt 0 ]; then + echo "Major upgrade from samba 3.x to 4.x," + echo "please read the Samba4 migration guide:" + echo "http://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO" + fi + systemconfig.py -m fileshare +} # vim:set ts=2 sw=2 et: diff --git a/abs/extra/samba/samba.logrotate b/abs/extra/samba/samba.logrotate new file mode 100644 index 0000000..581f4c3 --- /dev/null +++ b/abs/extra/samba/samba.logrotate @@ -0,0 +1,9 @@ +/var/log/samba/log.smbd /var/log/samba/log.nmbd /var/log/samba/*.log { + notifempty + missingok + sharedscripts + copytruncate + postrotate + /bin/kill -HUP `cat /var/run/samba/*.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/abs/extra/samba/samba.service b/abs/extra/samba/samba.service new file mode 100644 index 0000000..562d425 --- /dev/null +++ b/abs/extra/samba/samba.service @@ -0,0 +1,14 @@ +[Unit] +Description=Samba AD Daemon +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/var/run/samba.pid +LimitNOFILE=16384 +EnvironmentFile=-/etc/conf.d/samba +ExecStart=/usr/bin/samba $SAMBAOPTIONS +ExecReload=/usr/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/samba/smbd.service b/abs/extra/samba/smbd.service index beb9bfa..0a8125d 100644 --- a/abs/extra/samba/smbd.service +++ b/abs/extra/samba/smbd.service @@ -1,8 +1,11 @@ [Unit] Description=Samba SMB/CIFS server +After=network.target nmbd.service winbindd.service [Service] -ExecStart=/usr/sbin/smbd -F +Type=forking +PIDFile=/var/run/smbd.pid +ExecStart=/usr/bin/smbd -D ExecReload=/bin/kill -HUP $MAINPID [Install] diff --git a/abs/extra/samba/smbd.socket b/abs/extra/samba/smbd.socket new file mode 100644 index 0000000..833bf43 --- /dev/null +++ b/abs/extra/samba/smbd.socket @@ -0,0 +1,9 @@ +[Unit] +Description=Samba SMB/CIFS server socket + +[Socket] +ListenStream=445 +Accept=yes + +[Install] +WantedBy=sockets.target diff --git a/abs/extra/samba/smbd@.service b/abs/extra/samba/smbd@.service new file mode 100644 index 0000000..071eb57 --- /dev/null +++ b/abs/extra/samba/smbd@.service @@ -0,0 +1,7 @@ +[Unit] +Description=Samba SMB/CIFS server instance + +[Service] +ExecStart=/usr/bin/smbd -F +ExecReload=/bin/kill -HUP $MAINPID +StandardInput=socket diff --git a/abs/extra/samba/swat.xinetd b/abs/extra/samba/swat.xinetd deleted file mode 100644 index 2e62a82..0000000 --- a/abs/extra/samba/swat.xinetd +++ /dev/null @@ -1,10 +0,0 @@ -service swat -{ - socket_type = stream - wait = no - user = root - server = /usr/sbin/swat - log_on_success += HOST DURATION - log_on_failure += HOST - disable = yes -} diff --git a/abs/extra/samba/winbindd.service b/abs/extra/samba/winbindd.service index 509c896..41ecbfd 100644 --- a/abs/extra/samba/winbindd.service +++ b/abs/extra/samba/winbindd.service @@ -1,8 +1,11 @@ [Unit] Description=Samba Winbind daemon +After=network.target nmbd.service [Service] -ExecStart=/usr/sbin/winbindd -F +Type=forking +PIDFile=/var/run/winbindd.pid +ExecStart=/usr/bin/winbindd -D ExecReload=/bin/kill -HUP $MAINPID [Install] diff --git a/abs/extra/scons/PKGBUILD b/abs/extra/scons/PKGBUILD index 6563bf2..b02b39d 100644 --- a/abs/extra/scons/PKGBUILD +++ b/abs/extra/scons/PKGBUILD @@ -1,19 +1,21 @@ -# $Id: PKGBUILD 151216 2012-02-25 08:28:41Z pierre $ +# $Id$ # Maintainer: Ray Rashif <schiv@archlinux.org> # Contributor: damir <damir@archlinux.org> # Contributor: Lukas Sabota <punkrockguy318@comcast.net> # Contributor: Brice Carpentier <brice@dlfp.org> +# reminder: scons moving towards py3 as of Mar 2014 and 2.3.1 + pkgname=scons -pkgver=2.1.0 -pkgrel=2 +pkgver=2.3.1 +pkgrel=1 pkgdesc="Extensible Python-based build utility" arch=('any') url="http://scons.org" license=('MIT') depends=('python2') source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz") -md5sums=('47daf989e303a045b76c11236df719df') +md5sums=('60a3cfb98b661df9f4406c61b5686bd7') package() { cd "$srcdir/$pkgname-$pkgver" @@ -25,9 +27,11 @@ package() { --root="$pkgdir" # fix for python 2.7 - sed -i 's:^#!.*bin/env python:#!/usr/bin/env python2:' "$pkgdir"/usr/bin/* + sed -i 's:^#!.*bin/env python:#!/usr/bin/env python2:' \ + "$pkgdir"/usr/bin/* - install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + install -Dm644 LICENSE.txt \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } # vim:set ts=2 sw=2 et: diff --git a/abs/extra/shairplay/PKGBUILD b/abs/extra/shairplay/PKGBUILD new file mode 100644 index 0000000..e5f4d44 --- /dev/null +++ b/abs/extra/shairplay/PKGBUILD @@ -0,0 +1,51 @@ +# $Id$ +# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com> +# Contributor: winlu + +pkgname=shairplay +_gitname=shairplay +pkgver=20140422 +pkgrel=1 +pkgdesc='Apple airplay and raop protocol server' +arch=('i686' 'x86_64') +url='https://github.com/juhovh/shairplay' +license=('custom') +depends=('libao') +optdepends=('avahi: to run the server') +makedepends=('git') +source=("$_gitname::git://github.com/juhovh/shairplay.git#commit=64d59e3087f829006d091fa0d114efb50972a2bf" + 'shairplay.service') +sha256sums=('SKIP' + 'f0a176539a6c5be46dc832d054be2f18c3256e5fd34c5f1416c9463bd75c82b3') +options=(!libtool) +provides=('libshairport') +conflicts=('libshairport') + +build() { + cd $_gitname + + # installing airport.key to /etc/shairplay/ + sed 's/airport.key/\/etc\/shairplay\/airport.key/' -i "$srcdir/$_gitname"/src/shairplay.c + + ./autogen.sh + ./configure --prefix=/usr/ + make +} + + +package() { + cd $_gitname + make DESTDIR="$pkgdir" install + + # install systemd service file + install -Dm644 "$srcdir/shairplay.service" "$pkgdir/usr/lib/systemd/system/shairplay.service" + + # install key file + install -Dm644 airport.key "$pkgdir/etc/shairplay/airport.key" + + # install license file + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # install documentation + install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md" +} diff --git a/abs/extra/shairplay/shairplay.service b/abs/extra/shairplay/shairplay.service new file mode 100644 index 0000000..a624384 --- /dev/null +++ b/abs/extra/shairplay/shairplay.service @@ -0,0 +1,13 @@ +[Unit] +Description=Apple airplay and raop protocol server +Requires=network.target sound.target +Wants=avahi-daemon.service +After=avahi-daemon.service + +[Service] +Type=simple +ExecStart=/usr/bin/shairplay -a %H +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/smartmontools/PKGBUILD b/abs/extra/smartmontools/PKGBUILD index fe12bd5..685750d 100644 --- a/abs/extra/smartmontools/PKGBUILD +++ b/abs/extra/smartmontools/PKGBUILD @@ -1,28 +1,45 @@ -# $Id: PKGBUILD 6701 2008-07-27 13:29:59Z giovanni $ +# $Id: PKGBUILD 219339 2014-08-05 17:28:35Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Jeff Mickey <jeff@archlinux.org> # Contributor: Jani Talikka <jani.talikka@gmail.com> +# Contributor: Ralf Barth <archlinux.org@haggy.org> pkgname=smartmontools -pkgver=5.41 +pkgver=6.3 pkgrel=1 -pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives." +pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives" url="http://smartmontools.sourceforge.net" license=('GPL') arch=('i686' 'x86_64') -depends=('gcc-libs') -backup=('etc/smartd.conf') -source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz) -install=smartmontools.install +depends=('gcc-libs' 'libcap-ng' 'bash') +optdepends=('heirloom-mailx: to get mail alerts to work') +backup=('etc/smartd.conf' + 'etc/conf.d/smartd') +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'smartd.conf') +md5sums=('2ea0c62206e110192a97b59291b17f54' + '28c1b80c41dac52d433961dcfb4f70e0') -build() -{ - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr --sysconfdir=/etc --includedir=/usr/src/linux-2.6.39-LinHES - make || return 1 +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --enable-drivedb \ + --with-libcap-ng=yes \ + --with-systemdsystemunitdir=/usr/lib/systemd/system + make } + package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i -e "s:sysconfig/smartmontools:conf.d/smartd:g" smartd.service + sed -i -e "s:smartd_opts:SMARTD_ARGS:g" smartd.service + + make DESTDIR="${pkgdir}" install + + rm -rf ${pkgdir}/etc/rc.d + install -Dm644 ${srcdir}/smartd.conf "${pkgdir}/etc/conf.d/smartd" } -md5sums=('4577886bea79d4ff12bd9a7d323ce692') diff --git a/abs/extra/smartmontools/__changelog b/abs/extra/smartmontools/__changelog deleted file mode 100644 index 8e0d8a6..0000000 --- a/abs/extra/smartmontools/__changelog +++ /dev/null @@ -1,2 +0,0 @@ -* remove the rc script. runit script in runit-scripts pkg -* added smartmontools.install diff --git a/abs/extra/smartmontools/smartd b/abs/extra/smartmontools/smartd deleted file mode 100644 index 5fcc414..0000000 --- a/abs/extra/smartmontools/smartd +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - - . /etc/rc.conf - . /etc/rc.d/functions - - case "$1" in - - start) - stat_busy "Starting smartd" - /usr/sbin/smartd &>/dev/null - if [ $? -ne 0 ]; then - stat_fail - else - add_daemon smartd - stat_done - fi - ;; - - stop) - stat_busy "Stopping smartd" - kill -9 `pidof /usr/sbin/smartd` &>/dev/null - rm_daemon smartd - stat_done - ;; - - restart) - stat_busy "Restarting smartd ..." - $0 stop - $0 start - stat_done - ;; - - *) - echo "usage: $0 {start|stop|restart}" - esac diff --git a/abs/extra/smartmontools/smartd.conf b/abs/extra/smartmontools/smartd.conf new file mode 100644 index 0000000..f14870a --- /dev/null +++ b/abs/extra/smartmontools/smartd.conf @@ -0,0 +1 @@ +SMARTD_ARGS="" diff --git a/abs/extra/smartmontools/smartmontools.install b/abs/extra/smartmontools/smartmontools.install deleted file mode 100644 index f2baacd..0000000 --- a/abs/extra/smartmontools/smartmontools.install +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -post_install() { - - echo "" - echo "==> Configure your /etc/smart.conf config file and then" - echo "==> $ sudo add_service.sh smartd" - echo "==> to start the monitoring service." - -} - -post_upgrade() { - - post_install - -} - -pre_remove() { - - if [ -L /service/smartd ]; then - remove_service.sh smartd - fi - -} diff --git a/abs/extra/snappy/PKGBUILD b/abs/extra/snappy/PKGBUILD new file mode 100644 index 0000000..3912d35 --- /dev/null +++ b/abs/extra/snappy/PKGBUILD @@ -0,0 +1,41 @@ +# $Id$ +# Maintainer: Dave Reisner <dreisner@archlinux.org> +# Contributor: Antony Male <antony dot male at geemail dot com>> + +pkgname=snappy +pkgver=1.1.1 +pkgrel=1 +pkgdesc='A fast compressor/decompressor library' +arch=('i686' 'x86_64') +url="http://code.google.com/p/snappy/" +license=('BSD') +depends=('glibc' 'gcc-libs') +checkdepends=('zlib') +source=("http://snappy.googlecode.com/files/$pkgname-$pkgver.tar.gz") +md5sums=('8887e3b7253b22a31f5486bca3cbc1c2') + +build() { + cd "$pkgname-$pkgver" + + # compile without assertions + CXXFLAGS+=\ -DNDEBUG + + ./configure --prefix=/usr + make +} + +check() { + # compile without assertions + CXXFLAGS+=\ -DNDEBUG + + make -C "$pkgname-$pkgver" check +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + install -m644 -D COPYING "$pkgdir/usr/share/licenses/snappy/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/speech-dispatcher/PKGBUILD b/abs/extra/speech-dispatcher/PKGBUILD new file mode 100644 index 0000000..4c26348 --- /dev/null +++ b/abs/extra/speech-dispatcher/PKGBUILD @@ -0,0 +1,61 @@ +# $Id$ +# Maintainer: +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Steve Holmes <steve.holmes88@gmail.com> +# Contributor: Alexander Jenisch <nt@divzero.at> +# Contributor: Chris Brannon <cmbrannon@cox.net> +# Contributor: Andreas Messer <andi@bupfen.de> + +pkgname=speech-dispatcher +pkgver=0.8 +pkgrel=1 +arch=('i686' 'x86_64') +pkgdesc="High-level device independent layer for speech synthesis interface" +url="http://www.freebsoft.org/speechd" +license=('GPL2' 'FDL') +depends=('glib2' 'libltdl' 'python-xdg' 'dotconf') +makedepends=('intltool') +optdepends=('festival: Speech output using Festival' + 'espeak: Speech output using ESpeak' + 'pulseaudio: PulseAudio support') +provides=("speechd=${pkgver}") +options=('!libtool') +backup=(etc/speech-dispatcher/clients/gnome-speech.conf + etc/speech-dispatcher/clients/emacs.conf + etc/speech-dispatcher/modules/ibmtts.conf + etc/speech-dispatcher/modules/espeak-generic.conf + etc/speech-dispatcher/modules/espeak.conf + etc/speech-dispatcher/modules/swift-generic.conf + etc/speech-dispatcher/modules/festival.conf + etc/speech-dispatcher/modules/cicero.conf + etc/speech-dispatcher/modules/espeak-mbrola-generic.conf + etc/speech-dispatcher/modules/dtk-generic.conf + etc/speech-dispatcher/modules/llia_phon-generic.conf + etc/speech-dispatcher/modules/ivona.conf + etc/speech-dispatcher/modules/epos-generic.conf + etc/speech-dispatcher/modules/flite.conf + etc/speech-dispatcher/speechd.conf) +install="${pkgname}.install" +source=("http://www.freebsoft.org/pub/projects/speechd/$pkgname-$pkgver.tar.gz" + 'speech-dispatcherd.service') +md5sums=('d88691a64c676122f996230c107c392f' + 'd26f52e2e95a30eaa83560f0e63faca5') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --without-flite \ + --without-espeak \ + --without-pulse + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -Dm644 "${srcdir}"/speech-dispatcherd.service "${pkgdir}/usr/lib/systemd/system/speech-dispatcherd.service" + install -d "${pkgdir}/var/log/speech-dispatcher" +} diff --git a/abs/extra/speech-dispatcher/__changelog b/abs/extra/speech-dispatcher/__changelog new file mode 100644 index 0000000..15dba69 --- /dev/null +++ b/abs/extra/speech-dispatcher/__changelog @@ -0,0 +1 @@ +remove libpulse and espeak diff --git a/abs/extra/speech-dispatcher/speech-dispatcher.install b/abs/extra/speech-dispatcher/speech-dispatcher.install new file mode 100644 index 0000000..1565d3a --- /dev/null +++ b/abs/extra/speech-dispatcher/speech-dispatcher.install @@ -0,0 +1,22 @@ +info_dir=usr/share/info +info_files=('speech-dispatcher.info' + 'ssip.info' + 'spd-say.info') + +post_install() { + [[ -x usr/bin/install-info ]] || return 0 + for f in ${info_files[@]}; do + install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install +} + +pre_remove() { + [[ -x usr/bin/install-info ]] || return 0 + for f in ${info_files[@]}; do + install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} diff --git a/abs/extra/speech-dispatcher/speech-dispatcherd.service b/abs/extra/speech-dispatcher/speech-dispatcherd.service new file mode 100644 index 0000000..ce21c56 --- /dev/null +++ b/abs/extra/speech-dispatcher/speech-dispatcherd.service @@ -0,0 +1,10 @@ +[Unit] +Description=Speech-Dispatcher an high-level device independent layer for speech synthesis. +After=syslog.target + +[Service] +Type=forking +ExecStart=/usr/bin/speech-dispatcher -d + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/syslinux/PKGBUILD b/abs/extra/syslinux/PKGBUILD index f8bcb92..e68cc11 100644 --- a/abs/extra/syslinux/PKGBUILD +++ b/abs/extra/syslinux/PKGBUILD @@ -1,51 +1,193 @@ -# $Id: PKGBUILD 155387 2012-04-03 08:18:06Z thomas $ -# Maintainer: Thomas Bächler <thomas@archlinux.org> -# Maintainer: Tobias Powalowski <tpowa@archlinux.org> - -pkgname=syslinux -pkgver=4.05 -pkgrel=4 -arch=('i686' 'x86_64') +# Maintainer : Tobias Powalowski <tpowa@archlinux.org> +# Maintainer : Thomas Bächler <thomas@archlinux.org> +# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +pkgname="syslinux" +pkgver="6.02" +pkgrel="8" +arch=('x86_64' 'i686') pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE" url="http://syslinux.zytor.com/" license=('GPL2') +options=('!makeflags' '!emptydirs') +backup=('boot/syslinux/syslinux.cfg') +makedepends=('python2' 'nasm' 'gnu-efi-libs') depends=('perl' 'glibc') optdepends=('perl-passwd-md5: For md5pass' 'perl-digest-sha1: For sha1pass' 'mtools: For mkdiskimage and syslinux support' - ) -makedepends=('nasm') -backup=('boot/syslinux/syslinux.cfg') -install=syslinux.install -source=(http://www.kernel.org/pub/linux/utils/boot/syslinux/$pkgname-${pkgver}.tar.bz2 - syslinux-dont-build-dos-windows-targets.patch - syslinux.cfg - syslinux-install_update) -md5sums=('82299242418385da1274c9479a778cb2' - '1528c376e43f0eaccaa80d8ad1bc13b4' - '832595501944fbcabcdc1207f4724fe7' - '680750f73dc2e587ac567d057d485813') + 'gptfdisk: For GPT support' + 'util-linux: For isohybrid' + 'efibootmgr: For EFI support' + 'dosfstools: For EFI support') +install="${pkgname}.install" +source=("https://www.kernel.org/pub/linux/utils/boot/syslinux/${pkgname}-${pkgver}.tar.xz" + 'syslinux.cfg' + 'syslinux-install_update' + 'syslinux-6.02-fix-chainloading.patch' + 'syslinux-6.02-fix-bios-isolinux.patch' + 'syslinux-6.02-fix-efi-ovmf.patch') +prepare() { + + cd "${srcdir}/${pkgname}-${pkgver}/" + + ## Do not try to build the Windows or DOS installers and DIAG files + sed 's|diag libinstaller dos win32 win64 dosutil txt|libinstaller txt|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|win32/syslinux.exe win64/syslinux64.exe||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|dosutil/*.com dosutil/*.sys||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|dos/syslinux.com||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|INSTALLSUBDIRS = com32 utils dosutil|INSTALLSUBDIRS = com32 utils|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + sed 's|install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|# install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true + + ## Fix FHS manpage path + sed 's|/usr/man|/usr/share/man|g' -i "${srcdir}/${pkgname}-${pkgver}/mk/syslinux.mk" || true + + # fix chainloading + # http://bugzilla.syslinux.org/show_bug.cgi?id=31 + # http://www.syslinux.org/archives/2013-October/020971.html + patch -Np1 -i "${srcdir}/syslinux-6.02-fix-chainloading.patch" + + # fix bios booting from isohybrid + # http://www.syslinux.org/archives/2013-November/021189.html + patch -Np1 -i "${srcdir}/syslinux-6.02-fix-bios-isolinux.patch" + + # fix efi booting in qemu/ovmf + # http://bugzilla.syslinux.org/show_bug.cgi?id=23 + patch -Np1 -i "${srcdir}/syslinux-6.02-fix-efi-ovmf.patch" + +} + +_build_syslinux_bios() { + + rm -rf "${srcdir}/${pkgname}-${pkgver}-bios/" || true + cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-bios" + cd "${srcdir}/${pkgname}-${pkgver}-bios/" + + ## Do not try to build syslinux with our default LDFLAGS, it will fail + unset LDFLAGS + make PYTHON="python2" bios + make PYTHON="python2" bios installer + +} + +_build_syslinux_efi64() { + + rm -rf "${srcdir}/${pkgname}-${pkgver}-efi64/" || true + cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi64" + cd "${srcdir}/${pkgname}-${pkgver}-efi64/" + + ## Unset all compiler FLAGS for efi64 build + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + make PYTHON="python2" efi64 + make PYTHON="python2" efi64 installer + +} + +_build_syslinux_efi32() { + + rm -rf "${srcdir}/${pkgname}-${pkgver}-efi32/" || true + cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi32" + cd "${srcdir}/${pkgname}-${pkgver}-efi32/" + + ## Unset all compiler FLAGS for efi32 build + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + make PYTHON="python2" efi32 + make PYTHON="python2" efi32 installer + +} build() { - # Do not try to build syslinux with our default LDFLAGS, it will fail - unset LDFLAGS - cd "$srcdir"/$pkgname-${pkgver} - # Do not try to build the Windows or DOS installers - patch -p1 -i "$srcdir"/syslinux-dont-build-dos-windows-targets.patch - # Fix FHS manpage path - sed 's|/usr/man|/usr/share/man|g' -i mk/syslinux.mk - make + + cd "${srcdir}/${pkgname}-${pkgver}/" + + ## Build syslinux-efi + if [[ "${CARCH}" == "x86_64" ]]; then + _build_syslinux_efi64 + fi + + if [[ "${CARCH}" == "i686" ]]; then + _build_syslinux_efi32 + fi + + ## Build syslinux-bios + _build_syslinux_bios + } -package() { - cd "$srcdir"/$pkgname-${pkgver} - make INSTALLROOT="$pkgdir" AUXDIR=/usr/lib/syslinux install +_package_syslinux_bios() { + + cd "${srcdir}/${pkgname}-${pkgver}-bios/" + + ## Install Syslinux bios + make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/bios/" bios install + + ## Remove syslinux.exe,syslinux64.exe,syslinux.com and dosutil dir + rm "${pkgdir}/usr/lib/syslinux/bios"/syslinux.{com,exe} || true + rm "${pkgdir}/usr/lib/syslinux/bios/syslinux64.exe" || true + rm -rf "${pkgdir}/usr/lib/syslinux/bios/dosutil/" || true + + ## Remove com32 and diag dirs + rm -rf "${pkgdir}/usr/lib/syslinux/bios/diag/" || true + rm -rf "${pkgdir}/usr/lib/syslinux/bios/com32/" || true + + ## Move extlinux binary to /usr/bin + install -d "${pkgdir}/usr/bin" + mv "${pkgdir}/sbin/extlinux" "${pkgdir}/usr/bin/extlinux" + rm -rf "${pkgdir}/sbin/" + + ## Install docs + install -d "${pkgdir}/usr/share/doc" + cp -ar "${srcdir}/${pkgname}-${pkgver}/doc" "${pkgdir}/usr/share/doc/syslinux" + + ## Install the default configuration + install -D -m0644 "${srcdir}/syslinux.cfg" "${pkgdir}/boot/syslinux/syslinux.cfg" + + ## Install the installation and update script + ## This script is maintained at git://gist.github.com/772138.git + ## Script not yet updated for syslinux-efi + install -D -m0755 "${srcdir}/syslinux-install_update" "${pkgdir}/usr/bin/syslinux-install_update" + +} - # Install the default configuration - install -D -m644 "$srcdir"/syslinux.cfg "$pkgdir"/boot/syslinux/syslinux.cfg - # Install the installation and update script - # This script is maintained at git://gist.github.com/772138.git - install -D -m755 "$srcdir"/syslinux-install_update "$pkgdir"/usr/sbin/syslinux-install_update - # move extlinux binary to /usr/sbin - mv "$pkgdir"/sbin/extlinux "$pkgdir"/usr/sbin/extlinux +_package_syslinux_efi() { + + cd "${srcdir}/${pkgname}-${pkgver}/" + + if [[ "${CARCH}" == "x86_64" ]]; then + cd "${srcdir}/${pkgname}-${pkgver}-efi64/" + make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi64 install + fi + + if [[ "${CARCH}" == "i686" ]]; then + cd "${srcdir}/${pkgname}-${pkgver}-efi32/" + make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi32 install + fi + } + +package() { + + cd "${srcdir}/${pkgname}-${pkgver}/" + + _package_syslinux_efi + + _package_syslinux_bios + +} + +md5sums=('6f275813a1b08cf852e55c0a3f8fbc78' + '46ca150f53322ff8f1597d9a342f7e40' + '9376f18fa3e42fc36cffa4cff0a84c09' + '9dbede6b71a4de9e46aac4aad65334d7' + 'adf71eceb4fccecd9a7efe1ab3d54918' + '62d22b101ef2ef53e25b4f86d9f41cb5') diff --git a/abs/extra/syslinux/syslinux-6.02-fix-bios-isolinux.patch b/abs/extra/syslinux/syslinux-6.02-fix-bios-isolinux.patch new file mode 100644 index 0000000..48df46f --- /dev/null +++ b/abs/extra/syslinux/syslinux-6.02-fix-bios-isolinux.patch @@ -0,0 +1,12 @@ +diff --git a/core/isolinux.asm b/core/isolinux.asm +index bd4e9556922d..c4db4133e274 100644 +--- a/core/isolinux.asm ++++ b/core/isolinux.asm +@@ -420,7 +420,7 @@ MaxLMA equ 384*1024 ; Reasonable limit (384K) + call getlinsec + pop eax + pop cx +- mov dx,cx ++ movzx edx,cx + pop bp + pop bx diff --git a/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch b/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch new file mode 100644 index 0000000..6fd7ef4 --- /dev/null +++ b/abs/extra/syslinux/syslinux-6.02-fix-chainloading.patch @@ -0,0 +1,47 @@ +Reported-by: Dark Raven <drdarkraven at gmail.com> +Signed-off-by: Raphael S. Carvalho <raphael.scarv at gmail.com> +--- + com32/lib/syslinux/disk.c | 22 ++++++++++++++-------- + 1 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/com32/lib/syslinux/disk.c b/com32/lib/syslinux/disk.c +index 0b0c737..47ecb52 100644 +--- a/com32/lib/syslinux/disk.c ++++ b/com32/lib/syslinux/disk.c +@@ -171,22 +171,28 @@ out: + static void *ebios_setup(const struct disk_info *const diskinfo, com32sys_t *inreg, + uint64_t lba, uint8_t count, uint8_t op_code) + { +- static __lowmem struct disk_ebios_dapa dapa; ++ static struct disk_ebios_dapa *dapa = NULL; + void *buf; + ++ if (!dapa) { ++ dapa = lmalloc(sizeof *dapa); ++ if (!dapa) ++ return NULL; ++ } ++ + buf = lmalloc(count * diskinfo->bps); + if (!buf) + return NULL; + +- dapa.len = sizeof(dapa); +- dapa.count = count; +- dapa.off = OFFS(buf); +- dapa.seg = SEG(buf); +- dapa.lba = lba; ++ dapa->len = sizeof(*dapa); ++ dapa->count = count; ++ dapa->off = OFFS(buf); ++ dapa->seg = SEG(buf); ++ dapa->lba = lba; + + inreg->eax.b[1] = op_code; +- inreg->esi.w[0] = OFFS(&dapa); +- inreg->ds = SEG(&dapa); ++ inreg->esi.w[0] = OFFS(dapa); ++ inreg->ds = SEG(dapa); + inreg->edx.b[0] = diskinfo->disk; + + return buf; diff --git a/abs/extra/syslinux/syslinux-6.02-fix-efi-ovmf.patch b/abs/extra/syslinux/syslinux-6.02-fix-efi-ovmf.patch new file mode 100644 index 0000000..f33f4c1 --- /dev/null +++ b/abs/extra/syslinux/syslinux-6.02-fix-efi-ovmf.patch @@ -0,0 +1,621 @@ +The value of the field rva_and_sizes_nr is used by OVMF to check the +consistency of the PE file with respect to the field optional_hdr_sz. It +now have the right value. + +Signed-off-by: Celelibi <celelibi at gmail.com> +--- + efi/wrapper.c | 6 +++--- + efi/wrapper.h | 28 ++++++++++++++++------------ + 2 files changed, 19 insertions(+), 15 deletions(-) + +diff --git a/efi/wrapper.c b/efi/wrapper.c +index 04c895f..ec77271 100644 +--- a/efi/wrapper.c ++++ b/efi/wrapper.c +@@ -102,7 +102,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + e_hdr.image_sz = total_sz; + e_hdr.headers_sz = 512; + e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; +- e_hdr.rva_and_sizes_nr = 1; ++ e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t); + fwrite(&e_hdr, sizeof(e_hdr), 1, f); + } + else if (class == ELFCLASS64) { +@@ -130,7 +130,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + e_hdr_pe32p.image_sz = total_sz; + e_hdr_pe32p.headers_sz = 512; + e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; +- e_hdr_pe32p.rva_and_sizes_nr = 1; ++ e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t); + fwrite(&e_hdr_pe32p, sizeof(e_hdr_pe32p), 1, f); + } + +@@ -237,7 +237,7 @@ int main(int argc, char **argv) + fprintf(stderr, "Unsupported architecture\n"); + exit(EXIT_FAILURE); + } +- ++ + if (id[EI_MAG0] != ELFMAG0 || + id[EI_MAG1] != ELFMAG1 || + id[EI_MAG2] != ELFMAG2 || +diff --git a/efi/wrapper.h b/efi/wrapper.h +index 4f76991..0e6b38e 100644 +--- a/efi/wrapper.h ++++ b/efi/wrapper.h +@@ -102,12 +102,14 @@ struct extra_hdr { + __uint32_t heap_commit_sz; + __uint32_t loader_flags; + __uint32_t rva_and_sizes_nr; +- __uint64_t export_table; +- __uint64_t import_table; +- __uint64_t resource_table; +- __uint64_t exception_table; +- __uint64_t certification_table; +- __uint64_t base_relocation_table; ++ struct { ++ __uint64_t export_table; ++ __uint64_t import_table; ++ __uint64_t resource_table; ++ __uint64_t exception_table; ++ __uint64_t certification_table; ++ __uint64_t base_relocation_table; ++ } data_directory; + } __packed; + + /* Extra header for PE32+ format +@@ -136,12 +138,14 @@ struct extra_hdr_pe32p { + __uint64_t heap_commit_sz; + __uint32_t loader_flags; + __uint32_t rva_and_sizes_nr; +- __uint64_t export_table; +- __uint64_t import_table; +- __uint64_t resource_table; +- __uint64_t exception_table; +- __uint64_t certification_table; +- __uint64_t base_relocation_table; ++ struct { ++ __uint64_t export_table; ++ __uint64_t import_table; ++ __uint64_t resource_table; ++ __uint64_t exception_table; ++ __uint64_t certification_table; ++ __uint64_t base_relocation_table; ++ } data_directory; + } __packed; + + struct section { +In the generated PE file, the section header for the .text section used +to address more than the whole file. Starting at offset 0 (before the +end of the headers) is illegal and is rejected by OVMF. Giving a size +greater than the actual file size is also illegal and rejected. + +Moreover, the actual data inside the PE file have to be aligned to at +least 512 bytes. Hence, .text need to be aligned as well. + +Signed-off-by: Celelibi <celelibi at gmail.com> +--- + efi/wrapper.c | 44 +++++++++++++++++++++++++------------------- + 1 file changed, 25 insertions(+), 19 deletions(-) + +diff --git a/efi/wrapper.c b/efi/wrapper.c +index ec77271..bd2c175 100644 +--- a/efi/wrapper.c ++++ b/efi/wrapper.c +@@ -54,11 +54,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + struct coff_hdr c_hdr; + struct header hdr; + struct coff_reloc c_rel; +- __uint32_t total_sz = so_size; ++ __uint32_t total_sz = data_size; + __uint32_t dummy = 0; + __uint32_t hdr_sz; + __uint32_t reloc_start, reloc_end; + ++ hdr_sz = 512; ++ total_sz += hdr_sz; ++ entry += hdr_sz; ++ + memset(&hdr, 0, sizeof(hdr)); + hdr.msdos_signature = MSDOS_SIGNATURE; + +@@ -77,11 +81,6 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + c_hdr.nr_sections = 2; + c_hdr.nr_syms = 1; + if (class == ELFCLASS32) { +- hdr_sz = sizeof(o_hdr) + sizeof(t_sec) + sizeof(e_hdr) + +- sizeof(r_sec) + sizeof(c_hdr) + sizeof(hdr) + sizeof(c_rel) +- + sizeof(dummy); +- total_sz += hdr_sz; +- entry += hdr_sz; + c_hdr.arch = IMAGE_FILE_MACHINE_I386; + c_hdr.characteristics = IMAGE_FILE_32BIT_MACHINE | + IMAGE_FILE_DEBUG_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE | +@@ -92,25 +91,20 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + o_hdr.format = PE32_FORMAT; + o_hdr.major_linker_version = 0x02; + o_hdr.minor_linker_version = 0x14; +- o_hdr.code_sz = total_sz; ++ o_hdr.code_sz = data_size; + o_hdr.entry_point = entry; + o_hdr.initialized_data_sz = data_size; + fwrite(&o_hdr, sizeof(o_hdr), 1, f); + memset(&e_hdr, 0, sizeof(e_hdr)); + e_hdr.section_align = 4096; + e_hdr.file_align = 512; +- e_hdr.image_sz = total_sz; +- e_hdr.headers_sz = 512; ++ e_hdr.image_sz = hdr_sz + so_size; ++ e_hdr.headers_sz = hdr_sz; + e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; + e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t); + fwrite(&e_hdr, sizeof(e_hdr), 1, f); + } + else if (class == ELFCLASS64) { +- hdr_sz = sizeof(o_hdr_pe32p) + sizeof(t_sec) + sizeof(e_hdr_pe32p) + +- sizeof(r_sec) + sizeof(c_hdr) + sizeof(hdr) + sizeof(c_rel) +- + sizeof(dummy); +- total_sz += hdr_sz; +- entry += hdr_sz; + c_hdr.arch = IMAGE_FILE_MACHINE_X86_64; + c_hdr.characteristics = IMAGE_FILE_DEBUG_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE | + IMAGE_FILE_LINE_NUMBERS_STRIPPED; +@@ -120,15 +114,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + o_hdr_pe32p.format = PE32P_FORMAT; + o_hdr_pe32p.major_linker_version = 0x02; + o_hdr_pe32p.minor_linker_version = 0x14; +- o_hdr_pe32p.code_sz = total_sz; ++ o_hdr_pe32p.code_sz = data_size; + o_hdr_pe32p.entry_point = entry; + o_hdr.initialized_data_sz = data_size; + fwrite(&o_hdr_pe32p, sizeof(o_hdr_pe32p), 1, f); + memset(&e_hdr_pe32p, 0, sizeof(e_hdr)); + e_hdr_pe32p.section_align = 4096; + e_hdr_pe32p.file_align = 512; +- e_hdr_pe32p.image_sz = total_sz; +- e_hdr_pe32p.headers_sz = 512; ++ e_hdr_pe32p.image_sz = hdr_sz + so_size; ++ e_hdr_pe32p.headers_sz = hdr_sz; + e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; + e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t); + fwrite(&e_hdr_pe32p, sizeof(e_hdr_pe32p), 1, f); +@@ -136,8 +130,10 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + + memset(&t_sec, 0, sizeof(t_sec)); + strcpy((char *)t_sec.name, ".text"); +- t_sec.virtual_sz = total_sz; +- t_sec.raw_data_sz = total_sz; ++ t_sec.virtual_sz = data_size; ++ t_sec.virtual_address = hdr_sz; ++ t_sec.raw_data_sz = t_sec.virtual_sz; ++ t_sec.raw_data = t_sec.virtual_address; + t_sec.characteristics = IMAGE_SCN_CNT_CODE | + IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE | + IMAGE_SCN_MEM_READ; +@@ -163,6 +159,16 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + fwrite(&c_rel, sizeof(c_rel), 1, f); + fwrite(&dummy, sizeof(dummy), 1, f); + ++ /* ++ * Add some padding to align the ELF as needed ++ */ ++ if (ftell(f) > t_sec.virtual_address) { ++ // A fseek that rewind would be a bug hard to track ++ fprintf(stderr, "PE+ headers are too large.\n"); ++ exit(EXIT_FAILURE); ++ } ++ ++ fseek(f, t_sec.virtual_address, SEEK_SET); + } + + static void usage(char *progname) +There is no need to have a relocation section that nothing points at. +The image is still seen as relocatable as long as the Characteristics of +the FileHeader do not say otherwise. + +Moreover, the field base_relocation_table wasn't initialized properly +leading to unpredictable bugs. + +Signed-off-by: Celelibi <celelibi at gmail.com> +--- + +I'm not 100% positive about the uselessness of the relocation section. However: +1) it works on my real hardware; +2) OVMF doesn't check the section headers at all; +3) all the docs I could find say that the section names are arbitrary; +4) the only way to make the relocation actually happen is by setting the +base_relocation_table field of the extra headers to point to this section; +5) The right way to indicate the image is not relocatable would be by setting +the characteristics IMAGE_FILE_RELOCS_STRIPPED in the coff header. + +Moreover, the relocation entry cannot be inserted before the end of the headers +(512 bytes), this mean we would have to push everything a few bytes further. +And I think it's better if it can be avoided. :) + + efi/wrapper.c | 28 +++------------------------- + 1 file changed, 3 insertions(+), 25 deletions(-) + +diff --git a/efi/wrapper.c b/efi/wrapper.c +index bd2c175..9652368 100644 +--- a/efi/wrapper.c ++++ b/efi/wrapper.c +@@ -48,14 +48,12 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + { + struct optional_hdr o_hdr; + struct optional_hdr_pe32p o_hdr_pe32p; +- struct section t_sec, r_sec; ++ struct section t_sec; + struct extra_hdr e_hdr; + struct extra_hdr_pe32p e_hdr_pe32p; + struct coff_hdr c_hdr; + struct header hdr; +- struct coff_reloc c_rel; + __uint32_t total_sz = data_size; +- __uint32_t dummy = 0; + __uint32_t hdr_sz; + __uint32_t reloc_start, reloc_end; + +@@ -78,7 +76,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + fwrite(&hdr, sizeof(hdr), 1, f); + + memset(&c_hdr, 0, sizeof(c_hdr)); +- c_hdr.nr_sections = 2; ++ c_hdr.nr_sections = 1; + c_hdr.nr_syms = 1; + if (class == ELFCLASS32) { + c_hdr.arch = IMAGE_FILE_MACHINE_I386; +@@ -118,7 +116,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + o_hdr_pe32p.entry_point = entry; + o_hdr.initialized_data_sz = data_size; + fwrite(&o_hdr_pe32p, sizeof(o_hdr_pe32p), 1, f); +- memset(&e_hdr_pe32p, 0, sizeof(e_hdr)); ++ memset(&e_hdr_pe32p, 0, sizeof(e_hdr_pe32p)); + e_hdr_pe32p.section_align = 4096; + e_hdr_pe32p.file_align = 512; + e_hdr_pe32p.image_sz = hdr_sz + so_size; +@@ -140,26 +138,6 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + fwrite(&t_sec, sizeof(t_sec), 1, f); + + /* +- * Write our dummy relocation and reloc section. +- */ +- memset(&r_sec, 0, sizeof(r_sec)); +- strcpy((char *)r_sec.name, ".reloc"); +- r_sec.virtual_sz = sizeof(c_rel); +- r_sec.virtual_address = ftell(f) + sizeof(r_sec); +- r_sec.raw_data_sz = r_sec.virtual_sz; +- r_sec.raw_data = r_sec.virtual_address; +- r_sec.characteristics = IMAGE_SCN_CNT_INITIALIZED_DATA | +- IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_MEM_DISCARDABLE | +- IMAGE_SCN_MEM_READ; +- fwrite(&r_sec, sizeof(r_sec), 1, f); +- +- memset(&c_rel, 0, sizeof(c_rel)); +- c_rel.virtual_address = ftell(f) + sizeof(c_rel); +- c_rel.symtab_index = 10; +- fwrite(&c_rel, sizeof(c_rel), 1, f); +- fwrite(&dummy, sizeof(dummy), 1, f); +- +- /* + * Add some padding to align the ELF as needed + */ + if (ftell(f) > t_sec.virtual_address) { +PE headers code_sz and image_sz indicate more or less, the size of the +file and the size of the in-memory image. They are now given the right +value. + +In the ELF format, only the program headers are reliable to determine +the actually needed part of the file and the in-memory size. + +The .bss section should always be marked as NOLOAD for ld since its +content shouldn't be included into the binary file. + +Signed-off-by: Celelibi <celelibi at gmail.com> +--- + +Again, I'm not 100% positive about the semantics of NOLOAD in a linker script. +However I found this make things work better. +Actually the file core/fs/fs.o have a .bss16 section that is not empty. If I +understood correctly, only .bss can be empty in a .o. Thus ld generates the +zeros that belong to that section in the .o. Then, when merging the section +.bss16 into the .bss of syslinux.so, ld is forced to generate ALL the zeros +that belong to the .bss section. Marking this section as NOLOAD make ld to +ignore its content but still produce a PT_LOAD program header with the right +memory size, as needed for the bss. + + efi/i386/syslinux.ld | 4 +- + efi/wrapper.c | 138 +++++++++++++++---------------------------------- + efi/x86_64/syslinux.ld | 4 +- + 3 files changed, 45 insertions(+), 101 deletions(-) + +diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld +index 523a9b9..bab3fc7 100644 +--- a/efi/i386/syslinux.ld ++++ b/efi/i386/syslinux.ld +@@ -136,7 +136,7 @@ SECTIONS + *(.strtab) + } + +- .bss : { ++ .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, + so we stick it all into .data: */ + __bss_start = .; +@@ -153,7 +153,7 @@ SECTIONS + __bss_dwords = (__bss_len + 3) >> 2; + + . = ALIGN(128); +- ++ + /* Very large objects which don't need to be zeroed */ + + .hugebss : { +diff --git a/efi/wrapper.c b/efi/wrapper.c +index 9652368..a5247ae 100644 +--- a/efi/wrapper.c ++++ b/efi/wrapper.c +@@ -35,7 +35,7 @@ typedef Elf64_Addr Elf_Addr; + #endif + + /* +- * 'so_size' is the file size of the ELF shared object. ++ * 'so_memsz' is the size of the ELF shared object once loaded. + * 'data_size' is the size of initialised data in the shared object. + * 'class' dictates how the header is written + * For 32bit machines (class == ELFCLASS32), the optional +@@ -44,7 +44,7 @@ typedef Elf64_Addr Elf_Addr; + * header includes PE32+header fields + */ + static void write_header(FILE *f, __uint32_t entry, size_t data_size, +- __uint32_t so_size, __uint8_t class) ++ __uint32_t so_memsz, __uint8_t class) + { + struct optional_hdr o_hdr; + struct optional_hdr_pe32p o_hdr_pe32p; +@@ -96,7 +96,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + memset(&e_hdr, 0, sizeof(e_hdr)); + e_hdr.section_align = 4096; + e_hdr.file_align = 512; +- e_hdr.image_sz = hdr_sz + so_size; ++ e_hdr.image_sz = hdr_sz + so_memsz; + e_hdr.headers_sz = hdr_sz; + e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; + e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t); +@@ -119,7 +119,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size, + memset(&e_hdr_pe32p, 0, sizeof(e_hdr_pe32p)); + e_hdr_pe32p.section_align = 4096; + e_hdr_pe32p.file_align = 512; +- e_hdr_pe32p.image_sz = hdr_sz + so_size; ++ e_hdr_pe32p.image_sz = hdr_sz + so_memsz; + e_hdr_pe32p.headers_sz = hdr_sz; + e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION; + e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t); +@@ -157,17 +157,16 @@ static void usage(char *progname) + + int main(int argc, char **argv) + { +- struct stat st; + Elf32_Ehdr e32_hdr; + Elf64_Ehdr e64_hdr; + __uint32_t entry; + __uint8_t class; +- __uint64_t shoff; +- __uint16_t shnum, shentsize, shstrndx; ++ __uint64_t phoff = 0; ++ __uint16_t phnum = 0, phentsize = 0; + unsigned char *id; + FILE *f_in, *f_out; + void *buf; +- size_t datasz, rv; ++ size_t datasz, memsz, rv; + + if (argc < 3) { + usage(argv[0]); +@@ -180,11 +179,6 @@ int main(int argc, char **argv) + exit(EXIT_FAILURE); + } + +- if (stat(argv[1], &st) != 0) { +- perror("stat"); +- exit(EXIT_FAILURE); +- } +- + f_out = fopen(argv[2], "w"); + if (!f_out) { + perror("fopen"); +@@ -194,15 +188,14 @@ int main(int argc, char **argv) + /* + * Parse the ELF header and find the entry point. + */ +- fread((void *)&e32_hdr, sizeof(e32_hdr), 1, f_in); ++ fread((void *)&e32_hdr, sizeof(e32_hdr), 1, f_in); + if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS32) { + id = e32_hdr.e_ident; + class = ELFCLASS32; + entry = e32_hdr.e_entry; +- shoff = e32_hdr.e_shoff; +- shnum = e32_hdr.e_shnum; +- shstrndx = e32_hdr.e_shstrndx; +- shentsize = e32_hdr.e_shentsize; ++ phoff = e32_hdr.e_phoff; ++ phnum = e32_hdr.e_phnum; ++ phentsize = e32_hdr.e_phentsize; + } + else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) { + /* read the header again for x86_64 +@@ -213,10 +206,9 @@ int main(int argc, char **argv) + fread((void *)&e64_hdr, sizeof(e64_hdr), 1, f_in); + id = e64_hdr.e_ident; + entry = e64_hdr.e_entry; +- shoff = e64_hdr.e_shoff; +- shnum = e64_hdr.e_shnum; +- shstrndx = e64_hdr.e_shstrndx; +- shentsize = e64_hdr.e_shentsize; ++ phoff = e64_hdr.e_phoff; ++ phnum = e64_hdr.e_phnum; ++ phentsize = e64_hdr.e_phentsize; + } else { + fprintf(stderr, "Unsupported architecture\n"); + exit(EXIT_FAILURE); +@@ -230,98 +222,47 @@ int main(int argc, char **argv) + exit(EXIT_FAILURE); + } + +- if (!shoff || !shnum || (shstrndx == SHN_UNDEF)) { +- fprintf(stderr, "Cannot find section table\n"); ++ if (!phoff || !phnum) { ++ fprintf(stderr, "Cannot find segment table\n"); + exit(EXIT_FAILURE); + } + + /* +- * Find the beginning of the .bss section. Everything preceding +- * it is copied verbatim to the output file. ++ * Find the LOAD program header. Everything in this segment ++ * is copied verbatim to the output file. ++ * Although there may be several LOAD program headers, only ++ * one is currently copied. + */ + if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS32) { +- const char *shstrtab, *name; +- Elf32_Shdr shdr; ++ Elf32_Phdr phdr; + int i; +- void *strtab; +- +- fseek(f_in, shoff, SEEK_SET); +- +- /* First find the strtab section */ +- fseek(f_in, shstrndx * shentsize, SEEK_CUR); +- fread(&shdr, sizeof(shdr), 1, f_in); + +- strtab = malloc(shdr.sh_size); +- if (!strtab) { +- fprintf(stderr, "Failed to malloc strtab\n"); +- exit(EXIT_FAILURE); +- } +- +- fseek(f_in, shdr.sh_offset, SEEK_SET); +- fread(strtab, shdr.sh_size, 1, f_in); +- +- /* Now search for the .bss section */ +- fseek(f_in, shoff, SEEK_SET); +- for (i = 0; i < shnum; i++) { +- rv = fread(&shdr, sizeof(shdr), 1, f_in); +- if (!rv) { +- fprintf(stderr, "Failed to read section table\n"); +- exit(EXIT_FAILURE); +- } ++ /* Find the first LOAD program header */ ++ for (i = 0; i < phnum; i++) { ++ fseek(f_in, phoff + i * phentsize, SEEK_SET); ++ fread(&phdr, sizeof(phdr), 1, f_in); + +- name = strtab + shdr.sh_name; +- if (!strcmp(name, ".bss")) ++ if (phdr.p_type == PT_LOAD) + break; + } + +- if (i == shnum) { +- fprintf(stderr, "Failed to find .bss section\n"); +- exit(EXIT_FAILURE); +- } +- +- datasz = shdr.sh_offset; +- } +- else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) { +- const char *shstrtab, *name; +- Elf64_Shdr shdr; ++ datasz = phdr.p_filesz; ++ memsz = phdr.p_memsz; ++ } else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) { ++ Elf64_Phdr phdr; + int i; +- void *strtab; +- +- fseek(f_in, shoff, SEEK_SET); + +- /* First find the strtab section */ +- fseek(f_in, shstrndx * shentsize, SEEK_CUR); +- fread(&shdr, sizeof(shdr), 1, f_in); +- +- strtab = malloc(shdr.sh_size); +- if (!strtab) { +- fprintf(stderr, "Failed to malloc strtab\n"); +- exit(EXIT_FAILURE); +- } ++ /* Find the first LOAD program header */ ++ for (i = 0; i < phnum; i++) { ++ fseek(f_in, phoff + i * phentsize, SEEK_SET); ++ fread(&phdr, sizeof(phdr), 1, f_in); + +- fseek(f_in, shdr.sh_offset, SEEK_SET); +- fread(strtab, shdr.sh_size, 1, f_in); +- +- /* Now search for the .bss section */ +- fseek(f_in, shoff, SEEK_SET); +- for (i = 0; i < shnum; i++) { +- rv = fread(&shdr, sizeof(shdr), 1, f_in); +- if (!rv) { +- fprintf(stderr, "Failed to read section table\n"); +- exit(EXIT_FAILURE); +- } +- +- name = strtab + shdr.sh_name; +- if (!strcmp(name, ".bss")) ++ if (phdr.p_type == PT_LOAD) + break; + } + +- if (i == shnum) { +- fprintf(stderr, "Failed to find .bss section\n"); +- exit(EXIT_FAILURE); +- } +- +- datasz = shdr.sh_offset; ++ datasz = phdr.p_filesz; ++ memsz = phdr.p_memsz; + } + + buf = malloc(datasz); +@@ -330,7 +271,7 @@ int main(int argc, char **argv) + exit(EXIT_FAILURE); + } + +- write_header(f_out, entry, datasz, st.st_size, class); ++ write_header(f_out, entry, datasz, memsz, class); + + /* Write out the entire ELF shared object */ + rewind(f_in); +@@ -341,5 +282,8 @@ int main(int argc, char **argv) + } + + fwrite(buf, datasz, rv, f_out); ++ free(buf); ++ fclose(f_out); ++ fclose(f_in); + return 0; + } +diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld +index 95160bd..450641c 100644 +--- a/efi/x86_64/syslinux.ld ++++ b/efi/x86_64/syslinux.ld +@@ -136,7 +136,7 @@ SECTIONS + *(.strtab) + } + +- .bss : { ++ .bss (NOLOAD) : { + /* the EFI loader doesn't seem to like a .bss section, + so we stick it all into .data: */ + __bss_start = .; +@@ -153,7 +153,7 @@ SECTIONS + __bss_dwords = (__bss_len + 3) >> 2; + + . = ALIGN(128); +- ++ + /* Very large objects which don't need to be zeroed */ + + .hugebss : { diff --git a/abs/extra/syslinux/syslinux-dont-build-dos-windows-targets.patch b/abs/extra/syslinux/syslinux-dont-build-dos-windows-targets.patch deleted file mode 100644 index 2b86ab8..0000000 --- a/abs/extra/syslinux/syslinux-dont-build-dos-windows-targets.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur syslinux-4.02.orig//Makefile syslinux-4.02//Makefile ---- syslinux-4.02.orig//Makefile 2010-07-21 21:33:13.000000000 +0200 -+++ syslinux-4.02//Makefile 2010-07-22 11:14:03.325522937 +0200 -@@ -54,7 +54,7 @@ - # files that depend only on the B phase, but may have to be regenerated - # for "make installer". - BSUBDIRS = codepage com32 lzo core memdisk modules mbr memdump gpxe sample \ -- diag libinstaller dos win32 win64 dosutil -+ libinstaller - ITARGET = - IOBJECTS = $(ITARGET) \ - utils/gethostip utils/isohybrid utils/mkdiskimage \ diff --git a/abs/extra/syslinux/syslinux-install_update b/abs/extra/syslinux/syslinux-install_update index cd1baa5..3843b5f 100644 --- a/abs/extra/syslinux/syslinux-install_update +++ b/abs/extra/syslinux/syslinux-install_update @@ -1,7 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Sylinux Installer / Updater Scripts -# Copyright (C) 2011 Matthew Gyurgyik <pyther@pyther.net> +# Syslinux Installer / Updater Script (for BIOS only) +# Copyright (C) 2011-2013 Matthew Gyurgyik <pyther@pyther.net> +# Copyright (C) 2013 Keshav Padram Amburay <(the) (ddoott) (ridikulus) (ddoott) (rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -18,21 +19,24 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # #----------------- +# ChangeLog: +# 2013-10-23 : Keshav Padram Amburay : Updated script to work with Syslinux 6.02 Arch Linux pkg +#----------------- # Exit Codes: # 1 - get_boot_device or other function failed # 2 - install/update failed # 3 - set_active failed # 4 - install_mbr failed -# +#----------------- + shopt -s nullglob -libpath="/usr/lib/syslinux" -bootpath="/boot/syslinux" -extlinux="/usr/sbin/extlinux" +bios_libpath="/usr/lib/syslinux/bios" +bios_bootpath="/boot/syslinux" +EXTLINUX="/usr/bin/extlinux" -autoupdate_file=/boot/syslinux/SYSLINUX_AUTOUPDATE -com32_files=(menu.c32 vesamenu.c32 chain.c32 hdt.c32 reboot.c32 poweroff.com) -pciids_file=/usr/share/hwdata/pci.ids +bios_autoupdate_file="/boot/syslinux/SYSLINUX_AUTOUPDATE" +pciids_file="/usr/share/hwdata/pci.ids" ## Helper functions ## # Taken from libui-sh @@ -120,7 +124,7 @@ usage() { cat << EOF usage: $0 options -This script will install or upgrade Syslinux +This script will install or upgrade Syslinux (for BIOS only) OPTIONS: -h Show this message @@ -133,16 +137,16 @@ OPTIONS: Arguments Required: -c Chroot install (ex: -c /mnt) -Example Usage: syslinux-install_update.sh -i -a -m (install, set boot flag, install mbr) - syslinux-install_update.sh -u (update) +Example Usage: $0 -i -a -m # (install, set boot flag, install mbr) + $0 -u # (update) EOF } # Trys to find the partition that /boot resides on # This will either be on /boot or / (root) getBoot() { - if [[ ! -d "$bootpath" ]]; then - echo "Could not find $bootpath" + if [[ ! -d "$bios_bootpath" ]]; then + echo "Could not find $bios_bootpath" echo "Is boot mounted? Is Syslinux installed?" exit 1 fi @@ -278,9 +282,9 @@ install_mbr() { { echo "ABORT! MBR installation to partition ($disk)!"; exit 4;} if [[ "$ptb" = MBR ]]; then - mbrfile="$libpath/mbr.bin" + mbrfile="$bios_libpath/mbr.bin" elif [[ "$ptb" = GPT ]]; then - mbrfile="$libpath/gptmbr.bin" + mbrfile="$bios_libpath/gptmbr.bin" fi if dd bs=440 count=1 conv=notrunc if="$mbrfile" of="$disk" &> /dev/null; then @@ -293,67 +297,53 @@ install_mbr() { return 0 } -_install() { - # Copy files to /boot - for file in "${com32_files[@]}"; do - # Symlink files even if links exist - if [[ "$boot" = root ]]; then - ln -s "${libpath#$CHROOT}/$file" "$bootpath/$file" &> /dev/null - elif [[ "$boot" = boot ]]; then - cp "$libpath/$file" "$bootpath/$file" - fi - done +install_modules() { + # Copy all syslinux *.c32 modules to /boot + rm "$bios_bootpath"/*.c32 &> /dev/null + cp "$bios_libpath"/*.c32 "$bios_bootpath"/ &> /dev/null - # Copy / Symlink pci.ids if we copy the com32 module and if pci.ids exists in the FS - if check_is_in "hdt.c32" "${com32_files[@]}" && [[ -f $pciids_file ]]; then - if [[ "$boot" = root ]]; then - ln -s "$pciids_file" "$bootpath/pci.ids" &> /dev/null - elif [[ "$boot" = boot ]]; then - cp "$pciids_file" "$bootpath/pci.ids" &> /dev/null - fi + # Copy / Symlink pci.ids if pci.ids exists on the FS + if [[ -f "$pciids_file" ]]; then + rm "$bios_bootpath/pci.ids" &> /dev/null + cp "$pciids_file" "$bios_bootpath/pci.ids" &> /dev/null fi +} - if device_is_raid "$bootpart"; then +_install() { + install_modules + + if device_is_raid "$bootpart" ; then echo "Detected RAID on /boot - installing Syslinux with --raid" - "$extlinux" --install "$bootpath" -r > /dev/null 2>&1 + "$EXTLINUX" --install "$bios_bootpath" --raid &> /dev/null else - "$extlinux" --install "$bootpath" > /dev/null 2>&1 + "$EXTLINUX" --install "$bios_bootpath" &> /dev/null fi if (( $? )); then - echo "Syslinux install failed" + echo "Syslinux BIOS install failed" exit 2 else - echo "Syslinux install successful" + echo "Syslinux BIOS install successful" fi - touch "$CHROOT/$autoupdate_file" + touch "$CHROOT/$bios_autoupdate_file" } update() { - # Update any com and c32 files in /boot - if [[ "$boot" = boot ]]; then - for file in "$bootpath"/*.{c32,com}; do - file=$(basename "$file") - cp "$libpath/$file" "$bootpath/$file" &> /dev/null - done - if [[ -f "$bootpath/pci.ids" ]]; then - cp "$pciids_file" "$bootpath/pci.ids" &> /dev/null - fi - fi + install_modules - if device_is_raid $bootpart; then - echo "Detected RAID on /boot - installing Syslinux with --raid" - "$extlinux" --update "$bootpath" -r &> /dev/null + if device_is_raid "$bootpart" ; then + echo "Detected RAID on /boot - updating Syslinux with --raid" + "$EXTLINUX" --update "$bios_bootpath" --raid &> /dev/null else - "$extlinux" --update "$bootpath" &> /dev/null + "$EXTLINUX" --update "$bios_bootpath" &> /dev/null fi if (($?)); then - echo "Syslinux update failed" + echo "Syslinux BIOS update failed" exit 2 else - echo "Syslinux update successful" + echo "Syslinux BIOS update successful" fi } @@ -388,7 +378,7 @@ while getopts "c:uihmas" opt; do ;; s) # If AUTOUPDATE_FILE does not exist exit the script - if [[ -f $autoupdate_file ]]; then + if [[ -f $bios_autoupdate_file ]]; then UPDATE="True" else exit 0 @@ -406,28 +396,28 @@ if [[ $USAGE ]]; then exit 0 fi -# Make sure only root can run our script -if (( $(id -u) != 0 )); then - echo "This script must be run as root" 1>&2 - exit 1 -fi - # Display Usage Information if both Install and Update are passed if [[ $INSTALL && $UPDATE ]]; then usage exit 1 fi +# Make sure only root can run our script +if (( $(id -u) != 0 )); then + echo "This script must be run as root" 1>&2 + exit 1 +fi + # If a chroot dir is path set variables to reflect chroot if [[ "$CHROOT" ]]; then - libpath="$CHROOT$libpath" - bootpath="$CHROOT$bootpath" - extlinux="$CHROOT$extlinux" + bios_libpath="$CHROOT$bios_libpath" + bios_bootpath="$CHROOT$bios_bootpath" + EXTLINUX="$CHROOT$EXTLINUX" fi # Exit if no /boot path exists -if ( f=("$bootpath"/*); (( ! ${#f[@]} )) ); then - echo "Error: $bootpath is empty!" +if ( f=("$bios_bootpath"/*); (( ! ${#f[@]} )) ); then + echo "Error: $bios_bootpath is empty!" echo "Is /boot mounted?" exit 1 fi diff --git a/abs/extra/syslinux/syslinux.cfg b/abs/extra/syslinux/syslinux.cfg index 5a588f5..2b77038 100644 --- a/abs/extra/syslinux/syslinux.cfg +++ b/abs/extra/syslinux/syslinux.cfg @@ -7,7 +7,6 @@ # * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders # * hdt.c32 - hardware detection tool # * reboot.c32 - reboots the system -# * poweroff.com - shutdown the system # # To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux. # If /usr and /boot are on the same file system, symlink the files instead @@ -50,16 +49,16 @@ MENU COLOR tabmsg 31;40 #30ffffff #00000000 std #-* LABEL arch - MENU LABEL Arch Linux - LINUX ../vmlinuz-linux - APPEND root=/dev/sda3 ro - INITRD ../initramfs-linux.img + MENU LABEL Arch Linux + LINUX ../vmlinuz-linux + APPEND root=/dev/sda3 rw + INITRD ../initramfs-linux.img LABEL archfallback - MENU LABEL Arch Linux Fallback - LINUX ../vmlinuz-linux - APPEND root=/dev/sda3 ro - INITRD ../initramfs-linux-fallback.img + MENU LABEL Arch Linux Fallback + LINUX ../vmlinuz-linux + APPEND root=/dev/sda3 rw + INITRD ../initramfs-linux-fallback.img #LABEL windows # MENU LABEL Windows @@ -69,11 +68,11 @@ LABEL archfallback LABEL hdt MENU LABEL HDT (Hardware Detection Tool) COM32 hdt.c32 - + LABEL reboot MENU LABEL Reboot COM32 reboot.c32 - -LABEL off - MENU LABEL Power Off - COMBOOT poweroff.com + +LABEL poweroff + MENU LABEL Poweroff + COM32 poweroff.c32 diff --git a/abs/extra/syslinux/syslinux.install b/abs/extra/syslinux/syslinux.install index 0dc0ece..4bb7f85 100644 --- a/abs/extra/syslinux/syslinux.install +++ b/abs/extra/syslinux/syslinux.install @@ -1,13 +1,43 @@ post_install() { - echo "==> If you want to use syslinux as your bootloader" - echo "==> edit /boot/syslinux/syslinux.cfg and run" - echo "==> # /usr/sbin/syslinux-install_update -i -a -m" - echo "==> to install it." + + cat << EOF + +==> For setting up Syslinux BIOS using the syslinux-install_update script follow + https://wiki.archlinux.org/index.php/Syslinux#Automatic_Install +EOF + + ## Message specific to Syslinux 4.xx (or 5.xx) to 6.xx upgrade + if [ "$(vercmp $2 6.00)" -lt 0 ]; then + + cat << EOF + +==> If you are upgrading from Syslinux 4.xx or 5.xx, please re-install + (not update) Syslinux BIOS manually (not using the install script) once + by following https://wiki.archlinux.org/index.php/Syslinux#Manual_install + +==> The install script may not properly upgrade Syslinux to 6.xx version +EOF + + fi + + cat << EOF + +==> For setting up Syslinux EFI follow + https://wiki.archlinux.org/index.php/Syslinux#UEFI_Systems + +==> The syslinux-install_update script does not currently support EFI install + +EOF + } post_upgrade() { - # auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists - /usr/sbin/syslinux-install_update -s + + ## auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists + /usr/bin/syslinux-install_update -s + + post_install + } # vim:set ts=2 sw=2 et: diff --git a/abs/extra/tevent/PKGBUILD b/abs/extra/tevent/PKGBUILD new file mode 100644 index 0000000..c9dcc03 --- /dev/null +++ b/abs/extra/tevent/PKGBUILD @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Christian Hesse <mail@eworm.de> +# Contributor: Marco A Rojas <marquicus at gmail dot com> +# Contributor: Ng Oon-Ee <ngoonee.talk@gmail.com> +# Contributor: Thomas Burdick <thomas.burdick@gmail.com> + +pkgname=tevent +pkgver=0.9.21 +pkgrel=2 +pkgdesc="An event system based on the talloc memory management library" +arch=('i686' 'x86_64') +url="https://tevent.samba.org/" +source=("http://samba.org/ftp/tevent/${pkgname}-${pkgver}.tar.gz") +license=('GPL3') +depends=('talloc') +makedepends=('python2') +optdepends=('python2: for python bindings') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # change to use python2 + sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" buildtools/bin/waf + export PYTHON=/usr/bin/python2 + + ./configure --prefix=/usr +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make + make DESTDIR=${pkgdir}/ install +} +md5sums=('3d5a76c0a1b5f724842d785fd055633f') diff --git a/abs/extra/thin-provisioning-tools/PKGBUILD b/abs/extra/thin-provisioning-tools/PKGBUILD new file mode 100644 index 0000000..a57b847 --- /dev/null +++ b/abs/extra/thin-provisioning-tools/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 195238 2013-09-28 21:28:47Z thomas $ +# Maintainer: Eric Bélanger <eric@archlinux.org> +# Contributor: Jason Hall <cakersq@gmail.com> + +pkgname=thin-provisioning-tools +pkgver=0.2.7 +pkgrel=1 +pkgdesc="A suite of tools for manipulating the metadata of the dm-thin device-mapper target" +arch=('i686' 'x86_64') +url="https://github.com/jthornber/thin-provisioning-tools" +license=('GPL3') +depends=('expat' 'gcc-libs') +makedepends=('boost') +source=(https://github.com/jthornber/${pkgname}/archive/v${pkgver}.tar.gz) +sha1sums=('23ce1110899adce9406aa614a4ee19950e00ee7a') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + autoconf + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" BINDIR="${pkgdir}"/usr/bin MANDIR=/usr/share/man install +} + diff --git a/abs/extra/community/tig/PKGBUILD b/abs/extra/tig/PKGBUILD index ccba8c3..edc023b 100644 --- a/abs/extra/community/tig/PKGBUILD +++ b/abs/extra/tig/PKGBUILD @@ -4,20 +4,22 @@ # Contributor: Nathan Jones <nathanj@insightbb.com> pkgname=tig -pkgver=1.2 +pkgver=2.0.1 pkgrel=1 pkgdesc='Text-mode interface for Git.' depends=('git' 'ncurses') +makedepends=('asciidoc' 'xmlto') url='http://jonas.nitro.dk/tig/' license=('GPL') arch=('i686' 'x86_64') +backup=('etc/tigrc') source=("http://jonas.nitro.dk/${pkgname}/releases/${pkgname}-${pkgver}.tar.gz") -md5sums=('9821525564aa3f4aa51ad2b6c11b3a91') +md5sums=('e0b3bc47b8c2c1e556ae953c0b30faab') build() { cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr + ./configure --prefix=/usr --sysconfdir=/etc make } @@ -25,6 +27,6 @@ package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install install-doc-man - install -Dm0644 contrib/tigrc "$pkgdir/etc/tigrc.sample" + install -Dm0644 contrib/tig-completion.bash "$pkgdir/usr/share/bash-completion/completions/tig" } diff --git a/abs/extra/usbmuxd/85-usbmuxd.rules b/abs/extra/usbmuxd/39-usbmuxd.rules index ec9f725..ec9f725 100644 --- a/abs/extra/usbmuxd/85-usbmuxd.rules +++ b/abs/extra/usbmuxd/39-usbmuxd.rules diff --git a/abs/extra/usbmuxd/PKGBUILD b/abs/extra/usbmuxd/PKGBUILD index 885dcae..6695533 100644 --- a/abs/extra/usbmuxd/PKGBUILD +++ b/abs/extra/usbmuxd/PKGBUILD @@ -1,45 +1,42 @@ -# $Id: PKGBUILD 164371 2012-07-31 19:43:35Z eric $ +# $Id$ # Maintainer : Ionut Biru <ibiru@archlinux.org> # Contributor: Gabriel Martinez < reitaka at gmail dot com > pkgname=usbmuxd -pkgver=1.0.8 +pkgver=1.0.9 pkgrel=1 pkgdesc="USB Multiplex Daemon" url="http://marcansoft.com/blog/iphonelinux/usbmuxd/" arch=('i686' 'x86_64') -license=('GPL2' 'GPL3' 'LGPL2.1') -depends=('libusb' 'libplist') -makedepends=('cmake') +license=('GPL2' 'GPL3') +depends=('libimobiledevice') +makedepends=('git') install=usbmuxd.install -source=("http://cgit.sukimashita.com/${pkgname}.git/snapshot/${pkgname}-${pkgver}.tar.bz2" +source=("git+http://git.sukimashita.com/usbmuxd.git#commit=c92b4f59aba053a3df1ae67c49403122650ad996" 'usbmuxd.service' - '85-usbmuxd.rules') + '39-usbmuxd.rules') +md5sums=('SKIP' + 'dae0660f972510a6483992b5b81e1b5a' + 'dc4b2893651149eccbf7b2c8467cd288') + +prepare() { + cd usbmuxd + sed -i -e 's|udevrulesdir = /lib/udev/rules.d|udevrulesdir = /usr/lib/udev/rules.d|' Makefile.am +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" - echo "${pkgver}" > version.tag - mkdir build - cd build - cmake ../ -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLIB_SUFFIX="" + cd usbmuxd + NOCONFIGURE=1 ./autogen.sh + ./configure --prefix=/usr --sbindir=/usr/bin make } package() { - cd "${srcdir}/${pkgname}-${pkgver}/build" + cd usbmuxd make DESTDIR="${pkgdir}" install - # fix udev dir being hardcoded - mv "${pkgdir}/lib/udev" "${pkgdir}/usr/lib/" - rmdir "${pkgdir}/lib" # install systemd service file - install -D -m644 ${srcdir}/usbmuxd.service ${pkgdir}/usr/lib/systemd/system/usbmuxd.service + install -D -m644 ../usbmuxd.service "${pkgdir}/usr/lib/systemd/system/usbmuxd.service" # use udev rule that works with systemd - install -m644 ${srcdir}/85-usbmuxd.rules ${pkgdir}/usr/lib/udev/rules.d/ - #fix version - sed -i "s/Version.*$/Version: ${pkgver}/g" $pkgdir/usr/lib/pkgconfig/libusbmuxd.pc - + install -m644 ../39-usbmuxd.rules "${pkgdir}/usr/lib/udev/rules.d/" } -md5sums=('87fd27773a84e97ac6e2dc28b08d682e' - 'dae0660f972510a6483992b5b81e1b5a' - 'dc4b2893651149eccbf7b2c8467cd288') diff --git a/abs/extra/usbmuxd/__changelog b/abs/extra/usbmuxd/__changelog deleted file mode 100644 index e5a6fbf..0000000 --- a/abs/extra/usbmuxd/__changelog +++ /dev/null @@ -1,3 +0,0 @@ -#fix version -jm -sed -i "s/Version.*$/Version: ${pkgver}/g" $pkgdir/usr/lib/pkgconfig/libusbmuxd.pc - diff --git a/abs/extra/valgrind/PKGBUILD b/abs/extra/valgrind/PKGBUILD index bf8d65e..1e65355 100644 --- a/abs/extra/valgrind/PKGBUILD +++ b/abs/extra/valgrind/PKGBUILD @@ -1,32 +1,30 @@ -# $Id: PKGBUILD 163013 2012-07-05 13:49:57Z allan $ +# $Id$ # Maintainer: Dan McGee <dan@archlinux.org> # Maintainer: Allan McRae <allan@archlinux.org> pkgname=valgrind -pkgver=3.7.0 -pkgrel=3 +pkgver=3.9.0 +pkgrel=1 pkgdesc="A tool to help find memory-management problems in programs" arch=('i686' 'x86_64') license=('GPL') url="http://valgrind.org/" -depends=('glibc>=2.16' 'glibc<2.17' 'perl') +depends=('glibc>=2.18' 'glibc<2.19' 'perl') makedepends=('gdb') -options=('!emptydirs') -source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2 - valgrind-3.7.0-glibc-2.16.patch) -md5sums=('a855fda56edf05614f099dca316d1775' - '8362c9c10b8d7d08d1be628a717cfba7') +options=('staticlibs' '!emptydirs') +source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2) +md5sums=('0947de8112f946b9ce64764af7be6df2') + build() { cd ${srcdir}/${pkgname}-${pkgver} - - patch -Np1 -i ${srcdir}/valgrind-3.7.0-glibc-2.16.patch - if [ "${CARCH}" = "x86_64" ]; then + if [[ ${CARCH} = "x86_64" ]]; then ./configure --prefix=/usr --mandir=/usr/share/man --enable-only64bit else ./configure --prefix=/usr --mandir=/usr/share/man fi + make } diff --git a/abs/extra/valgrind/valgrind-3.7.0-glibc-2.16.patch b/abs/extra/valgrind/valgrind-3.7.0-glibc-2.16.patch deleted file mode 100644 index 4d28ff1..0000000 --- a/abs/extra/valgrind/valgrind-3.7.0-glibc-2.16.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -Naur valgrind-3.7.0-orig/configure valgrind-3.7.0/configure ---- valgrind-3.7.0-orig/configure 2011-11-05 21:24:39.000000000 +1000 -+++ valgrind-3.7.0/configure 2011-12-27 15:43:54.832120449 +1000 -@@ -6402,6 +6402,28 @@ - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.15) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5 -+$as_echo "2.15 family" >&6; } -+ -+$as_echo "#define GLIBC_2_15 1" >>confdefs.h -+ -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; -+ -+ 2.16) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.16 family" >&5 -+$as_echo "2.16 family" >&6; } -+ -+$as_echo "#define GLIBC_2_16 1" >>confdefs.h -+ -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; -+ - darwin) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 - $as_echo "Darwin" >&6; } -@@ -6422,7 +6433,7 @@ - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5 - $as_echo "unsupported version ${GLIBC_VERSION}" >&6; } -- as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5 -+ as_fn_error "Valgrind requires glibc version 2.2 - 2.16" "$LINENO" 5 - as_fn_error "or Darwin libc" "$LINENO" 5 - ;; - esac diff --git a/abs/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch b/abs/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch new file mode 100644 index 0000000..9f471ad --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.8.1-glibc-2.18.patch @@ -0,0 +1,33 @@ +diff -Naur valgrind-3.8.1-orig/configure.in valgrind-3.8.1/configure.in +--- valgrind-3.8.1-orig/configure.in 2013-08-13 22:36:20.201676976 +1000 ++++ valgrind-3.8.1/configure.in 2013-08-13 22:38:18.402750093 +1000 +@@ -906,6 +906,20 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.17) ++ AC_MSG_RESULT(2.17 family) ++ AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; ++ 2.18) ++ AC_MSG_RESULT(2.18 family) ++ AC_DEFINE([GLIBC_2_18], 1, [Define to 1 if you're using glibc 2.18.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + AC_MSG_RESULT(Darwin) + AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) +@@ -919,7 +933,7 @@ + + *) + AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16]) ++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.18]) + AC_MSG_ERROR([or Darwin libc]) + ;; + esac diff --git a/abs/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch b/abs/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch new file mode 100644 index 0000000..89af000 --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.8.1-ptrace-build-fix.patch @@ -0,0 +1,78 @@ +Index: coregrind/vgdb.c +=================================================================== +--- coregrind/vgdb.c (revision 13470) ++++ coregrind/vgdb.c (revision 13471) +@@ -100,11 +100,10 @@ + + #if defined(PTRACEINVOKER) + #include <sys/user.h> + #if defined(VGO_linux) + # include <sys/prctl.h> +-# include <linux/ptrace.h> + #endif + #endif + + + // Outputs information for the user about ptrace not working. + +Index: coregrind/vgdb.c +=================================================================== +--- coregrind/vgdb.c (revision 13481) ++++ coregrind/vgdb.c (revision 13482) +@@ -691,7 +691,7 @@ + // runtime check not yet done. + // 0 : PTRACE_GETREGS runtime check has failed. + // 1 : PTRACE_GETREGS defined and runtime check ok. +-#ifdef PTRACE_GETREGS ++#ifdef HAVE_PTRACE_GETREGS + static int has_working_ptrace_getregs = -1; + #endif + +@@ -702,7 +702,7 @@ + Bool getregs (int pid, void *regs, long regs_bsz) + { + DEBUG(1, "getregs regs_bsz %ld\n", regs_bsz); +-# ifdef PTRACE_GETREGS ++# ifdef HAVE_PTRACE_GETREGS + if (has_working_ptrace_getregs) { + // Platforms having GETREGS + long res; +@@ -773,7 +773,7 @@ + DEBUG(1, "setregs regs_bsz %ld\n", regs_bsz); + // Note : the below is checking for GETREGS, not SETREGS + // as if one is defined and working, the other one should also work. +-# ifdef PTRACE_GETREGS ++# ifdef HAVE_PTRACE_GETREGS + if (has_working_ptrace_getregs) { + // Platforms having SETREGS + long res; +Index: configure.in +=================================================================== +--- configure.in (revision 13481) ++++ configure.in (revision 13482) +@@ -1040,6 +1040,25 @@ + + AM_CONDITIONAL([HAVE_GNU_STPNCPY], [test x$ac_have_gnu_stpncpy = xyes]) + ++# Check for PTRACE_GETREGS ++ ++AC_MSG_CHECKING([for PTRACE_GETREGS]) ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++#include <stddef.h> ++#include <sys/ptrace.h> ++#include <sys/user.h> ++]], [[ ++ void *p; ++ long res = ptrace (PTRACE_GETREGS, 0, p, p); ++]])], [ ++AC_MSG_RESULT([yes]) ++AC_DEFINE([HAVE_PTRACE_GETREGS], 1, ++ [Define to 1 if you have the `PTRACE_GETREGS' ptrace request.]) ++], [ ++AC_MSG_RESULT([no]) ++]) ++ ++ + # Check for CLOCK_MONOTONIC + + AC_MSG_CHECKING([for CLOCK_MONOTONIC]) diff --git a/abs/extra/valgrind/valgrind-3.8.1-xaddb.patch b/abs/extra/valgrind/valgrind-3.8.1-xaddb.patch new file mode 100644 index 0000000..ca5a597 --- /dev/null +++ b/abs/extra/valgrind/valgrind-3.8.1-xaddb.patch @@ -0,0 +1,34 @@ +Index: priv/guest_amd64_toIR.c +=================================================================== +--- VEX/priv/guest_amd64_toIR.c (revision 2580) ++++ VEX/priv/guest_amd64_toIR.c (revision 2581) +@@ -20268,6 +20268,14 @@ + delta = dis_movx_E_G ( vbi, pfx, delta, 2, sz, True ); + return delta; + ++ case 0xC0: { /* XADD Gb,Eb */ ++ Bool decode_OK = False; ++ delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, 1, delta ); ++ if (!decode_OK) ++ goto decode_failure; ++ return delta; ++ } ++ + case 0xC1: { /* XADD Gv,Ev */ + Bool decode_OK = False; + delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, sz, delta ); +@@ -27143,14 +27151,6 @@ + + /* =-=-=-=-=-=-=-=-=- XADD -=-=-=-=-=-=-=-=-=-= */ + +- case 0xC0: { /* XADD Gb,Eb */ +- Bool decode_OK = False; +- delta = dis_xadd_G_E ( &decode_OK, vbi, pfx, 1, delta ); +- if (!decode_OK) +- goto decode_failure; +- break; +- } +- + /* =-=-=-=-=-=-=-=-=- SGDT and SIDT =-=-=-=-=-=-=-=-=-=-= */ + + /* =-=-=-=-=-=-=-=-=- unimp2 =-=-=-=-=-=-=-=-=-=-= */ diff --git a/abs/extra/wayland/PKGBUILD b/abs/extra/wayland/PKGBUILD new file mode 100644 index 0000000..65d50f3 --- /dev/null +++ b/abs/extra/wayland/PKGBUILD @@ -0,0 +1,31 @@ +# $Id$ +# Maintainer: Tom Gundersen <teg@jklm.no> +# Contributor: Sébastien Luttringer +# Contributor: Joel Teichroeb <joel@teichroeb.net> + +pkgname=wayland +pkgver=1.4.0 +pkgrel=1 +pkgdesc='A computer display server protocol' +arch=('i686' 'x86_64') +url='http://wayland.freedesktop.org' +license=('MIT') +depends=('libffi' 'expat') +makedepends=('doxygen') +source=("http://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz") +sha1sums=('bc91befb8386ec5c1ff4f24ad8464c24a7496ae2') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr \ + --disable-static + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + install -Dm 644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/abs/extra/webmin/PKGBUILD b/abs/extra/webmin/PKGBUILD index f022902..5e0da7e 100644 --- a/abs/extra/webmin/PKGBUILD +++ b/abs/extra/webmin/PKGBUILD @@ -1,13 +1,13 @@ # $Id$ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=webmin -pkgver=1.570 +pkgver=1.700 pkgrel=1 pkgdesc="a web-based interface for system administration" arch=(i686 x86_64) license=('custom:webmin') url="http://www.webmin.com/" -depends=('perl') +depends=('perl' 'perl-perl4-corelibs') makedepends=('perl-net-ssleay') backup=('etc/webmin/miniserv.conf' 'etc/webmin/miniserv.users' 'etc/webmin/config' 'etc/webmin/webmin.cats' \ 'etc/webmin/pacman/config' \ @@ -83,18 +83,17 @@ backup=('etc/webmin/miniserv.conf' 'etc/webmin/miniserv.users' 'etc/webmin/confi 'etc/webmin/pserver/config' \ 'etc/webmin/dnsadmin/config' ) install=webmin.install -source=(http://downloads.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver.tar.gz - ftp://ftp.archlinux.org/other/webmin/webmin-config.tar.bz2 - ftp://ftp.archlinux.org/other/webmin/webmin-pacman.tar.bz2 - webmin.rc - run) +source=(http://downloads.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver.tar.gz + ftp://ftp.archlinux.org/other/webmin/webmin-config.tar.bz2 + ftp://ftp.archlinux.org/other/webmin/webmin-pacman.tar.bz2 + webmin.service) options=(!strip) -build() { +package() { # NOTE: USE --asroot build option to avoid fakeroot error! - cd $startdir/src/$pkgname-$pkgver + cd "$srcdir"/$pkgname-$pkgver # add patches from webmin.com - #for i in ../*.wbm + #for i in ../*.wbm #do tar xvf $i #done #for i in ../*.wbt @@ -104,13 +103,13 @@ build() { rm -f mount/freebsd-mounts* rm -f mount/openbsd-mounts* rm -f mount/macos-mounts* - + # remove modules we do not support rm -rf {bacula-backup,ldap-useradmin,mon,sentry,frox,jabber,majordomo,qmail,sendmail,sarg,wuftpd,webalizer,inetd,ipsec,pap,pptp-client,pptp-server,shorewall,smart-status,vgetty,heartbeat,cfengine,cpan,sgiexports,hpuxexports,qmailadmin,bsdexports,dfsadmin} - + #remove config files from other distros rm -f $(find . ! -name 'config-generic-linux' ! -name 'config-\*-linux' ! -name 'config-lib.pl' -name 'config-*') - + # remove caldera theme rm -rf caldera @@ -125,33 +124,33 @@ build() { rm -f usermin/{upgrade.cgi,update.cgi,update.pl,edit_upgrade.cgi,install_mod.cgi,delete_mod.cgi,install_theme.cgi} # remove modules add because we don't want files installed without pacman control - rm -f webmin/{install_mod.cgi,delete_mod.cgi} + rm -f webmin/{install_mod.cgi,delete_mod.cgi} # setting perl path (find . -name '*.cgi' ; find . -name '*.pl') | perl perlpath.pl /usr/bin/perl - - + # create dirs - mkdir -p $startdir/pkg/opt/webmin - mkdir -p $startdir/pkg/var/log/webmin - mkdir -p $startdir/pkg/etc/webmin - + mkdir -p "$pkgdir"/opt/webmin + mkdir -p "$pkgdir"/var/log/webmin + mkdir -p "$pkgdir"/etc/webmin + # install pam stuff - install -D -m 644 webmin-pam $startdir/pkg/etc/pam.d/webmin - + install -D -m 644 webmin-pam "$pkgdir"/etc/pam.d/webmin + # remove other distros and add only Archlinux don't change next line else it will not work! rm os_list.txt - echo 'Archlinux Any version generic-linux * -d "/etc/pacman.d"' >> os_list.txt - + echo 'LinHES Any version generic-linux * -d "/etc/pacman.d"' >> os_list.txt + # Add rc.conf support to boot and shutdown menu and lock editing of this module cd init/ sed -i -e 's:^local_down=.*:local_down=Archlinux RC.CONF,3,None:g' $(find . ! -name 'config.info.pl' -name 'config.info*') - sed -i -e 's:^local_script=.*:local_script=Archlinux RC.LOCAL,3,None:g' $(find . ! -name 'config.info.pl' -name 'config.info*') + sed -i -e 's:^local_script=.*:local_script=Archlinux RC.LOCAL,3,None:g' $(find . ! -name 'config.info.pl' -name 'config.info*') sed -i -e 's:^index_downscript=.*:index_downscript=Archlinux RC.CONF:g' lang/* sed -i -e 's:^index_script=.*:index_script=Archlinux RC.LOCAL:g' lang/* sed -i -e 's:^noconfig=0:noconfig=1:g' defaultacl # Add pacman menu - cd $startdir/src/$pkgname-$pkgver + cd "$srcdir"/$pkgname-$pkgver cp -rf custom/ pacman cp -rf mscstyle3/custom mscstyle3/pacman sed -i -e 's:^noconfig=0:noconfig=1:g' -e 's:^edit=1:edit=0:g' pacman/defaultacl @@ -162,14 +161,14 @@ build() { sed -i -e 's:^index_title=.*:index_title=Pacman:g' pacman/lang/* # copy stuff to right dirs - cd $startdir/src/$pkgname-$pkgver - cp -rp * $startdir/pkg/opt/webmin - cd $startdir/src/webmin-config - cp -rfp * $startdir/pkg/opt/webmin + cd "$srcdir"/$pkgname-$pkgver + cp -rp * "$pkgdir"/opt/webmin + cd "$srcdir"/webmin-config + cp -rfp * "$pkgdir"/opt/webmin # define parameters for setup.sh - config_dir=$startdir/pkg/etc/webmin - var_dir=$startdir/pkg/var/log/webmin + config_dir="$pkgdir"/etc/webmin + var_dir="$pkgdir"/var/log/webmin perl=/usr/bin/perl autoos=1 port=10000 @@ -183,44 +182,35 @@ build() { nouninstall=1 noperlpath=1 atbootyn=n - tempdir=$startdir/pkg/tmp + tempdir="$pkgdir"/tmp export config_dir var_dir perl autoos port tempdir login crypt ssl nochown autothird nouninstall nostart noperlpath atbootyn - + # Fix setup.sh - sed -i -e 's:read atbootyn::g' -e 's:exit 13::g' $startdir/pkg/opt/webmin/setup.sh - $startdir/pkg/opt/webmin/setup.sh - + sed -i -e 's:read atbootyn::g' -e 's:exit 13::g' "$pkgdir"/opt/webmin/setup.sh + "$pkgdir"/opt/webmin/setup.sh + # Fixup the config files to use their real locations - sed -i 's:^pidfile=.*$:pidfile=/var/run/webmin.pid:' $startdir/pkg/etc/webmin/miniserv.conf - find $startdir/pkg/etc/webmin -type f -exec sed -i "s:$startdir/pkg::g" {} \; - - # make it only accessible by localhost and private networks - echo 'allow=127.0.0.1 192.168. 172.16. 10.' >> $startdir/pkg/etc/webmin/miniserv.conf - - # Let's not fork this bad boy. We need to control it w/ runit. - echo 'nofork=1' >> $startdir/pkg/etc/webmin/miniserv.conf - - # runit - mkdir -p $startdir/pkg/etc/sv/webmin/supervise - install -D -m 755 $startdir/src/run $startdir/pkg/etc/sv/webmin + sed -i 's:^pidfile=.*$:pidfile=/var/run/webmin.pid:' "$pkgdir"/etc/webmin/miniserv.conf + find "$pkgdir"/etc/webmin -type f -exec sed -i "s:$pkgdir::g" {} \; + + # make it only accessible by localhost + echo 'allow=127.0.0.1 192.168. 172.16. 10.' >> "$pkgdir"/etc/webmin/miniserv.conf # install pacman menu - cd $startdir/src/webmin-pacman/config - cp -rfp * $startdir/pkg/etc/webmin/pacman + cd "$srcdir"/webmin-pacman/config + cp -rfp * "$pkgdir"/etc/webmin/pacman - #install rc file - install -D -m 755 $startdir/src/webmin.rc $startdir/pkg/etc/rc.d/webmin + # install systemd files + install -D -m 644 $srcdir/webmin.service $pkgdir/usr/lib/systemd/system/webmin.service # delete temp dir - rm -r $startdir/pkg/tmp + rm -r "$pkgdir"/tmp # change sticky bit chmod 0644 $pkgdir/opt/webmin/man/config-generic-linux # install license - install -m 644 -D $startdir/src/$pkgname-$pkgver/LICENCE $startdir/pkg/usr/share/licenses/webmin/LICENCE + install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/webmin/LICENCE } - -md5sums=('20b4f488637366c39458b9b93162eff3' - 'da6bea412a5be8cf82a813078fec5847' +md5sums=('e5261114a6a6ed10caf570d3239ed5b7' + 'b0b3e3fb231a12e60165b6b4d604dcfa' 'bfebb75bb94029b48c46b7f1ba1aa811' - '0673e51af0e81418b4a6c1e205f7e5cd' - 'bc578b249e2090deb84119a626c53c48') + 'fc29ecb6a5cd8c278abe054e60381095') diff --git a/abs/extra/webmin/__changelog b/abs/extra/webmin/__changelog new file mode 100644 index 0000000..9f14075 --- /dev/null +++ b/abs/extra/webmin/__changelog @@ -0,0 +1,2 @@ +PKGBUILD: Added private networks +PKGBUILD: Change OS name to LinHES diff --git a/abs/extra/webmin/changelog b/abs/extra/webmin/changelog deleted file mode 100644 index 68b499a..0000000 --- a/abs/extra/webmin/changelog +++ /dev/null @@ -1,3 +0,0 @@ -7/10/11 Britney Fransen --Added runit support to PKGBUILD --Added private networks to PKGBUILD diff --git a/abs/extra/webmin/run b/abs/extra/webmin/run deleted file mode 100644 index 659c6cd..0000000 --- a/abs/extra/webmin/run +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -echo Starting Webmin server in /opt/webmin -trap '' 1 -LANG= -export LANG -#PERLIO=:raw -unset PERLIO -export PERLIO -PERLLIB=/opt/webmin -export PERLLIB -exec '/opt/webmin/miniserv.pl' /etc/webmin/miniserv.conf diff --git a/abs/extra/webmin/webmin-config.tar.bz2 b/abs/extra/webmin/webmin-config.tar.bz2 Binary files differindex a51b43d..c7869ee 100644 --- a/abs/extra/webmin/webmin-config.tar.bz2 +++ b/abs/extra/webmin/webmin-config.tar.bz2 diff --git a/abs/extra/webmin/webmin.rc b/abs/extra/webmin/webmin.rc deleted file mode 100644 index ee83fbe..0000000 --- a/abs/extra/webmin/webmin.rc +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -. /etc/rc.conf -. /etc/rc.d/functions - -start=/etc/webmin/start -stop=/etc/webmin/stop -lockfile=/var/lock/webmin - -case "$1" in -'start') - stat_busy "Starting Webmin daemon" - $start >/dev/null 2>&1 </dev/null - RETVAL=$? - if [ "$RETVAL" = "0" ]; then - touch $lockfile >/dev/null 2>&1 - stat_done - else - stat_fail -fi -;; - -'stop') - stat_busy "Stopping Webmin daemon" - $stop >/dev/null 2>&1 </dev/null - RETVAL=$? - if [ "$RETVAL" = "0" ]; then - rm -f $lockfile - stat_done - else - stat_fail -fi -;; - -'restart') - $stop && $start - RETVAL=$? -;; -*) -echo "Usage: $0 { start | stop | restart }" -RETVAL=1 -;; -esac -exit $RETVAL
\ No newline at end of file diff --git a/abs/extra/webmin/webmin.service b/abs/extra/webmin/webmin.service new file mode 100644 index 0000000..a8a384a --- /dev/null +++ b/abs/extra/webmin/webmin.service @@ -0,0 +1,11 @@ +[Unit] +Description=Webmin + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/etc/webmin/start +ExecStop=/etc/webmin/stop + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/wiiuse/PKGBUILD b/abs/extra/wiiuse/PKGBUILD index d8b1e2b..50c376b 100644 --- a/abs/extra/wiiuse/PKGBUILD +++ b/abs/extra/wiiuse/PKGBUILD @@ -1,11 +1,11 @@ #Contributor:Andrea Tarocchi <valdar@email.it> pkgname=wiiuse pkgver=0.12 -pkgrel=2 +pkgrel=3 pkgdesc="Wiiuse is a library written in C that connects with several Nintendo Wii remotes." arch=(i686 x86_64) url="http://wiiuse.sourceforge.net/" -depends=('bluez') +depends=('bluez-libs') license="GPL3" install=wiiuse.install postfix=_src.tar.gz diff --git a/abs/extra/wireless-regdb/PKGBUILD b/abs/extra/wireless-regdb/PKGBUILD index 0a5f163..4ff914e 100644 --- a/abs/extra/wireless-regdb/PKGBUILD +++ b/abs/extra/wireless-regdb/PKGBUILD @@ -1,46 +1,46 @@ -# $Id: PKGBUILD 141966 2011-11-03 18:52:54Z thomas $ +# $Id$ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=wireless-regdb -pkgver=2011.04.28 +pkgver=2013.11.27 pkgrel=1 pkgdesc="Central Regulatory Domain Database" arch=('any') -url="http://wireless.kernel.org/en/developers/Regulatory/CRDA" +url="http://wireless.kernel.org/en/developers/Regulatory" backup=(etc/conf.d/wireless-regdom) license=('custom') depends=('sh') +makedepends=('crda') install=wireless-regdb.install -source=(http://wireless.kernel.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2 +source=(https://www.kernel.org/pub/software/network/wireless-regdb/${pkgname}-${pkgver}.tar.xz crda.conf.d) -sha256sums=('ed1c3e134e34ba5f93594f6f76b90861fe8d24359c064839a2bb78736416642b' +sha256sums=('aa86150a367df0d6c8d875c05448c96a18c4ddf063f3e1b8c2235c2679117cc2' '192428fd959806705356107bffc97b8b379854e79bd013c4ee140e5202326e2b') package() { # Install and verify regulatory.bin file msg "Installing and verifying the regulatory.bin file ..." - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - # If crda is installed, the wireless regdb can be verified using regdbdump - # Keep this step optional so no depend/makedepend loop is created - if [ -x /sbin/regdbdump ]; then - if /sbin/regdbdump ${pkgdir}/usr/lib/crda/regulatory.bin > /dev/null; then - msg "Regulatory database verification was succesful." - else - error "Regulatory database verification failed." - return 1 - fi + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.bin "${pkgdir}"/usr/lib/crda/regulatory.bin + # This creates a depend/makedepend loop: + # crda depends on wireless-regdb (but strictly doesn't makedepend on it) + # wireless-regdb makedepends on crda + if /usr/bin/regdbdump "${pkgdir}"/usr/lib/crda/regulatory.bin > /dev/null; then + msg "Regulatory database verification was succesful." else - warning "Crda is not installed, regulatory database could not be verified." + error "Regulatory database verification failed." + return 1 fi - + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/linville.key.pub.pem "${pkgdir}"/usr/lib/crda/pubkeys/linville.key.pub.pem + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/wireless-regdb/LICENSE + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/regulatory.bin.5 "${pkgdir}"/usr/share/man/man5/regulatory.bin.5 + msg "Installing /etc/conf.d/wireless-regdom ..." - install -D -m644 ${srcdir}/crda.conf.d ${pkgdir}/etc/conf.d/wireless-regdom - for dom in $(grep ^country ${srcdir}/${pkgname}-${pkgver}/db.txt | cut -d' ' -f2 | sed 's|:||g'); do - echo "#WIRELESS_REGDOM=\"${dom}\"" >> ${pkgdir}/etc/conf.d/wireless-regdom.tmp + install -D -m644 "${srcdir}"/crda.conf.d "${pkgdir}"/etc/conf.d/wireless-regdom + for dom in $(grep ^country "${srcdir}"/${pkgname}-${pkgver}/db.txt | cut -d' ' -f2 | sed 's|:||g'); do + echo "#WIRELESS_REGDOM=\"${dom}\"" >> "${pkgdir}"/etc/conf.d/wireless-regdom.tmp done - sort -u ${pkgdir}/etc/conf.d/wireless-regdom.tmp >> ${pkgdir}/etc/conf.d/wireless-regdom - rm -f ${pkgdir}/etc/conf.d/wireless-regdom.tmp + sort -u "${pkgdir}"/etc/conf.d/wireless-regdom.tmp >> "${pkgdir}"/etc/conf.d/wireless-regdom + rm "${pkgdir}"/etc/conf.d/wireless-regdom.tmp - install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/abs/extra/wireless-regdb/wireless-regdb.install b/abs/extra/wireless-regdb/wireless-regdb.install index ae712db..7b5a05d 100644 --- a/abs/extra/wireless-regdb/wireless-regdb.install +++ b/abs/extra/wireless-regdb/wireless-regdb.install @@ -5,8 +5,8 @@ post_install() { post_upgrade() { # If crda is installed, we verify the integrity of the database # If not, we skip this step silently - if [ -x /sbin/regdbdump ]; then - if ! /sbin/regdbdump /usr/lib/crda/regulatory.bin > /dev/null; then + if [ -x /usr/bin/regdbdump ]; then + if ! /usr/bin/regdbdump /usr/lib/crda/regulatory.bin > /dev/null; then echo "Failed to verify the integrity of the wireless regulatory database, CRDA will not work." fi fi diff --git a/abs/extra/xbmc-pvr-addons/PKGBUILD b/abs/extra/xbmc-pvr-addons/PKGBUILD index 936ef39..91f41f2 100644 --- a/abs/extra/xbmc-pvr-addons/PKGBUILD +++ b/abs/extra/xbmc-pvr-addons/PKGBUILD @@ -2,7 +2,8 @@ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=xbmc-pvr-addons -pkgver=20131106git +pkgver=20140610.13.0_Gotham +_relname=${pkgver:9} pkgrel=1 pkgdesc="XBMC PVR add-ons for current stable xbmc" arch=('i686' 'x86_64') @@ -12,19 +13,19 @@ depends=('xbmc' 'libmysqlclient') makedepends=('git' 'libmysqlclient' 'boost') optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend') conflicts=('xbmc-pvr-addons-git') -#source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${pkgver/_/-}.tar.gz") +source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${_relname/_/-}.tar.gz") #source=("git://github.com/opdenkamp/xbmc-pvr-addons.git") -source=("git://github.com/fetzerch/xbmc-pvr-addons.git#branch=frodo") -md5sums=('SKIP') +#source=("git://github.com/fetzerch/xbmc-pvr-addons.git#branch=frodo") +md5sums=('63f5863393ca869eb6f357a62de76378') build() { - cd "$srcdir/$pkgname" + cd "$srcdir/$pkgname-${_relname/_/-}" ./bootstrap ./configure --prefix=/usr --enable-addons-with-dependencies make } package() { - cd "$srcdir/$pkgname" + cd "$srcdir/$pkgname-${_relname/_/-}" make DESTDIR="$pkgdir/" install } diff --git a/abs/extra/xbmc/ChangeLog b/abs/extra/xbmc/ChangeLog deleted file mode 100644 index 66ae97e..0000000 --- a/abs/extra/xbmc/ChangeLog +++ /dev/null @@ -1,69 +0,0 @@ -2010-04-10 BlackEagle <ike DOT devolder AT gmail DOT com> - * 9.11-15 : - Made it back compliant with FHS ( thx pierre for pointing that out ) - namcap checked and modified to fit its needs as far as it was possible - -2009-03-07 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-10 : - Try and fix some autoconf issues (thanks Gentoo ebuild). - -2009-02-08 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-9 : - Replace some libtool 'ltmain.sh' scripts with the one from libtool - installed with Arch. - Make sure XBMCTex isn't linked to OpenGL libraries or it will segfault - on systems using the nvidia driver. - -2009-01-30 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-8 : - Fix some include's so that gcc 4.3.x is happy, shouldn't complain about - undefined '::realloc' anymore. - Remove Mac OS X specific files. - -2009-01-25 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-7 : - Moved libcdio, pmount, smbclient and unrar to optdepends. - Removed unneeded dependency on sdl_gfx. - Removed dependency on libpng as sdl_image depends on it. - -2008-12-14 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-6 : - Added libpng to dependency list. - Added gawk to dependency list. - Removed '--disable-mms' and '--enable-halmount' configure flags as they - are not mentioned as supported in the configure script. - -2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-5 : - Added libmad to the dependency list. - Streamripper 1.64.0+ does not include tre anymore, removed streamripper - and added tre instead. - Removed subversion from makedepends. - -2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-4 : - Fix permissions for some more scripts, ffmpeg/texi2doc.pl should not - fail any longer. - -2008-12-05 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-3 : - Added lirc to the optdepends array. - -2008-11-26 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-2 : - Added install file which informs users that a display depth of at - least 24-bit is required. - -2008-11-17 [vEX] <niechift.dot.vex.at.gmail.dot.com> - - * 8.10-1 : - Initial package, based on previous work by Zeqadious. diff --git a/abs/extra/xbmc/FEH.sh b/abs/extra/xbmc/FEH.sh deleted file mode 100755 index db8c692..0000000 --- a/abs/extra/xbmc/FEH.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -RETVAL=0 - -if [[ -z $(glxinfo | grep "direct rendering.*Yes" | uniq) ]]; then - echo "XBMC needs hardware accelerated OpenGL rendering." - echo "Install an appropriate graphics driver." - echo - echo "Please consult XBMC Wiki for supported hardware" - echo "http://xbmc.org/wiki/?title=Supported_hardware" - echo - RETVAL=1 -fi - -if [[ -z $(xdpyinfo | grep "depth of root.*24" | uniq) ]]; then - echo "XBMC cannot run unless the" - echo "screen color depth is at least 24 bit." - echo - echo "Please reconfigure your screen." - RETVAL=1 -fi - -exit ${RETVAL} diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD index 6134074..ab30af1 100644 --- a/abs/extra/xbmc/PKGBUILD +++ b/abs/extra/xbmc/PKGBUILD @@ -4,40 +4,64 @@ # Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com> # Contributor: Zeqadious <zeqadious.at.gmail.dot.com> # Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Maxime Gauduin <alucryd@gmail.com> _prefix=/usr pkgname=xbmc -pkgver=12.2 -pkgrel=7 +pkgver=13.2 +_codename=Gotham +pkgrel=6 pkgdesc="A software media player and entertainment hub for digital media" arch=('i686' 'x86_64') url="http://xbmc.org" -license=('GPL' 'custom') -depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' - 'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate' - 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' - 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' - 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' - 'tinyxml' 'taglib') -makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' - 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' - 'lirc: remote controller support' - 'udisks: automount external drives' - 'upower: used to trigger suspend functionality' - 'unrar: access compressed files without unpacking them' - 'xorg-xinit: autostart xbmc') +license=('GPL2') +depends=( +'avahi' 'glu' 'hicolor-icon-theme' 'lame' 'libass' 'libbluray' 'libcdio' 'libmad' +'libmicrohttpd' 'libmodplug' 'libmpeg2' 'libmysqlclient' +'libsamplerate' 'libssh' 'libva' 'libvdpau' 'libvorbis' 'libxrandr' 'libxslt' +'lzo' 'mesa' 'mesa-demos' 'python2' 'python2-pillow' 'rtmpdump' 'sdl_image' +'smbclient' 'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl' +) +makedepends=( +'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen' +'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks' +'zip' +) +optdepends=( +'afpfs-ng: Apple File Protocol suport' +'libnfs: NFS Share support' +'libplist: AirPlay support' +'shairplay: AirPlay support' +'libcec: Pulse-Eight USB-CEC adapter support' +'polkit: power management' +'pulseaudio: for pulseaudio support' +'lirc: remote controller support' +'unrar: access compressed files without unpacking them' +'udisks: automount external drives' +'upower: display battery level' +) install="${pkgname}.install" -source=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz" - "xbmc.service" "xbmc.sh" "xbmc_lib.conf") +source=( + "xbmc-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz" + "xbmc.sh" + "xbmc_lib.conf" +) +#sha256sums=( +# 'acbf5dffa3034a3406240ee3cf81e721386cd383d23d056ddde1f769e050e585' +#) -build() { - cd "${srcdir}/xbmc-$pkgver" +prepare() { + cd "$srcdir/xbmc-$pkgver-$_codename" + + find -type f -name *.py -exec sed 's|^#!.*python$|#!/usr/bin/python2|' -i "{}" + + sed 's|^#!.*python$|#!/usr/bin/python2|' -i tools/depends/native/rpl-native/rpl + sed 's/python/python2/' -i tools/Linux/xbmc.sh.in +} - # fix lsb_release dependency - sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp -# sed -i -e 's:#include <libsmbclient.h>:#include <samba-4.0/libsmbclient.h>:' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp +build() { + cd "$srcdir/xbmc-$pkgver-$_codename" # Bootstrapping XBMC ./bootstrap @@ -74,32 +98,26 @@ build() { --enable-udev \ --enable-libusb \ --enable-libcec \ - --enable-external-libraries \ - --disable-external-ffmpeg + --with-lirc-device=/run/lirc/lircd + # Now (finally) build make } package() { - cd "${srcdir}/xbmc-$pkgver" + cd "$srcdir/xbmc-$pkgver-$_codename" # Running make install - make DESTDIR="${pkgdir}" install - - # run feh with python2 - sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc - - # lsb_release fix - sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc" - sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc" + make DESTDIR="$pkgdir" install # Tools - install -D -m 0755 "${srcdir}/xbmc-$pkgver/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" - install -D -m 0755 "${srcdir}/xbmc-$pkgver/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" + install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \ + "${pkgdir}$_prefix/lib/xbmc/" # Licenses - install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}" + install -dm755 "${pkgdir}$_prefix/share/licenses/$pkgname" for licensef in LICENSE.GPL copying.txt; do - mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}" + mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \ + "${pkgdir}$_prefix/share/licenses/$pkgname" done # LinHES stuff @@ -107,12 +125,8 @@ package() { install -D -m 0755 ${srcdir}/xbmc.sh ${pkgdir}/usr/LH/bin #add in xbmc_lib.conf install -D -m0744 ${srcdir}/xbmc_lib.conf ${pkgdir}/etc/gen_lib_xml.d/xbmc_lib.conf - - # systemd stuff - install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service } # vim:set ts=2 sw=2 et: -md5sums=('489f3877decae4e265ece54f9eaef0ba' - '76fae229ebc3bcfaab7e7f27e4fb51f5' +md5sums=('d80153b2cc78b88966458ab136e9494f' 'e48a3d87984669ef206e902bc8290ff9' '71176cb0e5aaa230d7c9634c37245bfb') diff --git a/abs/extra/xbmc/__changelog b/abs/extra/xbmc/__changelog index 10c3bd8..a50187f 100644 --- a/abs/extra/xbmc/__changelog +++ b/abs/extra/xbmc/__changelog @@ -1,4 +1,4 @@ -7/5/11 - chw - Removed libpulse and lsb-release dep. -8/8/11 - mjh - Add patch for Snapstream Firefly remote. Ref #728 -8/23/12 -jm -Added xbmc_lib.conf, this file goes in /etc/gen_lib_xml.d/ - +PKGBUILD - remove libpulse dep and remove --enable-pulse config option; add glu dep +PKGBUILD - Added xbmc_lib.conf, this file goes in /etc/gen_lib_xml.d/ +xbmc.install - add gen_lib_xml.py to post_install and post_remove +xbmc.install - comment out autostart message since we don't use systemd diff --git a/abs/extra/xbmc/snapstream_remote.patch b/abs/extra/xbmc/snapstream_remote.patch deleted file mode 100644 index c379b81..0000000 --- a/abs/extra/xbmc/snapstream_remote.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- xbmc-10.1/system/Lircmap.xml.orig 2011-03-05 03:33:37.000000000 +0000 -+++ xbmc-10.1/system/Lircmap.xml 2011-08-09 00:16:44.000000000 +0000 -@@ -332,6 +332,52 @@ - <yellow>Yellow</yellow> - <blue>Blue</blue> - </remote> -+ -+ <remote device="Snapstream_Firefly"> -+ <pause>PAUSE</pause> -+ <stop>STOP</stop> -+ <forward>FWD</forward> -+ <reverse>REW</reverse> -+ <left>LEFT</left> -+ <right>RIGHT</right> -+ <up>UP</up> -+ <down>DOWN</down> -+ <select>OK</select> -+ <pageplus>CH+</pageplus> -+ <pageminus>CH-</pageminus> -+ <back>EXIT</back> -+ <menu>MENU</menu> -+ <title>PLAY</title> -+ <info>INFO</info> -+ <skipplus>NEXT</skipplus> -+ <skipminus>PREV</skipminus> -+ <display>MAXI</display> -+ <start>FIREFLY</start> -+ <record>REC</record> -+ <volumeplus>VOL+</volumeplus> -+ <volumeminus>VOL-</volumeminus> -+ <mute>MUTE</mute> -+ <power>CLOSE</power> -+ <myvideo>VIDEO</myvideo> -+ <mymusic>MUSIC</mymusic> -+ <mypictures>PHOTOS</mypictures> -+ <mytv>TV</mytv> -+ <one>1</one> -+ <two>2</two> -+ <three>3</three> -+ <four>4</four> -+ <five>5</five> -+ <six>6</six> -+ <seven>7</seven> -+ <eight>8</eight> -+ <nine>9</nine> -+ <zero>0</zero> -+ <mytv>A</mytv> -+ <mymusic>B</mymusic> -+ <mypictures>C</mypictures> -+ <myvideo>D</myvideo> -+ </remote> -+ - <remote device="TwinHanRemote"> - <display>fullscreen</display> - <power>power</power> diff --git a/abs/extra/xbmc/xbmc.install b/abs/extra/xbmc/xbmc.install index 6490483..72d92d8 100644 --- a/abs/extra/xbmc/xbmc.install +++ b/abs/extra/xbmc/xbmc.install @@ -1,17 +1,26 @@ post_install() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent group xbmc > /dev/null || groupadd xbmc - getent passwd xbmc > /dev/null || useradd -m -d /var/lib/xbmc -g xbmc xbmc - usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc + update_icons +# update_autostart gen_lib_xml.py } post_upgrade() { - post_install $1 + update_icons +# update_autostart } post_remove() { - post_install $1 - echo "You may want to remove xbmc user and group" + update_icons + update_autostart + gen_lib_xml.py +} + +update_icons() { + type -p gtk-update-icon-cache > /dev/null 2>&1 && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + type -p update-desktop-database > /dev/null 2>&1 && usr/bin/update-desktop-database -q usr/share/applications + return 0 +} + +update_autostart() { + echo "To autostart xbmc standalone read: https://wiki.archlinux.org/index.php/Xbmc#Autostarting_at_boot" } diff --git a/abs/extra/xbmc/xbmc.service b/abs/extra/xbmc/xbmc.service deleted file mode 100644 index 431582f..0000000 --- a/abs/extra/xbmc/xbmc.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description = Starts instance of XBMC using xinit -After = remote-fs.target - -[Service] -User = xbmc -Group = xbmc -Type = simple -ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -- :0 -nolisten tcp -Restart = always - -[Install] -WantedBy = multi-user.target diff --git a/abs/extra/xfsdump/PKGBUILD b/abs/extra/xfsdump/PKGBUILD index 33e7415..54370cf 100644..100755 --- a/abs/extra/xfsdump/PKGBUILD +++ b/abs/extra/xfsdump/PKGBUILD @@ -1,25 +1,34 @@ -# $Id: PKGBUILD 26569 2009-02-09 18:40:22Z paul $ -# Maintainer: judd <jvinet@zeroflux.org> +# Contributor: judd <jvinet@zeroflux.org> +# Maintainer: dkaylor <dpkaylor@gmail.com> + pkgname=xfsdump -pkgver=3.1.0 +pkgver=3.1.3 pkgrel=1 pkgdesc="Additional XFS filesystem utilities" arch=(i686 x86_64) -license=('LGPL') url="http://oss.sgi.com/projects/xfs/" -depends=('xfsprogs>=3.1.8' 'attr>=2.4.39' 'acl>=2.2.45' 'dmapi') -options=('!makeflags') -source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/xfsdump-${pkgver}.tar.gz) -options=(!emptydirs) +license=('LGPL') +depends=('xfsprogs>=3.1.0' 'attr>=2.4.43' 'acl>=2.2.47' 'dmapi>=2.2.10') +options=('!makeflags' '!emptydirs' '!libtool') +source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/$pkgname-$pkgver.tar.gz{,.sig}) build() { - cd $startdir/src/xfsdump-$pkgver - autoconf + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr - make || return 1 - make prefix=$startdir/pkg/usr install - # fixes - rm -f $startdir/pkg/usr/lib/*.la - rm -f $startdir/pkg/usr/bin/{xfsdump,xfsrestore} + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DIST_ROOT="${pkgdir}" install + + # hack to merge binaries from /sbin and /usr/sbin into /usr/bin # + mkdir -p $pkgdir/usr/bin + mv $pkgdir/{sbin/*,usr/sbin/xfsinvutil} $pkgdir/usr/bin + rm -rf $pkgdir/{sbin,usr/sbin} + + chown -R root $pkgdir + chgrp -R root $pkgdir } -md5sums=('abe035537d0f325c4f2dbacc0d2b6fd6') +md5sums=('aad7160b88db24c0510c001debd689be' + 'SKIP') diff --git a/abs/extra/xinetd/PKGBUILD b/abs/extra/xinetd/PKGBUILD index 3ed7dee..53d5b93 100644 --- a/abs/extra/xinetd/PKGBUILD +++ b/abs/extra/xinetd/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 162234 2012-06-24 05:44:41Z tpowa $ +# $Id: PKGBUILD 196783 2013-10-19 06:36:43Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Judd <jvinet@zeroflux.org> pkgname=xinetd pkgver=2.3.15 -pkgrel=2 +pkgrel=4 pkgdesc="A secure replacement for inetd" arch=('i686' 'x86_64') url="http://www.xinetd.org/" @@ -13,29 +13,35 @@ optdepends=('perl: for xconv.pl script') backup=('etc/xinetd.conf' 'etc/xinetd.d/servers' 'etc/xinetd.d/services') source=(http://www.xinetd.org/xinetd-$pkgver.tar.gz xinetd.conf - xinetd servers services - xinetd.service) + xinetd.service + fix-CVE-2013-4342.patch) md5sums=('77358478fd58efa6366accae99b8b04c' 'f109f699a07bc8cfb5791060f5e87f9e' - 'ea37a2794f202e6b953d9b6956dad16a' '21f47b4aa20921cfaddddd9f9a407f81' '9fa2061dc7dd738c8424251deb86f81e' - '08466ed714ea8ba42ad81f6fb3aa62e7') + '38be35b6e7146dc59902e243d9063b4c' + 'b14615c73753ceffbcc96d5e08f3c18d') -build() { +prepare() { cd $srcdir/$pkgname-$pkgver sed -i "s#${prefix}/man#${prefix}/share/man#" configure - ./configure --prefix=/usr --without-libwrap + # fix #37310 + # https://bugzilla.redhat.com/show_bug.cgi?id=1006100#c + patch -Np1 -i $srcdir/fix-CVE-2013-4342.patch +} + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin --without-libwrap make } package() { cd $srcdir/$pkgname-$pkgver - make prefix=$pkgdir/usr install + make prefix=$pkgdir/usr DAEMONDIR=$pkgdir/usr/bin install - install -Dm755 $srcdir/xinetd $pkgdir/etc/rc.d/xinetd install -Dm644 $srcdir/xinetd.conf $pkgdir/etc/xinetd.conf install -Dm644 $srcdir/servers $pkgdir/etc/xinetd.d/servers install -Dm644 $srcdir/services $pkgdir/etc/xinetd.d/services diff --git a/abs/extra/xinetd/fix-CVE-2013-4342.patch b/abs/extra/xinetd/fix-CVE-2013-4342.patch new file mode 100644 index 0000000..83506c9 --- /dev/null +++ b/abs/extra/xinetd/fix-CVE-2013-4342.patch @@ -0,0 +1,13 @@ +diff --git a/xinetd/builtins.c b/xinetd/builtins.c +index e61502f..a414cf3 100644 +--- a/xinetd/builtins.c ++++ b/xinetd/builtins.c +@@ -695,7 +695,7 @@ static void tcpmux_handler( const struct server *serp ) + if( SC_IS_INTERNAL( scp ) ) { + SC_INTERNAL(scp, nserp); + } else { +- exec_server(nserp); ++ child_process(nserp); + } + } + diff --git a/abs/extra/xinetd/xinetd.service b/abs/extra/xinetd/xinetd.service index c6f6271..1c587e2 100644 --- a/abs/extra/xinetd/xinetd.service +++ b/abs/extra/xinetd/xinetd.service @@ -3,7 +3,7 @@ Description=A secure replacement for inetd After=network.target [Service] -ExecStart=/usr/sbin/xinetd -dontfork +ExecStart=/usr/bin/xinetd -dontfork ExecReload=/bin/kill -HUP $MAINPID [Install] diff --git a/abs/extra/community/yajl/PKGBUILD b/abs/extra/yajl/PKGBUILD index 8cd9121..24b3cfa 100644 --- a/abs/extra/community/yajl/PKGBUILD +++ b/abs/extra/yajl/PKGBUILD @@ -4,19 +4,18 @@ # Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu> pkgname=yajl -pkgver=2.0.4 +pkgver=2.1.0 pkgrel=1 -pkgdesc='Yet Another JSON Library.' +pkgdesc='Yet Another JSON Library' arch=('i686' 'x86_64') url='http://lloyd.github.com/yajl/' license=('ISC') makedepends=('cmake') -source=("$pkgname-$pkgver.tar.gz::https://github.com/lloyd/$pkgname/tarball/$pkgver") -md5sums=('ee6208e697c43dcccf798ce80d370379') +source=("$pkgname-$pkgver.tar.gz::https://github.com/lloyd/$pkgname/archive/$pkgver.tar.gz") +md5sums=('6887e0ed7479d2549761a4d284d3ecb0') build() { - dirname=$(tar tf "$srcdir/$pkgname-$pkgver.tar.gz" | sed 1q); - cd "$dirname" + cd "$pkgname-$pkgver" cmake -DCMAKE_INSTALL_PREFIX=/usr . @@ -24,8 +23,7 @@ build() { } package() { - dirname=$(tar tf "$srcdir/$pkgname-$pkgver.tar.gz" | sed 1q); - cd "$dirname" + cd "$pkgname-$pkgver" make DESTDIR="$pkgdir" install |