summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-testing/courier-mta/PKGBUILD113
-rw-r--r--community-testing/courier-mta/courier-mta.conf.d18
-rw-r--r--community-testing/courier-mta/courier-mta.install46
-rw-r--r--community-testing/courier-mta/courier-mta.rc.d60
-rw-r--r--community-testing/courier-mta/courier-webmail-cleancache.cron.hourly6
-rw-r--r--community-testing/vhba-module/PKGBUILD27
-rw-r--r--community-testing/vhba-module/vhba-kernel2.6.37.patch56
-rw-r--r--community-testing/vhba-module/vhba-module.install16
-rw-r--r--community-testing/virtualbox/10-vboxdrv.rules5
-rw-r--r--community-testing/virtualbox/18-system-xorg.patch277
-rw-r--r--community-testing/virtualbox/60-vboxguest.rules2
-rw-r--r--community-testing/virtualbox/LocalConfig.kmk19
-rw-r--r--community-testing/virtualbox/PKGBUILD217
-rw-r--r--community-testing/virtualbox/change_default_driver_dir.patch18
-rw-r--r--community-testing/virtualbox/vboxdrv-reference.patch45
-rwxr-xr-xcommunity-testing/virtualbox/vboxdrv.sh80
-rw-r--r--community-testing/virtualbox/virtualbox-4-makeself-check.patch10
-rw-r--r--community-testing/virtualbox/virtualbox-4-mkisofs-check.patch10
-rw-r--r--community-testing/virtualbox/virtualbox-guest-modules.install24
-rw-r--r--community-testing/virtualbox/virtualbox.install65
-rw-r--r--community/camlp5-transitional/PKGBUILD47
-rw-r--r--community/compizconfig-backend-kconfig/PKGBUILD34
-rw-r--r--community/libtrash/PKGBUILD35
-rw-r--r--community/libtrash/libtrash.install15
-rw-r--r--community/libtrash/libtrash.patch11
-rw-r--r--community/libtrash/libtrash.sh3
-rw-r--r--community/mediastreamer/PKGBUILD25
-rw-r--r--community/mediastreamer/disable-v4l1.patch50
-rw-r--r--community/mongodb/gcc46fixes.diff132
-rw-r--r--community/mongodb/gcc46fixes2.diff26
-rw-r--r--community/python-pycurl/PKGBUILD22
-rw-r--r--community/sfml/use-system-libs.patch70
-rw-r--r--community/synfigstudio/images-makefile.patch49
-rw-r--r--extra/alpine/2.00-lpam.patch13
-rw-r--r--extra/alpine/CVE-2008-5514.patch20
-rw-r--r--extra/alpine/PKGBUILD44
-rw-r--r--extra/anjuta-extras/PKGBUILD26
-rw-r--r--extra/anjuta-extras/anjuta-extras.install17
-rw-r--r--extra/aufs2-util/PKGBUILD25
-rwxr-xr-xextra/aufs2-util/create-tarball.sh11
-rw-r--r--extra/bochs/2.4.5-fetchcode.patch45
-rw-r--r--extra/celestia/libpng14.patch12
-rw-r--r--extra/fbida/ChangeLog21
-rw-r--r--extra/fbida/jinclude.h91
-rw-r--r--extra/fbida/libpng-1.4.patch17
-rw-r--r--extra/fbida/transupp.c1583
-rw-r--r--extra/fbida/transupp.h210
-rw-r--r--extra/fvwm-devel/PKGBUILD37
-rw-r--r--extra/fvwm-devel/fvwm-devel.desktop6
-rw-r--r--extra/fvwm/fvwm2.desktop8
-rw-r--r--extra/icewm/ChangeLog15
-rw-r--r--extra/icewm/icewm.desktop6
-rw-r--r--extra/indent/indent-2.2.9-file.diff12
-rw-r--r--extra/libindi/linking-pthread.patch11
-rw-r--r--extra/moc/curl-streams.diff28
-rw-r--r--extra/mousepad/PKGBUILD28
-rw-r--r--extra/mousepad/mousepad.install16
-rw-r--r--extra/mousepad/resensitize-find-button.patch28
-rw-r--r--extra/python2/CVE-2011-1521.patch98
-rw-r--r--extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch48
-rw-r--r--extra/rcs/rcs-5.7.patch67
-rw-r--r--extra/xfprint/PKGBUILD35
-rw-r--r--extra/xfprint/xfprint-manager-fix.diff29
-rw-r--r--extra/xfprint/xfprint.install11
-rw-r--r--multilib-testing/lib32-llvm/PKGBUILD153
-rw-r--r--multilib-testing/lib32-llvm/cindexer-clang-path.patch10
-rw-r--r--multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch11
-rw-r--r--multilib-testing/lib32-llvm/clang-pure64.patch38
-rw-r--r--multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch12
-rw-r--r--multilib-testing/lib32-llvm/enable-lto.patch36
-rw-r--r--staging/kdeaccessibility/PKGBUILD98
-rw-r--r--staging/kdeaccessibility/kdeaccessibility.install11
-rw-r--r--staging/kdeadmin/PKGBUILD80
-rw-r--r--staging/kdeadmin/kdeadmin.install11
-rw-r--r--staging/kdeadmin/syslog-path.patch11
-rw-r--r--staging/kdeartwork/PKGBUILD102
-rw-r--r--staging/kdebase-runtime/PKGBUILD38
-rw-r--r--staging/kdebase-runtime/kdebase-runtime.install12
-rw-r--r--staging/kdebase-workspace/PKGBUILD72
-rw-r--r--staging/kdebase-workspace/fixpath.patch34
-rw-r--r--staging/kdebase-workspace/kde-np.pam7
-rw-r--r--staging/kdebase-workspace/kde.pam7
-rw-r--r--staging/kdebase-workspace/kdebase-workspace.install25
-rw-r--r--staging/kdebase-workspace/kdm36
-rw-r--r--staging/kdebase-workspace/kdm-zsh-profile.patch11
-rw-r--r--staging/kdebase-workspace/kscreensaver.pam1
-rw-r--r--staging/kdebase-workspace/terminate-server.patch11
-rw-r--r--staging/kdebase/PKGBUILD129
-rw-r--r--staging/kdebase/kdebase.install11
-rw-r--r--staging/kdebindings/PKGBUILD71
-rw-r--r--staging/kdeedu/PKGBUILD270
-rw-r--r--staging/kdeedu/gpsd-2.96.patch43
-rw-r--r--staging/kdeedu/kdeedu.install11
-rw-r--r--staging/kdegames/PKGBUILD514
-rw-r--r--staging/kdegames/kdegames-kbattleship.install24
-rw-r--r--staging/kdegames/kdegames-kfourinline.install12
-rw-r--r--staging/kdegames/kdegames-kigo.install12
-rw-r--r--staging/kdegames/kdegames-kolf.install12
-rw-r--r--staging/kdegames/kdegames-kreversi.install22
-rw-r--r--staging/kdegames/kdegames-kspaceduel.install12
-rw-r--r--staging/kdegames/kdegames-ksquares.install22
-rw-r--r--staging/kdegames/kdegames-ktuberling.install12
-rw-r--r--staging/kdegames/kdegames-lskat.install12
-rw-r--r--staging/kdegames/kdegames-palapeli.install13
-rw-r--r--staging/kdegames/kdegames.install11
-rw-r--r--staging/kdegraphics/PKGBUILD141
-rw-r--r--staging/kdegraphics/kdegraphics.install11
-rw-r--r--staging/kdelibs/PKGBUILD63
-rw-r--r--staging/kdelibs/abs-syntax-highlight.patch12
-rw-r--r--staging/kdelibs/archlinux-menu.patch22
-rw-r--r--staging/kdelibs/kde-applications-menu.patch22
-rw-r--r--staging/kdelibs/kdelibs.install12
-rw-r--r--staging/kdemultimedia/PKGBUILD109
-rw-r--r--staging/kdemultimedia/kdemultimedia.install11
-rw-r--r--staging/kdemultimedia/mplayerthumbs.config2
-rw-r--r--staging/kdenetwork/PKGBUILD116
-rw-r--r--staging/kdenetwork/kdenetwork.install11
-rw-r--r--staging/kdepim-runtime/PKGBUILD32
-rw-r--r--staging/kdepim-runtime/kdepim-runtime.install12
-rw-r--r--staging/kdepim/PKGBUILD253
-rw-r--r--staging/kdepim/kdepim-kleopatra.install12
-rw-r--r--staging/kdepim/kdepim-kmail.install12
-rw-r--r--staging/kdepim/kdepim-korganizer.install12
-rw-r--r--staging/kdepim/kdepim.install11
-rw-r--r--staging/kdepimlibs/PKGBUILD32
-rw-r--r--staging/kdepimlibs/kdepimlibs.install11
-rw-r--r--staging/kdeplasma-addons/PKGBUILD603
-rw-r--r--staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install12
-rw-r--r--staging/kdeplasma-addons/kdeplasma-addons-applets.install11
-rw-r--r--staging/kdesdk/PKGBUILD243
-rw-r--r--staging/kdesdk/fix-python2-path.patch64
-rw-r--r--staging/kdesdk/kdesdk-kate.install12
-rw-r--r--staging/kdesdk/kdesdk-okteta.install12
-rw-r--r--staging/kdesdk/kdesdk.install11
-rw-r--r--staging/kdetoys/PKGBUILD56
-rw-r--r--staging/kdetoys/kdetoys.install11
-rw-r--r--staging/kdeutils/PKGBUILD180
-rw-r--r--staging/kdeutils/kdeutils.install11
-rw-r--r--staging/kdewebdev/PKGBUILD67
-rw-r--r--staging/kdewebdev/kdewebdev.install11
-rw-r--r--staging/libmtp/PKGBUILD27
-rw-r--r--staging/rhythmbox/PKGBUILD43
-rw-r--r--staging/rhythmbox/rhythmbox.install22
-rw-r--r--testing/coreutils/PKGBUILD69
-rw-r--r--testing/coreutils/coreutils-pam.patch428
-rw-r--r--testing/coreutils/coreutils-uname.patch173
-rw-r--r--testing/coreutils/coreutils.install21
-rw-r--r--testing/coreutils/su.pam9
-rw-r--r--testing/libevent/PKGBUILD33
-rw-r--r--testing/links/PKGBUILD49
-rw-r--r--testing/links/links.desktop7
-rw-r--r--testing/lirc/PKGBUILD103
-rw-r--r--testing/lirc/irexec.conf5
-rwxr-xr-xtesting/lirc/irexecd38
-rw-r--r--testing/lirc/kernel-2.6.39.patch54
-rw-r--r--testing/lirc/lirc.install16
-rw-r--r--testing/lirc/lirc.logrotate5
-rw-r--r--testing/lirc/lirc_atiusb-kfifo.patch31
-rw-r--r--testing/lirc/lirc_wpc8769l.patch88
-rwxr-xr-xtesting/lirc/lircd52
-rw-r--r--testing/lirc/lircd-handle-large-config.patch39
-rw-r--r--testing/lirc/lircd.conf8
-rwxr-xr-xtesting/lirc/lircmd36
-rw-r--r--testing/moc/PKGBUILD44
-rw-r--r--testing/moc/gcc-undefined-symbols.diff12
-rw-r--r--testing/mpd/PKGBUILD56
-rwxr-xr-xtesting/mpd/mpd36
-rw-r--r--testing/mpd/mpd.install18
-rw-r--r--testing/net-tools/PKGBUILD44
-rw-r--r--testing/net-tools/gcc340.patch46
-rw-r--r--testing/net-tools/net-tools-1.60-2.6-compilefix.patch23
-rw-r--r--testing/net-tools/net-tools-1.60-miiioctl.patch17
-rw-r--r--testing/net-tools/net-tools-1.60-nameif.patch58
-rw-r--r--testing/net-tools/net-tools-1.60-nameif_strncpy.patch13
-rw-r--r--testing/net-tools/net-tools.install12
-rw-r--r--testing/net-tools/net-tools.patch52
-rw-r--r--testing/nouveau-drm-lts/COPYING48
-rw-r--r--testing/nouveau-drm-lts/Makefile102
-rw-r--r--testing/nouveau-drm-lts/PKGBUILD47
-rw-r--r--testing/nouveau-drm-lts/dont_check_for_pthread.patch49
-rw-r--r--testing/nouveau-drm-lts/nouveau-drm.install16
-rw-r--r--testing/openssh/PKGBUILD71
-rw-r--r--testing/openssh/authfile.c.patch198
-rwxr-xr-xtesting/openssh/sshd48
-rw-r--r--testing/openssh/sshd.confd4
-rw-r--r--testing/openssh/sshd.pam11
-rw-r--r--testing/python2/PKGBUILD87
-rw-r--r--testing/python2/python-2.7-db51.patch42
-rw-r--r--testing/re-alpine/PKGBUILD38
-rw-r--r--testing/re-alpine/maildir.patch3712
190 files changed, 0 insertions, 14774 deletions
diff --git a/community-testing/courier-mta/PKGBUILD b/community-testing/courier-mta/PKGBUILD
deleted file mode 100644
index 6ac1618dc..000000000
--- a/community-testing/courier-mta/PKGBUILD
+++ /dev/null
@@ -1,113 +0,0 @@
-# $Id: PKGBUILD 75460 2010-04-01 16:56:22Z giovanni $
-# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
-# Contributor: tobias <tobias@archlinux.org>
-# Contributor: Tobias Kieslich <tobias@justdreams.de>
-
-# ----------- NOTE TO ALL USERS ------------
-# Go read http://www.courier-mta.org/install.html b4 running or building courier
-
-
-pkgname=courier-mta
-pkgver=0.66.1
-pkgrel=2
-pkgdesc="IMAP(s)/POP3(s) and SMTP Server with ML-manager, webmail and webconfig"
-arch=(i686 x86_64)
-license=('GPL2')
-backup=('etc/courier/imapd.cnf' 'etc/courier/pop3d.cnf' \
- 'etc/courier/imapd' 'etc/courier/imapd-ssl' \
- 'etc/courier/pop3d' 'etc/courier/pop3d-ssl' \
- 'etc/courier/courierd' 'etc/courier/sqwebmaild' \
- 'etc/courier/esmtpd' 'etc/courier/esmtpd-ssl' \
- 'etc/courier/esmtpd.cnf' 'etc/courier/esmtpd-msa' \
- 'etc/courier/webadmin/password' 'etc/courier/esmtpauthclient' \
- 'etc/conf.d/courier-mta')
-url="http://courier-mta.org"
-depends=('courier-authlib>=0.63.0' 'fam' 'gcc-libs' 'gdbm' 'pcre' 'mime-types' 'ca-certificates')
-optdepends=('libldap')
-makedepends=('apache>=2.2.9-3' 'pam>=1.0.1-2' 'expect' 'gnupg' 'libldap' 'fam')
-provides=('smtp-server' 'imap-server' 'pop3-server' 'courier-imap' 'courier-maildrop')
-conflicts=('courier-imap' 'smtp-server' 'imap-server' 'courier-maildrop' 'ucspi-tcp')
-options=('!libtool')
-install=courier-mta.install
-source=(http://downloads.sourceforge.net/project/courier/courier/${pkgver}/courier-${pkgver}.tar.bz2
- courier-mta.rc.d
- courier-mta.conf.d)
-md5sums=('79250d71d88ba2bcb630b7356f0250cd'
- 'e140f320968e57cfe459cd7a3b4017e0'
- 'f3ff70b40c7a1f7a017e8c4cc4d92f4f')
-
-build() {
- cd ${srcdir}/courier-${pkgver}
-
- # fix a tiny bug
- sed -i -e \
- 's|--with-authchangepwdir=/var/tmp/dev/null|--with-authchangepwdir=$libexecdir/authlib|' \
- configure && chmod 755 configure
-
- # courier is more about configuring than compiling :-), lets start the mess
- ./configure --prefix=/usr \
- --sysconfdir=/etc/courier \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --localstatedir=/var/spool/courier \
- --disable-root-check \
- --enable-unicode \
- --enable-workarounds-for-imap-client-bugs \
- --enable-mimetypes=/etc/mime.types \
- --with-piddir=/var/run/courier \
- --with-locking-method=lockf \
- --with-trashquota \
- --with-db=gdbm \
- --with-trashquota \
- --with-random=/dev/urandom --without-ispell \
- --with-mailuser=courier --with-mailgroup=courier \
- --with-certdb=/etc/ssl/certs/
- make
-}
-
-package() {
- cd ${srcdir}/courier-${pkgver}
-
- #chown mail.mail ${pkgdir}/var/spool/courier
- make DESTDIR=${pkgdir} install
- # docs say we can get rid of those after make
- find ${pkgdir} -name '*\.a' -exec -rm -f {} \;
- # install the perftest-script for testings
- install -Dm755 courier/perftest1 ${pkgdir}/usr/lib/courier/perftest1
- ###############################################################################
- # this is what usually "make install-configure" does
- # *.dist files get rid of "dist"
- for distfile in ${pkgdir}/etc/courier/*.dist; do
- mv ${distfile} ${pkgdir}/etc/courier/$(basename ${distfile} .dist)
- done
- # install pam files according to the layout used in Archlinux
- for pamfile in ${pkgdir}/etc/courier/*.authpam; do
- sed -i 's|/lib/security/pam_pwdb\.so|pam_unix.so|' ${pamfile}
- #echo "password required pam_unix.so" >> $pamfile
- install -Dm 644 ${pamfile} \
- ${pkgdir}/etc/pam.d/$(basename ${pamfile} .authpam | sed "s/d$//")
- rm -f ${pamfile}
- done
-
- ###############################################################################
- # Arch Linux specific tweaks to make things easier for the user
- # create passwordfile for webadmin -> standard archwebadmin
- sed -i 's|/etc/courier/webadmin/password|$(DESTDIR)/etc/courier/webadmin/password|g' Makefile
- yes "archwebadmin" | make DESTDIR=${pkgdir} install-webadmin-password
- # arch specific scripts
- install -Dm 644 ${srcdir}/${pkgname}.conf.d ${pkgdir}/etc/conf.d/courier-mta
- install -Dm 755 ${srcdir}/${pkgname}.rc.d ${pkgdir}/etc/rc.d/courier-mta
- #install -Dm 655 ${srcdir}/courier-webmail-cleancache.cron.hourly \
- # ${pkgdir}/etc/cron.hourly/courier-webmail-cleancache
- # bug http://bugs.archlinux.org/task/5154
- find ${pkgdir}/usr/lib -name '*\.a' -exec rm -f {} \;
- # fixing some permissions
- chown -R courier:courier ${pkgdir}/usr/lib/courier/modules
- rm -r ${pkgdir}/var/run
- #chown -R courier:courier ${pkgdir}/var/run/courier
- chown root:root ${pkgdir}/usr/{.,bin,lib,sbin,share}
- # make a link to /usr/sbin/sendmail
- install -dm 755 ${pkgdir}/usr/sbin
- cd ${pkgdir}/usr/sbin
- ln -s ../bin/sendmail ./sendmail
-}
diff --git a/community-testing/courier-mta/courier-mta.conf.d b/community-testing/courier-mta/courier-mta.conf.d
deleted file mode 100644
index 5856a5cda..000000000
--- a/community-testing/courier-mta/courier-mta.conf.d
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Parameters to be passed to courier-imap
-#
-#
-# Select the service you want started with courier-imap
-#
-# Available options :
-# esmtpd imapd pop3d esmtpd-ssl imapd-ssl pop3d-ssl webmaild
-#
-CI_DAEMONS="courier esmtpd imapd pop3d"
-
-# If you want authdaemond to be automatically started and
-# stopped by courier-imap, set this to "true"
-AUTO_AUTHDAEMON="false"
-
-# Courier will start this many seconds after autodaemond if
-# AUTO_AUTHDAEMON is set to "true"
-AUTO_AUTHDAEMON_LAG=2
diff --git a/community-testing/courier-mta/courier-mta.install b/community-testing/courier-mta/courier-mta.install
deleted file mode 100644
index eac627867..000000000
--- a/community-testing/courier-mta/courier-mta.install
+++ /dev/null
@@ -1,46 +0,0 @@
-# arg 1: the new package version
-post_install() {
- cat << EOM
- --> if you are using LDAP services to provide lookup in sqwebmail or aliases
- --> then you have to install:
- libldap
-EOM
- # create the *.dat files
- makealiases
- makesmtpaccess
-}
-
-pre_upgrade() {
- pre_remove $1
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install $1
-}
-
-
-pre_remove() {
- # manual backup, since courier is always processing the whole directory
- # - so it would process "system" AND "system.pacsave" -> bad
- [ ! -d /etc/courier/_backup ] && mkdir /etc/courier/_backup
- cp /etc/courier/aliases/system /etc/courier/_backup/aliases.system
- cp /etc/courier/smtpaccess/default /etc/courier/_backup/smtpaccess.default
- cat << EOM
- --> the /etc/courier/aliase/system and the /etc/courier/smtpaccess/default
- --> files have been backed up to /etc/courier/_backup since the *.pacsave
- --> files cannot stay in place. Read about couriers alias handling from the
- --> documentation!
-EOM
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-}
-
-op=$1
-shift
-
-$op $*
diff --git a/community-testing/courier-mta/courier-mta.rc.d b/community-testing/courier-mta/courier-mta.rc.d
deleted file mode 100644
index 6c5fbc914..000000000
--- a/community-testing/courier-mta/courier-mta.rc.d
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash
-
-# source application-specific settings
-[ -f /etc/conf.d/courier-mta ] && . /etc/conf.d/courier-mta
-[ -z $AUTO_AUTHDAEMON_LAG ] && AUTO_AUTHDAEMON_LAG=2
-[ -z $AUTO_AUTHDAEMON ] && AUTO_AUTHDAEMON="false"
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-case "$1" in
- start)
-
- [ -d /var/run/courier ] || mkdir -p /var/run/courier
- chown courier:courier /var/run/courier
-
- if [ "$AUTO_AUTHDAEMON" == "true" ]; then
- /etc/rc.d/authdaemond start
- sleep ${AUTO_AUTHDAEMON_LAG}
- fi
- if [ ! -f /var/run/daemons/authdaemond ]; then
- echo "ERROR: authdaemond is not running"
- stat_fail
- exit 1
- fi
- for daemon in $CI_DAEMONS; do
- stat_busy "Starting Courier ${daemon}"
- /usr/sbin/${daemon} start
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon $daemon
- stat_done
- fi
- done
- ;;
- stop)
- for daemon in $CI_DAEMONS; do
- stat_busy "Stopping Courier ${daemon}"
- /usr/sbin/${daemon} stop > /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon $daemon
- stat_done
- fi
- done
- if [ "$AUTO_AUTHDAEMON" == "true" ]; then
- /etc/rc.d/authdaemond stop
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/community-testing/courier-mta/courier-webmail-cleancache.cron.hourly b/community-testing/courier-mta/courier-webmail-cleancache.cron.hourly
deleted file mode 100644
index 6c541321e..000000000
--- a/community-testing/courier-mta/courier-webmail-cleancache.cron.hourly
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-# Cleans the cache of the sqwebmail server
-if [ -x /usr/share/sqwebmail/cleancache.pl ]; then
- su -c "/usr/share/sqwebmail/cleancache.pl" bin
-fi
diff --git a/community-testing/vhba-module/PKGBUILD b/community-testing/vhba-module/PKGBUILD
deleted file mode 100644
index 43fa2bc67..000000000
--- a/community-testing/vhba-module/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id: PKGBUILD 48166 2011-05-29 11:57:10Z mherych $
-# Maintainer: Mateusz Herych <heniekk@gmail.com>
-# Contributor: Charles Lindsay <charles@chaoslizard.org>
-
-pkgname=vhba-module
-pkgver=20100822
-_kernver='2.6.39-ARCH'
-pkgrel=5
-pkgdesc="Kernel module that emulates SCSI devices"
-arch=('i686' 'x86_64')
-url="http://cdemu.sourceforge.net/"
-license=('GPL2')
-depends=('kernel26>=2.6.39' 'kernel26<2.6.40')
-makedepends=('kernel26-headers>=2.6.39' 'git')
-install=vhba-module.install
-source=(http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.gz
- vhba-kernel2.6.37.patch)
-md5sums=('1d2f06ae33c5d15b7c29e467e4658aa2'
- 'f0499fc54f6ef9b8d6ca0b9e940c5906')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- git apply -p2 ../vhba-kernel2.6.37.patch
- make -j1 KDIR=/usr/src/linux-${_kernver} || return 1
- install -D vhba.ko "$pkgdir/lib/modules/${_kernver}/extra/vhba.ko" || return 1
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/vhba-module.install"
-}
diff --git a/community-testing/vhba-module/vhba-kernel2.6.37.patch b/community-testing/vhba-module/vhba-kernel2.6.37.patch
deleted file mode 100644
index e2b619c74..000000000
--- a/community-testing/vhba-module/vhba-kernel2.6.37.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 9ad7ec7fae387f05249b9f4e6accb3bc3b0b8b0f Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gmail.com>
-Date: Thu, 6 Jan 2011 03:39:26 -0500
-Subject: [PATCH] Make vhba compatible with kernel 2.6.37 SCSI host API
-
-Due to the SCSI host lock push-down changes introduced in 2.6.37 (see
-http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f281233d3eba15fb225d21ae2e228fd4553d824a
-for more details), trying to use current vhba on 2.6.37 leads to oopses
-and kernel panics - e.g. see http://bugs.gentoo.org/show_bug.cgi?id=350753
-
-Add some #ifdefs to enable compatibility both with 2.6.37 and older API.
-Note that if future kernel versions remove the DEF_SCSI_QCMD macro, this
-issue will need to be revisited.
-
-Signed-off-by: Alexandre Rostovtsev <tetromino@gmail.com>
----
- vhba-module/vhba.c | 9 ++++++++-
- 1 files changed, 8 insertions(+), 1 deletions(-)
-
-diff --git a/vhba-module/vhba.c b/vhba-module/vhba.c
-index 059f6ce..9d13016 100644
---- a/vhba-module/vhba.c
-+++ b/vhba-module/vhba.c
-@@ -27,6 +27,7 @@
- #include <linux/miscdevice.h>
- #include <linux/poll.h>
- #include <linux/slab.h>
-+#include <linux/version.h>
- #ifdef CONFIG_COMPAT
- #include <linux/compat.h>
- #endif
-@@ -363,7 +364,7 @@ static void vhba_free_command(struct vhba_command *vcmd)
- spin_unlock_irqrestore(&vhost->cmd_lock, flags);
- }
-
--static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
-+static int vhba_queuecommand_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
- {
- struct vhba_device *vdev;
- int retval;
-@@ -388,6 +389,12 @@ static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmn
- return retval;
- }
-
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
-+DEF_SCSI_QCMD(vhba_queuecommand)
-+#else
-+#define vhba_queuecommand vhba_queuecommand_lck
-+#endif
-+
- static int vhba_abort(struct scsi_cmnd *cmd)
- {
- struct vhba_device *vdev;
---
-1.7.3.4
-
diff --git a/community-testing/vhba-module/vhba-module.install b/community-testing/vhba-module/vhba-module.install
deleted file mode 100644
index c3bcbca3f..000000000
--- a/community-testing/vhba-module/vhba-module.install
+++ /dev/null
@@ -1,16 +0,0 @@
-post_install() {
- echo ">> Place 'vhba' in MODULES= in /etc/rc.conf to enable vhba on system boot."
- echo ">> This module needs to be recompiled for every kernel version upgrade."
- KERNEL_VERSION='2.6.37-ARCH'
- depmod $KERNEL_VERSION > /dev/null 2>&1
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- KERNEL_VERSION='2.6.37-ARCH'
- depmod $KERNEL_VERSION > /dev/null 2>&1
-}
-
diff --git a/community-testing/virtualbox/10-vboxdrv.rules b/community-testing/virtualbox/10-vboxdrv.rules
deleted file mode 100644
index 37403ae2f..000000000
--- a/community-testing/virtualbox/10-vboxdrv.rules
+++ /dev/null
@@ -1,5 +0,0 @@
-KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600" ENV{ACL_MANAGE}="1"
-SUBSYSTEM=="usb_device", ACTION=="add", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
-SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass} vboxusers"
-SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
-SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/usr/share/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor"
diff --git a/community-testing/virtualbox/18-system-xorg.patch b/community-testing/virtualbox/18-system-xorg.patch
deleted file mode 100644
index 4a28b93b6..000000000
--- a/community-testing/virtualbox/18-system-xorg.patch
+++ /dev/null
@@ -1,277 +0,0 @@
-Description: Build the X.Org driver only for the selected system X Server version.
-Author: Michael Meskes <meskes@debian.org>, Felix Geyer <debfx-pkg@fobos.de>
-
-diff --git a/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
---- a/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
-+++ b/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
-@@ -40,8 +40,8 @@ LIBRARIES += \
- VBoxGuestR3LibShared
- ifndef VBOX_ONLY_TESTSUITE
- if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
-- LIBRARIES += \
-- VBoxGuestR3LibXFree86
-+# LIBRARIES += \
-+# VBoxGuestR3LibXFree86
- endif
- endif
- LIBRARIES.win.amd64 += VBoxGuestR3Lib-x86 VBoxGuestR3LibShared-x86
-diff --git a/src/VBox/Additions/common/crOpenGL/Makefile.kmk b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
---- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk
-+++ b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
-@@ -63,16 +63,12 @@ VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL
- VBoxOGL_INCS = .
- if1of ($(KBUILD_TARGET), linux solaris freebsd)
- VBoxOGL_INCS += \
-- $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \
-- $(VBOX_PATH_X11_ROOT)/libXcomposite-0.4.0 \
-- $(VBOX_PATH_X11_ROOT)/libXfixes-4.0.3 \
-- $(VBOX_PATH_X11_ROOT)/damageproto-1.1.0 \
-- $(VBOX_PATH_X11_ROOT)/compositeproto-0.4 \
-- $(VBOX_PATH_X11_ROOT)/fixesproto-4.0 \
-- $(VBOX_PATH_X11_ROOT)/libx11-1.1.5-other \
-- $(VBOX_PATH_X11_ROOT)/1.3/xorg \
-+ /usr/include/x11 \
-+ /usr/include/xorg \
-+ /usr/include/pixman-1 \
- $(VBOX_MESA_INCS) \
-- $(PATH_ROOT)/src/VBox/Additions/x11/x11include/libdrm-2.4.13
-+ /usr/include/drm \
-+ /usr/include/libdrm
- VBoxOGL_DEFS += VBOX_NO_NATIVEGL
- endif
-
-diff --git a/src/VBox/Additions/x11/Makefile.kmk b/src/VBox/Additions/x11/Makefile.kmk
---- a/src/VBox/Additions/x11/Makefile.kmk
-+++ b/src/VBox/Additions/x11/Makefile.kmk
-@@ -17,6 +17,10 @@
- SUB_DEPTH = ../../../..
- include $(KBUILD_PATH)/subheader.kmk
-
-+ifn1of ($(XSERVER_VERSION), 13 14 15 16 17 18 19 110)
-+ XSERVER_VERSION := 17
-+endif
-+
- # Include sub-makefiles.
- if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
- include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk
-diff --git a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
---- a/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
-+++ b/src/VBox/Additions/x11/vboxmouse/Makefile.kmk
-@@ -23,7 +23,6 @@ include $(KBUILD_PATH)/subheader.kmk
- # vboxmouse_drv
- #
- if1of ($(KBUILD_TARGET), linux)
-- SYSMODS += vboxmouse_drv
- vboxmouse_drv_TEMPLATE = VBOXGUESTR3XF86MOD
- vboxmouse_drv_DEFS.linux = linux
- vboxmouse_drv_DEFS.x86 += __i386__
-@@ -59,7 +58,6 @@ endif
- #
- # vboxmouse_drv_70
- #
--DLLS += vboxmouse_drv_70
- vboxmouse_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_70_DEFS = \
- XFree86Server IN_MODULE XFree86Module XFree86LOADER XINPUT XORG_7X IN_XF86_MODULE
-@@ -80,7 +78,6 @@ vboxmouse_drv_70_SOURCES = \
- #
- # vboxmouse_drv_71
- #
--DLLS += vboxmouse_drv_71
- vboxmouse_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_71_DEFS := $(vboxmouse_drv_70_DEFS)
- vboxmouse_drv_71_INCS := \
-@@ -97,7 +94,6 @@ vboxmouse_drv_71_SOURCES = \
- #
- # vboxmouse_drv_13
- #
--DLLS += vboxmouse_drv_13
- vboxmouse_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_13_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- vboxmouse_drv_13_INCS := \
-@@ -112,7 +108,6 @@ vboxmouse_drv_13_SOURCES = \
- #
- # vboxmouse_drv_14
- #
--DLLS += vboxmouse_drv_14
- vboxmouse_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_14_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- vboxmouse_drv_14_INCS := \
-@@ -126,7 +121,6 @@ endif
- #
- # vboxmouse_drv_15
- #
--DLLS += vboxmouse_drv_15
- vboxmouse_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_15_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- vboxmouse_drv_15_INCS := \
-@@ -141,7 +135,6 @@ vboxmouse_drv_15_SOURCES = \
- #
- # vboxmouse_drv_16
- #
--DLLS += vboxmouse_drv_16
- vboxmouse_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_16_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- vboxmouse_drv_16_INCS := \
-@@ -157,7 +150,6 @@ vboxmouse_drv_16_SOURCES = \
- #
- # vboxmouse_drv_17
- #
--DLLS += vboxmouse_drv_17
- vboxmouse_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_17_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
-@@ -177,7 +169,6 @@ vboxmouse_drv_17_SOURCES = \
- #
- # vboxmouse_drv_18
- #
--DLLS += vboxmouse_drv_18
- vboxmouse_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_18_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
-@@ -197,7 +188,6 @@ vboxmouse_drv_18_SOURCES = \
- #
- # vboxmouse_drv_19
- #
--DLLS += vboxmouse_drv_19
- vboxmouse_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_19_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
-@@ -217,7 +207,6 @@ vboxmouse_drv_19_SOURCES = \
- #
- # vboxmouse_drv_110
- #
--DLLS += vboxmouse_drv_110
- vboxmouse_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxmouse_drv_110_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
- ## @todo replace $(VBOX_PATH_X11_ROOT)/xorg-server-1.6.0-local
-@@ -234,6 +224,14 @@ vboxmouse_drv_110_SOURCES = \
- vboxmouse_15.c
-
-
-+vboxmouse_drv_$(XSERVER_VERSION)_NAME := vboxmouse_drv
-+vboxmouse_drv_$(XSERVER_VERSION)_INCS := \
-+ /usr/include/x11 \
-+ /usr/include/xorg \
-+ /usr/include/pixman-1
-+DLLS += vboxmouse_drv_$(XSERVER_VERSION)
-+
-+
- # Check the undefined symbols in the X.Org modules against lists of allowed
- # symbols. Not very elegant, but it will catch problems early.
- ifdef VBOX_WITH_TESTCASES
-diff --git a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
---- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
-+++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
-@@ -22,7 +22,6 @@ include $(KBUILD_PATH)/subheader.kmk
- # vboxvideo_drv
- #
- if1of ($(KBUILD_TARGET), linux)
-- SYSMODS += vboxvideo_drv
- endif # target linux
- vboxvideo_drv_TEMPLATE = VBOXGUESTR3XF86MOD
- vboxvideo_drv_DEFS.linux = linux
-@@ -89,7 +88,6 @@ endif # target linux
- # base keywords instead of using .solaris or .linux.
- # Also it is *important* to use := and not = when deriving a property.
- #
--DLLS += vboxvideo_drv_70
- vboxvideo_drv_70_TEMPLATE = VBOXGUESTR3XORGMOD
- if1of ($(KBUILD_TARGET), linux)
- vboxvideo_drv_70_CFLAGS += \
-@@ -112,7 +110,6 @@ vboxvideo_drv_70_SOURCES = $(vboxvideo_drv_SOURCES)
- #
- # vboxvideo_drv_71
- #
--DLLS += vboxvideo_drv_71
- vboxvideo_drv_71_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_71_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_71_DEFS := $(vboxvideo_drv_70_DEFS)
-@@ -127,7 +124,6 @@ vboxvideo_drv_71_SOURCES = $(vboxvideo_drv_SOURCES)
- #
- # vboxvideo_drv_13
- #
--DLLS += vboxvideo_drv_13
- vboxvideo_drv_13_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_13_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_13_DEFS := $(vboxvideo_drv_70_DEFS) VBOXVIDEO_13
-@@ -146,7 +142,6 @@ vboxvideo_drv_13_SOURCES = \
- #
- # vboxvideo_drv_14
- #
--DLLS += vboxvideo_drv_14
- vboxvideo_drv_14_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_14_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_14_DEFS := $(vboxvideo_drv_13_DEFS)
-@@ -165,7 +160,6 @@ vboxvideo_drv_14_SOURCES = $(vboxvideo_drv_13_SOURCES)
- #
- # vboxvideo_drv_15
- #
--DLLS += vboxvideo_drv_15
- vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_15_DEFS := $(vboxvideo_drv_13_DEFS) NO_ANSIC PCIACCESS \
-@@ -192,7 +186,6 @@ endif
- #
- # vboxvideo_drv_16
- #
--DLLS += vboxvideo_drv_16
- vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_16_DEFS := $(vboxvideo_drv_15_DEFS)
-@@ -212,7 +205,6 @@ vboxvideo_drv_16_SOURCES := $(vboxvideo_drv_15_SOURCES)
- #
- # vboxvideo_drv_17
- #
--DLLS += vboxvideo_drv_17
- vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_17_DEFS := $(vboxvideo_drv_15_DEFS)
-@@ -239,7 +231,6 @@ vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_15_SOURCES)
- #
- # vboxvideo_drv_18
- #
--DLLS += vboxvideo_drv_18
- vboxvideo_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_18_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_18_DEFS := $(vboxvideo_drv_15_DEFS)
-@@ -266,7 +257,6 @@ vboxvideo_drv_18_SOURCES := $(vboxvideo_drv_15_SOURCES)
- #
- # vboxvideo_drv_19
- #
--DLLS += vboxvideo_drv_19
- vboxvideo_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_19_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_19_DEFS := $(vboxvideo_drv_15_DEFS)
-@@ -293,7 +282,6 @@ vboxvideo_drv_19_SOURCES := $(vboxvideo_drv_15_SOURCES)
- #
- # vboxvideo_drv_110
- #
--DLLS += vboxvideo_drv_110
- vboxvideo_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_110_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_110_DEFS := $(vboxvideo_drv_15_DEFS)
-@@ -317,6 +306,23 @@ vboxvideo_drv_110_INCS = \
- vboxvideo_drv_110_SOURCES := $(vboxvideo_drv_15_SOURCES)
-
-
-+vboxvideo_drv_$(XSERVER_VERSION)_NAME := vboxvideo_drv
-+vboxvideo_drv_$(XSERVER_VERSION)_INCS := \
-+ /usr/include/xorg \
-+ /usr/include/x11 \
-+ /usr/include/pixman-1 \
-+ /usr/include/X11/dri \
-+ /usr/include/drm \
-+ /usr/include/libdrm
-+vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
-+DLLS += vboxvideo_drv_$(XSERVER_VERSION)
-+
-+# required for lenny backports
-+ifeq ($(XSERVER_VERSION),14)
-+ vboxvideo_drv_$(XSERVER_VERSION)_INCS += $(VBOX_PATH_X11_XORG_1_4)/xorg
-+endif
-+
-+
- # Check the undefined symbols in the X.Org modules against lists of allowed
- # symbols. Not very elegant, but it will catch problems early.
- ifdef VBOX_WITH_TESTCASES
diff --git a/community-testing/virtualbox/60-vboxguest.rules b/community-testing/virtualbox/60-vboxguest.rules
deleted file mode 100644
index 6285f7249..000000000
--- a/community-testing/virtualbox/60-vboxguest.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
-ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"
diff --git a/community-testing/virtualbox/LocalConfig.kmk b/community-testing/virtualbox/LocalConfig.kmk
deleted file mode 100644
index d0e939ad4..000000000
--- a/community-testing/virtualbox/LocalConfig.kmk
+++ /dev/null
@@ -1,19 +0,0 @@
-VBOX_WITH_ADDITION_DRIVERS =
-VBOX_WITH_INSTALLER = 1
-VBOX_WITH_LINUX_ADDITIONS = 1
-VBOX_WITH_X11_ADDITIONS = 1
-VBOX_WITH_TESTCASES =
-VBOX_WITH_TESTSUITE =
-VBOX_WITH_ORIGIN :=
-VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
-VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
-VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
-VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
-VBOX_PATH_APP_DOCS := /usr/share/virtualbox
-VBOX_WITH_REGISTRATION_REQUEST =
-VBOX_WITH_UPDATE_REQUEST =
-VBOX_WITH_VNC := 1
-VBOX_BLD_PYTHON = python2
-VBOX_JAVA_HOME = /opt/java
-VBOX_GCC_WERR =
-VBOX_GCC_WARN =
diff --git a/community-testing/virtualbox/PKGBUILD b/community-testing/virtualbox/PKGBUILD
deleted file mode 100644
index d989f61e0..000000000
--- a/community-testing/virtualbox/PKGBUILD
+++ /dev/null
@@ -1,217 +0,0 @@
-# $Id: PKGBUILD 47272 2011-05-20 17:46:19Z ibiru $
-#Maintainer: Ionut Biru <ibiru@archlinux.org>
-pkgbase=virtualbox
-pkgname=('virtualbox' 'virtualbox-guest-additions' 'virtualbox-guest-modules' 'virtualbox-sdk')
-pkgver=4.0.8
-pkgrel=3
-arch=('i686' 'x86_64')
-url='http://virtualbox.org'
-license=('GPL' 'custom')
-makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst'
-'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'kernel26-headers>=2.6.38' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk' 'gsoap' 'vde2'
-'xorg-server-devel' 'xf86driproto' 'libxcomposite')
-[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
-source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
- http://download.virtualbox.org/virtualbox/${pkgver}/UserManual.pdf
- virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch
- 10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh
- 18-system-xorg.patch
- change_default_driver_dir.patch)
-_kernver=2.6.39-ARCH
-
-build() {
- cd "$srcdir/VirtualBox-${pkgver}_OSE"
-
- patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch"
- patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch"
- patch -Np1 -i "$srcdir/vboxdrv-reference.patch"
- patch -Np1 -i "$srcdir/18-system-xorg.patch"
- patch -Np1 -i "$srcdir/change_default_driver_dir.patch"
-
- cp "$srcdir/LocalConfig.kmk" .
-
- ./configure --disable-docs \
- --enable-webservice \
- --enable-vde \
- --with-linux=/usr/src/linux-${_kernver}
- source ./env.sh
- kmk all
-
- export KERN_DIR=/usr/src/linux-${_kernver}
- make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
- make -C "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src/vboxvideo"
- sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py"
-}
-
-package_virtualbox() {
- pkgdesc="Powerful x86 virtualization for enterprise as well as home use"
- depends=('libxml2' 'libxcursor' 'libidl2' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng' 'kernel26-headers' 'gcc' 'make')
- optdepends=('libxt: for shared clipboard'
- 'python2: for python support'
- 'qt: for VirtualBox GUI'
- 'vde2: Virtual Distributed Ethernet support'
- 'virtualbox-sdk: developer kit')
-
- replaces=('virtualbox-ose')
- conflicts=('virtualbox-ose')
- install=virtualbox.install
-
- source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
- mkdir -p "$pkgdir"/usr/{bin,lib/virtualbox/components,lib/virtualbox/ExtensionPacks,share/virtualbox/nls}
-
- #doc
- install -m 0644 "$srcdir/UserManual.pdf" "$pkgdir/usr/share/virtualbox/UserManual.pdf"
-
- #Binaries and Wrapper with Launchers
- install -m 0755 VBox.sh "$pkgdir/usr/bin/VBox"
- ln -sf VBox "$pkgdir/usr/bin/VBoxHeadless"
- ln -sf VBox "$pkgdir/usr/bin/vboxheadless"
- ln -sf VBox "$pkgdir/usr/bin/VBoxManage"
- ln -sf VBox "$pkgdir/usr/bin/vboxmanage"
- ln -sf VBox "$pkgdir/usr/bin/VBoxSDL"
- ln -sf VBox "$pkgdir/usr/bin/vboxsdl"
- ln -sf VBox "$pkgdir/usr/bin/VirtualBox"
- ln -sf VBox "$pkgdir/usr/bin/virtualbox"
- ln -sf VBox "$pkgdir/usr/bin/vboxwebsrv"
-
- install -m 0755 VBoxTunctl "$pkgdir/usr/bin"
-
- #components
- install -m 0755 components/* -t "$pkgdir/usr/lib/virtualbox/components"
-
- #lib
- install -m 0755 *.so "$pkgdir/usr/lib/virtualbox"
- install -m 0644 *.gc *.r0 VBoxEFI*.fd "$pkgdir/usr/lib/virtualbox"
-
- #setuid root binaries
- install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl -t "$pkgdir/usr/lib/virtualbox"
- #other binaries
- install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL vboxwebsrv webtest -t "$pkgdir/usr/lib/virtualbox"
-
- #language
- install -m 0755 nls/*.qm -t "$pkgdir/usr/share/virtualbox/nls"
-
- #useless scripts
- install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh -t "$pkgdir/usr/share/virtualbox"
-
- #icons
- install -D -m 0644 VBox.png "$pkgdir/usr/share/pixmaps/VBox.png"
-
- pushd icons
- for i in *; do
- install -d "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
- cp $i/* "$pkgdir/usr/share/icons/hicolor/$i/mimetypes"
- done
- popd
-
- #desktop
- install -D -m 0644 virtualbox.desktop "$pkgdir/usr/share/applications/virtualbox.desktop"
- install -D -m 0644 virtualbox.xml "$pkgdir/usr/share/mime/packages/virtualbox.xml"
-
- #install configuration
- mkdir -p "$pkgdir/etc/vbox"
- echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
-
- #udev and licence
- install -D -m 0644 "$srcdir/VirtualBox-${pkgver}_OSE/COPYING" \
- "$pkgdir/usr/share/licenses/virtualbox/LICENSE"
- install -D -m 0644 "$srcdir/10-vboxdrv.rules" \
- "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules"
-
- #sources for modules
- cp -r src ${pkgdir}/usr/lib/virtualbox
- #install compilation script
- install -D -m 755 "${srcdir}/vboxdrv.sh" "${pkgdir}/etc/rc.d/vboxdrv"
-}
-
-package_virtualbox-sdk() {
- pkgdesc=" VirtualBox Software Developer Kit (SDK)"
-
- mkdir -p "$pkgdir/usr/lib/virtualbox"
-
- source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
- cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
-
- install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py"
- #python sdk
- pushd sdk/installer
- VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "${pkgdir}"
- popd
- rm -rf sdk/installer
- mv sdk "$pkgdir/usr/lib/virtualbox"
-}
-package_virtualbox-guest-additions(){
- pkgdesc="VirtualBox user-space tools for Linux guests"
- depends=("virtualbox-guest-modules=$pkgver" 'gcc-libs' 'libxmu' 'xorg-xrandr')
- replaces=('virtualbox-ose-additions')
- conflicts=('virtualbox-ose-additions')
-
- source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
-
- install -d "$pkgdir/usr/bin"
- install -d "$pkgdir/sbin"
- install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin"
- install -m755 mount.vboxsf "$pkgdir/sbin"
-
- install -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/50-vboxmouse.conf \
- "$pkgdir"/etc/X11/xorg.conf.d/50-vboxmouse.conf
- install -m644 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/linux/installer/70-xorg-vboxmouse.rules \
- "$pkgdir"/lib/udev/rules.d/70-xorg-vboxmouse.rules
- install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
- "$pkgdir"/usr/bin/VBoxClient-all
- install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \
- "$pkgdir"/etc/xdg/autostart/vboxclient.desktop
- install -D vboxmouse_drv.so \
- "$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so"
- install -D vboxvideo_drv.so \
- "$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so"
- install -d "$pkgdir/usr/lib/xorg/modules/dri"
- install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
- ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so"
- install -m755 -D pam_vbox.so "$pkgdir/lib/security/pam_vbox.so"
-
-}
-package_virtualbox-guest-modules(){
- pkgdesc="VirtualBox kernel modules for Linux guests"
- license=('GPL')
- install=virtualbox-guest-modules.install
- depends=('kernel26>=2.6.39' 'kernel26<2.6.40')
- replaces=('virtualbox-ose-additions-modules')
- conflicts=('virtualbox-ose-additions-modules')
-
- source "$srcdir/VirtualBox-${pkgver}_OSE/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}_OSE/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
-
- cd vboxguest
- install -D -m644 vboxguest.ko \
- "$pkgdir/lib/modules/$_kernver/misc/vboxguest.ko"
-
- cd ../vboxsf
- install -D -m644 vboxsf.ko \
- "$pkgdir/lib/modules/$_kernver/misc/vboxsf.ko"
-
- cd ../vboxvideo
- install -D -m644 vboxvideo.ko \
- "$pkgdir/lib/modules/$_kernver/misc/vboxvideo.ko"
-
- install -D -m 0644 "$srcdir/60-vboxguest.rules" \
- "$pkgdir/lib/udev/rules.d/60-vboxguest.rules"
-
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-guest-modules.install"
-}
-md5sums=('a3e81289f2357fcf4bbe3e77805f38b6'
- '39712ccbc16b04c1cda209ae16446bf2'
- '44efb3c4be214daa453a317d527f1f30'
- '32a232b43852b9a08cb11a7bcd64b347'
- '5f85710e0b8606de967716ded7b2d351'
- 'ed1341881437455d9735875ddf455fbe'
- '9bde5b7dfba5abcd49768052c5409800'
- 'c1a07f044c476a190af8486fe78bee0f'
- '47da2e88de582bb2bab14580a3aa47b1'
- '8a22b33c9dfaf8fb79bb2d26304e650b'
- 'ac43f7cf44b934d8dbdbc3bb6f7879ad')
diff --git a/community-testing/virtualbox/change_default_driver_dir.patch b/community-testing/virtualbox/change_default_driver_dir.patch
deleted file mode 100644
index 71930f062..000000000
--- a/community-testing/virtualbox/change_default_driver_dir.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nur VirtualBox-4.0.8_OSE.orig//src/VBox/Additions/common/crOpenGL/fakedri_drv.c VirtualBox-4.0.8_OSE/src/VBox/Additions/common/crOpenGL/fakedri_drv.c
---- VirtualBox-4.0.8_OSE.orig//src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2011-05-18 04:28:14.545495222 -0700
-+++ VirtualBox-4.0.8_OSE/src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2011-05-18 04:29:57.945499707 -0700
-@@ -36,13 +36,8 @@
- //#define DEBUG_DRI_CALLS
-
- //@todo this could be different...
--#ifdef RT_ARCH_AMD64
--# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri"
-+# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/xorg/modules/dri"
- # define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
--#else
--# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri"
--# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
--#endif
-
- #ifdef DEBUG_DRI_CALLS
- #define SWDRI_SHOWNAME(pext, func) \
diff --git a/community-testing/virtualbox/vboxdrv-reference.patch b/community-testing/virtualbox/vboxdrv-reference.patch
deleted file mode 100644
index e7a9179a9..000000000
--- a/community-testing/virtualbox/vboxdrv-reference.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -Nur VirtualBox-4.0.6_OSE.orig//src/VBox/Frontends/VirtualBox/src/main.cpp VirtualBox-4.0.6_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp
---- VirtualBox-4.0.6_OSE.orig//src/VBox/Frontends/VirtualBox/src/main.cpp 2011-04-21 03:31:05.000000000 -0700
-+++ VirtualBox-4.0.6_OSE/src/VBox/Frontends/VirtualBox/src/main.cpp 2011-04-21 11:10:00.503832646 -0700
-@@ -75,9 +75,8 @@
- "The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or "
- "there is a permission problem with /dev/vboxdrv. Please reinstall the kernel "
- "module by executing<br/><br/>"
-- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>"
-- "as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS "
-- "package first. This package keeps track of Linux kernel changes and "
-+ " <font color=blue>'/etc/rc.d/vboxdrv setup'</font><br/><br/>"
-+ "as root. This package keeps track of Linux kernel changes and"
- "recompiles the vboxdrv kernel module if necessary."
- );
-
-@@ -92,7 +91,7 @@
- "The VirtualBox kernel modules do not match this version of "
- "VirtualBox. The installation of VirtualBox was apparently not "
- "successful. Executing<br/><br/>"
-- " <font color=blue>'/etc/init.d/vboxdrv setup'</font><br/><br/>"
-+ " <font color=blue>'/etc/rc.d/vboxdrv setup'</font><br/><br/>"
- "may correct this. Make sure that you do not mix the "
- "OSE version and the PUEL version of VirtualBox."
- );
-diff -Nur VirtualBox-4.0.6_OSE.orig//src/VBox/Installer/linux/VBox.sh VirtualBox-4.0.6_OSE/src/VBox/Installer/linux/VBox.sh
---- VirtualBox-4.0.6_OSE.orig//src/VBox/Installer/linux/VBox.sh 2011-04-21 03:31:18.000000000 -0700
-+++ VirtualBox-4.0.6_OSE/src/VBox/Installer/linux/VBox.sh 2011-04-21 11:10:00.503832646 -0700
-@@ -34,7 +34,7 @@
- available for the current kernel (`uname -r`) or it failed to
- load. Please recompile the kernel module and install it by
-
-- sudo /etc/init.d/vboxdrv setup
-+ /etc/rc.d/vboxdrv setup
-
- You will not be able to start VMs until this problem is fixed.
- EOF
-@@ -42,7 +42,7 @@
- cat << EOF
- WARNING: The character device /dev/vboxdrv does not exist. Try
-
-- sudo /etc/init.d/vboxdrv restart
-+ /etc/rc.d/vboxdrv restart
-
- and if that is not successful, try to re-install the package.
-
diff --git a/community-testing/virtualbox/vboxdrv.sh b/community-testing/virtualbox/vboxdrv.sh
deleted file mode 100755
index 8de14b97f..000000000
--- a/community-testing/virtualbox/vboxdrv.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/vbox/vbox.cfg
-
-MODLIST=()
-LOG="/var/log/vbox-install.log"
-
-if [ -n "$INSTALL_DIR" ]; then
- VBOXMANAGE="$INSTALL_DIR/VBoxManage"
- BUILDVBOXDRV="$INSTALL_DIR/src/vboxdrv/build_in_tmp"
- BUILDVBOXNETFLT="$INSTALL_DIR/src/vboxnetflt/build_in_tmp"
- BUILDVBOXNETADP="$INSTALL_DIR/src/vboxnetadp/build_in_tmp"
-else
- echo "missing vbox.cfg"
- exit 0
-fi
-
-case "$1" in
- setup)
- stat_busy "Unloading VirtualBox kernel modules"
- for module in vbox{netflt,netadp,drv}; do
- if grep -q "^${module}" /proc/modules; then
- MODLIST+=($module)
- modprobe -r $module
- fi
- done
- stat_done
- for p in /lib/modules/*; do
- if [ ! -d "$p/kernel" ]; then
- if [ -e "$p/misc/vboxdrv.ko" ]; then
- stat_busy "Removing old VirtualBox kernel modules from $p"
- rm -f "$p/misc/vbox"{drv,netadp,netflt}.ko 2>/dev/null
- rmdir -p --ignore-fail-on-non-empty "$p/misc/" 2>/dev/null
- stat_done
- fi
- fi
- done
- if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q vboxnetadp; then
- stat_busy "Removing old VirtualBox netadp kernel module"
- find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null
- stat_done
- fi
- if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then
- stat_busy "Removing old VirtualBox netflt kernel module"
- find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null
- stat_done
- fi
- if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then
- stat_busy "Removing old VirtualBox kernel module"
- find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null
- stat_done
- fi
- stat_busy "Recompiling VirtualBox kernel modules"
- if ! $BUILDVBOXDRV \
- --save-module-symvers /tmp/vboxdrv-Module.symvers \
- --no-print-directory install > $LOG 2>&1; then
- echo "Look at $LOG to find out what went wrong"
- fi
- if ! $BUILDVBOXNETFLT \
- --use-module-symvers /tmp/vboxdrv-Module.symvers \
- --no-print-directory install >> $LOG 2>&1; then
- echo "Look at $LOG to find out what went wrong"
- fi
- if ! $BUILDVBOXNETADP \
- --use-module-symvers /tmp/vboxdrv-Module.symvers \
- --no-print-directory install >> $LOG 2>&1; then
- echo "Look at $LOG to find out what went wrong"
- fi
- stat_done
- stat_busy "Reloading VirtualBox kernel modules"
- for module in "${MODLIST[@]}"; do
- modprobe $module
- done
- stat_done
- ;;
- *)
- echo "usage: $0 {setup}"
-esac
diff --git a/community-testing/virtualbox/virtualbox-4-makeself-check.patch b/community-testing/virtualbox/virtualbox-4-makeself-check.patch
deleted file mode 100644
index e1fcb8c2f..000000000
--- a/community-testing/virtualbox/virtualbox-4-makeself-check.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- VirtualBox-4.0.0_OSE/configure
-+++ VirtualBox-4.0.0_OSE/configure
-@@ -2527,7 +2527,6 @@
- check_compiler_h
- [ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
- # tools/common/makeself*
-- [ $OSE -ge 1 ] && check_makeself
- fi
-
- [ -n "$SETUP_WINE" ] && setup_wine
diff --git a/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch b/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch
deleted file mode 100644
index 8b0d59123..000000000
--- a/community-testing/virtualbox/virtualbox-4-mkisofs-check.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- VirtualBox-4.0.0_OSE/configure
-+++ VirtualBox-4.0.0_OSE/configure
-@@ -2499,7 +2499,6 @@
- # don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs
- # [ "$OS" != "darwin" ] && check_yasm
- [ "$OS" != "darwin" ] && check_xsltproc
--[ "$OS" != "darwin" ] && check_mkisofs
-
- # the libraries
- [ "$OS" != "darwin" ] && check_pthread
diff --git a/community-testing/virtualbox/virtualbox-guest-modules.install b/community-testing/virtualbox/virtualbox-guest-modules.install
deleted file mode 100644
index ae05bd1ba..000000000
--- a/community-testing/virtualbox/virtualbox-guest-modules.install
+++ /dev/null
@@ -1,24 +0,0 @@
-KERNEL_VERSION='2.6.39-ARCH'
-
-post_install() {
- cat << EOM
-
-===> virtualbox-guest-modules post-install message:
-===>
-===> You may want to load vboxguest, vboxsf and vboxvideo
-===>
-===> To load them automatically, add them
-===> to the MODULES array in /etc/rc.conf.
-
-EOM
-
- depmod -v $KERNEL_VERSION >/dev/null 2>&1
-}
-
-post_remove() {
- depmod -v $KERNEL_VERSION >/dev/null 2>&1
-}
-
-post_upgrade() {
- depmod -v $KERNEL_VERSION >/dev/null 2>&1
-}
diff --git a/community-testing/virtualbox/virtualbox.install b/community-testing/virtualbox/virtualbox.install
deleted file mode 100644
index e70757685..000000000
--- a/community-testing/virtualbox/virtualbox.install
+++ /dev/null
@@ -1,65 +0,0 @@
-utils() {
- if [ -x usr/bin/update-mime-database ]; then
- update-mime-database usr/share/mime > /dev/null 2>&1
- fi
-
- if [ -x usr/bin/xdg-icon-resource ]; then
- xdg-icon-resource forceupdate --theme hicolor > /dev/null 2>&1
- fi
-
- if [ -x usr/bin/update-desktop-database ]; then
- usr/bin/update-desktop-database -q
- fi
-}
-
-post_install() {
- getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers
- /bin/cat << EOF
-
-===> In order to run VirtualBox, you have to be in the 'vboxusers' group.
-===>
-===> If you want to be able to install guest additions, you have to install
-===> 'virtualbox-additions' package.
-===>
-===> You must load vboxdrv module before starting VirtualBox:
-===> # modprobe vboxdrv
-===>
-===> You must load vboxnetflt for Host Interface Networking:
-===> # modprobe vboxnetflt
-===>
-===> You must load vboxnetadp for Host-Only networking:
-===> # modprobe vboxnetadp
-===>
-===> To load it automatically, add vboxdrv module
-===> to the MODULES array in /etc/rc.conf.
-
-*** To compile the modules do /etc/rc.d/vboxdrv setup ***
-
-EOF
- utils
-}
-
-post_upgrade() {
- getent group vboxusers >> /dev/null || usr/sbin/groupadd -g 108 vboxusers
- /bin/cat << EOF
-===> You must reload vboxdrv module before starting VirtualBox:
-===> # modprobe vboxdrv
-===>
-===> You must reload vboxnetflt for Host Interface Networking:
-===> # modprobe vboxnetflt
-===>
-===> You must reload vboxnetadp for Host-Only networking:
-===> # modprobe vboxnetadp
-===>
-===> To load it automatically, add vboxdrv module
-===> to the MODULES array in /etc/rc.conf.
-
-*** To recompile the modules do /etc/rc.d/vboxdrv setup ***
-EOF
- utils
-}
-
-post_remove() {
- groupdel vboxusers >/dev/null 2>&1 || true
- utils
-}
diff --git a/community/camlp5-transitional/PKGBUILD b/community/camlp5-transitional/PKGBUILD
deleted file mode 100644
index b027132fc..000000000
--- a/community/camlp5-transitional/PKGBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Maintainer: Thomas Dziedzic < gostrc at gmail >
-# Contributor: George Giorgidze <giorgidze@gmail.com>
-# Contributor: Massimiliano Brocchini <brocchini@netseven.it>
-
-pkgname=camlp5-transitional
-pkgver=6.02.2
-pkgrel=1
-pkgdesc='Camlp5 is a preprocessor-pretty-printer of OCaml.'
-arch=('i686' 'x86_64')
-url='http://pauillac.inria.fr/~ddr/camlp5/'
-license=('BSD')
-depends=('sh')
-makedepends=('ocaml')
-conflicts=('camlp5')
-options=('!makeflags')
-source=("http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-${pkgver}.tgz"
- 'http://pauillac.inria.fr/~ddr/camlp5/distrib/src/patch-6.02.2-1'
- 'http://pauillac.inria.fr/~ddr/camlp5/distrib/src/patch-6.02.2-2'
- 'http://pauillac.inria.fr/~ddr/camlp5/distrib/src/patch-6.02.2-3')
-md5sums=('b495bf26355451186c6725ee01add0da'
- '3acab547f3c0acb3c09d1d707e6c5ee3'
- '2e911c01e7da967bf68deee13e9712c8'
- '6fa59ec7c684919b6c8e2eb2bcabcf93')
-
-build() {
- cd camlp5-${pkgver}
-
- patch -Np0 -i ${srcdir}/patch-6.02.2-1
- patch -Np0 -i ${srcdir}/patch-6.02.2-2
- patch -Np0 -i ${srcdir}/patch-6.02.2-3
-
- ./configure \
- -prefix '/usr' \
- -mandir '/usr/share/man' \
- -transitional
-
- make world.opt
-}
-
-package() {
- cd camlp5-${pkgver}
-
- make DESTDIR=${pkgdir} install
-
- install -D -m644 LICENSE \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
-}
diff --git a/community/compizconfig-backend-kconfig/PKGBUILD b/community/compizconfig-backend-kconfig/PKGBUILD
deleted file mode 100644
index 78c52556d..000000000
--- a/community/compizconfig-backend-kconfig/PKGBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# $Id: PKGBUILD 4448 2009-10-23 09:02:36Z rvanharen $
-# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Contributor: JJDaNiMoTh <jjdanimoth@gmail.com>
-# Contributor: kasa <biuta.jr@gmail.com>
-
-pkgname=compizconfig-backend-kconfig
-pkgver=0.8.4
-pkgrel=1
-pkgdesc="Compizconfig backend for kconfig"
-arch=('i686' 'x86_64')
-url="http://opencompositing.org"
-license=('GPL')
-depends=('libcompizconfig' 'kdelibs3' 'qt3')
-makedepends=('intltool' 'pkgconfig')
-conflicts=('compizconfig-backend-gconf-git')
-groups=('compiz-fusion-kde' 'compiz-fusion')
-options=('!libtool')
-source=(http://releases.compiz-fusion.org/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('a96a30aba5e5faf7aa7db440fe4891ca')
-
-build() {
- source /etc/profile.d/kde3.sh
- source /etc/profile.d/qt3.sh
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure \
- --prefix=/opt/kde \
- --without-arts \
- --with-kde-includes=/opt/kde/includes
-
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
-
-}
-
diff --git a/community/libtrash/PKGBUILD b/community/libtrash/PKGBUILD
deleted file mode 100644
index b870d83ae..000000000
--- a/community/libtrash/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 24969 2010-08-29 20:08:31Z jlichtblau $
-# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
-# Contributor: arjan <arjan@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-
-pkgname=libtrash
-pkgver=3.2
-pkgrel=2
-pkgdesc="A shared, preloaded library that implements a trash can under Linux"
-arch=('i686' 'x86_64')
-url="http://pages.stern.nyu.edu/~marriaga/software/libtrash/"
-license=('GPL')
-depends=('glibc')
-makedepends=('patch' 'python')
-install=$pkgname.install
-source=(http://pages.stern.nyu.edu/~marriaga/software/libtrash/$pkgname-latest.tgz libtrash.patch libtrash.sh)
-md5sums=('147f645738088c83738259376737bc42'
- '662e030819f2954b59e7646c77855f6c'
- 'de716ae481adc8e88ddd32ea72808230')
-
-build() {
- cd ${srcdir}/$pkgname-$pkgver
-
- patch -Np1 -i $startdir/src/libtrash.patch
-
- install -d ${pkgdir}/usr/lib ${pkgdir}/etc/profile.d
- make INSTLIBDIR=${pkgdir}/usr/lib SYSCONFFILE=${pkgdir}/etc
-}
-
-package() {
- cd ${srcdir}/$pkgname-$pkgver
-
- make INSTLIBDIR=${pkgdir}/usr/lib SYSCONFFILE=${pkgdir}/etc install
- install -D -m 644 ${srcdir}/libtrash.sh ${pkgdir}/etc/profile.d/libtrash.sh
-}
diff --git a/community/libtrash/libtrash.install b/community/libtrash/libtrash.install
deleted file mode 100644
index 9b1d1db9d..000000000
--- a/community/libtrash/libtrash.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- echo ">> To enable libtrash at login:"
- echo ">> chmod 755 /etc/profile.d/libtrash.sh"
- echo ">> To enable libtrash at any moment:"
- echo ">> . /etc/profile.d/libtrash.sh"
- echo ">> To disable libtrash at any moment:"
- echo ">> unset LD_PRELOAD"
- echo ">> WARNING: fakeroot will not work while libtrash is enabled."
- echo ">> Disable libtrash before using fakeroot!"
-}
-
-post_upgrade() {
- post_install
-}
-
diff --git a/community/libtrash/libtrash.patch b/community/libtrash/libtrash.patch
deleted file mode 100644
index df08f9174..000000000
--- a/community/libtrash/libtrash.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urN libtrash-2.1/src/Makefile libtrash-2.1-new/src/Makefile
---- libtrash-2.1/src/Makefile 2003-06-24 16:35:25.000000000 -0700
-+++ libtrash-2.1-new/src/Makefile 2003-07-13 01:35:35.000000000 -0700
-@@ -29,7 +29,6 @@
- TRASH_OFF=YES install libtrash.so.${VERSION} ${INSTLIBDIR}/libtrash.so.${VERSION}
- TRASH_OFF=YES ln -sf libtrash.so.${VERSION} ${INSTLIBDIR}/libtrash.so
- TRASH_OFF=YES install libtrash.conf.sys --mode a=r ${SYSCONFFILE}
-- ldconfig
-
- clean:
- rm -f *~
diff --git a/community/libtrash/libtrash.sh b/community/libtrash/libtrash.sh
deleted file mode 100644
index d2850a56e..000000000
--- a/community/libtrash/libtrash.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-export LD_PRELOAD=/usr/lib/libtrash.so.3.2
diff --git a/community/mediastreamer/PKGBUILD b/community/mediastreamer/PKGBUILD
deleted file mode 100644
index 4b97dc151..000000000
--- a/community/mediastreamer/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id: PKGBUILD 44001 2011-04-01 15:25:02Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Adrià Arrufat <swiftscythe@gmail.com>
-
-pkgname=mediastreamer
-pkgver=2.7.3
-pkgrel=1
-pkgdesc="A library written in C that allows you to create and run audio and video streams."
-arch=('i686' 'x86_64')
-url="http://www.linphone.org"
-license=('GPL')
-depends=('ortp' 'speex' 'v4l-utils' 'ffmpeg')
-makedepends=('cmake' 'automoc4')
-source=("http://download-mirror.savannah.gnu.org/releases/linphone/mediastreamer/mediastreamer-$pkgver.tar.gz"
- "disable-v4l1.patch")
-md5sums=('5213307f557d86aa648f1a53a885138c'
- '7ee15689eed1adbdcf0ddab8fadca34a')
-
-build() {
- cd "$srcdir"/$pkgname-$pkgver/
- patch -p2 <$srcdir/disable-v4l1.patch
- ./configure --prefix=/usr
- make
- make DESTDIR=${pkgdir} install
-}
diff --git a/community/mediastreamer/disable-v4l1.patch b/community/mediastreamer/disable-v4l1.patch
deleted file mode 100644
index 9f6cb84d4..000000000
--- a/community/mediastreamer/disable-v4l1.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.am linphone-3.4.3.my/mediastreamer2/src/Makefile.am
---- linphone-3.4.3/mediastreamer2/src/Makefile.am 2011-02-09 08:43:11.000000000 +0000
-+++ linphone-3.4.3.my/mediastreamer2/src/Makefile.am 2011-04-01 14:54:04.000000000 +0000
-@@ -117,7 +117,7 @@
- endif
-
- if BUILD_V4L
--libmediastreamer_la_SOURCES+=msv4l.c msv4l2.c
-+libmediastreamer_la_SOURCES+=msv4l2.c
- endif
-
- if BUILD_WIN32
-diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.in linphone-3.4.3.my/mediastreamer2/src/Makefile.in
---- linphone-3.4.3/mediastreamer2/src/Makefile.in 2011-03-28 18:34:07.000000000 +0000
-+++ linphone-3.4.3.my/mediastreamer2/src/Makefile.in 2011-04-01 14:55:00.000000000 +0000
-@@ -54,7 +54,7 @@
- @BUILD_MACAQSND_TRUE@am__append_12 = aqsnd.c
- @BUILD_PULSEAUDIO_TRUE@am__append_13 = pulseaudio.c
- @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__append_14 = msv4m.m
--@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l.c msv4l2.c
-+@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l2.c
- @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__append_16 = msdscap-mingw.cc drawdib-display.c
- @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__append_17 = theora.c
- @BUILD_FFMPEG_TRUE@@BUILD_VIDEO_TRUE@am__append_18 = videoenc.c \
-@@ -135,7 +135,7 @@
- audiostream.c msspeex.c speexec.c gsm.c winsnd3.c \
- msfileplayer_win.c msfilerec_win.c msfileplayer.c msfilerec.c \
- msresample.c alsa.c oss.c arts.c pasnd.c macsnd.c msiounit.c \
-- aqsnd.c pulseaudio.c msv4m.m msv4l.c msv4l2.c msdscap-mingw.cc \
-+ aqsnd.c pulseaudio.c msv4m.m msv4l2.c msdscap-mingw.cc \
- drawdib-display.c theora.c videoenc.c videodec.c pixconv.c \
- sizeconv.c nowebcam.c nowebcam.h swscale.h ffmpeg-priv.h \
- h264dec.c jpegwriter.c videoout.c x11video.c rfc2429.h \
-@@ -156,7 +156,7 @@
- @BUILD_MACAQSND_TRUE@am__objects_12 = aqsnd.lo
- @BUILD_PULSEAUDIO_TRUE@am__objects_13 = pulseaudio.lo
- @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__objects_14 = msv4m.lo
--@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l.lo msv4l2.lo
-+@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l2.lo
- @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__objects_16 = msdscap-mingw.lo \
- @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@ drawdib-display.lo
- @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__objects_17 = theora.lo
-@@ -600,7 +600,6 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mssndcard.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msspeex.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msticker.Plo@am__quote@
--@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l2.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4m.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvideo.Plo@am__quote@
diff --git a/community/mongodb/gcc46fixes.diff b/community/mongodb/gcc46fixes.diff
deleted file mode 100644
index 487c88f16..000000000
--- a/community/mongodb/gcc46fixes.diff
+++ /dev/null
@@ -1,132 +0,0 @@
-commit fa7cd65e480d80ba1cd196bdcec8f4714e361e8e
-Author: Mathias Stearn <redbeard0531@gmail.com>
-Date: Sun Apr 3 19:10:36 2011 -0400
-
- g++ 4.6 compile (new -Wunused-but-set-variable warning)
-
-diff --git a/db/btree.cpp b/db/btree.cpp
-index 2758f72..4162d6a 100644
---- a/db/btree.cpp
-+++ b/db/btree.cpp
-@@ -1226,8 +1226,6 @@ namespace mongo {
- out() << " " << thisLoc.toString() << ".insertHere " << key.toString() << '/' << recordLoc.toString() << ' '
- << lchild.toString() << ' ' << rchild.toString() << " keypos:" << keypos << endl;
-
-- DiskLoc oldLoc = thisLoc;
--
- if ( !basicInsert(thisLoc, keypos, recordLoc, key, order) ) {
- // If basicInsert() fails, the bucket will be packed as required by split().
- thisLoc.btreemod()->split(thisLoc, keypos, recordLoc, key, order, lchild, rchild, idx);
-diff --git a/db/dbcommands.cpp b/db/dbcommands.cpp
-index 2580f86..56c0fce 100644
---- a/db/dbcommands.cpp
-+++ b/db/dbcommands.cpp
-@@ -1460,7 +1460,7 @@ namespace mongo {
- uassert( 13049, "godinsert must specify a collection", !coll.empty() );
- string ns = dbname + "." + coll;
- BSONObj obj = cmdObj[ "obj" ].embeddedObjectUserCheck();
-- DiskLoc loc = theDataFileMgr.insertWithObjMod( ns.c_str(), obj, true );
-+ theDataFileMgr.insertWithObjMod( ns.c_str(), obj, true );
- return true;
- }
- } cmdGodInsert;
-diff --git a/db/index.cpp b/db/index.cpp
-index c696e27..218ecb3 100644
---- a/db/index.cpp
-+++ b/db/index.cpp
-@@ -127,7 +127,6 @@ namespace mongo {
- void getIndexChanges(vector<IndexChanges>& v, NamespaceDetails& d, BSONObj newObj, BSONObj oldObj, bool &changedId) {
- int z = d.nIndexesBeingBuilt();
- v.resize(z);
-- NamespaceDetails::IndexIterator i = d.ii();
- for( int i = 0; i < z; i++ ) {
- IndexDetails& idx = d.idx(i);
- BSONObj idxKey = idx.info.obj().getObjectField("key"); // eg { ts : 1 }
-diff --git a/db/update.cpp b/db/update.cpp
-index e173902..85c3f9c 100644
---- a/db/update.cpp
-+++ b/db/update.cpp
-@@ -992,7 +992,7 @@ namespace mongo {
- BSONObj newObj = mss->createNewFromMods();
- checkTooLarge(newObj);
- assert(nsdt);
-- DiskLoc newLoc = theDataFileMgr.updateRecord(ns, d, nsdt, r, loc , newObj.objdata(), newObj.objsize(), debug);
-+ theDataFileMgr.updateRecord(ns, d, nsdt, r, loc , newObj.objdata(), newObj.objsize(), debug);
- }
-
- if ( logop ) {
-diff --git a/dbtests/queryoptimizertests.cpp b/dbtests/queryoptimizertests.cpp
-index acf9217..2d6f752 100644
---- a/dbtests/queryoptimizertests.cpp
-+++ b/dbtests/queryoptimizertests.cpp
-@@ -1558,7 +1558,6 @@ namespace QueryOptimizerTests {
- theDataFileMgr.insertWithObjMod( ns(), temp );
- }
- BSONObj hint = fromjson( "{$hint:{a:1,b:1}}" );
-- BSONElement hintElt = hint.firstElement();
- auto_ptr< FieldRangeSet > frs( new FieldRangeSet( ns(), fromjson( "{a:5,b:{$in:[2,3,6,9,11]}}" ) ) );
- QueryPlan qp( nsd(), 1, *frs, *frs, fromjson( "{a:5,b:{$in:[2,3,6,9,11]}}" ), BSONObj() );
- boost::shared_ptr<Cursor> c = qp.newCursor();
-@@ -1581,7 +1580,6 @@ namespace QueryOptimizerTests {
- theDataFileMgr.insertWithObjMod( ns(), temp );
- }
- BSONObj hint = fromjson( "{$hint:{a:1,b:1}}" );
-- BSONElement hintElt = hint.firstElement();
- auto_ptr< FieldRangeSet > frs( new FieldRangeSet( ns(), fromjson( "{a:{$gte:5},b:{$in:[2,3,6,9,11]}}" ) ) );
- QueryPlan qp( nsd(), 1, *frs, *frs, fromjson( "{a:{$gte:5},b:{$in:[2,3,6,9,11]}}" ), BSONObj() );
- boost::shared_ptr<Cursor> c = qp.newCursor();
-diff --git a/shell/shell_utils.cpp b/shell/shell_utils.cpp
-index 6c398ef..53484fd 100644
---- a/shell/shell_utils.cpp
-+++ b/shell/shell_utils.cpp
-@@ -260,7 +260,7 @@ namespace mongo {
- BSONElement e = oneArg(args);
- bool found = false;
-
-- path root( args.firstElement().valuestrsafe() );
-+ path root( e.valuestrsafe() );
- if ( boost::filesystem::exists( root ) ) {
- found = true;
- boost::filesystem::remove_all( root );
-diff --git a/tools/tool.cpp b/tools/tool.cpp
-index 92a4bd4..150481b 100644
---- a/tools/tool.cpp
-+++ b/tools/tool.cpp
-@@ -413,14 +413,14 @@ namespace mongo {
- ProgressMeter m( fileLength );
-
- while ( read < fileLength ) {
-- int readlen = fread(buf, 4, 1, file);
-+ fread(buf, 4, 1, file);
- int size = ((int*)buf)[0];
- if ( size >= BUF_SIZE ) {
- cerr << "got an object of size: " << size << " terminating..." << endl;
- }
- uassert( 10264 , "invalid object size" , size < BUF_SIZE );
-
-- readlen = fread(buf+4, size-4, 1, file);
-+ fread(buf+4, size-4, 1, file);
-
- BSONObj o( buf );
- if ( _objcheck && ! o.valid() ) {
-diff --git a/util/ramlog.h b/util/ramlog.h
-index fc588e6..b2f3aa0 100644
---- a/util/ramlog.h
-+++ b/util/ramlog.h
-@@ -108,7 +108,6 @@ namespace mongo {
- vector<const char*> v;
- get( v );
-
-- bool first = true;
- s << "<pre>\n";
- for( int i = 0; i < (int)v.size(); i++ ) {
- assert( strlen(v[i]) > 20 );
-@@ -126,7 +125,7 @@ namespace mongo {
- stringstream r;
- if( nr == 1 ) r << "repeat last line";
- else r << "repeats last " << nr << " lines; ends " << string(v[last]+4,0,15);
-- first = false; s << html::a("", r.str(), clean(v,i,x.str()));
-+ s << html::a("", r.str(), clean(v,i,x.str()));
- }
- else s << x.str();
- s << '\n';
diff --git a/community/mongodb/gcc46fixes2.diff b/community/mongodb/gcc46fixes2.diff
deleted file mode 100644
index 17257b136..000000000
--- a/community/mongodb/gcc46fixes2.diff
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 5931bc0231c91ecdfc5dd313d8cce578eae426bb
-Author: Eliot Horowitz <eliot@10gen.com>
-Date: Wed Mar 30 01:01:18 2011 -0400
-
- remove unused variable
-
-diff --git a/db/commands.cpp b/db/commands.cpp
-index c301fb3..0bbd765 100644
---- a/db/commands.cpp
-+++ b/db/commands.cpp
-@@ -127,7 +127,6 @@ namespace mongo {
- if ( strcmp(p, ".$cmd") != 0 ) return false;
-
- bool ok = false;
-- bool valid = false;
-
- BSONElement e = jsobj.firstElement();
- map<string,Command*>::iterator i;
-@@ -138,7 +137,6 @@ namespace mongo {
- migrated over to the command object format.
- */
- else if ( (i = _commands->find(e.fieldName())) != _commands->end() ) {
-- valid = true;
- string errmsg;
- Command *c = i->second;
- if ( c->adminOnly() && !startsWith(ns, "admin.") ) {
diff --git a/community/python-pycurl/PKGBUILD b/community/python-pycurl/PKGBUILD
deleted file mode 100644
index 2ffd177d5..000000000
--- a/community/python-pycurl/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: PKGBUILD 25898 2010-09-11 12:22:23Z andrea $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
-# Contributor: kontrast <kontr4st@gmail.com>
-
-pkgname=python-pycurl
-pkgver=7.19.0
-pkgrel=5
-pkgdesc="A Python interface to libcurl"
-arch=('i686' 'x86_64')
-url="http://pycurl.sourceforge.net"
-license=('GPL')
-depends=('python2' 'curl')
-replaces=('pycurl')
-provides=('pycurl')
-source=("http://pycurl.sourceforge.net/download/pycurl-${pkgver}.tar.gz")
-md5sums=('919d58fe37e69fe87ce4534d8b6a1c7b')
-
-package() {
- cd ${srcdir}/pycurl-${pkgver}
- python2 setup.py install --curl-config=/usr/bin/curl-config --prefix ${pkgdir}/usr
-}
diff --git a/community/sfml/use-system-libs.patch b/community/sfml/use-system-libs.patch
deleted file mode 100644
index 5d3200225..000000000
--- a/community/sfml/use-system-libs.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Only in SFML-1.6-old/lib: libsfml-graphics.so.1.6
-Binary files SFML-1.6-old/lib/libsfml-network.so.1.6 and SFML-1.6/lib/libsfml-network.so.1.6 differ
-Binary files SFML-1.6-old/lib/libsfml-system.so.1.6 and SFML-1.6/lib/libsfml-system.so.1.6 differ
-Binary files SFML-1.6-old/lib/libsfml-window.so.1.6 and SFML-1.6/lib/libsfml-window.so.1.6 differ
-diff -ur SFML-1.6-old/src/SFML/Graphics/ImageLoader.cpp SFML-1.6/src/SFML/Graphics/ImageLoader.cpp
---- SFML-1.6-old/src/SFML/Graphics/ImageLoader.cpp 2010-01-27 15:00:05.000000000 +0100
-+++ SFML-1.6/src/SFML/Graphics/ImageLoader.cpp 2010-08-16 12:27:33.983627625 +0200
-@@ -28,10 +28,10 @@
- #include <SFML/Graphics/ImageLoader.hpp>
- extern "C"
- {
-- #include <SFML/Graphics/libjpeg/jpeglib.h>
-- #include <SFML/Graphics/libjpeg/jerror.h>
-+ #include <jpeglib.h>
-+ #include <jerror.h>
- }
--#include <SFML/Graphics/libpng/png.h>
-+#include <png.h>
- #include <SFML/Graphics/SOIL/SOIL.h>
- #include <iostream>
-
-Only in SFML-1.6-old/src/SFML/Graphics: ImageLoader.cpp.rej
-diff -ur SFML-1.6-old/src/SFML/Graphics/Makefile SFML-1.6/src/SFML/Graphics/Makefile
---- SFML-1.6-old/src/SFML/Graphics/Makefile 2010-01-27 15:00:05.000000000 +0100
-+++ SFML-1.6/src/SFML/Graphics/Makefile 2010-08-16 12:25:13.663501212 +0200
-@@ -1,15 +1,5 @@
- SRC = $(wildcard *.cpp)
--SRCGLEW = $(wildcard ./GLEW/*.c)
--SRCJPEG = $(wildcard ./libjpeg/*.c)
--SRCPNG = $(wildcard ./libpng/*.c)
--SRCSOIL = $(wildcard ./SOIL/*.c)
--SRCZLIB = $(wildcard ./zlib/*.c)
- OBJ = $(SRC:.cpp=.o)
--OBJGLEW = $(SRCGLEW:.c=.o)
--OBJJPEG = $(SRCJPEG:.c=.o)
--OBJPNG = $(SRCPNG:.c=.o)
--OBJSOIL = $(SRCSOIL:.c=.o)
--OBJZLIB = $(SRCZLIB:.c=.o)
-
- ifeq ($(STATIC), yes)
- LIB = libsfml-graphics-s.a
-@@ -23,22 +13,19 @@
-
- all: $(LIB)
-
--libsfml-graphics-s.a: $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
-- $(AR) $(ARFLAGS) $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
-+libsfml-graphics-s.a: $(OBJ)
-+ $(AR) $(ARFLAGS) $(LIBNAME) $(OBJ) -static -lGLEW -ljpeg -lpng -lsoil -lz -lSOIL
-
--libsfml-graphics.so: $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
-- $(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB) -lfreetype -lX11 -lGL
-+libsfml-graphics.so: $(OBJ)
-+ $(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJ) -lGLEW -ljpeg -lpng -lSOIL -lz -lfreetype -lX11 -lGL
-
- $(OBJ): %.o: %.cpp
- $(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2
-
--$(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB): %.o: %.c
-- $(CC) -o $@ -c $< $(CFLAGSEXT) -DSTBI_FAILURE_USERMSG
--
- .PHONY: clean mrproper
-
- clean:
-- @rm -rf $(OBJ) $(OBJGLEW) $(OBJJPEG) $(OBJPNG) $(OBJSOIL) $(OBJZLIB)
-+ @rm -rf $(OBJ)
-
- mrproper: clean
- @rm -rf $(LIBNAME)
-Only in SFML-1.6-old/src/SFML/Graphics: Makefile.rej
diff --git a/community/synfigstudio/images-makefile.patch b/community/synfigstudio/images-makefile.patch
deleted file mode 100644
index cb209b40e..000000000
--- a/community/synfigstudio/images-makefile.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- images-old/Makefile 2008-10-22 23:16:32.000000000 -0700
-+++ images/Makefile 2008-10-22 23:15:16.000000000 -0700
-@@ -223,7 +223,7 @@
- top_builddir = ..
- top_srcdir = ..
- SYNFIG = synfig
--EXT = png
-+EXT = mng
- EXTRA_DIST = installer_logo.sif installer_logo_osx.sif \
- splash_screen.sifz splash_screen-0.61.08.sif \
- splash_screen-0.61.07.sif about_icon.sif angle_icon.sif \
-@@ -650,31 +650,37 @@
- $(SYNFIG) -q $< -o $@ --time 0
- echo " File \"images\\$@\"" >>./images.nsh
- echo " Delete \"\$$INSTDIR\\share\\pixmaps\\$@\"" >>./unimages.nsh
-+ mogrify -format png $@
-
- .sifz.$(EXT):
- $(SYNFIG) -q $< -o $@ --time 0
- echo " File \"images\\$@\"" >>./images.nsh
- echo " Delete \"\$$INSTDIR\\share\\pixmaps\\$@\"" >>./unimages.nsh
-+ mogrify -format png $@
-
- keyframe_lock_all.$(EXT): $(srcdir)/keyframe_lock_icon.sif
- $(SYNFIG) -q $< -o $@ --time 0
- echo " File \"images\\$@\"" >>./images.nsh
- echo " Delete \"\$$INSTDIR\\share\\pixmaps\\$@\"" >>./unimages.nsh
-+ mogrify -format png $@
-
- keyframe_lock_past.$(EXT): $(srcdir)/keyframe_lock_icon.sif
- $(SYNFIG) -q $< -o $@ --time 0 -c PastOnly
- echo " File \"images\\$@\"" >>./images.nsh
- echo " Delete \"\$$INSTDIR\\share\\pixmaps\\$@\"" >>./unimages.nsh
-+ mogrify -format png $@
-
- keyframe_lock_future.$(EXT): $(srcdir)/keyframe_lock_icon.sif
- $(SYNFIG) -q $< -o $@ --time 0 -c FutureOnly
- echo " File \"images\\$@\"" >>./images.nsh
- echo " Delete \"\$$INSTDIR\\share\\pixmaps\\$@\"" >>./unimages.nsh
-+ mogrify -format png $@
-
- keyframe_lock_none.$(EXT): $(srcdir)/keyframe_lock_icon.sif
- $(SYNFIG) -q $< -o $@ --time 0 -c Disabled
- echo " File \"images\\$@\"" >>./images.nsh
- echo " Delete \"\$$INSTDIR\\share\\pixmaps\\$@\"" >>./unimages.nsh
-+ mogrify -format png $@
-
- #.sif.png:
- # $(SYNFIG) -q $< -o $@ --time 0
diff --git a/extra/alpine/2.00-lpam.patch b/extra/alpine/2.00-lpam.patch
deleted file mode 100644
index 69e66d7ef..000000000
--- a/extra/alpine/2.00-lpam.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- alpine-2.00.orig/alpine/Makefile.in
-+++ alpine-2.00/alpine/Makefile.in
-@@ -169,7 +169,7 @@
- LIBICONV = @LIBICONV@
- LIBINTL = @LIBINTL@
- LIBOBJS = @LIBOBJS@
--LIBS = @LIBS@
-+LIBS = @LIBS@ -lpam
- LIBTOOL = @LIBTOOL@
- LN = @LN@
- LN_S = @LN_S@
- LTLIBICONV = @LTLIBICONV@
- LTLIBINTL = @LTLIBINTL@
diff --git a/extra/alpine/CVE-2008-5514.patch b/extra/alpine/CVE-2008-5514.patch
deleted file mode 100644
index 594bea0b2..000000000
--- a/extra/alpine/CVE-2008-5514.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- alpine-2.00/imap/src/c-client/rfc822.c
-+++ alpine-2.00/imap/src/c-client/rfc822.c
-@@ -1351,6 +1351,7 @@
-
- static long rfc822_output_char (RFC822BUFFER *buf,int c)
- {
-+ if ((buf->cur == buf->end) && !rfc822_output_flush (buf)) return NIL;
- *buf->cur++ = c; /* add character, soutr buffer if full */
- return (buf->cur == buf->end) ? rfc822_output_flush (buf) : LONGT;
- }
-@@ -1374,7 +1375,8 @@
- len -= i;
- }
- /* soutr buffer now if full */
-- if (len && !rfc822_output_flush (buf)) return NIL;
-+ if ((len || (buf->cur == buf->end)) && !rfc822_output_flush (buf))
-+ return NIL;
- }
- return LONGT;
- }
diff --git a/extra/alpine/PKGBUILD b/extra/alpine/PKGBUILD
deleted file mode 100644
index 6b2f9ee73..000000000
--- a/extra/alpine/PKGBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# $Id: PKGBUILD 121113 2011-04-29 02:56:31Z eric $
-# Maintainer: Eric Bélanger <eric@archlinux.org>
-
-pkgname=alpine
-pkgver=2.00
-pkgrel=13
-_patchlevel=79
-pkgdesc="The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages)"
-arch=('i686' 'x86_64')
-url="http://www.washington.edu/alpine/"
-license=('APACHE')
-depends=('libldap' 'krb5' 'gettext')
-optdepends=('aspell: for spell-checking support')
-provides=('pine')
-conflicts=('pine')
-replaces=('pine')
-options=('!makeflags')
-source=(ftp://ftp.cac.washington.edu/${pkgname}/${pkgname}.tar.bz2 \
- http://staff.washington.edu/chappa/alpine/patches/alpine-${pkgver}/all_${_patchlevel}.patch.gz \
- 2.00-lpam.patch CVE-2008-5514.patch)
-md5sums=('84e44cbf71ed674800a5d57eed9c1c52'
- 'd7dffd121c9a1cac4c458c0ff71df1ce'
- 'cd3911c16fc6a072e853c0ccfc35857c'
- '1b52a54a656979116c09fb1d948a4325')
-sha1sums=('dcbd3c5419954f484ccf706feaba31ce48cdebc4'
- 'd3acbf0e46c50feb2e822ef3bdc0a0f43c007294'
- '1b39525f91ebd5a9de5a1e04f5554f6fa5f58ae3'
- 'bc61d76a237ff42b00b3f60f2e6fc5c45e261dbb')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p1 < ../all_${_patchlevel}.patch
- patch -p1 < ../2.00-lpam.patch
- patch -p1 < ../CVE-2008-5514.patch
- ./configure --prefix=/usr --without-passfile --without-tcl \
- --disable-shared --with-system-pinerc=/etc/alpine.d/pine.conf \
- --with-system-fixed-pinerc=/etc/alpine.d/pine.conf.fixed
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/extra/anjuta-extras/PKGBUILD b/extra/anjuta-extras/PKGBUILD
deleted file mode 100644
index 0d1eea2e5..000000000
--- a/extra/anjuta-extras/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 105124 2011-01-06 17:19:56Z ibiru $
-# Mantainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=anjuta-extras
-pkgver=2.32.1.1
-pkgrel=1
-pkgdesc="Anjuta Integrated Development Environment extra plugins"
-arch=('i686' 'x86_64')
-license=('GPL')
-depends=('anjuta>=2.32.0.0' 'libgnomecanvas>=2.30.2' 'graphviz>=2.26.3' 'valgrind')
-makedepends=('intltool')
-install=anjuta-extras.install
-url="http://anjuta.sourceforge.net/"
-source=(ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.32/${pkgname}-${pkgver}.tar.bz2)
-options=('!libtool' '!emptydirs')
-sha256sums=('0461b78eaa11b7a930001024c4db2484863b35f5f52acaa23c568bc6355414a4')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static
- make
- make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
-
- install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
- gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain anjuta-extras ${pkgdir}/etc/gconf/schemas/*.schemas
-}
diff --git a/extra/anjuta-extras/anjuta-extras.install b/extra/anjuta-extras/anjuta-extras.install
deleted file mode 100644
index 2c23edf15..000000000
--- a/extra/anjuta-extras/anjuta-extras.install
+++ /dev/null
@@ -1,17 +0,0 @@
-pkgname=anjuta
-
-post_install() {
- usr/sbin/gconfpkg --install ${pkgname}
-}
-
-pre_upgrade() {
- pre_remove $1
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- usr/sbin/gconfpkg --uninstall ${pkgname}
-}
diff --git a/extra/aufs2-util/PKGBUILD b/extra/aufs2-util/PKGBUILD
deleted file mode 100644
index 3d2e23fed..000000000
--- a/extra/aufs2-util/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id: PKGBUILD 114820 2011-03-16 06:31:06Z tpowa $
-# Contributor: Paul Mattal <paul@mattal.com>
-# Maintainer: Paul Mattal <pjmattal@elys.com>
-pkgname=aufs2-util
-pkgver=20110314
-pkgrel=1
-pkgdesc="Another Unionfs Implementation that supports NFS branches"
-arch=('i686' 'x86_64')
-url="http://aufs.sourceforge.net/"
-license=('GPL2')
-depends=('glibc')
-makedepends=('aufs2>=2.6.38_20110314' 'kernel26-headers')
-replaces=('aufs-utils')
-source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-
-build() {
- cd $srcdir/$pkgname-$pkgver
- make
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install
-}
-md5sums=('bf0f9c86361e12a3181fb3891e57cd8d')
diff --git a/extra/aufs2-util/create-tarball.sh b/extra/aufs2-util/create-tarball.sh
deleted file mode 100755
index 361cbbc38..000000000
--- a/extra/aufs2-util/create-tarball.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-GITSNAPSHOT=20110314
-# aufs2 (no -xx) for the latest -rc version.
-git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git aufs2-util.git
-cd aufs2-util.git
-#git checkout origin/aufs2${AUFS2VERSION}
-git checkout origin/aufs2.1
-cd ..
-rm -rf aufs2-util-${GITSNAPSHOT}
-cp -a aufs2-util.git aufs2-util-${GITSNAPSHOT}
-tar -czf aufs2-util-${GITSNAPSHOT}.tar.gz --exclude=.git aufs2-util-${GITSNAPSHOT}
diff --git a/extra/bochs/2.4.5-fetchcode.patch b/extra/bochs/2.4.5-fetchcode.patch
deleted file mode 100644
index ef980a340..000000000
--- a/extra/bochs/2.4.5-fetchcode.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- cpu/fetchdecode.cc.orig 2010-04-16 15:52:44.000000000 -0400
-+++ cpu/fetchdecode.cc 2010-10-07 13:23:06.000000000 -0400
-@@ -1,5 +1,5 @@
- /////////////////////////////////////////////////////////////////////////
--// $Id: fetchdecode.cc,v 1.266 2010/04/16 19:52:44 sshwarts Exp $
-+// $Id: fetchdecode.cc,v 1.267 2010/04/29 21:04:23 sshwarts Exp $
- /////////////////////////////////////////////////////////////////////////
- //
- // Copyright (C) 2001-2009 The Bochs Project
-@@ -474,7 +474,7 @@
- /* 0F 0D /wr */ { 0, BX_IA_PREFETCHW }, // 3DNow! PREFETCH on AMD, NOP on Intel
- /* 0F 0E /wr */ { 0, BX_IA_FEMMS }, // 3DNow! FEMMS
- #if BX_SUPPORT_3DNOW
-- /* 0F 0F /wr */ { BxImmediate_Ib, BX_IA_ERROR, Bx3DNowOpcodeInfo },
-+ /* 0F 0F /wr */ { BxImmediate_Ib, BX_IA_ERROR },
- #else
- /* 0F 0F /wr */ { 0, BX_IA_ERROR },
- #endif
-@@ -1025,7 +1025,7 @@
- /* 0F 0D /dr */ { 0, BX_IA_PREFETCHW }, // 3DNow! PREFETCH on AMD, NOP on Intel
- /* 0F 0E /dr */ { 0, BX_IA_FEMMS }, // 3DNow! FEMMS
- #if BX_SUPPORT_3DNOW
-- /* 0F 0F /dr */ { BxImmediate_Ib, BX_IA_ERROR, Bx3DNowOpcodeInfo },
-+ /* 0F 0F /dr */ { BxImmediate_Ib, BX_IA_ERROR },
- #else
- /* 0F 0F /dr */ { 0, BX_IA_ERROR },
- #endif
-@@ -1583,7 +1583,7 @@
- /* 0F 0D /wm */ { 0, BX_IA_PREFETCHW }, // 3DNow! PREFETCH on AMD, NOP on Intel
- /* 0F 0E /wm */ { 0, BX_IA_FEMMS }, // 3DNow! FEMMS
- #if BX_SUPPORT_3DNOW
-- /* 0F 0F /wm */ { BxImmediate_Ib, BX_IA_ERROR, Bx3DNowOpcodeInfo },
-+ /* 0F 0F /wm */ { BxImmediate_Ib, BX_IA_ERROR },
- #else
- /* 0F 0F /wm */ { 0, BX_IA_ERROR },
- #endif
-@@ -2134,7 +2134,7 @@
- /* 0F 0D /dm */ { 0, BX_IA_PREFETCHW }, // 3DNow! PREFETCH on AMD, NOP on Intel
- /* 0F 0E /dm */ { 0, BX_IA_FEMMS }, // 3DNow! FEMMS
- #if BX_SUPPORT_3DNOW
-- /* 0F 0F /dm */ { BxImmediate_Ib, BX_IA_ERROR, Bx3DNowOpcodeInfo },
-+ /* 0F 0F /dm */ { BxImmediate_Ib, BX_IA_ERROR },
- #else
- /* 0F 0F /dm */ { 0, BX_IA_ERROR },
- #endif
diff --git a/extra/celestia/libpng14.patch b/extra/celestia/libpng14.patch
deleted file mode 100644
index 1d47637b9..000000000
--- a/extra/celestia/libpng14.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur celestia-1.6.0.orig/src/celengine/image.cpp celestia-1.6.0/src/celengine/image.cpp
---- celestia-1.6.0.orig/src/celengine/image.cpp 2009-06-22 18:44:08.000000000 +0300
-+++ celestia-1.6.0/src/celengine/image.cpp 2010-01-18 23:27:55.000000000 +0200
-@@ -737,7 +737,7 @@
-
- if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
- {
-- png_set_gray_1_2_4_to_8(png_ptr);
-+ png_set_expand_gray_1_2_4_to_8(png_ptr);
- }
-
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
diff --git a/extra/fbida/ChangeLog b/extra/fbida/ChangeLog
deleted file mode 100644
index 7e67308c0..000000000
--- a/extra/fbida/ChangeLog
+++ /dev/null
@@ -1,21 +0,0 @@
-2010-03-02 Eric Belanger <eric@archlinux.org>
-
- * fbida 2.07-5
- * Fixed exiftran (close FS#18302)
- * Removed backup array
-
-2010-01-17 Eric Belanger <eric@archlinux.org>
-
- * fbida 2.07-4
- * Rebuilt for libpng 1.4 and libjpeg 8
-
-2009-08-10 Eric Belanger <eric@archlinux.org>
-
- * fbida 2.07-3
- * Fixed compatibility problem with libjpeg 7 (close FS#15875)
-
-2009-07-01 Eric Belanger <eric@archlinux.org>
-
- * fbida 2.07-2
- * Rebuild against libjpeg 7
- * Added ChangeLog
diff --git a/extra/fbida/jinclude.h b/extra/fbida/jinclude.h
deleted file mode 100644
index 0a4f15146..000000000
--- a/extra/fbida/jinclude.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * jinclude.h
- *
- * Copyright (C) 1991-1994, Thomas G. Lane.
- * This file is part of the Independent JPEG Group's software.
- * For conditions of distribution and use, see the accompanying README file.
- *
- * This file exists to provide a single place to fix any problems with
- * including the wrong system include files. (Common problems are taken
- * care of by the standard jconfig symbols, but on really weird systems
- * you may have to edit this file.)
- *
- * NOTE: this file is NOT intended to be included by applications using the
- * JPEG library. Most applications need only include jpeglib.h.
- */
-
-
-/* Include auto-config file to find out which system include files we need. */
-
-#include "jconfig.h" /* auto configuration options */
-#define JCONFIG_INCLUDED /* so that jpeglib.h doesn't do it again */
-
-/*
- * We need the NULL macro and size_t typedef.
- * On an ANSI-conforming system it is sufficient to include <stddef.h>.
- * Otherwise, we get them from <stdlib.h> or <stdio.h>; we may have to
- * pull in <sys/types.h> as well.
- * Note that the core JPEG library does not require <stdio.h>;
- * only the default error handler and data source/destination modules do.
- * But we must pull it in because of the references to FILE in jpeglib.h.
- * You can remove those references if you want to compile without <stdio.h>.
- */
-
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#ifdef NEED_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#include <stdio.h>
-
-/*
- * We need memory copying and zeroing functions, plus strncpy().
- * ANSI and System V implementations declare these in <string.h>.
- * BSD doesn't have the mem() functions, but it does have bcopy()/bzero().
- * Some systems may declare memset and memcpy in <memory.h>.
- *
- * NOTE: we assume the size parameters to these functions are of type size_t.
- * Change the casts in these macros if not!
- */
-
-#ifdef NEED_BSD_STRINGS
-
-#include <strings.h>
-#define MEMZERO(target,size) bzero((void *)(target), (size_t)(size))
-#define MEMCOPY(dest,src,size) bcopy((const void *)(src), (void *)(dest), (size_t)(size))
-
-#else /* not BSD, assume ANSI/SysV string lib */
-
-#include <string.h>
-#define MEMZERO(target,size) memset((void *)(target), 0, (size_t)(size))
-#define MEMCOPY(dest,src,size) memcpy((void *)(dest), (const void *)(src), (size_t)(size))
-
-#endif
-
-/*
- * In ANSI C, and indeed any rational implementation, size_t is also the
- * type returned by sizeof(). However, it seems there are some irrational
- * implementations out there, in which sizeof() returns an int even though
- * size_t is defined as long or unsigned long. To ensure consistent results
- * we always use this SIZEOF() macro in place of using sizeof() directly.
- */
-
-#define SIZEOF(object) ((size_t) sizeof(object))
-
-/*
- * The modules that use fread() and fwrite() always invoke them through
- * these macros. On some systems you may need to twiddle the argument casts.
- * CAUTION: argument order is different from underlying functions!
- */
-
-#define JFREAD(file,buf,sizeofbuf) \
- ((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
-#define JFWRITE(file,buf,sizeofbuf) \
- ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file)))
diff --git a/extra/fbida/libpng-1.4.patch b/extra/fbida/libpng-1.4.patch
deleted file mode 100644
index f8a80d4b2..000000000
--- a/extra/fbida/libpng-1.4.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Naur fbida-2.07-orig/rd/read-png.c fbida-2.07/rd/read-png.c
---- fbida-2.07-orig/rd/read-png.c 2010-01-18 00:02:02.000000000 -0500
-+++ fbida-2.07/rd/read-png.c 2010-01-18 00:06:09.000000000 -0500
-@@ -69,8 +69,11 @@
- if (h->color_type == PNG_COLOR_TYPE_PALETTE)
- png_set_palette_to_rgb(h->png);
- if (h->color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
-- png_set_gray_1_2_4_to_8(h->png);
--
-+#if PNG_LIBPNG_VER < 10400
-+ png_set_gray_1_2_4_to_8(h->png);
-+#else
-+ png_set_expand_gray_1_2_4_to_8(h->png);
-+#endif
- if (png_get_bKGD(h->png, h->info, &file_bg)) {
- png_set_background(h->png,file_bg,PNG_BACKGROUND_GAMMA_FILE,1,1.0);
- } else {
diff --git a/extra/fbida/transupp.c b/extra/fbida/transupp.c
deleted file mode 100644
index 406054482..000000000
--- a/extra/fbida/transupp.c
+++ /dev/null
@@ -1,1583 +0,0 @@
-/*
- * transupp.c
- *
- * Copyright (C) 1997-2009, Thomas G. Lane, Guido Vollbeding.
- * This file is part of the Independent JPEG Group's software.
- * For conditions of distribution and use, see the accompanying README file.
- *
- * This file contains image transformation routines and other utility code
- * used by the jpegtran sample application. These are NOT part of the core
- * JPEG library. But we keep these routines separate from jpegtran.c to
- * ease the task of maintaining jpegtran-like programs that have other user
- * interfaces.
- */
-
-/* Although this file really shouldn't have access to the library internals,
- * it's helpful to let it call jround_up() and jcopy_block_row().
- */
-#define JPEG_INTERNALS
-
-#include "jinclude.h"
-#include "jpeglib.h"
-#include "transupp.h" /* My own external interface */
-#include <ctype.h> /* to declare isdigit() */
-
-
-#if TRANSFORMS_SUPPORTED
-
-/*
- * Lossless image transformation routines. These routines work on DCT
- * coefficient arrays and thus do not require any lossy decompression
- * or recompression of the image.
- * Thanks to Guido Vollbeding for the initial design and code of this feature,
- * and to Ben Jackson for introducing the cropping feature.
- *
- * Horizontal flipping is done in-place, using a single top-to-bottom
- * pass through the virtual source array. It will thus be much the
- * fastest option for images larger than main memory.
- *
- * The other routines require a set of destination virtual arrays, so they
- * need twice as much memory as jpegtran normally does. The destination
- * arrays are always written in normal scan order (top to bottom) because
- * the virtual array manager expects this. The source arrays will be scanned
- * in the corresponding order, which means multiple passes through the source
- * arrays for most of the transforms. That could result in much thrashing
- * if the image is larger than main memory.
- *
- * If cropping or trimming is involved, the destination arrays may be smaller
- * than the source arrays. Note it is not possible to do horizontal flip
- * in-place when a nonzero Y crop offset is specified, since we'd have to move
- * data from one block row to another but the virtual array manager doesn't
- * guarantee we can touch more than one row at a time. So in that case,
- * we have to use a separate destination array.
- *
- * Some notes about the operating environment of the individual transform
- * routines:
- * 1. Both the source and destination virtual arrays are allocated from the
- * source JPEG object, and therefore should be manipulated by calling the
- * source's memory manager.
- * 2. The destination's component count should be used. It may be smaller
- * than the source's when forcing to grayscale.
- * 3. Likewise the destination's sampling factors should be used. When
- * forcing to grayscale the destination's sampling factors will be all 1,
- * and we may as well take that as the effective iMCU size.
- * 4. When "trim" is in effect, the destination's dimensions will be the
- * trimmed values but the source's will be untrimmed.
- * 5. When "crop" is in effect, the destination's dimensions will be the
- * cropped values but the source's will be uncropped. Each transform
- * routine is responsible for picking up source data starting at the
- * correct X and Y offset for the crop region. (The X and Y offsets
- * passed to the transform routines are measured in iMCU blocks of the
- * destination.)
- * 6. All the routines assume that the source and destination buffers are
- * padded out to a full iMCU boundary. This is true, although for the
- * source buffer it is an undocumented property of jdcoefct.c.
- */
-
-
-LOCAL(void)
-do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* Crop. This is only used when no rotate/flip is requested with the crop. */
-{
- JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks;
- int ci, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- jpeg_component_info *compptr;
-
- /* We simply have to copy the right amount of data (the destination's
- * image size) starting at the given X and Y offsets in the source.
- */
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_y + y_crop_blocks,
- (JDIMENSION) compptr->v_samp_factor, FALSE);
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
- dst_buffer[offset_y],
- compptr->width_in_blocks);
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset,
- jvirt_barray_ptr *src_coef_arrays)
-/* Horizontal flip; done in-place, so no separate dest array is required.
- * NB: this only works when y_crop_offset is zero.
- */
-{
- JDIMENSION MCU_cols, comp_width, blk_x, blk_y, x_crop_blocks;
- int ci, k, offset_y;
- JBLOCKARRAY buffer;
- JCOEFPTR ptr1, ptr2;
- JCOEF temp1, temp2;
- jpeg_component_info *compptr;
-
- /* Horizontal mirroring of DCT blocks is accomplished by swapping
- * pairs of blocks in-place. Within a DCT block, we perform horizontal
- * mirroring by changing the signs of odd-numbered columns.
- * Partial iMCUs at the right edge are left untouched.
- */
- MCU_cols = srcinfo->output_width /
- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size);
-
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- comp_width = MCU_cols * compptr->h_samp_factor;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- for (blk_y = 0; blk_y < compptr->height_in_blocks;
- blk_y += compptr->v_samp_factor) {
- buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- /* Do the mirroring */
- for (blk_x = 0; blk_x * 2 < comp_width; blk_x++) {
- ptr1 = buffer[offset_y][blk_x];
- ptr2 = buffer[offset_y][comp_width - blk_x - 1];
- /* this unrolled loop doesn't need to know which row it's on... */
- for (k = 0; k < DCTSIZE2; k += 2) {
- temp1 = *ptr1; /* swap even column */
- temp2 = *ptr2;
- *ptr1++ = temp2;
- *ptr2++ = temp1;
- temp1 = *ptr1; /* swap odd column with sign change */
- temp2 = *ptr2;
- *ptr1++ = -temp2;
- *ptr2++ = -temp1;
- }
- }
- if (x_crop_blocks > 0) {
- /* Now left-justify the portion of the data to be kept.
- * We can't use a single jcopy_block_row() call because that routine
- * depends on memcpy(), whose behavior is unspecified for overlapping
- * source and destination areas. Sigh.
- */
- for (blk_x = 0; blk_x < compptr->width_in_blocks; blk_x++) {
- jcopy_block_row(buffer[offset_y] + blk_x + x_crop_blocks,
- buffer[offset_y] + blk_x,
- (JDIMENSION) 1);
- }
- }
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* Horizontal flip in general cropping case */
-{
- JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
- JDIMENSION x_crop_blocks, y_crop_blocks;
- int ci, k, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- JBLOCKROW src_row_ptr, dst_row_ptr;
- JCOEFPTR src_ptr, dst_ptr;
- jpeg_component_info *compptr;
-
- /* Here we must output into a separate array because we can't touch
- * different rows of a single virtual array simultaneously. Otherwise,
- * this is essentially the same as the routine above.
- */
- MCU_cols = srcinfo->output_width /
- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size);
-
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- comp_width = MCU_cols * compptr->h_samp_factor;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_y + y_crop_blocks,
- (JDIMENSION) compptr->v_samp_factor, FALSE);
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- dst_row_ptr = dst_buffer[offset_y];
- src_row_ptr = src_buffer[offset_y];
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Do the mirrorable blocks */
- dst_ptr = dst_row_ptr[dst_blk_x];
- src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
- /* this unrolled loop doesn't need to know which row it's on... */
- for (k = 0; k < DCTSIZE2; k += 2) {
- *dst_ptr++ = *src_ptr++; /* copy even column */
- *dst_ptr++ = - *src_ptr++; /* copy odd column with sign change */
- }
- } else {
- /* Copy last partial block(s) verbatim */
- jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
- dst_row_ptr + dst_blk_x,
- (JDIMENSION) 1);
- }
- }
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* Vertical flip */
-{
- JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
- JDIMENSION x_crop_blocks, y_crop_blocks;
- int ci, i, j, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- JBLOCKROW src_row_ptr, dst_row_ptr;
- JCOEFPTR src_ptr, dst_ptr;
- jpeg_component_info *compptr;
-
- /* We output into a separate array because we can't touch different
- * rows of the source virtual array simultaneously. Otherwise, this
- * is a pretty straightforward analog of horizontal flip.
- * Within a DCT block, vertical mirroring is done by changing the signs
- * of odd-numbered rows.
- * Partial iMCUs at the bottom edge are copied verbatim.
- */
- MCU_rows = srcinfo->output_height /
- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size);
-
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- comp_height = MCU_rows * compptr->v_samp_factor;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- if (y_crop_blocks + dst_blk_y < comp_height) {
- /* Row is within the mirrorable area. */
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- comp_height - y_crop_blocks - dst_blk_y -
- (JDIMENSION) compptr->v_samp_factor,
- (JDIMENSION) compptr->v_samp_factor, FALSE);
- } else {
- /* Bottom-edge blocks will be copied verbatim. */
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_y + y_crop_blocks,
- (JDIMENSION) compptr->v_samp_factor, FALSE);
- }
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- if (y_crop_blocks + dst_blk_y < comp_height) {
- /* Row is within the mirrorable area. */
- dst_row_ptr = dst_buffer[offset_y];
- src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
- src_row_ptr += x_crop_blocks;
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
- dst_blk_x++) {
- dst_ptr = dst_row_ptr[dst_blk_x];
- src_ptr = src_row_ptr[dst_blk_x];
- for (i = 0; i < DCTSIZE; i += 2) {
- /* copy even row */
- for (j = 0; j < DCTSIZE; j++)
- *dst_ptr++ = *src_ptr++;
- /* copy odd row with sign change */
- for (j = 0; j < DCTSIZE; j++)
- *dst_ptr++ = - *src_ptr++;
- }
- }
- } else {
- /* Just copy row verbatim. */
- jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
- dst_buffer[offset_y],
- compptr->width_in_blocks);
- }
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* Transpose source into destination */
-{
- JDIMENSION dst_blk_x, dst_blk_y, x_crop_blocks, y_crop_blocks;
- int ci, i, j, offset_x, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- JCOEFPTR src_ptr, dst_ptr;
- jpeg_component_info *compptr;
-
- /* Transposing pixels within a block just requires transposing the
- * DCT coefficients.
- * Partial iMCUs at the edges require no special treatment; we simply
- * process all the available DCT blocks for every component.
- */
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
- dst_blk_x += compptr->h_samp_factor) {
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_x + x_crop_blocks,
- (JDIMENSION) compptr->h_samp_factor, FALSE);
- for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y + y_crop_blocks];
- for (i = 0; i < DCTSIZE; i++)
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- }
- }
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* 90 degree rotation is equivalent to
- * 1. Transposing the image;
- * 2. Horizontal mirroring.
- * These two steps are merged into a single processing routine.
- */
-{
- JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
- JDIMENSION x_crop_blocks, y_crop_blocks;
- int ci, i, j, offset_x, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- JCOEFPTR src_ptr, dst_ptr;
- jpeg_component_info *compptr;
-
- /* Because of the horizontal mirror step, we can't process partial iMCUs
- * at the (output) right edge properly. They just get transposed and
- * not mirrored.
- */
- MCU_cols = srcinfo->output_height /
- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size);
-
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- comp_width = MCU_cols * compptr->h_samp_factor;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
- dst_blk_x += compptr->h_samp_factor) {
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Block is within the mirrorable area. */
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- comp_width - x_crop_blocks - dst_blk_x -
- (JDIMENSION) compptr->h_samp_factor,
- (JDIMENSION) compptr->h_samp_factor, FALSE);
- } else {
- /* Edge blocks are transposed but not mirrored. */
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_x + x_crop_blocks,
- (JDIMENSION) compptr->h_samp_factor, FALSE);
- }
- for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Block is within the mirrorable area. */
- src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
- [dst_blk_y + offset_y + y_crop_blocks];
- for (i = 0; i < DCTSIZE; i++) {
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- i++;
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j];
- }
- } else {
- /* Edge blocks are transposed but not mirrored. */
- src_ptr = src_buffer[offset_x]
- [dst_blk_y + offset_y + y_crop_blocks];
- for (i = 0; i < DCTSIZE; i++)
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- }
- }
- }
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* 270 degree rotation is equivalent to
- * 1. Horizontal mirroring;
- * 2. Transposing the image.
- * These two steps are merged into a single processing routine.
- */
-{
- JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
- JDIMENSION x_crop_blocks, y_crop_blocks;
- int ci, i, j, offset_x, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- JCOEFPTR src_ptr, dst_ptr;
- jpeg_component_info *compptr;
-
- /* Because of the horizontal mirror step, we can't process partial iMCUs
- * at the (output) bottom edge properly. They just get transposed and
- * not mirrored.
- */
- MCU_rows = srcinfo->output_width /
- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size);
-
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- comp_height = MCU_rows * compptr->v_samp_factor;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
- dst_blk_x += compptr->h_samp_factor) {
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_x + x_crop_blocks,
- (JDIMENSION) compptr->h_samp_factor, FALSE);
- for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
- if (y_crop_blocks + dst_blk_y < comp_height) {
- /* Block is within the mirrorable area. */
- src_ptr = src_buffer[offset_x]
- [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
- for (i = 0; i < DCTSIZE; i++) {
- for (j = 0; j < DCTSIZE; j++) {
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- j++;
- dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j];
- }
- }
- } else {
- /* Edge blocks are transposed but not mirrored. */
- src_ptr = src_buffer[offset_x]
- [dst_blk_y + offset_y + y_crop_blocks];
- for (i = 0; i < DCTSIZE; i++)
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- }
- }
- }
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* 180 degree rotation is equivalent to
- * 1. Vertical mirroring;
- * 2. Horizontal mirroring.
- * These two steps are merged into a single processing routine.
- */
-{
- JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
- JDIMENSION x_crop_blocks, y_crop_blocks;
- int ci, i, j, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- JBLOCKROW src_row_ptr, dst_row_ptr;
- JCOEFPTR src_ptr, dst_ptr;
- jpeg_component_info *compptr;
-
- MCU_cols = srcinfo->output_width /
- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size);
- MCU_rows = srcinfo->output_height /
- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size);
-
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- comp_width = MCU_cols * compptr->h_samp_factor;
- comp_height = MCU_rows * compptr->v_samp_factor;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- if (y_crop_blocks + dst_blk_y < comp_height) {
- /* Row is within the vertically mirrorable area. */
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- comp_height - y_crop_blocks - dst_blk_y -
- (JDIMENSION) compptr->v_samp_factor,
- (JDIMENSION) compptr->v_samp_factor, FALSE);
- } else {
- /* Bottom-edge rows are only mirrored horizontally. */
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_y + y_crop_blocks,
- (JDIMENSION) compptr->v_samp_factor, FALSE);
- }
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- dst_row_ptr = dst_buffer[offset_y];
- if (y_crop_blocks + dst_blk_y < comp_height) {
- /* Row is within the mirrorable area. */
- src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
- dst_ptr = dst_row_ptr[dst_blk_x];
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Process the blocks that can be mirrored both ways. */
- src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
- for (i = 0; i < DCTSIZE; i += 2) {
- /* For even row, negate every odd column. */
- for (j = 0; j < DCTSIZE; j += 2) {
- *dst_ptr++ = *src_ptr++;
- *dst_ptr++ = - *src_ptr++;
- }
- /* For odd row, negate every even column. */
- for (j = 0; j < DCTSIZE; j += 2) {
- *dst_ptr++ = - *src_ptr++;
- *dst_ptr++ = *src_ptr++;
- }
- }
- } else {
- /* Any remaining right-edge blocks are only mirrored vertically. */
- src_ptr = src_row_ptr[x_crop_blocks + dst_blk_x];
- for (i = 0; i < DCTSIZE; i += 2) {
- for (j = 0; j < DCTSIZE; j++)
- *dst_ptr++ = *src_ptr++;
- for (j = 0; j < DCTSIZE; j++)
- *dst_ptr++ = - *src_ptr++;
- }
- }
- }
- } else {
- /* Remaining rows are just mirrored horizontally. */
- src_row_ptr = src_buffer[offset_y];
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Process the blocks that can be mirrored. */
- dst_ptr = dst_row_ptr[dst_blk_x];
- src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
- for (i = 0; i < DCTSIZE2; i += 2) {
- *dst_ptr++ = *src_ptr++;
- *dst_ptr++ = - *src_ptr++;
- }
- } else {
- /* Any remaining right-edge blocks are only copied. */
- jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
- dst_row_ptr + dst_blk_x,
- (JDIMENSION) 1);
- }
- }
- }
- }
- }
- }
-}
-
-
-LOCAL(void)
-do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
- jvirt_barray_ptr *src_coef_arrays,
- jvirt_barray_ptr *dst_coef_arrays)
-/* Transverse transpose is equivalent to
- * 1. 180 degree rotation;
- * 2. Transposition;
- * or
- * 1. Horizontal mirroring;
- * 2. Transposition;
- * 3. Horizontal mirroring.
- * These steps are merged into a single processing routine.
- */
-{
- JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
- JDIMENSION x_crop_blocks, y_crop_blocks;
- int ci, i, j, offset_x, offset_y;
- JBLOCKARRAY src_buffer, dst_buffer;
- JCOEFPTR src_ptr, dst_ptr;
- jpeg_component_info *compptr;
-
- MCU_cols = srcinfo->output_height /
- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size);
- MCU_rows = srcinfo->output_width /
- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size);
-
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- comp_width = MCU_cols * compptr->h_samp_factor;
- comp_height = MCU_rows * compptr->v_samp_factor;
- x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
- y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
- for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
- dst_blk_y += compptr->v_samp_factor) {
- dst_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
- (JDIMENSION) compptr->v_samp_factor, TRUE);
- for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
- for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
- dst_blk_x += compptr->h_samp_factor) {
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Block is within the mirrorable area. */
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- comp_width - x_crop_blocks - dst_blk_x -
- (JDIMENSION) compptr->h_samp_factor,
- (JDIMENSION) compptr->h_samp_factor, FALSE);
- } else {
- src_buffer = (*srcinfo->mem->access_virt_barray)
- ((j_common_ptr) srcinfo, src_coef_arrays[ci],
- dst_blk_x + x_crop_blocks,
- (JDIMENSION) compptr->h_samp_factor, FALSE);
- }
- for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
- if (y_crop_blocks + dst_blk_y < comp_height) {
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Block is within the mirrorable area. */
- src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
- [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
- for (i = 0; i < DCTSIZE; i++) {
- for (j = 0; j < DCTSIZE; j++) {
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- j++;
- dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j];
- }
- i++;
- for (j = 0; j < DCTSIZE; j++) {
- dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j];
- j++;
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- }
- }
- } else {
- /* Right-edge blocks are mirrored in y only */
- src_ptr = src_buffer[offset_x]
- [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
- for (i = 0; i < DCTSIZE; i++) {
- for (j = 0; j < DCTSIZE; j++) {
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- j++;
- dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j];
- }
- }
- }
- } else {
- if (x_crop_blocks + dst_blk_x < comp_width) {
- /* Bottom-edge blocks are mirrored in x only */
- src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
- [dst_blk_y + offset_y + y_crop_blocks];
- for (i = 0; i < DCTSIZE; i++) {
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- i++;
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = -src_ptr[i*DCTSIZE+j];
- }
- } else {
- /* At lower right corner, just transpose, no mirroring */
- src_ptr = src_buffer[offset_x]
- [dst_blk_y + offset_y + y_crop_blocks];
- for (i = 0; i < DCTSIZE; i++)
- for (j = 0; j < DCTSIZE; j++)
- dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
- }
- }
- }
- }
- }
- }
- }
-}
-
-
-/* Parse an unsigned integer: subroutine for jtransform_parse_crop_spec.
- * Returns TRUE if valid integer found, FALSE if not.
- * *strptr is advanced over the digit string, and *result is set to its value.
- */
-
-LOCAL(boolean)
-jt_read_integer (const char ** strptr, JDIMENSION * result)
-{
- const char * ptr = *strptr;
- JDIMENSION val = 0;
-
- for (; isdigit(*ptr); ptr++) {
- val = val * 10 + (JDIMENSION) (*ptr - '0');
- }
- *result = val;
- if (ptr == *strptr)
- return FALSE; /* oops, no digits */
- *strptr = ptr;
- return TRUE;
-}
-
-
-/* Parse a crop specification (written in X11 geometry style).
- * The routine returns TRUE if the spec string is valid, FALSE if not.
- *
- * The crop spec string should have the format
- * <width>x<height>{+-}<xoffset>{+-}<yoffset>
- * where width, height, xoffset, and yoffset are unsigned integers.
- * Each of the elements can be omitted to indicate a default value.
- * (A weakness of this style is that it is not possible to omit xoffset
- * while specifying yoffset, since they look alike.)
- *
- * This code is loosely based on XParseGeometry from the X11 distribution.
- */
-
-GLOBAL(boolean)
-jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec)
-{
- info->crop = FALSE;
- info->crop_width_set = JCROP_UNSET;
- info->crop_height_set = JCROP_UNSET;
- info->crop_xoffset_set = JCROP_UNSET;
- info->crop_yoffset_set = JCROP_UNSET;
-
- if (isdigit(*spec)) {
- /* fetch width */
- if (! jt_read_integer(&spec, &info->crop_width))
- return FALSE;
- info->crop_width_set = JCROP_POS;
- }
- if (*spec == 'x' || *spec == 'X') {
- /* fetch height */
- spec++;
- if (! jt_read_integer(&spec, &info->crop_height))
- return FALSE;
- info->crop_height_set = JCROP_POS;
- }
- if (*spec == '+' || *spec == '-') {
- /* fetch xoffset */
- info->crop_xoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
- spec++;
- if (! jt_read_integer(&spec, &info->crop_xoffset))
- return FALSE;
- }
- if (*spec == '+' || *spec == '-') {
- /* fetch yoffset */
- info->crop_yoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
- spec++;
- if (! jt_read_integer(&spec, &info->crop_yoffset))
- return FALSE;
- }
- /* We had better have gotten to the end of the string. */
- if (*spec != '\0')
- return FALSE;
- info->crop = TRUE;
- return TRUE;
-}
-
-
-/* Trim off any partial iMCUs on the indicated destination edge */
-
-LOCAL(void)
-trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width)
-{
- JDIMENSION MCU_cols;
-
- MCU_cols = info->output_width / info->iMCU_sample_width;
- if (MCU_cols > 0 && info->x_crop_offset + MCU_cols ==
- full_width / info->iMCU_sample_width)
- info->output_width = MCU_cols * info->iMCU_sample_width;
-}
-
-LOCAL(void)
-trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height)
-{
- JDIMENSION MCU_rows;
-
- MCU_rows = info->output_height / info->iMCU_sample_height;
- if (MCU_rows > 0 && info->y_crop_offset + MCU_rows ==
- full_height / info->iMCU_sample_height)
- info->output_height = MCU_rows * info->iMCU_sample_height;
-}
-
-
-/* Request any required workspace.
- *
- * This routine figures out the size that the output image will be
- * (which implies that all the transform parameters must be set before
- * it is called).
- *
- * We allocate the workspace virtual arrays from the source decompression
- * object, so that all the arrays (both the original data and the workspace)
- * will be taken into account while making memory management decisions.
- * Hence, this routine must be called after jpeg_read_header (which reads
- * the image dimensions) and before jpeg_read_coefficients (which realizes
- * the source's virtual arrays).
- *
- * This function returns FALSE right away if -perfect is given
- * and transformation is not perfect. Otherwise returns TRUE.
- */
-
-GLOBAL(boolean)
-jtransform_request_workspace (j_decompress_ptr srcinfo,
- jpeg_transform_info *info)
-{
- jvirt_barray_ptr *coef_arrays;
- boolean need_workspace, transpose_it;
- jpeg_component_info *compptr;
- JDIMENSION xoffset, yoffset;
- JDIMENSION width_in_iMCUs, height_in_iMCUs;
- JDIMENSION width_in_blocks, height_in_blocks;
- int ci, h_samp_factor, v_samp_factor;
-
- /* Determine number of components in output image */
- if (info->force_grayscale &&
- srcinfo->jpeg_color_space == JCS_YCbCr &&
- srcinfo->num_components == 3)
- /* We'll only process the first component */
- info->num_components = 1;
- else
- /* Process all the components */
- info->num_components = srcinfo->num_components;
-
- /* Compute output image dimensions and related values. */
- jpeg_core_output_dimensions(srcinfo);
-
- /* Return right away if -perfect is given and transformation is not perfect.
- */
- if (info->perfect) {
- if (info->num_components == 1) {
- if (!jtransform_perfect_transform(srcinfo->output_width,
- srcinfo->output_height,
- srcinfo->min_DCT_h_scaled_size,
- srcinfo->min_DCT_v_scaled_size,
- info->transform))
- return FALSE;
- } else {
- if (!jtransform_perfect_transform(srcinfo->output_width,
- srcinfo->output_height,
- srcinfo->max_h_samp_factor * srcinfo->min_DCT_h_scaled_size,
- srcinfo->max_v_samp_factor * srcinfo->min_DCT_v_scaled_size,
- info->transform))
- return FALSE;
- }
- }
-
- /* If there is only one output component, force the iMCU size to be 1;
- * else use the source iMCU size. (This allows us to do the right thing
- * when reducing color to grayscale, and also provides a handy way of
- * cleaning up "funny" grayscale images whose sampling factors are not 1x1.)
- */
- switch (info->transform) {
- case JXFORM_TRANSPOSE:
- case JXFORM_TRANSVERSE:
- case JXFORM_ROT_90:
- case JXFORM_ROT_270:
- info->output_width = srcinfo->output_height;
- info->output_height = srcinfo->output_width;
- if (info->num_components == 1) {
- info->iMCU_sample_width = srcinfo->min_DCT_v_scaled_size;
- info->iMCU_sample_height = srcinfo->min_DCT_h_scaled_size;
- } else {
- info->iMCU_sample_width =
- srcinfo->max_v_samp_factor * srcinfo->min_DCT_v_scaled_size;
- info->iMCU_sample_height =
- srcinfo->max_h_samp_factor * srcinfo->min_DCT_h_scaled_size;
- }
- break;
- default:
- info->output_width = srcinfo->output_width;
- info->output_height = srcinfo->output_height;
- if (info->num_components == 1) {
- info->iMCU_sample_width = srcinfo->min_DCT_h_scaled_size;
- info->iMCU_sample_height = srcinfo->min_DCT_v_scaled_size;
- } else {
- info->iMCU_sample_width =
- srcinfo->max_h_samp_factor * srcinfo->min_DCT_h_scaled_size;
- info->iMCU_sample_height =
- srcinfo->max_v_samp_factor * srcinfo->min_DCT_v_scaled_size;
- }
- break;
- }
-
- /* If cropping has been requested, compute the crop area's position and
- * dimensions, ensuring that its upper left corner falls at an iMCU boundary.
- */
- if (info->crop) {
- /* Insert default values for unset crop parameters */
- if (info->crop_xoffset_set == JCROP_UNSET)
- info->crop_xoffset = 0; /* default to +0 */
- if (info->crop_yoffset_set == JCROP_UNSET)
- info->crop_yoffset = 0; /* default to +0 */
- if (info->crop_xoffset >= info->output_width ||
- info->crop_yoffset >= info->output_height)
- ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
- if (info->crop_width_set == JCROP_UNSET)
- info->crop_width = info->output_width - info->crop_xoffset;
- if (info->crop_height_set == JCROP_UNSET)
- info->crop_height = info->output_height - info->crop_yoffset;
- /* Ensure parameters are valid */
- if (info->crop_width <= 0 || info->crop_width > info->output_width ||
- info->crop_height <= 0 || info->crop_height > info->output_height ||
- info->crop_xoffset > info->output_width - info->crop_width ||
- info->crop_yoffset > info->output_height - info->crop_height)
- ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
- /* Convert negative crop offsets into regular offsets */
- if (info->crop_xoffset_set == JCROP_NEG)
- xoffset = info->output_width - info->crop_width - info->crop_xoffset;
- else
- xoffset = info->crop_xoffset;
- if (info->crop_yoffset_set == JCROP_NEG)
- yoffset = info->output_height - info->crop_height - info->crop_yoffset;
- else
- yoffset = info->crop_yoffset;
- /* Now adjust so that upper left corner falls at an iMCU boundary */
- info->output_width =
- info->crop_width + (xoffset % info->iMCU_sample_width);
- info->output_height =
- info->crop_height + (yoffset % info->iMCU_sample_height);
- /* Save x/y offsets measured in iMCUs */
- info->x_crop_offset = xoffset / info->iMCU_sample_width;
- info->y_crop_offset = yoffset / info->iMCU_sample_height;
- } else {
- info->x_crop_offset = 0;
- info->y_crop_offset = 0;
- }
-
- /* Figure out whether we need workspace arrays,
- * and if so whether they are transposed relative to the source.
- */
- need_workspace = FALSE;
- transpose_it = FALSE;
- switch (info->transform) {
- case JXFORM_NONE:
- if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
- need_workspace = TRUE;
- /* No workspace needed if neither cropping nor transforming */
- break;
- case JXFORM_FLIP_H:
- if (info->trim)
- trim_right_edge(info, srcinfo->output_width);
- if (info->y_crop_offset != 0)
- need_workspace = TRUE;
- /* do_flip_h_no_crop doesn't need a workspace array */
- break;
- case JXFORM_FLIP_V:
- if (info->trim)
- trim_bottom_edge(info, srcinfo->output_height);
- /* Need workspace arrays having same dimensions as source image. */
- need_workspace = TRUE;
- break;
- case JXFORM_TRANSPOSE:
- /* transpose does NOT have to trim anything */
- /* Need workspace arrays having transposed dimensions. */
- need_workspace = TRUE;
- transpose_it = TRUE;
- break;
- case JXFORM_TRANSVERSE:
- if (info->trim) {
- trim_right_edge(info, srcinfo->output_height);
- trim_bottom_edge(info, srcinfo->output_width);
- }
- /* Need workspace arrays having transposed dimensions. */
- need_workspace = TRUE;
- transpose_it = TRUE;
- break;
- case JXFORM_ROT_90:
- if (info->trim)
- trim_right_edge(info, srcinfo->output_height);
- /* Need workspace arrays having transposed dimensions. */
- need_workspace = TRUE;
- transpose_it = TRUE;
- break;
- case JXFORM_ROT_180:
- if (info->trim) {
- trim_right_edge(info, srcinfo->output_width);
- trim_bottom_edge(info, srcinfo->output_height);
- }
- /* Need workspace arrays having same dimensions as source image. */
- need_workspace = TRUE;
- break;
- case JXFORM_ROT_270:
- if (info->trim)
- trim_bottom_edge(info, srcinfo->output_width);
- /* Need workspace arrays having transposed dimensions. */
- need_workspace = TRUE;
- transpose_it = TRUE;
- break;
- }
-
- /* Allocate workspace if needed.
- * Note that we allocate arrays padded out to the next iMCU boundary,
- * so that transform routines need not worry about missing edge blocks.
- */
- if (need_workspace) {
- coef_arrays = (jvirt_barray_ptr *)
- (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE,
- SIZEOF(jvirt_barray_ptr) * info->num_components);
- width_in_iMCUs = (JDIMENSION)
- jdiv_round_up((long) info->output_width,
- (long) info->iMCU_sample_width);
- height_in_iMCUs = (JDIMENSION)
- jdiv_round_up((long) info->output_height,
- (long) info->iMCU_sample_height);
- for (ci = 0; ci < info->num_components; ci++) {
- compptr = srcinfo->comp_info + ci;
- if (info->num_components == 1) {
- /* we're going to force samp factors to 1x1 in this case */
- h_samp_factor = v_samp_factor = 1;
- } else if (transpose_it) {
- h_samp_factor = compptr->v_samp_factor;
- v_samp_factor = compptr->h_samp_factor;
- } else {
- h_samp_factor = compptr->h_samp_factor;
- v_samp_factor = compptr->v_samp_factor;
- }
- width_in_blocks = width_in_iMCUs * h_samp_factor;
- height_in_blocks = height_in_iMCUs * v_samp_factor;
- coef_arrays[ci] = (*srcinfo->mem->request_virt_barray)
- ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE,
- width_in_blocks, height_in_blocks, (JDIMENSION) v_samp_factor);
- }
- info->workspace_coef_arrays = coef_arrays;
- } else
- info->workspace_coef_arrays = NULL;
-
- return TRUE;
-}
-
-
-/* Transpose destination image parameters */
-
-LOCAL(void)
-transpose_critical_parameters (j_compress_ptr dstinfo)
-{
- int tblno, i, j, ci, itemp;
- jpeg_component_info *compptr;
- JQUANT_TBL *qtblptr;
- JDIMENSION jtemp;
- UINT16 qtemp;
-
- /* Transpose image dimensions */
- jtemp = dstinfo->image_width;
- dstinfo->image_width = dstinfo->image_height;
- dstinfo->image_height = jtemp;
- itemp = dstinfo->min_DCT_h_scaled_size;
- dstinfo->min_DCT_h_scaled_size = dstinfo->min_DCT_v_scaled_size;
- dstinfo->min_DCT_v_scaled_size = itemp;
-
- /* Transpose sampling factors */
- for (ci = 0; ci < dstinfo->num_components; ci++) {
- compptr = dstinfo->comp_info + ci;
- itemp = compptr->h_samp_factor;
- compptr->h_samp_factor = compptr->v_samp_factor;
- compptr->v_samp_factor = itemp;
- }
-
- /* Transpose quantization tables */
- for (tblno = 0; tblno < NUM_QUANT_TBLS; tblno++) {
- qtblptr = dstinfo->quant_tbl_ptrs[tblno];
- if (qtblptr != NULL) {
- for (i = 0; i < DCTSIZE; i++) {
- for (j = 0; j < i; j++) {
- qtemp = qtblptr->quantval[i*DCTSIZE+j];
- qtblptr->quantval[i*DCTSIZE+j] = qtblptr->quantval[j*DCTSIZE+i];
- qtblptr->quantval[j*DCTSIZE+i] = qtemp;
- }
- }
- }
- }
-}
-
-
-/* Adjust Exif image parameters.
- *
- * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible.
- */
-
-LOCAL(void)
-adjust_exif_parameters (JOCTET FAR * data, unsigned int length,
- JDIMENSION new_width, JDIMENSION new_height)
-{
- boolean is_motorola; /* Flag for byte order */
- unsigned int number_of_tags, tagnum;
- unsigned int firstoffset, offset;
- JDIMENSION new_value;
-
- if (length < 12) return; /* Length of an IFD entry */
-
- /* Discover byte order */
- if (GETJOCTET(data[0]) == 0x49 && GETJOCTET(data[1]) == 0x49)
- is_motorola = FALSE;
- else if (GETJOCTET(data[0]) == 0x4D && GETJOCTET(data[1]) == 0x4D)
- is_motorola = TRUE;
- else
- return;
-
- /* Check Tag Mark */
- if (is_motorola) {
- if (GETJOCTET(data[2]) != 0) return;
- if (GETJOCTET(data[3]) != 0x2A) return;
- } else {
- if (GETJOCTET(data[3]) != 0) return;
- if (GETJOCTET(data[2]) != 0x2A) return;
- }
-
- /* Get first IFD offset (offset to IFD0) */
- if (is_motorola) {
- if (GETJOCTET(data[4]) != 0) return;
- if (GETJOCTET(data[5]) != 0) return;
- firstoffset = GETJOCTET(data[6]);
- firstoffset <<= 8;
- firstoffset += GETJOCTET(data[7]);
- } else {
- if (GETJOCTET(data[7]) != 0) return;
- if (GETJOCTET(data[6]) != 0) return;
- firstoffset = GETJOCTET(data[5]);
- firstoffset <<= 8;
- firstoffset += GETJOCTET(data[4]);
- }
- if (firstoffset > length - 2) return; /* check end of data segment */
-
- /* Get the number of directory entries contained in this IFD */
- if (is_motorola) {
- number_of_tags = GETJOCTET(data[firstoffset]);
- number_of_tags <<= 8;
- number_of_tags += GETJOCTET(data[firstoffset+1]);
- } else {
- number_of_tags = GETJOCTET(data[firstoffset+1]);
- number_of_tags <<= 8;
- number_of_tags += GETJOCTET(data[firstoffset]);
- }
- if (number_of_tags == 0) return;
- firstoffset += 2;
-
- /* Search for ExifSubIFD offset Tag in IFD0 */
- for (;;) {
- if (firstoffset > length - 12) return; /* check end of data segment */
- /* Get Tag number */
- if (is_motorola) {
- tagnum = GETJOCTET(data[firstoffset]);
- tagnum <<= 8;
- tagnum += GETJOCTET(data[firstoffset+1]);
- } else {
- tagnum = GETJOCTET(data[firstoffset+1]);
- tagnum <<= 8;
- tagnum += GETJOCTET(data[firstoffset]);
- }
- if (tagnum == 0x8769) break; /* found ExifSubIFD offset Tag */
- if (--number_of_tags == 0) return;
- firstoffset += 12;
- }
-
- /* Get the ExifSubIFD offset */
- if (is_motorola) {
- if (GETJOCTET(data[firstoffset+8]) != 0) return;
- if (GETJOCTET(data[firstoffset+9]) != 0) return;
- offset = GETJOCTET(data[firstoffset+10]);
- offset <<= 8;
- offset += GETJOCTET(data[firstoffset+11]);
- } else {
- if (GETJOCTET(data[firstoffset+11]) != 0) return;
- if (GETJOCTET(data[firstoffset+10]) != 0) return;
- offset = GETJOCTET(data[firstoffset+9]);
- offset <<= 8;
- offset += GETJOCTET(data[firstoffset+8]);
- }
- if (offset > length - 2) return; /* check end of data segment */
-
- /* Get the number of directory entries contained in this SubIFD */
- if (is_motorola) {
- number_of_tags = GETJOCTET(data[offset]);
- number_of_tags <<= 8;
- number_of_tags += GETJOCTET(data[offset+1]);
- } else {
- number_of_tags = GETJOCTET(data[offset+1]);
- number_of_tags <<= 8;
- number_of_tags += GETJOCTET(data[offset]);
- }
- if (number_of_tags < 2) return;
- offset += 2;
-
- /* Search for ExifImageWidth and ExifImageHeight Tags in this SubIFD */
- do {
- if (offset > length - 12) return; /* check end of data segment */
- /* Get Tag number */
- if (is_motorola) {
- tagnum = GETJOCTET(data[offset]);
- tagnum <<= 8;
- tagnum += GETJOCTET(data[offset+1]);
- } else {
- tagnum = GETJOCTET(data[offset+1]);
- tagnum <<= 8;
- tagnum += GETJOCTET(data[offset]);
- }
- if (tagnum == 0xA002 || tagnum == 0xA003) {
- if (tagnum == 0xA002)
- new_value = new_width; /* ExifImageWidth Tag */
- else
- new_value = new_height; /* ExifImageHeight Tag */
- if (is_motorola) {
- data[offset+2] = 0; /* Format = unsigned long (4 octets) */
- data[offset+3] = 4;
- data[offset+4] = 0; /* Number Of Components = 1 */
- data[offset+5] = 0;
- data[offset+6] = 0;
- data[offset+7] = 1;
- data[offset+8] = 0;
- data[offset+9] = 0;
- data[offset+10] = (JOCTET)((new_value >> 8) & 0xFF);
- data[offset+11] = (JOCTET)(new_value & 0xFF);
- } else {
- data[offset+2] = 4; /* Format = unsigned long (4 octets) */
- data[offset+3] = 0;
- data[offset+4] = 1; /* Number Of Components = 1 */
- data[offset+5] = 0;
- data[offset+6] = 0;
- data[offset+7] = 0;
- data[offset+8] = (JOCTET)(new_value & 0xFF);
- data[offset+9] = (JOCTET)((new_value >> 8) & 0xFF);
- data[offset+10] = 0;
- data[offset+11] = 0;
- }
- }
- offset += 12;
- } while (--number_of_tags);
-}
-
-
-/* Adjust output image parameters as needed.
- *
- * This must be called after jpeg_copy_critical_parameters()
- * and before jpeg_write_coefficients().
- *
- * The return value is the set of virtual coefficient arrays to be written
- * (either the ones allocated by jtransform_request_workspace, or the
- * original source data arrays). The caller will need to pass this value
- * to jpeg_write_coefficients().
- */
-
-GLOBAL(jvirt_barray_ptr *)
-jtransform_adjust_parameters (j_decompress_ptr srcinfo,
- j_compress_ptr dstinfo,
- jvirt_barray_ptr *src_coef_arrays,
- jpeg_transform_info *info)
-{
- /* If force-to-grayscale is requested, adjust destination parameters */
- if (info->force_grayscale) {
- /* First, ensure we have YCbCr or grayscale data, and that the source's
- * Y channel is full resolution. (No reasonable person would make Y
- * be less than full resolution, so actually coping with that case
- * isn't worth extra code space. But we check it to avoid crashing.)
- */
- if (((dstinfo->jpeg_color_space == JCS_YCbCr &&
- dstinfo->num_components == 3) ||
- (dstinfo->jpeg_color_space == JCS_GRAYSCALE &&
- dstinfo->num_components == 1)) &&
- srcinfo->comp_info[0].h_samp_factor == srcinfo->max_h_samp_factor &&
- srcinfo->comp_info[0].v_samp_factor == srcinfo->max_v_samp_factor) {
- /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed
- * properly. Among other things, it sets the target h_samp_factor &
- * v_samp_factor to 1, which typically won't match the source.
- * We have to preserve the source's quantization table number, however.
- */
- int sv_quant_tbl_no = dstinfo->comp_info[0].quant_tbl_no;
- jpeg_set_colorspace(dstinfo, JCS_GRAYSCALE);
- dstinfo->comp_info[0].quant_tbl_no = sv_quant_tbl_no;
- } else {
- /* Sorry, can't do it */
- ERREXIT(dstinfo, JERR_CONVERSION_NOTIMPL);
- }
- } else if (info->num_components == 1) {
- /* For a single-component source, we force the destination sampling factors
- * to 1x1, with or without force_grayscale. This is useful because some
- * decoders choke on grayscale images with other sampling factors.
- */
- dstinfo->comp_info[0].h_samp_factor = 1;
- dstinfo->comp_info[0].v_samp_factor = 1;
- }
-
- /* Correct the destination's image dimensions as necessary
- * for rotate/flip, resize, and crop operations.
- */
- dstinfo->jpeg_width = info->output_width;
- dstinfo->jpeg_height = info->output_height;
-
- /* Transpose destination image parameters */
- switch (info->transform) {
- case JXFORM_TRANSPOSE:
- case JXFORM_TRANSVERSE:
- case JXFORM_ROT_90:
- case JXFORM_ROT_270:
- transpose_critical_parameters(dstinfo);
- break;
- default:
- break;
- }
-
- /* Adjust Exif properties */
- if (srcinfo->marker_list != NULL &&
- srcinfo->marker_list->marker == JPEG_APP0+1 &&
- srcinfo->marker_list->data_length >= 6 &&
- GETJOCTET(srcinfo->marker_list->data[0]) == 0x45 &&
- GETJOCTET(srcinfo->marker_list->data[1]) == 0x78 &&
- GETJOCTET(srcinfo->marker_list->data[2]) == 0x69 &&
- GETJOCTET(srcinfo->marker_list->data[3]) == 0x66 &&
- GETJOCTET(srcinfo->marker_list->data[4]) == 0 &&
- GETJOCTET(srcinfo->marker_list->data[5]) == 0) {
- /* Suppress output of JFIF marker */
- dstinfo->write_JFIF_header = FALSE;
- /* Adjust Exif image parameters */
- if (dstinfo->jpeg_width != srcinfo->image_width ||
- dstinfo->jpeg_height != srcinfo->image_height)
- /* Align data segment to start of TIFF structure for parsing */
- adjust_exif_parameters(srcinfo->marker_list->data + 6,
- srcinfo->marker_list->data_length - 6,
- dstinfo->jpeg_width, dstinfo->jpeg_height);
- }
-
- /* Return the appropriate output data set */
- if (info->workspace_coef_arrays != NULL)
- return info->workspace_coef_arrays;
- return src_coef_arrays;
-}
-
-
-/* Execute the actual transformation, if any.
- *
- * This must be called *after* jpeg_write_coefficients, because it depends
- * on jpeg_write_coefficients to have computed subsidiary values such as
- * the per-component width and height fields in the destination object.
- *
- * Note that some transformations will modify the source data arrays!
- */
-
-GLOBAL(void)
-jtransform_execute_transform (j_decompress_ptr srcinfo,
- j_compress_ptr dstinfo,
- jvirt_barray_ptr *src_coef_arrays,
- jpeg_transform_info *info)
-{
- jvirt_barray_ptr *dst_coef_arrays = info->workspace_coef_arrays;
-
- /* Note: conditions tested here should match those in switch statement
- * in jtransform_request_workspace()
- */
- switch (info->transform) {
- case JXFORM_NONE:
- if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
- do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- break;
- case JXFORM_FLIP_H:
- if (info->y_crop_offset != 0)
- do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- else
- do_flip_h_no_crop(srcinfo, dstinfo, info->x_crop_offset,
- src_coef_arrays);
- break;
- case JXFORM_FLIP_V:
- do_flip_v(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- break;
- case JXFORM_TRANSPOSE:
- do_transpose(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- break;
- case JXFORM_TRANSVERSE:
- do_transverse(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- break;
- case JXFORM_ROT_90:
- do_rot_90(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- break;
- case JXFORM_ROT_180:
- do_rot_180(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- break;
- case JXFORM_ROT_270:
- do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
- src_coef_arrays, dst_coef_arrays);
- break;
- }
-}
-
-/* jtransform_perfect_transform
- *
- * Determine whether lossless transformation is perfectly
- * possible for a specified image and transformation.
- *
- * Inputs:
- * image_width, image_height: source image dimensions.
- * MCU_width, MCU_height: pixel dimensions of MCU.
- * transform: transformation identifier.
- * Parameter sources from initialized jpeg_struct
- * (after reading source header):
- * image_width = cinfo.image_width
- * image_height = cinfo.image_height
- * MCU_width = cinfo.max_h_samp_factor * cinfo.block_size
- * MCU_height = cinfo.max_v_samp_factor * cinfo.block_size
- * Result:
- * TRUE = perfect transformation possible
- * FALSE = perfect transformation not possible
- * (may use custom action then)
- */
-
-GLOBAL(boolean)
-jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height,
- int MCU_width, int MCU_height,
- JXFORM_CODE transform)
-{
- boolean result = TRUE; /* initialize TRUE */
-
- switch (transform) {
- case JXFORM_FLIP_H:
- case JXFORM_ROT_270:
- if (image_width % (JDIMENSION) MCU_width)
- result = FALSE;
- break;
- case JXFORM_FLIP_V:
- case JXFORM_ROT_90:
- if (image_height % (JDIMENSION) MCU_height)
- result = FALSE;
- break;
- case JXFORM_TRANSVERSE:
- case JXFORM_ROT_180:
- if (image_width % (JDIMENSION) MCU_width)
- result = FALSE;
- if (image_height % (JDIMENSION) MCU_height)
- result = FALSE;
- break;
- default:
- break;
- }
-
- return result;
-}
-
-#endif /* TRANSFORMS_SUPPORTED */
-
-
-/* Setup decompression object to save desired markers in memory.
- * This must be called before jpeg_read_header() to have the desired effect.
- */
-
-GLOBAL(void)
-jcopy_markers_setup (j_decompress_ptr srcinfo, JCOPY_OPTION option)
-{
-#ifdef SAVE_MARKERS_SUPPORTED
- int m;
-
- /* Save comments except under NONE option */
- if (option != JCOPYOPT_NONE) {
- jpeg_save_markers(srcinfo, JPEG_COM, 0xFFFF);
- }
- /* Save all types of APPn markers iff ALL option */
- if (option == JCOPYOPT_ALL) {
- for (m = 0; m < 16; m++)
- jpeg_save_markers(srcinfo, JPEG_APP0 + m, 0xFFFF);
- }
-#endif /* SAVE_MARKERS_SUPPORTED */
-}
-
-/* Copy markers saved in the given source object to the destination object.
- * This should be called just after jpeg_start_compress() or
- * jpeg_write_coefficients().
- * Note that those routines will have written the SOI, and also the
- * JFIF APP0 or Adobe APP14 markers if selected.
- */
-
-GLOBAL(void)
-jcopy_markers_execute (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JCOPY_OPTION option)
-{
- jpeg_saved_marker_ptr marker;
-
- /* In the current implementation, we don't actually need to examine the
- * option flag here; we just copy everything that got saved.
- * But to avoid confusion, we do not output JFIF and Adobe APP14 markers
- * if the encoder library already wrote one.
- */
- for (marker = srcinfo->marker_list; marker != NULL; marker = marker->next) {
- if (dstinfo->write_JFIF_header &&
- marker->marker == JPEG_APP0 &&
- marker->data_length >= 5 &&
- GETJOCTET(marker->data[0]) == 0x4A &&
- GETJOCTET(marker->data[1]) == 0x46 &&
- GETJOCTET(marker->data[2]) == 0x49 &&
- GETJOCTET(marker->data[3]) == 0x46 &&
- GETJOCTET(marker->data[4]) == 0)
- continue; /* reject duplicate JFIF */
- if (dstinfo->write_Adobe_marker &&
- marker->marker == JPEG_APP0+14 &&
- marker->data_length >= 5 &&
- GETJOCTET(marker->data[0]) == 0x41 &&
- GETJOCTET(marker->data[1]) == 0x64 &&
- GETJOCTET(marker->data[2]) == 0x6F &&
- GETJOCTET(marker->data[3]) == 0x62 &&
- GETJOCTET(marker->data[4]) == 0x65)
- continue; /* reject duplicate Adobe */
-#ifdef NEED_FAR_POINTERS
- /* We could use jpeg_write_marker if the data weren't FAR... */
- {
- unsigned int i;
- jpeg_write_m_header(dstinfo, marker->marker, marker->data_length);
- for (i = 0; i < marker->data_length; i++)
- jpeg_write_m_byte(dstinfo, marker->data[i]);
- }
-#else
- jpeg_write_marker(dstinfo, marker->marker,
- marker->data, marker->data_length);
-#endif
- }
-}
diff --git a/extra/fbida/transupp.h b/extra/fbida/transupp.h
deleted file mode 100644
index 7c16c19c4..000000000
--- a/extra/fbida/transupp.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * transupp.h
- *
- * Copyright (C) 1997-2009, Thomas G. Lane, Guido Vollbeding.
- * This file is part of the Independent JPEG Group's software.
- * For conditions of distribution and use, see the accompanying README file.
- *
- * This file contains declarations for image transformation routines and
- * other utility code used by the jpegtran sample application. These are
- * NOT part of the core JPEG library. But we keep these routines separate
- * from jpegtran.c to ease the task of maintaining jpegtran-like programs
- * that have other user interfaces.
- *
- * NOTE: all the routines declared here have very specific requirements
- * about when they are to be executed during the reading and writing of the
- * source and destination files. See the comments in transupp.c, or see
- * jpegtran.c for an example of correct usage.
- */
-
-/* If you happen not to want the image transform support, disable it here */
-#ifndef TRANSFORMS_SUPPORTED
-#define TRANSFORMS_SUPPORTED 1 /* 0 disables transform code */
-#endif
-
-/*
- * Although rotating and flipping data expressed as DCT coefficients is not
- * hard, there is an asymmetry in the JPEG format specification for images
- * whose dimensions aren't multiples of the iMCU size. The right and bottom
- * image edges are padded out to the next iMCU boundary with junk data; but
- * no padding is possible at the top and left edges. If we were to flip
- * the whole image including the pad data, then pad garbage would become
- * visible at the top and/or left, and real pixels would disappear into the
- * pad margins --- perhaps permanently, since encoders & decoders may not
- * bother to preserve DCT blocks that appear to be completely outside the
- * nominal image area. So, we have to exclude any partial iMCUs from the
- * basic transformation.
- *
- * Transpose is the only transformation that can handle partial iMCUs at the
- * right and bottom edges completely cleanly. flip_h can flip partial iMCUs
- * at the bottom, but leaves any partial iMCUs at the right edge untouched.
- * Similarly flip_v leaves any partial iMCUs at the bottom edge untouched.
- * The other transforms are defined as combinations of these basic transforms
- * and process edge blocks in a way that preserves the equivalence.
- *
- * The "trim" option causes untransformable partial iMCUs to be dropped;
- * this is not strictly lossless, but it usually gives the best-looking
- * result for odd-size images. Note that when this option is active,
- * the expected mathematical equivalences between the transforms may not hold.
- * (For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim
- * followed by -rot 180 -trim trims both edges.)
- *
- * We also offer a lossless-crop option, which discards data outside a given
- * image region but losslessly preserves what is inside. Like the rotate and
- * flip transforms, lossless crop is restricted by the JPEG format: the upper
- * left corner of the selected region must fall on an iMCU boundary. If this
- * does not hold for the given crop parameters, we silently move the upper left
- * corner up and/or left to make it so, simultaneously increasing the region
- * dimensions to keep the lower right crop corner unchanged. (Thus, the
- * output image covers at least the requested region, but may cover more.)
- *
- * We also provide a lossless-resize option, which is kind of a lossless-crop
- * operation in the DCT coefficient block domain - it discards higher-order
- * coefficients and losslessly preserves lower-order coefficients of a
- * sub-block.
- *
- * Rotate/flip transform, resize, and crop can be requested together in a
- * single invocation. The crop is applied last --- that is, the crop region
- * is specified in terms of the destination image after transform/resize.
- *
- * We also offer a "force to grayscale" option, which simply discards the
- * chrominance channels of a YCbCr image. This is lossless in the sense that
- * the luminance channel is preserved exactly. It's not the same kind of
- * thing as the rotate/flip transformations, but it's convenient to handle it
- * as part of this package, mainly because the transformation routines have to
- * be aware of the option to know how many components to work on.
- */
-
-
-/* Short forms of external names for systems with brain-damaged linkers. */
-
-#ifdef NEED_SHORT_EXTERNAL_NAMES
-#define jtransform_parse_crop_spec jTrParCrop
-#define jtransform_request_workspace jTrRequest
-#define jtransform_adjust_parameters jTrAdjust
-#define jtransform_execute_transform jTrExec
-#define jtransform_perfect_transform jTrPerfect
-#define jcopy_markers_setup jCMrkSetup
-#define jcopy_markers_execute jCMrkExec
-#endif /* NEED_SHORT_EXTERNAL_NAMES */
-
-
-/*
- * Codes for supported types of image transformations.
- */
-
-typedef enum {
- JXFORM_NONE, /* no transformation */
- JXFORM_FLIP_H, /* horizontal flip */
- JXFORM_FLIP_V, /* vertical flip */
- JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */
- JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */
- JXFORM_ROT_90, /* 90-degree clockwise rotation */
- JXFORM_ROT_180, /* 180-degree rotation */
- JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */
-} JXFORM_CODE;
-
-/*
- * Codes for crop parameters, which can individually be unspecified,
- * positive, or negative. (Negative width or height makes no sense, though.)
- */
-
-typedef enum {
- JCROP_UNSET,
- JCROP_POS,
- JCROP_NEG
-} JCROP_CODE;
-
-/*
- * Transform parameters struct.
- * NB: application must not change any elements of this struct after
- * calling jtransform_request_workspace.
- */
-
-typedef struct {
- /* Options: set by caller */
- JXFORM_CODE transform; /* image transform operator */
- boolean perfect; /* if TRUE, fail if partial MCUs are requested */
- boolean trim; /* if TRUE, trim partial MCUs as needed */
- boolean force_grayscale; /* if TRUE, convert color image to grayscale */
- boolean crop; /* if TRUE, crop source image */
-
- /* Crop parameters: application need not set these unless crop is TRUE.
- * These can be filled in by jtransform_parse_crop_spec().
- */
- JDIMENSION crop_width; /* Width of selected region */
- JCROP_CODE crop_width_set;
- JDIMENSION crop_height; /* Height of selected region */
- JCROP_CODE crop_height_set;
- JDIMENSION crop_xoffset; /* X offset of selected region */
- JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */
- JDIMENSION crop_yoffset; /* Y offset of selected region */
- JCROP_CODE crop_yoffset_set; /* (negative measures from bottom edge) */
-
- /* Internal workspace: caller should not touch these */
- int num_components; /* # of components in workspace */
- jvirt_barray_ptr * workspace_coef_arrays; /* workspace for transformations */
- JDIMENSION output_width; /* cropped destination dimensions */
- JDIMENSION output_height;
- JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */
- JDIMENSION y_crop_offset;
- int iMCU_sample_width; /* destination iMCU size */
- int iMCU_sample_height;
-} jpeg_transform_info;
-
-
-#if TRANSFORMS_SUPPORTED
-
-/* Parse a crop specification (written in X11 geometry style) */
-EXTERN(boolean) jtransform_parse_crop_spec
- JPP((jpeg_transform_info *info, const char *spec));
-/* Request any required workspace */
-EXTERN(boolean) jtransform_request_workspace
- JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info));
-/* Adjust output image parameters */
-EXTERN(jvirt_barray_ptr *) jtransform_adjust_parameters
- JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- jvirt_barray_ptr *src_coef_arrays,
- jpeg_transform_info *info));
-/* Execute the actual transformation, if any */
-EXTERN(void) jtransform_execute_transform
- JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- jvirt_barray_ptr *src_coef_arrays,
- jpeg_transform_info *info));
-/* Determine whether lossless transformation is perfectly
- * possible for a specified image and transformation.
- */
-EXTERN(boolean) jtransform_perfect_transform
- JPP((JDIMENSION image_width, JDIMENSION image_height,
- int MCU_width, int MCU_height,
- JXFORM_CODE transform));
-
-/* jtransform_execute_transform used to be called
- * jtransform_execute_transformation, but some compilers complain about
- * routine names that long. This macro is here to avoid breaking any
- * old source code that uses the original name...
- */
-#define jtransform_execute_transformation jtransform_execute_transform
-
-#endif /* TRANSFORMS_SUPPORTED */
-
-
-/*
- * Support for copying optional markers from source to destination file.
- */
-
-typedef enum {
- JCOPYOPT_NONE, /* copy no optional markers */
- JCOPYOPT_COMMENTS, /* copy only comment (COM) markers */
- JCOPYOPT_ALL /* copy all optional markers */
-} JCOPY_OPTION;
-
-#define JCOPYOPT_DEFAULT JCOPYOPT_COMMENTS /* recommended default */
-
-/* Setup decompression object to save desired markers in memory */
-EXTERN(void) jcopy_markers_setup
- JPP((j_decompress_ptr srcinfo, JCOPY_OPTION option));
-/* Copy markers saved in the given source object to the destination object */
-EXTERN(void) jcopy_markers_execute
- JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
- JCOPY_OPTION option));
diff --git a/extra/fvwm-devel/PKGBUILD b/extra/fvwm-devel/PKGBUILD
deleted file mode 100644
index 42ea9293f..000000000
--- a/extra/fvwm-devel/PKGBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# $Id: PKGBUILD 122676 2011-05-06 03:54:22Z eric $
-# Maintainer: Eric Bélanger <eric@archlinux.org>
-
-pkgname=fvwm-devel
-pkgver=2.7.0
-pkgrel=2
-pkgdesc="A multiple large virtual desktop window manager originally derived from twm"
-arch=('i686' 'x86_64')
-url="http://www.fvwm.org"
-license=('GPL' 'custom')
-depends=('imlib' 'fribidi' 'perl' 'libstroke' 'libxpm' 'librsvg' 'libxinerama' 'libxcursor')
-makedepends=('libxslt')
-conflicts=('fvwm')
-provides=("fvwm=${pkgver}")
-options=('!emptydirs')
-source=(ftp://ftp.fvwm.org/pub/fvwm/version-2/fvwm-${pkgver}.tar.bz2 fvwm-devel.desktop)
-md5sums=('c7dbb0c067f570e478005edb95dcccc3'
- '3f5bcb246e035ff29aa5bf54487a3db4')
-sha1sums=('bc8f84902b0926df171d059eff75780a25c8a97a'
- '17db773870637b410ceb4f68743dbd517bc5c599')
-
-build() {
- cd "${srcdir}/fvwm-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --with-stroke-library
- make
-}
-
-package() {
- cd "${srcdir}/fvwm-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -d "${pkgdir}/etc/fvwm"
- install -D -m644 sample.fvwmrc/* "${pkgdir}/etc/fvwm"
- rm -f "${pkgdir}"/etc/fvwm/Makefile*
- install -D -m644 ../fvwm-devel.desktop "${pkgdir}/usr/share/xsessions/fvwm-devel.desktop"
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
-}
diff --git a/extra/fvwm-devel/fvwm-devel.desktop b/extra/fvwm-devel/fvwm-devel.desktop
deleted file mode 100644
index dac786fb8..000000000
--- a/extra/fvwm-devel/fvwm-devel.desktop
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Type=XSession
-Exec=/usr/bin/fvwm
-TryExec=/usr/bin/fvwm
-Name=fvwm-devel
diff --git a/extra/fvwm/fvwm2.desktop b/extra/fvwm/fvwm2.desktop
deleted file mode 100644
index 5df7750b1..000000000
--- a/extra/fvwm/fvwm2.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=FVWM2
-Comment=The fvwm2 window manager
-Exec=fvwm2
-# no icon yet, only the top three are currently used
-Icon=
-Type=Application
diff --git a/extra/icewm/ChangeLog b/extra/icewm/ChangeLog
deleted file mode 100644
index b3e46cb6f..000000000
--- a/extra/icewm/ChangeLog
+++ /dev/null
@@ -1,15 +0,0 @@
-2010-01-18 Eric Belanger <eric@archlinux.org>
-
- * icewm 1.2.37-3
- * Rebuilt for libpng 1.4 and libjpeg 8
-
-2009-01-30 Eric Belanger <eric@archlinux.org>
-
- * icewm 1.2.37-1
- * Upstream update
-
-2008-10-18 Eric Belanger <eric@archlinux.org>
-
- * icewm 1.2.36-1
- * Upstream update
- * Added ChangeLog
diff --git a/extra/icewm/icewm.desktop b/extra/icewm/icewm.desktop
deleted file mode 100644
index e5ff5dce6..000000000
--- a/extra/icewm/icewm.desktop
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Type=XSession
-Exec=/usr/bin/icewm-session
-TryExec=/usr/bin/icewm-session
-Name=icewm
diff --git a/extra/indent/indent-2.2.9-file.diff b/extra/indent/indent-2.2.9-file.diff
deleted file mode 100644
index 511995c0b..000000000
--- a/extra/indent/indent-2.2.9-file.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur indent-2.2.9.orig/src/indent.h indent-2.2.9/src/indent.h
---- indent-2.2.9.orig/src/indent.h 2002-11-10 22:02:48.000000000 +0100
-+++ indent-2.2.9/src/indent.h 2005-10-30 11:53:10.000000000 +0100
-@@ -96,8 +96,6 @@
- /* Size of the input program, not including the ' \n\0' we add at the end */
- extern unsigned long in_prog_size;
-
--/* The output file. */
--extern FILE *output;
-
-
-
diff --git a/extra/libindi/linking-pthread.patch b/extra/libindi/linking-pthread.patch
deleted file mode 100644
index c012707a2..000000000
--- a/extra/libindi/linking-pthread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- trunk/libindi/CMakeLists.txt 2010/11/20 11:45:07 397
-+++ trunk/libindi/CMakeLists.txt 2010/12/01 08:36:20 412
-@@ -164,7 +164,7 @@
- ############# INDI Client Library ################
- ##################################################
- add_library(indiclient STATIC ${indibase_SRCS})
--target_link_libraries(indiclient indi)
-+target_link_libraries(indiclient indi pthread)
- install(TARGETS indiclient ARCHIVE DESTINATION lib${LIB_POSTFIX})
-
- #####################################
diff --git a/extra/moc/curl-streams.diff b/extra/moc/curl-streams.diff
deleted file mode 100644
index 2dbc38d54..000000000
--- a/extra/moc/curl-streams.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -u moc-2.4.4/io_curl.c moc-2.4.4/io_curl.c
---- a/io_curl.c 2007-07-08 08:54:45.000000000 +0200
-+++ b/io_curl.c 2011-05-18 09:09:40.000000000 +0200
-@@ -338,6 +338,8 @@
- fd_set read_fds, write_fds, exc_fds;
- int max_fd;
- int ret;
-+ long milliseconds;
-+ struct timeval timeout;
-
- logit ("Doing select()...");
-
-@@ -356,8 +358,14 @@
- if (s->curl.wake_up_pipe[0] > max_fd)
- max_fd = s->curl.wake_up_pipe[0];
-
-+ curl_multi_timeout(s->curl.multi_handle, &milliseconds);
-+ if(milliseconds <= 0)
-+ milliseconds = 1000; /* just a cautionary default */
-+ timeout.tv_sec = milliseconds / 1000;
-+ timeout.tv_usec = (milliseconds % 1000) * 1000;
-+
- ret = select (max_fd + 1, &read_fds, &write_fds,
-- &exc_fds, NULL);
-+ &exc_fds, &timeout);
-
- if (ret < 0 && errno == EINTR) {
- logit ("Interrupted");
diff --git a/extra/mousepad/PKGBUILD b/extra/mousepad/PKGBUILD
deleted file mode 100644
index 9b3e0a599..000000000
--- a/extra/mousepad/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id: PKGBUILD 58320 2009-11-07 00:36:34Z allan $
-# Maintainer: tobias [tobias at archlinux.org]
-
-pkgname=mousepad
-pkgver=0.2.16
-pkgrel=2
-pkgdesc="Simple Text Editor for Xfce4 (based on Gedit)"
-arch=(i686 x86_64)
-groups=('xfce4')
-license="GPL2"
-depends=('libxfcegui4>=4.6.0' 'desktop-file-utils')
-makedepends=('pkgconfig' 'intltool' 'perl')
-options=('!libtool')
-url=('http://www.xfce.org/~benny/apps.html')
-install=${pkgname}.install
-source=(http://www.xfce.org/archive/xfce-4.6.0/src/${pkgname}-${pkgver}.tar.bz2
- resensitize-find-button.patch)
-md5sums=('d98854edb76d823ac20b266fdf5a64a1'
- '1fbc153fbd47ebb95d93f7084dea93e0')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- patch -Np1 -i $srcdir/resensitize-find-button.patch
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/xfce4 \
- --localstatedir=/var --disable-static
- make || return 1
- make DESTDIR=${pkgdir} install || return 1
-}
diff --git a/extra/mousepad/mousepad.install b/extra/mousepad/mousepad.install
deleted file mode 100644
index e7ca93e53..000000000
--- a/extra/mousepad/mousepad.install
+++ /dev/null
@@ -1,16 +0,0 @@
-post_install() {
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install $1
-}
-
-post_remove() {
- update-desktop-database -q
-}
-
-op=$1
-shift
-
-$op $*
diff --git a/extra/mousepad/resensitize-find-button.patch b/extra/mousepad/resensitize-find-button.patch
deleted file mode 100644
index db79adc4d..000000000
--- a/extra/mousepad/resensitize-find-button.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- mousepad-0.2.16.orig/src/search.c
-+++ mousepad-0.2.16/src/search.c
-@@ -210,8 +210,11 @@
- G_CALLBACK(toggle_sensitivity), NULL);
- g_signal_connect(G_OBJECT(entry_find), "delete-text",
- G_CALLBACK(toggle_sensitivity), NULL);
-- if (sd->search.string_find)
-+ if (sd->search.string_find) {
- gtk_entry_set_text(GTK_ENTRY(entry_find), sd->search.string_find);
-+ gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog),
-+ GTK_RESPONSE_OK, TRUE);
-+ }
-
- gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
- gtk_entry_set_activates_default(GTK_ENTRY(entry_find), TRUE);
-@@ -275,8 +278,11 @@
- G_CALLBACK(toggle_sensitivity), NULL);
- g_signal_connect(G_OBJECT(entry_find), "delete-text",
- G_CALLBACK(toggle_sensitivity), NULL);
-- if (sd->search.string_find)
-+ if (sd->search.string_find) {
- gtk_entry_set_text(GTK_ENTRY(entry_find), sd->search.string_find);
-+ gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog),
-+ GTK_RESPONSE_OK, TRUE);
-+ }
- label_replace = gtk_label_new_with_mnemonic(_("Re_place with: "));
- gtk_misc_set_alignment(GTK_MISC(label_replace), 0, 0.5);
- gtk_table_attach_defaults(GTK_TABLE(table), label_replace, 0, 1, 1, 2);
diff --git a/extra/python2/CVE-2011-1521.patch b/extra/python2/CVE-2011-1521.patch
deleted file mode 100644
index d68ec3323..000000000
--- a/extra/python2/CVE-2011-1521.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-diff -Naur Python-2.7.1.ori/Lib/test/test_urllib2.py Python-2.7.1/Lib/test/test_urllib2.py
---- Python-2.7.1.ori/Lib/test/test_urllib2.py 2010-11-21 21:04:33.000000000 -0800
-+++ Python-2.7.1/Lib/test/test_urllib2.py 2011-04-15 05:02:13.278853672 -0700
-@@ -969,6 +969,27 @@
- self.assertEqual(count,
- urllib2.HTTPRedirectHandler.max_redirections)
-
-+ def test_invalid_redirect(self):
-+ from_url = "http://example.com/a.html"
-+ valid_schemes = ['http', 'https', 'ftp']
-+ invalid_schemes = ['file', 'imap', 'ldap']
-+ schemeless_url = "example.com/b.html"
-+ h = urllib2.HTTPRedirectHandler()
-+ o = h.parent = MockOpener()
-+ req = Request(from_url)
-+
-+ for scheme in invalid_schemes:
-+ invalid_url = scheme + '://' + schemeless_url
-+ self.assertRaises(urllib2.HTTPError, h.http_error_302,
-+ req, MockFile(), 302, "Security Loophole",
-+ MockHeaders({"location": invalid_url}))
-+
-+ for scheme in valid_schemes:
-+ valid_url = scheme + '://' + schemeless_url
-+ h.http_error_302(req, MockFile(), 302, "That's fine",
-+ MockHeaders({"location": valid_url}))
-+ self.assertEqual(o.req.get_full_url(), valid_url)
-+
- def test_cookie_redirect(self):
- # cookies shouldn't leak into redirected requests
- from cookielib import CookieJar
-diff -Naur Python-2.7.1.ori/Lib/test/test_urllib.py Python-2.7.1/Lib/test/test_urllib.py
---- Python-2.7.1.ori/Lib/test/test_urllib.py 2010-11-21 05:34:58.000000000 -0800
-+++ Python-2.7.1/Lib/test/test_urllib.py 2011-04-15 05:02:13.278853672 -0700
-@@ -161,6 +161,20 @@
- finally:
- self.unfakehttp()
-
-+ def test_invalid_redirect(self):
-+ # urlopen() should raise IOError for many error codes.
-+ self.fakehttp("""HTTP/1.1 302 Found
-+Date: Wed, 02 Jan 2008 03:03:54 GMT
-+Server: Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e
-+Location: file:README
-+Connection: close
-+Content-Type: text/html; charset=iso-8859-1
-+""")
-+ try:
-+ self.assertRaises(IOError, urllib.urlopen, "http://python.org/")
-+ finally:
-+ self.unfakehttp()
-+
- def test_empty_socket(self):
- # urlopen() raises IOError if the underlying socket does not send any
- # data. (#1680230)
-diff -Naur Python-2.7.1.ori/Lib/urllib2.py Python-2.7.1/Lib/urllib2.py
---- Python-2.7.1.ori/Lib/urllib2.py 2010-11-20 03:24:08.000000000 -0800
-+++ Python-2.7.1/Lib/urllib2.py 2011-04-15 05:02:13.278853672 -0700
-@@ -579,6 +579,17 @@
-
- newurl = urlparse.urljoin(req.get_full_url(), newurl)
-
-+ # For security reasons we do not allow redirects to protocols
-+ # other than HTTP, HTTPS or FTP.
-+ newurl_lower = newurl.lower()
-+ if not (newurl_lower.startswith('http://') or
-+ newurl_lower.startswith('https://') or
-+ newurl_lower.startswith('ftp://')):
-+ raise HTTPError(newurl, code,
-+ msg + " - Redirection to url '%s' is not allowed" %
-+ newurl,
-+ headers, fp)
-+
- # XXX Probably want to forget about the state of the current
- # request, although that might interact poorly with other
- # handlers that also use handler-specific request attributes
-diff -Naur Python-2.7.1.ori/Lib/urllib.py Python-2.7.1/Lib/urllib.py
---- Python-2.7.1.ori/Lib/urllib.py 2010-11-21 21:04:33.000000000 -0800
-+++ Python-2.7.1/Lib/urllib.py 2011-04-15 05:02:13.278853672 -0700
-@@ -644,6 +644,18 @@
- fp.close()
- # In case the server sent a relative URL, join with original:
- newurl = basejoin(self.type + ":" + url, newurl)
-+
-+ # For security reasons we do not allow redirects to protocols
-+ # other than HTTP, HTTPS or FTP.
-+ newurl_lower = newurl.lower()
-+ if not (newurl_lower.startswith('http://') or
-+ newurl_lower.startswith('https://') or
-+ newurl_lower.startswith('ftp://')):
-+ raise IOError('redirect error', errcode,
-+ errmsg + " - Redirection to url '%s' is not allowed" %
-+ newurl,
-+ headers)
-+
- return self.open(newurl)
-
- def http_error_301(self, url, fp, errcode, errmsg, headers, data=None):
diff --git a/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch b/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch
deleted file mode 100644
index 57f527f40..000000000
--- a/extra/python2/python-2.7.1-fix-decimal-in-turkish-locale.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -up Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale Python-2.7.1/Lib/decimal.py
---- Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale 2010-07-08 17:22:54.000000000 -0400
-+++ Python-2.7.1/Lib/decimal.py 2011-04-12 11:30:40.850350842 -0400
-@@ -1720,8 +1720,6 @@ class Decimal(object):
- # here self was representable to begin with; return unchanged
- return Decimal(self)
-
-- _pick_rounding_function = {}
--
- # for each of the rounding functions below:
- # self is a finite, nonzero Decimal
- # prec is an integer satisfying 0 <= prec < len(self._int)
-@@ -1788,6 +1786,17 @@ class Decimal(object):
- else:
- return -self._round_down(prec)
-
-+ _pick_rounding_function = dict(
-+ ROUND_DOWN = '_round_down',
-+ ROUND_UP = '_round_up',
-+ ROUND_HALF_UP = '_round_half_up',
-+ ROUND_HALF_DOWN = '_round_half_down',
-+ ROUND_HALF_EVEN = '_round_half_even',
-+ ROUND_CEILING = '_round_ceiling',
-+ ROUND_FLOOR = '_round_floor',
-+ ROUND_05UP = '_round_05up',
-+ )
-+
- def fma(self, other, third, context=None):
- """Fused multiply-add.
-
-@@ -3705,18 +3714,6 @@ _numbers.Number.register(Decimal)
-
- ##### Context class #######################################################
-
--
--# get rounding method function:
--rounding_functions = [name for name in Decimal.__dict__.keys()
-- if name.startswith('_round_')]
--for name in rounding_functions:
-- # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value.
-- globalname = name[1:].upper()
-- val = globals()[globalname]
-- Decimal._pick_rounding_function[val] = name
--
--del name, val, globalname, rounding_functions
--
- class _ContextManager(object):
- """Context manager class to support localcontext().
diff --git a/extra/rcs/rcs-5.7.patch b/extra/rcs/rcs-5.7.patch
deleted file mode 100644
index 0f062b357..000000000
--- a/extra/rcs/rcs-5.7.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-diff -Naur rcs-5.7-orig/src/conf.heg rcs-5.7/src/conf.heg
---- rcs-5.7-orig/src/conf.heg 1995-06-02 11:19:00.000000000 -0700
-+++ rcs-5.7/src/conf.heg 2004-11-29 12:41:37.000000000 -0800
-@@ -210,10 +210,10 @@
- /* Do struct stat s and t describe the same file? Answer d if unknown. */
- #define same_file(s,t,d) ((s).st_ino==(t).st_ino && (s).st_dev==(t).st_dev)
- #define has_utimbuf 1 /* Does struct utimbuf work? */
--#define CO "/usr/local/bin/co" /* name of 'co' program */
-+#define CO "/usr/bin/co" /* name of 'co' program */
- #define COMPAT2 0 /* Are version 2 files supported? */
--#define DIFF "/usr/local/bin/diff" /* name of 'diff' program */
--#define DIFF3 "/usr/local/bin/diff3" /* name of 'diff3' program */
-+#define DIFF "/usr/bin/diff" /* name of 'diff' program */
-+#define DIFF3 "/usr/bin/diff3" /* name of 'diff3' program */
- #define DIFF3_BIN 1 /* Is diff3 user-visible (not the /usr/lib auxiliary)? */
- #define DIFFFLAGS "-an" /* Make diff output suitable for RCS. */
- #define DIFF_L 1 /* Does diff -L work? */
-@@ -221,7 +221,7 @@
- #define DIFF_FAILURE 1 /* DIFF status if differences are found */
- #define DIFF_TROUBLE 2 /* DIFF status if trouble */
- #define ED "/bin/ed" /* name of 'ed' program (used only if !DIFF3_BIN) */
--#define MERGE "/usr/local/bin/merge" /* name of 'merge' program */
-+#define MERGE "/usr/bin/merge" /* name of 'merge' program */
- #define TMPDIR "/tmp" /* default directory for temporary files */
- #define SLASH '/' /* principal filename separator */
- #define SLASHes '/' /* `case SLASHes:' labels all filename separators */
-diff -Naur rcs-5.7-orig/src/conf.sh rcs-5.7/src/conf.sh
---- rcs-5.7-orig/src/conf.sh 1995-06-15 23:19:24.000000000 -0700
-+++ rcs-5.7/src/conf.sh 2004-11-29 12:42:28.000000000 -0800
-@@ -32,7 +32,7 @@
- # and can be inspected for clues otherwise.
-
- # The Makefile overrides the following defaults.
--: ${RCSPREFIX=/usr/local/bin/}
-+: ${RCSPREFIX=/usr/bin/}
- : ${ALL_CFLAGS=-Dhas_conf_h}
- : ${CC=cc}
- : ${COMPAT2=0}
-@@ -42,8 +42,8 @@
- : ${DIFFFLAGS=-an}
- : ${DIFF_L=1}
- : ${DIFF_SUCCESS=0} ${DIFF_FAILURE=1} ${DIFF_TROUBLE=2}
--: ${ED=/bin/ed}
--: ${SENDMAIL='"/usr/lib/sendmail"'}
-+: ${ED=/usr/bin/ed}
-+: ${SENDMAIL='"/usr/sbin/sendmail"'}
- # : ${LDFLAGS=} ${LIBS=} tickles old shell bug
-
- C="$CC $ALL_CFLAGS"
-@@ -73,17 +73,6 @@
- ech='echo -n' dots='... '
- esac
-
--$ech >&3 "$0: testing permissions $dots"
--rm -f a.d &&
--date >a.d &&
--chmod 0 a.d &&
--{ test -w a.d || cp /dev/null a.d 2>/dev/null; } && {
-- echo >&3 "$n$0: This command should not be run with superuser permissions."
-- exit 1
--}
--echo >&3 OK
--rm -f a.d || exit
--
- $ech >&3 "$0: testing compiler for plausibility $dots"
- echo 'main() { return 0; }' >a.c
- rm -f a.exe a.out || exit
diff --git a/extra/xfprint/PKGBUILD b/extra/xfprint/PKGBUILD
deleted file mode 100644
index 1d622e190..000000000
--- a/extra/xfprint/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 122851 2011-05-06 14:01:10Z stephane $
-# Maintainer: Tobias Kieslich <tobias funnychar archlinux.org>
-
-pkgname=xfprint
-pkgver=4.6.1
-pkgrel=5
-pkgdesc="A print dialog and a printer manager for Xfce"
-arch=(i686 x86_64)
-license=('GPL2')
-url="http://www.xfce.org/"
-groups=('xfce4')
-depends=("libxfcegui4>=$pkgver" "xfconf>=$pkgver" 'libcups>=1.3.10' 'a2ps' 'krb5'
- 'gnutls>=2.6.5' 'hicolor-icon-theme')
-makedepends=('pkgconfig' 'intltool')
-options=('!libtool')
-install=${pkgname}.install
-source=(http://archive.xfce.org/xfce/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2
- xfprint-manager-fix.diff)
-md5sums=('d92fca97a42816085080baf07a99a62e'
- '69b3619a285e94d602a1d0ac08f4ca06')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- # fix xfprint-manager not showing cups printers
- # see http://bugs.archlinux.org/task/19965, http://bugs.gentoo.org/278047, http://bugzilla.xfce.org/show_bug.cgi?id=6089
- patch -Np0 -i ${srcdir}/xfprint-manager-fix.diff
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
- --localstatedir=/var --disable-static
- make
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-}
diff --git a/extra/xfprint/xfprint-manager-fix.diff b/extra/xfprint/xfprint-manager-fix.diff
deleted file mode 100644
index 1bf0725f8..000000000
--- a/extra/xfprint/xfprint-manager-fix.diff
+++ /dev/null
@@ -1,29 +0,0 @@
---- xfprint-manager/main.c 2009-02-24 21:34:16.000000000 +0000
-+++ xfprint-manager/main.c.new 2010-07-15 21:30:51.098745852 +0000
-@@ -41,6 +41,7 @@
- #include <libxfprint/printer-list-window.h>
-
- #define CHANNEL "xfprint"
-+#define PROP_PRINTING_SYSTEM "/printing-system"
-
- extern void mainwin_setup (void);
-
-@@ -66,15 +67,15 @@
- channel = xfconf_channel_new (CHANNEL);
- if (channel) {
-
-- if (xfconf_channel_has_property (channel, "/XfPrint/system")) {
-- const gchar *system_name = xfconf_channel_get_string (channel, "/XfPrint/system", "none");
-+ if (xfconf_channel_has_property (channel, PROP_PRINTING_SYSTEM)) {
-+ const gchar *system_name = xfconf_channel_get_string (channel, PROP_PRINTING_SYSTEM, "none");
- if (g_ascii_strcasecmp (system_name, "none") != 0) {
- ps = printing_system_new (system_name);
- if (ps == NULL);
- g_warning ("Unable to load printing system module %s", system_name);
- }
- } else {
-- g_warning ("%s: XfPrint/system is not set", PACKAGE);
-+ g_warning ("%s: XfPrint/printing-system is not set", PACKAGE);
- }
- }
-
diff --git a/extra/xfprint/xfprint.install b/extra/xfprint/xfprint.install
deleted file mode 100644
index 21b79d2d4..000000000
--- a/extra/xfprint/xfprint.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() {
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
diff --git a/multilib-testing/lib32-llvm/PKGBUILD b/multilib-testing/lib32-llvm/PKGBUILD
deleted file mode 100644
index ff7f4f050..000000000
--- a/multilib-testing/lib32-llvm/PKGBUILD
+++ /dev/null
@@ -1,153 +0,0 @@
-# $Id: PKGBUILD 47129 2011-05-17 14:00:02Z lcarlier $
-# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
-# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
-# Contributor: Sebastian Nowicki <sebnow@gmail.com>
-# Contributor: Devin Cofer <ranguvar{AT]archlinux[DOT}us>
-# Contributor: Tobias Kieslich <tobias@justdreams.de>
-# Contributor: Geoffroy Carrier <geoffroy.carrier@aur.archlinux.org>
-# Contributor: Tomas Lindquist Olsen <tomas@famolsen.dk>
-# Contributor: Roberto Alsina <ralsina@kde.org>
-# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-
-pkgname=('lib32-llvm')
-pkgver=2.9
-_gcc_ver=4.6.0
-pkgrel=1
-arch=('x86_64')
-url="http://llvm.org/"
-license=('custom:University of Illinois/NCSA Open Source License')
-makedepends=('gcc-libs-multilib' 'lib32-libffi' 'python2' "gcc-multilib=$_gcc_ver")
-source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.tgz
- http://llvm.org/releases/$pkgver/clang-$pkgver.tgz
- ftp://ftp.archlinux.org/other/community/clang/gcc-headers-4.5.2.tar.xz
- clang-plugin-loader-registry.patch
- cindexer-clang-path.patch
- clang-toolchains-gcc-versions.patch
- clang-pure64.patch
- enable-lto.patch)
-md5sums=('793138412d2af2c7c7f54615f8943771'
- '634de18d04b7a4ded19ec4c17d23cfca'
- '70e23a3dc2b38ecb2bb4d2c48f47295d'
- '02c23b4aaca3445b8bf39fddb2f9906e'
- '87a7162dbe99e9ffce6c40bd09f5f4f0'
- '8da236120a9a287a977b575b8b905c93'
- '225ee6b531f8327f34f344a18cb4ec81'
- '8f7582d7440e4a8342c3aea9ec714fb4')
-
-build() {
- cd "$srcdir/llvm-$pkgver"
-
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- # Fix symbolic links from OCaml bindings to LLVM libraries
- sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml
-
- # Fix installation directories, ./configure doesn't seem to set them right
- sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \
- -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32/llvm:' \
- -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
- Makefile.config.in
-
- # Fix insecure rpath (http://bugs.archlinux.org/task/14017)
- sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules
-
- # Get the correct list of symbols to export
- # See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-April/008559.html
- patch -Np1 -i "$srcdir/clang-plugin-loader-registry.patch"
-
- # Fix clang path in CIndexer.cpp (https://bugs.archlinux.org/task/22799)
- #patch -d tools/clang -Np0 -i "$srcdir/cindexer-clang-path.patch"
-
- # Add GCC 4.6.0 to GccVersions (FS#23631)
- #patch -d tools/clang -Np1 -i "$srcdir/clang-toolchains-gcc-versions.patch"
-
- # Adjust lib paths
- #patch -d tools/clang -Np0 -i "$srcdir/clang-pure64.patch"
-
- # Make -flto work
- # Use gold instead of default linker, and always use the plugin
- #patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch"
-
- # Apply strip option to configure
- _optimized_switch="enable"
- [[ $(check_option strip) == n ]] && _optimized_switch="disable"
-
- # Include location of libffi headers in CPPFLAGS
- export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)"
-
- # TODO: Uncomment when clang works with GCC 4.6+
- #_cxx_headers="/usr/include/c++/$_gcc_ver"
- #if [[ ! -d $_cxx_headers ]]; then
- # error "Couldn't find the C++ headers, PKGBUILD needs fixing!"
- # return 1
- #fi
- _cxx_headers="/usr/include/c++/clang-$pkgver"
-
- _32bit_headers=""
- if [[ $CARCH == x86_64 ]]; then
- # Important for multilib
- _32bit_headers="32"
- fi
-
- ./configure \
- --prefix=/usr \
- --libdir=/usr/lib32/llvm \
- --sysconfdir=/etc \
- --enable-shared \
- --enable-libffi \
- --enable-targets=all \
- --disable-expensive-checks \
- --disable-debug-runtime \
- --disable-assertions \
- --with-binutils-include=/usr/include \
- --with-cxx-include-root=$_cxx_headers \
- --with-cxx-include-arch=$CHOST \
- --with-cxx-include-32bit-dir=$_32bit_headers \
- --$_optimized_switch-optimized
-
- make REQUIRES_RTTI=1
-}
-
-package() {
- pkgdesc="Low Level Virtual Machine (32 bits version)"
- depends=('perl' 'lib32-libffi' 'llvm')
-
- cd "$srcdir/llvm-$pkgver"
-
- # We move the clang directory out of the tree so it won't get installed and
- # then we bring it back in for the clang package
- # mv tools/clang "$srcdir"
- # -j1 is due to race conditions during the installation of the OCaml bindings
- make -j1 DESTDIR="$pkgdir" install
- # mv "$srcdir/clang" tools
-
- # OCaml bindings go to a separate package
- # rm -rf "$srcdir"/{ocaml,ocamldoc}
- # mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir"
-
- # Remove duplicate files installed by the OCaml bindings
- # rm "$pkgdir"/usr/{lib/llvm/libllvm*,share/doc/llvm/ocamldoc.tar.gz}
-
- # Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib32/llvm/*.a
-
- # Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487)
- #sed -i 's:\(ABS_RUN_DIR/lib\):\1/llvm:' "$pkgdir/usr/bin/llvm-config"
- sed -i 's:ABS_RUN_DIR/lib:ABS_RUN_DIR/llvm:' "$pkgdir/usr/bin/llvm-config"
- mv "$pkgdir/usr/bin/llvm-config" "$pkgdir/usr/lib32/llvm/llvm-config"
- # Get rid of example Hello transformation
- rm "$pkgdir"/usr/lib32/llvm/*LLVMHello.*
-
- # Symlink the gold plugin where clang expects it
- ln -s llvm/LLVMgold.so "$pkgdir/usr/lib32/LLVMgold.so"
-
- # Add ld.so.conf.d entry
- install -d "$pkgdir/etc/ld.so.conf.d"
- echo /usr/lib32/llvm >"$pkgdir/etc/ld.so.conf.d/llvm32.conf"
-
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-
- rm -r "$pkgdir"/usr/{bin,include,share/{doc,man}}
-}
diff --git a/multilib-testing/lib32-llvm/cindexer-clang-path.patch b/multilib-testing/lib32-llvm/cindexer-clang-path.patch
deleted file mode 100644
index ddaab690e..000000000
--- a/multilib-testing/lib32-llvm/cindexer-clang-path.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- tools/libclang/CIndexer.cpp.orig 2011-04-07 13:08:24.000000000 +0300
-+++ tools/libclang/CIndexer.cpp 2011-04-07 13:11:52.224884642 +0300
-@@ -80,6 +80,7 @@ std::string CIndexer::getClangResourcesP
-
- // We now have the CIndex directory, locate clang relative to it.
- LibClangPath.eraseComponent();
-+ LibClangPath.eraseComponent();
- #endif
-
- LibClangPath.appendComponent("clang");
diff --git a/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch b/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch
deleted file mode 100644
index f46eb9fce..000000000
--- a/multilib-testing/lib32-llvm/clang-plugin-loader-registry.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -upr llvm-2.7.orig/autoconf/ExportMap.map llvm-2.7/autoconf/ExportMap.map
---- llvm-2.7.orig/autoconf/ExportMap.map 2010-02-25 00:33:41.000000000 +0200
-+++ llvm-2.7/autoconf/ExportMap.map 2010-05-10 14:14:22.000000000 +0300
-@@ -2,6 +2,7 @@
- global: main;
- __progname;
- environ;
-+ _ZN4llvm8RegistryIN5clang14FrontendActionENS_14RegistryTraitsIS2_EEE4HeadE;
-
- local: *;
- };
diff --git a/multilib-testing/lib32-llvm/clang-pure64.patch b/multilib-testing/lib32-llvm/clang-pure64.patch
deleted file mode 100644
index da6178519..000000000
--- a/multilib-testing/lib32-llvm/clang-pure64.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Index: lib/Driver/Tools.cpp
-===================================================================
---- lib/Driver/Tools.cpp (revision 123373)
-+++ lib/Driver/Tools.cpp (working copy)
-@@ -3306,7 +3306,7 @@
- else if (ToolChain.getArch() == llvm::Triple::arm)
- CmdArgs.push_back("/lib/ld-linux.so.3");
- else
-- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
-+ CmdArgs.push_back("/lib/ld-linux-x86-64.so.2");
- }
-
- CmdArgs.push_back("-o");
-Index: lib/Driver/ToolChains.cpp
-===================================================================
---- lib/Driver/ToolChains.cpp (revision 123373)
-+++ lib/Driver/ToolChains.cpp (working copy)
-@@ -1317,18 +1317,10 @@
- if (Arch == llvm::Triple::x86)
- Suffix64 = "/64";
-
-- std::string Lib32 = "lib";
--
-- bool Exists;
-- if (!llvm::sys::fs::exists("/lib32", Exists) && Exists)
-- Lib32 = "lib32";
--
-+ std::string Lib32 = "lib32";
- std::string Lib64 = "lib";
-- bool Symlink;
-- if (!llvm::sys::fs::exists("/lib64", Exists) && Exists &&
-- (llvm::sys::fs::is_symlink("/lib64", Symlink) || !Symlink))
-- Lib64 = "lib64";
-
-+ bool Exists;
- std::string GccTriple = "";
- if (Arch == llvm::Triple::arm) {
- if (!llvm::sys::fs::exists("/usr/lib/gcc/arm-linux-gnueabi", Exists) &&
diff --git a/multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch b/multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch
deleted file mode 100644
index 2e527300d..000000000
--- a/multilib-testing/lib32-llvm/clang-toolchains-gcc-versions.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -upr clang-2.9.orig/lib/Driver/ToolChains.cpp clang-2.9/lib/Driver/ToolChains.cpp
---- clang-2.9.orig/lib/Driver/ToolChains.cpp 2011-03-21 23:29:27.000000000 +0200
-+++ clang-2.9/lib/Driver/ToolChains.cpp 2011-04-08 00:03:34.000000000 +0300
-@@ -1449,7 +1449,7 @@ Linux::Linux(const HostInfo &Host, const
- GccTriple = "i586-suse-linux";
- }
-
-- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
-+ const char* GccVersions[] = {"4.6.0", "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
- "4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2",
- "4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1",
- "4.2"};
diff --git a/multilib-testing/lib32-llvm/enable-lto.patch b/multilib-testing/lib32-llvm/enable-lto.patch
deleted file mode 100644
index 40d93104a..000000000
--- a/multilib-testing/lib32-llvm/enable-lto.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Index: lib/Driver/ToolChains.cpp
-===================================================================
---- lib/Driver/ToolChains.cpp (revision 123373)
-+++ lib/Driver/ToolChains.cpp (working copy)
-@@ -1398,11 +1398,11 @@
- Lib = Lib64;
- }
-
-- llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld");
-+ llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld.gold");
- if (!llvm::sys::fs::exists(LinkerPath.str(), Exists) && Exists)
- Linker = LinkerPath.str();
- else
-- Linker = GetProgramPath("ld");
-+ Linker = GetProgramPath("ld.gold");
-
- LinuxDistro Distro = DetectLinuxDistro(Arch);
-
-Index: lib/Driver/Tools.cpp
-===================================================================
---- lib/Driver/Tools.cpp (revision 123373)
-+++ lib/Driver/Tools.cpp (working copy)
-@@ -3412,11 +3412,11 @@
- }
- }
-
-- if (Args.hasArg(options::OPT_use_gold_plugin)) {
-+ // if (Args.hasArg(options::OPT_use_gold_plugin)) {
- CmdArgs.push_back("-plugin");
- std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
- CmdArgs.push_back(Args.MakeArgString(Plugin));
-- }
-+ // }
-
- C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs));
- }
diff --git a/staging/kdeaccessibility/PKGBUILD b/staging/kdeaccessibility/PKGBUILD
deleted file mode 100644
index 646a47d71..000000000
--- a/staging/kdeaccessibility/PKGBUILD
+++ /dev/null
@@ -1,98 +0,0 @@
-# $Id: PKGBUILD 126536 2011-06-06 06:09:32Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdeaccessibility
-pkgname=('kdeaccessibility-colorschemes'
- 'kdeaccessibility-iconthemes'
- 'kdeaccessibility-jovie'
- 'kdeaccessibility-kaccessible'
- 'kdeaccessibility-kmag'
- 'kdeaccessibility-kmousetool'
- 'kdeaccessibility-kmouth')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://accessibility.kde.org'
-license=('GPL' 'FDL')
-groups=('kde' 'kdeaccessibility')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-runtime'
- 'speech-dispatcher')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('5a8ede86e6a483379ff62c1d85445c93c8400857')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DWITH_Opentts=OFF
- make
-}
-
-package_kdeaccessibility-colorschemes() {
- pkgdesc='KDE Accessibility color schemes'
- cd $srcdir/build/ColorSchemes
- make DESTDIR=$pkgdir install
-}
-
-package_kdeaccessibility-iconthemes() {
- pkgdesc='KDE Accessibility icon themes'
- cd $srcdir/build/IconThemes
- make DESTDIR=$pkgdir install
-}
-
-package_kdeaccessibility-jovie() {
- pkgdesc='A text to speech application'
- depends=('kdebase-runtime' 'speech-dispatcher')
- replaces=('kdeaccessibility-kttsd')
- install='kdeaccessibility.install'
- cd $srcdir/build/jovie
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/jovie
- make DESTDIR=$pkgdir install
-}
-
-package_kdeaccessibility-kaccessible() {
- pkgdesc='Provides accessibility services like focus tracking and a screenreader'
- depends=('kdebase-runtime' 'speech-dispatcher')
- install='kdeaccessibility.install'
- cd $srcdir/build/kaccessible
- make DESTDIR=$pkgdir install
-}
-
-package_kdeaccessibility-kmag() {
- pkgdesc='Screen Magnifier'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kmag/"
- install='kdeaccessibility.install'
- cd $srcdir/build/kmag
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kmag
- make DESTDIR=$pkgdir install
-}
-
-package_kdeaccessibility-kmousetool() {
- pkgdesc='Clicks the mouse for you, reducing the effects of RSI'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kmousetool/"
- install='kdeaccessibility.install'
- cd $srcdir/build/kmousetool
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kmousetool
- make DESTDIR=$pkgdir install
-}
-
-package_kdeaccessibility-kmouth() {
- pkgdesc='Speech Synthesizer Frontend'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kmouth/"
- install='kdeaccessibility.install'
- cd $srcdir/build/kmouth
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kmouth
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdeaccessibility/kdeaccessibility.install b/staging/kdeaccessibility/kdeaccessibility.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdeaccessibility/kdeaccessibility.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdeadmin/PKGBUILD b/staging/kdeadmin/PKGBUILD
deleted file mode 100644
index de420aef1..000000000
--- a/staging/kdeadmin/PKGBUILD
+++ /dev/null
@@ -1,80 +0,0 @@
-# $Id: PKGBUILD 126537 2011-06-06 06:09:35Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdeadmin
-pkgname=('kdeadmin-kcron'
- 'kdeadmin-ksystemlog'
- 'kdeadmin-kuser'
- 'kdeadmin-system-config-printer-kde')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdeadmin')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebindings-python'
- 'system-config-printer-common' 'python2-pyqt')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
- 'syslog-path.patch')
-sha1sums=('5f683dbdeec75b4baa025a987692a63912b7e4af'
- '20095ce6e0f3e5b6800a7c6e52de6fddba62c031')
-
-build() {
- cd ${srcdir}/${pkgbase}-${pkgver}
- patch -p1 -i ${srcdir}/syslog-path.patch
-
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_kpackage=OFF \
- -DBUILD_knetworkconf=OFF \
- -DBUILD_lilo-config=OFF \
- -DBUILD_strigi-analyzer=OFF
- make
-}
-
-package_kdeadmin-kcron() {
- pkgdesc='Configure and schedule tasks'
- depends=('kdelibs')
- cd $srcdir/build/kcron
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcron
- make DESTDIR=$pkgdir install
-}
-
-package_kdeadmin-ksystemlog() {
- pkgdesc='System log viewer tool'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/system/ksystemlog/"
- cd $srcdir/build/ksystemlog
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ksystemlog
- make DESTDIR=$pkgdir install
-}
-
-package_kdeadmin-kuser() {
- pkgdesc='User Manager'
- depends=('kdepim-runtime')
- url="http://kde.org/applications/system/kuser/"
- install='kdeadmin.install'
- cd $srcdir/build/kuser
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kuser
- make DESTDIR=$pkgdir install
-}
-
-package_kdeadmin-system-config-printer-kde() {
- pkgdesc='Configure local and remote Printers'
- depends=('kdebindings-python' 'system-config-printer-common' 'python2-pyqt')
- url="http://kde.org/applications/system/printerapplet/"
- cd $srcdir/build/system-config-printer-kde
- make DESTDIR=$pkgdir install
-
- # Use the python2 executable
- find ${pkgdir} -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
-}
diff --git a/staging/kdeadmin/kdeadmin.install b/staging/kdeadmin/kdeadmin.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdeadmin/kdeadmin.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdeadmin/syslog-path.patch b/staging/kdeadmin/syslog-path.patch
deleted file mode 100644
index 8a9142bf6..000000000
--- a/staging/kdeadmin/syslog-path.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h~ 2011-01-27 14:24:29.840000005 +0100
-+++ kdeadmin-4.6.0/ksystemlog/src/modes/system/systemConfiguration.h 2011-01-27 14:24:53.803333335 +0100
-@@ -39,7 +39,7 @@
- SystemConfiguration() :
- GenericLogModeConfiguration(
- QLatin1String( SYSTEM_LOG_MODE_ID ),
-- QStringList() << QLatin1String( "/var/log/syslog" ),
-+ QStringList() << QLatin1String( "/var/log/messages.log" ),
- QList<int>() << INFORMATION_LOG_LEVEL_ID
- ) {
-
diff --git a/staging/kdeartwork/PKGBUILD b/staging/kdeartwork/PKGBUILD
deleted file mode 100644
index d3e8a4147..000000000
--- a/staging/kdeartwork/PKGBUILD
+++ /dev/null
@@ -1,102 +0,0 @@
-# $Id: PKGBUILD 126538 2011-06-06 06:09:39Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdeartwork
-pkgname=('kdeartwork-aurorae'
- 'kdeartwork-colorschemes'
- 'kdeartwork-desktopthemes'
- 'kdeartwork-emoticons'
- 'kdeartwork-iconthemes'
- 'kdeartwork-kscreensaver'
- 'kdeartwork-sounds'
- 'kdeartwork-styles'
- 'kdeartwork-wallpapers'
- 'kdeartwork-weatherwallpapers')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdeartwork')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'xscreensaver' 'eigen'
- 'kdebase-workspace' 'kdegraphics-libs')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('460b8bff5f6799f0e2553e1b78112e3192ade2b3')
-
-build() {
- cd $srcdir
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdeartwork-aurorae() {
- pkgdesc='An Aurorae theme based on the Oxygen plasma theme'
- cd $srcdir/build/aurorae
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-colorschemes() {
- pkgdesc='KDE color schemes'
- cd $srcdir/build/ColorSchemes
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-desktopthemes() {
- pkgdesc='KDE desktop themes'
- cd $srcdir/build/desktopthemes
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-emoticons() {
- pkgdesc='KDE emoticons'
- cd $srcdir/build/emoticons
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-iconthemes() {
- pkgdesc='KDE icon themes'
- cd $srcdir/build/IconThemes
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-kscreensaver() {
- pkgdesc='KDE screensaver'
- depends=('kdebase-workspace' 'kdegraphics-libs')
- cd $srcdir/build/kscreensaver
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-sounds() {
- pkgdesc='KDE sounds'
- cd $srcdir/build/sounds
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-styles() {
- pkgdesc='KDE styles'
- depends=('kdebase-workspace')
- cd $srcdir/build/styles
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kwin-styles
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-wallpapers() {
- pkgdesc='KDE wallpapers'
- cd $srcdir/build/wallpapers
- make DESTDIR=$pkgdir install
- cd $srcdir/build/HighResolutionWallpapers
- make DESTDIR=$pkgdir install
-}
-
-package_kdeartwork-weatherwallpapers() {
- pkgdesc='KDE weather wallpapers'
- cd $srcdir/build/WeatherWallpapers
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdebase-runtime/PKGBUILD b/staging/kdebase-runtime/PKGBUILD
deleted file mode 100644
index 4479b4d31..000000000
--- a/staging/kdebase-runtime/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 126530 2011-06-06 06:06:00Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgname=kdebase-runtime
-pkgver=4.6.4
-pkgrel=1
-pkgdesc="KDE Base Runtime Environment"
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL')
-depends=('kdelibs' 'ntrack' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons'
- 'xorg-xauth' 'hicolor-icon-theme')
-makedepends=('pkg-config' 'cmake' 'automoc4' 'kdepimlibs' 'openslp' 'xine-lib')
-optdepends=('htdig: to build the search index in khelpcenter'
- 'rarian: needed by khelpcenter'
- 'gdb: drkonq crash handler')
-install="${pkgname}.install"
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('63f30be47a4b592a0820ed200004543e7cba956d')
-
-build() {
- cd "${srcdir}"
- mkdir build
- cd build
- cmake ../${pkgname}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd "$srcdir/build"
- make DESTDIR="$pkgdir" install
- rm -f "${pkgdir}/usr/share/icons/hicolor/index.theme"
- ln -sf /usr/lib/kde4/libexec/kdesu "${pkgdir}/usr/bin/"
-}
diff --git a/staging/kdebase-runtime/kdebase-runtime.install b/staging/kdebase-runtime/kdebase-runtime.install
deleted file mode 100644
index 3f06b8deb..000000000
--- a/staging/kdebase-runtime/kdebase-runtime.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdebase-workspace/PKGBUILD b/staging/kdebase-workspace/PKGBUILD
deleted file mode 100644
index f89ea885f..000000000
--- a/staging/kdebase-workspace/PKGBUILD
+++ /dev/null
@@ -1,72 +0,0 @@
-# $Id: PKGBUILD 126875 2011-06-08 14:37:38Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgname=kdebase-workspace
-pkgver=4.6.4
-pkgrel=2
-pkgdesc="KDE Base Workspace"
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde')
-# note on libxdamage:
-# not detected by namcap because libgl depends on it
-# but nvidia providing libgl does not depend on libxdamage
-depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'qimageblitz' 'libqalculate'
- 'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage' 'libxklavier' 'libdmtx'
- 'xorg-xsetroot' 'libxcomposite' 'libxinerama')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdebindings-python')
-replaces=('kdmtheme' 'kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter')
-conflicts=('kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter')
-install="${pkgname}.install"
-backup=('usr/share/config/kdm/kdmrc'
- 'etc/pam.d/kde'
- 'etc/pam.d/kde-np'
- 'etc/pam.d/kscreensaver')
-options=('emptydirs')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
- 'kdm-zsh-profile.patch' 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam'
- 'fixpath.patch' 'terminate-server.patch')
-sha1sums=('44aef9ad37cf291e9e7528b2c915f8fc129d735e'
- '8c2bdefb23a03b753b78d16944d03fa3939d2d99'
- '5db3a245201bd4a50e65aa2ef583cf5490e4f646'
- 'f7b38af38549242a240f1a90ab9964ca8a366129'
- '603cc79c4d2b4eae62bb5f244aeecb3a778b5516'
- '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
- 'd7b5883f7e65c6839b1f65f94d58026673dd0226'
- 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- patch -p0 -i ${srcdir}/kdm-zsh-profile.patch
- patch -p0 -i ${srcdir}/fixpath.patch
- patch -p0 -i ${srcdir}/terminate-server.patch
-
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgname}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DWITH_Xmms=OFF \
- -DWITH_Googlegadgets=OFF \
- -DWITH_NetworkManager=OFF
- make
-}
-
-package() {
- cd $srcdir/build
- make DESTDIR=$pkgdir install
-
- install -D -m755 ${srcdir}/kdm ${pkgdir}/etc/rc.d/kdm
- install -D -m644 ${srcdir}/kde.pam ${pkgdir}/etc/pam.d/kde
- install -D -m644 ${srcdir}/kde-np.pam ${pkgdir}/etc/pam.d/kde-np
- install -D -m644 ${srcdir}/kscreensaver.pam ${pkgdir}/etc/pam.d/kscreensaver
- install -d -m755 ${pkgdir}/usr/share/xsessions/
- ln -sf /usr/share/apps/kdm/sessions/kde-plasma{,-safe}.desktop ${pkgdir}/usr/share/xsessions/
- install -d -m755 ${pkgdir}/etc/kde/{env,shutdown}
-
- install -d -g 135 -o 135 ${pkgdir}/var/lib/kdm
-}
diff --git a/staging/kdebase-workspace/fixpath.patch b/staging/kdebase-workspace/fixpath.patch
deleted file mode 100644
index be2b8383e..000000000
--- a/staging/kdebase-workspace/fixpath.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- startkde.cmake.orig 2009-01-15 14:24:44.000000000 +0100
-+++ startkde.cmake 2009-01-15 14:33:08.000000000 +0100
-@@ -34,22 +34,6 @@
- MALLOC_CHECK_=2
- export MALLOC_CHECK_
-
--# in case we have been started with full pathname spec without being in PATH
--bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'`
--if [ -n "$bindir" ]; then
-- qbindir=`$bindir/kde4-config --qt-binaries`
-- if [ -n "$qbindir" ]; then
-- case $PATH in
-- $qbindir|$qbindir:*|*:$qbindir|*:$qbindir:*) ;;
-- *) PATH=$qbindir:$PATH; export PATH;;
-- esac
-- fi
-- case $PATH in
-- $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;;
-- *) PATH=$bindir:$PATH; export PATH;;
-- esac
--fi
--
- # Boot sequence:
- #
- # kdeinit is used to fork off processes which improves memory usage
-@@ -206,7 +190,7 @@
- # For anything else (that doesn't set env vars, or that needs a window manager),
- # better use the Autostart folder.
-
--libpath=`kde4-config --path lib | tr : '\n'`
-+libpath=`kde4-config --path lib | tr : '\n'`$(echo -e '\n/etc/kde/lib/')
-
- for prefix in `echo "$libpath" | sed -n -e 's,/lib[^/]*/,/env/,p'`; do
- for file in "$prefix"*.sh; do
diff --git a/staging/kdebase-workspace/kde-np.pam b/staging/kdebase-workspace/kde-np.pam
deleted file mode 100644
index 81eeef47b..000000000
--- a/staging/kdebase-workspace/kde-np.pam
+++ /dev/null
@@ -1,7 +0,0 @@
-#%PAM-1.0
-auth required pam_nologin.so
-auth required pam_permit.so
-account required pam_unix.so
-password required pam_unix.so
-session required pam_unix.so
-session required pam_limits.so \ No newline at end of file
diff --git a/staging/kdebase-workspace/kde.pam b/staging/kdebase-workspace/kde.pam
deleted file mode 100644
index 1a259390f..000000000
--- a/staging/kdebase-workspace/kde.pam
+++ /dev/null
@@ -1,7 +0,0 @@
-#%PAM-1.0
-auth required pam_unix.so
-auth required pam_nologin.so
-account required pam_unix.so
-password required pam_unix.so
-session required pam_unix.so
-session required pam_limits.so \ No newline at end of file
diff --git a/staging/kdebase-workspace/kdebase-workspace.install b/staging/kdebase-workspace/kdebase-workspace.install
deleted file mode 100644
index f7d6d305b..000000000
--- a/staging/kdebase-workspace/kdebase-workspace.install
+++ /dev/null
@@ -1,25 +0,0 @@
-post_install() {
- groupadd -g 135 kdm &>/dev/null
- useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null
- chown -R 135:135 var/lib/kdm &>/dev/null
- xdg-icon-resource forceupdate --theme hicolor &>/dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- getent group kdm >/dev/null 2>&1 || groupadd -g 135 kdm &>/dev/null
- getent passwd kdm >/dev/null 2>&1 || useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null
- chown -R 135:135 var/lib/kdm &>/dev/null
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_remove() {
- if getent passwd kdm >/dev/null 2>&1; then
- userdel kdm
- fi
- if getent group kdm >/dev/null 2>&1; then
- groupdel kdm
- fi
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
diff --git a/staging/kdebase-workspace/kdm b/staging/kdebase-workspace/kdm
deleted file mode 100644
index 799d58f4b..000000000
--- a/staging/kdebase-workspace/kdm
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=$(pidof -o %PPID /usr/bin/kdm)
-case "$1" in
- start)
- stat_busy "Starting KDE Desktop Manager"
- [ -z "$PID" ] && /usr/bin/kdm &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon kdm
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping KDE Desktop Manager"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon kdm
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/staging/kdebase-workspace/kdm-zsh-profile.patch b/staging/kdebase-workspace/kdm-zsh-profile.patch
deleted file mode 100644
index 779456b39..000000000
--- a/staging/kdebase-workspace/kdm-zsh-profile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kdm/kfrontend/genkdmconf.c 2008-02-13 09:40:49.000000000 +0000
-+++ kdm/kfrontend/genkdmconf.c 2008-05-16 12:47:36.000000000 +0000
-@@ -662,7 +662,7 @@
- " [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc\n"
- " zhome=${ZDOTDIR:-$HOME}\n"
- " # zshenv is always sourced automatically.\n"
--" [ -f $zdir/zprofile ] && . $zdir/zprofile\n"
-+" [ -f /etc/profile ] && . /etc/profile\n"
- " [ -f $zhome/.zprofile ] && . $zhome/.zprofile\n"
- " [ -f $zdir/zlogin ] && . $zdir/zlogin\n"
- " [ -f $zhome/.zlogin ] && . $zhome/.zlogin\n"
diff --git a/staging/kdebase-workspace/kscreensaver.pam b/staging/kdebase-workspace/kscreensaver.pam
deleted file mode 100644
index b4d80c21f..000000000
--- a/staging/kdebase-workspace/kscreensaver.pam
+++ /dev/null
@@ -1 +0,0 @@
-auth required pam_unix_auth.so
diff --git a/staging/kdebase-workspace/terminate-server.patch b/staging/kdebase-workspace/terminate-server.patch
deleted file mode 100644
index 094591317..000000000
--- a/staging/kdebase-workspace/terminate-server.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kdm/config.def 2009-08-27 10:17:39.000000000 +0200
-+++ kdm/config.def 2009-10-31 00:40:21.000000000 +0100
-@@ -1448,7 +1448,7 @@
-
- Key: TerminateServer
- Type: bool
--Default: false
-+Default: true
- User: core
- Instance: #:*/!
- Merge: xdm
diff --git a/staging/kdebase/PKGBUILD b/staging/kdebase/PKGBUILD
deleted file mode 100644
index c16031161..000000000
--- a/staging/kdebase/PKGBUILD
+++ /dev/null
@@ -1,129 +0,0 @@
-# $Id: PKGBUILD 126534 2011-06-06 06:09:24Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdebase
-pkgname=('kdebase-dolphin'
- 'kdebase-kdepasswd'
- 'kdebase-kdialog'
- 'kdebase-keditbookmarks'
- 'kdebase-kfind'
- 'kdebase-konqueror'
- 'kdebase-konsole'
- 'kdebase-kwrite'
- 'kdebase-lib'
- 'kdebase-plasma')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdebase')
-makedepends=('kdebase-workspace' 'pkgconfig' 'cmake' 'automoc4')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('aef0d3f2ed8cc54cbe1ae6025091c9e0a43235c4')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdebase-dolphin() {
- pkgdesc='File Manager'
- depends=('kdebase-runtime' 'kdebase-lib')
- optdepends=('ruby: servicemenu installation')
- url="http://kde.org/applications/system/dolphin/"
- cd $srcdir/build/dolphin
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/dolphin
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-kdepasswd() {
- pkgdesc='Change Password'
- depends=('kdebase-runtime' 'kdebase-lib')
- cd $srcdir/build/kdepasswd
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kdepasswd
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-kdialog() {
- pkgdesc='A utility for displaying dialog boxes from shell scripts'
- depends=('kdebase-runtime')
- cd $srcdir/build/kdialog
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-keditbookmarks() {
- pkgdesc='Bookmark Organizer and Editor'
- depends=('kdebase-runtime')
- cd $srcdir/build/keditbookmarks
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-kfind() {
- pkgdesc='Find Files/Folders'
- depends=('kdebase-runtime' 'kdebase-lib')
- url="http://kde.org/applications/utilities/kfind/"
- install='kdebase.install'
- cd $srcdir/build/kfind
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kfind
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-konqueror() {
- pkgdesc='KDE File Manager & Web Browser'
- depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
- optdepends=('kwebkitpart: to enable webkit engine')
- url="http://kde.org/applications/internet/konqueror/"
- install='kdebase.install'
- conflicts=('kdebase-nsplugins')
- replaces=('kdebase-nsplugins')
- for i in konqueror doc/konqueror nsplugins; do
- cd $srcdir/build/${i}
- make DESTDIR=$pkgdir install
- done
-}
-
-package_kdebase-konsole() {
- pkgdesc='Terminal'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/system/konsole/"
- cd $srcdir/build/konsole
- make DESTDIR=$pkgdir install
- cd $srcdir/build/konsole/doc/manual
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-kwrite() {
- pkgdesc='Text Editor'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kwrite/"
- cd $srcdir/build/kwrite
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kwrite
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-lib() {
- pkgdesc='KDE libraries for the basic desktop applications'
- groups=()
- depends=('kdelibs')
- cd $srcdir/build/lib
- make DESTDIR=$pkgdir install
-}
-
-package_kdebase-plasma() {
- pkgdesc='Display the contents of folders (User´s home folder as default)'
- depends=('kdebase-workspace' 'kdebase-lib')
- cd $srcdir/build/plasma
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdebase/kdebase.install b/staging/kdebase/kdebase.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdebase/kdebase.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdebindings/PKGBUILD b/staging/kdebindings/PKGBUILD
deleted file mode 100644
index edd902881..000000000
--- a/staging/kdebindings/PKGBUILD
+++ /dev/null
@@ -1,71 +0,0 @@
-# $Id: PKGBUILD 107102 2011-01-21 11:16:03Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdebindings
-pkgname=('kdebindings-csharp'
- 'kdebindings-python'
- 'kdebindings-ruby'
- 'kdebindings-smoke')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'python2-pyqt' 'kdepim-runtime' 'mono'
- 'kdegraphics-okular' 'qwt' 'boost' 'qscintilla' 'ruby')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('ee5d85598e278bda76f7937c0a832723785ffe49')
-
-build() {
- export MONO_SHARED_DIR="${srcdir}/build/.mono"
- mkdir -p "$MONO_SHARED_DIR"
-
- cd ${srcdir}/build
-
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DRUBY_SITE_LIB_DIR="/usr/lib/ruby/site_ruby/1.9.1" \
- -DRUBY_SITE_ARCH_DIR="/usr/lib/ruby/site_ruby/1.9.1/${CARCH}-linux" \
- -DBUILD_falcon=OFF \
- -DBUILD_java=OFF \
- -DBUILD_php=OFF \
- -DWITH_PolkitQt=OFF
- make
-}
-
-package_kdebindings-csharp() {
- pkgdesc='KDE bindings for mono'
- depends=('kdebindings-smoke' 'mono')
- export MONO_SHARED_DIR="${srcdir}/build/.mono"
- mkdir -p "$MONO_SHARED_DIR"
- cd $srcdir/build/csharp
- make DESTDIR=$pkgdir install
-}
-
-package_kdebindings-python() {
- pkgdesc='KDE bindings for python'
- depends=('kdepim-runtime' 'python2-pyqt' 'qscintilla')
- cd $srcdir/build/python
- make DESTDIR=$pkgdir install
-
- # Use the python2 executable
- find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
-}
-
-package_kdebindings-ruby() {
- pkgdesc='KDE Bindings for ruby'
- depends=('kdebindings-smoke' 'ruby')
- cd $srcdir/build/ruby
- make DESTDIR=$pkgdir install
-}
-
-package_kdebindings-smoke() {
- pkgdesc='Language independent library for Qt and KDE bindings'
- depends=('qscintilla' 'kdegraphics-okular' 'kdepim-runtime')
- cd $srcdir/build/smoke
- make DESTDIR=$pkgdir install
- cd $srcdir/build/generator/smokebase
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdeedu/PKGBUILD b/staging/kdeedu/PKGBUILD
deleted file mode 100644
index 0dee4aeef..000000000
--- a/staging/kdeedu/PKGBUILD
+++ /dev/null
@@ -1,270 +0,0 @@
-# $Id: PKGBUILD 126535 2011-06-06 06:09:28Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdeedu
-pkgname=('kdeedu-blinken'
- 'kdeedu-cantor'
- 'kdeedu-kalgebra'
- 'kdeedu-kalzium'
- 'kdeedu-kanagram'
- 'kdeedu-kbruch'
- 'kdeedu-kgeography'
- 'kdeedu-khangman'
- 'kdeedu-kig'
- 'kdeedu-kiten'
- 'kdeedu-klettres'
- 'kdeedu-kmplot'
- 'kdeedu-kstars'
- 'kdeedu-ktouch'
- 'kdeedu-kturtle'
- 'kdeedu-kwordquiz'
- 'kdeedu-libkdeedu'
- 'kdeedu-marble'
- 'kdeedu-parley'
- 'kdeedu-rocs'
- 'kdeedu-step')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdeedu')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'ocaml' 'facile' 'cfitsio' 'gpsd'
- 'kdebase-runtime' 'libqalculate' 'gsl' 'boost' 'libindi' 'r' 'libspectre'
- 'python2' 'avogadro')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
- 'gpsd-2.96.patch')
-sha1sums=('c58c2afbedccfa12d25e47202da995940cc9acb4'
- 'fd6b6b81945d951bb6ad0bb735df33c11bb2008e')
-
-build() {
- cd ${srcdir}/${pkgbase}-${pkgver}
- patch -Np1 -i ${srcdir}/gpsd-2.96.patch
-
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=OFF \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdeedu-blinken() {
- pkgdesc='A memory enhancement game'
- depends=('kdebase-runtime' 'kdeedu-libkdeedu')
- install='kdeedu.install'
- cd $srcdir/build/blinken
- make DESTDIR=$pkgdir install
- cd $srcdir/build/blinken/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-cantor() {
- pkgdesc='KDE Frontend to Mathematical Software'
- depends=('kdeedu-libkdeedu' 'libspectre')
- optdepends=('kdeedu-kalgebra: backend'
- 'maxima: backend'
- 'r: backend')
- install='kdeedu.install'
- cd $srcdir/build/cantor
- make DESTDIR=$pkgdir install
- cd $srcdir/build/cantor/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kalgebra() {
- pkgdesc='Math Expression Solver and Plotter'
- depends=('kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/kalgebra
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kalgebra/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kalzium() {
- pkgdesc='KDE Periodic Table of Elements'
- depends=('kdebase-runtime' 'kdeedu-libkdeedu' 'avogadro')
- install='kdeedu.install'
- cd $srcdir/build/kalzium
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kalzium/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kanagram() {
- pkgdesc='KDE Letter Order Game'
- depends=('kdebase-runtime' 'kdeedu-libkdeedu')
- install='kdeedu.install'
- cd $srcdir/build/kanagram
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kanagram/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kbruch() {
- pkgdesc='Practice exercises with fractions'
- depends=('kdelibs' 'kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/kbruch
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kbruch/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kgeography() {
- pkgdesc='A Geography Learning Program'
- depends=('kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/kgeography
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kgeography/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-khangman() {
- pkgdesc='KDE Hangman Game'
- depends=('kdebase-runtime' 'kdeedu-libkdeedu')
- install='kdeedu.install'
- cd $srcdir/build/khangman
- make DESTDIR=$pkgdir install
- cd $srcdir/build/khangman/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kig() {
- pkgdesc='Explore Geometric Constructions'
- depends=('kdebase-runtime' 'boost-libs' 'python2')
- install='kdeedu.install'
- cd $srcdir/build/kig
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kig/doc
- make DESTDIR=$pkgdir install
-
- # Use the python2 executable
- sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' ${pkgdir}/usr/bin/pykig.py
-}
-
-package_kdeedu-kiten() {
- pkgdesc='Japanese Reference and Study Tool'
- depends=('kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/kiten
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kiten/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-klettres() {
- pkgdesc='a KDE program to learn the alphabet'
- depends=('kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/klettres
- make DESTDIR=$pkgdir install
- cd $srcdir/build/klettres/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kmplot() {
- pkgdesc='Function Plotter'
- depends=('kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/kmplot
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kmplot/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kstars() {
- pkgdesc='Desktop Planetarium'
- depends=('kdebase-runtime' 'libindi')
- install='kdeedu.install'
- cd $srcdir/build/kstars
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kstars/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-ktouch() {
- pkgdesc='Touch Typing Tutor'
- depends=('kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/ktouch
- make DESTDIR=$pkgdir install
- cd $srcdir/build/ktouch/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kturtle() {
- pkgdesc='Educational Programming Environment'
- depends=('kdebase-runtime')
- install='kdeedu.install'
- cd $srcdir/build/kturtle
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kturtle/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-kwordquiz() {
- pkgdesc='A flashcard and vocabulary learning program'
- depends=('kdebase-runtime' 'kdeedu-libkdeedu')
- install='kdeedu.install'
- cd $srcdir/build/kwordquiz
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kwordquiz/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-libkdeedu() {
- pkgdesc='Support library for KDE Educational Software'
- groups=()
- depends=('kdelibs')
- install='kdeedu.install'
- replaces=('kdeedu-data')
- conflicts=('kdeedu-data')
- cd $srcdir/build/libkdeedu
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-marble() {
- pkgdesc='Desktop Globe'
- depends=('kdebase-runtime' 'gpsd')
- install='kdeedu.install'
- cd $srcdir/build/marble
- make DESTDIR=$pkgdir install
- cd $srcdir/build/marble/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-parley() {
- pkgdesc='Vocabulary Trainer'
- depends=('kdebase-runtime' 'kdeedu-libkdeedu' 'kdebindings-python')
- install='kdeedu.install'
- cd $srcdir/build/parley
- make DESTDIR=$pkgdir install
- cd $srcdir/build/parley/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-rocs() {
- pkgdesc='Graph Theory Tool for Professors and Students.'
- depends=('kdebase-runtime' 'kdeedu-libkdeedu')
- install='kdeedu.install'
- cd $srcdir/build/rocs
- make DESTDIR=$pkgdir install
- cd $srcdir/build/rocs/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeedu-step() {
- pkgdesc='Simulate physics experiments'
- depends=('kdebase-runtime' 'gsl' 'libqalculate')
- install='kdeedu.install'
- cd $srcdir/build/step
- make DESTDIR=$pkgdir install
- cd $srcdir/build/step/doc
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdeedu/gpsd-2.96.patch b/staging/kdeedu/gpsd-2.96.patch
deleted file mode 100644
index ec515e99d..000000000
--- a/staging/kdeedu/gpsd-2.96.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Index: kdeedu-4.5.5/marble/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
-===================================================================
---- kdeedu-4.5.5.orig/marble/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
-+++ kdeedu-4.5.5/marble/src/plugins/positionprovider/gpsd/GpsdConnection.cpp
-@@ -18,6 +18,9 @@ using namespace Marble;
-
- GpsdConnection::GpsdConnection( QObject* parent )
- : QObject( parent ),
-+#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
-+ m_gpsd("localhost", DEFAULT_GPSD_PORT),
-+#endif
- m_timer( 0 )
- {
- connect( &m_timer, SIGNAL( timeout() ), this, SLOT( update() ) );
-@@ -26,7 +29,11 @@ GpsdConnection::GpsdConnection( QObject*
- void GpsdConnection::initialize()
- {
- m_timer.stop();
-+#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
-+ gps_data_t* data;
-+#else
- gps_data_t* data = m_gpsd.open();
-+#endif
- if ( data ) {
- m_status = PositionProviderStatusAcquiring;
- emit statusChanged( m_status );
-@@ -73,8 +80,16 @@ void GpsdConnection::initialize()
- void GpsdConnection::update()
- {
- #if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 3 ) && defined( PACKET_SET )
-+#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
-+ if ( m_gpsd.waiting(0) ) {
-+#else
- if ( m_gpsd.waiting() ) {
-+#endif
-+#if defined( GPSD_API_MAJOR_VERSION ) && ( GPSD_API_MAJOR_VERSION >= 5 )
-+ gps_data_t* data = m_gpsd.read();
-+#else
- gps_data_t* data = m_gpsd.poll();
-+#endif
- if ( data && data->set & PACKET_SET ) {
- emit gpsdInfo( *data );
- }
diff --git a/staging/kdeedu/kdeedu.install b/staging/kdeedu/kdeedu.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdeedu/kdeedu.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/PKGBUILD b/staging/kdegames/PKGBUILD
deleted file mode 100644
index e57ff75ec..000000000
--- a/staging/kdegames/PKGBUILD
+++ /dev/null
@@ -1,514 +0,0 @@
-# $Id: PKGBUILD 126539 2011-06-06 06:09:42Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdegames
-pkgname=('kdegames-bomber'
- 'kdegames-bovo'
- 'kdegames-granatier'
- 'kdegames-kajongg'
- 'kdegames-kapman'
- 'kdegames-katomic'
- 'kdegames-kbattleship'
- 'kdegames-kblackbox'
- 'kdegames-kblocks'
- 'kdegames-kbounce'
- 'kdegames-kbreakout'
- 'kdegames-kdiamond'
- 'kdegames-kfourinline'
- 'kdegames-kgoldrunner'
- 'kdegames-kigo'
- 'kdegames-killbots'
- 'kdegames-kiriki'
- 'kdegames-kjumpingcube'
- 'kdegames-klines'
- 'kdegames-klickety'
- 'kdegames-kmahjongg'
- 'kdegames-kmines'
- 'kdegames-knetwalk'
- 'kdegames-kolf'
- 'kdegames-kollision'
- 'kdegames-konquest'
- 'kdegames-kpatience'
- 'kdegames-kreversi'
- 'kdegames-kshisen'
- 'kdegames-ksirk'
- 'kdegames-kspaceduel'
- 'kdegames-ksquares'
- 'kdegames-ksudoku'
- 'kdegames-ktron'
- 'kdegames-ktuberling'
- 'kdegames-kubrick'
- 'kdegames-libkdegames'
- 'kdegames-libkmahjongg'
- 'kdegames-lskat'
- 'kdegames-palapeli')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdegames')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'ggz-client-libs' 'twisted'
- 'kdebindings-python' 'openal')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('a5f6d07d8149fe00dbb61ae667eea741887966f3')
-
-build() {
- cd $srcdir
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdegames-bomber() {
- pkgdesc='Arcade Bombing Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/bomber/"
- install='kdegames.install'
- cd $srcdir/build/bomber
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/bomber
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-bovo() {
- pkgdesc='Five-in-a-row Board Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/bovo/"
- install='kdegames.install'
- cd $srcdir/build/bovo
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/bovo
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-granatier() {
- pkgdesc='Granatier'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'openal')
- url="http://kde.org/applications/games/granatier/"
- install='kdegames.install'
- cd $srcdir/build/granatier
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/granatier
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kajongg() {
- pkgdesc='The ancient Chinese board game for 4 players'
- depends=('kdegames-libkdegames' 'kdegames-libkmahjongg' 'kdebindings-python' 'twisted')
- install='kdegames.install'
- cd $srcdir/build/kajongg
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kajongg
- make DESTDIR=$pkgdir install
-
- # Use the python2 executable
- find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
-}
-
-package_kdegames-kapman() {
- pkgdesc='Eat pills escaping ghosts'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kapman/"
- install='kdegames.install'
- cd $srcdir/build/kapman
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kapman
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-katomic() {
- pkgdesc='Sokoban-like Logic Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/katomic/"
- install='kdegames.install'
- cd $srcdir/build/katomic
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/katomic
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kbattleship() {
- pkgdesc='Battleship Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs')
- url="http://kde.org/applications/games/kbattleship/"
- install='kdegames-kbattleship.install'
- cd $srcdir/build/kbattleship
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kbattleship
- make DESTDIR=$pkgdir install
- install -D -m644 $srcdir/${pkgbase}-${pkgver}/kbattleship/src/module.dsc \
- $pkgdir/usr/share/ggz/kbattleship.dsc
-}
-
-package_kdegames-kblackbox() {
- pkgdesc='Blackbox Logic Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kblackbox/"
- install='kdegames.install'
- cd $srcdir/build/kblackbox
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kblackbox
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kblocks() {
- pkgdesc='Falling Blocks Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kblocks/"
- install='kdegames.install'
- cd $srcdir/build/kblocks
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kblocks
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kbounce() {
- pkgdesc='Ball Bouncing Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kbounce/"
- install='kdegames.install'
- cd $srcdir/build/kbounce
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kbounce
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kbreakout() {
- pkgdesc='Breakout-like Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kbreakout/"
- install='kdegames.install'
- cd $srcdir/build/kbreakout
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kbreakout
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kdiamond() {
- pkgdesc='Three-in-a-row game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kdiamond/"
- install='kdegames.install'
- cd $srcdir/build/kdiamond
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kdiamond
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kfourinline() {
- pkgdesc='Four-in-a-row Board Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kfourinline/"
- install='kdegames-kfourinline.install'
- cd $srcdir/build/kfourinline
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kfourinline
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kgoldrunner() {
- pkgdesc='A game of action and puzzle-solving'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'openal')
- url="http://kde.org/applications/games/kgoldrunner/"
- install='kdegames.install'
- cd $srcdir/build/kgoldrunner
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kgoldrunner
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kigo() {
- pkgdesc='Go Board Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'gnugo')
- url="http://kde.org/applications/games/kigo/"
- install='kdegames-kigo.install'
- cd $srcdir/build/kigo
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kigo
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-killbots() {
- pkgdesc='Killbots'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/killbots/"
- install='kdegames.install'
- cd $srcdir/build/killbots
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/killbots
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kiriki() {
- pkgdesc='Yahtzee-like Dice Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kiriki/"
- install='kdegames.install'
- cd $srcdir/build/kiriki
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kiriki
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kjumpingcube() {
- pkgdesc='Territory Capture Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kjumpingcube/"
- install='kdegames.install'
- cd $srcdir/build/kjumpingcube
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kjumpingcube
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-klickety() {
- pkgdesc='Board Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- replaces=('kdegames-ksame')
- conflicts=('kdegames-ksame')
- url="http://kde.org/applications/games/ksame/"
- install='kdegames.install'
- cd $srcdir/build/klickety
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/klickety
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-klines() {
- pkgdesc='Tactical Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/klines/"
- install='kdegames.install'
- cd $srcdir/build/klines
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/klines
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kmahjongg() {
- pkgdesc='Mahjongg Solitaire'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg')
- url="http://kde.org/applications/games/kmahjongg/"
- install='kdegames.install'
- cd $srcdir/build/kmahjongg
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kmahjongg
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kmines() {
- pkgdesc='Minesweeper-like Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kmines/"
- install='kdegames.install'
- cd $srcdir/build/kmines
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kmines
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-knetwalk() {
- pkgdesc='Network Construction Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/knetwalk/"
- install='kdegames.install'
- cd $srcdir/build/knetwalk
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/knetwalk
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kolf() {
- pkgdesc='Miniature Golf'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kolf/"
- install='kdegames-kolf.install'
- cd $srcdir/build/kolf
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kolf
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kollision() {
- pkgdesc='A simple ball dodging game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kollision/"
- install='kdegames.install'
- cd $srcdir/build/kollision
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kollision
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-konquest() {
- pkgdesc='Galactic Strategy Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/konquest/"
- install='kdegames.install'
- cd $srcdir/build/konquest
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/konquest
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kpatience() {
- pkgdesc='Patience Card Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kpatience/"
- install='kdegames.install'
- replaces=('kdegames-kpat')
- cd $srcdir/build/kpat
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kpat
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kreversi() {
- pkgdesc='Reversi Board Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs')
- url="http://kde.org/applications/games/kreversi/"
- install='kdegames-kreversi.install'
- cd $srcdir/build/kreversi
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kreversi
- make DESTDIR=$pkgdir install
- install -D -m644 $srcdir/${pkgbase}-${pkgver}/kreversi/module.dsc \
- $pkgdir/usr/share/ggz/kreversi.dsc
-}
-
-package_kdegames-kshisen() {
- pkgdesc='Shisen-Sho Mahjongg-like Tile Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'kdegames-libkmahjongg')
- url="http://kde.org/applications/games/kshisen/"
- install='kdegames.install'
- cd $srcdir/build/kshisen
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kshisen
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-ksirk() {
- pkgdesc='World Domination Strategy Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/ksirk/"
- install='kdegames.install'
- cd $srcdir/build/ksirk
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ksirk
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kspaceduel() {
- pkgdesc='Space Arcade Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kspaceduel/"
- install='kdegames-kspaceduel.install'
- cd $srcdir/build/kspaceduel
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kspaceduel
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-ksquares() {
- pkgdesc='Connect the dots to create squares'
- depends=('kdebase-runtime' 'kdegames-libkdegames' 'ggz-client-libs')
- url="http://kde.org/applications/games/ksquares/"
- install='kdegames-ksquares.install'
- cd $srcdir/build/ksquares
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ksquares
- make DESTDIR=$pkgdir install
- install -D -m644 $srcdir/${pkgbase}-${pkgver}/ksquares/src/module.dsc \
- $pkgdir/usr/share/ggz/ksquares.dsc
-}
-
-package_kdegames-ksudoku() {
- pkgdesc='KSudoku, Sudoku game & more for KDE'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/ksudoku/"
- install='kdegames.install'
- cd $srcdir/build/ksudoku
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ksudoku
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-ktron() {
- pkgdesc='Tron-like Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/ktron/"
- install='kdegames.install'
- cd $srcdir/build/ktron
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ktron
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-ktuberling() {
- pkgdesc='Picture Game for Children'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/ktuberling/"
- install='kdegames-ktuberling.install'
- cd $srcdir/build/ktuberling
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ktuberling
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-kubrick() {
- pkgdesc='A 3-D game based on Rubik´s Cube'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/kubrick/"
- install='kdegames.install'
- cd $srcdir/build/kubrick
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kubrick
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-libkdegames() {
- pkgdesc='KDE game library'
- groups=()
- depends=('kdelibs')
- cd $srcdir/build/libkdegames
- make DESTDIR=$pkgdir install
- for i in $srcdir/${pkgbase}-${pkgver}/cmake/modules/*.cmake; do
- install -D -m644 $i $pkgdir/usr/share/apps/cmake/modules/$(basename $i)
- done
-}
-
-package_kdegames-libkmahjongg() {
- pkgdesc='Library used for loading and rendering of Mahjongg tilesets'
- groups=()
- depends=('kdelibs')
- cd $srcdir/build/libkmahjongg
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-lskat() {
- pkgdesc='Card Game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/lskat/"
- install='kdegames-lskat.install'
- cd $srcdir/build/lskat
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/lskat
- make DESTDIR=$pkgdir install
-}
-
-package_kdegames-palapeli() {
- pkgdesc='Jigsaw puzzle game'
- depends=('kdebase-runtime' 'kdegames-libkdegames')
- url="http://kde.org/applications/games/palapeli/"
- install='kdegames-palapeli.install'
- cd $srcdir/build/palapeli
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/palapeli
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdegames/kdegames-kbattleship.install b/staging/kdegames/kdegames-kbattleship.install
deleted file mode 100644
index ac4516ed0..000000000
--- a/staging/kdegames/kdegames-kbattleship.install
+++ /dev/null
@@ -1,24 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
- ggz-config -i -f -m usr/share/ggz/kbattleship.dsc >& /dev/null
-}
-
-pre_remove() {
- if [ -f usr/share/ggz/kbattleship.dsc ]; then
- ggz-config -r -m usr/share/ggz/kbattleship.dsc >& /dev/null
- fi
-}
-
-pre_upgrade() {
- pre_remove
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
diff --git a/staging/kdegames/kdegames-kfourinline.install b/staging/kdegames/kdegames-kfourinline.install
deleted file mode 100644
index 9b20edb30..000000000
--- a/staging/kdegames/kdegames-kfourinline.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/kdegames-kigo.install b/staging/kdegames/kdegames-kigo.install
deleted file mode 100644
index 9b20edb30..000000000
--- a/staging/kdegames/kdegames-kigo.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/kdegames-kolf.install b/staging/kdegames/kdegames-kolf.install
deleted file mode 100644
index 9b20edb30..000000000
--- a/staging/kdegames/kdegames-kolf.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/kdegames-kreversi.install b/staging/kdegames/kdegames-kreversi.install
deleted file mode 100644
index 4623e6e49..000000000
--- a/staging/kdegames/kdegames-kreversi.install
+++ /dev/null
@@ -1,22 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- ggz-config -i -f -m usr/share/ggz/kreversi.dsc >& /dev/null
-}
-
-pre_remove() {
- if [ -f usr/share/ggz/kreversi.dsc ]; then
- ggz-config -r -m usr/share/ggz/kreversi.dsc >& /dev/null
- fi
-}
-
-pre_upgrade() {
- pre_remove
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
diff --git a/staging/kdegames/kdegames-kspaceduel.install b/staging/kdegames/kdegames-kspaceduel.install
deleted file mode 100644
index 9b20edb30..000000000
--- a/staging/kdegames/kdegames-kspaceduel.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/kdegames-ksquares.install b/staging/kdegames/kdegames-ksquares.install
deleted file mode 100644
index 5a619897d..000000000
--- a/staging/kdegames/kdegames-ksquares.install
+++ /dev/null
@@ -1,22 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- ggz-config -i -f -m usr/share/ggz/ksquares.dsc >& /dev/null
-}
-
-pre_remove() {
- if [ -f usr/share/ggz/ksquares.dsc ]; then
- ggz-config -r -m usr/share/ggz/ksquares.dsc >& /dev/null
- fi
-}
-
-pre_upgrade() {
- pre_remove
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
diff --git a/staging/kdegames/kdegames-ktuberling.install b/staging/kdegames/kdegames-ktuberling.install
deleted file mode 100644
index 9b20edb30..000000000
--- a/staging/kdegames/kdegames-ktuberling.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/kdegames-lskat.install b/staging/kdegames/kdegames-lskat.install
deleted file mode 100644
index 9b20edb30..000000000
--- a/staging/kdegames/kdegames-lskat.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/kdegames-palapeli.install b/staging/kdegames/kdegames-palapeli.install
deleted file mode 100644
index c77e68041..000000000
--- a/staging/kdegames/kdegames-palapeli.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegames/kdegames.install b/staging/kdegames/kdegames.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdegames/kdegames.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdegraphics/PKGBUILD b/staging/kdegraphics/PKGBUILD
deleted file mode 100644
index 713f57cbd..000000000
--- a/staging/kdegraphics/PKGBUILD
+++ /dev/null
@@ -1,141 +0,0 @@
-# $Id: PKGBUILD 126531 2011-06-06 06:06:03Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdegraphics
-pkgname=('kdegraphics-gwenview'
- 'kdegraphics-kamera'
- 'kdegraphics-kcolorchooser'
- 'kdegraphics-kgamma'
- 'kdegraphics-kolourpaint'
- 'kdegraphics-kruler'
- 'kdegraphics-ksnapshot'
- 'kdegraphics-libs'
- 'kdegraphics-okular')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdegraphics')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'qimageblitz' 'sane' 'lcms'
- 'libxxf86vm' 'poppler-qt' 'libspectre' 'chmlib' 'djvulibre'
- 'ebook-tools' 'kdebase-runtime')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('a208cef52de6345996a7cc68b1c09944da7253aa')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdegraphics-gwenview() {
- pkgdesc='A simple image viewer'
- depends=('kdebase-runtime' 'kdegraphics-libs')
- url="http://kde.org/applications/graphics/gwenview/"
- replaces=('gwenview' 'gwenview-i18n')
- install='kdegraphics.install'
- cd $srcdir/build/gwenview
- make DESTDIR=$pkgdir install
- cd $srcdir/build/gwenview/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdegraphics-kamera() {
- pkgdesc='Configure Kamera'
- depends=('kdelibs' 'libgphoto2')
- cd $srcdir/build/kamera
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kamera/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdegraphics-kcolorchooser() {
- pkgdesc='Color Chooser'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/graphics/kcolorchooser/"
- install='kdegraphics.install'
- cd $srcdir/build/kcolorchooser
- make DESTDIR=$pkgdir install
-}
-
-package_kdegraphics-kgamma() {
- pkgdesc='A monitor calibration tool'
- # note on libxxf86vm:
- # not detected by namcap because libgl depends on it
- # but nvidia providing libgl does not depend on libxxf86vm
- depends=('kdebase-runtime' 'libxxf86vm')
- install='kdegraphics.install'
- cd $srcdir/build/kgamma
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kgamma/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdegraphics-kolourpaint() {
- pkgdesc='Paint Program'
- depends=('kdebase-runtime' 'qimageblitz' 'kdegraphics-libs')
- url="http://kde.org/applications/graphics/kolourpaint/"
- install='kdegraphics.install'
- cd $srcdir/build/kolourpaint
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kolourpaint/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdegraphics-kruler() {
- pkgdesc='Screen Ruler'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/graphics/kruler/"
- install='kdegraphics.install'
- cd $srcdir/build/kruler
- make DESTDIR=$pkgdir install
- cd $srcdir/build/kruler/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdegraphics-ksnapshot() {
- pkgdesc='Screen Capture Program'
- depends=('kdebase-runtime' 'kdegraphics-libs')
- url="http://kde.org/applications/graphics/ksnapshot/"
- install='kdegraphics.install'
- cd $srcdir/build/ksnapshot
- make DESTDIR=$pkgdir install
- cd $srcdir/build/ksnapshot/doc
- make DESTDIR=$pkgdir install
-}
-
-package_kdegraphics-libs() {
- pkgdesc='Support library for KDE Graphics Software'
- groups=()
- depends=('kdelibs' 'sane' 'lcms')
- conflicts=('kdegraphics-ksaneplugin' 'kdegraphics-strigi-analyzer'
- 'kdegraphics-svgpart' 'kdegraphics-thumbnailers')
- replaces=('libkexiv2' 'libkdcraw' 'kdegraphics-ksaneplugin'
- 'kdegraphics-strigi-analyzer' 'kdegraphics-svgpart' 'kdegraphics-thumbnailers')
- install='kdegraphics.install'
- for i in libs ksaneplugin strigi-analyzer svgpart thumbnailers; do
- cd $srcdir/build/${i}
- make DESTDIR=$pkgdir install
- done
- install -D -m644 $srcdir/${pkgbase}-${pkgver}/cmake/modules/FindKSane.cmake \
- $pkgdir/usr/share/apps/cmake/modules/FindKSane.cmake
-}
-
-package_kdegraphics-okular() {
- pkgdesc='Document Viewer'
- depends=('kdebase-runtime' 'qimageblitz' 'poppler-qt' 'chmlib' 'djvulibre'
- 'ebook-tools' 'libspectre')
- url="http://kde.org/applications/graphics/okular/"
- install='kdegraphics.install'
- cd $srcdir/build/okular
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/okular
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdegraphics/kdegraphics.install b/staging/kdegraphics/kdegraphics.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdegraphics/kdegraphics.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdelibs/PKGBUILD b/staging/kdelibs/PKGBUILD
deleted file mode 100644
index 7368231c5..000000000
--- a/staging/kdelibs/PKGBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# $Id: PKGBUILD 126527 2011-06-06 06:05:44Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgname=kdelibs
-pkgver=4.6.4
-pkgrel=1
-pkgdesc="KDE Core Libraries"
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-depends=('strigi' 'attica' 'libxss' 'xz' 'openssl' 'soprano' 'krb5'
- 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt' 'grantlee'
- 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' 'xdg-utils'
- 'phonon' 'hicolor-icon-theme' 'upower' 'udisks' 'libxcursor'
- 'docbook-xsl')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'intltool' 'avahi' 'libgl'
- 'hspell')
-replaces=('arts' 'kdelibs-experimental')
-install='kdelibs.install'
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
- 'kde-applications-menu.patch' 'archlinux-menu.patch'
- 'abs-syntax-highlight.patch')
-sha1sums=('088778bdda8b8c7a7b192abbf0d2a0660a20626d'
- '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
- '63a850ab4196b9d06934f2b4a13acd9f7739bc67'
- 'd994f262356af5b9e4e9619646e471bd98c91efb')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # avoid file conflict with gnome-menu
- patch -p1 -i $srcdir/kde-applications-menu.patch
- # add Archlinux menu entry
- patch -p1 -i $srcdir/archlinux-menu.patch
- # add syntax highlightning for PKGBUILD and .install files
- patch -p1 -i $srcdir/abs-syntax-highlight.patch
-
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgname}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DKDE_DISTRIBUTION_TEXT='Arch Linux' \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DSYSCONF_INSTALL_DIR=/etc \
- -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \
- -DKDE_DEFAULT_HOME='.kde4' \
- -DWITH_FAM=OFF \
- -DKAUTH_BACKEND=PolkitQt-1
- make
-}
-
-package() {
- cd $srcdir/build
- make DESTDIR=$pkgdir install
-
- # cert bundle seems to be hardcoded
- # link it to the one from ca-certificates
- rm -f $pkgdir/usr/share/apps/kssl/ca-bundle.crt
- ln -sf /etc/ssl/certs/ca-certificates.crt $pkgdir/usr/share/apps/kssl/ca-bundle.crt
-}
diff --git a/staging/kdelibs/abs-syntax-highlight.patch b/staging/kdelibs/abs-syntax-highlight.patch
deleted file mode 100644
index 477479a9b..000000000
--- a/staging/kdelibs/abs-syntax-highlight.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nura kdelibs-4.3.0.orig/kate/syntax/data/bash.xml kdelibs-4.3.0/kate/syntax/data/bash.xml
---- kdelibs-4.3.0.orig/kate/syntax/data/bash.xml 2009-04-15 12:26:37.000000000 +0200
-+++ kdelibs-4.3.0/kate/syntax/data/bash.xml 2009-07-30 13:24:01.000000000 +0200
-@@ -8,7 +8,7 @@
- <!ENTITY noword "(?![\w$+-])"> <!-- no word, $, + or - following -->
- <!ENTITY pathpart "([\w_@.&#37;*?+-]|\\ )"> <!-- valid character in a file name -->
- ]>
--<language name="Bash" version="2.12" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
-+<language name="Bash" version="2.12" kateversion="2.4" section="Scripts" extensions="*.sh;*.bash;*.ebuild;*.eclass;.bashrc;.bash_profile;.bash_login;.profile;PKGBUILD;*.install" mimetype="application/x-shellscript" casesensitive="1" author="Wilbert Berendsen (wilbert@kde.nl)" license="LGPL">
-
- <!-- (c) 2004 by Wilbert Berendsen (wilbert@kde.nl)
- Changes by Matthew Woehlke (mw_triad@users.sourceforge.net)
diff --git a/staging/kdelibs/archlinux-menu.patch b/staging/kdelibs/archlinux-menu.patch
deleted file mode 100644
index 546784fa2..000000000
--- a/staging/kdelibs/archlinux-menu.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- kdelibs-4.3.98/kded/applications.menu 2010-01-31 19:28:11.000000000 +0000
-+++ kdelibs-4.3.98/kded/applications.menu 2010-01-31 22:25:53.556043077 +0000
-@@ -16,11 +16,19 @@
- </DefaultLayout>
- <Layout>
- <Merge type="menus"/>
-+ <Menuname>Arch Linux</Menuname>
- <Menuname>Applications</Menuname>
- <Merge type="files"/>
- </Layout>
-
- <Menu>
-+ <Name>Arch Linux</Name>
-+ <Directory>Archlinux.directory</Directory>
-+ <Include>
-+ <Category>Archlinux</Category>
-+ </Include>
-+ </Menu>
-+ <Menu>
- <Name>Applications</Name>
- <Directory>kde-unknown.directory</Directory>
- <OnlyUnallocated/>
diff --git a/staging/kdelibs/kde-applications-menu.patch b/staging/kdelibs/kde-applications-menu.patch
deleted file mode 100644
index 4b513298a..000000000
--- a/staging/kdelibs/kde-applications-menu.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- kdelibs-4.3.98/kded/CMakeLists.txt 2009-10-02 14:55:17.000000000 +0000
-+++ kdelibs-4.3.98/kded/CMakeLists.txt 2010-01-31 22:16:13.946933892 +0000
-@@ -69,7 +69,7 @@
- if (WIN32)
- install( FILES applications.menu DESTINATION ${SHARE_INSTALL_PREFIX}/xdg/menus )
- else (WIN32)
--install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus )
-+install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde-applications.menu )
- endif (WIN32)
- install( FILES kdedmodule.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )
- install( FILES kded.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update )
---- kdelibs-4.3.98/kded/kbuildsycoca.cpp 2009-12-04 23:10:18.000000000 +0000
-+++ kdelibs-4.3.98/kded/kbuildsycoca.cpp 2010-01-31 22:16:13.962766572 +0000
-@@ -302,7 +302,7 @@
- if (!m_trackId.isEmpty())
- g_vfolder->setTrackId(m_trackId);
-
-- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
-+ VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true);
-
- KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, KServiceGroup::Ptr(), false);
- entry->setLayoutInfo(kdeMenu->layoutList);
diff --git a/staging/kdelibs/kdelibs.install b/staging/kdelibs/kdelibs.install
deleted file mode 100644
index ce5c32e1b..000000000
--- a/staging/kdelibs/kdelibs.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-} \ No newline at end of file
diff --git a/staging/kdemultimedia/PKGBUILD b/staging/kdemultimedia/PKGBUILD
deleted file mode 100644
index 5a501bab1..000000000
--- a/staging/kdemultimedia/PKGBUILD
+++ /dev/null
@@ -1,109 +0,0 @@
-# $Id: PKGBUILD 126540 2011-06-06 06:09:45Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdemultimedia
-pkgname=('kdemultimedia-dragonplayer'
- 'kdemultimedia-ffmpegthumbs'
- 'kdemultimedia-juk'
- 'kdemultimedia-kioslave'
- 'kdemultimedia-kmix'
- 'kdemultimedia-kscd'
- 'kdemultimedia-mplayerthumbs')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdemultimedia')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-runtime' 'tunepimp'
- 'ffmpeg' 'mplayer' 'pulseaudio' 'libmusicbrainz3')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
- 'mplayerthumbs.config')
-sha1sums=('22178350b72e142b9f5e65a4bb85027f82b14988'
- 'ba016fa2563c14ffcba852c62506b66bfc6ee683')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DWITH_Xine=OFF
- make
-}
-
-package_kdemultimedia-dragonplayer() {
- pkgdesc='Video Player'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/multimedia/dragonplayer/"
- install='kdemultimedia.install'
- cd $srcdir/build/dragonplayer
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/dragonplayer
- make DESTDIR=$pkgdir install
-}
-
-package_kdemultimedia-ffmpegthumbs() {
- pkgdesc='Video Files (ffmpegthumbs)'
- depends=('kdebase-runtime' 'ffmpeg')
- install='kdemultimedia.install'
- cd $srcdir/build/ffmpegthumbs
- make DESTDIR=$pkgdir install
-}
-
-package_kdemultimedia-juk() {
- pkgdesc='Music Player'
- depends=('kdebase-runtime' 'tunepimp')
- url="http://kde.org/applications/multimedia/juk"
- install='kdemultimedia.install'
- cd $srcdir/build/juk
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/juk
- make DESTDIR=$pkgdir install
-}
-
-package_kdemultimedia-kioslave() {
- pkgdesc='Audio CD Browser'
- depends=('kdelibs' 'libmusicbrainz3' 'cdparanoia')
- conflicts=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc')
- replaces=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc')
- for i in kioslave doc/kioslave libkcddb libkcompactdisc; do
- cd $srcdir/build/${i}
- make DESTDIR=$pkgdir install
- done
-}
-
-package_kdemultimedia-kmix() {
- pkgdesc='Sound Mixer'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/multimedia/kmix"
- install='kdemultimedia.install'
- cd $srcdir/build/kmix
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kmix
- make DESTDIR=$pkgdir install
-}
-
-package_kdemultimedia-kscd() {
- pkgdesc='CD Player'
- depends=('kdebase-runtime' 'libmusicbrainz3')
- url="http://kde.org/applications/multimedia/kscd"
- install='kdemultimedia.install'
- cd $srcdir/build/kscd
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcontrol/cddbretrieval
- make DESTDIR=$pkgdir install
-}
-
-package_kdemultimedia-mplayerthumbs() {
- pkgdesc='Video Files (MPlayerThumbs)'
- depends=('kdebase-runtime' 'mplayer')
- replaces=('mplayerthumbs')
- conflicts=('mplayerthumbs')
- cd $srcdir/build/mplayerthumbs
- make DESTDIR=$pkgdir install
- install -D -m644 $srcdir/mplayerthumbs.config $pkgdir/usr/share/config/mplayerthumbs
-}
diff --git a/staging/kdemultimedia/kdemultimedia.install b/staging/kdemultimedia/kdemultimedia.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdemultimedia/kdemultimedia.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdemultimedia/mplayerthumbs.config b/staging/kdemultimedia/mplayerthumbs.config
deleted file mode 100644
index 761a17953..000000000
--- a/staging/kdemultimedia/mplayerthumbs.config
+++ /dev/null
@@ -1,2 +0,0 @@
-[MPlayerThumbsCfg]
-backend=0
diff --git a/staging/kdenetwork/PKGBUILD b/staging/kdenetwork/PKGBUILD
deleted file mode 100644
index a4acbfbfb..000000000
--- a/staging/kdenetwork/PKGBUILD
+++ /dev/null
@@ -1,116 +0,0 @@
-# $Id: PKGBUILD 126547 2011-06-06 06:35:00Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdenetwork
-pkgname=('kdenetwork-filesharing'
- 'kdenetwork-kdnssd'
- 'kdenetwork-kget'
- 'kdenetwork-kopete'
- 'kdenetwork-kppp'
- 'kdenetwork-krdc'
- 'kdenetwork-krfb')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdenetwork')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr'
- 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' 'libmsn'
- 'ppp' 'v4l-utils' 'libidn' 'rdesktop' 'qimageblitz' 'libxdamage' 'libgadu'
- 'telepathy-qt4' 'libktorrent')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('63bb58a457aed790e109a9dbeab73abb8c7ea1b2')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \
- -DWITH_Xmms=OFF \
- -DWITH_WLM_MEDIASTREAMER=OFF \
- -DWITH_LibMeanwhile=OFF \
- -DWITH_msiLBC=OFF
- make
-}
-
-package_kdenetwork-filesharing() {
- pkgdesc='Konqueror properties dialog plugin to share a directory with the local network'
- depends=('kdelibs' 'smbclient')
- install='kdenetwork.install'
- cd $srcdir/build/filesharing
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-kdnssd() {
- pkgdesc='Monitors the network for DNS-SD services'
- depends=('kdelibs')
- cd $srcdir/build/kdnssd
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-kget() {
- pkgdesc='Download Manager'
- depends=('kdebase-workspace' 'kdebase-lib' 'libktorrent')
- optdepends=('python2: YouTube plugin')
- url="http://kde.org/applications/internet/kget/"
- install='kdenetwork.install'
- cd $srcdir/build/kget
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kget
- make DESTDIR=$pkgdir install
-
- # Use the python2 executable
- find ${pkgdir} -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
-}
-
-package_kdenetwork-kopete() {
- pkgdesc='Instant Messenger'
- depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn'
- 'libidn' 'qimageblitz' 'v4l-utils' 'libgadu')
- url="http://kde.org/applications/internet/kopete/"
- install='kdenetwork.install'
- cd $srcdir/build/kopete
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kopete
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-kppp() {
- pkgdesc='Internet Dial-Up Tool'
- depends=('kdebase-runtime' 'ppp')
- url="http://kde.org/applications/internet/kppp/"
- install='kdenetwork.install'
- cd $srcdir/build/kppp
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kppp
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-krdc() {
- pkgdesc='Remote Desktop Client'
- depends=('kdebase-runtime' 'libvncserver' 'rdesktop' 'telepathy-qt4')
- optdepends=('kdebase-keditbookmarks: to edit bookmarks')
- url="http://kde.org/applications/internet/krdc/"
- cd $srcdir/build/krdc
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/krdc
- make DESTDIR=$pkgdir install
-}
-
-package_kdenetwork-krfb() {
- pkgdesc='Desktop Sharing'
- # note on libxdamage:
- # not detected by namcap because libgl depends on it
- # but nvidia providing libgl does not depend on libxdamage
- depends=('kdebase-runtime' 'libvncserver' 'libxdamage')
- cd $srcdir/build/krfb
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/krfb
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdenetwork/kdenetwork.install b/staging/kdenetwork/kdenetwork.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdenetwork/kdenetwork.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdepim-runtime/PKGBUILD b/staging/kdepim-runtime/PKGBUILD
deleted file mode 100644
index 0b0e8fb96..000000000
--- a/staging/kdepim-runtime/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 126741 2011-06-07 06:22:29Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgname=kdepim-runtime
-pkgver=4.6.0
-pkgrel=1
-pkgdesc='KDE PIM Runtime Environment'
-arch=('i686' 'x86_64')
-url='http://pim.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-depends=('kdepimlibs' 'kdebase-runtime')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost')
-install=${pkgname}.install
-source=("http://download.kde.org/stable/kdepim-${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('2a2e29ba805ae2c94fa4da6371693e59575d3ed8')
-
-build() {
- cd "${srcdir}"
- mkdir build
- cd build
- cmake ../${pkgname}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd "${srcdir}"/build
- make DESTDIR="${pkgdir}" install
-}
diff --git a/staging/kdepim-runtime/kdepim-runtime.install b/staging/kdepim-runtime/kdepim-runtime.install
deleted file mode 100644
index ce5c32e1b..000000000
--- a/staging/kdepim-runtime/kdepim-runtime.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-} \ No newline at end of file
diff --git a/staging/kdepim/PKGBUILD b/staging/kdepim/PKGBUILD
deleted file mode 100644
index 1f014e745..000000000
--- a/staging/kdepim/PKGBUILD
+++ /dev/null
@@ -1,253 +0,0 @@
-# $Id: PKGBUILD 126753 2011-06-07 06:46:18Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdepim
-pkgname=('kdepim-akonadiconsole'
- 'kdepim-akregator'
- 'kdepim-blogilo'
- 'kdepim-console'
- 'kdepim-kaddressbook'
- 'kdepim-kalarm'
- 'kdepim-kjots'
- 'kdepim-kleopatra'
- 'kdepim-kmail'
- 'kdepim-knode'
- 'kdepim-knotes'
- 'kdepim-kontact'
- 'kdepim-korganizer'
- 'kdepim-kresources'
- 'kdepim-ktimetracker'
- 'kdepim-libkdepim'
- 'kdepim-wizards')
-pkgver=4.6.0
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://pim.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdepim')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss'
- 'pilot-link' 'kde-agent')
-source=("http://download.kde.org/stable/${pkgbase}-${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('283ea87b68a4750194d785361f6534af59edacf9')
-
-build() {
- cd "${srcdir}"
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DKDEPIM_BUILD_MOBILE=OFF
- make
-}
-
-package_kdepim-akonadiconsole() {
- pkgdesc='Akonadi Management and Debugging Console'
- depends=('kdepim-libkdepim')
- url='http://pim.kde.org'
- install='kdepim.install'
- cd "${srcdir}"/build/akonadiconsole
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-akregator() {
- pkgdesc='A Feed Reader for KDE'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/internet/akregator/"
- install='kdepim.install'
- cd "${srcdir}"/build/akregator
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/akregator
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/kontact/plugins/akregator
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-blogilo() {
- pkgdesc='A KDE Blogging Client'
- depends=('kdepim-runtime')
- url="http://kde.org/applications/internet/blogilo/"
- replaces=('blogilo')
- conflicts=('blogilo')
- install='kdepim.install'
- cd "${srcdir}"/build/blogilo
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/blogilo
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-console() {
- pkgdesc='Command line tool for accessing calendar files'
- depends=('kdepim-runtime')
- url='http://pim.kde.org'
- install='kdepim.install'
- cd "${srcdir}"/build/console
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-kaddressbook() {
- pkgdesc='Contact Manager'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/office/kaddressbook/"
- install='kdepim.install'
- cd "${srcdir}"/build/kaddressbook
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/kontact/plugins/kaddressbook
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/plugins/kaddressbook
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-kalarm() {
- pkgdesc='Personal Alarm Scheduler'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/utilities/kalarm/"
- install='kdepim.install'
- cd "${srcdir}"/build/kalarm
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/kalarm
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-kjots() {
- pkgdesc='Note Taker'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/utilities/kjots/"
- install='kdepim.install'
- cd "${srcdir}"/build/kjots
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/kjots
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/kontact/plugins/kjots
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-kleopatra() {
- pkgdesc='Certificate Manager and Unified Crypto GUI'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/utilities/kleopatra/"
- install='kdepim-kleopatra.install'
- cd "${srcdir}"/build/kleopatra
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/kleopatra
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-kmail() {
- pkgdesc='Mail Client'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/internet/kmail/"
- install='kdepim-kmail.install'
- conflicts=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve'
- 'kdepim-mimelib' 'kdepim-plugins')
- replaces=('kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve'
- 'kdepim-mimelib' 'kdepim-plugins')
- optdepends=('cyrus-sasl-plugins: CRAM-MD5 authentication')
- for i in kmail doc/kmail kmailcvt ksendemail libksieve mailcommon \
- nepomuk_email_feeder ontologies templateparser kontact/plugins/kmail; do
- cd "${srcdir}"/build/${i}
- make DESTDIR="${pkgdir}" install
- done
-}
-
-package_kdepim-knode() {
- pkgdesc='News Reader'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/internet/knode/"
- install='kdepim.install'
- cd "${srcdir}"/build/knode
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/knode
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/kontact/plugins/knode
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-knotes() {
- pkgdesc='Popup Notes'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/utilities/knotes/"
- install='kdepim.install'
- cd "${srcdir}"/build/knotes
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/knotes
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/kontact/plugins/knotes
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-kontact() {
- pkgdesc='Personal Information Manager'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/office/kontact/"
- install='kdepim.install'
- conflcits=('kdepim-kontactinterfaces')
- replaces=('kdepim-kontactinterfaces')
- for i in kontact/src doc/kontact \
- kontact/plugins/summary kontact/plugins/specialdates; do
- cd "${srcdir}"/build/${i}
- make DESTDIR="${pkgdir}" install
- done
-}
-
-package_kdepim-korganizer() {
- pkgdesc='Calendar and Scheduling Program'
- depends=('kdepim-libkdepim')
- url="http://kde.org/applications/office/korganizer"
- install='kdepim-korganizer.install'
- cd "${srcdir}"/build/korganizer
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/korganizer
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/kontact/plugins/korganizer
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-kresources() {
- pkgdesc='KDE PIM resources'
- depends=('kdepim-libkdepim')
- url='http://pim.kde.org'
- cd "${srcdir}"/build/kresources
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-ktimetracker() {
- pkgdesc='Personal Time Tracker'
- depends=('kdepim-kresources')
- url="http://kde.org/applications/utilities/ktimetracker/"
- install='kdepim.install'
- cd "${srcdir}"/build/ktimetracker
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/doc/ktimetracker
- make DESTDIR="${pkgdir}" install
- cd "${srcdir}"/build/kontact/plugins/ktimetracker
- make DESTDIR="${pkgdir}" install
-}
-
-package_kdepim-libkdepim() {
- pkgdesc='Library for KDE PIM'
- groups=()
- depends=('kde-agent' 'kdepim-runtime')
- url='http://pim.kde.org'
- conflicts=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp'
- 'kdepim-strigi-analyzer' 'kdepim-akonadi')
- replaces=('kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp'
- 'kdepim-strigi-analyzer' 'kdepim-akonadi')
- for i in akonadi_next calendarsupport calendarviews incidenceeditor-ng \
- kdgantt2 libkdepim libkdepimdbusinterfaces libkleo libkpgp \
- messagecomposer messagecore messagelist messageviewer icons \
- strigi-analyzer plugins/messageviewer plugins/ktexteditor; do
- cd "${srcdir}"/build/${i}
- make DESTDIR="${pkgdir}" install
- done
-}
-
-package_kdepim-wizards() {
- pkgdesc='KDE Groupware Wizard'
- depends=('kdepim-kresources')
- url='http://pim.kde.org'
- cd "${srcdir}"/build/wizards
- make DESTDIR="${pkgdir}" install
-}
diff --git a/staging/kdepim/kdepim-kleopatra.install b/staging/kdepim/kdepim-kleopatra.install
deleted file mode 100644
index 81ce5c4b0..000000000
--- a/staging/kdepim/kdepim-kleopatra.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdepim/kdepim-kmail.install b/staging/kdepim/kdepim-kmail.install
deleted file mode 100644
index 81ce5c4b0..000000000
--- a/staging/kdepim/kdepim-kmail.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdepim/kdepim-korganizer.install b/staging/kdepim/kdepim-korganizer.install
deleted file mode 100644
index 81ce5c4b0..000000000
--- a/staging/kdepim/kdepim-korganizer.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdepim/kdepim.install b/staging/kdepim/kdepim.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdepim/kdepim.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdepimlibs/PKGBUILD b/staging/kdepimlibs/PKGBUILD
deleted file mode 100644
index 84a193b31..000000000
--- a/staging/kdepimlibs/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 126528 2011-06-06 06:05:50Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgname=kdepimlibs
-pkgver=4.6.4
-pkgrel=1
-pkgdesc="KDE PIM Libraries"
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL')
-depends=('kdelibs' 'gpgme' 'akonadi' 'libical' )
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'cyrus-sasl' 'openldap')
-install='kdepimlibs.install'
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('b7e48da0a3fa9c4d435ed2224909a5441450334f')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgname}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd $srcdir/build
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdepimlibs/kdepimlibs.install b/staging/kdepimlibs/kdepimlibs.install
deleted file mode 100644
index 99262607c..000000000
--- a/staging/kdepimlibs/kdepimlibs.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-} \ No newline at end of file
diff --git a/staging/kdeplasma-addons/PKGBUILD b/staging/kdeplasma-addons/PKGBUILD
deleted file mode 100644
index d8482c9bf..000000000
--- a/staging/kdeplasma-addons/PKGBUILD
+++ /dev/null
@@ -1,603 +0,0 @@
-# $Id: PKGBUILD 126542 2011-06-06 06:09:53Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdeplasma-addons
-pkgname=('kdeplasma-addons-applets-bball'
- 'kdeplasma-addons-applets-binary-clock'
- 'kdeplasma-addons-applets-blackboard'
- 'kdeplasma-addons-applets-bookmarks'
- 'kdeplasma-addons-applets-bubblemon'
- 'kdeplasma-addons-applets-calculator'
- 'kdeplasma-addons-applets-charselect'
- 'kdeplasma-addons-applets-comic'
- 'kdeplasma-addons-applets-community'
- 'kdeplasma-addons-applets-dict'
- 'kdeplasma-addons-applets-eyes'
- 'kdeplasma-addons-applets-fifteenpuzzle'
- 'kdeplasma-addons-applets-filewatcher'
- 'kdeplasma-addons-applets-frame'
- 'kdeplasma-addons-applets-fuzzy-clock'
- 'kdeplasma-addons-applets-incomingmsg'
- 'kdeplasma-addons-applets-kdeobservatory'
- 'kdeplasma-addons-applets-kimpanel'
- 'kdeplasma-addons-applets-knowledgebase'
- 'kdeplasma-addons-applets-kolourpicker'
- 'kdeplasma-addons-applets-konqprofiles'
- 'kdeplasma-addons-applets-konsoleprofiles'
- 'kdeplasma-addons-applets-lancelot'
- 'kdeplasma-addons-applets-leavenote'
- 'kdeplasma-addons-applets-life'
- 'kdeplasma-addons-applets-luna'
- 'kdeplasma-addons-applets-magnifique'
- 'kdeplasma-addons-applets-mediaplayer'
- 'kdeplasma-addons-applets-microblog'
- 'kdeplasma-addons-applets-news'
- 'kdeplasma-addons-applets-notes'
- 'kdeplasma-addons-applets-nowplaying'
- 'kdeplasma-addons-applets-paste'
- 'kdeplasma-addons-applets-pastebin'
- 'kdeplasma-addons-applets-plasmaboard'
- 'kdeplasma-addons-applets-previewer'
- 'kdeplasma-addons-applets-qalculate'
- 'kdeplasma-addons-applets-rememberthemilk'
- 'kdeplasma-addons-applets-rssnow'
- 'kdeplasma-addons-applets-showdashboard'
- 'kdeplasma-addons-applets-showdesktop'
- 'kdeplasma-addons-applets-social-news'
- 'kdeplasma-addons-applets-spellcheck'
- 'kdeplasma-addons-applets-systemloadviewer'
- 'kdeplasma-addons-applets-timer'
- 'kdeplasma-addons-applets-unitconverter'
- 'kdeplasma-addons-applets-weather'
- 'kdeplasma-addons-applets-weatherstation'
- 'kdeplasma-addons-applets-webslice'
- 'kdeplasma-addons-containments'
- 'kdeplasma-addons-libs'
- 'kdeplasma-addons-runners-audioplayercontrol'
- 'kdeplasma-addons-runners-browserhistory'
- 'kdeplasma-addons-runners-characters'
- 'kdeplasma-addons-runners-contacts'
- 'kdeplasma-addons-runners-converter'
- 'kdeplasma-addons-runners-datetime'
- 'kdeplasma-addons-runners-events'
- 'kdeplasma-addons-runners-katesessions'
- 'kdeplasma-addons-runners-konquerorsessions'
- 'kdeplasma-addons-runners-konsolesessions'
- 'kdeplasma-addons-runners-kopete'
- 'kdeplasma-addons-runners-mediawiki'
- 'kdeplasma-addons-runners-spellchecker'
- 'kdeplasma-addons-wallpapers-mandelbrot'
- 'kdeplasma-addons-wallpapers-marble'
- 'kdeplasma-addons-wallpapers-pattern'
- 'kdeplasma-addons-wallpapers-virus'
- 'kdeplasma-addons-wallpapers-weather')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL')
-groups=('kde' 'kdeplasma-addons')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-workspace' 'kdegraphics-libs'
- 'kdeedu-marble' 'eigen' 'scim' 'qwt' 'boost')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('8d107bf8cc6b6b9d66e9178b5f18bdc1751a957f')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdeplasma-addons-applets-bball() {
- pkgdesc='A bouncy ball for plasma'
- depends=('kdebase-workspace')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/bball
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-binary-clock() {
- pkgdesc='Time displayed in binary format'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/binary-clock
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-blackboard() {
- pkgdesc='Black Board'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/blackboard
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-bookmarks() {
- pkgdesc='Quick Access to the Bookmarks'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/bookmarks
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-bubblemon() {
- pkgdesc='A pretty bubble that monitors your system.'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/bubblemon
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-calculator() {
- pkgdesc='Calculate simple sums'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/calculator
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-charselect() {
- pkgdesc='View, select, and copy characters from a font collection'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/charselect
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-comic() {
- pkgdesc='View comic strips from the Internet'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/applets/comic
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-community() {
- pkgdesc='Communicate using the Social Desktop'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/community
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-dict() {
- pkgdesc='Look up the meaning of words and their translation into different languages'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/dict
- make DESTDIR=$pkgdir install
- # FIXME
- # /usr/share/icons/oxygen/scalable/apps/accessories-dictionary.svgz
- rm -rf $pkgdir/usr/share/icons
-}
-
-package_kdeplasma-addons-applets-eyes() {
- pkgdesc='XEyes clone'
- depends=('kdebase-workspace')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/eyes
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-fifteenpuzzle() {
- pkgdesc='Put the pieces in order'
- depends=('kdebase-workspace')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/fifteenPuzzle
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-filewatcher() {
- pkgdesc='Watch for changes in specified files'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/fileWatcher
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-frame() {
- pkgdesc='Display your favorite pictures'
- depends=('kdebase-workspace' 'kdegraphics-libs')
- cd $srcdir/build/applets/frame
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-fuzzy-clock() {
- pkgdesc='Time displayed in a less precise format'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/fuzzy-clock
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-incomingmsg() {
- pkgdesc='Notification of new messages'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/incomingmsg
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-kdeobservatory() {
- pkgdesc='Visualize the KDE ecosystem'
- depends=('kdebase-workspace' 'qwt')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/kdeobservatory
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-kimpanel() {
- pkgdesc='A generic input method panel for Oriental languages'
- depends=('kdebase-workspace')
- optdepends=('scim: SCIM backend'
- 'fcitx: FCITX backend')
- cd $srcdir/build/applets/kimpanel
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-knowledgebase() {
- pkgdesc='Opendesktop Knowledgebase'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/knowledgebase
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-kolourpicker() {
- pkgdesc='Pick a color from the desktop'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/kolourpicker
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-konqprofiles() {
- pkgdesc='List and launch Konqueror profiles'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/konqprofiles
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-konsoleprofiles() {
- pkgdesc='List and launch Konsole profiles'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/konsoleprofiles
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-lancelot() {
- pkgdesc='Launcher to start applications'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- replaces=('lancelot')
- provides=('lancelot')
- conflicts=('lancelot')
- install='kdeplasma-addons-applets-lancelot.install'
- cd $srcdir/build/applets/lancelot
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-leavenote() {
- pkgdesc='Leave notes for users while they are away'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/leavenote
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-life() {
- pkgdesc='Life'
- depends=('kdebase-workspace')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/life
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-luna() {
- pkgdesc='Display moon phases for your location'
- depends=('kdebase-workspace')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/luna
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-magnifique() {
- pkgdesc='A magnification glass for the Plasma desktop'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/magnifique
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-mediaplayer() {
- pkgdesc='Widget that can play video and sound'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/mediaplayer
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-microblog() {
- pkgdesc='Update and view your microblog status.'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/applets/microblog
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-news() {
- pkgdesc='Show news from various sources'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/news
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-notes() {
- pkgdesc='Desktop sticky notes'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/notes
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-nowplaying() {
- pkgdesc='Displays currently playing audio'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/nowplaying
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-paste() {
- pkgdesc='Paste text snippets'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/paste
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-pastebin() {
- pkgdesc='Paste text/images to a remote server'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/pastebin
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-plasmaboard() {
- pkgdesc='A virtual, on-screen keyboard'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/plasmaboard
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-previewer() {
- pkgdesc='Preview This File'
- depends=('kdebase-workspace')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/previewer
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-qalculate() {
- pkgdesc='A powerful mathematical equation solver'
- depends=('kdebase-workspace')
- install='kdeplasma-addons-applets.install'
- cd $srcdir/build/applets/qalculate
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-rememberthemilk() {
- pkgdesc='Remember The Milk Todo list applet'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/applets/rememberthemilk
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-rssnow() {
- pkgdesc='Show news from various sources'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/rssnow
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-showdashboard() {
- pkgdesc='Show the Plasma widget dashboard above other windows'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/showdashboard
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-showdesktop() {
- pkgdesc='Show the Plasma desktop'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/showdesktop
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-social-news() {
- pkgdesc='Stay informed with the Social Desktop'
- replaces=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities')
- conflicts=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities')
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/social-news
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-spellcheck() {
- pkgdesc='Fast spell checking'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/spellcheck
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-systemloadviewer() {
- pkgdesc='Tiny CPU/RAM/Swap monitor'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/systemloadviewer
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-timer() {
- pkgdesc='Countdown over a specified time period'
- depends=('kdebase-workspace')
- cd $srcdir/build/applets/timer
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-unitconverter() {
- pkgdesc='Plasmoid for converting units'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/applets/unitconverter
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-weather() {
- pkgdesc='Displays Weather information'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/applets/weather
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-weatherstation() {
- pkgdesc='Weather reports with an LCD display style'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/applets/weatherstation
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-applets-webslice() {
- pkgdesc='Show a part of a webpage'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/applets/webslice
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-containments() {
- pkgdesc='Activities types for Plasma shells'
- depends=('kdebase-workspace')
- cd $srcdir/build/containments
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-libs() {
- pkgdesc='Plasma Addon Library'
- depends=('kdebase-workspace')
- groups=()
- replaces=('kdeplasma-addons-dataengines')
- provides=('kdeplasma-addons-dataengines')
- conflicts=('kdeplasma-addons-dataengines')
- cd $srcdir/build/libs
- make DESTDIR=$pkgdir install
- cd $srcdir/build/dataengines
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-audioplayercontrol() {
- pkgdesc='Allows to control MPRIS audio players (it is able to search through Amarok´s collection, too)'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/audioplayercontrol
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-browserhistory() {
- pkgdesc='Searches in Konqueror´s history'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/browserhistory
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-characters() {
- pkgdesc='special Characters'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/characters
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-contacts() {
- pkgdesc='Finds entries in your address book'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/contacts
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-converter() {
- pkgdesc='Convert values to different units'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/runners/converter
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-datetime() {
- pkgdesc='The current date and time, locally or in any timezone'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/datetime
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-events() {
- pkgdesc='Calendar Events runner'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/events
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-katesessions() {
- pkgdesc='Matches Kate Sessions'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/katesessions
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-konquerorsessions() {
- pkgdesc='Matches Konqueror Sessions'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/konquerorsessions
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-konsolesessions() {
- pkgdesc='Matches Konsole Sessions'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/konsolesessions
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-kopete() {
- pkgdesc='Kopete Contact runner'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/kopete
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-mediawiki() {
- pkgdesc='Search on Wikitravel'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/mediawiki
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-runners-spellchecker() {
- pkgdesc='Check the spelling of a word'
- depends=('kdebase-workspace')
- cd $srcdir/build/runners/spellchecker
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-wallpapers-mandelbrot() {
- pkgdesc='Mandelbrot'
- depends=('kdebase-workspace')
- cd $srcdir/build/wallpapers/mandelbrot
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-wallpapers-marble() {
- pkgdesc='Globe'
- depends=('kdebase-workspace' 'kdeedu-marble')
- cd $srcdir/build/wallpapers/marble
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-wallpapers-pattern() {
- pkgdesc='Pattern'
- depends=('kdebase-workspace')
- cd $srcdir/build/wallpapers/pattern
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-wallpapers-virus() {
- pkgdesc='Virus'
- depends=('kdebase-workspace')
- cd $srcdir/build/wallpapers/virus
- make DESTDIR=$pkgdir install
-}
-
-package_kdeplasma-addons-wallpapers-weather() {
- pkgdesc='Weather'
- depends=('kdebase-workspace' 'kdeplasma-addons-libs')
- cd $srcdir/build/wallpapers/weather
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install b/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install
deleted file mode 100644
index ce5c32e1b..000000000
--- a/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-} \ No newline at end of file
diff --git a/staging/kdeplasma-addons/kdeplasma-addons-applets.install b/staging/kdeplasma-addons/kdeplasma-addons-applets.install
deleted file mode 100644
index c4ef46ba8..000000000
--- a/staging/kdeplasma-addons/kdeplasma-addons-applets.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-} \ No newline at end of file
diff --git a/staging/kdesdk/PKGBUILD b/staging/kdesdk/PKGBUILD
deleted file mode 100644
index 34fbf0237..000000000
--- a/staging/kdesdk/PKGBUILD
+++ /dev/null
@@ -1,243 +0,0 @@
-# $Id: PKGBUILD 126543 2011-06-06 06:10:01Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdesdk
-pkgname=('kdesdk-cervisia'
- 'kdesdk-dolphin-plugins'
- 'kdesdk-kapptemplate'
- 'kdesdk-kate'
- 'kdesdk-kcachegrind'
- 'kdesdk-kdeaccounts-plugin'
- 'kdesdk-kdepalettes'
- 'kdesdk-kioslave'
- 'kdesdk-kmtrace'
- 'kdesdk-kompare'
- 'kdesdk-kpartloader'
- 'kdesdk-kprofilemethod'
- 'kdesdk-kstartperf'
- 'kdesdk-kuiviewer'
- 'kdesdk-lokalize'
- 'kdesdk-okteta'
- 'kdesdk-poxml'
- 'kdesdk-scripts'
- 'kdesdk-strigi-analyzer'
- 'kdesdk-umbrello')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdesdk')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdepim-runtime' 'subversion'
- 'antlr2' 'kdebase-konqueror')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
- 'fix-python2-path.patch')
-sha1sums=('6ed75cff6808aabaf3d9c3dc8601960717707c6b'
- 'd05ca0231869c484fd3861955d960a60aff7dcfb')
-
-build() {
- cd ${srcdir}/${pkgbase}-${pkgver}
-
- # Fix python2 path
- patch -Np1 -i ${srcdir}/fix-python2-path.patch
- sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
- -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
- $(find . -name '*.py')
-
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdesdk-cervisia() {
- pkgdesc='CVS Frontend'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/development/cervisia/"
- install='kdesdk.install'
- cd $srcdir/build/cervisia
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/cervisia
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-dolphin-plugins() {
- pkgdesc='Extra Dolphin plugins'
- depends=('kdebase-dolphin' 'subversion' 'git' 'kdesdk-kompare')
- install='kdesdk.install'
- cd $srcdir/build/dolphin-plugins/git
- make DESTDIR=$pkgdir install
- cd $srcdir/build/dolphin-plugins/svn
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kapptemplate() {
- pkgdesc='KDE Template Generator'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/development/kapptemplate/"
- install='kdesdk.install'
- cd $srcdir/build/kapptemplate
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kapptemplate
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kate() {
- pkgdesc='Advanced Text Editor'
- depends=('kdebase-runtime' 'kdebase-lib')
- url="http://kde.org/applications/utilities/kate/"
- install='kdesdk-kate.install'
- cd $srcdir/build/kate
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kate
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kcachegrind() {
- pkgdesc='Visualization of Performance Profiling Data'
- depends=('kdebase-runtime' 'python2')
- optdepends=('php: PHP support')
- url="http://kde.org/applications/development/kcachegrind/"
- install='kdesdk.install'
- cd $srcdir/build/kcachegrind
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcachegrind
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kdeaccounts-plugin() {
- pkgdesc='KDE Repository Accounts'
- depends=('kdepim-runtime')
- cd $srcdir/build/kdeaccounts-plugin
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kdepalettes() {
- pkgdesc='Palettes for the Gimp that match the KDE standard color palette'
- optdepends=('gimp')
- install -D -m644 $srcdir/${pkgbase}-${pkgver}/kdepalettes/KDE_Gimp \
- $pkgdir/usr/share/gimp/2.0/palettes/KDE.gpl
-}
-
-package_kdesdk-kioslave() {
- pkgdesc='KDED Subversion Module'
- depends=('kdebase-runtime' 'subversion')
- cd $srcdir/build/kioslave
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kmtrace() {
- pkgdesc='A KDE tool to assist with malloc debugging using glibc´s "mtrace" functionality'
- depends=('kdebase-runtime')
- cd $srcdir/build/kmtrace
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kmtrace
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kompare() {
- pkgdesc='Diff/Patch Frontend'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/development/kompare/"
- install='kdesdk.install'
- cd $srcdir/build/kompare
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kompare
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kpartloader() {
- pkgdesc='A test application for KParts'
- depends=('kdebase-runtime')
- install='kdesdk.install'
- cd $srcdir/build/kpartloader
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kprofilemethod() {
- pkgdesc='Macros helping to profile'
- cd $srcdir/build/kprofilemethod
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kstartperf() {
- pkgdesc='Startup time measurement tool for KDE applications'
- depends=('kdebase-runtime')
- cd $srcdir/build/kstartperf
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-kuiviewer() {
- pkgdesc='Qt Designer UI File Viewer'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/development/kuiviewer/"
- install='kdesdk.install'
- cd $srcdir/build/kuiviewer
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-lokalize() {
- pkgdesc='Computer-Aided Translation System'
- depends=('kdebase-runtime' 'kdebindings-python')
- url="http://kde.org/applications/development/lokalize/"
- optdepends=('translate-toolkit: enable extra python script')
- install='kdesdk.install'
- cd $srcdir/build/lokalize
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/lokalize
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-okteta() {
- pkgdesc='Hex Editor'
- depends=('kdebase-runtime')
- replaces=('kdeutils-okteta')
- conflicts=('kdeutils-okteta')
- url="http://kde.org/applications/utilities/okteta"
- install='kdesdk-okteta.install'
- cd $srcdir/build/okteta
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/okteta
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-poxml() {
- pkgdesc='Translates DocBook XML files using gettext po files'
- depends=('qt' 'antlr2')
- cd $srcdir/build/poxml
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/poxml
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-scripts() {
- pkgdesc='KDE SDK scripts'
- depends=('python2')
- cd $srcdir/build/scripts
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/scripts
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-strigi-analyzer() {
- pkgdesc='Strigi-Analyzer for KDE SDK'
- depends=('kdelibs')
- cd $srcdir/build/strigi-analyzer
- make DESTDIR=$pkgdir install
-}
-
-package_kdesdk-umbrello() {
- pkgdesc='UML Modeller'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/development/umbrello/"
- install='kdesdk.install'
- cd $srcdir/build/umbrello
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/umbrello
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdesdk/fix-python2-path.patch b/staging/kdesdk/fix-python2-path.patch
deleted file mode 100644
index c2c0745d1..000000000
--- a/staging/kdesdk/fix-python2-path.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- kdesdk-4.5.80/kcachegrind/converters/hotshot2calltree~ 2010-11-24 11:53:38.586666671 +0100
-+++ kdesdk-4.5.80/kcachegrind/converters/hotshot2calltree 2010-11-24 11:53:38.623333337 +0100
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python2
- # _*_ coding: latin1 _*_
-
- #
---- kdesdk-4.5.80/lokalize/scripts/msgmerge.py~ 2010-11-24 11:22:42.120000002 +0100
-+++ kdesdk-4.5.80/lokalize/scripts/msgmerge.py 2010-11-24 11:22:42.146666670 +0100
-@@ -114,7 +114,7 @@
- print >>sys.stderr, "Execution failed:", e
-
- cmd='%s/odf/xliffmerge.py -i %s -t %s -o %s' % (ourPath,xliffpathname,xlifftemplatepathname,xliffpathname)
-- if os.name!='nt': cmd='python '+cmd
-+ if os.name!='nt': cmd='python2 '+cmd
- else: cmd=cmd.replace('/','\\')
- os.system(cmd)
-
---- kdesdk-4.5.80/lokalize/scripts/xliff2odf.py~ 2010-11-24 11:24:10.853333336 +0100
-+++ kdesdk-4.5.80/lokalize/scripts/xliff2odf.py 2010-11-24 11:24:10.883333336 +0100
-@@ -42,7 +42,7 @@
- xliff2odf.convertxliff(xliffinput, translatedodfpathname, odf)
-
- ourpath=([p for p in sys.path if os.path.exists(p+'/xliff2odf.py')]+[''])[0]
-- os.system('python "'+ourpath+'/xliff2odf-standalone.py" "%s" "%s" &'%(translatedodfpathname, Editor.currentEntryId()))
-+ os.system('python2 "'+ourpath+'/xliff2odf-standalone.py" "%s" "%s" &'%(translatedodfpathname, Editor.currentEntryId()))
-
- try: convert()
- except: print 'error occured'
---- kdesdk-4.5.80/scripts/rename_source_files~ 2010-11-24 11:45:41.040000004 +0100
-+++ kdesdk-4.5.80/scripts/rename_source_files 2010-11-24 11:45:41.093333336 +0100
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python2
- #
- # Copyright David Faure <faure@kde.org>, License LGPL v2
- #
---- kdesdk-4.5.80/scripts/svn2log.sh~ 2010-11-24 11:46:24.863333337 +0100
-+++ kdesdk-4.5.80/scripts/svn2log.sh 2010-11-24 11:46:24.896666669 +0100
-@@ -17,6 +17,6 @@
- svn cat svn://anonsvn.kde.org/home/kde/trunk/kde-common/accounts > /tmp/accounts.$PPID
-
- echo "Creating changelog...";
--svn log -v --xml $1 | python $CURRENT/svn2log.py --users=/tmp/accounts.$PPID --users-charset=UTF8
-+svn log -v --xml $1 | python2 $CURRENT/svn2log.py --users=/tmp/accounts.$PPID --users-charset=UTF8
-
- rm /tmp/accounts.$PPID
---- kdesdk-4.5.80/scripts/kde_generate_export_header~ 2010-11-24 11:48:49.696666669 +0100
-+++ kdesdk-4.5.80/scripts/kde_generate_export_header 2010-11-24 11:48:49.753333338 +0100
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python2
-
- import os, sys, string
-
---- kdesdk-4.5.80/scripts/reviewboarddiff~ 2010-11-24 11:49:37.686666670 +0100
-+++ kdesdk-4.5.80/scripts/reviewboarddiff 2010-11-24 11:49:37.740000003 +0100
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python2
- # encoding: utf-8
- #
- # Generates reviewboard compatible diffs from git-svn repositories.
diff --git a/staging/kdesdk/kdesdk-kate.install b/staging/kdesdk/kdesdk-kate.install
deleted file mode 100644
index a60d358ce..000000000
--- a/staging/kdesdk/kdesdk-kate.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdesdk/kdesdk-okteta.install b/staging/kdesdk/kdesdk-okteta.install
deleted file mode 100644
index 3f06b8deb..000000000
--- a/staging/kdesdk/kdesdk-okteta.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdesdk/kdesdk.install b/staging/kdesdk/kdesdk.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdesdk/kdesdk.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdetoys/PKGBUILD b/staging/kdetoys/PKGBUILD
deleted file mode 100644
index b280bf58c..000000000
--- a/staging/kdetoys/PKGBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# $Id: PKGBUILD 126544 2011-06-06 06:10:05Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdetoys
-pkgname=('kdetoys-amor'
- 'kdetoys-kteatime'
- 'kdetoys-ktux')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdetoys')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-workspace')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('12a0228010a1720649807cb8efe71f572bd24af3')
-
-build() {
- cd $srcdir
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdetoys-amor() {
- pkgdesc='On-Screen Creature'
- depends=('kdebase-runtime')
- install='kdetoys.install'
- cd $srcdir/build/amor
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/amor
- make DESTDIR=$pkgdir install
-}
-
-package_kdetoys-kteatime() {
- pkgdesc='Tea Cooker'
- depends=('kdebase-runtime')
- install='kdetoys.install'
- cd $srcdir/build/kteatime
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kteatime
- make DESTDIR=$pkgdir install
-}
-
-package_kdetoys-ktux() {
- pkgdesc='KTux'
- depends=('kdebase-workspace' )
- install='kdetoys.install'
- cd $srcdir/build/ktux
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdetoys/kdetoys.install b/staging/kdetoys/kdetoys.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdetoys/kdetoys.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdeutils/PKGBUILD b/staging/kdeutils/PKGBUILD
deleted file mode 100644
index 3307f045e..000000000
--- a/staging/kdeutils/PKGBUILD
+++ /dev/null
@@ -1,180 +0,0 @@
-# $Id: PKGBUILD 126545 2011-06-06 06:10:08Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdeutils
-pkgname=('kdeutils-ark'
- 'kdeutils-filelight'
- 'kdeutils-kcalc'
- 'kdeutils-kcharselect'
- 'kdeutils-kdf'
- 'kdeutils-kfloppy'
- 'kdeutils-kgpg'
- 'kdeutils-kremotecontrol'
- 'kdeutils-ktimer'
- 'kdeutils-kwallet'
- 'kdeutils-printer-applet'
- 'kdeutils-superkaramba'
- 'kdeutils-sweeper')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdeutils')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-lib' 'kdebase-workspace'
- 'kdebindings-python' 'system-config-printer-common' 'libarchive' 'qimageblitz'
- 'qjson')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('787653b60ce17e0e5900f9ec30f198b8d7bf1edf')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdeutils-ark() {
- pkgdesc='Archiving Tool'
- depends=('kdebase-runtime' 'kdebase-lib' 'libarchive')
- optdepends=('p7zip' 'zip' 'unzip' 'unrar')
- url="http://kde.org/applications/utilities/ark/"
- cd $srcdir/build/ark
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ark
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-filelight() {
- pkgdesc='View disk usage information'
- depends=('kdebase-runtime' 'qimageblitz')
- replaces=('filelight')
- conflicts=('filelight')
- install='kdeutils.install'
- url="http://methylblue.com/filelight/"
- cd $srcdir/build/filelight
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/filelight
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-kcalc() {
- pkgdesc='Scientific Calculator'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kcalc/"
- cd $srcdir/build/kcalc
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcalc
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-kcharselect() {
- pkgdesc='Character Selector'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kcharselect/"
- cd $srcdir/build/kcharselect
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcharselect
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-kdf() {
- pkgdesc='View Disk Usage'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/system/kdiskfree/"
- install='kdeutils.install'
- cd $srcdir/build/kdf
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kdf
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-kfloppy() {
- pkgdesc='Floppy Formatter'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kfloppy/"
- install='kdeutils.install'
- cd $srcdir/build/kfloppy
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kfloppy
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-kgpg() {
- pkgdesc='A GnuPG frontend'
- depends=('kdepim-runtime' 'kde-agent')
- url="http://kde.org/applications/utilities/kgpg"
- install='kdeutils.install'
- cd $srcdir/build/kgpg
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kgpg
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-kremotecontrol() {
- pkgdesc='Configure your remote controls for use with applications'
- replaces=('kdeutils-kdelirc')
- conflicts=('kdeutils-kdelirc')
- depends=('kdebase-workspace')
- url="http://kde.org/applications/utilities/kremotecontrol"
- install='kdeutils.install'
- cd $srcdir/build/kremotecontrol
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kcontrol/kremotecontrol
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-ktimer() {
- pkgdesc='Countdown Launcher'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/ktimer"
- install='kdeutils.install'
- cd $srcdir/build/ktimer
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/ktimer
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-kwallet() {
- pkgdesc='Wallet Management Tool'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/system/kwalletmanager/"
- install='kdeutils.install'
- cd $srcdir/build/kwallet
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kwallet
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-printer-applet() {
- pkgdesc='System tray icon for managing print jobs'
- depends=('kdebase-runtime' 'kdebindings-python' 'system-config-printer-common')
- url="http://kde.org/applications/system/printerapplet/"
- cd $srcdir/build/printer-applet
- make DESTDIR=$pkgdir install
-
- # Use the python2 executable
- find "${pkgdir}" -name '*.py' | xargs sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|'
-}
-
-package_kdeutils-superkaramba() {
- pkgdesc='An engine for cool desktop eyecandy'
- depends=('kdebase-runtime' 'kdebindings-python' 'qimageblitz')
- url="http://kde.org/applications/utilities/superkaramba"
- install='kdeutils.install'
- cd $srcdir/build/superkaramba
- make DESTDIR=$pkgdir install
-}
-
-package_kdeutils-sweeper() {
- pkgdesc='System Cleaner'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/sweeper/"
- cd $srcdir/build/sweeper
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdeutils/kdeutils.install b/staging/kdeutils/kdeutils.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdeutils/kdeutils.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/kdewebdev/PKGBUILD b/staging/kdewebdev/PKGBUILD
deleted file mode 100644
index c56e2c824..000000000
--- a/staging/kdewebdev/PKGBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# $Id: PKGBUILD 126546 2011-06-06 06:10:12Z andrea $
-# Maintainer: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=kdewebdev
-pkgname=('kdewebdev-kfilereplace'
- 'kdewebdev-kimagemapeditor'
- 'kdewebdev-klinkstatus'
- 'kdewebdev-kommander')
-pkgver=4.6.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://www.kde.org'
-license=('GPL' 'LGPL' 'FDL')
-groups=('kde' 'kdewebdev')
-makedepends=('pkgconfig' 'cmake' 'automoc4' 'ruby' 'tidyhtml' 'kdepim-runtime'
- 'boost')
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2")
-sha1sums=('ef6b5142afd5b97ad8c1bffe0557e25477371344')
-
-build() {
- cd $srcdir
- mkdir build
- cd build
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package_kdewebdev-kfilereplace() {
- pkgdesc='Search & Replace Tool'
- depends=('kdebase-runtime')
- url="http://kde.org/applications/utilities/kfilereplace/"
- install='kdewebdev.install'
- cd $srcdir/build/kfilereplace
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kfilereplace
- make DESTDIR=$pkgdir install
-}
-
-package_kdewebdev-kimagemapeditor() {
- pkgdesc='HTML Image Map Editor'
- depends=('kdebase-runtime')
- install='kdewebdev.install'
- cd $srcdir/build/kimagemapeditor
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kimagemapeditor
- make DESTDIR=$pkgdir install
-}
-
-package_kdewebdev-klinkstatus() {
- pkgdesc='Link Checker'
- depends=('kdepim-runtime' 'tidyhtml')
- install='kdewebdev.install'
- cd $srcdir/build/klinkstatus
- make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/klinkstatus
- make DESTDIR=$pkgdir install
-}
-
-package_kdewebdev-kommander() {
- pkgdesc='Executor for Kommander dialogs'
- depends=('kdebase-runtime')
- cd $srcdir/build/kommander
- make DESTDIR=$pkgdir install
-}
diff --git a/staging/kdewebdev/kdewebdev.install b/staging/kdewebdev/kdewebdev.install
deleted file mode 100644
index e70c054ec..000000000
--- a/staging/kdewebdev/kdewebdev.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/libmtp/PKGBUILD b/staging/libmtp/PKGBUILD
deleted file mode 100644
index 9632630d0..000000000
--- a/staging/libmtp/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id: PKGBUILD 127351 2011-06-13 11:09:19Z stephane $
-# Contributor: damir <damir@archlinux.org>
-# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
-
-pkgname=libmtp
-pkgver=1.1.0
-pkgrel=1
-pkgdesc="library implementation of the Media Transfer Protocol"
-arch=("i686" "x86_64")
-url="http://libmtp.sourceforge.net"
-license=('LGPL')
-depends=('libusb-compat')
-makedepends=('doxygen')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('fd7b293436528f4c780a9da6e5cc5398')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --with-udev-rules=52-libmtp.rules
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/staging/rhythmbox/PKGBUILD b/staging/rhythmbox/PKGBUILD
deleted file mode 100644
index a1644664b..000000000
--- a/staging/rhythmbox/PKGBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# $Id: PKGBUILD 127360 2011-06-13 15:53:46Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Giovanni Scafora <giovanni@archlinux.org>
-
-pkgname=rhythmbox
-pkgver=2.90.1.git20110610
-pkgrel=2
-pkgdesc="An iTunes-like music player/libary"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.rhythmbox.org"
-depends=('libgpod' 'gvfs-afc' 'libgnome-media-profiles' 'totem-plparser' 'libsoup-gnome' 'gtk3' 'libmusicbrainz3' 'libmtp' 'libnotify'
- 'lirc-utils' 'libwebkit3' 'libdmapsharing' 'media-player-info' 'pygobject' 'gstreamer0.10-python' 'python-gnomekeyring' 'gstreamer0.10-base-plugins'
- 'gstreamer0.10-good-plugins' 'json-glib' 'desktop-file-utils' 'libpeas' 'python-mako' 'dconf')
-makedepends=('pkgconfig' 'gnome-doc-utils>=0.20.1' 'intltool' 'brasero' 'gnome-common' 'gtk-doc' 'gobject-introspection')
-optdepends=('gstreamer0.10-ugly-plugins: Extra media codecs'
- 'gstreamer0.10-bad-plugins: Extra media codecs'
- 'gstreamer0.10-ffmpeg: Extra media codecs'
- 'brasero: cd burning')
-options=('!libtool' '!emptydirs' '!strip')
-install=rhythmbox.install
-#source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.13/${pkgname}-${pkgver}.tar.bz2)
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('20e9bf31f3fbd2b4e4db86ab12aeee8175a8a49a5c3ec2081a8ca3880d01fba0')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- export CFLAGS="$CFLAGS -g -O1"
- export CXXFLAGS="$CXXFLAGS -g -O1"
- PYTHON=/usr/bin/python2 ./autogen.sh
- PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/rhythmbox \
- --localstatedir=/var --disable-static \
- --enable-daap --enable-python \
- --with-mdns=avahi --disable-scrollkeeper
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-}
diff --git a/staging/rhythmbox/rhythmbox.install b/staging/rhythmbox/rhythmbox.install
deleted file mode 100644
index cbea0e6b3..000000000
--- a/staging/rhythmbox/rhythmbox.install
+++ /dev/null
@@ -1,22 +0,0 @@
-pkgname=rhythmbox
-
-post_install() {
- glib-compile-schemas usr/share/glib-2.0/schemas
- update-desktop-database -q
- gtk-update-icon-cache -f -q -t usr/share/icons/hicolor
-}
-
-pre_upgrade() {
- if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
- usr/sbin/gconfpkg --uninstall ${pkgname}
- fi
-}
-
-post_upgrade() {
- post_install $1
-}
-
-
-post_remove() {
- post_install $1
-}
diff --git a/testing/coreutils/PKGBUILD b/testing/coreutils/PKGBUILD
deleted file mode 100644
index 6d75f0659..000000000
--- a/testing/coreutils/PKGBUILD
+++ /dev/null
@@ -1,69 +0,0 @@
-# $Id: PKGBUILD 127042 2011-06-10 00:56:53Z bisson $
-# Maintainer: Allan McRae <allan@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-
-pkgname=coreutils
-pkgver=8.12
-pkgrel=3
-pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system"
-arch=('i686' 'x86_64')
-license=('GPL3')
-url="http://www.gnu.org/software/coreutils"
-groups=('base')
-depends=('glibc' 'shadow' 'pam' 'acl' 'gmp' 'libcap')
-replaces=('mktemp')
-backup=('etc/pam.d/su')
-install=${pkgname}.install
-options=('!emptydirs')
-source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz
- coreutils-uname.patch
- coreutils-pam.patch
- su.pam)
-md5sums=('0f7d43c2d2e24314b43a6c6267e25b90'
- 'c4fcca138b6abf6d443d48a6f0cd8833'
- 'aad79a2aa6d566c375d7bdd1b0767278'
- 'fa85e5cce5d723275b14365ba71a8aad')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # added su wheel group pam patch (from fedora git)
- patch -Np1 -i ${srcdir}/coreutils-pam.patch
-
- # linux specific uname improvement (from gentoo portage)
- patch -Np1 -i ${srcdir}/coreutils-uname.patch
-
- autoreconf -v
- ./configure --prefix=/usr \
- --enable-install-program=su \
- --enable-no-install-program=groups,hostname,kill,uptime \
- --enable-pam
- make
-}
-
-check() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make RUN_EXPENSIVE_TESTS=yes check
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-
- cd ${pkgdir}/usr/bin
- install -dm755 ${pkgdir}/{bin,usr/sbin}
-
- # binaries required by FHS
- _fhs="cat chgrp chmod chown cp date dd df echo false ln ls \
- mkdir mknod mv pwd rm rmdir stty su sync true uname"
- mv ${_fhs} ${pkgdir}/bin
-
- # binaries required by various Arch scripts
- _bin="cut dir dircolors du install mkfifo readlink shred \
- sleep touch tr vdir"
- mv ${_bin} ${pkgdir}/bin
- ln -sf /bin/sleep ${pkgdir}/usr/bin/sleep
-
- mv chroot ${pkgdir}/usr/sbin
- install -Dm644 ${srcdir}/su.pam ${pkgdir}/etc/pam.d/su
-}
diff --git a/testing/coreutils/coreutils-pam.patch b/testing/coreutils/coreutils-pam.patch
deleted file mode 100644
index e61908f3f..000000000
--- a/testing/coreutils/coreutils-pam.patch
+++ /dev/null
@@ -1,428 +0,0 @@
-diff -urNp coreutils-8.4-orig/configure.ac coreutils-8.4/configure.ac
---- coreutils-8.4-orig/configure.ac 2010-01-11 18:20:42.000000000 +0100
-+++ coreutils-8.4/configure.ac 2010-02-12 10:17:46.000000000 +0100
-@@ -126,6 +126,13 @@ if test "$gl_gcc_warnings" = yes; then
- AC_SUBST([GNULIB_WARN_CFLAGS])
- fi
-
-+dnl Give the chance to enable PAM
-+AC_ARG_ENABLE(pam, dnl
-+[ --enable-pam Enable use of the PAM libraries],
-+[AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
-+LIB_PAM="-ldl -lpam -lpam_misc"
-+AC_SUBST(LIB_PAM)])
-+
- AC_FUNC_FORK
-
- optional_bin_progs=
-diff -urNp coreutils-8.4-orig/doc/coreutils.texi coreutils-8.4/doc/coreutils.texi
---- coreutils-8.4-orig/doc/coreutils.texi 2010-01-03 18:06:20.000000000 +0100
-+++ coreutils-8.4/doc/coreutils.texi 2010-02-12 10:17:46.000000000 +0100
-@@ -15081,8 +15081,11 @@ to certain shells, etc.).
- @findex syslog
- @command{su} can optionally be compiled to use @code{syslog} to report
- failed, and optionally successful, @command{su} attempts. (If the system
--supports @code{syslog}.) However, GNU @command{su} does not check if the
--user is a member of the @code{wheel} group; see below.
-+supports @code{syslog}.)
-+
-+This version of @command{su} has support for using PAM for
-+authentication. You can edit @file{/etc/pam.d/su} to customize its
-+behaviour.
-
- The program accepts the following options. Also see @ref{Common options}.
-
-@@ -15124,6 +15127,8 @@ environment variables except @env{TERM},
- @env{PATH} to a compiled-in default value. Change to @var{user}'s home
- directory. Prepend @samp{-} to the shell's name, intended to make it
- read its login startup file(s).
-+Additionaly @env{DISPLAY} and @env{XAUTHORITY} environment variables
-+are preserved as well for PAM functionality.
-
- @item -m
- @itemx -p
-@@ -15163,33 +15168,6 @@ Exit status:
- the exit status of the subshell otherwise
- @end display
-
--@cindex wheel group, not supported
--@cindex group wheel, not supported
--@cindex fascism
--@subsection Why GNU @command{su} does not support the @samp{wheel} group
--
--(This section is by Richard Stallman.)
--
--@cindex Twenex
--@cindex MIT AI lab
--Sometimes a few of the users try to hold total power over all the
--rest. For example, in 1984, a few users at the MIT AI lab decided to
--seize power by changing the operator password on the Twenex system and
--keeping it secret from everyone else. (I was able to thwart this coup
--and give power back to the users by patching the kernel, but I
--wouldn't know how to do that in Unix.)
--
--However, occasionally the rulers do tell someone. Under the usual
--@command{su} mechanism, once someone learns the root password who
--sympathizes with the ordinary users, he or she can tell the rest. The
--``wheel group'' feature would make this impossible, and thus cement the
--power of the rulers.
--
--I'm on the side of the masses, not that of the rulers. If you are
--used to supporting the bosses and sysadmins in whatever they do, you
--might find this idea strange at first.
--
--
- @node timeout invocation
- @section @command{timeout}: Run a command with a time limit
-
-diff -urNp coreutils-8.4-orig/src/Makefile.am coreutils-8.4/src/Makefile.am
---- coreutils-8.4-orig/src/Makefile.am 2010-01-03 18:06:20.000000000 +0100
-+++ coreutils-8.4/src/Makefile.am 2010-02-12 10:17:46.000000000 +0100
-@@ -361,7 +361,7 @@ factor_LDADD += $(LIB_GMP)
- uptime_LDADD += $(GETLOADAVG_LIBS)
-
- # for crypt
--su_LDADD += $(LIB_CRYPT)
-+su_LDADD += $(LIB_CRYPT) @LIB_PAM@
-
- # for various ACL functions
- copy_LDADD += $(LIB_ACL)
-diff -urNp coreutils-8.4-orig/src/su.c coreutils-8.4/src/su.c
---- coreutils-8.4-orig/src/su.c 2010-02-12 10:15:15.000000000 +0100
-+++ coreutils-8.4/src/su.c 2010-02-12 10:24:29.000000000 +0100
-@@ -37,6 +37,16 @@
- restricts who can su to UID 0 accounts. RMS considers that to
- be fascist.
-
-+#ifdef USE_PAM
-+
-+ Actually, with PAM, su has nothing to do with whether or not a
-+ wheel group is enforced by su. RMS tries to restrict your access
-+ to a su which implements the wheel group, but PAM considers that
-+ to be fascist, and gives the user/sysadmin the opportunity to
-+ enforce a wheel group by proper editing of /etc/pam.conf
-+
-+#endif
-+
- Compile-time options:
- -DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog.
- -DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog.
-@@ -53,6 +63,15 @@
- #include <pwd.h>
- #include <grp.h>
-
-+#ifdef USE_PAM
-+# include <signal.h>
-+# include <sys/wait.h>
-+# include <sys/fsuid.h>
-+# include <unistd.h>
-+# include <security/pam_appl.h>
-+# include <security/pam_misc.h>
-+#endif /* USE_PAM */
-+
- #include "system.h"
- #include "getpass.h"
-
-@@ -120,10 +139,17 @@
- /* The user to become if none is specified. */
- #define DEFAULT_USER "root"
-
-+#ifndef USE_PAM
- char *crypt (char const *key, char const *salt);
-+#endif
-
--static void run_shell (char const *, char const *, char **, size_t)
-+static void run_shell (char const *, char const *, char **, size_t,
-+ const struct passwd *)
-+#ifdef USE_PAM
-+ ;
-+#else
- ATTRIBUTE_NORETURN;
-+#endif
-
- /* If true, pass the `-f' option to the subshell. */
- static bool fast_startup;
-@@ -209,7 +235,26 @@ log_su (struct passwd const *pw, bool su
- }
- #endif
-
-+#ifdef USE_PAM
-+static pam_handle_t *pamh = NULL;
-+static int retval;
-+static struct pam_conv conv = {
-+ misc_conv,
-+ NULL
-+};
-+
-+#define PAM_BAIL_P if (retval) { \
-+ pam_end(pamh, PAM_SUCCESS); \
-+ return 0; \
-+}
-+#define PAM_BAIL_P_VOID if (retval) { \
-+ pam_end(pamh, PAM_SUCCESS); \
-+return; \
-+}
-+#endif
-+
- /* Ask the user for a password.
-+ If PAM is in use, let PAM ask for the password if necessary.
- Return true if the user gives the correct password for entry PW,
- false if not. Return true without asking for a password if run by UID 0
- or if PW has an empty password. */
-@@ -217,6 +262,44 @@ log_su (struct passwd const *pw, bool su
- static bool
- correct_password (const struct passwd *pw)
- {
-+#ifdef USE_PAM
-+ struct passwd *caller;
-+ char *tty_name, *ttyn;
-+ retval = pam_start(PROGRAM_NAME, pw->pw_name, &conv, &pamh);
-+ PAM_BAIL_P;
-+
-+ if (getuid() != 0 && !isatty(0)) {
-+ fprintf(stderr, "standard in must be a tty\n");
-+ exit(1);
-+ }
-+
-+ caller = getpwuid(getuid());
-+ if(caller != NULL && caller->pw_name != NULL) {
-+ retval = pam_set_item(pamh, PAM_RUSER, caller->pw_name);
-+ PAM_BAIL_P;
-+ }
-+
-+ ttyn = ttyname(0);
-+ if (ttyn) {
-+ if (strncmp(ttyn, "/dev/", 5) == 0)
-+ tty_name = ttyn+5;
-+ else
-+ tty_name = ttyn;
-+ retval = pam_set_item(pamh, PAM_TTY, tty_name);
-+ PAM_BAIL_P;
-+ }
-+ retval = pam_authenticate(pamh, 0);
-+ PAM_BAIL_P;
-+ retval = pam_acct_mgmt(pamh, 0);
-+ if (retval == PAM_NEW_AUTHTOK_REQD) {
-+ /* password has expired. Offer option to change it. */
-+ retval = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
-+ PAM_BAIL_P;
-+ }
-+ PAM_BAIL_P;
-+ /* must be authenticated if this point was reached */
-+ return 1;
-+#else /* !USE_PAM */
- char *unencrypted, *encrypted, *correct;
- #if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP
- /* Shadow passwd stuff for SVR3 and maybe other systems. */
-@@ -241,6 +324,7 @@ correct_password (const struct passwd *p
- encrypted = crypt (unencrypted, correct);
- memset (unencrypted, 0, strlen (unencrypted));
- return STREQ (encrypted, correct);
-+#endif /* !USE_PAM */
- }
-
- /* Update `environ' for the new shell based on PW, with SHELL being
-@@ -254,12 +338,18 @@ modify_environment (const struct passwd
- /* Leave TERM unchanged. Set HOME, SHELL, USER, LOGNAME, PATH.
- Unset all other environment variables. */
- char const *term = getenv ("TERM");
-+ char const *display = getenv ("DISPLAY");
-+ char const *xauthority = getenv ("XAUTHORITY");
- if (term)
- term = xstrdup (term);
- environ = xmalloc ((6 + !!term) * sizeof (char *));
- environ[0] = NULL;
- if (term)
- xsetenv ("TERM", term);
-+ if (display)
-+ xsetenv ("DISPLAY", display);
-+ if (xauthority)
-+ xsetenv ("XAUTHORITY", xauthority);
- xsetenv ("HOME", pw->pw_dir);
- xsetenv ("SHELL", shell);
- xsetenv ("USER", pw->pw_name);
-@@ -292,8 +382,13 @@ change_identity (const struct passwd *pw
- {
- #ifdef HAVE_INITGROUPS
- errno = 0;
-- if (initgroups (pw->pw_name, pw->pw_gid) == -1)
-+ if (initgroups (pw->pw_name, pw->pw_gid) == -1) {
-+#ifdef USE_PAM
-+ pam_close_session(pamh, 0);
-+ pam_end(pamh, PAM_ABORT);
-+#endif
- error (EXIT_CANCELED, errno, _("cannot set groups"));
-+ }
- endgrent ();
- #endif
- if (setgid (pw->pw_gid))
-@@ -302,6 +397,31 @@ change_identity (const struct passwd *pw
- error (EXIT_CANCELED, errno, _("cannot set user id"));
- }
-
-+#ifdef USE_PAM
-+static int caught=0;
-+/* Signal handler for parent process later */
-+static void su_catch_sig(int sig)
-+{
-+ ++caught;
-+}
-+
-+int
-+pam_copyenv (pam_handle_t *pamh)
-+{
-+ char **env;
-+
-+ env = pam_getenvlist(pamh);
-+ if(env) {
-+ while(*env) {
-+ if (putenv (*env))
-+ xalloc_die ();
-+ env++;
-+ }
-+ }
-+ return(0);
-+}
-+#endif
-+
- /* Run SHELL, or DEFAULT_SHELL if SHELL is empty.
- If COMMAND is nonzero, pass it to the shell with the -c option.
- Pass ADDITIONAL_ARGS to the shell as more arguments; there
-@@ -309,17 +429,49 @@ change_identity (const struct passwd *pw
-
- static void
- run_shell (char const *shell, char const *command, char **additional_args,
-- size_t n_additional_args)
-+ size_t n_additional_args, const struct passwd *pw)
- {
- size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1;
- char const **args = xnmalloc (n_args, sizeof *args);
- size_t argno = 1;
-+#ifdef USE_PAM
-+ int child;
-+ sigset_t ourset;
-+ int status;
-+
-+ retval = pam_open_session(pamh,0);
-+ if (retval != PAM_SUCCESS) {
-+ fprintf (stderr, "could not open session\n");
-+ exit (1);
-+ }
-+
-+/* do this at the last possible moment, because environment variables may
-+ be passed even in the session phase
-+*/
-+ if(pam_copyenv(pamh) != PAM_SUCCESS)
-+ fprintf (stderr, "error copying PAM environment\n");
-+
-+ /* Credentials should be set in the parent */
-+ if (pam_setcred(pamh, PAM_ESTABLISH_CRED) != PAM_SUCCESS) {
-+ pam_close_session(pamh, 0);
-+ fprintf(stderr, "could not set PAM credentials\n");
-+ exit(1);
-+ }
-+
-+ child = fork();
-+ if (child == 0) { /* child shell */
-+ change_identity (pw);
-+ pam_end(pamh, 0);
-+#endif
-
- if (simulate_login)
- {
- char *arg0;
- char *shell_basename;
-
-+ if(chdir(pw->pw_dir))
-+ error(0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
-+
- shell_basename = last_component (shell);
- arg0 = xmalloc (strlen (shell_basename) + 2);
- arg0[0] = '-';
-@@ -344,6 +496,67 @@ run_shell (char const *shell, char const
- error (0, errno, "%s", shell);
- exit (exit_status);
- }
-+#ifdef USE_PAM
-+ } else if (child == -1) {
-+ fprintf(stderr, "can not fork user shell: %s", strerror(errno));
-+ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT);
-+ pam_close_session(pamh, 0);
-+ pam_end(pamh, PAM_ABORT);
-+ exit(1);
-+ }
-+ /* parent only */
-+ sigfillset(&ourset);
-+ if (sigprocmask(SIG_BLOCK, &ourset, NULL)) {
-+ fprintf(stderr, "%s: signal malfunction\n", PROGRAM_NAME);
-+ caught = 1;
-+ }
-+ if (!caught) {
-+ struct sigaction action;
-+ action.sa_handler = su_catch_sig;
-+ sigemptyset(&action.sa_mask);
-+ action.sa_flags = 0;
-+ sigemptyset(&ourset);
-+ if (sigaddset(&ourset, SIGTERM)
-+ || sigaddset(&ourset, SIGALRM)
-+ || sigaction(SIGTERM, &action, NULL)
-+ || sigprocmask(SIG_UNBLOCK, &ourset, NULL)) {
-+ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
-+ caught = 1;
-+ }
-+ }
-+ if (!caught) {
-+ do {
-+ int pid;
-+
-+ pid = waitpid(-1, &status, WUNTRACED);
-+
-+ if (((pid_t)-1 != pid) && (0 != WIFSTOPPED (status))) {
-+ kill(getpid(), WSTOPSIG(status));
-+ /* once we get here, we must have resumed */
-+ kill(pid, SIGCONT);
-+ }
-+ } while (0 != WIFSTOPPED(status));
-+ }
-+
-+ if (caught) {
-+ fprintf(stderr, "\nSession terminated, killing shell...");
-+ kill (child, SIGTERM);
-+ }
-+ /* Not checking retval on this because we need to call close session */
-+ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT);
-+ retval = pam_close_session(pamh, 0);
-+ PAM_BAIL_P_VOID;
-+ retval = pam_end(pamh, PAM_SUCCESS);
-+ PAM_BAIL_P_VOID;
-+ if (caught) {
-+ sleep(2);
-+ kill(child, SIGKILL);
-+ fprintf(stderr, " ...killed.\n");
-+ exit(-1);
-+ }
-+ exit ((0 != WIFEXITED (status)) ? WEXITSTATUS (status)
-+ : WTERMSIG (status) + 128);
-+#endif /* USE_PAM */
- }
-
- /* Return true if SHELL is a restricted shell (one not returned by
-@@ -511,9 +724,9 @@ main (int argc, char **argv)
- shell = xstrdup (shell ? shell : pw->pw_shell);
- modify_environment (pw, shell);
-
-+#ifndef USE_PAM
- change_identity (pw);
-- if (simulate_login && chdir (pw->pw_dir) != 0)
-- error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
-+#endif
-
- /* error() flushes stderr, but does not check for write failure.
- Normally, we would catch this via our atexit() hook of
-@@ -523,5 +736,5 @@ main (int argc, char **argv)
- if (ferror (stderr))
- exit (EXIT_CANCELED);
-
-- run_shell (shell, command, argv + optind, MAX (0, argc - optind));
-+ run_shell (shell, command, argv + optind, MAX (0, argc - optind), pw);
- }
diff --git a/testing/coreutils/coreutils-uname.patch b/testing/coreutils/coreutils-uname.patch
deleted file mode 100644
index b458abeba..000000000
--- a/testing/coreutils/coreutils-uname.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-On linux platforms, grok /proc/cpuinfo for the CPU/vendor info.
-
-Prob not suitable for upstream seeing as how it's 100% linux-specific
-http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html
-
-Patch originally by Carlos E. Gorges <carlos@techlinux.com.br>, but
-heavily reworked to suck less.
-
-To add support for additional platforms, check out the show_cpuinfo()
-func in the linux/arch/<ARCH>/ source tree of the kernel.
-
---- coreutils/src/uname.c
-+++ coreutils/src/uname.c
-@@ -50,6 +50,11 @@
- # include <mach-o/arch.h>
- #endif
-
-+#if defined(__linux__)
-+# define USE_PROCINFO
-+# define UNAME_HARDWARE_PLATFORM
-+#endif
-+
- #include "system.h"
- #include "error.h"
- #include "quote.h"
-@@ -138,6 +143,117 @@
- exit (status);
- }
-
-+#if defined(USE_PROCINFO)
-+
-+# if defined(__s390__) || defined(__s390x__)
-+# define CPUINFO_FILE "/proc/sysinfo"
-+# define CPUINFO_FORMAT "%64[^\t :]%*[ :]%256[^\n]%c"
-+# else
-+# define CPUINFO_FILE "/proc/cpuinfo"
-+# define CPUINFO_FORMAT "%64[^\t:]\t:%256[^\n]%c"
-+# endif
-+
-+# define PROCINFO_PROCESSOR 0
-+# define PROCINFO_HARDWARE_PLATFORM 1
-+
-+static void __eat_cpuinfo_space(char *buf)
-+{
-+ /* first eat trailing space */
-+ char *tmp = buf + strlen(buf) - 1;
-+ while (tmp > buf && isspace(*tmp))
-+ *tmp-- = '\0';
-+ /* then eat leading space */
-+ tmp = buf;
-+ while (*tmp && isspace(*tmp))
-+ tmp++;
-+ if (tmp != buf)
-+ memmove(buf, tmp, strlen(tmp)+1);
-+ /* finally collapse whitespace */
-+ tmp = buf;
-+ while (tmp[0] && tmp[1]) {
-+ if (isspace(tmp[0]) && isspace(tmp[1])) {
-+ memmove(tmp, tmp+1, strlen(tmp));
-+ continue;
-+ }
-+ ++tmp;
-+ }
-+}
-+
-+static int __linux_procinfo(int x, char *fstr, size_t s)
-+{
-+ FILE *fp;
-+
-+ char *procinfo_keys[] = {
-+ /* --processor --hardware-platform */
-+ #if defined(__alpha__)
-+ "cpu model", "system type"
-+ #elif defined(__arm__)
-+ "Processor", "Hardware"
-+ #elif defined(__avr32__)
-+ "processor", "cpu family"
-+ #elif defined(__bfin__)
-+ "CPU", "BOARD Name"
-+ #elif defined(__cris__)
-+ "cpu", "cpu model"
-+ #elif defined(__frv__)
-+ "CPU-Core", "System"
-+ #elif defined(__i386__) || defined(__x86_64__)
-+ "model name", "vendor_id"
-+ #elif defined(__ia64__)
-+ "family", "vendor"
-+ #elif defined(__hppa__)
-+ "cpu", "model"
-+ #elif defined(__m68k__)
-+ "CPU", "MMU"
-+ #elif defined(__mips__)
-+ "cpu model", "system type"
-+ #elif defined(__powerpc__) || defined(__powerpc64__)
-+ "cpu", "machine"
-+ #elif defined(__s390__) || defined(__s390x__)
-+ "Type", "Manufacturer"
-+ #elif defined(__sh__)
-+ "cpu type", "machine"
-+ #elif defined(sparc) || defined(__sparc__)
-+ "type", "cpu"
-+ #elif defined(__vax__)
-+ "cpu type", "cpu"
-+ #else
-+ "unknown", "unknown"
-+ #endif
-+ };
-+
-+ if ((fp = fopen(CPUINFO_FILE, "r")) != NULL) {
-+ char key[65], value[257], eol, *ret = NULL;
-+
-+ while (fscanf(fp, CPUINFO_FORMAT, key, value, &eol) != EOF) {
-+ __eat_cpuinfo_space(key);
-+ if (!strcmp(key, procinfo_keys[x])) {
-+ __eat_cpuinfo_space(value);
-+ ret = value;
-+ break;
-+ }
-+ if (eol != '\n') {
-+ /* we need two fscanf's here in case the previous
-+ * length limit caused us to read right up to the
-+ * newline ... doing "%*[^\n]\n" wont eat the newline
-+ */
-+ fscanf(fp, "%*[^\n]");
-+ fscanf(fp, "\n");
-+ }
-+ }
-+ fclose(fp);
-+
-+ if (ret) {
-+ strncpy(fstr, ret, s);
-+ return 0;
-+ }
-+ }
-+
-+ return -1;
-+}
-+
-+#endif
-+
- /* Print ELEMENT, preceded by a space if something has already been
- printed. */
-
-@@ -250,10 +344,14 @@ main (int argc, char **argv)
- if (toprint & PRINT_PROCESSOR)
- {
- char const *element = unknown;
--#if HAVE_SYSINFO && defined SI_ARCHITECTURE
-+#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO)
- {
- static char processor[257];
-+#if defined(USE_PROCINFO)
-+ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
-+#else
- if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
-+#endif
- element = processor;
- }
- #endif
-@@ -306,9 +404,13 @@ main (int argc, char **argv)
- if (element == unknown)
- {
- static char hardware_platform[257];
-+#if defined(USE_PROCINFO)
-+ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
-+#else
- size_t s = sizeof hardware_platform;
- static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
- if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
-+#endif
- element = hardware_platform;
- }
- #endif
diff --git a/testing/coreutils/coreutils.install b/testing/coreutils/coreutils.install
deleted file mode 100644
index 8caae6686..000000000
--- a/testing/coreutils/coreutils.install
+++ /dev/null
@@ -1,21 +0,0 @@
-infodir=usr/share/info
-filelist=(coreutils.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- usr/bin/install-info $infodir/$file.gz $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
- usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
diff --git a/testing/coreutils/su.pam b/testing/coreutils/su.pam
deleted file mode 100644
index cf15f40f1..000000000
--- a/testing/coreutils/su.pam
+++ /dev/null
@@ -1,9 +0,0 @@
-#%PAM-1.0
-auth sufficient pam_rootok.so
-# Uncomment the following line to implicitly trust users in the "wheel" group.
-#auth sufficient pam_wheel.so trust use_uid
-# Uncomment the following line to require a user to be in the "wheel" group.
-#auth required pam_wheel.so use_uid
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_unix.so
diff --git a/testing/libevent/PKGBUILD b/testing/libevent/PKGBUILD
deleted file mode 100644
index 21f3f6722..000000000
--- a/testing/libevent/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 127366 2011-06-13 18:59:12Z eric $
-# Maintainer:
-# Contributor: Judd <jvinet@zeroflux.org>
-
-pkgname=libevent
-pkgver=2.0.12
-pkgrel=1
-pkgdesc="An event notification library"
-arch=('i686' 'x86_64')
-url="http://www.monkey.org/~provos/libevent/"
-license=('GPL2')
-depends=('openssl')
-optdepends=('python2: to use event_rpcgen.py')
-options=('!libtool')
-source=("http://www.monkey.org/~provos/libevent-$pkgver-stable.tar.gz")
-md5sums=('42986228baf95e325778ed328a93e070')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}-stable"
- sed -i 's#python#python2#' event_rpcgen.py
- ./configure --prefix=/usr --sysconfdir=/etc
- make
-}
-
-check() {
- cd "${srcdir}/${pkgname}-${pkgver}-stable"
- make check
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}-stable"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/testing/links/PKGBUILD b/testing/links/PKGBUILD
deleted file mode 100644
index 95a4a05cd..000000000
--- a/testing/links/PKGBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# $Id: PKGBUILD 126520 2011-06-06 04:11:26Z eric $
-# Maintainer: Eric Bélanger <eric@archlinux.org>
-
-pkgname=links
-pkgver=2.3pre2
-pkgrel=1
-pkgdesc="A text WWW browser, similar to Lynx"
-arch=('i686' 'x86_64')
-url="http://links.twibright.com/"
-license=('GPL')
-depends=('bzip2' 'zlib' 'openssl' 'gpm')
-makedepends=('libtiff' 'libpng' 'libxt')
-optdepends=('libx11: for using xlinks' 'libtiff: for using xlinks' 'libpng: for using xlinks')
-provides=('links-g')
-conflicts=('links-g')
-replaces=('links-g')
-source=(http://links.twibright.com/download/${pkgname}-${pkgver}.tar.bz2 links.desktop)
-md5sums=('4a6970d54f4a9c64b8cf5d83a5815c45'
- '7c47b15aaef51f1de129ff3a2afb7eac')
-sha1sums=('5bc210f746559725565bec1d4748b5c56b263ee5'
- 'f600e27c2a71184444f7dd07a10230aa44463a02')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- (cd intl; ./gen-intl; ./synclang)
- ./configure --prefix=/usr --mandir=/usr/share/man --enable-javascript \
- --enable-graphics --with-x --with-fb
- make
- mv links xlinks
-
- ./configure --prefix=/usr --mandir=/usr/share/man --enable-javascript \
- --disable-graphics --without-x --without-fb
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -m755 xlinks "${pkgdir}/usr/bin/xlinks"
- ln -s links.1.gz "${pkgdir}/usr/share/man/man1/xlinks.1.gz"
-
- install -D -m644 "${srcdir}/links.desktop" "${pkgdir}/usr/share/applications/links.desktop"
- install -d "${pkgdir}/usr/share/pixmaps"
- install -m644 links_16x16_1.xpm links_16x16_2.xpm links_32x32.xpm "${pkgdir}/usr/share/pixmaps/"
-
- install -d "${pkgdir}/usr/share/doc/links/calibration"
- install -m644 doc/links_cal/* "${pkgdir}/usr/share/doc/links/calibration/"
-}
diff --git a/testing/links/links.desktop b/testing/links/links.desktop
deleted file mode 100644
index 9d6338a5b..000000000
--- a/testing/links/links.desktop
+++ /dev/null
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Name=Links
-Exec=xlinks -g
-Icon=links_32x32.xpm
-Type=Application
-Terminal=false
-Categories=Network;WebBrowser;
diff --git a/testing/lirc/PKGBUILD b/testing/lirc/PKGBUILD
deleted file mode 100644
index e5c346ebb..000000000
--- a/testing/lirc/PKGBUILD
+++ /dev/null
@@ -1,103 +0,0 @@
-# $Id: PKGBUILD 126857 2011-06-08 09:51:14Z jgc $
-# Maintainer: Paul Mattal <paul@archlinux.org>
-
-pkgbase=lirc
-pkgname=('lirc' 'lirc-utils')
-pkgver=0.9.0
-pkgrel=3
-epoch=1
-_kernver=2.6.39-ARCH
-arch=('i686' 'x86_64')
-url="http://www.lirc.org/"
-license=('GPL')
-makedepends=('help2man' 'kernel26-headers>=2.6.39' 'kernel26-headers<2.6.40' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python')
-options=('!makeflags' '!strip')
-source=(http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2
- lirc_wpc8769l.patch
- lircd-handle-large-config.patch
- lirc_atiusb-kfifo.patch
- kernel-2.6.39.patch
- lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd)
-md5sums=('b232aef26f23fe33ea8305d276637086'
- '1cce37e18e3f6f46044abab29016d18f'
- 'b70cc9640505205446ec47b7d4779f38'
- '1f8b104a2365d9f93404b143f499059b'
- '087a7d102e1c96bf1179f38db2b0b237'
- '8d0e238dc0eda95e340fe570605da492'
- '85f7fdac55e5256967241864049bf5e9'
- '3deb02604b37811d41816e9b4385fcc3'
- '5b1f8c9cd788a39a6283f93302ce5c6e'
- 'f0c0ac930326168035f0c8e24357ae55'
- '69d099e6deedfa3c1ee2b6e82d9b8bfb')
-
-build() {
- cd "${srcdir}/lirc-${pkgver}"
- patch -Np1 -i "${srcdir}/lirc_wpc8769l.patch"
- patch -Np1 -i "${srcdir}/lircd-handle-large-config.patch"
- patch -Np1 -i "${srcdir}/lirc_atiusb-kfifo.patch"
- patch -Np1 -i "${srcdir}/kernel-2.6.39.patch"
-
- sed -i '/AC_PATH_XTRA/d' configure.ac
- sed -e 's/@X_CFLAGS@//g' \
- -e 's/@X_LIBS@//g' \
- -e 's/@X_PRE_LIBS@//g' \
- -e 's/@X_EXTRA_LIBS@//g' -i Makefile.am tools/Makefile.am
- libtoolize
- autoreconf
-
- PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
- --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
- --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
- --with-transmitter
-
- # Remove drivers already in kernel
- sed -e "s:lirc_dev::" -e "s:lirc_bt829::" -e "s:lirc_igorplugusb::" \
- -e "s:lirc_imon::" -e "s:lirc_parallel::" -e "s:lirc_sasem::" \
- -e "s:lirc_serial::" -e "s:lirc_sir::" -e "s:lirc_ttusbir::" \
- -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
- make
-}
-
-package_lirc() {
- pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
- depends=('lirc-utils' 'kernel26>=2.6.39' 'kernel26<2.6.40')
- replaces=('lirc+pctv')
- install=lirc.install
-
- cd "${srcdir}/lirc-${pkgver}/drivers"
- make DESTDIR="${pkgdir}" install
-
- # set the kernel we've built for inside the install script
- sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" "${startdir}/lirc.install"
- # gzip -9 modules
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
-}
-
-package_lirc-utils() {
- pkgdesc="Linux Infrared Remote Control utils"
- depends=('alsa-lib' 'libx11' 'libftdi' 'libirman')
- optdepends=('python2: pronto2lirc utility')
- options=('strip' '!libtool')
- backup=('etc/conf.d/lircd.conf' 'etc/conf.d/irexec.conf')
-
- cd "${srcdir}/lirc-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -d "${pkgdir}/usr/share/lirc" "${pkgdir}/etc/rc.d"
- cp "${srcdir}"/{lircd,lircmd,irexecd} "${pkgdir}/etc/rc.d"
- cp -rp remotes "${pkgdir}/usr/share/lirc"
- chmod -R go-w "${pkgdir}/usr/share/lirc/"
-
- # install the logrotate config
- install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
-
- # install conf.d file
- install -Dm644 "${srcdir}/lircd.conf" "${pkgdir}/etc/conf.d/lircd.conf"
-
- # install conf.d file
- install -Dm644 "${srcdir}/irexec.conf" "${pkgdir}/etc/conf.d/irexec.conf"
-
- install -d "${pkgdir}/etc/lirc"
-
- # remove built modules
- rm -r "${pkgdir}/lib/"
-}
diff --git a/testing/lirc/irexec.conf b/testing/lirc/irexec.conf
deleted file mode 100644
index f911c7515..000000000
--- a/testing/lirc/irexec.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# Parameters for irexec daemon (path to lircrc)
-#
-
-IREXEC_OPTS="" \ No newline at end of file
diff --git a/testing/lirc/irexecd b/testing/lirc/irexecd
deleted file mode 100755
index a64b033a5..000000000
--- a/testing/lirc/irexecd
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/irexec.conf
-
-PID=`pidof -o %PPID /usr/bin/irexec`
-case "$1" in
- start)
- stat_busy "Starting IREXEC Daemon"
- [ -z "$PID" ] && /usr/bin/irexec --daemon $IREXEC_OPTS
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon irexecd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping IREXEC Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon irexecd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
-
diff --git a/testing/lirc/kernel-2.6.39.patch b/testing/lirc/kernel-2.6.39.patch
deleted file mode 100644
index 7353d61ca..000000000
--- a/testing/lirc/kernel-2.6.39.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ru lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c
---- lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c 2011-03-25 23:28:18.000000000 +0100
-+++ lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c 2011-06-07 17:02:20.356580306 +0200
-@@ -48,7 +48,6 @@
- #include <linux/slab.h>
- #include <linux/module.h>
- #include <linux/kmod.h>
--#include <linux/smp_lock.h>
- #include <linux/completion.h>
- #include <linux/uaccess.h>
- #include <linux/usb.h>
-diff -ru lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c
---- lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c 2011-03-25 23:28:18.000000000 +0100
-+++ lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c 2011-06-07 17:04:19.725933627 +0200
-@@ -555,8 +555,8 @@
- kfree(ir);
- return -EINVAL;
- }
-- printk(KERN_INFO "lirc_i2c: chip 0x%x found @ 0x%02x (%s)\n",
-- adap->id, addr, ir->c.name);
-+ printk(KERN_INFO "lirc_i2c: chip found @ 0x%02x (%s)\n",
-+ addr, ir->c.name);
-
- #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
- /* register device */
-diff -ru lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c
---- lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c 2011-03-25 23:28:18.000000000 +0100
-+++ lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c 2011-06-07 17:07:23.984935411 +0200
-@@ -361,14 +361,14 @@
- size = count << 3;
-
- ldata = (unsigned long *) data_buf;
-- next_one = generic_find_next_le_bit(ldata, size, 0);
-+ next_one = find_next_zero_bit_le(ldata, size, 0);
-
- if (next_one > 0)
- put_pulse_bit(next_one
- * WPC8769L_USECS_PER_BIT);
-
- while (next_one < size) {
-- next_zero = generic_find_next_zero_le_bit(ldata,
-+ next_zero = find_next_zero_bit_le(ldata,
- size, next_one + 1);
-
- put_space_bit(
-@@ -376,7 +376,7 @@
- * WPC8769L_USECS_PER_BIT);
-
- if (next_zero < size) {
-- next_one = generic_find_next_le_bit(ldata,
-+ next_one = find_next_bit_le(ldata,
- size, next_zero + 1);
-
- put_pulse_bit(
diff --git a/testing/lirc/lirc.install b/testing/lirc/lirc.install
deleted file mode 100644
index 26fb1391e..000000000
--- a/testing/lirc/lirc.install
+++ /dev/null
@@ -1,16 +0,0 @@
-KERNEL_VERSION=2.6.39-ARCH
-
-post_install() {
- # updating module dependencies
- echo ">>> Updating module dependencies. Please wait ..."
- depmod $KERNEL_VERSION > /dev/null 2>&1
-}
-
-post_upgrade() {
- post_install
-}
-
-# arg 1: the old package version
-post_remove() {
- post_install
-}
diff --git a/testing/lirc/lirc.logrotate b/testing/lirc/lirc.logrotate
deleted file mode 100644
index 623c4f328..000000000
--- a/testing/lirc/lirc.logrotate
+++ /dev/null
@@ -1,5 +0,0 @@
-/var/log/lircd {
- missingok
- notifempty
- delaycompress
-}
diff --git a/testing/lirc/lirc_atiusb-kfifo.patch b/testing/lirc/lirc_atiusb-kfifo.patch
deleted file mode 100644
index a64984dce..000000000
--- a/testing/lirc/lirc_atiusb-kfifo.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ec3c5660e67c122e2d5eb9cfa838c9709fccf8e0 Mon Sep 17 00:00:00 2001
-From: Jason Martin <publicmsu@gmail.com>
-Date: Fri, 3 Jun 2011 00:12:51 -0400
-Subject: [PATCH] lirc_atiusb: fix buffer alloc to work with new kfifo
-
-I came across posts with regards to lirc_atiusb and its compatibility
-with newer kernels, and their use of kfifo.I spent a little bit of time
-this evening, and was able to correct the issues with the driver, and
-now have a functioning lirc_atiusb device under the 2.6.38 kernel.
-
-Signed-off-by: Jarod Wilson <jarod@redhat.com>
----
- drivers/lirc_atiusb/lirc_atiusb.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/lirc_atiusb/lirc_atiusb.c b/drivers/lirc_atiusb/lirc_atiusb.c
-index 52080de..bf2b631 100644
---- a/drivers/lirc_atiusb/lirc_atiusb.c
-+++ b/drivers/lirc_atiusb/lirc_atiusb.c
-@@ -1048,7 +1048,7 @@ static struct atirf_dev *new_irctl(struct usb_interface *intf)
- goto new_irctl_failure_check;
- }
-
-- if (lirc_buffer_init(driver->rbuf, dclen, 1)) {
-+ if (lirc_buffer_init(driver->rbuf, dclen, 2)) {
- mem_failure = 4;
- goto new_irctl_failure_check;
- }
---
-1.7.0.1
-
diff --git a/testing/lirc/lirc_wpc8769l.patch b/testing/lirc/lirc_wpc8769l.patch
deleted file mode 100644
index e4e2a049b..000000000
--- a/testing/lirc/lirc_wpc8769l.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 413e83bf504fe9a9a177f27742220cfcb184b034 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Juan=20Jes=C3=BAs=20Garc=C3=ADa=20de=20Soria=20Lucena?= <skandalfo@gmail.com>
-Date: Wed, 30 Mar 2011 16:46:35 -0400
-Subject: [PATCH] Make lirc_wpc8769l functional again
-
-Signed-off-by: Jarod Wilson <jarod@redhat.com>
----
- drivers/lirc_wpc8769l/lirc_wpc8769l.c | 28 +++++++++++++++++-----------
- 1 files changed, 17 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
-index f820d11..4d04063 100644
---- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
-+++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
-@@ -816,10 +816,6 @@ static int set_use_inc(void *data)
- /* Reset last timeout value. */
- lastus = 0;
-
-- /* Init the read buffer. */
-- if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0)
-- return -ENOMEM;
--
- /* Acquire the IRQ. */
- result = request_irq(irq, irq_handler,
- IRQF_DISABLED | IRQF_SHARED,
-@@ -863,9 +859,6 @@ static void set_use_dec(void *data)
- /* Free the IRQ. */
- free_irq(irq, THIS_MODULE);
- dprintk("Freed IRQ %d\n", irq);
--
-- /* Free the RX buffer. */
-- lirc_buffer_free(&rbuf);
- }
-
- static struct lirc_driver driver = {
-@@ -1065,19 +1058,29 @@ static int __init lirc_wpc8769l_module_init(void)
- /* Do load-time checks. */
- wpc8769l_power_up_and_check_if_we_woke_us_up();
-
-+ /* Init the read buffer. */
-+ if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0) {
-+ rc = -ENOMEM;
-+ goto exit_platform_exit;
-+ }
-+
- /* Configure the driver hooks. */
- driver.features = LIRC_CAN_REC_MODE2;
-+ driver.dev = &lirc_wpc8769l_platform_dev->dev;
- driver.minor = lirc_register_driver(&driver);
- if (driver.minor < 0) {
- eprintk("lirc_register_driver failed!\n");
- rc = -EIO;
-- goto exit_platform_exit;
-+ goto exit_release_buffer;
- }
-
- iprintk("Driver loaded.\n");
-
- return 0; /* Everything OK. */
-
-+exit_release_buffer:
-+ lirc_buffer_free(&rbuf);
-+
- exit_platform_exit:
- lirc_wpc8769l_platform_exit();
-
-@@ -1095,12 +1098,15 @@ module_init(lirc_wpc8769l_module_init);
-
- static void __exit lirc_wpc8769l_module_exit(void)
- {
-- /* Unregister the platform driver and device. */
-- lirc_wpc8769l_platform_exit();
--
- /* Unregister the LIRC driver. */
- lirc_unregister_driver(driver.minor);
-
-+ /* Free the buffer. */
-+ lirc_buffer_free(&rbuf);
-+
-+ /* Unregister the platform driver and device. */
-+ lirc_wpc8769l_platform_exit();
-+
- /* Release the second range. */
- if (baseport2)
- release_region(baseport2, WPC8769L_IO_REGION_2_SIZE);
---
-1.7.0.1
-
diff --git a/testing/lirc/lircd b/testing/lirc/lircd
deleted file mode 100755
index e9739b36e..000000000
--- a/testing/lirc/lircd
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/lircd.conf
-
-PID=$(pidof -o %PPID /usr/sbin/lircd)
-LIRCD_SYMLINKFILE=/dev/lircd
-LIRCD_SOCKET=/var/run/lirc/lircd
-case "$1" in
- start)
- stat_busy "Starting LIRC Daemon"
- [ ! -d /var/run/lirc ] && install -d /var/run/lirc &>/dev/null
- rm -f $LIRCD_SOCKET && ln -s $LIRCD_SOCKET $LIRCD_SYMLINKFILE
- if [ $? -ne 0 ]; then
- stat_fail
- exit 0
- fi
- [ -n "$LIRC_DRIVER" ] && LIRC_EXTRAOPTS="-H $LIRC_DRIVER $LIRC_EXTRAOPTS"
- [ -z "$PID" ] &&
- if [ -n "$LIRC_DEVICE" ] ; then
- eval /usr/sbin/lircd -d "$LIRC_DEVICE" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
- else
- /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
- fi
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon lircd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping LIRC Daemon"
- rm -f $LIRCD_SYMLINKFILE
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon lircd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 start|stop|restart"
-esac
-exit 0
diff --git a/testing/lirc/lircd-handle-large-config.patch b/testing/lirc/lircd-handle-large-config.patch
deleted file mode 100644
index 85bc20518..000000000
--- a/testing/lirc/lircd-handle-large-config.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5efb56bf22a5077db564c766ba7cc37bc269231d Mon Sep 17 00:00:00 2001
-From: Jarod Wilson <jarod@redhat.com>
-Date: Wed, 6 Apr 2011 11:04:12 -0400
-Subject: [PATCH] lircd: handle larger config files in write_socket better
-
-Pointed out by Michael Zanetti on list, irsend LIST has issues with long
-config files, which didn't exist in maintainer mode, as we were using a
-do while loop to make sure we spit out everything. Just use that loop
-all the time.
-
-Signed-off-by: Jarod Wilson <jarod@redhat.com>
----
- daemons/lircd.c | 8 ++------
- 1 files changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/daemons/lircd.c b/daemons/lircd.c
-index 6c21a3a..ddcca05 100644
---- a/daemons/lircd.c
-+++ b/daemons/lircd.c
-@@ -231,14 +231,10 @@ inline int write_socket(int fd, const char *buf, int len)
- int done, todo = len;
-
- while (todo) {
--#ifdef SIM_REC
- do {
- done = write(fd, buf, todo);
-- }
-- while (done < 0 && errno == EAGAIN);
--#else
-- done = write(fd, buf, todo);
--#endif
-+ } while (done < 0 && errno == EAGAIN);
-+
- if (done <= 0)
- return (done);
- buf += done;
---
-1.7.0.1
-
diff --git a/testing/lirc/lircd.conf b/testing/lirc/lircd.conf
deleted file mode 100644
index 760dab065..000000000
--- a/testing/lirc/lircd.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# Parameters for lirc daemon
-#
-
-LIRC_DEVICE="/dev/lirc0"
-LIRC_DRIVER=""
-LIRC_EXTRAOPTS=""
-LIRC_CONFIGFILE=""
diff --git a/testing/lirc/lircmd b/testing/lirc/lircmd
deleted file mode 100755
index 220c47c9c..000000000
--- a/testing/lirc/lircmd
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/sbin/lircmd`
-case "$1" in
- start)
- stat_busy "Starting lircmd Daemon"
- [ -z "$PID" ] && /usr/sbin/lircmd
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon lircmd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping lircmd Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon lircmd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/testing/moc/PKGBUILD b/testing/moc/PKGBUILD
deleted file mode 100644
index 535afc1a5..000000000
--- a/testing/moc/PKGBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# $Id: PKGBUILD 126916 2011-06-08 17:30:45Z eric $
-# Maintainer: Eric Bélanger <eric@archlinux.org>
-
-pkgname=moc
-pkgver=20110528
-pkgrel=2
-pkgdesc="An ncurses console audio player with support for the mp3, ogg, and wave formats"
-arch=('i686' 'x86_64')
-url="http://moc.daper.net/"
-license=('GPL')
-depends=('libmad' 'libid3tag' 'jack' 'curl' 'libsamplerate' 'libtool' 'file')
-makedepends=('speex' 'ffmpeg' 'taglib' 'libmpcdec' 'wavpack' 'libmodplug')
-optdepends=('speex: for using the speex plugin'
- 'ffmpeg: for using the ffmpeg plugin'
- 'taglib: for using the musepack plugin'
- 'libmpcdec: for using the musepack plugin'
- 'wavpack: for using the wavpack plugin'
- 'libmodplug: for using the modplug plugin')
-options=('!libtool')
-source=(ftp://ftp.archlinux.org/other/moc/${pkgname}-${pkgver}.tar.xz \
- gcc-undefined-symbols.diff)
-md5sums=('003fd01af2165264eb666040e4f586cd'
- 'efacb8559e9145e15b0c25f8fa2a9d79')
-sha1sums=('f79049136ce6616bfd6af2f5e08246a5921441cf'
- 'a811a4ac7e049914aab528d3f06a6be6634c2720')
-
-build() {
- cd "${srcdir}/${pkgname}"
- patch -p0 -i ../gcc-undefined-symbols.diff
-
-# Disabling aac to use the external ffmpeg to play them (FS#13164)
- ./autogen.sh
- ./configure --prefix=/usr --without-rcc --without-aac \
- --with-oss --with-alsa --with-jack --with-mp3 \
- --with-musepack --with-vorbis --with-flac --with-wavpack \
- --with-sndfile --with-modplug --with-ffmpeg --with-speex \
- --with-samplerate --with-curl --disable-debug
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/testing/moc/gcc-undefined-symbols.diff b/testing/moc/gcc-undefined-symbols.diff
deleted file mode 100644
index 09e9b8bda..000000000
--- a/testing/moc/gcc-undefined-symbols.diff
+++ /dev/null
@@ -1,12 +0,0 @@
---- decoder.c~ 2011-05-08 09:28:28.077137883 +0200
-+++ decoder.c 2011-05-10 21:40:48.887941968 +0200
-@@ -259,6 +259,9 @@
- for (i = 0; i < plugins_num; i++)
- if (plugins[i].decoder->destroy)
- plugins[i].decoder->destroy ();
-+ for (i = 0; i < plugins_num; i++)
-+ if (plugins[i].handle)
-+ lt_dlclose(plugins[i].handle);
-
- if (lt_dlexit())
- logit ("lt_exit() failed: %s", lt_dlerror());
diff --git a/testing/mpd/PKGBUILD b/testing/mpd/PKGBUILD
deleted file mode 100644
index acdf209ef..000000000
--- a/testing/mpd/PKGBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# $Id: PKGBUILD 127604 2011-06-16 17:50:00Z angvp $
-# Maintainer: Angel Velasquez <angvp@archlinux.org>
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
-# Contributor: Ben <ben@benmazer.net>
-
-pkgname=mpd
-pkgver=0.16.3
-pkgrel=1
-pkgdesc="Music daemon that plays MP3, FLAC, and Ogg Vorbis files"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://mpd.wikia.com/wiki/Server"
-depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2'
- 'sqlite3' 'jack' 'libmms' 'wavpack' 'libmpcdec' 'avahi' 'libid3tag'
- 'libpulse')
-makedepends=('pkgconfig' 'doxygen')
-install=${pkgname}.install
-source=("http://downloads.sourceforge.net/musicpd/${pkgname}-${pkgver}.tar.bz2"
- 'mpd')
-md5sums=('6e708c02b0e8c288aec855eecf441a5a'
- 'e5669c2bff4031928531e52475addeb1')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --enable-lastfm \
- --enable-jack \
- --enable-pulse \
- --enable-documentation \
- --disable-libwrap \
- --disable-cue \
- --disable-sidplay
- make
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-
- # set ours dirs in mpd.conf file
- sed -i 's|^music_directory.*$|#music_directory "path_to_your_music_collection"|1' doc/mpdconf.example
- sed -i 's|playlist_directory.*$|playlist_directory "/var/lib/mpd/playlists"|1' doc/mpdconf.example
- sed -i 's|db_file.*$|db_file "/var/lib/mpd/mpd.db"|1' doc/mpdconf.example
- sed -i 's|log_file.*$|log_file "/var/log/mpd/mpd.log"|1' doc/mpdconf.example
- sed -i 's|error_file.*$|error_file "/var/log/mpd/mpd.error"|1' doc/mpdconf.example
- sed -i 's|#pid_file.*$|pid_file "/var/run/mpd/mpd.pid"|1' doc/mpdconf.example
- sed -i 's|#state_file.*$|state_file "/var/lib/mpd/mpdstate"|1' doc/mpdconf.example
- sed -i 's|#user.*$|user "mpd"|1' doc/mpdconf.example
-
- install -Dm644 doc/mpdconf.example ${pkgdir}/usr/share/mpd/mpd.conf.example
-
- install -Dm755 ${srcdir}/mpd ${pkgdir}/etc/rc.d/mpd
- install -d ${pkgdir}/var/{lib/mpd/playlists,log/mpd}
-}
diff --git a/testing/mpd/mpd b/testing/mpd/mpd
deleted file mode 100755
index 6134e2ed4..000000000
--- a/testing/mpd/mpd
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-case "$1" in
- start)
- stat_busy "Starting Music Player Daemon"
- [ ! -d /var/run/mpd ] && install -d -g 45 -o 45 /var/run/mpd
- /usr/bin/mpd /etc/mpd.conf &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon mpd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Music Player Daemon"
- /usr/bin/mpd --kill /etc/mpd.conf &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon mpd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/testing/mpd/mpd.install b/testing/mpd/mpd.install
deleted file mode 100644
index 885505a07..000000000
--- a/testing/mpd/mpd.install
+++ /dev/null
@@ -1,18 +0,0 @@
-post_install() {
- post_upgrade
- echo "==> Create a configuration file /etc/mpd.conf before using MPD (example: /usr/share/mpd/mpd.conf.example)"
-}
-
-post_upgrade() {
- getent group "mpd" &>/dev/null || groupadd -r -g 45 mpd 1>/dev/null
- getent passwd "mpd" &>/dev/null || useradd -r -u 45 -g mpd -d "/var/lib/mpd" -s "/bin/true" -G "audio" mpd 1>/dev/null
- for dir in /var/{lib,log}/mpd; do
- chown -R mpd:mpd "$dir" 1>/dev/null
- done
-}
-
-post_remove() {
- getent passwd "mpd" &>/dev/null && userdel mpd 1>/dev/null
- getent group "mpd" &>/dev/null && groupdel mpd 1>/dev/null
- [ -f etc/mpd.conf ] && mv etc/mpd.conf etc/mpd.conf.pacsave 1>/dev/null
-}
diff --git a/testing/net-tools/PKGBUILD b/testing/net-tools/PKGBUILD
deleted file mode 100644
index 6a81124ea..000000000
--- a/testing/net-tools/PKGBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# $Id: PKGBUILD 127037 2011-06-10 00:48:19Z bisson $
-# Maintainer: judd <jvinet@zeroflux.org>
-pkgname=net-tools
-pkgver=1.60
-pkgrel=18
-pkgdesc="Configuration tools for Linux networking"
-arch=(i686 x86_64)
-license=('GPL')
-url="http://www.tazenda.demon.co.uk/phil/net-tools"
-depends=('glibc')
-source=(http://www.tazenda.demon.co.uk/phil/$pkgname/$pkgname-$pkgver.tar.bz2
- net-tools.patch gcc340.patch net-tools-1.60-2.6-compilefix.patch
- net-tools-1.60-miiioctl.patch
- net-tools-1.60-nameif.patch
- net-tools-1.60-nameif_strncpy.patch)
-options=(!makeflags)
-install=net-tools.install
-
-build() {
- cd $srcdir/$pkgname-$pkgver
- patch -Np1 -i ../net-tools.patch
- patch -Np1 -i ../net-tools-1.60-2.6-compilefix.patch
- patch -Np1 -i ../net-tools-1.60-miiioctl.patch
- patch -Np1 -i ../gcc340.patch
- patch -Np1 -i ${srcdir}/net-tools-1.60-nameif.patch
- patch -Np1 -i ${srcdir}/net-tools-1.60-nameif_strncpy.patch
- yes "" | make
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make BASEDIR=$pkgdir update
-
- # the following is provided by yp-tools
- rm "${pkgdir}"/bin/{nis,yp}domainname
- rm "${pkgdir}"/usr/share/man/man1/{nis,yp}domainname.1
-}
-md5sums=('888774accab40217dde927e21979c165'
- '7ef8d0c6818faa0fdeea94970a20e3fb'
- 'b52d899cba9956bb0055150506f41ac1'
- '51de6eabe2d6d6dc860f72c41cee636b'
- 'c16109863bc63f3dad4ef35305a340bb'
- '29a32617382fab1735acba4d920f1fcd'
- 'e66466b9304dac85eb42b32f1ec3b284')
diff --git a/testing/net-tools/gcc340.patch b/testing/net-tools/gcc340.patch
deleted file mode 100644
index 8089bf217..000000000
--- a/testing/net-tools/gcc340.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -Naur net-tools-1.60-orig/hostname.c net-tools-1.60/hostname.c
---- net-tools-1.60-orig/hostname.c 2001-04-08 10:04:23.000000000 -0700
-+++ net-tools-1.60/hostname.c 2004-05-07 17:22:14.000000000 -0700
-@@ -78,6 +78,7 @@
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
- default:
-+ ;
- }
- exit(1);
- }
-@@ -98,6 +99,7 @@
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
- default:
-+ ;
- }
- exit(1);
- };
-@@ -117,6 +119,7 @@
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
- default:
-+ ;
- }
- exit(1);
- };
-@@ -174,6 +177,7 @@
- printf("%s\n", hp->h_name);
- break;
- default:
-+ ;
- }
- }
-
-diff -Naur net-tools-1.60-orig/lib/inet_sr.c net-tools-1.60/lib/inet_sr.c
---- net-tools-1.60-orig/lib/inet_sr.c 2000-02-20 13:46:45.000000000 -0800
-+++ net-tools-1.60/lib/inet_sr.c 2004-05-07 17:20:14.000000000 -0700
-@@ -105,6 +105,7 @@
- case 2:
- isnet = 0; break;
- default:
-+ ;
- }
-
- /* Fill in the other fields. */
diff --git a/testing/net-tools/net-tools-1.60-2.6-compilefix.patch b/testing/net-tools/net-tools-1.60-2.6-compilefix.patch
deleted file mode 100644
index 92ce90128..000000000
--- a/testing/net-tools/net-tools-1.60-2.6-compilefix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ruN net-tools-1.60.orig/lib/x25_sr.c net-tools-1.60/lib/x25_sr.c
---- net-tools-1.60.orig/lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200
-+++ net-tools-1.60/lib/x25_sr.c 2003-10-18 20:33:31.927574928 +0200
-@@ -22,6 +22,7 @@
- #include <sys/socket.h>
- #include <sys/ioctl.h>
- #include <linux/x25.h>
-+#include <linux/version.h>
- #include <ctype.h>
- #include <errno.h>
- #include <netdb.h>
-@@ -77,7 +78,11 @@
- rt.sigdigits=sigdigits;
-
- /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
- memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address));
-+#else
-+ memcpy(&rt.address, &sx25.sx25_addr, sizeof(struct x25_address));
-+#endif
-
- while (*args) {
- if (!strcmp(*args,"device") || !strcmp(*args,"dev")) {
diff --git a/testing/net-tools/net-tools-1.60-miiioctl.patch b/testing/net-tools/net-tools-1.60-miiioctl.patch
deleted file mode 100644
index 4859273ed..000000000
--- a/testing/net-tools/net-tools-1.60-miiioctl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- net-tools-1.60/include/mii.h.bar Tue Jul 31 11:49:39 2001
-+++ net-tools-1.60/include/mii.h Tue Jul 31 11:49:33 2001
-@@ -11,11 +11,9 @@
-
- /* network interface ioctl's for MII commands */
- #ifndef SIOCGMIIPHY
--#define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */
--#define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */
--#define SIOCSMIIREG (SIOCDEVPRIVATE+2) /* Write any PHY register */
--#define SIOCGPARAMS (SIOCDEVPRIVATE+3) /* Read operational parameters */
--#define SIOCSPARAMS (SIOCDEVPRIVATE+4) /* Set operational parameters */
-+#define SIOCGMIIPHY 0x8947 /* Read from current PHY */
-+#define SIOCGMIIREG 0x8948 /* Read any PHY register */
-+#define SIOCSMIIREG 0x8949 /* Write any PHY register */
- #endif
-
- #include <linux/types.h>
diff --git a/testing/net-tools/net-tools-1.60-nameif.patch b/testing/net-tools/net-tools-1.60-nameif.patch
deleted file mode 100644
index 54def00c2..000000000
--- a/testing/net-tools/net-tools-1.60-nameif.patch
+++ /dev/null
@@ -1,58 +0,0 @@
---- net-tools-1.60/nameif.c.nameif 2000-10-18 19:26:29.000000000 +0200
-+++ net-tools-1.60/nameif.c 2003-03-19 11:02:01.000000000 +0100
-@@ -117,7 +117,8 @@
- }
-
- struct change {
-- struct change *next,**pprev;
-+ struct change *next;
-+ int found;
- char ifname[IFNAMSIZ+1];
- unsigned char mac[6];
- };
-@@ -139,10 +140,7 @@
- ch->ifname, pos);
- if (parsemac(p,ch->mac) < 0)
- complain(_("cannot parse MAC `%s' at %s"), p, pos);
-- if (clist)
-- clist->pprev = &ch->next;
- ch->next = clist;
-- ch->pprev = &clist;
- clist = ch;
- return 0;
- }
-@@ -200,7 +198,7 @@
-
- void usage(void)
- {
-- fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}"));
-+ fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n"));
- exit(1);
- }
-
-@@ -277,21 +275,21 @@
- ch = lookupmac(mac);
- if (!ch)
- continue;
--
-- *ch->pprev = ch->next;
-+
-+ ch->found = 1;
- if (strcmp(p, ch->ifname)) {
- if (setname(p, ch->ifname) < 0)
- complain(_("cannot change name of %s to %s: %s"),
- p, ch->ifname, strerror(errno));
- }
-- free(ch);
- }
- fclose(ifh);
-
- while (clist) {
- struct change *ch = clist;
- clist = clist->next;
-- warning(_("interface '%s' not found"), ch->ifname);
-+ if (!ch->found)
-+ warning(_("interface '%s' not found"), ch->ifname);
- free(ch);
- }
-
diff --git a/testing/net-tools/net-tools-1.60-nameif_strncpy.patch b/testing/net-tools/net-tools-1.60-nameif_strncpy.patch
deleted file mode 100644
index 7568e21a2..000000000
--- a/testing/net-tools/net-tools-1.60-nameif_strncpy.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- net-tools-1.60/nameif.c.ncpy 2006-10-03 14:24:21.000000000 +0200
-+++ net-tools-1.60/nameif.c 2006-10-03 14:22:43.000000000 +0200
-@@ -100,8 +100,8 @@
- struct ifreq ifr;
- opensock();
- memset(&ifr,0,sizeof(struct ifreq));
-- strcpy(ifr.ifr_name, oldname);
-- strcpy(ifr.ifr_newname, newname);
-+ strncpy(ifr.ifr_name, oldname, IF_NAMESIZE);
-+ strncpy(ifr.ifr_newname, newname, IF_NAMESIZE);
- return ioctl(ctl_sk, SIOCSIFNAME, &ifr);
- }
-
diff --git a/testing/net-tools/net-tools.install b/testing/net-tools/net-tools.install
deleted file mode 100644
index 9eee9e51b..000000000
--- a/testing/net-tools/net-tools.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_upgrade() {
- if [ "$(vercmp $2 1.60-16)" -lt 0 ]; then
- echo "hostname and {,yp,nis}domainname has moved:"
- echo "----------"
- echo "hostname is now in coreutils"
- echo "domainname is now in yp-tools"
- echo "their functionality might have changed slightly"
- echo ""
- echo "dnsdomainname remains in net-tools"
- echo "----------"
- fi
-}
diff --git a/testing/net-tools/net-tools.patch b/testing/net-tools/net-tools.patch
deleted file mode 100644
index 87e062eb2..000000000
--- a/testing/net-tools/net-tools.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -Naur net-tools-1.60-orig/config.in net-tools-1.60/config.in
---- net-tools-1.60-orig/config.in 2000-05-21 07:32:12.000000000 -0700
-+++ net-tools-1.60/config.in 2004-05-31 12:36:00.000000000 -0700
-@@ -49,7 +49,7 @@
- *
- bool 'UNIX protocol family' HAVE_AFUNIX y
- bool 'INET (TCP/IP) protocol family' HAVE_AFINET y
--bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 n
-+bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 y
- bool 'Novell IPX/SPX protocol family' HAVE_AFIPX y
- bool 'Appletalk DDP protocol family' HAVE_AFATALK y
- bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y
-@@ -86,6 +86,6 @@
- *
- * Other Features.
- *
--bool 'IP Masquerading support' HAVE_FW_MASQUERADE n
--bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS n
--bool 'Build mii-tool' HAVE_MII n
-+bool 'IP Masquerading support' HAVE_FW_MASQUERADE y
-+bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y
-+bool 'Build mii-tool' HAVE_MII y
-diff -Naur net-tools-1.60-orig/mii-tool.c net-tools-1.60/mii-tool.c
---- net-tools-1.60-orig/mii-tool.c 2000-05-21 07:31:17.000000000 -0700
-+++ net-tools-1.60/mii-tool.c 2004-05-31 12:35:21.000000000 -0700
-@@ -379,16 +379,16 @@
- /*--------------------------------------------------------------------*/
-
- const char *usage =
--"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]
-- -V, --version display version information
-- -v, --verbose more verbose output
-- -R, --reset reset MII to poweron state
-- -r, --restart restart autonegotiation
-- -w, --watch monitor for link status changes
-- -l, --log with -w, write events to syslog
-- -A, --advertise=media,... advertise only specified media
-- -F, --force=media force specified media technology
--media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
-+"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n\
-+ -V, --version display version information\n\
-+ -v, --verbose more verbose output\n\
-+ -R, --reset reset MII to poweron state\n\
-+ -r, --restart restart autonegotiation\n\
-+ -w, --watch monitor for link status changes\n\
-+ -l, --log with -w, write events to syslog\n\
-+ -A, --advertise=media,... advertise only specified media\n\
-+ -F, --force=media force specified media technology\n\
-+media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,\n\
- (to advertise both HD and FD) 100baseTx, 10baseT\n";
-
- int main(int argc, char **argv)
diff --git a/testing/nouveau-drm-lts/COPYING b/testing/nouveau-drm-lts/COPYING
deleted file mode 100644
index 6e74c337c..000000000
--- a/testing/nouveau-drm-lts/COPYING
+++ /dev/null
@@ -1,48 +0,0 @@
- Copyright 2005 Adam Jackson.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation on the rights to use, copy, modify, merge,
- publish, distribute, sub license, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice (including the
- next paragraph) shall be included in all copies or substantial
- portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NON-INFRINGEMENT. IN NO EVENT SHALL ADAM JACKSON BE LIABLE FOR ANY
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-------------------------------------------------------------------------
-
- Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
- Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
- All Rights Reserved.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice (including the
- next paragraph) shall be included in all copies or substantial
- portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS
- SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
diff --git a/testing/nouveau-drm-lts/Makefile b/testing/nouveau-drm-lts/Makefile
deleted file mode 100644
index 123bc5339..000000000
--- a/testing/nouveau-drm-lts/Makefile
+++ /dev/null
@@ -1,102 +0,0 @@
-# This Makefile is loosely based on the drm.git/linux-core/Makefile and
-# the preliminary work by Christopher James Halse Rogers.
-# Edited by Pekka Paalanen <pq@iki.fi>
-
-# By default, the build is done against the running linux kernel source.
-# To build against a different kernel source tree, set LINUXDIR:
-#
-# make LINUXDIR=/path/to/kernel/source
-
-# By default, it is assumed the Nouveau kernel tree is found in $PWD/../.
-# To use a different path to the Nouveau kernel tree, set NOUVEAUROOTDIR:
-#
-# make NOUVEAUROOTDIR=/path/to/nouveau/linux-2.6
-
-
-ifndef LINUXDIR
-RUNNING_REL := $(shell uname -r)
-
-LINUXDIR := $(shell if [ -e /lib/modules/$(RUNNING_REL)/source ]; then \
- echo /lib/modules/$(RUNNING_REL)/source; \
- else echo /lib/modules/$(RUNNING_REL)/build; fi)
-endif
-
-NOUVEAUGITREMOTE ?= origin
-NOUVEAUROOTDIR ?= $(CURDIR)/..
-override NOUVEAUROOTDIR := $(abspath $(NOUVEAUROOTDIR))
-
-TESTFILE := include/drm/nouveau_drm.h
-ifeq ($(wildcard $(NOUVEAUROOTDIR)/$(TESTFILE)),)
-$(error $(NOUVEAUROOTDIR) does not look like the right kernel tree, \
- please set NOUVEAUROOTDIR)
-endif
-
-GIT_REVISION := $(shell GIT_DIR=$(NOUVEAUROOTDIR)/.git \
- git describe --always --abbrev=17 2> /dev/null)
-
-DRMINC := -I$(NOUVEAUROOTDIR)/include/drm
-DRMDIR := $(NOUVEAUROOTDIR)/drivers/gpu/drm
-DRMCFG := \
- CONFIG_DRM=m \
- CONFIG_DRM_KMS_HELPER=m \
- CONFIG_DRM_TTM=m \
- CONFIG_DRM_NOUVEAU=m \
- CONFIG_DRM_NOUVEAU_KMS=n \
- CONFIG_DRM_NOUVEAU_BACKLIGHT=y \
- CONFIG_DRM_NOUVEAU_DEBUG=y \
- CONFIG_DRM_I2C_CH7006=m \
- CONFIG_DRM_TDFX=n \
- CONFIG_DRM_R128=n \
- CONFIG_DRM_RADEON=n \
- CONFIG_DRM_MGA=n \
- CONFIG_DRM_I810=n \
- CONFIG_DRM_I830=n \
- CONFIG_DRM_I915=n \
- CONFIG_DRM_SIS=n \
- CONFIG_DRM_SAVAGE=n \
- CONFIG_DRM_VIA=n
-
-EXTRA_CFLAGS :=
-MYEXTRA_CFLAGS :=
-MYEXTRA_CFLAGS += -DCONFIG_DRM_NOUVEAU_BACKLIGHT
-MYEXTRA_CFLAGS += -DCONFIG_DRM_NOUVEAU_DEBUG
-
-ifneq ($(GIT_REVISION),)
-MYEXTRA_CFLAGS += '-DGIT_REVISION=\"$(GIT_REVISION)\"'
-endif
-
-MYPARMS := -C $(LINUXDIR) KCPPFLAGS="$(DRMINC)" SUBDIRS="$(DRMDIR)" $(DRMCFG)
-
-MYEXTRA_CFLAGS += $(EXTRA_CFLAGS)
-ifneq ($(MYEXTRA_CFLAGS),)
-MYPARMS += EXTRA_CFLAGS="$(MYEXTRA_CFLAGS)"
-endif
-
-.PHONY: all modules install clean archive FORCE
-
-all: modules
-FORCE:
-
-modules:
- $(MAKE) $(MYPARMS) modules
-
-install:
- $(MAKE) $(MYPARMS) modules_install
-
-clean:
- $(MAKE) $(MYPARMS) clean
-
-archive: newttm-devel-compat.tar.gz newttm-devel.tar.gz master.tar.gz
-
-newttm-devel-compat.tar.gz: EXTRAS=nouveau README-nouveau
-
-%.tar: FORCE
- GIT_DIR=$(NOUVEAUROOTDIR)/.git \
- git archive --format=tar --prefix=$*/ $(NOUVEAUGITREMOTE)/$* \
- drivers/gpu/drm include/drm $(EXTRAS) > $@
-
-%.tar.gz: %.tar
- gzip -9 -c $< > $@
-
-# The commit id of the archive can be read with
-# $ zcat foo.tar.gz | git get-tar-commit-id
diff --git a/testing/nouveau-drm-lts/PKGBUILD b/testing/nouveau-drm-lts/PKGBUILD
deleted file mode 100644
index 1284563f4..000000000
--- a/testing/nouveau-drm-lts/PKGBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# $Id: PKGBUILD 126820 2011-06-07 13:57:50Z tpowa $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-# Contributor: buddabrod <buddabrod@gmail.com>
-
-pkgname=nouveau-drm-lts
-_snapdate=20100313
-pkgver=0.0.16_${_snapdate} # see master/drivers/gpu/drm/nouveau/nouveau_drv.h for version
-_kernver='2.6.32-lts'
-pkgrel=6
-pkgdesc="nvidia opensource X driver"
-arch=('i686' 'x86_64')
-url="http://nouveau.freedesktop.org/"
-depends=("kernel26-lts>=2.6.32" "kernel26-lts<2.6.33")
-makedepends=("kernel26-lts-headers>=2.6.32" "kernel26-lts-headers<2.6.33")
-# http://nouveau.freedesktop.org/wiki/InstallDRM#head-771a47a133fba6a5a70253656e76c61e9bff93bd
-optdepends=('nouveau-firmware: needed for very new card (NV50 family and above) to work properly where the OSS replacement does not work well')
-#makedepends=('git' 'autoconf' 'pkgconfig')
-install=nouveau-drm.install
-license=('GPL')
-options=('!strip')
-source=(ftp://ftp.archlinux.org/other/${pkgname/-lts//}/master-${_snapdate}.tar.gz
- # http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz
- # get the Makefile from http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat
- Makefile)
-md5sums=('ad7ad0fb73d56bcff3d2b54a70c3d511'
- 'e7d5df80186d5c736e82b0a7d46216bc')
-
-build() {
- cd ${srcdir}/master
- mkdir nouveau
- cp $srcdir/Makefile ${srcdir}/master/nouveau/
- cd nouveau
- make LINUXDIR=/lib/modules/${_kernver}/build DRM_MODULES="nouveau"
-}
-
-package() {
- install -D -m 0644 ${srcdir}/master/drivers/gpu/drm/drm.ko ${pkgdir}/lib/modules/${_kernver}/updates/drm.ko
- install -D -m 0644 ${srcdir}/master/drivers/gpu/drm/drm_kms_helper.ko ${pkgdir}/lib/modules/${_kernver}/updates/drm_kms_helper.ko
- install -D -m 0644 ${srcdir}/master/drivers/gpu/drm/nouveau/nouveau.ko ${pkgdir}/lib/modules/${_kernver}/kernel/drivers/video/nouveau.ko
- install -D -m 0644 ${srcdir}/master/drivers/gpu/drm/ttm/ttm.ko ${pkgdir}/lib/modules/${_kernver}/updates/ttm.ko
- install -D -m 0644 ${srcdir}/master/drivers/gpu/drm/i2c/ch7006.ko ${pkgdir}/lib/modules/${_kernver}/updates/ch7006.ko
-
- # install script
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" ${startdir}/nouveau-drm.install
- # gzip -9 modules
- find "$pkgdir" -name '*.ko' -exec gzip -9 {} \;
-}
diff --git a/testing/nouveau-drm-lts/dont_check_for_pthread.patch b/testing/nouveau-drm-lts/dont_check_for_pthread.patch
deleted file mode 100644
index 050f55767..000000000
--- a/testing/nouveau-drm-lts/dont_check_for_pthread.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
---- libdrm-2.4.0/configure.ac 2008-10-09 21:57:09.000000000 +0200
-+++ libdrm-2.4.0-nostubs/configure.ac 2008-10-21 10:48:24.000000000 +0200
-@@ -32,10 +32,6 @@
- AC_HEADER_STDC
- AC_SYS_LARGEFILE
-
--PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
--AC_SUBST(PTHREADSTUBS_CFLAGS)
--AC_SUBST(PTHREADSTUBS_LIBS)
--
- pkgconfigdir=${libdir}/pkgconfig
- AC_SUBST(pkgconfigdir)
- AC_ARG_ENABLE(udev, AS_HELP_STRING([--enable-udev],
-diff -ru libdrm-2.4.0/libdrm/intel/Makefile.am libdrm-2.4.0-nostubs/libdrm/intel/Makefile.am
---- libdrm-2.4.0/libdrm/intel/Makefile.am 2008-10-14 01:39:32.000000000 +0200
-+++ libdrm-2.4.0-nostubs/libdrm/intel/Makefile.am 2008-10-21 10:49:00.000000000 +0200
-@@ -26,13 +26,12 @@
- $(WARN_CFLAGS) \
- -I$(top_srcdir)/libdrm \
- -I$(top_srcdir)/libdrm/intel \
-- $(PTHREADSTUBS_CFLAGS) \
- -I$(top_srcdir)/shared-core
-
- libdrm_intel_la_LTLIBRARIES = libdrm_intel.la
- libdrm_intel_ladir = $(libdir)
- libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
--libdrm_intel_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-+libdrm_intel_la_LIBADD = ../libdrm.la
-
- libdrm_intel_la_SOURCES = \
- intel_bufmgr.c \
---- libdrm-2.4.5/libdrm/nouveau/Makefile.am.orig 2009-02-28 19:06:24.000000000 +0000
-+++ libdrm-2.4.5/libdrm/nouveau/Makefile.am 2009-02-28 19:06:33.000000000 +0000
-@@ -2,13 +2,12 @@
- $(WARN_CFLAGS) \
- -I$(top_srcdir)/libdrm \
- -I$(top_srcdir)/libdrm/nouveau \
-- $(PTHREADSTUBS_CFLAGS) \
- -I$(top_srcdir)/shared-core
-
- libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
- libdrm_nouveau_ladir = $(libdir)
- libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
--libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-+libdrm_nouveau_la_LIBADD = ../libdrm.la
-
- libdrm_nouveau_la_SOURCES = \
- nouveau_device.c \
diff --git a/testing/nouveau-drm-lts/nouveau-drm.install b/testing/nouveau-drm-lts/nouveau-drm.install
deleted file mode 100644
index beadaa563..000000000
--- a/testing/nouveau-drm-lts/nouveau-drm.install
+++ /dev/null
@@ -1,16 +0,0 @@
-post_install() {
- KERNEL_VERSION='2.6.32-lts'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
- echo "if you are running kms in early mode please rebuild your initrd"
-}
-
-post_upgrade() {
- post_install $1
- rmmod nouveau || echo 'In order to use the new nouveau module, exit Xserver and unload it manually.'
-}
-
-post_remove() {
- KERNEL_VERSION='2.6.32-lts'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
-}
-
diff --git a/testing/openssh/PKGBUILD b/testing/openssh/PKGBUILD
deleted file mode 100644
index 76f144bcc..000000000
--- a/testing/openssh/PKGBUILD
+++ /dev/null
@@ -1,71 +0,0 @@
-# $Id: PKGBUILD 127399 2011-06-14 16:51:03Z bisson $
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
-# Contributor: Aaron Griffin <aaron@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-
-pkgname=openssh
-pkgver=5.8p2
-pkgrel=8
-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"
- 'authfile.c.patch'
- 'sshd.confd'
- 'sshd.pam'
- 'sshd')
-sha1sums=('64798328d310e4f06c9f01228107520adbc8b3e5'
- '3669cb5ca6149f69015df5ce8e60b82c540eb0a4'
- 'ec102deb69cad7d14f406289d2fc11fee6eddbdd'
- '07fecd5880b1c4fdd8c94ddb2e89ddce88effdc1'
- '6b7f8ebf0c1cc37137a7d9a53447ac8a0ee6a2b5')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- patch -p1 -i ../authfile.c.patch # fix FS#24693 using http://anoncvs.mindrot.org/index.cgi/openssh/authfile.c?revision=1.95
-
- ./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/testing/openssh/authfile.c.patch b/testing/openssh/authfile.c.patch
deleted file mode 100644
index 6c18fe807..000000000
--- a/testing/openssh/authfile.c.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-diff -aur old/authfile.c new/authfile.c
---- old/authfile.c 2011-06-12 02:21:52.262338254 +0200
-+++ new/authfile.c 2011-06-12 02:13:43.051467269 +0200
-@@ -1,4 +1,4 @@
--/* $OpenBSD: authfile.c,v 1.87 2010/11/29 18:57:04 markus Exp $ */
-+/* $OpenBSD: authfile.c,v 1.95 2011/05/29 11:42:08 djm Exp $ */
- /*
- * Author: Tatu Ylonen <ylo@cs.hut.fi>
- * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
-@@ -69,6 +69,8 @@
- #include "misc.h"
- #include "atomicio.h"
-
-+#define MAX_KEY_FILE_SIZE (1024 * 1024)
-+
- /* Version identification string for SSH v1 identity files. */
- static const char authfile_id_string[] =
- "SSH PRIVATE KEY FILE FORMAT 1.1\n";
-@@ -312,12 +314,12 @@
- return pub;
- }
-
--/* Load the contents of a key file into a buffer */
--static int
-+/* Load a key from a fd into a buffer */
-+int
- key_load_file(int fd, const char *filename, Buffer *blob)
- {
-+ u_char buf[1024];
- size_t len;
-- u_char *cp;
- struct stat st;
-
- if (fstat(fd, &st) < 0) {
-@@ -325,30 +327,45 @@
- filename == NULL ? "" : filename,
- filename == NULL ? "" : " ",
- strerror(errno));
-- close(fd);
- return 0;
- }
-- if (st.st_size > 1*1024*1024) {
-+ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 &&
-+ st.st_size > MAX_KEY_FILE_SIZE) {
-+ toobig:
- error("%s: key file %.200s%stoo large", __func__,
- filename == NULL ? "" : filename,
- filename == NULL ? "" : " ");
-- close(fd);
- return 0;
- }
-- len = (size_t)st.st_size; /* truncated */
--
- buffer_init(blob);
-- cp = buffer_append_space(blob, len);
--
-- if (atomicio(read, fd, cp, len) != len) {
-- debug("%s: read from key file %.200s%sfailed: %.100s", __func__,
-- filename == NULL ? "" : filename,
-- filename == NULL ? "" : " ",
-- strerror(errno));
-+ for (;;) {
-+ if ((len = atomicio(read, fd, buf, sizeof(buf))) == 0) {
-+ if (errno == EPIPE)
-+ break;
-+ debug("%s: read from key file %.200s%sfailed: %.100s",
-+ __func__, filename == NULL ? "" : filename,
-+ filename == NULL ? "" : " ", strerror(errno));
-+ buffer_clear(blob);
-+ bzero(buf, sizeof(buf));
-+ return 0;
-+ }
-+ buffer_append(blob, buf, len);
-+ if (buffer_len(blob) > MAX_KEY_FILE_SIZE) {
-+ buffer_clear(blob);
-+ bzero(buf, sizeof(buf));
-+ goto toobig;
-+ }
-+ }
-+ bzero(buf, sizeof(buf));
-+ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 &&
-+ st.st_size != buffer_len(blob)) {
-+ debug("%s: key file %.200s%schanged size while reading",
-+ __func__, filename == NULL ? "" : filename,
-+ filename == NULL ? "" : " ");
- buffer_clear(blob);
-- close(fd);
- return 0;
- }
-+
- return 1;
- }
-
-@@ -606,7 +623,7 @@
- error("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
- error("Permissions 0%3.3o for '%s' are too open.",
- (u_int)st.st_mode & 0777, filename);
-- error("It is recommended that your private key files are NOT accessible by others.");
-+ error("It is required that your private key files are NOT accessible by others.");
- error("This private key will be ignored.");
- return 0;
- }
-@@ -626,6 +643,7 @@
- case KEY_UNSPEC:
- return key_parse_private_pem(blob, type, passphrase, commentp);
- default:
-+ error("%s: cannot parse key type %d", __func__, type);
- break;
- }
- return NULL;
-@@ -670,11 +688,38 @@
- }
-
- Key *
-+key_parse_private(Buffer *buffer, const char *filename,
-+ const char *passphrase, char **commentp)
-+{
-+ Key *pub, *prv;
-+ Buffer pubcopy;
-+
-+ buffer_init(&pubcopy);
-+ buffer_append(&pubcopy, buffer_ptr(buffer), buffer_len(buffer));
-+ /* it's a SSH v1 key if the public key part is readable */
-+ pub = key_parse_public_rsa1(&pubcopy, commentp);
-+ buffer_free(&pubcopy);
-+ if (pub == NULL) {
-+ prv = key_parse_private_type(buffer, KEY_UNSPEC,
-+ passphrase, NULL);
-+ /* use the filename as a comment for PEM */
-+ if (commentp && prv)
-+ *commentp = xstrdup(filename);
-+ } else {
-+ key_free(pub);
-+ /* key_parse_public_rsa1() has already loaded the comment */
-+ prv = key_parse_private_type(buffer, KEY_RSA1, passphrase,
-+ NULL);
-+ }
-+ return prv;
-+}
-+
-+Key *
- key_load_private(const char *filename, const char *passphrase,
- char **commentp)
- {
-- Key *pub, *prv;
-- Buffer buffer, pubcopy;
-+ Key *prv;
-+ Buffer buffer;
- int fd;
-
- fd = open(filename, O_RDONLY);
-@@ -697,23 +742,7 @@
- }
- close(fd);
-
-- buffer_init(&pubcopy);
-- buffer_append(&pubcopy, buffer_ptr(&buffer), buffer_len(&buffer));
-- /* it's a SSH v1 key if the public key part is readable */
-- pub = key_parse_public_rsa1(&pubcopy, commentp);
-- buffer_free(&pubcopy);
-- if (pub == NULL) {
-- prv = key_parse_private_type(&buffer, KEY_UNSPEC,
-- passphrase, NULL);
-- /* use the filename as a comment for PEM */
-- if (commentp && prv)
-- *commentp = xstrdup(filename);
-- } else {
-- key_free(pub);
-- /* key_parse_public_rsa1() has already loaded the comment */
-- prv = key_parse_private_type(&buffer, KEY_RSA1, passphrase,
-- NULL);
-- }
-+ prv = key_parse_private(&buffer, filename, passphrase, commentp);
- buffer_free(&buffer);
- return prv;
- }
-@@ -737,13 +766,19 @@
- case '\0':
- continue;
- }
-+ /* Abort loading if this looks like a private key */
-+ if (strncmp(cp, "-----BEGIN", 10) == 0)
-+ break;
- /* Skip leading whitespace. */
- for (; *cp && (*cp == ' ' || *cp == '\t'); cp++)
- ;
- if (*cp) {
- if (key_read(k, &cp) == 1) {
-- if (commentp)
-- *commentp=xstrdup(filename);
-+ cp[strcspn(cp, "\r\n")] = '\0';
-+ if (commentp) {
-+ *commentp = xstrdup(*cp ?
-+ cp : filename);
-+ }
- fclose(f);
- return 1;
- }
diff --git a/testing/openssh/sshd b/testing/openssh/sshd
deleted file mode 100755
index 2ee1091f0..000000000
--- a/testing/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/testing/openssh/sshd.confd b/testing/openssh/sshd.confd
deleted file mode 100644
index 5ce7c0079..000000000
--- a/testing/openssh/sshd.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# Parameters to be passed to sshd
-#
-SSHD_ARGS=""
diff --git a/testing/openssh/sshd.pam b/testing/openssh/sshd.pam
deleted file mode 100644
index ff8829fe9..000000000
--- a/testing/openssh/sshd.pam
+++ /dev/null
@@ -1,11 +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
--session optional pam_ck_connector.so nox11
diff --git a/testing/python2/PKGBUILD b/testing/python2/PKGBUILD
deleted file mode 100644
index f1c56f85d..000000000
--- a/testing/python2/PKGBUILD
+++ /dev/null
@@ -1,87 +0,0 @@
-# $Id: PKGBUILD 127261 2011-06-12 03:23:25Z stephane $
-# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
-# Contributer: Allan McRae <allan@archlinux.org>
-# Contributer: Jason Chu <jason@archlinux.org>
-
-pkgname=python2
-pkgver=2.7.2
-pkgrel=1
-_pybasever=2.7
-pkgdesc="A high-level scripting language"
-arch=('i686' 'x86_64')
-license=('PSF')
-url="http://www.python.org/"
-depends=('db' 'bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite3' 'libffi')
-makedepends=('tk')
-optdepends=('tk: for IDLE')
-conflicts=('python<3')
-options=('!makeflags')
-source=(http://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz
- python-2.7-db51.patch)
-sha1sums=('56700044141402dc35e7a0a24aa7ffda1a8c1a53'
- '9667a2a2f8594902b352793e649f78696a77bd13')
-
-build() {
- cd "${srcdir}/Python-${pkgver}"
-
- patch -Np1 -i ../python-2.7-db51.patch
-
- # Temporary workaround for FS#22322
- # See http://bugs.python.org/issue10835 for upstream report
- sed -i "/progname =/s/python/python${_pybasever}/" Python/pythonrun.c
-
- # Enable built-in SQLite3 module to load extensions (fix FS#22122)
- sed -i "/SQLITE_OMIT_LOAD_EXTENSION/d" setup.py
-
- # FS#2399
- sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python2|" Lib/cgi.py
-
- # Ensure that we are using the system copy of various libraries (expat, zlib and libffi),
- # rather than copies shipped in the tarball
- rm -r Modules/expat
- rm -r Modules/zlib
- rm -r Modules/_ctypes/{darwin,libffi}*
-
- export OPT="${CFLAGS}"
- ./configure --prefix=/usr --enable-shared --with-threads --enable-ipv6 \
- --enable-unicode=ucs4 --with-system-expat --with-system-ffi
-
- make
-}
-
-package() {
- cd "${srcdir}/Python-${pkgver}"
- make DESTDIR="${pkgdir}" altinstall maninstall
-
- ln -sf python${_pybasever} "${pkgdir}/usr/bin/python2"
- ln -sf python${_pybasever}-config "${pkgdir}/usr/bin/python2-config"
- ln -sf python${_pybasever}.1 "${pkgdir}/usr/share/man/man1/python2.1"
-
- ln -sf ../../libpython${_pybasever}.so \
- "${pkgdir}/usr/lib/python${_pybasever}/config/libpython${_pybasever}.so"
-
- mv "${pkgdir}/usr/bin/smtpd.py" "${pkgdir}/usr/lib/python${_pybasever}/"
-
- # some useful "stuff"
- install -dm755 "${pkgdir}"/usr/lib/python${_pybasever}/Tools/{i18n,scripts}
- install -m755 Tools/i18n/{msgfmt,pygettext}.py \
- "${pkgdir}/usr/lib/python${_pybasever}/Tools/i18n/"
- install -m755 Tools/scripts/{README,*py} \
- "${pkgdir}/usr/lib/python${_pybasever}/Tools/scripts/"
-
- # fix conflicts with python
- mv "${pkgdir}"/usr/bin/idle{,2}
- mv "${pkgdir}"/usr/bin/pydoc{,2}
- mv "${pkgdir}"/usr/bin/2to3{,-2.7}
-
- # clean up #!s
- find "${pkgdir}/usr/lib/python${_pybasever}/" -name '*.py' | \
- xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python2|"
-
- # clean-up reference to build directory
- sed -i "s#${srcdir}/Python-${pkgver}:##" \
- "${pkgdir}/usr/lib/python${_pybasever}/config/Makefile"
-
- # license
- install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-}
diff --git a/testing/python2/python-2.7-db51.patch b/testing/python2/python-2.7-db51.patch
deleted file mode 100644
index 2da95c375..000000000
--- a/testing/python2/python-2.7-db51.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Naur Python-2.7-orig//Modules/_bsddb.c Python-2.7/Modules/_bsddb.c
---- Python-2.7-orig//Modules/_bsddb.c 2010-05-10 00:46:46.000000000 +1000
-+++ Python-2.7/Modules/_bsddb.c 2010-10-20 13:19:26.436669911 +1000
-@@ -9765,8 +9765,11 @@
-
- ADD_INT(d, DB_REP_PERMANENT);
-
--#if (DBVER >= 44)
-+#if (DBVER >= 44) && (DBVER <= 48)
- ADD_INT(d, DB_REP_CONF_NOAUTOINIT);
-+#endif
-+
-+#if (DBVER >= 44)
- ADD_INT(d, DB_REP_CONF_DELAYCLIENT);
- ADD_INT(d, DB_REP_CONF_BULK);
- ADD_INT(d, DB_REP_CONF_NOWAIT);
-diff -Naur Python-2.7-orig//setup.py Python-2.7/setup.py
---- Python-2.7-orig//setup.py 2010-06-27 22:36:16.000000000 +1000
-+++ Python-2.7/setup.py 2010-10-20 13:10:48.256670026 +1000
-@@ -765,7 +765,7 @@
- # a release. Most open source OSes come with one or more
- # versions of BerkeleyDB already installed.
-
-- max_db_ver = (4, 8)
-+ max_db_ver = (5, 1)
- min_db_ver = (4, 1)
- db_setup_debug = False # verbose debug prints from this script?
-
-@@ -787,8 +787,12 @@
- return True
-
- def gen_db_minor_ver_nums(major):
-- if major == 4:
-+ if major == 5:
- for x in range(max_db_ver[1]+1):
-+ if allow_db_ver((5, x)):
-+ yield x
-+ if major == 4:
-+ for x in range(9):
- if allow_db_ver((4, x)):
- yield x
- elif major == 3:
diff --git a/testing/re-alpine/PKGBUILD b/testing/re-alpine/PKGBUILD
deleted file mode 100644
index 9293744c9..000000000
--- a/testing/re-alpine/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 125747 2011-05-29 05:24:41Z eric $
-# Maintainer: Eric Bélanger <eric@archlinux.org>
-# Contributor: Smith Dhumbumroong <zodmaner@gmail.com>
-
-pkgname=re-alpine
-pkgver=2.02
-pkgrel=3
-pkgdesc="The continuation of the Alpine email client from University of Washington"
-arch=('i686' 'x86_64')
-url="http://sourceforge.net/projects/re-alpine/"
-license=('APACHE')
-depends=('libldap' 'krb5')
-optdepends=('aspell: spell-checking support'
- 'hunspell: spell-checking support')
-provides=('pine' 'alpine')
-conflicts=('pine' 'alpine')
-replaces=('pine' 'alpine')
-options=('!makeflags')
-source=(http://downloads.sourceforge.net/project/re-alpine/${pkgname}-${pkgver}.tar.bz2
- maildir.patch)
-md5sums=('5e75826b15f05674856be8618bdefdfb'
- '8d7a0e8d940e84e978f50266405c7361')
-sha1sums=('9c2f13dbc7ca75e7a09f81df607db84694b10fa6'
- 'c09a8e42f9dba3e63a3755a9c418af95da721d8d')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p1 < ../maildir.patch
- LIBS+=-lpam ./configure --prefix=/usr --without-passfile --without-tcl \
- --disable-shared --with-system-pinerc=/etc/alpine.d/pine.conf \
- --with-system-fixed-pinerc=/etc/alpine.d/pine.conf.fixed
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/testing/re-alpine/maildir.patch b/testing/re-alpine/maildir.patch
deleted file mode 100644
index cff18cb3f..000000000
--- a/testing/re-alpine/maildir.patch
+++ /dev/null
@@ -1,3712 +0,0 @@
-diff -rc alpine-2.00/alpine/alpine.c alpine-2.00.maildir/alpine/alpine.c
-*** alpine-2.00/alpine/alpine.c 2008-06-03 17:31:05.000000000 -0500
---- alpine-2.00.maildir/alpine/alpine.c 2011-01-15 19:11:06.000000000 -0600
-***************
-*** 553,558 ****
---- 553,563 ----
- if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global))
- mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE);
-
-+ #ifndef _WINDOWS
-+ mail_parameters(NULL,SET_COURIERSTYLE,
-+ (void *)(F_ON(F_COURIER_FOLDER_LIST, ps_global) ? 1 : 0));
-+ #endif
-+
- rvl = 0L;
- if(pine_state->VAR_NNTPRANGE){
- if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF))
-diff -rc alpine-2.00/alpine/confscroll.c alpine-2.00.maildir/alpine/confscroll.c
-*** alpine-2.00/alpine/confscroll.c 2008-08-21 17:14:45.000000000 -0500
---- alpine-2.00.maildir/alpine/confscroll.c 2011-01-15 19:11:06.000000000 -0600
-***************
-*** 5489,5494 ****
---- 5489,5500 ----
- (void *)var->current_val.p);
- }
- #endif
-+ #ifndef _WINDOWS
-+ else if(var == &ps->vars[V_MAILDIR_LOCATION]){
-+ if(var->current_val.p && var->current_val.p[0])
-+ mail_parameters(NULL, SET_MDINBOXPATH, (void *)var->current_val.p);
-+ }
-+ #endif
- else if(revert && standard_radio_var(ps, var)){
-
- cur_rule_value(var, TRUE, FALSE);
-diff -rc alpine-2.00/imap/src/c-client/mail.c alpine-2.00.maildir/imap/src/c-client/mail.c
-*** alpine-2.00/imap/src/c-client/mail.c 2008-06-04 13:39:54.000000000 -0500
---- alpine-2.00.maildir/imap/src/c-client/mail.c 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 991,997 ****
- MAILSTREAM *ts;
- char *s,*t,tmp[MAILTMPLEN];
- size_t i;
-! DRIVER *d;
- /* never allow names with newlines */
- if (s = strpbrk (mailbox,"\015\012")) {
- MM_LOG ("Can't create mailbox with such a name",ERROR);
---- 991,997 ----
- MAILSTREAM *ts;
- char *s,*t,tmp[MAILTMPLEN];
- size_t i;
-! DRIVER *d, *md;
- /* never allow names with newlines */
- if (s = strpbrk (mailbox,"\015\012")) {
- MM_LOG ("Can't create mailbox with such a name",ERROR);
-***************
-*** 1015,1020 ****
---- 1015,1022 ----
- return NIL;
- }
-
-+ /* Hack, we should do this better, but it works */
-+ for (md = maildrivers; md && strcmp (md->name, "md"); md = md->next);
- /* see if special driver hack */
- if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) &&
- ((mailbox[2] == 'r') || (mailbox[2] == 'R')) &&
-***************
-*** 1045,1050 ****
---- 1047,1059 ----
- (((*mailbox == '{') || (*mailbox == '#')) &&
- (stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT))))
- d = stream->dtb;
-+ else if(mailbox[0] == '#'
-+ && (mailbox[1] == 'm' || mailbox[1] == 'M')
-+ && (mailbox[2] == 'd' || mailbox[2] == 'D'
-+ || mailbox[2] == 'c' || mailbox[2] == 'C')
-+ && mailbox[3] == '/'
-+ && mailbox[4] != '\0')
-+ return (*md->create)(stream, mailbox);
- else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb;
- else { /* failed utterly */
- sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox);
-diff -rc alpine-2.00/imap/src/c-client/mail.h alpine-2.00.maildir/imap/src/c-client/mail.h
-*** alpine-2.00/imap/src/c-client/mail.h 2008-08-08 12:34:22.000000000 -0500
---- alpine-2.00.maildir/imap/src/c-client/mail.h 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 353,358 ****
---- 353,362 ----
- #define SET_SCANCONTENTS (long) 573
- #define GET_MHALLOWINBOX (long) 574
- #define SET_MHALLOWINBOX (long) 575
-+ #define GET_COURIERSTYLE (long) 576
-+ #define SET_COURIERSTYLE (long) 577
-+ #define SET_MDINBOXPATH (long) 578
-+ #define GET_MDINBOXPATH (long) 579
-
- /* Driver flags */
-
-diff -rc alpine-2.00/imap/src/osdep/unix/dummy.c alpine-2.00.maildir/imap/src/osdep/unix/dummy.c
-*** alpine-2.00/imap/src/osdep/unix/dummy.c 2008-06-04 13:18:34.000000000 -0500
---- alpine-2.00.maildir/imap/src/osdep/unix/dummy.c 2011-01-15 20:01:59.000000000 -0600
-***************
-*** 106,118 ****
- * Accepts: mailbox name
- * Returns: our driver if name is valid, NIL otherwise
- */
-!
- DRIVER *dummy_valid (char *name)
- {
-! char *s,tmp[MAILTMPLEN];
- struct stat sbuf;
- /* must be valid local mailbox */
-! if (name && *name && (*name != '{') && (s = mailboxfile (tmp,name))) {
- /* indeterminate clearbox INBOX */
- if (!*s) return &dummydriver;
- else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) {
---- 106,124 ----
- * Accepts: mailbox name
- * Returns: our driver if name is valid, NIL otherwise
- */
-! char * maildir_remove_root(char *);
- DRIVER *dummy_valid (char *name)
- {
-! char *s,tmp[MAILTMPLEN], *rname;
- struct stat sbuf;
-+
-+ if(strlen(name) > MAILTMPLEN)
-+ name[MAILTMPLEN] = '\0';
-+
-+ strcpy(tmp, name);
-+ rname = maildir_remove_root(tmp);
- /* must be valid local mailbox */
-! if (rname && *rname && (*rname != '{') && (s = mailboxfile (tmp,rname))) {
- /* indeterminate clearbox INBOX */
- if (!*s) return &dummydriver;
- else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) {
-***************
-*** 121,128 ****
- return &dummydriver;
- }
- /* blackbox INBOX does not exist yet */
-! else if (!compare_cstring (name,"INBOX")) return &dummydriver;
- }
- return NIL;
- }
-
---- 127,135 ----
- return &dummydriver;
- }
- /* blackbox INBOX does not exist yet */
-! else if (!compare_cstring (rname,"INBOX")) return &dummydriver;
- }
-+ if(rname) fs_give((void **)&rname);
- return NIL;
- }
-
-***************
-*** 454,459 ****
---- 461,468 ----
- {
- char *s,tmp[MAILTMPLEN];
- long ret = NIL;
-+ if(!strncmp(mailbox,"#md/",4) || !strncmp(mailbox,"#mc/", 4))
-+ return maildir_create(stream, mailbox);
- /* validate name */
- if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) {
- sprintf (tmp,"Can't create %.80s: invalid name",mailbox);
-***************
-*** 519,524 ****
---- 528,541 ----
- {
- struct stat sbuf;
- char *s,tmp[MAILTMPLEN];
-+ if (!strncmp(mailbox,"#md/",4) || !strncmp(mailbox,"#mc/", 4)
-+ || is_valid_maildir(&mailbox)){
-+ char tmp[MAILTMPLEN] = {'\0'};
-+ strcpy(tmp, mailbox);
-+ if(tmp[strlen(tmp) - 1] != '/')
-+ tmp[strlen(tmp)] = '/';
-+ return maildir_delete(stream, tmp);
-+ }
- if (!(s = dummy_file (tmp,mailbox))) {
- sprintf (tmp,"Can't delete - invalid name: %.80s",s);
- MM_LOG (tmp,ERROR);
-***************
-*** 544,555 ****
- long dummy_rename (MAILSTREAM *stream,char *old,char *newname)
- {
- struct stat sbuf;
-! char c,*s,tmp[MAILTMPLEN],mbx[MAILTMPLEN],oldname[MAILTMPLEN];
- /* no trailing / allowed */
-! if (!dummy_file (oldname,old) || !(s = dummy_file (mbx,newname)) ||
- stat (oldname,&sbuf) || ((s = strrchr (s,'/')) && !s[1] &&
- ((sbuf.st_mode & S_IFMT) != S_IFDIR))) {
-! sprintf (mbx,"Can't rename %.80s to %.80s: invalid name",old,newname);
- MM_LOG (mbx,ERROR);
- return NIL;
- }
---- 561,583 ----
- long dummy_rename (MAILSTREAM *stream,char *old,char *newname)
- {
- struct stat sbuf;
-! char c,*s,tmp[MAILTMPLEN],mbx[MAILTMPLEN],oldname[MAILTMPLEN], *rold, *rnewname;
-!
-! if(strlen(old) > MAILTMPLEN)
-! old[MAILTMPLEN] = '\0';
-!
-! if(strlen(newname) > MAILTMPLEN)
-! newname[MAILTMPLEN] = '\0';
-!
-! strcpy(tmp, old);
-! rold = maildir_remove_root(tmp);
-! strcpy(tmp, newname);
-! rnewname = maildir_remove_root(tmp);
- /* no trailing / allowed */
-! if (!dummy_file (oldname,rold) || !(s = dummy_file (mbx,rnewname)) ||
- stat (oldname,&sbuf) || ((s = strrchr (s,'/')) && !s[1] &&
- ((sbuf.st_mode & S_IFMT) != S_IFDIR))) {
-! sprintf (mbx,"Can't rename %.80s to %.80s: invalid name",rold,rnewname);
- MM_LOG (mbx,ERROR);
- return NIL;
- }
-***************
-*** 565,578 ****
- }
- }
- /* rename of non-ex INBOX creates dest */
-! if (!compare_cstring (old,"INBOX") && stat (oldname,&sbuf))
- return dummy_create (NIL,mbx);
- if (rename (oldname,mbx)) {
-! sprintf (tmp,"Can't rename mailbox %.80s to %.80s: %.80s",old,newname,
- strerror (errno));
- MM_LOG (tmp,ERROR);
- return NIL;
- }
- return T; /* return success */
- }
-
---- 593,608 ----
- }
- }
- /* rename of non-ex INBOX creates dest */
-! if (!compare_cstring (rold,"INBOX") && stat (oldname,&sbuf))
- return dummy_create (NIL,mbx);
- if (rename (oldname,mbx)) {
-! sprintf (tmp,"Can't rename mailbox %.80s to %.80s: %.80s",rold,rnewname,
- strerror (errno));
- MM_LOG (tmp,ERROR);
- return NIL;
- }
-+ if(rold) fs_give((void **)&rold);
-+ if(rnewname) fs_give((void **)&rnewname);
- return T; /* return success */
- }
-
-diff -rc alpine-2.00/imap/src/osdep/unix/maildir.c alpine-2.00.maildir/imap/src/osdep/unix/maildir.c
-*** alpine-2.00/imap/src/osdep/unix/maildir.c 2011-01-24 19:38:50.000000000 -0600
---- alpine-2.00.maildir/imap/src/osdep/unix/maildir.c 2011-01-15 19:38:50.000000000 -0600
-***************
-*** 0 ****
---- 1,2584 ----
-+ /*
-+ * Maildir driver for Alpine 2.00
-+ *
-+ * Written by Eduardo Chappa <chappa@washington.edu>
-+ * Last Update: November 6, 2010.
-+ *
-+ */
-+
-+ #include <stdio.h>
-+ #include <ctype.h>
-+ #include <errno.h>
-+ extern int errno; /* just in case */
-+ #include "mail.h"
-+ #include <pwd.h>
-+ #include <sys/stat.h>
-+ #include <sys/time.h>
-+ #include "osdep.h"
-+ #include "rfc822.h"
-+ #include "fdstring.h"
-+ #include "misc.h"
-+ #include "dummy.h"
-+ #include "maildir.h"
-+
-+ /* Driver dispatch used by MAIL */
-+ DRIVER maildirdriver = {
-+ "md", /* driver name, yes it's md, not maildir */
-+ /* driver flags */
-+ DR_MAIL|DR_LOCAL|DR_NAMESPACE|DR_DIRFMT,
-+ (DRIVER *) NIL, /* next driver */
-+ maildir_valid, /* mailbox is valid for us */
-+ maildir_parameters, /* manipulate parameters */
-+ NIL, /* scan mailboxes */
-+ maildir_list, /* find mailboxes */
-+ maildir_lsub, /* find subscribed mailboxes */
-+ maildir_sub, /* subscribe to mailbox */
-+ maildir_unsub, /* unsubscribe from mailbox */
-+ maildir_create, /* create mailbox */
-+ maildir_delete, /* delete mailbox */
-+ maildir_rename, /* rename mailbox */
-+ mail_status_default, /* status of mailbox */
-+ maildir_open, /* open mailbox */
-+ maildir_close, /* close mailbox */
-+ maildir_fast, /* fetch message "fast" attributes */
-+ NIL, /* fetch message flags */
-+ NIL, /* fetch overview */
-+ NIL, /* fetch message structure */
-+ maildir_header, /* fetch message header */
-+ maildir_text, /* fetch message body */
-+ NIL, /* fetch partial message text */
-+ NIL, /* unique identifier */
-+ NIL, /* message number */
-+ NIL, /* modify flags */
-+ maildir_flagmsg, /* per-message modify flags */
-+ NIL, /* search for message based on criteria */
-+ NIL, /* sort messages */
-+ NIL, /* thread messages */
-+ maildir_ping, /* ping mailbox to see if still alive */
-+ maildir_check, /* check for new messages */
-+ maildir_expunge, /* expunge deleted messages */
-+ maildir_copy, /* copy messages to another mailbox */
-+ maildir_append, /* append string message to mailbox */
-+ NIL /* garbage collect stream */
-+ };
-+
-+
-+ DRIVER courierdriver = {
-+ "mc", /* Why a separate driver? So that
-+ createproto will work */
-+ /* driver flags */
-+ DR_MAIL|DR_LOCAL|DR_NAMESPACE|DR_DIRFMT,
-+ (DRIVER *) NIL, /* next driver */
-+ maildir_valid, /* mailbox is valid for us */
-+ maildir_parameters, /* manipulate parameters */
-+ NIL, /* scan mailboxes */
-+ courier_list, /* find mailboxes */
-+ maildir_lsub, /* find subscribed mailboxes */
-+ maildir_sub, /* subscribe to mailbox */
-+ maildir_unsub, /* unsubscribe from mailbox */
-+ maildir_create, /* create mailbox */
-+ maildir_delete, /* delete mailbox */
-+ maildir_rename, /* rename mailbox */
-+ mail_status_default, /* status of mailbox */
-+ maildir_open, /* open mailbox */
-+ maildir_close, /* close mailbox */
-+ maildir_fast, /* fetch message "fast" attributes */
-+ NIL, /* fetch message flags */
-+ NIL, /* fetch overview */
-+ NIL, /* fetch message structure */
-+ maildir_header, /* fetch message header */
-+ maildir_text, /* fetch message body */
-+ NIL, /* fetch partial message text */
-+ NIL, /* unique identifier */
-+ NIL, /* message number */
-+ NIL, /* modify flags */
-+ maildir_flagmsg, /* per-message modify flags */
-+ NIL, /* search for message based on criteria */
-+ NIL, /* sort messages */
-+ NIL, /* thread messages */
-+ maildir_ping, /* ping mailbox to see if still alive */
-+ maildir_check, /* check for new messages */
-+ maildir_expunge, /* expunge deleted messages */
-+ maildir_copy, /* copy messages to another mailbox */
-+ maildir_append, /* append string message to mailbox */
-+ NIL /* garbage collect stream */
-+ };
-+
-+ MAILSTREAM maildirproto = {&maildirdriver}; /* prototype stream */
-+ MAILSTREAM courierproto = {&courierdriver}; /* prototype stream */
-+
-+ long maildir_dirfmttest (char *name)
-+ {
-+ int i;
-+ for (i = 0; mdstruct[i] && strcmp(name, mdstruct[i]); i++);
-+ return (i < EndDir) || !strcmp(name, MDDIR)
-+ || !strncmp(name, MDUIDLAST, strlen(MDUIDLAST))
-+ || !strncmp(name, MDUIDTEMP, strlen(MDUIDTEMP)) ? LONGT : NIL;
-+ }
-+
-+ void
-+ md_domain_name(void)
-+ {
-+ int i;
-+
-+ strcpy(mdlocaldomain,mylocalhost ());
-+ for (i = 0; mdlocaldomain[i] ; i++)
-+ if(mdlocaldomain[i] == '/')
-+ mdlocaldomain[i] = '\057';
-+ else if (mdlocaldomain[i] == ':')
-+ mdlocaldomain[i] = '\072';
-+ }
-+
-+ char *
-+ myrootdir(char *name)
-+ {
-+ return myhomedir();
-+ }
-+
-+ char *
-+ mdirpath(void)
-+ {
-+ char *path = maildir_parameters(GET_MDINBOXPATH,NIL);
-+ return path ? (path[0] ? path : ".") : "Maildir";
-+ }
-+
-+ /* remove the "#md/" or "#mc/" part from a folder name */
-+ char *
-+ maildir_remove_root (char *name)
-+ {
-+ int courier = IS_COURIER(name), offset;
-+ char realname[MAILTMPLEN];
-+
-+ offset = maildir_valid_name(name) ? (name[3] == '/' ? 4 : 3) : 0;
-+ if(courier)
-+ courier_realname(name+offset, realname);
-+ else
-+ strcpy(realname, name+offset);
-+ return cpystr(realname);
-+ }
-+
-+
-+ /* Check validity of the name, we accept:
-+ * a) #md/directory/folder
-+ * b) #md/inbox
-+ * A few considerations: We can only accept as valid
-+ * a) names that start with #md/ and the directory exists or
-+ * b) names that do not start with #md/ but are maildir directories (have
-+ * the /cur, /tmp and /new structure)
-+ */
-+ int maildir_valid_name (char *name)
-+ {
-+ char tmpname[MAILTMPLEN] = {'\0'};
-+
-+ if (mdfpath)
-+ fs_give((void **)&mdfpath);
-+ if (name && (name[0] != '#'))
-+ sprintf(tmpname,"%s%s",MDPREFIX(CCLIENT), name);
-+ mdfpath = cpystr(tmpname[0] ? tmpname : name);
-+
-+ return IS_CCLIENT(name) || IS_COURIER(name);
-+ }
-+
-+ /* Check if the directory whose path is given by name is a valid maildir
-+ * directory (contains /cur, /tmp and /new)
-+ */
-+ int maildir_valid_dir (char *name)
-+ {
-+ int len;
-+ DirNamesType i;
-+ struct stat sbuf;
-+ char tmp[MAILTMPLEN];
-+
-+ if(name[strlen(name) - 1] == '/')
-+ name[strlen(name) - 1] = '\0';
-+ len = strlen(name);
-+ for (i = Cur; i != EndDir; i++){
-+ MDFLD(tmp, name, i);
-+ if (stat(tmp, &sbuf) < 0 || !S_ISDIR(sbuf.st_mode))
-+ break;
-+ }
-+ name[len] = '\0';
-+ return (i == EndDir) ? T : NIL;
-+ }
-+
-+ void courier_realname(char *name, char *realname)
-+ {
-+ int i,j;
-+
-+ if(!name)
-+ return;
-+
-+ for (i = 0, j = 0; i < MAILTMPLEN && j < strlen(name); j++, i++){
-+ realname[i] = name[j];
-+ if(name[j] == '/' && name[j+1] != '.' && name[j+1] != '%'
-+ && name[j+1] != '*')
-+ realname[++i] = '.';
-+ }
-+ if(realname[i-1] == '.')
-+ i--;
-+ realname[i] = '\0';
-+ }
-+
-+
-+ /* given a maildir folder, return its path. Memory freed by caller. Directory
-+ * does not contain the trailing slash "/". On error NULL is returned.
-+ */
-+ int maildir_file_path (char *name, char *tmp)
-+ {
-+ char *maildirpath = mdirpath(), *rname;
-+ int courier = IS_COURIER(name);
-+
-+ /* There are several ways in which the path can come, so we will handle
-+ them here. First we deal with #mc/ or #md/ prefix by removing the
-+ prefix, if any */
-+
-+ if(strlen(name) >= MAILTMPLEN)
-+ name[MAILTMPLEN] = '\0';
-+ strcpy(tmp, name);
-+ rname = maildir_remove_root(tmp);
-+ tmp[0] = '\0'; /* just in case something fails */
-+
-+ if (strlen(myrootdir(rname)) +
-+ max(strlen(rname), strlen(maildirpath)) > MAILTMPLEN){
-+ errno = ENAMETOOLONG;
-+ sprintf(tmp,"Error opening \"%s\": %s", rname, strerror (errno));
-+ mm_log(tmp,ERROR);
-+ return NIL;
-+ }
-+
-+ /* There are two ways in which the name can come here, either as a
-+ full path or not. If it is not a full path it can come in two ways,
-+ either as a file system path (Maildir/.Drafts) or as a maildir path
-+ (INBOX.Drafts)
-+ */
-+
-+ if(*rname == '/') /* full path */
-+ strcpy(tmp, rname); /* do nothing */
-+ else{
-+ sprintf (tmp,"%s/%s%s%s", myrootdir (rname),
-+ strncmp (ucase (strcpy (tmp, rname)), "INBOX", 5)
-+ ? rname : maildirpath,
-+ strncmp (ucase (strcpy (tmp, rname)), "INBOX", 5)
-+ ? "" : (courier ? "/" : ""),
-+ strncmp (ucase (strcpy (tmp, rname)), "INBOX", 5)
-+ ? "" : (*(rname+5) == MDSEPARATOR(courier) ? rname+5 : ""));
-+ }
-+ if(rname) fs_give((void **)&rname);
-+ return tmp[0] ? T : NIL;
-+ }
-+
-+ /* This function is given a full path for a mailbox and returns
-+ * if it is a valid maildir transformed to canonical notation
-+ */
-+ int
-+ is_valid_maildir (char **name)
-+ {
-+ if (!strncmp(*name, myrootdir (*name), strlen(myrootdir(*name)))){
-+ (*name) += strlen(myrootdir(*name));
-+ if (**name == '/') (*name)++;
-+ }
-+ return maildir_valid(*name) ? T : NIL;
-+ }
-+
-+ /* Check validity of mailbox. This routine does not send errors to log, other
-+ * routines calling this one may do so, though
-+ */
-+
-+ DRIVER *maildir_valid (char *name)
-+ {
-+ char tmpname[MAILTMPLEN];
-+
-+ maildir_file_path(name, tmpname);
-+
-+ return maildir_valid_dir(tmpname)
-+ ? (IS_COURIER(name) ? &courierdriver : &maildirdriver) : NIL;
-+ }
-+
-+ void maildir_fast (MAILSTREAM *stream,char *sequence,long flags)
-+ {
-+ unsigned long i;
-+ MESSAGECACHE *elt;
-+ /* get sequence */
-+ if (stream && LOCAL && ((flags & FT_UID) ?
-+ mail_uid_sequence (stream,sequence) :
-+ mail_sequence (stream,sequence)))
-+ for (i = 1L; i <= stream->nmsgs; i++) {
-+ if ((elt = mail_elt (stream,i))->sequence && (elt->valid = T) &&
-+ !(elt->day && elt->rfc822_size)) {
-+ ENVELOPE **env = NIL;
-+ ENVELOPE *e = NIL;
-+ if (!stream->scache) env = &elt->private.msg.env;
-+ else if (stream->msgno == i) env = &stream->env;
-+ else env = &e;
-+ if (!*env || !elt->rfc822_size) {
-+ STRING bs;
-+ unsigned long hs;
-+ char *ht = (*stream->dtb->header) (stream,i,&hs,NIL);
-+
-+ if (!*env) rfc822_parse_msg (env,NIL,ht,hs,NIL,BADHOST,
-+ stream->dtb->flags);
-+ if (!elt->rfc822_size) {
-+ (*stream->dtb->text) (stream,i,&bs,FT_PEEK);
-+ elt->rfc822_size = hs + SIZE (&bs) - GETPOS (&bs);
-+ }
-+ }
-+
-+ if (!elt->day && *env && (*env)->date)
-+ mail_parse_date (elt,(*env)->date);
-+
-+ if (!elt->day) elt->day = elt->month = 1;
-+ mail_free_envelope (&e);
-+ }
-+ }
-+ }
-+
-+ int
-+ maildir_eliminate_duplicate (char *name, struct direct ***flist, unsigned long *nfiles)
-+ {
-+ int i, j, k, error = 0, scanr;
-+ char new[MAILTMPLEN], old[MAILTMPLEN], tmp[MAILTMPLEN], *str;
-+ struct direct **names = NIL;
-+
-+ if((scanr = maildir_doscandir(name, &names, CCLIENT)) < 0)
-+ return -1;
-+
-+ if(nfiles) *nfiles = scanr;
-+ for(i = 0, j = 1, k = 0; j < scanr; i++, j++){
-+ if(k)
-+ names[i] = names[i+k];
-+ if(same_maildir_file(names[i]->d_name, names[j]->d_name)){
-+ int d, f, r, s;
-+ maildir_getflag(names[i]->d_name, &d, &f, &r, &s, NIL);
-+ sprintf(old,"%s/%s", name, names[i]->d_name);
-+ sprintf(new,"%s/.%s", name, names[i]->d_name);
-+ if(rename(old, new) < 0 && errno != EEXIST)
-+ error++;
-+ if(!error){
-+ for(; j < scanr
-+ && same_maildir_file(names[i]->d_name, names[j]->d_name)
-+ ; j++, k++){
-+ maildir_getflag(names[j]->d_name, (d ? NIL : &d),
-+ (f ? NIL : &f), (r ? NIL : &r), (s ? NIL : &s), NIL);
-+ sprintf(tmp,"%s/%s", name, names[j]->d_name);
-+ if(unlink(tmp) < 0){ /* Hmmm... a problem, let's see */
-+ struct stat sbuf;
-+ if (stat(tmp, &sbuf) == 0 && (sbuf.st_mode & S_IFMT) == S_IFREG)
-+ error++;
-+ }
-+ }
-+ if((str = strrchr(names[i]->d_name,FLAGSEP)) != NULL) *str = '\0';
-+ sprintf (old,"%s/%s%s%s%s%s%s", name, names[i]->d_name, MDSEP(2),
-+ MDFLAG(Draft, d), MDFLAG(Flagged, f), MDFLAG(Replied, r),
-+ MDFLAG(Seen, s));
-+ if(rename(new, old) < 0)
-+ error++;
-+ }
-+ }
-+
-+ }
-+ if(k > 0)
-+ fs_give((void **)&names);
-+ else
-+ *flist = names;
-+ return error ? -1 : k;
-+ }
-+
-+ int
-+ maildir_doscandir(char *name, struct direct ***flist, int flag)
-+ {
-+ return scandir(name, flist,
-+ flag == CCLIENT ? maildir_select : courier_dir_select,
-+ flag == CCLIENT ? maildir_namesort : courier_dir_sort);
-+ }
-+
-+ /*
-+ * return all files in a given directory. This is a separate call
-+ * so that if there are warnings during compilation this only appears once.
-+ */
-+ unsigned long
-+ maildir_scandir (char *name, struct direct ***flist,
-+ unsigned long *nfiles, int *scand, int flag)
-+ {
-+ struct stat sbuf;
-+ int rv = -2; /* impossible value */
-+
-+ if (scand)
-+ *scand = -1; /* assume error for safety */
-+ *nfiles = 0;
-+ if((stat(name,&sbuf) < 0)
-+ || (flag == CCLIENT
-+ && ((rv = maildir_eliminate_duplicate(name, flist, nfiles)) < 0)))
-+ return 0L;
-+
-+ if (scand && (rv > 0 || rv == -2))
-+ *nfiles = maildir_doscandir(name, flist, flag);
-+
-+ if(scand) *scand = *nfiles;
-+
-+ return (unsigned long) sbuf.st_ctime;
-+ }
-+
-+ /* Does a message with given name exists (or was it removed)?
-+ * Returns: 1 - yes, such message exist,
-+ * 0 - No, that message does not exist anymore
-+ *
-+ * Parameters: stream, name of mailbox, new name if his message does not
-+ * exist.
-+ */
-+
-+ int maildir_message_exists(MAILSTREAM *stream, char *name, char *newfile)
-+ {
-+ char tmp[MAILTMPLEN];
-+ int gotit = NIL;
-+ DIR *dir;
-+ struct direct *d;
-+ struct stat sbuf;
-+
-+ /* First check directly if it exists, if not there, look for it */
-+ sprintf(tmp,"%s/%s", LOCAL->curdir, name);
-+ if ((stat(tmp, &sbuf) == 0) && ((sbuf.st_mode & S_IFMT) == S_IFREG))
-+ return T;
-+
-+ if (!(dir = opendir (LOCAL->curdir)))
-+ return NIL;
-+
-+ while ((d = readdir(dir)) && gotit == NIL){
-+ if (d->d_name[0] == '.')
-+ continue;
-+ if (same_maildir_file(d->d_name, name)){
-+ gotit = T;
-+ strcpy(newfile, d->d_name);
-+ }
-+ }
-+ closedir(dir);
-+ return gotit;
-+ }
-+
-+ /* Maildir open */
-+
-+ MAILSTREAM *maildir_open (MAILSTREAM *stream)
-+ {
-+ char tmp[MAILTMPLEN];
-+ struct stat sbuf;
-+
-+ if (!stream) return &maildirproto;
-+ if (stream->local) fatal ("maildir recycle stream");
-+ md_domain_name(); /* get domain name for maildir files in mdlocaldomain */
-+ if(mypid == (pid_t) 0)
-+ mypid = getpid();
-+ if (!stream->rdonly){
-+ stream->perm_seen = stream->perm_deleted = stream->perm_flagged =
-+ stream->perm_answered = stream->perm_draft = T;
-+ }
-+ stream->local = (MAILDIRLOCAL *) fs_get (sizeof (MAILDIRLOCAL));
-+ memset(LOCAL, 0, sizeof(MAILDIRLOCAL));
-+ LOCAL->fd = -1;
-+
-+ LOCAL->courier = IS_COURIER(stream->mailbox);
-+ strcpy(tmp, stream->mailbox);
-+ if (maildir_file_path (stream->mailbox, tmp))
-+ LOCAL->dir = cpystr (tmp);
-+ LOCAL->candouid = maildir_can_assign_uid(stream);
-+ maildir_read_uid(stream, &stream->uid_last, &stream->uid_validity);
-+ if (LOCAL->dir){
-+ MDFLD(tmp, LOCAL->dir, Cur);
-+ LOCAL->curdir = cpystr (tmp);
-+ if (stat (LOCAL->curdir,&sbuf) < 0) {
-+ sprintf (tmp,"Can't open folder %s: %s",
-+ stream->mailbox,strerror (errno));
-+ mm_log (tmp,ERROR);
-+ maildir_close(stream, 0);
-+ return NIL;
-+ }
-+ }
-+
-+ if(maildir_file_path (stream->mailbox, tmp)){
-+ fs_give ((void **) &stream->mailbox);
-+ stream->mailbox = cpystr(tmp);
-+ }
-+
-+ LOCAL->buf = (char *) fs_get ((LOCAL->buflen = SENDBUFLEN) + 1);
-+ stream->sequence++;
-+ stream->nmsgs = stream->recent = 0L;
-+
-+ maildir_parse_folder(stream, 1);
-+
-+ return stream;
-+ }
-+
-+ /* Maildir initial parsing of the folder */
-+ void
-+ maildir_parse_folder (MAILSTREAM *stream, int full)
-+ {
-+ char tmp[MAILTMPLEN], tmp2[MAILTMPLEN];
-+ struct direct **namescur = NIL, **namesnew = NIL;
-+ unsigned long i, nfilescur = 0L, nfilesnew = 0L, oldpos, newpos, total;
-+ int scan_err, rescan, loop = 0;
-+
-+ if (!stream) /* what??? */
-+ return;
-+
-+ MM_CRITICAL(stream);
-+
-+ MDFLD(tmp, LOCAL->dir, New);
-+ maildir_scandir (tmp, &namesnew, &nfilesnew, &scan_err, CCLIENT);
-+ if (scan_err < 0)
-+ maildir_abort(stream);
-+
-+ /* Scan old messages first, escoba! */
-+ if(stream->rdonly ||
-+ (LOCAL && ((maildir_initial_check(stream, Cur) == 0)
-+ || nfilesnew > 0L))){
-+ MDFLD(tmp, LOCAL->dir, Cur);
-+ LOCAL->scantime = maildir_scandir (tmp, &namescur, &nfilescur,
-+ &scan_err, CCLIENT);
-+ if (scan_err < 0){
-+ if(namesnew){
-+ for(i = 0L; i < nfilesnew; i++)
-+ fs_give((void **)&namesnew[i]);
-+ fs_give((void **) &namesnew);
-+ }
-+ maildir_abort(stream);
-+ }
-+ }
-+ if(LOCAL && (maildir_initial_check(stream, New) == 0)
-+ && (nfilescur > 0L)){
-+ MDFLD(tmp, LOCAL->dir, New);
-+ while(LOCAL && loop < 10){
-+ if(nfilesnew == 0L)
-+ maildir_scandir (tmp, &namesnew, &nfilesnew, &scan_err, CCLIENT);
-+ if (scan_err < 0){
-+ if(namesnew){
-+ for(i = 0L; i < nfilesnew; i++)
-+ fs_give((void **)&namesnew[i]);
-+ fs_give((void **) &namesnew);
-+ }
-+ maildir_abort(stream);
-+ break;
-+ }
-+ for(i = 0L, rescan = 0, newpos = oldpos = 0L;
-+ newpos < nfilescur && i < nfilesnew; i++){
-+ if(maildir_message_in_list(namesnew[i]->d_name, namescur, oldpos,
-+ nfilescur - 1L, &newpos)){
-+ oldpos = newpos;
-+ sprintf(tmp2,"%s/%s",tmp,namesnew[i]->d_name);
-+ if(unlink(tmp2) < 0)
-+ scan_err = -1;
-+ rescan++;
-+ }
-+ else
-+ newpos = oldpos;
-+ }
-+ if(scan_err < 0)
-+ maildir_abort(stream);
-+ if(rescan == 0)
-+ break;
-+ else{ /* restart */
-+ if(namesnew){
-+ for(i = 0L; i < nfilesnew; i++)
-+ fs_give((void **)&namesnew[i]);
-+ fs_give((void **) &namesnew);
-+ }
-+ nfilesnew = 0L;
-+ loop++;
-+ }
-+ }
-+ }
-+ if(loop == 10)
-+ maildir_abort(stream);
-+ if(LOCAL){
-+ if(stream->rdonly)
-+ stream->recent = 0L;
-+ total = namescur || stream->rdonly
-+ ? maildir_parse_dir(stream, 0L, Cur, namescur,
-+ nfilescur, full) : stream->nmsgs;
-+ stream->nmsgs = maildir_parse_dir(stream, total, New, namesnew,
-+ nfilesnew, full);
-+ }
-+ if(namesnew){
-+ for(i = 0L; i < nfilesnew; i++)
-+ fs_give((void **)&namesnew[i]);
-+ fs_give((void **) &namesnew);
-+ }
-+ if(namescur){
-+ for(i = 0L; i < nfilescur; i++)
-+ fs_give((void **)&namescur[i]);
-+ fs_give((void **) &namescur);
-+ }
-+ MM_NOCRITICAL(stream);
-+ }
-+
-+ int
-+ maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype)
-+ {
-+ char tmp[MAILTMPLEN];
-+ struct stat sbuf;
-+
-+ MDFLD(tmp, LOCAL->dir, dirtype);
-+ if (access (tmp, R_OK|W_OK|X_OK) != 0){
-+ maildir_abort(stream);
-+ return -1;
-+ }
-+
-+ MDFLD(tmp, LOCAL->dir, Cur);
-+ if (dirtype != New &&
-+ (stat(tmp, &sbuf) < 0 || sbuf.st_ctime == LOCAL->scantime))
-+ return -1;
-+ return 0;
-+ }
-+
-+
-+ /* Return the number of messages in the directory, while filling the
-+ * elt structure.
-+ */
-+
-+ unsigned long
-+ maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
-+ DirNamesType dirtype, struct direct **names,
-+ unsigned long nfiles, int full)
-+ {
-+ char tmp[MAILTMPLEN], tmp2[MAILTMPLEN], file[MAILTMPLEN],
-+ newfile[MAILTMPLEN], *mdstr;
-+ struct stat sbuf;
-+ unsigned long i, new = 0L, l, uid_last;
-+ unsigned long recent = stream ? stream->recent : 0L;
-+ int d = 0, f = 0, r = 0, s = 0, t = 0;
-+ int we_compute, in_list;
-+ int silent = stream ? stream->silent : NIL;
-+ MESSAGECACHE *elt;
-+
-+ MDFLD(tmp, LOCAL->dir, dirtype);
-+ if (dirtype == Cur && !stream->rdonly)
-+ for (i = 1L; i <= stream->nmsgs;){
-+ elt = mail_elt(stream, i);
-+ in_list = elt && elt->private.spare.ptr && nfiles > 0L
-+ ? (MDPOS(elt) < nfiles
-+ ? same_maildir_file(MDFILE(elt), names[MDPOS(elt)]->d_name)
-+ : NIL)
-+ || maildir_message_in_list(MDFILE(elt), names, 0L,
-+ nfiles - 1L, &MDPOS(elt))
-+ : NIL;
-+ if (!in_list){
-+ if (elt->private.spare.ptr)
-+ maildir_free_file ((void **) &elt->private.spare.ptr);
-+
-+ if (elt->recent) --recent;
-+ mail_expunged(stream,i);
-+ }
-+ else i++;
-+ }
-+
-+ stream->silent = T;
-+ uid_last = 0L;
-+ for (we_compute = 0, i = l = 1L; l <= nfiles; l++){
-+ unsigned long pos, uid;
-+ if (dirtype == New && !stream->rdonly){ /* move new messages to cur */
-+ pos = l - 1L;
-+ sprintf (file,"%s/%s", tmp, names[pos]->d_name);
-+ if(lstat(file,&sbuf) == 0)
-+ switch(sbuf.st_mode & S_IFMT){
-+ case S_IFREG:
-+ strcpy(tmp2, names[pos]->d_name);
-+ if((mdstr = strstr(tmp2,MDSEP(3)))
-+ || (mdstr = strstr(tmp2,MDSEP(2))))
-+ *(mdstr+1) = '2';
-+ else
-+ strcat(tmp2, MDSEP(2));
-+ sprintf(newfile, "%s/%s",LOCAL->curdir, tmp2);
-+ if(rename (file, newfile) != 0){
-+ mm_log("Unable to read new mail!", WARN);
-+ continue;
-+ }
-+ unlink (file);
-+ new++;
-+ break;
-+ case S_IFLNK: /* clean up, clean up, everybody, everywhere */
-+ if(unlink(file) < 0){
-+ if(LOCAL->link == NIL){
-+ mm_log("Unable to remove symbolic link", WARN);
-+ LOCAL->link = T;
-+ }
-+ }
-+ continue;
-+ break;
-+ default:
-+ if(LOCAL && LOCAL->link == NIL){
-+ mm_log("Unrecognized file or link in folder", WARN);
-+ LOCAL->link = T;
-+ }
-+ continue;
-+ break;
-+ }
-+ }
-+ mail_exists(stream, i + nmsgs);
-+ elt = mail_elt(stream, i + nmsgs);
-+ pos = (elt && elt->private.spare.ptr) ? MDPOS(elt) : l - 1L;
-+ if (dirtype == New) elt->recent = T;
-+ maildir_getflag(names[pos]->d_name, &d, &f, &r ,&s, &t);
-+ if (elt->private.spare.ptr)
-+ maildir_free_file_only ((void **)&elt->private.spare.ptr);
-+ else{
-+ maildir_get_file((MAILDIRFILE **)&elt->private.spare.ptr);
-+ we_compute++;
-+ }
-+ MDFILE(elt) = cpystr(names[pos]->d_name);
-+ MDPOS(elt) = pos;
-+ MDLOC(elt) = dirtype;
-+ if (dirtype == Cur){ /* deal with UIDs */
-+ if(elt->private.uid == 0L)
-+ elt->private.uid = maildir_get_uid(MDFILE(elt));
-+ if(elt->private.uid <= uid_last){
-+ uid = (we_compute ? uid_last : stream->uid_last) + 1L;
-+ if(LOCAL->candouid)
-+ maildir_assign_uid(stream, i + nmsgs, uid);
-+ else
-+ elt->private.uid = uid;
-+ }
-+ else
-+ uid = elt->private.uid;
-+ uid_last = uid;
-+ if(uid_last > stream->uid_last)
-+ stream->uid_last = uid_last;
-+ }
-+ if(dirtype == New && !stream->rdonly){
-+ maildir_free_file_only((void **)&elt->private.spare.ptr);
-+ MDFILE(elt) = cpystr(tmp2);
-+ MDSIZE(elt) = sbuf.st_size;
-+ MDMTIME(elt) = sbuf.st_mtime;
-+ MDLOC(elt) = Cur;
-+ }
-+ if (elt->draft != d || elt->flagged != f ||
-+ elt->answered != r || elt->seen != s || elt->deleted != t){
-+ elt->draft = d; elt->flagged = f; elt->answered = r;
-+ elt->seen = s; elt->deleted = t;
-+ if (!we_compute && !stream->rdonly)
-+ MM_FLAGS(stream, i+nmsgs);
-+ }
-+ maildir_get_date(stream, i+nmsgs);
-+ elt->valid = T;
-+ i++;
-+ }
-+ stream->silent = silent;
-+ if(LOCAL->candouid && dirtype == Cur)
-+ maildir_read_uid(stream, NULL, &stream->uid_validity);
-+ if (dirtype == New && stream->rdonly)
-+ new = nfiles;
-+ mail_exists(stream, nmsgs + ((dirtype == New) ? new : nfiles));
-+ mail_recent(stream, recent + ((dirtype == New) ? new : 0L));
-+
-+ return (nmsgs + (dirtype == New ? new : nfiles));
-+ }
-+
-+ long maildir_ping (MAILSTREAM *stream)
-+ {
-+ maildir_parse_folder(stream, 0);
-+ if(stream && LOCAL){
-+ if(LOCAL->candouid)
-+ maildir_uid_renew_tempfile(stream);
-+ else /* try again to get uids */
-+ LOCAL->candouid = maildir_can_assign_uid(stream);
-+ }
-+ return stream && LOCAL ? LONGT : NIL;
-+ }
-+
-+ int maildir_select (const struct direct *name)
-+ {
-+ return (name->d_name[0] != '.');
-+ }
-+
-+ /*
-+ * Unfortunately, there is no way to sort by arrival in this driver, this
-+ * means that opening a folder in this driver using the scandir function
-+ * will always make this driver slower than any driver that has a natural
-+ * way of sorting by arrival (like a flat file format, "mbox", "mbx", etc).
-+ */
-+ int maildir_namesort (const void *d1, const void *d2)
-+ {
-+ const struct direct *e1 = *(const struct direct **) d1;
-+ const struct direct *e2 = *(const struct direct **) d2;
-+
-+ return comp_maildir_file((char *) e1->d_name, (char *) e2->d_name);
-+ }
-+
-+ /* Maildir close */
-+
-+ void maildir_close (MAILSTREAM *stream, long options)
-+ {
-+ MESSAGECACHE *elt;
-+ unsigned long i;
-+ int silent = stream ? stream->silent : 0;
-+ mailcache_t mc = (mailcache_t) mail_parameters (NIL,GET_CACHE,NIL);
-+
-+ if (!stream) return;
-+
-+ for (i = 1L; i <= stream->nmsgs; i++)
-+ if((elt = (MESSAGECACHE *) (*mc)(stream,i,CH_ELT)) && elt->private.spare.ptr)
-+ maildir_free_file ((void **) &elt->private.spare.ptr);
-+ stream->silent = T;
-+ if (options & CL_EXPUNGE) maildir_expunge (stream, NIL, NIL);
-+ maildir_abort(stream);
-+ if (mdfpath) fs_give((void **)&mdfpath);
-+ if (mypid) mypid = (pid_t) 0;
-+ stream->silent = silent;
-+ }
-+
-+ void maildir_check (MAILSTREAM *stream)
-+ {
-+ if (maildir_ping (stream)) mm_log ("Check completed",(long) NIL);
-+ }
-+
-+ long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs, long flags)
-+ {
-+ char tmp[MAILTMPLEN];
-+ unsigned long i;
-+ MESSAGECACHE *elt;
-+ char *s;
-+ /* UID call "impossible" */
-+ if (flags & FT_UID || !LOCAL) return NIL;
-+ elt = mail_elt (stream, msgno);
-+
-+ if (!(flags & FT_PEEK) && !elt->seen){
-+ elt->seen = T;
-+ maildir_flagmsg (stream, elt);
-+ MM_FLAGS(stream, elt->msgno);
-+ }
-+
-+ MSGPATH(tmp, LOCAL->dir, MDFILE(elt), MDLOC(elt));
-+ if (LOCAL->fd < 0) /* if file closed ? */
-+ LOCAL->fd = open(tmp,O_RDONLY,NIL);
-+
-+ if (LOCAL->fd < 0 && (errno == EACCES || errno == ENOENT)){
-+ INIT (bs, mail_string, "", 0);
-+ elt->rfc822_size = 0L;
-+ return NIL;
-+ }
-+
-+ s = maildir_text_work(stream, elt, &i, flags);
-+ INIT (bs, mail_string, s, i);
-+ return LONGT;
-+ }
-+
-+ char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt,
-+ unsigned long *length,long flags)
-+ {
-+ FDDATA d;
-+ STRING bs;
-+ char *s,tmp[CHUNK];
-+ unsigned long msgno = elt->msgno;
-+ static int try = 0;
-+
-+ if (length)
-+ *length = 0L;
-+ LOCAL->buf[0] = '\0';
-+
-+ MSGPATH(tmp, LOCAL->dir, MDFILE(elt), MDLOC(elt));
-+ if (LOCAL->fd < 0) /* if file closed ? */
-+ LOCAL->fd = open(tmp,O_RDONLY,NIL);
-+
-+ if (LOCAL->fd < 0){ /* flag change? */
-+ if (try < 5){
-+ try++;
-+ if (maildir_update_elt_maildirp(stream, msgno) > 0)
-+ try = 0;
-+ return maildir_text_work(stream, mail_elt(stream, msgno),length, flags);
-+ }
-+ try = 0;
-+ return NULL;
-+ }
-+
-+ lseek (LOCAL->fd, elt->private.msg.text.offset,L_SET);
-+
-+ if (flags & FT_INTERNAL) { /* initial data OK? */
-+ if (elt->private.msg.text.text.size > LOCAL->buflen) {
-+ fs_give ((void **) &LOCAL->buf);
-+ LOCAL->buf = (char *) fs_get ((LOCAL->buflen =
-+ elt->private.msg.text.text.size) + 1);
-+ }
-+ read (LOCAL->fd,LOCAL->buf,elt->private.msg.text.text.size);
-+ LOCAL->buf[*length = elt->private.msg.text.text.size] = '\0';
-+ }
-+ else {
-+ if (elt->rfc822_size > LOCAL->buflen) {
-+ fs_give ((void **) &LOCAL->buf);
-+ LOCAL->buf = (char *) fs_get ((LOCAL->buflen = elt->rfc822_size) + 1);
-+ }
-+ d.fd = LOCAL->fd; /* yes, set up file descriptor */
-+ d.pos = elt->private.msg.text.offset;
-+ d.chunk = tmp; /* initial buffer chunk */
-+ d.chunksize = CHUNK;
-+ INIT (&bs,fd_string,&d,elt->private.msg.text.text.size);
-+ for (s = LOCAL->buf; SIZE (&bs);) switch (CHR (&bs)) {
-+ case '\r': /* carriage return seen */
-+ *s++ = SNX (&bs); /* copy it and any succeeding LF */
-+ if (SIZE (&bs) && (CHR (&bs) == '\n')) *s++ = SNX (&bs);
-+ break;
-+ case '\n':
-+ *s++ = '\r'; /* insert a CR */
-+ default:
-+ *s++ = SNX (&bs); /* copy characters */
-+ }
-+ *s = '\0'; /* tie off buffer */
-+ *length = s - (char *) LOCAL->buf; /* calculate length */
-+ }
-+ close(LOCAL->fd); LOCAL->fd = -1;
-+ return LOCAL->buf;
-+ }
-+
-+ /* maildir parse, fill the elt structure... well not all of it... */
-+ unsigned long maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
-+ DirNamesType dirtype)
-+ {
-+ char *b, *s, *t, c;
-+ char tmp[MAILTMPLEN];
-+ struct stat sbuf;
-+ unsigned long i, len;
-+ int d, f, r, se, dt;
-+ MESSAGECACHE *elt;
-+
-+ elt = mail_elt (stream,msgno);
-+ MSGPATH(tmp, LOCAL->dir, MDFILE(elt), dirtype);
-+ if(stat(tmp, &sbuf) == 0)
-+ MDSIZE(elt) = sbuf.st_size;
-+
-+ maildir_get_date(stream, msgno);
-+ maildir_getflag(MDFILE(elt), &d, &f, &r ,&se, &dt);
-+ elt->draft = d; elt->flagged = f; elt->answered = r; elt->seen = se;
-+ elt->deleted = dt; elt->valid = T;
-+ if (LOCAL->fd < 0) /* if file closed ? */
-+ LOCAL->fd = open(tmp,O_RDONLY,NIL);
-+
-+ if (LOCAL->fd >= 0){
-+ s = (char *) fs_get (MDSIZE(elt) + 1);
-+ read (LOCAL->fd,s,MDSIZE(elt));
-+ s[MDSIZE(elt)] = '\0';
-+ t = s + strlen(s); /* make t point to the end of s */
-+ for (i = 0L, b = s; b < t && !(i && (*b == '\n')); i = (*b++ == '\n'));
-+ len = (*b ? ++b : b) - s;
-+ elt->private.msg.header.text.size =
-+ elt->private.msg.text.offset = len;
-+ elt->private.msg.text.text.size = MDSIZE(elt) - len;
-+ for (i = 0L, b = s, c = *b; b &&
-+ ((c < '\016' && ((c == '\012' && ++i)
-+ ||(c == '\015' && *(b+1) == '\012' && ++b && (i +=2))))
-+ || b < t); i++, c= *++b);
-+ elt->rfc822_size = i;
-+ fs_give ((void **) &s);
-+ close(LOCAL->fd); LOCAL->fd = -1;
-+ }
-+ return elt->rfc822_size;
-+ }
-+
-+ int
-+ maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno)
-+ {
-+ char tmp[MAILTMPLEN];
-+ struct direct **names = NIL;
-+ unsigned long i, nfiles, pos;
-+ int d = 0, f = 0 , r = 0, s = 0, t = 0, in_list, scan_err;
-+ MESSAGECACHE *elt;
-+
-+ MDFLD(tmp, LOCAL->dir, Cur);
-+
-+ maildir_scandir (tmp, &names, &nfiles, &scan_err, CCLIENT);
-+
-+ elt = mail_elt (stream,msgno);
-+
-+ in_list = nfiles > 0L
-+ ? maildir_message_in_list(MDFILE(elt), names, 0L, nfiles - 1L, &pos)
-+ : NIL;
-+
-+ if (in_list && pos >= 0L && pos < nfiles
-+ && !strcmp(MDFILE(elt), names[pos]->d_name)){
-+ in_list = NIL;
-+ maildir_abort(stream);
-+ }
-+
-+ if (in_list && pos >= 0L && pos < nfiles){
-+ maildir_free_file_only((void **)&elt->private.spare.ptr);
-+ MDFILE(elt) = cpystr(names[pos]->d_name);
-+ maildir_getflag(MDFILE(elt), &d, &f, &r ,&s, &t);
-+ if (elt->draft != d || elt->flagged != f ||
-+ elt->answered != r || elt->seen != s || elt->deleted != t){
-+ elt->draft = d; elt->flagged = f; elt->answered = r;
-+ elt->seen = s; elt->deleted = t;
-+ MM_FLAGS(stream, msgno);
-+ }
-+ }
-+ for (i = 0L; i < nfiles; i++)
-+ fs_give((void **) &names[i]);
-+ if (names)
-+ fs_give((void **) &names);
-+ return in_list ? 1 : -1;
-+ }
-+
-+ /* Maildir fetch message header */
-+
-+ char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
-+ unsigned long *length, long flags)
-+ {
-+ char tmp[MAILTMPLEN], *s;
-+ MESSAGECACHE *elt;
-+ static int try = 0;
-+
-+ if (length) *length = 0;
-+ if (flags & FT_UID || !LOCAL) return ""; /* UID call "impossible" */
-+ elt = mail_elt (stream,msgno);
-+ if(elt->private.msg.header.text.size == 0)
-+ maildir_parse_message(stream, msgno, MDLOC(elt));
-+
-+ MSGPATH(tmp, LOCAL->dir, MDFILE(elt), MDLOC(elt));
-+ if (LOCAL->fd < 0)
-+ LOCAL->fd = open (tmp,O_RDONLY,NIL);
-+
-+ if (LOCAL->fd < 0 && errno == EACCES){
-+ mm_log ("Message exists but can not be read. Envelope and body lost!",ERROR);
-+ return NULL;
-+ }
-+
-+ if (LOCAL->fd < 0){ /* flag change? */
-+ if (try < 5){
-+ try++;
-+ if (maildir_update_elt_maildirp(stream, msgno) > 0)
-+ try = 0;
-+ return maildir_header(stream, msgno, length, flags);
-+ }
-+ try = 0;
-+ return NULL;
-+ }
-+
-+ if (flags & FT_INTERNAL){
-+ if(elt->private.msg.header.text.size > LOCAL->buflen){
-+ fs_give ((void **) &LOCAL->buf);
-+ LOCAL->buf = (char *) fs_get ((LOCAL->buflen =
-+ elt->private.msg.header.text.size) + 1);
-+ }
-+ read (LOCAL->fd, (void *)LOCAL->buf, elt->private.msg.header.text.size);
-+ LOCAL->buf[*length = elt->private.msg.header.text.size] = '\0';
-+ }
-+ else{
-+ s = (char *) fs_get(elt->private.msg.header.text.size+1);
-+ read (LOCAL->fd, (void *)s, elt->private.msg.header.text.size);
-+ s[elt->private.msg.header.text.size] = '\0';
-+ *length = strcrlfcpy (&LOCAL->buf,&LOCAL->buflen,s,
-+ elt->private.msg.header.text.size);
-+ fs_give ((void **) &s);
-+ }
-+ elt->private.msg.text.offset = elt->private.msg.header.text.size;
-+ elt->private.msg.text.text.size = MDSIZE(elt) - elt->private.msg.text.offset;
-+ close(LOCAL->fd); LOCAL->fd = -1;
-+ return LOCAL->buf;
-+ }
-+
-+ /* Maildir find list of subscribed mailboxes
-+ * Accepts: mail stream
-+ * pattern to search
-+ */
-+
-+ void maildir_list (MAILSTREAM *stream,char *ref, char *pat)
-+ {
-+ char *s,test[MAILTMPLEN],file[MAILTMPLEN];
-+ long i = 0L;
-+
-+ if((!pat || !*pat) && maildir_canonicalize (test,ref,"*")
-+ && maildir_valid_name(test)){ /* there is a #md/ leading here */
-+ for (i = 3L; test[i] && test[i] != '/'; i++);
-+ if ((s = strchr (test+i+1,'/')) != NULL) *++s = '\0';
-+ else test[0] = '\0';
-+ mm_list (stream,'/',test, LATT_NOSELECT);
-+ }
-+ else if (maildir_canonicalize (test,ref,pat)) {
-+ if (test[3] == '/') { /* looking down levels? */
-+ /* yes, found any wildcards? */
-+ if ((s = strpbrk (test,"%*")) != NULL){
-+ /* yes, copy name up to that point */
-+ strncpy (file,test+4,i = s - (test+4));
-+ file[i] = '\0'; /* tie off */
-+ }
-+ else strcpy (file,test+4);/* use just that name then */
-+ /* find directory name */
-+ if ((s = strrchr (file, '/')) != NULL){
-+ *s = '\0'; /* found, tie off at that point */
-+ s = file;
-+ }
-+ /* do the work */
-+ if(IS_COURIER(test))
-+ courier_list_work (stream,s,test,0);
-+ else
-+ maildir_list_work (stream,s,test,0);
-+ }
-+ /* always an INBOX */
-+ if (!compare_cstring (test,"#MD/INBOX"))
-+ mm_list (stream,NIL,"#MD/INBOX",LATT_NOINFERIORS);
-+ if (!compare_cstring (test,"#MC/INBOX"))
-+ mm_list (stream,NIL,"#MC/INBOX",LATT_NOINFERIORS);
-+ }
-+ }
-+
-+ void courier_list (MAILSTREAM *stream,char *ref, char *pat)
-+ {
-+ /* I am too lazy to do anything. Do you care to ask maildir list, please?
-+ The real reason why this is a dummy function is because we do not want to
-+ see the same folder listed twice.
-+ */
-+ }
-+
-+ /* For those that want to hide things, we give them a chance to do so */
-+ void *maildir_parameters (long function, void *value)
-+ {
-+ void *ret = NIL;
-+ switch ((int) function) {
-+ case SET_MDINBOXPATH:
-+ if(strlen((char *) value ) > 49)
-+ strcpy(myMdInboxDir, "Maildir");
-+ else
-+ strcpy(myMdInboxDir, (char *) value);
-+ case GET_MDINBOXPATH:
-+ if (myMdInboxDir[0] == '\0') strcpy(myMdInboxDir,"Maildir");
-+ ret = (void *) myMdInboxDir;
-+ break;
-+ case SET_COURIERSTYLE:
-+ CourierStyle = (long) value;
-+ case GET_COURIERSTYLE:
-+ ret = (void *) CourierStyle;
-+ break;
-+ case GET_DIRFMTTEST:
-+ ret = (void *) maildir_dirfmttest;
-+ break;
-+ default:
-+ break;
-+ }
-+ return ret;
-+ }
-+
-+ int maildir_create_folder(char *mailbox)
-+ {
-+ char tmp[MAILTMPLEN], err[MAILTMPLEN];
-+ int i;
-+
-+ for (i = Cur; i != EndDir; i++){
-+ MDFLD(tmp, mailbox, i);
-+ if (mkdir(tmp, 0700) && errno != EEXIST){ /* try to make new dir */
-+ sprintf (err, "Can't create %s: %s", tmp, strerror(errno));
-+ mm_log (err,ERROR);
-+ return NIL;
-+ }
-+ }
-+ return T;
-+ }
-+
-+ int maildir_create_work(char *mailbox, int loop)
-+ {
-+ char *s, c, err[MAILTMPLEN], tmp[MAILTMPLEN], tmp2[MAILTMPLEN], mbx[MAILTMPLEN];
-+ int fnlen, create_dir = 0, courier, mv;
-+ struct stat sbuf;
-+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL);
-+
-+ courier = IS_COURIER(mailbox);
-+ strcpy(mbx, mailbox);
-+ mv = maildir_valid(mbx) ? 1 : 0;
-+ maildir_file_path(mailbox, tmp);
-+ if (mailbox[strlen(mailbox) - 1] == MDSEPARATOR(courier)){
-+ create_dir++;
-+ mailbox[strlen(mailbox) - 1] = '\0';
-+ }
-+
-+ if(!loop && courier){
-+ if(mv){
-+ if(create_dir){
-+ if(style == CCLIENT)
-+ strcpy (err,"Can not create directory: folder exists. Create subfolder");
-+ else
-+ strcpy(err,"Folder and Directory already exist");
-+ }
-+ else
-+ strcpy (err, "Can't create mailbox: mailbox already exists");
-+ }
-+ else{
-+ if(create_dir)
-+ strcpy(err, "Can not create directory. Cread folder instead");
-+ else
-+ err[0] = '\0';
-+ }
-+ if(err[0]){
-+ mm_log (err,ERROR);
-+ return NIL;
-+ }
-+ }
-+
-+ fnlen = strlen(tmp);
-+ if ((s = strrchr(mailbox,MDSEPARATOR(courier))) != NULL){
-+ c = *++s;
-+ *s = '\0';
-+ if ((stat(tmp,&sbuf) || ((sbuf.st_mode & S_IFMT) != S_IFDIR)) &&
-+ !maildir_create_work (mailbox, ++loop))
-+ return NIL;
-+ *s = c;
-+ }
-+ tmp[fnlen] = '\0';
-+
-+ if (mkdir(tmp,0700) && errno != EEXIST)
-+ return NIL;
-+
-+ if (create_dir)
-+ mailbox[fnlen] = '/';
-+
-+ if (create_dir){
-+ if(style == CCLIENT){
-+ if(!courier){
-+ FILE *fp = NULL;
-+ sprintf(tmp2,"%s%s", tmp, MDDIR);
-+ if ((fp = fopen(tmp2,"w")) == NULL){
-+ sprintf (err,"Problem creating %s: %s", tmp2, strerror(errno));
-+ mm_log (err,ERROR);
-+ return NIL;
-+ }
-+ fclose(fp);
-+ }
-+ }
-+ return T;
-+ }
-+ else
-+ return maildir_create_folder(tmp);
-+ }
-+
-+ long maildir_create (MAILSTREAM *stream,char *mailbox)
-+ {
-+ char tmp[MAILTMPLEN], err[MAILTMPLEN];
-+ int rv, create_dir;
-+
-+ create_dir = mailbox ?
-+ (mailbox[strlen(mailbox) - 1] ==
-+ MDSEPARATOR(IS_COURIER(mailbox))) : 0;
-+ maildir_file_path(mailbox, tmp);
-+ strcpy(tmp, mailbox);
-+ rv = maildir_create_work(mailbox, 0);
-+ strcpy(mailbox, tmp);
-+ if (rv == 0){
-+ sprintf (err,"Can't create %s %s",
-+ (create_dir ? "directory" : "mailbox"), mailbox);
-+ mm_log (err,ERROR);
-+ }
-+ return rv ? LONGT : NIL;
-+ }
-+
-+ #define MAXTRY 10000
-+ void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt)
-+ {
-+ char oldfile[MAILTMPLEN],newfile[MAILTMPLEN],fn[MAILTMPLEN];
-+ char *s;
-+ int ren, try = 0;
-+
-+ if (elt->valid){
-+ for (try = 1; try > 0 && try < MAXTRY; try++){
-+ /* build the new filename */
-+ sprintf (oldfile,"%s/%s",LOCAL->curdir, MDFILE(elt));
-+ fn[0] = '\0';
-+ if ((ren = maildir_message_exists(stream, MDFILE(elt), fn)) == 0){
-+ errno = ENOENT;
-+ try = MAXTRY;
-+ }
-+ if (*fn) /* new oldfile! */
-+ sprintf (oldfile,"%s/%s",LOCAL->curdir,fn);
-+ if ((s = strrchr (MDFILE(elt), FLAGSEP))) *s = '\0';
-+ sprintf (fn,"%s%s%s%s%s%s%s", MDFILE(elt), MDSEP(2),
-+ MDFLAG(Draft, elt->draft), MDFLAG(Flagged, elt->flagged),
-+ MDFLAG(Replied, elt->answered), MDFLAG(Seen, elt->seen),
-+ MDFLAG(Trashed, elt->deleted));
-+ sprintf (newfile,"%s/%s",LOCAL->curdir,fn);
-+ if (ren != 0 && rename (oldfile,newfile) >= 0)
-+ try = -1;
-+ }
-+
-+ if (try > 0){
-+ sprintf(oldfile,"Unable to write flags to disk: %s",
-+ (errno == ENOENT) ? "message is gone!" : strerror (errno));
-+ mm_log(oldfile,ERROR);
-+ return;
-+ }
-+ #ifdef __CYGWIN__
-+ utime(LOCAL->curdir, NIL); /* make sure next scan will catch the change */
-+ #endif
-+ maildir_free_file_only ((void **) &elt->private.spare.ptr);
-+ MDFILE(elt) = cpystr (fn);
-+ }
-+ }
-+
-+ long maildir_expunge (MAILSTREAM *stream, char *sequence, long options)
-+ {
-+ long ret;
-+ MESSAGECACHE *elt;
-+ unsigned long i, n = 0L;
-+ unsigned long recent = stream->recent;
-+ char tmp[MAILTMPLEN];
-+
-+ mm_critical (stream); /* go critical */
-+ ret = sequence ? ((options & EX_UID) ?
-+ mail_uid_sequence (stream,sequence) :
-+ mail_sequence (stream,sequence)) : LONGT;
-+ if(ret == 0L)
-+ return 0L;
-+ for (i = 1L; i <= stream->nmsgs;){
-+ elt = mail_elt (stream,i);
-+ if (elt->deleted && (sequence ? elt->sequence : T)){
-+ sprintf (tmp,"%s/%s",LOCAL->curdir, MDFILE(elt));
-+ if (unlink (tmp) < 0) {/* try to delete the message */
-+ sprintf (tmp,"Expunge of message %ld failed, aborted: %s",i,
-+ strerror (errno));
-+ if (!stream->silent)
-+ mm_log (tmp,WARN);
-+ break;
-+ }
-+ if (elt->private.spare.ptr)
-+ maildir_free_file ((void **) &elt->private.spare.ptr);
-+ if (elt->recent) --recent;/* if recent, note one less recent message */
-+ mail_expunged (stream,i); /* notify upper levels */
-+ n++; /* count up one more expunged message */
-+ }
-+ else i++;
-+ }
-+ if(n){ /* output the news if any expunged */
-+ sprintf (tmp,"Expunged %ld messages",n);
-+ if (!stream->silent)
-+ mm_log (tmp,(long) NIL);
-+ }
-+ else
-+ if (!stream->silent)
-+ mm_log ("No messages deleted, so no update needed",(long) NIL);
-+ mm_nocritical (stream); /* release critical */
-+ /* notify upper level of new mailbox size */
-+ mail_exists (stream,stream->nmsgs);
-+ mail_recent (stream,recent);
-+ return ret;
-+ }
-+
-+ long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options)
-+ {
-+ STRING st;
-+ MESSAGECACHE *elt;
-+ unsigned long len;
-+ int fd;
-+ unsigned long i;
-+ struct stat sbuf;
-+ char tmp[MAILTMPLEN], flags[MAILTMPLEN], path[MAILTMPLEN], *s;
-+ /* copy the messages */
-+ if ((options & CP_UID) ? mail_uid_sequence (stream, sequence) :
-+ mail_sequence (stream,sequence))
-+ for (i = 1L; i <= stream->nmsgs; i++)
-+ if ((elt = mail_elt (stream,i))->sequence){
-+ MSGPATH(path, LOCAL->dir, MDFILE(elt), MDLOC(elt));
-+ if (((fd = open (path,O_RDONLY,NIL)) < 0)
-+ ||((!elt->rfc822_size &&
-+ ((stat(path, &sbuf) < 0) || !S_ISREG (sbuf.st_mode)))))
-+ return NIL;
-+ if(!elt->rfc822_size)
-+ MDSIZE(elt) = sbuf.st_size;
-+ s = (char *) fs_get(MDSIZE(elt) + 1);
-+ read (fd,s,MDSIZE(elt));
-+ s[MDSIZE(elt)] = '\0';
-+ close (fd);
-+ len = strcrlfcpy (&LOCAL->buf,&LOCAL->buflen, s, MDSIZE(elt));
-+ INIT (&st,mail_string, LOCAL->buf, len);
-+ elt->rfc822_size = len;
-+ fs_give ((void **)&s);
-+
-+ flags[0] = flags[1] = '\0';
-+ if (elt->seen) strcat (flags," \\Seen");
-+ if (elt->draft) strcat (flags," \\Draft");
-+ if (elt->deleted) strcat (flags," \\Deleted");
-+ if (elt->flagged) strcat (flags," \\Flagged");
-+ if (elt->answered) strcat (flags," \\Answered");
-+ flags[0] = '('; /* open list */
-+ strcat (flags,")"); /* close list */
-+ mail_date (tmp,elt); /* generate internal date */
-+ if (!mail_append_full (NIL,mailbox,flags,tmp,&st))
-+ return NIL;
-+ if (options & CP_MOVE) elt->deleted = T;
-+ }
-+ return LONGT; /* return success */
-+ }
-+
-+ long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
-+ {
-+ int fd, k;
-+ STRING *message;
-+ char c,*s, *flags, *date;
-+ char tmp[MAILTMPLEN],file[MAILTMPLEN],path1[MAILTMPLEN],path2[MAILTMPLEN];
-+ MESSAGECACHE elt;
-+ long i, size = 0L, ret = LONGT, f;
-+ unsigned long uf, ti;
-+ static unsigned int transact = 0;
-+
-+ if (!maildir_valid(mailbox)) {
-+ sprintf (tmp,"Not a valid Maildir mailbox: %s",mailbox);
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+
-+ if (!*mdlocaldomain)
-+ md_domain_name(); /* get domain name for maildir files in mdlocaldomain now! */
-+
-+ if (mypid == (pid_t) 0)
-+ mypid = getpid();
-+
-+ if (!stream){
-+ stream = &maildirproto;
-+
-+ for (k = 0; k < NUSERFLAGS && stream->user_flags[k]; ++k)
-+ fs_give ((void **) &stream->user_flags[k]);
-+ }
-+
-+ if (!(*af) (stream,data,&flags,&date,&message)) return NIL;
-+
-+ mm_critical (stream); /* go critical */
-+ /* call time(0) only once, use transact to distinguish instead */
-+ ti = time(0);
-+ do {
-+ if (!SIZE (message)) { /* guard against zero-length */
-+ mm_log ("Append of zero-length message",ERROR);
-+ ret = NIL;
-+ break;
-+ }
-+ if (date && !mail_parse_date(&elt,date)){
-+ sprintf (tmp,"Bad date in append: %.80s",date);
-+ mm_log (tmp,ERROR);
-+ ret = NIL;
-+ break;
-+ }
-+ f = mail_parse_flags (stream,flags,&uf);
-+ /* build file name we will use */
-+ sprintf (file,"%lu.%d_%09u.%s%s%s%s%s%s",
-+ ti, mypid, transact++, mdlocaldomain, (f ? MDSEP(2) : ""),
-+ MDFLAG(Draft, f&fDRAFT), MDFLAG(Flagged, f&fFLAGGED),
-+ MDFLAG(Replied, f&fANSWERED), MDFLAG(Seen, f&fSEEN));
-+ /* build tmp file name */
-+ if (maildir_file_path(mailbox, tmp))
-+ MSGPATH(path1, tmp, file, Tmp);
-+
-+ if ((fd = open (path1,O_WRONLY|O_CREAT|O_EXCL,S_IREAD|S_IWRITE)) < 0) {
-+ sprintf (tmp, "Can't open append mailbox: %s", strerror (errno));
-+ mm_log (tmp, ERROR);
-+ return NIL;
-+ }
-+ for (size = 0,i = SIZE (message),s = (char *) fs_get (i + 1); i; --i)
-+ if ((c = SNX (message)) != '\015') s[size++] = c;
-+ if ((write (fd, s, size) < 0) || fsync (fd)) {
-+ unlink (path1); /* delete message */
-+ sprintf (tmp, "Message append failed: %s", strerror (errno));
-+ mm_log (tmp, ERROR);
-+ ret = NIL;
-+ }
-+ fs_give ((void **) &s); /* flush the buffer */
-+ close (fd); /* close the file */
-+ /* build final filename to use */
-+ if (maildir_file_path(mailbox, tmp))
-+ MSGPATH(path2, tmp, file, New);
-+ if (rename (path1,path2) < 0) {
-+ sprintf (tmp, "Message append failed: %s", strerror (errno));
-+ mm_log (tmp, ERROR);
-+ ret = NIL;
-+ }
-+ unlink (path1);
-+
-+ if (ret)
-+ if (!(*af) (stream,data,&flags,&date,&message)) ret = NIL;
-+
-+ } while (ret && message); /* write the data */
-+ mm_nocritical (stream); /* release critical */
-+ return ret;
-+ }
-+
-+ long maildir_delete (MAILSTREAM *stream,char *mailbox)
-+ {
-+ DIR *dirp;
-+ struct direct *d;
-+ int i, remove_dir = 0, mddir = 0, rv, error = 0;
-+ char tmp[MAILTMPLEN],tmp2[MAILTMPLEN], realname[MAILTMPLEN];
-+ struct stat sbuf;
-+ int courier = IS_COURIER(mailbox);
-+
-+ if (mailbox[strlen(mailbox) - 1] == MDSEPARATOR(courier)){
-+ remove_dir++;
-+ mailbox[strlen(mailbox) -1] = '\0';
-+ }
-+
-+ if (!maildir_valid(mailbox)){
-+ maildir_file_path(mailbox, tmp);
-+ if (stat(tmp, &sbuf) < 0 || !S_ISDIR(sbuf.st_mode)){
-+ sprintf(tmp,"Can not remove %s", mailbox);
-+ error++;
-+ }
-+ }
-+
-+ if (!error && remove_dir && !maildir_dir_is_empty(mailbox)){
-+ sprintf(tmp,"Can not remove directory %s/: directory not empty", mailbox);
-+ error++;
-+ }
-+
-+ if(error){
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+
-+ maildir_close(stream,0); /* even if stream was NULL */
-+
-+ maildir_file_path(mailbox, realname);
-+
-+ if (remove_dir){
-+ sprintf(tmp,"%s/%s", realname, MDDIR);
-+ if ((rv = stat (tmp,&sbuf)) == 0 && S_ISREG(sbuf.st_mode))
-+ rv = unlink(tmp);
-+ else if (errno == ENOENT)
-+ rv = 0;
-+ if (rv != 0){
-+ sprintf(tmp,"Can not remove %s/%s: %s", tmp2, MDDIR, strerror(errno));
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+ if (!maildir_valid(realname) && rmdir(realname) != 0){
-+ sprintf(tmp,"Can not remove %s/: %s", mailbox, strerror(errno));
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+ return LONGT;
-+ }
-+ /* else remove just the folder. Remove all hidden files, except MDDIR */
-+ for (i = Cur; i != EndDir; i++){
-+ MDFLD(tmp, realname, i);
-+
-+ if (!(dirp = opendir (tmp))){
-+ sprintf(tmp,"Can not read %s/: %s", mailbox, strerror(errno));
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+
-+ while ((d = readdir(dirp)) != NULL){
-+ if (strcmp(d->d_name, ".") && strcmp(d->d_name,"..")){
-+ sprintf(tmp2,"%s/%s", tmp, d->d_name);
-+ if (unlink(tmp2) != 0){
-+ sprintf(tmp2,"Can not remove %s: %s", mailbox, strerror(errno));
-+ mm_log (tmp2,ERROR);
-+ return NIL;
-+ }
-+ }
-+ }
-+ closedir(dirp);
-+ if (rmdir(tmp) != 0){
-+ sprintf(tmp,"Can not remove %s: %s", mailbox, strerror(errno));
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+ }
-+ /*
-+ * ok we have removed all subdirectories of the folder mailbox, Remove the
-+ * hidden files.
-+ */
-+
-+ if(!(dirp = opendir (realname))){
-+ sprintf(tmp,"Can not read %s/: %s", realname, strerror(errno));
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+
-+ while ((d = readdir(dirp)) != NULL){
-+ if (strcmp(d->d_name, ".") && strcmp(d->d_name,"..")
-+ && (!strcmp(d->d_name, MDDIR)
-+ || !strncmp(d->d_name, MDUIDLAST, strlen(MDUIDLAST))
-+ || !strncmp(d->d_name, MDUIDTEMP, strlen(MDUIDTEMP)))){
-+ if(strcmp(d->d_name, MDDIR) == 0)
-+ mddir++;
-+ sprintf(tmp,"%s/%s", realname, d->d_name);
-+ if (unlink(tmp) != 0)
-+ error++;
-+ }
-+ }
-+ closedir(dirp);
-+ if (error ||
-+ (maildir_dir_is_empty(mailbox) && mddir == 0 && rmdir(realname) < 0)){
-+ sprintf(tmp,"Can not remove folder %s: %s", mailbox, strerror(errno));
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+ return LONGT;
-+ }
-+
-+ long maildir_rename (MAILSTREAM *stream, char *old, char *new)
-+ {
-+ char tmp[MAILTMPLEN],tmpnew[MAILTMPLEN], realold[MAILTMPLEN];
-+ char realnew[MAILTMPLEN];
-+ int courier = IS_COURIER(old) && IS_COURIER(new);
-+ int i;
-+ long rv = LONGT;
-+ COURIER_S *cdir;
-+
-+ if((IS_COURIER(old) || IS_COURIER(new)) && !courier){
-+ sprintf (tmp,"Can't rename mailbox %s to %s",old, new);
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+
-+ if (!maildir_valid(old)){
-+ sprintf (tmp,"Can't rename mailbox %s: folder not in maildir format",old);
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+ maildir_file_path(old, realold);
-+ if (!maildir_valid_name(new) && new[0] == '#'){
-+ sprintf (tmp,"Can't rename mailbox %s: folder not in maildir format",new);
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+ maildir_file_path(new, realnew);
-+ if (access(tmpnew,F_OK) == 0){ /* new mailbox name must not exist */
-+ sprintf (tmp,"Can't rename to mailbox %s: destination already exists",new);
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+
-+ if(!courier){
-+ if (rename (realold,realnew)){ /* try to rename the directory */
-+ sprintf (tmp,"Can't rename mailbox %s to %s: %s",old, new,
-+ strerror(errno));
-+ mm_log (tmp,ERROR);
-+ return NIL;
-+ }
-+ return LONGT; /* return success */
-+ }
-+
-+ cdir = courier_list_dir(old);
-+ for (i = 0; cdir && i < cdir->total; i++){
-+ if(strstr(cdir->data[i]->name, old)){
-+ sprintf(tmp,"%s%s", new, cdir->data[i]->name+strlen(old));
-+ maildir_file_path(cdir->data[i]->name, realold);
-+ maildir_file_path(tmp, realnew);
-+ if (rename (realold,realnew)){
-+ sprintf (tmp,"Can't rename mailbox %s to %s: %s",old, new,
-+ strerror(errno));
-+ mm_log (tmp,ERROR);
-+ rv = NIL;
-+ }
-+ }
-+ }
-+ courier_free_cdir(&cdir);
-+ return rv;
-+ }
-+
-+ long maildir_sub (MAILSTREAM *stream,char *mailbox)
-+ {
-+ return sm_subscribe (mailbox);
-+ }
-+
-+ long maildir_unsub (MAILSTREAM *stream,char *mailbox)
-+ {
-+ return sm_unsubscribe (mailbox);
-+ }
-+
-+ void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
-+ {
-+ void *sdb = NIL;
-+ char *s, test[MAILTMPLEN];
-+ /* get canonical form of name */
-+ if (maildir_canonicalize (test,ref,pat) && (s = sm_read (&sdb))) {
-+ do if (pmatch_full (s,test,'/')) mm_lsub (stream,'/',s,NIL);
-+ while ((s = sm_read (&sdb)) != NULL); /* until no more subscriptions */
-+ }
-+ }
-+
-+ long maildir_canonicalize (char *pattern,char *ref,char *pat)
-+ {
-+ if (ref && *ref) { /* have a reference */
-+ strcpy (pattern,ref); /* copy reference to pattern */
-+ /* # overrides mailbox field in reference */
-+ if (*pat == '#') strcpy (pattern,pat);
-+ /* pattern starts, reference ends, with / */
-+ else if ((*pat == '/') && (pattern[strlen (pattern) - 1] == '/'))
-+ strcat (pattern,pat + 1); /* append, omitting one of the period */
-+
-+ else strcat (pattern,pat); /* anything else is just appended */
-+ }
-+ else strcpy (pattern,pat); /* just have basic name */
-+ return maildir_valid_name(pattern) ? LONGT : NIL;
-+ }
-+
-+ void maildir_list_work (MAILSTREAM *stream,char *dir,char *pat,long level)
-+ {
-+ DIR *dp;
-+ struct direct *d;
-+ struct stat sbuf;
-+ char curdir[MAILTMPLEN],name[MAILTMPLEN], tmp[MAILTMPLEN];
-+ char realpat[MAILTMPLEN];
-+ long i;
-+ char *maildirpath = mdirpath();
-+
-+ sprintf(curdir,"%s/%s/", myrootdir(pat), dir ? dir : maildirpath);
-+ if ((dp = opendir (curdir)) != NULL){
-+ if (dir) sprintf (name,"%s%s/",MDPREFIX(CCLIENT),dir);
-+ else strcpy (name, pat);
-+
-+ if (level == 0 && !strpbrk(pat,"%*")){
-+ if(maildir_valid(pat)){
-+ i = maildir_contains_folder(pat, NULL)
-+ ? LATT_HASCHILDREN
-+ : (maildir_is_dir(pat, NULL)
-+ ? LATT_HASNOCHILDREN : LATT_NOINFERIORS);
-+ maildir_file_path(pat, realpat);
-+ i += maildir_any_new_msgs(realpat)
-+ ? LATT_MARKED : LATT_UNMARKED;
-+ mm_list (stream,'/', pat, i);
-+ }
-+ else
-+ if(pat[strlen(pat) - 1] == '/')
-+ mm_list (stream,'/', pat, LATT_NOSELECT);
-+ }
-+
-+ while ((d = readdir (dp)) != NULL)
-+ if(strcmp(d->d_name, ".") && strcmp(d->d_name,"..")
-+ && strcmp(d->d_name, MDNAME(Cur))
-+ && strcmp(d->d_name, MDNAME(Tmp))
-+ && strcmp(d->d_name, MDNAME(New))){
-+
-+ if (dir) sprintf (tmp,"%s%s", name,d->d_name);
-+ else strcpy(tmp, d->d_name);
-+
-+ if(pmatch_full (tmp, pat,'/')){
-+ sprintf(tmp,"%s/%s/%s", myrootdir(d->d_name),
-+ (dir ? dir : maildirpath), d->d_name);
-+ if(stat (tmp,&sbuf) == 0
-+ && ((sbuf.st_mode & S_IFMT) == S_IFDIR)){
-+ if (dir) sprintf (tmp,"%s%s", name,d->d_name);
-+ else strcpy(tmp, d->d_name);
-+ i = maildir_valid(tmp)
-+ ? (maildir_contains_folder(dir, d->d_name)
-+ ? LATT_HASCHILDREN
-+ : (maildir_is_dir(dir, d->d_name)
-+ ? LATT_HASNOCHILDREN : LATT_NOINFERIORS))
-+ : LATT_NOSELECT;
-+ i += maildir_any_new_msgs(tmp)
-+ ? LATT_MARKED : LATT_UNMARKED;
-+ mm_list (stream,'/',tmp, i);
-+ strcat (tmp, "/");
-+ if(dmatch (tmp, pat,'/') &&
-+ (level < (long) mail_parameters (NIL,GET_LISTMAXLEVEL,NIL))){
-+ sprintf(tmp,"%s/%s",dir,d->d_name);
-+ maildir_list_work (stream,tmp,pat,level+1);
-+ }
-+ }
-+ }
-+ }
-+ closedir (dp);
-+ }
-+ }
-+
-+ void courier_list_work (MAILSTREAM *stream, char *dir, char *pat, long level)
-+ {
-+ char c, curdir[MAILTMPLEN], tmp[MAILTMPLEN];
-+ char realname[MAILTMPLEN], realpat[MAILTMPLEN] = {'\0'};
-+ int i, found;
-+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL), j;
-+ char *maildirpath = mdirpath();
-+ COURIER_S *cdir;
-+
-+ if(!strpbrk(pat,"%*")){ /* a mailbox */
-+ maildir_file_path(pat, curdir);
-+ i = strlen(curdir) - 1;
-+ if(curdir[i] == '/')
-+ curdir[i] = '\0';
-+ cdir = courier_list_dir(curdir);
-+ if(cdir){
-+ found = 0; j = 0L;
-+ if(maildir_valid_name(pat)){
-+ for(i = 0; !found && i < cdir->total; i++)
-+ if(strstr(curdir, cdir->data[i]->name)){
-+ if(strlen(curdir) < strlen(cdir->data[i]->name))
-+ found += 2;
-+ else if(strlen(curdir) == strlen(cdir->data[i]->name))
-+ found -= 1;
-+ }
-+ if(found > 0)
-+ j = LATT_HASCHILDREN;
-+ else if(found == 0)
-+ j = (style == COURIER) ? LATT_HASNOCHILDREN : LATT_NOINFERIORS;
-+ }
-+ else
-+ j = LATT_NOSELECT;
-+ j += maildir_any_new_msgs(curdir) ? LATT_MARKED : LATT_UNMARKED;
-+ if (found)
-+ mm_list (stream, '.', pat, j);
-+ courier_free_cdir(&cdir);
-+ }
-+ return;
-+ }
-+
-+ strcpy(tmp,pat + 4); /* a directory */
-+ j = strlen(pat) - 1;
-+ maildir_file_path(pat, realpat);
-+ c = pat[j];
-+ pat[j] = '\0';
-+ realname[0] = '\0';
-+ if(dir)
-+ maildir_file_path(dir, realname);
-+ sprintf(curdir,"%s%s%s/%s", (dir ? "" : myrootdir(pat)), (dir ? "" : "/"),
-+ (dir ? realname : maildirpath), (dir ? "" : "."));
-+ sprintf(tmp, "%s%s/.", MDPREFIX(COURIER), dir ? dir : maildirpath);
-+ if (level == 0 && tmp && pmatch_full (tmp, realpat, '.'))
-+ mm_list (stream,'.', tmp, LATT_NOSELECT);
-+
-+ cdir = courier_list_dir(pat);
-+ pat[j] = c;
-+ for (i = 0; cdir && i < cdir->total; i++)
-+ if(pmatch_full (cdir->data[i]->name, pat, '.')){
-+ sprintf(tmp, "%s.", cdir->data[i]->name);
-+ courier_list_info(&cdir, tmp, i);
-+ mm_list (stream,'.',cdir->data[i]->name, cdir->data[i]->attribute);
-+ }
-+ courier_free_cdir(&cdir);
-+ }
-+
-+ int
-+ same_maildir_file(char *name1, char *name2)
-+ {
-+ char tmp1[MAILTMPLEN], tmp2[MAILTMPLEN];
-+ char *s;
-+
-+ strcpy(tmp1, name1 ? name1 : "");
-+ strcpy(tmp2, name2 ? name2 : "");
-+ if ((s = strrchr(tmp1, FLAGSEP)) != NULL)
-+ *s = '\0';
-+ if (((s = strrchr(tmp1, SIZESEP)) != NULL) && (strchr(s,'.') == NULL))
-+ *s = '\0';
-+ if ((s = strrchr(tmp2, FLAGSEP)) != NULL)
-+ *s = '\0';
-+ if (((s = strrchr(tmp2, SIZESEP)) != NULL) && (strchr(s,'.') == NULL))
-+ *s = '\0';
-+
-+ return !strcmp(tmp1, tmp2);
-+ }
-+
-+ unsigned long antoul(char *seed)
-+ {
-+ int i, error = 0;
-+ unsigned long val = 0L, rv1 = 0L, t;
-+ char c, *p;
-+ if(!seed)
-+ return 0L;
-+ t = strtoul(seed, &p, 10);
-+ if(p && (*p == '.' || *p == '_'))
-+ return t;
-+ /* else */
-+ if((p = strchr(seed,'.')) != NULL)
-+ *p = '\0';
-+ error = (strlen(seed) > 6); /* too long */
-+ for(i= strlen(seed)-1; error == 0 && i >= 0; i--){
-+ c = seed[i];
-+ if (c >= 'A' && c <= 'Z') val = c - 'A';
-+ else if (c >= 'a' && c <= 'z') val = c - 'a' + 26;
-+ else if (c >= '0' && c <= '9') val = c - '0' + 26 + 26;
-+ else if (c == '-') val = c - '-' + 26 + 26 + 10;
-+ else if (c == '_') val = c - '_' + 26 + 26 + 10 + 1;
-+ else error++;
-+ rv1 = val + (rv1 << 6);
-+ }
-+ if(p)
-+ *p = '.';
-+ return error ? 0L : rv1;
-+ }
-+
-+ unsigned long mdfntoul (char *name)
-+ {
-+ unsigned long t;
-+ char *r, last;
-+
-+ if((*name == '_') && ((r = strpbrk(name,".,%+")) != NULL)){ /* Grrr!!! */
-+ last = *r;
-+ *r = '\0';
-+ t = antoul(r+1);
-+ *r = last;
-+ }
-+ else
-+ t = antoul(name);
-+ return t;
-+ }
-+
-+ int comp_maildir_file(char *name1, char *name2)
-+ {
-+ int uset1 = 1, uset2 = 1, i, j, cmp;
-+ unsigned long t1, t2;
-+ char *s1, *s2;
-+
-+ if (!(name1 && *name1))
-+ return (name2 && *name2) ? (*name2 == FLAGSEP ? 0 : -1) : 0;
-+
-+ if (!(name2 && *name2))
-+ return (name1 && *name1) ? (*name1 == FLAGSEP ? 0 : 1) : 0;
-+
-+ if((cmp = strcmp(name1,name2)) == 0)
-+ return 0;
-+
-+ t1 = strtoul(name1, &s1, 10);
-+ t2 = strtoul(name2, &s2, 10);
-+
-+ if(!s1 || *s1 != '.')
-+ uset1 = 0;
-+
-+ if(!s2 || *s2 != '.')
-+ uset2 = 0;
-+
-+ if(uset1 && uset2) /* normal sort order */
-+ return (t1 < t2) ? -1 : (t1 > t2 ? 1 : (cmp < 0 ? -1 : 1));
-+
-+ /* If we make it here we say Grrrr.... first, then we try to figure out
-+ * how to sort this mess.
-+ * These are the rules.
-+ * If there is a number at the beginning it is bigger than anything else.
-+ * If there are digits, then the number of digits decides which one is bigger.
-+ */
-+
-+ for(i = 0; isdigit(name1[i]); i++);
-+ for(j = 0; isdigit(name2[j]); j++);
-+
-+ return(uset1 ? 1
-+ : (uset2 ? -1
-+ : (i < j ? -1 : (i > j ? 1 : (cmp < 0 ? -1 : 1)))));
-+ }
-+
-+ void
-+ maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t)
-+ {
-+ char tmp[MAILTMPLEN], *b;
-+ int offset = 0;
-+ int tmpd, tmpf, tmpr, tmps, tmpt;
-+
-+ if(d) *d = 0;
-+ if(f) *f = 0;
-+ if(r) *r = 0;
-+ if(s) *s = 0;
-+ if(t) *t = 0;
-+
-+ tmpd = tmpf = tmpr = tmps = tmpt = NIL; /* no flags set by default */
-+ strcpy(tmp,name);
-+ while ((b = strrchr(tmp+offset, FLAGSEP)) != NULL){
-+ char flag,last;
-+ int k;
-+ if (!++b) break;
-+ switch (*b){
-+ case '1':
-+ case '2':
-+ case '3': flag = *b; b += 2;
-+ for (k = 0; b[k] && b[k] != FLAGSEP && b[k] != ','; k++);
-+ last = b[k];
-+ b[k] = '\0';
-+ if (flag == '2' || flag == '3'){
-+ tmpd = strchr (b, MDFLAGC(Draft)) ? T : NIL;
-+ tmpf = strchr (b, MDFLAGC(Flagged)) ? T : NIL;
-+ tmpr = strchr (b, MDFLAGC(Replied)) ? T : NIL;
-+ tmps = strchr (b, MDFLAGC(Seen)) ? T : NIL;
-+ tmpt = strchr (b, MDFLAGC(Trashed)) ? T : NIL;
-+ }
-+ b[k] = last;
-+ b += k;
-+ for (; tmp[offset] && tmp[offset] != FLAGSEP; offset++);
-+ offset++;
-+ break;
-+ default: break; /* Should we crash?... Nahhh */
-+ }
-+ }
-+ if(d) *d = tmpd;
-+ if(f) *f = tmpf;
-+ if(r) *r = tmpr;
-+ if(s) *s = tmps;
-+ if(t) *t = tmpt;
-+ }
-+
-+ int
-+ maildir_message_in_list(char *msgname, struct direct **names,
-+ unsigned long bottom, unsigned long top, unsigned long *pos)
-+ {
-+ unsigned long middle = (bottom + top)/2;
-+ int test;
-+
-+ if (!msgname)
-+ return NIL;
-+
-+ if (pos) *pos = middle;
-+
-+ if (same_maildir_file(msgname, names[middle]->d_name))
-+ return T;
-+
-+ if (middle == bottom){ /* 0 <= 0 < 1 */
-+ int rv = NIL;
-+ if (same_maildir_file(msgname, names[middle]->d_name)){
-+ rv = T;
-+ if (pos) *pos = middle;
-+ }
-+ else
-+ if (same_maildir_file(msgname, names[top]->d_name)){
-+ rv = T;
-+ if (pos) *pos = top;
-+ }
-+ return rv;
-+ }
-+
-+ test = comp_maildir_file(msgname, names[middle]->d_name);
-+
-+ if (top <= bottom)
-+ return test ? NIL : T;
-+
-+ if (test < 0 ) /* bottom < msgname < middle */
-+ return maildir_message_in_list(msgname, names, bottom, middle, pos);
-+ else if (test > 0) /* middle < msgname < top */
-+ return maildir_message_in_list(msgname, names, middle, top, pos);
-+ else return T;
-+ }
-+
-+ void
-+ maildir_abort(MAILSTREAM *stream)
-+ {
-+ if (LOCAL){
-+ if(LOCAL->candouid)
-+ maildir_read_uid(stream, NULL, &stream->uid_validity);
-+ if (LOCAL->dir) fs_give ((void **) &LOCAL->dir);
-+ if (LOCAL->curdir) fs_give ((void **) &LOCAL->curdir);
-+ if (LOCAL->buf) fs_give ((void **) &LOCAL->buf);
-+ if(LOCAL->uidtempfile){
-+ unlink(LOCAL->uidtempfile);
-+ fs_give ((void **) &LOCAL->uidtempfile);
-+ }
-+ fs_give ((void **) &stream->local);
-+ }
-+ if (mdfpath) fs_give((void **)&mdfpath);
-+ stream->dtb = NIL;
-+ }
-+
-+ int
-+ maildir_contains_folder(char *dirname, char *name)
-+ {
-+ char tmp[MAILTMPLEN], tmp2[MAILTMPLEN];
-+ int rv = 0;
-+ DIR *dir;
-+ struct direct *d;
-+
-+ maildir_file_path(dirname, tmp2);
-+ if(name){
-+ strcat(tmp2,"/");
-+ strcat(tmp2, name);
-+ }
-+
-+ if (!(dir = opendir (tmp2)))
-+ return NIL;
-+
-+ while ((d = readdir(dir)) != NULL){
-+ if (strcmp(d->d_name, ".") && strcmp(d->d_name,"..")
-+ && strcmp(d->d_name, MDNAME(Cur))
-+ && strcmp(d->d_name, MDNAME(Tmp))
-+ && strcmp(d->d_name, MDNAME(New))){
-+
-+ sprintf(tmp,"%s/%s", tmp2, d->d_name);
-+ if(maildir_valid(tmp)){
-+ rv++;
-+ break;
-+ }
-+ }
-+ }
-+ closedir(dir);
-+ return rv;
-+ }
-+
-+ int
-+ maildir_is_dir(char *dirname, char *name)
-+ {
-+ char tmp[MAILTMPLEN];
-+ struct stat sbuf;
-+
-+ maildir_file_path(dirname, tmp);
-+ if(name){
-+ strcat(tmp,"/");
-+ strcat(tmp,name);
-+ }
-+ strcat(tmp,"/");
-+ strcat(tmp,MDDIR);
-+
-+ return ((stat(tmp, &sbuf) == 0) && S_ISREG (sbuf.st_mode)) ? 1 : 0;
-+ }
-+
-+ int
-+ maildir_dir_is_empty(char *mailbox)
-+ {
-+ char tmp[MAILTMPLEN], tmp2[MAILTMPLEN], tmp3[MAILTMPLEN],*s;
-+ int rv = 1, courier = IS_COURIER(mailbox);
-+ DIR *dir;
-+ struct direct *d;
-+ struct stat sbuf;
-+
-+ maildir_file_path(mailbox, tmp2);
-+
-+ if(courier){
-+ strcpy(tmp3, tmp2);
-+ if(s = strrchr(tmp2, '/'))
-+ *s = '\0';
-+ }
-+
-+ if (!(dir = opendir (tmp2)))
-+ return rv;
-+
-+ if(courier){
-+ while((d = readdir(dir)) != NULL){
-+ sprintf(tmp,"%s/%s", tmp2, d->d_name);
-+ if(!strncmp(tmp, tmp3, strlen(tmp3))
-+ && tmp[strlen(tmp3)] == '.'){
-+ rv = 0;
-+ break;
-+ }
-+ }
-+ }
-+ else
-+ while ((d = readdir(dir)) != NULL){
-+ sprintf(tmp,"%s/%s", tmp2, d->d_name);
-+ if (strcmp(d->d_name, ".")
-+ && strcmp(d->d_name,"..")
-+ && strcmp(d->d_name, MDNAME(Cur))
-+ && strcmp(d->d_name, MDNAME(Tmp))
-+ && strcmp(d->d_name, MDNAME(New))
-+ && strcmp(d->d_name, MDDIR)
-+ && strcmp(d->d_name, MDUIDVALIDITY)
-+ && !(d->d_name[0] == '.'
-+ && stat (tmp,&sbuf) == 0
-+ && S_ISREG(sbuf.st_mode))){
-+ rv = 0;
-+ break;
-+ }
-+ }
-+ closedir(dir);
-+ return rv;
-+ }
-+
-+ void
-+ maildir_get_file (MAILDIRFILE **mdfile)
-+ {
-+ MAILDIRFILE *md;
-+
-+ md = (MAILDIRFILE *) fs_get(sizeof(MAILDIRFILE));
-+ memset(md, 0, sizeof(MAILDIRFILE));
-+ *mdfile = md;
-+ }
-+
-+ void
-+ maildir_free_file (void **mdfile)
-+ {
-+ MAILDIRFILE *md = (mdfile && *mdfile) ? (MAILDIRFILE *) *mdfile : NULL;
-+
-+ if (md){
-+ if (md->name) fs_give((void **)&md->name);
-+ fs_give((void **)&md);
-+ }
-+ }
-+
-+ void
-+ maildir_free_file_only (void **mdfile)
-+ {
-+ MAILDIRFILE *md = (mdfile && *mdfile) ? (MAILDIRFILE *) *mdfile : NULL;
-+
-+ if (md && md->name)
-+ fs_give((void **)&md->name);
-+ }
-+
-+ int
-+ maildir_any_new_msgs(char *mailbox)
-+ {
-+ char tmp[MAILTMPLEN];
-+ int rv = NIL;
-+ DIR *dir;
-+ struct direct *d;
-+
-+ MDFLD(tmp, mailbox, New);
-+
-+ if (!(dir = opendir (tmp)))
-+ return rv;
-+
-+ while ((d = readdir(dir)) != NULL){
-+ if (d->d_name[0] == '.')
-+ continue;
-+ rv = T;
-+ break;
-+ }
-+ closedir(dir);
-+ return rv;
-+ }
-+
-+
-+ void
-+ maildir_get_date(MAILSTREAM *stream, unsigned long msgno)
-+ {
-+ MESSAGECACHE *elt;
-+ struct tm *t;
-+ time_t ti;
-+ int i,k;
-+
-+ elt = mail_elt (stream,msgno);
-+ if(elt && elt->year != 0)
-+ return;
-+ if ((ti = mdfntoul(MDFILE(elt))) > 0L && (t = gmtime(&ti))){
-+ i = t->tm_hour * 60 + t->tm_min;
-+ k = t->tm_yday;
-+ t = localtime(&ti);
-+ i = t->tm_hour * 60 + t->tm_min - i;
-+ if((k = t->tm_yday - k) != 0)
-+ i += ((k < 0) == (abs (k) == 1)) ? -24*60 : 24*60;
-+ k = abs (i);
-+ elt->hours = t->tm_hour;
-+ elt->minutes = t->tm_min;
-+ elt->seconds = t->tm_sec;
-+ elt->day = t->tm_mday; elt->month = t->tm_mon + 1;
-+ elt->year = t->tm_year - (BASEYEAR - 1900);
-+ elt->zoccident = (k == i) ? 0 : 1;
-+ elt->zhours = k/60;
-+ elt->zminutes = k % 60;
-+ }
-+ }
-+
-+ /* Support for Courier Style directories
-+ When this code is complete there will be two types of support, which
-+ will be configurable. The problem is the following: In Courier style
-+ folder structure, a "folder" may have a subfolder called
-+ "folder.subfolder", which is not natural in the file system in the
-+ sense that I can not stat for "folder.subfolder" wihtout knowing what
-+ "subfolder" is. It needs to be guessed. Because of this I need to look
-+ in the list of folders if there is a folder with a name
-+ "folder.subfolder", before I can say if the folder is dual or not. One
-+ can avoid this annoyance if one ignores the problem by declaring that
-+ every folder is dual. I will however code as the default the more
-+ complicated idea of scaning the containing directory each time it is
-+ modified and search for subfolders, and list the entries it found.
-+ */
-+
-+ int courier_dir_select (const struct direct *name)
-+ {
-+ return name->d_name[0] == '.' && (strlen(name->d_name) > 2
-+ || (strlen(name->d_name) == 2 && name->d_name[1] != '.'));
-+ }
-+
-+ int courier_dir_sort (const void *d1, const void *d2)
-+ {
-+ const struct direct *e1 = *(const struct direct **) d1;
-+ const struct direct *e2 = *(const struct direct **) d2;
-+
-+ return strcmp((char *) e1->d_name, (char *) e2->d_name);
-+ }
-+
-+ void courier_free_cdir (COURIER_S **cdir)
-+ {
-+ int i;
-+
-+ if (!*cdir)
-+ return;
-+
-+ if ((*cdir)->path) fs_give((void **)&((*cdir)->path));
-+ for (i = 0; i < (*cdir)->total; i++)
-+ if((*cdir)->data[i]->name) fs_give((void **)&((*cdir)->data[i]->name));
-+ fs_give((void **)&((*cdir)->data));
-+ fs_give((void **)&(*cdir));
-+ }
-+
-+ COURIER_S *courier_get_cdir (int total)
-+ {
-+ COURIER_S *cdir;
-+
-+ cdir = (COURIER_S *)fs_get(sizeof(COURIER_S));
-+ memset(cdir, 0, sizeof(COURIER_S));
-+ cdir->data = (COURIERLOCAL **) fs_get(total*sizeof(COURIERLOCAL *));
-+ memset(cdir->data, 0, sizeof(COURIERLOCAL *));
-+ cdir->total = total;
-+ return cdir;
-+ }
-+
-+ int courier_search_list(COURIERLOCAL **data, char *name, int first, int last)
-+ {
-+ int try = (first + last)/2;
-+
-+ if(!strstr(data[try]->name, name)){
-+ if(first == try) /* first == last || first + 1 == last */
-+ return strstr(data[last]->name, name) ? 1 : 0;
-+ if(strcmp(data[try]->name, name) < 0) /*data[try] < name < data[end] */
-+ return courier_search_list(data, name, try, last);
-+ else /* data[begin] < name < data[try] */
-+ return courier_search_list(data, name, first, try);
-+ }
-+ return 1;
-+ }
-+
-+ /* Lists all directories that are subdirectories of a given directory */
-+
-+ COURIER_S *courier_list_dir(char *curdir)
-+ {
-+ struct direct **names = NIL;
-+ struct stat sbuf;
-+ unsigned long ndir;
-+ COURIER_S *cdir = NULL;
-+ char tmp[MAILTMPLEN], tmp2[MAILTMPLEN], pathname[MAILTMPLEN],
-+ realname[MAILTMPLEN];
-+ int i, j, scand, td;
-+
-+ /* There are two cases, either curdir is
-+ #mc/INBOX. #mc/INBOX.foo
-+ or
-+ #mc/Maildir/. #mc/Maildir/.foo
-+ */
-+ strcpy(tmp,curdir + 4);
-+ if(!strncmp(ucase(tmp), "INBOX", 5))
-+ strcpy(tmp, "#mc/INBOX.");
-+ else{
-+ strcpy(tmp, curdir);
-+ for (i = strlen(tmp) - 1; tmp[i] && tmp[i] != '/'; i--);
-+ tmp[i+2] = '\0'; /* keep the last "." intact */
-+ }
-+ maildir_file_path(tmp, realname);
-+ maildir_scandir (realname, &names, &ndir, &scand, COURIER);
-+
-+ if (scand > 0){
-+ cdir = courier_get_cdir(ndir);
-+ cdir->path = cpystr(realname);
-+ for(i = 0, j = 0; i < ndir; i++){
-+ td = realname[strlen(realname) - 1] == '.'
-+ && *names[i]->d_name == '.';
-+ sprintf(tmp2,"%s%s", tmp, names[i]->d_name+1);
-+ sprintf(pathname,"%s%s", realname, names[i]->d_name + td);
-+ if(stat(pathname, &sbuf) == 0 && S_ISDIR(sbuf.st_mode)){
-+ cdir->data[j] = (COURIERLOCAL *) fs_get(sizeof(COURIERLOCAL));
-+ cdir->data[j++]->name = cpystr(tmp2);
-+ }
-+ fs_give((void **)&names[i]);
-+ }
-+ cdir->total = j;
-+ if(cdir->total == 0)
-+ courier_free_cdir(&cdir);
-+ }
-+ if(names)
-+ fs_give((void **) &names);
-+ return cdir;
-+ }
-+
-+ void
-+ courier_list_info(COURIER_S **cdirp, char *data, int i)
-+ {
-+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL);
-+ COURIER_S *cdir = *cdirp;
-+
-+ if(maildir_valid(cdir->data[i]->name)){
-+ if(courier_search_list(cdir->data, data, 0, cdir->total - 1))
-+ cdir->data[i]->attribute = LATT_HASCHILDREN;
-+ else
-+ cdir->data[i]->attribute = (style == COURIER)
-+ ? LATT_HASNOCHILDREN : LATT_NOINFERIORS;
-+ }
-+ else
-+ cdir->data[i]->attribute = LATT_NOSELECT;
-+ cdir->data[i]->attribute += maildir_any_new_msgs(cdir->data[i]->name)
-+ ? LATT_MARKED : LATT_UNMARKED;
-+ }
-+
-+ /* UID Support */
-+ /* Yes, I know I procastinated a lot about this, but here it is finally */
-+
-+ unsigned int
-+ maildir_can_assign_uid (MAILSTREAM *stream)
-+ {
-+ unsigned int rv = 0;
-+ int createtemp;
-+ unsigned long t;
-+ char tmp[MAILTMPLEN], *s;
-+ DIR *dir;
-+ struct direct *d;
-+
-+ if(!stream || stream->rdonly
-+ || !LOCAL || !LOCAL->dir || !(dir = opendir(LOCAL->dir)))
-+ return rv;
-+
-+ sprintf(tmp, "%s.%d", MDUIDTEMP, mypid);
-+ while ((d = readdir(dir)) != NULL){
-+ if(!strncmp(d->d_name, tmp, strlen(tmp))
-+ || !strncmp(d->d_name, MDUIDTEMP, strlen(MDUIDTEMP)))
-+ break;
-+ }
-+ rv = d ? !strncmp(d->d_name, tmp, strlen(tmp)) : 1;
-+ createtemp = d ? 0 : 1;
-+ if (d && rv == 0){ /* is there a temp file that is not ours? */
-+ s = strrchr(d->d_name, '.');
-+ t = strtoul(s+1, &s, 10);
-+ if(s != NULL && *s != '\0')
-+ createtemp++;
-+ if(time(0) > t + MAXTEMPUID){
-+ createtemp++;
-+ sprintf(tmp,"%s/%s", LOCAL->dir, d->d_name);
-+ unlink(tmp);
-+ }
-+ }
-+ closedir(dir);
-+ if(createtemp){
-+ FILE *fp;
-+ sprintf(tmp,"%s/%s.%d.%lu", LOCAL->dir, MDUIDTEMP, mypid, time(0));
-+ if(fp = fopen(tmp, "w")){
-+ fclose(fp);
-+ if(LOCAL->uidtempfile)
-+ fs_give((void **)&LOCAL->uidtempfile);
-+ LOCAL->uidtempfile = cpystr(tmp);
-+ rv++;
-+ }
-+ }
-+ return rv;
-+ }
-+
-+ void
-+ maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
-+ unsigned long *uid_validity)
-+ {
-+ int createuid, deleteuid = 0;
-+ char tmp[MAILTMPLEN], *s = NULL;
-+ DIR *dir;
-+ struct direct *d;
-+
-+ if(uid_last) *uid_last = 0L;
-+ if(uid_last && uid_validity) *uid_validity = time(0);
-+ if(!stream || !LOCAL || !LOCAL->dir || !(dir = opendir(LOCAL->dir)))
-+ return;
-+
-+ while ((d = readdir(dir)) != NULL){
-+ if(!strncmp(d->d_name, MDUIDLAST, strlen(MDUIDLAST)))
-+ break;
-+ }
-+ createuid = d == NULL ? 1 : 0;
-+ if(uid_last == NULL)
-+ deleteuid++;
-+ if(d){
-+ if(uid_last){
-+ s = d->d_name + strlen(MDUIDLAST) + 1;
-+ *uid_last = strtoul(s, &s, 10);
-+ if(!s || *s != '.'){
-+ deleteuid++;
-+ createuid++;
-+ *uid_last = 0L;
-+ }
-+ }
-+ if(s && *s == '.'){
-+ if(uid_validity){
-+ s++;
-+ *uid_validity = strtoul(s, &s, 10);
-+ if(s && *s != '\0'){
-+ *uid_validity = time(0);
-+ deleteuid++;
-+ createuid++;
-+ }
-+ }
-+ }
-+ else{
-+ deleteuid++;
-+ createuid++;
-+ }
-+ }
-+ if(deleteuid){
-+ sprintf(tmp,"%s/%s", LOCAL->dir, d->d_name);
-+ unlink(tmp);
-+ }
-+ if(createuid)
-+ maildir_write_uid(stream, (uid_last ? *uid_last : stream->uid_last),
-+ uid_validity ? *uid_validity : time(0));
-+ closedir(dir);
-+ }
-+
-+ void
-+ maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
-+ unsigned long uid_validity)
-+ {
-+ char tmp[MAILTMPLEN];
-+ FILE *fp;
-+
-+ if(!stream || stream->rdonly || !LOCAL || !LOCAL->dir)
-+ return;
-+
-+ sprintf(tmp,"%s/%s.%010lu.%010lu", LOCAL->dir, MDUIDLAST,
-+ uid_last, uid_validity);
-+ if(fp = fopen(tmp, "w"))
-+ fclose(fp);
-+ }
-+
-+ unsigned long
-+ maildir_get_uid(char *name)
-+ {
-+ char *s;
-+ unsigned long rv = 0L;
-+
-+ if(!name || (s = strstr(name,MDUIDSEP)) == NULL)
-+ return rv;
-+
-+ s += strlen(MDUIDSEP);
-+ rv = strtoul(s, NULL, 10);
-+ return rv;
-+ }
-+
-+
-+ void
-+ maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno)
-+ {
-+ char old[MAILTMPLEN], new[MAILTMPLEN], *s, *t;
-+ MESSAGECACHE *elt;
-+
-+ elt = mail_elt(stream, msgno);
-+ if(!stream || !elt || !elt->private.spare.ptr || !LOCAL || !LOCAL->dir)
-+ return;
-+
-+ sprintf(old, "%s/%s/%s", LOCAL->dir, MDNAME(Cur), MDFILE(elt));
-+ t = MDFILE(elt);
-+ if(s = strstr(MDFILE(elt), MDUIDSEP)){
-+ *s = '\0';
-+ s += strlen(MDUIDSEP);
-+ strtoul(s, &s, 10);
-+ sprintf(new, "%s/%s/%s%s", LOCAL->dir, MDNAME(Cur), t, s);
-+ if(rename(old, new) == 0){
-+ maildir_free_file_only ((void **)&elt->private.spare.ptr);
-+ s = strrchr(new, '/');
-+ MDFILE(elt) = cpystr(s+1);
-+ }
-+ elt->private.uid = 0L;
-+ }
-+ }
-+
-+ void
-+ maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid)
-+ {
-+ int createuid, deleteuid = 0;
-+ char old[MAILTMPLEN], new[MAILTMPLEN], *s, *t;
-+ MESSAGECACHE *elt;
-+
-+ elt = mail_elt(stream, msgno);
-+ if(!stream || !elt || !elt->private.spare.ptr || !LOCAL || !LOCAL->dir)
-+ return;
-+
-+ maildir_delete_uid(stream, msgno);
-+ sprintf(old, "%s/%s/%s", LOCAL->dir, MDNAME(Cur), MDFILE(elt));
-+ t = MDFILE(elt);
-+ if((s = strrchr(MDFILE(elt),FLAGSEP)) != NULL){
-+ *s++ = '\0';
-+ sprintf(new, "%s/%s/%s%s%lu%c%s",
-+ LOCAL->dir, MDNAME(Cur), t, MDUIDSEP, uid, FLAGSEP, s);
-+ if(rename(old, new) == 0){
-+ maildir_free_file_only ((void **)&elt->private.spare.ptr);
-+ s = strrchr(new, '/');
-+ MDFILE(elt) = cpystr(s+1);
-+ stream->uid_validity = time(0);
-+ }
-+ elt->private.uid = uid;
-+ }
-+ }
-+
-+ void
-+ maildir_uid_renew_tempfile(MAILSTREAM *stream)
-+ {
-+ char tmp[MAILTMPLEN];
-+
-+ if(!stream || stream->rdonly
-+ || !LOCAL || !LOCAL->candouid || !LOCAL->dir || !LOCAL->uidtempfile)
-+ return;
-+
-+ sprintf(tmp,"%s/%s.%d.%lu", LOCAL->dir, MDUIDTEMP, mypid, time(0));
-+ if(rename(LOCAL->uidtempfile, tmp) == 0){
-+ fs_give((void **)&LOCAL->uidtempfile);
-+ LOCAL->uidtempfile = cpystr(tmp);
-+ }
-+ }
-diff -rc alpine-2.00/imap/src/osdep/unix/maildir.h alpine-2.00.maildir/imap/src/osdep/unix/maildir.h
-*** alpine-2.00/imap/src/osdep/unix/maildir.h 2011-01-24 19:38:50.000000000 -0600
---- alpine-2.00.maildir/imap/src/osdep/unix/maildir.h 2011-01-15 19:11:36.000000000 -0600
-***************
-*** 0 ****
---- 1,226 ----
-+ /*
-+ * A few definitions that try to make this module portable to other
-+ * platforms (e.g. Cygwin). This module is based on the information from
-+ * http://cr.yp.to/proto/maildir.html
-+ */
-+
-+ /* First we deal with the separator character */
-+ #ifndef FLAGSEP
-+ #define FLAGSEP ':'
-+ #endif
-+ #define SIZESEP ','
-+
-+ const char sep1[] = {FLAGSEP, '1', ',', '\0'}; /* experimental semantics*/
-+ const char sep2[] = {FLAGSEP, '2', ',', '\0'}; /* Flags Information */
-+ const char sep3[] = {FLAGSEP, '3', ',', '\0'}; /* Grrrr.... */
-+
-+ const char *sep[] = { sep1, sep2, sep3, NULL};
-+
-+ #define MDSEP(i) sep[((i) - 1)]
-+
-+ /* Now we deal with flags. Woohoo! */
-+ typedef enum {Draft, Flagged, Passed, Replied, Seen, Trashed,
-+ EmptyFlag, EndFlags} MdFlagNamesType;
-+ const int mdimapflags[] = {Draft, Flagged, Replied, Seen, Trashed, EmptyFlag, EndFlags};
-+ const int mdkwdflags[] = {Passed, EmptyFlag, EndFlags};
-+
-+ /* this array lists the codes for mdflgnms (maildir flag names) above */
-+ const char *mdflags[] = { "D", "F", "P", "R", "S", "T", "", NULL};
-+ /* and as characters too */
-+ const char cmdflags[] = { 'D', 'F', 'P', 'R', 'S', 'T', '0', '\0'};
-+
-+ /* MDFLAG(Seen, elt->seen) */
-+ #define MDFLAG(i,j) mdflags[j ? (i) : EmptyFlag]
-+ /* MDFLAGC(Seen) */
-+ #define MDFLAGC(i) cmdflags[(i)]
-+
-+ /* Now we deal with the directory structure */
-+ typedef enum {Cur, Tmp, New, EndDir} DirNamesType;
-+ char *mdstruct[] = {"cur", "tmp", "new", NULL};
-+ #define MDNAME(i) mdstruct[(i)]
-+ #define MDFLD(tmp, dir, i) sprintf((tmp),"%s/%s", (dir), mdstruct[(i)])
-+ #define MSGPATH(tmp, dir, msg,i) sprintf((tmp),"%s/%s/%s", (dir), mdstruct[(i)],(msg))
-+
-+ /* Files associated to a maildir directory */
-+
-+ #define MDUIDVALIDITY ".uidvalidity" /* support for old maildirs */
-+ #define MDDIR ".mdir" /* this folder is a directory */
-+ #define MDUIDLAST ".uidlast" /* last assigned uid */
-+ #define MDUIDTEMP ".uidtemp" /* We assign uid's no one else */
-+
-+
-+
-+ /* Support of Courier Structure */
-+ #define CCLIENT 0
-+ #define COURIER 1
-+ #define IS_CCLIENT(t) \
-+ (((t) && (t)[0] == '#' && ((t)[1] == 'm' || (t)[1] == 'M')\
-+ && ((t)[2] == 'd' || (t)[2] == 'D')\
-+ && (t)[3] == '/' && (t)[4] != '\0') ? 1 : 0)
-+
-+ #define IS_COURIER(t) \
-+ (((t) && (t)[0] == '#' && ((t)[1] == 'm' || (t)[1] == 'M')\
-+ && ((t)[2] == 'c' || (t)[2] == 'C')\
-+ && (t)[3] == '/' && (t)[4] != '\0') ? 1 : 0)
-+ #define MDPREFIX(s) ((s) ? "#mc/" : "#md/")
-+ #define MDSEPARATOR(s) ((s) ? '.' : '/')
-+
-+ /* UID Support */
-+
-+ #define MAXTEMPUID (unsigned long) 180L
-+ const char mduid[] = {',','u','=','\0'};
-+ #define MDUIDSEP mduid
-+
-+
-+ /* Now we deal with messages filenames */
-+ char mdlocaldomain[MAILTMPLEN+1] = {'\0'};
-+ pid_t mypid = (pid_t) 0;
-+ static char *mdfpath = NULL;
-+ static char myMdInboxDir[50] = { '\0' };/* Location of the Maildir INBOX */
-+ static long CourierStyle = CCLIENT;
-+
-+ #define CHUNK 16384 /* from unix.h */
-+
-+ typedef struct courier_local {
-+ char *name; /* name of directory/folder */
-+ int attribute; /* attributes (children/marked/etc) */
-+ } COURIERLOCAL;
-+
-+ typedef struct courier {
-+ char *path; /* Path to collection */
-+ time_t scantime; /* time at which information was generated */
-+ int total; /* total number of elements in data */
-+ COURIERLOCAL **data;
-+ } COURIER_S;
-+
-+ /* In gdb this is the *(struct maildir_local *)stream->local structure */
-+ typedef struct maildir_local {
-+ unsigned int dirty : 1; /* diskcopy needs updating */
-+ unsigned int courier : 1; /* It is Courier style file system */
-+ unsigned int link : 1; /* There is a symbolic link */
-+ unsigned int candouid; /* we can assign uids and no one else */
-+ char *uidtempfile; /* path to uid temp file */
-+ int fd; /* fd of open message */
-+ char *dir; /* mail directory name */
-+ char *curdir; /* mail directory name/cur */
-+ unsigned char *buf; /* temporary buffer */
-+ unsigned long buflen; /* current size of temporary buffer */
-+ time_t scantime; /* last time directory scanned */
-+ } MAILDIRLOCAL;
-+
-+ /* Convenient access to local data */
-+ #define LOCAL ((MAILDIRLOCAL *) stream->local)
-+
-+ typedef struct maildir_file_info {
-+ char *name; /* name of the file */
-+ DirNamesType loc; /* location of this file */
-+ unsigned long pos; /* place in list where this file is listed */
-+ off_t size; /* size in bytes, on disk */
-+ time_t atime; /* last access time */
-+ time_t mtime; /* last modified time */
-+ time_t ctime; /* last changed time */
-+ } MAILDIRFILE;
-+
-+ #define MDFILE(F) (((MAILDIRFILE *)((F)->private.spare.ptr))->name)
-+ #define MDLOC(F) (((MAILDIRFILE *)((F)->private.spare.ptr))->loc)
-+ #define MDPOS(F) (((MAILDIRFILE *)((F)->private.spare.ptr))->pos)
-+ #define MDSIZE(F) (((MAILDIRFILE *)((F)->private.spare.ptr))->size)
-+ #define MDATIME(F) (((MAILDIRFILE *)((F)->private.spare.ptr))->atime)
-+ #define MDMTIME(F) (((MAILDIRFILE *)((F)->private.spare.ptr))->mtime)
-+ #define MDCTIME(F) (((MAILDIRFILE *)((F)->private.spare.ptr))->ctime)
-+
-+ /* Function prototypes */
-+
-+ DRIVER *maildir_valid (char *name);
-+ MAILSTREAM *maildir_open (MAILSTREAM *stream);
-+ void maildir_close (MAILSTREAM *stream, long options);
-+ long maildir_ping (MAILSTREAM *stream);
-+ void maildir_check (MAILSTREAM *stream);
-+ long maildir_text (MAILSTREAM *stream,unsigned long msgno,STRING *bs,long flags);
-+ char *maildir_header (MAILSTREAM *stream,unsigned long msgno,
-+ unsigned long *length, long flags);
-+ void maildir_list (MAILSTREAM *stream,char *ref,char *pat);
-+ void *maildir_parameters (long function,void *value);
-+ int maildir_create_folder (char *mailbox);
-+ long maildir_create (MAILSTREAM *stream,char *mailbox);
-+ void maildir_flagmsg (MAILSTREAM *stream,MESSAGECACHE *elt); /*check */
-+ long maildir_expunge (MAILSTREAM *stream, char *sequence, long options);
-+ long maildir_copy (MAILSTREAM *stream,char *sequence,char *mailbox,long options);
-+ long maildir_append (MAILSTREAM *stream,char *mailbox, append_t af, void *data);
-+ long maildir_delete (MAILSTREAM *stream,char *mailbox);
-+ long maildir_rename (MAILSTREAM *stream,char *old,char *new);
-+ long maildir_sub (MAILSTREAM *stream,char *mailbox);
-+ long maildir_unsub (MAILSTREAM *stream,char *mailbox);
-+ void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat);
-+ void courier_list (MAILSTREAM *stream,char *ref, char *pat);
-+
-+ /* utility functions */
-+ void courier_realname (char *name, char *realname);
-+ long maildir_dirfmttest (char *name);
-+ char *maildir_file (char *dst,char *name);
-+ int maildir_select (const struct direct *name);
-+ int maildir_namesort (const void *d1, const void *d2);
-+ unsigned long antoul (char *seed);
-+ unsigned long mdfntoul (char *name);
-+ int courier_dir_select (const struct direct *name);
-+ int courier_dir_sort (const void *d1, const void *d2);
-+ long maildir_canonicalize (char *pattern,char *ref,char *pat);
-+ void maildir_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
-+ void courier_list_work (MAILSTREAM *stream,char *subdir,char *pat,long level);
-+ int maildir_file_path(char *name, char *tmp);
-+ int maildir_valid_name (char *name);
-+ int maildir_valid_dir (char *name);
-+ int is_valid_maildir (char **name);
-+ int maildir_message_exists(MAILSTREAM *stream,char *name, char *tmp);
-+ char *maildir_remove_root(char *name);
-+ char *maildir_text_work (MAILSTREAM *stream,MESSAGECACHE *elt, unsigned long *length,long flags);
-+ unsigned long maildir_parse_message(MAILSTREAM *stream, unsigned long msgno,
-+ DirNamesType dirtype);
-+ int maildir_eliminate_duplicate (char *name, struct direct ***flist,
-+ unsigned long *nfiles);
-+ int maildir_doscandir (char *name, struct direct ***flist, int flag);
-+ unsigned long maildir_scandir (char *name, struct direct ***flist,
-+ unsigned long *nfiles, int *scand, int flag);
-+ void maildir_parse_folder (MAILSTREAM *stream, int full);
-+ void md_domain_name (void);
-+ char *myrootdir (char *name);
-+ char *mdirpath (void);
-+ int maildir_initial_check (MAILSTREAM *stream, DirNamesType dirtype);
-+ unsigned long maildir_parse_dir(MAILSTREAM *stream, unsigned long nmsgs,
-+ DirNamesType dirtype, struct direct **names, unsigned long nfiles, int full);
-+ int same_maildir_file(char *name1, char *name2);
-+ int comp_maildir_file(char *name1, char *name2);
-+ int maildir_message_in_list(char *msgname, struct direct **names,
-+ unsigned long bottom, unsigned long top, unsigned long *pos);
-+ void maildir_getflag(char *name, int *d, int *f, int *r ,int *s, int *t);
-+ int maildir_update_elt_maildirp(MAILSTREAM *stream, unsigned long msgno);
-+ void maildir_abort (MAILSTREAM *stream);
-+ int maildir_contains_folder(char *dirname, char *name);
-+ int maildir_is_dir(char *dirname, char *name);
-+ int maildir_dir_is_empty(char *mailbox);
-+ int maildir_create_work (char *mailbox, int loop);
-+ void maildir_get_file (MAILDIRFILE **mdfile);
-+ void maildir_free_file (void **mdfile);
-+ void maildir_free_file_only (void **mdfile);
-+ int maildir_any_new_msgs(char *mailbox);
-+ void maildir_get_date(MAILSTREAM *stream, unsigned long msgno);
-+ void maildir_fast (MAILSTREAM *stream,char *sequence,long flags);
-+
-+ /* Courier server support */
-+ void courier_free_cdir (COURIER_S **cdir);
-+ COURIER_S *courier_get_cdir (int total);
-+ int courier_search_list(COURIERLOCAL **data, char *name, int first, int last);
-+ COURIER_S *courier_list_dir(char *curdir);
-+ void courier_list_info(COURIER_S **cdirp, char *data, int i);
-+
-+ /* UID Support */
-+ unsigned int maildir_can_assign_uid (MAILSTREAM *stream);
-+ void maildir_read_uid(MAILSTREAM *stream, unsigned long *uid_last,
-+ unsigned long *uid_validity);
-+ void maildir_write_uid(MAILSTREAM *stream, unsigned long uid_last,
-+ unsigned long uid_validity);
-+ unsigned long maildir_get_uid(char *name);
-+ void maildir_delete_uid(MAILSTREAM *stream, unsigned long msgno);
-+ void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
-+ void maildir_uid_renew_tempfile(MAILSTREAM *stream);
-+
-diff -rc alpine-2.00/imap/src/osdep/unix/Makefile alpine-2.00.maildir/imap/src/osdep/unix/Makefile
-*** alpine-2.00/imap/src/osdep/unix/Makefile 2008-06-04 13:18:34.000000000 -0500
---- alpine-2.00.maildir/imap/src/osdep/unix/Makefile 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 144,150 ****
- # However, mh needs to be before any sysinbox formats (such as mmdf or unix)
- # since otherwise INBOX won't work correctly when mh_allow_inbox is set.
- #
-! DEFAULTDRIVERS=imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
- CHUNKSIZE=65536
-
- # Normally no need to change any of these
---- 144,150 ----
- # However, mh needs to be before any sysinbox formats (such as mmdf or unix)
- # since otherwise INBOX won't work correctly when mh_allow_inbox is set.
- #
-! DEFAULTDRIVERS=maildir courier imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
- CHUNKSIZE=65536
-
- # Normally no need to change any of these
-***************
-*** 153,159 ****
- BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
- dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
- rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
-! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o
- CFLAGS=-g
-
- CAT=cat
---- 153,159 ----
- BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
- dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
- rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
-! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o maildir.o
- CFLAGS=-g
-
- CAT=cat
-***************
-*** 282,288 ****
-
- cyg: # Cygwin - note that most local file drivers don't work!!
- $(BUILD) `$(CAT) SPECIALS` OS=$@ \
-! DEFAULTDRIVERS="imap nntp pop3 mbx unix phile" \
- SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
- SPOOLDIR=/var \
- ACTIVEFILE=/usr/local/news/lib/active \
---- 282,288 ----
-
- cyg: # Cygwin - note that most local file drivers don't work!!
- $(BUILD) `$(CAT) SPECIALS` OS=$@ \
-! DEFAULTDRIVERS="imap nntp pop3 mbx unix maildir phile" \
- SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
- SPOOLDIR=/var \
- ACTIVEFILE=/usr/local/news/lib/active \
-***************
-*** 892,898 ****
- unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
- utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
- utf8aux.o: mail.h misc.h osdep.h utf8.h
-!
-
- # OS-dependent
-
---- 892,898 ----
- unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
- utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
- utf8aux.o: mail.h misc.h osdep.h utf8.h
-! maildir.o: mail.h misc.h osdep.h maildir.h dummy.h
-
- # OS-dependent
-
-diff -rc alpine-2.00/imap/src/osdep/unix/os_cyg.h alpine-2.00.maildir/imap/src/osdep/unix/os_cyg.h
-*** alpine-2.00/imap/src/osdep/unix/os_cyg.h 2008-06-04 13:18:34.000000000 -0500
---- alpine-2.00.maildir/imap/src/osdep/unix/os_cyg.h 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 47,52 ****
---- 47,53 ----
- #define setpgrp setpgid
-
- #define SYSTEMUID 18 /* Cygwin returns this for SYSTEM */
-+ #define FLAGSEP ';'
- #define geteuid Geteuid
- uid_t Geteuid (void);
-
-diff -rc alpine-2.00/pith/conf.c alpine-2.00.maildir/pith/conf.c
-*** alpine-2.00/pith/conf.c 2008-08-22 19:07:05.000000000 -0500
---- alpine-2.00.maildir/pith/conf.c 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 427,432 ****
---- 427,435 ----
-
- CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file";
-
-+ #ifndef _WINDOWS
-+ CONF_TXT_T cf_text_maildir_location[] = "Location relative to your HOME directory of the directory where your INBOX\n# for the maildir format is located. Default value is \"Maildir\". If your\n# inbox is located at \"~/Maildir\" you do not need to change this value.\n# A common value is also \".maildir\"";
-+ #endif
-
- /*----------------------------------------------------------------------
- These are the variables that control a number of pine functions. They
-***************
-*** 627,632 ****
---- 630,639 ----
- NULL, cf_text_news_active},
- {"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
- NULL, cf_text_news_spooldir},
-+ #ifndef _WINDOWS
-+ {"maildir-location", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
-+ "Maildir Location", cf_text_maildir_location},
-+ #endif
- {"upload-command", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
- NULL, cf_text_upload_cmd},
- {"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
-***************
-*** 2216,2221 ****
---- 2223,2234 ----
- mail_parameters(NULL, SET_NEWSSPOOL,
- (void *)VAR_NEWS_SPOOL_DIR);
-
-+ #ifndef _WINDOWS
-+ set_current_val(&vars[V_MAILDIR_LOCATION], TRUE, TRUE);
-+ if(VAR_MAILDIR_LOCATION && VAR_MAILDIR_LOCATION[0])
-+ mail_parameters(NULL, SET_MDINBOXPATH, (void *)VAR_MAILDIR_LOCATION);
-+ #endif
-+
- /* guarantee a save default */
- set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE);
- if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0])
-***************
-*** 2832,2837 ****
---- 2845,2854 ----
- F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0},
- {"vertical-folder-list", "Use Vertical Folder List",
- F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0},
-+ #ifndef _WINDOWS
-+ {"use-courier-folder-list", "Courier Style Folder List",
-+ F_COURIER_FOLDER_LIST, h_config_courier_list, PREF_FLDR, 0},
-+ #endif
-
- /* Addr book */
- {"combined-addrbook-display", "Combined Address Book Display",
-***************
-*** 6895,6900 ****
---- 6912,6923 ----
-
- break;
-
-+ #ifndef _WINDOWS
-+ case F_COURIER_FOLDER_LIST:
-+ mail_parameters(NULL,SET_COURIERSTYLE,(void *)(F_ON(f->id ,ps)? 1 : 0));
-+ break; /* COURIER == 1, CCLIENT == 0, see maildir.h */
-+ #endif
-+
- case F_COLOR_LINE_IMPORTANT :
- case F_DATES_TO_LOCAL :
- clear_index_cache(ps->mail_stream, 0);
-***************
-*** 7676,7681 ****
---- 7699,7708 ----
- return(h_config_newmailwidth);
- case V_NEWSRC_PATH :
- return(h_config_newsrc_path);
-+ #ifndef _WINDOWS
-+ case V_MAILDIR_LOCATION :
-+ return(h_config_maildir_location);
-+ #endif
- case V_BROWSER :
- return(h_config_browser);
- #if defined(DOS) || defined(OS2)
-diff -rc alpine-2.00/pith/conf.h alpine-2.00.maildir/pith/conf.h
-*** alpine-2.00/pith/conf.h 2008-08-19 19:27:11.000000000 -0500
---- alpine-2.00.maildir/pith/conf.h 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 249,254 ****
---- 249,258 ----
- #define GLO_NEWS_ACTIVE_PATH vars[V_NEWS_ACTIVE_PATH].global_val.p
- #define VAR_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].current_val.p
- #define GLO_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].global_val.p
-+ #ifndef _WINDOWS
-+ #define VAR_MAILDIR_LOCATION vars[V_MAILDIR_LOCATION].current_val.p
-+ #define GLO_MAILDIR_LOCATION vars[V_MAILDIR_LOCATION].global_val.p
-+ #endif
- #define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l
- #define VAR_DISABLE_AUTHS vars[V_DISABLE_AUTHS].current_val.l
- #define VAR_REMOTE_ABOOK_METADATA vars[V_REMOTE_ABOOK_METADATA].current_val.p
-diff -rc alpine-2.00/pith/conftype.h alpine-2.00.maildir/pith/conftype.h
-*** alpine-2.00/pith/conftype.h 2008-08-19 19:27:11.000000000 -0500
---- alpine-2.00.maildir/pith/conftype.h 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 114,119 ****
---- 114,122 ----
- , V_NEWSRC_PATH
- , V_NEWS_ACTIVE_PATH
- , V_NEWS_SPOOL_DIR
-+ #ifndef _WINDOWS
-+ , V_MAILDIR_LOCATION
-+ #endif
- , V_UPLOAD_CMD
- , V_UPLOAD_CMD_PREFIX
- , V_DOWNLOAD_CMD
-***************
-*** 380,385 ****
---- 383,391 ----
- F_PASS_C1_CONTROL_CHARS,
- F_SINGLE_FOLDER_LIST,
- F_VERTICAL_FOLDER_LIST,
-+ #ifndef _WINDOWS
-+ F_COURIER_FOLDER_LIST,
-+ #endif
- F_TAB_CHK_RECENT,
- F_AUTO_REPLY_TO,
- F_VERBOSE_POST,
-diff -rc alpine-2.00/pith/init.c alpine-2.00.maildir/pith/init.c
-*** alpine-2.00/pith/init.c 2007-08-16 17:25:10.000000000 -0500
---- alpine-2.00.maildir/pith/init.c 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 407,412 ****
---- 407,415 ----
- && stricmp(filename, folder_base)){
- #else
- if(strncmp(filename, folder_base, folder_base_len) == 0
-+ #ifndef _WINDOWS
-+ && filename[folder_base_len] != list_cntxt->dir->delim
-+ #endif
- && strcmp(filename, folder_base)){
- #endif
- #endif
-diff -rc alpine-2.00/pith/pattern.c alpine-2.00.maildir/pith/pattern.c
-*** alpine-2.00/pith/pattern.c 2008-07-14 13:01:54.000000000 -0500
---- alpine-2.00.maildir/pith/pattern.c 2011-01-24 19:38:41.000000000 -0600
-***************
-*** 5482,5487 ****
---- 5482,5496 ----
- break;
-
- case '#':
-+ #ifndef _WINDOWS
-+ if(!struncmp(patfolder, "#md/", 4)
-+ || !struncmp(patfolder, "#mc/", 4)){
-+ maildir_file_path(patfolder, tmp1);
-+ if(!strcmp(patfolder, stream->mailbox))
-+ match++;
-+ break;
-+ }
-+ #endif
- if(!strcmp(patfolder, stream->mailbox))
- match++;
-
-***************
-*** 7894,7900 ****
- int we_cancel = 0, width;
- CONTEXT_S *save_context = NULL;
- char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1];
-! char *save_ref = NULL;
- #define FILTMSG_MAX 30
-
- if(!stream)
---- 7903,7909 ----
- int we_cancel = 0, width;
- CONTEXT_S *save_context = NULL;
- char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1];
-! char *save_ref = NULL, *save_dstfldr = NULL, *save_dstfldr2 = NULL;
- #define FILTMSG_MAX 30
-
- if(!stream)
-***************
-*** 7928,7933 ****
---- 7937,7952 ----
- if(F_OFF(F_QUELL_FILTER_MSGS, ps_global))
- we_cancel = busy_cue(buf, NULL, 0);
-
-+ #ifndef _WINDOWS
-+ if(!struncmp(dstfldr, "#md/", 4) || !struncmp(dstfldr, "#mc/", 4)){
-+ char tmp1[MAILTMPLEN];
-+ maildir_file_path(dstfldr, tmp1);
-+ save_dstfldr2 = dstfldr;
-+ save_dstfldr = cpystr(tmp1);
-+ dstfldr = save_dstfldr;
-+ }
-+ #endif
-+
- if(!is_absolute_path(dstfldr)
- && !(save_context = default_save_context(ps_global->context_list)))
- save_context = ps_global->context_list;
-***************
-*** 7991,7996 ****
---- 8010,8020 ----
- if(we_cancel)
- cancel_busy_cue(buf[0] ? 0 : -1);
-
-+ if(save_dstfldr){
-+ fs_give((void **)&save_dstfldr);
-+ dstfldr = save_dstfldr2;
-+ }
-+
- return(buf[0] != '\0');
- }
-
-diff -rc alpine-2.00/pith/pine.hlp alpine-2.00.maildir/pith/pine.hlp
-*** alpine-2.00/pith/pine.hlp 2008-08-22 19:07:05.000000000 -0500
---- alpine-2.00.maildir/pith/pine.hlp 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 21253,21258 ****
---- 21253,21354 ----
- &lt;End of help on this topic&gt;
- </BODY>
- </HTML>
-+ ====== h_config_maildir_location ======
-+ <HTML>
-+ <HEAD>
-+ <TITLE>OPTION: <!--#echo var="VAR_maildir-location"--></TITLE>
-+ </HEAD>
-+ <BODY>
-+ <H1>OPTION: <!--#echo var="VAR_maildir-location"--></H1>
-+
-+ <P>
-+ This option should be used only if you have a Maildir folder which you
-+ want to use as your INBOX. If this is not your case (or don't know what
-+ this is), you can safely ignore this option.
-+
-+ <P>
-+ This option overrides the default directory Pine uses to find the location of
-+ your INBOX, in case this is in Maildir format. The default value of this
-+ option is "Maildir", but in some systems, this directory could have been
-+ renamed (e.g. to ".maildir"). If this is your case use this option to change
-+ the default.
-+
-+ <P>
-+ The value of this option is prefixed with the "~/" string to determine the
-+ full path to your INBOX.
-+
-+ <P>
-+ You should probably <A HREF="h_config_maildir">read</A> a few tips that
-+ teach you how to configure your maildir for optimal performance. This
-+ version also has <A HREF="h_config_courier_list">support</A> for the
-+ Courier style file system when a maildir collection is accessed locally.
-+
-+ <P><UL>
-+ <LI><A HREF="h_finding_help">Finding more information and requesting help</A>
-+ </UL>
-+ <P>
-+ &lt;End of help on this topic&gt;
-+ </BODY>
-+ </HTML>
-+ ====== h_config_maildir =====
-+ <HTML>
-+ <HEAD>
-+ <TITLE>Maildir Support</TITLE>
-+ </HEAD>
-+ <BODY>
-+ <H1>Maildir Support</H1>
-+
-+ This version of Alpine has been enhanced with Maildir support. This text is
-+ intended to be a reference on its support.
-+ <P>
-+
-+ A Maildir folder is a directory that contains three directories called
-+ cur, tmp and new. A program that delivers mail (e.g. postfix) will put new
-+ mail in the new directory. A program that reads mail will look for for old
-+ messages in the cur directory, while it will look for new mail in the new
-+ directory.
-+ <P>
-+
-+ In order to use maildir support it is better to set your inbox-path to the
-+ value &quot;#md/inbox&quot; (without quotes). This assumes that your mail
-+ delivery agent is delivering new mail to ~/Maildir/new. If the directory
-+ where new mail is being delivered is not called "Maildir", you can set the
-+ name of the subdirectory of home where it is being delivered in the <A
-+ HREF="h_config_maildir_location"><!--#echo var="VAR_maildir-location"--></A> configuration
-+ variable. Most of the time you will not have to worry about the
-+ <!--#echo var="VAR_maildirlocation"--> variable, because it will probably be set by your
-+ administrator in the pine.conf configuration file.
-+ <P>
-+
-+ One of the advantages of the Maildir support of this version of Alpine is
-+ that you do not have to stop using folders in another styles (mbox, mbx,
-+ etc.). This is desirable since the usage of a specific mail storage system
-+ is a personal decision. Folders in the maildir format that are part of the
-+ Mail collection will be recognized without any extra configuration of your
-+ part. If your mail/ collection is located under the mail/ directory, then
-+ creating a new maildir folder in this collection is done by pressing "A"
-+ and entering the string "#driver.md/mail/newfolder". Observe that adding a
-+ new folder as "newfolder" may not create such folder in maildir format.
-+
-+ <P>
-+ If you would like to have all folders created in the maildir format by
-+ default, you do so by adding a Maildir Collection. In order to convert
-+ your current mail/ collection into a maildir collection, edit the
-+ collection and change the path variable from &quot;mail/&quot; to
-+ &quot;#md/mail&quot;. In a maildir collection folders of any other format
-+ are ignored.
-+
-+ <P> Finally, This version also has
-+ <A HREF="h_config_courier_list">support</A> for the Courier style file system
-+ when a maildir collection is accessed locally.
-+
-+ <P>
-+ <UL>
-+ <LI><A HREF="h_finding_help">Finding more information and requesting help</A>
-+ </UL><P>
-+ &lt;End of help on this topic&gt;
-+ </BODY>
-+ </HTML>
- ====== h_config_literal_sig =====
- <HTML>
- <HEAD>
-***************
-*** 29126,29131 ****
---- 29222,29270 ----
- <P>
- &lt;End of help on this topic&gt;
- </BODY>
-+ </HTML>
-+ ====== h_config_courier_list =====
-+ <HTML>
-+ <HEAD>
-+ <TITLE>FEATURE: <!--#echo var="FEAT_courier-folder-list"--></TITLE>
-+ </HEAD>
-+ <BODY>
-+ <H1>FEATURE: <!--#echo var="FEAT_courier-folder-list"--></H1>
-+
-+ In a maildir collection, a folder could be used as a directory to store
-+ folders. In the Courier server if you create a folder, then a directory
-+ with the same name is created. If you use this patch to access a
-+ collection created by the Courier server, then the display of such
-+ collection will look confusing. The best way to access a maildir
-+ collection created by the Courier server is by using the &quot;#mc/&quot;
-+ prefix instead of the &quot;#md/&quot; prefix. If you use this alternate
-+ prefix, then this feature applies to you, otherwise you can safely ignore
-+ the text that follows.
-+ <P>
-+ Depending on if you have enabled the option
-+ <a href="h_config_separate_fold_dir_view"><!--#echo var="FEAT_separate-folder-and-directory-entries"--></a>
-+ a folder may be listed as &quot;folder[.]&quot;, or as two entries in the
-+ list by &quot;folder&quot; and &quot;folder.&quot;.
-+ <P>
-+ If this option is disabled, Pine will list local folders that are in Courier
-+ style format, as &quot;folder&quot;, and those that are also directories as
-+ &quot;folder[.]&quot;. This makes the default display cleaner.
-+ <P>
-+ If this feature is enabled then creating folders in a maildir collection
-+ will create a directory with the same name. If this feature is disabled, then
-+ a folder is considered a directory only if it contains subfolders, so you can
-+ not create a directory with the same name as an exisiting folder unless
-+ you create a subfolder of that folder first (e.g. if you have a folder
-+ called &quot;foo&quot; simply add &quot;foo.bar&quot; directly. This will
-+ create the directory &quot;foo&quot; and the subfolder &quot;bar&quot; of it).
-+ <P>
-+ Observe that this feature works only for maildir collections that are accessed
-+ locally. If a collection is accessed remotely then this feature has no value,
-+ as the report is created in a server, and Pine only reports what received
-+ from the server in this case.
-+ <P>
-+ &lt;End of help on this topic&gt;
-+ </BODY>
- </HTML>
- ====== h_config_verbose_post =====
- <HTML>
-diff -rc alpine-2.00/pith/send.c alpine-2.00.maildir/pith/send.c
-*** alpine-2.00/pith/send.c 2008-08-06 13:25:58.000000000 -0500
---- alpine-2.00.maildir/pith/send.c 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 256,261 ****
---- 256,268 ----
-
- if(exists & FEX_ISFILE){
- context_apply(tmp, p_cntxt, mbox, sizeof(tmp));
-+ #ifndef _WINDOWS
-+ if (!struncmp(tmp, "#md/",4) || !struncmp(tmp, "#mc/", 4)){
-+ char tmp2[MAILTMPLEN];
-+ maildir_file_path(tmp, tmp2);
-+ strcpy(tmp, tmp2);
-+ }
-+ #endif
- if(!(IS_REMOTE(tmp) || is_absolute_path(tmp))){
- /*
- * The mbox is relative to the home directory.
-diff -rc alpine-2.00/README.maildir alpine-2.00.maildir/README.maildir
-*** alpine-2.00/README.maildir 2011-01-24 19:38:50.000000000 -0600
---- alpine-2.00.maildir/README.maildir 2011-01-15 19:11:07.000000000 -0600
-***************
-*** 0 ****
---- 1,153 ----
-+ ---------------------------------------
-+
-+ Maildir Driver for Alpine 1.0
-+ By Eduardo Chappa <chappa@washington.edu>
-+ http://staff.washington.edu/chappa/alpine/
-+
-+ ---------------------------------------
-+ 1. General Information About This Patch
-+ ---------------------------------------
-+
-+ This patch adds support for the maildir format to Alpine. We take the
-+ approach that this patch is one more driver among the number of formats
-+ supported by Alpine (more generally c-client). This approach differs from
-+ older versions of similar patches, in that once a maildir patch was
-+ applied, it was assumed that all your folders would be created in the
-+ maildir format.
-+
-+ This patch does not assume that maildir is a preferred format, instead
-+ puts maildir in equal footing with other formats (mbox, mbx, mix, etc),
-+ and so a maildir folder in the mail/ collection is treated in the same way
-+ as any other folder in any other format. In other words, just by reading
-+ the name of a folder, or opening it, or doing any operation with it, you
-+ can not know in which format the folder is.
-+
-+ This implies that if you want to add a folder in the maildir format to the
-+ mail/ collection, then you must add by pressing "A" in the folder list
-+ collection and enter "#driver.md/mail/name_maildir_folder".
-+
-+ If you only want to use maildir, however, you can do so too. In this case,
-+ you must create a maildir collection. In that collection, only maildir
-+ folders will be listed. If there is any folder in any other format, that
-+ folder will be ignored. In another words, any folder listed there is in
-+ maildir format and can be accessed through that collection, conversely,
-+ any folder not listed there is not in maildir format and there is no way
-+ to access it using this collection.
-+
-+ In order to create a maildir collection, you could press M S L, and "A" to
-+ add a collection. Fill in the required fields as follows:
-+
-+ Nickname : Anything
-+ Server :
-+ Path : #md/relative/path/to/maildir/collection/
-+ View :
-+
-+ For example, if "path" is set to "#md/mail/", then Alpine will look for your
-+ maildir folders that are in ~/mail/.
-+
-+ The code in this patch is mostly based in code for the unix driver plus
-+ some combinations of the mh, mbx and nntp drivers for the c-client
-+ library. Those drivers were designed by Mark Crispin, and bugs in this
-+ code are not his bugs, but my own.
-+
-+ I got all the specification for this patch from
-+ http://cr.yp.to/proto/maildir.html. If you know of a place with a better
-+ specification for maildir format please let me know. The method this patch
-+ uses to create a unique filename for a message is one of the "old
-+ fashioned" methods. I realize that this is old fashioned, but it is
-+ portable, and portability is the main reason why I decided to use an old
-+ fashioned method (most methods are not portable. See the word
-+ "Unfortunately" in that document).
-+
-+ --------------
-+ 2. Other Goals
-+ --------------
-+
-+ It is intended that this code will work well with any application
-+ written using the c-client library. Of paramount importance is to make the
-+ associated imap server work well when the server accesses a folder in
-+ Maildir format. The program mailutil should also work flawlessly with this
-+ implemetation of the driver.
-+
-+ It is intended that this driver be fast and stable. We intend not to
-+ patch Alpine to make this driver do its work, unless such patching is for
-+ fixing bugs in Alpine or to pass parameters to the driver.
-+
-+ ------------------------------------------------------------------------
-+ 3. What are the known bugs of this implementation of the Maildir driver?
-+ ------------------------------------------------------------------------
-+
-+ I don't know any at this time. There have been bugs before, though, but
-+ I try to fix bugs as soon as they are reported. A complete list of updates
-+ for this patch, which includes bug fixes, improvements and addition of new
-+ features can be found at
-+
-+ http://staff.washington.edu/chappa/alpine/updates/maildir.html
-+
-+ ----------
-+ 4. On UIDs
-+ ----------
-+
-+ This patch keeps uids in the name of the file that contains the message,
-+ by adding a ",u=" string to the file name to save the uid of a message. A
-+ file is kept between sessions to save information on the last uid assigned
-+ and its time of validity. Only one session with writing access can write
-+ uids, all others must wait for the other session to assign them. The
-+ session assigning uids creates a ".uidtemp" file which other sessions must
-+ not disturb.
-+
-+ Uid support appeared in Alpine 1.00 (snapshot 925), and is experimental,
-+ please report any problems.
-+
-+ --------------------------------------------
-+ 5. Configuring Alpine and Setting up a Maildir
-+ --------------------------------------------
-+
-+ Once this approach was chosen, it implied the following:
-+
-+ * This patch assumes that your INBOX is located at "$HOME/Maildir".
-+ This is a directory which should have three subdirectories "cur",
-+ "tmp" and "new". Mail is delivered to 'new' and read from 'cur'. I
-+ have added a configuration option "maildir-location" which can be
-+ used to tell Alpine where your Maildir inbox is, in case your system
-+ do not use the above directory (e.g. your system may use
-+ "~/.maildir"). In this case define that variable to be the name of
-+ the directory where your e-mail is being delivered (e.g.
-+ ".maildir").
-+
-+ * If you want to use the above configuration as your inbox, you must
-+ define your inbox-path as "#md/inbox" (no quotes). You can define
-+ the inbox-path like above even if you have changed the
-+ maildir-location variable. That's the whole point of that variable.
-+
-+ -----------------------------------
-+ 6. What about Courier file systems?
-+ -----------------------------------
-+
-+ In a courier file system all folders are subfolders of a root folder
-+ called INBOX. Normally INBOX is located at ~/Maildir and subfolders are
-+ "dot" directories in ~/Maildir. For example ~/Maildir/.Trash is a
-+ subfolder of INBOX and is accessed with the nickname "INBOX.Trash".
-+
-+ You can not access folders in this way unless you preceed them with the
-+ string "#mc/". The purpose of the string "#mc/" is to warn Alpine that a
-+ collection in the Courier format is going to be accessed, so you can
-+ SELECT a folder like "#mc/INBOX.Trash", but not "INBOX.Trash"
-+
-+ You can access a collection through a server, but if you want to access a
-+ collection of folders created using the Courier server, you MUST edit your
-+ ".pinerc" file and enter the definition of the collection as follows:
-+
-+ folder-collections="Anything you want" #mc/INBOX.[]
-+
-+ You can replace the string "#mc/INBOX." by something different, for example
-+ "#mc/Courier/." will make Alpine search for your collection in ~/Courier.
-+
-+ You can not add this directly into Alpine because Alpine fails to accept this
-+ value from its input, but it takes it correctly when it is added through
-+ the ".pinerc" file.
-+
-+ You can access your inbox as "#mc/INBOX" or "#md/INBOX". Both definitions
-+ point to the same place.
-+
-+ Last Updated February 9, 2008