summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-12-01 01:52:00 -0800
committerroot <root@rshg054.dnsready.net>2012-12-01 01:52:00 -0800
commitc31ace4c6175db330d7e4aac1e7388fe5ca5d4f3 (patch)
tree305ea12a2bf8d2d9c7a36e52f68dba9fdb801548
parent51867161079ab52d5152105142a3bc965c63ca03 (diff)
Sat Dec 1 01:48:48 PST 2012
-rw-r--r--community/filezilla/PKGBUILD6
-rw-r--r--community/mariadb/PKGBUILD21
-rw-r--r--community/python-matplotlib/PKGBUILD30
-rw-r--r--community/python-matplotlib/python-matplotlib-tk.patch35
-rw-r--r--core/ed/PKGBUILD6
-rw-r--r--core/mkinitcpio-nfs-utils/PKGBUILD15
-rw-r--r--core/mkinitcpio-nfs-utils/initcpio-install-net1
-rw-r--r--core/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch14
-rw-r--r--extra/amarok/PKGBUILD6
-rw-r--r--extra/digikam/PKGBUILD6
-rw-r--r--extra/dovecot/PKGBUILD13
-rw-r--r--extra/hefur/Check-that-added-torrents-from-the-disk-are-still-on.patch93
-rw-r--r--extra/hefur/PKGBUILD14
-rw-r--r--extra/hefur/Replace-by-amp-in-stat.html.patch27
-rw-r--r--extra/hefur/hefurd.service1
-rw-r--r--extra/ltrace/PKGBUILD19
-rw-r--r--extra/pigeonhole/PKGBUILD6
-rw-r--r--extra/qt/PKGBUILD35
-rw-r--r--extra/qt/assistant.desktop1
-rw-r--r--extra/qt/designer.desktop1
-rw-r--r--extra/qt/linguist.desktop1
-rw-r--r--extra/qt/qtconfig.desktop1
-rw-r--r--extra/xf86-video-intel/PKGBUILD6
-rw-r--r--libre/cups-filters-libre/PKGBUILD8
-rw-r--r--libre/hplip-libre/PKGBUILD42
-rw-r--r--libre/hplip-libre/cups-1.6-buildfix.diff392
26 files changed, 688 insertions, 112 deletions
diff --git a/community/filezilla/PKGBUILD b/community/filezilla/PKGBUILD
index 7f1af6b30..b09b1b38d 100644
--- a/community/filezilla/PKGBUILD
+++ b/community/filezilla/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 80261 2012-11-18 19:11:09Z jelle $
+# $Id: PKGBUILD 80712 2012-11-30 12:16:29Z bluewind $
# Contributor: Alexander Fehr <pizzapunk gmail com>
# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=filezilla
-pkgver=3.6.0.1
+pkgver=3.6.0.2
pkgrel=1
pkgdesc="Fast and reliable FTP, FTPS and SFTP client"
arch=('i686' 'x86_64')
@@ -31,4 +31,4 @@ package() {
make DESTDIR="${pkgdir}" install
}
-md5sums=('90839d05bf52e27e8f4a33adceb3ae5c')
+md5sums=('d56773feafb85c216813bbda87838db0')
diff --git a/community/mariadb/PKGBUILD b/community/mariadb/PKGBUILD
index c17fc8fbb..91b606f4c 100644
--- a/community/mariadb/PKGBUILD
+++ b/community/mariadb/PKGBUILD
@@ -1,18 +1,19 @@
-# $Id: PKGBUILD 78669 2012-10-22 14:43:04Z bpiotrowski $
+# $Id: PKGBUILD 80718 2012-11-30 22:24:36Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
pkgbase=mariadb
pkgname=('libmariadbclient' 'mariadb-clients' 'mariadb')
-pkgver=5.5.28
+pkgver=5.5.28.a
+_pkgver=${pkgver/.a/a}
pkgrel=1
arch=('i686' 'x86_64')
license=('GPL')
url="http://mariadb.org/"
makedepends=('cmake' 'openssl' 'zlib')
options=('!libtool')
-source=(http://mirrors.supportex.net/$pkgbase/$pkgbase-$pkgver/kvm-tarbake-jaunty-x86/$pkgbase-$pkgver.tar.gz
+source=(http://mirrors.supportex.net/$pkgbase/$pkgbase-$_pkgver/kvm-tarbake-jaunty-x86/$pkgbase-$_pkgver.tar.gz
service rc.d tmpfiles.conf)
-md5sums=('9a4055300ccadf7990167ebd1ce875fa'
+md5sums=('a2d20a040ef1e49944a4ffe65ed7fefa'
'9e7aa0fa646f48662df569259061fcef'
'3bb5a9a96340feb0184bc057ee6e330b'
'32f30449d3111714fe190931d08fdb8c')
@@ -26,7 +27,7 @@ build() {
CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
- cmake ../${pkgbase}-${pkgver} \
+ cmake ../${pkgbase}-${_pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DSYSCONFDIR=/etc/mysql \
@@ -67,7 +68,7 @@ package_libmariadbclient(){
pkgdesc="MariaDB client libraries"
depends=('openssl')
conflicts=('libmysqlclient')
- provides=("libmysqlclient=${pkgver}")
+ provides=("libmysqlclient=${_pkgver}")
cd "${srcdir}"/build
for dir in include libmysql libmysqld libservices; do
@@ -78,7 +79,7 @@ package_libmariadbclient(){
install -m755 scripts/mysql_config "${pkgdir}"/usr/bin/
install -d "${pkgdir}"/usr/share/man/man1
for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do
- install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
+ install -m644 "${srcdir}"/${pkgbase}-${_pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
done
}
@@ -86,7 +87,7 @@ package_mariadb-clients() {
pkgdesc="MariaDB client tools"
depends=('libmariadbclient')
conflicts=('mysql-clients')
- provides=("mysql-clients=${pkgver}")
+ provides=("mysql-clients=${_pkgver}")
cd "${srcdir}"/build
make -C client DESTDIR="${pkgdir}" install
@@ -94,7 +95,7 @@ package_mariadb-clients() {
# install man pages
install -d "${pkgdir}"/usr/share/man/man1
for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap; do
- install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
+ install -m644 "${srcdir}"/${pkgbase}-${_pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
done
# provided by mariadb
@@ -107,7 +108,7 @@ package_mariadb() {
install=mariadb.install
depends=('mariadb-clients')
conflicts=('mysql')
- provides=("mysql=${pkgver}")
+ provides=("mysql=${_pkgver}")
optdepends=('perl-dbi' 'perl-dbd-mysql')
options=('emptydirs')
diff --git a/community/python-matplotlib/PKGBUILD b/community/python-matplotlib/PKGBUILD
index 7e90764c9..d47ac8e7a 100644
--- a/community/python-matplotlib/PKGBUILD
+++ b/community/python-matplotlib/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 80031 2012-11-15 15:02:41Z stephane $
+# $Id: PKGBUILD 80710 2012-11-30 12:11:12Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
@@ -7,25 +7,35 @@
pkgbase=python-matplotlib
pkgname=('python2-matplotlib' 'python-matplotlib')
pkgver=1.2.0
-pkgrel=3
+pkgrel=6
pkgdesc="A python plotting library, making publication quality plots"
arch=('i686' 'x86_64')
-url="http://matplotlib.sourceforge.net/"
+url='http://matplotlib.org'
license=('custom')
-makedepends=('python2-pytz' 'python2-numpy' 'python2-pyqt'
- 'python-pytz' 'python-numpy' 'pyqt')
+makedepends=('python2-pytz' 'python2-numpy' 'python2-pyqt' 'python-pytz' 'python-numpy' 'pyqt'
+ 'tk' 'python-cairo' 'python2-cairo' 'python-dateutil' 'python2-dateutil'
+ 'python-gobject' 'python2-gobject' 'python-pyparsing' 'python2-pyparsing'
+ 'pygtk' 'python-six' 'ghostscript' 'texlive-bin')
+optdepends=('pygtk: for use with the GTK or GTKAgg backend'
+ 'tk: used by the TkAgg backend'
+ 'ghostscript: usetex dependencies'
+ 'texlive-bin: usetex dependencies')
source=("https://github.com/downloads/matplotlib/matplotlib/matplotlib-${pkgver}.tar.gz"
- setup.cfg)
+ python-matplotlib-tk.patch)
sha1sums=('1d0c319b2bc545f1a7002f56768e5730fe573518'
- '370a08120bcb3046f590c527b3d29d18ae874818')
+ '6f27ff74a7752700758d081d3235a61a89b8ea95')
build() {
cd "${srcdir}"/matplotlib-${pkgver}
+ patch -Np1 -i ../python-matplotlib-tk.patch
+
# use system python-six
rm lib/six.py
- cp ../setup.cfg .
+ # remove internal copies of pyparsing
+ rm -r lib/matplotlib/pyparsing_py{2,3}.py
+ sed -i -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' lib/matplotlib/{mathtext,fontconfig_pattern}.py
# For numpy 1.7
sed -i '/include/s/numpy\/arrayobject.h/numpy\/oldnumeric.h/g' \
@@ -54,7 +64,7 @@ build() {
}
package_python2-matplotlib() {
- depends=('python2-pytz' 'python2-numpy' 'python2-pyqt' 'python2-dateutil')
+ depends=('python2-pytz' 'python2-numpy' 'python2-cairo' 'python2-pyqt' 'python2-dateutil' 'python2-pyparsing')
cd "${srcdir}"/matplotlib-${pkgver}
python2 setup.py install -O1 --skip-build --root "${pkgdir}" --prefix=/usr
@@ -64,7 +74,7 @@ package_python2-matplotlib() {
}
package_python-matplotlib() {
- depends=('python-pytz' 'python-numpy' 'pyqt' 'python-dateutil')
+ depends=('python-pytz' 'python-numpy' 'python-cairo' 'pyqt' 'python-dateutil' 'python-pyparsing')
cd "${srcdir}"/matplotlib-${pkgver}-py3
python3 setup.py install -O1 --skip-build --root "${pkgdir}" --prefix=/usr
diff --git a/community/python-matplotlib/python-matplotlib-tk.patch b/community/python-matplotlib/python-matplotlib-tk.patch
new file mode 100644
index 000000000..10480195a
--- /dev/null
+++ b/community/python-matplotlib/python-matplotlib-tk.patch
@@ -0,0 +1,35 @@
+diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py
+--- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:50:48.954715965 -0200
++++ matplotlib-1.2.0/setupext.py 2012-11-23 14:55:53.731727636 -0200
+@@ -898,12 +898,12 @@ def parse_tcl_config(tcl_lib_dir, tk_lib
+
+ tcl_poss = [tcl_lib_dir,
+ os.path.normpath(os.path.join(tcl_lib_dir, '..')),
+- "/usr/lib/tcl"+str(Tkinter.TclVersion),
+- "/usr/lib"]
++ "@@libdir@@/tcl"+str(Tkinter.TclVersion),
++ "@@lib@@"]
+ tk_poss = [tk_lib_dir,
+ os.path.normpath(os.path.join(tk_lib_dir, '..')),
+- "/usr/lib/tk"+str(Tkinter.TkVersion),
+- "/usr/lib"]
++ "@@libdir@@/tk"+str(Tkinter.TkVersion),
++ "@@libdir@@"]
+ for ptcl, ptk in zip(tcl_poss, tk_poss):
+ tcl_config = os.path.join(ptcl, "tclConfig.sh")
+ tk_config = os.path.join(ptk, "tkConfig.sh")
+@@ -974,10 +974,10 @@ def guess_tcl_config(tcl_lib_dir, tk_lib
+ return tcl_lib, tcl_inc, 'tcl' + tk_ver, tk_lib, tk_inc, 'tk' + tk_ver
+
+ def hardcoded_tcl_config():
+- tcl_inc = "/usr/local/include"
+- tk_inc = "/usr/local/include"
+- tcl_lib = "/usr/local/lib"
+- tk_lib = "/usr/local/lib"
++ tcl_inc = "/usr/include"
++ tk_inc = "/usr/include"
++ tcl_lib = "@@libdir@@"
++ tk_lib = "@@libdir@@"
+ return tcl_lib, tcl_inc, 'tcl', tk_lib, tk_inc, 'tk'
+
+ def add_tk_flags(module):
diff --git a/core/ed/PKGBUILD b/core/ed/PKGBUILD
index dac07e317..8c8ec44c7 100644
--- a/core/ed/PKGBUILD
+++ b/core/ed/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 146434 2012-01-11 04:50:27Z dreisner $
+# $Id: PKGBUILD 172178 2012-12-01 00:07:10Z dreisner $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=ed
-pkgver=1.6
+pkgver=1.7
pkgrel=1
pkgdesc="A POSIX-compliant line-oriented text editor"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ url="http://www.gnu.org/software/ed/ed.html"
depends=('glibc' 'sh')
options=('!emptydirs')
source=(ftp://ftp.gnu.org/gnu/ed/${pkgname}-${pkgver}.tar.gz)
-md5sums=('9a78593decccaa889523aa4bb555ed4b')
+md5sums=('0aa4e2428e325203d0d7c3e86c961b1c')
build() {
cd "$pkgname-$pkgver"
diff --git a/core/mkinitcpio-nfs-utils/PKGBUILD b/core/mkinitcpio-nfs-utils/PKGBUILD
index 70166e1db..b2132b07d 100644
--- a/core/mkinitcpio-nfs-utils/PKGBUILD
+++ b/core/mkinitcpio-nfs-utils/PKGBUILD
@@ -1,23 +1,30 @@
-# $Id: PKGBUILD 160392 2012-06-01 13:21:36Z dreisner $
+# $Id: PKGBUILD 172177 2012-12-01 00:07:08Z dreisner $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=mkinitcpio-nfs-utils
pkgver=0.3
-pkgrel=3
+pkgrel=4
pkgdesc="ipconfig and nfsmount tools for NFS root support in mkinitcpio"
arch=('i686' 'x86_64')
url="http://www.archlinux.org/"
license=('GPL2')
depends=('glibc')
source=("ftp://ftp.archlinux.org/other/mkinitcpio/$pkgname-$pkgver.tar.xz"
+ 'nfsmount-fix-wrong-umount-path.patch'
'initcpio-install-net'
'initcpio-hook-net')
sha256sums=('d290d489844fae100ca7b848b8eef40078124ff373203086bacc07329d1e8939'
- '8e5ddaacb0e5751e432f95870958c5fa2e01e1ab3f55b5eca2b8b2d030b5d861'
+ '6edb239f3d541b8ddee816e2d18bfb3ee1d3f5f8827769674cc8bf2a7ce38f21'
+ 'ce9f021763c020b9b62a761974437fd1e9e894df3effc58e71671bf83b061255'
'29a5a4a9ebd61bfa1afbb8dcaf2187e487ee1f34b1979a85a853fa2acbeb510e')
build() {
- make -C "$pkgname-$pkgver"
+ cd "$pkgname-$pkgver"
+
+ # upstream commit 029622dfbfe25203275a385a5bf33d44c2409b00
+ patch -Np1 < "$srcdir/nfsmount-fix-wrong-umount-path.patch"
+
+ make
}
package() {
diff --git a/core/mkinitcpio-nfs-utils/initcpio-install-net b/core/mkinitcpio-nfs-utils/initcpio-install-net
index 7030e2d64..79b678949 100644
--- a/core/mkinitcpio-nfs-utils/initcpio-install-net
+++ b/core/mkinitcpio-nfs-utils/initcpio-install-net
@@ -2,6 +2,7 @@
build() {
add_checked_modules '/drivers/net/'
+ add_module nfsv3?
add_binary "/usr/lib/initcpio/ipconfig" "/bin/ipconfig"
add_binary "/usr/lib/initcpio/nfsmount" "/bin/nfsmount"
diff --git a/core/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch b/core/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch
new file mode 100644
index 000000000..0f62fea82
--- /dev/null
+++ b/core/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch
@@ -0,0 +1,14 @@
+--- a/nfsmount/mount.c 2012-11-10 20:16:31.894540497 -0500
++++ b/nfsmount/mount.c 2012-11-10 20:16:39.957369011 -0500
+@@ -358,9 +358,9 @@
+ bail:
+ if (mounted) {
+ if (data->flags & NFS_MOUNT_VER3) {
+- umount_v3(path, clnt);
++ umount_v3(rem_path, clnt);
+ } else {
+- umount_v2(path, clnt);
++ umount_v2(rem_path, clnt);
+ }
+ }
+
diff --git a/extra/amarok/PKGBUILD b/extra/amarok/PKGBUILD
index bbeb27b28..a8b191b88 100644
--- a/extra/amarok/PKGBUILD
+++ b/extra/amarok/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 165272 2012-08-14 19:57:06Z ronald $
+# $Id: PKGBUILD 172156 2012-11-30 08:00:25Z ronald $
# Maintainer: Ronald van Haren <ronald@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: damir <damir@archlinux.org>
@@ -6,13 +6,13 @@
pkgname=amarok
replaces=('amarok-base' 'amarok-engine-xine' 'amarok-base-mysqlfree')
pkgver=2.6.0
-pkgrel=1
+pkgrel=3
pkgdesc="The powerful music player for KDE"
arch=("i686" "x86_64")
url="http://amarok.kde.org"
license=('GPL2' 'LGPL2.1' 'FDL')
depends=('kdebase-runtime' 'mysql' 'qtscriptgenerator' 'taglib-extras'
- 'liblastfm' 'ffmpeg' 'libofa' 'qjson')
+ 'liblastfm' 'ffmpeg' 'libofa' 'qjson' 'mesa')
makedepends=('pkgconfig' 'automoc4' 'cmake' 'libgpod' 'libmtp' 'loudmouth'
'libmygpo-qt')
optdepends=("libgpod: support for Apple iPod audio devices"
diff --git a/extra/digikam/PKGBUILD b/extra/digikam/PKGBUILD
index 85df42f9e..d75d064e7 100644
--- a/extra/digikam/PKGBUILD
+++ b/extra/digikam/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 165883 2012-09-02 19:21:35Z ronald $
+# $Id: PKGBUILD 172158 2012-11-30 10:06:04Z ronald $
# Maintainer: Ronald van Haren <ronald@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
@@ -6,14 +6,14 @@
pkgbase=digikam
pkgname=('digikam' 'kipi-plugins' 'libkface' 'libkgeomap' 'libkvkontakte' 'libmediawiki')
pkgver=2.9.0
-pkgrel=1
+pkgrel=2
pkgdesc="Digital photo management application for KDE"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.digikam.org/"
makedepends=('kdepimlibs' 'libkexiv2' 'libkdcraw' 'libkipi' 'libksane' 'liblqr'
'kdeedu-marble' 'opencv' 'boost' 'libgpod' 'qjson' 'hugin'
- 'cmake' 'automoc4' 'doxygen')
+ 'cmake' 'automoc4' 'doxygen' 'mesa')
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
sha1sums=('df4b879a95f4ccac4480c5161d66fb05d6fbefcd')
diff --git a/extra/dovecot/PKGBUILD b/extra/dovecot/PKGBUILD
index 2628e71a0..464433ecb 100644
--- a/extra/dovecot/PKGBUILD
+++ b/extra/dovecot/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 172133 2012-11-29 19:39:59Z andyrtr $
+# $Id: PKGBUILD 172165 2012-11-30 14:16:13Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Paul Mattal <paul@mattal.com>
# Contributor: Federico Quagliata (quaqo) <quaqo@despammed.com>
# Contributor: GARETTE Emmanuel <gnunux at laposte dot net>
pkgname=dovecot
-pkgver=2.1.11
-pkgrel=2
+pkgver=2.1.12
+pkgrel=1
pkgdesc="An IMAP and POP3 server written with security primarily in mind"
arch=('i686' 'x86_64')
url="http://dovecot.org/"
@@ -22,8 +22,8 @@ install=$pkgname.install
source=(http://dovecot.org/releases/2.1/${pkgname}-${pkgver}.tar.gz{,.sig}
dovecot.sh
dovecot.tmpfilesd)
-md5sums=('28443208243171423437daaf89db7e18'
- 'b3dd87d3dac492c172c0f399a82e88df'
+md5sums=('b575dfb5db954132f41e7c390e7e11ff'
+ '86abccd4ac989be71a33ff856b25057a'
'587159e84e2da6f83d70b3c706ba87cc'
'342a28251d40f983c98c0d1f1bf3d07d')
@@ -79,7 +79,4 @@ package() {
# systemd tmpfile
install -d -m755 ${pkgdir}/usr/lib/tmpfiles.d
install -m 644 ${srcdir}/dovecot.tmpfilesd ${pkgdir}/usr/lib/tmpfiles.d/dovecot.conf
-
- # fix some missing quotes that make pigeonhole fail to build
- sed -i "s:LIBDOVECOT_LOGIN=-ldovecot-login -lssl -lcrypto:LIBDOVECOT_LOGIN=\'-ldovecot-login -lssl -lcrypto \':" ${pkgdir}/usr/lib/dovecot/dovecot-config
}
diff --git a/extra/hefur/Check-that-added-torrents-from-the-disk-are-still-on.patch b/extra/hefur/Check-that-added-torrents-from-the-disk-are-still-on.patch
new file mode 100644
index 000000000..8ad67ee74
--- /dev/null
+++ b/extra/hefur/Check-that-added-torrents-from-the-disk-are-still-on.patch
@@ -0,0 +1,93 @@
+From dbd00cfc3805b6f1ff794f7de0b52b1a7893401f Mon Sep 17 00:00:00 2001
+From: Alexandre Bique <bique.alexandre@gmail.com>
+Date: Thu, 15 Nov 2012 20:43:41 +0100
+Subject: [PATCH 07/12] Check that added torrents from the disk are still on
+ the disk.
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ hefur/fs-tree-white-list.cc | 20 ++++++++++++++++++++
+ hefur/fs-tree-white-list.hh | 1 +
+ hefur/torrent-db.hh | 4 +++-
+ 3 files changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/hefur/fs-tree-white-list.cc b/hefur/fs-tree-white-list.cc
+index f493e95..61714d0 100644
+--- a/hefur/fs-tree-white-list.cc
++++ b/hefur/fs-tree-white-list.cc
+@@ -54,10 +54,30 @@ namespace hefur
+ }
+
+ void
++ FsTreeWhiteList::check()
++ {
++ std::vector<m::StringRef> keys;
++ auto db = Hefur::instance().torrentDb();
++ m::SharedMutex::Locker locker(db->torrents_lock_);
++ db->torrents_.foreach([this, &keys] (Torrent::Ptr torrent) {
++ if (::strncmp(torrent->path().c_str(), root_.c_str(), root_.size()))
++ return;
++
++ struct ::stat st;
++ if (::stat(torrent->path().c_str(), &st) && errno == ENOENT)
++ keys.push_back(torrent->key());
++ });
++
++ for (auto it = keys.begin(); it != keys.end(); ++it)
++ db->torrents_.erase(*it);
++ }
++
++ void
+ FsTreeWhiteList::loopScan()
+ {
+ do {
+ scan();
++ check();
+ } while (!stop_.timedWait(m::time() + rescan_interval_));
+ }
+ }
+diff --git a/hefur/fs-tree-white-list.hh b/hefur/fs-tree-white-list.hh
+index c32bcd4..643fb78 100644
+--- a/hefur/fs-tree-white-list.hh
++++ b/hefur/fs-tree-white-list.hh
+@@ -30,6 +30,7 @@ namespace hefur
+ * When a .torrent is found, call TorrentDb::addTorrent().
+ */
+ void scan();
++ void check();
+
+ private:
+ /**
+diff --git a/hefur/torrent-db.hh b/hefur/torrent-db.hh
+index a1e5d38..e25ed33 100644
+--- a/hefur/torrent-db.hh
++++ b/hefur/torrent-db.hh
+@@ -17,6 +17,7 @@ namespace hefur
+ {
+ class StatHandler;
+ class PeersHandler;
++ class FsTreeWhiteList;
+
+ /**
+ * This is the "in memory" torrent database.
+@@ -63,6 +64,7 @@ namespace hefur
+ friend class StatHandler;
+ friend class PeersHandler;
+ friend class FileHandler;
++ friend class FsTreeWhiteList;
+
+ /** helper to use torrent->key() as a key for the trie */
+ static inline m::StringRef torrentKey(Torrent::Ptr torrent) {
+@@ -77,7 +79,7 @@ namespace hefur
+ m::Future<bool> cleanup_stop_;
+ m::Thread cleanup_thread_;
+ m::SharedMutex torrents_lock_;
+- torrents_type torrents_;
++ torrents_type torrents_;
+ };
+ }
+
+--
+1.8.0.1
+
diff --git a/extra/hefur/PKGBUILD b/extra/hefur/PKGBUILD
index 09db3f623..7b593a50c 100644
--- a/extra/hefur/PKGBUILD
+++ b/extra/hefur/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 169811 2012-10-29 22:16:57Z thomas $
+# $Id: PKGBUILD 172176 2012-11-30 21:59:44Z thomas $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Alexandre Bique <bique.alexandre@gmail.com>
pkgname=hefur
pkgver=0.3
-pkgrel=3
+pkgrel=4
pkgdesc='A standalone and lightweight BitTorrent tracker'
arch=('i686' 'x86_64')
url='http://github.com/abique/hefur'
@@ -12,12 +12,18 @@ license=('MIT')
makedepends=('cmake')
depends=('gnutls' 'xz')
source=("https://github.com/downloads/abique/${pkgname}/${pkgname}-${pkgver}.tar.xz"
- 'hefurd.service')
+ 'hefurd.service'
+ 'Check-that-added-torrents-from-the-disk-are-still-on.patch'
+ 'Replace-by-amp-in-stat.html.patch')
md5sums=('446ca4e659ce0ca3c8f32b0990ee7f5f'
- 'fec6d1a7a96bd6c5605d5316fec4fc2f')
+ '731d5be04d74a52541450b5127abeff3'
+ 'f912a75467a30251403923c0a7abe049'
+ 'f11af93e9a8074c8ba73f7a47e978362')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
+ patch -p1 -i ${srcdir}/Check-that-added-torrents-from-the-disk-are-still-on.patch
+ patch -p1 -i ${srcdir}/Replace-by-amp-in-stat.html.patch
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
diff --git a/extra/hefur/Replace-by-amp-in-stat.html.patch b/extra/hefur/Replace-by-amp-in-stat.html.patch
new file mode 100644
index 000000000..a11406a2f
--- /dev/null
+++ b/extra/hefur/Replace-by-amp-in-stat.html.patch
@@ -0,0 +1,27 @@
+From 6986df22d293b7a149f51d4d8ba4a995645a4560 Mon Sep 17 00:00:00 2001
+From: Alexandre Bique <bique.alexandre@gmail.com>
+Date: Sun, 4 Nov 2012 14:08:47 +0100
+Subject: [PATCH 03/12] Replace & by &amp; in stat.html.
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ www/tpl/stat.html | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/www/tpl/stat.html b/www/tpl/stat.html
+index 3234679..1e3b148 100644
+--- a/www/tpl/stat.html
++++ b/www/tpl/stat.html
+@@ -21,7 +21,7 @@
+ {{*torrents}}
+ <tr>
+ <td>
+- <a href="magnet:?xt=urn:btih:{{info_sha1|b16}}&dn={{name|u}}&tr={{tracker_udp|u}}&tr={{tracker_http|u}}"
++ <a href="magnet:?xt=urn:btih:{{info_sha1|b16}}&amp;dn={{name|u}}&amp;tr={{tracker_udp|u}}&amp;tr={{tracker_http|u}}"
+ title="Magnet link">
+ <img src="/img/magnet-icon.gif"/>
+ </a>
+--
+1.8.0.1
+
diff --git a/extra/hefur/hefurd.service b/extra/hefur/hefurd.service
index cdfc461ab..a5766225f 100644
--- a/extra/hefur/hefurd.service
+++ b/extra/hefur/hefurd.service
@@ -6,6 +6,7 @@ After=network.target
ExecStart=/usr/bin/hefurd -torrent-dir /var/lib/hefurd
User=nobody
Group=nobody
+CPUSchedulingPolicy=batch
[Install]
WantedBy=multi-user.target
diff --git a/extra/ltrace/PKGBUILD b/extra/ltrace/PKGBUILD
index d2ceb9a2c..de2d548bb 100644
--- a/extra/ltrace/PKGBUILD
+++ b/extra/ltrace/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 170791 2012-11-11 15:22:36Z foutrelis $
+# $Id: PKGBUILD 172160 2012-11-30 11:07:55Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=ltrace
-pkgver=0.7.0
+pkgver=0.7.1
pkgrel=1
pkgdesc="Tracks runtime library calls in dynamically linked programs"
arch=('i686' 'x86_64')
url="http://ltrace.alioth.debian.org/"
license=('GPL')
depends=('elfutils')
+makedepends=('dejagnu')
backup=('etc/ltrace.conf')
-source=(https://alioth.debian.org/frs/download.php/3822/$pkgname-$pkgver.tar.bz2)
-sha256sums=('5438ce286f072f0e0448db046657466f9bd142600013329063aecf7cf809fd10')
+source=(https://alioth.debian.org/frs/download.php/3844/$pkgname-$pkgver.tar.bz2)
+sha256sums=('9010ab85444c44e2f1b340049b6ce877e41566996f0045af9519ad056ae9b83d')
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -24,14 +25,16 @@ build() {
make
}
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make -k check
+}
+
package(){
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
-
- # ltrace.conf.5 needs to be installed to man5 (fixed in upstream git repo)
- install -d "$pkgdir/usr/share/man/man5"
- mv "$pkgdir/usr/share/man/man"{1/ltrace.conf.1,5/ltrace.conf.5}
}
# vim:set ts=2 sw=2 et:
diff --git a/extra/pigeonhole/PKGBUILD b/extra/pigeonhole/PKGBUILD
index 45de7f3cc..d0712b912 100644
--- a/extra/pigeonhole/PKGBUILD
+++ b/extra/pigeonhole/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 172134 2012-11-29 19:40:00Z andyrtr $
+# $Id: PKGBUILD 172166 2012-11-30 14:16:14Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributorr: Peter Lewis <plewis@aur.archlinux.org>
@@ -7,12 +7,12 @@
# This must be built against the version of dovecot being used,
# else mail delivery will fail.
# Specify the version of dovecot to be used here:
-_dcpkgver=2.1.11
+_dcpkgver=2.1.12
# Make sure to bump pkgrel if changing this.
pkgname=pigeonhole
pkgver=0.3.3
-pkgrel=2
+pkgrel=3
pkgdesc="Fully rewritten Sieve implementation for Dovecot v2.1"
arch=('i686' 'x86_64')
url="http://pigeonhole.dovecot.org/"
diff --git a/extra/qt/PKGBUILD b/extra/qt/PKGBUILD
index 77bd108c3..81bc33e83 100644
--- a/extra/qt/PKGBUILD
+++ b/extra/qt/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 171529 2012-11-18 11:57:31Z andrea $
+# $Id: PKGBUILD 172171 2012-11-30 15:30:26Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgbase=qt
pkgname=('qt' 'qt-private-headers')
-pkgver=4.8.3
-pkgrel=6
+pkgver=4.8.4
+pkgrel=1
arch=('i686' 'x86_64')
url='http://qt-project.org/'
license=('GPL3' 'LGPL')
@@ -19,20 +19,14 @@ source=("http://releases.qt-project.org/qt4/source/${_pkgfqn}.tar.gz"
'assistant.desktop' 'designer.desktop' 'linguist.desktop'
'qtconfig.desktop'
'improve-cups-support.patch'
- 'fix-crash-in-assistant.patch'
- 'disable-ssl-compression.patch'
- 'fix-qtscript-crash.patch'
- 'qsortfilterproxymodel.patch')
-md5sums=('a663b6c875f8d7caa8ac9c30e4a4ec3b'
- 'fc211414130ab2764132e7370f8e5caa'
- '85179f5e0437514f8639957e1d8baf62'
- 'f11852b97583610f3dbb669ebc3e21bc'
- '6b771c8a81dd90b45e8a79afa0e5bbfd'
+ 'fix-crash-in-assistant.patch')
+md5sums=('89c5ecba180cae74c66260ac732dc5cb'
+ 'f1837a03fd0ebbd2da58975845f278e3'
+ '480fea1ed076992b688373c8db274be0'
+ '5595c24d5bb942c21e3a4d299e6d0bf1'
+ '824a3b77a25e98567f640e0441ccdebc'
'c439c7731c25387352d8453ca7574971'
- '57590084078b6379f0501f7728b02ae2'
- '94e9e433342018bf35e8d6d968b7432c'
- '71579422635e9343665de1c1ba5a3f91'
- 'cd550cd628d10459128ca5f231ca6d3f')
+ '57590084078b6379f0501f7728b02ae2')
build() {
cd ${_pkgfqn}
@@ -43,15 +37,6 @@ build() {
# (FS#29469)
patch -p1 -i "${srcdir}"/fix-crash-in-assistant.patch
- # Security fix
- patch -p1 -i "${srcdir}"/disable-ssl-compression.patch
-
- # QTBUG#27322
- patch -p1 -i "${srcdir}"/fix-qtscript-crash.patch
-
- # QTBUG#27122
- patch -p1 -i "${srcdir}"/qsortfilterproxymodel.patch
-
export QT4DIR="${srcdir}"/${_pkgfqn}
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
diff --git a/extra/qt/assistant.desktop b/extra/qt/assistant.desktop
index a9e98c44b..37ff84b44 100644
--- a/extra/qt/assistant.desktop
+++ b/extra/qt/assistant.desktop
@@ -4,6 +4,5 @@ Comment=Shows Qt documentation and examples
Exec=/usr/bin/assistant
Icon=assistant
Terminal=false
-Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
diff --git a/extra/qt/designer.desktop b/extra/qt/designer.desktop
index 9b7b6e9aa..f0b381d02 100644
--- a/extra/qt/designer.desktop
+++ b/extra/qt/designer.desktop
@@ -6,6 +6,5 @@ Exec=/usr/bin/designer
Icon=designer
MimeType=application/x-designer;
Terminal=false
-Encoding=UTF-8
Type=Application
Categories=Qt;Development;
diff --git a/extra/qt/linguist.desktop b/extra/qt/linguist.desktop
index 8cbe86599..3b203e0bd 100644
--- a/extra/qt/linguist.desktop
+++ b/extra/qt/linguist.desktop
@@ -5,6 +5,5 @@ Exec=/usr/bin/linguist
Icon=linguist
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
-Encoding=UTF-8
Type=Application
Categories=Qt;Development;
diff --git a/extra/qt/qtconfig.desktop b/extra/qt/qtconfig.desktop
index 46dcf9e3d..95770ff6a 100644
--- a/extra/qt/qtconfig.desktop
+++ b/extra/qt/qtconfig.desktop
@@ -4,7 +4,6 @@ Comment=Configure Qt behavior, styles, fonts
Exec=/usr/bin/qtconfig
Icon=qtlogo
Terminal=false
-Encoding=UTF-8
Type=Application
Categories=Qt;Settings;
NoDisplay=true
diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD
index 6699cf306..cc3134130 100644
--- a/extra/xf86-video-intel/PKGBUILD
+++ b/extra/xf86-video-intel/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 171096 2012-11-16 17:03:26Z andyrtr $
+# $Id: PKGBUILD 172167 2012-11-30 14:16:54Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
-pkgver=2.20.13
+pkgver=2.20.14
pkgrel=1
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
@@ -19,7 +19,7 @@ conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERS
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('0151104b58ff3509ecd05ac4ee2c5d81a78506c97afbed511fed6b263060dce3')
+sha256sums=('f85019afd5ddead6606bf89855d209d5369823a6e96b779fa956e0cc78d3b09b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD
index addf86ef3..84b4d0cd1 100644
--- a/libre/cups-filters-libre/PKGBUILD
+++ b/libre/cups-filters-libre/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 166387 2012-09-07 13:33:10Z andyrtr $
+# $Id: PKGBUILD 172123 2012-11-29 18:28:53Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=cups-filters-libre
_pkgname=cups-filters
-pkgver=1.0.24
+pkgver=1.0.25
pkgrel=1
pkgdesc="OpenPrinting CUPS Filters"
arch=('i686' 'x86_64')
url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting"
license=('GPL')
-depends=('lcms2' 'poppler>=0.20.3' 'qpdf')
+depends=('lcms2' 'poppler>=0.20.5' 'qpdf')
makedepends=('ghostscript' 'ttf-dejavu') # ttf-dejavu for make check
optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
@@ -17,7 +17,7 @@ optdepends=('ghostscript: for non-PostScript printers to print with CUPS to conv
backup=(etc/fonts/conf.d/99pdftoopvp.conf)
options=(!libtool)
source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz)
-md5sums=('242ea48cd41f8546d71b00bf2b06c564')
+md5sums=('9690028c5e312b086e7572ae1899a33c')
replaces=("${_pkgname}")
conflicts=("${_pkgname}")
provides=("${_pkgname}=${pkgver}")
diff --git a/libre/hplip-libre/PKGBUILD b/libre/hplip-libre/PKGBUILD
index aa7dea706..069fa612d 100644
--- a/libre/hplip-libre/PKGBUILD
+++ b/libre/hplip-libre/PKGBUILD
@@ -1,25 +1,25 @@
-# $Id: PKGBUILD 144357 2011-12-05 03:44:51Z eric $
+# $Id: PKGBUILD 172168 2012-11-30 14:31:06Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
-# Maintainer : Rémy Oudompheng <remy@archlinux.org>
+# Contributor : Rémy Oudompheng <remy@archlinux.org>
# Contributor: Morgan LEFIEUX <comete@archlinuxfr.org>
# Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
_pkgname=hplip
pkgname=hplip-libre
-pkgver=3.12.6
-pkgrel=3
+pkgver=3.12.11
+pkgrel=2
pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet (without hplip-plugin binary blobs recommendation)"
arch=('i686' 'x86_64')
url="http://hplipopensource.com"
license=('GPL')
depends=('python2' 'ghostscript>=8.64-6' 'foomatic-db' 'foomatic-db-engine'
- 'net-snmp>=5.7.1')
+ 'net-snmp>=5.7.1' 'wget')
makedepends=('python2-pyqt' 'python2-gobject2' 'sane' 'rpcbind' 'cups' 'libusbx')
optdepends=('cups: for printing support'
'python2-dbus: for dbus support'
'sane: for scanner support'
- 'python-imaging: for commandline scanning support'
- 'python-notify: for Desktop notification support'
+ 'python2-imaging: for commandline scanning support'
+ 'python2-notify: for Desktop notification support'
'rpcbind: for network support'
'python2-pyqt: for running hp-toolbox'
'python2-gobject2: for running hp-toolbox'
@@ -29,16 +29,19 @@ conflicts=("${_pkgname}")
provides=("${_pkgname}=${pkgver}")
options=('!libtool')
install=hplip.install
-source=(http://downloads.sourceforge.net/${_pkgname}/$_pkgname-$pkgver.tar.gz{,.asc})
-md5sums=('5303938e8630775ea6fb383af85775e5'
- 'b562457e4c713d8609b3d6dd2be10baf')
+source=(http://downloads.sourceforge.net/${_pkgname}/$_pkgname-$pkgver.tar.gz{,.asc}
+ cups-1.6-buildfix.diff)
build() {
cd "$srcdir/$_pkgname-$pkgver"
+
+ # fix build with cups 1.6 - FC hplip-ipp-accessors.patch
+ patch -p1 -i "${srcdir}/cups-1.6-buildfix.diff"
+
export PYTHON=python2
find . -type f -exec sed -i 's~^#.*env python~#!/usr/bin/env python2~' {} +
- sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' setup.py makeuri.py base/magic.py
+ sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' setup.py makeuri.py logcapture.py base/magic.py
sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' ui/upgradeform.py uninstall.py upgrade.py config_usb_printer.py
sed -i 's|python ./print.py|python2 ./print.py|' scan.py
sed -i 's|python ./testpage.py|python2 ./testpage.py|' setup.py
@@ -46,7 +49,9 @@ build() {
sed -i 's|python %HOME%|python2 %HOME%|' base/utils.py
sed -i 's|python ./plugin.py|python2 ./plugin.py|' base/pkit.py
-
+ # fix rc script path - FS#31921
+ sed -i 's|\/etc\/init.d\/cupsys|\/etc\/rc.d\/cupsd|g' setup.py
+
# https://bugs.archlinux.org/task/30085 - hack found in Gentoo
# Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip
# The hpcups driver does not use foomatic-rip
@@ -78,13 +83,16 @@ build() {
}
package() {
- cd "$srcdir/$_pkgname-$pkgver"
- make rulesdir=/lib/udev/rules.d DESTDIR="$pkgdir/" install
+ #cd "$srcdir/$_pkgname-$pkgver"
+ cd "$srcdir/$_pkgname-${pkgver/.a/a}"
+ make rulesdir=/usr/lib/udev/rules.d DESTDIR="$pkgdir/" install
# remove config provided by sane and autostart of hp-daemon
rm -rf "$pkgdir"/etc/{sane.d,xdg}
# remove HAL .fdi file because HAL is no longer used
rm -rf "$pkgdir"/usr/share/hal
- # move to /usr
- mv "$pkgdir"/lib/udev "$pkgdir"/usr/lib/
- rm "$pkgdir"/lib -r
+ # log dir should not be world writeable
+ chmod 775 "$pkgdir"/var/log/hp{,/tmp}
}
+md5sums=('6caadc4a9e49076c284b146e2dce2937'
+ '835d3b854d097f229a32291338fa2320'
+ 'ef64578c6cb3ce252dbdcb0f1c2f4a47')
diff --git a/libre/hplip-libre/cups-1.6-buildfix.diff b/libre/hplip-libre/cups-1.6-buildfix.diff
new file mode 100644
index 000000000..8341a1610
--- /dev/null
+++ b/libre/hplip-libre/cups-1.6-buildfix.diff
@@ -0,0 +1,392 @@
+diff -up hplip-3.12.6/prnt/cupsext/cupsext.c.ipp_accessors hplip-3.12.6/prnt/cupsext/cupsext.c
+--- hplip-3.12.6/prnt/cupsext/cupsext.c.ipp_accessors 2012-06-18 12:41:19.000000000 +0200
++++ hplip-3.12.6/prnt/cupsext/cupsext.c 2012-07-19 17:11:47.606524137 +0200
+@@ -87,6 +87,46 @@ typedef int Py_ssize_t;
+ #define PY_SSIZE_T_MIN INT_MIN
+ #endif
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetCount(attr) attr->num_values
++#define ippGetGroupTag(attr) attr->group_tag
++#define ippGetValueTag(attr) attr->value_tag
++#define ippGetName(attr) attr->name
++#define ippGetBoolean(attr, element) attr->values[element].boolean
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetStatusCode(ipp) ipp->request.status.status_code
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++
++static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
++{
++ ipp->request.op.operation_id = op;
++ return (1);
++}
++
++static int ippSetRequestId( ipp_t *ipp, int request_id )
++{
++ ipp->request.any.request_id = request_id;
++ return (1);
++}
++#endif
+
+ int g_num_options = 0;
+ cups_option_t * g_options;
+@@ -333,8 +373,8 @@ PyObject * getPrinters( PyObject * self,
+ request = ippNew();
+ language = cupsLangDefault();
+
+- request->request.op.operation_id = CUPS_GET_PRINTERS;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PRINTERS );
++ ippSetRequestId ( request, 1);
+
+ ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+ "attributes-charset", NULL, cupsLangEncoding( language ) );
+@@ -378,10 +418,10 @@ PyObject * getPrinters( PyObject * self,
+ ipp_pstate_t state;
+ int i = 0;
+
+- for ( attr = response->attrs; attr != NULL; attr = attr->next )
++ for ( attr = ippFirstAttribute( response ); attr != NULL; attr = ippNextAttribute( response ) )
+ {
+- while ( attr != NULL && attr->group_tag != IPP_TAG_PRINTER )
+- attr = attr->next;
++ while ( attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER )
++ attr = ippNextAttribute( response );
+
+ if ( attr == NULL )
+ break;
+@@ -390,41 +430,41 @@ PyObject * getPrinters( PyObject * self,
+ state = IPP_PRINTER_IDLE;
+ accepting = 0;
+
+- while ( attr != NULL && attr->group_tag == IPP_TAG_PRINTER )
++ while ( attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER )
+ {
+- if ( strcmp( attr->name, "printer-name" ) == 0 &&
+- attr->value_tag == IPP_TAG_NAME )
+- name = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "device-uri" ) == 0 &&
+- attr->value_tag == IPP_TAG_URI )
+- device_uri = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-uri-supported" ) == 0 &&
+- attr->value_tag == IPP_TAG_URI )
+- printer_uri = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-info" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- info = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-location" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- location = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-make-and-model" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- make_model = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-state" ) == 0 &&
+- attr->value_tag == IPP_TAG_ENUM )
+- state = ( ipp_pstate_t ) attr->values[ 0 ].integer;
+-
+- else if (!strcmp(attr->name, "printer-is-accepting-jobs") &&
+- attr->value_tag == IPP_TAG_BOOLEAN)
+- accepting = attr->values[ 0 ].boolean;
++ if ( strcmp( ippGetName( attr ), "printer-name" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_NAME )
++ name = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "device-uri" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_URI )
++ device_uri = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-uri-supported" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_URI )
++ printer_uri = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-info" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ info = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-location" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ location = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-make-and-model" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ make_model = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-state" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_ENUM )
++ state = ( ipp_pstate_t ) ippGetInteger( attr, 0 );
++
++ else if (!strcmp(ippGetName( attr ), "printer-is-accepting-jobs") &&
++ ippGetValueTag( attr ) == IPP_TAG_BOOLEAN)
++ accepting = ippGetBoolean( attr, 0 );
+
+- attr = attr->next;
++ attr = ippNextAttribute( response );
+ }
+
+ if ( device_uri == NULL )
+@@ -522,8 +562,8 @@ PyObject * addPrinter( PyObject * self,
+ request = ippNew();
+ language = cupsLangDefault();
+
+- request->request.op.operation_id = CUPS_ADD_PRINTER;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_ADD_PRINTER );
++ ippSetRequestId ( request, 1 );
+
+ ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+ "attributes-charset", NULL, cupsLangEncoding( language ) );
+@@ -568,7 +608,7 @@ PyObject * addPrinter( PyObject * self,
+ }
+ else
+ {
+- status = response->request.status.status_code;
++ status = ippGetStatusCode( response );
+ //ippDelete( response );
+ r = 1;
+ }
+@@ -631,8 +671,8 @@ PyObject * delPrinter( PyObject * self,
+ */
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_DELETE_PRINTER;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_DELETE_PRINTER );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -650,7 +690,7 @@ PyObject * delPrinter( PyObject * self,
+ */
+ response = cupsDoRequest( http, request, "/admin/" );
+
+- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
++ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
+ {
+ r = 1;
+ }
+@@ -721,8 +761,8 @@ PyObject * setDefaultPrinter( PyObject *
+
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_SET_DEFAULT;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_SET_DEFAULT );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -743,7 +783,7 @@ PyObject * setDefaultPrinter( PyObject *
+
+ response = cupsDoRequest( http, request, "/admin/" );
+
+- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
++ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
+ {
+ r = 1;
+ }
+@@ -797,8 +837,8 @@ PyObject * controlPrinter( PyObject * se
+
+ request = ippNew();
+
+- request->request.op.operation_id = op;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, op );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -822,7 +862,7 @@ PyObject * controlPrinter( PyObject * se
+
+ response = cupsDoRequest(http, request, "/admin/");
+
+- if (( response != NULL ) && (response->request.status.status_code <= IPP_OK_CONFLICT))
++ if (( response != NULL ) && (ippGetStatusCode( response ) <= IPP_OK_CONFLICT))
+ {
+ r = 1;
+ }
+@@ -837,7 +877,7 @@ abort:
+ if ( response != NULL )
+ ippDelete( response );
+
+- return Py_BuildValue( "i", r );;
++ return Py_BuildValue( "i", r );
+ }
+
+
+@@ -1116,8 +1156,8 @@ PyObject * getPPDList( PyObject * self,
+
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_GET_PPDS;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PPDS );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -1143,43 +1183,43 @@ PyObject * getPPDList( PyObject * self,
+ if ((response = cupsDoRequest(http, request, "/")) != NULL)
+ {
+
+- for (attr = response->attrs; attr; attr = attr->next)
++ for (attr = ippFirstAttribute( response ); attr; attr = ippNextAttribute( response ))
+ {
+ PyObject *dict;
+ char *ppdname = NULL;
+
+- while (attr && attr->group_tag != IPP_TAG_PRINTER)
+- attr = attr->next;
++ while (attr && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
++ attr = ippNextAttribute( response );
+
+ if (!attr)
+ break;
+
+ dict = PyDict_New ();
+
+- for (; attr && attr->group_tag == IPP_TAG_PRINTER; attr = attr->next)
++ for (; attr && ippGetGroupTag( attr ) == IPP_TAG_PRINTER; attr = ippNextAttribute( response ))
+ {
+ PyObject *val = NULL;
+
+- if (!strcmp (attr->name, "ppd-name") && attr->value_tag == IPP_TAG_NAME)
++ if (!strcmp (ippGetName( attr ), "ppd-name") && ippGetValueTag( attr ) == IPP_TAG_NAME)
+ {
+- ppdname = attr->values[0].string.text;
++ ppdname = ippGetString( attr, 0, NULL );
+
+ //sprintf( buf, "print '%s'", ppdname);
+ //PyRun_SimpleString( buf );
+ }
+
+- else if (attr->value_tag == IPP_TAG_TEXT || attr->value_tag == IPP_TAG_NAME || attr->value_tag == IPP_TAG_KEYWORD)
+- //else if ((!strcmp (attr->name, "ppd-natural-language") && attr->value_tag == IPP_TAG_LANGUAGE) ||
+- // (!strcmp (attr->name, "ppd-make-and-model") && attr->value_tag == IPP_TAG_TEXT) ||
+- // (!strcmp (attr->name, "ppd-make") && attr->value_tag == IPP_TAG_TEXT) ||
+- // (!strcmp (attr->name, "ppd-device-id") && attr->value_tag == IPP_TAG_TEXT))
++ else if (ippGetValueTag( attr ) == IPP_TAG_TEXT || ippGetValueTag( attr ) == IPP_TAG_NAME || ippGetValueTag( attr ) == IPP_TAG_KEYWORD)
++ //else if ((!strcmp (ippGetName( attr ), "ppd-natural-language") && ippGetValueTag( attr ) == IPP_TAG_LANGUAGE) ||
++ // (!strcmp (ippGetName( attr ), "ppd-make-and-model") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
++ // (!strcmp (ippGetName( attr ), "ppd-make") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
++ // (!strcmp (ippGetName( attr ), "ppd-device-id") && ippGetValueTag( attr ) == IPP_TAG_TEXT))
+ {
+- val = PyObj_from_UTF8(attr->values[0].string.text);
++ val = PyObj_from_UTF8(ippGetString( attr, 0, NULL ));
+ }
+
+ if (val)
+ {
+- PyDict_SetItemString (dict, attr->name, val);
++ PyDict_SetItemString (dict, ippGetName( attr ), val);
+ Py_DECREF (val);
+ }
+ }
+diff -up hplip-3.12.6/scan/sane/hpaio.c.ipp_accessors hplip-3.12.6/scan/sane/hpaio.c
+--- hplip-3.12.6/scan/sane/hpaio.c.ipp_accessors 2012-06-18 12:42:51.000000000 +0200
++++ hplip-3.12.6/scan/sane/hpaio.c 2012-07-19 17:12:34.557848760 +0200
+@@ -47,6 +47,43 @@
+ #define DEBUG_DECLARE_ONLY
+ #include "sanei_debug.h"
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetGroupTag(attr) attr->group_tag
++#define ippGetValueTag(attr) attr->value_tag
++#define ippGetName(attr) attr->name
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++
++static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
++{
++ ipp->request.op.operation_id = op;
++ return (1);
++}
++
++static int ippSetRequestId( ipp_t *ipp, int request_id )
++{
++ ipp->request.any.request_id = request_id;
++ return (1);
++}
++#endif
++
+ static SANE_Device **DeviceList = NULL;
+
+ static int AddDeviceList(char *uri, char *model, SANE_Device ***pd)
+@@ -186,8 +223,8 @@ static int GetCupsPrinters(char ***print
+ /* Assemble the IPP request */
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_GET_PRINTERS;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PRINTERS );
++ ippSetRequestId( request, 1 );
+
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8");
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, "en");
+@@ -197,20 +234,20 @@ static int GetCupsPrinters(char ***print
+ if ((response = cupsDoRequest(http, request, "/")) == NULL)
+ goto bugout;
+
+- for (attr = response->attrs; attr != NULL; attr = attr->next)
++ for (attr = ippFirstAttribute ( response ); attr != NULL; attr = ippNextAttribute( response ))
+ {
+ /* Skip leading attributes until we hit a printer. */
+- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER)
+- attr = attr->next;
++ while (attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
++ attr = ippNextAttribute( response );
+
+ if (attr == NULL)
+ break;
+
+- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER)
++ while (attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER)
+ {
+- if (strcmp(attr->name, "device-uri") == 0 && attr->value_tag == IPP_TAG_URI && AddCupsList(attr->values[0].string.text, printer) == 0)
++ if (strcmp(ippGetName( attr ), "device-uri") == 0 && ippGetValueTag( attr ) == IPP_TAG_URI && AddCupsList(ippGetString( attr, 0, NULL ), printer) == 0)
+ cnt++;
+- attr = attr->next;
++ attr = ippNextAttribute( response );
+ }
+
+ if (attr == NULL)