diff options
author | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-01-14 03:47:29 +0000 |
---|---|---|
committer | Nicolás Reynolds <fauno@endefensadelsl.org> | 2014-01-14 03:47:29 +0000 |
commit | 271da49386e259723ef574713339f04886630604 (patch) | |
tree | 3357a1b3aa15cfd25145095c41b0a94612ce3635 | |
parent | bcefa96cbc68f340b2aa11c108353993db074e76 (diff) |
Tue Jan 14 03:40:13 UTC 2014
237 files changed, 5253 insertions, 5792 deletions
diff --git a/community/aegisub/PKGBUILD b/community/aegisub/PKGBUILD index d052647f7..049b29659 100755 --- a/community/aegisub/PKGBUILD +++ b/community/aegisub/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 103788 2014-01-11 20:08:20Z eric $ +# $Id: PKGBUILD 103949 2014-01-13 21:34:11Z alucryd $ # Maintainer: Maxime Gauduin <alucryd@gmail.com> # Contributor: kozec <kozec@kozec.com> # Contributor: Limao Luo <luolimao+AUR@gmail.com> pkgname=aegisub -pkgver=3.1.0 -pkgrel=2 +pkgver=3.1.1 +pkgrel=1 pkgdesc="A general-purpose subtitle editor with ASS/SSA support" arch=('i686' 'x86_64') url="http://www.aegisub.org" @@ -13,16 +13,8 @@ license=('GPL' 'BSD') depends=('boost-libs' 'desktop-file-utils' 'ffms2' 'fftw' 'hunspell' 'lua51' 'wxgtk') makedepends=('boost' 'intltool' 'mesa') install="${pkgname}.install" -source=("http://ftp.aegisub.org/pub/releases/${pkgname}-${pkgver}.tar.xz" - 'aegisub-wx-stl.patch') -sha256sums=('3df061456bbab6bd955d7c5b63336be47392eafa21148ff6ed5727eaa6a29987' - '1306b2caf2e192597a99931b4519023ea63b684f330e0838b1152d52b279f6c1') - -prepare() { - cd ${pkgname}-${pkgver} - - patch -Np1 -i ../aegisub-wx-stl.patch -} +source=("http://ftp.aegisub.org/pub/archives/releases/source/${pkgname}-${pkgver}.tar.xz") +sha256sums=('7f8417488cf56b835ddaa36e64916a64eb030fbd79d96a7f8009eae803e897ac') build() { cd ${pkgname}-${pkgver}/${pkgname} diff --git a/community/aegisub/aegisub-wx-stl.patch b/community/aegisub/aegisub-wx-stl.patch deleted file mode 100644 index d174d8308..000000000 --- a/community/aegisub/aegisub-wx-stl.patch +++ /dev/null @@ -1,61 +0,0 @@ -From f71b380f016c7f2b7ec855a9945a4e62ad3e2e16 Mon Sep 17 00:00:00 2001 -From: Thomas Goyne <plorkyeran@aegisub.org> -Date: Sun, 5 Jan 2014 08:10:08 -0800 -Subject: [PATCH 1/4] Fix compilation with wx built with --enable-stl - ---enable-stl replaces the implicit conversion to char/wchar_t* with one -to std::[w]string. This breaks conversions to boost::filesytem::path and -makes some ternaries ambiguous (which GCC helpfully reports as no -conversion existing rather than an ambiguous conversion). ---- - aegisub/src/base_grid.cpp | 6 +++--- - aegisub/src/command/video.cpp | 2 +- - aegisub/src/dialog_attachments.cpp | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/aegisub/src/base_grid.cpp b/aegisub/src/base_grid.cpp -index 9422bf9..4675ad5 100644 ---- a/aegisub/src/base_grid.cpp -+++ b/aegisub/src/base_grid.cpp -@@ -570,9 +570,9 @@ void BaseGrid::GetRowStrings(int row, AssDialogue *line, bool *paint_columns, wx - if (paint_columns[4]) strings[4] = to_wx(line->Style); - if (paint_columns[5]) strings[5] = to_wx(line->Actor); - if (paint_columns[6]) strings[6] = to_wx(line->Effect); -- if (paint_columns[7]) strings[7] = line->Margin[0] ? std::to_wstring(line->Margin[0]) : wxString(); -- if (paint_columns[8]) strings[8] = line->Margin[1] ? std::to_wstring(line->Margin[1]) : wxString(); -- if (paint_columns[9]) strings[9] = line->Margin[2] ? std::to_wstring(line->Margin[2]) : wxString(); -+ if (paint_columns[7]) strings[7] = line->Margin[0] ? wxString(std::to_wstring(line->Margin[0])) : wxString(); -+ if (paint_columns[8]) strings[8] = line->Margin[1] ? wxString(std::to_wstring(line->Margin[1])) : wxString(); -+ if (paint_columns[9]) strings[9] = line->Margin[2] ? wxString(std::to_wstring(line->Margin[2])) : wxString(); - - if (paint_columns[10]) { - strings[10].clear(); -diff --git a/aegisub/src/command/video.cpp b/aegisub/src/command/video.cpp -index 010da90..47bf259 100644 ---- a/aegisub/src/command/video.cpp -+++ b/aegisub/src/command/video.cpp -@@ -476,7 +476,7 @@ static void save_snapshot(agi::Context *c, bool raw) { - // If where ever that is isn't defined, we can't save there - if ((basepath == "\\") || (basepath == "/")) { - // So save to the current user's home dir instead -- basepath = wxGetHomeDir(); -+ basepath = wxGetHomeDir().c_str(); - } - } - // Actual fixed (possibly relative) path, decode it -diff --git a/aegisub/src/dialog_attachments.cpp b/aegisub/src/dialog_attachments.cpp -index 5465b39..2ff696e 100644 ---- a/aegisub/src/dialog_attachments.cpp -+++ b/aegisub/src/dialog_attachments.cpp -@@ -150,7 +150,7 @@ void DialogAttachments::OnExtract(wxCommandEvent &) { - - // Multiple or single? - if (listView->GetNextSelected(i) != -1) -- path = wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())); -+ path = wxDirSelector(_("Select the path to save the files to:"), to_wx(OPT_GET("Path/Fonts Collector Destination")->GetString())).c_str(); - else { - path = SaveFileSelector( - _("Select the path to save the file to:"), --- -1.8.5.2 - diff --git a/community/afpfs-ng/PKGBUILD b/community/afpfs-ng/PKGBUILD index fca6ea89e..6020eaddb 100644 --- a/community/afpfs-ng/PKGBUILD +++ b/community/afpfs-ng/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 99034 2013-10-22 19:25:28Z idevolder $ +# $Id: PKGBUILD 103906 2014-01-13 17:16:36Z andyrtr $ # Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com> # Contributor: slubman <slubman.dndd@laposte.net> pkgname=afpfs-ng pkgver=0.8.1 -pkgrel=7 +pkgrel=8 pkgdesc="A client for the Apple Filing Protocol (AFP)" url="http://alexthepuffin.googlepages.com/" license=('GPL') diff --git a/community/ario/PKGBUILD b/community/ario/PKGBUILD index 9921fbe9f..f5be70809 100644 --- a/community/ario/PKGBUILD +++ b/community/ario/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 99673 2013-10-30 22:56:21Z allan $ +# $Id: PKGBUILD 103907 2014-01-13 17:16:37Z andyrtr $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> pkgname=ario pkgver=1.5.1 -pkgrel=2 +pkgrel=3 pkgdesc="A GTK client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster" arch=('i686' 'x86_64') url="http://ario-player.sourceforge.net/" @@ -12,8 +12,15 @@ depends=('avahi' 'curl' 'dbus-glib' 'gnutls' 'hicolor-icon-theme' 'libglade' 'li makedepends=('intltool' 'perl-xml-parser') install=$pkgname.install changelog=$pkgname.changelog -source=(http://downloads.sourceforge.net/sourceforge/$pkgname-player/$pkgname-$pkgver.tar.gz) -sha256sums=('0831281ab8634eb92424b61230eee035822f7f92d8b0526da7316c898239c91e') +source=(http://downloads.sourceforge.net/sourceforge/$pkgname-player/$pkgname-$pkgver.tar.gz + glib.patch) +sha256sums=('0831281ab8634eb92424b61230eee035822f7f92d8b0526da7316c898239c91e' + '16481cc5fe3fb52ee36bae63522e319193285542fe0c8ab4281ecc5794a82184') + +prepare() { + cd "${srcdir}/$pkgname-$pkgver" + patch -p1 -i ../glib.patch +} build() { cd "${srcdir}/$pkgname-$pkgver" diff --git a/community/ario/glib.patch b/community/ario/glib.patch new file mode 100644 index 000000000..15b96074b --- /dev/null +++ b/community/ario/glib.patch @@ -0,0 +1,24 @@ +diff -rupN a/src/ario-profiles.c b/src/ario-profiles.c +--- a/src/ario-profiles.c 2011-05-17 17:54:49.000000000 +0000 ++++ b/src/ario-profiles.c 2013-12-25 10:52:06.668807328 +0000 +@@ -22,7 +22,7 @@ + #include <config.h> + #include <stdlib.h> + #include <libxml/parser.h> +-#include <glib/gi18n.h> ++#include <glib.h> + #include "ario-util.h" + #include "ario-debug.h" + +diff -rupN a/src/ario-profiles.h b/src/ario-profiles.h +--- a/src/ario-profiles.h 2011-05-17 17:54:49.000000000 +0000 ++++ b/src/ario-profiles.h 2013-12-25 10:50:47.839363409 +0000 +@@ -20,7 +20,7 @@ + #ifndef __ARIO_PROFILES_H + #define __ARIO_PROFILES_H + +-#include <glib/gslist.h> ++#include <glib.h> + #include "servers/ario-server.h" + + G_BEGIN_DECLS diff --git a/community/bind/PKGBUILD b/community/bind/PKGBUILD index 24ff731e6..49e896ab1 100644 --- a/community/bind/PKGBUILD +++ b/community/bind/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 100668 2013-11-08 00:08:48Z seblu $ +# $Id: PKGBUILD 103933 2014-01-13 17:38:54Z seblu $ # Maintainer: Sébastien Luttringer # Contributor: Gaetan Bisson <bisson@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> # Contributor: Mario Vazquez <mario_vazq@hotmail.com> pkgname=bind -_pkgver=9.9.4-P1 +_pkgver=9.9.4-P2 pkgver=${_pkgver//-/.} pkgrel=1 pkgdesc='The ISC BIND nameserver' @@ -26,7 +26,7 @@ source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"{,.asc} 'named.logrotate' 'localhost.zone' '127.0.0.zone') -sha1sums=('35dd28de21626fd6327230c38d0f164dd2263bed' +sha1sums=('9471a6df92732da1a879115e0416e23b9369544a' 'SKIP' '029f89c49550c40ec7a95116b6a33f0e5a041094' 'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11' diff --git a/community/clamz/PKGBUILD b/community/clamz/PKGBUILD index ada02b3dc..088f9f940 100644 --- a/community/clamz/PKGBUILD +++ b/community/clamz/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 57215 2011-10-24 18:32:20Z lfleischer $ +# $Id: PKGBUILD 103908 2014-01-13 17:16:39Z andyrtr $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=clamz pkgver=0.5 -pkgrel=1 +pkgrel=2 pkgdesc="Command-line program to download MP3 files from Amazon.com's music store." arch=('i686' 'x86_64') url='http://code.google.com/p/clamz/' diff --git a/community/collectd/PKGBUILD b/community/collectd/PKGBUILD index c0597a955..7731c49a5 100644 --- a/community/collectd/PKGBUILD +++ b/community/collectd/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 99715 2013-10-30 23:12:24Z allan $ +# $Id: PKGBUILD 103909 2014-01-13 17:16:40Z andyrtr $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Gerhard Brauer <gerhard.brauer@web.de> pkgname=collectd pkgver=5.4.0 -pkgrel=1 +pkgrel=2 pkgdesc='Daemon which collects system performance statistics periodically' url='http://collectd.org/' arch=('i686' 'x86_64') @@ -61,7 +61,6 @@ build() { --sysconfdir=/etc \ --localstatedir=/var \ --sbindir=/usr/bin \ - --disable-static \ --with-python=/usr/bin/python2 make all } diff --git a/community/darktable/PKGBUILD b/community/darktable/PKGBUILD index 88e871734..7adf0c7a4 100644 --- a/community/darktable/PKGBUILD +++ b/community/darktable/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 103146 2013-12-27 15:54:52Z spupykin $ +# $Id: PKGBUILD 103896 2014-01-13 13:22:57Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Christian Himpel <chressie at gmail dot com> # Contributor: Johannes Hanika <hanatos at gmail dot com> @@ -6,7 +6,7 @@ pkgname=darktable pkgver=1.4 _pkgver=1.4 -pkgrel=1 +pkgrel=2 pkgdesc="Utility to organize and develop raw images" arch=('i686' 'x86_64') url=http://darktable.sf.net/ @@ -17,8 +17,15 @@ depends=('exiv2>=0.18' 'intltool>=0.40' 'lcms2' 'lensfun>=0.2.3' 'libglade' 'dbu makedepends=('intltool>=0.40' 'cmake' 'librsvg') optdepends=('librsvg') install=darktable.install -source=(http://downloads.sourceforge.net/project/darktable/darktable/${_pkgver}/darktable-$pkgver.tar.xz) -md5sums=('896416931ded4579f528cd11edad470c') +source=(http://downloads.sourceforge.net/project/darktable/darktable/${_pkgver}/darktable-$pkgver.tar.xz + https://github.com/darktable-org/darktable/commit/74dbfa3b24bcc216ec91e12551b6b434e4a43a22.diff) +md5sums=('896416931ded4579f528cd11edad470c' + 'f959e371f8648eeef8ad6dd6e1403d29') + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + patch -p1 <$srcdir/74dbfa3b24bcc216ec91e12551b6b434e4a43a22.diff +} build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/docker/PKGBUILD b/community/docker/PKGBUILD index 26e4b08ba..0dc115f7a 100644 --- a/community/docker/PKGBUILD +++ b/community/docker/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 103654 2014-01-08 20:31:31Z seblu $ +# $Id: PKGBUILD 103876 2014-01-13 00:32:59Z seblu $ # Maintainer: Sébastien "Seblu" Luttringer pkgname=docker -pkgver=0.7.4 +pkgver=0.7.5 pkgrel=1 epoch=1 pkgdesc='Pack, ship and run any application as a lightweight container' diff --git a/community/enet/PKGBUILD b/community/enet/PKGBUILD index 010339408..b404f25b8 100644 --- a/community/enet/PKGBUILD +++ b/community/enet/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 99737 2013-10-30 23:24:24Z allan $ +# $Id: PKGBUILD 103880 2014-01-13 09:10:15Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Mateusz Herych <heniekk@gmail.com> # Contributor: Bj?indeijer <bjorn@lindeijer.nl> pkgname=enet -pkgver=1.3.9 +pkgver=1.3.11 pkgrel=1 pkgdesc='A relatively thin, simple and robust network communication layer on top of UDP.' arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ url='http://enet.bespin.org/' license=('custom') depends=('glibc') source=("http://enet.bespin.org/download/${pkgname}-${pkgver}.tar.gz") -sha1sums=('c188e380024f346758376290ad80a1c89e206171') +sha1sums=('f1b2e49aa2bbdd7d75e889f3f6d3b0c1a56b6080') build() { cd "${pkgname}-${pkgver}" diff --git a/community/freeradius/PKGBUILD b/community/freeradius/PKGBUILD index 8e86d2e7d..e4189bd17 100644 --- a/community/freeradius/PKGBUILD +++ b/community/freeradius/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 100324 2013-11-02 09:25:51Z spupykin $ +# $Id: PKGBUILD 103884 2014-01-13 10:05:17Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Jason R Begley (jayray@digitalgoat.com> pkgname=freeradius pkgver=3.0.0 -pkgrel=1 +pkgrel=2 pkgdesc="The premier open source RADIUS server" arch=('i686' 'x86_64') url="http://www.freeradius.org/" diff --git a/community/gloox/PKGBUILD b/community/gloox/PKGBUILD index 593cbae37..58cd17dca 100644 --- a/community/gloox/PKGBUILD +++ b/community/gloox/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 100444 2013-11-04 12:11:53Z spupykin $ +# $Id: PKGBUILD 103910 2014-01-13 17:16:40Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: William Rea <sillywilly@gmail.com> pkgname=gloox pkgver=1.0.9 -pkgrel=1 +pkgrel=3 pkgdesc="C++ libraries for development of Jabber client/component/server" arch=(i686 x86_64) url="http://camaya.net/gloox" diff --git a/community/gnunet-gtk/PKGBUILD b/community/gnunet-gtk/PKGBUILD index d3bdf0626..f3029b7c2 100644 --- a/community/gnunet-gtk/PKGBUILD +++ b/community/gnunet-gtk/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 99780 2013-10-30 23:40:28Z allan $ +# $Id: PKGBUILD 103912 2014-01-13 17:16:43Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: wahnby <wahnby@yahoo.fr> pkgname=gnunet-gtk -pkgver=0.9.5 -pkgrel=2 +pkgver=0.10.0 +pkgrel=1 pkgdesc="A frontend for GNUnet" arch=('i686' 'x86_64') url="http://gnunet.org" @@ -12,7 +12,7 @@ license=('GPL') depends=('gnunet' 'glade' 'adns') makedepends=('pkgconfig') source=(ftp://ftp.gnu.org/gnu/gnunet/$pkgname-$pkgver.tar.gz) -md5sums=('2e48a1e92de99b14c936a270bb05309a') +md5sums=('1a036f1956460cc1ea4c34f1b19bb6b1') build() { cd $srcdir/$pkgname-$pkgver diff --git a/community/gnunet/PKGBUILD b/community/gnunet/PKGBUILD index 9c923c2c8..4efc27ca7 100644 --- a/community/gnunet/PKGBUILD +++ b/community/gnunet/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 99779 2013-10-30 23:40:06Z allan $ +# $Id: PKGBUILD 103911 2014-01-13 17:16:42Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: wahnby <wahnby@yahoo.fr> pkgname=gnunet -pkgver=0.9.5_a -pkgrel=2 +pkgver=0.10.0 +pkgrel=1 pkgdesc="A framework for secure peer-to-peer networking" arch=('i686' 'x86_64') url="http://gnunet.org" @@ -18,7 +18,7 @@ install=gnunet.install source=(ftp://ftp.gnu.org/gnu/gnunet/gnunet-${pkgver/_/}.tar.gz gnunet.service defaults.conf) -md5sums=('b0e204cf9711f9799baaeb477992e66a' +md5sums=('8bff8280c90780b17786fd8b95f12f72' '54cce3d2415d95b2e5bd1bd88db3a0ea' '0fe23b2ca5b3fc47a0b5645e04406da0') diff --git a/community/gnustep-base/PKGBUILD b/community/gnustep-base/PKGBUILD index 7490492b4..904a7a411 100644 --- a/community/gnustep-base/PKGBUILD +++ b/community/gnustep-base/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 98739 2013-10-17 14:01:46Z andyrtr $ +# $Id: PKGBUILD 103913 2014-01-13 17:16:45Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Vesa Kaihlavirta <vegai@iki.fi> # Contributor: Sebastian Sareyko <public@nooms.de> pkgname=gnustep-base pkgver=1.24.5 -pkgrel=3 +pkgrel=5 pkgdesc="The GNUstep base package" arch=('i686' 'x86_64') url="http://www.gnustep.org/" diff --git a/community/gogglesmm/PKGBUILD b/community/gogglesmm/PKGBUILD index ac32d8996..1cb59f293 100644 --- a/community/gogglesmm/PKGBUILD +++ b/community/gogglesmm/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 81309 2012-12-17 10:05:29Z spupykin $ +# $Id: PKGBUILD 103914 2014-01-13 17:16:46Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sander Jansen <sander@knology.net> pkgname=gogglesmm pkgver=0.12.7 -pkgrel=1 +pkgrel=3 pkgdesc="Music Manager and Player" arch=('i686' 'x86_64') url="http://code.google.com/p/gogglesmm/" diff --git a/community/gq/PKGBUILD b/community/gq/PKGBUILD index 2f91bca12..efcb9e858 100644 --- a/community/gq/PKGBUILD +++ b/community/gq/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 65588 2012-02-21 09:13:40Z spupykin $ +# $Id: PKGBUILD 103915 2014-01-13 17:16:47Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Gergely Tamas <dice@mfa.kfki.hu> pkgname=gq pkgver=1.3.4 -pkgrel=2 +pkgrel=3 pkgdesc="interactive graphical LDAP browser" url="http://sourceforge.net/projects/gqclient" license=("GPL") @@ -12,12 +12,23 @@ depends=('libxml2' 'gtk2' 'libgnome-keyring' 'libglade' 'libldap>=2.4.18' 'libgp makedepends=('intltool' 'pkgconfig' 'gnome-doc-utils') arch=('i686' 'x86_64') install=gq.install -source=(http://downloads.sourceforge.net/sourceforge/gqclient/$pkgname-$pkgver.tar.gz) -md5sums=('d7b1e183a3ecbd77aceea02d27f36b3e') +source=(http://downloads.sourceforge.net/sourceforge/gqclient/$pkgname-$pkgver.tar.gz + glib-headers-fix.patch) +md5sums=('d7b1e183a3ecbd77aceea02d27f36b3e' + '4a98232c5a908c86216c7d9e235d4c0b') + +prepare() { + cd $srcdir/$pkgname-$pkgver + patch -p1 <$srcdir/glib-headers-fix.patch +} build() { cd $srcdir/$pkgname-$pkgver LDFLAGS=-lcrypto ./configure --prefix=/usr --disable-debugging --disable-update-mimedb make +} + +package() { + cd $srcdir/$pkgname-$pkgver make DESTDIR=$pkgdir install } diff --git a/community/gq/glib-headers-fix.patch b/community/gq/glib-headers-fix.patch new file mode 100644 index 000000000..19e0846d7 --- /dev/null +++ b/community/gq/glib-headers-fix.patch @@ -0,0 +1,124 @@ +diff -wbBur gq-1.3.4/src/glib-helpers.h gq-1.3.4.my/src/glib-helpers.h +--- gq-1.3.4/src/glib-helpers.h 2008-01-09 19:35:12.000000000 +0300 ++++ gq-1.3.4.my/src/glib-helpers.h 2013-12-25 18:53:46.695364792 +0400 +@@ -24,7 +24,7 @@ + #ifndef GLIB_HELPERS_H + #define GLIB_HELPERS_H + +-#include <glib/glist.h> ++#include <glib.h> + + G_BEGIN_DECLS + +diff -wbBur gq-1.3.4/src/gq-hash.h gq-1.3.4.my/src/gq-hash.h +--- gq-1.3.4/src/gq-hash.h 2008-01-09 19:35:12.000000000 +0300 ++++ gq-1.3.4.my/src/gq-hash.h 2013-12-25 18:54:12.485364495 +0400 +@@ -24,7 +24,7 @@ + #ifndef GQ_ENCRYPTION_H + #define GQ_ENCRYPTION_H + +-#include <glib/garray.h> ++#include <glib.h> + #include "gq-utilities.h" + + G_BEGIN_DECLS +diff -wbBur gq-1.3.4/src/gq-ldap.h gq-1.3.4.my/src/gq-ldap.h +--- gq-1.3.4/src/gq-ldap.h 2008-02-14 00:15:05.000000000 +0300 ++++ gq-1.3.4.my/src/gq-ldap.h 2013-12-25 16:28:25.672131705 +0400 +@@ -24,7 +24,7 @@ + #ifndef GQ_LDAP_H + #define GQ_LDAP_H + +- ++#define LDAP_DEPRECATED 1 + + #include <ldap.h> + +diff -wbBur gq-1.3.4/src/gq-main-loop.h gq-1.3.4.my/src/gq-main-loop.h +--- gq-1.3.4/src/gq-main-loop.h 2008-01-09 19:35:12.000000000 +0300 ++++ gq-1.3.4.my/src/gq-main-loop.h 2013-12-25 18:54:29.135364303 +0400 +@@ -24,7 +24,7 @@ + #ifndef GQ_MAIN_LOOP_H + #define GQ_MAIN_LOOP_H + +-#include <glib/gtypes.h> ++#include <glib.h> + + G_BEGIN_DECLS + +diff -wbBur gq-1.3.4/src/gq-marshallers.c gq-1.3.4.my/src/gq-marshallers.c +--- gq-1.3.4/src/gq-marshallers.c 2008-01-09 20:44:57.000000000 +0300 ++++ gq-1.3.4.my/src/gq-marshallers.c 2013-12-25 16:28:26.202131699 +0400 +@@ -5,7 +5,7 @@ + + #ifdef G_ENABLE_DEBUG + #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) +-#define g_marshal_value_peek_char(v) g_value_get_char (v) ++#define g_marshal_value_peek_char(v) g_value_get_schar (v) + #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) + #define g_marshal_value_peek_int(v) g_value_get_int (v) + #define g_marshal_value_peek_uint(v) g_value_get_uint (v) +@@ -22,6 +22,7 @@ + #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) + #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) + #define g_marshal_value_peek_object(v) g_value_get_object (v) ++#define g_marshal_value_peek_variant(v) g_value_get_variant (v) + #else /* !G_ENABLE_DEBUG */ + /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. + * Do not access GValues directly in your code. Instead, use the +@@ -45,16 +46,17 @@ + #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer + #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer + #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer ++#define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer + #endif /* !G_ENABLE_DEBUG */ + + + /* VOID:OBJECT,INT (gq-marshallers.list:1) */ + void + gq_marshal_VOID__OBJECT_INT (GClosure *closure, +- GValue *return_value, ++ GValue *return_value G_GNUC_UNUSED, + guint n_param_values, + const GValue *param_values, +- gpointer invocation_hint, ++ gpointer invocation_hint G_GNUC_UNUSED, + gpointer marshal_data) + { + typedef void (*GMarshalFunc_VOID__OBJECT_INT) (gpointer data1, +diff -wbBur gq-1.3.4/src/gq-stack.h gq-1.3.4.my/src/gq-stack.h +--- gq-1.3.4/src/gq-stack.h 2008-01-09 19:35:12.000000000 +0300 ++++ gq-1.3.4.my/src/gq-stack.h 2013-12-25 18:54:46.318697439 +0400 +@@ -24,7 +24,7 @@ + #ifndef GQ_STACK_H + #define GQ_STACK_H + +-#include <glib/gtypes.h> ++#include <glib.h> + + G_BEGIN_DECLS + +diff -wbBur gq-1.3.4/src/gq-tab.h gq-1.3.4.my/src/gq-tab.h +--- gq-1.3.4/src/gq-tab.h 2008-01-09 19:35:12.000000000 +0300 ++++ gq-1.3.4.my/src/gq-tab.h 2013-12-25 18:55:10.392030496 +0400 +@@ -24,7 +24,7 @@ + #ifndef GQ_TAB_H + #define GQ_TAB_H + +-#include <glib/gmacros.h> ++#include <glib.h> + + G_BEGIN_DECLS + +diff -wbBur gq-1.3.4/src/syntax.h gq-1.3.4.my/src/syntax.h +--- gq-1.3.4/src/syntax.h 2008-01-09 19:35:13.000000000 +0300 ++++ gq-1.3.4.my/src/syntax.h 2013-12-25 18:53:19.428698438 +0400 +@@ -27,7 +27,7 @@ + #ifndef GQ_SYNTAX_H_INCLUDED + #define GQ_SYNTAX_H_INCLUDED + +-#include <glib/gmacros.h> ++#include <glib.h> + + G_BEGIN_DECLS + diff --git a/community/gwenhywfar/PKGBUILD b/community/gwenhywfar/PKGBUILD index 5474988e7..831978469 100644 --- a/community/gwenhywfar/PKGBUILD +++ b/community/gwenhywfar/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 99807 2013-10-30 23:50:53Z allan $ +# $Id: PKGBUILD 103916 2014-01-13 17:16:48Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: William Rea <sillywilly@gmail.com> pkgname=gwenhywfar pkgver=4.3.3 _dnrel=67 -pkgrel=2 +pkgrel=4 pkgdesc="OS abstraction functions for various projects" arch=(i686 x86_64) url="http://www.aquamaniac.de" diff --git a/community/kicad/PKGBUILD b/community/kicad/PKGBUILD index ced9c2120..200f90133 100644 --- a/community/kicad/PKGBUILD +++ b/community/kicad/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 103796 2014-01-11 20:08:29Z eric $ +# $Id: PKGBUILD 103943 2014-01-13 20:00:42Z kkeen $ # Maintainer: Kyle Keen <keenerd@gmail.com> # Contributor: Marq Schneider <queueRAM@gmail.com> @@ -6,12 +6,12 @@ pkgname=kicad pkgver=20130518 _pkgver=${pkgver:0:4}-${pkgver:4:2}-${pkgver:6:2} _pkgbzr=4017 -pkgrel=2 +pkgrel=3 pkgdesc="Electronic schematic and printed circuit board (PCB) design tools" arch=('i686' 'x86_64') url="http://iut-tice.ujf-grenoble.fr/kicad/" license=('GPL') -depends=('glu' 'wxgtk' 'hicolor-icon-theme' 'desktop-file-utils' 'libsm') +depends=('glu' 'wxgtk2.8' 'hicolor-icon-theme' 'desktop-file-utils' 'libsm') makedepends=('cmake' 'zlib' 'mesa') optdepends=('kicad-docs-bzr: for documentation' 'kicad-library-bzr: for footprints') @@ -23,11 +23,17 @@ md5sums=('9e6aab0f2ad01a17c8ec96cd9162dc79' 'a2c39704238946e74a5ed0c38326345f' 'ec3e7581c814ca2b76becc7b30a8529f') +#source=(https://launchpad.net/ubuntu/trusty/+source/kicad/0.${pkgver}+bzr${_pkgbzr}-2/+files/kicad_0.${pkgver}+bzr${_pkgbzr}.orig.tar.gz) +# patches from https://launchpad.net/ubuntu/trusty/+source/kicad/0.20130727+bzr4024-2/+files/kicad_0.20130727+bzr4024-2.debian.tar.gz ? + build() { cd "$srcdir/stable_${_pkgver}_BZR${_pkgbzr}" + # kicad-boost-polygon-declare-gtlsort-earlier.patch + #sed -i '20i #include "detail/polygon_sort_adaptor.hpp"' include/boost/polygon/polygon.hpp patch -p0 < "$srcdir/kicad-boost-polygon-declare-gtlsort-earlier.patch" - patch -p1 < "$srcdir/wxgtk3.0.patch" + #patch -p1 < "$srcdir/wxgtk3.0.patch" + #sed -i 's/wxStandardPaths/&::Get/' common/edaappl.cpp # harmless build blocking error # see https://lists.launchpad.net/kicad-developers/msg07841.html @@ -40,9 +46,13 @@ build() { # build and install kicad mkdir -p build/Release cd build/Release + # STABLE_VERSION gets removed, eventually + # gets ported to wxgtk3, eventually cmake ../.. -DKICAD_STABLE_VERSION=ON \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_PREFIX=/usr \ + -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config-2.8' \ + -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc32-2.8' make } @@ -55,3 +65,4 @@ package() { #cp -r -n "$srcdir/$pkgname-icons/resources/linux/mime/icons" "$pkgdir/usr/share/" } + diff --git a/community/kmess/PKGBUILD b/community/kmess/PKGBUILD index a4ef8897d..d200ca743 100644 --- a/community/kmess/PKGBUILD +++ b/community/kmess/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 97032 2013-09-11 02:13:11Z bgyorgy $ -# Maintainer: +# $Id: PKGBUILD 103917 2014-01-13 17:16:49Z andyrtr $ +# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Mateusz Herych <heniekk@gmail.com> # Contributor: Stefano Zamprogno <stefano.zamprogno@gmail.com> pkgname=kmess pkgver=2.0.6.2 -pkgrel=4 +pkgrel=5 pkgdesc="A MSN Messenger client for Linux" arch=('i686' 'x86_64') url='http://kmess.sourceforge.net/' diff --git a/community/kvpnc/PKGBUILD b/community/kvpnc/PKGBUILD index 947ebb3ea..0d6453ca9 100644 --- a/community/kvpnc/PKGBUILD +++ b/community/kvpnc/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 91108 2013-05-19 18:46:49Z dreisner $ +# $Id: PKGBUILD 103918 2014-01-13 17:16:50Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Danial Olsen <do@meyl.fo> pkgname=kvpnc pkgver=0.9.6a -pkgrel=4 +pkgrel=5 pkgdesc="A KDE Desktop Environment frontend for various vpn clients" arch=(i686 x86_64) url="http://home.gna.org/kvpnc/" diff --git a/community/libmicrohttpd/PKGBUILD b/community/libmicrohttpd/PKGBUILD index f105c94a3..ff3dc8155 100644 --- a/community/libmicrohttpd/PKGBUILD +++ b/community/libmicrohttpd/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 102393 2013-12-10 10:04:03Z spupykin $ +# $Id: PKGBUILD 103919 2014-01-13 17:16:51Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Norberto Lopes <shelika@mail.telepac.pt> # Contributor: Kao Dome <kaodome@gmail.com> @@ -7,7 +7,7 @@ pkgname=libmicrohttpd pkgver=0.9.32 -pkgrel=1 +pkgrel=2 pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application." arch=('i686' 'x86_64') url="http://www.gnu.org/software/libmicrohttpd/" diff --git a/community/lightdm/PKGBUILD b/community/lightdm/PKGBUILD index 617ec1f89..87dd71ca1 100755 --- a/community/lightdm/PKGBUILD +++ b/community/lightdm/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 101357 2013-11-23 12:07:27Z alucryd $ +# $Id: PKGBUILD 103920 2014-01-13 17:16:52Z andyrtr $ # Maintainer: Maxime Gauduin <alucryd@gmail.com> # Contributor: Morfeo <morfeo89@hotmail.it> pkgbase=lightdm pkgname=('lightdm' 'liblightdm-qt4' 'liblightdm-qt5') pkgver=1.8.5 -pkgrel=2 +pkgrel=3 epoch=1 pkgdesc="A lightweight display manager" arch=('i686' 'x86_64') diff --git a/community/mailutils/PKGBUILD b/community/mailutils/PKGBUILD index 6fc44af16..9d4b34c11 100644 --- a/community/mailutils/PKGBUILD +++ b/community/mailutils/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 100116 2013-11-01 17:17:05Z spupykin $ +# $Id: PKGBUILD 103921 2014-01-13 17:16:54Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=mailutils pkgver=2.2 -pkgrel=9 +pkgrel=10 pkgdesc="MUA command line tool (mailx)" arch=(i686 x86_64) url="http://www.gnu.org/software/mailutils/" diff --git a/community/minetest/PKGBUILD b/community/minetest/PKGBUILD index f54209b0f..8ec99138e 100644 --- a/community/minetest/PKGBUILD +++ b/community/minetest/PKGBUILD @@ -1,21 +1,21 @@ -# $Id: PKGBUILD 101392 2013-11-24 18:49:30Z lcarlier $ +# $Id: PKGBUILD 103898 2014-01-13 13:45:45Z lcarlier $ # Maintainer: Laurent Carlier <lordheavym@gmail.com> # Contributor: Konsta Kokkinen <kray@tsundere.fi> pkgname=minetest -pkgver=0.4.8 +pkgver=0.4.9 pkgrel=1 pkgdesc='An Infiniminer/Minecraft inspired game' arch=('i686' 'x86_64') url='http://minetest.net/' license=('GPL') -depends=('sqlite' 'libxxf86vm' 'openal' 'libvorbis' 'curl' 'irrlicht' 'hicolor-icon-theme') +depends=('sqlite' 'libxxf86vm' 'openal' 'libvorbis' 'curl' 'irrlicht' 'mesa' 'hicolor-icon-theme') makedepends=('cmake') install=minetest.install source=(${pkgname}-${pkgver}.tar.gz::https://github.com/minetest/${pkgname}/tarball/${pkgver} ${pkgname}_game-${pkgver}.tar.gz::https://github.com/minetest/${pkgname}_game/tarball/${pkgver}) -md5sums=('90dd6a3c2c587a3e55df59ba4458cd65' - 'df88f4a28ad10e9ab8c445bd28a504e2') +md5sums=('2a2629befa86ef72924bcc0e489730c7' + '097666443a71988cf2d41ebd9be31ec9') build() { cd "$srcdir"/minetest-minetest-* diff --git a/community/motion/PKGBUILD b/community/motion/PKGBUILD index b97b1b43e..d9db1fdb2 100644 --- a/community/motion/PKGBUILD +++ b/community/motion/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 94894 2013-08-01 06:55:12Z bpiotrowski $ +# $Id: PKGBUILD 103886 2014-01-13 10:05:50Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=motion pkgver=3.2.12 -pkgrel=10 +pkgrel=11 pkgdesc="A software motion detector which grabs images from video4linux devices and/or from webcams" arch=('i686' 'x86_64') license=('GPL') @@ -11,6 +11,7 @@ url="http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome" depends=('libjpeg' 'v4l-utils' 'ffmpeg-compat') backup=('etc/motion/motion.conf') options=('!makeflags') +install=motion.install source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz motion.service motion.tmpfiles diff --git a/community/motion/motion.install b/community/motion/motion.install new file mode 100644 index 000000000..f36054033 --- /dev/null +++ b/community/motion/motion.install @@ -0,0 +1,7 @@ +post_install() { + systemd-tmpfiles --create motion.conf +} + +post_upgrade() { + systemd-tmpfiles --create motion.conf +} diff --git a/community/netcf/PKGBUILD b/community/netcf/PKGBUILD index 7b7a7245b..b40b53c1e 100644 --- a/community/netcf/PKGBUILD +++ b/community/netcf/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 99926 2013-10-31 02:30:50Z allan $ +# $Id: PKGBUILD 103922 2014-01-13 17:16:55Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Aurélien Wailly <aurelien.wailly@gmail.com> pkgname=netcf pkgver=0.2.3 -pkgrel=2 +pkgrel=3 pkgdesc="A library for configuring network interfaces" arch=('i686' 'x86_64') license=('LGPL') diff --git a/community/ngspice/PKGBUILD b/community/ngspice/PKGBUILD index e55415fa4..9d7b836cd 100644 --- a/community/ngspice/PKGBUILD +++ b/community/ngspice/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 88376 2013-04-16 21:34:14Z kkeen $ +# $Id: PKGBUILD 103872 2014-01-12 23:58:12Z kkeen $ # Maintainer: Kyle Keen <keenerd@gmail.com> # Contributor: Abhishek Dasgupta <abhidg@gmail.com> # Contributor: Jason Taylor <jftaylor21@gmail.com> # Contributor: Luis Henrique <lmello.009@gmail.com> pkgname=ngspice -pkgver=25 -pkgrel=2 +pkgver=26 +pkgrel=1 pkgdesc='Mixed-level/Mixed-signal circuit simulator based on Spice3f5, Ciber1b1, and Xspice.' url='http://ngspice.sourceforge.net' license=('BSD') @@ -14,8 +14,8 @@ arch=('i686' 'x86_64') depends=('libxaw' 'libedit' 'gcc-libs') source=("http://downloads.sourceforge.net/project/$pkgname/ng-spice-rework/$pkgver/$pkgname-$pkgver.tar.gz" "http://downloads.sourceforge.net/project/$pkgname/ng-spice-rework/$pkgver/$pkgname-doc-$pkgver.tar.gz") -sha1sums=('745c3c32385b7d5c808836e393fe7699f8568860' - 'db7a1de7553b4e0d454e6c99b4371677eaf130aa') +sha1sums=('7c043c604b61f76ad1941defeeac6331efc48ad2' + 'bc163a47a2b4987c4617c47b132a30ffdc674350') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/openimageio/PKGBUILD b/community/openimageio/PKGBUILD index 1e99fca3f..5acccb045 100644 --- a/community/openimageio/PKGBUILD +++ b/community/openimageio/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 103862 2014-01-12 20:24:23Z foutrelis $ +# $Id: PKGBUILD 103941 2014-01-13 19:39:24Z svenstaro $ # Contributor: SpepS <dreamspepser at yahoo dot it> # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> pkgname=openimageio -pkgver=1.3.10 +pkgver=1.3.11 pkgrel=1 pkgdesc="A library for reading and writing images, including classes, utilities, and applications" arch=(i686 x86_64) @@ -14,7 +14,7 @@ makedepends=('cmake' 'qt4' 'python2' 'boost' 'mesa') optdepends=('qt4: iv image viewer' 'python2: bindings support') source=(https://github.com/OpenImageIO/oiio/archive/Release-${pkgver}.tar.gz) -md5sums=('e1cd34e1926b7c15626f8618e9e4fc70') +md5sums=('a1b6b4cbc863fa49259d0f32da4288d7') build() { cd oiio-Release-$pkgver diff --git a/community/pianobar/PKGBUILD b/community/pianobar/PKGBUILD index c135f0c73..bc1108a58 100644 --- a/community/pianobar/PKGBUILD +++ b/community/pianobar/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 98105 2013-10-06 00:35:49Z dwallace $ +# $Id: PKGBUILD 103923 2014-01-13 17:16:56Z andyrtr $ # Maintainer: Daniel Wallace < danielwallace at gtmanfred dot com> # Contributor: Mitch Bigelow <ipha00@gmail.com> # Contributor: Patrick Palka <patrick@parcs.ath.cx> pkgname=pianobar pkgver=2013.09.15 -pkgrel=1 +pkgrel=2 pkgdesc="console-based frontend for Pandora" url="http://6xq.net/0017" arch=('i686' 'x86_64') diff --git a/community/pidgin-otr/PKGBUILD b/community/pidgin-otr/PKGBUILD index f0f8fbe96..d46420838 100644 --- a/community/pidgin-otr/PKGBUILD +++ b/community/pidgin-otr/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 79622 2012-11-09 00:24:37Z ebelanger $ +# $Id: PKGBUILD 103924 2014-01-13 17:16:58Z andyrtr $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> # Contributor: Allan McRae <allan@archlinux.org> @@ -7,7 +7,7 @@ pkgname=pidgin-otr pkgver=4.0.0 -pkgrel=1 +pkgrel=2 pkgdesc='Off-the-Record Messaging plugin for Pidgin.' arch=('i686' 'x86_64') license=('GPL') diff --git a/community/pokerth/PKGBUILD b/community/pokerth/PKGBUILD index 98cee0a12..b6985cc64 100644 --- a/community/pokerth/PKGBUILD +++ b/community/pokerth/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 102271 2013-12-07 10:36:58Z bpiotrowski $ +# $Id: PKGBUILD 103925 2014-01-13 17:16:59Z andyrtr $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Mateusz Herych <heniekk@gmail.com> # Contributor: Bartłomiej Piotrowski <barthalion@gmail.com> @@ -7,22 +7,22 @@ pkgname=pokerth _realname=PokerTH -pkgver=1.0.1 -pkgrel=3 +pkgver=1.1 +pkgrel=1 pkgdesc="Poker game written in C++/Qt4" arch=('i686' 'x86_64') url="http://www.pokerth.net/" license=('GPL' 'custom') depends=('curl' 'boost-libs' 'gsasl' 'gnutls' 'protobuf' - 'qt4' 'sdl_mixer' 'libircclient' 'tinyxml') + 'qt5-base' 'sdl_mixer' 'libircclient' 'tinyxml') makedepends=('boost') source=("http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2") -md5sums=('c6dcf0ed68ab50af91371348ffad5d00') +md5sums=('7f577fdb04c697ac7227c1a0d4311ffc') build() { cd "$srcdir/$_realname-$pkgver-src" - qmake-qt4 "$pkgname.pro" + qmake-qt5 "$pkgname.pro" make } diff --git a/community/pokerth/gcrypt16.patch b/community/pokerth/gcrypt16.patch new file mode 100644 index 000000000..818feda09 --- /dev/null +++ b/community/pokerth/gcrypt16.patch @@ -0,0 +1,57 @@ +From aa22d39d7753acc56813171e654fa9fa1f0ca759 Mon Sep 17 00:00:00 2001 +From: lotodore <pokerth@lotharmay.de> +Date: Thu, 19 Dec 2013 12:28:35 +0100 +Subject: [PATCH] Fix for libgcrypt 1.6.0 compile error #247 (supported only on + Linux because libgcrypt does not yet support native Windows threads). + +--- + src/net/common/socket_startup.cpp | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/src/net/common/socket_startup.cpp b/src/net/common/socket_startup.cpp +index 12e8604..59ffc4f 100644 +--- a/src/net/common/socket_startup.cpp ++++ b/src/net/common/socket_startup.cpp +@@ -37,6 +37,10 @@ + + #ifndef HAVE_OPENSSL + ++// With libgcrypt 1.6.0, it is no longer supported to provide thread callbacks. ++// Use the default thread implementation instead, and cross fingers that it works with boost thread... ++#if GCRYPT_VERSION_NUMBER < 0x010600 ++ + extern "C" { + + int gcry_bthread_init() +@@ -64,12 +68,15 @@ + return 0; + } + +- struct gcry_thread_cbs gcry_threads_boost = { ++ static struct gcry_thread_cbs gcry_threads_boost = { + GCRY_THREAD_OPTION_USER, gcry_bthread_init, gcry_bmutex_init, + gcry_bmutex_destroy, gcry_bmutex_lock, gcry_bmutex_unlock, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL + }; + } ++ ++#endif // GCRYPT_VERSION_NUMBER < 0x010600 ++ + #endif // not HAVE_OPENSSL + + bool +@@ -78,8 +85,10 @@ + #ifdef HAVE_OPENSSL + return SSL_library_init() == 1; + #else +- gcry_check_version(NULL); ++#if GCRYPT_VERSION_NUMBER < 0x010600 + gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_boost); ++#endif ++ gcry_check_version(NULL); + gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0); + gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); + return true; +-- +1.8.5.1 + diff --git a/community/prosody/ChangeLog b/community/prosody/ChangeLog deleted file mode 100644 index 45f3a05fd..000000000 --- a/community/prosody/ChangeLog +++ /dev/null @@ -1,398 +0,0 @@ -2009-11-23 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.6.0-1 for changeset 6c5b7e66bee4 - [d573d1d7a403] [tip] - - * .hgtags: - Removed tag v0.6.0-1 - [6c5b7e66bee4] [v0.6.0-1] - - * PKGBUILD: - Use correct package name and version - [1e65e6a877d3] - - * .hgtags: - Added tag v0.6.0-1 for changeset ad52fee15148 - [8196689dd4c4] - - * PKGBUILD, prosody.cfg.lua: - Included mod_compression in example configuration file - [ad52fee15148] - - * ChangeLog: - Updated ChangeLog - [34b6046aca14] - - * PKGBUILD: - Updated checksums - [3b4c28f28321] - - * PKGBUILD, prosody.cfg.lua: - New upstream version - [9d201755b63d] - -2009-10-22 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.6.0rc1-1 for changeset c0a99ab935a8 - [a0e2015435b6] - - * ChangeLog, PKGBUILD: - New upstream version - [c0a99ab935a8] [v0.6.0rc1-1] - - * PKGBUILD: - Removed conflicts - [0f0560190a81] - - * PKGBUILD: - Removed makedepends for gcc, the base-devel group is assumed to - exist - [4160ed469fa4] - - * PKGBUILD: - Fix typo in PKGBUILD - [85d988c7e4a5] - -2009-09-28 Dwayne Bent <dbb.0@liqd.org> - - * ChangeLog, PKGBUILD: - New upstream version - [3e4ffcdc887a] - -2009-07-29 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.5.1-1 for changeset 1be51884e580 - [74f32914279c] - - * ChangeLog, PKGBUILD: - New upstream version - [1be51884e580] [v0.5.1-1] - -2009-07-20 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Corrected tag name - [d9662df69ab4] - - * .hgtags: - Added tag v0.5.0 for changeset d228983b5873 - [a350368643eb] - - * PKGBUILD: - New upstream version - [d228983b5873] [v0.5.0-1] - - * ChangeLog: - Updated ChangeLog - [111cf16bfc8b] - -2009-07-14 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.5.0rc2-1 for changeset 701e6c5ed639 - [828bb0fc4e5e] - - * PKGBUILD: - New upstream version - [701e6c5ed639] [v0.5.0rc2-1] - - * ChangeLog: - Updated ChangeLog - [7616eaf8b835] - - * prosody.cfg.lua: - Enabled PEP in default configuration - [c8a7c4d15e38] - -2009-07-11 Dwayne Bent <dbb.0@liqd.org> - - * prosody.cfg.lua: - Cleaned up and added new modules to default configuration file - [07fdc8fd8ff9] - - * PKGBUILD: - Added luasec back as hard dependency - [9506bff48c77] - - * .hgtags: - Added tag v0.5.0rc1-2 for changeset a252809a03a3 - [803ace20879a] - - * ChangeLog, PKGBUILD: - New release version - [a252809a03a3] [v0.5.0rc1-2] - - * PKGBUILD: - Added make before make install - - This should fix Prosody not correctly reporting version. - [881eca5b8e0e] - - * .hgtags: - Added tag v0.5.0rc1-1 for changeset f1d918d4779e - [1fc8dbc498d5] - - * ChangeLog: - New upstream version - [f1d918d4779e] [v0.5.0rc1-1] - - * PKGBUILD, prosody.rcd: - Redid indent alignment and silenced successful output of prosodyctl - [de9bdd756bd8] - - * PKGBUILD, prosody-datadir.diff: - Converted to prosody-devel package - [92e5e98529dd] - -2009-06-30 Dwayne Bent <dbb.0@liqd.org> - - * PKGBUILD, prosody.cfg.lua: - Moved luasec from depends to optdepends - - Since luasec is not strictly required for Prosody to operate it is - now an optional dependency. - [7079ec87eef5] - -2009-06-27 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.4.2-4 for changeset 0345a59e8495 - [1e488e1c03eb] - - * PKGBUILD: - New release version - [0345a59e8495] [v0.4.2-4] - - * prosody.install: - Added note about ChangeLog to install script - [c683ef309b6a] - - * PKGBUILD, prosody.rcd: - Use prosodyctl to start/stop daemon - [eaf4c26bb29f] - - * PKGBUILD, prosody.rcd: - Refactored start, stop, reload in rc.d script - - Start, stop, reload will not display a friendly error message if - Prosody is not running when you attempt to stop or reload, or if - Prosody is already running when you attempt to start. Reload also - now utilizes the get_pid function. - [9873d5256a42] - - * PKGBUILD, prosody.logrotated: - Use explicit log filenames in logrotate script - - This fixes an issue where if you do not have olddir enabled, rotated - logs will be rotated again. - [38ea11efacb9] - -2009-06-22 Dwayne Bent <dbb.0@liqd.org> - - * PKGBUILD, prosody.rcd: - Added status command to rc.d usage - [1b31e88d992d] - - * PKGBUILD, prosody.rcd: - Added reload command - [62e3cbdff1d5] - - * prosody.install: - Updated leftover olddir path - [e91b3fc2a9ee] - - * PKGBUILD, prosody.rcd: - Use explicit source command - [b790c098d519] - - * prosody.install: - Removed tab characters - [870316274137] - -2009-06-20 Dwayne Bent <dbb.0@liqd.org> - - * PKGBUILD: - Updated md5 sums - [74ce2ab8a96b] - - * prosody.logrotated: - Changed default olddir path - [cef8226473c2] - - * prosody.rcd: - Removed sleep delay in restart - [a94167e59091] - -2009-06-10 Dwayne Bent <dbb.0@liqd.org> - - * prosody.cfg.lua: - Removed per-host certificate entry in example configuration - - Until Issue #30 - [http://code.google.com/p/lxmppd/issues/detail?id=30] is fixed per- - host certificates have no effect. - [d00e35979450] - -2009-06-05 Dwayne Bent <dbb.0@liqd.org> - - * ChangeLog: - Added ChangeLog - [7298c4da135a] - -2009-06-03 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.4.2-3 for changeset 028183ffeba8 - [7dbfd040e908] - - * PKGBUILD: - New release version - [028183ffeba8] [v0.4.2-3] - - * PKGBUILD: - Removed superfluous make command - [3d96c98bac26] - - * PKGBUILD: - More consistent use of quote marks - [f6bd5b595b2d] - - * PKGBUILD, prosody.logrotated: - Correct PID file location in logrotate script - [cec60904c739] - -2009-05-30 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.4.2-2 for changeset 37268dd0d4fd - [a8a197635bb6] - - * PKGBUILD: - New release version - [37268dd0d4fd] [v0.4.2-2] - - * PKGBUILD: - Use install instead of mkdir in PKGBUILD - [8e48108bbe9a] - - * PKGBUILD, prosody-datadir.diff: - Apply patch to fix world-readable data directory - [2c706dda941c] - -2009-05-23 Dwayne Bent <dbb.0@liqd.org> - - * .hgtags: - Added tag v0.4.2-1 for changeset 1d29ea2dc519 - [e2d2962de3f7] - - * PKGBUILD: - New upstream release - [1d29ea2dc519] [v0.4.2-1] - - * prosody.cfg.lua: - Aesthetic changes to the configuration file - [d5d848a58965] - -2009-05-22 Dwayne Bent <dbb.0@liqd.org> - - * prosody.cfg.lua: - Removed extraneous semicolon in configuration file - [9a002c74edc2] - - * PKGBUILD: - Cleaned up PKGBUILD license - [82cb66a84de8] - -2009-05-21 Dwayne Bent <dbb.0@liqd.org> - - * prosody.install: - Changed formatting of leftover path messages. - [ac6069de93c9] - - * prosody.install: - Moved prosody user removal to post_remove. - [2c60e27d0c13] - - * PKGBUILD, prosody.cfg.lua: - Added comment about pidfile in prosody configuration file. - [8b9fa4da48ca] - - * .hgtags: - Added tag v0.4.1-5 for changeset 69962178bcae - [01812099521b] - - * PKGBUILD: - New release version. - [69962178bcae] [v0.4.1-5] - - * PKGBUILD, prosody.cfg.lua, prosody.install, prosody.rcd: - Refactored rc.d daemon script. - - Prosody now writes its own PID file to /var/run/prosody/prosody.pid. - rc.d script now uses '/bin/kill -0' to check for running process - instead of awkward combination of 'ps' and 'awk'. - [4f0e937c5148] - - * prosody.install: - Added post_install message with link to Arch Wiki documentation. - [88d99267ad19] - -2009-05-19 Dwayne Bent <dbb.0@liqd.org> - - * PKGBUILD: - Add logrotate script to backup array. - [d4f5445707f7] - -2009-05-11 Dwayne Bent <dbb.0@liqd.org> - - * prosody.install: - Fixed install script attempting to add prosody group when it already - exists. - [7d7807aa5d30] - - * .hgtags: - Added tag v0.4.1-4 for changeset 442f62077f30 - [389c885a35c5] - - * PKGBUILD: - New release version. - [442f62077f30] [v0.4.1-4] - - * PKGBUILD: - Generated correct checksums for source files. - [162859c9e287] - - * .hgtags: - Added tag v0.4.1-3 for changeset b629392e4716 - [f3d11fbd0b45] - - * PKGBUILD: - New release version. - [b629392e4716] [v0.4.1-3] - - * prosody.logrotated: - Fixed wrong PID file path in logrotate script. - [0871a4a12392] - -2009-05-07 Dwayne Bent <dbb.0@liqd.org> - - * prosody.cfg.lua, prosody.rcd: - Removed trailing whitespace. - [7c86c073650e] - - * prosody.cfg.lua: - Added logging timestamps to default configuration. - [46f9111d47ce] - - * .hgtags: - Added tag v0.4.1-2 for changeset 24b9dee19e65 - [5240b39d76d7] - - * PKGBUILD, prosody.cfg.lua, prosody.install, prosody.logrotated, - prosody.rcd: - Initial commit. - [24b9dee19e65] [v0.4.1-2] - diff --git a/community/prosody/PKGBUILD b/community/prosody/PKGBUILD index 4a69a863a..093c82afe 100644 --- a/community/prosody/PKGBUILD +++ b/community/prosody/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 103602 2014-01-08 10:35:14Z spupykin $ +# $Id: PKGBUILD 103947 2014-01-13 20:32:53Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Dwayne Bent <dbb@dbb.io> # Contributor: Paul-Sebastian Manole <brokenthorn@gmail.com> @@ -6,7 +6,7 @@ pkgname=prosody pkgver=0.9.2 -pkgrel=1 +pkgrel=2 pkgdesc="Lightweight and extensible Jabber/XMPP server written in Lua" arch=('i686' 'x86_64') url="http://prosody.im/" @@ -22,24 +22,6 @@ source=("http://prosody.im/downloads/source/${pkgname}-${pkgver}.tar.gz"{,.asc} 'fix-config.patch' 'prosody.tmpfile.d' 'prosody.service') -sha256sums=('f0e5e5fa27aa3ffec326b6c212adf2d86fb438133739d45e1232082ff0fbe06f' - 'SKIP' - '5a2466b73bd069fb73be97a4e23b24e4c8dd1adb7db871cb8f5ab4094c1f967f' - '1b461d860b584c09ba4c16300a245f2580f1d0b74d774ae7567b7aac0f249587' - '3f5cc5db2cfe74c4edf91f60e692e04c3504025e893d0880114d52728a2c4bc4' - '16fbfb54bf21bb73ce9d9acacb60d47f237c35e842c5a00f1153f72f0d2f7f6b') -sha256sums=('6cdea6fd6027bec621f7995709ca825a29aa5e066b321bfbb7785925c9f32cd5' - 'SKIP' - '5a2466b73bd069fb73be97a4e23b24e4c8dd1adb7db871cb8f5ab4094c1f967f' - 'db37b1b6bcd648f264164c5db5e754fc077671c74df6079c101384e146f4d6da' - '3f5cc5db2cfe74c4edf91f60e692e04c3504025e893d0880114d52728a2c4bc4' - '16fbfb54bf21bb73ce9d9acacb60d47f237c35e842c5a00f1153f72f0d2f7f6b') -sha256sums=('a2df64d23b7853a9f03126750d33b98193c93b8331b2622d9ebf1fe54f8feb2d' - 'SKIP' - '5a2466b73bd069fb73be97a4e23b24e4c8dd1adb7db871cb8f5ab4094c1f967f' - 'db37b1b6bcd648f264164c5db5e754fc077671c74df6079c101384e146f4d6da' - '3f5cc5db2cfe74c4edf91f60e692e04c3504025e893d0880114d52728a2c4bc4' - '16fbfb54bf21bb73ce9d9acacb60d47f237c35e842c5a00f1153f72f0d2f7f6b') sha256sums=('a2df64d23b7853a9f03126750d33b98193c93b8331b2622d9ebf1fe54f8feb2d' 'SKIP' '5a2466b73bd069fb73be97a4e23b24e4c8dd1adb7db871cb8f5ab4094c1f967f' @@ -50,8 +32,6 @@ sha256sums=('a2df64d23b7853a9f03126750d33b98193c93b8331b2622d9ebf1fe54f8feb2d' prepare() { cd ${pkgname}-${pkgver} patch -p1 < ../fix-config.patch - find . -type f -exec \ - sed -i '1s,^#! \?/usr/bin/\(env \|\)lua$,#!/usr/bin/lua5.1,' {} \; } build() { @@ -59,7 +39,8 @@ build() { ./configure --ostype=linux --prefix=/usr --sysconfdir=/etc/prosody \ --datadir=/var/lib/prosody --with-lua-include=/usr/include/lua5.1 \ --cflags="${CFLAGS} -fPIC -Wall -Wextra -D_GNU_SOURCE" \ - --ldflags="${LDFLAGS} -shared" + --ldflags="${LDFLAGS} -shared" --no-example-certs \ + --runwith=lua5.1 make } diff --git a/community/remmina/PKGBUILD b/community/remmina/PKGBUILD index 3aba94c01..534505c15 100644 --- a/community/remmina/PKGBUILD +++ b/community/remmina/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 72637 2012-06-18 09:24:39Z spupykin $ +# $Id: PKGBUILD 103926 2014-01-13 17:17:00Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=remmina pkgver=1.0.0 -pkgrel=9 +pkgrel=11 pkgdesc="remote desktop client written in GTK+" arch=(i686 x86_64) url="http://remmina.sourceforge.net/" @@ -14,7 +14,8 @@ makedepends=('intltool' 'pkgconfig' 'cmake' 'libgnome-keyring' optdepends=('libxkbfile' 'freerdp' 'telepathy-glib' - 'gnome-keyring') + 'gnome-keyring' + 'nxproxy') replaces=('remmina-plugins') provides=('remmina-plugins') install=remmina.install @@ -30,16 +31,16 @@ source=("https://github.com/downloads/FreeRDP/Remmina/Remmina-$pkgver.tar.gz" 'https://github.com/FreeRDP/Remmina/commit/b2277827.patch' 'https://github.com/FreeRDP/Remmina/commit/cb0b209b.patch') md5sums=('701c540acaab961bc3adf130a2ddb8b1' - '23927a584c23d0da7a893c1f39d53857' - '40f5ce2f30c8ce8ae8a4ebcee52874ab' - 'c842ba295c2327ab4d0819fc4a5bc03f' - '9312b5bf953a63e6203f0d0be6cb8134' - '65bfcc39ae51343b90928ea329cc4900' - '42b971116f887657fc210da70c3afba5' - '04b5bc1190b53211747e097897d1d19c' - 'ce0b538ff850556b2ad8fc4e4736039e' - '3bc1a4e50cdd864c0e2d7c91a1e02e32' - 'b9023ea4f36c31c3d4e98cfc472c1a09') + '658218f0e63f512425893ec204e18f29' + 'dd1aad8524f470c634c4534122c1d101' + '2cfe2dbb399cbc1b0d89606824b4280d' + '26d06a319589bdc906422eb902ebfd17' + 'b813f7b1281d808d45da99699e17c4b7' + '3bb434fd6c6b8ee90d98fcd7be2e307d' + '083a34a0339f763e52f33b6dbfb0a550' + '0fdb897dbccf2f986fc49a15f6d22bd7' + 'e891041fb3b14eb6465cc3d783e9b600' + '59ec2f4ed9382c743db212e86ebfbdfe') build() { cd ${srcdir}/FreeRDP-Remmina-*/ diff --git a/community/rsyslog/PKGBUILD b/community/rsyslog/PKGBUILD index 00b70f628..932d90dac 100644 --- a/community/rsyslog/PKGBUILD +++ b/community/rsyslog/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 102435 2013-12-11 10:18:07Z spupykin $ +# $Id: PKGBUILD 103927 2014-01-13 17:17:01Z andyrtr $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=rsyslog -pkgver=7.4.7 +pkgver=7.4.8 pkgrel=1 pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability" url="http://www.rsyslog.com/" @@ -22,7 +22,7 @@ options=('strip' 'zipman') source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz" 'rsyslog.logrotate' 'rsyslog.conf') -md5sums=('c96850bd9d07780ea7398ac86df385ae' +md5sums=('20100bede92ce27778d426197b7caaac' '0d990373f5c70ddee989296007b4df5b' 'd61dd424e660eb16401121eed20d98bc') diff --git a/community/smbnetfs/PKGBUILD b/community/smbnetfs/PKGBUILD index d178697fd..31d8830cf 100644 --- a/community/smbnetfs/PKGBUILD +++ b/community/smbnetfs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 90723 2013-05-13 14:38:02Z spupykin $ +# $Id: PKGBUILD 103894 2014-01-13 12:10:48Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=smbnetfs -pkgver=0.5.3a -pkgrel=6 +pkgver=0.5.3b +pkgrel=1 pkgdesc="small C program that mounts Microsoft network neighborhood in single directory." arch=('i686' 'x86_64') url="http://smbnetfs.sourceforge.net/" @@ -19,7 +19,7 @@ options=(docs) source=(http://downloads.sourceforge.net/smbnetfs/$pkgname-$pkgver.tar.bz2 conf-smbnetfs smbnetfs.service) -md5sums=('66d1477ca981f5a07b4b21c6bdbdc442' +md5sums=('fa9f7be673eb48d032bbd044f6da4016' 'e150c4cd894cc6ade11b94c95cf17ec4' '0fdd0dbaa5f16b1ecd00ec1ddcdfc223') diff --git a/community/tcplay/PKGBUILD b/community/tcplay/PKGBUILD index 2e11106e0..81b53d2dc 100644 --- a/community/tcplay/PKGBUILD +++ b/community/tcplay/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 102520 2013-12-12 22:28:07Z tredaelli $ +# $Id: PKGBUILD 103928 2014-01-13 17:17:02Z andyrtr $ # Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com> # Contributor: Thomas Weißschuh <thomas t-8ch de> # Contributor: James Reed <supplantr at archlinux dot info> pkgname=tcplay pkgver=1.1 -pkgrel=1 +pkgrel=2 pkgdesc="Free and simple TrueCrypt implementation based on dm-crypt." arch=('i686' 'x86_64') url="https://github.com/bwalex/tc-play" diff --git a/community/virtualbox-modules-lts/PKGBUILD b/community/virtualbox-modules-lts/PKGBUILD index d4f458448..b7c6bc332 100644 --- a/community/virtualbox-modules-lts/PKGBUILD +++ b/community/virtualbox-modules-lts/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 102983 2013-12-25 11:05:37Z bpiotrowski $ +# $Id: PKGBUILD 103935 2014-01-13 17:56:58Z andyrtr $ # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Sébastien Luttringer @@ -6,7 +6,7 @@ pkgbase=virtualbox-modules-lts pkgname=('virtualbox-host-modules-lts' 'virtualbox-guest-modules-lts') pkgver=4.3.6 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') diff --git a/community/wireshark/PKGBUILD b/community/wireshark/PKGBUILD index 81c48e4f8..38b3e09cf 100644 --- a/community/wireshark/PKGBUILD +++ b/community/wireshark/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 102796 2013-12-20 11:11:34Z tredaelli $ +# $Id: PKGBUILD 103931 2014-01-13 17:17:08Z andyrtr $ # Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com> # Contributor: Guillaume ALAUX <guillaume@archlinux.org> # Contributor: Florian Pritz <bluewind at jabber dot ccc dot de> pkgname=('wireshark-cli' 'wireshark-gtk') pkgbase=wireshark pkgver=1.10.5 -pkgrel=1 +pkgrel=3 arch=('i686' 'x86_64') license=('GPL2') makedepends=('gtk3' 'krb5' 'libpcap' 'bash' 'gnutls' 'portaudio' diff --git a/community/yaz/PKGBUILD b/community/yaz/PKGBUILD index d8f1abb53..cdce74adc 100644 --- a/community/yaz/PKGBUILD +++ b/community/yaz/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 100025 2013-10-31 03:04:33Z allan $ +# $Id: PKGBUILD 103930 2014-01-13 17:17:06Z andyrtr $ # Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org> # Contributor: Ray Rashif <schiv@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -7,7 +7,7 @@ # Contributor: Robert Emil Berge <filoktetes@linuxophic.org> pkgname=yaz -pkgver=5.0.1 +pkgver=5.0.9 pkgrel=1 pkgdesc="A toolkit supporting the development of Z39.50/SRW/SRU clients and servers" arch=('i686' 'x86_64') @@ -16,7 +16,7 @@ license=('BSD') depends=('openssl' 'libxslt' 'icu') changelog=$pkgname.changelog source=(http://ftp.indexdata.dk/pub/$pkgname/$pkgname-$pkgver.tar.gz) -sha256sums=('4792096db2175b8e3553dec5f3762efab9b1b9d0f84acceec0690ddcf7954a11') +sha256sums=('bf84f42cd442564bb911e869033c876c7ff561e203ae35504b8ca64f8575a8eb') build() { cd ${srcdir}/$pkgname-$pkgver diff --git a/community/yaz/yaz.changelog b/community/yaz/yaz.changelog index 7198259b5..9f1b8f484 100644 --- a/community/yaz/yaz.changelog +++ b/community/yaz/yaz.changelog @@ -1,3 +1,6 @@ +2013-10-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> + * yaz 5.0.9-1 + 2013-10-12 Jaroslav Lichtblau <dragonlord@aur.archlinux.org> * yaz 5.0.1-1 diff --git a/core/crda/PKGBUILD b/core/crda/PKGBUILD index 3470d882a..358600e04 100644 --- a/core/crda/PKGBUILD +++ b/core/crda/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 186207 2013-05-22 04:47:50Z foutrelis $ +# $Id: PKGBUILD 203561 2014-01-13 17:11:37Z andyrtr $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=crda pkgver=1.1.3 -pkgrel=2 +pkgrel=3 pkgdesc="Central Regulatory Domain Agent for wireless networks" arch=(i686 x86_64) url="http://wireless.kernel.org/en/developers/Regulatory/CRDA" license=('custom') -depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd-tools' 'iw') +depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd' 'iw') makedepends=('python2-m2crypto') install=crda.install source=(http://wireless.kernel.org/download/crda/${pkgname}-${pkgver}.tar.bz2 diff --git a/core/cryptsetup/PKGBUILD b/core/cryptsetup/PKGBUILD index e0c0c2c79..279a4ee3a 100644 --- a/core/cryptsetup/PKGBUILD +++ b/core/cryptsetup/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 202619 2013-12-22 13:44:39Z thomas $ +# $Id: PKGBUILD 203562 2014-01-13 17:11:38Z andyrtr $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=cryptsetup pkgver=1.6.3 -pkgrel=1 +pkgrel=2 pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt" arch=(i686 x86_64) license=('GPL') diff --git a/core/dirmngr/PKGBUILD b/core/dirmngr/PKGBUILD index b006303e0..f9f76c2ed 100644 --- a/core/dirmngr/PKGBUILD +++ b/core/dirmngr/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 184781 2013-05-08 13:18:15Z tpowa $ +# $Id: PKGBUILD 203563 2014-01-13 17:11:39Z andyrtr $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=dirmngr pkgver=1.1.1 -pkgrel=1 +pkgrel=2 pkgdesc="A daemon to handle CRL and certificate requests" arch=('i686' 'x86_64') license=('GPL') diff --git a/core/gdbm/PKGBUILD b/core/gdbm/PKGBUILD index b4f592739..9ae79e6cb 100644 --- a/core/gdbm/PKGBUILD +++ b/core/gdbm/PKGBUILD @@ -1,21 +1,23 @@ -# $Id: PKGBUILD 197797 2013-10-30 10:37:51Z allan $ +# $Id: PKGBUILD 203669 2014-01-13 20:48:15Z eric $ +# Maintainer: # Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=gdbm -pkgver=1.10 -pkgrel=3 +pkgver=1.11 +pkgrel=1 pkgdesc="GNU database library" url="http://www.gnu.org/software/gdbm/gdbm.html" -license=('GPL') +license=('GPL3') arch=('i686' 'x86_64') depends=('glibc' 'sh') -source=(ftp://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz +source=(ftp://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz{,.sig} gdbm-1.10-zeroheaders.patch) options=('!makeflags') install=gdbm.install -md5sums=('88770493c2559dc80b561293e39d3570' +md5sums=('72c832680cf0999caedbe5b265c8c1bd' + 'SKIP' 'ac255b10452005237836cd2d3a470733') prepare() { @@ -32,13 +34,8 @@ prepare() { build() { cd "${srcdir}/${pkgname}-${pkgver}" - - ./configure --prefix=/usr \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --enable-libgdbm-compat - - make prefix=/usr + ./configure --prefix=/usr --enable-libgdbm-compat + make } check() { @@ -48,12 +45,8 @@ check() { package() { cd "${srcdir}/${pkgname}-${pkgver}" - make prefix="${pkgdir}"/usr \ - manprefix="${pkgdir}"/usr/share/man \ - man3dir="${pkgdir}"/usr/share/man/man3 \ - infodir="${pkgdir}"/usr/share/info \ - install - + make DESTDIR="${pkgdir}" install + # create symlinks for compatibility install -dm755 "${pkgdir}"/usr/include/gdbm ln -sf ../gdbm.h "${pkgdir}"/usr/include/gdbm/gdbm.h diff --git a/core/gettext/PKGBUILD b/core/gettext/PKGBUILD index f54c859f5..fc1d8973c 100644 --- a/core/gettext/PKGBUILD +++ b/core/gettext/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 197811 2013-10-30 11:03:28Z allan $ +# $Id: PKGBUILD 203560 2014-01-13 16:35:40Z tpowa $ # Maintainer: pkgname=gettext -pkgver=0.18.3.1 -pkgrel=2 +pkgver=0.18.3.2 +pkgrel=1 pkgdesc="GNU internationalization library" arch=('i686' 'x86_64') url="http://www.gnu.org/software/gettext/" @@ -14,7 +14,7 @@ optdepends=('cvs: for autopoint tool') options=(!docs) install=gettext.install source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz{,.sig}) -md5sums=('3fc808f7d25487fc72b5759df7419e02' +md5sums=('241aba309d07aa428252c74b40a818ef' 'SKIP') build() { diff --git a/core/gnupg/PKGBUILD b/core/gnupg/PKGBUILD index 9ac8772f7..c045ebc26 100644 --- a/core/gnupg/PKGBUILD +++ b/core/gnupg/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 195927 2013-10-05 17:40:59Z bisson $ +# $Id: PKGBUILD 203564 2014-01-13 17:11:40Z andyrtr $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> @@ -6,7 +6,7 @@ pkgname=gnupg pkgver=2.0.22 -pkgrel=1 +pkgrel=2 pkgdesc='Complete and free implementation of the OpenPGP standard' url='http://www.gnupg.org/' license=('GPL') diff --git a/core/iproute2/PKGBUILD b/core/iproute2/PKGBUILD index 04ca6df34..18d1c94c6 100644 --- a/core/iproute2/PKGBUILD +++ b/core/iproute2/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 199763 2013-11-15 21:24:40Z ronald $ +# $Id: PKGBUILD 203666 2014-01-13 18:57:04Z foutrelis $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=iproute2 -pkgver=3.11.0 +pkgver=3.12.0 pkgrel=1 pkgdesc="IP Routing Utilities" arch=('i686' 'x86_64') license=('GPL2') url="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" -depends=('glibc' 'db' 'iptables') +depends=('glibc' 'iptables') makedepends=('linux-atm') optdepends=('linux-atm: ATM support') groups=('base') @@ -22,7 +22,7 @@ backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_pro source=(http://www.kernel.org/pub/linux/utils/net/$pkgname/$pkgname-$pkgver.tar.xz iproute2-fhs.patch unwanted-link-help.patch) -sha1sums=('efb5ca0688e28967ec146ac37cc728c4f53c9d8f' +sha1sums=('9397376e5d4dcbb1182745cd58625895fcdb868d' '35b8cf2dc94b73eccad427235c07596146cd6f6c' '3b1335f4025f657f388fbf4e5a740871e3129c2a') diff --git a/core/iptables/0503-extension_cppflags.patch b/core/iptables/0503-extension_cppflags.patch deleted file mode 100644 index 0eb645731..000000000 --- a/core/iptables/0503-extension_cppflags.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/extensions/GNUmakefile.in -=================================================================== ---- a/extensions/GNUmakefile.in 2012-03-27 12:14:05.000000000 -0400 -+++ b/extensions/GNUmakefile.in 2012-03-27 16:03:48.378790221 -0400 -@@ -21,7 +21,7 @@ - kinclude_CPPFLAGS = @kinclude_CPPFLAGS@ - - AM_CFLAGS = ${regular_CFLAGS} --AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_builddir} -I${top_srcdir}/include ${kinclude_CPPFLAGS} -+AM_CPPFLAGS = ${CPPFLAGS} ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_builddir} -I${top_srcdir}/include ${kinclude_CPPFLAGS} - AM_DEPFLAGS = -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@ - AM_LDFLAGS = @noundef_LDFLAGS@ - diff --git a/core/iptables/PKGBUILD b/core/iptables/PKGBUILD index 0c65bd132..6f7334042 100644 --- a/core/iptables/PKGBUILD +++ b/core/iptables/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 199764 2013-11-15 21:24:41Z ronald $ +# $Id: PKGBUILD 203667 2014-01-13 18:57:06Z foutrelis $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Thomas Baechler <thomas@archlinux.org> pkgname=iptables -pkgver=1.4.20 +pkgver=1.4.21 pkgrel=1 pkgdesc='Linux kernel packet control tool' arch=('i686' 'x86_64') @@ -20,11 +20,10 @@ source=(http://www.netfilter.org/projects/iptables/files/${pkgname}-${pkgver}.ta empty-nat.rules empty-raw.rules empty-security.rules - 0503-extension_cppflags.patch iptables.service ip6tables.service iptables-flush) -sha1sums=('7219b32657e9f794ff1b5a2476363c59f9c2175c' +sha1sums=('85d4160537546a23a7e42bc26dd7ee62a0ede4c8' 'SKIP' '83b3363878e3660ce23b2ad325b53cbd6c796ecf' 'f085a71f467e4d7cb2cf094d9369b0bcc4bab6ec' @@ -33,18 +32,19 @@ sha1sums=('7219b32657e9f794ff1b5a2476363c59f9c2175c' '1694d79b3e6e9d9d543f6a6e75fed06066c9a6c6' '7db53bb882f62f6c677cc8559cff83d8bae2ef73' 'ebbd1424a1564fd45f455a81c61ce348f0a14c2e' - '44626980a52e49f345a0b1e1ca03060f3a35763c' '9306cba67dbeaa004af084a816f66920a6a10faf' '38fa2ffe7965e63b494d333f69193029c1258c28' 'e7abda09c61142121b6695928d3b71ccd8fdf73a') -build() { +prepare() { cd "${srcdir}/${pkgname}-${pkgver}" # use system one rm include/linux/types.h +} - patch -Np1 -i ${srcdir}/0503-extension_cppflags.patch +build() { + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr \ --libexecdir=/usr/lib/iptables --sysconfdir=/etc \ diff --git a/core/libgcrypt/PKGBUILD b/core/libgcrypt/PKGBUILD index dc1771d1d..fabc45ca3 100644 --- a/core/libgcrypt/PKGBUILD +++ b/core/libgcrypt/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 197821 2013-10-30 11:04:40Z allan $ +# $Id: PKGBUILD 203657 2014-01-13 17:30:34Z foutrelis $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgname=libgcrypt -pkgver=1.5.3 +pkgver=1.6.0 pkgrel=1 pkgdesc="General purpose cryptographic library based on the code from GnuPG" arch=(i686 x86_64) @@ -11,13 +11,11 @@ license=('LGPL') depends=('libgpg-error>=1.10-2') options=('!emptydirs') install=$pkgname.install -source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2 - #ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2 -) -sha1sums=('2c6553cc17f2a1616d512d6870fe95edf6b0e26e') +source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('43283c0b41c41e3d3bc13c2d8f937dfe2aaa1a77') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} ./configure --prefix=/usr \ --disable-static \ --disable-padlock-support @@ -25,11 +23,11 @@ build() { } check() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} make check } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} make DESTDIR=${pkgdir} install } diff --git a/core/nfs-utils/PKGBUILD b/core/nfs-utils/PKGBUILD index b1f4d1607..2aeaf23f8 100644 --- a/core/nfs-utils/PKGBUILD +++ b/core/nfs-utils/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 200306 2013-11-25 08:16:32Z tpowa $ +# $Id: PKGBUILD 203559 2014-01-13 16:35:26Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: John Proctor <jproctor@prium.net> # Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org> @@ -7,7 +7,7 @@ pkgname=nfs-utils pkgver=1.2.9 -pkgrel=1 +pkgrel=5 pkgdesc="Support programs for Network File Systems" arch=('i686' 'x86_64') url='http://nfs.sourceforge.net' @@ -20,7 +20,6 @@ source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgn nfs-server.conf exports idmapd.conf - nfs nfs-utils-1.1.4-mtab-sym.patch nfs-utils-1.1.4-no-exec.patch rpc-gssd.service @@ -31,32 +30,34 @@ source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgn nfsd.service var-lib-nfs-rpc_pipefs.mount proc-fs-nfsd.mount + nfs-client.target + nfs-server.target blkmapd.service nfs-utils.conf id_resolver.conf start-statd.patch) install=nfs-utils.install optdepends=('sqlite: for nfsdcltrack usage') - md5sums=('18869d16db3f49c053f8c68eba3fe2e0' 'f73f197a16b02c3e248488ec35c4cf43' '9cef69bc686cc5dcac23fbb51450747d' - 'ff585faf410a62c4333a027c50b56bae' + 'e6ad3c7a59c7e4c24965a0e7da35026c' 'eb4f4027fab6fc1201f1ca04f5954c76' - 'f5e7bba09a46c5c5d7007cac6eff9df5' '7674106eaaa4c149bccd4f05fe3604e9' '4f4827dfc93008dfadd0a530ad0872b2' - '6aeb4a80b2a5162f5951438474ea22f3' - 'ff95ad9275ef774e0a2ea8adfe55ee66' - '2e991f0e440b4809e22b6c7689544fc0' - '42d0088add3beab0284be1379391382b' - '60d82e2d2d19d21ceb72665e54bf913e' - '3bcc9901478f4f9ea0a03b67171c13e3' - '1cd65909fa0983047f3f06a3ab352401' - '8f1b5282795895c9b8ce8430d20cdda6' - '8f03e708b230619ffc2a799a48bffb53' + 'b9329c9d4a6b4a72ab2a04aac9229171' + '656ac433c4443eba6b47744a53a3c7d9' + '295ec0c9c049e146992561650fec9d52' + '6ff4f297df4e90440b8bdbc6b1a78480' + '20d5b8120d1049b27dd44dc4c57f667d' + '01a1dd533382630ccecc9b882c47aa2f' + 'f48da2fb07b1d5f016d63c16b0979ebb' + '972eb80ff8c94c647b977a8a3cdd985f' + 'a13e9f388cd939d68fa6ada205eb4e25' + '1ee3eea917131f04bb08f2f858be7724' + 'f513ab0eae74918df08f329b0c6a9b6f' '8ac484023d786766d287ccbe878ae4ba' - 'bed57f7c3911af695ec7b469248c104a' + 'a43aabf0b8d02406b1babc3a206d952a' 'f8bb29c2ca1ce178e6371091a3e1090d') prepare() { @@ -83,29 +84,22 @@ build() { package() { cd $srcdir/${pkgname}-${pkgver} - # fix make install - make DESTDIR=$pkgdir install - # support python2 (FS#25120) + make DESTDIR="$pkgdir" install sed -i '1s/python$/python2/' "$pkgdir"/usr/bin/{nfsiostat,mountstats} + install -D -m 644 utils/mount/nfsmount.conf "$pkgdir"/etc/nfsmount.conf - # Configuration - install -D -m 644 ../exports "$pkgdir/"etc/exports - install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf - install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf - install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf - install -D -m 644 ../nfs "$pkgdir/"etc/conf.d/nfs - install -D -m 644 utils/mount/nfsmount.conf "$pkgdir/"etc/nfsmount.conf - # keyutils id_resolver #35463 - install -D -m 644 ../id_resolver.conf "$pkgdir/"etc/request-key.d/id_resolver.conf - # systemd files - for i in ${srcdir}/*.{service,mount}; do - install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}" + cd .. + install -D -m 644 nfs-common.conf "$pkgdir"/etc/conf.d/nfs-common.conf + install -D -m 644 nfs-server.conf "$pkgdir"/etc/conf.d/nfs-server.conf + install -D -m 644 exports "$pkgdir"/etc/exports + install -D -m 644 idmapd.conf "$pkgdir"/etc/idmapd.conf + install -D -m 644 id_resolver.conf "$pkgdir"/etc/request-key.d/id_resolver.conf + install -D -m 644 nfs-utils.conf "$pkgdir"/usr/lib/modules-load.d/nfs-utils.conf + for i in *.service *.mount *.target; do + install -D -m 644 $i "$pkgdir"/usr/lib/systemd/system/$i done - install -D -m 644 ../nfs-utils.conf "$pkgdir/"usr/lib/modules-load.d/nfs-utils.conf - # directories - mkdir "$pkgdir/"etc/exports.d - mkdir -m 555 "$pkgdir/"var/lib/nfs/rpc_pipefs - mkdir "$pkgdir/"var/lib/nfs/v4recovery + mkdir "$pkgdir"/etc/exports.d + mkdir -m 555 "$pkgdir"/var/lib/nfs/rpc_pipefs + mkdir "$pkgdir"/var/lib/nfs/v4recovery } - diff --git a/core/nfs-utils/blkmapd.service b/core/nfs-utils/blkmapd.service index fa7ce394b..04711d09c 100644 --- a/core/nfs-utils/blkmapd.service +++ b/core/nfs-utils/blkmapd.service @@ -1,5 +1,6 @@ [Unit] -Description=pNFS block layout mapping daemon +Description=pNFS Block Layout Client Mapping Daemon +Documentation=man:blkmapd(8) After=var-lib-nfs-rpc_pipefs.mount nfsd.service Requires=var-lib-nfs-rpc_pipefs.mount diff --git a/core/nfs-utils/exports b/core/nfs-utils/exports index 8f4aac598..59dfa2e7c 100644 --- a/core/nfs-utils/exports +++ b/core/nfs-utils/exports @@ -1,15 +1,12 @@ -# /etc/exports -# -# List of directories exported to NFS clients. See exports(5). -# Use exportfs -arv to reread. +# /etc/exports - exports(5) - directories exported to NFS clients # # Example for NFSv2 and NFSv3: -# /srv/home hostname1(rw,sync) hostname2(ro,sync) -# +# /srv/home hostname1(rw,sync) hostname2(ro,sync) # Example for NFSv4: -# /srv/nfs4 hostname1(rw,sync,fsid=0) +# /srv/nfs4 hostname1(rw,sync,fsid=0) # /srv/nfs4/home hostname1(rw,sync,nohide) # Using Kerberos and integrity checking: -# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt) -# /srv/nfs4/home gss/krb5i(rw,sync,nohide) +# /srv/nfs4 *(rw,sync,sec=krb5i,fsid=0) +# /srv/nfs4/home *(rw,sync,sec=krb5i,nohide) # +# Use `exportfs -arv` to reload. diff --git a/core/nfs-utils/id_resolver.conf b/core/nfs-utils/id_resolver.conf index 9c0fee337..92f78281f 100644 --- a/core/nfs-utils/id_resolver.conf +++ b/core/nfs-utils/id_resolver.conf @@ -1 +1,2 @@ -create id_resolver * * /usr/bin/nfsidmap %k %d
\ No newline at end of file +create id_resolver * * /usr/bin/nfsidmap %k %d + diff --git a/core/nfs-utils/nfs b/core/nfs-utils/nfs deleted file mode 100644 index 2d33cf3d4..000000000 --- a/core/nfs-utils/nfs +++ /dev/null @@ -1,40 +0,0 @@ -# -# Optinal options passed to rquotad -RPCRQUOTADOPTS="" -# -# Optional arguments passed to in-kernel lockd -#LOCKDARG= -# TCP port rpc.lockd should listen on. -#LOCKD_TCPPORT=32803 -# UDP port rpc.lockd should listen on. -#LOCKD_UDPPORT=32769 -# -# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8) -RPCNFSDARGS="" -# Number of nfs server processes to be started. -# The default is 8. -RPCNFSDCOUNT=8 -# Set V4 grace period in seconds -#NFSD_V4_GRACE=90 -# -# Optional arguments passed to rpc.mountd. See rpc.mountd(8) -RPCMOUNTDOPTS="" -# -# Optional arguments passed to rpc.statd. See rpc.statd(8) -STATDARG="" -# -# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8) -RPCIDMAPDARGS="" -# -# Optional arguments passed to rpc.gssd. See rpc.gssd(8) -RPCGSSDARGS="" -# -# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8) -RPCSVCGSSDARGS="" -# -# To enable RDMA support on the server by setting this to -# the port the server should listen on -#RDMA_PORT=20049 -# -# Optional arguments passed to blkmapd. See blkmapd(8) -BLKMAPDARGS="" diff --git a/core/nfs-utils/nfs-client.target b/core/nfs-utils/nfs-client.target new file mode 100644 index 000000000..1bec662ab --- /dev/null +++ b/core/nfs-utils/nfs-client.target @@ -0,0 +1,8 @@ +[Unit] +Description=NFS Client Daemons +Before=remote-fs-pre.target +Wants=rpc-statd.service +Wants=rpc-gssd.service + +[Install] +WantedBy=multi-user.target diff --git a/core/nfs-utils/nfs-server.target b/core/nfs-utils/nfs-server.target new file mode 100644 index 000000000..52f0f04a4 --- /dev/null +++ b/core/nfs-utils/nfs-server.target @@ -0,0 +1,10 @@ +[Unit] +Description=NFS File Server Daemons +Wants=rpc-mountd.service +Wants=rpc-idmapd.service +Wants=rpc-rquotad.service +Wants=rpc-statd.service +Wants=rpc-svcgssd.service + +[Install] +WantedBy=multi-user.target diff --git a/core/nfs-utils/nfsd.service b/core/nfs-utils/nfsd.service index d63e49016..83db80657 100644 --- a/core/nfs-utils/nfsd.service +++ b/core/nfs-utils/nfsd.service @@ -1,13 +1,17 @@ [Unit] -Description=NFS server +Description=NFS Server Daemon +Documentation=man:rpc.nfsd(8) After=rpcbind.service Requires=rpcbind.service +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=oneshot EnvironmentFile=/etc/conf.d/nfs-server.conf ExecStart=/usr/bin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT ExecStartPost=/usr/bin/exportfs -a +ExecReload=/usr/bin/exportfs -a -r ExecStop=/usr/bin/rpc.nfsd 0 ExecStopPost=/usr/bin/exportfs -a -u RemainAfterExit=yes diff --git a/core/nfs-utils/proc-fs-nfsd.mount b/core/nfs-utils/proc-fs-nfsd.mount index e5ee6fbf6..26b58b968 100644 --- a/core/nfs-utils/proc-fs-nfsd.mount +++ b/core/nfs-utils/proc-fs-nfsd.mount @@ -1,5 +1,5 @@ [Unit] -Description=RPC Pipe File System +Description=NFS Configuration File System DefaultDependencies=no [Mount] diff --git a/core/nfs-utils/rpc-gssd.service b/core/nfs-utils/rpc-gssd.service index 182d9b72c..8674fb2e5 100644 --- a/core/nfs-utils/rpc-gssd.service +++ b/core/nfs-utils/rpc-gssd.service @@ -1,8 +1,10 @@ [Unit] -Description=RPC GSS-API client-side daemon +Description=RPC GSS-API Client Daemon +Documentation=man:rpc.gssd(8) After=rpcbind.service var-lib-nfs-rpc_pipefs.mount Requires=rpcbind.service var-lib-nfs-rpc_pipefs.mount -Before=remote-fs-pre.target +Before=nfs-client.target remote-fs-pre.target +PartOf=nfs-client.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-idmapd.service b/core/nfs-utils/rpc-idmapd.service index 1167daf36..609cde6ed 100644 --- a/core/nfs-utils/rpc-idmapd.service +++ b/core/nfs-utils/rpc-idmapd.service @@ -1,8 +1,10 @@ [Unit] -Description=NFSv4 ID-name mapping daemon +Description=NFS v4 ID-Name Mapping Daemon +Documentation=man:rpc.idmapd(8) man:idmapd.conf(5) After=var-lib-nfs-rpc_pipefs.mount nfsd.service Requires=var-lib-nfs-rpc_pipefs.mount -Before=remote-fs-pre.target +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-mountd.service b/core/nfs-utils/rpc-mountd.service index 7528884c2..2969ee6b0 100644 --- a/core/nfs-utils/rpc-mountd.service +++ b/core/nfs-utils/rpc-mountd.service @@ -1,7 +1,10 @@ [Unit] -Description=NFS Mount Daemon +Description=NFS Mount Server Daemon +Documentation=man:rpc.mountd(8) After=rpcbind.service nfsd.service Requires=rpcbind.service nfsd.service +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-statd.service b/core/nfs-utils/rpc-statd.service index c2fd63b3d..c5a1c359a 100644 --- a/core/nfs-utils/rpc-statd.service +++ b/core/nfs-utils/rpc-statd.service @@ -1,8 +1,11 @@ [Unit] -Description=NFSv2/3 Network Status Monitor Daemon +Description=NFS v2/3 Network Status Monitor Daemon +Documentation=man:rpc.statd(8) After=rpcbind.service Requires=rpcbind.service -Before=remote-fs-pre.target +Before=nfs-server.target +PartOf=nfs-server.target +Wants=remote-fs-pre.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-svcgssd.service b/core/nfs-utils/rpc-svcgssd.service index 876bad38c..f52f26aec 100644 --- a/core/nfs-utils/rpc-svcgssd.service +++ b/core/nfs-utils/rpc-svcgssd.service @@ -1,7 +1,10 @@ [Unit] -Description=RPC GSS-API server-side daemon +Description=RPC GSS-API Server Daemon +Documentation=man:rpc.svcgssd(8) After=rpcbind.service Requires=rpcbind.service +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=forking diff --git a/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount b/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount index 4bd440f24..c41665822 100644 --- a/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount +++ b/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount @@ -1,5 +1,5 @@ [Unit] -Description=RPC pipe filesystem +Description=RPC Pipe File System [Mount] What=rpc_pipefs diff --git a/core/pth/PKGBUILD b/core/pth/PKGBUILD index 96f3c09b4..5ca69241e 100644 --- a/core/pth/PKGBUILD +++ b/core/pth/PKGBUILD @@ -1,9 +1,8 @@ -# $Id: PKGBUILD 197839 2013-10-30 11:06:47Z allan $ -# Maintainer: damir <damir@archlinux.org> +# $Id: PKGBUILD 203545 2014-01-13 14:20:07Z dan $ pkgname=pth pkgver=2.0.7 -pkgrel=4 +pkgrel=5 pkgdesc="The GNU Portable Threads." arch=('i686' 'x86_64') url="http://www.gnu.org/software/pth/" diff --git a/core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch b/core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch new file mode 100644 index 000000000..e780e01b6 --- /dev/null +++ b/core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch @@ -0,0 +1,28 @@ +From 0c6f1f4ea4980ff719979d36f10bd6ea3e464c02 Mon Sep 17 00:00:00 2001 +From: Jan Janssen <medhefgo@web.de> +Date: Thu, 31 Oct 2013 17:22:03 +0100 +Subject: [PATCH] Make hibernation test work for swap files + +Suspend to disk works for swap files too (even if it is located +on an ecrypted file system): +https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt +--- + src/shared/sleep-config.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c +index d068bfc..2bb0493 100644 +--- a/src/shared/sleep-config.c ++++ b/src/shared/sleep-config.c +@@ -206,7 +206,7 @@ static int hibernation_partition_size(size_t *size, size_t *used) { + if (!d) + return -ENOMEM; + +- if (!streq(type, "partition")) { ++ if (!streq(type, "partition") && !streq(type, "file")) { + log_debug("Partition %s has type %s, ignoring.", d, type); + continue; + } +-- +1.8.5.2 + diff --git a/core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch b/core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch new file mode 100644 index 000000000..2594d5066 --- /dev/null +++ b/core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch @@ -0,0 +1,26 @@ +From f576cd2092bc40f9998415cdc3caf10035d4743a Mon Sep 17 00:00:00 2001 +From: Pavel Holica <conscript89@gmail.com> +Date: Wed, 6 Nov 2013 23:24:16 +0100 +Subject: [PATCH] acpi-fpdt: break on zero or negative length read + +https://bugzilla.redhat.com/show_bug.cgi?id=1027478 +--- + src/shared/acpi-fpdt.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index 75648b4..7bae47f 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -109,6 +109,8 @@ int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { + for (rec = (struct acpi_fpdt_header *)(buf + sizeof(struct acpi_table_header)); + (char *)rec < buf + l; + rec = (struct acpi_fpdt_header *)((char *)rec + rec->length)) { ++ if (rec->length <= 0) ++ break; + if (rec->type != ACPI_FPDT_TYPE_BOOT) + continue; + if (rec->length != sizeof(struct acpi_fpdt_header)) +-- +1.8.5.2 + diff --git a/core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch b/core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch new file mode 100644 index 000000000..e0f3d4ce3 --- /dev/null +++ b/core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch @@ -0,0 +1,33 @@ +From 92e94a2b145eb3bee7035907cd8482285bb680ef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org> +Date: Sun, 22 Dec 2013 09:17:14 +0100 +Subject: [PATCH] fstab-generator: Do not try to fsck non-devices + +This fixes a regression introduced in 64e70e4 where the mount fails +when fstab is misconfigured with fs_passno > 0 on a virtual file +system like nfs, and the type is specified as "auto". + +This is a backport of e2f123b97, but it since not all fsck-related patches +have been backported to this version, the implementation is a bit different. +--- + src/fstab-generator/fstab-generator.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index c0c2992..cf8b371 100644 +--- a/src/fstab-generator/fstab-generator.c ++++ b/src/fstab-generator/fstab-generator.c +@@ -210,7 +210,9 @@ static int add_mount( + post); + + if (passno > 0) { +- if (streq(where, "/")) { ++ if(!is_device_path(what)) { ++ log_warning("Checking was requested for \"%s\", but it is not a device.", what); ++ } else if (streq(where, "/")) { + lnk = strjoin(arg_dest, "/", SPECIAL_LOCAL_FS_TARGET, ".wants/", "systemd-fsck-root.service", NULL); + if (!lnk) + return log_oom(); +-- +1.8.5.2 + diff --git a/core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch b/core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch new file mode 100644 index 000000000..6e7f37bfe --- /dev/null +++ b/core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch @@ -0,0 +1,41 @@ +From 77009452cfd25208509b14ea985e81fdf9f7d40e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> +Date: Thu, 3 Oct 2013 22:15:08 -0400 +Subject: [PATCH] systemd: order remote mounts from mountinfo before + remote-fs.target + +Usually the network is stopped before filesystems are umounted. +Ordering network filesystems before remote-fs.target means that their +unmounting will be performed earlier, and can terminate sucessfully. + +https://bugs.freedesktop.org/show_bug.cgi?id=70002 +--- + src/core/mount.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 3d46557..93bfa99 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1440,6 +1440,9 @@ static int mount_add_one( + + u = manager_get_unit(m, e); + if (!u) { ++ const char* const target = ++ fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; ++ + delete = true; + + u = unit_new(m, sizeof(Mount)); +@@ -1466,7 +1469,7 @@ static int mount_add_one( + goto fail; + } + +- r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, NULL, true); ++ r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); + if (r < 0) + goto fail; + +-- +1.8.5.2 + diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD index a109f375d..a194968ef 100644 --- a/core/systemd/PKGBUILD +++ b/core/systemd/PKGBUILD @@ -4,10 +4,10 @@ pkgbase=systemd pkgname=('systemd' 'systemd-sysvcompat') pkgver=208 -pkgrel=3 +pkgrel=10 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" -makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gobject-introspection' 'gperf' +makedepends=('acl' 'cryptsetup' 'libdbus' 'docbook-xsl' 'gobject-introspection' 'gperf' 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libgcrypt' 'libmicrohttpd' 'libxslt' 'linux-api-headers' 'pam' 'python' 'quota-tools' 'xz') options=('strip' 'debug') @@ -15,6 +15,8 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-hook-udev' 'initcpio-install-systemd' 'initcpio-install-udev' + '0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch' + '0001-Make-hibernation-test-work-for-swap-files.patch' '0001-fix-lingering-references-to-var-lib-backlight-random.patch' '0001-mount-check-for-NULL-before-reading-pm-what.patch' '0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch' @@ -25,11 +27,15 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" '0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch' '0005-mount-service-drop-FsckPassNo-support.patch' '0006-efi-boot-generator-hookup-to-fsck.patch' - '0007-fsck-root-only-run-when-requested-in-fstab.patch') + '0007-fsck-root-only-run-when-requested-in-fstab.patch' + '0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch' + '0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch') md5sums=('df64550d92afbffb4f67a434193ee165' '29245f7a240bfba66e2b1783b63b6b40' '8b68b0218a3897d4d37a6ccf47914774' 'bde43090d4ac0ef048e3eaee8202a407' + '8f1182afa1156f0076a912b23e761e02' + 'a5c6564d5435ee99814effd2aa9baf93' '1b191c4e7a209d322675fd199e3abc66' 'a693bef63548163ffc165f4c4801ebf7' 'ccafe716d87df9c42af0d1960b5a4105' @@ -40,10 +46,13 @@ md5sums=('df64550d92afbffb4f67a434193ee165' '2096f33bd36dfa0a7f0431d0a429787a' 'd2481a6ea199b581e243a950125b0ca6' 'c2aee634a3a6c50778968f0d5c756f40' - 'ef8b8212d504bb73c10bf4e85f0703b2') + 'ef8b8212d504bb73c10bf4e85f0703b2' + '4ba2317bf4d7708fca406f49482b1bf3' + '078f10d6fc315b329844cd20fa742eee') prepare() { cd "$pkgname-$pkgver" + patch -Np1 < "$srcdir"/0001-fix-lingering-references-to-var-lib-backlight-random.patch patch -Np1 < "$srcdir"/0001-mount-check-for-NULL-before-reading-pm-what.patch patch -Np1 < "$srcdir"/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch @@ -59,6 +68,14 @@ prepare() { patch -Np1 < "$srcdir"/0005-mount-service-drop-FsckPassNo-support.patch patch -Np1 < "$srcdir"/0006-efi-boot-generator-hookup-to-fsck.patch patch -Np1 < "$srcdir"/0007-fsck-root-only-run-when-requested-in-fstab.patch + # Fix FS#38210 (result of the previous backport) + patch -Np1 < "$srcdir"/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch + # Fix FS#38123 + patch -Np1 < "$srcdir"/0001-Make-hibernation-test-work-for-swap-files.patch + # Fix FS#35671 + patch -Np1 <"$srcdir"/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch + # Fix FS#38403 + patch -Np1 <"$srcdir"/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch autoreconf } @@ -117,8 +134,6 @@ package_systemd() { make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install - printf "d /run/console 0755 root root\n" > "$pkgdir/usr/lib/tmpfiles.d/console.conf" - # fix .so links in manpage stubs find "$pkgdir/usr/share/man" -type f -name '*.[[:digit:]]' \ -exec sed -ri '1s|^\.so (.*)\.([0-9]+)|.so man\2/\1.\2|' {} + diff --git a/core/systemd/systemd.install b/core/systemd/systemd.install index 1e79585d7..38a28f2c9 100644 --- a/core/systemd/systemd.install +++ b/core/systemd/systemd.install @@ -1,7 +1,7 @@ #!/bin/sh sd_booted() { - [ -e sys/fs/cgroup/systemd ] + [[ -d /run/systemd/systemd/ ]] } add_privs() { @@ -11,6 +11,12 @@ add_privs() { fi } +add_journal_acls() { + # ignore errors, since the filesystem might not support ACLs + setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/ 2>/dev/null + : +} + post_common() { systemd-machine-id-setup @@ -54,6 +60,8 @@ _208_changes() { post_install() { post_common + add_journal_acls + # enable getty@tty1 by default, but don't track the file systemctl enable getty@tty1.service @@ -115,6 +123,10 @@ post_upgrade() { if [ "$(vercmp 208-1 "$2")" -eq 1 ]; then _208_changes fi + + if [ "$(vercmp 208-8 "$2")" -eq 1 ]; then + add_journal_acls + fi } # vim:set ts=2 sw=2 et: diff --git a/extra/amarok/PKGBUILD b/extra/amarok/PKGBUILD index de1f4c38f..8699b85b7 100644 --- a/extra/amarok/PKGBUILD +++ b/extra/amarok/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 193110 2013-08-16 13:35:31Z andrea $ +# $Id: PKGBUILD 203567 2014-01-13 17:11:57Z andyrtr $ # Maintainer: Ronald van Haren <ronald@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: damir <damir@archlinux.org> pkgname=amarok pkgver=2.8.0 -pkgrel=1 +pkgrel=2 pkgdesc="The powerful music player for KDE" arch=("i686" "x86_64") url="http://amarok.kde.org/" diff --git a/extra/bftpd/PKGBUILD b/extra/bftpd/PKGBUILD index 166b2faa8..053e08e13 100644 --- a/extra/bftpd/PKGBUILD +++ b/extra/bftpd/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 187832 2013-06-06 18:31:08Z thomas $ +# $Id: PKGBUILD 203673 2014-01-13 22:08:35Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=bftpd -pkgver=4.0 +pkgver=4.2 pkgrel=1 pkgdesc="Small, easy-to-configure FTP server" arch=(i686 x86_64) @@ -21,7 +21,7 @@ source=(http://downloads.sourceforge.net/sourceforge/bftpd/bftpd-$pkgver.tar.gz bftpd.service bftpd.socket bftpd_AT.service) -md5sums=('34bac87bb196ae823fa2b4731dfa9383' +md5sums=('6b60fbab807d31d803c7f984e8488743' '853680dad0df39d0b4d2fb43d4be430a' '96f82c38f3f540b53f3e5144900acf17' '23feb84e8ecbae5df320b49e01821d9a' diff --git a/extra/ccrtp/PKGBUILD b/extra/ccrtp/PKGBUILD index c17444702..6b1294c38 100644 --- a/extra/ccrtp/PKGBUILD +++ b/extra/ccrtp/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 197587 2013-10-27 03:20:07Z eric $ +# $Id: PKGBUILD 203569 2014-01-13 17:11:59Z andyrtr $ # Maintainer: # Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Jeff Mickey <jeff@archlinux.org> @@ -7,16 +7,23 @@ pkgname=ccrtp pkgver=2.0.6 -pkgrel=1 +pkgrel=2 pkgdesc="An implementation of RTP, the real-time transport protocol from the IETF" arch=('i686' 'x86_64') url="http://www.gnu.org/software/ccrtp/" license=('GPL' 'custom') depends=('ucommon' 'libgcrypt') install=$pkgname.install -source=("ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}) +source=("ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig} + 'libgcrypt160.patch') md5sums=('ca0a7a184b242d660d81caf6101a2c0c' - 'SKIP') + 'SKIP' + '8ca785e2613b4e056685d3dca3fe8670') + +prepare() { + cd ${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/libgcrypt160.patch +} build() { cd ${pkgname}-${pkgver} diff --git a/extra/ccrtp/libgcrypt160.patch b/extra/ccrtp/libgcrypt160.patch new file mode 100644 index 000000000..f8a21dc51 --- /dev/null +++ b/extra/ccrtp/libgcrypt160.patch @@ -0,0 +1,52 @@ +--- ccrtp-2.0.6/src/ccrtp/crypto/gcrypt/InitializeGcrypt.cpp~ 2013-12-24 09:48:10.679538751 +0000 ++++ ccrtp-2.0.6/src/ccrtp/crypto/gcrypt/InitializeGcrypt.cpp 2013-12-24 09:48:29.149404720 +0000 +@@ -22,40 +22,6 @@ + #include <errno.h> + #include <gcrypt.h> + +-/* +- * The following macro was copied from gcrypt.h and modified to explicitly +- * cast the pointer types to keep the compiler happy. +- */ +-#define GCRY_THREAD_OPTION_PTHREAD_CPP_IMPL \ +-static int gcry_pthread_mutex_init (void **priv) \ +-{ \ +- int err = 0; \ +- pthread_mutex_t *lock = (pthread_mutex_t *)malloc (sizeof (pthread_mutex_t)); \ +- \ +- if (!lock) \ +- err = ENOMEM; \ +- if (!err) \ +-{ \ +- err = pthread_mutex_init (lock, NULL); \ +- if (err) \ +- free (lock); \ +- else \ +- *priv = lock; \ +-} \ +- return err; \ +-} \ +-static int gcry_pthread_mutex_destroy (void **lock) \ +-{ int err = pthread_mutex_destroy ((pthread_mutex_t *)*lock); free (*lock); return err; } \ +-static int gcry_pthread_mutex_lock (void **lock) \ +-{ return pthread_mutex_lock ((pthread_mutex_t *)*lock); } \ +-static int gcry_pthread_mutex_unlock (void **lock) \ +-{ return pthread_mutex_unlock ((pthread_mutex_t *)*lock); } \ +- \ +-static struct gcry_thread_cbs gcry_threads_pthread = \ +-{ GCRY_THREAD_OPTION_PTHREAD, NULL, \ +- gcry_pthread_mutex_init, gcry_pthread_mutex_destroy, \ +- gcry_pthread_mutex_lock, gcry_pthread_mutex_unlock } +- + /** Implement the locking callback functions for libgcrypt. + * + */ +@@ -65,7 +31,7 @@ + #ifdef __cplusplus + extern "C" { + #endif +-GCRY_THREAD_OPTION_PTHREAD_CPP_IMPL; ++GCRY_THREAD_OPTION_PTHREAD_IMPL; + #ifdef __cplusplus + } + #endif diff --git a/extra/compface/PKGBUILD b/extra/compface/PKGBUILD index dc2285f2c..7f96a2690 100644 --- a/extra/compface/PKGBUILD +++ b/extra/compface/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 197085 2013-10-21 18:34:54Z andyrtr $ +# $Id: PKGBUILD 203536 2014-01-13 10:41:27Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: simo <simo@archlinux.org> # Contributor: Manolis Tzanidakis pkgname=compface pkgver=1.5.2 -pkgrel=4 +pkgrel=5 pkgdesc="Utils & libs to convert from/to X-Face format." arch=('i686' 'x86_64') url="http://ftp.xemacs.org/pub/xemacs/aux/" @@ -26,7 +26,7 @@ prepare() { build() { cd $pkgname-$pkgver CFLAGS="$CFLAGS -fPIC" - ./configure --prefix=/usr + ./configure --prefix=/usr --mandir=/usr/share make } diff --git a/extra/davfs2/PKGBUILD b/extra/davfs2/PKGBUILD index 1b2807981..4be38d1f1 100644 --- a/extra/davfs2/PKGBUILD +++ b/extra/davfs2/PKGBUILD @@ -1,16 +1,29 @@ -# $Id: PKGBUILD 187054 2013-06-03 11:16:20Z allan $ +# $Id: PKGBUILD 203671 2014-01-13 22:05:39Z thomas $ # Maintainer: Thomas Baechler <thomas@archlinux.org> pkgname=davfs2 pkgver=1.4.7 -pkgrel=2 +pkgrel=3 pkgdesc="File system driver that allows you to mount a WebDAV folder" arch=(i686 x86_64) url="http://savannah.nongnu.org/projects/davfs2" license=('GPL') depends=('neon') backup=(etc/davfs2/davfs2.conf etc/davfs2/secrets) -source=(http://mirrors.zerg.biz/nongnu/davfs2/${pkgname}-${pkgver}.tar.gz) -sha256sums=('50c0ee2a12e8d09fc6a852d32bdfebb1f784939433a85f05254bc7ef28cff044') +source=(http://mirrors.zerg.biz/nongnu/davfs2/${pkgname}-${pkgver}.tar.gz + davfs2-1.4.7-system.diff + davfs2-1.4.7-fix-neon-version-check.patch) +sha256sums=('50c0ee2a12e8d09fc6a852d32bdfebb1f784939433a85f05254bc7ef28cff044' + '1d7e921da5edf07bddbd2bfbbf5010a690b4d47166a86ab5abaa6de4dc82125e' + 'd637ccfcac85bf642083525018ca6799754b3728766483a616de27213318c1a1') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}"/davfs2-1.4.7-system.diff + # Some autotools files are missing, so autoreconf fails! + # Running autoconf may fail here, it does work for now + patch -p1 -i "${srcdir}"/davfs2-1.4.7-fix-neon-version-check.patch + autoconf +} build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -22,6 +35,7 @@ package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install - rm -rf ${pkgdir}/sbin + # This directory contains worthless symlinks + rm -r ${pkgdir}/sbin rm -f ${pkgdir}/usr/share/davfs2/{BUGS,COPYING,FAQ,NEWS,TODO,ChangeLog,GPL,README,THANKS} } diff --git a/extra/davfs2/davfs2-1.4.7-fix-neon-version-check.patch b/extra/davfs2/davfs2-1.4.7-fix-neon-version-check.patch new file mode 100644 index 000000000..25b5cb6c4 --- /dev/null +++ b/extra/davfs2/davfs2-1.4.7-fix-neon-version-check.patch @@ -0,0 +1,12 @@ +diff -Nur davfs2-1.4.7.orig/configure.ac davfs2-1.4.7/configure.ac +--- davfs2-1.4.7.orig/configure.ac 2012-07-19 13:38:47.000000000 +0200 ++++ davfs2-1.4.7/configure.ac 2014-01-13 23:00:15.021471570 +0100 +@@ -36,7 +36,7 @@ + # Checks for libraries. + AM_GNU_GETTEXT_VERSION(0.14.4) + AM_GNU_GETTEXT([external]) +-NE_REQUIRE_VERSIONS([0], [25 26 27 28 29]) ++NE_REQUIRE_VERSIONS([0], [25 26 27 28 29 30]) + DAV_CHECK_NEON + + # Checks for header files. diff --git a/extra/davfs2/davfs2-1.4.7-system.diff b/extra/davfs2/davfs2-1.4.7-system.diff new file mode 100644 index 000000000..d0d62fc59 --- /dev/null +++ b/extra/davfs2/davfs2-1.4.7-system.diff @@ -0,0 +1,150 @@ +diff -ur davfs2-1.4.7/ChangeLog davfs2-1.4.7.new/ChangeLog +--- davfs2-1.4.7/ChangeLog 2012-07-19 13:37:52.000000000 +0200 ++++ davfs2-1.4.7.new/ChangeLog 2013-09-15 10:19:12.000000000 +0200 +@@ -1,6 +1,11 @@ + ChangeLog for davfs2 + -------------------- + ++2013-09-08 Werner Baumann (werner.baumann@onlinehome.de) ++ * kernel_interface.c, mount_davfs.c: ++ Don't create /dev/coda and /dev/fuse. ++ Remove insecure calls of system(). ++ + 2012-07-19 Werner Baumann (werner.baumann@onlinehome.de) + * Release version 1.4.7. + +diff -ur davfs2-1.4.7/src/kernel_interface.c davfs2-1.4.7.new/src/kernel_interface.c +--- davfs2-1.4.7/src/kernel_interface.c 2012-07-19 12:58:48.000000000 +0200 ++++ davfs2-1.4.7.new/src/kernel_interface.c 2013-09-15 10:15:07.000000000 +0200 +@@ -167,29 +167,6 @@ + ++minor; + } + +- if (*dev <= 0 && system("/sbin/modprobe coda &>/dev/null") == 0) { +- minor = 0; +- while (*dev <= 0 && minor < MAX_CODADEVS) { +- char *path; +- if (asprintf(&path, "%s/%s%i", +- DAV_DEV_DIR, CODA_DEV_NAME, minor) < 0) +- abort(); +- *dev = open(path, O_RDWR | O_NONBLOCK); +- if (*dev <= 0) { +- if (mknod(path, S_IFCHR, makedev(CODA_MAJOR, minor)) == 0) { +- if (chown(path, 0, 0) == 0 +- && chmod(path, S_IRUSR | S_IWUSR) == 0) { +- *dev = open(path, O_RDWR | O_NONBLOCK); +- } else { +- remove(path); +- } +- } +- } +- free(path); +- ++minor; +- } +- } +- + if (*dev <= 0) { + error(0, 0, _("no free coda device to mount")); + return -1; +@@ -225,20 +202,6 @@ + abort(); + + *dev = open(path, O_RDWR | O_NONBLOCK); +- if (*dev <= 0 && system("/sbin/modprobe fuse &>/dev/null") == 0) { +- *dev = open(path, O_RDWR | O_NONBLOCK); +- } +- if (*dev <= 0) { +- if (mknod(path, S_IFCHR, makedev(FUSE_MAJOR, FUSE_MINOR)) == 0) { +- if (chown(path, 0, 0) == 0 +- && chmod(path, S_IRUSR | S_IWUSR) == 0) { +- *dev = open(path, O_RDWR | O_NONBLOCK); +- } else { +- remove(path); +- } +- } +- } +- + free(path); + if (*dev <= 0) { + error(0, 0, _("can't open fuse device")); +diff -ur davfs2-1.4.7/src/mount_davfs.c davfs2-1.4.7.new/src/mount_davfs.c +--- davfs2-1.4.7/src/mount_davfs.c 2012-07-19 13:35:11.000000000 +0200 ++++ davfs2-1.4.7.new/src/mount_davfs.c 2013-09-15 10:15:22.000000000 +0200 +@@ -170,6 +170,9 @@ + static int + arg_to_int(const char *arg, int base, const char *opt); + ++static void ++cp_file(const char *src, const char *dest); ++ + static int + debug_opts(const char *s); + +@@ -530,10 +533,7 @@ + char *file_name = ne_concat(path, "/", DAV_CONFIG, NULL); + if (access(file_name, F_OK) != 0) { + char *template = ne_concat(DAV_DATA_DIR, "/", DAV_CONFIG, NULL); +- char *command = ne_concat("cp ", template, " ", file_name, +- NULL); +- if (system(command) != 0); +- free(command); ++ cp_file(template, file_name); + free(template); + } + free(file_name); +@@ -542,11 +542,7 @@ + if (access(file_name, F_OK) != 0) { + char *template = ne_concat(DAV_DATA_DIR, "/", DAV_SECRETS, + NULL); +- char *command = ne_concat("cp ", template, " ", file_name, +- NULL); +- if (system(command) == 0) +- chmod(file_name, S_IRUSR | S_IWUSR); +- free(command); ++ cp_file(template, file_name); + free(template); + } + free(file_name); +@@ -1304,6 +1300,7 @@ + opt : name of the option, arg belongs to. Used in the error message. + return value: the value of the integer number in arg */ + static int ++ + arg_to_int(const char *arg, int base, const char *opt) + { + char *tail = NULL; +@@ -1325,6 +1322,34 @@ + } + + ++/* Creates a copy of src with name dest. */ ++static void ++cp_file(const char *src, const char *dest) ++{ ++ FILE *in = fopen(src, "r"); ++ if (!in) ++ error(EXIT_FAILURE, errno, _("can't open file %s"), src); ++ ++ FILE *out = fopen(dest, "w"); ++ if (!out) ++ error(EXIT_FAILURE, errno, _("can't open file %s"), dest); ++ ++ size_t n = 0; ++ char *line = NULL; ++ int length = getline(&line, &n, in); ++ while (length > 0) { ++ if (fputs(line, out) == EOF) ++ error(EXIT_FAILURE, errno, _("error writing to file %s"), dest); ++ length = getline(&line, &n, in); ++ } ++ ++ if (line) ++ free(line); ++ fclose(out); ++ fclose(in); ++} ++ ++ + /* Converts a debug option string s into numerical value. If s is not a + valid debug option, it returns 0. */ + static int diff --git a/extra/fsarchiver/PKGBUILD b/extra/fsarchiver/PKGBUILD index bea3d7327..c4ad06b8c 100644 --- a/extra/fsarchiver/PKGBUILD +++ b/extra/fsarchiver/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 185201 2013-05-12 06:37:28Z bpiotrowski $ -# Maintainer: +# $Id: PKGBUILD 203571 2014-01-13 17:12:01Z andyrtr $ +# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> pkgname=fsarchiver pkgver=0.6.17 -pkgrel=2 +pkgrel=3 pkgdesc='Safe and flexible file-system backup and deployment tool' arch=('i686' 'x86_64') url='http://www.fsarchiver.org/' diff --git a/extra/gcr/PKGBUILD b/extra/gcr/PKGBUILD index a8cb2e6ec..cb3989c18 100644 --- a/extra/gcr/PKGBUILD +++ b/extra/gcr/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 197973 2013-10-30 12:01:04Z allan $ +# $Id: PKGBUILD 203572 2014-01-13 17:12:02Z andyrtr $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gcr pkgver=3.10.1 -pkgrel=1 +pkgrel=2 pkgdesc="A library for bits of crypto UI and parsing" arch=(i686 x86_64) url="http://www.gnome.org" license=('GPL2') depends=('dconf' 'desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'libgcrypt') -makedepends=('intltool' 'gobject-introspection' 'python') +makedepends=('intltool' 'gobject-introspection' 'python' 'vala') install=gcr.install source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz 10-gcr.conf) diff --git a/extra/glamor-egl/PKGBUILD b/extra/glamor-egl/PKGBUILD index 1a8f1336a..bf9b4bf2a 100644 --- a/extra/glamor-egl/PKGBUILD +++ b/extra/glamor-egl/PKGBUILD @@ -3,24 +3,27 @@ # Contributor: Eugeni Dodonov <eugeni@dodonov.net> pkgname=glamor-egl -pkgver=0.5.1 +pkgver=0.5.1.r256 pkgrel=1 pkgdesc='OpenGL based 2D rendering acceleration library' arch=('i686' 'x86_64') url="http://xorg.freedesktop.org/" license=('custom') depends=('mesa-libgl') -makedepends=('xorg-server-devel') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -conflicts=('glamor-git') -sha256sums=('f42805b68e2bddc90cb5d9d3811e4f2176659c5686f295865839b20b7be7f359') +makedepends=('xorg-server-devel' 'dri3proto' 'X-ABI-VIDEODRV_VERSION=15' 'git') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16' 'glamor-git') +source=('glamor-egl::git+http://anongit.freedesktop.org/git/xorg/driver/glamor.git#commit=fb4d046c04002851a5e895726461509983f633e7') +sha256sums=(SKIP) +#source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) +#sha256sums=('f42805b68e2bddc90cb5d9d3811e4f2176659c5686f295865839b20b7be7f359') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd glamor-egl - ./configure --prefix=/usr \ + ./autogen.sh --prefix=/usr \ --disable-static \ --enable-glx-tls \ + --enable-xv \ #--with-xorg-conf-dir=/etc/X11/xorg.conf.d #--help #--enable-glamor-gles2 \ https://bugs.archlinux.org/task/34284 @@ -29,7 +32,7 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd glamor-egl make "DESTDIR=${pkgdir}" install diff --git a/extra/glamor-egl/compat-api.h b/extra/glamor-egl/compat-api.h deleted file mode 100644 index 1608478f8..000000000 --- a/extra/glamor-egl/compat-api.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 2012 Red Hat, Inc. - * - * 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 - * THE AUTHORS OR COPYRIGHT HOLDERS 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. - * - * Author: Dave Airlie <airlied@redhat.com> - */ - -/* this file provides API compat between server post 1.13 and pre it, - it should be reused inside as many drivers as possible */ -#ifndef COMPAT_API_H -#define COMPAT_API_H - -#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR -#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum] -#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p -#endif - -#ifndef XF86_HAS_SCRN_CONV -#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum] -#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex] -#endif - -#ifndef XF86_SCRN_INTERFACE - -#define SCRN_ARG_TYPE int -#define SCRN_INFO_PTR(arg1) ScrnInfoPtr scrn = xf86Screens[(arg1)] - -#define SCREEN_ARG_TYPE int -#define SCREEN_PTR(arg1) ScreenPtr screen = screenInfo.screens[(arg1)] - -#define SCREEN_INIT_ARGS_DECL int scrnIndex, ScreenPtr screen, int argc, char **argv - -#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer timeout, pointer read_mask -#define BLOCKHANDLER_ARGS arg, blockData, timeout, read_mask - -#define WAKEUPHANDLER_ARGS_DECL int arg, pointer wakeupData, unsigned long result, pointer read_mask -#define WAKEUPHANDLER_ARGS arg, wakeupData, result, read_mask - -#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr screen -#define CLOSE_SCREEN_ARGS scrnIndex, screen - -#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags -#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0 - -#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags -#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0 - -#define FREE_SCREEN_ARGS_DECL int arg, int flags -#define FREE_SCREEN_ARGS arg, flags - -#define VT_FUNC_ARGS_DECL int arg, int flags -#define VT_FUNC_ARGS(flags) scrn->scrnIndex, (flags) - -#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex) - -#else -#define SCRN_ARG_TYPE ScrnInfoPtr -#define SCRN_INFO_PTR(arg1) ScrnInfoPtr scrn = (arg1) - -#define SCREEN_ARG_TYPE ScreenPtr -#define SCREEN_PTR(arg1) ScreenPtr screen = (arg1) - -#define SCREEN_INIT_ARGS_DECL ScreenPtr screen, int argc, char **argv - -#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer timeout, pointer read_mask -#define BLOCKHANDLER_ARGS arg, timeout, read_mask - -#define WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer read_mask -#define WAKEUPHANDLER_ARGS arg, result, read_mask - -#define CLOSE_SCREEN_ARGS_DECL ScreenPtr screen -#define CLOSE_SCREEN_ARGS screen - -#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y -#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y - -#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode -#define SWITCH_MODE_ARGS(arg, m) arg, m - -#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg -#define FREE_SCREEN_ARGS arg - -#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg -#define VT_FUNC_ARGS(flags) scrn - -#define XF86_ENABLEDISABLEFB_ARG(x) (x) - -#endif -#endif diff --git a/extra/glamor-egl/compiler.h b/extra/glamor-egl/compiler.h deleted file mode 100644 index fa2895976..000000000 --- a/extra/glamor-egl/compiler.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2011 Intel Corporation - * - * 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 - * THE AUTHORS OR COPYRIGHT HOLDERS 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. - * - * Authors: - * Chris Wilson <chris@chris-wilson.co.uk> - * - * Copied from sna - * - */ - -#ifndef _GLAMOR_COMPILER_H_ -#define _GLAMOR_COMPILER_H_ - -#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) -#define likely(expr) (__builtin_expect (!!(expr), 1)) -#define unlikely(expr) (__builtin_expect (!!(expr), 0)) -#define noinline __attribute__((noinline)) -#define fastcall __attribute__((regparm(3))) -#define must_check __attribute__((warn_unused_result)) -#define constant __attribute__((const)) -#else -#define likely(expr) (expr) -#define unlikely(expr) (expr) -#define noinline -#define fastcall -#define must_check -#define constant -#endif - -#ifdef HAVE_VALGRIND -#define VG(x) x -#else -#define VG(x) -#endif - -#define VG_CLEAR(s) VG(memset(&s, 0, sizeof(s))) - -#define COMPILE_TIME_ASSERT(E) ((void)sizeof(char[1 - 2*!(E)])) - -#endif /* _SNA_COMPILER_H_ */ diff --git a/extra/glamor-egl/git-fixes.patch b/extra/glamor-egl/git-fixes.patch deleted file mode 100644 index 7a03a225e..000000000 --- a/extra/glamor-egl/git-fixes.patch +++ /dev/null @@ -1,428 +0,0 @@ -From beeddaae1da253d1a442228a75f80ef40a0204ac Mon Sep 17 00:00:00 2001 -From: Michel Dänzer <michel.daenzer@amd.com> -Date: Wed, 31 Oct 2012 15:56:00 +0000 -Subject: Don't use glBlitFramebufferEXT for overlapping copies. - -According to the GL_EXT_framebuffer_blit spec, the result of doing so is -undefined. But we need well-defined results. :) - -Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> ---- -diff --git a/src/glamor_copyarea.c b/src/glamor_copyarea.c -index 7d06833..4e6f953 100644 ---- a/src/glamor_copyarea.c -+++ b/src/glamor_copyarea.c -@@ -318,7 +318,8 @@ __glamor_copy_n_to_n(DrawablePtr src, - dx, dy, - src_pixmap, dst_pixmap); - #ifndef GLAMOR_GLES2 -- if ((overlaped || glamor_priv->state != RENDER_STATE -+ if (!overlaped && -+ (glamor_priv->state != RENDER_STATE - || !src_pixmap_priv->base.gl_tex || !dst_pixmap_priv->base.gl_tex) - && glamor_copy_n_to_n_fbo_blit(src, dst, gc, box, nbox, dx, - dy)) { --- -cgit v0.9.0.2-2-gbebe -From f1457c1c59efdadbad25f01dce9433643d688844 Mon Sep 17 00:00:00 2001 -From: Zhigang Gong <zhigang.gong@linux.intel.com> -Date: Tue, 13 Nov 2012 02:08:02 +0000 -Subject: glamor_compositerects: Need to initialize region before fallback. - -As we need to call DamageRegionAppend even for fallback path, -we must initialize the region before do that. Pointed by -Igor Vagulin. - -https://bugs.freedesktop.org/show_bug.cgi?id=56940 - -Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com> ---- -diff --git a/src/glamor_compositerects.c b/src/glamor_compositerects.c -index 5fe1bbf..f1564a2 100644 ---- a/src/glamor_compositerects.c -+++ b/src/glamor_compositerects.c -@@ -131,16 +131,6 @@ glamor_composite_rectangles(CARD8 op, - return; - } - -- pixmap = glamor_get_drawable_pixmap(dst->pDrawable); -- priv = glamor_get_pixmap_private(pixmap); -- -- if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(priv)) -- goto fallback; -- if (dst->alphaMap) { -- DEBUGF("%s: fallback, dst has an alpha-map\n", __FUNCTION__); -- goto fallback; -- } -- - if ((color->red|color->green|color->blue|color->alpha) <= 0x00ff) { - switch (op) { - case PictOpOver: -@@ -204,6 +194,16 @@ glamor_composite_rectangles(CARD8 op, - return; - } - -+ pixmap = glamor_get_drawable_pixmap(dst->pDrawable); -+ priv = glamor_get_pixmap_private(pixmap); -+ -+ if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(priv)) -+ goto fallback; -+ if (dst->alphaMap) { -+ DEBUGF("%s: fallback, dst has an alpha-map\n", __FUNCTION__); -+ goto fallback; -+ } -+ - need_free_region = TRUE; - - DEBUGF("%s: drawable extents (%d, %d),(%d, %d) x %d\n", --- -cgit v0.9.0.2-2-gbebe -From 4a0ac3ff00d70b13e8483d50657187c7abdfc110 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Sat, 29 Dec 2012 06:28:17 +0000 -Subject: glamor: fix make distcheck part 1 - -This just adds the headers, then it falls over on the sdk_HEADERS -as it overrides proper install paths by the looks of it. - -Signed-off-by: Dave Airlie <airlied@redhat.com> ---- -diff --git a/src/Makefile.am b/src/Makefile.am -index 766aac7..e1ee86d 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -20,10 +20,13 @@ AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS) $(LIBDRM_CFLAGS) - libglamor_la_LDFLAGS = -avoid-version - - libglamor_la_SOURCES = \ -+ compat-api.h \ - glamor.c \ - glamor_copyarea.c \ - glamor_copywindow.c \ - glamor_core.c \ -+ glamor_debug.h \ -+ glamor_gl_dispatch.h \ - glamor_fill.c \ - glamor_fillspans.c \ - glamor_getspans.c \ -@@ -42,6 +45,7 @@ libglamor_la_SOURCES = \ - glamor_copyplane.c\ - glamor_glyphblt.c\ - glamor_polyops.c\ -+ glamor_priv.h\ - glamor_pixmap.c\ - glamor_largepixmap.c\ - glamor_picture.c\ -@@ -49,7 +53,9 @@ libglamor_la_SOURCES = \ - glamor_gl_dispatch.c\ - glamor_fbo.c\ - glamor_compositerects.c\ -- glamor.h -+ glamor_utils.h\ -+ glamor.h\ -+ glapi.h - - sdk_HEADERS = glamor.h - --- -cgit v0.9.0.2-2-gbebe -From c6d9cb1eb4962a15f8bbc869e9fef6d1464165af Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Sat, 29 Dec 2012 06:42:10 +0000 -Subject: glamor: add compiler.h - -This is also required for distchecking. - -Signed-off-by: Dave Airlie <airlied@redhat.com> ---- -diff --git a/src/Makefile.am b/src/Makefile.am -index e1ee86d..55721f6 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -21,6 +21,7 @@ libglamor_la_LDFLAGS = -avoid-version - - libglamor_la_SOURCES = \ - compat-api.h \ -+ compiler.h \ - glamor.c \ - glamor_copyarea.c \ - glamor_copywindow.c \ --- -cgit v0.9.0.2-2-gbebe -From c0729336ae35dcc7e46bcf840d6e9a056d5cdd26 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Sat, 29 Dec 2012 06:42:30 +0000 -Subject: glamor_utils: fix unlikely define use - -using a define across a split line expression is failure, compiling -with warnings shows this up. - -Signed-off-by: Dave Airlie <airlied@redhat.com> ---- -diff --git a/src/glamor_utils.h b/src/glamor_utils.h -index 36beb49..d307838 100644 ---- a/src/glamor_utils.h -+++ b/src/glamor_utils.h -@@ -80,8 +80,7 @@ - - #define pixmap_priv_get_fbo_off(_priv_, _xoff_, _yoff_) \ - do { \ -- if (unlikely(_priv_ && (_priv_)->type \ -- == GLAMOR_TEXTURE_LARGE)) { \ -+ if (unlikely(_priv_ && (_priv_)->type == GLAMOR_TEXTURE_LARGE)) { \ - *(_xoff_) = - (_priv_)->large.box.x1; \ - *(_yoff_) = - (_priv_)->large.box.y1; \ - } else { \ --- -cgit v0.9.0.2-2-gbebe -From 61879504f86c5cb326cc06a5873283234cfbbcd2 Mon Sep 17 00:00:00 2001 -From: Michel Dänzer <michel.daenzer@amd.com> -Date: Wed, 13 Mar 2013 16:15:33 +0000 -Subject: glamoregl: Use xf86ScreenToScrn() - -Fixes crashes when glamor is used for a GPU screen with xserver 1.13 or -newer. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200#c17 - -Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> -Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> ---- -diff --git a/src/glamor_egl.c b/src/glamor_egl.c -index a248aa2..cd0bdc0 100644 ---- a/src/glamor_egl.c -+++ b/src/glamor_egl.c -@@ -116,7 +116,7 @@ glamor_egl_get_screen_private(ScrnInfoPtr scrn) - _X_EXPORT void - glamor_egl_make_current(ScreenPtr screen) - { -- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - struct glamor_egl_screen_private *glamor_egl = - glamor_egl_get_screen_private(scrn); - -@@ -139,7 +139,7 @@ glamor_egl_make_current(ScreenPtr screen) - _X_EXPORT void - glamor_egl_restore_context(ScreenPtr screen) - { -- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - struct glamor_egl_screen_private *glamor_egl = - glamor_egl_get_screen_private(scrn); - -@@ -221,7 +221,7 @@ glamor_create_texture_from_image(struct glamor_egl_screen_private - Bool - glamor_egl_create_textured_screen(ScreenPtr screen, int handle, int stride) - { -- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - struct glamor_egl_screen_private *glamor_egl; - PixmapPtr screen_pixmap; - -@@ -245,7 +245,7 @@ glamor_egl_create_textured_screen_ext(ScreenPtr screen, - int stride, - PixmapPtr *back_pixmap) - { -- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - struct glamor_egl_screen_private *glamor_egl; - - glamor_egl = glamor_egl_get_screen_private(scrn); -@@ -272,7 +272,7 @@ Bool - glamor_egl_create_textured_pixmap(PixmapPtr pixmap, int handle, int stride) - { - ScreenPtr screen = pixmap->drawable.pScreen; -- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - struct glamor_egl_screen_private *glamor_egl; - EGLImageKHR image; - GLuint texture; -@@ -318,7 +318,7 @@ done: - static void - _glamor_egl_destroy_pixmap_image(PixmapPtr pixmap) - { -- ScrnInfoPtr scrn = xf86Screens[pixmap->drawable.pScreen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(pixmap->drawable.pScreen); - EGLImageKHR image; - struct glamor_egl_screen_private *glamor_egl = - glamor_egl_get_screen_private(scrn); -@@ -338,7 +338,7 @@ _glamor_egl_destroy_pixmap_image(PixmapPtr pixmap) - _X_EXPORT void - glamor_egl_exchange_buffers(PixmapPtr front, PixmapPtr back) - { -- ScrnInfoPtr scrn = xf86Screens[front->drawable.pScreen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(front->drawable.pScreen); - struct glamor_egl_screen_private *glamor_egl = - glamor_egl_get_screen_private(scrn); - EGLImageKHR old_front_image; -@@ -371,7 +371,7 @@ glamor_egl_close_screen(CLOSE_SCREEN_ARGS_DECL) - PixmapPtr screen_pixmap; - EGLImageKHR back_image; - -- scrn = xf86Screens[screen->myNum]; -+ scrn = xf86ScreenToScrn(screen); - glamor_egl = glamor_egl_get_screen_private(scrn); - screen_pixmap = screen->GetScreenPixmap(screen); - -@@ -417,7 +417,7 @@ glamor_egl_has_extension(struct glamor_egl_screen_private *glamor_egl, - void - glamor_egl_screen_init(ScreenPtr screen) - { -- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - struct glamor_egl_screen_private *glamor_egl = - glamor_egl_get_screen_private(scrn); - -@@ -588,7 +588,7 @@ glamor_gl_dispatch_init(ScreenPtr screen, - struct glamor_gl_dispatch *dispatch, - int gl_version) - { -- ScrnInfoPtr scrn = xf86Screens[screen->myNum]; -+ ScrnInfoPtr scrn = xf86ScreenToScrn(screen); - struct glamor_egl_screen_private *glamor_egl = - glamor_egl_get_screen_private(scrn); - if (!glamor_gl_dispatch_init_impl --- -cgit v0.9.0.2-2-gbebe -From 3cd34ba9f0708ab7d816eeee80139257fafcb4ad Mon Sep 17 00:00:00 2001 -From: Armin K <krejzi@email.com> -Date: Wed, 13 Mar 2013 17:28:57 +0000 -Subject: Silence Automake 1.13 warnings - -warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') - -Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> ---- -diff --git a/src/Makefile.am b/src/Makefile.am -index 55721f6..2140b81 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -12,7 +12,7 @@ endif - - instdir = $(moduledir) - --INCLUDES = \ -+AM_CPPFLAGS = \ - $(XORG_INCS) - - AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS) $(LIBDRM_CFLAGS) --- -cgit v0.9.0.2-2-gbebe -From c7241f097ddb4d3bfb832f6b4ee6fafe8b4d2cfe Mon Sep 17 00:00:00 2001 -From: Armin K <krejzi@email.com> -Date: Wed, 13 Mar 2013 17:28:58 +0000 -Subject: Properly dist necesary headers - -Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> ---- -diff --git a/src/Makefile.am b/src/Makefile.am -index 2140b81..0879287 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -31,6 +31,7 @@ libglamor_la_SOURCES = \ - glamor_fill.c \ - glamor_fillspans.c \ - glamor_getspans.c \ -+ glamor_glext.h \ - glamor_glyphs.c \ - glamor_polyfillrect.c \ - glamor_polylines.c \ --- -cgit v0.9.0.2-2-gbebe -From f2d7f1cf351bdc3a8a00fe564cd6a937db3b4e19 Mon Sep 17 00:00:00 2001 -From: Armin K <krejzi@email.com> -Date: Wed, 13 Mar 2013 17:49:32 +0000 -Subject: First attempt to make libglamor.so shared versioned library - -As recommended by Michel in this thread reply: -http://lists.freedesktop.org/archives/glamor/2013-March/000305.html - -v2: Correct shared library location in glamor.pc.in - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62259 - -Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> ---- -diff --git a/glamor.pc.in b/glamor.pc.in -index 74ecd2e..5257468 100644 ---- a/glamor.pc.in -+++ b/glamor.pc.in -@@ -2,12 +2,11 @@ prefix=@prefix@ - exec_prefix=@exec_prefix@ - libdir=@libdir@ - includedir=@includedir@ --moduledir=@moduledir@ - sdkdir=@sdkdir@ - GLAMOR_GL_CFLAGS=@GLAMOR_GL_CFLAGS@ - - Name: glamor - Description: X.Org glamor common library. - Version: @PACKAGE_VERSION@ --Cflags: -I${sdkdir} -L${moduledir} -lglamor ${GLAMOR_GL_CFLAGS} -- -+Cflags: -I${sdkdir} ${GLAMOR_GL_CFLAGS} -+Libs: -L${libdir} -lglamor -diff --git a/src/Makefile.am b/src/Makefile.am -index 0879287..4beb559 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -1,4 +1,4 @@ --inst_LTLIBRARIES = libglamor.la -+lib_LTLIBRARIES = libglamor.la - - # Override these since glamor doesn't need them and the needed files aren't - # built (in hw/xfree86/os-support/solaris) until after glamor is built -@@ -10,14 +10,12 @@ else - libglamor_la_LIBADD = $(GL_LIBS) - endif - --instdir = $(moduledir) -- - AM_CPPFLAGS = \ - $(XORG_INCS) - - AM_CFLAGS = $(CWARNFLAGS) $(XORG_CFLAGS) $(DIX_CFLAGS) $(LIBDRM_CFLAGS) - --libglamor_la_LDFLAGS = -avoid-version -+libglamor_la_LDFLAGS = -version-info 0:0:0 - - libglamor_la_SOURCES = \ - compat-api.h \ -@@ -65,7 +63,8 @@ if EGL - LIBGLAMOREGL = libglamoregl.la - module_LTLIBRARIES = $(LIBGLAMOREGL) - libglamoregl_la_DEPENDENCIES = libglamor.la --libglamoregl_la_LDFLAGS = -avoid-version -module $(EGL_LIBS) -lglamor $(GLX_SYS_LIBS) -+libglamoregl_la_LDFLAGS = -avoid-version -module -+libglamoregl_la_LIBADD = $(EGL_LIBS) $(GLX_SYS_LIBS) libglamor.la - libglamoregl_la_SOURCES = glamor_eglmodule.c $(top_srcdir)/src/glamor_egl.c - libglamoregl_la_CFLAGS = $(AM_CFLAGS) $(GLX_DEFINES) -I$(top_srcdir)/src $(LIBDRM_CFLAGS) $(EGL_CFLAGS) - endif --- -cgit v0.9.0.2-2-gbebe -From 81aadb8ae204f58d77a948c8624f1e72659dcdf0 Mon Sep 17 00:00:00 2001 -From: Armin K <krejzi@email.com> -Date: Wed, 13 Mar 2013 17:49:33 +0000 -Subject: Don't use AC_PROG_LIBTOOL - -Autoconf only needs libtool macros which are copied when -autoreconf is run. There is no need for looking for -"libtool" program in PATH. This properly disables static -libraries from being built and installed. - -Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> ---- -diff --git a/configure.ac b/configure.ac -index 230543c..5ff6ae1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -37,7 +37,6 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) - AM_MAINTAINER_MODE([enable]) - - # Initialize libtool --AC_PROG_LIBTOOL - LT_PREREQ([2.2]) - LT_INIT([disable-static]) - --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/glamor-egl/glamor_debug.h b/extra/glamor-egl/glamor_debug.h deleted file mode 100644 index f0c969b11..000000000 --- a/extra/glamor-egl/glamor_debug.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright © 2009 Intel Corporation - * Copyright © 1998 Keith Packard - * - * 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 - * THE AUTHORS OR COPYRIGHT HOLDERS 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. - * - * Authors: - * Zhigang Gong <zhigang.gong@gmail.com> - * - */ - -#ifndef __GLAMOR_DEBUG_H__ -#define __GLAMOR_DEBUG_H__ - - -#define GLAMOR_DELAYED_STRING_MAX 64 - -#define GLAMOR_DEBUG_NONE 0 -#define GLAMOR_DEBUG_UNIMPL 0 -#define GLAMOR_DEBUG_FALLBACK 1 -#define GLAMOR_DEBUG_TEXTURE_DOWNLOAD 2 -#define GLAMOR_DEBUG_TEXTURE_DYNAMIC_UPLOAD 3 - -extern void -AbortServer(void) - _X_NORETURN; - -#define GLAMOR_PANIC(_format_, ...) \ - do { \ - LogMessageVerb(X_NONE, 0, "Glamor Fatal Error" \ - " at %32s line %d: " _format_ "\n", \ - __FUNCTION__, __LINE__, \ - ##__VA_ARGS__ ); \ - exit(1); \ - } while(0) - - - - -#define __debug_output_message(_format_, _prefix_, ...) \ - LogMessageVerb(X_NONE, 0, \ - "%32s:\t" _format_ , \ - /*_prefix_,*/ \ - __FUNCTION__, \ - ##__VA_ARGS__) - -#define glamor_debug_output(_level_, _format_,...) \ - do { \ - if (glamor_debug_level >= _level_) \ - __debug_output_message(_format_, \ - "Glamor debug", \ - ##__VA_ARGS__); \ - } while(0) - - -#define glamor_fallback(_format_,...) \ - do { \ - if (glamor_debug_level >= GLAMOR_DEBUG_FALLBACK) \ - __debug_output_message(_format_, \ - "Glamor fallback", \ - ##__VA_ARGS__);} while(0) - - - -#define glamor_delayed_fallback(_screen_, _format_,...) \ - do { \ - if (glamor_debug_level >= GLAMOR_DEBUG_FALLBACK) { \ - glamor_screen_private *_glamor_priv_; \ - _glamor_priv_ = glamor_get_screen_private(_screen_); \ - _glamor_priv_->delayed_fallback_pending = 1; \ - snprintf(_glamor_priv_->delayed_fallback_string, \ - GLAMOR_DELAYED_STRING_MAX, \ - "glamor delayed fallback: \t%s " _format_ , \ - __FUNCTION__, ##__VA_ARGS__); } } while(0) - - -#define glamor_clear_delayed_fallbacks(_screen_) \ - do { \ - if (glamor_debug_level >= GLAMOR_DEBUG_FALLBACK) { \ - glamor_screen_private *_glamor_priv_; \ - _glamor_priv_ = glamor_get_screen_private(_screen_); \ - _glamor_priv_->delayed_fallback_pending = 0; } } while(0) - -#define glamor_report_delayed_fallbacks(_screen_) \ - do { \ - if (glamor_debug_level >= GLAMOR_DEBUG_FALLBACK) { \ - glamor_screen_private *_glamor_priv_; \ - _glamor_priv_ = glamor_get_screen_private(_screen_); \ - LogMessageVerb(X_INFO, 0, "%s", \ - _glamor_priv_->delayed_fallback_string); \ - _glamor_priv_->delayed_fallback_pending = 0; } } while(0) - -#define DEBUGF(str, ...) do {} while(0) -//#define DEBUGF(str, ...) ErrorF(str, ##__VA_ARGS__) -#define DEBUGRegionPrint(x) do {} while (0) -//#define DEBUGRegionPrint RegionPrint - - -#endif diff --git a/extra/glamor-egl/glamor_gl_dispatch.h b/extra/glamor-egl/glamor_gl_dispatch.h deleted file mode 100644 index b3fc3a629..000000000 --- a/extra/glamor-egl/glamor_gl_dispatch.h +++ /dev/null @@ -1,137 +0,0 @@ -typedef struct glamor_gl_dispatch { - /* Transformation functions */ - void (*glMatrixMode) (GLenum mode); - void (*glLoadIdentity) (void); - void (*glViewport) (GLint x, GLint y, GLsizei width, - GLsizei height); - /* Drawing functions */ - void (*glRasterPos2i) (GLint x, GLint y); - - /* Vertex Array */ - void (*glDrawArrays) (GLenum mode, GLint first, GLsizei count); - - /* Elements Array*/ - void (*glDrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid * indices); - - /* Raster functions */ - void (*glReadPixels) (GLint x, GLint y, - GLsizei width, GLsizei height, - GLenum format, GLenum type, GLvoid * pixels); - - void (*glDrawPixels) (GLsizei width, GLsizei height, - GLenum format, GLenum type, - const GLvoid * pixels); - void (*glPixelStorei) (GLenum pname, GLint param); - /* Texture Mapping */ - - void (*glTexParameteri) (GLenum target, GLenum pname, GLint param); - void (*glTexImage2D) (GLenum target, GLint level, - GLint internalFormat, - GLsizei width, GLsizei height, - GLint border, GLenum format, GLenum type, - const GLvoid * pixels); - /* 1.1 */ - void (*glGenTextures) (GLsizei n, GLuint * textures); - void (*glDeleteTextures) (GLsizei n, const GLuint * textures); - void (*glBindTexture) (GLenum target, GLuint texture); - void (*glTexSubImage2D) (GLenum target, GLint level, - GLint xoffset, GLint yoffset, - GLsizei width, GLsizei height, - GLenum format, GLenum type, - const GLvoid * pixels); - /* MISC */ - void (*glFlush) (void); - void (*glFinish) (void); - void (*glGetIntegerv) (GLenum pname, GLint * params); - const GLubyte *(*glGetString) (GLenum name); - void (*glScissor) (GLint x, GLint y, GLsizei width, - GLsizei height); - void (*glEnable) (GLenum cap); - void (*glDisable) (GLenum cap); - void (*glBlendFunc) (GLenum sfactor, GLenum dfactor); - void (*glLogicOp) (GLenum opcode); - - /* 1.3 */ - void (*glActiveTexture) (GLenum texture); - - /* GL Extentions */ - void (*glGenBuffers) (GLsizei n, GLuint * buffers); - void (*glBufferData) (GLenum target, GLsizeiptr size, - const GLvoid * data, GLenum usage); - GLvoid *(*glMapBuffer) (GLenum target, GLenum access); - GLvoid *(*glMapBufferRange) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - GLboolean (*glUnmapBuffer) (GLenum target); - void (*glBindBuffer) (GLenum target, GLuint buffer); - void (*glDeleteBuffers) (GLsizei n, const GLuint * buffers); - - void (*glFramebufferTexture2D) (GLenum target, GLenum attachment, - GLenum textarget, GLuint texture, - GLint level); - void (*glBindFramebuffer) (GLenum target, GLuint framebuffer); - void (*glDeleteFramebuffers) (GLsizei n, - const GLuint * framebuffers); - void (*glGenFramebuffers) (GLsizei n, GLuint * framebuffers); - GLenum (*glCheckFramebufferStatus) (GLenum target); - void (*glBlitFramebuffer) (GLint srcX0, GLint srcY0, GLint srcX1, - GLint srcY1, GLint dstX0, GLint dstY0, - GLint dstX1, GLint dstY1, - GLbitfield mask, GLenum filter); - - void (*glVertexAttribPointer) (GLuint index, GLint size, - GLenum type, GLboolean normalized, - GLsizei stride, - const GLvoid * pointer); - void (*glDisableVertexAttribArray) (GLuint index); - void (*glEnableVertexAttribArray) (GLuint index); - void (*glBindAttribLocation) (GLuint program, GLuint index, - const GLchar * name); - - void (*glLinkProgram) (GLuint program); - void (*glShaderSource) (GLuint shader, GLsizei count, - const GLchar * *string, - const GLint * length); - void (*glUseProgram) (GLuint program); - void (*glUniform1i) (GLint location, GLint v0); - void (*glUniform1f) (GLint location, GLfloat v0); - void (*glUniform4f) (GLint location, GLfloat v0, GLfloat v1, - GLfloat v2, GLfloat v3); - void (*glUniform1fv) (GLint location, GLsizei count, - const GLfloat * value); - void (*glUniform2fv) (GLint location, GLsizei count, - const GLfloat * value); - void (*glUniform4fv) (GLint location, GLsizei count, - const GLfloat * value); - void (*glUniformMatrix3fv) (GLint location, GLsizei count, - GLboolean transpose, const GLfloat* value); - GLuint (*glCreateProgram) (void); - GLuint (*glDeleteProgram) (GLuint); - GLuint (*glCreateShader) (GLenum type); - void (*glCompileShader) (GLuint shader); - void (*glAttachShader) (GLuint program, GLuint shader); - void (*glDeleteShader) (GLuint shader); - void (*glGetShaderiv) (GLuint shader, GLenum pname, - GLint * params); - void (*glGetShaderInfoLog) (GLuint shader, GLsizei bufSize, - GLsizei * length, GLchar * infoLog); - void (*glGetProgramiv) (GLuint program, GLenum pname, - GLint * params); - void (*glGetProgramInfoLog) (GLuint program, GLsizei bufSize, - GLsizei * length, GLchar * infoLog); - GLint (*glGetUniformLocation) (GLuint program, - const GLchar * name); - -} glamor_gl_dispatch; - - -typedef void *(*get_proc_address_t) (const char *); - -_X_EXPORT Bool -glamor_gl_dispatch_init_impl(struct glamor_gl_dispatch *dispatch, - int gl_version, - get_proc_address_t get_proc_address); - - -_X_EXPORT Bool -glamor_gl_dispatch_init(ScreenPtr screen, - struct glamor_gl_dispatch *dispatch, - int gl_version); diff --git a/extra/glamor-egl/glamor_glext.h b/extra/glamor-egl/glamor_glext.h deleted file mode 100644 index 1f7206b99..000000000 --- a/extra/glamor-egl/glamor_glext.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright © 2001 Keith Packard - * Copyright © 2008 Intel Corporation - * - * 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 - * THE AUTHORS OR COPYRIGHT HOLDERS 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. - * - * Authors: - * Zhigang Gong <zhigang.gong@linux.intel.com> - * - */ - - -#ifdef GLAMOR_GLES2 - -#define GL_BGRA GL_BGRA_EXT -#define GL_COLOR_INDEX 0x1900 -#define GL_BITMAP 0x1A00 -#define GL_UNSIGNED_INT_8_8_8_8 0x8035 -#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 -#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 -#define GL_UNSIGNED_INT_10_10_10_2 0x8036 -#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 - -#define GL_PIXEL_PACK_BUFFER 0x88EB -#define GL_PIXEL_UNPACK_BUFFER 0x88EC -#define GL_CLAMP_TO_BORDER 0x812D - -#define GL_READ_WRITE 0x88BA -#define GL_READ_ONLY 0x88B8 -#define GL_WRITE_ONLY 0x88B9 -#define GL_STREAM_DRAW 0x88E0 -#define GL_STREAM_READ 0x88E1 -#define GL_PACK_ROW_LENGTH 0x0D02 -#define GL_UNPACK_ROW_LENGTH 0x0CF2 - -#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB -#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56 - -#define GL_PACK_INVERT_MESA 0x8758 -#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020 -#define GL_MAP_READ_BIT 0x0001 -#define GL_MAP_WRITE_BIT 0x0002 - -#endif diff --git a/extra/glamor-egl/glamor_priv.h b/extra/glamor-egl/glamor_priv.h deleted file mode 100644 index 6e80ebdf9..000000000 --- a/extra/glamor-egl/glamor_priv.h +++ /dev/null @@ -1,1016 +0,0 @@ -/* - * Copyright © 2008 Intel Corporation - * - * 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 - * THE AUTHORS OR COPYRIGHT HOLDERS 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. - * - * Authors: - * Eric Anholt <eric@anholt.net> - * - */ -#ifndef GLAMOR_PRIV_H -#define GLAMOR_PRIV_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "compiler.h" - -#include <xorg-server.h> -#ifndef DEBUG -#define NDEBUG -#endif -#include "glamor.h" -#include "compat-api.h" - -#define GL_GLEXT_PROTOTYPES - -#ifdef GLAMOR_GLES2 -#include <GLES2/gl2.h> -#include <GLES2/gl2ext.h> - -#define GLAMOR_DEFAULT_PRECISION "precision mediump float;\n" -#include "glamor_glext.h" -#else -#include <GL/gl.h> -#include <GL/glext.h> -#define GLAMOR_DEFAULT_PRECISION -#endif - -#ifdef RENDER -#include "glyphstr.h" -#endif - -#include "glamor_debug.h" - -#include <list.h> -/* The list.h rename all the function to add xorg_ prefix. - We add hack here to avoid the compile error when using - old version xserver header file. - These will be removed in future. */ -#ifndef xorg_list_entry -#define xorg_list list -#define xorg_list_for_each_entry list_for_each_entry -#define xorg_list_for_each_entry_safe list_for_each_entry_safe -#define xorg_list_del list_del -#define xorg_list_add list_add -#define xorg_list_append list_append -#define xorg_list_init list_init -#endif - -struct glamor_pixmap_private; - -typedef struct glamor_composite_shader { - GLuint prog; - GLint dest_to_dest_uniform_location; - GLint dest_to_source_uniform_location; - GLint dest_to_mask_uniform_location; - GLint source_uniform_location; - GLint mask_uniform_location; - GLint source_wh; - GLint mask_wh; - GLint source_repeat_mode; - GLint mask_repeat_mode; - union { - float source_solid_color[4]; - struct { - struct glamor_pixmap_private *source_priv; - PicturePtr source; - }; - }; - - union { - float mask_solid_color[4]; - struct { - struct glamor_pixmap_private *mask_priv; - PicturePtr mask; - }; - }; -} glamor_composite_shader; - -enum shader_source { - SHADER_SOURCE_SOLID, - SHADER_SOURCE_TEXTURE, - SHADER_SOURCE_TEXTURE_ALPHA, - SHADER_SOURCE_COUNT, -}; - -enum shader_mask { - SHADER_MASK_NONE, - SHADER_MASK_SOLID, - SHADER_MASK_TEXTURE, - SHADER_MASK_TEXTURE_ALPHA, - SHADER_MASK_COUNT, -}; - -enum shader_in { - SHADER_IN_SOURCE_ONLY, - SHADER_IN_NORMAL, - SHADER_IN_CA_SOURCE, - SHADER_IN_CA_ALPHA, - SHADER_IN_COUNT, -}; - -struct shader_key { - enum shader_source source; - enum shader_mask mask; - enum shader_in in; -}; - -struct blendinfo { - Bool dest_alpha; - Bool source_alpha; - GLenum source_blend; - GLenum dest_blend; -}; - -typedef struct { - INT16 x_src; - INT16 y_src; - INT16 x_mask; - INT16 y_mask; - INT16 x_dst; - INT16 y_dst; - INT16 width; - INT16 height; -} glamor_composite_rect_t; - - -enum glamor_vertex_type { - GLAMOR_VERTEX_POS, - GLAMOR_VERTEX_SOURCE, - GLAMOR_VERTEX_MASK -}; - - -enum gradient_shader { - SHADER_GRADIENT_LINEAR, - SHADER_GRADIENT_RADIAL, - SHADER_GRADIENT_CONICAL, - SHADER_GRADIENT_COUNT, -}; - -enum gradient_shader_prog { - SHADER_GRADIENT_VS_PROG, - SHADER_GRADIENT_FS_MAIN_PROG, - SHADER_GRADIENT_FS_GETCOLOR_PROG, - SHADER_GRADIENT_PROG_COUNT, -}; - -struct glamor_screen_private; -struct glamor_pixmap_private; - -enum glamor_gl_flavor { - GLAMOR_GL_DESKTOP, // OPENGL API - GLAMOR_GL_ES2 // OPENGL ES2.0 API -}; - -#define GLAMOR_CREATE_PIXMAP_CPU 0x100 -#define GLAMOR_CREATE_PIXMAP_FIXUP 0x101 -#define GLAMOR_CREATE_FBO_NO_FBO 0x103 -#define GLAMOR_CREATE_PIXMAP_MAP 0x104 - -#define GLAMOR_CREATE_TEXTURE_EXACT_SIZE 0x104 - -#define GLAMOR_NUM_GLYPH_CACHE_FORMATS 2 - -#define GLAMOR_COMPOSITE_VBO_VERT_CNT (64*1024) - -typedef struct { - PicturePtr picture; /* Where the glyphs of the cache are stored */ - GlyphPtr *glyphs; - uint16_t count; - uint16_t evict; -} glamor_glyph_cache_t; - -#include "glamor_gl_dispatch.h" - -struct glamor_saved_procs { - CloseScreenProcPtr close_screen; - CreateGCProcPtr create_gc; - CreatePixmapProcPtr create_pixmap; - DestroyPixmapProcPtr destroy_pixmap; - GetSpansProcPtr get_spans; - GetImageProcPtr get_image; - CompositeProcPtr composite; - CompositeRectsProcPtr composite_rects; - TrapezoidsProcPtr trapezoids; - GlyphsProcPtr glyphs; - ChangeWindowAttributesProcPtr change_window_attributes; - CopyWindowProcPtr copy_window; - BitmapToRegionProcPtr bitmap_to_region; - TrianglesProcPtr triangles; - AddTrapsProcPtr addtraps; - CreatePictureProcPtr create_picture; - DestroyPictureProcPtr destroy_picture; - UnrealizeGlyphProcPtr unrealize_glyph; -}; - -#ifdef GLAMOR_GLES2 -#define CACHE_FORMAT_COUNT 3 -#else -#define CACHE_FORMAT_COUNT 2 -#endif - -#define CACHE_BUCKET_WCOUNT 4 -#define CACHE_BUCKET_HCOUNT 4 - -#define GLAMOR_TICK_AFTER(t0, t1) \ - (((int)(t1) - (int)(t0)) < 0) - -#define IDLE_STATE 0 -#define RENDER_STATE 1 -#define BLIT_STATE 2 -#define RENDER_IDEL_MAX 32 - -typedef struct glamor_screen_private { - struct glamor_gl_dispatch _dispatch; - int yInverted; - unsigned int tick; - enum glamor_gl_flavor gl_flavor; - int has_pack_invert; - int has_fbo_blit; - int max_fbo_size; - - struct xorg_list fbo_cache[CACHE_FORMAT_COUNT][CACHE_BUCKET_WCOUNT][CACHE_BUCKET_HCOUNT]; - unsigned long fbo_cache_watermark; - - /* glamor_solid */ - GLint solid_prog; - GLint solid_color_uniform_location; - - /* vertext/elment_index buffer object for render */ - GLuint vbo, ebo; - int vbo_offset; - int vbo_size; - char *vb; - int vb_stride; - Bool has_source_coords, has_mask_coords; - int render_nr_verts; - glamor_composite_shader composite_shader[SHADER_SOURCE_COUNT] - [SHADER_MASK_COUNT] - [SHADER_IN_COUNT]; - glamor_glyph_cache_t glyphCaches[GLAMOR_NUM_GLYPH_CACHE_FORMATS]; - Bool glyph_cache_initialized; - - /* shaders to restore a texture to another texture.*/ - GLint finish_access_prog[2]; - GLint finish_access_revert[2]; - GLint finish_access_swap_rb[2]; - - /* glamor_tile */ - GLint tile_prog; - GLint tile_wh; - - /* glamor gradient, 0 for small nstops, 1 for - large nstops and 2 for dynamic generate. */ - GLint gradient_prog[SHADER_GRADIENT_COUNT][3]; - GLint linear_gradient_shaders[SHADER_GRADIENT_PROG_COUNT][3]; - int linear_max_nstops; - GLint radial_gradient_shaders[SHADER_GRADIENT_PROG_COUNT][3]; - int radial_max_nstops; - - /* glamor trapezoid shader. */ - GLint trapezoid_prog; - - /* glamor_putimage */ - GLint put_image_xybitmap_prog; - GLint put_image_xybitmap_fg_uniform_location; - GLint put_image_xybitmap_bg_uniform_location; - - PixmapPtr *back_pixmap; - int screen_fbo; - struct glamor_saved_procs saved_procs; - char delayed_fallback_string[GLAMOR_DELAYED_STRING_MAX + 1]; - int delayed_fallback_pending; - int flags; - int state; - unsigned int render_idle_cnt; - ScreenPtr screen; -} glamor_screen_private; - -typedef enum glamor_access { - GLAMOR_ACCESS_RO, - GLAMOR_ACCESS_RW, - GLAMOR_ACCESS_WO, -} glamor_access_t; - -#define GLAMOR_FBO_NORMAL 1 -#define GLAMOR_FBO_DOWNLOADED 2 -/* glamor_pixmap_fbo: - * @list: to be used to link to the cache pool list. - * @expire: when push to cache pool list, set a expire count. - * will be freed when glamor_priv->tick is equal or - * larger than this expire count in block handler. - * @pbo_valid: The pbo has a valid copy of the pixmap's data. - * @tex: attached texture. - * @fb: attached fbo. - * @pbo: attached pbo. - * @width: width of this fbo. - * @height: height of this fbo. - * @format: internal format of this fbo's texture. - * @type: internal type of this fbo's texture. - * @glamor_priv: point to glamor private data. - */ -typedef struct glamor_pixmap_fbo { - struct xorg_list list; - unsigned int expire; - unsigned char pbo_valid; - GLuint tex; - GLuint fb; - GLuint pbo; - int width; - int height; - GLenum format; - GLenum type; - glamor_screen_private *glamor_priv; -} glamor_pixmap_fbo; - -/* - * glamor_pixmap_private - glamor pixmap's private structure. - * @gl_fbo: - * 0 - The pixmap doesn't has a fbo attached to it. - * GLAMOR_FBO_NORMAL - The pixmap has a fbo and can be accessed normally. - * GLAMOR_FBO_DOWNLOADED - The pixmap has a fbo and already downloaded to - * CPU, so it can only be treated as a in-memory pixmap - * if this bit is set. - * @gl_tex: The pixmap is in a gl texture originally. - * @is_picture: The drawable is attached to a picture. - * @pict_format: the corresponding picture's format. - * @pixmap: The corresponding pixmap's pointer. - * - * For GLAMOR_TEXTURE_LARGE, nbox should larger than 1. - * And the box and fbo will both have nbox elements. - * and box[i] store the relatively coords in this pixmap - * of the fbo[i]. The reason why use boxes not region to - * represent this structure is we may need to use overlapped - * boxes for one pixmap for some special reason. - * - * pixmap - * ****************** - * * fbo0 * fbo1 * - * * * * - * ****************** - * * fbo2 * fbo3 * - * * * * - * ****************** - * - * Let's assume the texture has size of 1024x1024 - * box[0] = {0,0,1024,1024} - * box[1] = {1024,0,2048,2048} - * ... - * - * For GLAMOR_TEXTURE_ATLAS nbox should be 1. And box - * and fbo both has one elements, and the box store - * the relatively coords in the fbo of this pixmap: - * - * fbo - * ****************** - * * pixmap * - * * ********* * - * * * * * - * * ********* * - * * * - * ****************** - * - * Assume the pixmap is at the (100,100) relatively to - * the fbo's origin. - * box[0]={100, 100, 1124, 1124}; - * - * Considering large pixmap is not a normal case, to keep - * it simple, I designe it as the following way. - * When deal with a large pixmap, it split the working - * rectangle into serval boxes, and each box fit into a - * corresponding fbo. And then the rendering function will - * loop from the left-top box to the right-bottom box, - * each time, we will set current box and current fbo - * to the box and fbo elements. Thus the inner routines - * can handle it as normal, only the coords calculation need - * to aware of it's large pixmap. - * - * Currently, we haven't implemented the atlas pixmap. - * - **/ - -typedef struct glamor_pixmap_clipped_regions{ - int block_idx; - RegionPtr region; -} glamor_pixmap_clipped_regions; - -#define SET_PIXMAP_FBO_CURRENT(priv, idx) \ - do { \ - if (priv->type == GLAMOR_TEXTURE_LARGE) { \ - (priv)->large.base.fbo = priv->large.fbo_array[idx]; \ - (priv)->large.box = priv->large.box_array[idx]; \ - } \ - } while(0) - -typedef struct glamor_pixmap_private_base { - glamor_pixmap_type_t type; - unsigned char gl_fbo:2; - unsigned char is_picture:1; - unsigned char gl_tex:1; - glamor_pixmap_fbo *fbo; - PixmapPtr pixmap; - int drm_stride; - glamor_screen_private *glamor_priv; - PicturePtr picture; -}glamor_pixmap_private_base_t; - -/* - * @base.fbo: current fbo. - * @box: current fbo's coords in the whole pixmap. - * @block_w: block width of this large pixmap. - * @block_h: block height of this large pixmap. - * @block_wcnt: block count in one block row. - * @block_hcnt: block count in one block column. - * @nbox: total block count. - * @box_array: contains each block's corresponding box. - * @fbo_array: contains each block's fbo pointer. - * - **/ -typedef struct glamor_pixmap_private_large { - union { - glamor_pixmap_type_t type; - glamor_pixmap_private_base_t base; - }; - BoxRec box; - int block_w; - int block_h; - int block_wcnt; - int block_hcnt; - int nbox; - BoxPtr box_array; - glamor_pixmap_fbo **fbo_array; -}glamor_pixmap_private_large_t; - -/* - * @box: the relative coords in the corresponding fbo. - */ -typedef struct glamor_pixmap_private_atlas { - union { - glamor_pixmap_type_t type; - glamor_pixmap_private_base_t base; - }; - BoxRec box; -}glamor_pixmap_private_atlas_t; - -typedef struct glamor_pixmap_private { - union { - glamor_pixmap_type_t type; - glamor_pixmap_private_base_t base; - glamor_pixmap_private_large_t large; - glamor_pixmap_private_atlas_t atlas; - }; -}glamor_pixmap_private; - -/* - * Pixmap dynamic status, used by dynamic upload feature. - * - * GLAMOR_NONE: initial status, don't need to do anything. - * GLAMOR_UPLOAD_PENDING: marked as need to be uploaded to gl texture. - * GLAMOR_UPLOAD_DONE: the pixmap has been uploaded successfully. - * GLAMOR_UPLOAD_FAILED: fail to upload the pixmap. - * - * */ -typedef enum glamor_pixmap_status { - GLAMOR_NONE, - GLAMOR_UPLOAD_PENDING, - GLAMOR_UPLOAD_DONE, - GLAMOR_UPLOAD_FAILED -} glamor_pixmap_status_t; - -extern DevPrivateKey glamor_screen_private_key; -extern DevPrivateKey glamor_pixmap_private_key; -static inline glamor_screen_private * -glamor_get_screen_private(ScreenPtr screen) -{ - return (glamor_screen_private *) - dixLookupPrivate(&screen->devPrivates, - glamor_screen_private_key); -} - -static inline void -glamor_set_screen_private(ScreenPtr screen, glamor_screen_private *priv) -{ - dixSetPrivate(&screen->devPrivates, - glamor_screen_private_key, - priv); -} - - - -static inline glamor_pixmap_private * -glamor_get_pixmap_private(PixmapPtr pixmap) -{ - glamor_pixmap_private *priv; - priv = dixLookupPrivate(&pixmap->devPrivates, - glamor_pixmap_private_key); - if (!priv) { - glamor_set_pixmap_type(pixmap, GLAMOR_MEMORY); - priv = dixLookupPrivate(&pixmap->devPrivates, - glamor_pixmap_private_key); - } - return priv; -} - -void glamor_set_pixmap_private(PixmapPtr pixmap, glamor_pixmap_private *priv); - -/** - * Returns TRUE if the given planemask covers all the significant bits in the - * pixel values for pDrawable. - */ -static inline Bool -glamor_pm_is_solid(DrawablePtr drawable, unsigned long planemask) -{ - return (planemask & FbFullMask(drawable->depth)) == - FbFullMask(drawable->depth); -} - -extern int glamor_debug_level; - -/* glamor.c */ -PixmapPtr glamor_get_drawable_pixmap(DrawablePtr drawable); - -Bool glamor_destroy_pixmap(PixmapPtr pixmap); - -glamor_pixmap_fbo* glamor_pixmap_detach_fbo(glamor_pixmap_private *pixmap_priv); -void glamor_pixmap_attach_fbo(PixmapPtr pixmap, glamor_pixmap_fbo *fbo); -glamor_pixmap_fbo * glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, - int w, int h, GLenum format, GLint tex, int flag); -glamor_pixmap_fbo * glamor_create_fbo(glamor_screen_private *glamor_priv, - int w, int h, GLenum format, int flag); -void glamor_destroy_fbo(glamor_pixmap_fbo *fbo); -void glamor_pixmap_destroy_fbo(glamor_pixmap_private *priv); -void glamor_purge_fbo(glamor_pixmap_fbo *fbo); - -void glamor_init_pixmap_fbo(ScreenPtr screen); -void glamor_fini_pixmap_fbo(ScreenPtr screen); -Bool glamor_pixmap_fbo_fixup(ScreenPtr screen, PixmapPtr pixmap); -void glamor_fbo_expire(glamor_screen_private *glamor_priv); - -glamor_pixmap_fbo * -glamor_create_fbo_array(glamor_screen_private *glamor_priv, - int w, int h, GLenum format, int flag, - int block_w, int block_h, glamor_pixmap_private *); - -/* glamor_copyarea.c */ -RegionPtr -glamor_copy_area(DrawablePtr src, DrawablePtr dst, GCPtr gc, - int srcx, int srcy, int width, int height, int dstx, - int dsty); -void glamor_copy_n_to_n(DrawablePtr src, DrawablePtr dst, GCPtr gc, - BoxPtr box, int nbox, int dx, int dy, Bool reverse, - Bool upsidedown, Pixel bitplane, void *closure); - -/* glamor_copywindow.c */ -void glamor_copy_window(WindowPtr win, DDXPointRec old_origin, - RegionPtr src_region); - -/* glamor_core.c */ -Bool glamor_prepare_access(DrawablePtr drawable, glamor_access_t access); -void glamor_finish_access(DrawablePtr drawable, glamor_access_t access); -Bool glamor_prepare_access_window(WindowPtr window); -void glamor_finish_access_window(WindowPtr window); -Bool glamor_prepare_access_gc(GCPtr gc); -void glamor_finish_access_gc(GCPtr gc); -void glamor_init_finish_access_shaders(ScreenPtr screen); -void glamor_fini_finish_access_shaders(ScreenPtr screen); -const Bool glamor_get_drawable_location(const DrawablePtr drawable); -void glamor_get_drawable_deltas(DrawablePtr drawable, PixmapPtr pixmap, - int *x, int *y); -Bool glamor_stipple(PixmapPtr pixmap, PixmapPtr stipple, - int x, int y, int width, int height, - unsigned char alu, unsigned long planemask, - unsigned long fg_pixel, unsigned long bg_pixel, - int stipple_x, int stipple_y); -GLint glamor_compile_glsl_prog(glamor_gl_dispatch * dispatch, GLenum type, - const char *source); -void glamor_link_glsl_prog(glamor_gl_dispatch * dispatch, GLint prog); -void glamor_get_color_4f_from_pixel(PixmapPtr pixmap, - unsigned long fg_pixel, - GLfloat * color); - -int glamor_set_destination_pixmap(PixmapPtr pixmap); -int glamor_set_destination_pixmap_priv(glamor_pixmap_private * - pixmap_priv); -void glamor_set_destination_pixmap_fbo(glamor_pixmap_fbo *, int, int, int, int); - -/* nc means no check. caller must ensure this pixmap has valid fbo. - * usually use the GLAMOR_PIXMAP_PRIV_HAS_FBO firstly. - * */ -void glamor_set_destination_pixmap_priv_nc(glamor_pixmap_private * - pixmap_priv); - -glamor_pixmap_fbo * -glamor_es2_pixmap_read_prepare(PixmapPtr source, int x, int y, int w, int h, GLenum format, - GLenum type, int no_alpha, int revert, int swap_rb); - -Bool glamor_set_alu(struct glamor_gl_dispatch *dispatch, - unsigned char alu); -Bool glamor_set_planemask(PixmapPtr pixmap, unsigned long planemask); -Bool glamor_change_window_attributes(WindowPtr pWin, unsigned long mask); -RegionPtr glamor_bitmap_to_region(PixmapPtr pixmap); -Bool glamor_gl_has_extension(const char *extension); -int glamor_gl_get_version(void); - -#define GLAMOR_GL_VERSION_ENCODE(major, minor) ( \ - ((major) * 256) \ - + ((minor) * 1)) - - - - -/* glamor_fill.c */ -Bool glamor_fill(DrawablePtr drawable, - GCPtr gc, int x, int y, int width, int height, Bool fallback); -Bool glamor_solid(PixmapPtr pixmap, int x, int y, int width, int height, - unsigned char alu, unsigned long planemask, - unsigned long fg_pixel); -Bool -glamor_solid_boxes(PixmapPtr pixmap, - BoxPtr box, int nbox, - unsigned long fg_pixel); - -/* glamor_fillspans.c */ -void glamor_fill_spans(DrawablePtr drawable, - GCPtr gc, - int n, DDXPointPtr points, int *widths, int sorted); - -void glamor_init_solid_shader(ScreenPtr screen); -void glamor_fini_solid_shader(ScreenPtr screen); - -/* glamor_getspans.c */ -void - -glamor_get_spans(DrawablePtr drawable, - int wmax, - DDXPointPtr points, - int *widths, int nspans, char *dst_start); - -/* glamor_glyphs.c */ -void glamor_glyphs_fini(ScreenPtr screen); -void glamor_glyphs(CARD8 op, - PicturePtr pSrc, - PicturePtr pDst, - PictFormatPtr maskFormat, - INT16 xSrc, - INT16 ySrc, int nlist, GlyphListPtr list, - GlyphPtr * glyphs); - -/* glamor_setspans.c */ -void glamor_set_spans(DrawablePtr drawable, GCPtr gc, char *src, - DDXPointPtr points, int *widths, int n, int sorted); - -/* glamor_polyfillrect.c */ -void -glamor_poly_fill_rect(DrawablePtr drawable, - GCPtr gc, int nrect, xRectangle * prect); - -/* glamor_polylines.c */ -void - -glamor_poly_lines(DrawablePtr drawable, GCPtr gc, int mode, int n, - DDXPointPtr points); - -/* glamor_putimage.c */ -void - -glamor_put_image(DrawablePtr drawable, GCPtr gc, int depth, int x, int y, - int w, int h, int leftPad, int format, char *bits); -void glamor_init_putimage_shaders(ScreenPtr screen); -void glamor_fini_putimage_shaders(ScreenPtr screen); - -/* glamor_render.c */ -Bool -glamor_composite_clipped_region(CARD8 op, - PicturePtr source, - PicturePtr mask, - PicturePtr dest, - glamor_pixmap_private *soruce_pixmap_priv, - glamor_pixmap_private *mask_pixmap_priv, - glamor_pixmap_private *dest_pixmap_priv, - RegionPtr region, - int x_source, - int y_source, - int x_mask, - int y_mask, - int x_dest, - int y_dest); - -void glamor_composite(CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, INT16 yDst, CARD16 width, CARD16 height); - -void glamor_init_composite_shaders(ScreenPtr screen); -void glamor_fini_composite_shaders(ScreenPtr screen); -void glamor_composite_glyph_rects(CARD8 op, - PicturePtr src, PicturePtr mask, - PicturePtr dst, int nrect, - glamor_composite_rect_t * rects); -void glamor_composite_rects (CARD8 op, - PicturePtr pDst, - xRenderColor *color, - int nRect, - xRectangle *rects); -void glamor_init_trapezoid_shader(ScreenPtr screen); -void glamor_fini_trapezoid_shader(ScreenPtr screen); -PicturePtr glamor_convert_gradient_picture(ScreenPtr screen, - PicturePtr source, - int x_source, - int y_source, int width, int height); - -Bool glamor_composite_choose_shader(CARD8 op, - PicturePtr source, - PicturePtr mask, - PicturePtr dest, - glamor_pixmap_private *source_pixmap_priv, - glamor_pixmap_private *mask_pixmap_priv, - glamor_pixmap_private *dest_pixmap_priv, - struct shader_key *s_key, - glamor_composite_shader **shader, - struct blendinfo *op_info, - PictFormatShort *psaved_source_format); - -void -glamor_composite_set_shader_blend(glamor_pixmap_private *dest_priv, - struct shader_key *key, - glamor_composite_shader *shader, - struct blendinfo *op_info); - -void glamor_setup_composite_vbo(ScreenPtr screen, int n_verts); -void glamor_emit_composite_vert(ScreenPtr screen, - const float *src_coords, - const float *mask_coords, - const float *dst_coords, int i); - -/* glamor_trapezoid.c */ -void glamor_trapezoids(CARD8 op, - PicturePtr src, PicturePtr dst, - PictFormatPtr mask_format, INT16 x_src, INT16 y_src, - int ntrap, xTrapezoid * traps); - -/* glamor_tile.c */ -Bool glamor_tile(PixmapPtr pixmap, PixmapPtr tile, - int x, int y, int width, int height, - unsigned char alu, unsigned long planemask, - int tile_x, int tile_y); -void glamor_init_tile_shader(ScreenPtr screen); -void glamor_fini_tile_shader(ScreenPtr screen); - -/* glamor_gradient.c */ -void glamor_init_gradient_shader(ScreenPtr screen); -void glamor_fini_gradient_shader(ScreenPtr screen); -PicturePtr glamor_generate_linear_gradient_picture(ScreenPtr screen, - PicturePtr src_picture, - int x_source, int y_source, - int width, int height, - PictFormatShort format); -PicturePtr glamor_generate_radial_gradient_picture(ScreenPtr screen, - PicturePtr src_picture, - int x_source, int y_source, - int width, int height, - PictFormatShort format); - -/* glamor_triangles.c */ -void - -glamor_triangles(CARD8 op, - PicturePtr pSrc, - PicturePtr pDst, - PictFormatPtr maskFormat, - INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris); - -/* glamor_pixmap.c */ - -void glamor_pixmap_init(ScreenPtr screen); -void glamor_pixmap_fini(ScreenPtr screen); -/** - * Download a pixmap's texture to cpu memory. If success, - * One copy of current pixmap's texture will be put into - * the pixmap->devPrivate.ptr. Will use pbo to map to - * the pointer if possible. - * The pixmap must be a gl texture pixmap. gl_fbo and - * gl_tex must be 1. Used by glamor_prepare_access. - * - */ -Bool glamor_download_pixmap_to_cpu(PixmapPtr pixmap, - glamor_access_t access); - -void * -glamor_download_sub_pixmap_to_cpu(PixmapPtr pixmap, int x, int y, int w, int h, - int stride, void *bits, int pbo, glamor_access_t access); - - -/** - * Restore a pixmap's data which is downloaded by - * glamor_download_pixmap_to_cpu to its original - * gl texture. Used by glamor_finish_access. - * - * The pixmap must be - * in texture originally. In other word, the gl_fbo - * must be 1. - **/ -void glamor_restore_pixmap_to_texture(PixmapPtr pixmap); - -/** - * According to the flag, - * if the flag is GLAMOR_CREATE_FBO_NO_FBO then just ensure - * the fbo has a valid texture. Otherwise, it will ensure - * the fbo has valid texture and attach to a valid fb. - * If the fbo already has a valid glfbo then do nothing. - */ -Bool -glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag); - -/** - * Upload a pixmap to gl texture. Used by dynamic pixmap - * uploading feature. The pixmap must be a software pixmap. - * This function will change current FBO and current shaders. - */ -enum glamor_pixmap_status glamor_upload_pixmap_to_texture(PixmapPtr - pixmap); - -Bool -glamor_upload_sub_pixmap_to_texture(PixmapPtr pixmap, int x, int y, int w, int h, - int stride, void *bits, int pbo); - -PixmapPtr -glamor_get_sub_pixmap(PixmapPtr pixmap, int x, int y, - int w, int h, glamor_access_t access); -void -glamor_put_sub_pixmap(PixmapPtr sub_pixmap, PixmapPtr pixmap, int x, int y, - int w, int h, glamor_access_t access); - -glamor_pixmap_clipped_regions * -glamor_compute_clipped_regions(glamor_pixmap_private *priv, RegionPtr region, - int *clipped_nbox, int repeat_type, - int reverse, int upsidedown); - -glamor_pixmap_clipped_regions * -glamor_compute_clipped_regions_ext(glamor_pixmap_private *pixmap_priv, - RegionPtr region, - int *n_region, - int inner_block_w, int inner_block_h, - int reverse, int upsidedown); - -glamor_pixmap_clipped_regions * -glamor_compute_transform_clipped_regions(glamor_pixmap_private *priv, struct pixman_transform *transform, - RegionPtr region, int *n_region, int dx, int dy, int repeat_type, - int reverse, int upsidedown); - -Bool -glamor_composite_largepixmap_region(CARD8 op, - PicturePtr source, - PicturePtr mask, - PicturePtr dest, - glamor_pixmap_private * source_pixmap_priv, - glamor_pixmap_private * mask_pixmap_priv, - glamor_pixmap_private * dest_pixmap_priv, - RegionPtr region, Bool force_clip, - INT16 x_source, - INT16 y_source, - INT16 x_mask, - INT16 y_mask, - INT16 x_dest, INT16 y_dest, - CARD16 width, CARD16 height); - -Bool -glamor_get_transform_block_size(struct pixman_transform *transform, - int block_w, int block_h, - int *transformed_block_w, - int *transformed_block_h); - -void -glamor_get_transform_extent_from_box(struct pixman_box32 *temp_box, - struct pixman_transform *transform); - -/** - * Upload a picture to gl texture. Similar to the - * glamor_upload_pixmap_to_texture. Used in rendering. - **/ -enum glamor_pixmap_status - glamor_upload_picture_to_texture(PicturePtr picture); - -/** - * Upload bits to a pixmap's texture. This function will - * convert the bits to the specified format/type format - * if the conversion is unavoidable. - **/ -Bool glamor_upload_bits_to_pixmap_texture(PixmapPtr pixmap, GLenum format, GLenum type, - int no_alpha, int revert, int swap_rb, void *bits); - -/** - * Destroy all the resources allocated on the uploading - * phase, includs the tex and fbo. - **/ -void glamor_destroy_upload_pixmap(PixmapPtr pixmap); - -int glamor_create_picture(PicturePtr picture); - -Bool -glamor_prepare_access_picture(PicturePtr picture, glamor_access_t access); - -void glamor_finish_access_picture(PicturePtr picture, glamor_access_t access); - -void glamor_destroy_picture(PicturePtr picture); - -/* fixup a fbo to the exact size as the pixmap. */ -Bool -glamor_fixup_pixmap_priv(ScreenPtr screen, glamor_pixmap_private *pixmap_priv); - -void -glamor_picture_format_fixup(PicturePtr picture, - glamor_pixmap_private * pixmap_priv); - -void -glamor_get_image(DrawablePtr pDrawable, int x, int y, int w, int h, - unsigned int format, unsigned long planeMask, char *d); - -void -glamor_add_traps(PicturePtr pPicture, - INT16 x_off, - INT16 y_off, int ntrap, xTrap * traps); - -RegionPtr -glamor_copy_plane(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, - int srcx, int srcy, int w, int h, int dstx, int dsty, - unsigned long bitPlane); - -void -glamor_image_glyph_blt(DrawablePtr pDrawable, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr * ppci, pointer pglyphBase); - -void -glamor_poly_glyph_blt(DrawablePtr pDrawable, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr * ppci, pointer pglyphBase); - -void -glamor_push_pixels(GCPtr pGC, PixmapPtr pBitmap, - DrawablePtr pDrawable, int w, int h, int x, int y); - -void -glamor_poly_point(DrawablePtr pDrawable, GCPtr pGC, int mode, int npt, - DDXPointPtr ppt); - -void -glamor_poly_segment(DrawablePtr pDrawable, GCPtr pGC, int nseg, - xSegment *pSeg); - -void -glamor_poly_line(DrawablePtr pDrawable, GCPtr pGC, int mode, int npt, - DDXPointPtr ppt); - -void -glamor_composite_rectangles(CARD8 op, - PicturePtr dst, - xRenderColor *color, - int num_rects, - xRectangle *rects); - -#include"glamor_utils.h" - -/* Dynamic pixmap upload to texture if needed. - * Sometimes, the target is a gl texture pixmap/picture, - * but the source or mask is in cpu memory. In that case, - * upload the source/mask to gl texture and then avoid - * fallback the whole process to cpu. Most of the time, - * this will increase performance obviously. */ - -#define GLAMOR_PIXMAP_DYNAMIC_UPLOAD -#define GLAMOR_GRADIENT_SHADER -#define GLAMOR_TRAPEZOID_SHADER -#define GLAMOR_TEXTURED_LARGE_PIXMAP 1 -#define WALKAROUND_LARGE_TEXTURE_MAP -#if 0 -#define MAX_FBO_SIZE 32 /* For test purpose only. */ -#endif -//#define GLYPHS_NO_EDEGEMAP_OVERLAP_CHECK -#define GLYPHS_EDEGE_OVERLAP_LOOSE_CHECK - -#endif /* GLAMOR_PRIV_H */ diff --git a/extra/glamor-egl/glamor_utils.h b/extra/glamor-egl/glamor_utils.h deleted file mode 100644 index 36beb49ed..000000000 --- a/extra/glamor-egl/glamor_utils.h +++ /dev/null @@ -1,1836 +0,0 @@ -/* - * Copyright © 2009 Intel Corporation - * - * 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 - * THE AUTHORS OR COPYRIGHT HOLDERS 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. - * - * Authors: - * Zhigang Gong <zhigang.gong@linux.intel.com> - * - */ - -#ifndef GLAMOR_PRIV_H -#error This file can only be included by glamor_priv.h -#endif - -#ifndef __GLAMOR_UTILS_H__ -#define __GLAMOR_UTILS_H__ - -#define v_from_x_coord_x(_xscale_, _x_) ( 2 * (_x_) * (_xscale_) - 1.0) -#define v_from_x_coord_y(_yscale_, _y_) (-2 * (_y_) * (_yscale_) + 1.0) -#define v_from_x_coord_y_inverted(_yscale_, _y_) (2 * (_y_) * (_yscale_) - 1.0) -#define t_from_x_coord_x(_xscale_, _x_) ((_x_) * (_xscale_)) -#define t_from_x_coord_y(_yscale_, _y_) (1.0 - (_y_) * (_yscale_)) -#define t_from_x_coord_y_inverted(_yscale_, _y_) ((_y_) * (_yscale_)) - -#define pixmap_priv_get_dest_scale(_pixmap_priv_, _pxscale_, _pyscale_) \ - do { \ - int _w_,_h_; \ - PIXMAP_PRIV_GET_ACTUAL_SIZE(_pixmap_priv_, _w_, _h_); \ - *(_pxscale_) = 1.0 / _w_; \ - *(_pyscale_) = 1.0 / _h_; \ - } while(0) - -#define pixmap_priv_get_scale(_pixmap_priv_, _pxscale_, _pyscale_) \ - do { \ - *(_pxscale_) = 1.0 / (_pixmap_priv_)->base.fbo->width; \ - *(_pyscale_) = 1.0 / (_pixmap_priv_)->base.fbo->height; \ - } while(0) - -#define GLAMOR_PIXMAP_FBO_NOT_EAXCT_SIZE(priv) \ - (priv->base.fbo->width != priv->base.pixmap->drawable.width \ - || priv->base.fbo->height != priv->base.pixmap->drawable.height) \ - -#define PIXMAP_PRIV_GET_ACTUAL_SIZE(priv, w, h) \ - do { \ - if (unlikely(priv->type == GLAMOR_TEXTURE_LARGE)) { \ - w = priv->large.box.x2 - priv->large.box.x1; \ - h = priv->large.box.y2 - priv->large.box.y1; \ - } else { \ - w = priv->base.pixmap->drawable.width; \ - h = priv->base.pixmap->drawable.height; \ - } \ - } while(0) - -#define glamor_pixmap_fbo_fix_wh_ratio(wh, priv) \ - do { \ - int actual_w, actual_h; \ - PIXMAP_PRIV_GET_ACTUAL_SIZE(priv, actual_w, actual_h); \ - wh[0] = (float)priv->base.fbo->width / actual_w; \ - wh[1] = (float)priv->base.fbo->height / actual_h; \ - wh[2] = 1.0 / priv->base.fbo->width; \ - wh[3] = 1.0 / priv->base.fbo->height; \ - } while(0) - -#define pixmap_priv_get_fbo_off(_priv_, _xoff_, _yoff_) \ - do { \ - if (unlikely(_priv_ && (_priv_)->type \ - == GLAMOR_TEXTURE_LARGE)) { \ - *(_xoff_) = - (_priv_)->large.box.x1; \ - *(_yoff_) = - (_priv_)->large.box.y1; \ - } else { \ - *(_xoff_) = 0; \ - *(_yoff_) = 0; \ - } \ - } while(0) - -#define xFixedToFloat(_val_) ((float)xFixedToInt(_val_) \ - + ((float)xFixedFrac(_val_) / 65536.0)) - -#define glamor_picture_get_matrixf(_picture_, _matrix_) \ - do { \ - int _i_; \ - if ((_picture_)->transform) \ - { \ - for(_i_ = 0; _i_ < 3; _i_++) \ - { \ - (_matrix_)[_i_ * 3 + 0] = \ - xFixedToFloat((_picture_)->transform->matrix[_i_][0]); \ - (_matrix_)[_i_ * 3 + 1] = \ - xFixedToFloat((_picture_)->transform->matrix[_i_][1]); \ - (_matrix_)[_i_ * 3 + 2] = \ - xFixedToFloat((_picture_)->transform->matrix[_i_][2]); \ - } \ - } \ - } while(0) - -#define fmod(x, w) (x - w * floor((float)x/w)) - -#define fmodulus(x, w, c) do {c = fmod(x, w); \ - c = c >= 0 ? c : c + w;} \ - while(0) -/* @x: is current coord - * @x2: is the right/bottom edge - * @w: is current width or height - * @odd: is output value, 0 means we are in an even region, 1 means we are in a - * odd region. - * @c: is output value, equal to x mod w. */ -#define fodd_repeat_mod(x, x2, w, odd, c) \ - do { \ - float shift; \ - fmodulus((x), w, c); \ - shift = fabs((x) - (c)); \ - shift = floor(fabs(round(shift)) / w); \ - odd = (int)shift & 1; \ - if (odd && (((x2 % w) == 0) && \ - round(fabs(x)) == x2)) \ - odd = 0; \ - } while(0) - -/* @txy: output value, is the corrected coords. - * @xy: input coords to be fixed up. - * @cd: xy mod wh, is a input value. - * @wh: current width or height. - * @bxy1,bxy2: current box edge's x1/x2 or y1/y2 - * - * case 1: - * ---------- - * | * | - * | | - * ---------- - * tx = (c - x1) mod w - * - * case 2: - * --------- - * * | | - * | | - * --------- - * tx = - (c - (x1 mod w)) - * - * case 3: - * - * ---------- - * | | * - * | | - * ---------- - * tx = ((x2 mod x) - c) + (x2 - x1) - **/ -#define __glamor_repeat_reflect_fixup(txy, xy, \ - cd, wh, bxy1, bxy2) \ - do { \ - cd = wh - cd; \ - if ( xy >= bxy1 && xy < bxy2) { \ - cd = cd - bxy1; \ - fmodulus(cd, wh, txy); \ - } else if (xy < bxy1) { \ - float bxy1_mod; \ - fmodulus(bxy1, wh, bxy1_mod); \ - txy = -(cd - bxy1_mod); \ - } \ - else if (xy >= bxy2) { \ - float bxy2_mod; \ - fmodulus(bxy2, wh, bxy2_mod); \ - if (bxy2_mod == 0) \ - bxy2_mod = wh; \ - txy = (bxy2_mod - cd) + bxy2 - bxy1; \ - } else {assert(0); txy = 0;} \ - } while(0) - -#define _glamor_repeat_reflect_fixup(txy, xy, cd, odd, \ - wh, bxy1, bxy2) \ - do { \ - if (odd) { \ - __glamor_repeat_reflect_fixup(txy, xy, \ - cd, wh, bxy1, bxy2); \ - } else \ - txy = xy - bxy1; \ - } while(0) - -#define _glamor_get_reflect_transform_coords(priv, repeat_type, \ - tx1, ty1, \ - _x1_, _y1_) \ - do { \ - int odd_x, odd_y; \ - float c, d; \ - fodd_repeat_mod(_x1_,priv->box.x2, \ - priv->base.pixmap->drawable.width, \ - odd_x, c); \ - fodd_repeat_mod(_y1_, priv->box.y2, \ - priv->base.pixmap->drawable.height, \ - odd_y, d); \ - DEBUGF("c %f d %f oddx %d oddy %d \n", \ - c, d, odd_x, odd_y); \ - DEBUGF("x2 %d x1 %d fbo->width %d \n", priv->box.x2, \ - priv->box.x1, priv->base.fbo->width); \ - DEBUGF("y2 %d y1 %d fbo->height %d \n", priv->box.y2, \ - priv->box.y1, priv->base.fbo->height); \ - _glamor_repeat_reflect_fixup(tx1, _x1_, c, odd_x, \ - priv->base.pixmap->drawable.width, \ - priv->box.x1, priv->box.x2); \ - _glamor_repeat_reflect_fixup(ty1, _y1_, d, odd_y, \ - priv->base.pixmap->drawable.height, \ - priv->box.y1, priv->box.y2); \ - } while(0) - -#define _glamor_get_repeat_coords(priv, repeat_type, tx1, \ - ty1, tx2, ty2, \ - _x1_, _y1_, _x2_, \ - _y2_, c, d, odd_x, odd_y) \ - do { \ - if (repeat_type == RepeatReflect) { \ - DEBUGF("x1 y1 %d %d\n", \ - _x1_, _y1_ ); \ - DEBUGF("width %d box.x1 %d \n", \ - (priv)->base.pixmap->drawable.width, \ - priv->box.x1); \ - if (odd_x) { \ - c = (priv)->base.pixmap->drawable.width \ - - c; \ - tx1 = c - priv->box.x1; \ - tx2 = tx1 - ((_x2_) - (_x1_)); \ - } else { \ - tx1 = c - priv->box.x1; \ - tx2 = tx1 + ((_x2_) - (_x1_)); \ - } \ - if (odd_y){ \ - d = (priv)->base.pixmap->drawable.height\ - - d; \ - ty1 = d - priv->box.y1; \ - ty2 = ty1 - ((_y2_) - (_y1_)); \ - } else { \ - ty1 = d - priv->box.y1; \ - ty2 = ty1 + ((_y2_) - (_y1_)); \ - } \ - } else { /* RepeatNormal*/ \ - tx1 = (c - priv->box.x1); \ - ty1 = (d - priv->box.y1); \ - tx2 = tx1 + ((_x2_) - (_x1_)); \ - ty2 = ty1 + ((_y2_) - (_y1_)); \ - } \ - } while(0) - - -/* _x1_ ... _y2_ may has fractional. */ -#define glamor_get_repeat_transform_coords(priv, repeat_type, tx1, \ - ty1, _x1_, _y1_) \ - do { \ - DEBUGF("width %d box.x1 %d x2 %d y1 %d y2 %d\n", \ - (priv)->base.pixmap->drawable.width, \ - priv->box.x1, priv->box.x2, priv->box.y1, \ - priv->box.y2); \ - DEBUGF("x1 %f y1 %f \n", _x1_, _y1_); \ - if (repeat_type != RepeatReflect) { \ - tx1 = _x1_ - priv->box.x1; \ - ty1 = _y1_ - priv->box.y1; \ - } else \ - _glamor_get_reflect_transform_coords(priv, repeat_type, \ - tx1, ty1, \ - _x1_, _y1_); \ - DEBUGF("tx1 %f ty1 %f \n", tx1, ty1); \ - } while(0) - -/* _x1_ ... _y2_ must be integer. */ -#define glamor_get_repeat_coords(priv, repeat_type, tx1, \ - ty1, tx2, ty2, _x1_, _y1_, _x2_, \ - _y2_) \ - do { \ - int c, d; \ - int odd_x = 0, odd_y = 0; \ - DEBUGF("width %d box.x1 %d x2 %d y1 %d y2 %d\n", \ - (priv)->base.pixmap->drawable.width, \ - priv->box.x1, priv->box.x2, \ - priv->box.y1, priv->box.y2); \ - modulus((_x1_), (priv)->base.pixmap->drawable.width, c); \ - modulus((_y1_), (priv)->base.pixmap->drawable.height, d); \ - DEBUGF("c %d d %d \n", c, d); \ - if (repeat_type == RepeatReflect) { \ - odd_x = abs((_x1_ - c) \ - / (priv->base.pixmap->drawable.width)) & 1; \ - odd_y = abs((_y1_ - d) \ - / (priv->base.pixmap->drawable.height)) & 1; \ - } \ - _glamor_get_repeat_coords(priv, repeat_type, tx1, ty1, tx2, ty2,\ - _x1_, _y1_, _x2_, _y2_, c, d, \ - odd_x, odd_y); \ - } while(0) - -#define glamor_transform_point(matrix, tx, ty, x, y) \ - do { \ - int _i_; \ - float _result_[4]; \ - for (_i_ = 0; _i_ < 3; _i_++) { \ - _result_[_i_] = (matrix)[_i_ * 3] * (x) + (matrix)[_i_ * 3 + 1] * (y) \ - + (matrix)[_i_ * 3 + 2]; \ - } \ - tx = _result_[0] / _result_[2]; \ - ty = _result_[1] / _result_[2]; \ - } while(0) - -#define _glamor_set_normalize_tpoint(xscale, yscale, _tx_, _ty_, \ - texcoord, yInverted) \ - do { \ - (texcoord)[0] = t_from_x_coord_x(xscale, _tx_); \ - if (likely(yInverted)) \ - (texcoord)[1] = t_from_x_coord_y_inverted(yscale, _ty_);\ - else \ - (texcoord)[1] = t_from_x_coord_y(yscale, _ty_); \ - DEBUGF("normalized point tx %f ty %f \n", (texcoord)[0], \ - (texcoord)[1]); \ - } while(0) - -#define glamor_set_transformed_point(priv, matrix, xscale, \ - yscale, texcoord, \ - x, y, \ - yInverted) \ - do { \ - float tx, ty; \ - int fbo_x_off, fbo_y_off; \ - pixmap_priv_get_fbo_off(priv, &fbo_x_off, &fbo_y_off); \ - glamor_transform_point(matrix, tx, ty, x, y); \ - DEBUGF("tx %f ty %f fbooff %d %d \n", \ - tx, ty, fbo_x_off, fbo_y_off); \ - \ - tx += fbo_x_off; \ - ty += fbo_y_off; \ - (texcoord)[0] = t_from_x_coord_x(xscale, tx); \ - if (likely(yInverted)) \ - (texcoord)[1] = t_from_x_coord_y_inverted(yscale, ty); \ - else \ - (texcoord)[1] = t_from_x_coord_y(yscale, ty); \ - DEBUGF("normalized tx %f ty %f \n", (texcoord)[0], (texcoord)[1]); \ - } while(0) - -#define glamor_set_transformed_normalize_tri_tcoords(priv, \ - matrix, \ - xscale, \ - yscale, \ - vtx, \ - yInverted, \ - texcoords) \ - do { \ - glamor_set_transformed_point(priv, matrix, xscale, yscale, \ - texcoords, (vtx)[0], (vtx)[1], \ - yInverted); \ - glamor_set_transformed_point(priv, matrix, xscale, yscale, \ - texcoords+2, (vtx)[2], (vtx)[3], \ - yInverted); \ - glamor_set_transformed_point(priv, matrix, xscale, yscale, \ - texcoords+4, (vtx)[4], (vtx)[5], \ - yInverted); \ - } while (0) - -#define glamor_set_transformed_normalize_tcoords_ext( priv, \ - matrix, \ - xscale, \ - yscale, \ - tx1, ty1, tx2, ty2, \ - yInverted, texcoords, \ - stride) \ - do { \ - glamor_set_transformed_point(priv, matrix, xscale, yscale, \ - texcoords, tx1, ty1, \ - yInverted); \ - glamor_set_transformed_point(priv, matrix, xscale, yscale, \ - texcoords + 1 * stride, tx2, ty1, \ - yInverted); \ - glamor_set_transformed_point(priv, matrix, xscale, yscale, \ - texcoords + 2 * stride, tx2, ty2, \ - yInverted); \ - glamor_set_transformed_point(priv, matrix, xscale, yscale, \ - texcoords + 3 * stride, tx1, ty2, \ - yInverted); \ - } while (0) - -#define glamor_set_transformed_normalize_tcoords( priv, \ - matrix, \ - xscale, \ - yscale, \ - tx1, ty1, tx2, ty2, \ - yInverted, texcoords) \ - do { \ - glamor_set_transformed_normalize_tcoords_ext( priv, \ - matrix, \ - xscale, \ - yscale, \ - tx1, ty1, tx2, ty2, \ - yInverted, texcoords, \ - 2); \ - } while (0) - - - -#define glamor_set_normalize_tri_tcoords(xscale, \ - yscale, \ - vtx, \ - yInverted, \ - texcoords) \ - do { \ - _glamor_set_normalize_tpoint(xscale, yscale, \ - (vtx)[0], (vtx)[1], \ - texcoords, \ - yInverted); \ - _glamor_set_normalize_tpoint(xscale, yscale, \ - (vtx)[2], (vtx)[3], \ - texcoords+2, \ - yInverted); \ - _glamor_set_normalize_tpoint(xscale, yscale, \ - (vtx)[4], (vtx)[5], \ - texcoords+4, \ - yInverted); \ - } while (0) - -#define glamor_set_repeat_transformed_normalize_tcoords_ext( priv, \ - repeat_type, \ - matrix, \ - xscale, \ - yscale, \ - _x1_, _y1_, \ - _x2_, _y2_, \ - yInverted, \ - texcoords, \ - stride) \ - do { \ - if (likely(priv->type != GLAMOR_TEXTURE_LARGE)) { \ - glamor_set_transformed_normalize_tcoords_ext(priv, matrix, xscale, \ - yscale, _x1_, _y1_, \ - _x2_, _y2_, yInverted, \ - texcoords, stride); \ - } else { \ - float tx1, ty1, tx2, ty2, tx3, ty3, tx4, ty4; \ - float ttx1, tty1, ttx2, tty2, ttx3, tty3, ttx4, tty4; \ - DEBUGF("original coords %d %d %d %d\n", _x1_, _y1_, _x2_, _y2_); \ - glamor_transform_point(matrix, tx1, ty1, _x1_, _y1_); \ - glamor_transform_point(matrix, tx2, ty2, _x2_, _y1_); \ - glamor_transform_point(matrix, tx3, ty3, _x2_, _y2_); \ - glamor_transform_point(matrix, tx4, ty4, _x1_, _y2_); \ - DEBUGF("transformed %f %f %f %f %f %f %f %f\n", \ - tx1, ty1, tx2, ty2, tx3, ty3, tx4, ty4); \ - glamor_get_repeat_transform_coords((&priv->large), repeat_type, \ - ttx1, tty1, \ - tx1, ty1); \ - glamor_get_repeat_transform_coords((&priv->large), repeat_type, \ - ttx2, tty2, \ - tx2, ty2); \ - glamor_get_repeat_transform_coords((&priv->large), repeat_type, \ - ttx3, tty3, \ - tx3, ty3); \ - glamor_get_repeat_transform_coords((&priv->large), repeat_type, \ - ttx4, tty4, \ - tx4, ty4); \ - DEBUGF("repeat transformed %f %f %f %f %f %f %f %f\n", ttx1, tty1, \ - ttx2, tty2, ttx3, tty3, ttx4, tty4); \ - _glamor_set_normalize_tpoint(xscale, yscale, ttx1, tty1, \ - texcoords, yInverted); \ - _glamor_set_normalize_tpoint(xscale, yscale, ttx2, tty2, \ - texcoords + 1 * stride, yInverted); \ - _glamor_set_normalize_tpoint(xscale, yscale, ttx3, tty3, \ - texcoords + 2 * stride, yInverted); \ - _glamor_set_normalize_tpoint(xscale, yscale, ttx4, tty4, \ - texcoords + 3 * stride, yInverted); \ - } \ - } while (0) - - -#define glamor_set_repeat_transformed_normalize_tcoords( priv, \ - repeat_type, \ - matrix, \ - xscale, \ - yscale, \ - _x1_, _y1_, \ - _x2_, _y2_, \ - yInverted, \ - texcoords) \ - do { \ - glamor_set_repeat_transformed_normalize_tcoords_ext( priv, \ - repeat_type, \ - matrix, \ - xscale, \ - yscale, \ - _x1_, _y1_, \ - _x2_, _y2_, \ - yInverted, \ - texcoords, \ - 2); \ - } while (0) - -#define _glamor_set_normalize_tcoords(xscale, yscale, tx1, \ - ty1, tx2, ty2, \ - yInverted, vertices, stride) \ - do { \ - /* vertices may be write-only, so we use following \ - * temporary variable. */ \ - float _t0_, _t1_, _t2_, _t5_; \ - (vertices)[0] = _t0_ = t_from_x_coord_x(xscale, tx1); \ - (vertices)[1 * stride] = _t2_ = t_from_x_coord_x(xscale, tx2); \ - (vertices)[2 * stride] = _t2_; \ - (vertices)[3 * stride] = _t0_; \ - if (likely(yInverted)) { \ - (vertices)[1] = _t1_ = t_from_x_coord_y_inverted(yscale, ty1); \ - (vertices)[2 * stride + 1] = _t5_ = t_from_x_coord_y_inverted(yscale, ty2);\ - } \ - else { \ - (vertices)[1] = _t1_ = t_from_x_coord_y(yscale, ty1); \ - (vertices)[2 * stride + 1] = _t5_ = t_from_x_coord_y(yscale, ty2);\ - } \ - (vertices)[1 * stride + 1] = _t1_; \ - (vertices)[3 * stride + 1] = _t5_; \ - } while(0) - -#define glamor_set_normalize_tcoords_ext(priv, xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices, stride) \ - do { \ - if (unlikely(priv->type == GLAMOR_TEXTURE_LARGE)) { \ - float tx1, tx2, ty1, ty2; \ - int fbo_x_off, fbo_y_off; \ - pixmap_priv_get_fbo_off(priv, &fbo_x_off, &fbo_y_off); \ - tx1 = x1 + fbo_x_off; \ - tx2 = x2 + fbo_x_off; \ - ty1 = y1 + fbo_y_off; \ - ty2 = y2 + fbo_y_off; \ - _glamor_set_normalize_tcoords(xscale, yscale, tx1, ty1, \ - tx2, ty2, yInverted, vertices, \ - stride); \ - } else \ - _glamor_set_normalize_tcoords(xscale, yscale, x1, y1, \ - x2, y2, yInverted, vertices, stride);\ - } while(0) - - -#define glamor_set_normalize_tcoords(priv, xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices) \ - do { \ - glamor_set_normalize_tcoords_ext(priv, xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices, 2); \ - } while(0) - -#define glamor_set_repeat_normalize_tcoords_ext(priv, repeat_type, \ - xscale, yscale, \ - _x1_, _y1_, _x2_, _y2_, \ - yInverted, vertices, stride)\ - do { \ - if (unlikely(priv->type == GLAMOR_TEXTURE_LARGE)) { \ - float tx1, tx2, ty1, ty2; \ - if (repeat_type == RepeatPad) { \ - tx1 = _x1_ - priv->large.box.x1; \ - ty1 = _y1_ - priv->large.box.y1; \ - tx2 = tx1 + ((_x2_) - (_x1_)); \ - ty2 = ty1 + ((_y2_) - (_y1_)); \ - } else { \ - glamor_get_repeat_coords((&priv->large), repeat_type, \ - tx1, ty1, tx2, ty2, \ - _x1_, _y1_, _x2_, _y2_); \ - } \ - _glamor_set_normalize_tcoords(xscale, yscale, tx1, ty1, \ - tx2, ty2, yInverted, vertices, \ - stride); \ - } else \ - _glamor_set_normalize_tcoords(xscale, yscale, _x1_, _y1_, \ - _x2_, _y2_, yInverted, vertices, \ - stride); \ - } while(0) - - -#define glamor_set_repeat_normalize_tcoords(priv, repeat_type, \ - xscale, yscale, \ - _x1_, _y1_, _x2_, _y2_, \ - yInverted, vertices) \ - do { \ - glamor_set_repeat_normalize_tcoords_ext(priv, repeat_type, \ - xscale, yscale, \ - _x1_, _y1_, _x2_, _y2_, \ - yInverted, vertices, 2); \ - } while(0) - -#define glamor_set_normalize_tcoords_tri_stripe(xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices) \ - do { \ - (vertices)[0] = t_from_x_coord_x(xscale, x1); \ - (vertices)[2] = t_from_x_coord_x(xscale, x2); \ - (vertices)[6] = (vertices)[2]; \ - (vertices)[4] = (vertices)[0]; \ - if (likely(yInverted)) { \ - (vertices)[1] = t_from_x_coord_y_inverted(yscale, y1); \ - (vertices)[7] = t_from_x_coord_y_inverted(yscale, y2); \ - } \ - else { \ - (vertices)[1] = t_from_x_coord_y(yscale, y1); \ - (vertices)[7] = t_from_x_coord_y(yscale, y2); \ - } \ - (vertices)[3] = (vertices)[1]; \ - (vertices)[5] = (vertices)[7]; \ - } while(0) - -#define glamor_set_tcoords(width, height, x1, y1, x2, y2, \ - yInverted, vertices) \ - do { \ - (vertices)[0] = (x1); \ - (vertices)[2] = (x2); \ - (vertices)[4] = (vertices)[2]; \ - (vertices)[6] = (vertices)[0]; \ - if (likely(yInverted)) { \ - (vertices)[1] = (y1); \ - (vertices)[5] = (y2); \ - } \ - else { \ - (vertices)[1] = height - (y2); \ - (vertices)[5] = height - (y1); \ - } \ - (vertices)[3] = (vertices)[1]; \ - (vertices)[7] = (vertices)[5]; \ - } while(0) - -#define glamor_set_tcoords_ext(width, height, x1, y1, x2, y2, \ - yInverted, vertices, stride) \ - do { \ - (vertices)[0] = (x1); \ - (vertices)[1*stride] = (x2); \ - (vertices)[2*stride] = (vertices)[1*stride]; \ - (vertices)[3*stride] = (vertices)[0]; \ - if (likely(yInverted)) { \ - (vertices)[1] = (y1); \ - (vertices)[2*stride + 1] = (y2); \ - } \ - else { \ - (vertices)[1] = height - (y2); \ - (vertices)[2*stride + 1] = height - (y1); \ - } \ - (vertices)[1*stride + 1] = (vertices)[1]; \ - (vertices)[3*stride + 1] = (vertices)[2*stride + 1]; \ - } while(0) - -#define glamor_set_normalize_one_vcoord(xscale, yscale, x, y, \ - yInverted, vertices) \ - do { \ - (vertices)[0] = v_from_x_coord_x(xscale, x); \ - if (likely(yInverted)) { \ - (vertices)[1] = v_from_x_coord_y_inverted(yscale, y); \ - } else { \ - (vertices)[1] = v_from_x_coord_y(yscale, y); \ - } \ - } while(0) - -#define glamor_set_normalize_tri_vcoords(xscale, yscale, vtx, \ - yInverted, vertices) \ - do { \ - glamor_set_normalize_one_vcoord(xscale, yscale, \ - (vtx)[0], (vtx)[1], \ - yInverted, vertices); \ - glamor_set_normalize_one_vcoord(xscale, yscale, \ - (vtx)[2], (vtx)[3], \ - yInverted, vertices+2); \ - glamor_set_normalize_one_vcoord(xscale, yscale, \ - (vtx)[4], (vtx)[5], \ - yInverted, vertices+4); \ - } while(0) - -#define glamor_set_tcoords_tri_strip(width, height, x1, y1, x2, y2, \ - yInverted, vertices) \ - do { \ - (vertices)[0] = (x1); \ - (vertices)[2] = (x2); \ - (vertices)[6] = (vertices)[2]; \ - (vertices)[4] = (vertices)[0]; \ - if (likely(yInverted)) { \ - (vertices)[1] = (y1); \ - (vertices)[7] = (y2); \ - } \ - else { \ - (vertices)[1] = height - (y2); \ - (vertices)[7] = height - (y1); \ - } \ - (vertices)[3] = (vertices)[1]; \ - (vertices)[5] = (vertices)[7]; \ - } while(0) - -#define glamor_set_normalize_vcoords_ext(priv, xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices, stride) \ - do { \ - int fbo_x_off, fbo_y_off; \ - /* vertices may be write-only, so we use following \ - * temporary variable. */ \ - float _t0_, _t1_, _t2_, _t5_; \ - pixmap_priv_get_fbo_off(priv, &fbo_x_off, &fbo_y_off); \ - (vertices)[0] = _t0_ = v_from_x_coord_x(xscale, x1 + fbo_x_off); \ - (vertices)[1 * stride] = _t2_ = v_from_x_coord_x(xscale, \ - x2 + fbo_x_off); \ - (vertices)[2 * stride] = _t2_; \ - (vertices)[3 * stride] = _t0_; \ - if (likely(yInverted)) { \ - (vertices)[1] = _t1_ = v_from_x_coord_y_inverted(yscale, \ - y1 + fbo_y_off); \ - (vertices)[2 * stride + 1] = _t5_ = \ - v_from_x_coord_y_inverted(yscale, \ - y2 + fbo_y_off); \ - } \ - else { \ - (vertices)[1] = _t1_ = v_from_x_coord_y(yscale, y1 + fbo_y_off); \ - (vertices)[2 * stride + 1] = _t5_ = v_from_x_coord_y(yscale, \ - y2 + fbo_y_off); \ - } \ - (vertices)[1 * stride + 1] = _t1_; \ - (vertices)[3 * stride + 1] = _t5_; \ - } while(0) - - -#define glamor_set_normalize_vcoords(priv, xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices) \ - do { \ - glamor_set_normalize_vcoords_ext(priv, xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices, 2); \ - } while(0) - -#define glamor_set_const_ext(params, nparam, vertices, nverts, stride) \ - do { \ - int _i_ = 0, _j_ = 0; \ - for(; _i_ < nverts; _i_++) { \ - for(_j_ = 0; _j_ < nparam; _j_++) { \ - vertices[stride*_i_ + _j_] = params[_j_]; \ - } \ - } \ - } while(0) - -#define glamor_set_normalize_vcoords_tri_strip(xscale, yscale, \ - x1, y1, x2, y2, \ - yInverted, vertices) \ - do { \ - (vertices)[0] = v_from_x_coord_x(xscale, x1); \ - (vertices)[2] = v_from_x_coord_x(xscale, x2); \ - (vertices)[6] = (vertices)[2]; \ - (vertices)[4] = (vertices)[0]; \ - if (likely(yInverted)) { \ - (vertices)[1] = v_from_x_coord_y_inverted(yscale, y1); \ - (vertices)[7] = v_from_x_coord_y_inverted(yscale, y2); \ - } \ - else { \ - (vertices)[1] = v_from_x_coord_y(yscale, y1); \ - (vertices)[7] = v_from_x_coord_y(yscale, y2); \ - } \ - (vertices)[3] = (vertices)[1]; \ - (vertices)[5] = (vertices)[7]; \ - } while(0) - -#define glamor_set_normalize_pt(xscale, yscale, x, y, \ - yInverted, pt) \ - do { \ - (pt)[0] = t_from_x_coord_x(xscale, x); \ - if (likely(yInverted)) { \ - (pt)[1] = t_from_x_coord_y_inverted(yscale, y); \ - } else { \ - (pt)[1] = t_from_x_coord_y(yscale, y); \ - } \ - } while(0) - -#define glamor_set_circle_centre(width, height, x, y, \ - yInverted, c) \ - do { \ - (c)[0] = (float)x; \ - if (likely(yInverted)) { \ - (c)[1] = (float)y; \ - } else { \ - (c)[1] = (float)height - (float)y; \ - } \ - } while(0) - -inline static void -glamor_calculate_boxes_bound(BoxPtr bound, BoxPtr boxes, int nbox) -{ - int x_min, y_min; - int x_max, y_max; - int i; - x_min = y_min = MAXSHORT; - x_max = y_max = MINSHORT; - for (i = 0; i < nbox; i++) { - if (x_min > boxes[i].x1) - x_min = boxes[i].x1; - if (y_min > boxes[i].y1) - y_min = boxes[i].y1; - - if (x_max < boxes[i].x2) - x_max = boxes[i].x2; - if (y_max < boxes[i].y2) - y_max = boxes[i].y2; - } - bound->x1 = x_min; - bound->y1 = y_min; - bound->x2 = x_max; - bound->y2 = y_max; -} - -inline static void -glamor_translate_boxes(BoxPtr boxes, int nbox, int dx, int dy) -{ - int i; - for (i = 0; i < nbox; i++) { - boxes[i].x1 += dx; - boxes[i].y1 += dy; - boxes[i].x2 += dx; - boxes[i].y2 += dy; - } -} - -static inline Bool -region_is_empty(pixman_region16_t *region) -{ - return region->data && region->data->numRects == 0; -} - -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) -#endif - -#define ALIGN(i,m) (((i) + (m) - 1) & ~((m) - 1)) -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#define MAX(a,b) ((a) > (b) ? (a) : (b)) - -#define glamor_check_fbo_size(_glamor_,_w_, _h_) ((_w_) > 0 && (_h_) > 0 \ - && (_w_) <= _glamor_->max_fbo_size \ - && (_h_) <= _glamor_->max_fbo_size) - -/* For 1bpp pixmap, we don't store it as texture. */ -#define glamor_check_pixmap_fbo_depth(_depth_) ( \ - _depth_ == 8 \ - || _depth_ == 15 \ - || _depth_ == 16 \ - || _depth_ == 24 \ - || _depth_ == 30 \ - || _depth_ == 32) - -#define GLAMOR_PIXMAP_PRIV_IS_PICTURE(pixmap_priv) (pixmap_priv && pixmap_priv->base.is_picture == 1) -#define GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv) (pixmap_priv && pixmap_priv->base.gl_fbo == GLAMOR_FBO_NORMAL) -#define GLAMOR_PIXMAP_PRIV_HAS_FBO_DOWNLOADED(pixmap_priv) (pixmap_priv && (pixmap_priv->base.gl_fbo == GLAMOR_FBO_DOWNLOADED)) - -/** - * Borrow from uxa. - */ -static inline CARD32 -format_for_depth(int depth) -{ - switch (depth) { - case 1: - return PICT_a1; - case 4: - return PICT_a4; - case 8: - return PICT_a8; - case 15: - return PICT_x1r5g5b5; - case 16: - return PICT_r5g6b5; - default: - case 24: - return PICT_x8r8g8b8; -#if XORG_VERSION_CURRENT >= 10699900 - case 30: - return PICT_x2r10g10b10; -#endif - case 32: - return PICT_a8r8g8b8; - } -} - -static inline void -gl_iformat_for_depth(int depth, GLenum * format) -{ - switch (depth) { -#ifndef GLAMOR_GLES2 - case 1: - case 8: - *format = GL_ALPHA; - break; -#endif - default: - *format = GL_RGBA; - break; - } -} - -static inline CARD32 -format_for_pixmap(PixmapPtr pixmap) -{ - glamor_pixmap_private *pixmap_priv; - PictFormatShort pict_format; - - pixmap_priv = glamor_get_pixmap_private(pixmap); - if (GLAMOR_PIXMAP_PRIV_IS_PICTURE(pixmap_priv)) - pict_format = pixmap_priv->base.picture->format; - else - pict_format = format_for_depth(pixmap->drawable.depth); - - return pict_format; -} - -#define REVERT_NONE 0 -#define REVERT_NORMAL 1 -#define REVERT_DOWNLOADING_A1 2 -#define REVERT_UPLOADING_A1 3 -#define REVERT_DOWNLOADING_2_10_10_10 4 -#define REVERT_UPLOADING_2_10_10_10 5 -#define REVERT_DOWNLOADING_1_5_5_5 7 -#define REVERT_UPLOADING_1_5_5_5 8 -#define REVERT_DOWNLOADING_10_10_10_2 9 -#define REVERT_UPLOADING_10_10_10_2 10 - -#define SWAP_NONE_DOWNLOADING 0 -#define SWAP_DOWNLOADING 1 -#define SWAP_UPLOADING 2 -#define SWAP_NONE_UPLOADING 3 - -/* - * Map picture's format to the correct gl texture format and type. - * no_alpha is used to indicate whehter we need to wire alpha to 1. - * - * Although opengl support A1/GL_BITMAP, we still don't use it - * here, it seems that mesa has bugs when uploading a A1 bitmap. - * - * Return 0 if find a matched texture type. Otherwise return -1. - **/ -#ifndef GLAMOR_GLES2 -static inline int -glamor_get_tex_format_type_from_pictformat(PictFormatShort format, - GLenum * tex_format, - GLenum * tex_type, - int *no_alpha, - int *revert, - int *swap_rb, - int is_upload) - -{ - *no_alpha = 0; - *revert = REVERT_NONE; - *swap_rb = is_upload ? SWAP_NONE_UPLOADING : SWAP_NONE_DOWNLOADING; - switch (format) { - case PICT_a1: - *tex_format = GL_ALPHA; - *tex_type = GL_UNSIGNED_BYTE; - *revert = is_upload ? REVERT_UPLOADING_A1 : REVERT_DOWNLOADING_A1; - break; - case PICT_b8g8r8x8: - *no_alpha = 1; - case PICT_b8g8r8a8: - *tex_format = GL_BGRA; - *tex_type = GL_UNSIGNED_INT_8_8_8_8; - break; - - case PICT_x8r8g8b8: - *no_alpha = 1; - case PICT_a8r8g8b8: - *tex_format = GL_BGRA; - *tex_type = GL_UNSIGNED_INT_8_8_8_8_REV; - break; - case PICT_x8b8g8r8: - *no_alpha = 1; - case PICT_a8b8g8r8: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_INT_8_8_8_8_REV; - break; - case PICT_x2r10g10b10: - *no_alpha = 1; - case PICT_a2r10g10b10: - *tex_format = GL_BGRA; - *tex_type = GL_UNSIGNED_INT_2_10_10_10_REV; - break; - case PICT_x2b10g10r10: - *no_alpha = 1; - case PICT_a2b10g10r10: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_INT_2_10_10_10_REV; - break; - - case PICT_r5g6b5: - *tex_format = GL_RGB; - *tex_type = GL_UNSIGNED_SHORT_5_6_5; - break; - case PICT_b5g6r5: - *tex_format = GL_RGB; - *tex_type = GL_UNSIGNED_SHORT_5_6_5_REV; - break; - case PICT_x1b5g5r5: - *no_alpha = 1; - case PICT_a1b5g5r5: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_SHORT_1_5_5_5_REV; - break; - - case PICT_x1r5g5b5: - *no_alpha = 1; - case PICT_a1r5g5b5: - *tex_format = GL_BGRA; - *tex_type = GL_UNSIGNED_SHORT_1_5_5_5_REV; - break; - case PICT_a8: - *tex_format = GL_ALPHA; - *tex_type = GL_UNSIGNED_BYTE; - break; - case PICT_x4r4g4b4: - *no_alpha = 1; - case PICT_a4r4g4b4: - *tex_format = GL_BGRA; - *tex_type = GL_UNSIGNED_SHORT_4_4_4_4_REV; - break; - - case PICT_x4b4g4r4: - *no_alpha = 1; - case PICT_a4b4g4r4: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_SHORT_4_4_4_4_REV; - break; - - default: - LogMessageVerb(X_INFO, 0, - "fail to get matched format for %x \n", - format); - return -1; - } - return 0; -} - -/* Currently, we use RGBA to represent all formats. */ -inline static int cache_format(GLenum format) -{ - switch (format) { - case GL_ALPHA: - return 1; - case GL_RGBA: - return 0; - default: - return -1; - } -} - -#else -#define IS_LITTLE_ENDIAN (IMAGE_BYTE_ORDER == LSBFirst) - -static inline int -glamor_get_tex_format_type_from_pictformat(PictFormatShort format, - GLenum * tex_format, - GLenum * tex_type, - int *no_alpha, - int *revert, - int *swap_rb, - int is_upload) -{ - int need_swap_rb = 0; - - *no_alpha = 0; - *revert = IS_LITTLE_ENDIAN ? REVERT_NONE : REVERT_NORMAL; - - switch (format) { - case PICT_b8g8r8x8: - *no_alpha = 1; - case PICT_b8g8r8a8: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_BYTE; - need_swap_rb = 1; - *revert = IS_LITTLE_ENDIAN ? REVERT_NORMAL : REVERT_NONE; - break; - - case PICT_x8r8g8b8: - *no_alpha = 1; - case PICT_a8r8g8b8: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_BYTE; - need_swap_rb = 1; - break; - - case PICT_x8b8g8r8: - *no_alpha = 1; - case PICT_a8b8g8r8: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_BYTE; - break; - - case PICT_x2r10g10b10: - *no_alpha = 1; - case PICT_a2r10g10b10: - *tex_format = GL_RGBA; - /* glReadPixmap doesn't support GL_UNSIGNED_INT_10_10_10_2. - * we have to use GL_UNSIGNED_BYTE and do the conversion in - * shader latter.*/ - *tex_type = GL_UNSIGNED_BYTE; - if (is_upload == 1) { - if (!IS_LITTLE_ENDIAN) - *revert = REVERT_UPLOADING_10_10_10_2; - else - *revert = REVERT_UPLOADING_2_10_10_10; - } - else { - if (!IS_LITTLE_ENDIAN) { - *revert = REVERT_DOWNLOADING_10_10_10_2; - } - else { - *revert = REVERT_DOWNLOADING_2_10_10_10; - } - } - need_swap_rb = 1; - - break; - - case PICT_x2b10g10r10: - *no_alpha = 1; - case PICT_a2b10g10r10: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_BYTE; - if (is_upload == 1) { - if (!IS_LITTLE_ENDIAN) - *revert = REVERT_UPLOADING_10_10_10_2; - else - *revert = REVERT_UPLOADING_2_10_10_10; - } - else { - if (!IS_LITTLE_ENDIAN) { - *revert = REVERT_DOWNLOADING_10_10_10_2; - } - else { - *revert = REVERT_DOWNLOADING_2_10_10_10; - } - } - break; - - case PICT_r5g6b5: - *tex_format = GL_RGB; - *tex_type = GL_UNSIGNED_SHORT_5_6_5; - *revert = IS_LITTLE_ENDIAN ? REVERT_NONE : REVERT_NORMAL; - - break; - - case PICT_b5g6r5: - *tex_format = GL_RGB; - *tex_type = GL_UNSIGNED_SHORT_5_6_5; - need_swap_rb = IS_LITTLE_ENDIAN ? 1 : 0;; - break; - - case PICT_x1b5g5r5: - *no_alpha = 1; - case PICT_a1b5g5r5: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_SHORT_5_5_5_1; - if (IS_LITTLE_ENDIAN) { - *revert = is_upload ? REVERT_UPLOADING_1_5_5_5 : REVERT_DOWNLOADING_1_5_5_5; - } else - *revert = REVERT_NONE; - break; - - case PICT_x1r5g5b5: - *no_alpha = 1; - case PICT_a1r5g5b5: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_SHORT_5_5_5_1; - if (IS_LITTLE_ENDIAN) { - *revert = is_upload ? REVERT_UPLOADING_1_5_5_5 : REVERT_DOWNLOADING_1_5_5_5; - } else - *revert = REVERT_NONE; - need_swap_rb = 1; - break; - - case PICT_a1: - *tex_format = GL_ALPHA; - *tex_type = GL_UNSIGNED_BYTE; - *revert = is_upload ? REVERT_UPLOADING_A1 : REVERT_DOWNLOADING_A1; - break; - - case PICT_a8: - *tex_format = GL_ALPHA; - *tex_type = GL_UNSIGNED_BYTE; - *revert = REVERT_NONE; - break; - - case PICT_x4r4g4b4: - *no_alpha = 1; - case PICT_a4r4g4b4: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_SHORT_4_4_4_4; - *revert = IS_LITTLE_ENDIAN ? REVERT_NORMAL : REVERT_NONE; - need_swap_rb = 1; - break; - - case PICT_x4b4g4r4: - *no_alpha = 1; - case PICT_a4b4g4r4: - *tex_format = GL_RGBA; - *tex_type = GL_UNSIGNED_SHORT_4_4_4_4; - *revert = IS_LITTLE_ENDIAN ? REVERT_NORMAL : REVERT_NONE; - break; - - default: - LogMessageVerb(X_INFO, 0, - "fail to get matched format for %x \n", - format); - return -1; - } - - if (need_swap_rb) - *swap_rb = is_upload ? SWAP_UPLOADING : SWAP_DOWNLOADING; - else - *swap_rb = is_upload ? SWAP_NONE_UPLOADING : SWAP_NONE_DOWNLOADING; - return 0; -} - -inline static int cache_format(GLenum format) -{ - switch (format) { - case GL_ALPHA: - return 2; - case GL_RGB: - return 1; - case GL_RGBA: - return 0; - default: - return -1; - } -} - -#endif - - -static inline int -glamor_get_tex_format_type_from_pixmap(PixmapPtr pixmap, - GLenum * format, - GLenum * type, - int *no_alpha, - int *revert, - int *swap_rb, - int is_upload) -{ - glamor_pixmap_private *pixmap_priv; - PictFormatShort pict_format; - - pixmap_priv = glamor_get_pixmap_private(pixmap); - if (GLAMOR_PIXMAP_PRIV_IS_PICTURE(pixmap_priv)) - pict_format = pixmap_priv->base.picture->format; - else - pict_format = format_for_depth(pixmap->drawable.depth); - - return glamor_get_tex_format_type_from_pictformat(pict_format, - format, type, - no_alpha, - revert, - swap_rb, - is_upload); -} - - -/* borrowed from uxa */ -static inline Bool -glamor_get_rgba_from_pixel(CARD32 pixel, - float *red, - float *green, - float *blue, float *alpha, CARD32 format) -{ - int rbits, bbits, gbits, abits; - int rshift, bshift, gshift, ashift; - - rbits = PICT_FORMAT_R(format); - gbits = PICT_FORMAT_G(format); - bbits = PICT_FORMAT_B(format); - abits = PICT_FORMAT_A(format); - - if (PICT_FORMAT_TYPE(format) == PICT_TYPE_A) { - rshift = gshift = bshift = ashift = 0; - } else if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ARGB) { - bshift = 0; - gshift = bbits; - rshift = gshift + gbits; - ashift = rshift + rbits; - } else if (PICT_FORMAT_TYPE(format) == PICT_TYPE_ABGR) { - rshift = 0; - gshift = rbits; - bshift = gshift + gbits; - ashift = bshift + bbits; -#if XORG_VERSION_CURRENT >= 10699900 - } else if (PICT_FORMAT_TYPE(format) == PICT_TYPE_BGRA) { - ashift = 0; - rshift = abits; - if (abits == 0) - rshift = PICT_FORMAT_BPP(format) - (rbits + gbits + - bbits); - gshift = rshift + rbits; - bshift = gshift + gbits; -#endif - } else { - return FALSE; - } -#define COLOR_INT_TO_FLOAT(_fc_, _p_, _s_, _bits_) \ - *_fc_ = (((_p_) >> (_s_)) & (( 1 << (_bits_)) - 1)) \ - / (float)((1<<(_bits_)) - 1) - - if (rbits) - COLOR_INT_TO_FLOAT(red, pixel, rshift, rbits); - else - *red = 0; - - if (gbits) - COLOR_INT_TO_FLOAT(green, pixel, gshift, gbits); - else - *green = 0; - - if (bbits) - COLOR_INT_TO_FLOAT(blue, pixel, bshift, bbits); - else - *blue = 0; - - if (abits) - COLOR_INT_TO_FLOAT(alpha, pixel, ashift, abits); - else - *alpha = 1; - - return TRUE; -} - -inline static Bool glamor_pict_format_is_compatible(PictFormatShort pict_format, int depth) -{ - GLenum iformat; - - gl_iformat_for_depth(depth, &iformat); - switch (iformat) { - case GL_RGBA: - return (pict_format == PICT_a8r8g8b8 || pict_format == PICT_x8r8g8b8); - case GL_ALPHA: - return (pict_format == PICT_a8); - default: - return FALSE; - } -} - -/* return TRUE if we can access this pixmap at DDX driver. */ -inline static Bool glamor_ddx_fallback_check_pixmap(DrawablePtr drawable) -{ - PixmapPtr pixmap = glamor_get_drawable_pixmap(drawable); - glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap); - return (!pixmap_priv - || (pixmap_priv->type == GLAMOR_TEXTURE_DRM - || pixmap_priv->type == GLAMOR_MEMORY - || pixmap_priv->type == GLAMOR_DRM_ONLY)); -} - -inline static Bool glamor_ddx_fallback_check_gc(GCPtr gc) -{ - PixmapPtr pixmap; - if (!gc) - return TRUE; - switch (gc->fillStyle) { - case FillStippled: - case FillOpaqueStippled: - pixmap = gc->stipple; - break; - case FillTiled: - pixmap = gc->tile.pixmap; - break; - default: - pixmap = NULL; - } - return (!pixmap || glamor_ddx_fallback_check_pixmap(&pixmap->drawable)); -} -inline static Bool glamor_is_large_pixmap(PixmapPtr pixmap) -{ - glamor_pixmap_private *priv; - - priv = glamor_get_pixmap_private(pixmap); - return (priv->type == GLAMOR_TEXTURE_LARGE); -} - -inline static Bool glamor_is_large_picture(PicturePtr picture) -{ - PixmapPtr pixmap; - - if (picture->pDrawable) { - pixmap = glamor_get_drawable_pixmap(picture->pDrawable); - return glamor_is_large_pixmap(pixmap); - } - return FALSE; -} - -inline static Bool glamor_tex_format_is_readable(GLenum format) -{ - return ((format == GL_RGBA || format == GL_RGB || format == GL_ALPHA)); - -} - -static inline void _glamor_dump_pixmap_bits(PixmapPtr pixmap, int x, int y, int w, int h) -{ - int i,j; - unsigned char * p = pixmap->devPrivate.ptr; - int stride = pixmap->devKind; - - p = p + y * stride + x; - - for (i = 0; i < h; i++) - { - ErrorF("line %3d: ", i); - for(j = 0; j < w; j++) - ErrorF("%2d ", (p[j/8] & (1 << (j%8)))>>(j%8)); - p += stride; - ErrorF("\n"); - } -} - -static inline void _glamor_dump_pixmap_byte(PixmapPtr pixmap, int x, int y, int w, int h) -{ - int i,j; - unsigned char * p = pixmap->devPrivate.ptr; - int stride = pixmap->devKind; - - p = p + y * stride + x; - - for (i = 0; i < h; i++) - { - ErrorF("line %3d: ", i); - for(j = 0; j < w; j++) - ErrorF("%2x ", p[j]); - p += stride; - ErrorF("\n"); - } -} - -static inline void _glamor_dump_pixmap_sword(PixmapPtr pixmap, int x, int y, int w, int h) -{ - int i,j; - unsigned short * p = pixmap->devPrivate.ptr; - int stride = pixmap->devKind / 2; - - p = p + y * stride + x; - - for (i = 0; i < h; i++) - { - ErrorF("line %3d: ", i); - for(j = 0; j < w; j++) - ErrorF("%2x ", p[j]); - p += stride; - ErrorF("\n"); - } -} - -static inline void _glamor_dump_pixmap_word(PixmapPtr pixmap, int x, int y, int w, int h) -{ - int i,j; - unsigned int * p = pixmap->devPrivate.ptr; - int stride = pixmap->devKind / 4; - - p = p + y * stride + x; - - for (i = 0; i < h; i++) - { - ErrorF("line %3d: ", i); - for(j = 0; j < w; j++) - ErrorF("%2x ", p[j]); - p += stride; - ErrorF("\n"); - } -} - -static inline void glamor_dump_pixmap(PixmapPtr pixmap, int x, int y, int w, int h) -{ - w = ((x + w) > pixmap->drawable.width) ? (pixmap->drawable.width - x) : w; - h = ((y + h) > pixmap->drawable.height) ? (pixmap->drawable.height - y) : h; - - glamor_prepare_access(&pixmap->drawable, GLAMOR_ACCESS_RO); - switch (pixmap->drawable.depth) { - case 8: - _glamor_dump_pixmap_byte(pixmap, x, y, w, h); - break; - case 15: - case 16: - _glamor_dump_pixmap_sword(pixmap, x, y, w, h); - break; - - case 24: - case 32: - _glamor_dump_pixmap_word(pixmap, x, y, w, h); - break; - case 1: - _glamor_dump_pixmap_bits(pixmap, x, y, w, h); - break; - default: - ErrorF("dump depth %d, not implemented.\n", pixmap->drawable.depth); - } - glamor_finish_access(&pixmap->drawable, GLAMOR_ACCESS_RO); -} - -static inline void _glamor_compare_pixmaps(PixmapPtr pixmap1, PixmapPtr pixmap2, - int x, int y, int w, int h, - PictFormatShort short_format, - int all, int diffs) -{ - int i, j; - unsigned char * p1 = pixmap1->devPrivate.ptr; - unsigned char * p2 = pixmap2->devPrivate.ptr; - int line_need_printed = 0; - int test_code = 0xAABBCCDD; - int little_endian = 0; - unsigned char *p_test; - int bpp = pixmap1->drawable.depth == 8 ? 1 : 4; - int stride = pixmap1->devKind; - - assert(pixmap1->devKind == pixmap2->devKind); - - ErrorF("stride:%d, width:%d, height:%d\n", stride, w, h); - - p1 = p1 + y * stride + x; - p2 = p2 + y * stride + x; - - if (all) { - for (i = 0; i < h; i++) { - ErrorF("line %3d: ", i); - - for (j = 0; j < stride; j++) { - if (j % bpp == 0) - ErrorF("[%d]%2x:%2x ", j / bpp, p1[j], p2[j]); - else - ErrorF("%2x:%2x ", p1[j], p2[j]); - } - - p1 += stride; - p2 += stride; - ErrorF("\n"); - } - } else { - if (short_format == PICT_a8r8g8b8) { - p_test = (unsigned char *) & test_code; - little_endian = (*p_test == 0xDD); - bpp = 4; - - for (i = 0; i < h; i++) { - line_need_printed = 0; - - for (j = 0; j < stride; j++) { - if (p1[j] != p2[j] && (p1[j] - p2[j] > diffs || p2[j] - p1[j] > diffs)) { - if (line_need_printed) { - if (little_endian) { - switch (j % 4) { - case 2: - ErrorF("[%d]RED:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - case 1: - ErrorF("[%d]GREEN:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - case 0: - ErrorF("[%d]BLUE:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - case 3: - ErrorF("[%d]Alpha:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - } - } else { - switch (j % 4) { - case 1: - ErrorF("[%d]RED:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - case 2: - ErrorF("[%d]GREEN:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - case 3: - ErrorF("[%d]BLUE:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - case 0: - ErrorF("[%d]Alpha:%2x:%2x ", j / bpp, p1[j], p2[j]); - break; - } - } - } else { - line_need_printed = 1; - j = -1; - ErrorF("line %3d: ", i); - continue; - } - } - } - - p1 += stride; - p2 += stride; - ErrorF("\n"); - } - } //more format can be added here. - else { // the default format, just print. - for (i = 0; i < h; i++) { - line_need_printed = 0; - - for (j = 0; j < stride; j++) { - if (p1[j] != p2[j]) { - if (line_need_printed) { - ErrorF("[%d]%2x:%2x ", j / bpp, p1[j], p2[j]); - } else { - line_need_printed = 1; - j = -1; - ErrorF("line %3d: ", i); - continue; - } - } - } - - p1 += stride; - p2 += stride; - ErrorF("\n"); - } - } - } -} - -static inline void glamor_compare_pixmaps(PixmapPtr pixmap1, PixmapPtr pixmap2, - int x, int y, int w, int h, int all, int diffs) -{ - assert(pixmap1->drawable.depth == pixmap2->drawable.depth); - - glamor_prepare_access(&pixmap1->drawable, GLAMOR_ACCESS_RO); - glamor_prepare_access(&pixmap2->drawable, GLAMOR_ACCESS_RO); - - _glamor_compare_pixmaps(pixmap1, pixmap2, x, y, w, h, -1, all, diffs); - - glamor_finish_access(&pixmap1->drawable, GLAMOR_ACCESS_RO); - glamor_finish_access(&pixmap2->drawable, GLAMOR_ACCESS_RO); -} - -/* This function is used to compare two pictures. - If the picture has no drawable, we use fb functions to generate it. */ -static inline void glamor_compare_pictures( ScreenPtr screen, - PicturePtr fst_picture, - PicturePtr snd_picture, - int x_source, int y_source, - int width, int height, - int all, int diffs) -{ - PixmapPtr fst_pixmap; - PixmapPtr snd_pixmap; - int fst_generated, snd_generated; - int error; - int fst_type = -1; - int snd_type = -1; // -1 represent has drawable. - - if (fst_picture->format != snd_picture->format) { - ErrorF("Different picture format can not compare!\n"); - return; - } - - if (!fst_picture->pDrawable) { - fst_type = fst_picture->pSourcePict->type; - } - - if (!snd_picture->pDrawable) { - snd_type = snd_picture->pSourcePict->type; - } - - if ((fst_type != -1) && (snd_type != -1) && (fst_type != snd_type)) { - ErrorF("Different picture type will never be same!\n"); - return; - } - - fst_generated = snd_generated = 0; - - if (!fst_picture->pDrawable) { - PicturePtr pixman_pic; - PixmapPtr pixmap = NULL; - PictFormatShort format; - - format = fst_picture->format; - - pixmap = glamor_create_pixmap(screen, - width, height, - PIXMAN_FORMAT_DEPTH(format), - GLAMOR_CREATE_PIXMAP_CPU); - - pixman_pic = CreatePicture(0, - &pixmap->drawable, - PictureMatchFormat(screen, - PIXMAN_FORMAT_DEPTH(format), format), - 0, 0, serverClient, &error); - - fbComposite(PictOpSrc, fst_picture, NULL, pixman_pic, - x_source, y_source, - 0, 0, - 0, 0, - width, height); - - glamor_destroy_pixmap(pixmap); - - fst_picture = pixman_pic; - fst_generated = 1; - } - - if (!snd_picture->pDrawable) { - PicturePtr pixman_pic; - PixmapPtr pixmap = NULL; - PictFormatShort format; - - format = snd_picture->format; - - pixmap = glamor_create_pixmap(screen, - width, height, - PIXMAN_FORMAT_DEPTH(format), - GLAMOR_CREATE_PIXMAP_CPU); - - pixman_pic = CreatePicture(0, - &pixmap->drawable, - PictureMatchFormat(screen, - PIXMAN_FORMAT_DEPTH(format), format), - 0, 0, serverClient, &error); - - fbComposite(PictOpSrc, snd_picture, NULL, pixman_pic, - x_source, y_source, - 0, 0, - 0, 0, - width, height); - - glamor_destroy_pixmap(pixmap); - - snd_picture = pixman_pic; - snd_generated = 1; - } - - fst_pixmap = glamor_get_drawable_pixmap(fst_picture->pDrawable); - snd_pixmap = glamor_get_drawable_pixmap(snd_picture->pDrawable); - - if (fst_pixmap->drawable.depth != snd_pixmap->drawable.depth) { - if (fst_generated) - glamor_destroy_picture(fst_picture); - if (snd_generated) - glamor_destroy_picture(snd_picture); - - ErrorF("Different pixmap depth can not compare!\n"); - return; - } - - glamor_prepare_access(&fst_pixmap->drawable, GLAMOR_ACCESS_RO); - glamor_prepare_access(&snd_pixmap->drawable, GLAMOR_ACCESS_RO); - - if ((fst_type == SourcePictTypeLinear) || - (fst_type == SourcePictTypeRadial) || - (fst_type == SourcePictTypeConical) || - (snd_type == SourcePictTypeLinear) || - (snd_type == SourcePictTypeRadial) || - (snd_type == SourcePictTypeConical)) { - x_source = y_source = 0; - } - - _glamor_compare_pixmaps(fst_pixmap, snd_pixmap, - x_source, y_source, - width, height, - fst_picture->format, all, diffs); - - glamor_finish_access(&fst_pixmap->drawable, GLAMOR_ACCESS_RO); - glamor_finish_access(&snd_pixmap->drawable, GLAMOR_ACCESS_RO); - - if (fst_generated) - glamor_destroy_picture(fst_picture); - if (snd_generated) - glamor_destroy_picture(snd_picture); - - return; -} - -#ifdef __i386__ -static inline unsigned long __fls(unsigned long x) -{ - asm("bsr %1,%0" - : "=r" (x) - : "rm" (x)); - return x; -} -#else -static inline unsigned long __fls(unsigned long x) -{ - int n; - - if (x == 0) return(0); - n = 0; - if (x <= 0x0000FFFF) {n = n +16; x = x <<16;} - if (x <= 0x00FFFFFF) {n = n + 8; x = x << 8;} - if (x <= 0x0FFFFFFF) {n = n + 4; x = x << 4;} - if (x <= 0x3FFFFFFF) {n = n + 2; x = x << 2;} - if (x <= 0x7FFFFFFF) {n = n + 1;} - return 31 - n; -} -#endif - -static inline void glamor_make_current(ScreenPtr screen) -{ - glamor_egl_make_current(screen); -} - -static inline void glamor_restore_current(ScreenPtr screen) -{ - glamor_egl_restore_context(screen); -} - -#ifdef GLX_USE_SHARED_DISPATCH -static inline glamor_gl_dispatch * -glamor_get_dispatch(glamor_screen_private *glamor_priv) -{ - if (glamor_priv->flags & GLAMOR_USE_EGL_SCREEN) - glamor_make_current(glamor_priv->screen); - - return &glamor_priv->_dispatch; -} - -static inline void -glamor_put_dispatch(glamor_screen_private *glamor_priv) -{ - if (glamor_priv->flags & GLAMOR_USE_EGL_SCREEN) - glamor_restore_current(glamor_priv->screen); -} -#else -#warning "Indirect GLX may be broken, need to implement context switch." -static inline glamor_gl_dispatch * -glamor_get_dispatch(glamor_screen_private *glamor_priv) -{ - return &glamor_priv->_dispatch; -} - -static inline void -glamor_put_dispatch(glamor_screen_private *glamor_priv) -{ -} - -#endif - -#endif diff --git a/extra/glamor-egl/glapi.h b/extra/glamor-egl/glapi.h deleted file mode 100644 index d510dac1d..000000000 --- a/extra/glamor-egl/glapi.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 7.1 - * - * Copyright (C) 1999-2008 Brian Paul 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 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 - * BRIAN PAUL 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. - */ - - -/** - * \mainpage Mesa GL API Module - * - * \section GLAPIIntroduction Introduction - * - * The Mesa GL API module is responsible for dispatching all the - * gl*() functions. All GL functions are dispatched by jumping through - * the current dispatch table (basically a struct full of function - * pointers.) - * - * A per-thread current dispatch table and per-thread current context - * pointer are managed by this module too. - * - * This module is intended to be non-Mesa-specific so it can be used - * with the X/DRI libGL also. - */ - -#ifndef _GLAPI_H -#define _GLAPI_H - -#define GL_GLEXT_PROTOTYPES - -#if GLAMOR_GLES2 -#include <GLES2/gl2.h> -#include <GLES2/gl2ext.h> -#else -#include <GL/gl.h> -#include "GL/glext.h" -#endif - -/* Is this needed? It is incomplete anyway. */ -#ifdef USE_MGL_NAMESPACE -#define _glapi_set_dispatch _mglapi_set_dispatch -#define _glapi_get_dispatch _mglapi_get_dispatch -#define _glapi_set_context _mglapi_set_context -#define _glapi_get_context _mglapi_get_context -#define _glapi_Dispatch _mglapi_Dispatch -#define _glapi_Context _mglapi_Context -#endif - -typedef void (*_glapi_proc)(void); -struct _glapi_table; - - -#if defined (GLX_USE_TLS) - -extern __thread struct _glapi_table * _glapi_tls_Dispatch - __attribute__((tls_model("initial-exec"))); - -extern __thread void * _glapi_tls_Context - __attribute__((tls_model("initial-exec"))); - -extern const struct _glapi_table *_glapi_Dispatch; -extern const void *_glapi_Context; - -# define GET_DISPATCH() _glapi_tls_Dispatch -# define GET_CURRENT_CONTEXT(C) C = (typeof(C)) _glapi_tls_Context -# define SET_CURRENT_CONTEXT(C) _glapi_tls_Context = (void*)C - -#else - -extern struct _glapi_table *_glapi_Dispatch; -extern void *_glapi_Context; - -# ifdef THREADS - -# define GET_DISPATCH() \ - (likely(_glapi_Dispatch) ? _glapi_Dispatch : _glapi_get_dispatch()) - -# define GET_CURRENT_CONTEXT(C) C = (typeof(C)) \ - (likely(_glapi_Context) ? _glapi_Context : _glapi_get_context()) - - -# define SET_CURRENT_CONTEXT(C) do { if (likely(_glapi_Context)) \ - _glapi_Context = (void*)C; \ - else \ - _glapi_set_context(C); } while(0) - -# else - -# define GET_DISPATCH() _glapi_Dispatch -# define GET_CURRENT_CONTEXT(C) C = (typeof(C)) _glapi_Context -# define SET_CURRENT_CONTEXT(C) _glapi_Context = (void*)C - -# endif - -#endif /* defined (GLX_USE_TLS) */ - - -extern void -_glapi_set_context(void *context); - -extern void * -_glapi_get_context(void); - -#endif diff --git a/extra/gnome-keyring/PKGBUILD b/extra/gnome-keyring/PKGBUILD index 2c2e79eca..b9794a8e4 100644 --- a/extra/gnome-keyring/PKGBUILD +++ b/extra/gnome-keyring/PKGBUILD @@ -1,9 +1,9 @@ -#$Id: PKGBUILD 198012 2013-10-30 12:15:53Z allan $ +#$Id: PKGBUILD 203573 2014-01-13 17:12:03Z andyrtr $ # Maintainer: Jan De Groot <jgc@archlinux.org> pkgname=gnome-keyring pkgver=3.10.1 -pkgrel=1 +pkgrel=2 pkgdesc="GNOME Password Management daemon" arch=(i686 x86_64) license=('GPL' 'LGPL') diff --git a/extra/gnome-vfs/PKGBUILD b/extra/gnome-vfs/PKGBUILD index 47e12b2a3..f125c7ba1 100644 --- a/extra/gnome-vfs/PKGBUILD +++ b/extra/gnome-vfs/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 198037 2013-10-30 12:25:08Z allan $ +# $Id: PKGBUILD 203574 2014-01-13 17:12:05Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnome-vfs pkgver=2.24.4 -pkgrel=7 +pkgrel=8 pkgdesc="The GNOME Virtual File System" arch=(i686 x86_64) license=('LGPL') diff --git a/extra/grilo-plugins/PKGBUILD b/extra/grilo-plugins/PKGBUILD index 629bf40c3..b1e9d7e9e 100644 --- a/extra/grilo-plugins/PKGBUILD +++ b/extra/grilo-plugins/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 198052 2013-10-30 12:30:49Z allan $ +# $Id: PKGBUILD 203575 2014-01-13 17:12:06Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> pkgname=grilo-plugins pkgver=0.2.9 -pkgrel=2 +pkgrel=3 pkgdesc="Plugins for Grilo" url="http://www.gnome.org" arch=(i686 x86_64) diff --git a/extra/gsasl/PKGBUILD b/extra/gsasl/PKGBUILD index 2c9c54ebd..e1d499276 100644 --- a/extra/gsasl/PKGBUILD +++ b/extra/gsasl/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 197247 2013-10-24 18:39:54Z eric $ +# $Id: PKGBUILD 203576 2014-01-13 17:12:07Z andyrtr $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=gsasl pkgver=1.8.0 -pkgrel=3 +pkgrel=4 pkgdesc="Simple Authentication and Security Layer framework and a few common SASL mechanisms" arch=('i686' 'x86_64') url="http://josefsson.org/gsasl/" @@ -13,6 +13,11 @@ install=gsasl.install source=(ftp://ftp.gnu.org/gnu/gsasl/${pkgname}-${pkgver}.tar.gz) sha1sums=('343fd97ae924dc406986c02fb9b889f4114239ae') +prepare() { + cd ${pkgname}-${pkgver} + sed -i 's|error too old libgcrypt|/*error too old libgcrypt*/|' lib/configure +} + build() { cd ${pkgname}-${pkgver} ./configure --prefix=/usr --with-gssapi-impl=mit diff --git a/extra/gtk-vnc/PKGBUILD b/extra/gtk-vnc/PKGBUILD index ac3d5cc20..913c57508 100644 --- a/extra/gtk-vnc/PKGBUILD +++ b/extra/gtk-vnc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 200822 2013-12-06 03:01:44Z eric $ +# $Id: PKGBUILD 203577 2014-01-13 17:12:08Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Allan McRae <mcrae_allan@hotmail.com> @@ -6,7 +6,7 @@ pkgname=gtk-vnc pkgver=0.5.3 -pkgrel=1 +pkgrel=2 pkgdesc="A VNC viewer widget for GTK" arch=('i686' 'x86_64') url="https://wiki.gnome.org/Projects/gtk-vnc" diff --git a/extra/gvfs/PKGBUILD b/extra/gvfs/PKGBUILD index 18b06db03..69ff9f0e4 100644 --- a/extra/gvfs/PKGBUILD +++ b/extra/gvfs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 199075 2013-11-08 14:49:13Z heftig $ +# $Id: PKGBUILD 203578 2014-01-13 17:12:09Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gvfs pkgname=('gvfs' 'gvfs-smb' 'gvfs-afc' 'gvfs-afp' 'gvfs-gphoto2' 'gvfs-goa' 'gvfs-mtp') pkgver=1.18.3 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('LGPL') makedepends=('avahi' 'dbus-glib' 'fuse' 'intltool' 'libarchive' 'libcdio-paranoia' 'libgphoto2' 'libimobiledevice' 'libsoup' 'smbclient' 'udisks2' 'libsecret' 'docbook-xsl' 'gtk3' 'libmtp' 'gnome-online-accounts' 'libbluray') diff --git a/extra/ibus/PKGBUILD b/extra/ibus/PKGBUILD index 0a8ad5462..a59e2833e 100644 --- a/extra/ibus/PKGBUILD +++ b/extra/ibus/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 203458 2014-01-11 02:11:21Z fyan $ +# $Id: PKGBUILD 203532 2014-01-13 02:05:53Z fyan $ # Maintainer: Felix Yan <felixonmars@gmail.com> pkgbase=ibus pkgname=(ibus libibus) pkgver=1.5.4 -pkgrel=3 +pkgrel=4 pkgdesc="Next Generation Input Bus for Linux" arch=('i686' 'x86_64') url="http://ibus.googlecode.com" @@ -31,7 +31,7 @@ build() { } package_ibus() { - depends+=("libibus=$pkgver" 'python2-gobject') + depends+=("libibus=$pkgver" 'python2-gobject' 'iso-codes') install=ibus.install cd ${pkgbase}-${pkgver} diff --git a/extra/libgda/PKGBUILD b/extra/libgda/PKGBUILD index b74a5f922..b5c559b9f 100644 --- a/extra/libgda/PKGBUILD +++ b/extra/libgda/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 199873 2013-11-17 20:47:22Z heftig $ +# $Id: PKGBUILD 203579 2014-01-13 17:12:10Z andyrtr $ # Maintainer: tobias <tobias@archlinux.org> # Contributor: Tobias Kieslich <tobias@justdreams.de> pkgname=libgda pkgver=5.2.1 -pkgrel=1 +pkgrel=2 pkgdesc="Data abstraction layer with mysql, pgsql, xml, sqlite providers" arch=(i686 x86_64) license=('GPL') diff --git a/extra/libgnome-keyring/PKGBUILD b/extra/libgnome-keyring/PKGBUILD index 42a1dc9c1..56dce8290 100644 --- a/extra/libgnome-keyring/PKGBUILD +++ b/extra/libgnome-keyring/PKGBUILD @@ -1,14 +1,14 @@ -#$Id: PKGBUILD 198171 2013-10-30 13:14:09Z allan $ +#$Id: PKGBUILD 203580 2014-01-13 17:12:11Z andyrtr $ #Maintainer: Jan De Groot <jgc@archlinux.org> pkgname=libgnome-keyring pkgver=3.10.1 -pkgrel=1 +pkgrel=2 pkgdesc="GNOME keyring client library" arch=(i686 x86_64) license=('GPL' 'LGPL') depends=('dbus-core' 'glib2' 'libgcrypt') -makedepends=('intltool' 'gobject-introspection') +makedepends=('intltool' 'gobject-introspection' 'vala') optdepends=('gnome-keyring: key storage service (or use any other service implementing org.freedesktop.secrets)') options=('!emptydirs') url="http://www.gnome.org" diff --git a/extra/libktorrent/PKGBUILD b/extra/libktorrent/PKGBUILD index b49f65372..3a52c60c6 100644 --- a/extra/libktorrent/PKGBUILD +++ b/extra/libktorrent/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 176928 2013-02-02 18:12:44Z andrea $ +# $Id: PKGBUILD 203581 2014-01-13 17:12:12Z andyrtr $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=libktorrent pkgver=1.3.1 -pkgrel=1 +pkgrel=2 pkgdesc="A BitTorrent protocol implementation" arch=('i686' 'x86_64') url="http://ktorrent.org/" @@ -14,8 +14,11 @@ makedepends=('automoc4' 'cmake' 'boost' 'doxygen') source=("http://ktorrent.org/downloads/4.3.1/${pkgname}-${pkgver}.tar.bz2") sha1sums=('71b377c0cad01dca6061f1fe92f91c4cf05476b3') -build() { +prepare() { mkdir build +} + +build() { cd build cmake ../${pkgname}-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/extra/libmtp/PKGBUILD b/extra/libmtp/PKGBUILD index f69b8c10d..a3a4f87bd 100644 --- a/extra/libmtp/PKGBUILD +++ b/extra/libmtp/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 202983 2013-12-30 08:41:18Z foutrelis $ +# $Id: PKGBUILD 203582 2014-01-13 17:12:13Z andyrtr $ # Maintainer: Tom Gundersen <teg@jklm.no> # Contributor: damir <damir@archlinux.org> # Contributor: Kevin Edmonds <edmondskevin@hotmail.com> pkgname=libmtp pkgver=1.1.6 -pkgrel=5 +pkgrel=6 pkgdesc="Library implementation of the Media Transfer Protocol" arch=("i686" "x86_64") url="http://libmtp.sourceforge.net" diff --git a/extra/libotr/PKGBUILD b/extra/libotr/PKGBUILD index 87ede8fa3..ac0c23284 100644 --- a/extra/libotr/PKGBUILD +++ b/extra/libotr/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 203477 2014-01-11 10:56:47Z andrea $ +# $Id: PKGBUILD 203583 2014-01-13 17:12:14Z andyrtr $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> # Contributor: Bug <Bug2000@gmail.com> pkgname=libotr pkgver=4.0.0 -pkgrel=4 +pkgrel=5 pkgdesc='Off-the-Record Messaging Library and Toolkit' url='http://www.cypherpunks.ca/otr/' license=('GPL' 'LGPL') diff --git a/extra/libotr3/PKGBUILD b/extra/libotr3/PKGBUILD index b560c3d5b..51d2316c0 100644 --- a/extra/libotr3/PKGBUILD +++ b/extra/libotr3/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 198217 2013-10-30 13:31:22Z allan $ +# $Id: PKGBUILD 203584 2014-01-13 17:12:15Z andyrtr $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> # Contributor: Bug <Bug2000@gmail.com> pkgname=libotr3 pkgver=3.2.1 -pkgrel=1 +pkgrel=2 pkgdesc='Off-the-Record Messaging Library and Toolkit (version 3.X)' url='http://www.cypherpunks.ca/otr/' license=('GPL' 'LGPL') @@ -18,7 +18,7 @@ sha1sums=('898bf00d019f49ca34cd0116dd2e22685c67c394' build() { cd "${srcdir}/libotr-${pkgver}" patch -p1 -i "${srcdir}/libotr3-soname.patch" - ./configure --prefix=/usr --mandir=/usr/share/man --disable-static \ + ./configure --prefix=/usr --mandir=/usr/share/man \ --program-transform-name='s/otr/otr3/' make } diff --git a/extra/libquvi/PKGBUILD b/extra/libquvi/PKGBUILD index ad66a2a37..75dd0422d 100644 --- a/extra/libquvi/PKGBUILD +++ b/extra/libquvi/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 199434 2013-11-12 17:02:09Z heftig $ +# $Id: PKGBUILD 203585 2014-01-13 17:12:16Z andyrtr $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> pkgname=libquvi pkgver=0.9.4 -pkgrel=1 +pkgrel=2 pkgdesc='Library for parsing video download links.' arch=('i686' 'x86_64') url='http://quvi.sourceforge.net/' diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD index 966132226..5aa022047 100644 --- a/extra/libreoffice/PKGBUILD +++ b/extra/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 202184 2013-12-18 22:51:10Z andyrtr $ +# $Id: PKGBUILD 203586 2014-01-13 17:12:18Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> @@ -21,7 +21,7 @@ pkgname=('libreoffice-common' 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built) _LOver=4.1.4.2 pkgver=4.1.4 -pkgrel=1 +pkgrel=3 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -348,11 +348,6 @@ package_libreoffice-common() { mv ${pkgdir}/etc/bash_completion.d/libreoffice.sh ${pkgdir}/usr/share/bash-completion/completions/libreoffice.sh rm -rf ${pkgdir}/etc/bash_completion.d - # some files would conflict - rm -vf ${pkgdir}/usr/lib/libreoffice/program/classes/ScriptProviderForJavaScript.jar - rm -vf ${pkgdir}/usr/lib/libreoffice/program/classes/js.jar - rm -vf ${pkgdir}/usr/lib/libreoffice/program/services/scriptproviderforjavascript.rdb - # make pyuno find its modules install -dm755 ${pkgdir}/usr/lib/python3.3/site-packages ln -svf /usr/lib/libreoffice/program/uno.py ${pkgdir}/usr/lib/python3.3/site-packages/uno.py @@ -360,6 +355,20 @@ package_libreoffice-common() { # workaround all packages now depend on that file cp ${srcdir}/fakeinstall/usr/lib/libreoffice/share/registry/writer.xcd ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd + + # add missing files from Beanshell provider + # create directories from *list.txt file + for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do + install -dm755 ${pkgdir}/${directory/\%dir/} + done + # install files into the pkg from fakeinstall dir + for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do + dirname=`dirname $file` + # check if directory has been already been created - some are missing like manpages + [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname + # mv file from fakeinstall to pkgdir + mv ${srcdir}/fakeinstall${file} ${pkgdir}$file || /bin/true # some double file entries make it fail + done } package_libreoffice-base() { @@ -513,6 +522,20 @@ package_libreoffice-kde4() { # mv file from fakeinstall to pkgdir mv ${srcdir}/fakeinstall${file} ${pkgdir}$file done + + # one file (libkde4be1lo.so) is part of kde_list.txt + # create directories from *list.txt file + for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/kde_list.txt`; do + install -dm755 ${pkgdir}/${directory/\%dir/} + done + # install files into the pkg from fakeinstall dir + for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/kde_list.txt`; do + dirname=`dirname $file` + # check if directory has been already been created - some are missing like manpages + [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname + # mv file from fakeinstall to pkgdir + mv ${srcdir}/fakeinstall${file} ${pkgdir}$file + done } package_libreoffice-math() { diff --git a/extra/libreoffice/PKGBUILD.42 b/extra/libreoffice/PKGBUILD.42 index 22a082ba7..39be2acc7 100644 --- a/extra/libreoffice/PKGBUILD.42 +++ b/extra/libreoffice/PKGBUILD.42 @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 198658 2013-11-01 15:08:02Z andyrtr $ +# $Id: PKGBUILD 202438 2013-12-21 21:14:43Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> @@ -18,7 +18,7 @@ pkgname=('libreoffice-common' 'libreoffice-postgresql-connector' 'libreoffice-extension-wiki-publisher' 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built) -_LOver=4.2.0.0.beta1 +_LOver=4.2.0.1 pkgver=4.2.0 pkgrel=0.1 arch=('i686' 'x86_64') @@ -128,9 +128,9 @@ noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2 Firebird-2.5.2.26540-0.tar.bz2 libatomic_ops-7_2d.zip libe-book-0.0.2.tar.bz2) -md5sums=('dbb8b7f5f64a407b6aef66f98b8163ff' - '48481fd38699c598b19d637ead29d34a' - 'ec4982d81fac7c068095c7877273ca34' +md5sums=('383c63b8055967408e34ca7981b5dab8' + '74cffe54cc756bb28a4496bf94fc5185' + '5b0a27fbf474ff3f2ce819f13efafa1b' '15cb8c0803064faef0c4ddf5bc5ca279' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' @@ -656,8 +656,7 @@ package_libreoffice-extension-wiki-publisher() { groups=('libreoffice-extensions') install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions - #unzip -q ${srcdir}/libreoffice-$_LOver/solver/unxlng*/bin/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher - unzip -q ${srcdir}/libreoffice-$_LOver/workdir/unxlng*/Extension/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher + unzip -q ${srcdir}/libreoffice-$_LOver/workdir/Extension/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher } package_libreoffice-extension-nlpsolver() { @@ -668,5 +667,5 @@ package_libreoffice-extension-nlpsolver() { groups=('libreoffice-extensions') install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions - unzip -q ${srcdir}/libreoffice-$_LOver/workdir/unxlng*/Extension/nlpsolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver + unzip -q ${srcdir}/libreoffice-$_LOver/workdir/Extension/nlpsolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver } diff --git a/extra/libsecret/PKGBUILD b/extra/libsecret/PKGBUILD index 56bfe97cc..ba373e249 100644 --- a/extra/libsecret/PKGBUILD +++ b/extra/libsecret/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 198230 2013-10-30 13:36:21Z allan $ +# $Id: PKGBUILD 203587 2014-01-13 17:12:19Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libsecret pkgver=0.16 -pkgrel=1 -pkgdesc='library for storing and retrieving passwords and other secrets.' +pkgrel=2 +pkgdesc='Library for storing and retrieving passwords and other secrets.' arch=('i686' 'x86_64') license=('LGPL') url="https://live.gnome.org/Libsecret" diff --git a/extra/libvncserver/PKGBUILD b/extra/libvncserver/PKGBUILD index 104978a93..722a5b4a6 100644 --- a/extra/libvncserver/PKGBUILD +++ b/extra/libvncserver/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 196982 2013-10-21 12:18:29Z andrea $ +# $Id: PKGBUILD 203588 2014-01-13 17:12:20Z andyrtr $ # Maintainer: # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> pkgname=libvncserver pkgver=0.9.9 -pkgrel=2 +pkgrel=3 pkgdesc="A cross-platform C libraries that allow you to easily implement VNC server" arch=('i686' 'x86_64') url="http://libvncserver.sourceforge.net/" license=('GPL') -depends=('libjpeg' 'gnutls' 'libgcrypt' 'openssl') +depends=('libjpeg' 'gnutls' 'libgcrypt') source=("http://downloads.sourceforge.net/${pkgname}/LibVNCServer-${pkgver}.tar.gz") md5sums=('70422169b122765693d2a294d13e3714') diff --git a/extra/libxslt/PKGBUILD b/extra/libxslt/PKGBUILD index 90fe77406..a106b67a1 100644 --- a/extra/libxslt/PKGBUILD +++ b/extra/libxslt/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 198296 2013-10-30 14:00:12Z allan $ +# $Id: PKGBUILD 203589 2014-01-13 17:12:21Z andyrtr $ # Maintainer: Eric Belanger <eric@archlinux.org> # Contributor: John Proctor <jproctor@prium.net> pkgname=libxslt pkgver=1.1.28 -pkgrel=2 +pkgrel=3 pkgdesc="XML stylesheet transformation library" arch=('i686' 'x86_64') url="http://xmlsoft.org/XSLT/" diff --git a/extra/libzip/PKGBUILD b/extra/libzip/PKGBUILD index ae6a8ea49..399dea368 100644 --- a/extra/libzip/PKGBUILD +++ b/extra/libzip/PKGBUILD @@ -1,34 +1,31 @@ -# $Id: PKGBUILD 199973 2013-11-20 12:11:27Z allan $ +# $Id: PKGBUILD 203557 2014-01-13 16:33:14Z lcarlier $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> pkgname=libzip -pkgver=0.11.1 -pkgrel=2 +pkgver=0.11.2 +pkgrel=1 pkgdesc="A C library for reading, creating, and modifying zip archives" url="http://www.nih.at/libzip/index.html" license=('BSD') arch=('i686' 'x86_64') depends=('zlib') -source=("http://www.nih.at/${pkgname}/${pkgname}-${pkgver}.tar.xz" - 'fix-headers.patch') -md5sums=('87d5ec3629f6ad2a4b01ad961e7f0c19' - '249395bd3a426c4c4e993e9d4753e1dd') - -prepare() { - cd ${pkgname}-${pkgver} - patch -p1 -i "${srcdir}/fix-headers.patch" -} +source=("http://www.nih.at/${pkgname}/${pkgname}-${pkgver}.tar.xz") +md5sums=('44c99b67dca34707b5728e5f8434fe91') build() { cd ${pkgname}-${pkgver} - autoreconf -i + ./configure --prefix=/usr make } package() { cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + # preserve old header path for compatibility + ln -s /usr/lib/libzip/include/zipconf.h "${pkgdir}/usr/include/zipconf.h" install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/extra/mpd/PKGBUILD b/extra/mpd/PKGBUILD index e6cff15aa..ea1aa0971 100644 --- a/extra/mpd/PKGBUILD +++ b/extra/mpd/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 202687 2013-12-24 18:48:56Z bisson $ +# $Id: PKGBUILD 203656 2014-01-13 17:25:09Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -6,7 +6,7 @@ # Contributor: Ben <ben@benmazer.net> pkgname=mpd -pkgver=0.18.6 +pkgver=0.18.7 pkgrel=1 pkgdesc='Flexible, powerful, server-side application for playing music' url='http://www.musicpd.org/' @@ -18,7 +18,7 @@ makedepends=('doxygen') source=("http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"{,.sig} 'tmpfiles.d' 'conf') -sha1sums=('06951d043a57ce460b728402768a235d8b18ba93' 'SKIP' +sha1sums=('feaea4781f01e518db22ccdb097059f33d77616e' 'SKIP' 'f4d5922abb69abb739542d8e93f4dfd748acdad7' '67c145c046cddd885630d72ce8ebe71f8321ff3b') diff --git a/extra/nx/PKGBUILD b/extra/nx/PKGBUILD index 62b4b9230..63ae8e01f 100644 --- a/extra/nx/PKGBUILD +++ b/extra/nx/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 193809 2013-09-02 08:07:35Z andyrtr $ +# $Id: PKGBUILD 203653 2014-01-13 17:17:43Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase=nx pkgname=('libxcomp' 'nxproxy' 'nx-x11' 'nx-xcompext' 'nxagent' 'x2go-agent' 'nx-headers') -pkgver=3.5.0.21 +pkgver=3.5.0.22 pkgrel=1 arch=('i686' 'x86_64') url="http://wiki.x2go.org/" @@ -15,7 +15,7 @@ makedepends=('libjpeg-turbo' 'libpng' 'bash' 'perl' 'libxml2' 'fontconfig' # run ) source=(http://code.x2go.org/releases/source/nx-libs/nx-libs-$pkgver-full.tar.gz keyboard_rule.diff) -md5sums=('7143c216cb6eda0408ee8169c50adbe3' +md5sums=('739c7a28f3bb6d5f957e6cec9168335d' 'f681bc66827cd7ddff4b81b983c20401') build() { @@ -25,6 +25,8 @@ build() { # upstream needs to do much more work in that area patch -Np1 -i ${srcdir}/keyboard_rule.diff + sed -i "s/3.5.0.21/3.5.0.22/" VERSION.x2goagent + # debug flags # export CFLAGS="-march=x86-64 -O1 -g -pipe" # export CXXFLAGS="-march=x86-64 -O1 -g -pipe" diff --git a/extra/openbabel/PKGBUILD b/extra/openbabel/PKGBUILD index 5380ff276..155a0867b 100644 --- a/extra/openbabel/PKGBUILD +++ b/extra/openbabel/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 203494 2014-01-11 20:07:10Z eric $ +# $Id: PKGBUILD 203534 2014-01-13 09:49:43Z eric $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> pkgname=openbabel pkgver=2.3.2 -pkgrel=2 +pkgrel=3 pkgdesc="A library designed to interconvert between many file formats used in molecular modeling and computational chemistry" arch=('i686' 'x86_64') url="http://openbabel.org/wiki/Main_Page" license=('GPL') depends=('gcc-libs' 'libxml2' 'libsm') -makedepends=('cmake' 'eigen2' 'wxgtk') +makedepends=('cmake' 'eigen2' 'wxgtk2.8') optdepends=('eigen2: to use bindings' - 'wxgtk: GUI interface') + 'wxgtk2.8: GUI interface') source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz") md5sums=('9b0007560d9d838b40ab4ad06daf5610') @@ -22,7 +22,7 @@ build() { cd build cmake ../${pkgname}-${pkgver} \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_PREFIX=/usr -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-2.8 make } diff --git a/extra/rasqal/PKGBUILD b/extra/rasqal/PKGBUILD index d8dcb978f..a332699dc 100644 --- a/extra/rasqal/PKGBUILD +++ b/extra/rasqal/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 202985 2013-12-30 08:44:05Z foutrelis $ +# $Id: PKGBUILD 203590 2014-01-13 17:12:22Z andyrtr $ # Maintainer: Tom Gundersen <teg@jklm.no> # Contributor: AndyRTR <andyrtr@archlinux.org> # Contributor: Lawrence Lee <valheru@facticius.net> @@ -6,7 +6,7 @@ pkgname=rasqal epoch=1 pkgver=0.9.30 -pkgrel=3 +pkgrel=4 pkgdesc="A free C library that handles Resource Description Framework (RDF) query syntaxes, query construction and query execution returning result bindings" url="http://librdf.org/rasqal" license=('GPL' 'LGPL') diff --git a/extra/samba/PKGBUILD b/extra/samba/PKGBUILD index bd1d28f22..fb105df68 100644 --- a/extra/samba/PKGBUILD +++ b/extra/samba/PKGBUILD @@ -10,11 +10,11 @@ pkgbase=samba pkgname=('libwbclient' 'smbclient' 'samba') -pkgver=4.1.3 +pkgver=4.1.4 # We use the 'A' to fake out pacman's version comparators. Samba chooses # to append 'a','b',etc to their subsequent releases, which pamcan # misconstrues as alpha, beta, etc. Bad samba! -_realver=4.1.3 +_realver=4.1.4 pkgrel=1 arch=(i686 x86_64) url="http://www.samba.org" @@ -173,7 +173,7 @@ depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb' package_samba() { pkgdesc="SMB Fileserver and AD Domain server" depends=('db>=4.7' 'popt' 'libcups' 'libcap>=2.16' 'gamin' 'gnutls>=2.4.1' - 'talloc' 'ldb' 'libbsd' 'python2' 'tdb' 'iniparser' 'libaio' "smbclient>=$pkgver") + 'talloc' 'ldb' 'libbsd' 'python2' 'iniparser' 'tdb' 'libaio' "smbclient>=$pkgver") backup=(etc/logrotate.d/samba etc/pam.d/samba etc/samba/smb.conf @@ -240,7 +240,7 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ # copy ldap example install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema } -md5sums=('a5dbfe87f4cb3d9d91e15e5df99a59a1' +md5sums=('c7871012ac40b8c74afff42bbd873bd7' '5697da77590ec092cc8a883bae06093c' '96f82c38f3f540b53f3e5144900acf17' 'ee4763a656cf00d92bfda31b6bb2c5cb' diff --git a/extra/totem-plparser/PKGBUILD b/extra/totem-plparser/PKGBUILD index 0f1f2d27f..6805152cf 100644 --- a/extra/totem-plparser/PKGBUILD +++ b/extra/totem-plparser/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 199437 2013-11-12 18:17:30Z heftig $ +# $Id: PKGBUILD 203592 2014-01-13 17:12:25Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=totem-plparser pkgver=3.10.0 -pkgrel=3 +pkgrel=4 url="http://www.gnome.org" pkgdesc="Totem playlist parser library" license=('LGPL') diff --git a/extra/vino/PKGBUILD b/extra/vino/PKGBUILD index 1861cab1f..a13a139f1 100644 --- a/extra/vino/PKGBUILD +++ b/extra/vino/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 196510 2013-10-14 15:43:19Z heftig $ +# $Id: PKGBUILD 203593 2014-01-13 17:12:26Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=vino pkgver=3.10.1 -pkgrel=1 +pkgrel=2 pkgdesc="a VNC server for the GNOME desktop" arch=(i686 x86_64) license=(GPL) diff --git a/extra/vlc/PKGBUILD b/extra/vlc/PKGBUILD index 65ed369da..76fc895f2 100644 --- a/extra/vlc/PKGBUILD +++ b/extra/vlc/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 201400 2013-12-10 17:02:18Z giovanni $ +# $Id: PKGBUILD 203594 2014-01-13 17:12:29Z andyrtr $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> # Contributor: Martin Sandsmark <martin.sandsmark@kde.org> pkgname=vlc pkgver=2.1.2 -pkgrel=1 +pkgrel=2 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" arch=('i686' 'x86_64') url="http://www.videolan.org/vlc/" diff --git a/extra/vpnc/PKGBUILD b/extra/vpnc/PKGBUILD index 45d6b28e1..935e0a914 100644 --- a/extra/vpnc/PKGBUILD +++ b/extra/vpnc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 185907 2013-05-19 18:45:48Z dreisner $ +# $Id: PKGBUILD 203595 2014-01-13 17:12:30Z andyrtr $ # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: Thomas Baechler <thomas@archlinux.org> @@ -6,7 +6,7 @@ pkgname=vpnc _vpncver=0.5.3 _git=d2c5a77f3f0ea6ad80fc59158127d63ede81a6cb pkgver=$_vpncver.svn527 -pkgrel=1 +pkgrel=2 pkgdesc="VPN client for cisco3000 VPN Concentrators" url="http://www.unix-ag.uni-kl.de/~massar/vpnc/" license=('GPL') diff --git a/extra/weechat/PKGBUILD b/extra/weechat/PKGBUILD index 9e59b7444..6556a85e2 100644 --- a/extra/weechat/PKGBUILD +++ b/extra/weechat/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 200241 2013-11-23 18:13:47Z giovanni $ +# $Id: PKGBUILD 203596 2014-01-13 17:12:31Z andyrtr $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: lucke <lucke at o2 dot pl> pkgname=weechat pkgver=0.4.2 -pkgrel=2 +pkgrel=3 pkgdesc="Fast, light and extensible IRC client (curses UI)" arch=('i686' 'x86_64') url="http://www.weechat.org/" diff --git a/extra/x2goserver/PKGBUILD b/extra/x2goserver/PKGBUILD index 5c49a56f4..81cd35dc2 100644 --- a/extra/x2goserver/PKGBUILD +++ b/extra/x2goserver/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 200258 2013-11-23 21:59:15Z andyrtr $ +# $Id: PKGBUILD 203654 2014-01-13 17:17:44Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Gerhard Brauer <gerbra@archlinux.de> @@ -7,22 +7,59 @@ # Contributor: Milan Knížek <knizek@volny.cz> pkgname=x2goserver -pkgver=4.0.1.8 -pkgrel=1 +pkgver=4.0.1.12 +pkgrel=2 pkgdesc="Open source terminal server" arch=('i686' 'x86_64') url="http://www.x2go.org/" -license=('GPL') -depends=('openssh' 'perl-config-simple' 'perl-dbd-sqlite' 'perl-file-basedir' 'python' 'x2go-agent' 'xorg-xauth') -makedepends=('man2html') +license=('GPL2') +# see x2goserver.spec +depends=(# 'perl-file-basedir' + #'python' 'xorg-xauth' + + # For x2goruncommand - for now + 'bc' + # For netstat in x2goresume-session + 'net-tools' + 'openssh' + 'perl-file-readbackwards' + # We need a database + 'perl-dbd-sqlite' + # For killall in x2gosuspend-session + 'psmisc' + # For x2goshowblocks + 'lsof' + # For x2godbadmin + 'pwgen' # in community + # For printing, file-sharing + 'sshfs' + # For /etc/sudoers.d + 'sudo' + 'x2go-agent' + # For /etc/X11/Xresources + 'xorg-xinit' + 'xorg-fonts-misc' + 'shadow' + + # for post install actions + 'desktop-file-utils' + 'shared-mime-info' + + 'perl-capture-tiny' + 'perl-config-simple' + + #x2goserver-extensions + #x2goserver-xsession + #x2goserver-fmbindings + #x2goserver-printing +) +makedepends=('man2html' 'perl-extutils-makemaker' 'systemd') #optdepends=('cups-x2go: printing support') options=('emptydirs') install=x2goserver.install backup=('etc/x2go/x2goserver.conf' 'etc/x2go/x2gosql/sql') -source=(http://code.x2go.org/releases/source/${pkgname}/${pkgname}-${pkgver}.tar.gz - x2goserver.service) -md5sums=('754ee94f2b4b57fc08973027a174cf81' - 'f76081c01e40b6206895d194dc949707') +source=(http://code.x2go.org/releases/source/${pkgname}/${pkgname}-${pkgver}.tar.gz) +md5sums=('2f41accfb7b7d8b8113eb6f2f686e340') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -38,16 +75,18 @@ build() { for Makefile in $(find . -type f -name Makefile); do sed -i "s:-o root -g root ::g" $Makefile done - - make PREFIX=/usr SBINDIR=/usr/bin DESTDIR="$pkgdir" + # Do not ship xsession - Debian specific + sed -i -e '/xsession/s/^/#/' Makefile + + make PREFIX=/usr SBINDIR=/usr/bin DESTDIR="$pkgdir" PERL_INSTALLDIRS=vendor } package() { cd "${srcdir}/${pkgname}-${pkgver}" make -j1 PREFIX=/usr SBINDIR=/usr/bin DESTDIR="$pkgdir" install - # systemd service file - only runs x2gocleansessions - install -Dm 644 "$srcdir/x2goserver.service" "$pkgdir/usr/lib/systemd/system/x2goserver.service" + # systemd service file + install -Dm 644 "$srcdir/${pkgname}-${pkgver}/x2goserver.service" "$pkgdir/usr/lib/systemd/system/x2goserver.service" # X2go homedir + printing spool dir install -dm 770 $pkgdir/var/lib/x2go diff --git a/extra/x2goserver/x2goserver.install b/extra/x2goserver/x2goserver.install index 223eaac62..36eada578 100644 --- a/extra/x2goserver/x2goserver.install +++ b/extra/x2goserver/x2goserver.install @@ -45,6 +45,9 @@ post_install() { chown root:x2goprint /usr/bin/x2goprint chmod 2755 /usr/bin/x2goprint + + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null } post_upgrade() { @@ -59,3 +62,8 @@ pre_remove() { rm -rf /var/lib/x2go/* &> /dev/null || /bin/true rm -rf /var/spool/x2go/* &> /dev/null || /bin/true } + +post_remove() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null +} diff --git a/extra/x2goserver/x2goserver.service b/extra/x2goserver/x2goserver.service deleted file mode 100644 index f06d39499..000000000 --- a/extra/x2goserver/x2goserver.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=x2go - remote desktop server -After=syslog.target network.target - -[Service] -ExecStart=/usr/bin/x2gocleansessions -PIDFile=/run/x2goserver.pid - -[Install] -WantedBy=multi-user.target diff --git a/extra/xf86-input-acecad/PKGBUILD b/extra/xf86-input-acecad/PKGBUILD index 663772be0..5637cabb0 100644 --- a/extra/xf86-input-acecad/PKGBUILD +++ b/extra/xf86-input-acecad/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198498 2013-10-30 15:13:45Z allan $ +# $Id: PKGBUILD 203600 2014-01-13 17:12:36Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-acecad pkgver=1.5.0 -pkgrel=6 +pkgrel=7 pkgdesc="X.Org acecad tablet input driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('sysfsutils') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 assign-local-private-after-allocating.patch) sha1sums=('410cee68e4435dc95774fb389fcefae1b2ffe3d1' '9301020b0ef3c6f2081e957481a88d2e187a7973') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i "${srcdir}/assign-local-private-after-allocating.patch" ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install diff --git a/extra/xf86-input-aiptek/PKGBUILD b/extra/xf86-input-aiptek/PKGBUILD index 5471a1702..123135bbb 100644 --- a/extra/xf86-input-aiptek/PKGBUILD +++ b/extra/xf86-input-aiptek/PKGBUILD @@ -1,27 +1,27 @@ -# $Id: PKGBUILD 198499 2013-10-30 15:14:06Z allan $ +# $Id: PKGBUILD 203601 2014-01-13 17:12:37Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-aiptek pkgver=1.4.1 -pkgrel=6 +pkgrel=7 pkgdesc="X.Org Aiptek USB Digital Tablet input driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha1sums=('55ea7d12d3e24fd72eacc966a59262864dce7769') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install diff --git a/extra/xf86-input-elographics/PKGBUILD b/extra/xf86-input-elographics/PKGBUILD index 9fab3d0a3..0968e5bdd 100644 --- a/extra/xf86-input-elographics/PKGBUILD +++ b/extra/xf86-input-elographics/PKGBUILD @@ -3,25 +3,25 @@ pkgname=xf86-input-elographics pkgver=1.4.1 -pkgrel=3 +pkgrel=4 pkgdesc="X.org Elographics TouchScreen input driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('a21af744d57f158e6dff9d60a68aaac46b8d726d602911940cb61f4d6bb2c6a4') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-input-evdev/PKGBUILD b/extra/xf86-input-evdev/PKGBUILD index d7324435f..b83c28e72 100644 --- a/extra/xf86-input-evdev/PKGBUILD +++ b/extra/xf86-input-evdev/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198501 2013-10-30 15:14:49Z allan $ +# $Id: PKGBUILD 203652 2014-01-13 17:16:20Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <Alexander@archlinux.org pkgname=xf86-input-evdev pkgver=2.8.2 -pkgrel=1 +pkgrel=2 pkgdesc="X.org evdev input driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc' 'systemd-tools' 'mtdev') makedepends=('xorg-server-devel' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') options=('!makeflags') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('750461749a83bdee7771592aa5c0db5e267b18d847078a4b8622f55b04797eb3') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-input-joystick/PKGBUILD b/extra/xf86-input-joystick/PKGBUILD index b4db2f238..664cd9d4d 100644 --- a/extra/xf86-input-joystick/PKGBUILD +++ b/extra/xf86-input-joystick/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198502 2013-10-30 15:15:18Z allan $ +# $Id: PKGBUILD 203603 2014-01-13 17:12:39Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-joystick pkgver=1.6.2 -pkgrel=2 +pkgrel=3 pkgdesc="X.Org Joystick input driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') backup=('etc/X11/xorg.conf.d/50-joystick.conf') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -19,13 +19,13 @@ sha1sums=('61658b8d829fdaed6064c7c26232c3884d359187' 'e1ff3699a0470c6bb78a53f718df9d8521621e11') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install diff --git a/extra/xf86-input-keyboard/PKGBUILD b/extra/xf86-input-keyboard/PKGBUILD index bbc192f50..d1cf318d4 100644 --- a/extra/xf86-input-keyboard/PKGBUILD +++ b/extra/xf86-input-keyboard/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198711 2013-11-02 08:52:08Z andyrtr $ +# $Id: PKGBUILD 203604 2014-01-13 17:12:40Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-keyboard pkgver=1.8.0 -pkgrel=1 +pkgrel=2 pkgdesc="X.Org keyboard input driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('41c51c4e0a87aad6a1c4973c68a8de23b61162d0223f4ab36c627c307830cb5b') diff --git a/extra/xf86-input-mouse/PKGBUILD b/extra/xf86-input-mouse/PKGBUILD index b4d1b3999..55880ecec 100644 --- a/extra/xf86-input-mouse/PKGBUILD +++ b/extra/xf86-input-mouse/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 198504 2013-10-30 15:16:22Z allan $ +# $Id: PKGBUILD 203605 2014-01-13 17:12:41Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-mouse pkgver=1.9.0 -pkgrel=1 +pkgrel=2 pkgdesc="X.org mouse input driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('5d601e4bae53d5e9ead4ecd700f1beb5aeaf78b79e634c4aa381a9ce00276488') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-input-synaptics/PKGBUILD b/extra/xf86-input-synaptics/PKGBUILD index 4f48745f7..f57bad555 100644 --- a/extra/xf86-input-synaptics/PKGBUILD +++ b/extra/xf86-input-synaptics/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 201440 2013-12-11 17:08:28Z andyrtr $ +# $Id: PKGBUILD 203606 2014-01-13 17:12:42Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Thomas Bächler <thomas@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-input-synaptics -pkgver=1.7.2 +pkgver=1.7.3 pkgrel=1 pkgdesc="Synaptics driver for notebook touchpads" arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org/" depends=('libxtst' 'mtdev') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'libxi' 'libx11' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'libxi' 'libx11' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') replaces=('synaptics') provides=('synaptics') conflicts=('synaptics') @@ -21,11 +21,11 @@ groups=('xorg-drivers' 'xorg') backup=('etc/X11/xorg.conf.d/50-synaptics.conf') source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 add_tapbuttons.diff) -sha256sums=('63957fa55f0d8662ef8c57f6325155c9884a854554d33921f0738e097f2a7dcd' +sha256sums=('8b2a972043961195d056b84346317ec42bfa029095c9ee7aaf6deceba12e32d5' '5298d3e871db3768b34cf8516d3f53f9291202e2ea5de3300256e1cd9119a1ec') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} # * upstream disabled tapping by default if a physical left button is present - see FS#33282 # * enable MatchDevicePath directive by default - FS#33291 @@ -36,7 +36,7 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d" install -m644 conf/50-synaptics.conf "${pkgdir}/etc/X11/xorg.conf.d/" diff --git a/extra/xf86-input-vmmouse/PKGBUILD b/extra/xf86-input-vmmouse/PKGBUILD index 7a6f43226..f31359ac8 100644 --- a/extra/xf86-input-vmmouse/PKGBUILD +++ b/extra/xf86-input-vmmouse/PKGBUILD @@ -1,23 +1,23 @@ -# $Id: PKGBUILD 198506 2013-10-30 15:17:17Z allan $ +# $Id: PKGBUILD 203607 2014-01-13 17:12:43Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-vmmouse pkgver=13.0.0 -pkgrel=2 +pkgrel=3 pkgdesc="X.org VMWare Mouse input driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc' 'sh') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') groups=('xorg-drivers' 'xorg') backup=('etc/X11/xorg.conf.d/50-vmmouse.conf') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('04cfb60366008d4db815c550d8fb8d0a4270c75fa7a20fa3bddc9ecbd355612c') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr \ --with-xorg-conf-dir=/etc/X11/xorg.conf.d \ --with-udev-rules-dir=/usr/lib/udev/rules.d @@ -25,7 +25,7 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-input-void/PKGBUILD b/extra/xf86-input-void/PKGBUILD index 8f1925632..6bfb4d091 100644 --- a/extra/xf86-input-void/PKGBUILD +++ b/extra/xf86-input-void/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 198507 2013-10-30 15:17:39Z allan $ +# $Id: PKGBUILD 203608 2014-01-13 17:12:44Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-input-void pkgver=1.4.0 -pkgrel=5 +pkgrel=6 pkgdesc="X.org void input driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha1sums=('49b462d3acb16337eaf78202d4074f19d5e20b29') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install diff --git a/extra/xf86-input-wacom/PKGBUILD b/extra/xf86-input-wacom/PKGBUILD index 5e80b4982..6d8c05d4c 100644 --- a/extra/xf86-input-wacom/PKGBUILD +++ b/extra/xf86-input-wacom/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 198508 2013-10-30 15:17:59Z allan $ +# $Id: PKGBUILD 203609 2014-01-13 17:12:45Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: M Rawash <mrawash@gmail.com> pkgname=xf86-input-wacom pkgver=0.23.0 -pkgrel=1 +pkgrel=2 pkgdesc="X.Org Wacom tablet driver" arch=(i686 x86_64) url="http://linuxwacom.sourceforge.net/" license=(GPL) backup=('etc/X11/xorg.conf.d/50-wacom.conf') depends=(libxi libxinerama libxrandr) -makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=19' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-XINPUT_VERSION<19' 'X-ABI-XINPUT_VERSION>=20') +makedepends=('xorg-server-devel' 'X-ABI-XINPUT_VERSION=20' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-XINPUT_VERSION<20' 'X-ABI-XINPUT_VERSION>=21') optdepends=('inputattach: support for serial tablets') source=(http://downloads.sourceforge.net/project/linuxwacom/$pkgname/$pkgname-$pkgver.tar.bz2 70-wacom.rules) diff --git a/extra/xf86-video-apm/PKGBUILD b/extra/xf86-video-apm/PKGBUILD index 3f553fa2a..bea3ae3c3 100644 --- a/extra/xf86-video-apm/PKGBUILD +++ b/extra/xf86-video-apm/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198509 2013-10-30 15:18:20Z allan $ +# $Id: PKGBUILD 203610 2014-01-13 17:12:46Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-apm pkgver=1.2.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org Alliance ProMotion video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fix.diff) sha256sums=('953b04320117b14c5b7efb37de45cef45592409f639c2aa87b7e2d77dc8d3d0f' 'be06cce5eb0b8eb070321e293f5cd9b7aa947d920d23cc962f7121191ba4180b') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fix.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-ark/PKGBUILD b/extra/xf86-video-ark/PKGBUILD index 47ae1f445..5f639f7bb 100644 --- a/extra/xf86-video-ark/PKGBUILD +++ b/extra/xf86-video-ark/PKGBUILD @@ -1,31 +1,31 @@ -# $Id: PKGBUILD 198510 2013-10-30 15:18:43Z allan $ +# $Id: PKGBUILD 203611 2014-01-13 17:12:47Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-ark pkgver=0.7.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org ark video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'resourceproto' 'scrnsaverproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 build-fix.diff) sha256sums=('c690e046f34a393aac1c8d9616b4790e93cda60a460b00b9597d322175dbe51e' '257c3db46ef85863cc2d1b2ba250ef6b1a08df75171f2f3cef83cabd8b22399b') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/build-fix.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-ast/PKGBUILD b/extra/xf86-video-ast/PKGBUILD index 51e117d75..f82e76bfc 100644 --- a/extra/xf86-video-ast/PKGBUILD +++ b/extra/xf86-video-ast/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198511 2013-10-30 15:19:03Z allan $ +# $Id: PKGBUILD 203612 2014-01-13 17:12:49Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-ast pkgver=0.97.0 -pkgrel=3 +pkgrel=4 pkgdesc="X.org ASPEED AST Graphics video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fix.diff) sha256sums=('28fcd4781676485293f6dcd46e0797866f6219e22e1851c9796b037589998e76' '8f032dd9f1441e2af4e443166f0e3d3a6ce4ef7f351af8789158d2dec18a52fa') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fix.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD index 764ae0ad1..8b4e77e59 100644 --- a/extra/xf86-video-ati/PKGBUILD +++ b/extra/xf86-video-ati/PKGBUILD @@ -1,31 +1,31 @@ -# $Id: PKGBUILD 198512 2013-10-30 15:19:24Z allan $ +# $Id: PKGBUILD 203613 2014-01-13 17:12:50Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-ati pkgver=7.2.0 epoch=1 -pkgrel=1 +pkgrel=2 pkgdesc="X.org ati video driver" arch=('i686' 'x86_64') url="http://xorg.freedesktop.org/" license=('custom') depends=('libdrm>=2.4.41' 'systemd-tools' 'ati-dri' 'glamor-egl') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('f30f5efdc8d7d18d06eda7ef2f91a8b7290f1cfbf6ff26362cd47ab8969daec4') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} ./configure --prefix=/usr \ --enable-glamor make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make "DESTDIR=${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-chips/PKGBUILD b/extra/xf86-video-chips/PKGBUILD index 2c328df5e..ef58d7f64 100644 --- a/extra/xf86-video-chips/PKGBUILD +++ b/extra/xf86-video-chips/PKGBUILD @@ -1,24 +1,24 @@ -# $Id: PKGBUILD 198513 2013-10-30 15:19:45Z allan $ +# $Id: PKGBUILD 203614 2014-01-13 17:12:51Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-chips pkgver=1.2.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org Chips and Technologies video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=(glibc) -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 iopl.h git-fix.diff) sha256sums=('8d3c744d035b3d769049647bb8022ec24500d31b1b224cd0ea4efe61f86bfed2' 'd04607e51f9064fb128beceda9660feadb7775b585466a5b9fb04f942effc670' '36165ebc70926ab5a8fe4331c5ce88c7f5f2e6979170b849ac1c2c99b3d1a804') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} cp ${srcdir}/iopl.h util/ patch -Np1 -i ${srcdir}/git-fix.diff ./configure --prefix=/usr @@ -26,7 +26,7 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-cirrus/PKGBUILD b/extra/xf86-video-cirrus/PKGBUILD index 824faf92c..23d463ff9 100644 --- a/extra/xf86-video-cirrus/PKGBUILD +++ b/extra/xf86-video-cirrus/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 198514 2013-10-30 15:20:05Z allan $ +# $Id: PKGBUILD 203615 2014-01-13 17:12:52Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-cirrus pkgver=1.5.2 -pkgrel=2 +pkgrel=3 pkgdesc="X.org Cirrus Logic video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('3361e1a65d9b84c464752fd612bdf6087622c6dd204121715366a170e5c3ccd7') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-dummy/PKGBUILD b/extra/xf86-video-dummy/PKGBUILD index 8388880cb..94ae47312 100644 --- a/extra/xf86-video-dummy/PKGBUILD +++ b/extra/xf86-video-dummy/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 198515 2013-10-30 15:20:26Z allan $ +# $Id: PKGBUILD 203616 2014-01-13 17:12:53Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-dummy pkgver=0.3.7 -pkgrel=1 +pkgrel=2 pkgdesc="X.org dummy video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'xf86dgaproto' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'xf86dgaproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('56f84fcbc515685529ad8e10bca1072731d9c096b97c5d35ddc95cd589b98680') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-fbdev/PKGBUILD b/extra/xf86-video-fbdev/PKGBUILD index 781c3e74d..48bfa6932 100644 --- a/extra/xf86-video-fbdev/PKGBUILD +++ b/extra/xf86-video-fbdev/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198516 2013-10-30 15:20:49Z allan $ +# $Id: PKGBUILD 203617 2014-01-13 17:12:55Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-fbdev pkgver=0.4.4 -pkgrel=1 +pkgrel=2 pkgdesc="X.org framebuffer video driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b') diff --git a/extra/xf86-video-glint/PKGBUILD b/extra/xf86-video-glint/PKGBUILD index 8ef44fc40..de103e86e 100644 --- a/extra/xf86-video-glint/PKGBUILD +++ b/extra/xf86-video-glint/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198517 2013-10-30 15:21:10Z allan $ +# $Id: PKGBUILD 203619 2014-01-13 17:12:57Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-glint pkgver=1.2.8 -pkgrel=3 +pkgrel=4 pkgdesc="X.org GLINT/Permedia video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'xf86dgaproto' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'xf86dgaproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fix.diff) sha256sums=('657f883bb3a4e4278399eba73840862c3642706ae8b0a4798ec97a31b3524221' '8bf833751bea92543835c7f0c55b6a6ed7c4df62034372f5f6ae122b3ba8f231') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fix.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-i128/PKGBUILD b/extra/xf86-video-i128/PKGBUILD index cc8528765..d794c207f 100644 --- a/extra/xf86-video-i128/PKGBUILD +++ b/extra/xf86-video-i128/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198518 2013-10-30 15:21:31Z allan $ +# $Id: PKGBUILD 203620 2014-01-13 17:12:58Z andyrtr $ # Maintainer:Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-i128 pkgver=1.3.6 -pkgrel=3 +pkgrel=4 pkgdesc="X.org Number 9 I128 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fix.diff) sha256sums=('f8827e4c988f90cf5a677554b30d61f0a07eb86d872478751cdc94dc17452b9c' '3805461dd71ff6675fd08afd5c21a230e7f36d6cda6830adac38ceee36d96f4b') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fix.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-i740/PKGBUILD b/extra/xf86-video-i740/PKGBUILD index 35161e5ba..bec828624 100644 --- a/extra/xf86-video-i740/PKGBUILD +++ b/extra/xf86-video-i740/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 198519 2013-10-30 15:21:53Z allan $ +# $Id: PKGBUILD 203621 2014-01-13 17:12:59Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-i740 pkgver=1.3.4 -pkgrel=3 +pkgrel=4 pkgdesc="X.org Intel i740 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fix.diff) sha256sums=('1a24009bb2223b722fb41e1a2737a6e74bfecb0829e5583e270d267ee4ecca78' '2b004773fe8090dea727590a7fc0389c53a16d068537fd1968ae320b0f1e36ca') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fix.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD index d813d28dc..d715c218e 100644 --- a/extra/xf86-video-intel/PKGBUILD +++ b/extra/xf86-video-intel/PKGBUILD @@ -1,37 +1,39 @@ -# $Id: PKGBUILD 198520 2013-10-30 15:22:14Z allan $ +# $Id: PKGBUILD 203622 2014-01-13 17:13:00Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-intel -pkgver=2.21.15 +pkgver=2.99.907 pkgrel=1 arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') install=$pkgname.install pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers" -depends=('intel-dri' 'libxvmc' 'pixman' 'xcb-util>=0.3.9') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto' 'libx11' 'libxrender') +depends=('intel-dri' 'libxvmc' 'pixman' 'xcb-util>=0.3.9' 'glamor-egl') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'libx11' 'libxrender') replaces=('xf86-video-intel-uxa' 'xf86-video-intel-sna') provides=('xf86-video-intel-uxa' 'xf86-video-intel-sna') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15' +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16' 'xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xf86-video-i810' 'xf86-video-intel-legacy') groups=('xorg-drivers' 'xorg') source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('7d5a140f82a72fd1cbc8a664d66c3d4eca47ee240ca4927b8a98d7af6f65d6fc') +sha256sums=('d0b02255f0ff4baa863f762bef49707ce0b4094a267a26e32e4270abe141117b') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - + cd ${pkgname}-${pkgver} ./configure --prefix=/usr \ - --enable-dri \ - --with-default-accel=sna - + --enable-glamor make } +check() { + cd $pkgname-$pkgver + make check +} + package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install diff --git a/extra/xf86-video-intel/intel-2.21.15-xserver-1.15-compat.patch b/extra/xf86-video-intel/intel-2.21.15-xserver-1.15-compat.patch new file mode 100644 index 000000000..714609b1e --- /dev/null +++ b/extra/xf86-video-intel/intel-2.21.15-xserver-1.15-compat.patch @@ -0,0 +1,13 @@ +diff -up xf86-video-intel-2.21.15/src/compat-api.h.jx xf86-video-intel-2.21.15/src/compat-api.h +--- xf86-video-intel-2.21.15/src/compat-api.h.jx 2013-05-21 06:15:11.000000000 -0400 ++++ xf86-video-intel-2.21.15/src/compat-api.h 2013-10-24 15:30:52.291337300 -0400 +@@ -158,4 +158,8 @@ static inline void FreePixmap(PixmapPtr + if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h) + #endif + ++#if XORG_VERSION_CURRENT > XORG_VERSION_NUMERIC(1,14,99,3,0) ++#define DamageUnregister(a, b) DamageUnregister(a) ++#endif ++ + #endif + diff --git a/extra/xf86-video-intel/xf86-video-intel.install b/extra/xf86-video-intel/xf86-video-intel.install index 661387906..326a18610 100644 --- a/extra/xf86-video-intel/xf86-video-intel.install +++ b/extra/xf86-video-intel/xf86-video-intel.install @@ -6,13 +6,16 @@ post_upgrade() { post_install() { cat <<MSG ->>> This driver now uses SNA as the default acceleration method. You can - still fall back to UXA if you run into trouble. To do so, save a file - with the following content as /etc/X11/xorg.conf.d/20-intel.conf : +>>> This driver uses SNA as the default acceleration method. You can + fall back to UXA if you run into trouble or test experimental + Glamor acceleration. To do so, save a file with the following + content as /etc/X11/xorg.conf.d/20-intel.conf : Section "Device" Identifier "Intel Graphics" Driver "intel" - Option "AccelMethod" "uxa" + Option "AccelMethod" "sna" + #Option "AccelMethod" "uxa" + #Option "AccelMethod" "glamor" EndSection MSG } diff --git a/extra/xf86-video-mach64/PKGBUILD b/extra/xf86-video-mach64/PKGBUILD index cd6fe5e98..603c6bc5f 100644 --- a/extra/xf86-video-mach64/PKGBUILD +++ b/extra/xf86-video-mach64/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198521 2013-10-30 15:22:36Z allan $ +# $Id: PKGBUILD 203623 2014-01-13 17:13:01Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-mach64 pkgver=6.9.4 -pkgrel=2 +pkgrel=3 pkgdesc="X.org mach64 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto' ) -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') optdepends=('mach64-dri: DRI1 support from community repo') groups=('xorg-drivers' 'xorg') options=('!emptydirs') @@ -18,13 +18,13 @@ source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('97f108b8d7c0a8426bef9562683323ab6369956f18b0e220ee0d1a66b740855e') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-mga/PKGBUILD b/extra/xf86-video-mga/PKGBUILD index cc6389ae9..3c4017e8a 100644 --- a/extra/xf86-video-mga/PKGBUILD +++ b/extra/xf86-video-mga/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 200806 2013-12-05 19:33:54Z andyrtr $ +# $Id: PKGBUILD 203624 2014-01-13 17:13:03Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-mga pkgver=1.6.3 -pkgrel=1 +pkgrel=2 pkgdesc="X.org mga video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') optdepends=('mga-dri: DRI1 support from community repo') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-video-modesetting/PKGBUILD b/extra/xf86-video-modesetting/PKGBUILD index d140e3e65..eb45b8e1e 100644 --- a/extra/xf86-video-modesetting/PKGBUILD +++ b/extra/xf86-video-modesetting/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 200763 2013-12-04 19:37:59Z andyrtr $ +# $Id: PKGBUILD 203625 2014-01-13 17:13:05Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> pkgname=xf86-video-modesetting pkgver=0.8.1 -pkgrel=1 +pkgrel=2 pkgdesc="X.org generic modesetting video driver" arch=('i686' 'x86_64') url="http://xorg.freedesktop.org/" license=('custom') depends=('libdrm>=2.4.37' 'systemd') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-video-neomagic/PKGBUILD b/extra/xf86-video-neomagic/PKGBUILD index 44e2a8489..a3cb04aba 100644 --- a/extra/xf86-video-neomagic/PKGBUILD +++ b/extra/xf86-video-neomagic/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 198526 2013-10-30 15:23:40Z allan $ +# $Id: PKGBUILD 203626 2014-01-13 17:13:07Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-neomagic pkgver=1.2.8 -pkgrel=1 +pkgrel=2 pkgdesc="X.org neomagic video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('50abf6ac02547900edeaa5073c5f6d2f153f12dd47067cc7e4758e1b74d78874') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-nouveau/PKGBUILD b/extra/xf86-video-nouveau/PKGBUILD index 9db8e5154..7f8e45551 100644 --- a/extra/xf86-video-nouveau/PKGBUILD +++ b/extra/xf86-video-nouveau/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 199041 2013-11-07 17:46:41Z andyrtr $ +# $Id: PKGBUILD 203627 2014-01-13 17:13:09Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: buddabrod <buddabrod@gmail.com> pkgname=xf86-video-nouveau pkgver=1.0.10 -pkgrel=1 +pkgrel=2 pkgdesc="Open Source 2D acceleration driver for nVidia cards" arch=('i686' 'x86_64') url="http://nouveau.freedesktop.org/" license=('GPL') depends=('libdrm' 'udev' 'nouveau-dri') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') install=$pkgname.install source=(http://xorg.freedesktop.org/archive/individual/driver/$pkgname-$pkgver.tar.bz2) diff --git a/extra/xf86-video-nv/PKGBUILD b/extra/xf86-video-nv/PKGBUILD index b2f2330d7..9ce89d8b2 100644 --- a/extra/xf86-video-nv/PKGBUILD +++ b/extra/xf86-video-nv/PKGBUILD @@ -1,31 +1,31 @@ -# $Id: PKGBUILD 198528 2013-10-30 15:24:23Z allan $ +# $Id: PKGBUILD 203628 2014-01-13 17:13:10Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer:Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-nv pkgver=2.1.20 -pkgrel=3 +pkgrel=4 pkgdesc="X.org nv video driver" arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fixes.patch) sha256sums=('8395f65501f16f9cbaae8f598b02c6f18e78f4d3d30a08cb8d547dc2e00c10bf' '0ec4234fd9202956d25ca93e9131930e4a3fbba5de2ca870d0cf2302ccb76b46') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fixes.patch ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-openchrome/PKGBUILD b/extra/xf86-video-openchrome/PKGBUILD index c24949122..cb9f5d812 100644 --- a/extra/xf86-video-openchrome/PKGBUILD +++ b/extra/xf86-video-openchrome/PKGBUILD @@ -1,18 +1,19 @@ -# $Id: PKGBUILD 198529 2013-10-30 15:24:51Z allan $ +# $Id: PKGBUILD 203629 2014-01-13 17:13:11Z andyrtr $ # Contributor: Paul Mattal <paul@mattal.com> # Maintainer: Juergen Hoetzel <juergen@hoetzel.info> pkgname=xf86-video-openchrome pkgver=0.3.3 -pkgrel=2 +pkgrel=3 pkgdesc="X.Org Openchrome drivers" arch=(i686 x86_64) license=('custom') url="http://www.openchrome.org" depends=('libdrm' 'libxvmc' 'systemd') optdepends=('unichrome-dri') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15' 'xf86-video-via' 'xf86-video-unichrome' 'openchrome') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16' + 'xf86-video-via' 'xf86-video-unichrome' 'openchrome') replaces=('openchrome' 'xf86-video-via') groups=('xorg-drivers' 'xorg') options=('!emptydirs' '!makeflags') @@ -20,13 +21,13 @@ source=(http://xorg.freedesktop.org/archive/individual/driver/${pkgname}-${pkgve sha1sums=('1f7b23d4ed53417eda5c6730486b36812f469295') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-r128/PKGBUILD b/extra/xf86-video-r128/PKGBUILD index 447554869..428785d82 100644 --- a/extra/xf86-video-r128/PKGBUILD +++ b/extra/xf86-video-r128/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198530 2013-10-30 15:25:14Z allan $ +# $Id: PKGBUILD 203630 2014-01-13 17:13:12Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-r128 pkgver=6.9.2 -pkgrel=1 +pkgrel=2 pkgdesc="X.org ati Rage128 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') optdepends=('r128-dri: DRI1 support from community repo') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-video-rendition/PKGBUILD b/extra/xf86-video-rendition/PKGBUILD index b4de759cc..79b812662 100644 --- a/extra/xf86-video-rendition/PKGBUILD +++ b/extra/xf86-video-rendition/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198531 2013-10-30 15:25:34Z allan $ +# $Id: PKGBUILD 203631 2014-01-13 17:13:13Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-rendition pkgver=4.2.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org Rendition video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') options=('!strip') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fixes.patch) sha256sums=('39b5569338237de6e17b2a2c6be73ac6c405ee596079c41a7028cfd6e54134cb' '93a59e9deed98af201c8bb231fdf3214fcd02dae8ef2f880b044b4fd100cdb4c') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fixes.patch ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-s3/PKGBUILD b/extra/xf86-video-s3/PKGBUILD index 1229b54e0..cba1e9b74 100644 --- a/extra/xf86-video-s3/PKGBUILD +++ b/extra/xf86-video-s3/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 198532 2013-10-30 15:25:58Z allan $ +# $Id: PKGBUILD 203632 2014-01-13 17:13:15Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-s3 pkgver=0.6.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org S3 video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 build-fix.diff) sha256sums=('4778cd4f1d61490c3562f9be03664576f065fa3acf22fe0d0689212d7ea3ad39' 'ad5ce4569c16f28801f4f89d8271fccc5706ef8508a6051ca094854d92a19d1a') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/build-fix.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-s3virge/PKGBUILD b/extra/xf86-video-s3virge/PKGBUILD index 08dfbc589..a0fba0cda 100644 --- a/extra/xf86-video-s3virge/PKGBUILD +++ b/extra/xf86-video-s3virge/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 198533 2013-10-30 15:26:27Z allan $ +# $Id: PKGBUILD 203633 2014-01-13 17:13:16Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-s3virge pkgver=1.10.6 -pkgrel=3 +pkgrel=4 pkgdesc="X.org S3 Virge video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('85e1f6bdd3f39d0348c53602f481b974c13fc752c94931882817751c8ec8363e') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-savage/PKGBUILD b/extra/xf86-video-savage/PKGBUILD index 5071a89a4..ea5696c6a 100644 --- a/extra/xf86-video-savage/PKGBUILD +++ b/extra/xf86-video-savage/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198534 2013-10-30 15:26:51Z allan $ +# $Id: PKGBUILD 203634 2014-01-13 17:13:17Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-savage pkgver=2.3.7 -pkgrel=1 +pkgrel=2 pkgdesc="X.org savage video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') optdepends=('savage-dri: DRI1 support from community repo') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) diff --git a/extra/xf86-video-siliconmotion/0001-Remove-miInitializeBackingStore.patch b/extra/xf86-video-siliconmotion/0001-Remove-miInitializeBackingStore.patch new file mode 100644 index 000000000..2b778e44f --- /dev/null +++ b/extra/xf86-video-siliconmotion/0001-Remove-miInitializeBackingStore.patch @@ -0,0 +1,27 @@ +From f19d7e463c30f1364e82e8c9f87b8a8407d53680 Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Wed, 9 Jan 2013 22:59:39 -0500 +Subject: [PATCH] Remove miInitializeBackingStore() + +Signed-off-by: Adam Jackson <ajax@redhat.com> +--- + src/smi_driver.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/smi_driver.c b/src/smi_driver.c +index 4794571..134db79 100644 +--- a/src/smi_driver.c ++++ b/src/smi_driver.c +@@ -1750,8 +1750,6 @@ SMI_ScreenInit(SCREEN_INIT_ARGS_DECL) + "Done writing mode. Register dump:\n"); + SMI_PrintRegs(pScrn); + +- miInitializeBackingStore(pScreen); +- + #ifdef HAVE_XMODES + xf86DiDGAInit(pScreen, (unsigned long)(pSmi->FBBase + pScrn->fbOffset)); + #endif +-- +1.8.0.2 + + diff --git a/extra/xf86-video-siliconmotion/PKGBUILD b/extra/xf86-video-siliconmotion/PKGBUILD index d0572943b..f7b4aa231 100644 --- a/extra/xf86-video-siliconmotion/PKGBUILD +++ b/extra/xf86-video-siliconmotion/PKGBUILD @@ -1,29 +1,32 @@ -# $Id: PKGBUILD 198535 2013-10-30 15:27:11Z allan $ +# $Id: PKGBUILD 203635 2014-01-13 17:13:18Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=xf86-video-siliconmotion pkgver=1.7.7 -pkgrel=3 +pkgrel=4 pkgdesc="X.org siliconmotion video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('87b8b59d43945d4fc8012860c0bd9aed42c4684a943355c607b8eb8d6710c3aa') +source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + 0001-Remove-miInitializeBackingStore.patch) +sha256sums=('87b8b59d43945d4fc8012860c0bd9aed42c4684a943355c607b8eb8d6710c3aa' + '257cc6ccf2ed565daaacaf87cb2f1195b4c2f6bb95fefe5e89766f88393e6647') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + patch -Np1 -i ${srcdir}/0001-Remove-miInitializeBackingStore.patch ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-sis/PKGBUILD b/extra/xf86-video-sis/PKGBUILD index 067bd0cdc..a4a462692 100644 --- a/extra/xf86-video-sis/PKGBUILD +++ b/extra/xf86-video-sis/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198536 2013-10-30 15:27:33Z allan $ +# $Id: PKGBUILD 203636 2014-01-13 17:13:20Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-sis pkgver=0.10.7 -pkgrel=4 +pkgrel=5 pkgdesc="X.org SiS video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'xf86dgaproto' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'xf86dgaproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') optdepends=('sis-dri: DRI1 support from community repo') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -23,7 +23,7 @@ sha256sums=('be2eb6acba081e88dabc5be9db379e3da89a4d4edeb68064f204bf343a411cd0' '7a1a0b784664a0f011bd13395be1854dee407e901d2707ab1a6b8d20caa0a672') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i "${srcdir}/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch" patch -Np1 -i ${srcdir}/git-fixes.patch patch -Np1 -i ${srcdir}/Xi.patch @@ -32,7 +32,7 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-sisimedia/PKGBUILD b/extra/xf86-video-sisimedia/PKGBUILD index 5522e7faa..083c610c7 100644 --- a/extra/xf86-video-sisimedia/PKGBUILD +++ b/extra/xf86-video-sisimedia/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198537 2013-10-30 15:27:58Z allan $ +# $Id: PKGBUILD 203637 2014-01-13 17:13:22Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-sisimedia pkgver=0.9.1 -pkgrel=7 +pkgrel=8 pkgdesc="X.org SiS 671 video driver" arch=(i686 x86_64) url="http://www.linuxconsulting.ro/xorg-drivers/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'xf86dgaproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'xf86dgaproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia-0.9.1_20091203.tar.bz2 xf86-video-sis-0.9.1-20102701.patch 0002-Remove-XFree86-Misc-PassMessage-support.patch diff --git a/extra/xf86-video-sisusb/PKGBUILD b/extra/xf86-video-sisusb/PKGBUILD index 7676aa996..f825b2bd4 100644 --- a/extra/xf86-video-sisusb/PKGBUILD +++ b/extra/xf86-video-sisusb/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 198538 2013-10-30 15:28:21Z allan $ +# $Id: PKGBUILD 203638 2014-01-13 17:13:23Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-sisusb pkgver=0.9.6 -pkgrel=3 +pkgrel=4 pkgdesc="X.org SiS USB video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fixes.patch) sha256sums=('73dbef43c56a4ce1445c27ebac2ddc062c643c32ca6e2a4d095aea2185b9e046' '9b64f4a9160c1055d3e01e1b603840986163a7880dbbb5c12f3a7d4c66739134') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fixes.patch ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-tdfx/PKGBUILD b/extra/xf86-video-tdfx/PKGBUILD index 4c7b0abe1..ec47c5e18 100644 --- a/extra/xf86-video-tdfx/PKGBUILD +++ b/extra/xf86-video-tdfx/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198539 2013-10-30 15:28:43Z allan $ +# $Id: PKGBUILD 203639 2014-01-13 17:13:24Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-tdfx pkgver=1.4.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org tdfx video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') optdepends=('tdfx-dri: DRI1 support from community repo') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fixes.patch) @@ -18,15 +18,14 @@ sha256sums=('70d5fbadfb60fc25e4f90f2a1aad258f64fa3953efbc1059103a8d845870d859' 'a79d50f619e6976b90a73f1a9842390e1b3fa37e1ce519bfbb178bd3161af9b5') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fixes.patch ./configure --prefix=/usr make } package() { - #cd "${srcdir}/${pkgname}-${pkgver}" - cd ${srcdir}/${pkgname}* + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-trident/PKGBUILD b/extra/xf86-video-trident/PKGBUILD index bc2df6862..a590df57c 100644 --- a/extra/xf86-video-trident/PKGBUILD +++ b/extra/xf86-video-trident/PKGBUILD @@ -1,30 +1,30 @@ -# $Id: PKGBUILD 198540 2013-10-30 15:29:05Z allan $ +# $Id: PKGBUILD 203640 2014-01-13 17:13:25Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-trident pkgver=1.3.6 -pkgrel=4 +pkgrel=5 pkgdesc="X.org Trident video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'xf86dgaproto' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'xf86dgaproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git_fixes.diff) sha256sums=('6a58e3f3034abd8803af8a5c7dd5a6a4a28ed4fdac742ffb05518caaddc28104' 'e51d7a9c5a3d7d2df7f56e482f5fbeac1babc2b30cdf4655052b11c9d4ec2c1c') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git_fixes.diff ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-tseng/PKGBUILD b/extra/xf86-video-tseng/PKGBUILD index c9f87a796..86e1b18b1 100644 --- a/extra/xf86-video-tseng/PKGBUILD +++ b/extra/xf86-video-tseng/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 198541 2013-10-30 15:29:25Z allan $ +# $Id: PKGBUILD 203641 2014-01-13 17:13:26Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-tseng pkgver=1.2.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org tseng video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fixes.patch) sha256sums=('c06dc5205f627e5afc795ecfa75e18d2d1db4e1f1f195fd017dad60854407819' '8a337e2bab9a5ee7ba15dde6665abcfa9559d769074873cb2a85cc86716bd5da') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/git-fixes.patch ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-v4l/PKGBUILD b/extra/xf86-video-v4l/PKGBUILD index 39ff92cd1..8b2cb021e 100644 --- a/extra/xf86-video-v4l/PKGBUILD +++ b/extra/xf86-video-v4l/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198542 2013-10-30 15:29:50Z allan $ +# $Id: PKGBUILD 203642 2014-01-13 17:13:28Z andyrtr $ #Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-v4l pkgver=0.2.0 -pkgrel=12 +pkgrel=13 pkgdesc="X.org v4l video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 git-fixes.patch @@ -20,7 +20,7 @@ md5sums=('2251ae2a0a905764941cd7b098e85ad1' '7d4d018f6bbff7e42672d1aabc75c5cf') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -i "${srcdir}/git-fixes.patch" autoreconf -fi ./configure --prefix=/usr @@ -28,7 +28,7 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-vesa/PKGBUILD b/extra/xf86-video-vesa/PKGBUILD index 45a3ddf95..ff8249bfb 100644 --- a/extra/xf86-video-vesa/PKGBUILD +++ b/extra/xf86-video-vesa/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 198543 2013-10-30 15:30:23Z allan $ +# $Id: PKGBUILD 203643 2014-01-13 17:13:30Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-vesa pkgver=2.3.2 -pkgrel=3 +pkgrel=4 pkgdesc="X.org vesa video driver" arch=(i686 x86_64) license=('custom') url="http://xorg.freedesktop.org/" depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 revert-kernelcheck.patch @@ -20,7 +20,7 @@ sha256sums=('144a17ffae3c86603ddc4ae33521a52813498ee1f8213faa662dc4a8d6490ee3' 'beba7e8499b1d0b457762e28e7e413b223cbe87a84a39a3566e96c44da8544a1') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} patch -Np1 -R -i "${srcdir}/revert-kernelcheck.patch" patch -Np1 -i ${srcdir}/git-fixes.patch ./configure --prefix=/usr @@ -28,7 +28,7 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" diff --git a/extra/xf86-video-vmware/PKGBUILD b/extra/xf86-video-vmware/PKGBUILD index 9b3247d92..8b9cabb55 100644 --- a/extra/xf86-video-vmware/PKGBUILD +++ b/extra/xf86-video-vmware/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 201669 2013-12-17 21:04:57Z lcarlier $ +# $Id: PKGBUILD 203644 2014-01-13 17:13:31Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-vmware pkgver=13.0.1 -pkgrel=2 +pkgrel=3 pkgdesc="X.org vmware video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('libdrm' 'svga-dri' 'mesa>=10.0') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') options=('!emptydirs') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 @@ -19,19 +19,19 @@ sha256sums=('802dda415c22412edad6c3df44fe18a06e91d0f8456d9a58bac0d340fdf8fe3d' '7ab392cbc6258dc36df14ef60072c655d850bcfb6885111b41bcfe25dc1faacc') prepare() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} # grab from upstream git repo, needed for mesa>10.0 patch -Np1 -i ../xatracker-v2-fixes.patch } build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr --enable-vmwarectrl-client make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" diff --git a/extra/xf86-video-voodoo/PKGBUILD b/extra/xf86-video-voodoo/PKGBUILD index 2d14fbb51..472e5f75b 100644 --- a/extra/xf86-video-voodoo/PKGBUILD +++ b/extra/xf86-video-voodoo/PKGBUILD @@ -1,28 +1,28 @@ -# $Id: PKGBUILD 198545 2013-10-30 15:31:13Z allan $ +# $Id: PKGBUILD 203645 2014-01-13 17:13:32Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-voodoo pkgver=1.2.5 -pkgrel=3 +pkgrel=4 pkgdesc="X.org 3dfx Voodoo1/Voodoo2 2D video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=14' 'xf86dgaproto' 'resourceproto' 'scrnsaverproto') -conflicts=('xorg-server<1.14.0' 'X-ABI-VIDEODRV_VERSION<14' 'X-ABI-VIDEODRV_VERSION>=15') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=15' 'xf86dgaproto') +conflicts=('xorg-server<1.15.0' 'X-ABI-VIDEODRV_VERSION<15' 'X-ABI-VIDEODRV_VERSION>=16') groups=('xorg-drivers' 'xorg') source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) sha256sums=('9e3eb8a3fdcc60ce4f7c37649188cfa67dcf25cda3a85d8027588458bb3fd7e8') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} ./configure --prefix=/usr make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" diff --git a/extra/xfce4-mailwatch-plugin/PKGBUILD b/extra/xfce4-mailwatch-plugin/PKGBUILD index f0b8ff2ae..f22ca3864 100644 --- a/extra/xfce4-mailwatch-plugin/PKGBUILD +++ b/extra/xfce4-mailwatch-plugin/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 197445 2013-10-26 02:49:51Z eric $ +# $Id: PKGBUILD 203597 2014-01-13 17:12:32Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Suzy Williams <suzanne.williams3@verizon.net> pkgname=xfce4-mailwatch-plugin pkgver=1.2.0 -pkgrel=1 +pkgrel=2 pkgdesc="A mailbox watch/check plugin for the Xfce4 panel" arch=('i686' 'x86_64') url="http://goodies.xfce.org/projects/panel-plugins/xfce4-mailwatch-plugin" diff --git a/extra/xmlsec/PKGBUILD b/extra/xmlsec/PKGBUILD index 81cfd66cb..c19a44b4b 100644 --- a/extra/xmlsec/PKGBUILD +++ b/extra/xmlsec/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 198582 2013-10-30 15:44:58Z allan $ +# $Id: PKGBUILD 203598 2014-01-13 17:12:34Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Hussam Al-Tayeb <ht990332@gmail.com> pkgname=xmlsec pkgver=1.2.19 -pkgrel=1 +pkgrel=2 pkgdesc="XML Security Library is a C library based on LibXML2" license=('custom') arch=(i686 x86_64) diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD index b9b3f52ad..5bc67ab42 100644 --- a/extra/xorg-server/PKGBUILD +++ b/extra/xorg-server/PKGBUILD @@ -1,39 +1,33 @@ -# $Id: PKGBUILD 203261 2014-01-06 22:20:54Z lcarlier $ +# $Id: PKGBUILD 203648 2014-01-13 17:13:35Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') -pkgver=1.14.5 -pkgrel=2 +pkgver=1.15.0 +pkgrel=5 # build first with 0.1 and then rebuild it after xf86-input-evdev rebuild arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org" -makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' - 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' - 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros' - 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt') +makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' + 'inputproto' 'fontsproto' 'videoproto' 'presentproto' 'compositeproto' 'recordproto' 'scrnsaverproto' + 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' + 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' + 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt' + 'xcb-util' 'xcb-util-image' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto' 'libxshmfence') source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 autoconfig-nvidia.patch autoconfig-sis.patch - xserver-1.6.0-less-acpi-brokenness.patch - bug59825.patch - xephyr-glx.patch xvfb-run xvfb-run.1 10-quirks.conf - fb-rename-wfbDestroyGlyphCache.patch - CVE-2013-6424.diff) -sha256sums=('8d0f06bf1416487a5170318477088826a8d737d4a201e996b2dc1ecff47461d1' + CVE-2013-6424.diff) +sha256sums=('613b2f2e7ee2a06d2f8e862c836dc70d319c52f1537749e027398f40086aabb8' '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' - 'e033f9bcc21980f7f0428e6ed6c362a3d55ad293b05fd6e6c6c1933b86f9e63a' - '26ee6ff255a60d7c1e136c612925eb63c86e85a4a3a55d531852ad9275526588' - 'bb63658d250c21bbfaf94c5417f2920ce5963ee1f7db6cac2b163a54f2e9b619' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166' - 'd0832cc16b5e6c1dee2959055a4b327f5c87e2a67b5f427d654663057207b2c1' '89948993afd4d9aec6a0bdbaf62f494e9956bb77a0386307d497f340a818ff61') prepare() { @@ -44,18 +38,6 @@ prepare() { # Use unofficial imedia SiS driver for supported SiS devices patch -Np0 -i ../autoconfig-sis.patch - # https://bugs.freedesktop.org/show_bug.cgi?id=59825 - fixes crash with vboxvideo -# patch -Np1 -i ../bug59825.patch - - # From Fedora. Do not build acpid code, it is buggy and we do not need it - patch -Np1 -i ../xserver-1.6.0-less-acpi-brokenness.patch - - # Add GLX support for Xephyr - https://bugs.freedesktop.org/show_bug.cgi?id=62346 - patch -Np0 -i ../xephyr-glx.patch - - # http://cgit.freedesktop.org/xorg/xserver/commit/fb/wfbrename.h?id=5047810a4c20fab444b8c6eb146c55dcdb0d4219 - patch -Np1 -i ../fb-rename-wfbDestroyGlyphCache.patch - # Fix CVE-2013-6424 (FS#38401) patch -Np1 -i ../CVE-2013-6424.diff } @@ -90,6 +72,10 @@ build() { --with-xkb-path=/usr/share/X11/xkb \ --with-xkb-output=/var/lib/xkb \ --with-fontrootdir=/usr/share/fonts + +# --without-dtrace \ +# --disable-linux-acpi --disable-linux-apm \ + make # Disable subdirs for make install rule to make splitting easier @@ -119,12 +105,13 @@ package_xorg-server-common() { package_xorg-server() { pkgdesc="Xorg X server" - depends=(libxdmcp libxfont libpciaccess libdrm 'pixman>=0.28.0' libgcrypt libxau xorg-server-common xf86-input-evdev) + depends=(libxdmcp libxfont libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev libxshmfence) backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf') # see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on - provides=('X-ABI-VIDEODRV_VERSION=14' 'X-ABI-XINPUT_VERSION=19' 'X-ABI-EXTENSION_VERSION=7.0' 'x-server') + # and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg + provides=('X-ABI-VIDEODRV_VERSION=15' 'X-ABI-XINPUT_VERSION=20' 'X-ABI-EXTENSION_VERSION=8.0' 'x-server') groups=('xorg') - conflicts=('nvidia-utils<=290.10') + conflicts=('nvidia-utils<=331.20') cd "${pkgbase}-${pkgver}" make DESTDIR="${pkgdir}" install @@ -154,7 +141,7 @@ package_xorg-server() { package_xorg-server-xephyr() { pkgdesc="A nested X server that runs as an X application" - depends=(libxfont libgl libgcrypt libxv 'pixman>=0.28.0' xorg-server-common) + depends=(libxfont libgl libgcrypt libxv pixman xorg-server-common 'xcb-util-image' 'xcb-util-wm' 'xcb-util-keysyms') cd "${pkgbase}-${pkgver}/hw/kdrive" make DESTDIR="${pkgdir}" install @@ -165,7 +152,7 @@ package_xorg-server-xephyr() { package_xorg-server-xvfb() { pkgdesc="Virtual framebuffer X server" - depends=(libxfont libxdmcp libxau libgcrypt 'pixman>=0.28.0' xorg-server-common xorg-xauth) + depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common xorg-xauth) cd "${pkgbase}-${pkgver}/hw/vfb" make DESTDIR="${pkgdir}" install @@ -179,7 +166,7 @@ package_xorg-server-xvfb() { package_xorg-server-xnest() { pkgdesc="A nested X server that runs as an X application" - depends=(libxfont libxext libgcrypt 'pixman>=0.28.0' xorg-server-common) + depends=(libxfont libxext libgcrypt pixman xorg-server-common) cd "${pkgbase}-${pkgver}/hw/xnest" make DESTDIR="${pkgdir}" install @@ -190,7 +177,7 @@ package_xorg-server-xnest() { package_xorg-server-xdmx() { pkgdesc="Distributed Multihead X Server and utilities" - depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes 'pixman>=0.28.0' xorg-server-common) + depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes pixman xorg-server-common) cd "${pkgbase}-${pkgver}/hw/dmx" make DESTDIR="${pkgdir}" install @@ -204,9 +191,8 @@ package_xorg-server-devel() { depends=(# see pkgdir/usr/lib/pkgconfig/xorg-server.pc xproto randrproto renderproto xextproto inputproto kbproto fontsproto pixman videoproto xf86driproto glproto - mesa dri2proto xineramaproto libpciaccess - # see FS#32146 - resourceproto scrnsaverproto + mesa dri2proto dri3proto xineramaproto libpciaccess + resourceproto scrnsaverproto presentproto # not technically required but almost every Xorg pkg needs it to build xorg-util-macros) diff --git a/extra/xorg-server/bug59825.patch b/extra/xorg-server/bug59825.patch deleted file mode 100644 index b405d136d..000000000 --- a/extra/xorg-server/bug59825.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -U 3 -b -d -p -r -- a/glx/glxdri.c b/glx/glxdri.c
---- a/glx/glxdri.c 2013-01-24 22:14:35.216092949 +0100
-+++ b/glx/glxdri.c 2013-01-24 22:13:48.499427991 +0100
-@@ -971,6 +971,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
- size_t buffer_size;
- ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-
-+ framebuffer.base = NULL;
-+
- if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
- !DRIQueryDirectRenderingCapable(pScreen, &isCapable) || !isCapable) {
- LogMessage(X_INFO,
\ No newline at end of file diff --git a/extra/xorg-server/fb-rename-wfbDestroyGlyphCache.patch b/extra/xorg-server/fb-rename-wfbDestroyGlyphCache.patch deleted file mode 100644 index 177f908ef..000000000 --- a/extra/xorg-server/fb-rename-wfbDestroyGlyphCache.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5047810a4c20fab444b8c6eb146c55dcdb0d4219 Mon Sep 17 00:00:00 2001 -From: Aaron Plattner <aplattner@nvidia.com> -Date: Wed, 06 Mar 2013 17:40:28 +0000 -Subject: fb: Rename wfbDestroyGlyphCache - -Renaming this function was missed in commit -9cbcb5bd6a5360a128d15b77a02d8d3351f74366, so both libfb.so and libwfb.so define -functions named fbDestroyGlyphCache. - -Signed-off-by: Aaron Plattner <aplattner@nvidia.com> -Reviewed-by: Søren Sandmann <ssp@redhat.com> -Signed-off-by: Keith Packard <keithp@keithp.com> ---- -diff --git a/fb/wfbrename.h b/fb/wfbrename.h -index 588440c..54d00d0 100644 ---- a/fb/wfbrename.h -+++ b/fb/wfbrename.h -@@ -52,6 +52,7 @@ - #define fbCreatePixmap wfbCreatePixmap - #define fbCreatePixmapBpp wfbCreatePixmapBpp - #define fbCreateWindow wfbCreateWindow -+#define fbDestroyGlyphCache wfbDestroyGlyphCache - #define fbDestroyPixmap wfbDestroyPixmap - #define fbDestroyWindow wfbDestroyWindow - #define fbDoCopy wfbDoCopy --- -cgit v0.9.0.2-2-gbebe diff --git a/extra/xorg-server/xephyr-glx.patch b/extra/xorg-server/xephyr-glx.patch deleted file mode 100644 index 3011e2497..000000000 --- a/extra/xorg-server/xephyr-glx.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- hw/kdrive/ephyr/ephyrinit.c 2013-03-14 19:07:41.904335711 +0100 -+++ hw/kdrive/ephyr/ephyrinit.c.new 2013-03-14 19:07:33.024335444 +0100 -@@ -28,6 +28,7 @@ - #endif - #include "ephyr.h" - #include "ephyrlog.h" -+#include "glx_extinit.h" - - extern Window EphyrPreExistingHostWin; - extern Bool EphyrWantGrayScale; -@@ -53,9 +54,28 @@ - KdCardInfoAdd(&ephyrFuncs, 0); - } - -+static const ExtensionModule ephyrExtensions[] = { -+#ifdef GLXEXT -+ { GlxExtensionInit, "GLX", &noGlxExtension }, -+#endif -+}; -+ -+static -+void ephyrExtensionInit(void) -+{ -+ int i; -+ -+ for (i = 0; i < ARRAY_SIZE(ephyrExtensions); i++) -+ LoadExtension(&ephyrExtensions[i], TRUE); -+} -+ -+ - void - InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) - { -+ if (serverGeneration == 1) -+ ephyrExtensionInit(); -+ - KdInitOutput(pScreenInfo, argc, argv); - } - diff --git a/extra/xorg-server/xserver-1.6.0-less-acpi-brokenness.patch b/extra/xorg-server/xserver-1.6.0-less-acpi-brokenness.patch deleted file mode 100644 index b42c2d7c8..000000000 --- a/extra/xorg-server/xserver-1.6.0-less-acpi-brokenness.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0002cde5312e785529b2901d7f8a82d5623e4ca7 Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Wed, 9 Nov 2011 11:52:06 +1000 -Subject: [PATCH 2/7] Don't build the ACPI code. - -No good can come of this. ---- - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a12783c..54f4464 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1620,7 +1620,6 @@ if test "x$XORG" = xyes; then - linux_alpha=yes - ;; - i*86|amd64*|x86_64*|ia64*) -- linux_acpi="yes" - ;; - *) - ;; --- -1.7.10.1 - diff --git a/extra/yelp/PKGBUILD b/extra/yelp/PKGBUILD index 9ca8686ab..0baa72111 100644 --- a/extra/yelp/PKGBUILD +++ b/extra/yelp/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 198585 2013-10-30 15:47:13Z allan $ +# $Id: PKGBUILD 203599 2014-01-13 17:12:35Z andyrtr $ # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=yelp pkgver=3.10.1 -pkgrel=1 +pkgrel=2 pkgdesc="A help browser for GNOME" arch=('i686' 'x86_64') depends=('webkitgtk' 'yelp-xsl' 'libxslt' 'hicolor-icon-theme' 'xz' 'bzip2' diff --git a/kernels/linux-libre-grsec/PKGBUILD b/kernels/linux-libre-grsec/PKGBUILD index f0d01f56b..e089e5eb6 100644 --- a/kernels/linux-libre-grsec/PKGBUILD +++ b/kernels/linux-libre-grsec/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 203405 2014-01-10 08:45:42Z tpowa $ +# $Id: PKGBUILD 203524 2014-01-12 13:05:55Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -12,9 +12,9 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.12 _sublevel=7 _grsecver=3.0 -_timestamp=201401091837 +_timestamp=201401120824 pkgver=${_basekernel}.${_sublevel} -pkgrel=1 +pkgrel=2 _lxopkgver=${_basekernel}.7 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -33,13 +33,19 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'boot-logo.patch' 'change-default-console-loglevel.patch' 'criu-no-expert.patch' + 'sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch' + 'sunrpc-replace-gssd_running-with-more-reliable-check.patch' + 'nfs-check-gssd-running-before-krb5i-auth.patch' + 'rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch' + 'sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch' + 'rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch' 'module-blacklist.conf' 'sysctl.conf' 'known-exploit-detection.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('254f59707b6676b59ce5ca5c3c698319' 'c42ff446236915fe1a6e2b6f9724d267' - 'e4a7b8f1543e9c2c3ab0ed77ff93b04a' + 'a90b0bcd0ece5c0bee4fa8155a0122fd' 'ce2f5067862192ce2dcb897e362b24f6' '93ff5264c547d894cc68e0c30a0dbdd8' '5f66bed97a5c37e48eb2f71b2d354b9a' @@ -48,6 +54,12 @@ md5sums=('254f59707b6676b59ce5ca5c3c698319' '14bb375a8a1d86d2875f72fcbaa03f3e' '0892ce6045478bea4a005a6d82c0819e' 'b5509f6c3889a1b32f2e1f90ee2508f1' + 'd4a75f77e6bd5d700dcd534cd5f0dfce' + 'dc86fdc37615c97f03c1e0c31b7b833a' + '88eef9d3b5012ef7e82af1af8cc4e517' + 'cec0bb8981936eab2943b2009b7a6fff' + '88d9cddf9e0050a76ec4674f264fb2a1' + 'cb9016630212ef07b168892fbcfd4e5d' 'f93ef6157fbb23820bd5ae08fd3f451e' '0db7629711f4ed76bd1f9da9f97bc4ea' '34f7e421a25ebc3c1406e04db56accfa' @@ -87,6 +99,17 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" + # fix 15 seocnds nfs delay + patch -Np1 -i "${srcdir}/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch" + patch -Np1 -i "${srcdir}/sunrpc-replace-gssd_running-with-more-reliable-check.patch" + patch -Np1 -i "${srcdir}/nfs-check-gssd-running-before-krb5i-auth.patch" + # fix nfs kernel oops + # #37866 + patch -Np1 -i "${srcdir}/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch" + patch -Np1 -i "${srcdir}/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch" + + patch -Np1 -i "${srcdir}/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch" + # add known exploit detection patch # http://lkml.org/lkml/2013/12/12/358 patch -Np1 -i "${srcdir}/known-exploit-detection.patch" diff --git a/kernels/linux-libre-grsec/nfs-check-gssd-running-before-krb5i-auth.patch b/kernels/linux-libre-grsec/nfs-check-gssd-running-before-krb5i-auth.patch new file mode 100644 index 000000000..be81fec76 --- /dev/null +++ b/kernels/linux-libre-grsec/nfs-check-gssd-running-before-krb5i-auth.patch @@ -0,0 +1,48 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Currently, the client will attempt to use krb5i in the SETCLIENTID call +even if rpc.gssd isn't running. When that fails, it'll then fall back to +RPC_AUTH_UNIX. This introduced a delay when mounting if rpc.gssd isn't +running, and causes warning messages to pop up in the ring buffer. + +Check to see if rpc.gssd is running before even attempting to use krb5i +auth, and just silently skip trying to do so if it isn't. In the event +that the admin is actually trying to mount with krb5*, it will still +fail at a later stage of the mount attempt. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + fs/nfs/nfs4client.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c +--- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c 2013-11-21 10:20:27.288286000 -0500 +@@ -10,6 +10,7 @@ + #include <linux/sunrpc/auth.h> + #include <linux/sunrpc/xprt.h> + #include <linux/sunrpc/bc_xprt.h> ++#include <linux/sunrpc/rpc_pipe_fs.h> + #include "internal.h" + #include "callback.h" + #include "delegation.h" +@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru + if (clp->cl_minorversion != 0) + __set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags); + __set_bit(NFS_CS_DISCRTRY, &clp->cl_flags); +- error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I); ++ ++ error = -EINVAL; ++ if (gssd_running(clp->cl_net)) ++ error = nfs_create_rpc_client(clp, timeparms, ++ RPC_AUTH_GSS_KRB5I); + if (error == -EINVAL) + error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX); + if (error < 0) + +_______________________________________________ +kernel mailing list +kernel@lists.fedoraproject.org +https://admin.fedoraproject.org/mailman/listinfo/kernel diff --git a/kernels/linux-libre-grsec/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch b/kernels/linux-libre-grsec/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch new file mode 100644 index 000000000..ed03f34dd --- /dev/null +++ b/kernels/linux-libre-grsec/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch @@ -0,0 +1,50 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +Currently, it could leak dentry references in some cases. Make sure +we clean up properly. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5d973b2..b185548 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1369,6 +1369,18 @@ out: + return pipe_dentry; + } + ++static void ++rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry) ++{ ++ struct dentry *clnt_dir = pipe_dentry->d_parent; ++ struct dentry *gssd_dir = clnt_dir->d_parent; ++ ++ __rpc_rmpipe(clnt_dir->d_inode, pipe_dentry); ++ __rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1); ++ __rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1); ++ dput(pipe_dentry); ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { +@@ -1412,7 +1424,7 @@ rpc_fill_super(struct super_block *sb, void *data, int silent) + return 0; + + err_depopulate: +- dput(gssd_dentry); ++ rpc_gssd_dummy_depopulate(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-grsec/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch b/kernels/linux-libre-grsec/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch new file mode 100644 index 000000000..e4b1a255f --- /dev/null +++ b/kernels/linux-libre-grsec/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch @@ -0,0 +1,32 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +In the event that we create the gssd/clntXX dir, but the pipe creation +subsequently fails, then we should remove the clntXX dir before +returning. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5cd7ad1..0b74c61 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1313,6 +1313,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + } + + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++ if (IS_ERR(pipe_dentry)) ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-grsec/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch b/kernels/linux-libre-grsec/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch new file mode 100644 index 000000000..dd3b5ba2f --- /dev/null +++ b/kernels/linux-libre-grsec/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch @@ -0,0 +1,96 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +rpc.gssd expects to see an "info" file in each clntXX dir. Since adding +the dummy gssd pipe, users that run rpc.gssd see a lot of these messages +spamming the logs: + + rpc.gssd[508]: ERROR: can't open /var/lib/nfs/rpc_pipefs/gssd/clntXX/info: No such file or directory + rpc.gssd[508]: ERROR: failed to read service info + +Add a dummy gssd/clntXX/info file to help silence these messages. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 49 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 0b74c61..5d973b2 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -17,6 +17,7 @@ + #include <linux/fsnotify.h> + #include <linux/kernel.h> + #include <linux/rcupdate.h> ++#include <linux/utsname.h> + + #include <asm/ioctls.h> + #include <linux/poll.h> +@@ -1275,6 +1276,44 @@ static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { + .downcall = dummy_downcall, + }; + ++/* ++ * Here we present a bogus "info" file to keep rpc.gssd happy. We don't expect ++ * that it will ever use this info to handle an upcall, but rpc.gssd expects ++ * that this file will be there and have a certain format. ++ */ ++static int ++rpc_show_dummy_info(struct seq_file *m, void *v) ++{ ++ seq_printf(m, "RPC server: %s\n", utsname()->nodename); ++ seq_printf(m, "service: foo (1) version 0\n"); ++ seq_printf(m, "address: 127.0.0.1\n"); ++ seq_printf(m, "protocol: tcp\n"); ++ seq_printf(m, "port: 0\n"); ++ return 0; ++} ++ ++static int ++rpc_dummy_info_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, rpc_show_dummy_info, NULL); ++} ++ ++static const struct file_operations rpc_dummy_info_operations = { ++ .owner = THIS_MODULE, ++ .open = rpc_dummy_info_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++}; ++ ++static const struct rpc_filelist gssd_dummy_info_file[] = { ++ [0] = { ++ .name = "info", ++ .i_fop = &rpc_dummy_info_operations, ++ .mode = S_IFREG | S_IRUSR, ++ }, ++}; ++ + /** + * rpc_gssd_dummy_populate - create a dummy gssd pipe + * @root: root of the rpc_pipefs filesystem +@@ -1312,9 +1351,18 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + goto out; + } + ++ ret = rpc_populate(clnt_dentry, gssd_dummy_info_file, 0, 1, NULL); ++ if (ret) { ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); +- if (IS_ERR(pipe_dentry)) ++ if (IS_ERR(pipe_dentry)) { ++ __rpc_depopulate(clnt_dentry, gssd_dummy_info_file, 0, 1); + __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ } + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 diff --git a/kernels/linux-libre-grsec/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch b/kernels/linux-libre-grsec/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch new file mode 100644 index 000000000..805498a70 --- /dev/null +++ b/kernels/linux-libre-grsec/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch @@ -0,0 +1,233 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +rpc.gssd will naturally hold open any pipe named */clnt*/gssd that shows +up under rpc_pipefs. That behavior gives us a reliable mechanism to tell +whether it's actually running or not. + +Create a new toplevel "gssd" directory in rpc_pipefs when it's mounted. +Under that directory create another directory called "clntXX", and then +within that a pipe called "gssd". + +We'll never send an upcall along that pipe, and any downcall written to +it will just return -EINVAL. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + include/linux/sunrpc/rpc_pipe_fs.h | 3 +- + net/sunrpc/netns.h | 1 + + net/sunrpc/rpc_pipe.c | 93 ++++++++++++++++++++++++++++++++++- + net/sunrpc/sunrpc_syms.c | 8 +++- + 4 files changed, 100 insertions(+), 5 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h +--- linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h 2013-11-21 10:11:17.893026000 -0500 +@@ -64,7 +64,8 @@ enum { + + extern struct dentry *rpc_d_lookup_sb(const struct super_block *sb, + const unsigned char *dir_name); +-extern void rpc_pipefs_init_net(struct net *net); ++extern int rpc_pipefs_init_net(struct net *net); ++extern void rpc_pipefs_exit_net(struct net *net); + extern struct super_block *rpc_get_sb_net(const struct net *net); + extern void rpc_put_sb_net(const struct net *net); + +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h 2013-11-21 10:11:17.897029000 -0500 +@@ -14,6 +14,7 @@ struct sunrpc_net { + struct cache_detail *rsi_cache; + + struct super_block *pipefs_sb; ++ struct rpc_pipe *gssd_dummy; + struct mutex pipefs_sb_lock; + + struct list_head all_clients; +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c 2013-11-21 10:11:17.903026000 -0500 +@@ -38,7 +38,7 @@ + #define NET_NAME(net) ((net == &init_net) ? " (init_net)" : "") + + static struct file_system_type rpc_pipe_fs_type; +- ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops; + + static struct kmem_cache *rpc_inode_cachep __read_mostly; + +@@ -1019,6 +1019,7 @@ enum { + RPCAUTH_nfsd4_cb, + RPCAUTH_cache, + RPCAUTH_nfsd, ++ RPCAUTH_gssd, + RPCAUTH_RootEOF + }; + +@@ -1055,6 +1056,10 @@ static const struct rpc_filelist files[] + .name = "nfsd", + .mode = S_IFDIR | S_IRUGO | S_IXUGO, + }, ++ [RPCAUTH_gssd] = { ++ .name = "gssd", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, + }; + + /* +@@ -1068,13 +1073,25 @@ struct dentry *rpc_d_lookup_sb(const str + } + EXPORT_SYMBOL_GPL(rpc_d_lookup_sb); + +-void rpc_pipefs_init_net(struct net *net) ++int rpc_pipefs_init_net(struct net *net) + { + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + ++ sn->gssd_dummy = rpc_mkpipe_data(&gssd_dummy_pipe_ops, 0); ++ if (IS_ERR(sn->gssd_dummy)) ++ return PTR_ERR(sn->gssd_dummy); ++ + mutex_init(&sn->pipefs_sb_lock); + sn->gssd_running = 1; + sn->pipe_version = -1; ++ return 0; ++} ++ ++void rpc_pipefs_exit_net(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ ++ rpc_destroy_pipe_data(sn->gssd_dummy); + } + + /* +@@ -1104,11 +1121,73 @@ void rpc_put_sb_net(const struct net *ne + } + EXPORT_SYMBOL_GPL(rpc_put_sb_net); + ++static const struct rpc_filelist gssd_dummy_clnt_dir[] = { ++ [0] = { ++ .name = "clntXX", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, ++}; ++ ++static ssize_t ++dummy_downcall(struct file *filp, const char __user *src, size_t len) ++{ ++ return -EINVAL; ++} ++ ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { ++ .upcall = rpc_pipe_generic_upcall, ++ .downcall = dummy_downcall, ++}; ++ ++/** ++ * rpc_gssd_dummy_populate - create a dummy gssd pipe ++ * @root: root of the rpc_pipefs filesystem ++ * @pipe_data: pipe data created when netns is initialized ++ * ++ * Create a dummy set of directories and a pipe that gssd can hold open to ++ * indicate that it is up and running. ++ */ ++static struct dentry * ++rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) ++{ ++ int ret = 0; ++ struct dentry *gssd_dentry; ++ struct dentry *clnt_dentry = NULL; ++ struct dentry *pipe_dentry = NULL; ++ struct qstr q = QSTR_INIT(files[RPCAUTH_gssd].name, ++ strlen(files[RPCAUTH_gssd].name)); ++ ++ /* We should never get this far if "gssd" doesn't exist */ ++ gssd_dentry = d_hash_and_lookup(root, &q); ++ if (!gssd_dentry) ++ return ERR_PTR(-ENOENT); ++ ++ ret = rpc_populate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1, NULL); ++ if (ret) { ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ ++ q.name = gssd_dummy_clnt_dir[0].name; ++ q.len = strlen(gssd_dummy_clnt_dir[0].name); ++ clnt_dentry = d_hash_and_lookup(gssd_dentry, &q); ++ if (!clnt_dentry) { ++ pipe_dentry = ERR_PTR(-ENOENT); ++ goto out; ++ } ++ ++ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++out: ++ dput(clnt_dentry); ++ dput(gssd_dentry); ++ return pipe_dentry; ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { + struct inode *inode; +- struct dentry *root; ++ struct dentry *root, *gssd_dentry; + struct net *net = data; + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + int err; +@@ -1126,6 +1205,13 @@ rpc_fill_super(struct super_block *sb, v + return -ENOMEM; + if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL)) + return -ENOMEM; ++ ++ gssd_dentry = rpc_gssd_dummy_populate(root, sn->gssd_dummy); ++ if (IS_ERR(gssd_dentry)) { ++ __rpc_depopulate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF); ++ return PTR_ERR(gssd_dentry); ++ } ++ + dprintk("RPC: sending pipefs MOUNT notification for net %p%s\n", + net, NET_NAME(net)); + mutex_lock(&sn->pipefs_sb_lock); +@@ -1140,6 +1226,7 @@ rpc_fill_super(struct super_block *sb, v + return 0; + + err_depopulate: ++ dput(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c 2013-11-21 10:11:17.908026000 -0500 +@@ -44,12 +44,17 @@ static __net_init int sunrpc_init_net(st + if (err) + goto err_unixgid; + +- rpc_pipefs_init_net(net); ++ err = rpc_pipefs_init_net(net); ++ if (err) ++ goto err_pipefs; ++ + INIT_LIST_HEAD(&sn->all_clients); + spin_lock_init(&sn->rpc_client_lock); + spin_lock_init(&sn->rpcb_clnt_lock); + return 0; + ++err_pipefs: ++ unix_gid_cache_destroy(net); + err_unixgid: + ip_map_cache_destroy(net); + err_ipmap: +@@ -60,6 +65,7 @@ err_proc: + + static __net_exit void sunrpc_exit_net(struct net *net) + { ++ rpc_pipefs_exit_net(net); + unix_gid_cache_destroy(net); + ip_map_cache_destroy(net); + rpc_proc_exit(net); + diff --git a/kernels/linux-libre-grsec/sunrpc-replace-gssd_running-with-more-reliable-check.patch b/kernels/linux-libre-grsec/sunrpc-replace-gssd_running-with-more-reliable-check.patch new file mode 100644 index 000000000..8cd5c0090 --- /dev/null +++ b/kernels/linux-libre-grsec/sunrpc-replace-gssd_running-with-more-reliable-check.patch @@ -0,0 +1,139 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Now that we have a more reliable method to tell if gssd is running, we +can replace the sn->gssd_running flag with a function that will query to +see if it's up and running. + +There's also no need to attempt an upcall that we know will fail, so +just return -EACCES if gssd isn't running. Finally, fix the warn_gss() +message not to claim that that the upcall timed out since we don't +necesarily perform one now when gssd isn't running, and remove the +extraneous newline from the message. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + Fixed up to apply to 3.12.1 by Josh Boyer <jwboyer@fedoraproject.org> + + include/linux/sunrpc/rpc_pipe_fs.h | 2 ++ + net/sunrpc/auth_gss/auth_gss.c | 17 +++++++---------- + net/sunrpc/netns.h | 2 -- + net/sunrpc/rpc_pipe.c | 14 ++++++++++---- + 4 files changed, 19 insertions(+), 16 deletions(-) + +diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h +index 85f1342..7f490be 100644 +--- a/include/linux/sunrpc/rpc_pipe_fs.h ++++ b/include/linux/sunrpc/rpc_pipe_fs.h +@@ -131,5 +131,7 @@ extern int rpc_unlink(struct dentry *); + extern int register_rpc_pipefs(void); + extern void unregister_rpc_pipefs(void); + ++extern bool gssd_running(struct net *net); ++ + #endif + #endif +diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c +index 0846566..1ada878 100644 +--- a/net/sunrpc/auth_gss/auth_gss.c ++++ b/net/sunrpc/auth_gss/auth_gss.c +@@ -517,8 +517,7 @@ static void warn_gssd(void) + unsigned long now = jiffies; + + if (time_after(now, ratelimit)) { +- printk(KERN_WARNING "RPC: AUTH_GSS upcall timed out.\n" +- "Please check user daemon is running.\n"); ++ pr_warn("RPC: AUTH_GSS upcall failed. Please check user daemon is running.\n"); + ratelimit = now + 15*HZ; + } + } +@@ -581,7 +580,6 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + struct rpc_pipe *pipe; + struct rpc_cred *cred = &gss_cred->gc_base; + struct gss_upcall_msg *gss_msg; +- unsigned long timeout; + DEFINE_WAIT(wait); + int err; + +@@ -589,17 +587,16 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + __func__, from_kuid(&init_user_ns, cred->cr_uid)); + retry: + err = 0; +- /* Default timeout is 15s unless we know that gssd is not running */ +- timeout = 15 * HZ; +- if (!sn->gssd_running) +- timeout = HZ >> 2; ++ /* if gssd is down, just skip upcalling altogether */ ++ if (!gssd_running(net)) { ++ warn_gssd(); ++ return -EACCES; ++ } + gss_msg = gss_setup_upcall(gss_auth, cred); + if (PTR_ERR(gss_msg) == -EAGAIN) { + err = wait_event_interruptible_timeout(pipe_version_waitqueue, +- sn->pipe_version >= 0, timeout); ++ sn->pipe_version >= 0, 15 * HZ); + if (sn->pipe_version < 0) { +- if (err == 0) +- sn->gssd_running = 0; + warn_gssd(); + err = -EACCES; + } +diff --git a/net/sunrpc/netns.h b/net/sunrpc/netns.h +index 8a8e841..94e506f 100644 +--- a/net/sunrpc/netns.h ++++ b/net/sunrpc/netns.h +@@ -33,8 +33,6 @@ struct sunrpc_net { + int pipe_version; + atomic_t pipe_users; + struct proc_dir_entry *use_gssp_proc; +- +- unsigned int gssd_running; + }; + + extern int sunrpc_net_id; +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 40aef18..ad444f3 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -216,14 +216,11 @@ rpc_destroy_inode(struct inode *inode) + static int + rpc_pipe_open(struct inode *inode, struct file *filp) + { +- struct net *net = inode->i_sb->s_fs_info; +- struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + struct rpc_pipe *pipe; + int first_open; + int res = -ENXIO; + + mutex_lock(&inode->i_mutex); +- sn->gssd_running = 1; + pipe = RPC_I(inode)->pipe; + if (pipe == NULL) + goto out; +@@ -1231,7 +1228,6 @@ int rpc_pipefs_init_net(struct net *net) + return PTR_ERR(sn->gssd_dummy); + + mutex_init(&sn->pipefs_sb_lock); +- sn->gssd_running = 1; + sn->pipe_version = -1; + return 0; + } +@@ -1385,6 +1381,16 @@ err_depopulate: + return err; + } + ++bool ++gssd_running(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ struct rpc_pipe *pipe = sn->gssd_dummy; ++ ++ return pipe->nreaders || pipe->nwriters; ++} ++EXPORT_SYMBOL_GPL(gssd_running); ++ + static struct dentry * + rpc_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) diff --git a/kernels/linux-libre-knock/PKGBUILD b/kernels/linux-libre-knock/PKGBUILD index 0b451888b..64ec61576 100644 --- a/kernels/linux-libre-knock/PKGBUILD +++ b/kernels/linux-libre-knock/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 203405 2014-01-10 08:45:42Z tpowa $ +# $Id: PKGBUILD 203524 2014-01-12 13:05:55Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -13,7 +13,7 @@ _basekernel=3.12 _sublevel=7 _knockpatchver=${_basekernel}.4 pkgver=${_basekernel}.${_sublevel} -pkgrel=1 +pkgrel=2 _lxopkgver=${_basekernel}.7 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -32,6 +32,12 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'boot-logo.patch' 'change-default-console-loglevel.patch' 'criu-no-expert.patch' + 'sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch' + 'sunrpc-replace-gssd_running-with-more-reliable-check.patch' + 'nfs-check-gssd-running-before-krb5i-auth.patch' + 'rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch' + 'sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch' + 'rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('254f59707b6676b59ce5ca5c3c698319' 'c42ff446236915fe1a6e2b6f9724d267' @@ -44,6 +50,12 @@ md5sums=('254f59707b6676b59ce5ca5c3c698319' '44260d2cb1a8b51c119d2ce1f83e457a' '98beb36f9b8cf16e58de2483ea9985e3' 'd50c1ac47394e9aec637002ef3392bd1' + 'd4a75f77e6bd5d700dcd534cd5f0dfce' + 'dc86fdc37615c97f03c1e0c31b7b833a' + '88eef9d3b5012ef7e82af1af8cc4e517' + 'cec0bb8981936eab2943b2009b7a6fff' + '88d9cddf9e0050a76ec4674f264fb2a1' + 'cb9016630212ef07b168892fbcfd4e5d' '7554da820df91c282656972976d9e0b5') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. @@ -79,6 +91,17 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" + # fix 15 seocnds nfs delay + patch -Np1 -i "${srcdir}/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch" + patch -Np1 -i "${srcdir}/sunrpc-replace-gssd_running-with-more-reliable-check.patch" + patch -Np1 -i "${srcdir}/nfs-check-gssd-running-before-krb5i-auth.patch" + # fix nfs kernel oops + # #37866 + patch -Np1 -i "${srcdir}/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch" + patch -Np1 -i "${srcdir}/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch" + + patch -Np1 -i "${srcdir}/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch" + if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-knock|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ diff --git a/kernels/linux-libre-knock/nfs-check-gssd-running-before-krb5i-auth.patch b/kernels/linux-libre-knock/nfs-check-gssd-running-before-krb5i-auth.patch new file mode 100644 index 000000000..be81fec76 --- /dev/null +++ b/kernels/linux-libre-knock/nfs-check-gssd-running-before-krb5i-auth.patch @@ -0,0 +1,48 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Currently, the client will attempt to use krb5i in the SETCLIENTID call +even if rpc.gssd isn't running. When that fails, it'll then fall back to +RPC_AUTH_UNIX. This introduced a delay when mounting if rpc.gssd isn't +running, and causes warning messages to pop up in the ring buffer. + +Check to see if rpc.gssd is running before even attempting to use krb5i +auth, and just silently skip trying to do so if it isn't. In the event +that the admin is actually trying to mount with krb5*, it will still +fail at a later stage of the mount attempt. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + fs/nfs/nfs4client.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c +--- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c 2013-11-21 10:20:27.288286000 -0500 +@@ -10,6 +10,7 @@ + #include <linux/sunrpc/auth.h> + #include <linux/sunrpc/xprt.h> + #include <linux/sunrpc/bc_xprt.h> ++#include <linux/sunrpc/rpc_pipe_fs.h> + #include "internal.h" + #include "callback.h" + #include "delegation.h" +@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru + if (clp->cl_minorversion != 0) + __set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags); + __set_bit(NFS_CS_DISCRTRY, &clp->cl_flags); +- error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I); ++ ++ error = -EINVAL; ++ if (gssd_running(clp->cl_net)) ++ error = nfs_create_rpc_client(clp, timeparms, ++ RPC_AUTH_GSS_KRB5I); + if (error == -EINVAL) + error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX); + if (error < 0) + +_______________________________________________ +kernel mailing list +kernel@lists.fedoraproject.org +https://admin.fedoraproject.org/mailman/listinfo/kernel diff --git a/kernels/linux-libre-knock/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch b/kernels/linux-libre-knock/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch new file mode 100644 index 000000000..ed03f34dd --- /dev/null +++ b/kernels/linux-libre-knock/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch @@ -0,0 +1,50 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +Currently, it could leak dentry references in some cases. Make sure +we clean up properly. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5d973b2..b185548 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1369,6 +1369,18 @@ out: + return pipe_dentry; + } + ++static void ++rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry) ++{ ++ struct dentry *clnt_dir = pipe_dentry->d_parent; ++ struct dentry *gssd_dir = clnt_dir->d_parent; ++ ++ __rpc_rmpipe(clnt_dir->d_inode, pipe_dentry); ++ __rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1); ++ __rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1); ++ dput(pipe_dentry); ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { +@@ -1412,7 +1424,7 @@ rpc_fill_super(struct super_block *sb, void *data, int silent) + return 0; + + err_depopulate: +- dput(gssd_dentry); ++ rpc_gssd_dummy_depopulate(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch b/kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch new file mode 100644 index 000000000..e4b1a255f --- /dev/null +++ b/kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch @@ -0,0 +1,32 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +In the event that we create the gssd/clntXX dir, but the pipe creation +subsequently fails, then we should remove the clntXX dir before +returning. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5cd7ad1..0b74c61 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1313,6 +1313,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + } + + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++ if (IS_ERR(pipe_dentry)) ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-knock/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch b/kernels/linux-libre-knock/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch new file mode 100644 index 000000000..dd3b5ba2f --- /dev/null +++ b/kernels/linux-libre-knock/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch @@ -0,0 +1,96 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +rpc.gssd expects to see an "info" file in each clntXX dir. Since adding +the dummy gssd pipe, users that run rpc.gssd see a lot of these messages +spamming the logs: + + rpc.gssd[508]: ERROR: can't open /var/lib/nfs/rpc_pipefs/gssd/clntXX/info: No such file or directory + rpc.gssd[508]: ERROR: failed to read service info + +Add a dummy gssd/clntXX/info file to help silence these messages. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 49 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 0b74c61..5d973b2 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -17,6 +17,7 @@ + #include <linux/fsnotify.h> + #include <linux/kernel.h> + #include <linux/rcupdate.h> ++#include <linux/utsname.h> + + #include <asm/ioctls.h> + #include <linux/poll.h> +@@ -1275,6 +1276,44 @@ static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { + .downcall = dummy_downcall, + }; + ++/* ++ * Here we present a bogus "info" file to keep rpc.gssd happy. We don't expect ++ * that it will ever use this info to handle an upcall, but rpc.gssd expects ++ * that this file will be there and have a certain format. ++ */ ++static int ++rpc_show_dummy_info(struct seq_file *m, void *v) ++{ ++ seq_printf(m, "RPC server: %s\n", utsname()->nodename); ++ seq_printf(m, "service: foo (1) version 0\n"); ++ seq_printf(m, "address: 127.0.0.1\n"); ++ seq_printf(m, "protocol: tcp\n"); ++ seq_printf(m, "port: 0\n"); ++ return 0; ++} ++ ++static int ++rpc_dummy_info_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, rpc_show_dummy_info, NULL); ++} ++ ++static const struct file_operations rpc_dummy_info_operations = { ++ .owner = THIS_MODULE, ++ .open = rpc_dummy_info_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++}; ++ ++static const struct rpc_filelist gssd_dummy_info_file[] = { ++ [0] = { ++ .name = "info", ++ .i_fop = &rpc_dummy_info_operations, ++ .mode = S_IFREG | S_IRUSR, ++ }, ++}; ++ + /** + * rpc_gssd_dummy_populate - create a dummy gssd pipe + * @root: root of the rpc_pipefs filesystem +@@ -1312,9 +1351,18 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + goto out; + } + ++ ret = rpc_populate(clnt_dentry, gssd_dummy_info_file, 0, 1, NULL); ++ if (ret) { ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); +- if (IS_ERR(pipe_dentry)) ++ if (IS_ERR(pipe_dentry)) { ++ __rpc_depopulate(clnt_dentry, gssd_dummy_info_file, 0, 1); + __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ } + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 diff --git a/kernels/linux-libre-knock/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch b/kernels/linux-libre-knock/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch new file mode 100644 index 000000000..805498a70 --- /dev/null +++ b/kernels/linux-libre-knock/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch @@ -0,0 +1,233 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +rpc.gssd will naturally hold open any pipe named */clnt*/gssd that shows +up under rpc_pipefs. That behavior gives us a reliable mechanism to tell +whether it's actually running or not. + +Create a new toplevel "gssd" directory in rpc_pipefs when it's mounted. +Under that directory create another directory called "clntXX", and then +within that a pipe called "gssd". + +We'll never send an upcall along that pipe, and any downcall written to +it will just return -EINVAL. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + include/linux/sunrpc/rpc_pipe_fs.h | 3 +- + net/sunrpc/netns.h | 1 + + net/sunrpc/rpc_pipe.c | 93 ++++++++++++++++++++++++++++++++++- + net/sunrpc/sunrpc_syms.c | 8 +++- + 4 files changed, 100 insertions(+), 5 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h +--- linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h 2013-11-21 10:11:17.893026000 -0500 +@@ -64,7 +64,8 @@ enum { + + extern struct dentry *rpc_d_lookup_sb(const struct super_block *sb, + const unsigned char *dir_name); +-extern void rpc_pipefs_init_net(struct net *net); ++extern int rpc_pipefs_init_net(struct net *net); ++extern void rpc_pipefs_exit_net(struct net *net); + extern struct super_block *rpc_get_sb_net(const struct net *net); + extern void rpc_put_sb_net(const struct net *net); + +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h 2013-11-21 10:11:17.897029000 -0500 +@@ -14,6 +14,7 @@ struct sunrpc_net { + struct cache_detail *rsi_cache; + + struct super_block *pipefs_sb; ++ struct rpc_pipe *gssd_dummy; + struct mutex pipefs_sb_lock; + + struct list_head all_clients; +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c 2013-11-21 10:11:17.903026000 -0500 +@@ -38,7 +38,7 @@ + #define NET_NAME(net) ((net == &init_net) ? " (init_net)" : "") + + static struct file_system_type rpc_pipe_fs_type; +- ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops; + + static struct kmem_cache *rpc_inode_cachep __read_mostly; + +@@ -1019,6 +1019,7 @@ enum { + RPCAUTH_nfsd4_cb, + RPCAUTH_cache, + RPCAUTH_nfsd, ++ RPCAUTH_gssd, + RPCAUTH_RootEOF + }; + +@@ -1055,6 +1056,10 @@ static const struct rpc_filelist files[] + .name = "nfsd", + .mode = S_IFDIR | S_IRUGO | S_IXUGO, + }, ++ [RPCAUTH_gssd] = { ++ .name = "gssd", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, + }; + + /* +@@ -1068,13 +1073,25 @@ struct dentry *rpc_d_lookup_sb(const str + } + EXPORT_SYMBOL_GPL(rpc_d_lookup_sb); + +-void rpc_pipefs_init_net(struct net *net) ++int rpc_pipefs_init_net(struct net *net) + { + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + ++ sn->gssd_dummy = rpc_mkpipe_data(&gssd_dummy_pipe_ops, 0); ++ if (IS_ERR(sn->gssd_dummy)) ++ return PTR_ERR(sn->gssd_dummy); ++ + mutex_init(&sn->pipefs_sb_lock); + sn->gssd_running = 1; + sn->pipe_version = -1; ++ return 0; ++} ++ ++void rpc_pipefs_exit_net(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ ++ rpc_destroy_pipe_data(sn->gssd_dummy); + } + + /* +@@ -1104,11 +1121,73 @@ void rpc_put_sb_net(const struct net *ne + } + EXPORT_SYMBOL_GPL(rpc_put_sb_net); + ++static const struct rpc_filelist gssd_dummy_clnt_dir[] = { ++ [0] = { ++ .name = "clntXX", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, ++}; ++ ++static ssize_t ++dummy_downcall(struct file *filp, const char __user *src, size_t len) ++{ ++ return -EINVAL; ++} ++ ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { ++ .upcall = rpc_pipe_generic_upcall, ++ .downcall = dummy_downcall, ++}; ++ ++/** ++ * rpc_gssd_dummy_populate - create a dummy gssd pipe ++ * @root: root of the rpc_pipefs filesystem ++ * @pipe_data: pipe data created when netns is initialized ++ * ++ * Create a dummy set of directories and a pipe that gssd can hold open to ++ * indicate that it is up and running. ++ */ ++static struct dentry * ++rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) ++{ ++ int ret = 0; ++ struct dentry *gssd_dentry; ++ struct dentry *clnt_dentry = NULL; ++ struct dentry *pipe_dentry = NULL; ++ struct qstr q = QSTR_INIT(files[RPCAUTH_gssd].name, ++ strlen(files[RPCAUTH_gssd].name)); ++ ++ /* We should never get this far if "gssd" doesn't exist */ ++ gssd_dentry = d_hash_and_lookup(root, &q); ++ if (!gssd_dentry) ++ return ERR_PTR(-ENOENT); ++ ++ ret = rpc_populate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1, NULL); ++ if (ret) { ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ ++ q.name = gssd_dummy_clnt_dir[0].name; ++ q.len = strlen(gssd_dummy_clnt_dir[0].name); ++ clnt_dentry = d_hash_and_lookup(gssd_dentry, &q); ++ if (!clnt_dentry) { ++ pipe_dentry = ERR_PTR(-ENOENT); ++ goto out; ++ } ++ ++ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++out: ++ dput(clnt_dentry); ++ dput(gssd_dentry); ++ return pipe_dentry; ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { + struct inode *inode; +- struct dentry *root; ++ struct dentry *root, *gssd_dentry; + struct net *net = data; + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + int err; +@@ -1126,6 +1205,13 @@ rpc_fill_super(struct super_block *sb, v + return -ENOMEM; + if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL)) + return -ENOMEM; ++ ++ gssd_dentry = rpc_gssd_dummy_populate(root, sn->gssd_dummy); ++ if (IS_ERR(gssd_dentry)) { ++ __rpc_depopulate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF); ++ return PTR_ERR(gssd_dentry); ++ } ++ + dprintk("RPC: sending pipefs MOUNT notification for net %p%s\n", + net, NET_NAME(net)); + mutex_lock(&sn->pipefs_sb_lock); +@@ -1140,6 +1226,7 @@ rpc_fill_super(struct super_block *sb, v + return 0; + + err_depopulate: ++ dput(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c 2013-11-21 10:11:17.908026000 -0500 +@@ -44,12 +44,17 @@ static __net_init int sunrpc_init_net(st + if (err) + goto err_unixgid; + +- rpc_pipefs_init_net(net); ++ err = rpc_pipefs_init_net(net); ++ if (err) ++ goto err_pipefs; ++ + INIT_LIST_HEAD(&sn->all_clients); + spin_lock_init(&sn->rpc_client_lock); + spin_lock_init(&sn->rpcb_clnt_lock); + return 0; + ++err_pipefs: ++ unix_gid_cache_destroy(net); + err_unixgid: + ip_map_cache_destroy(net); + err_ipmap: +@@ -60,6 +65,7 @@ err_proc: + + static __net_exit void sunrpc_exit_net(struct net *net) + { ++ rpc_pipefs_exit_net(net); + unix_gid_cache_destroy(net); + ip_map_cache_destroy(net); + rpc_proc_exit(net); + diff --git a/kernels/linux-libre-knock/sunrpc-replace-gssd_running-with-more-reliable-check.patch b/kernels/linux-libre-knock/sunrpc-replace-gssd_running-with-more-reliable-check.patch new file mode 100644 index 000000000..8cd5c0090 --- /dev/null +++ b/kernels/linux-libre-knock/sunrpc-replace-gssd_running-with-more-reliable-check.patch @@ -0,0 +1,139 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Now that we have a more reliable method to tell if gssd is running, we +can replace the sn->gssd_running flag with a function that will query to +see if it's up and running. + +There's also no need to attempt an upcall that we know will fail, so +just return -EACCES if gssd isn't running. Finally, fix the warn_gss() +message not to claim that that the upcall timed out since we don't +necesarily perform one now when gssd isn't running, and remove the +extraneous newline from the message. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + Fixed up to apply to 3.12.1 by Josh Boyer <jwboyer@fedoraproject.org> + + include/linux/sunrpc/rpc_pipe_fs.h | 2 ++ + net/sunrpc/auth_gss/auth_gss.c | 17 +++++++---------- + net/sunrpc/netns.h | 2 -- + net/sunrpc/rpc_pipe.c | 14 ++++++++++---- + 4 files changed, 19 insertions(+), 16 deletions(-) + +diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h +index 85f1342..7f490be 100644 +--- a/include/linux/sunrpc/rpc_pipe_fs.h ++++ b/include/linux/sunrpc/rpc_pipe_fs.h +@@ -131,5 +131,7 @@ extern int rpc_unlink(struct dentry *); + extern int register_rpc_pipefs(void); + extern void unregister_rpc_pipefs(void); + ++extern bool gssd_running(struct net *net); ++ + #endif + #endif +diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c +index 0846566..1ada878 100644 +--- a/net/sunrpc/auth_gss/auth_gss.c ++++ b/net/sunrpc/auth_gss/auth_gss.c +@@ -517,8 +517,7 @@ static void warn_gssd(void) + unsigned long now = jiffies; + + if (time_after(now, ratelimit)) { +- printk(KERN_WARNING "RPC: AUTH_GSS upcall timed out.\n" +- "Please check user daemon is running.\n"); ++ pr_warn("RPC: AUTH_GSS upcall failed. Please check user daemon is running.\n"); + ratelimit = now + 15*HZ; + } + } +@@ -581,7 +580,6 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + struct rpc_pipe *pipe; + struct rpc_cred *cred = &gss_cred->gc_base; + struct gss_upcall_msg *gss_msg; +- unsigned long timeout; + DEFINE_WAIT(wait); + int err; + +@@ -589,17 +587,16 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + __func__, from_kuid(&init_user_ns, cred->cr_uid)); + retry: + err = 0; +- /* Default timeout is 15s unless we know that gssd is not running */ +- timeout = 15 * HZ; +- if (!sn->gssd_running) +- timeout = HZ >> 2; ++ /* if gssd is down, just skip upcalling altogether */ ++ if (!gssd_running(net)) { ++ warn_gssd(); ++ return -EACCES; ++ } + gss_msg = gss_setup_upcall(gss_auth, cred); + if (PTR_ERR(gss_msg) == -EAGAIN) { + err = wait_event_interruptible_timeout(pipe_version_waitqueue, +- sn->pipe_version >= 0, timeout); ++ sn->pipe_version >= 0, 15 * HZ); + if (sn->pipe_version < 0) { +- if (err == 0) +- sn->gssd_running = 0; + warn_gssd(); + err = -EACCES; + } +diff --git a/net/sunrpc/netns.h b/net/sunrpc/netns.h +index 8a8e841..94e506f 100644 +--- a/net/sunrpc/netns.h ++++ b/net/sunrpc/netns.h +@@ -33,8 +33,6 @@ struct sunrpc_net { + int pipe_version; + atomic_t pipe_users; + struct proc_dir_entry *use_gssp_proc; +- +- unsigned int gssd_running; + }; + + extern int sunrpc_net_id; +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 40aef18..ad444f3 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -216,14 +216,11 @@ rpc_destroy_inode(struct inode *inode) + static int + rpc_pipe_open(struct inode *inode, struct file *filp) + { +- struct net *net = inode->i_sb->s_fs_info; +- struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + struct rpc_pipe *pipe; + int first_open; + int res = -ENXIO; + + mutex_lock(&inode->i_mutex); +- sn->gssd_running = 1; + pipe = RPC_I(inode)->pipe; + if (pipe == NULL) + goto out; +@@ -1231,7 +1228,6 @@ int rpc_pipefs_init_net(struct net *net) + return PTR_ERR(sn->gssd_dummy); + + mutex_init(&sn->pipefs_sb_lock); +- sn->gssd_running = 1; + sn->pipe_version = -1; + return 0; + } +@@ -1385,6 +1381,16 @@ err_depopulate: + return err; + } + ++bool ++gssd_running(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ struct rpc_pipe *pipe = sn->gssd_dummy; ++ ++ return pipe->nreaders || pipe->nwriters; ++} ++EXPORT_SYMBOL_GPL(gssd_running); ++ + static struct dentry * + rpc_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD index 11196c96c..3d42ff6ab 100644 --- a/kernels/linux-libre-lts-knock/PKGBUILD +++ b/kernels/linux-libre-lts-knock/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 202368 2013-12-21 13:18:01Z andyrtr $ +# $Id: PKGBUILD 203427 2014-01-10 20:21:13Z andyrtr $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -10,11 +10,11 @@ pkgbase=linux-libre-lts-knock # Build stock -LIBRE-LTS-KNOCK kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=25 +_sublevel=26 _knockpatchver=${_basekernel} pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.25 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.26 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -35,7 +35,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '3.10.6-logitech-dj.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '2b357d6f2048c46ed2f4ecee1b539fd8' + 'b04f41f84f48724609baac04282e9755' '26380d6f05471ef8e065a77d87588009' 'f22e0a6a7634902f5a00eb25ad677c65' '6550ba0e23b7729cd9db2475bde8fac2' @@ -46,7 +46,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' '3ff40ca684cfe719723e627e2cef7cea' - 'a294af0fcd2398c39d3d3b6dd2961323') + '040015fc338ec1a35616e72bade6bdc2') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD index c4ada0dd8..2941d7fd1 100644 --- a/kernels/linux-libre-pae/PKGBUILD +++ b/kernels/linux-libre-pae/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 203405 2014-01-10 08:45:42Z tpowa $ +# $Id: PKGBUILD 203524 2014-01-12 13:05:55Z tpowa $ # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -7,7 +7,7 @@ pkgbase=linux-libre-pae # Build stock -LIBRE-PAE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.12 pkgver=${_basekernel}.7 -pkgrel=1 +pkgrel=2 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -21,14 +21,26 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "${pkgbase}.preset" 'boot-logo.patch' 'change-default-console-loglevel.patch' - 'criu-no-expert.patch') + 'criu-no-expert.patch' + 'sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch' + 'sunrpc-replace-gssd_running-with-more-reliable-check.patch' + 'nfs-check-gssd-running-before-krb5i-auth.patch' + 'rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch' + 'sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch' + 'rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch') md5sums=('254f59707b6676b59ce5ca5c3c698319' 'c42ff446236915fe1a6e2b6f9724d267' '2c07956936879d8729ad68d997a79bbf' 'f302c931bd85309da9d9792b4cc96467' '44260d2cb1a8b51c119d2ce1f83e457a' '98beb36f9b8cf16e58de2483ea9985e3' - 'd50c1ac47394e9aec637002ef3392bd1') + 'd50c1ac47394e9aec637002ef3392bd1' + 'd4a75f77e6bd5d700dcd534cd5f0dfce' + 'dc86fdc37615c97f03c1e0c31b7b833a' + '88eef9d3b5012ef7e82af1af8cc4e517' + 'cec0bb8981936eab2943b2009b7a6fff' + '88d9cddf9e0050a76ec4674f264fb2a1' + 'cb9016630212ef07b168892fbcfd4e5d') _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-PAE @@ -55,6 +67,17 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" + # fix 15 seocnds nfs delay + patch -Np1 -i "${srcdir}/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch" + patch -Np1 -i "${srcdir}/sunrpc-replace-gssd_running-with-more-reliable-check.patch" + patch -Np1 -i "${srcdir}/nfs-check-gssd-running-before-krb5i-auth.patch" + # fix nfs kernel oops + # #37866 + patch -Np1 -i "${srcdir}/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch" + patch -Np1 -i "${srcdir}/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch" + + patch -Np1 -i "${srcdir}/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch" + cat "${srcdir}/config" > ./.config # simpler if [ "${_kernelname}" != "" ]; then diff --git a/kernels/linux-libre-pae/nfs-check-gssd-running-before-krb5i-auth.patch b/kernels/linux-libre-pae/nfs-check-gssd-running-before-krb5i-auth.patch new file mode 100644 index 000000000..be81fec76 --- /dev/null +++ b/kernels/linux-libre-pae/nfs-check-gssd-running-before-krb5i-auth.patch @@ -0,0 +1,48 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Currently, the client will attempt to use krb5i in the SETCLIENTID call +even if rpc.gssd isn't running. When that fails, it'll then fall back to +RPC_AUTH_UNIX. This introduced a delay when mounting if rpc.gssd isn't +running, and causes warning messages to pop up in the ring buffer. + +Check to see if rpc.gssd is running before even attempting to use krb5i +auth, and just silently skip trying to do so if it isn't. In the event +that the admin is actually trying to mount with krb5*, it will still +fail at a later stage of the mount attempt. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + fs/nfs/nfs4client.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c +--- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c 2013-11-21 10:20:27.288286000 -0500 +@@ -10,6 +10,7 @@ + #include <linux/sunrpc/auth.h> + #include <linux/sunrpc/xprt.h> + #include <linux/sunrpc/bc_xprt.h> ++#include <linux/sunrpc/rpc_pipe_fs.h> + #include "internal.h" + #include "callback.h" + #include "delegation.h" +@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru + if (clp->cl_minorversion != 0) + __set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags); + __set_bit(NFS_CS_DISCRTRY, &clp->cl_flags); +- error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I); ++ ++ error = -EINVAL; ++ if (gssd_running(clp->cl_net)) ++ error = nfs_create_rpc_client(clp, timeparms, ++ RPC_AUTH_GSS_KRB5I); + if (error == -EINVAL) + error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX); + if (error < 0) + +_______________________________________________ +kernel mailing list +kernel@lists.fedoraproject.org +https://admin.fedoraproject.org/mailman/listinfo/kernel diff --git a/kernels/linux-libre-pae/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch b/kernels/linux-libre-pae/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch new file mode 100644 index 000000000..ed03f34dd --- /dev/null +++ b/kernels/linux-libre-pae/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch @@ -0,0 +1,50 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +Currently, it could leak dentry references in some cases. Make sure +we clean up properly. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5d973b2..b185548 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1369,6 +1369,18 @@ out: + return pipe_dentry; + } + ++static void ++rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry) ++{ ++ struct dentry *clnt_dir = pipe_dentry->d_parent; ++ struct dentry *gssd_dir = clnt_dir->d_parent; ++ ++ __rpc_rmpipe(clnt_dir->d_inode, pipe_dentry); ++ __rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1); ++ __rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1); ++ dput(pipe_dentry); ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { +@@ -1412,7 +1424,7 @@ rpc_fill_super(struct super_block *sb, void *data, int silent) + return 0; + + err_depopulate: +- dput(gssd_dentry); ++ rpc_gssd_dummy_depopulate(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-pae/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch b/kernels/linux-libre-pae/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch new file mode 100644 index 000000000..e4b1a255f --- /dev/null +++ b/kernels/linux-libre-pae/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch @@ -0,0 +1,32 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +In the event that we create the gssd/clntXX dir, but the pipe creation +subsequently fails, then we should remove the clntXX dir before +returning. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5cd7ad1..0b74c61 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1313,6 +1313,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + } + + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++ if (IS_ERR(pipe_dentry)) ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-pae/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch b/kernels/linux-libre-pae/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch new file mode 100644 index 000000000..dd3b5ba2f --- /dev/null +++ b/kernels/linux-libre-pae/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch @@ -0,0 +1,96 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +rpc.gssd expects to see an "info" file in each clntXX dir. Since adding +the dummy gssd pipe, users that run rpc.gssd see a lot of these messages +spamming the logs: + + rpc.gssd[508]: ERROR: can't open /var/lib/nfs/rpc_pipefs/gssd/clntXX/info: No such file or directory + rpc.gssd[508]: ERROR: failed to read service info + +Add a dummy gssd/clntXX/info file to help silence these messages. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 49 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 0b74c61..5d973b2 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -17,6 +17,7 @@ + #include <linux/fsnotify.h> + #include <linux/kernel.h> + #include <linux/rcupdate.h> ++#include <linux/utsname.h> + + #include <asm/ioctls.h> + #include <linux/poll.h> +@@ -1275,6 +1276,44 @@ static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { + .downcall = dummy_downcall, + }; + ++/* ++ * Here we present a bogus "info" file to keep rpc.gssd happy. We don't expect ++ * that it will ever use this info to handle an upcall, but rpc.gssd expects ++ * that this file will be there and have a certain format. ++ */ ++static int ++rpc_show_dummy_info(struct seq_file *m, void *v) ++{ ++ seq_printf(m, "RPC server: %s\n", utsname()->nodename); ++ seq_printf(m, "service: foo (1) version 0\n"); ++ seq_printf(m, "address: 127.0.0.1\n"); ++ seq_printf(m, "protocol: tcp\n"); ++ seq_printf(m, "port: 0\n"); ++ return 0; ++} ++ ++static int ++rpc_dummy_info_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, rpc_show_dummy_info, NULL); ++} ++ ++static const struct file_operations rpc_dummy_info_operations = { ++ .owner = THIS_MODULE, ++ .open = rpc_dummy_info_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++}; ++ ++static const struct rpc_filelist gssd_dummy_info_file[] = { ++ [0] = { ++ .name = "info", ++ .i_fop = &rpc_dummy_info_operations, ++ .mode = S_IFREG | S_IRUSR, ++ }, ++}; ++ + /** + * rpc_gssd_dummy_populate - create a dummy gssd pipe + * @root: root of the rpc_pipefs filesystem +@@ -1312,9 +1351,18 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + goto out; + } + ++ ret = rpc_populate(clnt_dentry, gssd_dummy_info_file, 0, 1, NULL); ++ if (ret) { ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); +- if (IS_ERR(pipe_dentry)) ++ if (IS_ERR(pipe_dentry)) { ++ __rpc_depopulate(clnt_dentry, gssd_dummy_info_file, 0, 1); + __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ } + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 diff --git a/kernels/linux-libre-pae/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch b/kernels/linux-libre-pae/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch new file mode 100644 index 000000000..805498a70 --- /dev/null +++ b/kernels/linux-libre-pae/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch @@ -0,0 +1,233 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +rpc.gssd will naturally hold open any pipe named */clnt*/gssd that shows +up under rpc_pipefs. That behavior gives us a reliable mechanism to tell +whether it's actually running or not. + +Create a new toplevel "gssd" directory in rpc_pipefs when it's mounted. +Under that directory create another directory called "clntXX", and then +within that a pipe called "gssd". + +We'll never send an upcall along that pipe, and any downcall written to +it will just return -EINVAL. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + include/linux/sunrpc/rpc_pipe_fs.h | 3 +- + net/sunrpc/netns.h | 1 + + net/sunrpc/rpc_pipe.c | 93 ++++++++++++++++++++++++++++++++++- + net/sunrpc/sunrpc_syms.c | 8 +++- + 4 files changed, 100 insertions(+), 5 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h +--- linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h 2013-11-21 10:11:17.893026000 -0500 +@@ -64,7 +64,8 @@ enum { + + extern struct dentry *rpc_d_lookup_sb(const struct super_block *sb, + const unsigned char *dir_name); +-extern void rpc_pipefs_init_net(struct net *net); ++extern int rpc_pipefs_init_net(struct net *net); ++extern void rpc_pipefs_exit_net(struct net *net); + extern struct super_block *rpc_get_sb_net(const struct net *net); + extern void rpc_put_sb_net(const struct net *net); + +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h 2013-11-21 10:11:17.897029000 -0500 +@@ -14,6 +14,7 @@ struct sunrpc_net { + struct cache_detail *rsi_cache; + + struct super_block *pipefs_sb; ++ struct rpc_pipe *gssd_dummy; + struct mutex pipefs_sb_lock; + + struct list_head all_clients; +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c 2013-11-21 10:11:17.903026000 -0500 +@@ -38,7 +38,7 @@ + #define NET_NAME(net) ((net == &init_net) ? " (init_net)" : "") + + static struct file_system_type rpc_pipe_fs_type; +- ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops; + + static struct kmem_cache *rpc_inode_cachep __read_mostly; + +@@ -1019,6 +1019,7 @@ enum { + RPCAUTH_nfsd4_cb, + RPCAUTH_cache, + RPCAUTH_nfsd, ++ RPCAUTH_gssd, + RPCAUTH_RootEOF + }; + +@@ -1055,6 +1056,10 @@ static const struct rpc_filelist files[] + .name = "nfsd", + .mode = S_IFDIR | S_IRUGO | S_IXUGO, + }, ++ [RPCAUTH_gssd] = { ++ .name = "gssd", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, + }; + + /* +@@ -1068,13 +1073,25 @@ struct dentry *rpc_d_lookup_sb(const str + } + EXPORT_SYMBOL_GPL(rpc_d_lookup_sb); + +-void rpc_pipefs_init_net(struct net *net) ++int rpc_pipefs_init_net(struct net *net) + { + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + ++ sn->gssd_dummy = rpc_mkpipe_data(&gssd_dummy_pipe_ops, 0); ++ if (IS_ERR(sn->gssd_dummy)) ++ return PTR_ERR(sn->gssd_dummy); ++ + mutex_init(&sn->pipefs_sb_lock); + sn->gssd_running = 1; + sn->pipe_version = -1; ++ return 0; ++} ++ ++void rpc_pipefs_exit_net(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ ++ rpc_destroy_pipe_data(sn->gssd_dummy); + } + + /* +@@ -1104,11 +1121,73 @@ void rpc_put_sb_net(const struct net *ne + } + EXPORT_SYMBOL_GPL(rpc_put_sb_net); + ++static const struct rpc_filelist gssd_dummy_clnt_dir[] = { ++ [0] = { ++ .name = "clntXX", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, ++}; ++ ++static ssize_t ++dummy_downcall(struct file *filp, const char __user *src, size_t len) ++{ ++ return -EINVAL; ++} ++ ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { ++ .upcall = rpc_pipe_generic_upcall, ++ .downcall = dummy_downcall, ++}; ++ ++/** ++ * rpc_gssd_dummy_populate - create a dummy gssd pipe ++ * @root: root of the rpc_pipefs filesystem ++ * @pipe_data: pipe data created when netns is initialized ++ * ++ * Create a dummy set of directories and a pipe that gssd can hold open to ++ * indicate that it is up and running. ++ */ ++static struct dentry * ++rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) ++{ ++ int ret = 0; ++ struct dentry *gssd_dentry; ++ struct dentry *clnt_dentry = NULL; ++ struct dentry *pipe_dentry = NULL; ++ struct qstr q = QSTR_INIT(files[RPCAUTH_gssd].name, ++ strlen(files[RPCAUTH_gssd].name)); ++ ++ /* We should never get this far if "gssd" doesn't exist */ ++ gssd_dentry = d_hash_and_lookup(root, &q); ++ if (!gssd_dentry) ++ return ERR_PTR(-ENOENT); ++ ++ ret = rpc_populate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1, NULL); ++ if (ret) { ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ ++ q.name = gssd_dummy_clnt_dir[0].name; ++ q.len = strlen(gssd_dummy_clnt_dir[0].name); ++ clnt_dentry = d_hash_and_lookup(gssd_dentry, &q); ++ if (!clnt_dentry) { ++ pipe_dentry = ERR_PTR(-ENOENT); ++ goto out; ++ } ++ ++ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++out: ++ dput(clnt_dentry); ++ dput(gssd_dentry); ++ return pipe_dentry; ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { + struct inode *inode; +- struct dentry *root; ++ struct dentry *root, *gssd_dentry; + struct net *net = data; + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + int err; +@@ -1126,6 +1205,13 @@ rpc_fill_super(struct super_block *sb, v + return -ENOMEM; + if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL)) + return -ENOMEM; ++ ++ gssd_dentry = rpc_gssd_dummy_populate(root, sn->gssd_dummy); ++ if (IS_ERR(gssd_dentry)) { ++ __rpc_depopulate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF); ++ return PTR_ERR(gssd_dentry); ++ } ++ + dprintk("RPC: sending pipefs MOUNT notification for net %p%s\n", + net, NET_NAME(net)); + mutex_lock(&sn->pipefs_sb_lock); +@@ -1140,6 +1226,7 @@ rpc_fill_super(struct super_block *sb, v + return 0; + + err_depopulate: ++ dput(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c 2013-11-21 10:11:17.908026000 -0500 +@@ -44,12 +44,17 @@ static __net_init int sunrpc_init_net(st + if (err) + goto err_unixgid; + +- rpc_pipefs_init_net(net); ++ err = rpc_pipefs_init_net(net); ++ if (err) ++ goto err_pipefs; ++ + INIT_LIST_HEAD(&sn->all_clients); + spin_lock_init(&sn->rpc_client_lock); + spin_lock_init(&sn->rpcb_clnt_lock); + return 0; + ++err_pipefs: ++ unix_gid_cache_destroy(net); + err_unixgid: + ip_map_cache_destroy(net); + err_ipmap: +@@ -60,6 +65,7 @@ err_proc: + + static __net_exit void sunrpc_exit_net(struct net *net) + { ++ rpc_pipefs_exit_net(net); + unix_gid_cache_destroy(net); + ip_map_cache_destroy(net); + rpc_proc_exit(net); + diff --git a/kernels/linux-libre-pae/sunrpc-replace-gssd_running-with-more-reliable-check.patch b/kernels/linux-libre-pae/sunrpc-replace-gssd_running-with-more-reliable-check.patch new file mode 100644 index 000000000..8cd5c0090 --- /dev/null +++ b/kernels/linux-libre-pae/sunrpc-replace-gssd_running-with-more-reliable-check.patch @@ -0,0 +1,139 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Now that we have a more reliable method to tell if gssd is running, we +can replace the sn->gssd_running flag with a function that will query to +see if it's up and running. + +There's also no need to attempt an upcall that we know will fail, so +just return -EACCES if gssd isn't running. Finally, fix the warn_gss() +message not to claim that that the upcall timed out since we don't +necesarily perform one now when gssd isn't running, and remove the +extraneous newline from the message. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + Fixed up to apply to 3.12.1 by Josh Boyer <jwboyer@fedoraproject.org> + + include/linux/sunrpc/rpc_pipe_fs.h | 2 ++ + net/sunrpc/auth_gss/auth_gss.c | 17 +++++++---------- + net/sunrpc/netns.h | 2 -- + net/sunrpc/rpc_pipe.c | 14 ++++++++++---- + 4 files changed, 19 insertions(+), 16 deletions(-) + +diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h +index 85f1342..7f490be 100644 +--- a/include/linux/sunrpc/rpc_pipe_fs.h ++++ b/include/linux/sunrpc/rpc_pipe_fs.h +@@ -131,5 +131,7 @@ extern int rpc_unlink(struct dentry *); + extern int register_rpc_pipefs(void); + extern void unregister_rpc_pipefs(void); + ++extern bool gssd_running(struct net *net); ++ + #endif + #endif +diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c +index 0846566..1ada878 100644 +--- a/net/sunrpc/auth_gss/auth_gss.c ++++ b/net/sunrpc/auth_gss/auth_gss.c +@@ -517,8 +517,7 @@ static void warn_gssd(void) + unsigned long now = jiffies; + + if (time_after(now, ratelimit)) { +- printk(KERN_WARNING "RPC: AUTH_GSS upcall timed out.\n" +- "Please check user daemon is running.\n"); ++ pr_warn("RPC: AUTH_GSS upcall failed. Please check user daemon is running.\n"); + ratelimit = now + 15*HZ; + } + } +@@ -581,7 +580,6 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + struct rpc_pipe *pipe; + struct rpc_cred *cred = &gss_cred->gc_base; + struct gss_upcall_msg *gss_msg; +- unsigned long timeout; + DEFINE_WAIT(wait); + int err; + +@@ -589,17 +587,16 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + __func__, from_kuid(&init_user_ns, cred->cr_uid)); + retry: + err = 0; +- /* Default timeout is 15s unless we know that gssd is not running */ +- timeout = 15 * HZ; +- if (!sn->gssd_running) +- timeout = HZ >> 2; ++ /* if gssd is down, just skip upcalling altogether */ ++ if (!gssd_running(net)) { ++ warn_gssd(); ++ return -EACCES; ++ } + gss_msg = gss_setup_upcall(gss_auth, cred); + if (PTR_ERR(gss_msg) == -EAGAIN) { + err = wait_event_interruptible_timeout(pipe_version_waitqueue, +- sn->pipe_version >= 0, timeout); ++ sn->pipe_version >= 0, 15 * HZ); + if (sn->pipe_version < 0) { +- if (err == 0) +- sn->gssd_running = 0; + warn_gssd(); + err = -EACCES; + } +diff --git a/net/sunrpc/netns.h b/net/sunrpc/netns.h +index 8a8e841..94e506f 100644 +--- a/net/sunrpc/netns.h ++++ b/net/sunrpc/netns.h +@@ -33,8 +33,6 @@ struct sunrpc_net { + int pipe_version; + atomic_t pipe_users; + struct proc_dir_entry *use_gssp_proc; +- +- unsigned int gssd_running; + }; + + extern int sunrpc_net_id; +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 40aef18..ad444f3 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -216,14 +216,11 @@ rpc_destroy_inode(struct inode *inode) + static int + rpc_pipe_open(struct inode *inode, struct file *filp) + { +- struct net *net = inode->i_sb->s_fs_info; +- struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + struct rpc_pipe *pipe; + int first_open; + int res = -ENXIO; + + mutex_lock(&inode->i_mutex); +- sn->gssd_running = 1; + pipe = RPC_I(inode)->pipe; + if (pipe == NULL) + goto out; +@@ -1231,7 +1228,6 @@ int rpc_pipefs_init_net(struct net *net) + return PTR_ERR(sn->gssd_dummy); + + mutex_init(&sn->pipefs_sb_lock); +- sn->gssd_running = 1; + sn->pipe_version = -1; + return 0; + } +@@ -1385,6 +1381,16 @@ err_depopulate: + return err; + } + ++bool ++gssd_running(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ struct rpc_pipe *pipe = sn->gssd_dummy; ++ ++ return pipe->nreaders || pipe->nwriters; ++} ++EXPORT_SYMBOL_GPL(gssd_running); ++ + static struct dentry * + rpc_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index b6c1eaa0c..4a3460e36 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 203405 2014-01-10 08:45:42Z tpowa $ +# $Id: PKGBUILD 203524 2014-01-12 13:05:55Z tpowa $ # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -7,7 +7,7 @@ pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.12 pkgver=${_basekernel}.7 -pkgrel=1 +pkgrel=2 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -21,14 +21,26 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "${pkgbase}.preset" 'boot-logo.patch' 'change-default-console-loglevel.patch' - 'criu-no-expert.patch') + 'criu-no-expert.patch' + 'sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch' + 'sunrpc-replace-gssd_running-with-more-reliable-check.patch' + 'nfs-check-gssd-running-before-krb5i-auth.patch' + 'rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch' + 'sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch' + 'rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch') md5sums=('254f59707b6676b59ce5ca5c3c698319' 'c42ff446236915fe1a6e2b6f9724d267' '670682e633d1b785c73581307da7eb9c' 'b7c2805bb287a644c0a303bf7721e534' '44260d2cb1a8b51c119d2ce1f83e457a' '98beb36f9b8cf16e58de2483ea9985e3' - 'd50c1ac47394e9aec637002ef3392bd1') + 'd50c1ac47394e9aec637002ef3392bd1' + 'd4a75f77e6bd5d700dcd534cd5f0dfce' + 'dc86fdc37615c97f03c1e0c31b7b833a' + '88eef9d3b5012ef7e82af1af8cc4e517' + 'cec0bb8981936eab2943b2009b7a6fff' + '88d9cddf9e0050a76ec4674f264fb2a1' + 'cb9016630212ef07b168892fbcfd4e5d') _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-XEN @@ -55,6 +67,17 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" + # fix 15 seocnds nfs delay + patch -Np1 -i "${srcdir}/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch" + patch -Np1 -i "${srcdir}/sunrpc-replace-gssd_running-with-more-reliable-check.patch" + patch -Np1 -i "${srcdir}/nfs-check-gssd-running-before-krb5i-auth.patch" + # fix nfs kernel oops + # #37866 + patch -Np1 -i "${srcdir}/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch" + patch -Np1 -i "${srcdir}/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch" + + patch -Np1 -i "${srcdir}/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch" + cat "${srcdir}/config" > ./.config # simpler if [ "${_kernelname}" != "" ]; then diff --git a/kernels/linux-libre-xen/nfs-check-gssd-running-before-krb5i-auth.patch b/kernels/linux-libre-xen/nfs-check-gssd-running-before-krb5i-auth.patch new file mode 100644 index 000000000..be81fec76 --- /dev/null +++ b/kernels/linux-libre-xen/nfs-check-gssd-running-before-krb5i-auth.patch @@ -0,0 +1,48 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Currently, the client will attempt to use krb5i in the SETCLIENTID call +even if rpc.gssd isn't running. When that fails, it'll then fall back to +RPC_AUTH_UNIX. This introduced a delay when mounting if rpc.gssd isn't +running, and causes warning messages to pop up in the ring buffer. + +Check to see if rpc.gssd is running before even attempting to use krb5i +auth, and just silently skip trying to do so if it isn't. In the event +that the admin is actually trying to mount with krb5*, it will still +fail at a later stage of the mount attempt. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + fs/nfs/nfs4client.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c +--- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c 2013-11-21 10:20:27.288286000 -0500 +@@ -10,6 +10,7 @@ + #include <linux/sunrpc/auth.h> + #include <linux/sunrpc/xprt.h> + #include <linux/sunrpc/bc_xprt.h> ++#include <linux/sunrpc/rpc_pipe_fs.h> + #include "internal.h" + #include "callback.h" + #include "delegation.h" +@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru + if (clp->cl_minorversion != 0) + __set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags); + __set_bit(NFS_CS_DISCRTRY, &clp->cl_flags); +- error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I); ++ ++ error = -EINVAL; ++ if (gssd_running(clp->cl_net)) ++ error = nfs_create_rpc_client(clp, timeparms, ++ RPC_AUTH_GSS_KRB5I); + if (error == -EINVAL) + error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX); + if (error < 0) + +_______________________________________________ +kernel mailing list +kernel@lists.fedoraproject.org +https://admin.fedoraproject.org/mailman/listinfo/kernel diff --git a/kernels/linux-libre-xen/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch b/kernels/linux-libre-xen/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch new file mode 100644 index 000000000..ed03f34dd --- /dev/null +++ b/kernels/linux-libre-xen/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch @@ -0,0 +1,50 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +Currently, it could leak dentry references in some cases. Make sure +we clean up properly. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5d973b2..b185548 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1369,6 +1369,18 @@ out: + return pipe_dentry; + } + ++static void ++rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry) ++{ ++ struct dentry *clnt_dir = pipe_dentry->d_parent; ++ struct dentry *gssd_dir = clnt_dir->d_parent; ++ ++ __rpc_rmpipe(clnt_dir->d_inode, pipe_dentry); ++ __rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1); ++ __rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1); ++ dput(pipe_dentry); ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { +@@ -1412,7 +1424,7 @@ rpc_fill_super(struct super_block *sb, void *data, int silent) + return 0; + + err_depopulate: +- dput(gssd_dentry); ++ rpc_gssd_dummy_depopulate(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-xen/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch b/kernels/linux-libre-xen/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch new file mode 100644 index 000000000..e4b1a255f --- /dev/null +++ b/kernels/linux-libre-xen/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch @@ -0,0 +1,32 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +In the event that we create the gssd/clntXX dir, but the pipe creation +subsequently fails, then we should remove the clntXX dir before +returning. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5cd7ad1..0b74c61 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1313,6 +1313,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + } + + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++ if (IS_ERR(pipe_dentry)) ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/kernels/linux-libre-xen/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch b/kernels/linux-libre-xen/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch new file mode 100644 index 000000000..dd3b5ba2f --- /dev/null +++ b/kernels/linux-libre-xen/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch @@ -0,0 +1,96 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +rpc.gssd expects to see an "info" file in each clntXX dir. Since adding +the dummy gssd pipe, users that run rpc.gssd see a lot of these messages +spamming the logs: + + rpc.gssd[508]: ERROR: can't open /var/lib/nfs/rpc_pipefs/gssd/clntXX/info: No such file or directory + rpc.gssd[508]: ERROR: failed to read service info + +Add a dummy gssd/clntXX/info file to help silence these messages. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 49 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 0b74c61..5d973b2 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -17,6 +17,7 @@ + #include <linux/fsnotify.h> + #include <linux/kernel.h> + #include <linux/rcupdate.h> ++#include <linux/utsname.h> + + #include <asm/ioctls.h> + #include <linux/poll.h> +@@ -1275,6 +1276,44 @@ static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { + .downcall = dummy_downcall, + }; + ++/* ++ * Here we present a bogus "info" file to keep rpc.gssd happy. We don't expect ++ * that it will ever use this info to handle an upcall, but rpc.gssd expects ++ * that this file will be there and have a certain format. ++ */ ++static int ++rpc_show_dummy_info(struct seq_file *m, void *v) ++{ ++ seq_printf(m, "RPC server: %s\n", utsname()->nodename); ++ seq_printf(m, "service: foo (1) version 0\n"); ++ seq_printf(m, "address: 127.0.0.1\n"); ++ seq_printf(m, "protocol: tcp\n"); ++ seq_printf(m, "port: 0\n"); ++ return 0; ++} ++ ++static int ++rpc_dummy_info_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, rpc_show_dummy_info, NULL); ++} ++ ++static const struct file_operations rpc_dummy_info_operations = { ++ .owner = THIS_MODULE, ++ .open = rpc_dummy_info_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++}; ++ ++static const struct rpc_filelist gssd_dummy_info_file[] = { ++ [0] = { ++ .name = "info", ++ .i_fop = &rpc_dummy_info_operations, ++ .mode = S_IFREG | S_IRUSR, ++ }, ++}; ++ + /** + * rpc_gssd_dummy_populate - create a dummy gssd pipe + * @root: root of the rpc_pipefs filesystem +@@ -1312,9 +1351,18 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + goto out; + } + ++ ret = rpc_populate(clnt_dentry, gssd_dummy_info_file, 0, 1, NULL); ++ if (ret) { ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); +- if (IS_ERR(pipe_dentry)) ++ if (IS_ERR(pipe_dentry)) { ++ __rpc_depopulate(clnt_dentry, gssd_dummy_info_file, 0, 1); + __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ } + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 diff --git a/kernels/linux-libre-xen/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch b/kernels/linux-libre-xen/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch new file mode 100644 index 000000000..805498a70 --- /dev/null +++ b/kernels/linux-libre-xen/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch @@ -0,0 +1,233 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +rpc.gssd will naturally hold open any pipe named */clnt*/gssd that shows +up under rpc_pipefs. That behavior gives us a reliable mechanism to tell +whether it's actually running or not. + +Create a new toplevel "gssd" directory in rpc_pipefs when it's mounted. +Under that directory create another directory called "clntXX", and then +within that a pipe called "gssd". + +We'll never send an upcall along that pipe, and any downcall written to +it will just return -EINVAL. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + include/linux/sunrpc/rpc_pipe_fs.h | 3 +- + net/sunrpc/netns.h | 1 + + net/sunrpc/rpc_pipe.c | 93 ++++++++++++++++++++++++++++++++++- + net/sunrpc/sunrpc_syms.c | 8 +++- + 4 files changed, 100 insertions(+), 5 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h +--- linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h 2013-11-21 10:11:17.893026000 -0500 +@@ -64,7 +64,8 @@ enum { + + extern struct dentry *rpc_d_lookup_sb(const struct super_block *sb, + const unsigned char *dir_name); +-extern void rpc_pipefs_init_net(struct net *net); ++extern int rpc_pipefs_init_net(struct net *net); ++extern void rpc_pipefs_exit_net(struct net *net); + extern struct super_block *rpc_get_sb_net(const struct net *net); + extern void rpc_put_sb_net(const struct net *net); + +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h 2013-11-21 10:11:17.897029000 -0500 +@@ -14,6 +14,7 @@ struct sunrpc_net { + struct cache_detail *rsi_cache; + + struct super_block *pipefs_sb; ++ struct rpc_pipe *gssd_dummy; + struct mutex pipefs_sb_lock; + + struct list_head all_clients; +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c 2013-11-21 10:11:17.903026000 -0500 +@@ -38,7 +38,7 @@ + #define NET_NAME(net) ((net == &init_net) ? " (init_net)" : "") + + static struct file_system_type rpc_pipe_fs_type; +- ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops; + + static struct kmem_cache *rpc_inode_cachep __read_mostly; + +@@ -1019,6 +1019,7 @@ enum { + RPCAUTH_nfsd4_cb, + RPCAUTH_cache, + RPCAUTH_nfsd, ++ RPCAUTH_gssd, + RPCAUTH_RootEOF + }; + +@@ -1055,6 +1056,10 @@ static const struct rpc_filelist files[] + .name = "nfsd", + .mode = S_IFDIR | S_IRUGO | S_IXUGO, + }, ++ [RPCAUTH_gssd] = { ++ .name = "gssd", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, + }; + + /* +@@ -1068,13 +1073,25 @@ struct dentry *rpc_d_lookup_sb(const str + } + EXPORT_SYMBOL_GPL(rpc_d_lookup_sb); + +-void rpc_pipefs_init_net(struct net *net) ++int rpc_pipefs_init_net(struct net *net) + { + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + ++ sn->gssd_dummy = rpc_mkpipe_data(&gssd_dummy_pipe_ops, 0); ++ if (IS_ERR(sn->gssd_dummy)) ++ return PTR_ERR(sn->gssd_dummy); ++ + mutex_init(&sn->pipefs_sb_lock); + sn->gssd_running = 1; + sn->pipe_version = -1; ++ return 0; ++} ++ ++void rpc_pipefs_exit_net(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ ++ rpc_destroy_pipe_data(sn->gssd_dummy); + } + + /* +@@ -1104,11 +1121,73 @@ void rpc_put_sb_net(const struct net *ne + } + EXPORT_SYMBOL_GPL(rpc_put_sb_net); + ++static const struct rpc_filelist gssd_dummy_clnt_dir[] = { ++ [0] = { ++ .name = "clntXX", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, ++}; ++ ++static ssize_t ++dummy_downcall(struct file *filp, const char __user *src, size_t len) ++{ ++ return -EINVAL; ++} ++ ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { ++ .upcall = rpc_pipe_generic_upcall, ++ .downcall = dummy_downcall, ++}; ++ ++/** ++ * rpc_gssd_dummy_populate - create a dummy gssd pipe ++ * @root: root of the rpc_pipefs filesystem ++ * @pipe_data: pipe data created when netns is initialized ++ * ++ * Create a dummy set of directories and a pipe that gssd can hold open to ++ * indicate that it is up and running. ++ */ ++static struct dentry * ++rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) ++{ ++ int ret = 0; ++ struct dentry *gssd_dentry; ++ struct dentry *clnt_dentry = NULL; ++ struct dentry *pipe_dentry = NULL; ++ struct qstr q = QSTR_INIT(files[RPCAUTH_gssd].name, ++ strlen(files[RPCAUTH_gssd].name)); ++ ++ /* We should never get this far if "gssd" doesn't exist */ ++ gssd_dentry = d_hash_and_lookup(root, &q); ++ if (!gssd_dentry) ++ return ERR_PTR(-ENOENT); ++ ++ ret = rpc_populate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1, NULL); ++ if (ret) { ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ ++ q.name = gssd_dummy_clnt_dir[0].name; ++ q.len = strlen(gssd_dummy_clnt_dir[0].name); ++ clnt_dentry = d_hash_and_lookup(gssd_dentry, &q); ++ if (!clnt_dentry) { ++ pipe_dentry = ERR_PTR(-ENOENT); ++ goto out; ++ } ++ ++ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++out: ++ dput(clnt_dentry); ++ dput(gssd_dentry); ++ return pipe_dentry; ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { + struct inode *inode; +- struct dentry *root; ++ struct dentry *root, *gssd_dentry; + struct net *net = data; + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + int err; +@@ -1126,6 +1205,13 @@ rpc_fill_super(struct super_block *sb, v + return -ENOMEM; + if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL)) + return -ENOMEM; ++ ++ gssd_dentry = rpc_gssd_dummy_populate(root, sn->gssd_dummy); ++ if (IS_ERR(gssd_dentry)) { ++ __rpc_depopulate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF); ++ return PTR_ERR(gssd_dentry); ++ } ++ + dprintk("RPC: sending pipefs MOUNT notification for net %p%s\n", + net, NET_NAME(net)); + mutex_lock(&sn->pipefs_sb_lock); +@@ -1140,6 +1226,7 @@ rpc_fill_super(struct super_block *sb, v + return 0; + + err_depopulate: ++ dput(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c 2013-11-21 10:11:17.908026000 -0500 +@@ -44,12 +44,17 @@ static __net_init int sunrpc_init_net(st + if (err) + goto err_unixgid; + +- rpc_pipefs_init_net(net); ++ err = rpc_pipefs_init_net(net); ++ if (err) ++ goto err_pipefs; ++ + INIT_LIST_HEAD(&sn->all_clients); + spin_lock_init(&sn->rpc_client_lock); + spin_lock_init(&sn->rpcb_clnt_lock); + return 0; + ++err_pipefs: ++ unix_gid_cache_destroy(net); + err_unixgid: + ip_map_cache_destroy(net); + err_ipmap: +@@ -60,6 +65,7 @@ err_proc: + + static __net_exit void sunrpc_exit_net(struct net *net) + { ++ rpc_pipefs_exit_net(net); + unix_gid_cache_destroy(net); + ip_map_cache_destroy(net); + rpc_proc_exit(net); + diff --git a/kernels/linux-libre-xen/sunrpc-replace-gssd_running-with-more-reliable-check.patch b/kernels/linux-libre-xen/sunrpc-replace-gssd_running-with-more-reliable-check.patch new file mode 100644 index 000000000..8cd5c0090 --- /dev/null +++ b/kernels/linux-libre-xen/sunrpc-replace-gssd_running-with-more-reliable-check.patch @@ -0,0 +1,139 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Now that we have a more reliable method to tell if gssd is running, we +can replace the sn->gssd_running flag with a function that will query to +see if it's up and running. + +There's also no need to attempt an upcall that we know will fail, so +just return -EACCES if gssd isn't running. Finally, fix the warn_gss() +message not to claim that that the upcall timed out since we don't +necesarily perform one now when gssd isn't running, and remove the +extraneous newline from the message. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + Fixed up to apply to 3.12.1 by Josh Boyer <jwboyer@fedoraproject.org> + + include/linux/sunrpc/rpc_pipe_fs.h | 2 ++ + net/sunrpc/auth_gss/auth_gss.c | 17 +++++++---------- + net/sunrpc/netns.h | 2 -- + net/sunrpc/rpc_pipe.c | 14 ++++++++++---- + 4 files changed, 19 insertions(+), 16 deletions(-) + +diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h +index 85f1342..7f490be 100644 +--- a/include/linux/sunrpc/rpc_pipe_fs.h ++++ b/include/linux/sunrpc/rpc_pipe_fs.h +@@ -131,5 +131,7 @@ extern int rpc_unlink(struct dentry *); + extern int register_rpc_pipefs(void); + extern void unregister_rpc_pipefs(void); + ++extern bool gssd_running(struct net *net); ++ + #endif + #endif +diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c +index 0846566..1ada878 100644 +--- a/net/sunrpc/auth_gss/auth_gss.c ++++ b/net/sunrpc/auth_gss/auth_gss.c +@@ -517,8 +517,7 @@ static void warn_gssd(void) + unsigned long now = jiffies; + + if (time_after(now, ratelimit)) { +- printk(KERN_WARNING "RPC: AUTH_GSS upcall timed out.\n" +- "Please check user daemon is running.\n"); ++ pr_warn("RPC: AUTH_GSS upcall failed. Please check user daemon is running.\n"); + ratelimit = now + 15*HZ; + } + } +@@ -581,7 +580,6 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + struct rpc_pipe *pipe; + struct rpc_cred *cred = &gss_cred->gc_base; + struct gss_upcall_msg *gss_msg; +- unsigned long timeout; + DEFINE_WAIT(wait); + int err; + +@@ -589,17 +587,16 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + __func__, from_kuid(&init_user_ns, cred->cr_uid)); + retry: + err = 0; +- /* Default timeout is 15s unless we know that gssd is not running */ +- timeout = 15 * HZ; +- if (!sn->gssd_running) +- timeout = HZ >> 2; ++ /* if gssd is down, just skip upcalling altogether */ ++ if (!gssd_running(net)) { ++ warn_gssd(); ++ return -EACCES; ++ } + gss_msg = gss_setup_upcall(gss_auth, cred); + if (PTR_ERR(gss_msg) == -EAGAIN) { + err = wait_event_interruptible_timeout(pipe_version_waitqueue, +- sn->pipe_version >= 0, timeout); ++ sn->pipe_version >= 0, 15 * HZ); + if (sn->pipe_version < 0) { +- if (err == 0) +- sn->gssd_running = 0; + warn_gssd(); + err = -EACCES; + } +diff --git a/net/sunrpc/netns.h b/net/sunrpc/netns.h +index 8a8e841..94e506f 100644 +--- a/net/sunrpc/netns.h ++++ b/net/sunrpc/netns.h +@@ -33,8 +33,6 @@ struct sunrpc_net { + int pipe_version; + atomic_t pipe_users; + struct proc_dir_entry *use_gssp_proc; +- +- unsigned int gssd_running; + }; + + extern int sunrpc_net_id; +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 40aef18..ad444f3 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -216,14 +216,11 @@ rpc_destroy_inode(struct inode *inode) + static int + rpc_pipe_open(struct inode *inode, struct file *filp) + { +- struct net *net = inode->i_sb->s_fs_info; +- struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + struct rpc_pipe *pipe; + int first_open; + int res = -ENXIO; + + mutex_lock(&inode->i_mutex); +- sn->gssd_running = 1; + pipe = RPC_I(inode)->pipe; + if (pipe == NULL) + goto out; +@@ -1231,7 +1228,6 @@ int rpc_pipefs_init_net(struct net *net) + return PTR_ERR(sn->gssd_dummy); + + mutex_init(&sn->pipefs_sb_lock); +- sn->gssd_running = 1; + sn->pipe_version = -1; + return 0; + } +@@ -1385,6 +1381,16 @@ err_depopulate: + return err; + } + ++bool ++gssd_running(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ struct rpc_pipe *pipe = sn->gssd_dummy; ++ ++ return pipe->nreaders || pipe->nwriters; ++} ++EXPORT_SYMBOL_GPL(gssd_running); ++ + static struct dentry * + rpc_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) diff --git a/libre/abiword-libre/PKGBUILD b/libre/abiword-libre/PKGBUILD index 246511888..d3ab71fff 100644 --- a/libre/abiword-libre/PKGBUILD +++ b/libre/abiword-libre/PKGBUILD @@ -1,98 +1,91 @@ -# $Id: PKGBUILD 183900 2013-04-29 15:40:28Z bpiotrowski $ -# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# $Id: PKGBUILD 203024 2014-01-01 19:07:24Z andyrtr $ +# Contributor: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Maël Lavault <moimael@neuf.fr> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> _pkgbase=abiword pkgbase=abiword-libre pkgname=('abiword-libre' 'abiword-libre-plugins') -pkgver=2.8.6 -pkgrel=9.1 +pkgver=3.0.0 +pkgrel=1 arch=('i686' 'x86_64' 'mips64el') license=('GPL') -url="http://www.abisource.com" -makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice0.8' 'libwmf' 'wv' 'link-grammar' 'gtkmathview' - 'aiksaurus' 'libxslt' 'enchant' 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup' 'psiconv' 'ttf-liberation') -options=('!makeflags' '!libtool') -source=(http://www.abisource.com/downloads/${_pkgbase}/${pkgver}/source/${_pkgbase}-${pkgver}.tar.gz - compat_libwpg_0_9.patch - abiword-2.8.6-no-undefined.patch - abiword-2.8.6-libpng15.patch - abiword-2.8.6-glib-2.31.patch +url='http://www.abisource.com' +makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice' 'libwmf' 'wv' + 'link-grammar' 'gtkmathview' 'aiksaurus' 'libxslt' 'enchant' + 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup' 'psiconv' + 'redland' 'libical') +options=('!makeflags') +source=(http://abisource.com/downloads/$_pkgbase/$pkgver/source/$_pkgbase-$pkgver.tar.gz liberation-fonts.patch) -md5sums=('f883b0a7f26229a9c66fd6a1a94381aa' - '09446a2ebba8288fc611e88f7cf17298' - '42e2614b6e0aad457d91f6ce20b6f225' - '40e370e7e88c5437140ef18037abfbd3' - '6ec338a27a6fb590c348724ddb545849' - '880b17db6f249d977d2a7cd012d9ce02') +md5sums=('8d9c41cff3a8fbef8d0c835c65600e65' + 'e7ef4d436469ae4b24b0f784b09ab023') -build() { - cd "${srcdir}/${_pkgbase}-${pkgver}" - - patch -Np1 -i "${srcdir}/compat_libwpg_0_9.patch" - # fix a gcc 4.6.x build issue, patch from Fedora - patch -Np1 -i "${srcdir}/abiword-2.8.6-no-undefined.patch" - patch -Np0 -i "${srcdir}/abiword-2.8.6-libpng15.patch" +prepare() { + cd $_pkgbase-$pkgver - # Fix build with recent glib, patch from Gentoo - patch -Np0 -i "${srcdir}/abiword-2.8.6-glib-2.31.patch" - - # Replace non-free fonts support to liberation fonts + # Replace nonfree fonts support to liberation fonts patch -Np1 -i "${srcdir}/liberation-fonts.patch" +} - libtoolize --force - autoreconf +build() { + cd $_pkgbase-$pkgver + +# Collab plugin is somehow broken: +# part service +#In file included from ./../../../backends/service/xp/RealmConnection.h:33:0, +# from ./../../../backends/service/xp/AbiCollabSaveInterceptor.h:23, +# from ./../../../backends/service/xp/ServiceAccountHandler.h:33, +# from ServiceUnixAccountHandler.h:23, +# from ServiceUnixAccountHandler.cpp:20: +#./../../../core/sync/xp/SynchronizedQueue.h:32:1: error: expected class-name before '{' token +# { +# part tcp +#In file included from ./../../../backends/tcp/xp/IOServerHandler.h:29:0, +# from ./../../../backends/tcp/xp/TCPAccountHandler.h:25, +# from TCPUnixAccountHandler.h:22, +# from TCPUnixAccountHandler.cpp:20: +#./../../../backends/tcp/xp/Session.h:34:63: error: expected class-name before ',' token +# class Session : public Synchronizer, public boost::noncopyable, public boost::enable_shared_from_this<Session> ./configure --prefix=/usr \ - --enable-clipart \ - --enable-templates \ - --enable-collab-backend-xmpp \ - --enable-collab-backend-tcp \ - --enable-collab-backend-service \ - --disable-collab-backend-sugar \ - --enable-plugins --without-gnomevfs \ - --with-gio \ - --with-goffice \ - --disable-static \ - --with-psiconv-config=/nothere + --enable-shared \ + --disable-static \ + --enable-clipart \ + --enable-templates \ + --disable-builtin-plugins \ + --enable-plugins \ + --disable-collab-backend-service \ + --disable-collab-backend-tcp make } package_abiword-libre() { - pkgdesc="A fully-featured word processor, without nonfree fonts recommendation" - depends=('fribidi' 'wv' 'goffice0.8' 'librsvg' 'enchant' 'desktop-file-utils') - install=$pkgname.install + pkgdesc='Fully-featured word processor, without nonfree fonts support' + depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils' + 'redland' 'libical' 'gtk-update-icon-cache') + install=$_pkgbase.install optdepends=('abiword-libre-plugins') conflicts=("abiword-libre-plugins<${pkgver}-${pkgrel}" 'abiword') replaces=('abiword') provides=("abiword=$pkgver") - cd "${srcdir}/${_pkgbase}-${pkgver}" - sed -i plugins/Makefile \ - -e 's/ collab / /' \ - -e 's/ wpg / /' \ - -e 's/ wmf / /' \ - -e 's/ grammar / /' \ - -e 's/ mathview / /' \ - -e 's/ aiksaurus / /' \ - -e 's/ latex / /' \ - -e 's/ ots / /' \ - -e 's/ wordperfect / /' - make DESTDIR="${pkgdir}" install + cd $_pkgbase-$pkgver + make DESTDIR="$pkgdir" install + + # split out plugins, there's no Makefile target for a clean way + mkdir ${srcdir}/_pluginsdir + mv "$pkgdir"/usr/lib/abiword-${pkgver%.*}/plugins ${srcdir}/_pluginsdir } package_abiword-libre-plugins() { - pkgdesc="Additional plugins for Abiword" + pkgdesc='Additional plugins for Abiword' depends=("abiword-libre=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar' - 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf') + 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf' 'psiconv') conflicts=('abiword-plugins') replaces=('abiword-plugins') provides=("abiword-plugins=$pkgver") - - cd "${srcdir}/${_pkgbase}-${pkgver}/plugins" - - for dir in collab wpg wmf grammar mathview aiksaurus latex ots wordperfect; do - make -C ${dir} DESTDIR="${pkgdir}" install - done + + install -dm755 ${pkgdir}/usr/lib/abiword-${pkgver%.*} + mv ${srcdir}/_pluginsdir/plugins ${pkgdir}/usr/lib/abiword-${pkgver%.*}/ } diff --git a/libre/abiword-libre/abiword-libre.install b/libre/abiword-libre/abiword.install index 2eaa60550..cc4abc0b6 100644 --- a/libre/abiword-libre/abiword-libre.install +++ b/libre/abiword-libre/abiword.install @@ -1,5 +1,6 @@ post_install() { update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor } post_upgrade() { diff --git a/libre/abiword-libre/liberation-fonts.patch b/libre/abiword-libre/liberation-fonts.patch index a009b18f5..1660c3ead 100644 --- a/libre/abiword-libre/liberation-fonts.patch +++ b/libre/abiword-libre/liberation-fonts.patch @@ -1,7 +1,8 @@ -diff -auNpr abiword-2.8.6/plugins/latex/xp/ie_exp_LaTeX.cpp abiword-libre-2.8.6/plugins/latex/xp/ie_exp_LaTeX.cpp ---- abiword-2.8.6/plugins/latex/xp/ie_exp_LaTeX.cpp 2009-07-20 16:22:04.000000000 -0300 -+++ abiword-libre-2.8.6/plugins/latex/xp/ie_exp_LaTeX.cpp 2011-07-02 15:37:16.397564815 -0300 -@@ -1062,7 +1062,7 @@ void s_LaTeX_Listener::_openSpan(PT_Attr +diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp +index f3d56c6..d5a77ef 100644 +--- a/plugins/latex/xp/ie_exp_LaTeX.cpp ++++ b/plugins/latex/xp/ie_exp_LaTeX.cpp +@@ -1046,7 +1046,7 @@ void s_LaTeX_Listener::_openSpan(PT_AttrPropIndex api) m_pie->write("\\texttt{"); m_NumCloseBrackets++; } @@ -10,10 +11,11 @@ diff -auNpr abiword-2.8.6/plugins/latex/xp/ie_exp_LaTeX.cpp abiword-libre-2.8.6/ !strcmp("Helvetic", szValue) || !strcmp("Luxi Sans",szValue)) { m_pie->write("\\textsf{"); -diff -auNpr abiword-2.8.6/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp abiword-libre-2.8.6/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp ---- abiword-2.8.6/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp 2008-04-20 11:44:51.000000000 -0300 -+++ abiword-libre-2.8.6/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp 2011-07-02 15:37:12.791762814 -0300 -@@ -59,7 +59,7 @@ void ODi_FontFaceDecls::startElement (co +diff --git a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp +index ed167dc..e0831c9 100644 +--- a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp ++++ b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp +@@ -59,7 +59,7 @@ void ODi_FontFaceDecls::startElement (const gchar* pName, fontFamily = pFontFamily; if (pFontFamily && (pFontFamily[0] == '\'') && (pFontFamily[strlen(pFontFamily)-1] == '\'')) { @@ -22,10 +24,11 @@ diff -auNpr abiword-2.8.6/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp abiw // OpenOffice.org sometimes adds those extra "'" surrounding the // font family name if it's composed by more than one word. m_fontFamilies[pStyleName] = -diff -auNpr abiword-2.8.6/plugins/openwriter/xp/ie_exp_OpenWriter.cpp abiword-libre-2.8.6/plugins/openwriter/xp/ie_exp_OpenWriter.cpp ---- abiword-2.8.6/plugins/openwriter/xp/ie_exp_OpenWriter.cpp 2009-06-25 18:29:32.000000000 -0300 -+++ abiword-libre-2.8.6/plugins/openwriter/xp/ie_exp_OpenWriter.cpp 2011-07-02 15:37:16.561646815 -0300 -@@ -899,12 +899,12 @@ bool OO_StylesWriter::writeStyles(PD_Doc +diff --git a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp +index 1fab89a..a399c59 100644 +--- a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp ++++ b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp +@@ -900,12 +900,12 @@ bool OO_StylesWriter::writeStyles(PD_Document * pDoc, GsfOutfile * oo, OO_Styles { "<office:styles>\n", "<style:default-style style:family=\"graphics\">\n", @@ -40,9 +43,10 @@ diff -auNpr abiword-2.8.6/plugins/openwriter/xp/ie_exp_OpenWriter.cpp abiword-li "</style:default-style>\n" }; -diff -auNpr abiword-2.8.6/plugins/openxml/common/xp/OXML_FontManager.cpp abiword-libre-2.8.6/plugins/openxml/common/xp/OXML_FontManager.cpp ---- abiword-2.8.6/plugins/openxml/common/xp/OXML_FontManager.cpp 2008-01-16 15:02:48.000000000 -0200 -+++ abiword-libre-2.8.6/plugins/openxml/common/xp/OXML_FontManager.cpp 2011-07-02 15:37:13.944338815 -0300 +diff --git a/plugins/openxml/common/xp/OXML_FontManager.cpp b/plugins/openxml/common/xp/OXML_FontManager.cpp +index 41b719d..2c53c1a 100644 +--- a/plugins/openxml/common/xp/OXML_FontManager.cpp ++++ b/plugins/openxml/common/xp/OXML_FontManager.cpp @@ -34,7 +34,7 @@ #include <string> @@ -52,10 +56,11 @@ diff -auNpr abiword-2.8.6/plugins/openxml/common/xp/OXML_FontManager.cpp abiword { m_major_rts.clear(); m_minor_rts.clear(); -diff -auNpr abiword-2.8.6/plugins/openxml/common/xp/OXML_List.cpp abiword-libre-2.8.6/plugins/openxml/common/xp/OXML_List.cpp ---- abiword-2.8.6/plugins/openxml/common/xp/OXML_List.cpp 2009-07-02 12:20:55.000000000 -0300 -+++ abiword-libre-2.8.6/plugins/openxml/common/xp/OXML_List.cpp 2011-07-02 15:37:13.960346815 -0300 -@@ -258,7 +258,7 @@ UT_Error OXML_List::serialize(IE_Exp_Ope +diff --git a/plugins/openxml/common/xp/OXML_List.cpp b/plugins/openxml/common/xp/OXML_List.cpp +index 5bcb47a..88dba7e 100644 +--- a/plugins/openxml/common/xp/OXML_List.cpp ++++ b/plugins/openxml/common/xp/OXML_List.cpp +@@ -258,7 +258,7 @@ UT_Error OXML_List::serialize(IE_Exp_OpenXML* exporter) txt = txt.replace(index+1, 1, 1, '1'+i); } @@ -64,10 +69,11 @@ diff -auNpr abiword-2.8.6/plugins/openxml/common/xp/OXML_List.cpp abiword-libre- const gchar* listType = "bullet"; switch(type) { -diff -auNpr abiword-2.8.6/plugins/passepartout/xp/ie_exp_Passepartout.cpp abiword-libre-2.8.6/plugins/passepartout/xp/ie_exp_Passepartout.cpp ---- abiword-2.8.6/plugins/passepartout/xp/ie_exp_Passepartout.cpp 2009-05-07 18:45:16.000000000 -0300 -+++ abiword-libre-2.8.6/plugins/passepartout/xp/ie_exp_Passepartout.cpp 2011-07-02 15:37:14.172452815 -0300 -@@ -318,7 +318,7 @@ void Passepartout_Listener::_openBlock(P +diff --git a/plugins/passepartout/xp/ie_exp_Passepartout.cpp b/plugins/passepartout/xp/ie_exp_Passepartout.cpp +index e18e7f1..eec9367 100644 +--- a/plugins/passepartout/xp/ie_exp_Passepartout.cpp ++++ b/plugins/passepartout/xp/ie_exp_Passepartout.cpp +@@ -318,7 +318,7 @@ void Passepartout_Listener::_openBlock(PT_AttrPropIndex api) } else { @@ -76,7 +82,7 @@ diff -auNpr abiword-2.8.6/plugins/passepartout/xp/ie_exp_Passepartout.cpp abiwor m_pie->write(TempStr.utf8_str()); } -@@ -426,7 +426,7 @@ void Passepartout_Listener::_openFont(PT +@@ -426,7 +426,7 @@ void Passepartout_Listener::_openFont(PT_AttrPropIndex api) } else { @@ -85,9 +91,10 @@ diff -auNpr abiword-2.8.6/plugins/passepartout/xp/ie_exp_Passepartout.cpp abiwor m_pie->write(TempStr.utf8_str()); } -diff -auNpr abiword-2.8.6/plugins/t602/xp/ie_imp_T602.cpp abiword-libre-2.8.6/plugins/t602/xp/ie_imp_T602.cpp ---- abiword-2.8.6/plugins/t602/xp/ie_imp_T602.cpp 2009-01-04 18:34:28.000000000 -0200 -+++ abiword-libre-2.8.6/plugins/t602/xp/ie_imp_T602.cpp 2011-07-02 15:37:14.676704815 -0300 +diff --git a/plugins/t602/xp/ie_imp_T602.cpp b/plugins/t602/xp/ie_imp_T602.cpp +index a57a9e2..f7f2301 100644 +--- a/plugins/t602/xp/ie_imp_T602.cpp ++++ b/plugins/t602/xp/ie_imp_T602.cpp @@ -620,7 +620,7 @@ switch (c) case 0x01: m_sfont ^=1; @@ -97,22 +104,24 @@ diff -auNpr abiword-2.8.6/plugins/t602/xp/ie_imp_T602.cpp abiword-libre-2.8.6/pl /* FIXME? -> .profile?*/ } else { m_size=m_basesize; m_family=m_basefamily; } -diff -auNpr abiword-2.8.6/src/af/gr/gtk/gr_UnixCairoGraphics.cpp abiword-libre-2.8.6/src/af/gr/gtk/gr_UnixCairoGraphics.cpp ---- abiword-2.8.6/src/af/gr/gtk/gr_UnixCairoGraphics.cpp 2009-09-04 09:40:10.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/gr/gtk/gr_UnixCairoGraphics.cpp 2011-07-02 15:36:53.578160816 -0300 -@@ -182,7 +182,7 @@ GR_Font * GR_UnixCairoGraphics::getGUIFo - GtkStyle *tempStyle = gtk_style_new(); +diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +index 4c8d23c..6bcfd6d 100644 +--- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp ++++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp +@@ -234,7 +234,7 @@ GR_Font * GR_UnixCairoGraphics::getGUIFont(void) const char *guiFontName = pango_font_description_get_family(tempStyle->font_desc); + #endif if (!guiFontName) - guiFontName = "'Times New Roman'"; + guiFontName = "'Liberation Serif'"; UT_UTF8String s = XAP_EncodingManager::get_instance()->getLanguageISOName(); -diff -auNpr abiword-2.8.6/src/af/gr/xp/gr_CairoGraphics.cpp abiword-libre-2.8.6/src/af/gr/xp/gr_CairoGraphics.cpp ---- abiword-2.8.6/src/af/gr/xp/gr_CairoGraphics.cpp 2010-04-14 18:13:41.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/gr/xp/gr_CairoGraphics.cpp 2011-07-02 15:36:53.918330816 -0300 -@@ -756,8 +756,8 @@ bool GR_CairoGraphics::shape(GR_ShapingI +diff --git a/src/af/gr/xp/gr_CairoGraphics.cpp b/src/af/gr/xp/gr_CairoGraphics.cpp +index 224b883..38ef911 100644 +--- a/src/af/gr/xp/gr_CairoGraphics.cpp ++++ b/src/af/gr/xp/gr_CairoGraphics.cpp +@@ -776,8 +776,8 @@ bool GR_CairoGraphics::shape(GR_ShapingInfo & si, GR_RenderInfo *& ri) /* * Pango does a royally bad job of the font substitution in @@ -123,7 +132,7 @@ diff -auNpr abiword-2.8.6/src/af/gr/xp/gr_CairoGraphics.cpp abiword-libre-2.8.6/ * present and has the necessary coverage. Consequently we have to * do the font substitution manually even on the first shapping. * -@@ -2931,7 +2931,7 @@ GR_Font * GR_CairoGraphics::getDefaultFo +@@ -3054,7 +3054,7 @@ GR_Font * GR_CairoGraphics::getDefaultFont(GR_Font::FontFamilyEnum f, case GR_Font::FF_Technical: case GR_Font::FF_BiDi: @@ -132,10 +141,11 @@ diff -auNpr abiword-2.8.6/src/af/gr/xp/gr_CairoGraphics.cpp abiword-libre-2.8.6/ break; default: -diff -auNpr abiword-2.8.6/src/af/util/xp/ut_misc.cpp abiword-libre-2.8.6/src/af/util/xp/ut_misc.cpp ---- abiword-2.8.6/src/af/util/xp/ut_misc.cpp 2009-06-28 19:09:08.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/util/xp/ut_misc.cpp 2011-07-02 15:36:54.746744816 -0300 -@@ -606,7 +606,7 @@ const gchar ** UT_setPropsToValue(const +diff --git a/src/af/util/xp/ut_misc.cpp b/src/af/util/xp/ut_misc.cpp +index 52246c3..bcd5a6d 100644 +--- a/src/af/util/xp/ut_misc.cpp ++++ b/src/af/util/xp/ut_misc.cpp +@@ -570,7 +570,7 @@ const gchar ** UT_setPropsToValue(const gchar ** props, const gchar * value) } /*! @@ -144,9 +154,10 @@ diff -auNpr abiword-2.8.6/src/af/util/xp/ut_misc.cpp abiword-libre-2.8.6/src/af/ and stores them in an array the caller has to delete[] the array; the process is destructive to props -diff -auNpr abiword-2.8.6/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib abiword-libre-2.8.6/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib ---- abiword-2.8.6/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib 2005-08-02 02:31:06.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib 2011-07-02 15:36:51.257000816 -0300 +diff --git a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib +index f21c815..e284cc9 100644 +--- a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib ++++ b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib @@ -10910,7 +10910,7 @@ <integer>624</integer> </dict> @@ -156,10 +167,11 @@ diff -auNpr abiword-2.8.6/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects <string>_popUpItemAction:</string> <dict> <key>$class</key> -diff -auNpr abiword-2.8.6/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp abiword-libre-2.8.6/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp ---- abiword-2.8.6/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp 2009-09-01 11:49:33.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp 2011-07-02 15:36:50.404574816 -0300 -@@ -878,7 +878,7 @@ gint XAP_UnixDialog_FileOpenSaveAs::prev +diff --git a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp +index bf94333..f77b40b 100644 +--- a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp ++++ b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp +@@ -904,7 +904,7 @@ gint XAP_UnixDialog_FileOpenSaveAs::previewPicture (void) const gchar * file_name = gtk_file_chooser_get_uri (m_FC); @@ -168,22 +180,24 @@ diff -auNpr abiword-2.8.6/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp abiword- "normal", "", "normal", "", "12pt", pSS->getLanguageName()); -diff -auNpr abiword-2.8.6/src/af/xap/win/xap_Win32Dlg_About.cpp abiword-libre-2.8.6/src/af/xap/win/xap_Win32Dlg_About.cpp ---- abiword-2.8.6/src/af/xap/win/xap_Win32Dlg_About.cpp 2009-07-08 05:17:51.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/xap/win/xap_Win32Dlg_About.cpp 2011-07-02 15:36:50.788766816 -0300 -@@ -258,7 +258,7 @@ void XAP_Win32Dialog_About::runModal(XAP +diff --git a/src/af/xap/win/xap_Win32Dlg_About.cpp b/src/af/xap/win/xap_Win32Dlg_About.cpp +index 2cc4aa6..3aec3f0 100644 +--- a/src/af/xap/win/xap_Win32Dlg_About.cpp ++++ b/src/af/xap/win/xap_Win32Dlg_About.cpp +@@ -289,7 +289,7 @@ void XAP_Win32Dialog_About::runModal(XAP_Frame * pFrame) lf.lfWeight = 0; - HFONT hfontSmall = CreateFontIndirect(&lf); + HFONT hfontSmall = CreateFontIndirectW(&lf); -- strcpy(lf.lfFaceName, "Arial"); -+ strcpy(lf.lfFaceName, "Liberation Sans"); +- wcscpy(lf.lfFaceName, L"Arial"); ++ wcscpy(lf.lfFaceName, L"Liberation Sans"); lf.lfHeight = 36; lf.lfWeight = FW_BOLD; - HFONT hfontHeading = CreateFontIndirect(&lf); -diff -auNpr abiword-2.8.6/src/af/xap/xp/xap_Dlg_FontChooser.cpp abiword-libre-2.8.6/src/af/xap/xp/xap_Dlg_FontChooser.cpp ---- abiword-2.8.6/src/af/xap/xp/xap_Dlg_FontChooser.cpp 2009-05-30 11:03:24.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/xap/xp/xap_Dlg_FontChooser.cpp 2011-07-02 15:36:52.893818816 -0300 -@@ -569,7 +569,7 @@ void XAP_Preview_FontPreview::draw(void) + HFONT hfontHeading = CreateFontIndirectW(&lf); +diff --git a/src/af/xap/xp/xap_Dlg_FontChooser.cpp b/src/af/xap/xp/xap_Dlg_FontChooser.cpp +index 56ad605..8a89eb5 100644 +--- a/src/af/xap/xp/xap_Dlg_FontChooser.cpp ++++ b/src/af/xap/xp/xap_Dlg_FontChooser.cpp +@@ -570,7 +570,7 @@ void XAP_Preview_FontPreview::draw(const UT_Rect *clip) std::string sWeight = getVal("font-weight"); if(sFamily.empty()) @@ -192,10 +206,11 @@ diff -auNpr abiword-2.8.6/src/af/xap/xp/xap_Dlg_FontChooser.cpp abiword-libre-2. if(sStyle.empty()) sStyle = "normal"; -diff -auNpr abiword-2.8.6/src/af/xap/xp/xap_Dlg_Zoom.cpp abiword-libre-2.8.6/src/af/xap/xp/xap_Dlg_Zoom.cpp ---- abiword-2.8.6/src/af/xap/xp/xap_Dlg_Zoom.cpp 2007-01-16 20:17:27.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/xap/xp/xap_Dlg_Zoom.cpp 2011-07-02 15:36:52.681712816 -0300 -@@ -124,7 +124,7 @@ void XAP_Dialog_Zoom::_createPreviewFrom +diff --git a/src/af/xap/xp/xap_Dlg_Zoom.cpp b/src/af/xap/xp/xap_Dlg_Zoom.cpp +index 25f1a38..c025206 100644 +--- a/src/af/xap/xp/xap_Dlg_Zoom.cpp ++++ b/src/af/xap/xp/xap_Dlg_Zoom.cpp +@@ -124,7 +124,7 @@ void XAP_Dialog_Zoom::_createPreviewFromGC(GR_Graphics * gc, UT_ASSERT(m_zoomPreview); m_zoomPreview->setWindowSize(width, height); @@ -204,10 +219,11 @@ diff -auNpr abiword-2.8.6/src/af/xap/xp/xap_Dlg_Zoom.cpp abiword-libre-2.8.6/src m_zoomPreview->setFont(XAP_Preview_Zoom::font_NORMAL); m_zoomPreview->setZoomPercent(m_zoomPercent); -diff -auNpr abiword-2.8.6/src/af/xap/xp/xap_Preview_Zoom.cpp abiword-libre-2.8.6/src/af/xap/xp/xap_Preview_Zoom.cpp ---- abiword-2.8.6/src/af/xap/xp/xap_Preview_Zoom.cpp 2009-10-29 14:47:05.000000000 -0300 -+++ abiword-libre-2.8.6/src/af/xap/xp/xap_Preview_Zoom.cpp 2011-07-02 15:36:52.753748816 -0300 -@@ -63,7 +63,7 @@ void XAP_Preview_Zoom::setFont(XAP_Previ +diff --git a/src/af/xap/xp/xap_Preview_Zoom.cpp b/src/af/xap/xp/xap_Preview_Zoom.cpp +index 3ac69e1..0fdae0e 100644 +--- a/src/af/xap/xp/xap_Preview_Zoom.cpp ++++ b/src/af/xap/xp/xap_Preview_Zoom.cpp +@@ -63,7 +63,7 @@ void XAP_Preview_Zoom::setFont(XAP_Preview_Zoom::tFont f) { case XAP_Preview_Zoom::font_NORMAL: sprintf (fontString, "%dpt", (10 * m_zoomPercent / 100)); @@ -216,22 +232,24 @@ diff -auNpr abiword-2.8.6/src/af/xap/xp/xap_Preview_Zoom.cpp abiword-libre-2.8.6 "normal", "", "normal", "", fontString, NULL); -diff -auNpr abiword-2.8.6/src/text/fmt/xp/fl_BlockLayout.cpp abiword-libre-2.8.6/src/text/fmt/xp/fl_BlockLayout.cpp ---- abiword-2.8.6/src/text/fmt/xp/fl_BlockLayout.cpp 2010-06-13 11:02:39.000000000 -0300 -+++ abiword-libre-2.8.6/src/text/fmt/xp/fl_BlockLayout.cpp 2011-07-02 15:37:06.980858815 -0300 -@@ -9733,7 +9733,7 @@ void fl_BlockLayout::StartList( const gc +diff --git a/src/text/fmt/xp/fl_BlockLayout.cpp b/src/text/fmt/xp/fl_BlockLayout.cpp +index f56e1f5..f0d8dd5 100644 +--- a/src/text/fmt/xp/fl_BlockLayout.cpp ++++ b/src/text/fmt/xp/fl_BlockLayout.cpp +@@ -10260,7 +10260,7 @@ void fl_BlockLayout::StartList( const gchar * style, pf_Frag_Strux* prevSDH) + szDec="."; + if(!szFont) { - FL_ListType lType = getListTypeFromStyle(szListStyle); - if(IS_NUMBERED_LIST_TYPE(lType)) -- szFont = "Times New Roman"; -+ szFont = "Liberation Serif"; - else - szFont = "symbol"; - UT_ASSERT(0); -diff -auNpr abiword-2.8.6/src/text/fmt/xp/fp_Line.cpp abiword-libre-2.8.6/src/text/fmt/xp/fp_Line.cpp ---- abiword-2.8.6/src/text/fmt/xp/fp_Line.cpp 2009-09-09 03:20:32.000000000 -0300 -+++ abiword-libre-2.8.6/src/text/fmt/xp/fp_Line.cpp 2011-07-02 15:37:07.265000815 -0300 -@@ -1273,7 +1273,7 @@ void fp_Line::_doClearScreenFromRunToEnd +- szFont = "Times New Roman"; ++ szFont = "Liberation Serif"; + UT_ASSERT(UT_SHOULD_NOT_HAPPEN); + } + } +diff --git a/src/text/fmt/xp/fp_Line.cpp b/src/text/fmt/xp/fp_Line.cpp +index 8be126c..ede4ddd 100644 +--- a/src/text/fmt/xp/fp_Line.cpp ++++ b/src/text/fmt/xp/fp_Line.cpp +@@ -1856,7 +1856,7 @@ void fp_Line::_doClearScreenFromRunToEnd(UT_sint32 runIndex) pRun = m_vecRuns.getNthItem(_getRunLogIndx(runIndex)); // Handle case where character extends behind the left side @@ -240,10 +258,11 @@ diff -auNpr abiword-2.8.6/src/text/fmt/xp/fp_Line.cpp abiword-libre-2.8.6/src/te // there is clear screen there UT_sint32 j = runIndex - 1; -diff -auNpr abiword-2.8.6/src/text/fmt/xp/fp_TextRun.cpp abiword-libre-2.8.6/src/text/fmt/xp/fp_TextRun.cpp ---- abiword-2.8.6/src/text/fmt/xp/fp_TextRun.cpp 2010-04-14 18:49:37.000000000 -0300 -+++ abiword-libre-2.8.6/src/text/fmt/xp/fp_TextRun.cpp 2011-07-02 15:37:08.021378815 -0300 -@@ -1434,7 +1434,7 @@ void fp_TextRun::_clearScreen(bool /* bF +diff --git a/src/text/fmt/xp/fp_TextRun.cpp b/src/text/fmt/xp/fp_TextRun.cpp +index 0e93665..ddb46cb 100644 +--- a/src/text/fmt/xp/fp_TextRun.cpp ++++ b/src/text/fmt/xp/fp_TextRun.cpp +@@ -1442,7 +1442,7 @@ void fp_TextRun::_clearScreen(bool /* bFullLineHeightRect */) // // Handle case where character extend behind the left side @@ -252,10 +271,11 @@ diff -auNpr abiword-2.8.6/src/text/fmt/xp/fp_TextRun.cpp abiword-libre-2.8.6/src // fp_Line * thisLine = getLine(); fp_Run * pPrev = getPrevRun(); -diff -auNpr abiword-2.8.6/src/text/fmt/xp/fv_View.cpp abiword-libre-2.8.6/src/text/fmt/xp/fv_View.cpp ---- abiword-2.8.6/src/text/fmt/xp/fv_View.cpp 2010-06-13 11:02:39.000000000 -0300 -+++ abiword-libre-2.8.6/src/text/fmt/xp/fv_View.cpp 2011-07-02 15:37:08.353544815 -0300 -@@ -519,9 +519,9 @@ FV_View::FV_View(XAP_App * pApp, void* p +diff --git a/src/text/fmt/xp/fv_View.cpp b/src/text/fmt/xp/fv_View.cpp +index 38cf5cf..360f99d 100644 +--- a/src/text/fmt/xp/fv_View.cpp ++++ b/src/text/fmt/xp/fv_View.cpp +@@ -586,9 +586,9 @@ FV_View::FV_View(XAP_App * pApp, void* pParentData, FL_DocLayout* pLayout) s += pCountry; } @@ -267,10 +287,11 @@ diff -auNpr abiword-2.8.6/src/text/fmt/xp/fv_View.cpp abiword-libre-2.8.6/src/te "normal", "normal", "normal", "normal", "12pt", s.utf8_str()); -diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pp_Property.cpp abiword-libre-2.8.6/src/text/ptbl/xp/pp_Property.cpp ---- abiword-2.8.6/src/text/ptbl/xp/pp_Property.cpp 2009-05-18 23:33:18.000000000 -0300 -+++ abiword-libre-2.8.6/src/text/ptbl/xp/pp_Property.cpp 2011-07-02 15:37:09.053894814 -0300 -@@ -99,7 +99,7 @@ static PP_Property _props[] = +diff --git a/src/text/ptbl/xp/pp_Property.cpp b/src/text/ptbl/xp/pp_Property.cpp +index 2c9a27b..c191b38 100644 +--- a/src/text/ptbl/xp/pp_Property.cpp ++++ b/src/text/ptbl/xp/pp_Property.cpp +@@ -104,7 +104,7 @@ static PP_Property _props[] = { "field-color", "dcdcdc", true, NULL, PP_LEVEL_FIELD}, { "field-font", "NULL", true, NULL, PP_LEVEL_FIELD}, @@ -279,10 +300,11 @@ diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pp_Property.cpp abiword-libre-2.8.6/s { "font-size", "12pt", true, NULL, PP_LEVEL_CHAR}, // MS word defaults to 10pt, but it just seems too small { "font-stretch", "normal", true, NULL, PP_LEVEL_CHAR}, { "font-style", "normal", true, NULL, PP_LEVEL_CHAR}, -diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pp_Revision.cpp abiword-libre-2.8.6/src/text/ptbl/xp/pp_Revision.cpp ---- abiword-2.8.6/src/text/ptbl/xp/pp_Revision.cpp 2009-05-07 23:35:14.000000000 -0300 -+++ abiword-libre-2.8.6/src/text/ptbl/xp/pp_Revision.cpp 2011-07-02 15:37:08.881808814 -0300 -@@ -350,7 +350,7 @@ void PP_RevisionAttr::_init(const gchar +diff --git a/src/text/ptbl/xp/pp_Revision.cpp b/src/text/ptbl/xp/pp_Revision.cpp +index 47a9976..ebfc7f5 100644 +--- a/src/text/ptbl/xp/pp_Revision.cpp ++++ b/src/text/ptbl/xp/pp_Revision.cpp +@@ -436,7 +436,7 @@ void PP_RevisionAttr::_init(const gchar *r) return; // the string we are parsing looks like @@ -291,10 +313,11 @@ diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pp_Revision.cpp abiword-libre-2.8.6/s // first duplicate the string so we can play with it ... char * s = (char*) g_strdup(r); -diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pp_Revision.h abiword-libre-2.8.6/src/text/ptbl/xp/pp_Revision.h ---- abiword-2.8.6/src/text/ptbl/xp/pp_Revision.h 2009-01-04 20:32:46.000000000 -0200 -+++ abiword-libre-2.8.6/src/text/ptbl/xp/pp_Revision.h 2011-07-02 15:37:09.530132814 -0300 -@@ -101,7 +101,7 @@ class ABI_EXPORT PP_Revision: public PP_ +diff --git a/src/text/ptbl/xp/pp_Revision.h b/src/text/ptbl/xp/pp_Revision.h +index f093ef0..9f77e84 100644 +--- a/src/text/ptbl/xp/pp_Revision.h ++++ b/src/text/ptbl/xp/pp_Revision.h +@@ -116,7 +116,7 @@ class ABI_EXPORT PP_Revision: public PP_AttrProp where n is a numerical id of the revision and props is regular property string, for instance @@ -303,10 +326,11 @@ diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pp_Revision.h abiword-libre-2.8.6/src revoval of property/attribute is indicated by setting to -/-, e.g., -diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pt_PT_Styles.cpp abiword-libre-2.8.6/src/text/ptbl/xp/pt_PT_Styles.cpp ---- abiword-2.8.6/src/text/ptbl/xp/pt_PT_Styles.cpp 2009-01-04 18:34:28.000000000 -0200 -+++ abiword-libre-2.8.6/src/text/ptbl/xp/pt_PT_Styles.cpp 2011-07-02 15:37:09.101918814 -0300 -@@ -155,7 +155,7 @@ bool pt_PieceTable::_loadBuiltinStyles(v +diff --git a/src/text/ptbl/xp/pt_PT_Styles.cpp b/src/text/ptbl/xp/pt_PT_Styles.cpp +index 3829f0d..c9f370c 100644 +--- a/src/text/ptbl/xp/pt_PT_Styles.cpp ++++ b/src/text/ptbl/xp/pt_PT_Styles.cpp +@@ -176,7 +176,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) s += pCountry; } @@ -315,7 +339,7 @@ diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pt_PT_Styles.cpp abiword-libre-2.8.6/ "normal", "", "normal", "", "12pt", s.utf8_str()); -@@ -167,7 +167,7 @@ bool pt_PieceTable::_loadBuiltinStyles(v +@@ -188,7 +188,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) "text-indent:0in; text-position:normal; line-height:1.0; " "color:000000; bgcolor:transparent; widows:2", pszFamily); @@ -324,16 +348,16 @@ diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pt_PT_Styles.cpp abiword-libre-2.8.6/ "normal", "", "12pt", s.utf8_str()); // used to set the dom-dir of the style here, but we do not want to do that. The -@@ -239,7 +239,7 @@ bool pt_PieceTable::_loadBuiltinStyles(v - UT_String_sprintf(stTmp, list_fmt, "Heart List","0", LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L", "Dingbats", "NULL"); - _s("Heart List",false, "P", "", "Current Settings", stTmp.c_str()); +@@ -263,7 +263,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) + UT_String_sprintf(stTmp, list_fmt, "Arrowhead List","0", LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L", pszFamily, "NULL"); + _s("Arrowhead List",false, "P", "", "Current Settings", stTmp.c_str()); - // pszFamily is the nearest font to Arial found in the system + // pszFamily is the nearest font to Liberation Sans found in the system UT_String_sprintf(stTmp, "tabstops:0.3in/L0; list-style:Numbered List; " "start-value:1; margin-left:0.0in; text-indent:0.0in; " "field-color:transparent; list-delim:%%L.; field-font:%s; " -@@ -250,7 +250,7 @@ bool pt_PieceTable::_loadBuiltinStyles(v +@@ -274,7 +274,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void) _s("Numbered Heading 2",true,"P","Heading 2","Normal", stTmp.c_str()); _s("Numbered Heading 3",true,"P","Heading 3","Normal", stTmp.c_str()); @@ -342,10 +366,11 @@ diff -auNpr abiword-2.8.6/src/text/ptbl/xp/pt_PT_Styles.cpp abiword-libre-2.8.6/ UT_String_sprintf(stTmp, list_fmt, "Numbered List", "1",LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L.", "NULL", "."); -diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Dialog_Lists.cpp abiword-libre-2.8.6/src/wp/ap/xp/ap_Dialog_Lists.cpp ---- abiword-2.8.6/src/wp/ap/xp/ap_Dialog_Lists.cpp 2009-05-20 18:22:35.000000000 -0300 -+++ abiword-libre-2.8.6/src/wp/ap/xp/ap_Dialog_Lists.cpp 2011-07-02 15:37:01.798268815 -0300 -@@ -1170,7 +1170,7 @@ void AP_Lists_preview::setData(const gch +diff --git a/src/wp/ap/xp/ap_Dialog_Lists.cpp b/src/wp/ap/xp/ap_Dialog_Lists.cpp +index 5aa32cb..dfeb4c1 100644 +--- a/src/wp/ap/xp/ap_Dialog_Lists.cpp ++++ b/src/wp/ap/xp/ap_Dialog_Lists.cpp +@@ -1109,7 +1109,7 @@ void AP_Lists_preview::setData(const gchar * pszFont,float fAlign,float fIndent) // if(!pszFont || strcmp(pszFont,"NULL")== 0) { @@ -354,10 +379,11 @@ diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Dialog_Lists.cpp abiword-libre-2.8.6/s "normal", "", "normal", "", "16pt", NULL); } -diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp abiword-libre-2.8.6/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp ---- abiword-2.8.6/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp 2007-05-08 14:16:33.000000000 -0300 -+++ abiword-libre-2.8.6/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp 2011-07-02 15:37:02.462600815 -0300 -@@ -88,7 +88,7 @@ AP_Preview_PageNumbers::AP_Preview_PageN +diff --git a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp +index ecfdfcb..db3a518 100644 +--- a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp ++++ b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp +@@ -88,7 +88,7 @@ AP_Preview_PageNumbers::AP_Preview_PageNumbers (GR_Graphics * gc) char fontString [10]; sprintf(fontString, "%dpt", 8); @@ -366,10 +392,11 @@ diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp abiword-libre-2 "", "normal", "", fontString, NULL); -diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Preview_Annotation.cpp abiword-libre-2.8.6/src/wp/ap/xp/ap_Preview_Annotation.cpp ---- abiword-2.8.6/src/wp/ap/xp/ap_Preview_Annotation.cpp 2009-09-29 10:58:11.000000000 -0300 -+++ abiword-libre-2.8.6/src/wp/ap/xp/ap_Preview_Annotation.cpp 2011-07-02 15:37:03.311024815 -0300 -@@ -94,7 +94,7 @@ void AP_Preview_Annotation::setSizeFromA +diff --git a/src/wp/ap/xp/ap_Preview_Annotation.cpp b/src/wp/ap/xp/ap_Preview_Annotation.cpp +index 5068315..91571e3 100644 +--- a/src/wp/ap/xp/ap_Preview_Annotation.cpp ++++ b/src/wp/ap/xp/ap_Preview_Annotation.cpp +@@ -95,7 +95,7 @@ void AP_Preview_Annotation::setSizeFromAnnotation(void) pG = pView->getGraphics(); UT_return_if_fail(pG); @@ -378,7 +405,7 @@ diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Preview_Annotation.cpp abiword-libre-2 "normal", "normal", "normal", "12pt", NULL); -@@ -122,7 +122,7 @@ void AP_Preview_Annotation::draw(void) +@@ -124,7 +124,7 @@ void AP_Preview_Annotation::draw(const UT_Rect *clip) UT_RGBColor FGcolor(0,0,0); UT_RGBColor BGcolor(m_clrBackground); @@ -387,34 +414,24 @@ diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Preview_Annotation.cpp abiword-libre-2 "normal", "normal", "normal", "12pt", NULL); -diff -auNpr abiword-2.8.6/src/wp/ap/xp/ap_Preview_Paragraph.cpp abiword-libre-2.8.6/src/wp/ap/xp/ap_Preview_Paragraph.cpp ---- abiword-2.8.6/src/wp/ap/xp/ap_Preview_Paragraph.cpp 2009-03-09 17:01:46.000000000 -0200 -+++ abiword-libre-2.8.6/src/wp/ap/xp/ap_Preview_Paragraph.cpp 2011-07-02 15:37:03.527132815 -0300 -@@ -539,7 +539,7 @@ void AP_Preview_Paragraph::draw(void) - bool AP_Preview_Paragraph::_loadDrawFont(void) +diff --git a/src/wp/ap/xp/ap_Preview_Paragraph.cpp b/src/wp/ap/xp/ap_Preview_Paragraph.cpp +index fc4dc38..fba04f1 100644 +--- a/src/wp/ap/xp/ap_Preview_Paragraph.cpp ++++ b/src/wp/ap/xp/ap_Preview_Paragraph.cpp +@@ -540,7 +540,7 @@ void AP_Preview_Paragraph::draw(const UT_Rect *clip) + bool AP_Preview_Paragraph::_loadDrawFont(const char *name) { // we draw at 7 points in this preview -- GR_Font * font = m_gc->findFont("Times New Roman", -+ GR_Font * font = m_gc->findFont("Liberation Serif", +- GR_Font * font = m_gc->findFont(name ? name : "Times New Roman", ++ GR_Font * font = m_gc->findFont(name ? name : "Liberation Serif", "normal", "", "normal", "", "7pt", NULL); // might need to get the real lang -diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_exp_RTF.cpp abiword-libre-2.8.6/src/wp/impexp/xp/ie_exp_RTF.cpp ---- abiword-2.8.6/src/wp/impexp/xp/ie_exp_RTF.cpp 2009-09-29 17:00:48.000000000 -0300 -+++ abiword-libre-2.8.6/src/wp/impexp/xp/ie_exp_RTF.cpp 2011-07-02 15:37:03.939338815 -0300 -@@ -2829,7 +2829,7 @@ void IE_Exp_RTF::_output_ListRTF(fl_Auto - case DASHED_LIST: - Param = 23; - bulletsym = '-'; -- fontName = "Times New Roman"; -+ fontName = "Liberation Serif"; - break; - case SQUARE_LIST: - Param = 23; -diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_MsWord_97.cpp abiword-libre-2.8.6/src/wp/impexp/xp/ie_imp_MsWord_97.cpp ---- abiword-2.8.6/src/wp/impexp/xp/ie_imp_MsWord_97.cpp 2009-09-23 02:22:43.000000000 -0300 -+++ abiword-libre-2.8.6/src/wp/impexp/xp/ie_imp_MsWord_97.cpp 2011-07-02 15:37:03.883310815 -0300 -@@ -621,10 +621,10 @@ s_fieldFontForListStyle (MSWordListIdTyp +diff --git a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp +index 4673f80..d194004 100644 +--- a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp ++++ b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp +@@ -628,10 +628,10 @@ s_fieldFontForListStyle (MSWordListIdType id) return "NULL"; case WLNF_UPPER_LETTER: // upper letter @@ -427,7 +444,7 @@ diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_MsWord_97.cpp abiword-libre-2. case WLNF_BULLETS: // bullet list UT_DEBUGMSG(("Fieldfont set to symbol \n")); -@@ -632,11 +632,11 @@ s_fieldFontForListStyle (MSWordListIdTyp +@@ -639,11 +639,11 @@ s_fieldFontForListStyle (MSWordListIdType id) case WLNF_EUROPEAN_ARABIC: case WLNF_ORDINAL: // ordinal @@ -442,7 +459,7 @@ diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_MsWord_97.cpp abiword-libre-2. } } -@@ -5243,7 +5243,7 @@ void IE_Imp_MsWord_97::_generateCharProp +@@ -5250,7 +5250,7 @@ void IE_Imp_MsWord_97::_generateCharProps(UT_String &s, const CHP * achp, wvPars if(fname) s += fname; else @@ -451,10 +468,11 @@ diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_MsWord_97.cpp abiword-libre-2. FREEP(fname); } -diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_RTF.cpp abiword-libre-2.8.6/src/wp/impexp/xp/ie_imp_RTF.cpp ---- abiword-2.8.6/src/wp/impexp/xp/ie_imp_RTF.cpp 2009-07-27 02:26:14.000000000 -0300 -+++ abiword-libre-2.8.6/src/wp/impexp/xp/ie_imp_RTF.cpp 2011-07-02 15:37:04.239488815 -0300 -@@ -5958,11 +5958,11 @@ bool IE_Imp_RTF::buildCharacterProps(UT_ +diff --git a/src/wp/impexp/xp/ie_imp_RTF.cpp b/src/wp/impexp/xp/ie_imp_RTF.cpp +index 97a6f29..3177c9c 100644 +--- a/src/wp/impexp/xp/ie_imp_RTF.cpp ++++ b/src/wp/impexp/xp/ie_imp_RTF.cpp +@@ -6313,11 +6313,11 @@ bool IE_Imp_RTF::buildCharacterProps(std::string & propBuffer) // {\f83\fnil\fcharset0\fprq0{\*\panose 00000000000000000000} ;} // note the empty slot after the panose entry // later it gets referenced: {\b\f83\fs24\cf1\cgrid0 Malte Cornils @@ -468,7 +486,7 @@ diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_RTF.cpp abiword-libre-2.8.6/sr } if (m_currentRTFState.m_charProps.m_hasColour) { -@@ -8612,7 +8612,7 @@ bool IE_Imp_RTF::ReadFontTable() +@@ -9034,7 +9034,7 @@ bool IE_Imp_RTF::ReadFontTable() { // NB: Ignores whitespace until we've seen non-whitespace data. // This means we pick up the spaces in font names like @@ -477,7 +495,7 @@ diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_RTF.cpp abiword-libre-2.8.6/sr // that genuinely start with spaces will have them discarded. // This is hopefully not a problem. tokenType = NextToken(keyword, ¶meter,& paramUsed, -@@ -8680,11 +8680,11 @@ bool IE_Imp_RTF::ReadFontTable() +@@ -9102,11 +9102,11 @@ bool IE_Imp_RTF::ReadFontTable() // It's possible that the font name will be empty. This might happend // because the font table didn't specify a name, or because the \ansicpgN // command was invalid, in which case the mbtowc convertion might fail. @@ -492,9 +510,10 @@ diff -auNpr abiword-2.8.6/src/wp/impexp/xp/ie_imp_RTF.cpp abiword-libre-2.8.6/sr } // Validate and post-process the Panose string. if (!PostProcessAndValidatePanose(sFontNamesAndPanose[SFontTableState::Panose])) -diff -auNpr abiword-2.8.6/user/wp/readme.abw abiword-libre-2.8.6/user/wp/readme.abw ---- abiword-2.8.6/user/wp/readme.abw 2009-07-23 16:50:13.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/readme.abw 2011-07-02 15:37:19.891310814 -0300 +diff --git a/user/wp/readme.abw b/user/wp/readme.abw +index 7bf2cdc..48e3bb6 100644 +--- a/user/wp/readme.abw ++++ b/user/wp/readme.abw @@ -16,9 +16,9 @@ <version id="9" started="1131226323" uid="e94517c8-4e44-11da-9bf9-8faddbe5f409" auto="0" top-xid="120"/> </history> @@ -508,9 +527,10 @@ diff -auNpr abiword-2.8.6/user/wp/readme.abw abiword-libre-2.8.6/user/wp/readme. </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section xid="1"> -diff -auNpr abiword-2.8.6/user/wp/templates/Business-Letter.awt abiword-libre-2.8.6/user/wp/templates/Business-Letter.awt ---- abiword-2.8.6/user/wp/templates/Business-Letter.awt 2009-05-22 07:15:16.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Business-Letter.awt 2011-07-02 15:37:19.995362813 -0300 +diff --git a/user/wp/templates/Business-Letter.awt b/user/wp/templates/Business-Letter.awt +index 524558a..9448277 100644 +--- a/user/wp/templates/Business-Letter.awt ++++ b/user/wp/templates/Business-Letter.awt @@ -19,14 +19,14 @@ <version id="4" started="1097285263" uid="6ad98dfc-1992-11d9-90cf-d572573794e2" auto="0"/> </history> @@ -533,9 +553,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/Business-Letter.awt abiword-libre-2. </styles> <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/> <section props="page-margin-footer:0.5in; page-margin-header:0.5in"> -diff -auNpr abiword-2.8.6/user/wp/templates/Business-Report.awt abiword-libre-2.8.6/user/wp/templates/Business-Report.awt ---- abiword-2.8.6/user/wp/templates/Business-Report.awt 2009-05-22 07:15:18.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Business-Report.awt 2011-07-02 15:37:20.011370813 -0300 +diff --git a/user/wp/templates/Business-Report.awt b/user/wp/templates/Business-Report.awt +index c2e85c9..f2f5b16 100644 +--- a/user/wp/templates/Business-Report.awt ++++ b/user/wp/templates/Business-Report.awt @@ -21,7 +21,7 @@ <p style="Normal" props="text-align:right"><c props="lang:en-US; font-size:12 pt"></c></p> <p style="Normal" props="text-align:right"><c props="lang:en-US; font-size:12 pt"></c></p> @@ -560,9 +581,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/Business-Report.awt abiword-libre-2. <p style="Normal"><c type="list_label" props="lang:en-US; height:0in; width:0in"></c></p> </section> <section id="1961180032" listid="0" parentid="0" type="footer"> -diff -auNpr abiword-2.8.6/user/wp/templates/Employee-Directory.awt abiword-libre-2.8.6/user/wp/templates/Employee-Directory.awt ---- abiword-2.8.6/user/wp/templates/Employee-Directory.awt 2009-05-22 07:15:21.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Employee-Directory.awt 2011-07-02 15:37:20.047388813 -0300 +diff --git a/user/wp/templates/Employee-Directory.awt b/user/wp/templates/Employee-Directory.awt +index c4f7ebc..b0faa54 100644 +--- a/user/wp/templates/Employee-Directory.awt ++++ b/user/wp/templates/Employee-Directory.awt @@ -10,9 +10,9 @@ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/> @@ -689,9 +711,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/Employee-Directory.awt abiword-libre </section> <data> <d name="C:\Documents and Settings\jgz\Desktop\bookopen.bmp_0" mime-type="image/png" base64="yes"> -diff -auNpr abiword-2.8.6/user/wp/templates/Fax-Coversheet.awt abiword-libre-2.8.6/user/wp/templates/Fax-Coversheet.awt ---- abiword-2.8.6/user/wp/templates/Fax-Coversheet.awt 2009-05-22 07:15:24.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Fax-Coversheet.awt 2011-07-02 15:37:20.027378813 -0300 +diff --git a/user/wp/templates/Fax-Coversheet.awt b/user/wp/templates/Fax-Coversheet.awt +index acc7ba8..cc5779c 100644 +--- a/user/wp/templates/Fax-Coversheet.awt ++++ b/user/wp/templates/Fax-Coversheet.awt @@ -10,26 +10,26 @@ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/> @@ -732,9 +755,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/Fax-Coversheet.awt abiword-libre-2.8 </section> <data> <d name="C:\Documents and Settings\jgz\Desktop\bar.bmp_0" mime-type="image/png" base64="yes"> -diff -auNpr abiword-2.8.6/user/wp/templates/Friendly-Letter.awt abiword-libre-2.8.6/user/wp/templates/Friendly-Letter.awt ---- abiword-2.8.6/user/wp/templates/Friendly-Letter.awt 2009-05-22 07:15:27.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Friendly-Letter.awt 2011-07-02 15:37:20.023376813 -0300 +diff --git a/user/wp/templates/Friendly-Letter.awt b/user/wp/templates/Friendly-Letter.awt +index 5a25db1..2e687fc 100644 +--- a/user/wp/templates/Friendly-Letter.awt ++++ b/user/wp/templates/Friendly-Letter.awt @@ -16,12 +16,12 @@ <version id="1" started="1096736888" uid="a22a447e-1495-11d9-9525-9e1170ef822d" auto="0"/> </history> @@ -754,9 +778,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/Friendly-Letter.awt abiword-libre-2. </styles> <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/> <section props="page-margin-footer:0.5in; page-margin-header:0.5in"> -diff -auNpr abiword-2.8.6/user/wp/templates/Memo.awt abiword-libre-2.8.6/user/wp/templates/Memo.awt ---- abiword-2.8.6/user/wp/templates/Memo.awt 2009-05-22 07:15:31.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Memo.awt 2011-07-02 15:37:19.915322814 -0300 +diff --git a/user/wp/templates/Memo.awt b/user/wp/templates/Memo.awt +index 79b5538..560a4cd 100644 +--- a/user/wp/templates/Memo.awt ++++ b/user/wp/templates/Memo.awt @@ -14,10 +14,10 @@ <m key="abiword.date_last_changed">Fri Mar 12 21:07:56 2004</m> </metadata> @@ -787,9 +812,97 @@ diff -auNpr abiword-2.8.6/user/wp/templates/Memo.awt abiword-libre-2.8.6/user/wp </cell> </table> <p style="Normal"></p> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt abiword-libre-2.8.6/user/wp/templates/normal.awt ---- abiword-2.8.6/user/wp/templates/normal.awt 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt 2011-07-02 15:37:20.019374813 -0300 +diff --git a/user/wp/templates/Press-Release.awt b/user/wp/templates/Press-Release.awt +index 708bce7..4d8bac1 100644 +--- a/user/wp/templates/Press-Release.awt ++++ b/user/wp/templates/Press-Release.awt +@@ -16,19 +16,19 @@ + <version id="3" started="1080258930" uid="0c5a8b0e-7ec0-11d8-92e5-d7901b3e7f1a" auto="0"/> + </history> + <styles> +-<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> +-<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:17pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> +-<s followedby="Press Release" name="Press Release" basedon="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0.1667in; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> +-<s followedby="About Companies" name="About Companies" basedon="Press Release" type="P" props="font-weight:normal; font-family:Arial; margin-top:0.1111in; font-style:normal; margin-left:0.7500in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.7500in; color:000000; font-size:10pt; line-height:1.000000; text-align:justify; widows:2; font-stretch:normal"/> ++<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> ++<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:17pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> ++<s followedby="Press Release" name="Press Release" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0.1667in; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> ++<s followedby="About Companies" name="About Companies" basedon="Press Release" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0.1111in; font-style:normal; margin-left:0.7500in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.7500in; color:000000; font-size:10pt; line-height:1.000000; text-align:justify; widows:2; font-stretch:normal"/> + <s type="P" name="Block Text" basedon="Normal" followedby="Current Settings" props="line-height:1.000000; margin-bottom:0.0833in; margin-right:1.0000in; margin-left:1.0000in"/> + <s type="P" name="Box List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Box List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Bullet List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Symbol; list-style:Bullet List; line-height:1.000000; text-indent:-0.300000in"/> +-<s followedby="Normal" name="Chapter Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Chapter %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> ++<s followedby="Normal" name="Chapter Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Chapter %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> + <s followedby="Normal" name="Contents 1" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> + <s followedby="Normal" name="Contents 2" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:1.0000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> + <s followedby="Normal" name="Contents 3" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:1.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> + <s followedby="Normal" name="Contents 4" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:2.0000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> +-<s followedby="Normal" name="Contents Header" basedon="Normal" type="P" props="margin-top:0.1667in; font-size:16pt; margin-bottom:0.0833in; text-align:center; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> ++<s followedby="Normal" name="Contents Header" basedon="Normal" type="P" props="margin-top:0.1667in; font-size:16pt; margin-bottom:0.0833in; text-align:center; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> + <s type="P" name="Dashed List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:NULL; list-style:Dashed List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Diamond List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Diamond List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="C" name="Endnote Reference" basedon="None" followedby="Current Settings" props="text-position:superscript; line-height:1.000000; font-size:10pt"/> +@@ -36,19 +36,19 @@ + <s type="C" name="Footnote Reference" basedon="None" followedby="Current Settings" props="text-position:superscript; line-height:1.000000; font-size:10pt"/> + <s type="C" name="Footnote Text" basedon="Normal" followedby="Current Settings" props="text-position:normal; line-height:1.000000; font-size:10pt"/> + <s type="P" name="Hand List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Hand List; line-height:1.000000; text-indent:-0.300000in"/> +-<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:14pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> +-<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> +-<s followedby="Normal" name="Heading 4" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> ++<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:14pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> ++<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> ++<s followedby="Normal" name="Heading 4" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> + <s type="P" name="Heart List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Heart List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Implies List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Symbol; list-style:Implies List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Lower Case List" basedon="Numbered List" followedby="Current Settings" props="list-delim:%L); list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Lower Case List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Lower Roman List" basedon="Normal" followedby="Current Settings" props="list-delim:%L; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Lower Roman List; line-height:1.000000; text-indent:-0.300000in"/> +-<s followedby="Normal" name="Numbered Heading 1" basedon="Heading 1" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> +-<s followedby="Normal" name="Numbered Heading 2" basedon="Heading 2" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> +-<s followedby="Normal" name="Numbered Heading 3" basedon="Heading 3" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> ++<s followedby="Normal" name="Numbered Heading 1" basedon="Heading 1" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> ++<s followedby="Normal" name="Numbered Heading 2" basedon="Heading 2" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> ++<s followedby="Normal" name="Numbered Heading 3" basedon="Heading 3" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> + <s type="P" name="Numbered List" followedby="Current Settings" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Plain Text" basedon="Normal" followedby="Current Settings" props="font-family:Courier New; line-height:1.000000"/> +-<s followedby="Normal" name="Section Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Section %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> ++<s followedby="Normal" name="Section Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Section %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> + <s type="P" name="Square List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Square List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Star List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Star List; line-height:1.000000; text-indent:-0.300000in"/> + <s type="P" name="Tick List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Tick List; line-height:1.000000; text-indent:-0.300000in"/> +@@ -77,7 +77,7 @@ + <p style="Normal"><c props="lang:en-US"></c></p> + </cell> + <cell props="bot-attach:3; left-attach:0; right-attach:1; top-attach:2"> +-<p style="Normal" props="text-align:center"><c props="font-family:Arial; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">FOR IMMEDIATE RELEASE</c></p> ++<p style="Normal" props="text-align:center"><c props="font-family:Liberation Sans; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">FOR IMMEDIATE RELEASE</c></p> + </cell> + </table> + <p></p> +diff --git a/user/wp/templates/Resume.awt b/user/wp/templates/Resume.awt +index 1e61cdd..8eda0b7 100644 +--- a/user/wp/templates/Resume.awt ++++ b/user/wp/templates/Resume.awt +@@ -14,11 +14,11 @@ + <m key="abiword.date_last_changed">Fri Mar 12 22:08:25 2004</m> + </metadata> + <styles> +-<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> +-<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Arial; font-size:20pt"/> +-<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:11pt; margin-bottom:3pt; font-weight:normal; text-align:right; font-family:Arial; keep-with-next:1"/> +-<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Arial; font-size:9pt"/> +-<s followedby="Heading 3" name="Brief" basedon="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0.2500in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:9pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> ++<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> ++<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Liberation Sans; font-size:20pt"/> ++<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:11pt; margin-bottom:3pt; font-weight:normal; text-align:right; font-family:Liberation Sans; keep-with-next:1"/> ++<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Liberation Sans; font-size:9pt"/> ++<s followedby="Heading 3" name="Brief" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0.2500in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:9pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> + </styles> + <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/> + <section header="0" props="page-margin-footer:0.5in; page-margin-header:0.4375in; page-margin-top:1.1250in"> +diff --git a/user/wp/templates/normal.awt b/user/wp/templates/normal.awt +index 4c83f82..e7fcb00 100644 +--- a/user/wp/templates/normal.awt ++++ b/user/wp/templates/normal.awt @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -799,9 +912,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt abiword-libre-2.8.6/user/ </styles> <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-am_ET abiword-libre-2.8.6/user/wp/templates/normal.awt-am_ET ---- abiword-2.8.6/user/wp/templates/normal.awt-am_ET 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-am_ET 2011-07-02 15:37:20.015372813 -0300 +diff --git a/user/wp/templates/normal.awt-am_ET b/user/wp/templates/normal.awt-am_ET +index cb1a8d4..c7b7707 100644 +--- a/user/wp/templates/normal.awt-am_ET ++++ b/user/wp/templates/normal.awt-am_ET @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -811,9 +925,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-am_ET abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ar abiword-libre-2.8.6/user/wp/templates/normal.awt-ar ---- abiword-2.8.6/user/wp/templates/normal.awt-ar 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ar 2011-07-02 15:37:20.019374813 -0300 +diff --git a/user/wp/templates/normal.awt-ar b/user/wp/templates/normal.awt-ar +index 9aa7a5c..0cd8882 100644 +--- a/user/wp/templates/normal.awt-ar ++++ b/user/wp/templates/normal.awt-ar @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -823,9 +938,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ar abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ar_EG abiword-libre-2.8.6/user/wp/templates/normal.awt-ar_EG ---- abiword-2.8.6/user/wp/templates/normal.awt-ar_EG 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ar_EG 2011-07-02 15:37:19.979354813 -0300 +diff --git a/user/wp/templates/normal.awt-ar_EG b/user/wp/templates/normal.awt-ar_EG +index 5fcf2d1..b920dcc 100644 +--- a/user/wp/templates/normal.awt-ar_EG ++++ b/user/wp/templates/normal.awt-ar_EG @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -835,9 +951,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ar_EG abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ar_SA abiword-libre-2.8.6/user/wp/templates/normal.awt-ar_SA ---- abiword-2.8.6/user/wp/templates/normal.awt-ar_SA 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ar_SA 2011-07-02 15:37:19.999364813 -0300 +diff --git a/user/wp/templates/normal.awt-ar_SA b/user/wp/templates/normal.awt-ar_SA +index 09c1bbb..12ad0d6 100644 +--- a/user/wp/templates/normal.awt-ar_SA ++++ b/user/wp/templates/normal.awt-ar_SA @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -847,9 +964,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ar_SA abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-bg_BG abiword-libre-2.8.6/user/wp/templates/normal.awt-bg_BG ---- abiword-2.8.6/user/wp/templates/normal.awt-bg_BG 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-bg_BG 2011-07-02 15:37:19.975352813 -0300 +diff --git a/user/wp/templates/normal.awt-bg_BG b/user/wp/templates/normal.awt-bg_BG +index df6f2bf..d789046 100644 +--- a/user/wp/templates/normal.awt-bg_BG ++++ b/user/wp/templates/normal.awt-bg_BG @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -859,9 +977,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-bg_BG abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ca_ES abiword-libre-2.8.6/user/wp/templates/normal.awt-ca_ES ---- abiword-2.8.6/user/wp/templates/normal.awt-ca_ES 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ca_ES 2011-07-02 15:37:19.923326814 -0300 +diff --git a/user/wp/templates/normal.awt-ca_ES b/user/wp/templates/normal.awt-ca_ES +index 0a337a2..69fecfd 100644 +--- a/user/wp/templates/normal.awt-ca_ES ++++ b/user/wp/templates/normal.awt-ca_ES @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -871,9 +990,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ca_ES abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-cs_CZ abiword-libre-2.8.6/user/wp/templates/normal.awt-cs_CZ ---- abiword-2.8.6/user/wp/templates/normal.awt-cs_CZ 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-cs_CZ 2011-07-02 15:37:20.003366813 -0300 +diff --git a/user/wp/templates/normal.awt-cs_CZ b/user/wp/templates/normal.awt-cs_CZ +index 3e5e87e..d2cb937 100644 +--- a/user/wp/templates/normal.awt-cs_CZ ++++ b/user/wp/templates/normal.awt-cs_CZ @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -883,9 +1003,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-cs_CZ abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-da_DK abiword-libre-2.8.6/user/wp/templates/normal.awt-da_DK ---- abiword-2.8.6/user/wp/templates/normal.awt-da_DK 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-da_DK 2011-07-02 15:37:19.995362813 -0300 +diff --git a/user/wp/templates/normal.awt-da_DK b/user/wp/templates/normal.awt-da_DK +index 6ce3d83..f8706cb 100644 +--- a/user/wp/templates/normal.awt-da_DK ++++ b/user/wp/templates/normal.awt-da_DK @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -895,9 +1016,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-da_DK abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de abiword-libre-2.8.6/user/wp/templates/normal.awt-de ---- abiword-2.8.6/user/wp/templates/normal.awt-de 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-de 2011-07-02 15:37:20.007368813 -0300 +diff --git a/user/wp/templates/normal.awt-de b/user/wp/templates/normal.awt-de +index 8faa619..c0c18f7 100644 +--- a/user/wp/templates/normal.awt-de ++++ b/user/wp/templates/normal.awt-de @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -907,9 +1029,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de_AT abiword-libre-2.8.6/user/wp/templates/normal.awt-de_AT ---- abiword-2.8.6/user/wp/templates/normal.awt-de_AT 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-de_AT 2011-07-02 15:37:19.975352813 -0300 +diff --git a/user/wp/templates/normal.awt-de_AT b/user/wp/templates/normal.awt-de_AT +index 9abfde1..d0ec20e 100644 +--- a/user/wp/templates/normal.awt-de_AT ++++ b/user/wp/templates/normal.awt-de_AT @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -919,9 +1042,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de_AT abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de_CH abiword-libre-2.8.6/user/wp/templates/normal.awt-de_CH ---- abiword-2.8.6/user/wp/templates/normal.awt-de_CH 2008-04-09 21:48:42.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-de_CH 2011-07-02 15:37:19.979354813 -0300 +diff --git a/user/wp/templates/normal.awt-de_CH b/user/wp/templates/normal.awt-de_CH +index 0aa531a..24b0f8d 100644 +--- a/user/wp/templates/normal.awt-de_CH ++++ b/user/wp/templates/normal.awt-de_CH @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -931,9 +1055,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de_CH abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de_DE abiword-libre-2.8.6/user/wp/templates/normal.awt-de_DE ---- abiword-2.8.6/user/wp/templates/normal.awt-de_DE 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-de_DE 2011-07-02 15:37:20.035382813 -0300 +diff --git a/user/wp/templates/normal.awt-de_DE b/user/wp/templates/normal.awt-de_DE +index 0190408..6372e78 100644 +--- a/user/wp/templates/normal.awt-de_DE ++++ b/user/wp/templates/normal.awt-de_DE @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -943,9 +1068,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-de_DE abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-div_MV abiword-libre-2.8.6/user/wp/templates/normal.awt-div_MV ---- abiword-2.8.6/user/wp/templates/normal.awt-div_MV 2007-01-14 12:52:46.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-div_MV 2011-07-02 15:37:20.071400813 -0300 +diff --git a/user/wp/templates/normal.awt-div_MV b/user/wp/templates/normal.awt-div_MV +index 9a8c50e..88270ce 100644 +--- a/user/wp/templates/normal.awt-div_MV ++++ b/user/wp/templates/normal.awt-div_MV @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -955,9 +1081,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-div_MV abiword-libre-2.8. </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-el_GR abiword-libre-2.8.6/user/wp/templates/normal.awt-el_GR ---- abiword-2.8.6/user/wp/templates/normal.awt-el_GR 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-el_GR 2011-07-02 15:37:20.063396813 -0300 +diff --git a/user/wp/templates/normal.awt-el_GR b/user/wp/templates/normal.awt-el_GR +index e1c8de5..1db03a4 100644 +--- a/user/wp/templates/normal.awt-el_GR ++++ b/user/wp/templates/normal.awt-el_GR @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -967,9 +1094,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-el_GR abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_AU abiword-libre-2.8.6/user/wp/templates/normal.awt-en_AU ---- abiword-2.8.6/user/wp/templates/normal.awt-en_AU 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-en_AU 2011-07-02 15:37:19.903316814 -0300 +diff --git a/user/wp/templates/normal.awt-en_AU b/user/wp/templates/normal.awt-en_AU +index c7fa4c9..0e29beb 100644 +--- a/user/wp/templates/normal.awt-en_AU ++++ b/user/wp/templates/normal.awt-en_AU @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -979,9 +1107,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_AU abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_CA abiword-libre-2.8.6/user/wp/templates/normal.awt-en_CA ---- abiword-2.8.6/user/wp/templates/normal.awt-en_CA 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-en_CA 2011-07-02 15:37:20.079404813 -0300 +diff --git a/user/wp/templates/normal.awt-en_CA b/user/wp/templates/normal.awt-en_CA +index 3729a04..cff6807 100644 +--- a/user/wp/templates/normal.awt-en_CA ++++ b/user/wp/templates/normal.awt-en_CA @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -989,11 +1118,12 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_CA abiword-libre-2.8.6 -<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/> +<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/> </styles> - <pagesize pagetype="Letter" orientation="portrait" width="216.000000" height="279.000000" units="mm" page-scale="1.000000"/> + <pagesize pagetype="Letter" orientation="portrait" width="215.900000" height="279.400000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_GB abiword-libre-2.8.6/user/wp/templates/normal.awt-en_GB ---- abiword-2.8.6/user/wp/templates/normal.awt-en_GB 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-en_GB 2011-07-02 15:37:19.911320814 -0300 +diff --git a/user/wp/templates/normal.awt-en_GB b/user/wp/templates/normal.awt-en_GB +index 14b8bcf..55364cd 100644 +--- a/user/wp/templates/normal.awt-en_GB ++++ b/user/wp/templates/normal.awt-en_GB @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1003,9 +1133,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_GB abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_IE abiword-libre-2.8.6/user/wp/templates/normal.awt-en_IE ---- abiword-2.8.6/user/wp/templates/normal.awt-en_IE 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-en_IE 2011-07-02 15:37:20.075402813 -0300 +diff --git a/user/wp/templates/normal.awt-en_IE b/user/wp/templates/normal.awt-en_IE +index 95e3fc7..7b0c3a5 100644 +--- a/user/wp/templates/normal.awt-en_IE ++++ b/user/wp/templates/normal.awt-en_IE @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1015,9 +1146,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_IE abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_NZ abiword-libre-2.8.6/user/wp/templates/normal.awt-en_NZ ---- abiword-2.8.6/user/wp/templates/normal.awt-en_NZ 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-en_NZ 2011-07-02 15:37:20.067398813 -0300 +diff --git a/user/wp/templates/normal.awt-en_NZ b/user/wp/templates/normal.awt-en_NZ +index 70016d2..0871e93 100644 +--- a/user/wp/templates/normal.awt-en_NZ ++++ b/user/wp/templates/normal.awt-en_NZ @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1027,9 +1159,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_NZ abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_ZA abiword-libre-2.8.6/user/wp/templates/normal.awt-en_ZA ---- abiword-2.8.6/user/wp/templates/normal.awt-en_ZA 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-en_ZA 2011-07-02 15:37:20.079404813 -0300 +diff --git a/user/wp/templates/normal.awt-en_ZA b/user/wp/templates/normal.awt-en_ZA +index ebe7ee3..c4f7795 100644 +--- a/user/wp/templates/normal.awt-en_ZA ++++ b/user/wp/templates/normal.awt-en_ZA @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1039,9 +1172,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-en_ZA abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es abiword-libre-2.8.6/user/wp/templates/normal.awt-es ---- abiword-2.8.6/user/wp/templates/normal.awt-es 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-es 2011-07-02 15:37:19.903316814 -0300 +diff --git a/user/wp/templates/normal.awt-es b/user/wp/templates/normal.awt-es +index 12c611c..a2067e0 100644 +--- a/user/wp/templates/normal.awt-es ++++ b/user/wp/templates/normal.awt-es @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1051,9 +1185,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_AR abiword-libre-2.8.6/user/wp/templates/normal.awt-es_AR ---- abiword-2.8.6/user/wp/templates/normal.awt-es_AR 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-es_AR 2011-07-02 15:37:20.039384813 -0300 +diff --git a/user/wp/templates/normal.awt-es_AR b/user/wp/templates/normal.awt-es_AR +index 87130b5..fc8ac38 100644 +--- a/user/wp/templates/normal.awt-es_AR ++++ b/user/wp/templates/normal.awt-es_AR @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1063,9 +1198,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_AR abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_ES abiword-libre-2.8.6/user/wp/templates/normal.awt-es_ES ---- abiword-2.8.6/user/wp/templates/normal.awt-es_ES 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-es_ES 2011-07-02 15:37:20.063396813 -0300 +diff --git a/user/wp/templates/normal.awt-es_ES b/user/wp/templates/normal.awt-es_ES +index 87130b5..fc8ac38 100644 +--- a/user/wp/templates/normal.awt-es_ES ++++ b/user/wp/templates/normal.awt-es_ES @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1075,9 +1211,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_ES abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_IR abiword-libre-2.8.6/user/wp/templates/normal.awt-es_IR ---- abiword-2.8.6/user/wp/templates/normal.awt-es_IR 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-es_IR 2011-07-02 15:37:20.011370813 -0300 +diff --git a/user/wp/templates/normal.awt-es_IR b/user/wp/templates/normal.awt-es_IR +index 4d3e321..33c7144 100644 +--- a/user/wp/templates/normal.awt-es_IR ++++ b/user/wp/templates/normal.awt-es_IR @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1087,9 +1224,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_IR abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_MX abiword-libre-2.8.6/user/wp/templates/normal.awt-es_MX ---- abiword-2.8.6/user/wp/templates/normal.awt-es_MX 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-es_MX 2011-07-02 15:37:19.919324814 -0300 +diff --git a/user/wp/templates/normal.awt-es_MX b/user/wp/templates/normal.awt-es_MX +index 52c3411..2522a82 100644 +--- a/user/wp/templates/normal.awt-es_MX ++++ b/user/wp/templates/normal.awt-es_MX @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1099,9 +1237,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-es_MX abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fa_IR abiword-libre-2.8.6/user/wp/templates/normal.awt-fa_IR ---- abiword-2.8.6/user/wp/templates/normal.awt-fa_IR 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-fa_IR 2011-07-02 15:37:20.003366813 -0300 +diff --git a/user/wp/templates/normal.awt-fa_IR b/user/wp/templates/normal.awt-fa_IR +index db24783..a0f0bde 100644 +--- a/user/wp/templates/normal.awt-fa_IR ++++ b/user/wp/templates/normal.awt-fa_IR @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1111,9 +1250,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fa_IR abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fi_FI abiword-libre-2.8.6/user/wp/templates/normal.awt-fi_FI ---- abiword-2.8.6/user/wp/templates/normal.awt-fi_FI 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-fi_FI 2011-07-02 15:37:19.999364813 -0300 +diff --git a/user/wp/templates/normal.awt-fi_FI b/user/wp/templates/normal.awt-fi_FI +index 1471a71..b65fa66 100644 +--- a/user/wp/templates/normal.awt-fi_FI ++++ b/user/wp/templates/normal.awt-fi_FI @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1123,9 +1263,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fi_FI abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr abiword-libre-2.8.6/user/wp/templates/normal.awt-fr ---- abiword-2.8.6/user/wp/templates/normal.awt-fr 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-fr 2011-07-02 15:37:20.019374813 -0300 +diff --git a/user/wp/templates/normal.awt-fr b/user/wp/templates/normal.awt-fr +index 4e94583..67ae7c2 100644 +--- a/user/wp/templates/normal.awt-fr ++++ b/user/wp/templates/normal.awt-fr @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1135,9 +1276,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_BE abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_BE ---- abiword-2.8.6/user/wp/templates/normal.awt-fr_BE 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_BE 2011-07-02 15:37:20.075402813 -0300 +diff --git a/user/wp/templates/normal.awt-fr_BE b/user/wp/templates/normal.awt-fr_BE +index 8b310c4..d4b7723 100644 +--- a/user/wp/templates/normal.awt-fr_BE ++++ b/user/wp/templates/normal.awt-fr_BE @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1147,9 +1289,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_BE abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_CA abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_CA ---- abiword-2.8.6/user/wp/templates/normal.awt-fr_CA 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_CA 2011-07-02 15:37:19.907318814 -0300 +diff --git a/user/wp/templates/normal.awt-fr_CA b/user/wp/templates/normal.awt-fr_CA +index e673aac..c3bb3fd 100644 +--- a/user/wp/templates/normal.awt-fr_CA ++++ b/user/wp/templates/normal.awt-fr_CA @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1157,11 +1300,12 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_CA abiword-libre-2.8.6 -<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/> +<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/> </styles> - <pagesize pagetype="Letter" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> + <pagesize pagetype="Letter" orientation="portrait" width="215.900000" height="279.400000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_CH abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_CH ---- abiword-2.8.6/user/wp/templates/normal.awt-fr_CH 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_CH 2011-07-02 15:37:19.899314814 -0300 +diff --git a/user/wp/templates/normal.awt-fr_CH b/user/wp/templates/normal.awt-fr_CH +index 1888a71..eb4b5de 100644 +--- a/user/wp/templates/normal.awt-fr_CH ++++ b/user/wp/templates/normal.awt-fr_CH @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1171,9 +1315,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_CH abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_FR abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_FR ---- abiword-2.8.6/user/wp/templates/normal.awt-fr_FR 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-fr_FR 2011-07-02 15:37:19.983356813 -0300 +diff --git a/user/wp/templates/normal.awt-fr_FR b/user/wp/templates/normal.awt-fr_FR +index f877981..0f523f6 100644 +--- a/user/wp/templates/normal.awt-fr_FR ++++ b/user/wp/templates/normal.awt-fr_FR @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1183,9 +1328,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-fr_FR abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-gl_ES abiword-libre-2.8.6/user/wp/templates/normal.awt-gl_ES ---- abiword-2.8.6/user/wp/templates/normal.awt-gl_ES 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-gl_ES 2011-07-02 15:37:20.023376813 -0300 +diff --git a/user/wp/templates/normal.awt-gl_ES b/user/wp/templates/normal.awt-gl_ES +index 7f4876b..006645e 100644 +--- a/user/wp/templates/normal.awt-gl_ES ++++ b/user/wp/templates/normal.awt-gl_ES @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1195,9 +1341,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-gl_ES abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-he abiword-libre-2.8.6/user/wp/templates/normal.awt-he ---- abiword-2.8.6/user/wp/templates/normal.awt-he 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-he 2011-07-02 15:37:19.995362813 -0300 +diff --git a/user/wp/templates/normal.awt-he b/user/wp/templates/normal.awt-he +index a3da00f..f1a238f 100644 +--- a/user/wp/templates/normal.awt-he ++++ b/user/wp/templates/normal.awt-he @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1207,9 +1354,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-he abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-he_IL abiword-libre-2.8.6/user/wp/templates/normal.awt-he_IL ---- abiword-2.8.6/user/wp/templates/normal.awt-he_IL 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-he_IL 2011-07-02 15:37:19.979354813 -0300 +diff --git a/user/wp/templates/normal.awt-he_IL b/user/wp/templates/normal.awt-he_IL +index 98d81eb..e78e16b 100644 +--- a/user/wp/templates/normal.awt-he_IL ++++ b/user/wp/templates/normal.awt-he_IL @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1219,9 +1367,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-he_IL abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-hu_HU abiword-libre-2.8.6/user/wp/templates/normal.awt-hu_HU ---- abiword-2.8.6/user/wp/templates/normal.awt-hu_HU 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-hu_HU 2011-07-02 15:37:19.979354813 -0300 +diff --git a/user/wp/templates/normal.awt-hu_HU b/user/wp/templates/normal.awt-hu_HU +index d79154f..0dd6026 100644 +--- a/user/wp/templates/normal.awt-hu_HU ++++ b/user/wp/templates/normal.awt-hu_HU @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1231,9 +1380,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-hu_HU abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-it_IT abiword-libre-2.8.6/user/wp/templates/normal.awt-it_IT ---- abiword-2.8.6/user/wp/templates/normal.awt-it_IT 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-it_IT 2011-07-02 15:37:19.911320814 -0300 +diff --git a/user/wp/templates/normal.awt-it_IT b/user/wp/templates/normal.awt-it_IT +index a72f1d4..1121843 100644 +--- a/user/wp/templates/normal.awt-it_IT ++++ b/user/wp/templates/normal.awt-it_IT @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1243,9 +1393,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-it_IT abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ja_JP abiword-libre-2.8.6/user/wp/templates/normal.awt-ja_JP ---- abiword-2.8.6/user/wp/templates/normal.awt-ja_JP 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ja_JP 2011-07-02 15:37:20.027378813 -0300 +diff --git a/user/wp/templates/normal.awt-ja_JP b/user/wp/templates/normal.awt-ja_JP +index 4f379e1..351fdd6 100644 +--- a/user/wp/templates/normal.awt-ja_JP ++++ b/user/wp/templates/normal.awt-ja_JP @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1255,9 +1406,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ja_JP abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-lt_LT abiword-libre-2.8.6/user/wp/templates/normal.awt-lt_LT ---- abiword-2.8.6/user/wp/templates/normal.awt-lt_LT 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-lt_LT 2011-07-02 15:37:19.899314814 -0300 +diff --git a/user/wp/templates/normal.awt-lt_LT b/user/wp/templates/normal.awt-lt_LT +index e9d6ec1..b66be4a 100644 +--- a/user/wp/templates/normal.awt-lt_LT ++++ b/user/wp/templates/normal.awt-lt_LT @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1267,9 +1419,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-lt_LT abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-nb_NO abiword-libre-2.8.6/user/wp/templates/normal.awt-nb_NO ---- abiword-2.8.6/user/wp/templates/normal.awt-nb_NO 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-nb_NO 2011-07-02 15:37:19.999364813 -0300 +diff --git a/user/wp/templates/normal.awt-nb_NO b/user/wp/templates/normal.awt-nb_NO +index 1b6398f..5cdf741 100644 +--- a/user/wp/templates/normal.awt-nb_NO ++++ b/user/wp/templates/normal.awt-nb_NO @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1279,9 +1432,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-nb_NO abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-nl_NL abiword-libre-2.8.6/user/wp/templates/normal.awt-nl_NL ---- abiword-2.8.6/user/wp/templates/normal.awt-nl_NL 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-nl_NL 2011-07-02 15:37:19.911320814 -0300 +diff --git a/user/wp/templates/normal.awt-nl_NL b/user/wp/templates/normal.awt-nl_NL +index 0f8b299..4be5de2 100644 +--- a/user/wp/templates/normal.awt-nl_NL ++++ b/user/wp/templates/normal.awt-nl_NL @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1291,9 +1445,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-nl_NL abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-nn_NO abiword-libre-2.8.6/user/wp/templates/normal.awt-nn_NO ---- abiword-2.8.6/user/wp/templates/normal.awt-nn_NO 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-nn_NO 2011-07-02 15:37:20.031380813 -0300 +diff --git a/user/wp/templates/normal.awt-nn_NO b/user/wp/templates/normal.awt-nn_NO +index 981d577..1a36ad3 100644 +--- a/user/wp/templates/normal.awt-nn_NO ++++ b/user/wp/templates/normal.awt-nn_NO @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1303,9 +1458,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-nn_NO abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-pl_PL abiword-libre-2.8.6/user/wp/templates/normal.awt-pl_PL ---- abiword-2.8.6/user/wp/templates/normal.awt-pl_PL 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-pl_PL 2011-07-02 15:37:20.011370813 -0300 +diff --git a/user/wp/templates/normal.awt-pl_PL b/user/wp/templates/normal.awt-pl_PL +index 0405d45..7f32223 100644 +--- a/user/wp/templates/normal.awt-pl_PL ++++ b/user/wp/templates/normal.awt-pl_PL @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1315,9 +1471,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-pl_PL abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ps abiword-libre-2.8.6/user/wp/templates/normal.awt-ps ---- abiword-2.8.6/user/wp/templates/normal.awt-ps 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ps 2011-07-02 15:37:20.035382813 -0300 +diff --git a/user/wp/templates/normal.awt-ps b/user/wp/templates/normal.awt-ps +index 971e62f..e5e674f 100644 +--- a/user/wp/templates/normal.awt-ps ++++ b/user/wp/templates/normal.awt-ps @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1327,9 +1484,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ps abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-pt_BR abiword-libre-2.8.6/user/wp/templates/normal.awt-pt_BR ---- abiword-2.8.6/user/wp/templates/normal.awt-pt_BR 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-pt_BR 2011-07-02 15:37:19.915322814 -0300 +diff --git a/user/wp/templates/normal.awt-pt_BR b/user/wp/templates/normal.awt-pt_BR +index bdf4c09..4d85f5c 100644 +--- a/user/wp/templates/normal.awt-pt_BR ++++ b/user/wp/templates/normal.awt-pt_BR @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1339,9 +1497,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-pt_BR abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-pt_PT abiword-libre-2.8.6/user/wp/templates/normal.awt-pt_PT ---- abiword-2.8.6/user/wp/templates/normal.awt-pt_PT 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-pt_PT 2011-07-02 15:37:20.035382813 -0300 +diff --git a/user/wp/templates/normal.awt-pt_PT b/user/wp/templates/normal.awt-pt_PT +index 7a44c3e..e1b766e 100644 +--- a/user/wp/templates/normal.awt-pt_PT ++++ b/user/wp/templates/normal.awt-pt_PT @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1351,9 +1510,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-pt_PT abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ru abiword-libre-2.8.6/user/wp/templates/normal.awt-ru ---- abiword-2.8.6/user/wp/templates/normal.awt-ru 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ru 2011-07-02 15:37:19.907318814 -0300 +diff --git a/user/wp/templates/normal.awt-ru b/user/wp/templates/normal.awt-ru +index c34fd94..6e29dfd 100644 +--- a/user/wp/templates/normal.awt-ru ++++ b/user/wp/templates/normal.awt-ru @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1363,9 +1523,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ru abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ru_RU abiword-libre-2.8.6/user/wp/templates/normal.awt-ru_RU ---- abiword-2.8.6/user/wp/templates/normal.awt-ru_RU 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ru_RU 2011-07-02 15:37:19.919324814 -0300 +diff --git a/user/wp/templates/normal.awt-ru_RU b/user/wp/templates/normal.awt-ru_RU +index b07198e..4f435ea 100644 +--- a/user/wp/templates/normal.awt-ru_RU ++++ b/user/wp/templates/normal.awt-ru_RU @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1375,9 +1536,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ru_RU abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sk_SK abiword-libre-2.8.6/user/wp/templates/normal.awt-sk_SK ---- abiword-2.8.6/user/wp/templates/normal.awt-sk_SK 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-sk_SK 2011-07-02 15:37:20.075402813 -0300 +diff --git a/user/wp/templates/normal.awt-sk_SK b/user/wp/templates/normal.awt-sk_SK +index d03a1a5..bb04b0e 100644 +--- a/user/wp/templates/normal.awt-sk_SK ++++ b/user/wp/templates/normal.awt-sk_SK @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1387,9 +1549,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sk_SK abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sl abiword-libre-2.8.6/user/wp/templates/normal.awt-sl ---- abiword-2.8.6/user/wp/templates/normal.awt-sl 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-sl 2011-07-02 15:37:20.031380813 -0300 +diff --git a/user/wp/templates/normal.awt-sl b/user/wp/templates/normal.awt-sl +index 2dfcf1a..e874715 100644 +--- a/user/wp/templates/normal.awt-sl ++++ b/user/wp/templates/normal.awt-sl @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1399,9 +1562,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sl abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sv abiword-libre-2.8.6/user/wp/templates/normal.awt-sv ---- abiword-2.8.6/user/wp/templates/normal.awt-sv 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-sv 2011-07-02 15:37:20.015372813 -0300 +diff --git a/user/wp/templates/normal.awt-sv b/user/wp/templates/normal.awt-sv +index d0f5163..82aa982 100644 +--- a/user/wp/templates/normal.awt-sv ++++ b/user/wp/templates/normal.awt-sv @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1411,9 +1575,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sv abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sv_SE abiword-libre-2.8.6/user/wp/templates/normal.awt-sv_SE ---- abiword-2.8.6/user/wp/templates/normal.awt-sv_SE 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-sv_SE 2011-07-02 15:37:20.067398813 -0300 +diff --git a/user/wp/templates/normal.awt-sv_SE b/user/wp/templates/normal.awt-sv_SE +index 932da12..55d9e8c 100644 +--- a/user/wp/templates/normal.awt-sv_SE ++++ b/user/wp/templates/normal.awt-sv_SE @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1423,9 +1588,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-sv_SE abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-syr abiword-libre-2.8.6/user/wp/templates/normal.awt-syr ---- abiword-2.8.6/user/wp/templates/normal.awt-syr 2007-01-14 12:52:46.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-syr 2011-07-02 15:37:20.079404813 -0300 +diff --git a/user/wp/templates/normal.awt-syr b/user/wp/templates/normal.awt-syr +index 72b77ad..3bd9503 100644 +--- a/user/wp/templates/normal.awt-syr ++++ b/user/wp/templates/normal.awt-syr @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1435,9 +1601,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-syr abiword-libre-2.8.6/u </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-tr abiword-libre-2.8.6/user/wp/templates/normal.awt-tr ---- abiword-2.8.6/user/wp/templates/normal.awt-tr 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-tr 2011-07-02 15:37:19.903316814 -0300 +diff --git a/user/wp/templates/normal.awt-tr b/user/wp/templates/normal.awt-tr +index 489bc0a..2497b35 100644 +--- a/user/wp/templates/normal.awt-tr ++++ b/user/wp/templates/normal.awt-tr @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1447,9 +1614,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-tr abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-tr_TR abiword-libre-2.8.6/user/wp/templates/normal.awt-tr_TR ---- abiword-2.8.6/user/wp/templates/normal.awt-tr_TR 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-tr_TR 2011-07-02 15:37:19.911320814 -0300 +diff --git a/user/wp/templates/normal.awt-tr_TR b/user/wp/templates/normal.awt-tr_TR +index bf775c8..bfd3982 100644 +--- a/user/wp/templates/normal.awt-tr_TR ++++ b/user/wp/templates/normal.awt-tr_TR @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1459,9 +1627,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-tr_TR abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-uk_UA abiword-libre-2.8.6/user/wp/templates/normal.awt-uk_UA ---- abiword-2.8.6/user/wp/templates/normal.awt-uk_UA 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-uk_UA 2011-07-02 15:37:20.003366813 -0300 +diff --git a/user/wp/templates/normal.awt-uk_UA b/user/wp/templates/normal.awt-uk_UA +index 6c759ad..76cbd8c 100644 +--- a/user/wp/templates/normal.awt-uk_UA ++++ b/user/wp/templates/normal.awt-uk_UA @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1471,9 +1640,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-uk_UA abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ur_PK abiword-libre-2.8.6/user/wp/templates/normal.awt-ur_PK ---- abiword-2.8.6/user/wp/templates/normal.awt-ur_PK 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-ur_PK 2011-07-02 15:37:20.067398813 -0300 +diff --git a/user/wp/templates/normal.awt-ur_PK b/user/wp/templates/normal.awt-ur_PK +index 00cc1c7..8fcaf67 100644 +--- a/user/wp/templates/normal.awt-ur_PK ++++ b/user/wp/templates/normal.awt-ur_PK @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1483,9 +1653,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-ur_PK abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-yi abiword-libre-2.8.6/user/wp/templates/normal.awt-yi ---- abiword-2.8.6/user/wp/templates/normal.awt-yi 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-yi 2011-07-02 15:37:19.919324814 -0300 +diff --git a/user/wp/templates/normal.awt-yi b/user/wp/templates/normal.awt-yi +index e25ac13..02ffba4 100644 +--- a/user/wp/templates/normal.awt-yi ++++ b/user/wp/templates/normal.awt-yi @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1495,9 +1666,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-yi abiword-libre-2.8.6/us </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-zh_CN abiword-libre-2.8.6/user/wp/templates/normal.awt-zh_CN ---- abiword-2.8.6/user/wp/templates/normal.awt-zh_CN 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-zh_CN 2011-07-02 15:37:20.015372813 -0300 +diff --git a/user/wp/templates/normal.awt-zh_CN b/user/wp/templates/normal.awt-zh_CN +index d103911..3a949bc 100644 +--- a/user/wp/templates/normal.awt-zh_CN ++++ b/user/wp/templates/normal.awt-zh_CN @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1507,9 +1679,10 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-zh_CN abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-zh_TW abiword-libre-2.8.6/user/wp/templates/normal.awt-zh_TW ---- abiword-2.8.6/user/wp/templates/normal.awt-zh_TW 2007-01-20 13:20:58.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/normal.awt-zh_TW 2011-07-02 15:37:19.907318814 -0300 +diff --git a/user/wp/templates/normal.awt-zh_TW b/user/wp/templates/normal.awt-zh_TW +index 3570d5e..8a2cdd7 100644 +--- a/user/wp/templates/normal.awt-zh_TW ++++ b/user/wp/templates/normal.awt-zh_TW @@ -9,7 +9,7 @@ <!-- ===================================================================== --> @@ -1519,88 +1692,3 @@ diff -auNpr abiword-2.8.6/user/wp/templates/normal.awt-zh_TW abiword-libre-2.8.6 </styles> <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/> <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in"> -diff -auNpr abiword-2.8.6/user/wp/templates/Press-Release.awt abiword-libre-2.8.6/user/wp/templates/Press-Release.awt ---- abiword-2.8.6/user/wp/templates/Press-Release.awt 2009-05-22 07:15:33.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Press-Release.awt 2011-07-02 15:37:20.071400813 -0300 -@@ -16,19 +16,19 @@ - <version id="3" started="1080258930" uid="0c5a8b0e-7ec0-11d8-92e5-d7901b3e7f1a" auto="0"/> - </history> - <styles> --<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> --<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:17pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> --<s followedby="Press Release" name="Press Release" basedon="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0.1667in; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> --<s followedby="About Companies" name="About Companies" basedon="Press Release" type="P" props="font-weight:normal; font-family:Arial; margin-top:0.1111in; font-style:normal; margin-left:0.7500in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.7500in; color:000000; font-size:10pt; line-height:1.000000; text-align:justify; widows:2; font-stretch:normal"/> -+<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> -+<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:17pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> -+<s followedby="Press Release" name="Press Release" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0.1667in; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/> -+<s followedby="About Companies" name="About Companies" basedon="Press Release" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0.1111in; font-style:normal; margin-left:0.7500in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.7500in; color:000000; font-size:10pt; line-height:1.000000; text-align:justify; widows:2; font-stretch:normal"/> - <s type="P" name="Block Text" basedon="Normal" followedby="Current Settings" props="line-height:1.000000; margin-bottom:0.0833in; margin-right:1.0000in; margin-left:1.0000in"/> - <s type="P" name="Box List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Box List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Bullet List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Symbol; list-style:Bullet List; line-height:1.000000; text-indent:-0.300000in"/> --<s followedby="Normal" name="Chapter Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Chapter %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> -+<s followedby="Normal" name="Chapter Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Chapter %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> - <s followedby="Normal" name="Contents 1" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> - <s followedby="Normal" name="Contents 2" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:1.0000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> - <s followedby="Normal" name="Contents 3" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:1.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> - <s followedby="Normal" name="Contents 4" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:2.0000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> --<s followedby="Normal" name="Contents Header" basedon="Normal" type="P" props="margin-top:0.1667in; font-size:16pt; margin-bottom:0.0833in; text-align:center; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> -+<s followedby="Normal" name="Contents Header" basedon="Normal" type="P" props="margin-top:0.1667in; font-size:16pt; margin-bottom:0.0833in; text-align:center; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> - <s type="P" name="Dashed List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:NULL; list-style:Dashed List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Diamond List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Diamond List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="C" name="Endnote Reference" basedon="None" followedby="Current Settings" props="text-position:superscript; line-height:1.000000; font-size:10pt"/> -@@ -36,19 +36,19 @@ - <s type="C" name="Footnote Reference" basedon="None" followedby="Current Settings" props="text-position:superscript; line-height:1.000000; font-size:10pt"/> - <s type="C" name="Footnote Text" basedon="Normal" followedby="Current Settings" props="text-position:normal; line-height:1.000000; font-size:10pt"/> - <s type="P" name="Hand List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Hand List; line-height:1.000000; text-indent:-0.300000in"/> --<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:14pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> --<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> --<s followedby="Normal" name="Heading 4" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/> -+<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:14pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> -+<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> -+<s followedby="Normal" name="Heading 4" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/> - <s type="P" name="Heart List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Heart List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Implies List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Symbol; list-style:Implies List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Lower Case List" basedon="Numbered List" followedby="Current Settings" props="list-delim:%L); list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Lower Case List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Lower Roman List" basedon="Normal" followedby="Current Settings" props="list-delim:%L; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Lower Roman List; line-height:1.000000; text-indent:-0.300000in"/> --<s followedby="Normal" name="Numbered Heading 1" basedon="Heading 1" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> --<s followedby="Normal" name="Numbered Heading 2" basedon="Heading 2" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> --<s followedby="Normal" name="Numbered Heading 3" basedon="Heading 3" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> -+<s followedby="Normal" name="Numbered Heading 1" basedon="Heading 1" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> -+<s followedby="Normal" name="Numbered Heading 2" basedon="Heading 2" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> -+<s followedby="Normal" name="Numbered Heading 3" basedon="Heading 3" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/> - <s type="P" name="Numbered List" followedby="Current Settings" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Plain Text" basedon="Normal" followedby="Current Settings" props="font-family:Courier New; line-height:1.000000"/> --<s followedby="Normal" name="Section Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Section %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> -+<s followedby="Normal" name="Section Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Section %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/> - <s type="P" name="Square List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Square List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Star List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Star List; line-height:1.000000; text-indent:-0.300000in"/> - <s type="P" name="Tick List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Tick List; line-height:1.000000; text-indent:-0.300000in"/> -@@ -77,7 +77,7 @@ - <p style="Normal"><c props="lang:en-US"></c></p> - </cell> - <cell props="bot-attach:3; left-attach:0; right-attach:1; top-attach:2"> --<p style="Normal" props="text-align:center"><c props="font-family:Arial; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">FOR IMMEDIATE RELEASE</c></p> -+<p style="Normal" props="text-align:center"><c props="font-family:Liberation Sans; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">FOR IMMEDIATE RELEASE</c></p> - </cell> - </table> - <p></p> -diff -auNpr abiword-2.8.6/user/wp/templates/Resume.awt abiword-libre-2.8.6/user/wp/templates/Resume.awt ---- abiword-2.8.6/user/wp/templates/Resume.awt 2009-05-22 07:15:36.000000000 -0300 -+++ abiword-libre-2.8.6/user/wp/templates/Resume.awt 2011-07-02 15:37:20.031380813 -0300 -@@ -14,11 +14,11 @@ - <m key="abiword.date_last_changed">Fri Mar 12 22:08:25 2004</m> - </metadata> - <styles> --<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> --<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Arial; font-size:20pt"/> --<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:11pt; margin-bottom:3pt; font-weight:normal; text-align:right; font-family:Arial; keep-with-next:1"/> --<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Arial; font-size:9pt"/> --<s followedby="Heading 3" name="Brief" basedon="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0.2500in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:9pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> -+<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> -+<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Liberation Sans; font-size:20pt"/> -+<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:11pt; margin-bottom:3pt; font-weight:normal; text-align:right; font-family:Liberation Sans; keep-with-next:1"/> -+<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Liberation Sans; font-size:9pt"/> -+<s followedby="Heading 3" name="Brief" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0.2500in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:9pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/> - </styles> - <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/> - <section header="0" props="page-margin-footer:0.5in; page-margin-header:0.4375in; page-margin-top:1.1250in"> diff --git a/libre/bitlbee-libre/PKGBUILD b/libre/bitlbee-libre/PKGBUILD index 74e81a52c..6a1743f5f 100644 --- a/libre/bitlbee-libre/PKGBUILD +++ b/libre/bitlbee-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 200603 2013-11-29 19:17:58Z dreisner $ +# $Id: PKGBUILD 202378 2013-12-21 14:01:44Z andyrtr $ # Contributor: FUBAR <mrfubar@gmail.com> # Contributor: simo <simo@archlinux.org> @@ -11,7 +11,7 @@ _pkgname=bitlbee pkgname=bitlbee-libre pkgver=3.2.1 -pkgrel=1 +pkgrel=2 pkgdesc='Brings instant messaging (XMPP, MSN, Yahoo!, AIM, ICQ, Twitter) to IRC, without Skype support' url='http://www.bitlbee.org/' license=('GPL') diff --git a/libre/kdenetwork-kopete-libre/PKGBUILD b/libre/kdenetwork-kopete-libre/PKGBUILD index 46e2732a5..4c44c40b9 100644 --- a/libre/kdenetwork-kopete-libre/PKGBUILD +++ b/libre/kdenetwork-kopete-libre/PKGBUILD @@ -6,7 +6,7 @@ _pkgname=kdenetwork-kopete pkgname=kdenetwork-kopete-libre pkgver=4.12.0 pkgrel=1 -pkgdesc='Instant Messenger, without skype support' +pkgdesc='Instant Messenger, without Skype support' url='http://kde.org/applications/internet/kopete/' arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL') diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 8205a1b43..3d027c7ec 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 202368 2013-12-21 13:18:01Z andyrtr $ +# $Id: PKGBUILD 203427 2014-01-10 20:21:13Z andyrtr $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -10,10 +10,10 @@ pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=25 +_sublevel=26 pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.25 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.26 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -33,7 +33,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '3.10.6-logitech-dj.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '2b357d6f2048c46ed2f4ecee1b539fd8' + 'b04f41f84f48724609baac04282e9755' '85ce008eaacbb2fc54b81116d35cf946' '16867e648e4b9f89bec949cb643888c2' 'c072b17032e80debc6a8626299245d46' @@ -43,7 +43,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' '3ff40ca684cfe719723e627e2cef7cea' - 'a294af0fcd2398c39d3d3b6dd2961323') + '040015fc338ec1a35616e72bade6bdc2') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index b21767cfb..ebf30af10 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 203405 2014-01-10 08:45:42Z tpowa $ +# $Id: PKGBUILD 203524 2014-01-12 13:05:55Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Maintainer: Thomas Baechler <thomas@archlinux.org> # Maintainer (Parabola): André Silva <emulatorman@parabola.nu> @@ -12,7 +12,7 @@ pkgbase=linux-libre # Build stock -LIBRE kernel _basekernel=3.12 _sublevel=7 pkgver=${_basekernel}.${_sublevel} -pkgrel=1 +pkgrel=2 _lxopkgver=${_basekernel}.7 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -30,6 +30,12 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'boot-logo.patch' 'change-default-console-loglevel.patch' 'criu-no-expert.patch' + 'sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch' + 'sunrpc-replace-gssd_running-with-more-reliable-check.patch' + 'nfs-check-gssd-running-before-krb5i-auth.patch' + 'rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch' + 'sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch' + 'rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('254f59707b6676b59ce5ca5c3c698319' 'c42ff446236915fe1a6e2b6f9724d267' @@ -41,6 +47,12 @@ md5sums=('254f59707b6676b59ce5ca5c3c698319' '44260d2cb1a8b51c119d2ce1f83e457a' '98beb36f9b8cf16e58de2483ea9985e3' 'd50c1ac47394e9aec637002ef3392bd1' + 'd4a75f77e6bd5d700dcd534cd5f0dfce' + 'dc86fdc37615c97f03c1e0c31b7b833a' + '88eef9d3b5012ef7e82af1af8cc4e517' + 'cec0bb8981936eab2943b2009b7a6fff' + '88d9cddf9e0050a76ec4674f264fb2a1' + 'cb9016630212ef07b168892fbcfd4e5d' '7554da820df91c282656972976d9e0b5') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. @@ -73,6 +85,17 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" + # fix 15 seocnds nfs delay + patch -Np1 -i "${srcdir}/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch" + patch -Np1 -i "${srcdir}/sunrpc-replace-gssd_running-with-more-reliable-check.patch" + patch -Np1 -i "${srcdir}/nfs-check-gssd-running-before-krb5i-auth.patch" + # fix nfs kernel oops + # #37866 + patch -Np1 -i "${srcdir}/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch" + patch -Np1 -i "${srcdir}/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch" + + patch -Np1 -i "${srcdir}/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch" + if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ diff --git a/libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch b/libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch new file mode 100644 index 000000000..be81fec76 --- /dev/null +++ b/libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch @@ -0,0 +1,48 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Currently, the client will attempt to use krb5i in the SETCLIENTID call +even if rpc.gssd isn't running. When that fails, it'll then fall back to +RPC_AUTH_UNIX. This introduced a delay when mounting if rpc.gssd isn't +running, and causes warning messages to pop up in the ring buffer. + +Check to see if rpc.gssd is running before even attempting to use krb5i +auth, and just silently skip trying to do so if it isn't. In the event +that the admin is actually trying to mount with krb5*, it will still +fail at a later stage of the mount attempt. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + fs/nfs/nfs4client.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c +--- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c 2013-11-21 10:20:27.288286000 -0500 +@@ -10,6 +10,7 @@ + #include <linux/sunrpc/auth.h> + #include <linux/sunrpc/xprt.h> + #include <linux/sunrpc/bc_xprt.h> ++#include <linux/sunrpc/rpc_pipe_fs.h> + #include "internal.h" + #include "callback.h" + #include "delegation.h" +@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru + if (clp->cl_minorversion != 0) + __set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags); + __set_bit(NFS_CS_DISCRTRY, &clp->cl_flags); +- error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I); ++ ++ error = -EINVAL; ++ if (gssd_running(clp->cl_net)) ++ error = nfs_create_rpc_client(clp, timeparms, ++ RPC_AUTH_GSS_KRB5I); + if (error == -EINVAL) + error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX); + if (error < 0) + +_______________________________________________ +kernel mailing list +kernel@lists.fedoraproject.org +https://admin.fedoraproject.org/mailman/listinfo/kernel diff --git a/libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch b/libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch new file mode 100644 index 000000000..ed03f34dd --- /dev/null +++ b/libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch @@ -0,0 +1,50 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +Currently, it could leak dentry references in some cases. Make sure +we clean up properly. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5d973b2..b185548 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1369,6 +1369,18 @@ out: + return pipe_dentry; + } + ++static void ++rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry) ++{ ++ struct dentry *clnt_dir = pipe_dentry->d_parent; ++ struct dentry *gssd_dir = clnt_dir->d_parent; ++ ++ __rpc_rmpipe(clnt_dir->d_inode, pipe_dentry); ++ __rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1); ++ __rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1); ++ dput(pipe_dentry); ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { +@@ -1412,7 +1424,7 @@ rpc_fill_super(struct super_block *sb, void *data, int silent) + return 0; + + err_depopulate: +- dput(gssd_dentry); ++ rpc_gssd_dummy_depopulate(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch b/libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch new file mode 100644 index 000000000..e4b1a255f --- /dev/null +++ b/libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch @@ -0,0 +1,32 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +In the event that we create the gssd/clntXX dir, but the pipe creation +subsequently fails, then we should remove the clntXX dir before +returning. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 5cd7ad1..0b74c61 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -1313,6 +1313,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + } + + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++ if (IS_ERR(pipe_dentry)) ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 + +-- +To unsubscribe from this list: send the line "unsubscribe linux-nfs" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch b/libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch new file mode 100644 index 000000000..dd3b5ba2f --- /dev/null +++ b/libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch @@ -0,0 +1,96 @@ +Bugzilla: 1037793 +Upstream-status: submitted for 3.14 + +rpc.gssd expects to see an "info" file in each clntXX dir. Since adding +the dummy gssd pipe, users that run rpc.gssd see a lot of these messages +spamming the logs: + + rpc.gssd[508]: ERROR: can't open /var/lib/nfs/rpc_pipefs/gssd/clntXX/info: No such file or directory + rpc.gssd[508]: ERROR: failed to read service info + +Add a dummy gssd/clntXX/info file to help silence these messages. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +--- + net/sunrpc/rpc_pipe.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 49 insertions(+), 1 deletion(-) + +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 0b74c61..5d973b2 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -17,6 +17,7 @@ + #include <linux/fsnotify.h> + #include <linux/kernel.h> + #include <linux/rcupdate.h> ++#include <linux/utsname.h> + + #include <asm/ioctls.h> + #include <linux/poll.h> +@@ -1275,6 +1276,44 @@ static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { + .downcall = dummy_downcall, + }; + ++/* ++ * Here we present a bogus "info" file to keep rpc.gssd happy. We don't expect ++ * that it will ever use this info to handle an upcall, but rpc.gssd expects ++ * that this file will be there and have a certain format. ++ */ ++static int ++rpc_show_dummy_info(struct seq_file *m, void *v) ++{ ++ seq_printf(m, "RPC server: %s\n", utsname()->nodename); ++ seq_printf(m, "service: foo (1) version 0\n"); ++ seq_printf(m, "address: 127.0.0.1\n"); ++ seq_printf(m, "protocol: tcp\n"); ++ seq_printf(m, "port: 0\n"); ++ return 0; ++} ++ ++static int ++rpc_dummy_info_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, rpc_show_dummy_info, NULL); ++} ++ ++static const struct file_operations rpc_dummy_info_operations = { ++ .owner = THIS_MODULE, ++ .open = rpc_dummy_info_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++}; ++ ++static const struct rpc_filelist gssd_dummy_info_file[] = { ++ [0] = { ++ .name = "info", ++ .i_fop = &rpc_dummy_info_operations, ++ .mode = S_IFREG | S_IRUSR, ++ }, ++}; ++ + /** + * rpc_gssd_dummy_populate - create a dummy gssd pipe + * @root: root of the rpc_pipefs filesystem +@@ -1312,9 +1351,18 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) + goto out; + } + ++ ret = rpc_populate(clnt_dentry, gssd_dummy_info_file, 0, 1, NULL); ++ if (ret) { ++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ + pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); +- if (IS_ERR(pipe_dentry)) ++ if (IS_ERR(pipe_dentry)) { ++ __rpc_depopulate(clnt_dentry, gssd_dummy_info_file, 0, 1); + __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1); ++ } + out: + dput(clnt_dentry); + dput(gssd_dentry); +-- +1.8.4.2 diff --git a/libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch b/libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch new file mode 100644 index 000000000..805498a70 --- /dev/null +++ b/libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch @@ -0,0 +1,233 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +rpc.gssd will naturally hold open any pipe named */clnt*/gssd that shows +up under rpc_pipefs. That behavior gives us a reliable mechanism to tell +whether it's actually running or not. + +Create a new toplevel "gssd" directory in rpc_pipefs when it's mounted. +Under that directory create another directory called "clntXX", and then +within that a pipe called "gssd". + +We'll never send an upcall along that pipe, and any downcall written to +it will just return -EINVAL. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + include/linux/sunrpc/rpc_pipe_fs.h | 3 +- + net/sunrpc/netns.h | 1 + + net/sunrpc/rpc_pipe.c | 93 ++++++++++++++++++++++++++++++++++- + net/sunrpc/sunrpc_syms.c | 8 +++- + 4 files changed, 100 insertions(+), 5 deletions(-) + +diff -up linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h +--- linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h 2013-11-21 10:11:17.893026000 -0500 +@@ -64,7 +64,8 @@ enum { + + extern struct dentry *rpc_d_lookup_sb(const struct super_block *sb, + const unsigned char *dir_name); +-extern void rpc_pipefs_init_net(struct net *net); ++extern int rpc_pipefs_init_net(struct net *net); ++extern void rpc_pipefs_exit_net(struct net *net); + extern struct super_block *rpc_get_sb_net(const struct net *net); + extern void rpc_put_sb_net(const struct net *net); + +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h 2013-11-21 10:11:17.897029000 -0500 +@@ -14,6 +14,7 @@ struct sunrpc_net { + struct cache_detail *rsi_cache; + + struct super_block *pipefs_sb; ++ struct rpc_pipe *gssd_dummy; + struct mutex pipefs_sb_lock; + + struct list_head all_clients; +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c 2013-11-21 10:11:17.903026000 -0500 +@@ -38,7 +38,7 @@ + #define NET_NAME(net) ((net == &init_net) ? " (init_net)" : "") + + static struct file_system_type rpc_pipe_fs_type; +- ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops; + + static struct kmem_cache *rpc_inode_cachep __read_mostly; + +@@ -1019,6 +1019,7 @@ enum { + RPCAUTH_nfsd4_cb, + RPCAUTH_cache, + RPCAUTH_nfsd, ++ RPCAUTH_gssd, + RPCAUTH_RootEOF + }; + +@@ -1055,6 +1056,10 @@ static const struct rpc_filelist files[] + .name = "nfsd", + .mode = S_IFDIR | S_IRUGO | S_IXUGO, + }, ++ [RPCAUTH_gssd] = { ++ .name = "gssd", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, + }; + + /* +@@ -1068,13 +1073,25 @@ struct dentry *rpc_d_lookup_sb(const str + } + EXPORT_SYMBOL_GPL(rpc_d_lookup_sb); + +-void rpc_pipefs_init_net(struct net *net) ++int rpc_pipefs_init_net(struct net *net) + { + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + ++ sn->gssd_dummy = rpc_mkpipe_data(&gssd_dummy_pipe_ops, 0); ++ if (IS_ERR(sn->gssd_dummy)) ++ return PTR_ERR(sn->gssd_dummy); ++ + mutex_init(&sn->pipefs_sb_lock); + sn->gssd_running = 1; + sn->pipe_version = -1; ++ return 0; ++} ++ ++void rpc_pipefs_exit_net(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ ++ rpc_destroy_pipe_data(sn->gssd_dummy); + } + + /* +@@ -1104,11 +1121,73 @@ void rpc_put_sb_net(const struct net *ne + } + EXPORT_SYMBOL_GPL(rpc_put_sb_net); + ++static const struct rpc_filelist gssd_dummy_clnt_dir[] = { ++ [0] = { ++ .name = "clntXX", ++ .mode = S_IFDIR | S_IRUGO | S_IXUGO, ++ }, ++}; ++ ++static ssize_t ++dummy_downcall(struct file *filp, const char __user *src, size_t len) ++{ ++ return -EINVAL; ++} ++ ++static const struct rpc_pipe_ops gssd_dummy_pipe_ops = { ++ .upcall = rpc_pipe_generic_upcall, ++ .downcall = dummy_downcall, ++}; ++ ++/** ++ * rpc_gssd_dummy_populate - create a dummy gssd pipe ++ * @root: root of the rpc_pipefs filesystem ++ * @pipe_data: pipe data created when netns is initialized ++ * ++ * Create a dummy set of directories and a pipe that gssd can hold open to ++ * indicate that it is up and running. ++ */ ++static struct dentry * ++rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data) ++{ ++ int ret = 0; ++ struct dentry *gssd_dentry; ++ struct dentry *clnt_dentry = NULL; ++ struct dentry *pipe_dentry = NULL; ++ struct qstr q = QSTR_INIT(files[RPCAUTH_gssd].name, ++ strlen(files[RPCAUTH_gssd].name)); ++ ++ /* We should never get this far if "gssd" doesn't exist */ ++ gssd_dentry = d_hash_and_lookup(root, &q); ++ if (!gssd_dentry) ++ return ERR_PTR(-ENOENT); ++ ++ ret = rpc_populate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1, NULL); ++ if (ret) { ++ pipe_dentry = ERR_PTR(ret); ++ goto out; ++ } ++ ++ q.name = gssd_dummy_clnt_dir[0].name; ++ q.len = strlen(gssd_dummy_clnt_dir[0].name); ++ clnt_dentry = d_hash_and_lookup(gssd_dentry, &q); ++ if (!clnt_dentry) { ++ pipe_dentry = ERR_PTR(-ENOENT); ++ goto out; ++ } ++ ++ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data); ++out: ++ dput(clnt_dentry); ++ dput(gssd_dentry); ++ return pipe_dentry; ++} ++ + static int + rpc_fill_super(struct super_block *sb, void *data, int silent) + { + struct inode *inode; +- struct dentry *root; ++ struct dentry *root, *gssd_dentry; + struct net *net = data; + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + int err; +@@ -1126,6 +1205,13 @@ rpc_fill_super(struct super_block *sb, v + return -ENOMEM; + if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL)) + return -ENOMEM; ++ ++ gssd_dentry = rpc_gssd_dummy_populate(root, sn->gssd_dummy); ++ if (IS_ERR(gssd_dentry)) { ++ __rpc_depopulate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF); ++ return PTR_ERR(gssd_dentry); ++ } ++ + dprintk("RPC: sending pipefs MOUNT notification for net %p%s\n", + net, NET_NAME(net)); + mutex_lock(&sn->pipefs_sb_lock); +@@ -1140,6 +1226,7 @@ rpc_fill_super(struct super_block *sb, v + return 0; + + err_depopulate: ++ dput(gssd_dentry); + blocking_notifier_call_chain(&rpc_pipefs_notifier_list, + RPC_PIPEFS_UMOUNT, + sb); +diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c +--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig 2013-09-02 16:46:10.000000000 -0400 ++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c 2013-11-21 10:11:17.908026000 -0500 +@@ -44,12 +44,17 @@ static __net_init int sunrpc_init_net(st + if (err) + goto err_unixgid; + +- rpc_pipefs_init_net(net); ++ err = rpc_pipefs_init_net(net); ++ if (err) ++ goto err_pipefs; ++ + INIT_LIST_HEAD(&sn->all_clients); + spin_lock_init(&sn->rpc_client_lock); + spin_lock_init(&sn->rpcb_clnt_lock); + return 0; + ++err_pipefs: ++ unix_gid_cache_destroy(net); + err_unixgid: + ip_map_cache_destroy(net); + err_ipmap: +@@ -60,6 +65,7 @@ err_proc: + + static __net_exit void sunrpc_exit_net(struct net *net) + { ++ rpc_pipefs_exit_net(net); + unix_gid_cache_destroy(net); + ip_map_cache_destroy(net); + rpc_proc_exit(net); + diff --git a/libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch b/libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch new file mode 100644 index 000000000..8cd5c0090 --- /dev/null +++ b/libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch @@ -0,0 +1,139 @@ +Bugzilla: N/A +Upstream-status: queued in NFS git tree (for 3.13/3.14?) + +Now that we have a more reliable method to tell if gssd is running, we +can replace the sn->gssd_running flag with a function that will query to +see if it's up and running. + +There's also no need to attempt an upcall that we know will fail, so +just return -EACCES if gssd isn't running. Finally, fix the warn_gss() +message not to claim that that the upcall timed out since we don't +necesarily perform one now when gssd isn't running, and remove the +extraneous newline from the message. + +Signed-off-by: Jeff Layton <jlayton@redhat.com> +Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> +--- + Fixed up to apply to 3.12.1 by Josh Boyer <jwboyer@fedoraproject.org> + + include/linux/sunrpc/rpc_pipe_fs.h | 2 ++ + net/sunrpc/auth_gss/auth_gss.c | 17 +++++++---------- + net/sunrpc/netns.h | 2 -- + net/sunrpc/rpc_pipe.c | 14 ++++++++++---- + 4 files changed, 19 insertions(+), 16 deletions(-) + +diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h +index 85f1342..7f490be 100644 +--- a/include/linux/sunrpc/rpc_pipe_fs.h ++++ b/include/linux/sunrpc/rpc_pipe_fs.h +@@ -131,5 +131,7 @@ extern int rpc_unlink(struct dentry *); + extern int register_rpc_pipefs(void); + extern void unregister_rpc_pipefs(void); + ++extern bool gssd_running(struct net *net); ++ + #endif + #endif +diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c +index 0846566..1ada878 100644 +--- a/net/sunrpc/auth_gss/auth_gss.c ++++ b/net/sunrpc/auth_gss/auth_gss.c +@@ -517,8 +517,7 @@ static void warn_gssd(void) + unsigned long now = jiffies; + + if (time_after(now, ratelimit)) { +- printk(KERN_WARNING "RPC: AUTH_GSS upcall timed out.\n" +- "Please check user daemon is running.\n"); ++ pr_warn("RPC: AUTH_GSS upcall failed. Please check user daemon is running.\n"); + ratelimit = now + 15*HZ; + } + } +@@ -581,7 +580,6 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + struct rpc_pipe *pipe; + struct rpc_cred *cred = &gss_cred->gc_base; + struct gss_upcall_msg *gss_msg; +- unsigned long timeout; + DEFINE_WAIT(wait); + int err; + +@@ -589,17 +587,16 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred) + __func__, from_kuid(&init_user_ns, cred->cr_uid)); + retry: + err = 0; +- /* Default timeout is 15s unless we know that gssd is not running */ +- timeout = 15 * HZ; +- if (!sn->gssd_running) +- timeout = HZ >> 2; ++ /* if gssd is down, just skip upcalling altogether */ ++ if (!gssd_running(net)) { ++ warn_gssd(); ++ return -EACCES; ++ } + gss_msg = gss_setup_upcall(gss_auth, cred); + if (PTR_ERR(gss_msg) == -EAGAIN) { + err = wait_event_interruptible_timeout(pipe_version_waitqueue, +- sn->pipe_version >= 0, timeout); ++ sn->pipe_version >= 0, 15 * HZ); + if (sn->pipe_version < 0) { +- if (err == 0) +- sn->gssd_running = 0; + warn_gssd(); + err = -EACCES; + } +diff --git a/net/sunrpc/netns.h b/net/sunrpc/netns.h +index 8a8e841..94e506f 100644 +--- a/net/sunrpc/netns.h ++++ b/net/sunrpc/netns.h +@@ -33,8 +33,6 @@ struct sunrpc_net { + int pipe_version; + atomic_t pipe_users; + struct proc_dir_entry *use_gssp_proc; +- +- unsigned int gssd_running; + }; + + extern int sunrpc_net_id; +diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c +index 40aef18..ad444f3 100644 +--- a/net/sunrpc/rpc_pipe.c ++++ b/net/sunrpc/rpc_pipe.c +@@ -216,14 +216,11 @@ rpc_destroy_inode(struct inode *inode) + static int + rpc_pipe_open(struct inode *inode, struct file *filp) + { +- struct net *net = inode->i_sb->s_fs_info; +- struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + struct rpc_pipe *pipe; + int first_open; + int res = -ENXIO; + + mutex_lock(&inode->i_mutex); +- sn->gssd_running = 1; + pipe = RPC_I(inode)->pipe; + if (pipe == NULL) + goto out; +@@ -1231,7 +1228,6 @@ int rpc_pipefs_init_net(struct net *net) + return PTR_ERR(sn->gssd_dummy); + + mutex_init(&sn->pipefs_sb_lock); +- sn->gssd_running = 1; + sn->pipe_version = -1; + return 0; + } +@@ -1385,6 +1381,16 @@ err_depopulate: + return err; + } + ++bool ++gssd_running(struct net *net) ++{ ++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); ++ struct rpc_pipe *pipe = sn->gssd_dummy; ++ ++ return pipe->nreaders || pipe->nwriters; ++} ++EXPORT_SYMBOL_GPL(gssd_running); ++ + static struct dentry * + rpc_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) diff --git a/libre/spectrwm-libre/PKGBUILD b/libre/spectrwm-libre/PKGBUILD index 854b9f409..d7d01b498 100644 --- a/libre/spectrwm-libre/PKGBUILD +++ b/libre/spectrwm-libre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 101697 2013-11-30 11:24:42Z bpiotrowski $ +# $Id: PKGBUILD 103873 2014-01-13 00:22:03Z kkeen $ # Maintainer: Kyle Keen <keenerd@gmail.com> # Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org> _pkgname=spectrwm pkgname=spectrwm-libre pkgver=2.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way, without nonfree profont support" arch=('i686' 'x86_64' 'mips64el') url="http://www.spectrwm.org" @@ -20,25 +20,31 @@ optdepends=('scrot: screenshots' 'xlockmore: great screenlocker' 'terminus-font: backup=(etc/spectrwm.conf) source=(http://opensource.conformal.com/snapshots/$_pkgname/$_pkgname-$pkgver.tgz \ LICENSE \ - baraction.sh) + baraction.sh \ + swmhack_path.patch \ + spectrwm-no-preload) md5sums=('23e32c1e292f2fc94ed88195ffe60023' 'a67cfe51079481e5b0eab1ad371379e3' - '950d663692e1da56e0ac864c6c3ed80e') + '950d663692e1da56e0ac864c6c3ed80e' + '8914dc2bef96e3587fc9317a25c1cbe8' + '974d109ce0af39cc73936d5efd682480') build() { cd "$srcdir/$_pkgname-$pkgver" - # it is like a patch, only less fragile sed -i 's|\"/usr/local/lib/libswmhack.so\"|\"libswmhack.so\"|' spectrwm.c sed -i 's/verbose_layout = 0;/verbose_layout = 1;/' spectrwm.c sed -i 's/# modkey = Mod1/modkey = Mod4/' spectrwm.conf - # crashes if defaults can't be found, use smaller defaults + # crashes if defaults can't be found, use less massive defaults sed -i 's/-\*-terminus-medium-\*-\*-\*-\*/-*-profont-*-*-*-*-12/' spectrwm.conf #sed -i 's/# program[lock].*/program[lock] = slock/' spectrwm.conf # see spectrwm FS#403 sed -i 's/setconfspawn("lock".*/setconfspawn("lock", "xlock", SWM_SPAWN_OPTIONAL);/' spectrwm.c + # FS#37998, remove on 2.4.1 + patch -p1 -i "$srcdir/swmhack_path.patch" + cd linux make PREFIX="/usr" } @@ -55,6 +61,7 @@ package() { cd "$srcdir" install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" install -Dm755 baraction.sh "$pkgdir/usr/share/spectrwm/baraction.sh" + install -Dm755 spectrwm-no-preload "$pkgdir/usr/bin/spectrwm-no-preload" #ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so.0" #ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so" diff --git a/libre/spectrwm-libre/spectrwm-no-preload b/libre/spectrwm-libre/spectrwm-no-preload new file mode 100644 index 000000000..12385eddb --- /dev/null +++ b/libre/spectrwm-libre/spectrwm-no-preload @@ -0,0 +1,2 @@ +#!/bin/sh +exec env -u LD_PRELOAD $@ diff --git a/libre/spectrwm-libre/swmhack_path.patch b/libre/spectrwm-libre/swmhack_path.patch new file mode 100644 index 000000000..a4f1c3cf0 --- /dev/null +++ b/libre/spectrwm-libre/swmhack_path.patch @@ -0,0 +1,27 @@ +diff --git a/linux/Makefile b/linux/Makefile +index 73c3d37..f48a32f 100644 +--- a/linux/Makefile ++++ b/linux/Makefile +@@ -1,16 +1,16 @@ +-CFLAGS+= -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -Wno-uninitialized -g +-CFLAGS+= -D_GNU_SOURCE -I. -I/usr/include/freetype2 -DSWM_LIB=\"libswmhack.so.$(LVERS)\" +-LDADD+= -lX11 -lX11-xcb -lxcb -lxcb-icccm -lxcb-randr -lxcb-keysyms -lxcb-util -lxcb-xtest -lXft -lXcursor +- + PREFIX?= /usr/local + BINDIR?= $(PREFIX)/bin + LIBDIR?= $(PREFIX)/lib + MANDIR?= $(PREFIX)/share/man + +-CC?= cc +- + LVERS= $(shell . ../lib/shlib_version; echo $$major.$$minor) + ++CFLAGS+= -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -Wno-uninitialized -g ++CFLAGS+= -D_GNU_SOURCE -I. -I/usr/include/freetype2 -DSWM_LIB=\"$(LIBDIR)/libswmhack.so.$(LVERS)\" ++LDADD+= -lX11 -lX11-xcb -lxcb -lxcb-icccm -lxcb-randr -lxcb-keysyms -lxcb-util -lxcb-xtest -lXft -lXcursor ++ ++CC?= cc ++ + BUILDVERSION= $(shell sh $(CURDIR)/../buildver.sh) + ifneq ("${BUILDVERSION}", "") + CFLAGS+= -DSPECTRWM_BUILDSTR=\"$(BUILDVERSION)\" diff --git a/libre/tp_smapi-libre-lts/PKGBUILD b/libre/tp_smapi-libre-lts/PKGBUILD index b5639d522..074565a42 100644 --- a/libre/tp_smapi-libre-lts/PKGBUILD +++ b/libre/tp_smapi-libre-lts/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 102970 2013-12-25 07:48:12Z bpiotrowski $ +# $Id: PKGBUILD 103753 2014-01-11 11:28:49Z bpiotrowski $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: xduugu # Contributor: nh2 @@ -13,7 +13,7 @@ pkgname=tp_smapi-libre-lts _pkgname=tp_smapi _extramodules=/usr/lib/modules/extramodules-3.10-LIBRE-LTS pkgver=0.41 -pkgrel=21 +pkgrel=22 pkgdesc="Modules for ThinkPad's SMAPI functionality (built for the linux-libre-lts kernel package)" arch=('i686' 'x86_64' 'mips64el') url='https://github.com/evgeni/tp_smapi' diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD index 947c48e8a..78cfc875b 100644 --- a/libre/xbmc-libre/PKGBUILD +++ b/libre/xbmc-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 103255 2013-12-31 14:34:57Z bpiotrowski $ +# $Id: PKGBUILD 103624 2014-01-08 12:23:08Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Brad Fanella <bradfanella@archlinux.us> # Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com> @@ -11,7 +11,7 @@ _pkgname=xbmc pkgname=xbmc-libre pkgver=12.3 _codename=Frodo -pkgrel=4 +pkgrel=5 pkgdesc="A software media player and entertainment hub for digital media, with libarchive recommendation" arch=('i686' 'x86_64') url="http://xbmc.org" diff --git a/libre/xbmc-libre/xbmc.install b/libre/xbmc-libre/xbmc.install index b104b33e8..04396af45 100644 --- a/libre/xbmc-libre/xbmc.install +++ b/libre/xbmc-libre/xbmc.install @@ -4,6 +4,7 @@ post_install() { getent group xbmc > /dev/null || groupadd xbmc getent passwd xbmc > /dev/null || useradd -m -d /var/lib/xbmc -g xbmc xbmc usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc + chown -R 102:0 etc/polkit-1 } post_upgrade() { diff --git a/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD b/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD index 86a91508f..0d3e0dbec 100644 --- a/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD +++ b/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD @@ -6,7 +6,7 @@ _pkgname=kdenetwork-kopete pkgname=kdenetwork-kopete-libre-nonprism pkgver=4.12.0 pkgrel=1 -pkgdesc='Instant Messenger, without skype and support for unsafe and dangerous for privacy protocols' +pkgdesc='Instant Messenger, without Skype and support for unsafe and dangerous for privacy protocols' url='http://kde.org/applications/internet/kopete/' arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL') |