summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-01-14 03:47:29 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-01-14 03:47:29 +0000
commit271da49386e259723ef574713339f04886630604 (patch)
tree3357a1b3aa15cfd25145095c41b0a94612ce3635
parentbcefa96cbc68f340b2aa11c108353993db074e76 (diff)
Tue Jan 14 03:40:13 UTC 2014
-rwxr-xr-xcommunity/aegisub/PKGBUILD18
-rw-r--r--community/aegisub/aegisub-wx-stl.patch61
-rw-r--r--community/afpfs-ng/PKGBUILD4
-rw-r--r--community/ario/PKGBUILD15
-rw-r--r--community/ario/glib.patch24
-rw-r--r--community/bind/PKGBUILD6
-rw-r--r--community/clamz/PKGBUILD4
-rw-r--r--community/collectd/PKGBUILD5
-rw-r--r--community/darktable/PKGBUILD15
-rw-r--r--community/docker/PKGBUILD4
-rw-r--r--community/enet/PKGBUILD6
-rw-r--r--community/freeradius/PKGBUILD4
-rw-r--r--community/gloox/PKGBUILD4
-rw-r--r--community/gnunet-gtk/PKGBUILD8
-rw-r--r--community/gnunet/PKGBUILD8
-rw-r--r--community/gnustep-base/PKGBUILD4
-rw-r--r--community/gogglesmm/PKGBUILD4
-rw-r--r--community/gq/PKGBUILD19
-rw-r--r--community/gq/glib-headers-fix.patch124
-rw-r--r--community/gwenhywfar/PKGBUILD4
-rw-r--r--community/kicad/PKGBUILD21
-rw-r--r--community/kmess/PKGBUILD6
-rw-r--r--community/kvpnc/PKGBUILD4
-rw-r--r--community/libmicrohttpd/PKGBUILD4
-rwxr-xr-xcommunity/lightdm/PKGBUILD4
-rw-r--r--community/mailutils/PKGBUILD4
-rw-r--r--community/minetest/PKGBUILD10
-rw-r--r--community/motion/PKGBUILD5
-rw-r--r--community/motion/motion.install7
-rw-r--r--community/netcf/PKGBUILD4
-rw-r--r--community/ngspice/PKGBUILD10
-rw-r--r--community/openimageio/PKGBUILD6
-rw-r--r--community/pianobar/PKGBUILD4
-rw-r--r--community/pidgin-otr/PKGBUILD4
-rw-r--r--community/pokerth/PKGBUILD12
-rw-r--r--community/pokerth/gcrypt16.patch57
-rw-r--r--community/prosody/ChangeLog398
-rw-r--r--community/prosody/PKGBUILD27
-rw-r--r--community/remmina/PKGBUILD27
-rw-r--r--community/rsyslog/PKGBUILD6
-rw-r--r--community/smbnetfs/PKGBUILD8
-rw-r--r--community/tcplay/PKGBUILD4
-rw-r--r--community/virtualbox-modules-lts/PKGBUILD4
-rw-r--r--community/wireshark/PKGBUILD4
-rw-r--r--community/yaz/PKGBUILD6
-rw-r--r--community/yaz/yaz.changelog3
-rw-r--r--core/crda/PKGBUILD6
-rw-r--r--core/cryptsetup/PKGBUILD4
-rw-r--r--core/dirmngr/PKGBUILD4
-rw-r--r--core/gdbm/PKGBUILD31
-rw-r--r--core/gettext/PKGBUILD8
-rw-r--r--core/gnupg/PKGBUILD4
-rw-r--r--core/iproute2/PKGBUILD8
-rw-r--r--core/iptables/0503-extension_cppflags.patch13
-rw-r--r--core/iptables/PKGBUILD14
-rw-r--r--core/libgcrypt/PKGBUILD16
-rw-r--r--core/nfs-utils/PKGBUILD68
-rw-r--r--core/nfs-utils/blkmapd.service3
-rw-r--r--core/nfs-utils/exports15
-rw-r--r--core/nfs-utils/id_resolver.conf3
-rw-r--r--core/nfs-utils/nfs40
-rw-r--r--core/nfs-utils/nfs-client.target8
-rw-r--r--core/nfs-utils/nfs-server.target10
-rw-r--r--core/nfs-utils/nfsd.service6
-rw-r--r--core/nfs-utils/proc-fs-nfsd.mount2
-rw-r--r--core/nfs-utils/rpc-gssd.service6
-rw-r--r--core/nfs-utils/rpc-idmapd.service6
-rw-r--r--core/nfs-utils/rpc-mountd.service5
-rw-r--r--core/nfs-utils/rpc-statd.service7
-rw-r--r--core/nfs-utils/rpc-svcgssd.service5
-rw-r--r--core/nfs-utils/var-lib-nfs-rpc_pipefs.mount2
-rw-r--r--core/pth/PKGBUILD5
-rw-r--r--core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch28
-rw-r--r--core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch26
-rw-r--r--core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch33
-rw-r--r--core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch41
-rw-r--r--core/systemd/PKGBUILD27
-rw-r--r--core/systemd/systemd.install14
-rw-r--r--extra/amarok/PKGBUILD4
-rw-r--r--extra/bftpd/PKGBUILD6
-rw-r--r--extra/ccrtp/PKGBUILD15
-rw-r--r--extra/ccrtp/libgcrypt160.patch52
-rw-r--r--extra/compface/PKGBUILD6
-rw-r--r--extra/davfs2/PKGBUILD24
-rw-r--r--extra/davfs2/davfs2-1.4.7-fix-neon-version-check.patch12
-rw-r--r--extra/davfs2/davfs2-1.4.7-system.diff150
-rw-r--r--extra/fsarchiver/PKGBUILD6
-rw-r--r--extra/gcr/PKGBUILD6
-rw-r--r--extra/glamor-egl/PKGBUILD19
-rw-r--r--extra/glamor-egl/compat-api.h107
-rw-r--r--extra/glamor-egl/compiler.h59
-rw-r--r--extra/glamor-egl/git-fixes.patch428
-rw-r--r--extra/glamor-egl/glamor_debug.h116
-rw-r--r--extra/glamor-egl/glamor_gl_dispatch.h137
-rw-r--r--extra/glamor-egl/glamor_glext.h64
-rw-r--r--extra/glamor-egl/glamor_priv.h1016
-rw-r--r--extra/glamor-egl/glamor_utils.h1836
-rw-r--r--extra/glamor-egl/glapi.h121
-rw-r--r--extra/gnome-keyring/PKGBUILD4
-rw-r--r--extra/gnome-vfs/PKGBUILD4
-rw-r--r--extra/grilo-plugins/PKGBUILD4
-rw-r--r--extra/gsasl/PKGBUILD9
-rw-r--r--extra/gtk-vnc/PKGBUILD4
-rw-r--r--extra/gvfs/PKGBUILD4
-rw-r--r--extra/ibus/PKGBUILD6
-rw-r--r--extra/libgda/PKGBUILD4
-rw-r--r--extra/libgnome-keyring/PKGBUILD6
-rw-r--r--extra/libktorrent/PKGBUILD9
-rw-r--r--extra/libmtp/PKGBUILD4
-rw-r--r--extra/libotr/PKGBUILD4
-rw-r--r--extra/libotr3/PKGBUILD6
-rw-r--r--extra/libquvi/PKGBUILD4
-rw-r--r--extra/libreoffice/PKGBUILD37
-rw-r--r--extra/libreoffice/PKGBUILD.4215
-rw-r--r--extra/libsecret/PKGBUILD6
-rw-r--r--extra/libvncserver/PKGBUILD6
-rw-r--r--extra/libxslt/PKGBUILD4
-rw-r--r--extra/libzip/PKGBUILD23
-rw-r--r--extra/mpd/PKGBUILD6
-rw-r--r--extra/nx/PKGBUILD8
-rw-r--r--extra/openbabel/PKGBUILD10
-rw-r--r--extra/rasqal/PKGBUILD4
-rw-r--r--extra/samba/PKGBUILD8
-rw-r--r--extra/totem-plparser/PKGBUILD4
-rw-r--r--extra/vino/PKGBUILD4
-rw-r--r--extra/vlc/PKGBUILD4
-rw-r--r--extra/vpnc/PKGBUILD4
-rw-r--r--extra/weechat/PKGBUILD4
-rw-r--r--extra/x2goserver/PKGBUILD67
-rw-r--r--extra/x2goserver/x2goserver.install8
-rw-r--r--extra/x2goserver/x2goserver.service10
-rw-r--r--extra/xf86-input-acecad/PKGBUILD12
-rw-r--r--extra/xf86-input-aiptek/PKGBUILD12
-rw-r--r--extra/xf86-input-elographics/PKGBUILD10
-rw-r--r--extra/xf86-input-evdev/PKGBUILD10
-rw-r--r--extra/xf86-input-joystick/PKGBUILD12
-rw-r--r--extra/xf86-input-keyboard/PKGBUILD8
-rw-r--r--extra/xf86-input-mouse/PKGBUILD12
-rw-r--r--extra/xf86-input-synaptics/PKGBUILD14
-rw-r--r--extra/xf86-input-vmmouse/PKGBUILD12
-rw-r--r--extra/xf86-input-void/PKGBUILD12
-rw-r--r--extra/xf86-input-wacom/PKGBUILD8
-rw-r--r--extra/xf86-video-apm/PKGBUILD12
-rw-r--r--extra/xf86-video-ark/PKGBUILD12
-rw-r--r--extra/xf86-video-ast/PKGBUILD12
-rw-r--r--extra/xf86-video-ati/PKGBUILD12
-rw-r--r--extra/xf86-video-chips/PKGBUILD12
-rw-r--r--extra/xf86-video-cirrus/PKGBUILD12
-rw-r--r--extra/xf86-video-dummy/PKGBUILD12
-rw-r--r--extra/xf86-video-fbdev/PKGBUILD8
-rw-r--r--extra/xf86-video-glint/PKGBUILD12
-rw-r--r--extra/xf86-video-i128/PKGBUILD12
-rw-r--r--extra/xf86-video-i740/PKGBUILD12
-rw-r--r--extra/xf86-video-intel/PKGBUILD26
-rw-r--r--extra/xf86-video-intel/intel-2.21.15-xserver-1.15-compat.patch13
-rw-r--r--extra/xf86-video-intel/xf86-video-intel.install11
-rw-r--r--extra/xf86-video-mach64/PKGBUILD12
-rw-r--r--extra/xf86-video-mga/PKGBUILD8
-rw-r--r--extra/xf86-video-modesetting/PKGBUILD8
-rw-r--r--extra/xf86-video-neomagic/PKGBUILD12
-rw-r--r--extra/xf86-video-nouveau/PKGBUILD8
-rw-r--r--extra/xf86-video-nv/PKGBUILD12
-rw-r--r--extra/xf86-video-openchrome/PKGBUILD13
-rw-r--r--extra/xf86-video-r128/PKGBUILD8
-rw-r--r--extra/xf86-video-rendition/PKGBUILD12
-rw-r--r--extra/xf86-video-s3/PKGBUILD12
-rw-r--r--extra/xf86-video-s3virge/PKGBUILD12
-rw-r--r--extra/xf86-video-savage/PKGBUILD8
-rw-r--r--extra/xf86-video-siliconmotion/0001-Remove-miInitializeBackingStore.patch27
-rw-r--r--extra/xf86-video-siliconmotion/PKGBUILD19
-rw-r--r--extra/xf86-video-sis/PKGBUILD12
-rw-r--r--extra/xf86-video-sisimedia/PKGBUILD8
-rw-r--r--extra/xf86-video-sisusb/PKGBUILD12
-rw-r--r--extra/xf86-video-tdfx/PKGBUILD13
-rw-r--r--extra/xf86-video-trident/PKGBUILD12
-rw-r--r--extra/xf86-video-tseng/PKGBUILD12
-rw-r--r--extra/xf86-video-v4l/PKGBUILD12
-rw-r--r--extra/xf86-video-vesa/PKGBUILD12
-rw-r--r--extra/xf86-video-vmware/PKGBUILD14
-rw-r--r--extra/xf86-video-voodoo/PKGBUILD12
-rw-r--r--extra/xfce4-mailwatch-plugin/PKGBUILD4
-rw-r--r--extra/xmlsec/PKGBUILD4
-rw-r--r--extra/xorg-server/PKGBUILD64
-rw-r--r--extra/xorg-server/bug59825.patch12
-rw-r--r--extra/xorg-server/fb-rename-wfbDestroyGlyphCache.patch27
-rw-r--r--extra/xorg-server/xephyr-glx.patch39
-rw-r--r--extra/xorg-server/xserver-1.6.0-less-acpi-brokenness.patch25
-rw-r--r--extra/yelp/PKGBUILD4
-rw-r--r--kernels/linux-libre-grsec/PKGBUILD31
-rw-r--r--kernels/linux-libre-grsec/nfs-check-gssd-running-before-krb5i-auth.patch48
-rw-r--r--kernels/linux-libre-grsec/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch50
-rw-r--r--kernels/linux-libre-grsec/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch32
-rw-r--r--kernels/linux-libre-grsec/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch96
-rw-r--r--kernels/linux-libre-grsec/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch233
-rw-r--r--kernels/linux-libre-grsec/sunrpc-replace-gssd_running-with-more-reliable-check.patch139
-rw-r--r--kernels/linux-libre-knock/PKGBUILD27
-rw-r--r--kernels/linux-libre-knock/nfs-check-gssd-running-before-krb5i-auth.patch48
-rw-r--r--kernels/linux-libre-knock/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch50
-rw-r--r--kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch32
-rw-r--r--kernels/linux-libre-knock/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch96
-rw-r--r--kernels/linux-libre-knock/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch233
-rw-r--r--kernels/linux-libre-knock/sunrpc-replace-gssd_running-with-more-reliable-check.patch139
-rw-r--r--kernels/linux-libre-lts-knock/PKGBUILD10
-rw-r--r--kernels/linux-libre-pae/PKGBUILD31
-rw-r--r--kernels/linux-libre-pae/nfs-check-gssd-running-before-krb5i-auth.patch48
-rw-r--r--kernels/linux-libre-pae/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch50
-rw-r--r--kernels/linux-libre-pae/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch32
-rw-r--r--kernels/linux-libre-pae/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch96
-rw-r--r--kernels/linux-libre-pae/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch233
-rw-r--r--kernels/linux-libre-pae/sunrpc-replace-gssd_running-with-more-reliable-check.patch139
-rw-r--r--kernels/linux-libre-xen/PKGBUILD31
-rw-r--r--kernels/linux-libre-xen/nfs-check-gssd-running-before-krb5i-auth.patch48
-rw-r--r--kernels/linux-libre-xen/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch50
-rw-r--r--kernels/linux-libre-xen/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch32
-rw-r--r--kernels/linux-libre-xen/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch96
-rw-r--r--kernels/linux-libre-xen/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch233
-rw-r--r--kernels/linux-libre-xen/sunrpc-replace-gssd_running-with-more-reliable-check.patch139
-rw-r--r--libre/abiword-libre/PKGBUILD125
-rw-r--r--libre/abiword-libre/abiword.install (renamed from libre/abiword-libre/abiword-libre.install)1
-rw-r--r--libre/abiword-libre/liberation-fonts.patch982
-rw-r--r--libre/bitlbee-libre/PKGBUILD4
-rw-r--r--libre/kdenetwork-kopete-libre/PKGBUILD2
-rw-r--r--libre/linux-libre-lts/PKGBUILD10
-rw-r--r--libre/linux-libre/PKGBUILD27
-rw-r--r--libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch48
-rw-r--r--libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch50
-rw-r--r--libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch32
-rw-r--r--libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch96
-rw-r--r--libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch233
-rw-r--r--libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch139
-rw-r--r--libre/spectrwm-libre/PKGBUILD19
-rw-r--r--libre/spectrwm-libre/spectrwm-no-preload2
-rw-r--r--libre/spectrwm-libre/swmhack_path.patch27
-rw-r--r--libre/tp_smapi-libre-lts/PKGBUILD4
-rw-r--r--libre/xbmc-libre/PKGBUILD4
-rw-r--r--libre/xbmc-libre/xbmc.install1
-rw-r--r--nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD2
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, &parameter,& 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')