summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-testing/arch/PKGBUILD (renamed from community-staging/arch/PKGBUILD)0
-rw-r--r--community-testing/autofs/PKGBUILD (renamed from community-staging/autofs/PKGBUILD)0
-rw-r--r--community-testing/autofs/auto.master (renamed from community-staging/autofs/auto.master)0
-rw-r--r--community-testing/autofs/auto.misc (renamed from community-staging/autofs/auto.misc)0
-rw-r--r--community-testing/autofs/autofs (renamed from community-staging/autofs/autofs)0
-rw-r--r--community-testing/autofs/autofs.conf.d (renamed from community-staging/autofs/autofs.conf.d)0
-rw-r--r--community-testing/autofs/autofs.install (renamed from community-staging/autofs/autofs.install)0
-rw-r--r--community-testing/autofs/heimdal.patch (renamed from community-staging/autofs/heimdal.patch)0
-rw-r--r--community-testing/cadaver/ChangeLog3
-rw-r--r--community-testing/cadaver/PKGBUILD25
-rw-r--r--community-testing/exim/475format.patch31
-rw-r--r--community-testing/exim/PKGBUILD10
-rw-r--r--community-testing/exim/exim.Makefile2
-rw-r--r--community-testing/exim/exim.changelog12
-rw-r--r--community-testing/exim/exim.install1
-rw-r--r--community-testing/freeradius/PKGBUILD (renamed from community-staging/freeradius/PKGBUILD)0
-rw-r--r--community-testing/freeradius/freeradius.install (renamed from community-staging/freeradius/freeradius.install)0
-rw-r--r--community-testing/freeradius/krb5-build-fix.patch (renamed from community-staging/freeradius/krb5-build-fix.patch)0
-rwxr-xr-xcommunity-testing/freeradius/radiusd (renamed from community-staging/freeradius/radiusd)0
-rw-r--r--community-testing/freerdp/PKGBUILD (renamed from community-staging/freerdp/PKGBUILD)0
-rw-r--r--community-testing/freerdp/freerdp.changelog (renamed from community-staging/freerdp/freerdp.changelog)0
-rw-r--r--community-testing/gsasl/PKGBUILD (renamed from community-staging/gsasl/PKGBUILD)0
-rw-r--r--community-testing/ipsec-tools/PKGBUILD (renamed from community-staging/ipsec-tools/PKGBUILD)0
-rwxr-xr-xcommunity-testing/ipsec-tools/ipsec.rc (renamed from community-staging/ipsec-tools/ipsec.rc)0
-rwxr-xr-xcommunity-testing/ipsec-tools/racoon.rc (renamed from community-staging/ipsec-tools/racoon.rc)0
-rw-r--r--community-testing/pam-krb5/PKGBUILD (renamed from community-staging/pam-krb5/PKGBUILD)0
-rw-r--r--community-testing/perl-gssapi/PKGBUILD (renamed from community-staging/perl-gssapi/PKGBUILD)0
-rw-r--r--community-testing/pgadmin3/ChangeLog (renamed from community-staging/pgadmin3/ChangeLog)0
-rw-r--r--community-testing/pgadmin3/PKGBUILD (renamed from community-staging/pgadmin3/PKGBUILD)0
-rw-r--r--community-testing/pgadmin3/pgadmin3.desktop (renamed from community-staging/pgadmin3/pgadmin3.desktop)0
-rw-r--r--community-testing/splix/PKGBUILD (renamed from community-staging/splix/PKGBUILD)0
-rw-r--r--community-testing/splix/splix.install (renamed from community-staging/splix/splix.install)0
-rw-r--r--community/fotoxx/PKGBUILD4
-rw-r--r--community/gdal/PKGBUILD7
-rw-r--r--community/grass/PKGBUILD2
-rw-r--r--community/librep/PKGBUILD10
-rw-r--r--community/libtextcat/PKGBUILD31
-rw-r--r--community/lightspark/PKGBUILD8
-rw-r--r--community/luakit/PKGBUILD29
-rw-r--r--community/luakit/luakit.install10
-rwxr-xr-xcommunity/pragha/PKGBUILD6
-rw-r--r--community/puzzles/PKGBUILD19
-rw-r--r--community/qgis/PKGBUILD6
-rw-r--r--community/rep-gtk/PKGBUILD8
-rw-r--r--community/sawfish/PKGBUILD12
-rw-r--r--community/sawfish/sawfish.install5
-rw-r--r--community/xdg-user-dirs/PKGBUILD4
-rw-r--r--community/zziplib/PKGBUILD9
-rw-r--r--community/zziplib/zziplib-0.13.60-ldflags.patch14
-rw-r--r--extra/akonadi/PKGBUILD12
-rw-r--r--extra/dconf/PKGBUILD15
-rw-r--r--extra/dconf/load-enum.patch22
-rw-r--r--extra/fyre/ChangeLog7
-rw-r--r--extra/glsof/ChangeLog6
-rw-r--r--extra/glsof/PKGBUILD51
-rw-r--r--extra/glsof/glsof-filemonitor2
-rw-r--r--extra/glsof/glsof-queries2
-rw-r--r--extra/glsof/glsof.desktop12
-rw-r--r--extra/gnet/ChangeLog5
-rw-r--r--extra/gnome-applets/PKGBUILD11
-rw-r--r--extra/gnutls/PKGBUILD8
-rw-r--r--extra/kdebase-workspace/sensors-fix.patch22
-rw-r--r--extra/kdebase-workspace/shutdown-fix.patch11
-rw-r--r--extra/kdemultimedia/kmix-locale-pulseaudio.patch1117
-rw-r--r--extra/keytouch-editor/ChangeLog8
-rw-r--r--extra/kobodeluxe/ChangeLog8
-rw-r--r--extra/kobodeluxe/PKGBUILD64
-rw-r--r--extra/kobodeluxe/kobodeluxe-0.5.1-glibc2.10.patch11
-rw-r--r--extra/kobodeluxe/kobodeluxe.install9
-rw-r--r--extra/libgda/PKGBUILD6
-rw-r--r--extra/libsamplerate/PKGBUILD6
-rw-r--r--extra/libtextcat/PKGBUILD50
-rw-r--r--extra/libtextcat/fpdb.conf86
-rw-r--r--extra/libtextcat/libtextcat-2.2-OOo.patch634
-rw-r--r--extra/libtextcat/libtextcat-2.2-exportapi.patch305
-rw-r--r--extra/libwpd/PKGBUILD16
-rw-r--r--extra/libwps/PKGBUILD32
-rw-r--r--extra/llvm/PKGBUILD14
-rw-r--r--extra/llvm/bug-9869-operator-h-c++0x.patch57
-rw-r--r--extra/mysql/PKGBUILD6
-rw-r--r--extra/orca/PKGBUILD27
-rw-r--r--extra/orca/orca.install11
-rw-r--r--extra/phonon-gstreamer/PKGBUILD12
-rw-r--r--extra/python-qt/PKGBUILD41
-rw-r--r--extra/python-sip/PKGBUILD30
-rw-r--r--extra/python2-qt/PKGBUILD41
-rw-r--r--extra/python2-sip/PKGBUILD30
-rw-r--r--extra/qscintilla/PKGBUILD10
-rw-r--r--extra/quota-tools/ChangeLog9
-rw-r--r--extra/rxvt-unicode/rxvt-unicode.pngbin1513 -> 0 bytes
-rw-r--r--extra/squid/fix-for-new-cap-headers.patch14
-rw-r--r--extra/squid/squid-makefiles.patch53
-rw-r--r--extra/swfdec-mozilla/PKGBUILD21
-rw-r--r--extra/swfdec/PKGBUILD25
-rw-r--r--extra/trayer/PKGBUILD32
-rw-r--r--extra/xbill/PKGBUILD40
-rw-r--r--extra/xbill/xbill.install5
-rw-r--r--extra/xchm/PKGBUILD6
-rw-r--r--extra/xfce4-xfapplet-plugin/PKGBUILD32
-rw-r--r--libre/xchat-gnome-libre/PKGBUILD (renamed from extra/xchat-gnome/PKGBUILD)0
-rw-r--r--libre/xchat-gnome-libre/gtk2-2.20.patch (renamed from extra/xchat-gnome/gtk2-2.20.patch)0
-rw-r--r--libre/xchat-gnome-libre/xchat-gnome-0.26.1-deprecated-symbol.patch (renamed from extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch)0
-rw-r--r--libre/xchat-gnome-libre/xchat-gnome.install (renamed from extra/xchat-gnome/xchat-gnome.install)0
-rw-r--r--staging/krb5/CVE-2010-4022.patch19
-rw-r--r--staging/krb5/CVE-2011-0281.0282.0283.patch126
-rw-r--r--staging/krb5/CVE-2011-0284.patch13
-rw-r--r--staging/krb5/CVE-2011-0285.patch39
-rw-r--r--staging/openssh/PKGBUILD56
-rwxr-xr-xstaging/openssh/sshd48
-rw-r--r--staging/openssh/sshd.confd4
-rw-r--r--staging/openssh/sshd.pam10
-rw-r--r--testing/alpine/2.00-lpam.patch (renamed from staging/alpine/2.00-lpam.patch)0
-rw-r--r--testing/alpine/CVE-2008-5514.patch (renamed from staging/alpine/CVE-2008-5514.patch)0
-rw-r--r--testing/alpine/PKGBUILD (renamed from staging/alpine/PKGBUILD)0
-rw-r--r--testing/anjuta/PKGBUILD (renamed from staging/anjuta/PKGBUILD)0
-rw-r--r--testing/anjuta/anjuta.install (renamed from staging/anjuta/anjuta.install)0
-rw-r--r--testing/bash/PKGBUILD87
-rw-r--r--testing/bash/bash.install20
-rw-r--r--testing/bash/dot.bash_logout3
-rw-r--r--testing/bash/dot.bash_profile5
-rw-r--r--testing/bash/dot.bashrc9
-rw-r--r--testing/bash/system.bash_logout3
-rw-r--r--testing/bash/system.bashrc23
-rw-r--r--testing/bind/127.0.0.zone11
-rw-r--r--testing/bind/ChangeLog15
-rw-r--r--testing/bind/PKGBUILD80
-rw-r--r--testing/bind/install21
-rw-r--r--testing/bind/localhost.zone10
-rwxr-xr-xtesting/bind/named48
-rw-r--r--testing/bind/named.conf64
-rw-r--r--testing/bind/named.conf.d4
-rw-r--r--testing/bind/named.logrotate6
-rw-r--r--testing/bind/notools.patch11
-rw-r--r--testing/bind/so_bsdcompat.patch13
-rw-r--r--testing/cifs-utils/PKGBUILD (renamed from staging/cifs-utils/PKGBUILD)0
-rw-r--r--testing/cups/PKGBUILD (renamed from staging/cups/PKGBUILD)0
-rwxr-xr-xtesting/cups/cups (renamed from staging/cups/cups)0
-rw-r--r--testing/cups/cups-avahi.patch (renamed from staging/cups/cups-avahi.patch)0
-rw-r--r--testing/cups/cups.install (renamed from staging/cups/cups.install)0
-rw-r--r--testing/cups/cups.logrotate (renamed from staging/cups/cups.logrotate)0
-rw-r--r--testing/cups/cups.pam (renamed from staging/cups/cups.pam)0
-rw-r--r--testing/cvs/PKGBUILD (renamed from staging/cvs/PKGBUILD)0
-rw-r--r--testing/cvs/cvs-1.11.23-cve-2010-3846.patch (renamed from staging/cvs/cvs-1.11.23-cve-2010-3846.patch)0
-rw-r--r--testing/cvs/cvs-1.11.23-getline64.patch (renamed from staging/cvs/cvs-1.11.23-getline64.patch)0
-rw-r--r--testing/cvs/cvs.install (renamed from staging/cvs/cvs.install)0
-rw-r--r--testing/cyrus-sasl-plugins/PKGBUILD (renamed from staging/cyrus-sasl-plugins/PKGBUILD)0
-rw-r--r--testing/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch (renamed from staging/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch)0
-rw-r--r--testing/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch (renamed from staging/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch)0
-rw-r--r--testing/cyrus-sasl/PKGBUILD (renamed from staging/cyrus-sasl/PKGBUILD)0
-rw-r--r--testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch (renamed from staging/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch)0
-rw-r--r--testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch (renamed from staging/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch)0
-rw-r--r--testing/cyrus-sasl/saslauthd (renamed from staging/cyrus-sasl/saslauthd)0
-rw-r--r--testing/cyrus-sasl/saslauthd.conf.d (renamed from staging/cyrus-sasl/saslauthd.conf.d)0
-rw-r--r--testing/dnsutils/PKGBUILD39
-rw-r--r--testing/dnsutils/tools-only.patch25
-rw-r--r--testing/dovecot/PKGBUILD (renamed from staging/dovecot/PKGBUILD)0
-rw-r--r--testing/dovecot/dovecot.install (renamed from staging/dovecot/dovecot.install)0
-rwxr-xr-xtesting/dovecot/dovecot.sh (renamed from staging/dovecot/dovecot.sh)0
-rw-r--r--testing/evolution-data-server/PKGBUILD (renamed from staging/evolution-data-server/PKGBUILD)0
-rw-r--r--testing/evolution-exchange/PKGBUILD (renamed from staging/evolution-exchange/PKGBUILD)0
-rw-r--r--testing/evolution-exchange/evolution-exchange.install (renamed from staging/evolution-exchange/evolution-exchange.install)0
-rw-r--r--testing/gnome-control-center/PKGBUILD (renamed from staging/gnome-control-center/PKGBUILD)0
-rw-r--r--testing/gnome-control-center/gnome-control-center.install (renamed from staging/gnome-control-center/gnome-control-center.install)0
-rw-r--r--testing/gnome-settings-daemon/PKGBUILD (renamed from staging/gnome-settings-daemon/PKGBUILD)0
-rw-r--r--testing/gnome-settings-daemon/gnome-settings-daemon.install (renamed from staging/gnome-settings-daemon/gnome-settings-daemon.install)0
-rw-r--r--testing/gnome-vfs/PKGBUILD (renamed from staging/gnome-vfs/PKGBUILD)0
-rw-r--r--testing/gnome-vfs/gnome-vfs.install (renamed from staging/gnome-vfs/gnome-vfs.install)0
-rw-r--r--testing/gnome-vfs/gnutls-config.patch (renamed from staging/gnome-vfs/gnutls-config.patch)0
-rw-r--r--testing/gtk2/PKGBUILD (renamed from staging/gtk2/PKGBUILD)0
-rw-r--r--testing/gtk2/gtk2.install (renamed from staging/gtk2/gtk2.install)0
-rw-r--r--testing/gtk2/xid-collision-debug.patch (renamed from staging/gtk2/xid-collision-debug.patch)0
-rw-r--r--testing/gtk3/PKGBUILD (renamed from staging/gtk3/PKGBUILD)0
-rw-r--r--testing/gtk3/gtk3.install (renamed from staging/gtk3/gtk3.install)0
-rw-r--r--testing/gtk3/settings.ini (renamed from staging/gtk3/settings.ini)0
-rw-r--r--testing/gutenprint/PKGBUILD39
-rw-r--r--testing/gutenprint/gutenprint.install9
-rw-r--r--testing/kdelibs/PKGBUILD (renamed from staging/kdelibs/PKGBUILD)0
-rw-r--r--testing/kdelibs/abs-syntax-highlight.patch (renamed from staging/kdelibs/abs-syntax-highlight.patch)0
-rw-r--r--testing/kdelibs/archlinux-menu.patch (renamed from staging/kdelibs/archlinux-menu.patch)0
-rw-r--r--testing/kdelibs/kde-applications-menu.patch (renamed from staging/kdelibs/kde-applications-menu.patch)0
-rw-r--r--testing/kdelibs/kdelibs.install (renamed from staging/kdelibs/kdelibs.install)0
-rw-r--r--testing/krb5/PKGBUILD (renamed from staging/krb5/PKGBUILD)0
-rw-r--r--testing/krb5/kadmind.rc (renamed from staging/krb5/kadmind.rc)0
-rw-r--r--testing/krb5/krb5-kdc.rc (renamed from staging/krb5/krb5-kdc.rc)0
-rw-r--r--testing/libgnomecups/PKGBUILD (renamed from staging/libgnomecups/PKGBUILD)0
-rw-r--r--testing/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch (renamed from staging/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch)0
-rw-r--r--testing/libgnomeprint/PKGBUILD (renamed from staging/libgnomeprint/PKGBUILD)0
-rw-r--r--testing/librpcsecgss/PKGBUILD (renamed from staging/librpcsecgss/PKGBUILD)0
-rw-r--r--testing/librpcsecgss/librpcsecgss-0.18-heimdal.patch (renamed from staging/librpcsecgss/librpcsecgss-0.18-heimdal.patch)0
-rw-r--r--testing/libtirpc/PKGBUILD (renamed from staging/libtirpc/PKGBUILD)0
-rw-r--r--testing/libtirpc/libtirpc-0.2.1-fortify.patch (renamed from staging/libtirpc/libtirpc-0.2.1-fortify.patch)0
-rw-r--r--testing/mutt/PKGBUILD (renamed from staging/mutt/PKGBUILD)0
-rw-r--r--testing/mutt/install (renamed from staging/mutt/install)0
-rw-r--r--testing/neon/PKGBUILD (renamed from staging/neon/PKGBUILD)0
-rw-r--r--testing/nfs-utils/PKGBUILD69
-rw-r--r--testing/nfs-utils/exports15
-rw-r--r--testing/nfs-utils/idmapd.conf14
-rw-r--r--testing/nfs-utils/nfs-common319
-rw-r--r--testing/nfs-utils/nfs-common.conf40
-rw-r--r--testing/nfs-utils/nfs-server303
-rw-r--r--testing/nfs-utils/nfs-server.conf29
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch138
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch39
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch15
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch69
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch57
-rw-r--r--testing/nfs-utils/nfs-utils.install32
-rw-r--r--testing/nfs-utils/start-statd.patch22
-rw-r--r--testing/nss_ldap/PKGBUILD (renamed from staging/nss_ldap/PKGBUILD)0
-rw-r--r--testing/openssh/PKGBUILD6
-rw-r--r--testing/samba/PKGBUILD (renamed from staging/samba/PKGBUILD)0
-rw-r--r--testing/samba/fix-ipv6-mount.patch (renamed from staging/samba/fix-ipv6-mount.patch)0
-rwxr-xr-xtesting/samba/samba (renamed from staging/samba/samba)0
-rw-r--r--testing/samba/samba.conf.d (renamed from staging/samba/samba.conf.d)0
-rw-r--r--testing/samba/samba.logrotate (renamed from staging/samba/samba.logrotate)0
-rw-r--r--testing/samba/samba.pam (renamed from staging/samba/samba.pam)0
-rw-r--r--testing/samba/swat.xinetd (renamed from staging/samba/swat.xinetd)0
-rw-r--r--testing/subversion/PKGBUILD (renamed from staging/subversion/PKGBUILD)0
-rw-r--r--testing/subversion/subversion.rpath.fix.patch (renamed from staging/subversion/subversion.rpath.fix.patch)0
-rw-r--r--testing/subversion/subversion.suppress.deprecation.warnings.patch (renamed from staging/subversion/subversion.suppress.deprecation.warnings.patch)0
-rw-r--r--testing/subversion/svn (renamed from staging/subversion/svn)0
-rw-r--r--testing/subversion/svnmerge.py (renamed from staging/subversion/svnmerge.py)0
-rwxr-xr-xtesting/subversion/svnserve (renamed from staging/subversion/svnserve)0
-rw-r--r--testing/subversion/svnserve.conf (renamed from staging/subversion/svnserve.conf)0
-rw-r--r--testing/syslog-ng/PKGBUILD52
-rw-r--r--testing/syslog-ng/cap_syslog.patch101
-rw-r--r--testing/syslog-ng/syslog-ng.conf92
-rw-r--r--testing/syslog-ng/syslog-ng.logrotate7
-rwxr-xr-xtesting/syslog-ng/syslog-ng.rc63
-rw-r--r--testing/wget/PKGBUILD55
-rw-r--r--testing/wget/wget-1.12-CVE-2010-2252.patch155
-rw-r--r--testing/wget/wget-1.12-subjectAltName.patch216
-rw-r--r--testing/wget/wget.install20
-rw-r--r--testing/wireshark/PKGBUILD (renamed from staging/wireshark/PKGBUILD)0
-rw-r--r--testing/wireshark/wireshark-gtk.install (renamed from staging/wireshark/wireshark-gtk.install)0
-rw-r--r--testing/wireshark/wireshark.install (renamed from staging/wireshark/wireshark.install)0
-rw-r--r--testing/xfprint/PKGBUILD (renamed from staging/xfprint/PKGBUILD)0
-rw-r--r--testing/xfprint/xfprint-manager-fix.diff (renamed from staging/xfprint/xfprint-manager-fix.diff)0
-rw-r--r--testing/xfprint/xfprint.install (renamed from staging/xfprint/xfprint.install)0
239 files changed, 4012 insertions, 2098 deletions
diff --git a/community-staging/arch/PKGBUILD b/community-testing/arch/PKGBUILD
index 2be3a270a..2be3a270a 100644
--- a/community-staging/arch/PKGBUILD
+++ b/community-testing/arch/PKGBUILD
diff --git a/community-staging/autofs/PKGBUILD b/community-testing/autofs/PKGBUILD
index 11ac57ec1..11ac57ec1 100644
--- a/community-staging/autofs/PKGBUILD
+++ b/community-testing/autofs/PKGBUILD
diff --git a/community-staging/autofs/auto.master b/community-testing/autofs/auto.master
index be4ea73ae..be4ea73ae 100644
--- a/community-staging/autofs/auto.master
+++ b/community-testing/autofs/auto.master
diff --git a/community-staging/autofs/auto.misc b/community-testing/autofs/auto.misc
index 569156626..569156626 100644
--- a/community-staging/autofs/auto.misc
+++ b/community-testing/autofs/auto.misc
diff --git a/community-staging/autofs/autofs b/community-testing/autofs/autofs
index 08bd3e133..08bd3e133 100644
--- a/community-staging/autofs/autofs
+++ b/community-testing/autofs/autofs
diff --git a/community-staging/autofs/autofs.conf.d b/community-testing/autofs/autofs.conf.d
index bc82491e7..bc82491e7 100644
--- a/community-staging/autofs/autofs.conf.d
+++ b/community-testing/autofs/autofs.conf.d
diff --git a/community-staging/autofs/autofs.install b/community-testing/autofs/autofs.install
index 34ae75f1e..34ae75f1e 100644
--- a/community-staging/autofs/autofs.install
+++ b/community-testing/autofs/autofs.install
diff --git a/community-staging/autofs/heimdal.patch b/community-testing/autofs/heimdal.patch
index 4aa321834..4aa321834 100644
--- a/community-staging/autofs/heimdal.patch
+++ b/community-testing/autofs/heimdal.patch
diff --git a/community-testing/cadaver/ChangeLog b/community-testing/cadaver/ChangeLog
new file mode 100644
index 000000000..d22a5592c
--- /dev/null
+++ b/community-testing/cadaver/ChangeLog
@@ -0,0 +1,3 @@
+2007-07-02 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/community-testing/cadaver/PKGBUILD b/community-testing/cadaver/PKGBUILD
new file mode 100644
index 000000000..ec11fd70f
--- /dev/null
+++ b/community-testing/cadaver/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 46500 2011-05-07 23:09:15Z stephane $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: William Rea <sillywilly@gmail.com>
+
+pkgname=cadaver
+pkgver=0.23.3
+pkgrel=2
+pkgdesc="Command-line WebDAV client for Unix"
+arch=('i686' 'x86_64')
+url="http://www.webdav.org/cadaver"
+license=('GPL')
+depends=('neon')
+source=(http://www.webdav.org/cadaver/cadaver-$pkgver.tar.gz)
+md5sums=('502ecd601e467f8b16056d2acca39a6f')
+
+build() {
+ cd $srcdir/cadaver-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/cadaver-$pkgver
+ make prefix=$pkgdir/usr install
+}
diff --git a/community-testing/exim/475format.patch b/community-testing/exim/475format.patch
new file mode 100644
index 000000000..aef38e8d6
--- /dev/null
+++ b/community-testing/exim/475format.patch
@@ -0,0 +1,31 @@
+From: Tom Kistner <tom@tahini.csx.cam.ac.uk>
+Date: Sat, 30 Apr 2011 12:20:17 +0000 (+0100)
+Subject: Bugzilla #1106: Don't pass DKIM compound log line as format string
+X-Git-Tag: exim-4_76_RC1~2
+X-Git-Url: http://git.exim.org/exim.git/commitdiff_plain/337e3505b0e6cd4309db6bf6062b33fa56e06cf8
+
+Bugzilla #1106: Don't pass DKIM compound log line as format string
+---
+
+diff --git a/src/src/dkim.c b/src/src/dkim.c
+index e25ff8c..2318cc3 100644
+--- a/src/src/dkim.c
++++ b/src/src/dkim.c
+@@ -108,7 +108,7 @@ void dkim_exim_verify_finish(void) {
+ /* Log a line for each signature */
+ uschar *logmsg = string_append(NULL, &size, &ptr, 5,
+
+- string_sprintf( "DKIM: d=%s s=%s c=%s/%s a=%s ",
++ string_sprintf( "d=%s s=%s c=%s/%s a=%s ",
+ sig->domain,
+ sig->selector,
+ (sig->canon_headers == PDKIM_CANON_SIMPLE)?"simple":"relaxed",
+@@ -176,7 +176,7 @@ void dkim_exim_verify_finish(void) {
+ }
+
+ logmsg[ptr] = '\0';
+- log_write(0, LOG_MAIN, (char *)logmsg);
++ log_write(0, LOG_MAIN, "DKIM: %s", logmsg);
+
+ /* Build a colon-separated list of signing domains (and identities, if present) in dkim_signers */
+ dkim_signers = string_append(dkim_signers,
diff --git a/community-testing/exim/PKGBUILD b/community-testing/exim/PKGBUILD
index d8b81e37b..27aabe852 100644
--- a/community-testing/exim/PKGBUILD
+++ b/community-testing/exim/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 45865 2011-04-30 05:58:54Z angvp $
+# $Id: PKGBUILD 46480 2011-05-07 19:12:24Z angvp $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=exim
pkgver=4.75
-pkgrel=1
+pkgrel=2
pkgdesc="A Message Transfer Agent"
arch=(i686 x86_64)
url="http://www.exim.org/"
@@ -11,6 +11,7 @@ license=('GPL')
backup=(etc/mail/aliases etc/mail/exim.conf \
etc/logrotate.d/exim etc/conf.d/exim)
install=exim.install
+changelog=exim.changelog
depends=('db' 'pcre' 'pam' 'tcp_wrappers' 'openssl' 'libldap')
makedepends=('sudo')
provides=('smtp-server')
@@ -23,6 +24,7 @@ source=(ftp://mirrors.24-7-solutions.net/pub/exim/ftp/exim/exim4/exim-${pkgver}.
exim.logrotate
exim.conf.d
exim.Makefile
+ 475format.patch
)
md5sums=('427fb74bbd2afbea759e6da38f25af17'
'4874006f0585253ddab027d441009757'
@@ -30,13 +32,15 @@ md5sums=('427fb74bbd2afbea759e6da38f25af17'
'9aed772e87223213e8da9ca5e7376869'
'd788c26f86a9d72a0aebb3b849fe74f2'
'b75fe4c6e960a59a25b5f51e8f61ba3a'
- '63e22266168e5eddd42b6e2d1dc5caf5')
+ '61e76543476f52f136c1d6c80ac1c5a1'
+ '4d5e58f07896db227ea24bea57972bd1')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
sed -i 's|tail -1|tail -n -1|g' scripts/Configure-config.h
# Make some configuration changes
cp ${srcdir}/${pkgname}.Makefile Local/Makefile
+ patch -p2 < ${srcdir}/475format.patch
make
}
diff --git a/community-testing/exim/exim.Makefile b/community-testing/exim/exim.Makefile
index 44fbe10f4..125f87dfb 100644
--- a/community-testing/exim/exim.Makefile
+++ b/community-testing/exim/exim.Makefile
@@ -924,7 +924,7 @@ USE_TCP_WRAPPERS=yes
# aliases). The following setting can be changed to specify a different
# location for the system alias file.
-SYSTEM_ALIASES_FILE=/home/angvp/pkgs/community/exim/trunk/pkg/etc/mail/aliases
+SYSTEM_ALIASES_FILE=/etc/mail/aliases
#------------------------------------------------------------------------------
diff --git a/community-testing/exim/exim.changelog b/community-testing/exim/exim.changelog
new file mode 100644
index 000000000..afb4f843c
--- /dev/null
+++ b/community-testing/exim/exim.changelog
@@ -0,0 +1,12 @@
+2010-05-07 Angel Velasquez <angvp@archlinux.org>
+ * Adding patch for security issue see: http://goo.gl/QBict
+
+2010-05-06 Angel Velasquez <angvp@archlinux.org>
+ * Setting sticky id to deliver mail. Closes FS#24109
+
+2010-04-30 Angel Velasquez <angvp@archlinux.org>
+ * exim 4.75
+ * Config updated with the aliases path. Closes FS#22743
+ * Removed sed hackings and added a exim.Makefile . Closes FS#22744
+ * Replaced creation of the user at build time. Closes FS#22745
+
diff --git a/community-testing/exim/exim.install b/community-testing/exim/exim.install
index cf05fe4e4..8ed329559 100644
--- a/community-testing/exim/exim.install
+++ b/community-testing/exim/exim.install
@@ -9,6 +9,7 @@ post_install() {
passwd -l exim > /dev/null
chown root.exim /var/spool/exim /var/log/exim
chown exim.exim /var/spool/exim/db
+ chmod u+s /usr/sbin/exim
}
# arg 1: the new package version
diff --git a/community-staging/freeradius/PKGBUILD b/community-testing/freeradius/PKGBUILD
index 3727a8cb3..3727a8cb3 100644
--- a/community-staging/freeradius/PKGBUILD
+++ b/community-testing/freeradius/PKGBUILD
diff --git a/community-staging/freeradius/freeradius.install b/community-testing/freeradius/freeradius.install
index e50aa403d..e50aa403d 100644
--- a/community-staging/freeradius/freeradius.install
+++ b/community-testing/freeradius/freeradius.install
diff --git a/community-staging/freeradius/krb5-build-fix.patch b/community-testing/freeradius/krb5-build-fix.patch
index 11dae7090..11dae7090 100644
--- a/community-staging/freeradius/krb5-build-fix.patch
+++ b/community-testing/freeradius/krb5-build-fix.patch
diff --git a/community-staging/freeradius/radiusd b/community-testing/freeradius/radiusd
index bf872b6f2..bf872b6f2 100755
--- a/community-staging/freeradius/radiusd
+++ b/community-testing/freeradius/radiusd
diff --git a/community-staging/freerdp/PKGBUILD b/community-testing/freerdp/PKGBUILD
index f845453fe..f845453fe 100644
--- a/community-staging/freerdp/PKGBUILD
+++ b/community-testing/freerdp/PKGBUILD
diff --git a/community-staging/freerdp/freerdp.changelog b/community-testing/freerdp/freerdp.changelog
index d47f165c3..d47f165c3 100644
--- a/community-staging/freerdp/freerdp.changelog
+++ b/community-testing/freerdp/freerdp.changelog
diff --git a/community-staging/gsasl/PKGBUILD b/community-testing/gsasl/PKGBUILD
index 01c39c725..01c39c725 100644
--- a/community-staging/gsasl/PKGBUILD
+++ b/community-testing/gsasl/PKGBUILD
diff --git a/community-staging/ipsec-tools/PKGBUILD b/community-testing/ipsec-tools/PKGBUILD
index 77a72f6df..77a72f6df 100644
--- a/community-staging/ipsec-tools/PKGBUILD
+++ b/community-testing/ipsec-tools/PKGBUILD
diff --git a/community-staging/ipsec-tools/ipsec.rc b/community-testing/ipsec-tools/ipsec.rc
index cff472c59..cff472c59 100755
--- a/community-staging/ipsec-tools/ipsec.rc
+++ b/community-testing/ipsec-tools/ipsec.rc
diff --git a/community-staging/ipsec-tools/racoon.rc b/community-testing/ipsec-tools/racoon.rc
index 1a67dcac5..1a67dcac5 100755
--- a/community-staging/ipsec-tools/racoon.rc
+++ b/community-testing/ipsec-tools/racoon.rc
diff --git a/community-staging/pam-krb5/PKGBUILD b/community-testing/pam-krb5/PKGBUILD
index 5c9798514..5c9798514 100644
--- a/community-staging/pam-krb5/PKGBUILD
+++ b/community-testing/pam-krb5/PKGBUILD
diff --git a/community-staging/perl-gssapi/PKGBUILD b/community-testing/perl-gssapi/PKGBUILD
index ec1e50684..ec1e50684 100644
--- a/community-staging/perl-gssapi/PKGBUILD
+++ b/community-testing/perl-gssapi/PKGBUILD
diff --git a/community-staging/pgadmin3/ChangeLog b/community-testing/pgadmin3/ChangeLog
index 76de01d7d..76de01d7d 100644
--- a/community-staging/pgadmin3/ChangeLog
+++ b/community-testing/pgadmin3/ChangeLog
diff --git a/community-staging/pgadmin3/PKGBUILD b/community-testing/pgadmin3/PKGBUILD
index 117eb7521..117eb7521 100644
--- a/community-staging/pgadmin3/PKGBUILD
+++ b/community-testing/pgadmin3/PKGBUILD
diff --git a/community-staging/pgadmin3/pgadmin3.desktop b/community-testing/pgadmin3/pgadmin3.desktop
index 2e0864f60..2e0864f60 100644
--- a/community-staging/pgadmin3/pgadmin3.desktop
+++ b/community-testing/pgadmin3/pgadmin3.desktop
diff --git a/community-staging/splix/PKGBUILD b/community-testing/splix/PKGBUILD
index 9b8061ad5..9b8061ad5 100644
--- a/community-staging/splix/PKGBUILD
+++ b/community-testing/splix/PKGBUILD
diff --git a/community-staging/splix/splix.install b/community-testing/splix/splix.install
index ee1eb78a3..ee1eb78a3 100644
--- a/community-staging/splix/splix.install
+++ b/community-testing/splix/splix.install
diff --git a/community/fotoxx/PKGBUILD b/community/fotoxx/PKGBUILD
index f92efb2de..8703c0fea 100644
--- a/community/fotoxx/PKGBUILD
+++ b/community/fotoxx/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
pkgname=fotoxx
-pkgver=11.05
+pkgver=11.05.1
pkgrel=1
pkgdesc="A program for improving image files made with a digital camera"
url="http://kornelix.squarespace.com/fotoxx"
@@ -9,7 +9,7 @@ license=('GPL3')
depends=('gimp-ufraw' 'perl-exiftool' 'xdg-utils')
optdepends=('mashup: for printing from within fotoxx' 'brasero: for burning')
source=("http://kornelix.squarespace.com/storage/downloads/$pkgname-$pkgver.tar.gz")
-md5sums=('8c970b43716ddcf6ee7d5cd15ca37d44')
+md5sums=('27e1501ec6426286bc1da935fd2fa7e9')
replaces=('fotox')
build() {
diff --git a/community/gdal/PKGBUILD b/community/gdal/PKGBUILD
index a9d3041ad..d01d40c44 100644
--- a/community/gdal/PKGBUILD
+++ b/community/gdal/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 42309 2011-03-16 10:46:13Z jelle $
+# $Id: PKGBUILD 46467 2011-05-07 14:58:14Z tdziedzic $
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=gdal
pkgver=1.8.0
-pkgrel=3
+pkgrel=4
pkgdesc="A translator library for raster geospatial data formats"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gdal.org/"
@@ -14,7 +14,8 @@ depends=('curl' 'geos' 'giflib' 'hdf5' 'libgeotiff' 'libjpeg' 'libpng' 'libtiff'
makedepends=('perl' 'swig')
optdepends=('postgresql: postgresql database support'
'mysql: mysql database support'
- 'perl,swig: perl binding support')
+ 'perl: perl binding support'
+ 'swig: perl binding support')
options=('!libtool' '!makeflags')
changelog=$pkgname.changelog
source=(http://download.osgeo.org/${pkgname}/${pkgname}-${pkgver}.tar.gz \
diff --git a/community/grass/PKGBUILD b/community/grass/PKGBUILD
index 1122ec6a2..7f74b8621 100644
--- a/community/grass/PKGBUILD
+++ b/community/grass/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=grass
pkgver=6.4.1
-pkgrel=1
+pkgrel=2
pkgdesc='Geographic Information System (GIS) used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization.'
arch=('i686' 'x86_64' 'mips64el')
url='http://grass.itc.it/index.php'
diff --git a/community/librep/PKGBUILD b/community/librep/PKGBUILD
index 89caa2931..27c649644 100644
--- a/community/librep/PKGBUILD
+++ b/community/librep/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 42084 2011-03-13 17:47:35Z shusmann $
+# $Id: PKGBUILD 46413 2011-05-07 10:04:19Z shusmann $
# Maintainer: stefan-husmann@t-online.de
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
pkgname=librep
-pkgver=0.91.1
+pkgver=0.92.0
pkgrel=1
pkgdesc="A Lisp system for UNIX"
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
url="http://sawfish.wikia.com/wiki/Librep"
-depends=('gmp' 'gdbm' 'libffi' 'bash')
+depends=('gmp' 'gdbm' 'libffi')
install=${pkgname}.install
-options=('libtool' '!emptydirs')
+options=('!emptydirs' '!libtool')
source=(http://download.tuxfamily.org/${pkgname}/${pkgname}-${pkgver}.tar.xz)
-sha1sums=('6cba5bdb145814c4985b2f1939d161b76f494b7c')
+sha1sums=('70f7b641cf3628443fea77a1191d9eb93a86d700')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/community/libtextcat/PKGBUILD b/community/libtextcat/PKGBUILD
deleted file mode 100644
index c2002dea3..000000000
--- a/community/libtextcat/PKGBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# $Id: PKGBUILD 3771 2009-10-08 20:16:09Z ibiru $
-# Maintainer: Alexander Fehr <pizzapunk gmail com>
-# Contributor: William Rea <sillywilly@gmail.com>
-
-pkgname=libtextcat
-pkgver=2.2
-pkgrel=6
-pkgdesc="Library that implements N-gram-based text categorization"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://software.wise-guys.nl/libtextcat/"
-license=('BSD')
-depends=('glibc')
-options=(!libtool)
-source=(http://software.wise-guys.nl/download/$pkgname-$pkgver.tar.gz)
-md5sums=('128cfc86ed5953e57fe0f5ae98b62c2e')
-
-build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr
- make || return 1
- make DESTDIR=$startdir/pkg install
-
- install -D -m644 src/textcat.h $startdir/pkg/usr/include/textcat.h
- mkdir -p $startdir/pkg/usr/share/libtextcat/{LM,ShortTexts}
- install -m644 langclass/conf.txt $startdir/pkg/usr/share/libtextcat
- install -m644 langclass/LM/*.lm $startdir/pkg/usr/share/libtextcat/LM
- install -m644 langclass/ShortTexts/*.txt $startdir/pkg/usr/share/libtextcat/ShortTexts
-
- install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
- sed -i 's|LM|/usr/share/libtextcat/LM|' ${pkgdir}/usr/share/libtextcat/conf.txt
-}
diff --git a/community/lightspark/PKGBUILD b/community/lightspark/PKGBUILD
index 45603c758..1a7b38835 100644
--- a/community/lightspark/PKGBUILD
+++ b/community/lightspark/PKGBUILD
@@ -2,21 +2,21 @@
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
pkgname=lightspark
-pkgver=0.4.6.1
-pkgrel=2
+pkgver=0.4.7.1
+pkgrel=1
pkgdesc='An alternative Flash Player for Linux.'
arch=('i686' 'x86_64' 'mips64el')
url='http://lightspark.sourceforge.net'
license=('LGPL3')
conflicts=('lightspark-git')
# add libxml++ back after repos update it
-depends=('mesa' 'ftgl' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'ffmpeg' 'gtkglext' 'desktop-file-utils')
+depends=('mesa' 'ftgl' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'gtkglext' 'desktop-file-utils')
makedepends=('cmake' 'nasm' 'xulrunner' 'llvm' 'glproto' 'boost' 'pkgconfig' 'libxml2>=2.7.7' 'fontconfig')
optdepends=('gnash-gtk: fallback support')
install="${pkgname}.install"
source=("http://launchpad.net/${pkgname}/trunk/${pkgname}-${pkgver:0:5}/+download/${pkgname}-${pkgver}.tar.gz"
'http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.33/libxml++-2.33.1.tar.bz2')
-md5sums=('a352604c4cfe33f5e0bfec5cf27a6019'
+md5sums=('fee5cd52a8a23e858979a8f4ec778266'
'90919b5a5e92381722ef004898eba343')
build() {
diff --git a/community/luakit/PKGBUILD b/community/luakit/PKGBUILD
new file mode 100644
index 000000000..485bdc3c6
--- /dev/null
+++ b/community/luakit/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: J. W. Birdsong <jwbirdsong AT gmail DOT com>
+
+pkgname=luakit
+pkgver=2011.05.06
+pkgrel=1
+pkgdesc='luakit is a highly configurable, micro-browser framework based on the WebKit web content engine and the GTK+ toolkit."Stable" release'
+arch=('i686' 'x86_64')
+url='http://www.luakit.org/projects/luakit'
+license=('GPL3')
+depends=('libwebkit' 'luafilesystem' )
+makedepends=('git' 'help2man')
+options=(!makeflags)
+conflicts=('luakit-git' 'luakit-develop-git')
+install='luakit.install'
+source=("${pkgver}.tar.gz::https://github.com/mason-larobina/luakit/tarball/${pkgver}")
+md5sums=('eaf96d02aaecc1d8ba4f62f38565497f')
+
+build() {
+ cd mason-larobina-luakit-*
+
+ make PREFIX=/usr DESTDIR=${pkgdir} clean all
+}
+
+package() {
+ cd mason-larobina-luakit-*
+
+ make PREFIX=/usr DESTDIR=${pkgdir} install
+}
diff --git a/community/luakit/luakit.install b/community/luakit/luakit.install
new file mode 100644
index 000000000..c80d7609f
--- /dev/null
+++ b/community/luakit/luakit.install
@@ -0,0 +1,10 @@
+post_install() {
+ echo 'Configs are located in /etc/xdg/luakit/*.lua'
+ echo 'Copy to ~/.config/luakit/ (this folder is created on 1st start of Luakit) for local config.'
+ echo 'Or edit in place for global changes.'
+ echo 'You NEED to replace local configs after each update'
+}
+
+post_upgrade() {
+ post_install ${1}
+}
diff --git a/community/pragha/PKGBUILD b/community/pragha/PKGBUILD
index 412682494..c9a69465b 100755
--- a/community/pragha/PKGBUILD
+++ b/community/pragha/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 44895 2011-04-12 14:24:48Z ttopper $
+# $Id: PKGBUILD 46398 2011-05-07 07:41:07Z ttopper $
# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
# Contributor: Alois Nespor <alois.nespor@gmail.com>
# Contributor: JerichoKru <jerichokru(AT)htomail.com>
pkgname=pragha
-pkgver=0.94.1
+pkgver=0.95.0.1
pkgrel=1
pkgdesc="A lightweight GTK+ music manager - fork of Consonance Music Manager."
arch=('i686' 'x86_64' 'mips64el')
@@ -18,7 +18,7 @@ optdepends=('notification-daemon: OSD notification')
replaces=('dissonance')
install=pragha.install
source=(http://dissonance.googlecode.com/files/$pkgname-$pkgver.tar.bz2)
-sha1sums=('ea7b8554028f9df3f1a001ca278edbb8cda37fb7')
+sha1sums=('4ad9de34e2e78176494d62b5407c3cbbbfb9c183')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/puzzles/PKGBUILD b/community/puzzles/PKGBUILD
index 093cc4b64..d85cfb8d2 100644
--- a/community/puzzles/PKGBUILD
+++ b/community/puzzles/PKGBUILD
@@ -1,8 +1,9 @@
# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: schuay <jakob.gruber@gmail.com>
pkgname=puzzles
-pkgver=8951
+pkgver=9168
pkgrel=1
pkgdesc="Simon Tatham's Portable Puzzle Collection"
arch=('i686' 'x86_64' 'mips64el')
@@ -10,14 +11,14 @@ url="http://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
license=('MIT')
makedepends=('pkgconfig')
depends=('gtk2')
-source=(http://www.chiark.greenend.org.uk/~sgtatham/${pkgname}/${pkgname}-r${pkgver}.tar.gz)
-md5sums=('8707698a75aa052e95c9d7417b44efd0')
+source=("http://www.chiark.greenend.org.uk/~sgtatham/${pkgname}/${pkgname}-r${pkgver}.tar.gz")
+md5sums=('15ec7483b579bd61edd972e81f3902b9')
build() {
cd ${srcdir}/${pkgname}-r${pkgver}
sed -i 's|\$(gamesdir)|\$(bindir)|' Makefile
- make prefix=/usr || return 1
+ make prefix=/usr
}
package() {
@@ -26,10 +27,10 @@ package() {
install -d ${pkgdir}/usr/{bin,share/licenses/${pkgname}}
install -Dm644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/
- make prefix=/usr DESTDIR=${pkgdir} install || return 1
+ make prefix=/usr DESTDIR=${pkgdir} install
#fix FS#14600
- mv ${pkgdir}/usr/bin/net ${pkgdir}/usr/bin/puzzles-net || return 1
- mv ${pkgdir}/usr/bin/cube ${pkgdir}/usr/bin/puzzles-cube || return 1
- mv ${pkgdir}/usr/bin/blackbox ${pkgdir}/usr/bin/puzzles-blackbox || return 1
+ mv ${pkgdir}/usr/bin/net ${pkgdir}/usr/bin/puzzles-net
+ mv ${pkgdir}/usr/bin/cube ${pkgdir}/usr/bin/puzzles-cube
+ mv ${pkgdir}/usr/bin/blackbox ${pkgdir}/usr/bin/puzzles-blackbox
}
diff --git a/community/qgis/PKGBUILD b/community/qgis/PKGBUILD
index 0f6ac3dfc..5fb698d32 100644
--- a/community/qgis/PKGBUILD
+++ b/community/qgis/PKGBUILD
@@ -1,12 +1,12 @@
+# $Id: PKGBUILD 46475 2011-05-07 18:42:52Z tdziedzic $
# Maintainer: Thomas Dziedzic < gostrc at gmail >
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
-# Contributor: Andrea Scarpino <bash.lnx@gmail.com>
# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
pkgname=qgis
pkgver=1.6.0
-pkgrel=5
-pkgdesc='A Geographic Information System (GIS) that supports vector, raster & database formats.'
+pkgrel=6
+pkgdesc='A Geographic Information System (GIS) that supports vector, raster & database formats'
url='http://qgis.org/'
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
diff --git a/community/rep-gtk/PKGBUILD b/community/rep-gtk/PKGBUILD
index 82eb4530a..a409d44e0 100644
--- a/community/rep-gtk/PKGBUILD
+++ b/community/rep-gtk/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 42087 2011-03-13 17:54:11Z shusmann $
+# $Id: PKGBUILD 46416 2011-05-07 10:06:27Z shusmann $
# Maintainer: stefan-husmann@t-online.de
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
pkgname=rep-gtk
-pkgver=0.90.5
+pkgver=0.90.6
pkgrel=1
pkgdesc="Binding of the GTK and GDK libraries for the librep Lisp environment"
arch=('i686' 'x86_64' 'mips64el')
url="http://sawfish.wikia.com/wiki/Rep-GTK"
license=('GPL')
depends=('librep' 'gtk2')
-options=('libtool')
source=(http://download.tuxfamily.org/librep/rep-gtk/${pkgname}-${pkgver}.tar.xz)
-sha1sums=('8072e6470314555b7c894e1002d879f12be993d5')
+sha1sums=('15222f11a91f5190cf3fad22af20932ea6851788')
+options=('!libtool')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/community/sawfish/PKGBUILD b/community/sawfish/PKGBUILD
index 689c4d025..db237e733 100644
--- a/community/sawfish/PKGBUILD
+++ b/community/sawfish/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 42090 2011-03-13 17:55:35Z shusmann $
+# $Id: PKGBUILD 46419 2011-05-07 10:07:50Z shusmann $
# Maintainer: stefan-husmann@t-online.de
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
pkgname=sawfish
-pkgver=1.8.0
+pkgver=1.8.1
pkgrel=1
pkgdesc="An extensible window manager using a Lisp-based scripting language"
arch=('i686' 'x86_64' 'mips64el')
url="http://sawfish.wikia.com/wiki/Main_Page"
license=('GPL')
-depends=('rep-gtk' 'libsm' 'hicolor-icon-theme')
+depends=('libsm' 'rep-gtk' 'hicolor-icon-theme')
install=${pkgname}.install
source=(http://download.tuxfamily.org/${pkgname}/${pkgname}-${pkgver}.tar.xz)
-sha1sums=('522beb58635166c17eee3e47e6ebc5a39c22122a')
-
+sha1sums=('f93549382a438c1e7044624403876b345edae4b6')
+options=('!libtool')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --libexecdir=/usr/lib
+ ./configure --prefix=/usr --libexecdir=/usr/lib --without-pango
make
}
diff --git a/community/sawfish/sawfish.install b/community/sawfish/sawfish.install
index 340fe8596..3b43a7466 100644
--- a/community/sawfish/sawfish.install
+++ b/community/sawfish/sawfish.install
@@ -14,5 +14,8 @@ post_upgrade() {
pre_remove() {
[ -x usr/bin/install-info ] || return 0
install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+} \ No newline at end of file
diff --git a/community/xdg-user-dirs/PKGBUILD b/community/xdg-user-dirs/PKGBUILD
index 8fa4c4292..25dd339bf 100644
--- a/community/xdg-user-dirs/PKGBUILD
+++ b/community/xdg-user-dirs/PKGBUILD
@@ -2,7 +2,7 @@
# Contributor: <mathieu.clabaut@gmail.com>
pkgname=xdg-user-dirs
-pkgver=0.13
+pkgver=0.14
pkgrel=1
pkgdesc="tool to help manage 'well known' user directories like the desktop folder and the music folder. It also handles localization (i.e. translation) of the filenames. "
arch=('i686' 'x86_64' 'mips64el')
@@ -11,7 +11,7 @@ makedepends=('gawk')
url="http://www.freedesktop.org/wiki/Software/xdg-user-dirs"
license=('GPL')
source=(http://user-dirs.freedesktop.org/releases/$pkgname-$pkgver.tar.gz)
-md5sums=('a061edec56d59aa932d53fb1d994fad2')
+md5sums=('dc496ecde0e6a1e959bd8a38643f28fd')
backup=('etc/xdg/user-dirs.conf' 'etc/xdg/user-dirs.defaults')
build() {
cd $srcdir/$pkgname-$pkgver
diff --git a/community/zziplib/PKGBUILD b/community/zziplib/PKGBUILD
index 79fe20815..caaad5bf2 100644
--- a/community/zziplib/PKGBUILD
+++ b/community/zziplib/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 44844 2011-04-12 03:54:14Z ebelanger $
+# $Id: PKGBUILD 46490 2011-05-07 21:04:10Z ebelanger $
# Maintainer:
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
@@ -13,13 +13,14 @@ license=('LGPL' 'MPL')
depends=('zlib')
makedepends=('python2')
options=('!libtool')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('54a6aa53262483a4d54f7c59f0a7258b')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 zziplib-0.13.60-ldflags.patch)
+md5sums=('54a6aa53262483a4d54f7c59f0a7258b'
+ 'e585052f884525a338ca341b5d2957dc')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
-
export PYTHON=/usr/bin/python2
+ patch -p1 -i ../zziplib-0.13.60-ldflags.patch
./configure --prefix=/usr
make
}
diff --git a/community/zziplib/zziplib-0.13.60-ldflags.patch b/community/zziplib/zziplib-0.13.60-ldflags.patch
new file mode 100644
index 000000000..3c95ff465
--- /dev/null
+++ b/community/zziplib/zziplib-0.13.60-ldflags.patch
@@ -0,0 +1,14 @@
+https://sourceforge.net/tracker/?func=detail&aid=3175466&group_id=6389&atid=306389
+https://bugs.gentoo.org/354051
+
+--- a/configure
++++ b/configure
+@@ -292,7 +292,7 @@
+ # ---------------------------------------------------------------
+ AC_MSG_CHECKING([link options])
+ ZZIPLIB_LDFLAGS=""
+-test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="--export-dynamic"
++test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="-export-dynamic"
+ RESOLVES=" # "
+ case "$host_os" in mingw*)
+ ZZIPLIB_LDFLAGS="-no-undefined -export-all-symbols -mconsole"
diff --git a/extra/akonadi/PKGBUILD b/extra/akonadi/PKGBUILD
index eff8df43e..7b5d011c9 100644
--- a/extra/akonadi/PKGBUILD
+++ b/extra/akonadi/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 118244 2011-04-06 08:21:21Z andrea $
+# $Id: PKGBUILD 122924 2011-05-07 10:20:40Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=akonadi
-pkgver=1.5.2
+pkgver=1.5.3
pkgrel=1
pkgdesc="PIM layer, which provides an asynchronous API to access all kind of PIM data"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,10 +13,10 @@ depends=('shared-mime-info' 'boost-libs' 'mysql' 'soprano')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost')
install="${pkgname}.install"
source=("http://download.akonadi-project.org/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('1c69a74474389e35709171a329c77bed')
+md5sums=('ad342acca61c2af27be4cce61b2d925a')
build() {
- cd ${srcdir}
+ cd "${srcdir}"
mkdir build
cd build
cmake ../${pkgname}-${pkgver} \
@@ -27,6 +27,6 @@ build() {
}
package() {
- cd ${srcdir}/build
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/extra/dconf/PKGBUILD b/extra/dconf/PKGBUILD
index f9bd14a1b..14aec63dd 100644
--- a/extra/dconf/PKGBUILD
+++ b/extra/dconf/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 118171 2011-04-05 17:33:39Z ibiru $
+# $Id: PKGBUILD 123046 2011-05-07 19:01:26Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=dconf
-pkgver=0.7.3
-pkgrel=2
+pkgver=0.7.4
+pkgrel=1
pkgdesc="A low-level configuration system."
arch=(i686 x86_64 'mips64el')
url="http://live.gnome.org/dconf"
@@ -11,16 +11,13 @@ depends=('glib2')
makedepends=('vala' 'gobject-introspection' 'gtk3')
optdepends=('gtk3: for dconf-editor')
install=dconf.install
-source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2
- load-enum.patch)
-sha256sums=('84efc95cb62b6637b2131e110ff447908be739c2185d69bebb300293b561dfd9'
- '8ead56b2897b18c97b9b72b81bd6e9f9249e28743b05a2653bbf4e6af7d9f7cc')
+source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('299d79daf0b214c692e7d5788d7bda76d778c1748ea37c33256c4fa6143b22cd')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/load-enum.patch"
- ./configure --prefix=/usr \
+ ./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/dconf
make
}
diff --git a/extra/dconf/load-enum.patch b/extra/dconf/load-enum.patch
deleted file mode 100644
index 949de1e00..000000000
--- a/extra/dconf/load-enum.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0d00a6ad3385e08eff0c50efe970af8d5d63c536 Mon Sep 17 00:00:00 2001
-From: Robert Ancell <robert.ancell@canonical.com>
-Date: Tue, 29 Mar 2011 05:50:12 +0000
-Subject: editor: Load *.enums.xml as well as *.gschema.xml. This was stopping some enums from being loaded.
-
-Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=636880
----
-diff --git a/editor/dconf-schema.vala b/editor/dconf-schema.vala
-index 2b34e28..c2654b5 100644
---- a/editor/dconf-schema.vala
-+++ b/editor/dconf-schema.vala
-@@ -371,7 +371,7 @@ public class SchemaList
- while ((info = i.next_file (null)) != null) {
- string name = info.get_name();
-
-- if (!name.has_suffix(".gschema.xml"))
-+ if (!name.has_suffix(".gschema.xml") && !name.has_suffix(".enums.xml"))
- continue;
-
- string path = Path.build_filename(dir, name, null);
---
-cgit v0.9
diff --git a/extra/fyre/ChangeLog b/extra/fyre/ChangeLog
deleted file mode 100644
index edb09672c..000000000
--- a/extra/fyre/ChangeLog
+++ /dev/null
@@ -1,7 +0,0 @@
-2008-11-03 Eric Belanger <eric@archlinux.org>
-
- * fyre 1.0.1-3
- * Fixed mime file conflict
- * Fixed install scriptlet
- * Added shared-mime-info depends
- * Added ChangeLog
diff --git a/extra/glsof/ChangeLog b/extra/glsof/ChangeLog
deleted file mode 100644
index e941c8b45..000000000
--- a/extra/glsof/ChangeLog
+++ /dev/null
@@ -1,6 +0,0 @@
-2009-03-14 Eric Belanger <eric@archlinux.org>
-
- * glsof 0.9.16-5
- * Added license
- * Added .desktop file
- * Added ChangeLog
diff --git a/extra/glsof/PKGBUILD b/extra/glsof/PKGBUILD
index ac9eacdd4..cc82175f7 100644
--- a/extra/glsof/PKGBUILD
+++ b/extra/glsof/PKGBUILD
@@ -1,25 +1,38 @@
-# $Id: PKGBUILD 30064 2009-03-16 01:17:32Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
-# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+# $Id: PKGBUILD 123056 2011-05-07 20:58:12Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=glsof
-pkgver=0.9.16
-pkgrel=5
-pkgdesc="A gtk-GUI for lsof (aka GTK-lsof)"
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Two separate GUI utilities (Queries and Filemonitor) to the lsof command line utility"
arch=('i686' 'x86_64' 'mips64el')
url="http://glsof.sourceforge.net/"
-license=('GPL')
-depends=('libxml2' 'gtk2' 'lsof')
-source=(http://download.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz glsof.desktop)
-md5sums=('5ad5f2a6908be713753d9826c38e3e2c' '1a6ab5bf5ef44ae31b8b7461b76f62db')
-sha1sums=('80f4596ad09c5ddb463bad299a76ce275c0ecd4d' '647be33bea11fec6ba0bfd59c02034dc64925e52')
+license=('GPL3')
+depends=('java-runtime' 'lsof')
+if [ "$CARCH" = "i686" ]; then
+ source=(http://downloads.sourceforge.net/sourceforge/glsof/filemonitor-${pkgver}/filemonitor_linux32.tar.gz \
+ http://downloads.sourceforge.net/sourceforge/glsof/queries-${pkgver}/queries_linux32.tar.gz \
+ glsof-filemonitor glsof-queries)
+ md5sums=('7a541ee8c432b78f9bfd36dd1707fb8d'
+ '895bcec79edea97ebde36d7f5eaa3ee9'
+ '7e43c1120e15e65bd1a12d6f188be4a0'
+ '980da4b39e1e3f4fbed08018dfd3be7b')
+elif [ "$CARCH" = "x86_64" ]; then
+ source=(http://downloads.sourceforge.net/sourceforge/glsof/filemonitor-${pkgver}/filemonitor_linux64.tar.gz \
+ http://downloads.sourceforge.net/sourceforge/glsof/queries-${pkgver}/queries_linux64.tar.gz \
+ glsof-filemonitor glsof-queries)
+ md5sums=('9a6043b0b90fbc6de4db36967647dab0'
+ 'ed96ee2105428aa8b038f5fe13b8cd1d'
+ '7e43c1120e15e65bd1a12d6f188be4a0'
+ '980da4b39e1e3f4fbed08018dfd3be7b')
+fi
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
- install -D -m644 ../glsof.desktop ${pkgdir}/usr/share/applications/glsof.desktop || return 1
- install -d ${pkgdir}/usr/share/pixmaps
- ln -s /usr/share/glsof/pixmaps/logo.png ${pkgdir}/usr/share/pixmaps/glsof.png
+package() {
+ cd "${srcdir}"
+ install -D -m755 glsof-filemonitor "${pkgdir}/usr/bin/glsof-filemonitor"
+ install -D -m755 glsof-queries "${pkgdir}/usr/bin/glsof-queries"
+ install -D -m644 filemonitor_linux??/filemonitor.jar "${pkgdir}/usr/share/java/glsof/filemonitor.jar"
+ install -D -m644 filemonitor_linux??/filemonitor.pdf "${pkgdir}/usr/share/doc/glsof/filemonitor.pdf"
+ install -D -m644 queries_linux??/queries.jar "${pkgdir}/usr/share/java/glsof/queries.jar"
+ install -D -m644 queries_linux??/queries.pdf "${pkgdir}/usr/share/doc/glsof/queries.pdf"
}
diff --git a/extra/glsof/glsof-filemonitor b/extra/glsof/glsof-filemonitor
new file mode 100644
index 000000000..616e23ac7
--- /dev/null
+++ b/extra/glsof/glsof-filemonitor
@@ -0,0 +1,2 @@
+#!/bin/sh
+java -jar /usr/share/java/glsof/filemonitor.jar
diff --git a/extra/glsof/glsof-queries b/extra/glsof/glsof-queries
new file mode 100644
index 000000000..1e9c4fc9d
--- /dev/null
+++ b/extra/glsof/glsof-queries
@@ -0,0 +1,2 @@
+#!/bin/sh
+java -jar /usr/share/java/glsof/queries.jar
diff --git a/extra/glsof/glsof.desktop b/extra/glsof/glsof.desktop
deleted file mode 100644
index fb13ffd6d..000000000
--- a/extra/glsof/glsof.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Name=glsof
-Comment=A GUI for lsof
-Comment[pl]=GUI do lsof
-Exec=glsof
-Icon=glsof.png
-StartupNotify=false
-Terminal=false
-Type=Application
-Categories=GTK;System;Monitor;
-Encoding=UTF-8
-# vi: encoding=utf-8
diff --git a/extra/gnet/ChangeLog b/extra/gnet/ChangeLog
deleted file mode 100644
index b8975af31..000000000
--- a/extra/gnet/ChangeLog
+++ /dev/null
@@ -1,5 +0,0 @@
-2008-05-04 Eric Belanger <eric@archlinux.org>
-
- * gnet 2.0.8-1
- * Upstream update
- * Added ChangeLog
diff --git a/extra/gnome-applets/PKGBUILD b/extra/gnome-applets/PKGBUILD
index fe9bc25e6..d7f6db5a1 100644
--- a/extra/gnome-applets/PKGBUILD
+++ b/extra/gnome-applets/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 113478 2011-03-08 21:10:38Z ibiru $
+# $Id: PKGBUILD 123041 2011-05-07 17:45:38Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-applets
-pkgver=2.91.4
-pkgrel=2
+pkgver=3.1.1
+pkgrel=1
pkgdesc="GNOME Applets"
arch=(i686 x86_64 'mips64el')
license=('GPL')
@@ -13,9 +13,8 @@ options=(!emptydirs)
url="http://www.gnome.org"
groups=(gnome)
install=gnome-applets.install
-#source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.91/${pkgname}-${pkgver}.tar.bz2)
-source=(${pkgname}-${pkgver}.tar.xz)
-sha256sums=('950ab962c39fca9375a9df0827ccb8f2178f7e84950c8fdbea5e3d2f9889a49c')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}-20110506.tar.xz)
+sha256sums=('eb19a412e804975d614255520f4c7c6477d927e8d5cb6abe217008ab62ab857b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD
index 357733d16..146b627a4 100644
--- a/extra/gnutls/PKGBUILD
+++ b/extra/gnutls/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 120489 2011-04-24 13:19:44Z andyrtr $
+# $Id: PKGBUILD 123031 2011-05-07 16:07:34Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnutls
-pkgver=2.12.3
+pkgver=2.12.4
pkgrel=1
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,7 +12,7 @@ install=gnutls.install
options=('!libtool' '!zipman')
depends=('gcc-libs>=4.4.3' 'libtasn1>=2.5' 'readline>=6.0' 'zlib' 'libgcrypt>=1.4.5')
source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('04b72b022b42b10df12cbbae051e2d55')
+md5sums=('3e17fc8cb1cf8272067f6b66baf02810')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -20,7 +20,7 @@ build() {
# we stay with libgcrypt for now. nettle would need to be moved from AUR to extra.
./configure --prefix=/usr \
--with-zlib \
- --with-libgcrypt \
+ --with-libgcrypt \
--disable-static \
--disable-guile
make
diff --git a/extra/kdebase-workspace/sensors-fix.patch b/extra/kdebase-workspace/sensors-fix.patch
deleted file mode 100644
index 2d9b70c52..000000000
--- a/extra/kdebase-workspace/sensors-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 23863a99399cbb274f6756146b3c08de2efa0c7f
-Author: John Tapsell <johnflux@gmail.com>
-Date: Thu Apr 7 10:59:20 2011 +0100
-
- Fix accidental removal of a #include, when adding freebsd support. This broke the lmsensors at minimum
-
- BUG: 270246
- BUG: 270246
- CCMAIL: naylor.b.david@gmail.com
-
-diff --git a/ksysguard/ksysguardd/modules.h b/ksysguard/ksysguardd/modules.h
-index e780be6..9aae890 100644
---- a/ksysguard/ksysguardd/modules.h
-+++ b/ksysguard/ksysguardd/modules.h
-@@ -23,6 +23,7 @@
- #ifndef KSG_MODULES_H
- #define KSG_MODULES_H
-
-+#include "config-ksysguardd.h"
- #include "Command.h"
- #include "conf.h"
- #include "ksysguardd.h"
diff --git a/extra/kdebase-workspace/shutdown-fix.patch b/extra/kdebase-workspace/shutdown-fix.patch
deleted file mode 100644
index b01ab7fba..000000000
--- a/extra/kdebase-workspace/shutdown-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kdebase-workspace-4.6.2/kdm/config.def~ 2011-04-08 00:29:48.291941154 -0700
-+++ kdebase-workspace-4.6.2/kdm/config.def 2011-04-08 00:32:04.738607619 -0700
-@@ -38,7 +38,7 @@
- # define HALT_CMD "/usr/sbin/shutdown -h now"
- # define REBOOT_CMD "/usr/sbin/shutdown -r now"
- #elif defined(BSD) || defined(__linux__)
--# define HALT_CMD "/sbin/shutdown -p now"
-+# define HALT_CMD "/sbin/shutdown -h now"
- # define REBOOT_CMD "/sbin/shutdown -r now"
- #elif defined(__SVR4)
- # define HALT_CMD "/usr/sbin/halt"
diff --git a/extra/kdemultimedia/kmix-locale-pulseaudio.patch b/extra/kdemultimedia/kmix-locale-pulseaudio.patch
deleted file mode 100644
index 88be8dbde..000000000
--- a/extra/kdemultimedia/kmix-locale-pulseaudio.patch
+++ /dev/null
@@ -1,1117 +0,0 @@
-Index: kmix/apps/kmix.cpp
-===================================================================
---- kmix/apps/kmix.cpp (revision 1226955)
-+++ kmix/apps/kmix.cpp (revision 1226956)
-@@ -78,8 +78,6 @@
- m_dockWidget(),
- m_dontSetDefaultCardOnStart (false)
- {
-- _cornerLabelNew = 0;
--
- setObjectName( QLatin1String("KMixWindow" ));
- // disable delete-on-close because KMix might just sit in the background waiting for cards to be plugged in
- setAttribute(Qt::WA_DeleteOnClose, false);
-@@ -184,16 +182,29 @@
-
- void KMixWindow::initActionsAfterInitMixer()
- {
-+ bool isPulseAudio = false;
- // Add "launch_pavucontrol" to menu, if Pulseaudio backend is in use
- foreach( Mixer* mixer, Mixer::mixers() )
- {
-- if ( mixer->getDriverName() == "PulseAudio") {
-+ if ( mixer->getDriverName() == "PulseAudio")
-+ {
-+ isPulseAudio = true;
- KAction* action = actionCollection()->addAction( "launch_pavucontrol" );
- action->setText( i18n( "Audio setup (&Pulseaudio)" ) );
- connect(action, SIGNAL(triggered(bool) ), SLOT( slotPavucontrolExec() ));
- break;
- }
- }
-+
-+ if (! isPulseAudio )
-+ {
-+ QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall );
-+ QPushButton* _cornerLabelNew = new QPushButton();
-+ _cornerLabelNew->setIcon(cornerNewPM);
-+ //cornerLabelNew->setSizePolicy(QSizePolicy());
-+ m_wsMixers->setCornerWidget(_cornerLabelNew, Qt::TopLeftCorner);
-+ connect ( _cornerLabelNew, SIGNAL( clicked() ), SLOT (newView() ) );
-+ }
- }
-
- void KMixWindow::initPrefDlg()
-@@ -210,15 +221,10 @@
- m_wsMixers = new KTabWidget();
- m_wsMixers->setDocumentMode(true);
- setCentralWidget(m_wsMixers);
-- m_wsMixers->setTabsClosable(true);
-+ m_wsMixers->setTabsClosable(false);
- connect (m_wsMixers, SIGNAL(tabCloseRequested(int)), SLOT(saveAndCloseView(int)) );
-
- QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall );
-- _cornerLabelNew = new QPushButton();
-- _cornerLabelNew->setIcon(cornerNewPM);
-- //cornerLabelNew->setSizePolicy(QSizePolicy());
-- m_wsMixers->setCornerWidget(_cornerLabelNew, Qt::TopLeftCorner);
-- connect ( _cornerLabelNew, SIGNAL( clicked() ), SLOT (newView() ) );
-
- connect( m_wsMixers, SIGNAL( currentChanged ( int ) ), SLOT( newMixerShown(int)) );
-
-@@ -516,6 +522,7 @@
- addMixerWidget(mixer->id(), guiprof, -1);
- }
- else {
-+ // did exist => remove and insert new guiprof at old position
- int indexOfTab = m_wsMixers->indexOf(kmw);
- if ( indexOfTab != -1 ) m_wsMixers->removeTab(indexOfTab);
- delete kmw;
-@@ -676,9 +683,9 @@
- m_wsMixers->removeTab(idx);
- delete kmw;
-
-- if ( m_wsMixers->count() < 2 ) {
-- m_wsMixers->setTabsClosable(false);
-- }
-+ bool isPulseAudio = kmw->mixer()->getDriverName() == "PulseAudio";
-+ m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
-+
- saveViewConfig();
- }
- kDebug() << "Exit";
-@@ -874,9 +881,9 @@
- if ( kmw->getGuiprof()->getId() == m_defaultCardOnStart ) {
- m_wsMixers->setCurrentWidget(kmw);
- }
-- if ( m_wsMixers->count() > 1 ) {
-- m_wsMixers->setTabsClosable(true);
-- }
-+
-+ bool isPulseAudio = mixer->getDriverName() == "PulseAudio";
-+ m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
- m_dontSetDefaultCardOnStart = false;
-
-
-Index: kmix/apps/kmix.h
-===================================================================
---- kmix/apps/kmix.h (revision 1226955)
-+++ kmix/apps/kmix.h (revision 1226956)
-@@ -116,7 +116,6 @@
- Qt::Orientation m_toplevelOrientation;
-
- KTabWidget *m_wsMixers;
-- QPushButton* _cornerLabelNew;
-
- KMixPrefDlg *m_prefDlg;
- KMixDockWidget *m_dockWidget;
-Index: kmix/gui/viewbase.cpp
-===================================================================
---- kmix/gui/viewbase.cpp (revision 1226956)
-+++ kmix/gui/viewbase.cpp (revision 1226957)
-@@ -226,34 +226,35 @@
-
- // Check the guiprofile... if it is not the fallback GUIProfile, then
- // make sure that we add a specific entry for any devices not present.
-- if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) {
-+ if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) // TODO colin/cesken IMO calling GUIProfile::fallbackProfile(_mixer) is wrong, as it ALWAYS creates a new Object. fallbackProfile() would need to cache the created fallback profiles so this should make any sense.
-+ {
- kDebug(67100) << "Dynamic mixer " << _mixer->id() << " is NOT using Fallback GUIProfile. Checking to see if new controls are present";
-
- QList<QString> new_mix_devices;
- MixSet ms = _mixer->getMixSet();
- for (int i=0; i < ms.count(); ++i)
-+ {
- new_mix_devices.append("^" + ms[i]->id() + "$");
-+ kDebug(67100) << "new_mix_devices.append => " << ms[i]->id();
-+ }
-
-+ GUIProfile::ControlSet& ctlSet = _guiprof->getControls();
-+
- // std::vector<ProfControl*>::const_iterator itEnd = _guiprof->_controls.end();
- // for ( std::vector<ProfControl*>::const_iterator it = _guiprof->_controls.begin(); it != itEnd; ++it)
- // new_mix_devices.removeAll((*it)->id);
- // TODO Please check this change, Colin
-- foreach ( ProfControl* pctl, _guiprof->getControls() ) {
-+ foreach ( ProfControl* pctl, ctlSet ) {
- new_mix_devices.removeAll(pctl->id);
- }
-
-
- if ( new_mix_devices.count() > 0 ) {
- kDebug(67100) << "Found " << new_mix_devices.count() << " new controls. Adding to GUIProfile";
-+ QString sctlMatchAll("*");
- while ( new_mix_devices.count() > 0 ) {
-- QString sctlMatchAll("*");
- QString new_mix_devices0 = new_mix_devices.takeAt(0);
-- ProfControl* ctl = new ProfControl(new_mix_devices0, sctlMatchAll);
--// ctl->id = new_mix_devices.takeAt(0);
--// ctl->setSubcontrols(QString("*"));
--// ctl->tab = (_guiprof->tabs())[0]->name(); // Use the first tab... not ideal but should work most of the time;
--// ctl->show = "simple";
-- _guiprof->getControls().push_back(ctl);
-+ ctlSet.push_back(new ProfControl(new_mix_devices0, sctlMatchAll));
- }
- _guiprof->setDirty();
- }
-Index: kmix/gui/viewbase.cpp
-===================================================================
---- kmix/gui/viewbase.cpp (revision 1226957)
-+++ kmix/gui/viewbase.cpp (revision 1226958)
-@@ -33,6 +33,7 @@
- #include <kactioncollection.h>
- #include <ktoggleaction.h>
- #include <kstandardaction.h>
-+#include <kmessagebox.h>
- // KMix
- #include "dialogviewconfiguration.h"
- #include "gui/guiprofile.h"
-@@ -43,7 +44,7 @@
-
-
- ViewBase::ViewBase(QWidget* parent, const char* id, Mixer* mixer, Qt::WFlags f, ViewBase::ViewFlags vflags, GUIProfile *guiprof, KActionCollection *actionColletion)
-- : QWidget(parent, f), _actions(actionColletion), _vflags(vflags), _guiprof(guiprof)
-+ : QWidget(parent, f), _popMenu(NULL), _actions(actionColletion), _vflags(vflags), _guiprof(guiprof)
- {
- setObjectName(id);
- m_viewId = id;
-@@ -73,9 +74,11 @@
- }
- }
- }
-- QAction *action = _localActionColletion->addAction("toggle_channels");
-- action->setText(i18n("&Channels"));
-- connect(action, SIGNAL(triggered(bool) ), SLOT(configureView()));
-+ if ( !_mixer->isDynamic() ) {
-+ QAction *action = _localActionColletion->addAction("toggle_channels");
-+ action->setText(i18n("&Channels"));
-+ connect(action, SIGNAL(triggered(bool) ), SLOT(configureView()));
-+ }
- connect ( _mixer, SIGNAL(controlChanged()), this, SLOT(refreshVolumeLevels()) );
- connect ( _mixer, SIGNAL(controlsReconfigured(const QString&)), this, SLOT(controlsReconfigured(const QString&)) );
- }
-@@ -95,7 +98,7 @@
-
- bool ViewBase::isValid() const
- {
-- return ( _mixSet->count() > 0 || _mixer->dynamic() );
-+ return ( _mixSet->count() > 0 || _mixer->isDynamic() );
- }
-
- void ViewBase::setIcons (bool on) { KMixToolBox::setIcons (_mdws, on ); }
-@@ -170,6 +173,8 @@
- {
- QAction *a;
-
-+ if ( _popMenu )
-+ delete _popMenu;
- _popMenu = new KMenu( this );
- _popMenu->addTitle( KIcon( QLatin1String( "kmix" ) ), i18n("Device Settings" ));
-
-@@ -222,44 +227,8 @@
-
- void ViewBase::setMixSet()
- {
-- if ( _mixer->dynamic()) {
-+ if ( _mixer->isDynamic() ) {
-
-- // Check the guiprofile... if it is not the fallback GUIProfile, then
-- // make sure that we add a specific entry for any devices not present.
-- if ( 0 != _guiprof && GUIProfile::fallbackProfile(_mixer) != _guiprof ) // TODO colin/cesken IMO calling GUIProfile::fallbackProfile(_mixer) is wrong, as it ALWAYS creates a new Object. fallbackProfile() would need to cache the created fallback profiles so this should make any sense.
-- {
-- kDebug(67100) << "Dynamic mixer " << _mixer->id() << " is NOT using Fallback GUIProfile. Checking to see if new controls are present";
--
-- QList<QString> new_mix_devices;
-- MixSet ms = _mixer->getMixSet();
-- for (int i=0; i < ms.count(); ++i)
-- {
-- new_mix_devices.append("^" + ms[i]->id() + "$");
-- kDebug(67100) << "new_mix_devices.append => " << ms[i]->id();
-- }
--
-- GUIProfile::ControlSet& ctlSet = _guiprof->getControls();
--
--// std::vector<ProfControl*>::const_iterator itEnd = _guiprof->_controls.end();
--// for ( std::vector<ProfControl*>::const_iterator it = _guiprof->_controls.begin(); it != itEnd; ++it)
--// new_mix_devices.removeAll((*it)->id);
-- // TODO Please check this change, Colin
-- foreach ( ProfControl* pctl, ctlSet ) {
-- new_mix_devices.removeAll(pctl->id);
-- }
--
--
-- if ( new_mix_devices.count() > 0 ) {
-- kDebug(67100) << "Found " << new_mix_devices.count() << " new controls. Adding to GUIProfile";
-- QString sctlMatchAll("*");
-- while ( new_mix_devices.count() > 0 ) {
-- QString new_mix_devices0 = new_mix_devices.takeAt(0);
-- ctlSet.push_back(new ProfControl(new_mix_devices0, sctlMatchAll));
-- }
-- _guiprof->setDirty();
-- }
-- }
--
- // We need to delete the current MixDeviceWidgets so we can redraw them
- while (!_mdws.isEmpty()) {
- QWidget* mdw = _mdws.last();
-@@ -280,6 +249,8 @@
- */
- void ViewBase::configureView() {
-
-+ Q_ASSERT( !_mixer->isDynamic() );
-+
- DialogViewConfiguration* dvc = new DialogViewConfiguration(0, *this);
- dvc->show();
- // !! The dialog is modal. Does it delete itself?
-@@ -302,6 +273,10 @@
- kDebug(67100) << "KMixToolBox::loadView() grp=" << grp.toAscii();
-
- static char guiComplexity[3][20] = { "simple", "extended", "all" };
-+
-+ // Certain bits are not saved for dynamic mixers (e.g. PulseAudio)
-+ bool dynamic = _mixer->isDynamic();
-+
- for ( int tries = 0; tries < 3; tries++ )
- {
- bool atLeastOneControlIsShown = false;
-@@ -315,12 +290,12 @@
- Workaround: If found, write back correct group name.
- */
- MixDeviceWidget* mdw = (MixDeviceWidget*)qmdw;
-- QString devgrp;
-- devgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), mdw->mixDevice()->mixer()->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() );
-+ MixDevice* md = mdw->mixDevice();
-+
-+ QString devgrp = QString("%1.%2.%3").arg(grp).arg(md->mixer()->id()).arg(md->id());
- KConfigGroup devcg = config->group( devgrp );
-
-- QString buggyDevgrp;
-- buggyDevgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), view->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() );
-+ QString buggyDevgrp = QString("%1.%2.%3").arg(grp).arg(view->id()).arg(md->id());
- KConfigGroup buggyDevgrpCG = config->group( buggyDevgrp );
- if ( buggyDevgrpCG.exists() ) {
- buggyDevgrpCG.copyTo(&devcg);
-@@ -335,7 +310,7 @@
- }
-
- bool mdwEnabled = false;
-- if ( devcg.hasKey("Show") )
-+ if ( !dynamic && devcg.hasKey("Show") )
- {
- mdwEnabled = ( true == devcg.readEntry("Show", true) );
- //kDebug() << "Load devgrp" << devgrp << "show=" << mdwEnabled;
-@@ -382,20 +357,23 @@
- QString grp = "View.";
- grp += view->id();
- // KConfigGroup cg = config->group( grp );
-- kDebug(67100) << "KMixToolBox::saveView() grp=" << grp.toAscii();
-+ kDebug(67100) << "KMixToolBox::saveView() grp=" << grp;
-
-+ // Certain bits are not saved for dynamic mixers (e.g. PulseAudio)
-+ bool dynamic = _mixer->isDynamic();
-+
- for (int i=0; i < view->_mdws.count(); ++i ){
- QWidget *qmdw = view->_mdws[i];
- if ( qmdw->inherits("MixDeviceWidget") )
- {
- MixDeviceWidget* mdw = (MixDeviceWidget*)qmdw;
-+ MixDevice* md = mdw->mixDevice();
-
- //kDebug(67100) << " grp=" << grp.toAscii();
- //kDebug(67100) << " mixer=" << view->id().toAscii();
- //kDebug(67100) << " mdwPK=" << mdw->mixDevice()->id().toAscii();
-
-- QString devgrp;
-- devgrp.sprintf( "%s.%s.%s", grp.toAscii().data(), mdw->mixDevice()->mixer()->id().toAscii().data(), mdw->mixDevice()->id().toAscii().data() );
-+ QString devgrp = QString("%1.%2.%3").arg(grp).arg(md->mixer()->id()).arg(md->id());
- KConfigGroup devcg = config->group( devgrp );
-
- if ( mdw->inherits("MDWSlider") )
-@@ -403,15 +381,19 @@
- // only sliders have the ability to split apart in mutliple channels
- devcg.writeEntry( "Split", ! mdw->isStereoLinked() );
- }
-- devcg.writeEntry( "Show" , mdw->isVisibleTo(view) );
--kDebug() << "Save devgrp" << devgrp << "show=" << mdw->isVisibleTo(view);
-+ if ( !dynamic ) {
-+ devcg.writeEntry( "Show" , mdw->isVisibleTo(view) );
-+ kDebug() << "Save devgrp" << devgrp << "show=" << mdw->isVisibleTo(view);
-+ }
-
- } // inherits MixDeviceWidget
- } // for all MDW's
-
-- kDebug(67100) << "GUIProfile is dirty: " << guiProfile()->isDirty();
-- if ( guiProfile()->isDirty() ) {
-- guiProfile()->writeProfile();
-+ if ( !dynamic ) {
-+ // We do not save GUIProfiles (as they cannot be customised) for dynamic mixers (e.g. PulseAudio)
-+ kDebug(67100) << "GUIProfile is dirty: " << guiProfile()->isDirty();
-+ if ( guiProfile()->isDirty() )
-+ guiProfile()->writeProfile();
- }
- }
-
-Index: kmix/gui/mdwslider.cpp
-===================================================================
---- kmix/gui/mdwslider.cpp (revision 1226957)
-+++ kmix/gui/mdwslider.cpp (revision 1226958)
-@@ -86,10 +86,14 @@
- KToggleAction *taction = _mdwActions->add<KToggleAction>( "stereo" );
- taction->setText( i18n("&Split Channels") );
- connect( taction, SIGNAL( triggered(bool) ), SLOT( toggleStereoLinked() ) );
-- KAction *action = _mdwActions->add<KToggleAction>( "hide" );
-- action->setText( i18n("&Hide") );
-- connect( action, SIGNAL( triggered(bool) ), SLOT( setDisabled() ) );
-
-+ KAction *action;
-+ if ( ! m_mixdevice->mixer()->isDynamic() ) {
-+ action = _mdwActions->add<KToggleAction>( "hide" );
-+ action->setText( i18n("&Hide") );
-+ connect( action, SIGNAL( triggered(bool) ), SLOT( setDisabled() ) );
-+ }
-+
- if( m_mixdevice->playbackVolume().hasSwitch() ) {
- taction = _mdwActions->add<KToggleAction>( "mute" );
- taction->setText( i18n("&Muted") );
-@@ -129,8 +133,8 @@
- #ifdef __GNUC__
- #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed
- #endif
-- if ( ! mixDevice()->isEthereal() ) {
-- // virtual / ethereal controls won't get shortcuts
-+ if ( ! mixDevice()->mixer()->isDynamic() ) {
-+ // virtual / dynamic controls won't get shortcuts
- b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround
- // b->enableGlobalShortcut();
- connect( b, SIGNAL( triggered(bool) ), SLOT( increaseVolume() ) );
-@@ -143,8 +147,8 @@
- #ifdef __GNUC__
- #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed
- #endif
-- if ( ! mixDevice()->isEthereal() ) {
-- // virtual / ethereal controls won't get shortcuts
-+ if ( ! mixDevice()->mixer()->isDynamic() ) {
-+ // virtual / dynamic controls won't get shortcuts
- b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround
- // b->enableGlobalShortcut();
- connect( b, SIGNAL( triggered(bool) ), SLOT( decreaseVolume() ) );
-@@ -157,8 +161,8 @@
- #ifdef __GNUC__
- #warning GLOBAL SHORTCUTS ARE NOW ASSIGNED TO ALL CONTROLS, as enableGlobalShortcut(), has not been committed
- #endif
-- if ( ! mixDevice()->isEthereal() ) {
-- // virtual / ethereal controls won't get shortcuts
-+ if ( ! mixDevice()->mixer()->isDynamic() ) {
-+ // virtual / dynamic controls won't get shortcuts
- b->setGlobalShortcut(dummyShortcut); // -<- enableGlobalShortcut() is not there => use workaround
- // b->enableGlobalShortcut();
- connect( b, SIGNAL( triggered(bool) ), SLOT( toggleMuted() ) );
-Index: kmix/gui/viewdockareapopup.h
-===================================================================
---- kmix/gui/viewdockareapopup.h (revision 1226957)
-+++ kmix/gui/viewdockareapopup.h (revision 1226958)
-@@ -24,7 +24,6 @@
- #include "viewbase.h"
-
- class QGridLayout;
--class QPushButton;
- class QWidget;
-
- class Mixer;
-@@ -48,8 +47,6 @@
-
- protected:
- KMixWindow *_dock;
-- //MixDevice *_dockDevice;
-- QPushButton *_showPanelBox;
-
- void wheelEvent ( QWheelEvent * e );
- virtual void _setMixSet();
-Index: kmix/gui/viewsliders.cpp
-===================================================================
---- kmix/gui/viewsliders.cpp (revision 1226957)
-+++ kmix/gui/viewsliders.cpp (revision 1226958)
-@@ -148,7 +148,7 @@
- {
- const MixSet& mixset = _mixer->getMixSet();
-
-- if ( _mixer->dynamic() ) {
-+ if ( _mixer->isDynamic() ) {
- // We will be recreating our sliders, so make sure we trash all the separators too.
- qDeleteAll(_separators);
- _separators.clear();
-Index: kmix/gui/guiprofile.cpp
-===================================================================
---- kmix/gui/guiprofile.cpp (revision 1226957)
-+++ kmix/gui/guiprofile.cpp (revision 1226958)
-@@ -158,8 +158,12 @@
- {
- GUIProfile* guiprof = 0;
-
-- if ( mixer == 0 || profileName.isEmpty() ) {
-+ if ( mixer == 0 || profileName.isEmpty() )
- return 0;
-+
-+ if ( mixer->isDynamic() ) {
-+ kDebug(67100) << "GUIProfile::find() Not loading GUIProfile for Dynamic Mixer (e.g. PulseAudio)";
-+ return 0;
- }
-
- QString requestedProfileName;
-Index: kmix/gui/viewbase.h
-===================================================================
---- kmix/gui/viewbase.h (revision 1226957)
-+++ kmix/gui/viewbase.h (revision 1226958)
-@@ -133,7 +133,7 @@
-
- ViewFlags _vflags;
- GUIProfile* _guiprof;
-- KActionCollection *_localActionColletion;
-+ KActionCollection *_localActionColletion;
-
- virtual void _setMixSet() = 0;
-
-Index: kmix/gui/viewdockareapopup.cpp
-===================================================================
---- kmix/gui/viewdockareapopup.cpp (revision 1226957)
-+++ kmix/gui/viewdockareapopup.cpp (revision 1226958)
-@@ -88,8 +88,8 @@
- {
- // kDebug(67100) << "ViewDockAreaPopup::setMixSet()\n";
-
-- if ( _mixer->dynamic() ) {
-- // Our _layoutMDW now should only contain spacer widgets from the QSpacerItems's in add() below.
-+ if ( _mixer->isDynamic() ) {
-+ // Our _layoutMDW now should only contain spacer widgets from the QSpacerItem's in add() below.
- // We need to trash those too otherwise all sliders gradually migrate away from the edge :p
- QLayoutItem *li;
- while ( ( li = _layoutMDW->takeAt(0) ) )
-@@ -114,9 +114,9 @@
- QString matchAllPlaybackAndTheCswitch("pvolume,pswitch,cswitch");
- ProfControl *pctl = new ProfControl( dummyMatchAll, matchAllPlaybackAndTheCswitch);
- MixDeviceWidget *mdw = new MDWSlider(
-- md, // only 1 device. This is actually _dockDevice
-+ md, // only 1 device.
- true, // Show Mute LED
-- false, // Show Record LED
-+ false, // Show Record LED
- false, // Small
- Qt::Vertical, // Direction: only 1 device, so doesn't matter
- this, // parent
-@@ -128,10 +128,10 @@
- _layoutMDW->addWidget( mdw, 0, 1 );
-
- // Add button to show main panel
-- _showPanelBox = new QPushButton( i18n("Mixer"), this );
-- _showPanelBox->setObjectName( QLatin1String("MixerPanel" ));
-- connect ( _showPanelBox, SIGNAL( clicked() ), SLOT( showPanelSlot() ) );
-- _layoutMDW->addWidget( _showPanelBox, 1, 0, 1, 3 );
-+ QPushButton *pb = new QPushButton( i18n("Mixer"), this );
-+ pb->setObjectName( QLatin1String("MixerPanel" ));
-+ connect ( pb, SIGNAL( clicked() ), SLOT( showPanelSlot() ) );
-+ _layoutMDW->addWidget( pb, 1, 0, 1, 3 );
-
- return mdw;
- }
-Index: kmix/core/mixdevice.h
-===================================================================
---- kmix/core/mixdevice.h (revision 1226957)
-+++ kmix/core/mixdevice.h (revision 1226958)
-@@ -157,15 +157,6 @@
- _artificial = artificial;
- }
-
-- bool isEthereal() const
-- {
-- return _ethereal;
-- }
-- void setEthereal(bool _ethereal)
-- {
-- this->_ethereal = _ethereal;
-- }
--
- void setControlProfile(ProfControl* control);
- ProfControl* controlProfile();
-
-@@ -191,14 +182,12 @@
- int _enumCurrentId;
- QList<QString> _enumValues; // A MixDevice, that is an ENUM, has these _enumValues
-
-- //bool _doNotRestore;
- // A virtual control. It will not be saved/restored and/or doesn't get shortcuts
-- // Actually we discriminate those "virtual" controls in artificial controls and ethereal controls:
-+ // Actually we discriminate those "virtual" controls in artificial controls and dynamic controls:
- // Type Shortcut Restore
- // Artificial: yes no Virtual::GlobalMaster or Virtual::CaptureGroup_3 (controls that are constructed artificially from other controls)
-- // Ethereal : no no Controls that come and go, like Pulse Stream controls
-+ // Dynamic : no no Controls that come and go, like Pulse Stream controls
- bool _artificial;
-- bool _ethereal;
- MixSet *_moveDestinationMixSet;
- QString _iconName;
-
-Index: kmix/core/mixer.cpp
-===================================================================
---- kmix/core/mixer.cpp (revision 1226957)
-+++ kmix/core/mixer.cpp (revision 1226958)
-@@ -748,7 +748,7 @@
- m_dynamic = dynamic;
- }
-
--bool Mixer::dynamic()
-+bool Mixer::isDynamic()
- {
- return m_dynamic;
- }
-Index: kmix/core/mixer.h
-===================================================================
---- kmix/core/mixer.h (revision 1226957)
-+++ kmix/core/mixer.h (revision 1226958)
-@@ -164,7 +164,7 @@
-
- /// Says if we are dynamic (e.g. widgets can come and go)
- virtual void setDynamic( bool dynamic = true );
-- virtual bool dynamic();
-+ virtual bool isDynamic();
-
- virtual bool moveStream( const QString id, const QString& destId );
-
-Index: kmix/core/mixdevice.cpp
-===================================================================
---- kmix/core/mixdevice.cpp (revision 1226957)
-+++ kmix/core/mixdevice.cpp (revision 1226958)
-@@ -23,6 +23,7 @@
- #include <klocale.h>
-
- #include "core/mixdevice.h"
-+#include "core/mixer.h"
- #include "gui/guiprofile.h"
- #include "core/volume.h"
-
-@@ -96,14 +97,12 @@
-
- MixDevice::MixDevice( Mixer* mixer, const QString& id, const QString& name, const QString& iconName, MixSet* moveDestinationMixSet )
- {
-- // doNotRestore is superseded by the more generic concepts isEthereal(), isArtificial()
- init(mixer, id, name, iconName, moveDestinationMixSet);
- }
-
- void MixDevice::init( Mixer* mixer, const QString& id, const QString& name, const QString& iconName, MixSet* moveDestinationMixSet )
- {
- _artificial = false;
-- _ethereal = false;
- _mixer = mixer;
- _id = id;
- if( name.isEmpty() )
-@@ -117,9 +116,10 @@
- _moveDestinationMixSet = moveDestinationMixSet;
- if ( _id.contains(' ') ) {
- // The key is used in the config file. It MUST NOT contain spaces
-- kError(67100) << "MixDevice::setId(\"" << id << "\") . Invalid key - it might not contain spaces" << endl;
-+ kError(67100) << "MixDevice::setId(\"" << id << "\") . Invalid key - it must not contain spaces" << endl;
- _id.replace(' ', '_');
- }
-+ kDebug(67100) << "MixDevice::init() _id=" << _id;
- }
-
- void MixDevice::addPlaybackVolume(Volume &playbackVol)
-@@ -216,11 +216,10 @@
- */
- void MixDevice::read( KConfig *config, const QString& grp )
- {
-- if ( isEthereal() || isArtificial() ) {
-+ if ( _mixer->isDynamic() || isArtificial() ) {
- kDebug(67100) << "MixDevice::read(): This MixDevice does not permit volume restoration (i.e. because it is handled lower down in the audio stack). Ignoring.";
- } else {
-- QString devgrp;
-- devgrp.sprintf( "%s.Dev%s", grp.toAscii().data(), _id.toAscii().data() );
-+ QString devgrp = QString("%1.Dev%2").arg(grp).arg(_id);
- KConfigGroup cg = config->group( devgrp );
- //kDebug(67100) << "MixDevice::read() of group devgrp=" << devgrp;
-
-@@ -264,11 +263,10 @@
- */
- void MixDevice::write( KConfig *config, const QString& grp )
- {
-- if (isEthereal() || isArtificial()) {
-+ if (_mixer->isDynamic() || isArtificial()) {
- kDebug(67100) << "MixDevice::write(): This MixDevice does not permit volume saving (i.e. because it is handled lower down in the audio stack). Ignoring.";
- } else {
-- QString devgrp;
-- devgrp.sprintf( "%s.Dev%s", grp.toAscii().data(), _id.toAscii().data() );
-+ QString devgrp = QString("%1.Dev%2").arg(grp).arg(_id);
- KConfigGroup cg = config->group(devgrp);
- // kDebug(67100) << "MixDevice::write() of group devgrp=" << devgrp;
-
-Index: kmix/apps/kmix.cpp
-===================================================================
---- kmix/apps/kmix.cpp (revision 1226957)
-+++ kmix/apps/kmix.cpp (revision 1226958)
-@@ -182,21 +182,20 @@
-
- void KMixWindow::initActionsAfterInitMixer()
- {
-- bool isPulseAudio = false;
-- // Add "launch_pavucontrol" to menu, if Pulseaudio backend is in use
-+ // Only show the new tab widget if some of the mixers are not Dynamic.
-+ // The GUI that then pops up could then make a new mixer from a dynamic one,
-+ // if mixed dynamic and non-dynamic mixers were allowed, but this is generally not the case.
-+ bool allDynamic = true;
- foreach( Mixer* mixer, Mixer::mixers() )
- {
-- if ( mixer->getDriverName() == "PulseAudio")
-+ if ( !mixer->isDynamic() )
- {
-- isPulseAudio = true;
-- KAction* action = actionCollection()->addAction( "launch_pavucontrol" );
-- action->setText( i18n( "Audio setup (&Pulseaudio)" ) );
-- connect(action, SIGNAL(triggered(bool) ), SLOT( slotPavucontrolExec() ));
-+ allDynamic = false;
- break;
- }
- }
-
-- if (! isPulseAudio )
-+ if (! allDynamic )
- {
- QPixmap cornerNewPM = KIconLoader::global()->loadIcon( "tab-new", KIconLoader::Toolbar, KIconLoader::SizeSmall );
- QPushButton* _cornerLabelNew = new QPushButton();
-@@ -339,8 +338,11 @@
-
- // The following loop is necessary for the case that the user has hidden all views for a Mixer instance.
- // Otherwise we would not save the Meta information (step -2- below for that mixer.
-- foreach ( Mixer* mixer, Mixer::mixers() )
-- mixerViews[mixer->id()]; // just insert a map entry
-+ // We also do not save dynamic mixers (e.g. PulseAudio)
-+ foreach ( Mixer* mixer, Mixer::mixers() ) {
-+ if ( !mixer->isDynamic() )
-+ mixerViews[mixer->id()]; // just insert a map entry
-+ }
-
- // -1- Save the views themselves
- for ( int i=0; i<m_wsMixers->count() ; ++i ) {
-@@ -351,8 +353,10 @@
- // Otherwise the user will be confused afer re-plugging the card (as the config was not saved).
- mw->saveConfig( KGlobal::config().data() );
- // add the view to the corresponding mixer list, so we can save a views-per-mixer list below
-- QStringList& qsl = mixerViews[mw->mixer()->id()];
-- qsl.append(mw->getGuiprof()->getId());
-+ if ( !mw->mixer()->isDynamic() ) {
-+ QStringList& qsl = mixerViews[mw->mixer()->id()];
-+ qsl.append(mw->getGuiprof()->getId());
-+ }
- }
- }
-
-@@ -539,22 +543,29 @@
- continue; // OK, this mixer already has a profile => skip it
- }
- // No TAB YET => This should mean KMix is just started, or the user has just plugged in a card
-- bool profileListHasKey = pconfig.hasKey( mixer->id() ); // <<< SHOULD be before the following line
-- QStringList profileList = pconfig.readEntry( mixer->id(), QStringList() );
-+ bool profileListHasKey = false;
-+ QStringList profileList;
-+ bool aProfileWasAddedSucesufully = false;
-
-- bool aProfileWasAddedSucesufully = false;
-- foreach ( QString profileId, profileList)
-- {
-- // This handles the profileList form the kmixrc
-- kDebug() << "Now searching for profile: " << profileId ;
-- GUIProfile* guiprof = GUIProfile::find(mixer, profileId, true, false); // ### Card specific profile ###
-- if ( guiprof != 0 ) {
-- addMixerWidget(mixer->id(), guiprof, -1);
-- aProfileWasAddedSucesufully = true;
-+ if ( !mixer->isDynamic() ) {
-+ // We do not support save profiles for dynamic mixers (i.e. PulseAudio)
-+
-+ profileListHasKey = pconfig.hasKey( mixer->id() ); // <<< SHOULD be before the following line
-+ profileList = pconfig.readEntry( mixer->id(), QStringList() );
-+
-+ foreach ( QString profileId, profileList)
-+ {
-+ // This handles the profileList form the kmixrc
-+ kDebug() << "Now searching for profile: " << profileId ;
-+ GUIProfile* guiprof = GUIProfile::find(mixer, profileId, true, false); // ### Card specific profile ###
-+ if ( guiprof != 0 ) {
-+ addMixerWidget(mixer->id(), guiprof, -1);
-+ aProfileWasAddedSucesufully = true;
-+ }
-+ else {
-+ kError() << "Cannot load profile " << profileId << " . It was removed by the user, or the KMix config file is defective.";
-+ }
- }
-- else {
-- kError() << "Cannot load profile " << profileId << " . It was removed by the user, or the KMix config file is defective.";
-- }
- }
-
- // The we_need_a_fallback case is a bit tricky. Please ask the author (cesken) before even considering to change the code.
-@@ -568,11 +579,17 @@
-
- // Lets try a bunch of fallback strategies:
- GUIProfile* guiprof = 0;
-+ if ( !mixer->isDynamic() ) {
-+ // We know that GUIProfile::find() will return 0 if the mixer is dynamic, so don't bother checking.
-+ kDebug() << "Attempting to find a card-specific GUI Profile for the mixer " << mixer->id();
- guiprof = GUIProfile::find(mixer, QString("default"), false, false); // ### Card specific profile ###
-- if ( guiprof == 0 ) {
-- guiprof = GUIProfile::find(mixer, QString("default"), false, true); // ### Card unspecific profile ###
-+ if ( guiprof == 0 ) {
-+ kDebug() << "Not found. Attempting to find a generic GUI Profile for the mixer " << mixer->id();
-+ guiprof = GUIProfile::find(mixer, QString("default"), false, true); // ### Card unspecific profile ###
-+ }
- }
- if ( guiprof == 0) {
-+ kDebug() << "Using fallback GUI Profile for the mixer " << mixer->id();
- // This means there is neither card specific nor card unspecific profile
- // This is the case for some backends (as they don't ship profiles).
- guiprof = GUIProfile::fallbackProfile(mixer);
-@@ -683,8 +700,7 @@
- m_wsMixers->removeTab(idx);
- delete kmw;
-
-- bool isPulseAudio = kmw->mixer()->getDriverName() == "PulseAudio";
-- m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
-+ m_wsMixers->setTabsClosable(!kmw->mixer()->isDynamic() && m_wsMixers->count() > 1);
-
- saveViewConfig();
- }
-@@ -882,8 +898,7 @@
- m_wsMixers->setCurrentWidget(kmw);
- }
-
-- bool isPulseAudio = mixer->getDriverName() == "PulseAudio";
-- m_wsMixers->setTabsClosable(!isPulseAudio && m_wsMixers->count() > 1);
-+ m_wsMixers->setTabsClosable(!mixer->isDynamic() && m_wsMixers->count() > 1);
- m_dontSetDefaultCardOnStart = false;
-
-
-@@ -1071,12 +1086,6 @@
- KMessageBox::information( 0, m_hwInfoString, i18n("Mixer Hardware Information") );
- }
-
--void KMixWindow::slotPavucontrolExec()
--{
-- QStringList args("pavucontrol");
-- forkExec(args);
--}
--
- void KMixWindow::slotKdeAudioSetupExec()
- {
- QStringList args;
-@@ -1133,6 +1142,12 @@
- m_defaultCardOnStart = kmw->getGuiprof()->getId();
- // As switching the tab does NOT mean switching the master card, we do not need to update dock icon here.
- // It would lead to unnecesary flickering of the (complete) dock area.
-+
-+ // We only show the "Configure Channels..." menu item if the mixer is not dynamic
-+ ViewBase* view = kmw->currentView();
-+ QAction* action = actionCollection()->action( "toggle_channels_currentview" );
-+ if (view && action)
-+ action->setVisible( !view->getMixer()->isDynamic() );
- }
- }
-
-Index: kmix/apps/kmix.h
-===================================================================
---- kmix/apps/kmix.h (revision 1226957)
-+++ kmix/apps/kmix.h (revision 1226958)
-@@ -136,7 +136,6 @@
- private slots:
- void saveConfig();
- void slotHWInfo();
-- void slotPavucontrolExec();
- void slotKdeAudioSetupExec();
- void slotConfigureCurrentView();
- void slotSelectMaster();
-Index: kmix/kmixui.rc
-===================================================================
---- kmix/kmixui.rc (revision 1226957)
-+++ kmix/kmixui.rc (revision 1226958)
-@@ -17,7 +17,6 @@
- <Action name="toggle_channels_currentview" append="save_merge"/>
- <Action name="select_master" append="save_merge"/>
- <Action name="launch_kdesoundsetup" append="save_merge"/>
-- <Action name="launch_pavucontrol" append="save_merge"/>
- </Menu>
- <Menu name="help" append="about_merge"><text>&amp;Help</text>
- <Action name="hwinfo"/>
-Index: kmix/backends/mixer_backend.cpp
-===================================================================
---- kmix/backends/mixer_backend.cpp (revision 1226957)
-+++ kmix/backends/mixer_backend.cpp (revision 1226958)
-@@ -48,7 +48,7 @@
- bool Mixer_Backend::openIfValid() {
- bool valid = false;
- int ret = open();
-- if ( ret == 0 && (m_mixDevices.count() > 0 || _mixer->dynamic())) {
-+ if ( ret == 0 && (m_mixDevices.count() > 0 || _mixer->isDynamic())) {
- valid = true;
- // A better ID is now calculated in mixertoolbox.cpp, and set via setID(),
- // but we want a somehow usable fallback just in case.
-@@ -139,7 +139,7 @@
- return m_mixDevices.at(0); // Backend has NOT set a recommended master. Evil backend => lets help out.
- } //first device (if exists)
- else {
-- if ( !_mixer->dynamic()) {
-+ if ( !_mixer->isDynamic()) {
- // This should never ever happen, as KMix doe NOT accept soundcards without controls
- kError(67100) << "Mixer_Backend::recommendedMaster(): returning invalid master. This is a bug in KMix. Please file a bug report stating how you produced this." << endl;
- }
-Index: kmix/backends/mixer_pulse.cpp
-===================================================================
---- kmix/backends/mixer_pulse.cpp (revision 1226957)
-+++ kmix/backends/mixer_pulse.cpp (revision 1226958)
-@@ -36,6 +36,8 @@
- #define KMIXPA_APP_CAPTURE 3
- #define KMIXPA_WIDGET_MAX KMIXPA_APP_CAPTURE
-
-+#define KMIXPA_EVENT_KEY "sink-input-by-media-role:event"
-+
- static unsigned int refcount = 0;
- static pa_glib_mainloop *s_mainloop = NULL;
- static pa_context *s_context = NULL;
-@@ -189,7 +191,7 @@
-
- devinfo s;
- s.index = s.device_index = i->index;
-- s.name = QString(i->name).replace(' ', '_');
-+ s.name = QString::fromUtf8(i->name).replace(' ', '_');
- s.description = QString::fromUtf8(i->description);
- s.icon_name = QString::fromUtf8(pa_proplist_gets(i->proplist, PA_PROP_DEVICE_ICON_NAME));
- s.volume = i->volume;
-@@ -242,7 +244,7 @@
-
- devinfo s;
- s.index = s.device_index = i->index;
-- s.name = QString(i->name).replace(' ', '_');
-+ s.name = QString::fromUtf8(i->name).replace(' ', '_');
- s.description = QString::fromUtf8(i->description);
- s.icon_name = QString::fromUtf8(pa_proplist_gets(i->proplist, PA_PROP_DEVICE_ICON_NAME));
- s.volume = i->volume;
-@@ -307,26 +309,28 @@
-
- const char *t;
- if ((t = pa_proplist_gets(i->proplist, "module-stream-restore.id"))) {
-- if (strcmp(t, "sink-input-by-media-role:event") == 0) {
-+ if (strcmp(t, KMIXPA_EVENT_KEY) == 0) {
- kWarning(67100) << "Ignoring sink-input due to it being designated as an event and thus handled by the Event slider";
- return;
- }
- }
-
-- QString prefix = QString("%1: ").arg(i18n("Unknown Application"));
-+ QString appname = i18n("Unknown Application");
- if (clients.contains(i->client))
-- prefix = QString("%1: ").arg(clients[i->client]);
-+ appname = clients[i->client];
-
-+ QString prefix = QString("%1: ").arg(appname);
-+
- devinfo s;
- s.index = i->index;
- s.device_index = i->sink;
- s.description = prefix + QString::fromUtf8(i->name);
-- s.name = QString("stream:") + i->index;
-+ s.name = QString("stream:") + QString::number(i->index); //appname.replace(' ', '_').toLower();
- s.icon_name = getIconNameFromProplist(i->proplist);
- s.volume = i->volume;
- s.channel_map = i->channel_map;
- s.mute = !!i->mute;
-- s.stream_restore_rule = t;
-+ s.stream_restore_rule = QString::fromUtf8(t);
-
- translateMasksAndMaps(s);
-
-@@ -370,22 +374,24 @@
- return;
- }
-
-- QString prefix = QString("%1: ").arg(i18n("Unknown Application"));
-+ QString appname = i18n("Unknown Application");
- if (clients.contains(i->client))
-- prefix = QString("%1: ").arg(clients[i->client]);
-+ appname = clients[i->client];
-
-+ QString prefix = QString("%1: ").arg(appname);
-+
- devinfo s;
- s.index = i->index;
- s.device_index = i->source;
- s.description = prefix + QString::fromUtf8(i->name);
-- s.name = QString("stream:") + i->index;
-+ s.name = QString("stream:") + QString::number(i->index); //appname.replace(' ', '_').toLower();
- s.icon_name = getIconNameFromProplist(i->proplist);
- //s.volume = i->volume;
- s.volume = captureDevices[i->source].volume;
- s.channel_map = i->channel_map;
- //s.mute = !!i->mute;
- s.mute = captureDevices[i->source].mute;
-- s.stream_restore_rule = pa_proplist_gets(i->proplist, "module-stream-restore.id");
-+ s.stream_restore_rule = QString::fromUtf8(pa_proplist_gets(i->proplist, "module-stream-restore.id"));
-
- translateMasksAndMaps(s);
-
-@@ -407,7 +413,7 @@
- }
-
-
--static devinfo create_role_devinfo(const char* name) {
-+static devinfo create_role_devinfo(QString name) {
-
- Q_ASSERT(s_RestoreRules.contains(name));
-
-@@ -436,9 +442,10 @@
-
- if (eol > 0) {
- dec_outstanding(c);
-+
- // Special case: ensure that our media events exists.
- // On first login by a new users, this wont be in our database so we should create it.
-- if (!outputRoles.contains(PA_INVALID_INDEX)) {
-+ if (!s_RestoreRules.contains(KMIXPA_EVENT_KEY)) {
- // Create a fake rule
- restoreRule rule;
- rule.channel_map.channels = 1;
-@@ -447,37 +454,56 @@
- rule.volume.values[0] = PA_VOLUME_NORM;
- rule.mute = false;
- rule.device = "";
-- s_RestoreRules["sink-input-by-media-role:event"] = rule;
-+ s_RestoreRules[KMIXPA_EVENT_KEY] = rule;
-+ kDebug(67100) << "Initialising restore rule for new user: " << i18n("Event Sounds");
-+ }
-
-- devinfo s = create_role_devinfo("sink-input-by-media-role:event");
-- outputRoles[s.index] = s;
-- kDebug(67100) << "Initialising restore rule for new user: " << s.description;
-+ if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) {
-+ // If we have rules, it will be created below... but if no rules
-+ // then we add it here.
-+ if (!outputRoles.contains(PA_INVALID_INDEX)) {
-+ devinfo s = create_role_devinfo(KMIXPA_EVENT_KEY);
-+ outputRoles[s.index] = s;
-
-- if (s_mixers.contains(KMIXPA_APP_PLAYBACK))
- s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index);
-+ }
-+
-+ s_mixers[KMIXPA_APP_PLAYBACK]->triggerUpdate();
- }
-
-- if (s_mixers.contains(KMIXPA_APP_PLAYBACK))
-- s_mixers[KMIXPA_APP_PLAYBACK]->triggerUpdate();
- return;
- }
-
-- kDebug(67100) << "Got some info about restore rule: " << i->name << i->device;
-+
-+ QString name = QString::fromUtf8(i->name);
-+ kDebug(67100) << QString("Got some info about restore rule: '%1' (Device: %2)").arg(name).arg(i->device ? i->device : "None");
- restoreRule rule;
- rule.channel_map = i->channel_map;
- rule.volume = i->volume;
- rule.mute = !!i->mute;
- rule.device = i->device;
-- s_RestoreRules[i->name] = rule;
-
-- // We only want to know about Sound Events for now...
-- if (strcmp(i->name, "sink-input-by-media-role:event") == 0) {
-- devinfo s = create_role_devinfo(i->name);
-- bool is_new = !outputRoles.contains(s.index);
-- outputRoles[s.index] = s;
-+ if (rule.channel_map.channels < 1 && name == KMIXPA_EVENT_KEY) {
-+ // Stream restore rules may not have valid volumes/channel maps (as these are optional)
-+ // but we need a valid volume+channelmap for our events sounds so fix it up.
-+ rule.channel_map.channels = 1;
-+ rule.channel_map.map[0] = PA_CHANNEL_POSITION_MONO;
-+ rule.volume.channels = 1;
-+ rule.volume.values[0] = PA_VOLUME_NORM;
-+ }
-
-- if (is_new && s_mixers.contains(KMIXPA_APP_PLAYBACK))
-- s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index);
-+ s_RestoreRules[name] = rule;
-+
-+ if (s_mixers.contains(KMIXPA_APP_PLAYBACK)) {
-+ // We only want to know about Sound Events for now...
-+ if (name == KMIXPA_EVENT_KEY) {
-+ devinfo s = create_role_devinfo(name);
-+ bool is_new = !outputRoles.contains(s.index);
-+ outputRoles[s.index] = s;
-+
-+ if (is_new)
-+ s_mixers[KMIXPA_APP_PLAYBACK]->addWidget(s.index);
-+ }
- }
- }
-
-@@ -788,7 +814,6 @@
- Volume v(dev.chanMask, PA_VOLUME_NORM, PA_VOLUME_MUTED, true, false);
- setVolumeFromPulse(v, dev);
- MixDevice* md = new MixDevice( _mixer, dev.name, dev.description, dev.icon_name, ms);
-- md->setEthereal(true);
- md->addPlaybackVolume(v);
- md->setMuted(dev.mute);
- m_mixDevices.append(md);
-@@ -1095,10 +1120,10 @@
- {
- restoreRule &rule = s_RestoreRules[iter->stream_restore_rule];
- pa_ext_stream_restore_info info;
-- info.name = iter->stream_restore_rule.toAscii().constData();
-+ info.name = iter->stream_restore_rule.toUtf8().constData();
- info.channel_map = rule.channel_map;
- info.volume = genVolumeForPulse(*iter, md->playbackVolume());
-- info.device = rule.device.isEmpty() ? NULL : rule.device.toAscii().constData();
-+ info.device = rule.device.isEmpty() ? NULL : rule.device.toUtf8().constData();
- info.mute = (md->isMuted() ? 1 : 0);
-
- pa_operation* o;
-@@ -1153,13 +1178,13 @@
-
- // Lookup the stream index.
- uint32_t stream_index = PA_INVALID_INDEX;
-- const char* stream_restore_rule = NULL;
-+ QString stream_restore_rule = "";
- devmap::iterator iter;
- devmap *map = get_widget_map(m_devnum);
- for (iter = map->begin(); iter != map->end(); ++iter) {
- if (iter->name == id) {
- stream_index = iter->index;
-- stream_restore_rule = iter->stream_restore_rule.isEmpty() ? NULL : iter->stream_restore_rule.toAscii().constData();
-+ stream_restore_rule = iter->stream_restore_rule;
- break;
- }
- }
-@@ -1171,12 +1196,12 @@
-
- if (destId.isEmpty()) {
- // We want to remove any specific device in the stream restore rule.
-- if (!stream_restore_rule || !s_RestoreRules.contains(stream_restore_rule)) {
-+ if (stream_restore_rule.isEmpty() || !s_RestoreRules.contains(stream_restore_rule)) {
- kWarning(67100) << "Mixer_PULSE::moveStream(): Trying to set Automatic on a stream with no rule";
- } else {
- restoreRule &rule = s_RestoreRules[stream_restore_rule];
- pa_ext_stream_restore_info info;
-- info.name = stream_restore_rule;
-+ info.name = stream_restore_rule.toUtf8().constData();
- info.channel_map = rule.channel_map;
- info.volume = rule.volume;
- info.device = NULL;
-@@ -1192,12 +1217,12 @@
- } else {
- pa_operation* o;
- if (KMIXPA_APP_PLAYBACK == m_devnum) {
-- if (!(o = pa_context_move_sink_input_by_name(s_context, stream_index, destId.toAscii().constData(), NULL, NULL))) {
-+ if (!(o = pa_context_move_sink_input_by_name(s_context, stream_index, destId.toUtf8().constData(), NULL, NULL))) {
- kWarning(67100) << "pa_context_move_sink_input_by_name() failed";
- return false;
- }
- } else {
-- if (!(o = pa_context_move_source_output_by_name(s_context, stream_index, destId.toAscii().constData(), NULL, NULL))) {
-+ if (!(o = pa_context_move_source_output_by_name(s_context, stream_index, destId.toUtf8().constData(), NULL, NULL))) {
- kWarning(67100) << "pa_context_move_source_output_by_name() failed";
- return false;
- }
diff --git a/extra/keytouch-editor/ChangeLog b/extra/keytouch-editor/ChangeLog
deleted file mode 100644
index 0503eb1f7..000000000
--- a/extra/keytouch-editor/ChangeLog
+++ /dev/null
@@ -1,8 +0,0 @@
-2008-06-22 Eric Belanger <eric@archlinux.org>
-
- * keytouch-editor 3.1.3-1
- * Patched for glibc 2.8
- * Added to [extra] repo
- * Added ChangeLog
-
-
diff --git a/extra/kobodeluxe/ChangeLog b/extra/kobodeluxe/ChangeLog
deleted file mode 100644
index 08b4c2dec..000000000
--- a/extra/kobodeluxe/ChangeLog
+++ /dev/null
@@ -1,8 +0,0 @@
-2009-01-06 Eric Belanger <eric@archlinux.org>
-
- * kobodeluxe 0.5.1-2
- * Fixed build issue
- * Added game group support
- * Added .desktop file and icons
- * Improved package description
- * Added ChangeLog
diff --git a/extra/kobodeluxe/PKGBUILD b/extra/kobodeluxe/PKGBUILD
index be6f139a3..8a52ce946 100644
--- a/extra/kobodeluxe/PKGBUILD
+++ b/extra/kobodeluxe/PKGBUILD
@@ -1,44 +1,50 @@
-# $Id: PKGBUILD 23389 2009-01-09 00:47:54Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
-# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+# $Id: PKGBUILD 122903 2011-05-07 08:05:30Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=kobodeluxe
pkgver=0.5.1
-pkgrel=2
+pkgrel=3
pkgdesc="An enhanced version of Akira Higuchi's game XKobo, an addictive space shoot'em up"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.olofson.net/kobodl/"
license=('GPL' 'LGPL')
-depends=('gcc-libs' 'libjpeg' 'libpng' 'sdl' 'sdl_image' 'sdl_mixer')
+depends=('libjpeg' 'libpng' 'sdl_image' 'hicolor-icon-theme' 'gtk-update-icon-cache')
install=kobodeluxe.install
-source=(http://www.olofson.net/kobodl/download/KoboDeluxe-${pkgver}.tar.gz kobodeluxe-gcc-4.3.patch)
-md5sums=('cf765559461213d651c7be042507b767' '2b76306ec997fdc64986b4425e5b7814')
-sha1sums=('12abe182ccde52050cd23077092d0424d25c3e75' '274dc8e7909bc6f9fab31306c85d992af8b62674')
+source=(http://www.olofson.net/kobodl/download/KoboDeluxe-${pkgver}.tar.gz \
+ kobodeluxe-gcc-4.3.patch kobodeluxe-0.5.1-glibc2.10.patch)
+md5sums=('cf765559461213d651c7be042507b767'
+ '2b76306ec997fdc64986b4425e5b7814'
+ '56115c9a1e3db1b95b731fdcb11f3f4f')
+sha1sums=('12abe182ccde52050cd23077092d0424d25c3e75'
+ '274dc8e7909bc6f9fab31306c85d992af8b62674'
+ '9d1b3b8cef4a16b6a082fed9f93f1dc12b2a3be0')
build() {
- cd ${srcdir}/KoboDeluxe-${pkgver}
+ cd "${srcdir}/KoboDeluxe-${pkgver}"
patch -p0 < ../kobodeluxe-gcc-4.3.patch
- ./configure --prefix=/usr --localstatedir=/var --sharedstatedir=/var/games || return 1
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
+ patch -p0 < ../kobodeluxe-0.5.1-glibc2.10.patch
+ ./configure --prefix=/usr --localstatedir=/var --sharedstatedir=/var/games
+ make
+}
+
+package() {
+ cd "${srcdir}/KoboDeluxe-${pkgver}"
+ make DESTDIR="${pkgdir}" install
tar -xzf icons.tar.gz
- install -D -m644 icons/KDE/kobo-deluxe.desktop ${pkgdir}/usr/share/applications/kobo-deluxe.desktop
- install -D -m644 icons/KDE/icons/128x128/kobodl.png ${pkgdir}/usr/share/icons/hicolor/128x128/kobodl.png
- install -D -m644 icons/KDE/icons/16x16/kobodl.png ${pkgdir}/usr/share/icons/hicolor/16x16/kobodl.png
- install -D -m644 icons/KDE/icons/22x22/kobodl.png ${pkgdir}/usr/share/icons/hicolor/22x22/kobodl.png
- install -D -m644 icons/KDE/icons/32x32/kobodl.png ${pkgdir}/usr/share/icons/hicolor/32x32/kobodl.png
- install -D -m644 icons/KDE/icons/48x48/kobodl.png ${pkgdir}/usr/share/icons/hicolor/48x48/kobodl.png
- install -D -m644 icons/KDE/icons/64x64/kobodl.png ${pkgdir}/usr/share/icons/hicolor/64x64/kobodl.png
- install -D -m644 icons/Ubuntu/kobo-icon.xpm ${pkgdir}/usr/share/pixmaps/kobo-icon.xpm
- ln -s /usr/share/icons/hicolor/48x48/kobodl.png ${pkgdir}/usr/share/icons/kobodl.png
+ install -D -m644 icons/KDE/kobo-deluxe.desktop "${pkgdir}/usr/share/applications/kobo-deluxe.desktop"
+ for i in 16 22 32 48 64 128 ; do
+ install -D -m644 icons/KDE/icons/${i}x${i}/kobodl.png "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/kobodl.png"
+ done
+ install -D -m644 icons/Ubuntu/kobo-icon.xpm "${pkgdir}/usr/share/pixmaps/kobo-icon.xpm"
+ ln -s /usr/share/icons/hicolor/48x48/kobodl.png "${pkgdir}/usr/share/icons/kobodl.png"
- chown root:games ${pkgdir}/usr/bin/kobodl
- chmod 2755 ${pkgdir}/usr/bin/kobodl
- chown root:games ${pkgdir}/var/games
- chmod 775 ${pkgdir}/var/games
- chown root:games ${pkgdir}/var/games/kobo-deluxe
- chmod 775 ${pkgdir}/var/games/kobo-deluxe
- chown root:games ${pkgdir}/var/games/kobo-deluxe/scores
- chmod 775 ${pkgdir}/var/games/kobo-deluxe/scores
+ chown root:games "${pkgdir}/usr/bin/kobodl"
+ chmod 2755 "${pkgdir}/usr/bin/kobodl"
+ chown root:games "${pkgdir}/var/games"
+ chmod 775 "${pkgdir}/var/games"
+ chown root:games "${pkgdir}/var/games/kobo-deluxe"
+ chmod 775 "${pkgdir}/var/games/kobo-deluxe"
+ chown root:games "${pkgdir}/var/games/kobo-deluxe/scores"
+ chmod 775 "${pkgdir}/var/games/kobo-deluxe/scores"
}
diff --git a/extra/kobodeluxe/kobodeluxe-0.5.1-glibc2.10.patch b/extra/kobodeluxe/kobodeluxe-0.5.1-glibc2.10.patch
new file mode 100644
index 000000000..1095cc1c7
--- /dev/null
+++ b/extra/kobodeluxe/kobodeluxe-0.5.1-glibc2.10.patch
@@ -0,0 +1,11 @@
+--- graphics/window.cpp
++++ graphics/window.cpp
+@@ -398,7 +398,7 @@
+ */
+ if(token)
+ {
+- char *tok = strchr(txt, token);
++ const char *tok = strchr(txt, token);
+ if(tok)
+ tokpos = tok-txt;
+ else
diff --git a/extra/kobodeluxe/kobodeluxe.install b/extra/kobodeluxe/kobodeluxe.install
index 7136b4880..54b9f81f6 100644
--- a/extra/kobodeluxe/kobodeluxe.install
+++ b/extra/kobodeluxe/kobodeluxe.install
@@ -4,18 +4,17 @@ post_install() {
post_upgrade() {
if [ -d usr/share/kobo-deluxe/kobo-deluxe/scores ] ; then
+ mkdir -p var/games/kobo-deluxe/scores/
for i in usr/share/kobo-deluxe/kobo-deluxe/scores/* ; do
mv $i var/games/kobo-deluxe/scores/
done
rmdir usr/share/kobo-deluxe/kobo-deluxe/scores
rmdir usr/share/kobo-deluxe/kobo-deluxe
- chgrp -R games /var/games/kobo-deluxe/scores/
+ chgrp -R games var/games/kobo-deluxe/scores/
fi
- # update icon cache if gtk2 is installed. I don't want to add a gtk2 depends just for that.
- [ -x usr/bin/gtk-update-icon-cache ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
post_remove() {
- # update icon cache if gtk2 is installed. I don't want to add a gtk2 depends just for that.
- [ -x usr/bin/gtk-update-icon-cache ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
diff --git a/extra/libgda/PKGBUILD b/extra/libgda/PKGBUILD
index c24e4d6fb..41b3a0f71 100644
--- a/extra/libgda/PKGBUILD
+++ b/extra/libgda/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 120419 2011-04-23 21:33:28Z ibiru $
+# $Id: PKGBUILD 123051 2011-05-07 19:17:52Z ibiru $
# Maintainer: tobias <tobias@archlinux.org>
# Contributor: Tobias Kieslich <tobias@justdreams.de>
pkgname=libgda
-pkgver=4.2.6
+pkgver=4.2.7
pkgrel=1
pkgdesc="Data abstraction layer with mysql, pgsql, xml, sqlite providers"
arch=(i686 x86_64 'mips64el')
@@ -16,7 +16,7 @@ options=('!libtool')
url="http://www.gnome-db.org"
install=libgda.install
source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('141259e19ba163500963bd5bd512cfa4eb542b24c99f2fa14a2ef27643308cd3')
+sha256sums=('0c95d2ae4563bbb024c9179a20e95a4b544a7d4fc687ca79ac6b33c5adc113d5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/libsamplerate/PKGBUILD b/extra/libsamplerate/PKGBUILD
index 9f36b38ff..b5435f7c0 100644
--- a/extra/libsamplerate/PKGBUILD
+++ b/extra/libsamplerate/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 100370 2010-11-23 01:14:32Z eric $
-# Maintainer: Eric Belanger <eric@archlinux.org>
+# $Id: PKGBUILD 123061 2011-05-07 21:22:40Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=libsamplerate
pkgver=0.1.7
-pkgrel=1
+pkgrel=2
pkgdesc="Secret Rabbit Code - aka Sample Rate Converter for audio"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.mega-nerd.com/SRC/index.html"
diff --git a/extra/libtextcat/PKGBUILD b/extra/libtextcat/PKGBUILD
new file mode 100644
index 000000000..dfccfb8db
--- /dev/null
+++ b/extra/libtextcat/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 122957 2011-05-07 14:06:48Z andyrtr $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=libtextcat
+pkgver=2.2
+pkgrel=8
+pkgdesc="Library that implements N-gram-based text categorization"
+arch=('i686' 'x86_64')
+url="http://software.wise-guys.nl/libtextcat/"
+license=('BSD')
+depends=('glibc')
+options=(!libtool)
+source=(http://software.wise-guys.nl/download/${pkgname}-${pkgver}.tar.gz
+ # from http://hg.services.openoffice.org/hg/DEV300/raw-file/tip/libtextcat/data/new_fingerprints/fpdb.conf
+ fpdb.conf
+ libtextcat-2.2-exportapi.patch
+ libtextcat-2.2-OOo.patch)
+md5sums=('128cfc86ed5953e57fe0f5ae98b62c2e'
+ 'f4fafe97d3aa184f5476e4918dba045d'
+ '4c46fcb825ec13e9f7ae3728f5f4c834'
+ '1d5f1026392365c58f7a7406e923f886')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np1 -i ${srcdir}/libtextcat-2.2-exportapi.patch
+ patch -Np1 -i ${srcdir}/libtextcat-2.2-OOo.patch
+ autoreconf -fi
+ ./configure --prefix=/usr \
+ --disable-static
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+# install -D -m644 src/textcat.h ${pkgdir}/usr/include/textcat.h
+
+ install -dm755 ${pkgdir}/usr/share/libtextcat/{LM,ShortTexts}
+ install -m644 ${srcdir}/fpdb.conf ${pkgdir}/usr/share/libtextcat
+ install -m644 langclass/conf.txt ${pkgdir}/usr/share/libtextcat
+ install -m644 langclass/LM/*.lm ${pkgdir}/usr/share/libtextcat/LM
+ install -m644 langclass/ShortTexts/*.txt ${pkgdir}/usr/share/libtextcat/ShortTexts
+
+ install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ sed -i 's|LM|/usr/share/libtextcat/LM|' ${pkgdir}/usr/share/libtextcat/conf.txt
+}
+
diff --git a/extra/libtextcat/fpdb.conf b/extra/libtextcat/fpdb.conf
new file mode 100644
index 000000000..329184d51
--- /dev/null
+++ b/extra/libtextcat/fpdb.conf
@@ -0,0 +1,86 @@
+#
+# A sample config file for the language models
+# provided with Gertjan van Noords language guesser
+# (http://odur.let.rug.nl/~vannoord/TextCat/)
+#
+# Notes:
+# - You may consider eliminating a couple of small languages from this
+# list because they cause false positives with big languages and are
+# bad for performance. (Do you really want to recognize Drents?)
+# - Putting the most probable languages at the top of the list
+# improves performance, because this will raise the threshold for
+# likely candidates more quickly.
+#
+
+# this file have been modified (to OOo by Jocelyn MERAND joc.mer@gmail.com) to include country and encoding
+# guess strings are made as following : language-country-encoding
+
+afrikaans.lm af--utf8
+albanian.lm sq--utf8
+amharic_utf.lm am--utf8
+arabic.lm ar--utf8
+basque.lm eu--utf8
+belarus.lm be--utf8
+bosnian.lm bs--utf8
+breton.lm br--utf8
+catalan.lm ca--utf8
+chinese_simplified.lm zh-CN-utf8
+chinese_traditional.lm zh-TW-utf8
+croatian.lm hr--utf8
+czech.lm cs--utf8
+danish.lm da--utf8
+dutch.lm nl--utf8
+english.lm en--utf8
+esperanto.lm eo--utf8
+estonian.lm et--utf8
+finnish.lm fi--utf8
+french.lm fr--utf8
+frisian.lm fy--utf8
+georgian.lm ka--utf8
+german.lm de--utf8
+greek.lm el--utf8
+hebrew.lm he--utf8
+hindi.lm hi--utf8
+hungarian.lm hu--utf8
+icelandic.lm is--utf8
+indonesian.lm id--utf8
+irish_gaelic.lm ga--utf8
+italian.lm it--utf8
+japanese.lm ja--utf8
+korean.lm ko--utf8
+latin.lm la--utf8
+latvian.lm lv--utf8
+lithuanian.lm lt--utf8
+luxembourgish.lm lb--utf8
+malay.lm ms--utf8
+manx_gaelic.lm gv--utf8
+marathi.lm mr--utf8
+mongolian_cyrillic.lm mn--utf8
+nepali.lm ne--utf8
+norwegian.lm nb--utf8 # Norwegian (Bokmal)
+persian.lm fa--utf8 # Farsi
+polish.lm pl--utf8
+portuguese.lm pt-PT-utf8
+quechua.lm qu--utf8
+romanian.lm ro--utf8
+romansh.lm rm--utf8
+russian.lm ru--utf8
+sanskrit.lm sa--utf8
+scots.lm sco--utf8
+scots_gaelic.lm gd--utf8
+serbian.lm sr--utf-8
+serbian-latin.lm sh--utf-8
+slovak_ascii.lm sk-SK-utf8
+slovenian.lm sl--utf8
+spanish.lm es--utf8
+swahili.lm sw--utf8
+swedish.lm sv--utf8
+tagalog.lm tl--utf8
+tamil.lm ta--utf8
+thai.lm th--utf8
+turkish.lm tr--utf8
+ukrainian.lm uk--utf8
+vietnamese.lm vi--utf8
+welsh.lm cy--utf8
+yiddish_utf.lm yi--utf8
+zulu.lm zu--utf8
diff --git a/extra/libtextcat/libtextcat-2.2-OOo.patch b/extra/libtextcat/libtextcat-2.2-OOo.patch
new file mode 100644
index 000000000..70f9d8d23
--- /dev/null
+++ b/extra/libtextcat/libtextcat-2.2-OOo.patch
@@ -0,0 +1,634 @@
+diff -ruN libtextcat-2.2.part1/src/constants.h libtextcat-2.2/src/constants.h
+--- libtextcat-2.2.part1/src/constants.h 2007-07-25 10:46:49.000000000 +0100
++++ libtextcat-2.2/src/constants.h 2007-07-25 10:47:25.000000000 +0100
+@@ -39,6 +39,8 @@
+ */
+ #include <limits.h>
+
++#define _UTF8_
++
+ #define DESCRIPTION "out of place"
+
+ /* Reported matches are those fingerprints with a score less than best
+@@ -59,14 +61,21 @@
+ /* Maximum number of n-grams in a fingerprint */
+ #define MAXNGRAMS 400
+
+-/* Maximum size of an n-gram? */
+-#define MAXNGRAMSIZE 5
++/* Maximum number of character of an n-gram? */
++#define MAXNGRAMSYMBOL 5
++
++/* Maximum size of the string representing an n-gram (must be greater than number of symbol) */
++#ifdef _UTF8_
++#define MAXNGRAMSIZE 20
++#else
++#define MAXNGRAMSIZE MAXNGRAMSYMBOL
++#endif
+
+ /* Which characters are not acceptable in n-grams? */
+ #define INVALID(c) (isspace((int)c) || isdigit((int)c))
+
+ /* Minimum size (in characters) for accepting a document */
+-#define MINDOCSIZE 25
++#define MINDOCSIZE 6
+
+ /* Maximum penalty for missing an n-gram in fingerprint */
+ #define MAXOUTOFPLACE 400
+@@ -76,4 +85,7 @@
+
+ #define MAXSCORE INT_MAX
+
++/* where the fingerprints files are stored */
++#define DEFAULT_FINGERPRINTS_PATH ""
++
+ #endif
+diff -ruN libtextcat-2.2.part1/src/fingerprint.c libtextcat-2.2/src/fingerprint.c
+--- libtextcat-2.2.part1/src/fingerprint.c 2007-07-25 10:46:49.000000000 +0100
++++ libtextcat-2.2/src/fingerprint.c 2007-07-25 10:47:25.000000000 +0100
+@@ -63,6 +63,10 @@
+ * - put table/heap datastructure in a separate file.
+ */
+
++#ifndef _UTF8_
++#define _UTF8_
++#endif
++
+ #include "config.h"
+ #include <stdio.h>
+ #ifdef HAVE_STDLIB_H
+@@ -80,10 +84,12 @@
+ #include "wg_mempool.h"
+ #include "constants.h"
+
++#include "utf8misc.h"
+
+ #define TABLESIZE (1<<TABLEPOW)
+ #define TABLEMASK ((TABLESIZE)-1)
+
++
+ typedef struct {
+
+ sint2 rank;
+@@ -134,29 +140,14 @@
+ }
+
+
+-/* checks if n-gram lex is a prefix of key and of length len */
+-inline int issame( char *lex, char *key, int len )
+-{
+- int i;
+- for (i=0; i<len; i++) {
+- if ( key[i] != lex[i] ) {
+- return 0;
+- }
+- }
+- if ( lex[i] != 0 ) {
+- return 0;
+- }
+- return 1;
+-}
+-
+
+ /* increases frequency of ngram(p,len) */
+-static inline int increasefreq( table_t *t, char *p, int len )
+-{
+- uint4 hash = simplehash( p, len ) & TABLEMASK;
++static int increasefreq( table_t *t, char *p, int len )
++{
++ uint4 hash = simplehash( p, len ) & TABLEMASK;
+ entry_t *entry = t->table[ hash ];
+-
+- while ( entry ) {
++
++ while ( entry ) {
+ if ( issame( entry->str, p, len ) ) {
+ /*** Found it! ***/
+ entry->cnt++;
+@@ -168,7 +159,7 @@
+ }
+
+ /*** Not found, so create ***/
+- entry = wgmempool_alloc( t->pool, sizeof(entry_t) );
++ entry = (entry_t*)(wgmempool_alloc( t->pool, sizeof(entry_t) ));
+ strcpy( entry->str, p );
+ entry->cnt = 1;
+
+@@ -181,12 +172,12 @@
+ #if 0
+
+ /* looks up ngram(p,len) */
+-static entry_t *findfreq( table_t *t, char *p, int len )
+-{
+- uint4 hash = simplehash( p, len ) & TABLEMASK;
++static entry_t *findfreq( table_t *t, char *p, int len )
++{
++ uint4 hash = simplehash( p, len ) & TABLEMASK;
+ entry_t *entry = t->table[ hash ];
+-
+- while ( entry ) {
++
++ while ( entry ) {
+ if ( issame( entry->str, p, len ) ) {
+ return entry;
+ }
+@@ -219,7 +210,7 @@
+ #define GREATER(x,y) ((x).cnt > (y).cnt)
+ #define LESS(x,y) ((x).cnt < (y).cnt)
+
+-inline static void siftup( table_t *t, unsigned int child )
++static void siftup( table_t *t, unsigned int child )
+ {
+ entry_t *heap = t->heap;
+ unsigned int parent = (child-1) >> 1;
+@@ -241,7 +232,7 @@
+ }
+
+
+-inline static void siftdown( table_t *t, unsigned int heapsize, uint4 parent )
++static void siftdown( table_t *t, unsigned int heapsize, uint4 parent )
+ {
+ entry_t *heap = t->heap;
+ unsigned int child = parent*2 + 1;
+@@ -458,21 +449,27 @@
+ return dest;
+ }
+
+-
++/**
++* this function extract all n-gram from past buffer and put them into the table "t"
++* [modified] by Jocelyn Merand to accept utf-8 multi-character symbols to be used in OpenOffice
++*/
+ static void createngramtable( table_t *t, const char *buf )
+ {
+ char n[MAXNGRAMSIZE+1];
+ const char *p = buf;
+ int i;
++ int pointer = 0;
+
+ /*** Get all n-grams where 1<=n<=MAXNGRAMSIZE. Allow underscores only at borders. ***/
+- for (;;p++) {
++ while(1) {
+
+- const char *q = p;
++ const char *q = &p[pointer]; /*[modified] previously p++ above (for(;;p++)) now, it's pointer wich is increased so we have to get the new pointer on the buffer*/
+ char *m = n;
+
+ /*** First char may be an underscore ***/
+- *m++ = *q++;
++ int decay = charcopy(q, m); /*[modified] previously *q++ = *m++*/
++ q = &(p[pointer+decay]); /*[modified] the old copying method do not manage multi-character symbols*/
++ m += decay; /*[modified]*/
+ *m = '\0';
+
+ increasefreq( t, n, 1 );
+@@ -482,19 +479,22 @@
+ }
+
+ /*** Let the compiler unroll this ***/
+- for ( i=2; i<=MAXNGRAMSIZE; i++) {
++ for ( i=2; i<=MAXNGRAMSYMBOL; i++) {
+
+- *m++ = *q;
++ decay = charcopy(q, m); /*[modified] like above*/
++ m += decay;
+ *m = '\0';
+
+ increasefreq( t, n, i );
+
+ if ( *q == '_' ) break;
+- q++;
++ q += decay;
+ if ( *q == '\0' ) {
+ return;
+ }
+ }
++
++ pointer = nextcharstart(p,pointer); /*[modified] p[pointer] must point on the next start of symbol, but whith utf next start is not surely next char*/
+ }
+ return;
+ }
+diff -ruN libtextcat-2.2.part1/src/fingerprint.h.orig libtextcat-2.2/src/fingerprint.h.orig
+--- libtextcat-2.2.part1/src/fingerprint.h.orig 1970-01-01 01:00:00.000000000 +0100
++++ libtextcat-2.2/src/fingerprint.h.orig 2007-07-25 10:47:22.000000000 +0100
+@@ -0,0 +1,55 @@
++#ifndef _FINGERPRINT_H_
++#define _FINGERPRINT_H_
++/*
++ * Copyright (C) 2003 WiseGuys Internet B.V.
++ *
++ * THE BSD LICENSE
++ *
++ * 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.
++ *
++ * - Neither the name of the WiseGuys Internet B.V. nor the names of
++ * its contributors may be used to endorse or promote products derived
++ * from this software without specific prior written permission.
++ *
++ * 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
++ * OWNER 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 "common.h"
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++extern void *fp_Init(const char *name);
++extern void fp_Done( void *handle );
++extern int fp_Create( void *handle, const char *buffer, uint4 bufsize, uint4 maxngrams );
++extern int fp_Read( void *handle, const char *fname, int maxngrams );
++extern sint4 fp_Compare( void *cat, void *unknown, int cutoff );
++extern void fp_Show( void *handle );
++extern const char *fp_Name( void *handle );
++extern void fp_Print( void *handle, FILE *fp );
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
+diff -ruN libtextcat-2.2.part1/src/textcat.c libtextcat-2.2/src/textcat.c
+--- libtextcat-2.2.part1/src/textcat.c 2007-07-25 10:46:49.000000000 +0100
++++ libtextcat-2.2/src/textcat.c 2007-07-25 10:47:25.000000000 +0100
+@@ -74,6 +74,7 @@
+ typedef struct {
+
+ void **fprint;
++ char *fprint_disable;
+ uint4 size;
+ uint4 maxsize;
+
+@@ -112,11 +113,21 @@
+ fp_Done( h->fprint[i] );
+ }
+ wg_free( h->fprint );
++ wg_free( h->fprint_disable );
+ wg_free( h );
+
+ }
+
+-extern void *textcat_Init( const char *conffile )
++/** Replaces older function */
++extern void *textcat_Init( const char *conffile ){
++ return special_textcat_Init( conffile, DEFAULT_FINGERPRINTS_PATH );
++}
++
++/**
++ * Originaly this function had only one parameter (conffile) it has been modified since OOo use
++ * Basicaly prefix is the directory path where fingerprints are stored
++ */
++extern void *special_textcat_Init( const char *conffile, const char *prefix )
+ {
+ textcat_t *h;
+ char line[1024];
+@@ -134,11 +145,13 @@
+ h->size = 0;
+ h->maxsize = 16;
+ h->fprint = (void **)wg_malloc( sizeof(void*) * h->maxsize );
++ h->fprint_disable = (char *)wg_malloc( sizeof(char*) * h->maxsize ); /*added to store the state of languages*/
+
+ while ( wg_getline( line, 1024, fp ) ) {
+ char *p;
+ char *segment[4];
+- int res;
++ char finger_print_file_name[512];
++ int res;
+
+ /*** Skip comments ***/
+ #ifdef HAVE_STRCHR
+@@ -156,17 +169,23 @@
+ /*** Ensure enough space ***/
+ if ( h->size == h->maxsize ) {
+ h->maxsize *= 2;
+- h->fprint = (void *)wg_realloc( h->fprint, sizeof(void*) * h->maxsize );
++ h->fprint = (void **)wg_realloc( h->fprint, sizeof(void*) * h->maxsize );
++ h->fprint_disable = (char *)wg_realloc( h->fprint_disable, sizeof(char*) * h->maxsize );
+ }
+
+ /*** Load data ***/
+ if ((h->fprint[ h->size ] = fp_Init( segment[1] ))==NULL) {
+ goto ERROR;
+ }
+- if ( fp_Read( h->fprint[h->size], segment[0], 400 ) == 0 ) {
++ finger_print_file_name[0] = '\0';
++ strcat(finger_print_file_name, prefix);
++ strcat(finger_print_file_name, segment[0]);
++
++ if ( fp_Read( h->fprint[h->size], finger_print_file_name, 400 ) == 0 ) {
+ textcat_Done(h);
+ goto ERROR;
+- }
++ }
++ h->fprint_disable[h->size] = 0xF0; /*0xF0 is the code for enabled languages, 0x0F is for disabled*/
+ h->size++;
+ }
+
+@@ -203,11 +222,18 @@
+ result = _TEXTCAT_RESULT_SHORT;
+ goto READY;
+ }
+-
++
+ /*** Calculate the score for each category. ***/
+ for (i=0; i<h->size; i++) {
+- int score = fp_Compare( h->fprint[i], unknown, threshold );
+- candidates[i].score = score;
++ int score;
++ if(h->fprint_disable[i] & 0x0F){ /*if this language is disabled*/
++ score = MAXSCORE;
++ }
++ else{
++ score = fp_Compare( h->fprint[i], unknown, threshold );
++ /*printf("Score for %s : %i\n", fp_Name(h->fprint[i]), score);*/
++ }
++ candidates[i].score = score;
+ candidates[i].name = fp_Name( h->fprint[i] );
+ if ( score < minscore ) {
+ minscore = score;
+diff -ruN libtextcat-2.2.part1/src/textcat.h libtextcat-2.2/src/textcat.h
+--- libtextcat-2.2.part1/src/textcat.h 2007-07-25 10:46:49.000000000 +0100
++++ libtextcat-2.2/src/textcat.h 2007-07-25 10:48:18.000000000 +0100
+@@ -55,10 +54,19 @@
+ * Returns: handle on success, NULL on error. (At the moment, the
+ * only way errors can occur, is when the library cannot read the
+ * conffile, or one of the fingerprint files listed in it.)
++ *
++ * Replace older function (and has exacly the same behaviour)
++ * see below
+ */
+ extern void *textcat_Init( const char *conffile );
+
+ /**
++ * Originaly this function had only one parameter (conffile) it has been modified since OOo must be able to load alternativ DB
++ * Basicaly prefix is the directory path where fingerprints are stored
++ */
++extern void *special_textcat_Init( const char *conffile, const char *prefix );
++
++/**
+ * textcat_Done() - Free up resources for handle
+ */
+ extern void textcat_Done( void *handle );
+diff -ruN libtextcat-2.2.part1/src/utf8misc.c libtextcat-2.2/src/utf8misc.c
+--- libtextcat-2.2.part1/src/utf8misc.c 1970-01-01 01:00:00.000000000 +0100
++++ libtextcat-2.2/src/utf8misc.c 2007-07-25 10:48:57.000000000 +0100
+@@ -0,0 +1,132 @@
++/***************************************************************************
++ * Copyright (C) 2006 by Jocelyn Merand *
++ * joc.mer@gmail.com *
++ * *
++ * THE BSD LICENSE
++ *
++ * 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.
++ *
++ * - Neither the name of the WiseGuys Internet B.V. nor the names of
++ * its contributors may be used to endorse or promote products derived
++ * from this software without specific prior written permission.
++ *
++ * 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
++ * OWNER 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.
++ ***************************************************************************/
++
++#ifndef _UTF8_MISC_H_
++#include "utf8misc.h"
++#endif
++
++
++int nextcharstart(const char *str, int position){
++ int pointer = position;
++
++ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/
++
++ /*then str[pointer] is an escape character*/
++
++ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (by bit translation) following characters (only the weightest part)*/
++
++ while(escape_char & ESCAPE_MASK && str[pointer]){/*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/
++ escape_char = escape_char <<1;
++ ++pointer;
++ }
++ }
++ if(str[pointer]){ /*finaly, if we are not on the \0 character, we jump to the next character*/
++ ++pointer;
++ }
++ return pointer;
++}
++
++
++int charcopy(const char *str, char *dest){
++
++ int pointer = 0;
++ if(str[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/
++
++ /*then str[pointer] is an escape character*/
++
++ char escape_char = ((str[pointer] & WEIGHT_MASK) << 1); /*and we use it to count following characters (only the weightest part)*/
++
++ while(escape_char & ESCAPE_MASK && str[pointer]){ /*every step, we move the byte of 1 bit left, when first bit is 0, it's finished*/
++ dest[pointer] = str[pointer];
++ escape_char = escape_char <<1;
++ ++pointer;
++ }
++ }
++ if(str[pointer]){
++ dest[pointer] = str[pointer];
++ ++pointer;
++ }
++
++ return pointer;
++}
++
++
++int issame( char *lex, char *key, int len )
++{
++ /*printf("[%s] prefix of [%s] with length %i", lex, key, len);*/
++ int char_counter = 0;
++ int pointer = 0;
++ while(char_counter < len) {
++
++ if(key[pointer] & ESCAPE_MASK){ /*if the first bit of the current char is 1*/
++
++ /*then key[pointer] is an escap character*/
++
++ char escape_char = ((key[pointer] & WEIGHT_MASK) << 1); /*and we use it to count (only the weightest part)*/
++
++ while(escape_char & ESCAPE_MASK && key[pointer] == lex[pointer] ){
++ escape_char = escape_char <<1;
++ ++pointer;
++ }
++ }
++ ++char_counter; /*and we are on a new utf8 character*/
++ if ( key[pointer] != lex[pointer] ) {
++ return 0;
++ /*printf(" NO\n", lex, key, len);*/
++ }
++ ++pointer;
++ }
++ if ( lex[pointer] != '\0' ) {
++ return 0;
++ /*printf(" NO\n");*/
++ }
++
++ /*printf(" YES\n");*/
++
++ return 1;
++}
++
++
++extern int utfstrlen(const char* str){
++ int char_counter = 0;
++ int pointer = 0;
++ while(str[pointer]) {
++ pointer = nextcharstart(str, pointer);
++
++ ++char_counter; /*and we are on a new utf8 character*/
++ }
++ return char_counter;
++}
++
+diff -ruN libtextcat-2.2.part1/src/utf8misc.h libtextcat-2.2/src/utf8misc.h
+--- libtextcat-2.2.part1/src/utf8misc.h 1970-01-01 01:00:00.000000000 +0100
++++ libtextcat-2.2/src/utf8misc.h 2007-07-25 10:48:57.000000000 +0100
+@@ -0,0 +1,88 @@
++/***************************************************************************
++ * Copyright (C) 2006 by Jocelyn Merand *
++ * joc.mer@gmail.com *
++ * *
++ * THE BSD LICENSE
++ *
++ * 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.
++ *
++ * - Neither the name of the WiseGuys Internet B.V. nor the names of
++ * its contributors may be used to endorse or promote products derived
++ * from this software without specific prior written permission.
++ *
++ * 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
++ * OWNER 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.
++ ***************************************************************************/
++
++#ifndef _UTF8_MISC_H_
++#define _UTF8_MISC_H_
++
++/**
++ * These variables are used in character processing functions
++ * These have been added to manage utf-8 symbols, particularly escape chars
++ */
++#ifdef _UTF8_
++#define ESCAPE_MASK 0x80
++#define WEIGHT_MASK 0xF0
++#else
++#define ESCAPE_MASK 0xFF
++#define WEIGHT_MASK 0x00
++#endif
++
++
++/*
++ * Is used to jump to the next start of char
++ * of course it's only usefull when encoding is utf-8
++ * This function have been added by Jocelyn Merand to use libtextcat in OOo
++ */
++int nextcharstart(const char *str, int position);
++
++
++/*Copy the char in str to dest
++ * of course it's only usefull when encoding is utf8 and the symbol is encoded with more than 1 char
++ * return the number of char jumped
++ * This function have been added by Jocelyn Merand to use libtextcat in OOo
++ */
++int charcopy(const char *str, char *dest);
++
++
++/* checks if n-gram lex is a prefix of key and of length len
++* if _UTF8_ is defined, it uses escap characters and len is not realy the length of lex
++* in this case, len is the number of utf-8 char strlen("€") == 3 but len == 1
++*/
++int issame( char *lex, char *key, int len );
++
++
++/* Counts the number of characters
++* if _UTF8_ is defined, it uses escap characters and the result is not realy the length of str
++* in this case, the result is the number of utf-8 char strlen("€") == 3 but utfstrlen("€") == 1
++*/
++#ifdef __cplusplus
++extern "C" {
++#endif
++extern int utfstrlen(const char* str);
++#ifdef __cplusplus
++}
++#endif
++
++#endif
++
+--- libtextcat-2.2.part2/src/Makefile.am 2007-07-25 10:55:02.000000000 +0100
++++ libtextcat-2.2/src/Makefile.am 2007-07-25 10:55:52.000000000 +0100
+@@ -12,11 +12,11 @@
+
+ libtextcat_includedir = $(includedir)/libtextcat
+ libtextcat_include_HEADERS = \
+- common.h constants.h fingerprint.h textcat.h
++ common.h constants.h fingerprint.h textcat.h utf8misc.h
+
+ lib_LTLIBRARIES = libtextcat.la
+ libtextcat_la_SOURCES = \
+- common.c fingerprint.c textcat.c wg_mempool.c
++ common.c fingerprint.c textcat.c wg_mempool.c utf8misc.c
+
+ bin_PROGRAMS = createfp
+ createfp_SOURCES = createfp.c
diff --git a/extra/libtextcat/libtextcat-2.2-exportapi.patch b/extra/libtextcat/libtextcat-2.2-exportapi.patch
new file mode 100644
index 000000000..acf84e099
--- /dev/null
+++ b/extra/libtextcat/libtextcat-2.2-exportapi.patch
@@ -0,0 +1,305 @@
+diff -ruN libtextcat-2.2.orig/src/common.c libtextcat-2.2/src/common.c
+--- libtextcat-2.2.orig/src/common.c 2007-06-27 17:02:34.000000000 +0100
++++ libtextcat-2.2/src/common.c 2007-06-27 17:45:16.000000000 +0100
+@@ -45,7 +45,7 @@
+ #endif
+ #include <stdarg.h>
+ #include <ctype.h>
+-#include "common.h"
++#include "common_impl.h"
+
+ extern void wgmem_error( const char *fmt, ... )
+ {
+@@ -55,8 +55,6 @@
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+-
+- exit(-1);
+ }
+
+
+diff -ruN libtextcat-2.2.orig/src/common_impl.h libtextcat-2.2/src/common_impl.h
+--- libtextcat-2.2.orig/src/common_impl.h 1970-01-01 01:00:00.000000000 +0100
++++ libtextcat-2.2/src/common_impl.h 2007-06-27 17:45:16.000000000 +0100
+@@ -0,0 +1,66 @@
++#ifndef _COMMON_IMPL_H_
++#define _COMMON_IMPL_H_
++/**
++ * common_impl.h -- a mixed bag of helper functions
++ *
++ * Copyright (C) 2003 WiseGuys Internet B.V.
++ *
++ * THE BSD LICENSE
++ *
++ * 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.
++ *
++ * - Neither the name of the WiseGuys Internet B.V. nor the names of
++ * its contributors may be used to endorse or promote products derived
++ * from this software without specific prior written permission.
++ *
++ * 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
++ * OWNER 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"
++#ifndef HAVE_MALLOC
++#error "This library needs a GNU like malloc to compile. 'configure' says there isn't one."
++#endif
++#ifndef HAVE_REALLOC
++#error "This library needs a GNU like realloc to compile. 'configure' says there isn't one."
++#endif
++#ifndef HAVE_STRDUP
++#error "This library needs a GNU like strdup to compile. 'configure' says there isn't one."
++#endif
++#ifdef HAVE_INTTYPES_H
++#include <inttypes.h>
++#else
++#ifdef HAVE_STDINT_H
++#include <stdint.h>
++#endif
++#endif
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#include "common.h"
++
++#define WGMIN(x,y) ((x)<=(y)?(x):(y))
++#define WGMAX(x,y) ((x)<=(y)?(y):(x))
++#define __STR__(x) #x
++#define WGSTR(x) __STR__(x)
++
++#endif
+diff -ruN libtextcat-2.2.orig/src/createfp.c libtextcat-2.2/src/createfp.c
+--- libtextcat-2.2.orig/src/createfp.c 2007-06-27 17:02:34.000000000 +0100
++++ libtextcat-2.2/src/createfp.c 2007-06-27 17:45:16.000000000 +0100
+@@ -44,7 +44,7 @@
+ #endif
+
+ #include "fingerprint.h"
+-#include "common.h"
++#include "common_impl.h"
+
+ #define BLOCKSIZE 4096
+
+diff -ruN libtextcat-2.2.orig/src/fingerprint.c libtextcat-2.2/src/fingerprint.c
+--- libtextcat-2.2.orig/src/fingerprint.c 2007-06-27 17:02:34.000000000 +0100
++++ libtextcat-2.2/src/fingerprint.c 2007-06-27 17:45:16.000000000 +0100
+@@ -76,7 +76,7 @@
+ #endif
+ #include <ctype.h>
+
+-#include "common.h"
++#include "common_impl.h"
+ #include "wg_mempool.h"
+ #include "constants.h"
+
+diff -ruN libtextcat-2.2.orig/src/Makefile.am libtextcat-2.2/src/Makefile.am
+--- libtextcat-2.2.orig/src/Makefile.am 2007-06-27 17:02:34.000000000 +0100
++++ libtextcat-2.2/src/Makefile.am 2007-06-27 17:47:40.000000000 +0100
+@@ -8,7 +8,11 @@
+ AM_LDFLAGS = -g
+
+ noinst_HEADERS = \
+- common.h constants.h fingerprint.h textcat.h wg_mempool.h
++ common_impl.h wg_mempool.h
++
++libtextcat_includedir = $(includedir)/libtextcat
++libtextcat_include_HEADERS = \
++ common.h constants.h fingerprint.h textcat.h
+
+ lib_LTLIBRARIES = libtextcat.la
+ libtextcat_la_SOURCES = \
+diff -ruN libtextcat-2.2.orig/src/testtextcat.c libtextcat-2.2/src/testtextcat.c
+--- libtextcat-2.2.orig/src/testtextcat.c 2007-06-27 17:02:34.000000000 +0100
++++ libtextcat-2.2/src/testtextcat.c 2007-06-27 17:45:16.000000000 +0100
+@@ -47,7 +47,7 @@
+ #endif
+
+ #include "textcat.h"
+-#include "common.h"
++#include "common_impl.h"
+
+ #define BLOCKSIZE 4096
+
+diff -ruN libtextcat-2.2.orig/src/textcat.c libtextcat-2.2/src/textcat.c
+--- libtextcat-2.2.orig/src/textcat.c 2007-06-27 17:02:34.000000000 +0100
++++ libtextcat-2.2/src/textcat.c 2007-06-27 17:45:16.000000000 +0100
+@@ -65,7 +65,7 @@
+ #include <alloca.h>
+ #endif
+
+-#include "common.h"
++#include "common_impl.h"
+ #include "fingerprint.h"
+ #include "textcat.h"
+ #include "constants.h"
+diff -ruN libtextcat-2.2.orig/src/wg_mempool.c libtextcat-2.2/src/wg_mempool.c
+--- libtextcat-2.2.orig/src/wg_mempool.c 2007-06-27 17:02:34.000000000 +0100
++++ libtextcat-2.2/src/wg_mempool.c 2007-06-27 17:45:16.000000000 +0100
+@@ -41,7 +41,7 @@
+ #ifdef HAVE_STRING_H
+ #include <string.h>
+ #endif
+-#include "common.h"
++#include "common_impl.h"
+
+ typedef struct memblock_s {
+ char *pool;
+diff -ru libtextcat-2.2.orig/src/common.h libtextcat-2.2/src/common.h
+--- libtextcat-2.2.orig/src/common.h 2003-05-22 14:02:29.000000000 +0100
++++ libtextcat-2.2/src/common.h 2007-06-28 09:10:42.000000000 +0100
+@@ -1,7 +1,7 @@
+ #ifndef _COMMON_H_
+ #define _COMMON_H_
+ /**
+- * common.h -- a mixed bag of helper functions
++ * common.h
+ *
+ * Copyright (C) 2003 WiseGuys Internet B.V.
+ *
+@@ -36,56 +36,25 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include "config.h"
+-#ifndef HAVE_MALLOC
+-#error "This library needs a GNU like malloc to compile. 'configure' says there isn't one."
+-#endif
+-#ifndef HAVE_REALLOC
+-#error "This library needs a GNU like realloc to compile. 'configure' says there isn't one."
+-#endif
+-#ifndef HAVE_STRDUP
+-#error "This library needs a GNU like strdup to compile. 'configure' says there isn't one."
+-#endif
+ #include <stdio.h>
+-#ifdef HAVE_INTTYPES_H
+ #include <inttypes.h>
+-#else
+-#ifdef HAVE_STDINT_H
+-#include <stdint.h>
+-#endif
+-#endif
+-#ifdef HAVE_SYS_TIME_H
+-#include <sys/time.h>
+-#endif
+ #include <time.h>
+
+-#define WGMIN(x,y) ((x)<=(y)?(x):(y))
+-#define WGMAX(x,y) ((x)<=(y)?(y):(x))
+-#define __STR__(x) #x
+-#define WGSTR(x) __STR__(x)
+-
+-#ifdef HAVE_INTTYPES_H
+-typedef uint32_t uint4;
+-typedef uint16_t uint2;
+-typedef uint8_t uchar;
+-
+-typedef int32_t sint4;
+-typedef int16_t sint2;
+-typedef int8_t schar;
+-
+-typedef int8_t boole;
+-#else
+-typedef unsigned long uint4;
+-typedef unsigned int uint2;
+-typedef unsigned char uchar;
+-
+-typedef long sint4;
+-typedef int sint2;
+-typedef char schar;
+-
+-typedef char boole;
++#include <sys/time.h>
++#ifdef __cplusplus
++extern "C" {
+ #endif
+
++typedef uint32_t uint4;
++typedef uint16_t uint2;
++typedef uint8_t uchar;
++
++typedef int32_t sint4;
++typedef int16_t sint2;
++typedef int8_t schar;
++
++typedef int8_t boole;
++
+ typedef struct wgtimer_s {
+ struct timeval start;
+ struct timeval stop;
+@@ -108,6 +76,8 @@
+ extern char *wg_strgmov( char *dest, const char *src, const char *destlimit );
+ extern char *wg_trim( char *dest, const char *src );
+
++#ifdef __cplusplus
++}
++#endif
+
+ #endif
+-
+diff -ru libtextcat-2.2.orig/src/fingerprint.h libtextcat-2.2/src/fingerprint.h
+--- libtextcat-2.2.orig/src/fingerprint.h 2003-05-19 13:16:31.000000000 +0100
++++ libtextcat-2.2/src/fingerprint.h 2007-06-28 09:11:17.000000000 +0100
+@@ -35,6 +35,10 @@
+ */
+ #include "common.h"
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ extern void *fp_Init(const char *name);
+ extern void fp_Done( void *handle );
+ extern int fp_Create( void *handle, const char *buffer, uint4 bufsize, uint4 maxngrams );
+@@ -44,4 +48,8 @@
+ extern const char *fp_Name( void *handle );
+ extern void fp_Print( void *handle, FILE *fp );
+
++#ifdef __cplusplus
++}
++#endif
++
+ #endif
+--- libtextcat-2.2.orig/src/textcat.h 2007-06-28 09:19:26.000000000 +0100
++++ libtextcat-2.2/src/textcat.h 2007-06-28 09:20:19.000000000 +0100
+@@ -37,6 +37,10 @@
+ */
+ #include <stdio.h>
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ #define _TEXTCAT_RESULT_UNKOWN "UNKNOWN"
+ #define _TEXTCAT_RESULT_SHORT "SHORT"
+
+@@ -77,4 +81,9 @@
+ * textcat_Version() - Returns a string describing the version of this classifier.
+ */
+ extern char *textcat_Version();
++
++#ifdef __cplusplus
++}
++#endif
++
+ #endif
diff --git a/extra/libwpd/PKGBUILD b/extra/libwpd/PKGBUILD
index f1cfa64e7..30b22c16e 100644
--- a/extra/libwpd/PKGBUILD
+++ b/extra/libwpd/PKGBUILD
@@ -1,24 +1,22 @@
-# $Id: PKGBUILD 110381 2011-02-19 06:05:32Z eric $
-# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# $Id: PKGBUILD 122922 2011-05-07 10:20:23Z andyrtr $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
pkgname=libwpd
-pkgver=0.9.1
+pkgver=0.9.2
pkgrel=1
pkgdesc="Library for importing WordPerfect (tm) documents"
arch=('i686' 'x86_64' 'mips64el')
url="http://libwpd.sourceforge.net/"
license=('LGPL')
-depends=('libgsf>=1.14.3-2')
+depends=('gcc-libs')
+makedepends=('libgsf>=1.14.20')
options=('!libtool')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('6edd1b7eb8992888c6c82fc95859ac1b')
-sha1sums=('af4bc109ad270e873652d0af80e96b42d82dddbc')
+md5sums=('da43f18da732f6156cef145d06613960')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure --prefix=/usr \
- --without-docs
+ ./configure --prefix=/usr
make
}
diff --git a/extra/libwps/PKGBUILD b/extra/libwps/PKGBUILD
new file mode 100644
index 000000000..650e94400
--- /dev/null
+++ b/extra/libwps/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 122933 2011-05-07 10:59:22Z andyrtr $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Robert McCathie <archaur at rmcc dot com dot au>
+
+pkgname=libwps
+pkgver=0.2.2
+pkgrel=1
+pkgdesc="a Microsoft Works file word processor format import filter library"
+arch=('i686' 'x86_64')
+url="http://libwps.sourceforge.net/"
+license=('LGPL')
+depends=('libwpd>=0.9.2')
+options=(!libtool)
+source=("http://downloads.sourceforge.net/project/libwps/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2")
+#md5sums=('83d4029aebf290c0a9a8fee9c99638d3')
+#md5sums=('9e436bff44c60dc8b97cba0c7fc11a5c')
+md5sums=('29721a16f25967d59969d5f0ae485b4a')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i -e 's: -Wall -Werror -pedantic::' configure.in
+ touch NEWS AUTHORS ChangeLog
+ autoreconf -fi
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
diff --git a/extra/llvm/PKGBUILD b/extra/llvm/PKGBUILD
index 3587a7775..234b009b6 100644
--- a/extra/llvm/PKGBUILD
+++ b/extra/llvm/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 121057 2011-04-28 21:09:26Z heftig $
+# $Id: PKGBUILD 123080 2011-05-08 02:35:16Z foutrelis $
# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Sebastian Nowicki <sebnow@gmail.com>
@@ -12,7 +12,7 @@
pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
pkgver=2.9
_gcc_ver=4.6.0
-pkgrel=4
+pkgrel=5
arch=('i686' 'x86_64')
url="http://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
@@ -24,7 +24,8 @@ source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tgz
cindexer-clang-path.patch
clang-toolchains-gcc-versions.patch
clang-pure64.patch
- enable-lto.patch)
+ enable-lto.patch
+ bug-9869-operator-h-c++0x.patch)
md5sums=('793138412d2af2c7c7f54615f8943771'
'634de18d04b7a4ded19ec4c17d23cfca'
'70e23a3dc2b38ecb2bb4d2c48f47295d'
@@ -32,7 +33,8 @@ md5sums=('793138412d2af2c7c7f54615f8943771'
'87a7162dbe99e9ffce6c40bd09f5f4f0'
'8da236120a9a287a977b575b8b905c93'
'225ee6b531f8327f34f344a18cb4ec81'
- '8f7582d7440e4a8342c3aea9ec714fb4')
+ '8f7582d7440e4a8342c3aea9ec714fb4'
+ '047cac563a557463d7ec6bd87d953f5e')
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -73,6 +75,10 @@ build() {
# Use gold instead of default linker, and always use the plugin
patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch"
+ # Fix upstream bug #9869:
+ # Operator.h incompatibility with GCC 4.6 in C++0x mode
+ patch -Np2 -i "$srcdir/bug-9869-operator-h-c++0x.patch"
+
# Apply strip option to configure
_optimized_switch="enable"
[[ $(check_option strip) == n ]] && _optimized_switch="disable"
diff --git a/extra/llvm/bug-9869-operator-h-c++0x.patch b/extra/llvm/bug-9869-operator-h-c++0x.patch
new file mode 100644
index 000000000..b95d7d772
--- /dev/null
+++ b/extra/llvm/bug-9869-operator-h-c++0x.patch
@@ -0,0 +1,57 @@
+--- 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/extra/mysql/PKGBUILD b/extra/mysql/PKGBUILD
index 326472290..6f4d6c974 100644
--- a/extra/mysql/PKGBUILD
+++ b/extra/mysql/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 118056 2011-04-05 09:37:46Z andrea $
+# $Id: PKGBUILD 122912 2011-05-07 10:07:11Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgbase=mysql
pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
-pkgver=5.5.11
+pkgver=5.5.12
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
@@ -15,7 +15,7 @@ options=('!libtool')
source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz"
'mysqld'
'my.cnf')
-md5sums=('befa4e0d0aa95be6c8f6f143ae3b0641'
+md5sums=('53d31a0b24f3eb3176185090eff129b9'
'2234207625baa29b2ff7d7b4f088abce'
'1c949c0dbea5206af0db14942d9927b6')
diff --git a/extra/orca/PKGBUILD b/extra/orca/PKGBUILD
deleted file mode 100644
index c2049503f..000000000
--- a/extra/orca/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id: PKGBUILD 99644 2010-11-15 23:32:08Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: William Rea <sillywilly@gmail.com>
-
-pkgname=orca
-pkgver=2.32.1
-pkgrel=1
-pkgdesc="A scriptable screen reader and magnifier"
-arch=(i686 x86_64 'mips64el')
-license=('LGPL')
-url="http://www.gnome.org/projects/orca"
-install=orca.install
-options=('!libtool')
-depends=('pygtk>=2.22.0' 'python2-gconf' 'python2-bonobo' 'python2-libgnome' 'python-wnck' 'dbus-python>=0.83.0' 'at-spi>=1.32.0' 'gnome-speech>=0.4.25' 'gnome-mag>=0.16.0' 'brltty' 'hicolor-icon-theme' 'pyxdg')
-makedepends=('intltool')
-replaces=('gnopernicus')
-groups=('gnome-extra')
-source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/2.32/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('44da9da70c1b47bc87fda8f3b9da4cc1df9993d92388434f5707d39b5a832629')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var
- make
- make DESTDIR="${pkgdir}" install
-}
diff --git a/extra/orca/orca.install b/extra/orca/orca.install
deleted file mode 100644
index 17ca8f78a..000000000
--- a/extra/orca/orca.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_upgrade() {
- post_install $1
-}
-
-post_remove() {
- post_install $1
-}
diff --git a/extra/phonon-gstreamer/PKGBUILD b/extra/phonon-gstreamer/PKGBUILD
index 4b87c9924..18c3813c5 100644
--- a/extra/phonon-gstreamer/PKGBUILD
+++ b/extra/phonon-gstreamer/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 119060 2011-04-10 18:47:30Z andrea $
+# $Id: PKGBUILD 122917 2011-05-07 10:12:53Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=phonon-gstreamer
-pkgver=4.5.0
+pkgver=4.5.1
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://phonon.kde.org"
@@ -12,10 +12,10 @@ depends=('gstreamer0.10-base-plugins')
makedepends=('cmake' 'automoc4' 'phonon' 'mesa')
provides=('phonon-backend')
source=("http://download.kde.org/stable/phonon/phonon-backend-gstreamer/${pkgver}/src/phonon-backend-gstreamer-${pkgver}.tar.bz2")
-md5sums=('2875139f2b7b649396125f4acc66de67')
+md5sums=('021cf7740208e7212b7ce91adb6a349b')
build() {
- cd ${srcdir}
+ cd "${srcdir}"
mkdir build
cd build
cmake ../phonon-backend-gstreamer-${pkgver} \
@@ -25,6 +25,6 @@ build() {
}
package() {
- cd ${srcdir}/build
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/extra/python-qt/PKGBUILD b/extra/python-qt/PKGBUILD
deleted file mode 100644
index cdf111a7f..000000000
--- a/extra/python-qt/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 110673 2011-02-21 12:42:56Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-
-pkgname=python-qt
-pkgver=4.8.3
-pkgrel=2
-arch=('i686' 'x86_64' 'mips64el')
-url="http://riverbankcomputing.co.uk/software/pyqt/intro"
-license=('GPL')
-pkgdesc="A set of Python 3 bindings for the Qt toolkit"
-depends=('python2-qt' 'python-sip')
-optdepends=('phonon: enable audio and video in PyQt applications'
- 'qscintilla: QScintilla API'
- 'qt-assistant-compat: add PyQt online help in Qt Assistant')
-makedepends=('phonon' 'qt-assistant-compat')
-source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz")
-md5sums=('d54fd1c37a74864faf42709c8102f254')
-
-build() {
- cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
-
- python configure.py \
- --confirm-license \
- --qsci-api
-
- # Thanks Gerardo for the rpath fix
- find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
-
- make
-}
-
-package(){
- cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
- # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
- make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
-
- # Provided by python2-qt package
- rm ${pkgdir}/usr/bin/{pylupdate4,pyrcc4,pyuic4}
- rm ${pkgdir}/usr/lib/qt/plugins/designer/libpythonplugin.so
- rm ${pkgdir}/usr/share/qt/qsci/api/python/PyQt4.api
-}
diff --git a/extra/python-sip/PKGBUILD b/extra/python-sip/PKGBUILD
deleted file mode 100644
index ba45af8a9..000000000
--- a/extra/python-sip/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 110667 2011-02-21 12:01:59Z stephane $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-
-pkgname=python-sip
-pkgver=4.12.1
-pkgrel=2
-arch=('i686' 'x86_64' 'mips64el')
-url="http://www.riverbankcomputing.com/software/sip/"
-license=('custom:"sip"')
-pkgdesc="A tool that makes it easy to create Python 3 bindings for C and C++ libraries"
-depends=('python2-sip' 'python')
-source=("http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${pkgver}.tar.gz")
-md5sums=('0f8e8305b14c1812191de2e0ee22fea9')
-
-build() {
- cd "${srcdir}/sip-${pkgver}"
-
- python configure.py CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}"
- make
-}
-
-package() {
- cd "${srcdir}/sip-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-
- # Provided by python2-sip package
- rm "${pkgdir}/usr/bin/sip"
-}
diff --git a/extra/python2-qt/PKGBUILD b/extra/python2-qt/PKGBUILD
deleted file mode 100644
index de24795ff..000000000
--- a/extra/python2-qt/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 107404 2011-01-24 17:30:13Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
-# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net>
-
-pkgname=python2-qt
-pkgver=4.8.3
-pkgrel=1
-pkgdesc="A set of Python 2 bindings for the Qt toolkit"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://riverbankcomputing.co.uk/software/pyqt/intro"
-license=('GPL')
-depends=('qt' 'python2-sip' 'dbus-python')
-makedepends=('phonon' 'python-opengl' 'qt-assistant-compat')
-optdepends=('phonon: enable audio and video in PyQt applications'
- 'python-opengl: enable OpenGL 3D graphics in PyQt applications'
- 'qscintilla: QScintilla API'
- 'qt-assistant-compat: add PyQt online help in Qt Assistant')
-replaces=('pyqt')
-source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz")
-md5sums=('d54fd1c37a74864faf42709c8102f254')
-
-build() {
- cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
-
- python2 configure.py \
- --confirm-license \
- -v /usr/share/sip \
- --qsci-api
-
- # Thanks Gerardo for the rpath fix
- find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
-
- make
-}
-
-package(){
- cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
- # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
- make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
-}
diff --git a/extra/python2-sip/PKGBUILD b/extra/python2-sip/PKGBUILD
deleted file mode 100644
index 477f7595d..000000000
--- a/extra/python2-sip/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 107403 2011-01-24 17:30:04Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
-# Contributor: riai <riai@bigfoot.com>, Ben <ben@benmazer.net>
-
-pkgname=python2-sip
-pkgver=4.12.1
-pkgrel=1
-pkgdesc="A tool that makes it easy to create Python 2 bindings for C and C++ libraries"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://www.riverbankcomputing.com/software/sip/"
-license=('custom:"sip"')
-depends=('python2')
-replaces=('sip')
-source=("http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${pkgver}.tar.gz")
-md5sums=('0f8e8305b14c1812191de2e0ee22fea9')
-
-build() {
- cd "${srcdir}/sip-${pkgver}"
-
- python2 configure.py CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}"
- make
-}
-
-package() {
- cd "${srcdir}/sip-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-}
diff --git a/extra/qscintilla/PKGBUILD b/extra/qscintilla/PKGBUILD
index fa2b2aaa8..d8c966d4d 100644
--- a/extra/qscintilla/PKGBUILD
+++ b/extra/qscintilla/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 119950 2011-04-17 11:43:04Z andrea $
+# $Id: PKGBUILD 123072 2011-05-07 23:41:27Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
pkgbase=qscintilla
pkgname=('qscintilla' 'python-qscintilla' 'python2-qscintilla')
pkgver=2.5.1
-pkgrel=1
+pkgrel=2
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
url="http://www.riverbankcomputing.co.uk/software/qscintilla/intro"
-makedepends=('python-qt')
+makedepends=('python2-pyqt')
source=("http://riverbankcomputing.com/static/Downloads/QScintilla2/QScintilla-gpl-${pkgver}.tar.gz"
'configure.py-objdir-support.diff')
md5sums=('dd7edef5ff674d307057a3c12dbd8fce'
@@ -52,7 +52,7 @@ package_qscintilla() {
package_python-qscintilla() {
pkgdesc="Python 3 bindings for QScintilla2"
- depends=('python-qt' 'python2-qscintilla')
+ depends=('pyqt' 'qscintilla')
cd "${srcdir}/QScintilla-gpl-${pkgver}/Python"
install -Dm755 Qsci.so \
@@ -61,7 +61,7 @@ package_python-qscintilla() {
package_python2-qscintilla() {
pkgdesc="Python 2 bindings for QScintilla2"
- depends=('qscintilla' 'python2-qt')
+ depends=('python-qscintilla' 'python2-pyqt')
cd "${srcdir}/QScintilla-gpl-${pkgver}/Python2"
make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
diff --git a/extra/quota-tools/ChangeLog b/extra/quota-tools/ChangeLog
deleted file mode 100644
index 56c760b78..000000000
--- a/extra/quota-tools/ChangeLog
+++ /dev/null
@@ -1,9 +0,0 @@
-2009-01-07 Eric Belanger <eric@archlinux.org>
-
- * quota-tools 3.17-1
- * Upstream update
-
-2008-05-01 Eric Belanger <eric@archlinux.org>
-
- * quota-tools 3.16-1
- * Upstream update
diff --git a/extra/rxvt-unicode/rxvt-unicode.png b/extra/rxvt-unicode/rxvt-unicode.png
deleted file mode 100644
index 0738a7840..000000000
--- a/extra/rxvt-unicode/rxvt-unicode.png
+++ /dev/null
Binary files differ
diff --git a/extra/squid/fix-for-new-cap-headers.patch b/extra/squid/fix-for-new-cap-headers.patch
deleted file mode 100644
index ce24681e8..000000000
--- a/extra/squid/fix-for-new-cap-headers.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/tools.c.orig 2009-11-02 10:54:49.000000000 -0500
-+++ src/tools.c 2009-11-02 10:55:05.000000000 -0500
-@@ -44,9 +44,9 @@
- #if HAVE_SYS_CAPABILITY_H
- #undef _POSIX_SOURCE
- /* Ugly glue to get around linux header madness colliding with glibc */
--#define _LINUX_TYPES_H
-+/*#define _LINUX_TYPES_H*/
- #define _LINUX_FS_H
--typedef uint32_t __u32;
-+/*typedef uint32_t __u32;*/
- #include <sys/capability.h>
- #endif
- #endif
diff --git a/extra/squid/squid-makefiles.patch b/extra/squid/squid-makefiles.patch
deleted file mode 100644
index 4cefb89a0..000000000
--- a/extra/squid/squid-makefiles.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -Naur squid-2.7.STABLE2-orig/helpers/basic_auth/SMB/Makefile.in squid-2.7.STABLE2/helpers/basic_auth/SMB/Makefile.in
---- squid-2.7.STABLE2-orig/helpers/basic_auth/SMB/Makefile.in 2007-11-11 20:14:01.000000000 -0500
-+++ squid-2.7.STABLE2/helpers/basic_auth/SMB/Makefile.in 2008-06-09 21:32:52.000000000 -0400
-@@ -268,7 +268,7 @@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
- SMB_AUTH_HELPER = smb_auth.sh
--SAMBAPREFIX = /usr/local/samba
-+SAMBAPREFIX = /usr
- SMB_AUTH_HELPER_PATH = $(libexecdir)/$(SMB_AUTH_HELPER)
- libexec_SCRIPTS = $(SMB_AUTH_HELPER)
- smb_auth_CFLAGS = -DSAMBAPREFIX=\"$(SAMBAPREFIX)\" -DHELPERSCRIPT=\"$(SMB_AUTH_HELPER_PATH)\"
-diff -Naur squid-2.7.STABLE2-orig/src/Makefile.in squid-2.7.STABLE2/src/Makefile.in
---- squid-2.7.STABLE2-orig/src/Makefile.in 2008-01-02 20:16:40.000000000 -0500
-+++ squid-2.7.STABLE2/src/Makefile.in 2008-06-09 21:34:39.000000000 -0400
-@@ -653,13 +653,13 @@
- DEFAULT_CONFIG_FILE = $(sysconfdir)/squid.conf
- DEFAULT_MIME_TABLE = $(sysconfdir)/mime.conf
- DEFAULT_DNSSERVER = $(libexecdir)/`echo dnsserver | sed '$(transform);s/$$/$(EXEEXT)/'`
--DEFAULT_LOG_PREFIX = $(localstatedir)/logs
-+DEFAULT_LOG_PREFIX = $(localstatedir)/log/squid
- DEFAULT_CACHE_LOG = $(DEFAULT_LOG_PREFIX)/cache.log
- DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
- DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
--DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
-+DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid
- DEFAULT_NETDB_FILE = $(DEFAULT_LOG_PREFIX)/netdb.state
--DEFAULT_SWAP_DIR = $(localstatedir)/cache
-+DEFAULT_SWAP_DIR = $(localstatedir)/cache/squid
- DEFAULT_PINGER = $(libexecdir)/`echo pinger | sed '$(transform);s/$$/$(EXEEXT)/'`
- DEFAULT_UNLINKD = $(libexecdir)/`echo unlinkd | sed '$(transform);s/$$/$(EXEEXT)/'`
- DEFAULT_DISKD = $(libexecdir)/`echo diskd-daemon | sed '$(transform);s/$$/$(EXEEXT)/'`
-diff -Naur squid-2.7.STABLE2-orig/src/cf.data.pre squid-2.7.STABLE2/src/cf.data.pre
---- squid-2.7.STABLE2-orig/src/cf.data.pre 2008-05-31 16:49:45.000000000 -0400
-+++ squid-2.7.STABLE2/src/cf.data.pre 2008-06-09 21:35:43.000000000 -0400
-@@ -3749,7 +3749,7 @@
-
- NAME: cache_effective_user
- TYPE: string
--DEFAULT: nobody
-+DEFAULT: proxy
- LOC: Config.effectiveUser
- DOC_START
- If you start Squid as root, it will change its effective/real
-@@ -3763,7 +3763,7 @@
-
- NAME: cache_effective_group
- TYPE: string
--DEFAULT: none
-+DEFAULT: proxy
- LOC: Config.effectiveGroup
- DOC_START
- If you want Squid to run with a specific GID regardless of
diff --git a/extra/swfdec-mozilla/PKGBUILD b/extra/swfdec-mozilla/PKGBUILD
deleted file mode 100644
index d477c34be..000000000
--- a/extra/swfdec-mozilla/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-#$Id: PKGBUILD 17042 2008-10-24 15:55:09Z andyrtr $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=swfdec-mozilla
-pkgver=0.8.2
-pkgrel=1
-pkgdesc="free plugin for Mozilla browsers that uses the Swfdec library for playing SWF files"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://swfdec.freedesktop.org"
-license=('LGPL')
-depends=("swfdec>=$pkgver")
-source=(http://swfdec.freedesktop.org/download/swfdec-mozilla/0.8/${pkgname}-${pkgver}.tar.gz)
-options=('!libtool')
-md5sums=('716632e0d35b3c1582c180569ba30346')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr --disable-static --with-plugin-dir=/usr/lib/mozilla/plugins/
- make || return 1
- make DESTDIR=${startdir}/pkg install
-}
diff --git a/extra/swfdec/PKGBUILD b/extra/swfdec/PKGBUILD
deleted file mode 100644
index d651e0497..000000000
--- a/extra/swfdec/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-#$Id: PKGBUILD 64546 2010-01-21 03:43:49Z eric $
-#Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgname=swfdec
-pkgver=0.8.4
-pkgrel=2
-pkgdesc="free library for decoding and rendering Flash animations"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://swfdec.freedesktop.org"
-license=('LGPL')
-depends=('alsa-lib>=1.0.18' 'liboil>=0.3.15' 'gtk2>=2.14.6' 'libsoup>=2.24.2.1-1')
-makedepends=('pkgconfig' 'gstreamer0.10-ffmpeg>=0.10.6-1')
-optdepends=('gstreamer0.10-base: required for various audio and video formats'
- 'gstreamer0.10-ffmpeg: most common audio/video format for internet flash')
-source=(http://swfdec.freedesktop.org/download/swfdec/0.8/${pkgname}-${pkgver}.tar.gz)
-md5sums=('aece501d0e73f3e564200a44ec03c385')
-options=('!libtool' '!emptydirs')
-
-build() {
- cd ${startdir}/src/${pkgname}-${pkgver}
- ./configure --prefix=/usr --disable-static --enable-gtk \
- --enable-gstreamer --enable-soup --with-audio=alsa
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
-}
diff --git a/extra/trayer/PKGBUILD b/extra/trayer/PKGBUILD
index 844d36bb4..fc5a39222 100644
--- a/extra/trayer/PKGBUILD
+++ b/extra/trayer/PKGBUILD
@@ -1,23 +1,31 @@
-# $Id: PKGBUILD 15775 2008-10-18 20:40:50Z eric $
-# Maintainer: Thayer Williams <thayer@archlinux.org>
+# $Id: PKGBUILD 122890 2011-05-07 04:26:20Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=trayer
pkgver=1.0
-pkgrel=4
-pkgdesc="Swallows GTK 1.2/2.x application docklets, and KDE docklets."
+pkgrel=5
+pkgdesc="A lightweight GTK2-based systray"
arch=('i686' 'x86_64' 'mips64el')
url="https://gna.org/projects/fvwm-crystal/"
license=('GPL' 'MIT')
-depends=('gtk2' 'libxmu')
+depends=('gtk2')
+makedepends=('libxmu')
options=('!makeflags')
-source=(http://download.gna.org/fvwm-crystal/trayer/$pkgver/$pkgname-$pkgver.tar.gz
+source=(http://download.gna.org/fvwm-crystal/trayer/${pkgver}/${pkgname}-${pkgver}.tar.gz
trayer.diff)
-md5sums=('e1b0b6464f991f2c296561e377585867' '7f66eee885563871f9f76646bca6b14d')
+md5sums=('e1b0b6464f991f2c296561e377585867'
+ '7f66eee885563871f9f76646bca6b14d')
build() {
- cd $startdir/src/$pkgname-$pkgver
- patch -Np0 -i ${startdir}/src/trayer.diff || return 1
- make || return 1
- make PREFIX=$startdir/pkg/usr install
- install -D -m644 COPYING $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p0 -i ../trayer.diff
+ sed -i 's/$(LIBS) $(OBJ) $(SYSTRAYOBJ)/$(OBJ) $(SYSTRAYOBJ) $(LIBS)/' Makefile
+ make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make PREFIX="${pkgdir}/usr" install
+ install -D -m644 README "${pkgdir}/usr/share/doc/${pkgname}/README"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/extra/xbill/PKGBUILD b/extra/xbill/PKGBUILD
index 0b2e56693..7b9503c78 100644
--- a/extra/xbill/PKGBUILD
+++ b/extra/xbill/PKGBUILD
@@ -1,35 +1,39 @@
-# $Id: PKGBUILD 22212 2008-12-23 06:11:22Z eric $
-# Maintainer: Arjan Timmerman <arjan@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# $Id: PKGBUILD 122895 2011-05-07 05:36:47Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=xbill
pkgver=2.1
-pkgrel=6
-pkgdesc="Xbill is a game that tests you reflexes as you seek and destroy all forms of Bill"
+pkgrel=7
+pkgdesc="A game that tests your reflexes as you seek and destroy all forms of Bill"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.xbill.org/"
license=('GPL')
-depends=('xaw3d>=1.5E' 'libxaw')
+depends=('xaw3d')
+makedepends=('libxaw')
install=xbill.install
-source=(http://www.xbill.org/download/$pkgname-$pkgver.tar.gz)
+source=(http://www.xbill.org/download/${pkgname}-${pkgver}.tar.gz)
md5sums=('585e4866b15255a24203db9959407b2f')
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --mandir=/usr/share/man --localstatedir=/var/games \
- --disable-motif --enable-athena --disable-gtk || return 1
- make || return 1
- make DESTDIR=$pkgdir install || return 1
+ --disable-motif --enable-athena --disable-gtk
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
# set appropriate permissions and destinations
- chown root:games $pkgdir/usr/bin/xbill
- chmod 2755 $pkgdir/usr/bin/xbill
+ chown root:games "${pkgdir}/usr/bin/xbill"
+ chmod 2755 "${pkgdir}/usr/bin/xbill"
- chown root:games $pkgdir/var/games
- chmod 775 $pkgdir/var/games
- chown root:games $pkgdir/var/games/xbill
- chmod 775 $pkgdir/var/games/xbill
+ chown root:games "${pkgdir}/var/games"
+ chmod 775 "${pkgdir}/var/games"
+ chown root:games "${pkgdir}/var/games/xbill"
+ chmod 775 "${pkgdir}/var/games/xbill"
# Handle the scores file creation in the install script
- rm $pkgdir/var/games/xbill/scores
+ rm "${pkgdir}/var/games/xbill/scores"
}
diff --git a/extra/xbill/xbill.install b/extra/xbill/xbill.install
index 014c0d54b..b68d88071 100644
--- a/extra/xbill/xbill.install
+++ b/extra/xbill/xbill.install
@@ -1,6 +1,7 @@
pre_install() {
- if [ ! -e var/games/xbill/scores ]; then
- [ -e usr/var/xbill/scores ] && mv usr/var/xbill/scores var/games/xbill/scores
+ if [ ! -e var/games/xbill/scores -a -e usr/var/xbill/scores ]; then
+ mkdir -p var/games/xbill
+ mv usr/var/xbill/scores var/games/xbill/scores
fi
}
diff --git a/extra/xchm/PKGBUILD b/extra/xchm/PKGBUILD
index d870cc608..c74241a47 100644
--- a/extra/xchm/PKGBUILD
+++ b/extra/xchm/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 120950 2011-04-27 19:00:34Z giovanni $
+# $Id: PKGBUILD 122945 2011-05-07 11:59:58Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
pkgname=xchm
-pkgver=1.19
+pkgver=1.20
pkgrel=1
pkgdesc="A cross-platform GUI front-end to chmlib"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,7 +13,7 @@ install=xchm.install
source=(http://downloads.sourceforge.net/sourceforge/xchm/${pkgname}-${pkgver}.tar.gz
xchm.desktop
xchm.xml)
-md5sums=('c9d65971801e044d51476f57e91909fc'
+md5sums=('85943645d20af536704a20b58ebd5849'
'31fb9692b9ee9f2a205f58b9ff4bc4fe'
'4102b0a393f5c60236143cc034664dd0')
diff --git a/extra/xfce4-xfapplet-plugin/PKGBUILD b/extra/xfce4-xfapplet-plugin/PKGBUILD
deleted file mode 100644
index 517f78b81..000000000
--- a/extra/xfce4-xfapplet-plugin/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 105796 2011-01-11 20:47:13Z andyrtr $
-# Maintainer:
-# Contributor: Tobias Kieslich <tobias (at) archlinux.org>
-
-pkgname=xfce4-xfapplet-plugin
-pkgver=0.1.0
-pkgrel=7
-pkgdesc="plugin that allows to use gnome applets in the Xfce4 panel"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL2')
-url="http://xfce-goodies.berlios.de/"
-groups=('xfce4-goodies')
-depends=('xfce4-panel' 'libxfcegui4' 'gnome-panel' 'gnome-panel-bonobo')
-makedepends=('')
-source=(http://archive.xfce.org/src/panel-plugins/${pkgname}/0.1/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6a06c44b18a97626f44a240ad3bc3244')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --libexecdir=/usr/lib/ \
- --localstatedir=/var \
- --disable-static \
- --disable-debug
- make
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-}
diff --git a/extra/xchat-gnome/PKGBUILD b/libre/xchat-gnome-libre/PKGBUILD
index 94c6b5c40..94c6b5c40 100644
--- a/extra/xchat-gnome/PKGBUILD
+++ b/libre/xchat-gnome-libre/PKGBUILD
diff --git a/extra/xchat-gnome/gtk2-2.20.patch b/libre/xchat-gnome-libre/gtk2-2.20.patch
index 7a5dcedf2..7a5dcedf2 100644
--- a/extra/xchat-gnome/gtk2-2.20.patch
+++ b/libre/xchat-gnome-libre/gtk2-2.20.patch
diff --git a/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch b/libre/xchat-gnome-libre/xchat-gnome-0.26.1-deprecated-symbol.patch
index 5bf1e4ef5..5bf1e4ef5 100644
--- a/extra/xchat-gnome/xchat-gnome-0.26.1-deprecated-symbol.patch
+++ b/libre/xchat-gnome-libre/xchat-gnome-0.26.1-deprecated-symbol.patch
diff --git a/extra/xchat-gnome/xchat-gnome.install b/libre/xchat-gnome-libre/xchat-gnome.install
index b0816ece3..b0816ece3 100644
--- a/extra/xchat-gnome/xchat-gnome.install
+++ b/libre/xchat-gnome-libre/xchat-gnome.install
diff --git a/staging/krb5/CVE-2010-4022.patch b/staging/krb5/CVE-2010-4022.patch
deleted file mode 100644
index 30ebf9638..000000000
--- a/staging/krb5/CVE-2010-4022.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up krb5/src/slave/kpropd.c krb5/src/slave/kpropd.c
---- krb5/src/slave/kpropd.c 2010-12-17 11:14:26.000000000 -0500
-+++ krb5/src/slave/kpropd.c 2010-12-17 11:41:19.000000000 -0500
-@@ -404,11 +404,11 @@ retry:
- }
-
- close(s);
-- if (iproprole == IPROP_SLAVE)
-+ if (iproprole == IPROP_SLAVE) {
- close(finet);
--
-- if ((ret = WEXITSTATUS(status)) != 0)
-- return (ret);
-+ if ((ret = WEXITSTATUS(status)) != 0)
-+ return (ret);
-+ }
- }
- if (iproprole == IPROP_SLAVE)
- break;
diff --git a/staging/krb5/CVE-2011-0281.0282.0283.patch b/staging/krb5/CVE-2011-0281.0282.0283.patch
deleted file mode 100644
index e4623e910..000000000
--- a/staging/krb5/CVE-2011-0281.0282.0283.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-diff --git a/src/kdc/dispatch.c b/src/kdc/dispatch.c
-index 63ff3b3..b4a90bb 100644
---- a/src/kdc/dispatch.c
-+++ b/src/kdc/dispatch.c
-@@ -115,7 +115,8 @@ dispatch(void *cb, struct sockaddr *local_saddr, const krb5_fulladdr *from,
- kdc_insert_lookaside(pkt, *response);
- #endif
-
-- if (is_tcp == 0 && (*response)->length > max_dgram_reply_size) {
-+ if (is_tcp == 0 && *response != NULL &&
-+ (*response)->length > max_dgram_reply_size) {
- too_big_for_udp:
- krb5_free_data(kdc_context, *response);
- retval = make_too_big_error(response);
-diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
-index d677bb2..a356907 100644
---- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
-+++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.h
-@@ -102,14 +102,18 @@ extern void prepend_err_str (krb5_context ctx, const char *s, krb5_error_code er
- #define LDAP_SEARCH(base, scope, filter, attrs) LDAP_SEARCH_1(base, scope, filter, attrs, CHECK_STATUS)
-
- #define LDAP_SEARCH_1(base, scope, filter, attrs, status_check) \
-- do { \
-- st = ldap_search_ext_s(ld, base, scope, filter, attrs, 0, NULL, NULL, &timelimit, LDAP_NO_LIMIT, &result); \
-- if (translate_ldap_error(st, OP_SEARCH) == KRB5_KDB_ACCESS_ERROR) { \
-- tempst = krb5_ldap_rebind(ldap_context, &ldap_server_handle); \
-- if (ldap_server_handle) \
-- ld = ldap_server_handle->ldap_handle; \
-- } \
-- }while (translate_ldap_error(st, OP_SEARCH) == KRB5_KDB_ACCESS_ERROR && tempst == 0); \
-+ tempst = 0; \
-+ st = ldap_search_ext_s(ld, base, scope, filter, attrs, 0, NULL, \
-+ NULL, &timelimit, LDAP_NO_LIMIT, &result); \
-+ if (translate_ldap_error(st, OP_SEARCH) == KRB5_KDB_ACCESS_ERROR) { \
-+ tempst = krb5_ldap_rebind(ldap_context, &ldap_server_handle); \
-+ if (ldap_server_handle) \
-+ ld = ldap_server_handle->ldap_handle; \
-+ if (tempst == 0) \
-+ st = ldap_search_ext_s(ld, base, scope, filter, attrs, 0, \
-+ NULL, NULL, &timelimit, \
-+ LDAP_NO_LIMIT, &result); \
-+ } \
- \
- if (status_check != IGNORE_STATUS) { \
- if (tempst != 0) { \
-diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap_conn.c b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap_conn.c
-index 82b0333..84e80ee 100644
---- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap_conn.c
-+++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap_conn.c
-@@ -302,6 +302,7 @@ krb5_ldap_rebind(krb5_ldap_context *ldap_context,
- {
- krb5_ldap_server_handle *handle = *ldap_server_handle;
-
-+ ldap_unbind_ext_s(handle->ldap_handle, NULL, NULL);
- if ((ldap_initialize(&handle->ldap_handle, handle->server_info->server_name) != LDAP_SUCCESS)
- || (krb5_ldap_bind(ldap_context, handle) != LDAP_SUCCESS))
- return krb5_ldap_request_next_handle_from_pool(ldap_context, ldap_server_handle);
-diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c
-index 86fa4d1..0f49c86 100644
---- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c
-+++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_misc.c
-@@ -487,12 +487,11 @@ is_principal_in_realm(krb5_ldap_context *ldap_context,
- * portion, then the first portion of the principal name SHOULD be
- * "krbtgt". All this check is done in the immediate block.
- */
-- if (searchfor->length == 2)
-- if ((strncasecmp(searchfor->data[0].data, "krbtgt",
-- FIND_MAX(searchfor->data[0].length, strlen("krbtgt"))) == 0) &&
-- (strncasecmp(searchfor->data[1].data, defrealm,
-- FIND_MAX(searchfor->data[1].length, defrealmlen)) == 0))
-+ if (searchfor->length == 2) {
-+ if (data_eq_string(searchfor->data[0], "krbtgt") &&
-+ data_eq_string(searchfor->data[1], defrealm))
- return 0;
-+ }
-
- /* first check the length, if they are not equal, then they are not same */
- if (strlen(defrealm) != searchfor->realm.length)
-diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
-index 140db1a..552e39a 100644
---- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
-+++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
-@@ -78,10 +78,10 @@ krb5_error_code
- krb5_ldap_get_principal(krb5_context context, krb5_const_principal searchfor,
- unsigned int flags, krb5_db_entry **entry_ptr)
- {
-- char *user=NULL, *filter=NULL, **subtree=NULL;
-+ char *user=NULL, *filter=NULL, *filtuser=NULL;
- unsigned int tree=0, ntrees=1, princlen=0;
- krb5_error_code tempst=0, st=0;
-- char **values=NULL, *cname=NULL;
-+ char **values=NULL, **subtree=NULL, *cname=NULL;
- LDAP *ld=NULL;
- LDAPMessage *result=NULL, *ent=NULL;
- krb5_ldap_context *ldap_context=NULL;
-@@ -115,12 +115,18 @@ krb5_ldap_get_principal(krb5_context context, krb5_const_principal searchfor,
- if ((st=krb5_ldap_unparse_principal_name(user)) != 0)
- goto cleanup;
-
-- princlen = strlen(FILTER) + strlen(user) + 2 + 1; /* 2 for closing brackets */
-+ filtuser = ldap_filter_correct(user);
-+ if (filtuser == NULL) {
-+ st = ENOMEM;
-+ goto cleanup;
-+ }
-+
-+ princlen = strlen(FILTER) + strlen(filtuser) + 2 + 1; /* 2 for closing brackets */
- if ((filter = malloc(princlen)) == NULL) {
- st = ENOMEM;
- goto cleanup;
- }
-- snprintf(filter, princlen, FILTER"%s))", user);
-+ snprintf(filter, princlen, FILTER"%s))", filtuser);
-
- if ((st = krb5_get_subtree_info(ldap_context, &subtree, &ntrees)) != 0)
- goto cleanup;
-@@ -207,6 +213,9 @@ cleanup:
- if (user)
- free(user);
-
-+ if (filtuser)
-+ free(filtuser);
-+
- if (cname)
- free(cname);
-
diff --git a/staging/krb5/CVE-2011-0284.patch b/staging/krb5/CVE-2011-0284.patch
deleted file mode 100644
index c97727568..000000000
--- a/staging/krb5/CVE-2011-0284.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/kdc/do_as_req.c b/src/kdc/do_as_req.c
-index 46b5fa1..464cb6e 100644
---- a/src/kdc/do_as_req.c
-+++ b/src/kdc/do_as_req.c
-@@ -741,6 +741,8 @@ prepare_error_as (struct kdc_request_state *rstate, krb5_kdc_req *request,
- pad->contents = td[size]->data;
- pad->length = td[size]->length;
- pa[size] = pad;
-+ td[size]->data = NULL;
-+ td[size]->length = 0;
- }
- krb5_free_typed_data(kdc_context, td);
- }
diff --git a/staging/krb5/CVE-2011-0285.patch b/staging/krb5/CVE-2011-0285.patch
deleted file mode 100644
index 61039113f..000000000
--- a/staging/krb5/CVE-2011-0285.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/kadmin/server/schpw.c b/src/kadmin/server/schpw.c
-index 1124445..0056885 100644
---- a/src/kadmin/server/schpw.c
-+++ b/src/kadmin/server/schpw.c
-@@ -52,6 +52,7 @@ process_chpw_request(context, server_handle, realm, keytab,
-
- ret = 0;
- rep->length = 0;
-+ rep->data = NULL;
-
- auth_context = NULL;
- changepw = NULL;
-@@ -76,8 +77,13 @@ process_chpw_request(context, server_handle, realm, keytab,
- plen = (*ptr++ & 0xff);
- plen = (plen<<8) | (*ptr++ & 0xff);
-
-- if (plen != req->length)
-- return(KRB5KRB_AP_ERR_MODIFIED);
-+ if (plen != req->length) {
-+ ret = KRB5KRB_AP_ERR_MODIFIED;
-+ numresult = KRB5_KPASSWD_MALFORMED;
-+ strlcpy(strresult, "Request length was inconsistent",
-+ sizeof(strresult));
-+ goto chpwfail;
-+ }
-
- /* verify version number */
-
-@@ -531,6 +537,10 @@ cleanup:
- if (local_kaddrs != NULL)
- krb5_free_addresses(server_handle->context, local_kaddrs);
-
-+ if ((*response)->data == NULL) {
-+ free(*response);
-+ *response = NULL;
-+ }
- krb5_kt_close(server_handle->context, kt);
-
- return ret;
diff --git a/staging/openssh/PKGBUILD b/staging/openssh/PKGBUILD
deleted file mode 100644
index beb09369d..000000000
--- a/staging/openssh/PKGBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# $Id: PKGBUILD 122642 2011-05-05 12:30:25Z bisson $
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
-# Contributor: Aaron Griffin <aaron@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-
-pkgname=openssh
-pkgver=5.8p2
-pkgrel=4
-pkgdesc='Free version of the SSH connectivity tools'
-arch=('i686' 'x86_64')
-license=('custom:BSD')
-url='http://www.openssh.org/portable.html'
-backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd' 'etc/conf.d/sshd')
-depends=('tcp_wrappers' 'krb5' 'openssl' 'libedit')
-source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
- 'sshd.confd'
- 'sshd.pam'
- 'sshd')
-sha1sums=('64798328d310e4f06c9f01228107520adbc8b3e5'
- 'ec102deb69cad7d14f406289d2fc11fee6eddbdd'
- '660092c57bde28bed82078f74011f95fc51c2293'
- '6b7f8ebf0c1cc37137a7d9a53447ac8a0ee6a2b5')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure --prefix=/usr --libexecdir=/usr/lib/ssh \
- --sysconfdir=/etc/ssh --with-tcp-wrappers --with-privsep-user=nobody \
- --with-md5-passwords --with-pam --with-mantype=man --mandir=/usr/share/man \
- --with-xauth=/usr/bin/xauth --with-kerberos5=/usr --with-ssl-engine \
- --with-libedit=/usr/lib --disable-strip # stripping is done by makepkg
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -Dm755 ../sshd "${pkgdir}"/etc/rc.d/sshd
- install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
- install -Dm644 ../sshd.confd "${pkgdir}"/etc/conf.d/sshd
- install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
-
- rm "${pkgdir}"/usr/share/man/man1/slogin.1
- ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
-
- # additional contrib scripts that we like
- install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh
- install -Dm755 contrib/ssh-copy-id "${pkgdir}"/usr/bin/ssh-copy-id
- install -Dm644 contrib/ssh-copy-id.1 "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1
-
- # PAM is a common, standard feature to have
- sed -i -e '/^#ChallengeResponseAuthentication yes$/c ChallengeResponseAuthentication no' \
- -e '/^#UsePAM no$/c UsePAM yes' \
- "$pkgdir"/etc/ssh/sshd_config
-}
diff --git a/staging/openssh/sshd b/staging/openssh/sshd
deleted file mode 100755
index 2ee1091f0..000000000
--- a/staging/openssh/sshd
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/sshd
-
-PIDFILE=/var/run/sshd.pid
-PID=$(cat $PIDFILE 2>/dev/null)
-if ! readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/sshd'; then
- PID=
- rm $PIDFILE 2>/dev/null
-fi
-
-case "$1" in
- start)
- stat_busy "Starting Secure Shell Daemon"
- [ -f /etc/ssh/ssh_host_key ] || { /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key >/dev/null; }
- [ -f /etc/ssh/ssh_host_rsa_key ] || { /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key >/dev/null; }
- [ -f /etc/ssh/ssh_host_dsa_key ] || { /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key >/dev/null; }
- [ -f /etc/ssh/ssh_host_ecdsa_key ] || { /usr/bin/ssh-keygen -t ecdsa -N "" -f /etc/ssh/ssh_host_ecdsa_key >/dev/null; }
- [ -d /var/empty ] || mkdir -p /var/empty
- [ -z "$PID" ] && /usr/sbin/sshd $SSHD_ARGS
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon sshd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Secure Shell Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon sshd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/staging/openssh/sshd.confd b/staging/openssh/sshd.confd
deleted file mode 100644
index 5ce7c0079..000000000
--- a/staging/openssh/sshd.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# Parameters to be passed to sshd
-#
-SSHD_ARGS=""
diff --git a/staging/openssh/sshd.pam b/staging/openssh/sshd.pam
deleted file mode 100644
index ae028ceb5..000000000
--- a/staging/openssh/sshd.pam
+++ /dev/null
@@ -1,10 +0,0 @@
-#%PAM-1.0
-#auth required pam_securetty.so #Disable remote root
-auth required pam_unix.so
-auth required pam_env.so
-account required pam_nologin.so
-account required pam_unix.so
-account required pam_time.so
-password required pam_unix.so
-session required pam_unix_session.so
-session required pam_limits.so
diff --git a/staging/alpine/2.00-lpam.patch b/testing/alpine/2.00-lpam.patch
index 69e66d7ef..69e66d7ef 100644
--- a/staging/alpine/2.00-lpam.patch
+++ b/testing/alpine/2.00-lpam.patch
diff --git a/staging/alpine/CVE-2008-5514.patch b/testing/alpine/CVE-2008-5514.patch
index 594bea0b2..594bea0b2 100644
--- a/staging/alpine/CVE-2008-5514.patch
+++ b/testing/alpine/CVE-2008-5514.patch
diff --git a/staging/alpine/PKGBUILD b/testing/alpine/PKGBUILD
index 6b2f9ee73..6b2f9ee73 100644
--- a/staging/alpine/PKGBUILD
+++ b/testing/alpine/PKGBUILD
diff --git a/staging/anjuta/PKGBUILD b/testing/anjuta/PKGBUILD
index 98a1c6730..98a1c6730 100644
--- a/staging/anjuta/PKGBUILD
+++ b/testing/anjuta/PKGBUILD
diff --git a/staging/anjuta/anjuta.install b/testing/anjuta/anjuta.install
index c6fcfec11..c6fcfec11 100644
--- a/staging/anjuta/anjuta.install
+++ b/testing/anjuta/anjuta.install
diff --git a/testing/bash/PKGBUILD b/testing/bash/PKGBUILD
new file mode 100644
index 000000000..c8d6c0c36
--- /dev/null
+++ b/testing/bash/PKGBUILD
@@ -0,0 +1,87 @@
+# $Id: PKGBUILD 123077 2011-05-08 02:14:26Z allan $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=bash
+_basever=4.2
+_patchlevel=010 #prepare for some patches
+pkgver=$_basever.$_patchlevel
+pkgrel=1
+pkgdesc="The GNU Bourne Again shell"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnu.org/software/bash/bash.html"
+groups=('base')
+backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
+depends=('readline>=6.1' 'glibc')
+provides=('sh')
+install=bash.install
+source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz
+ dot.bashrc
+ dot.bash_profile
+ dot.bash_logout
+ system.bashrc
+ system.bash_logout)
+if [ $_patchlevel -gt 000 ]; then
+ for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
+ source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//./}-$(printf "%03d" $p))
+ done
+fi
+
+build() {
+ cd ${srcdir}/${pkgname}-$_basever
+ for p in ../bash${_basever//./}-*; do
+ [[ -e "$p" ]] || continue
+ msg "applying patch ${p}"
+ patch -Np0 -i ${p}
+ done
+
+ _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin\"\'
+ -DSTANDARD_UTILS_PATH=\'\"/usr/bin:/bin:/usr/sbin:/sbin\"\'
+ -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\'
+ -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\')
+ export CFLAGS="${CFLAGS} ${_bashconfig[@]}"
+
+ ./configure --prefix=/usr --with-curses --enable-readline \
+ --without-bash-malloc --with-installed-readline \
+ --bindir=/bin --mandir=/usr/share/man --infodir=/usr/share/info
+ make
+ make check
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-$_basever
+ make DESTDIR=${pkgdir} install
+
+ # for now, bash is our default /bin/sh
+ cd ${pkgdir}/bin
+ ln -s bash sh
+
+ install -dm755 ${pkgdir}/etc/skel/
+
+ # system-wide configuration files
+ install -m644 ${srcdir}/system.bashrc ${pkgdir}/etc/bash.bashrc
+ install -m644 ${srcdir}/system.bash_logout ${pkgdir}/etc/bash.bash_logout
+
+ # user configuration file skeletons
+ install -m644 ${srcdir}/dot.bashrc ${pkgdir}/etc/skel/.bashrc
+ install -m644 ${srcdir}/dot.bash_profile ${pkgdir}/etc/skel/.bash_profile
+ install -m644 ${srcdir}/dot.bash_logout ${pkgdir}/etc/skel/.bash_logout
+}
+
+md5sums=('3fb927c7c33022f1c327f14a81c0d4b0'
+ '027d6bd8f5f6a06b75bb7698cb478089'
+ '2902e0fee7a9168f3a4fd2ccd60ff047'
+ '42f4400ed2314bd7519c020d0187edc5'
+ 'fe5d3a367f7d5f754214dc05e3d958ab'
+ '472f536d7c9e8250dc4568ec4cfaf294'
+ '1100bc1dda2cdc06ac44d7e5d17864a3'
+ '30e7948079921d3261efcc6a40722135'
+ '9ea06decec43a198f3d7cf29acc602f8'
+ 'fb48f6134d7b013135929476aa0c250c'
+ 'e70e45de33426b38153b390be0dbbcd4'
+ 'ce4e5c484993705b27daa151eca242c2'
+ '88d1f96db29461767602e2546803bda7'
+ '24c574bf6d6a581e300823d9c1276af6'
+ '4c5835f2fbab36c4292bb334977e5b6d'
+ '0a51602b535ef661ee707be6c8bdb373')
diff --git a/testing/bash/bash.install b/testing/bash/bash.install
new file mode 100644
index 000000000..bc75e9b6a
--- /dev/null
+++ b/testing/bash/bash.install
@@ -0,0 +1,20 @@
+info_dir=usr/share/info
+info_files=(bash.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for f in ${info_files[@]}; do
+ usr/bin/install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for f in ${info_files[@]}; do
+ usr/bin/install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
diff --git a/testing/bash/dot.bash_logout b/testing/bash/dot.bash_logout
new file mode 100644
index 000000000..0e4e4f184
--- /dev/null
+++ b/testing/bash/dot.bash_logout
@@ -0,0 +1,3 @@
+#
+# ~/.bash_logout
+#
diff --git a/testing/bash/dot.bash_profile b/testing/bash/dot.bash_profile
new file mode 100644
index 000000000..5545f007e
--- /dev/null
+++ b/testing/bash/dot.bash_profile
@@ -0,0 +1,5 @@
+#
+# ~/.bash_profile
+#
+
+[[ -f ~/.bashrc ]] && . ~/.bashrc
diff --git a/testing/bash/dot.bashrc b/testing/bash/dot.bashrc
new file mode 100644
index 000000000..a355b0cd3
--- /dev/null
+++ b/testing/bash/dot.bashrc
@@ -0,0 +1,9 @@
+#
+# ~/.bashrc
+#
+
+# If not running interactively, don't do anything
+[[ $- != *i* ]] && return
+
+alias ls='ls --color=auto'
+PS1='[\u@\h \W]\$ '
diff --git a/testing/bash/system.bash_logout b/testing/bash/system.bash_logout
new file mode 100644
index 000000000..a76e48e4a
--- /dev/null
+++ b/testing/bash/system.bash_logout
@@ -0,0 +1,3 @@
+#
+# /etc/bash.bash_logout
+#
diff --git a/testing/bash/system.bashrc b/testing/bash/system.bashrc
new file mode 100644
index 000000000..84de2898c
--- /dev/null
+++ b/testing/bash/system.bashrc
@@ -0,0 +1,23 @@
+#
+# /etc/bash.bashrc
+#
+
+# If not running interactively, don't do anything
+[[ $- != *i* ]] && return
+
+PS1='[\u@\h \W]\$ '
+PS2='> '
+PS3='> '
+PS4='+ '
+
+case ${TERM} in
+ xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
+ PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
+
+ ;;
+ screen)
+ PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
+ ;;
+esac
+
+[ -r /etc/bash_completion ] && . /etc/bash_completion
diff --git a/testing/bind/127.0.0.zone b/testing/bind/127.0.0.zone
new file mode 100644
index 000000000..509c311f6
--- /dev/null
+++ b/testing/bind/127.0.0.zone
@@ -0,0 +1,11 @@
+$ORIGIN 0.0.127.in-addr.arpa.
+
+@ 1D IN SOA localhost. root.localhost. (
+ 42 ; serial (yyyymmdd##)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum ttl
+
+ 1D IN NS localhost.
+1 1D IN PTR localhost.
diff --git a/testing/bind/ChangeLog b/testing/bind/ChangeLog
new file mode 100644
index 000000000..fac736994
--- /dev/null
+++ b/testing/bind/ChangeLog
@@ -0,0 +1,15 @@
+
+2010-03-27 kevin <kevin@archlinux.org>
+
+ * bind 9.7.0.P1-1
+ - Patch addresses excessive query traffic generated when there is a break
+ in the DNSSEC trust chain as a result of a configuration error
+
+2010-01-22 kevin <kevin@archlinux.org>
+
+ * bind 9.6.1.P3-1
+ - Fix for CVE-2010-0097, VU#360341, BIND 9 DNSSEC validation code could
+ cause bogus NXDOMAIN responses
+ - Updated fix for CVE-2009-4022, VU#418861, BIND 9 Cache Update from
+ Additional Section
+
diff --git a/testing/bind/PKGBUILD b/testing/bind/PKGBUILD
new file mode 100644
index 000000000..b559d2c54
--- /dev/null
+++ b/testing/bind/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 122962 2011-05-07 14:45:29Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
+
+pkgname=bind
+
+# Use a period and not a hyphen before the patch level for proper versioning.
+pkgver=9.8.0.P1
+_pkgver=9.8.0-P1
+pkgrel=1
+
+pkgdesc='Berkeley Internet Name Daemon (BIND) is the reference implementation of the Domain Name System (DNS) protocols'
+arch=('i686' 'x86_64')
+url='http://www.isc.org/software/bind/'
+license=('custom:ISC')
+provides=('dns-server')
+backup=('etc/logrotate.d/named'
+ 'etc/conf.d/named'
+ 'etc/named.conf'
+ 'etc/rndc.key')
+depends=('openssl' 'libxml2')
+options=('!makeflags' '!libtool')
+source=("http://ftp.isc.org/isc/bind9/${_pkgver}/${pkgname}-${_pkgver}.tar.gz"
+ 'ftp://ftp.rs.internic.net/domain/db.cache'
+ 'so_bsdcompat.patch'
+ 'notools.patch'
+ 'named'
+ 'named.conf'
+ 'named.conf.d'
+ 'named.logrotate'
+ 'localhost.zone'
+ '127.0.0.zone')
+sha1sums=('aa8f308f218e437ac4bad616e0ae83a9b9c40c29'
+ 'ee52947062c1582858187716b776afa3613608fb'
+ '2f737f4e81186447ac2ef370fa8dcea0b3abec31'
+ '5277cf4d6fbc5728c55b51c77c9347d28393fb7c'
+ '02b0e20a542663d27af4faa4d2e397ae2764276e'
+ '5ca7a5f2a132548a090a045a2df3acea6b35d9eb'
+ '7848edbfb9a848843f57c11c02b0289eefd42d00'
+ '9ffb5c3f72390a517aeae557e32349d5d278cb63'
+ '76a0d4cd1b913db177a5a375bebc47e5956866ec'
+ '53be0f1437ebe595240d8dbdd819939582b97fb9')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${_pkgver}"
+
+ patch -p1 -i "${srcdir}"/so_bsdcompat.patch
+ patch -p1 -i "${srcdir}"/notools.patch
+
+ ./configure \
+ --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --with-libtool --enable-static=no --disable-linux-caps \
+ --with-openssl=yes --with-libxml2=yes
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${_pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ install -d "${pkgdir}"/usr/share/doc/bind
+ install ./doc/arm/*.html "${pkgdir}"/usr/share/doc/bind/
+
+ install -D -m755 ../named "${pkgdir}"/etc/rc.d/named
+ install -D -m644 ../named.conf.d "${pkgdir}"/etc/conf.d/named
+ install -D -m600 ../named.logrotate "${pkgdir}"/etc/logrotate.d/named
+ install -D -m640 -o 0 -g 40 ../named.conf "${pkgdir}"/etc/named.conf
+
+ install -d -m750 -o 0 -g 40 "${pkgdir}"/var/named
+ install -d -m755 -o 40 -g 40 "${pkgdir}"/var/run/named
+ install -m640 -o 0 -g 40 ../db.cache "${pkgdir}"/var/named/root.hint
+ install -m640 -o 0 -g 40 ../127.0.0.zone "${pkgdir}"/var/named/
+ install -m640 -o 0 -g 40 ../localhost.zone "${pkgdir}"/var/named/
+}
diff --git a/testing/bind/install b/testing/bind/install
new file mode 100644
index 000000000..e3a1397cb
--- /dev/null
+++ b/testing/bind/install
@@ -0,0 +1,21 @@
+post_install() {
+ getent group named >/dev/null || groupadd -g 40 named
+ getent passwd named >/dev/null || useradd -u 40 -c "BIND DNS Server" -g named -d /var/named -s /bin/false named
+ passwd -l named &>/dev/null
+
+ touch var/log/named.log
+ chown named:named var/log/named.log
+
+ # create an rndc.key if it doesn't already exist
+ if [ ! -s etc/rndc.key ]; then
+ usr/sbin/rndc-confgen -r /dev/urandom -b 256 | head -n 5 >>etc/rndc.key
+ chown root:named etc/rndc.key
+ chmod 640 etc/rndc.key
+ fi
+}
+
+pre_remove() {
+ getent passwd named &>/dev/null && userdel named >/dev/null
+ getent group named &>/dev/null && groupdel named >/dev/null
+ return 0
+}
diff --git a/testing/bind/localhost.zone b/testing/bind/localhost.zone
new file mode 100644
index 000000000..e3ff9641c
--- /dev/null
+++ b/testing/bind/localhost.zone
@@ -0,0 +1,10 @@
+$ORIGIN localhost.
+@ 1D IN SOA @ root (
+ 42 ; serial (yyyymmdd##)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum ttl
+
+ 1D IN NS @
+ 1D IN A 127.0.0.1
diff --git a/testing/bind/named b/testing/bind/named
new file mode 100755
index 000000000..3be558f27
--- /dev/null
+++ b/testing/bind/named
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+NAMED_ARGS=
+[ -f /etc/conf.d/named ] && . /etc/conf.d/named
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/named`
+case "$1" in
+ start)
+ stat_busy "Starting BIND"
+ [ -z "$PID" ] && /usr/sbin/named ${NAMED_ARGS}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon named
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping BIND"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon named
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ reload)
+ stat_busy "Reloading BIND"
+ [ ! -z "$PID" ] && rndc reload &>/dev/null || kill -HUP $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ ;;
+ *)
+ echo "usage: $0 {start|stop|reload|restart}"
+esac
+exit 0
diff --git a/testing/bind/named.conf b/testing/bind/named.conf
new file mode 100644
index 000000000..38fb12cbe
--- /dev/null
+++ b/testing/bind/named.conf
@@ -0,0 +1,64 @@
+//
+// /etc/named.conf
+//
+
+options {
+ directory "/var/named";
+ pid-file "/var/run/named/named.pid";
+ auth-nxdomain yes;
+ datasize default;
+// Uncomment these to enable IPv6 connections support
+// IPv4 will still work:
+// listen-on-v6 { any; };
+// Add this for no IPv4:
+// listen-on { none; };
+
+ // Default security settings.
+ allow-recursion { 127.0.0.1; };
+ allow-transfer { none; };
+ allow-update { none; };
+ version none;
+ hostname none;
+ server-id none;
+};
+
+zone "localhost" IN {
+ type master;
+ file "localhost.zone";
+ allow-transfer { any; };
+};
+
+zone "0.0.127.in-addr.arpa" IN {
+ type master;
+ file "127.0.0.zone";
+ allow-transfer { any; };
+};
+
+zone "." IN {
+ type hint;
+ file "root.hint";
+};
+
+//zone "example.org" IN {
+// type slave;
+// file "example.zone";
+// masters {
+// 192.168.1.100;
+// };
+// allow-query { any; };
+// allow-transfer { any; };
+//};
+
+logging {
+ channel xfer-log {
+ file "/var/log/named.log";
+ print-category yes;
+ print-severity yes;
+ print-time yes;
+ severity info;
+ };
+ category xfer-in { xfer-log; };
+ category xfer-out { xfer-log; };
+ category notify { xfer-log; };
+};
+
diff --git a/testing/bind/named.conf.d b/testing/bind/named.conf.d
new file mode 100644
index 000000000..aecbd2307
--- /dev/null
+++ b/testing/bind/named.conf.d
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to BIND
+#
+NAMED_ARGS="-u named"
diff --git a/testing/bind/named.logrotate b/testing/bind/named.logrotate
new file mode 100644
index 000000000..ef1a2d032
--- /dev/null
+++ b/testing/bind/named.logrotate
@@ -0,0 +1,6 @@
+/var/log/named.log {
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /var/run/named/named.pid 2>/dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/testing/bind/notools.patch b/testing/bind/notools.patch
new file mode 100644
index 000000000..2d16fdcd5
--- /dev/null
+++ b/testing/bind/notools.patch
@@ -0,0 +1,11 @@
+--- bind-9.7.0/bin/Makefile.in.orig 2010-03-14 21:19:23.000000000 -0400
++++ bind-9.7.0/bin/Makefile.in 2010-03-14 21:19:37.000000000 -0400
+@@ -19,7 +19,7 @@
+ VPATH = @srcdir@
+ top_srcdir = @top_srcdir@
+
+-SUBDIRS = named rndc dig dnssec tests tools nsupdate \
++SUBDIRS = named rndc dnssec tests tools \
+ check confgen @PKCS11_TOOLS@
+ TARGETS =
+
diff --git a/testing/bind/so_bsdcompat.patch b/testing/bind/so_bsdcompat.patch
new file mode 100644
index 000000000..cae2b835c
--- /dev/null
+++ b/testing/bind/so_bsdcompat.patch
@@ -0,0 +1,13 @@
+diff -aur old/lib/isc/unix/socket.c new/lib/isc/unix/socket.c
+--- old/lib/isc/unix/socket.c 2010-03-12 04:25:20.000000000 +0100
++++ new/lib/isc/unix/socket.c 2011-01-22 21:07:52.410000038 +0100
+@@ -681,6 +681,8 @@
+ isc_sockstatscounter_fdwatchrecvfail
+ };
+
++#undef SO_BSDCOMPAT
++
+ static void
+ manager_log(isc__socketmgr_t *sockmgr,
+ isc_logcategory_t *category, isc_logmodule_t *module, int level,
+Only in new/lib/isc/unix: socket.c.orig
diff --git a/staging/cifs-utils/PKGBUILD b/testing/cifs-utils/PKGBUILD
index 9c33cefba..9c33cefba 100644
--- a/staging/cifs-utils/PKGBUILD
+++ b/testing/cifs-utils/PKGBUILD
diff --git a/staging/cups/PKGBUILD b/testing/cups/PKGBUILD
index 64ab5d109..64ab5d109 100644
--- a/staging/cups/PKGBUILD
+++ b/testing/cups/PKGBUILD
diff --git a/staging/cups/cups b/testing/cups/cups
index 4afaf5a7c..4afaf5a7c 100755
--- a/staging/cups/cups
+++ b/testing/cups/cups
diff --git a/staging/cups/cups-avahi.patch b/testing/cups/cups-avahi.patch
index cf1056a75..cf1056a75 100644
--- a/staging/cups/cups-avahi.patch
+++ b/testing/cups/cups-avahi.patch
diff --git a/staging/cups/cups.install b/testing/cups/cups.install
index e92e17ed3..e92e17ed3 100644
--- a/staging/cups/cups.install
+++ b/testing/cups/cups.install
diff --git a/staging/cups/cups.logrotate b/testing/cups/cups.logrotate
index 9c49bbdaf..9c49bbdaf 100644
--- a/staging/cups/cups.logrotate
+++ b/testing/cups/cups.logrotate
diff --git a/staging/cups/cups.pam b/testing/cups/cups.pam
index 53724d1f8..53724d1f8 100644
--- a/staging/cups/cups.pam
+++ b/testing/cups/cups.pam
diff --git a/staging/cvs/PKGBUILD b/testing/cvs/PKGBUILD
index 76f71a2a1..76f71a2a1 100644
--- a/staging/cvs/PKGBUILD
+++ b/testing/cvs/PKGBUILD
diff --git a/staging/cvs/cvs-1.11.23-cve-2010-3846.patch b/testing/cvs/cvs-1.11.23-cve-2010-3846.patch
index e1560cef8..e1560cef8 100644
--- a/staging/cvs/cvs-1.11.23-cve-2010-3846.patch
+++ b/testing/cvs/cvs-1.11.23-cve-2010-3846.patch
diff --git a/staging/cvs/cvs-1.11.23-getline64.patch b/testing/cvs/cvs-1.11.23-getline64.patch
index 99942e058..99942e058 100644
--- a/staging/cvs/cvs-1.11.23-getline64.patch
+++ b/testing/cvs/cvs-1.11.23-getline64.patch
diff --git a/staging/cvs/cvs.install b/testing/cvs/cvs.install
index f1cdd1f3e..f1cdd1f3e 100644
--- a/staging/cvs/cvs.install
+++ b/testing/cvs/cvs.install
diff --git a/staging/cyrus-sasl-plugins/PKGBUILD b/testing/cyrus-sasl-plugins/PKGBUILD
index 5817bb657..5817bb657 100644
--- a/staging/cyrus-sasl-plugins/PKGBUILD
+++ b/testing/cyrus-sasl-plugins/PKGBUILD
diff --git a/staging/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch b/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch
index e2621278b..e2621278b 100644
--- a/staging/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch
+++ b/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.22-gcc44.patch
diff --git a/staging/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch b/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch
index 2ccd6cdb3..2ccd6cdb3 100644
--- a/staging/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch
+++ b/testing/cyrus-sasl-plugins/cyrus-sasl-2.1.23-db5-fix.patch
diff --git a/staging/cyrus-sasl/PKGBUILD b/testing/cyrus-sasl/PKGBUILD
index 6d42f9f75..6d42f9f75 100644
--- a/staging/cyrus-sasl/PKGBUILD
+++ b/testing/cyrus-sasl/PKGBUILD
diff --git a/staging/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch
index 62df3e67e..62df3e67e 100644
--- a/staging/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch
+++ b/testing/cyrus-sasl/cyrus-sasl-2.1.23+db-5.0.patch
diff --git a/staging/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch
index 0d8627b1f..0d8627b1f 100644
--- a/staging/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch
+++ b/testing/cyrus-sasl/cyrus-sasl-2.1.23-gcc4.patch
diff --git a/staging/cyrus-sasl/saslauthd b/testing/cyrus-sasl/saslauthd
index c470c801c..c470c801c 100644
--- a/staging/cyrus-sasl/saslauthd
+++ b/testing/cyrus-sasl/saslauthd
diff --git a/staging/cyrus-sasl/saslauthd.conf.d b/testing/cyrus-sasl/saslauthd.conf.d
index b42b5d0b0..b42b5d0b0 100644
--- a/staging/cyrus-sasl/saslauthd.conf.d
+++ b/testing/cyrus-sasl/saslauthd.conf.d
diff --git a/testing/dnsutils/PKGBUILD b/testing/dnsutils/PKGBUILD
new file mode 100644
index 000000000..823df71de
--- /dev/null
+++ b/testing/dnsutils/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 122965 2011-05-07 14:46:05Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
+# Contributor: mario <mario_vazq@hotmail.com>
+
+pkgname=dnsutils
+
+# Use a period and not a hyphen before the patch level for proper versioning.
+pkgver=9.8.0.P1
+_pkgver=9.8.0-P1
+pkgrel=1
+
+pkgdesc='Various DNS utilities - dig host nslookup nsupdate'
+arch=('i686' 'x86_64')
+url='https://www.isc.org/software/bind'
+license=('custom:ISC')
+depends=('openssl' 'idnkit')
+replaces=('bind-tools' 'host')
+options=('!makeflags')
+source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
+ 'tools-only.patch')
+sha1sums=('aa8f308f218e437ac4bad616e0ae83a9b9c40c29'
+ 'ac88c89e25c26d73095a3dd85e1ca1070d184ded')
+
+build() {
+ cd "${srcdir}/bind-${_pkgver}"
+ patch -p1 < ../tools-only.patch
+ export STD_CDEFINES='-DDIG_SIGCHASE'
+ ./configure \
+ --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --with-openssl=yes --with-idn=yes --disable-linux-caps
+ make
+}
+
+package() {
+ cd "${srcdir}/bind-${_pkgver}/bin"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ../COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/testing/dnsutils/tools-only.patch b/testing/dnsutils/tools-only.patch
new file mode 100644
index 000000000..b46b71f60
--- /dev/null
+++ b/testing/dnsutils/tools-only.patch
@@ -0,0 +1,25 @@
+diff -Naur bind-9.7.1-P2.orig/bin/Makefile.in bind-9.7.1-P2/bin/Makefile.in
+--- bind-9.7.1-P2.orig/bin/Makefile.in 2009-10-05 08:07:08.000000000 -0400
++++ bind-9.7.1-P2/bin/Makefile.in 2010-07-22 15:55:00.000000000 -0400
+@@ -19,8 +19,7 @@
+ VPATH = @srcdir@
+ top_srcdir = @top_srcdir@
+
+-SUBDIRS = named rndc dig dnssec tests tools nsupdate \
+- check confgen @PKCS11_TOOLS@
++SUBDIRS = dig nsupdate
+ TARGETS =
+
+ @BIND9_MAKE_RULES@
+diff -Naur bind-9.7.1-P2.orig/lib/Makefile.in bind-9.7.1-P2/lib/Makefile.in
+--- bind-9.7.1-P2.orig/lib/Makefile.in 2007-06-19 19:47:13.000000000 -0400
++++ bind-9.7.1-P2/lib/Makefile.in 2010-07-22 15:56:29.000000000 -0400
+@@ -23,7 +23,7 @@
+ # Attempt to disable parallel processing.
+ .NOTPARALLEL:
+ .NO_PARALLEL:
+-SUBDIRS = isc isccc dns isccfg bind9 lwres tests
++SUBDIRS = isc dns isccfg bind9 lwres
+ TARGETS =
+
+ @BIND9_MAKE_RULES@
diff --git a/staging/dovecot/PKGBUILD b/testing/dovecot/PKGBUILD
index 7b9a0304c..7b9a0304c 100644
--- a/staging/dovecot/PKGBUILD
+++ b/testing/dovecot/PKGBUILD
diff --git a/staging/dovecot/dovecot.install b/testing/dovecot/dovecot.install
index 51d1509ee..51d1509ee 100644
--- a/staging/dovecot/dovecot.install
+++ b/testing/dovecot/dovecot.install
diff --git a/staging/dovecot/dovecot.sh b/testing/dovecot/dovecot.sh
index b7555fe50..b7555fe50 100755
--- a/staging/dovecot/dovecot.sh
+++ b/testing/dovecot/dovecot.sh
diff --git a/staging/evolution-data-server/PKGBUILD b/testing/evolution-data-server/PKGBUILD
index 195be21c6..195be21c6 100644
--- a/staging/evolution-data-server/PKGBUILD
+++ b/testing/evolution-data-server/PKGBUILD
diff --git a/staging/evolution-exchange/PKGBUILD b/testing/evolution-exchange/PKGBUILD
index 963b54508..963b54508 100644
--- a/staging/evolution-exchange/PKGBUILD
+++ b/testing/evolution-exchange/PKGBUILD
diff --git a/staging/evolution-exchange/evolution-exchange.install b/testing/evolution-exchange/evolution-exchange.install
index 1179887f9..1179887f9 100644
--- a/staging/evolution-exchange/evolution-exchange.install
+++ b/testing/evolution-exchange/evolution-exchange.install
diff --git a/staging/gnome-control-center/PKGBUILD b/testing/gnome-control-center/PKGBUILD
index 1031b6b1d..1031b6b1d 100644
--- a/staging/gnome-control-center/PKGBUILD
+++ b/testing/gnome-control-center/PKGBUILD
diff --git a/staging/gnome-control-center/gnome-control-center.install b/testing/gnome-control-center/gnome-control-center.install
index eb703319f..eb703319f 100644
--- a/staging/gnome-control-center/gnome-control-center.install
+++ b/testing/gnome-control-center/gnome-control-center.install
diff --git a/staging/gnome-settings-daemon/PKGBUILD b/testing/gnome-settings-daemon/PKGBUILD
index 06f71588b..06f71588b 100644
--- a/staging/gnome-settings-daemon/PKGBUILD
+++ b/testing/gnome-settings-daemon/PKGBUILD
diff --git a/staging/gnome-settings-daemon/gnome-settings-daemon.install b/testing/gnome-settings-daemon/gnome-settings-daemon.install
index 483fb9450..483fb9450 100644
--- a/staging/gnome-settings-daemon/gnome-settings-daemon.install
+++ b/testing/gnome-settings-daemon/gnome-settings-daemon.install
diff --git a/staging/gnome-vfs/PKGBUILD b/testing/gnome-vfs/PKGBUILD
index 3474b4c22..3474b4c22 100644
--- a/staging/gnome-vfs/PKGBUILD
+++ b/testing/gnome-vfs/PKGBUILD
diff --git a/staging/gnome-vfs/gnome-vfs.install b/testing/gnome-vfs/gnome-vfs.install
index 793a3e7ab..793a3e7ab 100644
--- a/staging/gnome-vfs/gnome-vfs.install
+++ b/testing/gnome-vfs/gnome-vfs.install
diff --git a/staging/gnome-vfs/gnutls-config.patch b/testing/gnome-vfs/gnutls-config.patch
index f6fa18b17..f6fa18b17 100644
--- a/staging/gnome-vfs/gnutls-config.patch
+++ b/testing/gnome-vfs/gnutls-config.patch
diff --git a/staging/gtk2/PKGBUILD b/testing/gtk2/PKGBUILD
index e67d63520..e67d63520 100644
--- a/staging/gtk2/PKGBUILD
+++ b/testing/gtk2/PKGBUILD
diff --git a/staging/gtk2/gtk2.install b/testing/gtk2/gtk2.install
index 4e2b72f1b..4e2b72f1b 100644
--- a/staging/gtk2/gtk2.install
+++ b/testing/gtk2/gtk2.install
diff --git a/staging/gtk2/xid-collision-debug.patch b/testing/gtk2/xid-collision-debug.patch
index d61238c3b..d61238c3b 100644
--- a/staging/gtk2/xid-collision-debug.patch
+++ b/testing/gtk2/xid-collision-debug.patch
diff --git a/staging/gtk3/PKGBUILD b/testing/gtk3/PKGBUILD
index 5550647fc..5550647fc 100644
--- a/staging/gtk3/PKGBUILD
+++ b/testing/gtk3/PKGBUILD
diff --git a/staging/gtk3/gtk3.install b/testing/gtk3/gtk3.install
index cd8965d1f..cd8965d1f 100644
--- a/staging/gtk3/gtk3.install
+++ b/testing/gtk3/gtk3.install
diff --git a/staging/gtk3/settings.ini b/testing/gtk3/settings.ini
index 039000d38..039000d38 100644
--- a/staging/gtk3/settings.ini
+++ b/testing/gtk3/settings.ini
diff --git a/testing/gutenprint/PKGBUILD b/testing/gutenprint/PKGBUILD
new file mode 100644
index 000000000..602d12bb4
--- /dev/null
+++ b/testing/gutenprint/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 123069 2011-05-07 23:28:40Z stephane $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=gutenprint
+pkgver=5.2.7
+pkgrel=2
+pkgdesc="Top quality printer drivers for POSIX systems"
+arch=('i686' 'x86_64')
+license=('GPL')
+install=gutenprint.install
+depends=('readline' 'gnutls>=2.12.3') # needs to be checked. build log says -Lgnutls but namcap doesn't detect it
+makedepends=('gimp>=2.6.11' 'gtk2>=2.24.4' 'cups>=1.4.6' 'foomatic-db-engine' 'ghostscript>=9.02')
+optdepends=('cups: to use cups printer spooler(recommended)'
+ 'foomatic-db-engine: to use foomatic spooler'
+ 'ghostscript: adds postscript support for ijsgutenprint'
+ 'gimp: adds gutenprint plugin to gimp')
+source=(http://downloads.sourceforge.net/gimp-print/$pkgname-$pkgver.tar.bz2)
+url="http://gimp-print.sourceforge.net/"
+replaces=('gimp-print')
+options=('!libtool' '!emptydirs')
+md5sums=('b19029972bf28f6efd693270daf8f5de')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --disable-samples --with-cups --with-gimp2 \
+ --disable-translated-cups-ppds --with-gimp2-as-gutenprint \
+ --disable-libgutenprintui --enable-libgutenprintui2 --disable-gtktest \
+ --enable-cups-ppds --enable-cups-ppds-at-top-level \
+ --with-foomatic --with-foomatic3 --with-ghostscript \
+ --disable-static --disable-static-genppd --with-ijs \
+ --disable-globalized-cups-ppds
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
+
diff --git a/testing/gutenprint/gutenprint.install b/testing/gutenprint/gutenprint.install
new file mode 100644
index 000000000..05e8bec38
--- /dev/null
+++ b/testing/gutenprint/gutenprint.install
@@ -0,0 +1,9 @@
+post_install() {
+ echo ">>please run /usr/sbin/cups-genppdupdate"
+ echo ">>and restart cups deamon"
+}
+
+post_upgrade() {
+ post_install
+}
+
diff --git a/staging/kdelibs/PKGBUILD b/testing/kdelibs/PKGBUILD
index 0f4a867d4..0f4a867d4 100644
--- a/staging/kdelibs/PKGBUILD
+++ b/testing/kdelibs/PKGBUILD
diff --git a/staging/kdelibs/abs-syntax-highlight.patch b/testing/kdelibs/abs-syntax-highlight.patch
index 477479a9b..477479a9b 100644
--- a/staging/kdelibs/abs-syntax-highlight.patch
+++ b/testing/kdelibs/abs-syntax-highlight.patch
diff --git a/staging/kdelibs/archlinux-menu.patch b/testing/kdelibs/archlinux-menu.patch
index 546784fa2..546784fa2 100644
--- a/staging/kdelibs/archlinux-menu.patch
+++ b/testing/kdelibs/archlinux-menu.patch
diff --git a/staging/kdelibs/kde-applications-menu.patch b/testing/kdelibs/kde-applications-menu.patch
index 4b513298a..4b513298a 100644
--- a/staging/kdelibs/kde-applications-menu.patch
+++ b/testing/kdelibs/kde-applications-menu.patch
diff --git a/staging/kdelibs/kdelibs.install b/testing/kdelibs/kdelibs.install
index ce5c32e1b..ce5c32e1b 100644
--- a/staging/kdelibs/kdelibs.install
+++ b/testing/kdelibs/kdelibs.install
diff --git a/staging/krb5/PKGBUILD b/testing/krb5/PKGBUILD
index 4e3dd2c4f..4e3dd2c4f 100644
--- a/staging/krb5/PKGBUILD
+++ b/testing/krb5/PKGBUILD
diff --git a/staging/krb5/kadmind.rc b/testing/krb5/kadmind.rc
index 45835e35b..45835e35b 100644
--- a/staging/krb5/kadmind.rc
+++ b/testing/krb5/kadmind.rc
diff --git a/staging/krb5/krb5-kdc.rc b/testing/krb5/krb5-kdc.rc
index 05a03411e..05a03411e 100644
--- a/staging/krb5/krb5-kdc.rc
+++ b/testing/krb5/krb5-kdc.rc
diff --git a/staging/libgnomecups/PKGBUILD b/testing/libgnomecups/PKGBUILD
index 157e18f50..157e18f50 100644
--- a/staging/libgnomecups/PKGBUILD
+++ b/testing/libgnomecups/PKGBUILD
diff --git a/staging/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch b/testing/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch
index 797367bf9..797367bf9 100644
--- a/staging/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch
+++ b/testing/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch
diff --git a/staging/libgnomeprint/PKGBUILD b/testing/libgnomeprint/PKGBUILD
index db2bfedcd..db2bfedcd 100644
--- a/staging/libgnomeprint/PKGBUILD
+++ b/testing/libgnomeprint/PKGBUILD
diff --git a/staging/librpcsecgss/PKGBUILD b/testing/librpcsecgss/PKGBUILD
index c16ea175b..c16ea175b 100644
--- a/staging/librpcsecgss/PKGBUILD
+++ b/testing/librpcsecgss/PKGBUILD
diff --git a/staging/librpcsecgss/librpcsecgss-0.18-heimdal.patch b/testing/librpcsecgss/librpcsecgss-0.18-heimdal.patch
index deb039123..deb039123 100644
--- a/staging/librpcsecgss/librpcsecgss-0.18-heimdal.patch
+++ b/testing/librpcsecgss/librpcsecgss-0.18-heimdal.patch
diff --git a/staging/libtirpc/PKGBUILD b/testing/libtirpc/PKGBUILD
index b222249ff..b222249ff 100644
--- a/staging/libtirpc/PKGBUILD
+++ b/testing/libtirpc/PKGBUILD
diff --git a/staging/libtirpc/libtirpc-0.2.1-fortify.patch b/testing/libtirpc/libtirpc-0.2.1-fortify.patch
index 7375bf83e..7375bf83e 100644
--- a/staging/libtirpc/libtirpc-0.2.1-fortify.patch
+++ b/testing/libtirpc/libtirpc-0.2.1-fortify.patch
diff --git a/staging/mutt/PKGBUILD b/testing/mutt/PKGBUILD
index 9a940857c..9a940857c 100644
--- a/staging/mutt/PKGBUILD
+++ b/testing/mutt/PKGBUILD
diff --git a/staging/mutt/install b/testing/mutt/install
index d65675c06..d65675c06 100644
--- a/staging/mutt/install
+++ b/testing/mutt/install
diff --git a/staging/neon/PKGBUILD b/testing/neon/PKGBUILD
index c0fe650cf..c0fe650cf 100644
--- a/staging/neon/PKGBUILD
+++ b/testing/neon/PKGBUILD
diff --git a/testing/nfs-utils/PKGBUILD b/testing/nfs-utils/PKGBUILD
new file mode 100644
index 000000000..93c240267
--- /dev/null
+++ b/testing/nfs-utils/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 122900 2011-05-07 07:40:46Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
+# Contributor: abelstr <abel@pinklf.eu>
+# Contributor: Marco Lima <cipparello gmail com>
+
+pkgname=nfs-utils
+pkgver=1.2.3
+pkgrel=1
+pkgdesc="Support programs for Network File Systems"
+arch=('i686' 'x86_64')
+url='http://nfs.sourceforge.net'
+license=('GPL')
+backup=(etc/{exports,idmapd.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
+depends=('glibc' 'tcp_wrappers' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue')
+makedepends=('pkgconfig' 'autoconf' 'automake')
+source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2
+ nfs-common
+ nfs-common.conf
+ nfs-server
+ nfs-server.conf
+ exports
+ idmapd.conf
+ start-statd.patch
+ nfs-utils-1.1.4-mtab-sym.patch
+ nfs-utils-1.1.4-no-exec.patch)
+install=nfs-utils.install
+md5sums=('1131dc5f27c4f3905a6e7ee0d594fd4d'
+ 'fc508e10cdf5e8ddd80373b1b2bc99a1'
+ 'f73f197a16b02c3e248488ec35c4cf43'
+ '5ae080f6117cef3140f02bc162bdc755'
+ 'b9b334414baec31b97f0431d9ecdcfb9'
+ 'ff585faf410a62c4333a027c50b56bae'
+ 'eb4f4027fab6fc1201f1ca04f5954c76'
+ 'e24f81a8c8657672e262c61235d34b4a'
+ '7674106eaaa4c149bccd4f05fe3604e9'
+ '4f4827dfc93008dfadd0a530ad0872b2')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+ patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
+ patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
+
+ # arch specific patch
+ patch -Np0 -i $srcdir/start-statd.patch
+
+ ./configure --prefix=/usr --enable-nfsv3 --enable-nfsv4 --enable-gss \
+ --with-tcp-wrappers --with-statedir=/var/lib/nfs --enable-ipv6 --sysconfdir=/etc
+
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
+ make DESTDIR=$pkgdir install
+
+ # NFS & NFSv4 init scripts
+ install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
+ install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server
+ # Configuration
+ install -D -m 644 ../exports "$pkgdir/"etc/exports
+ install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
+ install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
+ install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
+ # directories
+ mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
+ mkdir "$pkgdir/"var/lib/nfs/v4recovery
+}
diff --git a/testing/nfs-utils/exports b/testing/nfs-utils/exports
new file mode 100644
index 000000000..8f4aac598
--- /dev/null
+++ b/testing/nfs-utils/exports
@@ -0,0 +1,15 @@
+# /etc/exports
+#
+# List of directories exported to NFS clients. See exports(5).
+# Use exportfs -arv to reread.
+#
+# Example for NFSv2 and NFSv3:
+# /srv/home hostname1(rw,sync) hostname2(ro,sync)
+#
+# Example for NFSv4:
+# /srv/nfs4 hostname1(rw,sync,fsid=0)
+# /srv/nfs4/home hostname1(rw,sync,nohide)
+# Using Kerberos and integrity checking:
+# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
+# /srv/nfs4/home gss/krb5i(rw,sync,nohide)
+#
diff --git a/testing/nfs-utils/idmapd.conf b/testing/nfs-utils/idmapd.conf
new file mode 100644
index 000000000..b1b23afe9
--- /dev/null
+++ b/testing/nfs-utils/idmapd.conf
@@ -0,0 +1,14 @@
+[General]
+
+Verbosity = 0
+Pipefs-Directory = /var/lib/nfs/rpc_pipefs
+Domain = localdomain
+
+[Mapping]
+
+Nobody-User = nobody
+Nobody-Group = nobody
+
+[Translation]
+
+Method = nsswitch
diff --git a/testing/nfs-utils/nfs-common b/testing/nfs-utils/nfs-common
new file mode 100644
index 000000000..13742bde3
--- /dev/null
+++ b/testing/nfs-utils/nfs-common
@@ -0,0 +1,319 @@
+#!/bin/bash
+
+daemon_name=nfs-common
+
+# daemon dependencies
+DAEMON_DEPENDS=('rpcbind')
+
+NEED_STATD=
+STATD_OPTS=
+NEED_IDMAPD=
+IDMAPD_OPTS=
+NEED_GSSD=
+GSSD_OPTS=
+PIPEFS_MOUNTPOINT=
+PIPEFS_MOUNTOPTS=
+
+# rpc.statd daemon & binary location
+STATD_DAEMON_NAME=rpc.statd
+STATD="/usr/sbin/rpc.statd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.gssd daemon & binary location
+GSSD_DAEMON_NAME=rpc.gssd
+GSSD="/usr/sbin/rpc.gssd"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+# Default mountpoint and options for rpc_pipefs filesystem
+[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
+[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
+
+# Parse the fstab file, and determine whether we need idmapd and gssd. (The
+# /etc/conf.d/nfs-common settings, if any, will override our autodetection.)
+AUTO_NEED_IDMAPD=no
+AUTO_NEED_GSSD=no
+
+if [ -f /etc/fstab ]; then
+ exec 9<&0 </etc/fstab
+
+ while read DEV MTPT FSTYPE OPTS REST; do
+ if [ "$FSTYPE" = "nfs4" ]; then
+ AUTO_NEED_IDMAPD=yes
+ fi
+ case "$OPTS" in
+ sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
+ AUTO_NEED_GSSD=yes
+ ;;
+ esac
+ done
+
+ exec 0<&9 9<&-
+fi
+
+# We also need idmapd if we run an NFSv4 server. It's fairly difficult
+# to autodetect whether there are NFSv4 exports or not, and idmapd is not a
+# particularily heavy daemon, so we auto-enable it if we find an /etc/exports
+# file. This does not mean that there are NFSv4 or other mounts active (or
+# even that nfs-kernel-server is installed), but it matches what the "start"
+# condition in nfs-kernel-server's init script does, which has a value in
+# itself.
+if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
+ AUTO_NEED_IDMAPD=yes
+fi
+
+case "$NEED_STATD" in
+ yes|no)
+ ;;
+ *)
+ NEED_STATD=yes
+ ;;
+esac
+
+case "$NEED_IDMAPD" in
+ yes|no)
+ ;;
+ *)
+ NEED_IDMAPD=$AUTO_NEED_IDMAPD
+ ;;
+esac
+
+case "$NEED_GSSD" in
+ yes|no)
+ ;;
+ *)
+ NEED_GSSD=$AUTO_NEED_GSSD
+ ;;
+esac
+
+do_modprobe() {
+ if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+ modprobe -q "$1" || true
+ fi
+}
+
+do_mount() {
+ if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+ return 1
+ fi
+
+ if grep -vw "$1" /proc/mounts &> /dev/null ; then
+ if ! mountpoint -q "$2" ; then
+ mount -t "$1" "$1" "$2" -o "$3"
+ return
+ fi
+ fi
+ return 0
+}
+
+do_umount() {
+ if mountpoint -q "$1" ; then
+ umount "$1"
+ fi
+ return 0
+}
+
+get_pid() {
+ pidof -o %PPID "$1"
+}
+
+case "$1" in
+ start)
+ ck_depends ${DAEMON_DEPENDS[@]}
+
+ rc=0
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Starting $STATD_DAEMON_NAME daemon"
+ PID=$(get_pid $STATD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid
+ # RUN
+ $STATD $STATD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ # Run sm-notify
+ /usr/sbin/sm-notify $SMNOTIFY_OPTS
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Mounting pipefs filesystem"
+ do_modprobe sunrpc
+ do_modprobe nfs
+ do_modprobe nfsd
+ do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS"
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Starting $IDMAPD_DAEMON_NAME daemon"
+ PID=$(get_pid $IDMAPD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid
+ # RUN
+ $IDMAPD $IDMAPD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+
+ if [ "$NEED_GSSD" = yes ]; then
+ do_modprobe rpcsec_gss_krb5
+ stat_busy "Starting $GSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $GSSD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid
+ # RUN
+ $GSSD $GSSD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+ fi
+
+ add_daemon $daemon_name
+ ;;
+
+ stop)
+ rc=0
+ if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
+
+ if [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Stopping $GSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $GSSD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon"
+ PID=$(get_pid $IDMAPD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+ do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
+ fi
+
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Stopping $STATD_DAEMON_NAME daemon"
+ PID=$(get_pid $STATD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ rm_daemon $daemon_name
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Daemon $STATD_DAEMON_NAME running"
+ PID=$(get_pid $STATD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Daemon $GSSD_DAEMON_NAME running"
+ PID=$(get_pid $GSSD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Daemon $IDMAPD_DAEMON_NAME running"
+ PID=$(get_pid $IDMAPD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ echo
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|status|restart}"
+esac
+exit 0
+
diff --git a/testing/nfs-utils/nfs-common.conf b/testing/nfs-utils/nfs-common.conf
new file mode 100644
index 000000000..12466b3e5
--- /dev/null
+++ b/testing/nfs-utils/nfs-common.conf
@@ -0,0 +1,40 @@
+# Parameters to be passed to nfs-common (nfs clients & server) init script.
+#
+
+# If you do not set values for the NEED_ options, they will be attempted
+# autodetected; this should be sufficient for most people. Valid alternatives
+# for the NEED_ options are "yes" and "no".
+
+# Do you want to start the statd daemon? It is not needed for NFSv4.
+NEED_STATD=""
+
+# Options to pass to rpc.statd.
+# See rpc.statd(8) for more details.
+# N.B. statd normally runs on both client and server, and run-time
+# options should be specified accordingly.
+# STATD_OPTS="-p 32765 -o 32766"
+STATD_OPTS=""
+
+# Options to pass to sm-notify
+# e.g. SMNOTIFY_OPTS="-p 32764"
+SMNOTIFY_OPTS=""
+
+# Do you want to start the idmapd daemon? It is only needed for NFSv4.
+NEED_IDMAPD=""
+
+# Options to pass to rpc.idmapd.
+# See rpc.idmapd(8) for more details.
+IDMAPD_OPTS=""
+
+# Do you want to start the gssd daemon? It is required for Kerberos mounts.
+NEED_GSSD=""
+
+# Options to pass to rpc.gssd.
+# See rpc.gssd(8) for more details.
+GSSD_OPTS=""
+
+# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
+PIPEFS_MOUNTPOINT=""
+
+# Options used to mount rpc_pipefs filesystem; the default is "defaults".
+PIPEFS_MOUNTOPTS=""
diff --git a/testing/nfs-utils/nfs-server b/testing/nfs-utils/nfs-server
new file mode 100644
index 000000000..9574cbc12
--- /dev/null
+++ b/testing/nfs-utils/nfs-server
@@ -0,0 +1,303 @@
+#!/bin/bash
+
+daemon_name=nfs-server
+
+# daemon dependencies
+DAEMON_DEPENDS=('nfs-common')
+
+NFSD_COUNT=
+NFSD_OPTS=
+NEED_SVCGSSD=
+SVCGSSD_OPTS=
+MOUNTD_OPTS=
+PROCNFSD_MOUNTPOINT=
+PROCNFSD_MOUNTOPTS=
+
+# rpc.nfsd daemon & binary location
+NFSD_PROCESS_NAME=nfsd
+NFSD_DAEMON_NAME=rpc.nfsd
+NFSD="/usr/sbin/rpc.nfsd"
+
+# rpc.svcgssd daemon & binary location
+SVCGSSD_DAEMON_NAME=rpc.svcgssd
+SVCGSSD="/usr/sbin/rpc.svcgssd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.mountd daemon & binary location
+MOUNTD_DAEMON_NAME=rpc.mountd
+MOUNTD="/usr/sbin/rpc.mountd"
+
+# exortfs binary location
+EXPORTFS="/usr/sbin/exportfs"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+# Default number of nfsd servers
+[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
+
+# Default mountpoint and options for nfsd filesystem
+[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
+[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
+
+case "$NEED_SVCGSSD" in
+ yes|no)
+ ;;
+ *)
+ NEED_SVCGSSD=no
+ ;;
+esac
+
+do_modprobe() {
+ if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+ modprobe -q "$1" || true
+ fi
+}
+
+do_mount() {
+ if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+ return 1
+ fi
+
+ if grep -vw "$1" /proc/mounts &> /dev/null ; then
+ if ! mountpoint -q "$2" ; then
+ mount -t "$1" "$1" "$2" -o "$3"
+ return
+ fi
+ fi
+ return 0
+}
+
+do_umount() {
+ if mountpoint -q "$1" ; then
+ umount "$1"
+ fi
+ return 0
+}
+
+get_pid() {
+ pidof -o %PPID "$1"
+}
+
+case "$1" in
+ start)
+ ck_depends ${DAEMON_DEPENDS[@]}
+
+ rc=0
+ stat_busy "Mounting nfsd filesystem"
+ do_modprobe nfsd
+ do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ stat_busy "Exporting all directories"
+ $EXPORTFS -r
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ stat_busy "Starting $NFSD_DAEMON_NAME daemon"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid
+ # RUN
+ $NFSD $NFSD_OPTS $NFSD_COUNT
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ do_modprobe rpcsec_gss_krb5
+ stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $SVCGSSD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid
+ # RUN
+ $SVCGSSD $SVCGSSD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+
+ PID=$(get_pid $IDMAPD)
+ [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null
+
+ stat_busy "Starting $MOUNTD_DAEMON_NAME daemon"
+ PID=$(get_pid $MOUNTD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid
+ # RUN
+ $MOUNTD $MOUNTD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+
+ add_daemon $daemon_name
+ ;;
+
+ stop)
+ rc=0
+ stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon"
+ PID=$(get_pid $MOUNTD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $SVCGSSD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ stat_busy "Stopping $NFSD_DAEMON_NAME daemon"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ # KILL (SIGINT)
+ [ ! -z "$PID" ] && kill -2 $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ sleep 1
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ # KILL (KILL) - just to be sure
+ [ ! -z "$PID" ] && kill -9 $PID &> /dev/null
+ #
+ rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+
+ stat_busy "Unexporting all directories"
+ $EXPORTFS -au
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ # flush everything out of the kernels export table
+ if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then
+ $EXPORTFS -f
+ fi
+ do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true
+ rm_daemon $daemon_name
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+
+ stat_busy "Daemon $NFSD_DAEMON_NAME running"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+
+ stat_busy "Daemon $MOUNTD_DAEMON_NAME running"
+ PID=$(get_pid $MOUNTD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ stat_busy "Daemon $SVCGSSD_DAEMON_NAME running"
+ PID=$(get_pid $SVCGSSD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ echo
+ ;;
+
+ reload)
+ rc=0
+ stat_busy "Re-exporting all directories"
+ $EXPORTFS -r
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|status|reload|restart}"
+esac
+exit 0
diff --git a/testing/nfs-utils/nfs-server.conf b/testing/nfs-utils/nfs-server.conf
new file mode 100644
index 000000000..cf75fb6f9
--- /dev/null
+++ b/testing/nfs-utils/nfs-server.conf
@@ -0,0 +1,29 @@
+# Parameters to be passed to nfs-server init script.
+#
+
+# Options to pass to rpc.nfsd.
+# See rpc.nfsd(8) for more details.
+NFSD_OPTS=""
+
+# Number of servers to start up; the default is 8 servers.
+NFSD_COUNT=""
+
+# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
+PROCNFSD_MOUNTPOINT=""
+
+# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
+PROCNFSD_MOUNTOPTS=""
+
+# Options for rpc.mountd.
+# If you have a port-based firewall, you might want to set up
+# a fixed port here using the --port option.
+# See rpc.mountd(8) for more details.
+MOUNTD_OPTS="--no-nfs-version 1 --no-nfs-version 2"
+
+# Do you want to start the svcgssd daemon? It is only required for Kerberos
+# exports. Valid alternatives are "yes" and "no"; the default is "no".
+NEED_SVCGSSD=""
+
+# Options to pass to rpc.svcgssd.
+# See rpc.svcgssd(8) for more details.
+SVCGSSD_OPTS=""
diff --git a/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
new file mode 100644
index 000000000..4a5a138e7
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
@@ -0,0 +1,138 @@
+diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4
+--- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100
++++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200
+@@ -1,112 +1,48 @@
+-dnl Checks for Kerberos
+-dnl NOTE: while we intend to do generic gss-api, currently we
+-dnl have a requirement to get an initial Kerberos machine
+-dnl credential. Thus, the requirement for Kerberos.
+-dnl The Kerberos gssapi library will be dynamically loaded?
+ AC_DEFUN([AC_KERBEROS_V5],[
++ K5CONFIG="krb5-config"
+ AC_MSG_CHECKING(for Kerberos v5)
+- AC_ARG_WITH(krb5,
+- [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])],
++ AC_ARG_WITH(krb5-config,
++ [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])],
+ [ case "$withval" in
+ yes|no)
+- krb5_with=""
++ K5CONFIG="krb5-config"
+ ;;
+ *)
+- krb5_with="$withval"
++ K5CONFIG="$withval"
+ ;;
+ esac ]
+ )
+
+- for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
+- /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
+- dnl This ugly hack brought on by the split installation of
+- dnl MIT Kerberos on Fedora Core 1
+- K5CONFIG=""
+- if test -f $dir/bin/krb5-config; then
+- K5CONFIG=$dir/bin/krb5-config
+- elif test -f "/usr/kerberos/bin/krb5-config"; then
+- K5CONFIG="/usr/kerberos/bin/krb5-config"
+- elif test -f "/usr/lib/mit/bin/krb5-config"; then
+- K5CONFIG="/usr/lib/mit/bin/krb5-config"
+- fi
+ if test "$K5CONFIG" != ""; then
+ KRBCFLAGS=`$K5CONFIG --cflags`
+ KRBLIBS=`$K5CONFIG --libs gssapi`
+- K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
+- AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
+- if test -f $dir/include/gssapi/gssapi_krb5.h -a \
+- \( -f $dir/lib/libgssapi_krb5.a -o \
+- -f $dir/lib64/libgssapi_krb5.a -o \
+- -f $dir/lib64/libgssapi_krb5.so -o \
+- -f $dir/lib/libgssapi_krb5.so \) ; then
++ if $K5CONFIG --version | grep -q -e heimdal; then
++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'`
++ AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
++ gssapi_lib=gssapi
++ KRBIMPL="heimdal"
++ elif $K5CONFIG --version | grep -q -e mit; then
++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'`
+ AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
+- KRBDIR="$dir"
+- dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
+- dnl private function (gss_krb5_ccache_name) to get correct
+- dnl behavior of changing the ccache used by gssapi.
+- dnl Starting in 1.3.2, we *DO NOT* want to use
+- dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
+- dnl to get gssapi to use a different ccache
+ if test $K5VERS -le 131; then
+ AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
+ fi
+ gssapi_lib=gssapi_krb5
+- break
+- dnl The following ugly hack brought on by the split installation
+- dnl of Heimdal Kerberos on SuSe
+- elif test \( -f $dir/include/heim_err.h -o\
+- -f $dir/include/heimdal/heim_err.h \) -a \
+- -f $dir/lib/libroken.a; then
+- AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
+- KRBDIR="$dir"
+- gssapi_lib=gssapi
+- break
+- fi
+- fi
+- done
+- dnl We didn't find a usable Kerberos environment
+- if test "x$KRBDIR" = "x"; then
+- if test "x$krb5_with" = "x"; then
+- AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
++ KRBIMPL="mit-krb5"
+ else
+- AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
+- fi
++ AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.)
++ KRBIMPL="unknown"
+ fi
+- AC_MSG_RESULT($KRBDIR)
+-
+- dnl Check if -rpath=$(KRBDIR)/lib is needed
+- echo "The current KRBDIR is $KRBDIR"
+- if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
+- -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
+- KRBLDFLAGS="";
+- elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
+- KRBLDFLAGS="";
+- else
+- KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
++ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
+ fi
++ AC_MSG_RESULT($KRBIMPL)
+
+- dnl Now check for functions within gssapi library
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
+- AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
+- AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
+- AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
+-
+- dnl Check for newer error message facility
+- AC_CHECK_LIB($gssapi_lib, krb5_get_error_message,
+- AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
+
+- dnl Check for function to specify addressless tickets
+- AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless,
+- AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
+-
+- dnl If they specified a directory and it didn't work, give them a warning
+- if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
+- AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
+- fi
+-
+- AC_SUBST([KRBDIR])
+ AC_SUBST([KRBLIBS])
+ AC_SUBST([KRBCFLAGS])
+ AC_SUBST([KRBLDFLAGS])
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
new file mode 100644
index 000000000..c9e60afc7
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
@@ -0,0 +1,39 @@
+ripped from Debian
+
+--- nfs-utils-1.1.4/utils/mount/fstab.c
++++ nfs-utils-1.1.4/utils/mount/fstab.c
+@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
+ return var_mtab_does_not_exist;
+ }
+
+-static int
++int
+ mtab_is_a_symlink(void) {
+ get_mtab_info();
+ return var_mtab_is_a_symlink;
+--- nfs-utils-1.1.4/utils/mount/fstab.h
++++ nfs-utils-1.1.4/utils/mount/fstab.h
+@@ -7,6 +7,7 @@
+ #define _PATH_FSTAB "/etc/fstab"
+ #endif
+
++int mtab_is_a_symlink(void);
+ int mtab_is_writable(void);
+ int mtab_does_not_exist(void);
+ void reset_mtab_info(void);
+--- nfs-utils-1.1.4/utils/mount/mount.c
++++ nfs-utils-1.1.4/utils/mount/mount.c
+@@ -230,6 +230,13 @@ create_mtab (void) {
+ int flags;
+ mntFILE *mfp;
+
++ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
++ that would create a file /proc/mounts in case the proc filesystem
++ is not mounted, and the fchmod below would also fail. */
++ if (mtab_is_a_symlink()) {
++ return EX_SUCCESS;
++ }
++
+ lock_mtab();
+
+ mfp = nfs_setmntent (MOUNTED, "a+");
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch
new file mode 100644
index 000000000..ea50a21d8
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch
@@ -0,0 +1,15 @@
+ripped from Debian
+
+--- nfs-utils-1.1.2/utils/mount/mount.c
++++ nfs-utils-1.1.2/utils/mount/mount.c
+@@ -381,10 +381,6 @@
+ mount_error(NULL, mount_point, ENOTDIR);
+ return 1;
+ }
+- if (access(mount_point, X_OK) < 0) {
+- mount_error(NULL, mount_point, errno);
+- return 1;
+- }
+
+ return 0;
+ }
diff --git a/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
new file mode 100644
index 000000000..7f6c7a751
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
@@ -0,0 +1,69 @@
+diff -Naur nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c nfs-utils-1.1.6/utils/gssd/krb5_util.c
+--- utils/gssd/krb5_util.c 2009-04-20 19:32:50.000000000 +0200
++++ utils/gssd/krb5_util.c 2009-04-20 20:57:31.000000000 +0200
+@@ -940,9 +940,37 @@
+ {
+ krb5_error_code ret;
+ krb5_creds creds;
+- krb5_cc_cursor cur;
+ int found = 0;
+
++#ifdef HAVE_HEIMDAL
++ krb5_creds pattern;
++ krb5_realm *client_realm;
++
++ krb5_cc_clear_mcred(&pattern);
++
++ client_realm = krb5_princ_realm (context, principal);
++
++ ret = krb5_make_principal (context, &pattern.server,
++ *client_realm, KRB5_TGS_NAME, *client_realm,
++ NULL);
++ if (ret)
++ krb5_err (context, 1, ret, "krb5_make_principal");
++ pattern.client = principal;
++
++ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
++ krb5_free_principal (context, pattern.server);
++ if (ret) {
++ if (ret == KRB5_CC_END)
++ return 1;
++ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
++ }
++
++ found = creds.times.endtime > time(NULL);
++
++ krb5_free_cred_contents (context, &creds);
++#else
++ krb5_cc_cursor cur;
++
+ ret = krb5_cc_start_seq_get(context, ccache, &cur);
+ if (ret)
+ return 0;
+@@ -962,6 +990,7 @@
+ krb5_free_cred_contents(context, &creds);
+ }
+ krb5_cc_end_seq_get(context, ccache, &cur);
++#endif
+
+ return found;
+ }
+@@ -1008,6 +1037,9 @@
+ }
+ krb5_free_principal(context, principal);
+ err_princ:
++#ifdef HAVE_HEIMDAL
++#define KRB5_TC_OPENCLOSE 0x00000001
++#endif
+ krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
+ krb5_cc_close(context, ccache);
+ err_cache:
+@@ -1262,7 +1294,7 @@
+ if (context != NULL) {
+ origmsg = krb5_get_error_message(context, code);
+ msg = strdup(origmsg);
+- krb5_free_error_message(context, origmsg);
++ krb5_free_error_string(context, origmsg);
+ }
+ #endif
+ if (msg != NULL)
diff --git a/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
new file mode 100644
index 000000000..917136a8c
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
@@ -0,0 +1,57 @@
+Index: nfs-utils-1.1.6/utils/gssd/context_lucid.c
+===================================================================
+--- nfs-utils-1.1.6.orig/utils/gssd/context_lucid.c
++++ nfs-utils-1.1.6/utils/gssd/context_lucid.c
+@@ -51,8 +51,10 @@
+ #include "context.h"
+
+ #ifndef OM_uint64
++#ifndef GSSAPI_GSSAPI_H_
+ typedef uint64_t OM_uint64;
+ #endif
++#endif
+
+ static int
+ write_lucid_keyblock(char **p, char *end, gss_krb5_lucid_key_t *key)
+@@ -177,10 +179,10 @@
+ int retcode = 0;
+
+ printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
+- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
++ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
+ 1, &return_ctx);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_export_lucid_sec_context",
++ pgsserr("gss_krb5_export_lucid_sec_context",
+ maj_stat, min_stat, &krb5oid);
+ goto out_err;
+ }
+@@ -204,9 +206,9 @@
+ else
+ retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf, endtime);
+
+- maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx);
++ maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_export_lucid_sec_context",
++ pgsserr("gss_krb5_export_lucid_sec_context",
+ maj_stat, min_stat, &krb5oid);
+ printerr(0, "WARN: failed to free lucid sec context\n");
+ }
+Index: nfs-utils-1.1.6/utils/gssd/krb5_util.c
+===================================================================
+--- nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c
++++ nfs-utils-1.1.6/utils/gssd/krb5_util.c
+@@ -332,10 +332,10 @@
+ return -1;
+ }
+
+- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
++ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
+ num_enctypes, &enctypes);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_set_allowable_enctypes",
++ pgsserr("gss_krb5_set_allowable_enctypes",
+ maj_stat, min_stat, &krb5oid);
+ gss_release_cred(&min_stat, &credh);
+ return -1;
diff --git a/testing/nfs-utils/nfs-utils.install b/testing/nfs-utils/nfs-utils.install
new file mode 100644
index 000000000..7dcdf9575
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils.install
@@ -0,0 +1,32 @@
+## arg 1: the new package version
+post_install() {
+cat << 'EOM'
+ ==> PLEASE NOTE:
+ ==> Extended configuration options for NFS (clients & server) are available in
+ ==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
+ ==>
+ ==> Please refer to http://wiki.archlinux.org/index.php/Nfs
+ ==> for further information on NFS; for NFSv4, refer to
+ ==> http://wiki.archlinux.org/index.php/NFSv4
+EOM
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then
+cat << 'EOM'
+ ==> IMPORTANT NFS UTILS CHANGES:
+ ==> This is a rather important upgrade, you are going to have to change config files.
+ ==> /etc/rc.conf daemons changes:
+ ==> Change portmap to rpcbind
+ ==> Change nfslock to nfs-common
+ ==> Change nfsd to nfs-server
+ ==>
+ ==> Extended configuration options for NFS (clients & server) are available in:
+ ==> /etc/conf.d/nfs-common
+ ==> /etc/conf.d/nfs-server
+ ==> Please change them to your needs.
+EOM
+ fi
+}
diff --git a/testing/nfs-utils/start-statd.patch b/testing/nfs-utils/start-statd.patch
new file mode 100644
index 000000000..38c60a784
--- /dev/null
+++ b/testing/nfs-utils/start-statd.patch
@@ -0,0 +1,22 @@
+--- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100
++++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100
+@@ -1,9 +1,16 @@
+-#!/bin/sh -p
++#!/bin/sh
++
++# Original script provided by the NFS project
++# Modified for Arch Linux by Tom Killian
++
+ # nfsmount calls this script when mounting a filesystem with locking
+ # enabled, but when statd does not seem to be running (based on
+ # /var/run/rpc.statd.pid).
+ # It should run run statd with whatever flags are apropriate for this
+ # site.
+-PATH=/sbin:/usr/sbin
+-exec rpc.statd --no-notify
++
++# source application-specific settings
++[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf
++
++exec /usr/sbin/rpc.statd $STATD_OPTS
+
diff --git a/staging/nss_ldap/PKGBUILD b/testing/nss_ldap/PKGBUILD
index 0a1f93d38..0a1f93d38 100644
--- a/staging/nss_ldap/PKGBUILD
+++ b/testing/nss_ldap/PKGBUILD
diff --git a/testing/openssh/PKGBUILD b/testing/openssh/PKGBUILD
index 3e5e7d9e3..beb09369d 100644
--- a/testing/openssh/PKGBUILD
+++ b/testing/openssh/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 122639 2011-05-05 12:22:20Z bisson $
+# $Id: PKGBUILD 122642 2011-05-05 12:30:25Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=openssh
pkgver=5.8p2
-pkgrel=3
+pkgrel=4
pkgdesc='Free version of the SSH connectivity tools'
arch=('i686' 'x86_64')
license=('custom:BSD')
url='http://www.openssh.org/portable.html'
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd' 'etc/conf.d/sshd')
-depends=('tcp_wrappers' 'heimdal' 'libedit')
+depends=('tcp_wrappers' 'krb5' 'openssl' 'libedit')
source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
'sshd.confd'
'sshd.pam'
diff --git a/staging/samba/PKGBUILD b/testing/samba/PKGBUILD
index 6bd883503..6bd883503 100644
--- a/staging/samba/PKGBUILD
+++ b/testing/samba/PKGBUILD
diff --git a/staging/samba/fix-ipv6-mount.patch b/testing/samba/fix-ipv6-mount.patch
index 89bef6533..89bef6533 100644
--- a/staging/samba/fix-ipv6-mount.patch
+++ b/testing/samba/fix-ipv6-mount.patch
diff --git a/staging/samba/samba b/testing/samba/samba
index 1b222d6cc..1b222d6cc 100755
--- a/staging/samba/samba
+++ b/testing/samba/samba
diff --git a/staging/samba/samba.conf.d b/testing/samba/samba.conf.d
index 8721f956a..8721f956a 100644
--- a/staging/samba/samba.conf.d
+++ b/testing/samba/samba.conf.d
diff --git a/staging/samba/samba.logrotate b/testing/samba/samba.logrotate
index 581f4c33b..581f4c33b 100644
--- a/staging/samba/samba.logrotate
+++ b/testing/samba/samba.logrotate
diff --git a/staging/samba/samba.pam b/testing/samba/samba.pam
index 53724d1f8..53724d1f8 100644
--- a/staging/samba/samba.pam
+++ b/testing/samba/samba.pam
diff --git a/staging/samba/swat.xinetd b/testing/samba/swat.xinetd
index 2e62a82b2..2e62a82b2 100644
--- a/staging/samba/swat.xinetd
+++ b/testing/samba/swat.xinetd
diff --git a/staging/subversion/PKGBUILD b/testing/subversion/PKGBUILD
index 0f9c0a70a..0f9c0a70a 100644
--- a/staging/subversion/PKGBUILD
+++ b/testing/subversion/PKGBUILD
diff --git a/staging/subversion/subversion.rpath.fix.patch b/testing/subversion/subversion.rpath.fix.patch
index ba6ee9e4e..ba6ee9e4e 100644
--- a/staging/subversion/subversion.rpath.fix.patch
+++ b/testing/subversion/subversion.rpath.fix.patch
diff --git a/staging/subversion/subversion.suppress.deprecation.warnings.patch b/testing/subversion/subversion.suppress.deprecation.warnings.patch
index 94ce89b18..94ce89b18 100644
--- a/staging/subversion/subversion.suppress.deprecation.warnings.patch
+++ b/testing/subversion/subversion.suppress.deprecation.warnings.patch
diff --git a/staging/subversion/svn b/testing/subversion/svn
index 8988aaf63..8988aaf63 100644
--- a/staging/subversion/svn
+++ b/testing/subversion/svn
diff --git a/staging/subversion/svnmerge.py b/testing/subversion/svnmerge.py
index d8931648f..d8931648f 100644
--- a/staging/subversion/svnmerge.py
+++ b/testing/subversion/svnmerge.py
diff --git a/staging/subversion/svnserve b/testing/subversion/svnserve
index 670fee742..670fee742 100755
--- a/staging/subversion/svnserve
+++ b/testing/subversion/svnserve
diff --git a/staging/subversion/svnserve.conf b/testing/subversion/svnserve.conf
index 37fb7ea10..37fb7ea10 100644
--- a/staging/subversion/svnserve.conf
+++ b/testing/subversion/svnserve.conf
diff --git a/testing/syslog-ng/PKGBUILD b/testing/syslog-ng/PKGBUILD
new file mode 100644
index 000000000..3a25d87e4
--- /dev/null
+++ b/testing/syslog-ng/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 123085 2011-05-08 03:28:44Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=syslog-ng
+pkgver=3.2.4
+pkgrel=1
+pkgdesc="Next-generation syslogd with advanced networking and filtering capabilities"
+arch=('i686' 'x86_64')
+license=('GPL2')
+groups=('base')
+url="http://www.balabit.com/network-security/syslog-ng/"
+depends=('glib2' 'eventlog' 'tcp_wrappers' 'openssl' 'libcap' 'awk')
+makedepends=('flex' 'pkg-config')
+optdepends=('logrotate: for rotating log files')
+provides=('logger')
+options=('!libtool')
+backup=('etc/syslog-ng/modules.conf' 'etc/syslog-ng/scl.conf' \
+ 'etc/syslog-ng/syslog-ng.conf' 'etc/logrotate.d/syslog-ng')
+source=(http://www.balabit.com/downloads/files/syslog-ng/sources/${pkgver}/source/${pkgname}_${pkgver}.tar.gz \
+ syslog-ng.conf syslog-ng.logrotate syslog-ng.rc cap_syslog.patch)
+md5sums=('5995f7dad0053a478b60a63f6f754203'
+ '344dddfff946300f5576b13a7e8ea19f'
+ '735636090be4582885974542d2a75855'
+ '8b4441343d859c2f01c2cf799a7e6f98'
+ '46e5dcff71f820d497898331a3f608fe')
+sha1sums=('ff732f7223bd2bd0424d4b9028b523cf62133af1'
+ 'b9eb8c61f7cccda543fc5c97fe1d40a8d15e713f'
+ 'ac997b25d7d8e69e66782d3771a0e12aff55ae7f'
+ '4481819762fd1b6f25903016a8878e63c0058fcb'
+ 'f093a09626a528d23f0f2aeece018cab15a735a9')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+# fix #22555 for kernels >=2.6.38
+ patch -p1 -i ../cap_syslog.patch
+ ./configure --prefix=/usr --sysconfdir=/etc/syslog-ng \
+ --libexecdir=/usr/lib --localstatedir=/var/lib/syslog-ng \
+ --enable-tcp-wrapper \
+ --with-pidfile-dir=/var/run \
+ --disable-spoof-source
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -dm755 "${pkgdir}/var/lib/syslog-ng" "${pkgdir}/etc/syslog-ng/patterndb.d"
+ install -Dm644 "${srcdir}/syslog-ng.conf" "${pkgdir}/etc/syslog-ng/syslog-ng.conf"
+ install -Dm644 "${srcdir}/syslog-ng.logrotate" "${pkgdir}/etc/logrotate.d/syslog-ng"
+ install -Dm755 "${srcdir}/syslog-ng.rc" "${pkgdir}/etc/rc.d/syslog-ng"
+}
diff --git a/testing/syslog-ng/cap_syslog.patch b/testing/syslog-ng/cap_syslog.patch
new file mode 100644
index 000000000..b6e6db6e4
--- /dev/null
+++ b/testing/syslog-ng/cap_syslog.patch
@@ -0,0 +1,101 @@
+diff --git a/lib/gprocess.h b/lib/gprocess.h
+index cda35b0..5c449f7 100644
+--- a/lib/gprocess.h
++++ b/lib/gprocess.h
+@@ -28,9 +28,14 @@
+ #include "syslog-ng.h"
+
+ #include <sys/types.h>
++#include <sys/utsname.h>
+
+ #if ENABLE_LINUX_CAPS
+ # include <sys/capability.h>
++#
++# ifndef CAP_SYSLOG
++# define CAP_SYSLOG 34
++# endif
+ #endif
+
+ typedef enum
+@@ -78,5 +83,8 @@ void g_process_finish(void);
+
+ void g_process_add_option_group(GOptionContext *ctx);
+
++extern int kernel_version;
++extern void get_kernel_version(void);
++#define LINUX_VERSION(x,y,z) (0x10000*(x) + 0x100*(y) + z)
+
+ #endif
+diff --git a/modules/affile/affile.c b/modules/affile/affile.c
+index e145324..886fa72 100644
+--- a/modules/affile/affile.c
++++ b/modules/affile/affile.c
+@@ -59,7 +59,12 @@ affile_open_file(gchar *name, gint flags,
+ if (privileged)
+ {
+ g_process_cap_modify(CAP_DAC_READ_SEARCH, TRUE);
+- g_process_cap_modify(CAP_SYS_ADMIN, TRUE);
++ if (!kernel_version)
++ get_kernel_version();
++ if (kernel_version < LINUX_VERSION(2, 6, 38))
++ g_process_cap_modify(CAP_SYS_ADMIN, TRUE);
++ else
++ g_process_cap_modify(CAP_SYSLOG, TRUE);
+ }
+ else
+ {
+diff --git a/syslog-ng/main.c b/syslog-ng/main.c
+index 9880c1f..ee5031b 100644
+--- a/syslog-ng/main.c
++++ b/syslog-ng/main.c
+@@ -67,6 +67,7 @@ static gboolean syntax_only = FALSE;
+ static gboolean display_version = FALSE;
+ static gchar *ctlfilename = PATH_CONTROL_SOCKET;
+ static gchar *preprocess_into = NULL;
++int kernel_version;
+
+ static volatile sig_atomic_t sig_hup_received = FALSE;
+ static volatile sig_atomic_t sig_term_received = FALSE;
+@@ -363,6 +364,20 @@ version(void)
+ ON_OFF_STR(ENABLE_PACCT_MODULE));
+ }
+
++void
++get_kernel_version(void) {
++ static struct utsname uts;
++ int x = 0, y = 0, z = 0;
++
++ if (uname(&uts) == -1) {
++ fprintf(stderr, "Unable to retrieve kernel version.\n");
++ exit(1);
++ }
++
++ sscanf(uts.release, "%d.%d.%d", &x, &y, &z);
++ kernel_version = LINUX_VERSION(x, y, z);
++}
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -379,9 +394,20 @@ main(int argc, char *argv[])
+ * indicate readability. Enabling/disabling cap_sys_admin on every poll
+ * invocation seems to be too expensive. So I enable it for now. */
+
+- g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
++ if (!kernel_version)
++ get_kernel_version();
++ if (kernel_version < LINUX_VERSION(2, 6, 34))
++ g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
+ "cap_dac_read_search,cap_dac_override,cap_chown,cap_fowner=p "
+ "cap_sys_admin=ep");
++ else if (kernel_version < LINUX_VERSION(2, 6, 38))
++ g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
++ "cap_dac_read_search,cap_dac_override,cap_chown,cap_fowner,"
++ "cap_sys_admin=p");
++ else
++ g_process_set_caps("cap_net_bind_service,cap_net_broadcast,cap_net_raw,"
++ "cap_dac_read_search,cap_dac_override,cap_chown,cap_fowner,"
++ "cap_syslog=p");
+ ctx = g_option_context_new("syslog-ng");
+ g_process_add_option_group(ctx);
+ msg_add_option_group(ctx);
diff --git a/testing/syslog-ng/syslog-ng.conf b/testing/syslog-ng/syslog-ng.conf
new file mode 100644
index 000000000..6e3362681
--- /dev/null
+++ b/testing/syslog-ng/syslog-ng.conf
@@ -0,0 +1,92 @@
+@version: 3.2
+#
+# /etc/syslog-ng/syslog-ng.conf
+#
+
+options {
+ stats_freq (0);
+ flush_lines (0);
+ time_reopen (10);
+ log_fifo_size (1000);
+ long_hostnames(off);
+ use_dns (no);
+ use_fqdn (no);
+ create_dirs (no);
+ keep_hostname (yes);
+ perm(0640);
+ group("log");
+};
+
+source src {
+ unix-dgram("/dev/log");
+ internal();
+ file("/proc/kmsg");
+};
+
+destination d_authlog { file("/var/log/auth.log"); };
+destination d_syslog { file("/var/log/syslog.log"); };
+destination d_cron { file("/var/log/crond.log"); };
+destination d_daemon { file("/var/log/daemon.log"); };
+destination d_kernel { file("/var/log/kernel.log"); };
+destination d_lpr { file("/var/log/lpr.log"); };
+destination d_user { file("/var/log/user.log"); };
+destination d_uucp { file("/var/log/uucp.log"); };
+destination d_mail { file("/var/log/mail.log"); };
+destination d_news { file("/var/log/news.log"); };
+destination d_ppp { file("/var/log/ppp.log"); };
+destination d_debug { file("/var/log/debug.log"); };
+destination d_messages { file("/var/log/messages.log"); };
+destination d_errors { file("/var/log/errors.log"); };
+destination d_everything { file("/var/log/everything.log"); };
+destination d_iptables { file("/var/log/iptables.log"); };
+destination d_acpid { file("/var/log/acpid.log"); };
+destination d_console { usertty("root"); };
+
+# Log everything to tty12
+destination console_all { file("/dev/tty12"); };
+
+filter f_auth { facility(auth); };
+filter f_authpriv { facility(auth, authpriv); };
+filter f_syslog { program(syslog-ng); };
+filter f_cron { facility(cron); };
+filter f_daemon { facility(daemon); };
+filter f_kernel { facility(kern) and not filter(f_iptables); };
+filter f_lpr { facility(lpr); };
+filter f_mail { facility(mail); };
+filter f_news { facility(news); };
+filter f_user { facility(user); };
+filter f_uucp { facility(uucp); };
+filter f_ppp { facility(local2); };
+filter f_debug { not facility(auth, authpriv, news, mail); };
+filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news, cron) and not program(syslog-ng) and not filter(f_iptables); };
+filter f_everything { level(debug..emerg) and not facility(auth, authpriv); };
+filter f_emergency { level(emerg); };
+filter f_info { level(info); };
+filter f_notice { level(notice); };
+filter f_warn { level(warn); };
+filter f_crit { level(crit); };
+filter f_err { level(err); };
+filter f_iptables { match("IN=" value("MESSAGE")) and match("OUT=" value("MESSAGE")); };
+filter f_acpid { program("acpid"); };
+
+log { source(src); filter(f_acpid); destination(d_acpid); };
+log { source(src); filter(f_authpriv); destination(d_authlog); };
+log { source(src); filter(f_syslog); destination(d_syslog); };
+log { source(src); filter(f_cron); destination(d_cron); };
+log { source(src); filter(f_daemon); destination(d_daemon); };
+log { source(src); filter(f_kernel); destination(d_kernel); };
+log { source(src); filter(f_lpr); destination(d_lpr); };
+log { source(src); filter(f_mail); destination(d_mail); };
+log { source(src); filter(f_news); destination(d_news); };
+log { source(src); filter(f_ppp); destination(d_ppp); };
+log { source(src); filter(f_user); destination(d_user); };
+log { source(src); filter(f_uucp); destination(d_uucp); };
+#log { source(src); filter(f_debug); destination(d_debug); };
+log { source(src); filter(f_messages); destination(d_messages); };
+log { source(src); filter(f_err); destination(d_errors); };
+log { source(src); filter(f_emergency); destination(d_console); };
+log { source(src); filter(f_everything); destination(d_everything); };
+log { source(src); filter(f_iptables); destination(d_iptables); };
+
+# Log everything to tty12
+#log { source(src); destination(console_all); };
diff --git a/testing/syslog-ng/syslog-ng.logrotate b/testing/syslog-ng/syslog-ng.logrotate
new file mode 100644
index 000000000..e0e6929f2
--- /dev/null
+++ b/testing/syslog-ng/syslog-ng.logrotate
@@ -0,0 +1,7 @@
+/var/log/messages.log /var/log/auth.log /var/log/mail.log /var/log/kernel.log /var/log/errors.log /var/log/daemon.log /var/log/user.log /var/log/iptables.log /var/log/everything.log /var/log/syslog.log /var/log/acpid.log /var/log/crond.log /var/log/lpr.log /var/log/uucp.log /var/log/news.log /var/log/ppp.log /var/log/debug.log {
+ missingok
+ sharedscripts
+ postrotate
+ /bin/kill -HUP `cat /var/run/syslog-ng.pid 2>/dev/null` 2> /dev/null || true
+ endscript
+}
diff --git a/testing/syslog-ng/syslog-ng.rc b/testing/syslog-ng/syslog-ng.rc
new file mode 100755
index 000000000..bb5320b2c
--- /dev/null
+++ b/testing/syslog-ng/syslog-ng.rc
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+checkconfig() {
+ syslog-ng -s -f /etc/syslog-ng/syslog-ng.conf
+ if [ $? -gt 0 ]; then
+ stat_busy "Configuration error. Please fix your config file (/etc/syslog-ng/syslog-ng.conf)."
+ stat_fail
+ exit 0
+ fi
+}
+
+PID=`pidof -o %PPID /usr/sbin/syslog-ng`
+case "$1" in
+ start)
+ stat_busy "Starting Syslog-NG"
+ checkconfig
+ [ -z "$PID" ] && /usr/sbin/syslog-ng
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon syslog-ng
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Syslog-NG"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/syslog-ng.pid
+# Removing stale syslog-ng.persist file. Its new location, as of 2.0.6-1, is /var/lib/syslog-ng/
+ rm -f /var/syslog-ng.persist
+ rm_daemon syslog-ng
+ stat_done
+ fi
+ ;;
+ reload)
+ stat_busy "Reloading Syslog-NG configuration and re-opening log files"
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ checkconfig
+ kill -HUP $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|reload}"
+esac
+exit 0
diff --git a/testing/wget/PKGBUILD b/testing/wget/PKGBUILD
new file mode 100644
index 000000000..6712f4491
--- /dev/null
+++ b/testing/wget/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 122950 2011-05-07 12:59:07Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=wget
+pkgver=1.12
+pkgrel=7
+pkgdesc="A network utility to retrieve files from the Web"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/wget/wget.html"
+license=('GPL3')
+groups=('base')
+depends=('glibc' 'openssl')
+optdepends=('ca-certificates: HTTPS downloads')
+backup=('etc/wgetrc')
+install=wget.install
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ wget-1.12-CVE-2010-2252.patch
+ wget-1.12-subjectAltName.patch)
+md5sums=('141461b9c04e454dc8933c9d1f2abf83'
+ '2c8bc23eff98fd4efc3f96394fc8e61e'
+ 'bd589403b7bb4967a6f41b0f43b1c8aa')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix arbitrary file overwrite via 3xx redirect (CVE-2010-2252)
+ patch -Np1 -i $srcdir/wget-1.12-CVE-2010-2252.patch
+
+ # https://savannah.gnu.org/bugs/index.php?20421
+ patch -Np0 -i $srcdir/wget-1.12-subjectAltName.patch
+
+ # Note : We do not build with --enable-nls, because there is a bug in wget causing
+ # international domain names to be not properly converted to punycode if
+ # the current locale is a UTF-8 one
+ # See : http://lists.gnu.org/archive/html/bug-wget/2011-02/msg00026.html
+
+ ./configure -with-ssl --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ cat >> "$pkgdir/etc/wgetrc" <<EOF
+
+# default root certs location
+ca_certificate=/etc/ssl/certs/ca-certificates.crt
+EOF
+
+ # remove IRI option from wgetrc as it does not work (see above)
+ sed -i '118,120d' $pkgdir/etc/wgetrc
+
+}
diff --git a/testing/wget/wget-1.12-CVE-2010-2252.patch b/testing/wget/wget-1.12-CVE-2010-2252.patch
new file mode 100644
index 000000000..d1d797a2c
--- /dev/null
+++ b/testing/wget/wget-1.12-CVE-2010-2252.patch
@@ -0,0 +1,155 @@
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' wget~/doc/wget.texi wget/doc/wget.texi
+--- wget~/doc/wget.texi 2010-09-05 15:32:44.000000000 +0200
++++ wget/doc/wget.texi 2010-09-05 15:32:44.000000000 +0200
+@@ -1487,6 +1487,13 @@
+ @code{Content-Disposition} headers to describe what the name of a
+ downloaded file should be.
+
++@cindex Trust server names
++@item --trust-server-names
++
++If this is set to on, on a redirect the last component of the
++redirection URL will be used as the local file name. By default it is
++used the last component in the original URL.
++
+ @cindex authentication
+ @item --auth-no-challenge
+
+@@ -2797,6 +2804,10 @@
+ Turn on recognition of the (non-standard) @samp{Content-Disposition}
+ HTTP header---if set to @samp{on}, the same as @samp{--content-disposition}.
+
++@item trust_server_names = on/off
++If set to on, use the last component of a redirection URL for the local
++file name.
++
+ @item continue = on/off
+ If set to on, force continuation of preexistent partially retrieved
+ files. See @samp{-c} before setting it.
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' wget~/src/http.c wget/src/http.c
+--- wget~/src/http.c 2010-09-05 15:30:22.000000000 +0200
++++ wget/src/http.c 2010-09-05 15:32:44.000000000 +0200
+@@ -2410,8 +2410,9 @@
+ /* The genuine HTTP loop! This is the part where the retrieval is
+ retried, and retried, and retried, and... */
+ uerr_t
+-http_loop (struct url *u, char **newloc, char **local_file, const char *referer,
+- int *dt, struct url *proxy, struct iri *iri)
++http_loop (struct url *u, struct url *original_url, char **newloc,
++ char **local_file, const char *referer, int *dt, struct url *proxy,
++ struct iri *iri)
+ {
+ int count;
+ bool got_head = false; /* used for time-stamping and filename detection */
+@@ -2457,7 +2458,8 @@
+ }
+ else if (!opt.content_disposition)
+ {
+- hstat.local_file = url_file_name (u);
++ hstat.local_file =
++ url_file_name (opt.trustservernames ? u : original_url);
+ got_name = true;
+ }
+
+@@ -2497,7 +2499,7 @@
+
+ /* Send preliminary HEAD request if -N is given and we have an existing
+ * destination file. */
+- file_name = url_file_name (u);
++ file_name = url_file_name (opt.trustservernames ? u : original_url);
+ if (opt.timestamping
+ && !opt.content_disposition
+ && file_exists_p (file_name))
+@@ -2852,9 +2854,9 @@
+
+ /* Remember that we downloaded the file for later ".orig" code. */
+ if (*dt & ADDED_HTML_EXTENSION)
+- downloaded_file(FILE_DOWNLOADED_AND_HTML_EXTENSION_ADDED, hstat.local_file);
++ downloaded_file (FILE_DOWNLOADED_AND_HTML_EXTENSION_ADDED, hstat.local_file);
+ else
+- downloaded_file(FILE_DOWNLOADED_NORMALLY, hstat.local_file);
++ downloaded_file (FILE_DOWNLOADED_NORMALLY, hstat.local_file);
+
+ ret = RETROK;
+ goto exit;
+@@ -2885,9 +2887,9 @@
+
+ /* Remember that we downloaded the file for later ".orig" code. */
+ if (*dt & ADDED_HTML_EXTENSION)
+- downloaded_file(FILE_DOWNLOADED_AND_HTML_EXTENSION_ADDED, hstat.local_file);
++ downloaded_file (FILE_DOWNLOADED_AND_HTML_EXTENSION_ADDED, hstat.local_file);
+ else
+- downloaded_file(FILE_DOWNLOADED_NORMALLY, hstat.local_file);
++ downloaded_file (FILE_DOWNLOADED_NORMALLY, hstat.local_file);
+
+ ret = RETROK;
+ goto exit;
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' wget~/src/http.h wget/src/http.h
+--- wget~/src/http.h 2010-09-05 15:30:22.000000000 +0200
++++ wget/src/http.h 2010-09-05 15:32:44.000000000 +0200
+@@ -33,8 +33,8 @@
+
+ struct url;
+
+-uerr_t http_loop (struct url *, char **, char **, const char *, int *,
+- struct url *, struct iri *);
++uerr_t http_loop (struct url *, struct url *, char **, char **, const char *,
++ int *, struct url *, struct iri *);
+ void save_cookies (void);
+ void http_cleanup (void);
+ time_t http_atotm (const char *);
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' wget~/src/init.c wget/src/init.c
+--- wget~/src/init.c 2010-09-05 15:30:22.000000000 +0200
++++ wget/src/init.c 2010-09-05 15:32:44.000000000 +0200
+@@ -243,6 +243,7 @@
+ { "timeout", NULL, cmd_spec_timeout },
+ { "timestamping", &opt.timestamping, cmd_boolean },
+ { "tries", &opt.ntry, cmd_number_inf },
++ { "trustservernames", &opt.trustservernames, cmd_boolean },
+ { "useproxy", &opt.use_proxy, cmd_boolean },
+ { "user", &opt.user, cmd_string },
+ { "useragent", NULL, cmd_spec_useragent },
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' wget~/src/main.c wget/src/main.c
+--- wget~/src/main.c 2010-09-05 15:30:22.000000000 +0200
++++ wget/src/main.c 2010-09-05 15:32:44.000000000 +0200
+@@ -266,6 +266,7 @@
+ { "timeout", 'T', OPT_VALUE, "timeout", -1 },
+ { "timestamping", 'N', OPT_BOOLEAN, "timestamping", -1 },
+ { "tries", 't', OPT_VALUE, "tries", -1 },
++ { "trust-server-names", 0, OPT_BOOLEAN, "trustservernames", -1 },
+ { "user", 0, OPT_VALUE, "user", -1 },
+ { "user-agent", 'U', OPT_VALUE, "useragent", -1 },
+ { "verbose", 'v', OPT_BOOLEAN, "verbose", -1 },
+@@ -675,6 +676,8 @@
+ N_("\
+ -I, --include-directories=LIST list of allowed directories.\n"),
+ N_("\
++ --trust-server-names use the name specified by the redirection url last component.\n"),
++ N_("\
+ -X, --exclude-directories=LIST list of excluded directories.\n"),
+ N_("\
+ -np, --no-parent don't ascend to the parent directory.\n"),
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' wget~/src/options.h wget/src/options.h
+--- wget~/src/options.h 2010-09-05 15:30:22.000000000 +0200
++++ wget/src/options.h 2010-09-05 15:32:44.000000000 +0200
+@@ -242,6 +242,7 @@
+ char *encoding_remote;
+ char *locale;
+
++ bool trustservernames;
+ #ifdef __VMS
+ int ftp_stmlf; /* Force Stream_LF format for binary FTP. */
+ #endif /* def __VMS */
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' wget~/src/retr.c wget/src/retr.c
+--- wget~/src/retr.c 2010-09-05 15:30:22.000000000 +0200
++++ wget/src/retr.c 2010-09-05 15:32:44.000000000 +0200
+@@ -689,7 +689,8 @@
+ #endif
+ || (proxy_url && proxy_url->scheme == SCHEME_HTTP))
+ {
+- result = http_loop (u, &mynewloc, &local_file, refurl, dt, proxy_url, iri);
++ result = http_loop (u, orig_parsed, &mynewloc, &local_file, refurl, dt,
++ proxy_url, iri);
+ }
+ else if (u->scheme == SCHEME_FTP)
+ {
diff --git a/testing/wget/wget-1.12-subjectAltName.patch b/testing/wget/wget-1.12-subjectAltName.patch
new file mode 100644
index 000000000..20f08d216
--- /dev/null
+++ b/testing/wget/wget-1.12-subjectAltName.patch
@@ -0,0 +1,216 @@
+=== modified file 'src/openssl.c'
+--- src/openssl.c 2009-09-22 16:16:43 +0000
++++ src/openssl.c 2009-10-24 23:06:44 +0000
+@@ -39,7 +39,7 @@
+ #include <string.h>
+
+ #include <openssl/ssl.h>
+-#include <openssl/x509.h>
++#include <openssl/x509v3.h>
+ #include <openssl/err.h>
+ #include <openssl/rand.h>
+
+@@ -486,9 +486,11 @@
+ ssl_check_certificate (int fd, const char *host)
+ {
+ X509 *cert;
++ GENERAL_NAMES *subjectAltNames;
+ char common_name[256];
+ long vresult;
+ bool success = true;
++ bool alt_name_checked = false;
+
+ /* If the user has specified --no-check-cert, we still want to warn
+ him about problems with the server's certificate. */
+@@ -536,7 +538,8 @@
+ break;
+ case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
+ case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
+- logprintf (LOG_NOTQUIET, _(" Self-signed certificate encountered.\n"));
++ logprintf (LOG_NOTQUIET,
++ _(" Self-signed certificate encountered.\n"));
+ break;
+ case X509_V_ERR_CERT_NOT_YET_VALID:
+ logprintf (LOG_NOTQUIET, _(" Issued certificate not yet valid.\n"));
+@@ -558,10 +561,6 @@
+ /* Check that HOST matches the common name in the certificate.
+ #### The following remains to be done:
+
+- - It should use dNSName/ipAddress subjectAltName extensions if
+- available; according to rfc2818: "If a subjectAltName extension
+- of type dNSName is present, that MUST be used as the identity."
+-
+ - When matching against common names, it should loop over all
+ common names and choose the most specific one, i.e. the last
+ one, not the first one, which the current code picks.
+@@ -569,50 +568,123 @@
+ - Ensure that ASN1 strings from the certificate are encoded as
+ UTF-8 which can be meaningfully compared to HOST. */
+
+- X509_NAME *xname = X509_get_subject_name(cert);
+- common_name[0] = '\0';
+- X509_NAME_get_text_by_NID (xname, NID_commonName, common_name,
+- sizeof (common_name));
++ subjectAltNames = X509_get_ext_d2i (cert, NID_subject_alt_name, NULL, NULL);
+
+- if (!pattern_match (common_name, host))
++ if (subjectAltNames)
+ {
+- logprintf (LOG_NOTQUIET, _("\
+-%s: certificate common name %s doesn't match requested host name %s.\n"),
+- severity, quote_n (0, common_name), quote_n (1, host));
+- success = false;
++ /* Test subject alternative names */
++
++ /* Do we want to check for dNSNAmes or ipAddresses (see RFC 2818)?
++ * Signal it by host_in_octet_string. */
++ ASN1_OCTET_STRING *host_in_octet_string = NULL;
++ host_in_octet_string = a2i_IPADDRESS (host);
++
++ int numaltnames = sk_GENERAL_NAME_num (subjectAltNames);
++ int i;
++ for (i=0; i < numaltnames; i++)
++ {
++ const GENERAL_NAME *name =
++ sk_GENERAL_NAME_value (subjectAltNames, i);
++ if (name)
++ {
++ if (host_in_octet_string)
++ {
++ if (name->type == GEN_IPADD)
++ {
++ /* Check for ipAddress */
++ /* TODO: Should we convert between IPv4-mapped IPv6
++ * addresses and IPv4 addresses? */
++ alt_name_checked = true;
++ if (!ASN1_STRING_cmp (host_in_octet_string,
++ name->d.iPAddress))
++ break;
++ }
++ }
++ else if (name->type == GEN_DNS)
++ {
++ /* Check for dNSName */
++ alt_name_checked = true;
++ /* dNSName should be IA5String (i.e. ASCII), however who
++ * does trust CA? Convert it into UTF-8 for sure. */
++ unsigned char *name_in_utf8 = NULL;
++ if (0 <= ASN1_STRING_to_UTF8 (&name_in_utf8, name->d.dNSName))
++ {
++ /* Compare and check for NULL attack in ASN1_STRING */
++ if (pattern_match ((char *)name_in_utf8, host) &&
++ (strlen ((char *)name_in_utf8) ==
++ ASN1_STRING_length (name->d.dNSName)))
++ {
++ OPENSSL_free (name_in_utf8);
++ break;
++ }
++ OPENSSL_free (name_in_utf8);
++ }
++ }
++ }
++ }
++ sk_GENERAL_NAME_free (subjectAltNames);
++ if (host_in_octet_string)
++ ASN1_OCTET_STRING_free(host_in_octet_string);
++
++ if (alt_name_checked == true && i >= numaltnames)
++ {
++ logprintf (LOG_NOTQUIET,
++ _("%s: no certificate subject alternative name matches\n"
++ "\trequested host name %s.\n"),
++ severity, quote_n (1, host));
++ success = false;
++ }
+ }
+- else
++
++ if (alt_name_checked == false)
+ {
+- /* We now determine the length of the ASN1 string. If it differs from
+- * common_name's length, then there is a \0 before the string terminates.
+- * This can be an instance of a null-prefix attack.
+- *
+- * https://www.blackhat.com/html/bh-usa-09/bh-usa-09-archives.html#Marlinspike
+- * */
+-
+- int i = -1, j;
+- X509_NAME_ENTRY *xentry;
+- ASN1_STRING *sdata;
+-
+- if (xname) {
+- for (;;)
+- {
+- j = X509_NAME_get_index_by_NID (xname, NID_commonName, i);
+- if (j == -1) break;
+- i = j;
++ /* Test commomName */
++ X509_NAME *xname = X509_get_subject_name(cert);
++ common_name[0] = '\0';
++ X509_NAME_get_text_by_NID (xname, NID_commonName, common_name,
++ sizeof (common_name));
++
++ if (!pattern_match (common_name, host))
++ {
++ logprintf (LOG_NOTQUIET, _("\
++ %s: certificate common name %s doesn't match requested host name %s.\n"),
++ severity, quote_n (0, common_name), quote_n (1, host));
++ success = false;
++ }
++ else
++ {
++ /* We now determine the length of the ASN1 string. If it
++ * differs from common_name's length, then there is a \0
++ * before the string terminates. This can be an instance of a
++ * null-prefix attack.
++ *
++ * https://www.blackhat.com/html/bh-usa-09/bh-usa-09-archives.html#Marlinspike
++ * */
++
++ int i = -1, j;
++ X509_NAME_ENTRY *xentry;
++ ASN1_STRING *sdata;
++
++ if (xname) {
++ for (;;)
++ {
++ j = X509_NAME_get_index_by_NID (xname, NID_commonName, i);
++ if (j == -1) break;
++ i = j;
++ }
+ }
+- }
+
+- xentry = X509_NAME_get_entry(xname,i);
+- sdata = X509_NAME_ENTRY_get_data(xentry);
+- if (strlen (common_name) != ASN1_STRING_length (sdata))
+- {
+- logprintf (LOG_NOTQUIET, _("\
+-%s: certificate common name is invalid (contains a NUL character).\n\
+-This may be an indication that the host is not who it claims to be\n\
+-(that is, it is not the real %s).\n"),
+- severity, quote (host));
+- success = false;
++ xentry = X509_NAME_get_entry(xname,i);
++ sdata = X509_NAME_ENTRY_get_data(xentry);
++ if (strlen (common_name) != ASN1_STRING_length (sdata))
++ {
++ logprintf (LOG_NOTQUIET, _("\
++ %s: certificate common name is invalid (contains a NUL character).\n\
++ This may be an indication that the host is not who it claims to be\n\
++ (that is, it is not the real %s).\n"),
++ severity, quote (host));
++ success = false;
++ }
+ }
+ }
+
+@@ -631,3 +703,7 @@
+ /* Allow --no-check-cert to disable certificate checking. */
+ return opt.check_cert ? success : true;
+ }
++
++/*
++ * vim: tabstop=2 shiftwidth=2 softtabstop=2
++ */
+
diff --git a/testing/wget/wget.install b/testing/wget/wget.install
new file mode 100644
index 000000000..171533352
--- /dev/null
+++ b/testing/wget/wget.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(wget.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/staging/wireshark/PKGBUILD b/testing/wireshark/PKGBUILD
index a83355164..a83355164 100644
--- a/staging/wireshark/PKGBUILD
+++ b/testing/wireshark/PKGBUILD
diff --git a/staging/wireshark/wireshark-gtk.install b/testing/wireshark/wireshark-gtk.install
index 6b1b64bdd..6b1b64bdd 100644
--- a/staging/wireshark/wireshark-gtk.install
+++ b/testing/wireshark/wireshark-gtk.install
diff --git a/staging/wireshark/wireshark.install b/testing/wireshark/wireshark.install
index 6585ba272..6585ba272 100644
--- a/staging/wireshark/wireshark.install
+++ b/testing/wireshark/wireshark.install
diff --git a/staging/xfprint/PKGBUILD b/testing/xfprint/PKGBUILD
index 1d622e190..1d622e190 100644
--- a/staging/xfprint/PKGBUILD
+++ b/testing/xfprint/PKGBUILD
diff --git a/staging/xfprint/xfprint-manager-fix.diff b/testing/xfprint/xfprint-manager-fix.diff
index 1bf0725f8..1bf0725f8 100644
--- a/staging/xfprint/xfprint-manager-fix.diff
+++ b/testing/xfprint/xfprint-manager-fix.diff
diff --git a/staging/xfprint/xfprint.install b/testing/xfprint/xfprint.install
index 21b79d2d4..21b79d2d4 100644
--- a/staging/xfprint/xfprint.install
+++ b/testing/xfprint/xfprint.install