diff options
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_@.%*?+-]|\\ )"> <!-- 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 ---- - <End of help on this topic> - </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> -+ <End of help on this topic> -+ </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 "#md/inbox" (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 "mail/" to -+ "#md/mail". 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> -+ <End of help on this topic> -+ </BODY> -+ </HTML> - ====== h_config_literal_sig ===== - <HTML> - <HEAD> -*************** -*** 29126,29131 **** ---- 29222,29270 ---- - <P> - <End of help on this topic> - </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 "#mc/" -+ prefix instead of the "#md/" 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 "folder[.]", or as two entries in the -+ list by "folder" and "folder.". -+ <P> -+ If this option is disabled, Pine will list local folders that are in Courier -+ style format, as "folder", and those that are also directories as -+ "folder[.]". 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 "foo" simply add "foo.bar" directly. This will -+ create the directory "foo" and the subfolder "bar" 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> -+ <End of help on this topic> -+ </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 |