summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/abs-libre/abs.install13
-rw-r--r--libre/abs/PKGBUILD (renamed from libre/abs-libre/PKGBUILD)33
-rw-r--r--libre/abuse-libre/PKGBUILD2
-rw-r--r--libre/atool-libre/PKGBUILD2
-rw-r--r--libre/audacious-plugins-libre/PKGBUILD28
-rw-r--r--libre/audacity-libre/PKGBUILD2
-rw-r--r--libre/bbswitch-libre/PKGBUILD4
-rw-r--r--libre/blackbox-libre/PKGBUILD2
-rw-r--r--libre/blender-addon-luxrender/PKGBUILD2
-rw-r--r--libre/calibre-libre/PKGBUILD6
-rw-r--r--libre/cdfs-libre/PKGBUILD4
-rw-r--r--libre/cgminer-libre/PKGBUILD6
-rw-r--r--libre/cups-filters-libre/PKGBUILD8
-rw-r--r--libre/django13/PKGBUILD47
-rw-r--r--libre/django13/diff-django_branches_releases_1.3.X-from-16768-to-17460.diff1573
-rw-r--r--libre/django13/diff-django_branches_releases_1.3.X-from-16771-to-17460.diff1575
-rw-r--r--libre/dkms-libre/01-broken-uninstall.patch22
-rw-r--r--libre/dkms-libre/02-no-kernel-hook.patch13
-rw-r--r--libre/dkms-libre/PKGBUILD66
-rw-r--r--libre/dkms-libre/dkms.default9
-rw-r--r--libre/dkms-libre/dkms.hook12
-rw-r--r--libre/dkms-libre/dkms.install13
-rw-r--r--libre/dkms-libre/dkms.service11
-rw-r--r--libre/dkms-libre/dkms.systemd61
-rw-r--r--libre/epdfview-libre/PKGBUILD2
-rw-r--r--libre/file-roller-libre/PKGBUILD6
-rw-r--r--libre/gloobus-preview-libre/PKGBUILD12
-rw-r--r--libre/grub/PKGBUILD103
-rw-r--r--libre/grub/grub_bzr_export.sh113
-rw-r--r--libre/grub/parabola_grub_mkconfig_fixes.patch12
-rw-r--r--libre/hplip-libre/PKGBUILD22
-rw-r--r--libre/icecat-noscript/PKGBUILD8
-rw-r--r--libre/icedove-l10n/PKGBUILD114
-rw-r--r--libre/icedove-libre/PKGBUILD12
-rw-r--r--libre/iceweasel-l10n/PKGBUILD188
-rw-r--r--libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch8
-rw-r--r--libre/iceweasel-libre/PKGBUILD45
-rw-r--r--libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.pngbin0 -> 12184 bytes
-rw-r--r--libre/iceweasel-libre/iceweasel-22.0-do-not-fallback-to-manual-proxy-settings.patch36
-rw-r--r--libre/iceweasel-libre/libre.patch32
-rw-r--r--libre/iceweasel-libre/mozconfig2
-rw-r--r--libre/iceweasel-noscript/PKGBUILD8
-rw-r--r--libre/ipsec-tools-libre/PKGBUILD48
-rw-r--r--libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch50
-rw-r--r--libre/ipsec-tools-libre/ipsec.service12
-rw-r--r--libre/ipsec-tools-libre/racoon.service10
-rw-r--r--libre/kdebase-konqueror-libre/PKGBUILD6
-rw-r--r--libre/kdebase-runtime-libre/PKGBUILD6
-rw-r--r--libre/kdelibs-libre/PKGBUILD6
-rw-r--r--libre/kdenetwork-kopete-libre/PKGBUILD12
-rw-r--r--libre/kdepim-libre/PKGBUILD6
-rw-r--r--libre/kdeutils-ark-libre/PKGBUILD6
-rw-r--r--libre/libretools/PKGBUILD6
-rw-r--r--libre/liferea-libre/PKGBUILD6
-rw-r--r--libre/lilo/PKGBUILD41
-rw-r--r--libre/lilo/lilo.conf25
-rw-r--r--libre/lilo/lilo.install5
-rw-r--r--libre/linux-libre-firmware/PKGBUILD52
-rw-r--r--libre/linux-libre-kmod-alx/PKGBUILD4
-rw-r--r--libre/linux-libre-lts/PKGBUILD14
-rw-r--r--libre/linux-libre-lts/config.i6864
-rw-r--r--libre/linux-libre-lts/config.x86_644
-rw-r--r--libre/linux-libre-tools/PKGBUILD12
-rw-r--r--libre/linux-libre/PKGBUILD14
-rw-r--r--libre/linux-libre/config.i6864
-rw-r--r--libre/linux-libre/config.i686.3.1010
-rw-r--r--libre/linux-libre/config.x86_644
-rw-r--r--libre/linux-libre/config.x86_64.3.1010
-rw-r--r--libre/lirc-libre/PKGBUILD6
-rw-r--r--libre/mariadb/PKGBUILD141
-rw-r--r--libre/mariadb/mariadb.install26
-rwxr-xr-xlibre/mariadb/mariadbd77
-rw-r--r--libre/mariadb/my.cnf145
-rw-r--r--libre/mariadb/mysql.install26
-rw-r--r--libre/mariadb/mysqld77
-rw-r--r--libre/mkbootcd/PKGBUILD25
-rw-r--r--libre/mkbootcd/boot.msg15
-rwxr-xr-xlibre/mkbootcd/mkbootcd144
-rw-r--r--libre/mkbootcd/mkbootcd.conf39
-rw-r--r--libre/mkbootcd/options.msg6
-rw-r--r--libre/mozilla-searchplugins/PKGBUILD2
-rw-r--r--libre/newton-dynamics-libre/PKGBUILD50
-rw-r--r--libre/newton-dynamics-libre/assert-fix.patch13
-rw-r--r--libre/oss-libre/PKGBUILD104
-rw-r--r--libre/oss-libre/linux-3.8.patch40
-rw-r--r--libre/oss-libre/oss.install25
-rw-r--r--libre/oss-libre/oss.service12
-rw-r--r--libre/oss-libre/remove-hal.patch20
-rw-r--r--libre/oss-libre/rm-init-scripts.patch52
-rw-r--r--libre/oss-libre/soundon.patch28
-rw-r--r--libre/parabola-keyring/PKGBUILD11
-rw-r--r--libre/python2-bencode/PKGBUILD24
-rw-r--r--libre/python2-bencode/bittorrent-osl.txt510
-rw-r--r--libre/python2-cssmin-fredj/PKGBUILD9
-rw-r--r--libre/python2-jsmin/PKGBUILD27
-rw-r--r--libre/tomoyo-tools-libre/PKGBUILD42
-rw-r--r--libre/tomoyo-tools-libre/tomoyo-tools.install11
-rw-r--r--libre/tp_smapi-libre/PKGBUILD4
-rw-r--r--libre/vhba-module-libre/PKGBUILD4
-rw-r--r--libre/virtualbox-libre-modules/PKGBUILD9
-rw-r--r--libre/xarchiver-libre/PKGBUILD4
-rw-r--r--libre/xbmc-libre/ChangeLog69
-rw-r--r--libre/xbmc-libre/PKGBUILD116
-rw-r--r--libre/xbmc-libre/xbmc.install16
-rw-r--r--libre/xbmc-libre/xbmc.service13
-rw-r--r--libre/xtensa-unknown-elf-binutils/PKGBUILD68
-rw-r--r--libre/xtensa-unknown-elf-binutils/binutils-2.23.2-texinfo-5.0.patch162
-rw-r--r--libre/xtensa-unknown-elf-binutils/xtensa-unknown-elf-binutils.install17
-rw-r--r--libre/xtensa-unknown-elf-gcc/PKGBUILD136
-rw-r--r--libre/xtensa-unknown-elf-gcc/xtensa-unknown-elf-gcc.install20
-rw-r--r--libre/xtensa-unknown-elf-glibc/PKGBUILD155
-rw-r--r--libre/xtensa-unknown-elf-glibc/glibc-2.17-getaddrinfo-stack-overflow.patch47
-rw-r--r--libre/xtensa-unknown-elf-glibc/glibc-2.17-regexp-matcher-overrun.patch137
-rw-r--r--libre/xtensa-unknown-elf-glibc/glibc-2.17-sync-with-linux37.patch130
-rw-r--r--libre/xtensa-unknown-elf-glibc/locale-gen42
-rw-r--r--libre/xtensa-unknown-elf-glibc/locale.gen.txt23
-rw-r--r--libre/xtensa-unknown-elf-glibc/nscd.service17
-rw-r--r--libre/xtensa-unknown-elf-glibc/nscd.tmpfiles1
-rw-r--r--libre/xtensa-unknown-elf-glibc/xtensa-unknown-elf-glibc.install19
-rw-r--r--libre/xtensa-unknown-elf-linux-libre-api-headers/PKGBUILD47
120 files changed, 3030 insertions, 4547 deletions
diff --git a/libre/abs-libre/abs.install b/libre/abs-libre/abs.install
deleted file mode 100644
index ac814c2fc..000000000
--- a/libre/abs-libre/abs.install
+++ /dev/null
@@ -1,13 +0,0 @@
-pre_upgrade() {
- if [ "$(vercmp $2 2.3.2-1)" -lt 0 ]; then
- echo "==> Fixing potential ABS tree permission issues (this may take a while...)"
-
- for dir in core extra community testing; do
- if [ -d /var/abs/$dir ]; then
- find /var/abs/$dir -type d -exec chown root:root {} \;
- find /var/abs/$dir -type d -exec chmod 755 {} \;
- fi
- done
- fi
-}
-
diff --git a/libre/abs-libre/PKGBUILD b/libre/abs/PKGBUILD
index 259cf007f..f7e85d0ef 100644
--- a/libre/abs-libre/PKGBUILD
+++ b/libre/abs/PKGBUILD
@@ -1,11 +1,12 @@
-# $Id: PKGBUILD 166402 2012-09-07 16:49:13Z dreisner $
+# $Id$
# Maintainer: Allan McRae <allan@archlinux.org>
-_pkgname=abs
-pkgname=abs-libre
-#CARCH=mips64el
+replaces=('abs-libre')
+conflicts=('abs-libre')
+
+pkgname=abs
pkgver=2.4.4
-pkgrel=1
+pkgrel=1.1
pkgdesc="Utilities to download and work with the Arch Build System (ABS)"
arch=('i686' 'x86_64' 'mips64el')
url="http://projects.archlinux.org/abs.git/"
@@ -15,18 +16,15 @@ backup=(etc/abs.conf)
source=(ftp://ftp.archlinux.org/other/abs/${pkgname}-${pkgver}.tar.gz{,.sig})
md5sums=('7258c739a93e02a4f31f114e9fc3b0ba'
'a628f7d5b1cd1e838366b88709690c24')
-provides=("${_pkgname}=${pkgver}")
-replaces=("${_pkgname}")
-conflicts=("${_pkgname}")
build() {
- cd "$_pkgname-$pkgver"
+ cd "$pkgname-$pkgver"
make
}
package() {
- cd "$_pkgname-$pkgver"
+ cd "$pkgname-$pkgver"
make DESTDIR="${pkgdir}" install
@@ -34,18 +32,11 @@ package() {
install -dm755 "${pkgdir}"/var/abs/local/
install -Dm644 README "${pkgdir}"/var/abs/README
- sed -i -e 's|rsync.archlinux.org|parabolagnulinux.org|' ${pkgdir}/etc/abs.conf
- sed -i -e 's|(core|(libre !libre-testing core|' ${pkgdir}/etc/abs.conf
-
# make adjustments to abs.conf
- if [[ $CARCH = "i686" ]]; then
+ sed -i -e 's|rsync.archlinux.org|parabolagnulinux.org|' "${pkgdir}"/etc/abs.conf
+ sed -i -e 's|(core|(libre !libre-testing core|' "${pkgdir}"/etc/abs.conf
+ if [[ $CARCH != "x86_64" ]]; then
sed -i -e 's| multilib||' -e 's| !multilib-testing||' "${pkgdir}"/etc/abs.conf
fi
- if [[ $CARCH = "x86_64" ]]; then
- sed -i '/ARCH=/s|i686|x86_64|' "${pkgdir}"/etc/abs.conf
- fi
- if [[ $CARCH = "mips64el" ]]; then
- sed -i -e 's| multilib||' -e 's| !multilib-testing||' ${pkgdir}/etc/abs.conf
- sed -i '/ARCH=/s|i686|mips64el|' ${pkgdir}/etc/abs.conf
- fi
+ sed -i "s/ARCH=.*/ARCH=$CARCH/" "${pkgdir}"/etc/abs.conf
}
diff --git a/libre/abuse-libre/PKGBUILD b/libre/abuse-libre/PKGBUILD
index 251b52851..8108a95bf 100644
--- a/libre/abuse-libre/PKGBUILD
+++ b/libre/abuse-libre/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: jlvsimoes <jlvsimoes@oninet.pt>
# Contributor: kevin <kevin@archlinux.org>
-# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=abuse
pkgname=abuse-libre
diff --git a/libre/atool-libre/PKGBUILD b/libre/atool-libre/PKGBUILD
index ea1dfec52..0745630ad 100644
--- a/libre/atool-libre/PKGBUILD
+++ b/libre/atool-libre/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: leif_thande <leif.thande@gmail.com>
# Contributor: tranquility <trankas@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
-# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
_pkgname=atool
pkgname=atool-libre
diff --git a/libre/audacious-plugins-libre/PKGBUILD b/libre/audacious-plugins-libre/PKGBUILD
index 8108ea353..cfbf19e5c 100644
--- a/libre/audacious-plugins-libre/PKGBUILD
+++ b/libre/audacious-plugins-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 177005 2013-02-04 00:31:50Z bisson $
+# $Id: PKGBUILD 189208 2013-06-29 12:06:26Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Alexander Fehr <pizzapunk gmail com>
# Contributor: William Rea <sillywilly@gmail.com>
@@ -8,9 +8,9 @@
_pkgname=audacious-plugins
pkgname=audacious-plugins-libre
-pkgver=3.3.4
-pkgrel=2
-pkgdesc='Plugins for Audacious without unfree plugins'
+pkgver=3.4
+pkgrel=1
+pkgdesc='Plugins for Audacious, without nonfree plugins'
url='http://audacious-media-player.org/'
license=('GPL' 'GPL3' 'LGPL' 'custom:BSD')
arch=('i686' 'x86_64' 'mips64el')
@@ -24,17 +24,17 @@ arch=('i686' 'x86_64' 'mips64el')
#
# All the other custom licensed plugins I think are mostly modified BSD or ISC.
-provides=("audacious-plugins=$pkgver")
-replaces=("${pkgname%-libre}")
-conflicts=("${pkgname%-libre}")
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
makedepends=("audacious>=${pkgver}"
'alsa-lib' 'pulseaudio' 'jack2' 'lame' 'libvorbis' 'flac'
'mpg123' 'faad2' 'ffmpeg' 'libmodplug' 'fluidsynth' 'libcdio-paranoia' 'libsidplay' 'wavpack'
'libnotify' 'curl' 'libmtp'
'neon' 'libmms' 'libcue')
-[ "$CARCH" = "mips64el" ] || makedepends+=('lirc-utils' 'oss')
-optdepends=('oss: Open Sound System v4 output'
+[ "$CARCH" = "mips64el" ] || makedepends+=('lirc-utils-libre' 'oss-libre')
+optdepends=('oss-libre: Open Sound System v4 output'
'alsa-lib: Advanced Linux Sound Arch. output'
'pulseaudio: PulseAudio output'
'jack2: Jack Audio Connection Kit output'
@@ -52,7 +52,7 @@ optdepends=('oss: Open Sound System v4 output'
'wavpack: WavPack input'
'libnotify: libnotify OSD'
- 'lirc-utils: LIRC'
+ 'lirc-utils-libre: LIRC'
'curl: AudioScrobbler Client'
'libmtp: Upload to MTP device'
@@ -61,9 +61,9 @@ optdepends=('oss: Open Sound System v4 output'
'libcue: CUE playlist format')
source=("http://distfiles.audacious-media-player.org/${_pkgname}-${pkgver}.tar.bz2")
-sha1sums=('6493f051417a201fc0e2de7ef36a709676f96607')
+sha1sums=('2b2f1d30f0b790e6cc3e00483ed4774b0fa1fc42')
-build() {
+prepare() {
# Retrieve upstream & remove plugin 'psf' due to issues mentioned above.
sed -i s/enable_psf=yes/enable_psf=no/ ${_pkgname}-$pkgver/configure
@@ -105,6 +105,10 @@ build() {
install -m644 LICENSE.voice_removal $l
install -m644 LICENSE.xfs $l
popd
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
./configure \
--prefix=/usr \
diff --git a/libre/audacity-libre/PKGBUILD b/libre/audacity-libre/PKGBUILD
index 01a5bb944..e9e18ba48 100644
--- a/libre/audacity-libre/PKGBUILD
+++ b/libre/audacity-libre/PKGBUILD
@@ -1,6 +1,6 @@
# $Id: PKGBUILD 153455 2012-03-14 17:15:15Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
-# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=audacity
pkgname=audacity-libre
diff --git a/libre/bbswitch-libre/PKGBUILD b/libre/bbswitch-libre/PKGBUILD
index 7be8ca825..f8e66c762 100644
--- a/libre/bbswitch-libre/PKGBUILD
+++ b/libre/bbswitch-libre/PKGBUILD
@@ -7,7 +7,7 @@ _pkgname=bbswitch
pkgname=bbswitch-libre
pkgver=0.7
_extramodules=extramodules-3.9-LIBRE # Don't forget to update bbswitch.install
-pkgrel=3
+pkgrel=4
pkgdesc="Kernel module allowing to switch dedicated graphics card on Optimus laptops (built for the linux-libre kernel package)"
arch=('i686' 'x86_64' 'mips64el')
url=("http://github.com/Bumblebee-Project/bbswitch")
@@ -25,7 +25,7 @@ build() {
cd ${srcdir}/${_pkgname}-${pkgver}
_kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
-
+
make KDIR=/usr/src/linux-${_kernver}
}
diff --git a/libre/blackbox-libre/PKGBUILD b/libre/blackbox-libre/PKGBUILD
index dd41034a1..980f35851 100644
--- a/libre/blackbox-libre/PKGBUILD
+++ b/libre/blackbox-libre/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: durbatuluk <dvdscripter@gmail.org>
# Contributor: Steve Ponsford <sp4d@lavabit.com>
-# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
_pkgname=blackbox
pkgname=${_pkgname}-libre
diff --git a/libre/blender-addon-luxrender/PKGBUILD b/libre/blender-addon-luxrender/PKGBUILD
index 6637e134c..040eeccf4 100644
--- a/libre/blender-addon-luxrender/PKGBUILD
+++ b/libre/blender-addon-luxrender/PKGBUILD
@@ -1,4 +1,4 @@
-# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Maintainer: Márcio Silva <coadde@lavabit.com>
pkgname=blender-addon-luxrender
_pkgname=${pkgname:14:3}${pkgname::5}25
diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD
index 0b61073cf..339969ba1 100644
--- a/libre/calibre-libre/PKGBUILD
+++ b/libre/calibre-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 92987 2013-06-21 10:34:05Z jelle $
+# $Id: PKGBUILD 93260 2013-06-30 12:27:03Z jelle $
# Maintainer: jelle van der Waa <jelle@vdwaa.nl>
# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
@@ -9,7 +9,7 @@
_pkgname=calibre
pkgname=calibre-libre
-pkgver=0.9.36
+pkgver=0.9.37
pkgrel=1
pkgdesc="Ebook management application, with unar support included and nonfree fonts removed"
arch=('i686' 'x86_64' 'mips64el')
@@ -30,7 +30,7 @@ install=calibre.install
source=("http://sourceforge.net/projects/calibre/files/${pkgver}/calibre-${pkgver}.tar.xz"
'desktop_integration.patch'
'calibre-mount-helper')
-md5sums=('f7dfb823bd17435c99f20b8a5f904b2a'
+md5sums=('76db2eb11fe51d85ae9121203defb677'
'8353d1878c5a498b3e49eddef473605f'
'675cd87d41342119827ef706055491e7')
diff --git a/libre/cdfs-libre/PKGBUILD b/libre/cdfs-libre/PKGBUILD
index f1c6481d5..518e25312 100644
--- a/libre/cdfs-libre/PKGBUILD
+++ b/libre/cdfs-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 92970 2013-06-21 08:06:15Z tpowa $
+# $Id: PKGBUILD 93210 2013-06-28 18:33:45Z foutrelis $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: J. Santiago Hirschfeld <jsantiagoh@yahoo.com.ar>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -7,7 +7,7 @@ _pkgname=cdfs
pkgname=cdfs-libre
pkgver=2.6.27
_extramodules=extramodules-3.9-LIBRE # Don't forget to update cdfs.install
-pkgrel=47
+pkgrel=48
pkgdesc="File system module that 'exports' all tracks and boot images on a CD as normal files (built for the linux-libre kernel package)"
arch=(i686 x86_64 mips64el)
url="http://www.elis.UGent.be/~ronsse/cdfs/"
diff --git a/libre/cgminer-libre/PKGBUILD b/libre/cgminer-libre/PKGBUILD
index 001cd00f2..0fb3b9116 100644
--- a/libre/cgminer-libre/PKGBUILD
+++ b/libre/cgminer-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 93076 2013-06-24 03:20:38Z fyan $
+# $Id: PKGBUILD 93146 2013-06-26 07:01:43Z fyan $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: monson <holymonson@gmail.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
@@ -7,7 +7,7 @@
pkgname=cgminer-libre
_pkgflag=libre
-pkgver=3.3.0
+pkgver=3.3.1
pkgrel=1
pkgdesc="Multi-threaded multi-pool GPU, FPGA and ASIC miner for bitcoin and derivative coins, without nonfree OpenCL recommendation"
url='http://forum.bitcoin.org/index.php?topic=28402.0'
@@ -51,6 +51,6 @@ package() {
install -Dm644 ${pkgname%-$_pkgflag}.conf "$pkgdir"/etc/${pkgname%-$_pkgflag}.conf
}
-md5sums=('65af0ace6627d2ff50203d9a789f52da'
+md5sums=('1e6ccf16c4695fc086581bbb95923abe'
'fe4a243fabe24608f5c05e40f0f118f6'
'bd76fc92fedce18c59ccea2aa79cc664')
diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD
index d29becae5..d1b2948f6 100644
--- a/libre/cups-filters-libre/PKGBUILD
+++ b/libre/cups-filters-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 185774 2013-05-18 15:32:58Z andyrtr $
+# $Id: PKGBUILD 188974 2013-06-27 14:08:06Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=cups-filters-libre
_pkgname=cups-filters
-pkgver=1.0.34
-pkgrel=4
+pkgver=1.0.35
+pkgrel=1
pkgdesc="OpenPrinting CUPS Filters, without foomatic-db-nonfree recommendation"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting"
@@ -19,7 +19,7 @@ backup=(etc/fonts/conf.d/99pdftoopvp.conf
options=(!libtool)
source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz
cups-browsed.service)
-md5sums=('fea9cad6bbb14ab0635243ed5d1d5c77'
+md5sums=('26f150f1e9ce1f7b0f38ae4ebb01e23d'
'9ef68d7c2a84713fd421f4e87dec0a6e')
replaces=("${_pkgname}")
conflicts=("${_pkgname}")
diff --git a/libre/django13/PKGBUILD b/libre/django13/PKGBUILD
deleted file mode 100644
index 554acccc7..000000000
--- a/libre/django13/PKGBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# $Id$
-# Maintainer: Dan McGee <dan@archlinux.org>
-# Contributor: Shahar Weiss <sweiss4@gmx.net>
-
-pkgname=django
-pkgver=1.3.1
-pkgrel=2
-pkgdesc="A high-level Python Web framework."
-arch=('any')
-license=('BSD')
-url="http://www.djangoproject.com/"
-depends=('python2')
-makedepends=('python2-distribute')
-optdepends=('mysql-python: for MySQL backend'
- 'python2-psycopg2: for PostgreSQL backend')
-source=("https://www.djangoproject.com/m/releases/1.3/Django-$pkgver.tar.gz"
- diff-django_branches_releases_1.3.X-from-16768-to-17460.diff)
-md5sums=('62d8642fd06b9a0bf8544178f8500767'
- 'd09d8f9e156b9aa1b580a1b43209b99f')
-sha256sums=('af9118c4e8a063deb0b8cda901fcff2b805e7cf496c93fd43507163f3cde156b'
- '8e08b5b5bbe7c042a1df4d5615a9d068ec6718fd00bef627c0a9a9e48ee58c15')
-
-build() {
- cd "$srcdir/Django-$pkgver"
- patch -Np1 -i ../diff-django_branches_releases_1.3.X-from-16768-to-17460.diff
- python2 setup.py build
-}
-
-package() {
- cd "$srcdir/Django-$pkgver"
- python2 setup.py install --root="$pkgdir" --optimize=1
-
- install -Dm644 extras/django_bash_completion \
- "$pkgdir"/etc/bash_completion.d/django
-
- find "$pkgdir"/usr/lib/python2.7/site-packages/django/ -name '*.py' | \
- xargs sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|"
-
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}
-
-_pkgname=$pkgname
-pkgname=django13
-pkgdesc+=" (legacy version for ParabolaWeb)"
-pkgrel+=.1
-provides=("$_pkgname=$pkgver")
-conflicts=("$_pkgname")
diff --git a/libre/django13/diff-django_branches_releases_1.3.X-from-16768-to-17460.diff b/libre/django13/diff-django_branches_releases_1.3.X-from-16768-to-17460.diff
deleted file mode 100644
index c6819c1ab..000000000
--- a/libre/django13/diff-django_branches_releases_1.3.X-from-16768-to-17460.diff
+++ /dev/null
@@ -1,1573 +0,0 @@
-diff --git a/README b/README
-index c7d225c..47bfd33 100644
---- a/README
-+++ b/README
-@@ -28,7 +28,7 @@ http://code.djangoproject.com/newticket
- To get more help:
-
- * Join the #django channel on irc.freenode.net. Lots of helpful people
-- hang out there. Read the archives at http://botland.oebfare.com/logger/django/.
-+ hang out there. Read the archives at http://django-irc-logs.com/.
-
- * Join the django-users mailing list, or read the archives, at
- http://groups.google.com/group/django-users.
-diff --git a/django/contrib/admin/media/css/forms.css b/django/contrib/admin/media/css/forms.css
-index 1cedf24..35d0ed7 100644
---- a/django/contrib/admin/media/css/forms.css
-+++ b/django/contrib/admin/media/css/forms.css
-@@ -352,9 +352,3 @@ fieldset.monospace textarea {
- .empty-form {
- display: none;
- }
--
--/* IE7 specific bug fixes */
--
--.submit-row input {
-- float: right;
--}
-\ No newline at end of file
-diff --git a/django/contrib/gis/db/backends/spatialite/compiler.py b/django/contrib/gis/db/backends/spatialite/compiler.py
-deleted file mode 100644
-index 3f81ae6..0000000
---- a/django/contrib/gis/db/backends/spatialite/compiler.py
-+++ /dev/null
-@@ -1,32 +0,0 @@
--from django.db.backends.util import typecast_timestamp
--from django.db.models.sql import compiler
--from django.db.models.sql.constants import MULTI
--from django.contrib.gis.db.models.sql.compiler import GeoSQLCompiler as BaseGeoSQLCompiler
--
--SQLCompiler = compiler.SQLCompiler
--
--class GeoSQLCompiler(BaseGeoSQLCompiler, SQLCompiler):
-- pass
--
--class SQLInsertCompiler(compiler.SQLInsertCompiler, GeoSQLCompiler):
-- pass
--
--class SQLDeleteCompiler(compiler.SQLDeleteCompiler, GeoSQLCompiler):
-- pass
--
--class SQLUpdateCompiler(compiler.SQLUpdateCompiler, GeoSQLCompiler):
-- pass
--
--class SQLAggregateCompiler(compiler.SQLAggregateCompiler, GeoSQLCompiler):
-- pass
--
--class SQLDateCompiler(compiler.SQLDateCompiler, GeoSQLCompiler):
-- """
-- This is overridden for GeoDjango to properly cast date columns, see #16757.
-- """
-- def results_iter(self):
-- offset = len(self.query.extra_select)
-- for rows in self.execute_sql(MULTI):
-- for row in rows:
-- date = typecast_timestamp(str(row[offset]))
-- yield date
-diff --git a/django/contrib/gis/db/backends/spatialite/creation.py b/django/contrib/gis/db/backends/spatialite/creation.py
-index c107d96..ee5f9db 100644
---- a/django/contrib/gis/db/backends/spatialite/creation.py
-+++ b/django/contrib/gis/db/backends/spatialite/creation.py
-@@ -56,14 +56,6 @@ class SpatiaLiteCreation(DatabaseCreation):
- interactive=False,
- database=self.connection.alias)
-
-- # One effect of calling syncdb followed by flush is that the id of the
-- # default site may or may not be 1, depending on how the sequence was
-- # reset. If the sites app is loaded, then we coerce it.
-- from django.db.models import get_model
-- Site = get_model('sites', 'Site')
-- if Site is not None and Site.objects.using(self.connection.alias).count() == 1:
-- Site.objects.using(self.connection.alias).update(id=settings.SITE_ID)
--
- from django.core.cache import get_cache
- from django.core.cache.backends.db import BaseDatabaseCache
- for cache_alias in settings.CACHES:
-diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py
-index 1dc612c..e6f8409 100644
---- a/django/contrib/gis/db/backends/spatialite/operations.py
-+++ b/django/contrib/gis/db/backends/spatialite/operations.py
-@@ -48,7 +48,7 @@ def get_dist_ops(operator):
- return (SpatiaLiteDistance(operator),)
-
- class SpatiaLiteOperations(DatabaseOperations, BaseSpatialOperations):
-- compiler_module = 'django.contrib.gis.db.backends.spatialite.compiler'
-+ compiler_module = 'django.contrib.gis.db.models.sql.compiler'
- name = 'spatialite'
- spatialite = True
- version_regex = re.compile(r'^(?P<major>\d)\.(?P<minor1>\d)\.(?P<minor2>\d+)')
-diff --git a/django/contrib/gis/db/models/sql/compiler.py b/django/contrib/gis/db/models/sql/compiler.py
-index 782ce78..405a000 100644
---- a/django/contrib/gis/db/models/sql/compiler.py
-+++ b/django/contrib/gis/db/models/sql/compiler.py
-@@ -1,7 +1,7 @@
- from itertools import izip
--from django.db.backends.util import truncate_name
-+from django.db.backends.util import truncate_name, typecast_timestamp
- from django.db.models.sql import compiler
--from django.db.models.sql.constants import TABLE_NAME
-+from django.db.models.sql.constants import TABLE_NAME, MULTI
- from django.db.models.sql.query import get_proxied_model
-
- SQLCompiler = compiler.SQLCompiler
-@@ -194,7 +194,7 @@ class GeoSQLCompiler(compiler.SQLCompiler):
- # We resolve the rest of the columns if we're on Oracle or if
- # the `geo_values` attribute is defined.
- for value, field in map(None, row[index_start:], fields):
-- values.append(self.query.convert_values(value, field, connection=self.connection))
-+ values.append(self.query.convert_values(value, field, self.connection))
- else:
- values.extend(row[index_start:])
- return tuple(values)
-@@ -275,4 +275,24 @@ class SQLAggregateCompiler(compiler.SQLAggregateCompiler, GeoSQLCompiler):
- pass
-
- class SQLDateCompiler(compiler.SQLDateCompiler, GeoSQLCompiler):
-- pass
-+ """
-+ This is overridden for GeoDjango to properly cast date columns, since
-+ `GeoQuery.resolve_columns` is used for spatial values.
-+ See #14648, #16757.
-+ """
-+ def results_iter(self):
-+ if self.connection.ops.oracle:
-+ from django.db.models.fields import DateTimeField
-+ fields = [DateTimeField()]
-+ else:
-+ needs_string_cast = self.connection.features.needs_datetime_string_cast
-+
-+ offset = len(self.query.extra_select)
-+ for rows in self.execute_sql(MULTI):
-+ for row in rows:
-+ date = row[offset]
-+ if self.connection.ops.oracle:
-+ date = self.resolve_columns(row, fields)[offset]
-+ elif needs_string_cast:
-+ date = typecast_timestamp(str(date))
-+ yield date
-diff --git a/django/contrib/gis/tests/relatedapp/fixtures/initial_data.json.gz b/django/contrib/gis/tests/relatedapp/fixtures/initial_data.json.gz
-index 68bf54c..8937637 100644
-Binary files a/django/contrib/gis/tests/relatedapp/fixtures/initial_data.json.gz and b/django/contrib/gis/tests/relatedapp/fixtures/initial_data.json.gz differ
-diff --git a/django/contrib/gis/tests/relatedapp/models.py b/django/contrib/gis/tests/relatedapp/models.py
-index 2e9a62b..aec4e15 100644
---- a/django/contrib/gis/tests/relatedapp/models.py
-+++ b/django/contrib/gis/tests/relatedapp/models.py
-@@ -36,6 +36,7 @@ class Parcel(models.Model):
- # These use the GeoManager but do not have any geographic fields.
- class Author(models.Model):
- name = models.CharField(max_length=100)
-+ dob = models.DateField()
- objects = models.GeoManager()
-
- class Article(models.Model):
-diff --git a/django/contrib/gis/tests/relatedapp/tests.py b/django/contrib/gis/tests/relatedapp/tests.py
-index 250783b..1a6197c 100644
---- a/django/contrib/gis/tests/relatedapp/tests.py
-+++ b/django/contrib/gis/tests/relatedapp/tests.py
-@@ -1,3 +1,4 @@
-+from datetime import date
- from django.test import TestCase
-
- from django.contrib.gis.geos import GEOSGeometry, Point, MultiPoint
-@@ -281,4 +282,11 @@ class RelatedGeoModelTest(TestCase):
- # evaluated as list generation swallows TypeError in CPython.
- sql = str(qs.query)
-
-+ def test16_annotated_date_queryset(self):
-+ "Ensure annotated date querysets work if spatial backend is used. See #14648."
-+ birth_years = [dt.year for dt in
-+ list(Author.objects.annotate(num_books=Count('books')).dates('dob', 'year'))]
-+ birth_years.sort()
-+ self.assertEqual([1950, 1974], birth_years)
-+
- # TODO: Related tests for KML, GML, and distance lookups.
-diff --git a/django/contrib/sites/management.py b/django/contrib/sites/management.py
-index 1987274..9bf5a14 100644
---- a/django/contrib/sites/management.py
-+++ b/django/contrib/sites/management.py
-@@ -3,15 +3,34 @@ Creates the default Site object.
- """
-
- from django.db.models import signals
-+from django.db import connections
-+from django.db import router
- from django.contrib.sites.models import Site
- from django.contrib.sites import models as site_app
-+from django.core.management.color import no_style
-
- def create_default_site(app, created_models, verbosity, db, **kwargs):
-- if Site in created_models:
-+ # Only create the default sites in databases where Django created the table
-+ if Site in created_models and router.allow_syncdb(db, Site) :
-+ # The default settings set SITE_ID = 1, and some tests in Django's test
-+ # suite rely on this value. However, if database sequences are reused
-+ # (e.g. in the test suite after flush/syncdb), it isn't guaranteed that
-+ # the next id will be 1, so we coerce it. See #15573 and #16353. This
-+ # can also crop up outside of tests - see #15346.
- if verbosity >= 2:
- print "Creating example.com Site object"
-- s = Site(domain="example.com", name="example.com")
-- s.save(using=db)
-+ Site(pk=1, domain="example.com", name="example.com").save(using=db)
-+
-+ # We set an explicit pk instead of relying on auto-incrementation,
-+ # so we need to reset the database sequence.
-+ sequence_sql = connections[db].ops.sequence_reset_sql(no_style(), [Site])
-+ if sequence_sql:
-+ if verbosity >= 2:
-+ print "Resetting sequence"
-+ cursor = connections[db].cursor()
-+ for command in sequence_sql:
-+ cursor.execute(command)
-+
- Site.objects.clear_cache()
-
- signals.post_syncdb.connect(create_default_site, sender=site_app)
-diff --git a/django/contrib/sites/tests.py b/django/contrib/sites/tests.py
-index 17ab1f2..828badb 100644
---- a/django/contrib/sites/tests.py
-+++ b/django/contrib/sites/tests.py
-@@ -15,6 +15,12 @@ class SitesFrameworkTests(TestCase):
- def tearDown(self):
- Site._meta.installed = self.old_Site_meta_installed
-
-+ def test_save_another(self):
-+ # Regression for #17415
-+ # On some backends the sequence needs reset after save with explicit ID.
-+ # Test that there is no sequence collisions by saving another site.
-+ Site(domain="example2.com", name="example2.com").save()
-+
- def test_site_manager(self):
- # Make sure that get_current() does not return a deleted Site object.
- s = Site.objects.get_current()
-diff --git a/django/core/management/commands/shell.py b/django/core/management/commands/shell.py
-index e4ce462..039ebb8 100644
---- a/django/core/management/commands/shell.py
-+++ b/django/core/management/commands/shell.py
-@@ -13,9 +13,8 @@ class Command(NoArgsCommand):
-
- def ipython(self):
- try:
-- from IPython.frontend.terminal.embed import TerminalInteractiveShell
-- shell = TerminalInteractiveShell()
-- shell.mainloop()
-+ from IPython import embed
-+ embed()
- except ImportError:
- # IPython < 0.11
- # Explicitly pass an empty list as arguments, because otherwise
-diff --git a/django/core/validators.py b/django/core/validators.py
-index a93c6ac..9dcc2bc 100644
---- a/django/core/validators.py
-+++ b/django/core/validators.py
-@@ -147,7 +147,8 @@ class EmailValidator(RegexValidator):
-
- email_re = re.compile(
- r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*" # dot-atom
-- r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' # quoted-string
-+ # quoted-string, see also http://tools.ietf.org/html/rfc2822#section-3.2.5
-+ r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-\011\013\014\016-\177])*"'
- r')@(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+[A-Z]{2,6}\.?$', re.IGNORECASE) # domain
- validate_email = EmailValidator(email_re, _(u'Enter a valid e-mail address.'), 'invalid')
-
-diff --git a/django/db/backends/creation.py b/django/db/backends/creation.py
-index 57e3f77..ef594b7 100644
---- a/django/db/backends/creation.py
-+++ b/django/db/backends/creation.py
-@@ -374,15 +374,6 @@ class BaseDatabaseCreation(object):
- verbosity=max(verbosity - 1, 0),
- interactive=False,
- database=self.connection.alias)
--
-- # One effect of calling syncdb followed by flush is that the id of the
-- # default site may or may not be 1, depending on how the sequence was
-- # reset. If the sites app is loaded, then we coerce it.
-- from django.db.models import get_model
-- if 'django.contrib.sites' in settings.INSTALLED_APPS:
-- Site = get_model('sites', 'Site')
-- if Site is not None and Site.objects.using(self.connection.alias).count() == 1:
-- Site.objects.using(self.connection.alias).update(id=settings.SITE_ID)
-
- from django.core.cache import get_cache
- from django.core.cache.backends.db import BaseDatabaseCache
-diff --git a/django/http/__init__.py b/django/http/__init__.py
-index 68ac45d..07e5a46 100644
---- a/django/http/__init__.py
-+++ b/django/http/__init__.py
-@@ -92,7 +92,7 @@ else:
- if not _cookie_allows_colon_in_names:
- def load(self, rawdata, ignore_parse_errors=False):
- if ignore_parse_errors:
-- self.bad_cookies = []
-+ self.bad_cookies = set()
- self._BaseCookie__set = self._loose_set
- super(SimpleCookie, self).load(rawdata)
- if ignore_parse_errors:
-@@ -106,8 +106,8 @@ else:
- try:
- self._strict_set(key, real_value, coded_value)
- except Cookie.CookieError:
-- self.bad_cookies.append(key)
-- dict.__setitem__(self, key, None)
-+ self.bad_cookies.add(key)
-+ dict.__setitem__(self, key, Cookie.Morsel())
-
-
- class CompatCookie(SimpleCookie):
-diff --git a/django/http/utils.py b/django/http/utils.py
-index 5eea239..0180864 100644
---- a/django/http/utils.py
-+++ b/django/http/utils.py
-@@ -76,7 +76,8 @@ def fix_IE_for_vary(request, response):
-
- # The first part of the Content-Type field will be the MIME type,
- # everything after ';', such as character-set, can be ignored.
-- if response['Content-Type'].split(';')[0] not in safe_mime_types:
-+ mime_type = response.get('Content-Type', '').partition(';')[0]
-+ if mime_type not in safe_mime_types:
- try:
- del response['Vary']
- except KeyError:
-diff --git a/docs/howto/deployment/modpython.txt b/docs/howto/deployment/modpython.txt
-index f5030e9..693f942 100644
---- a/docs/howto/deployment/modpython.txt
-+++ b/docs/howto/deployment/modpython.txt
-@@ -293,11 +293,14 @@ of the admin app, but this is not the case when you use any other server
- arrangement. You're responsible for setting up Apache, or whichever media
- server you're using, to serve the admin files.
-
--The admin files live in (:file:`django/contrib/admin/static/admin`) of the
-+The admin files live in (:file:`django/contrib/admin/media/admin`) of the
- Django distribution.
-
--We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle
--the admin files, but here are two other approaches:
-+We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle the
-+admin files (this means using the :djadmin:`collectstatic` management command
-+to collect the static files in :setting:`STATIC_ROOT`, and then configuring
-+your webserver to serve :setting:`STATIC_ROOT` at :setting:`STATIC_URL`), but
-+here are two other approaches:
-
- 1. Create a symbolic link to the admin static files from within your
- document root.
-diff --git a/docs/howto/deployment/modwsgi.txt b/docs/howto/deployment/modwsgi.txt
-index de3a5b6..fdf9d27 100644
---- a/docs/howto/deployment/modwsgi.txt
-+++ b/docs/howto/deployment/modwsgi.txt
-@@ -127,11 +127,14 @@ of the admin app, but this is not the case when you use any other server
- arrangement. You're responsible for setting up Apache, or whichever media
- server you're using, to serve the admin files.
-
--The admin files live in (:file:`django/contrib/admin/static/admin`) of the
-+The admin files live in (:file:`django/contrib/admin/media/admin`) of the
- Django distribution.
-
--We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle
--the admin files, but here are two other approaches:
-+We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle the
-+admin files (this means using the :djadmin:`collectstatic` management command
-+to collect the static files in :setting:`STATIC_ROOT`, and then configuring
-+your webserver to serve :setting:`STATIC_ROOT` at :setting:`STATIC_URL`), but
-+here are two other approaches:
-
- 1. Create a symbolic link to the admin static files from within your
- document root.
-diff --git a/docs/index.txt b/docs/index.txt
-index 0cf066e..20a7cec 100644
---- a/docs/index.txt
-+++ b/docs/index.txt
-@@ -28,7 +28,7 @@ Having trouble? We'd like to help!
- .. _archives of the django-users mailing list: http://groups.google.com/group/django-users/
- .. _post a question: http://groups.google.com/group/django-users/
- .. _#django IRC channel: irc://irc.freenode.net/django
--.. _IRC logs: http://botland.oebfare.com/logger/django/
-+.. _IRC logs: http://django-irc-logs.com/
- .. _ticket tracker: http://code.djangoproject.com/
-
- First steps
-diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt
-index 3f0f998..ca29d15 100644
---- a/docs/internals/deprecation.txt
-+++ b/docs/internals/deprecation.txt
-@@ -177,6 +177,12 @@ their deprecation, as per the :ref:`Django deprecation policy
- required to end with a trailing slash to ensure there is a consistent
- way to combine paths in templates.
-
-+ * Translations located under the so-called *project path* will be
-+ ignored during the translation building process performed at runtime.
-+ The :setting:`LOCALE_PATHS` setting can be used for the same task by
-+ including the filesystem path to a ``locale`` directory containing
-+ non-app-specific translations in its value.
-+
- * 2.0
- * ``django.views.defaults.shortcut()``. This function has been moved
- to ``django.contrib.contenttypes.views.shortcut()`` as part of the
-diff --git a/docs/internals/release-process.txt b/docs/internals/release-process.txt
-index 2a56f0b..799a59e 100644
---- a/docs/internals/release-process.txt
-+++ b/docs/internals/release-process.txt
-@@ -99,6 +99,13 @@ varying levels:
- * Security fixes will be applied to the current trunk and the previous two
- minor releases.
-
-+* Documentation fixes will generally be more freely backported to the last
-+ release branch (at the discretion of the committer), and don't need to meet
-+ the "critical fixes only" bar as it's highly advantageous to have the docs
-+ for the last release be up-to-date and correct, and the downside of
-+ backporting (risk of introducing regressions) is much less of a concern
-+ with doc fixes.
-+
- As a concrete example, consider a moment in time halfway between the release of
- Django 1.3 and 1.4. At this point in time:
-
-@@ -111,6 +118,9 @@ Django 1.3 and 1.4. At this point in time:
- ``1.2.X`` branch. Security fixes will trigger the release of ``1.3.1``,
- ``1.2.1``, etc.
-
-+* Documentation fixes will be applied to trunk, and if easily backported, to
-+ the ``1.3.X`` branch.
-+
- .. _release-process:
-
- Release process
-diff --git a/docs/intro/index.txt b/docs/intro/index.txt
-index bc61be7..19290a5 100644
---- a/docs/intro/index.txt
-+++ b/docs/intro/index.txt
-@@ -31,6 +31,6 @@ place: read this material to quickly get up and running.
-
- .. _python: http://python.org/
- .. _list of Python resources for non-programmers: http://wiki.python.org/moin/BeginnersGuide/NonProgrammers
-- .. _dive into python: http://diveintopython.org/
-+ .. _dive into python: http://diveintopython.net/
- .. _dead-tree version: http://www.amazon.com/exec/obidos/ASIN/1590593561/ref=nosim/jacobian20
- .. _books about Python: http://wiki.python.org/moin/PythonBooks
-\ No newline at end of file
-diff --git a/docs/intro/tutorial01.txt b/docs/intro/tutorial01.txt
-index 2f2e049..4dc1e5c 100644
---- a/docs/intro/tutorial01.txt
-+++ b/docs/intro/tutorial01.txt
-@@ -59,7 +59,7 @@ This will create a ``mysite`` directory in your current directory.
- can be run as a program. To do this, open Terminal.app and navigate (using
- the ``cd`` command) to the directory where :doc:`django-admin.py
- </ref/django-admin>` is installed, then run the command
-- ``chmod +x django-admin.py``.
-+ ``sudo chmod +x django-admin.py``.
-
- .. note::
-
-@@ -692,10 +692,9 @@ Save these changes and start a new Python interactive shell by running
-
- For more information on model relations, see :doc:`Accessing related objects
- </ref/models/relations>`. For more on how to use double underscores to perform
--field lookups via the API, see `Field lookups`__. For full details on the
--database API, see our :doc:`Database API reference </topics/db/queries>`.
--
--__ http://docs.djangoproject.com/en/1.2/topics/db/queries/#field-lookups
-+field lookups via the API, see :ref:`Field lookups <field-lookups-intro>`. For
-+full details on the database API, see our :doc:`Database API reference
-+</topics/db/queries>`.
-
- When you're comfortable with the API, read :doc:`part 2 of this tutorial
- </intro/tutorial02>` to get Django's automatic admin working.
-diff --git a/docs/intro/tutorial02.txt b/docs/intro/tutorial02.txt
-index 4bd31fb..1e837e6 100644
---- a/docs/intro/tutorial02.txt
-+++ b/docs/intro/tutorial02.txt
-@@ -40,22 +40,22 @@ activate the admin site for your installation, do these three things:
-
- .. parsed-literal::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- # Uncomment the next two lines to enable the admin:
- **from django.contrib import admin**
- **admin.autodiscover()**
-
- urlpatterns = patterns('',
-- # Example:
-- # (r'^mysite/', include('mysite.foo.urls')),
-+ # Examples:
-+ # url(r'^$', 'mysite.views.home', name='home'),
-+ # url(r'^mysite/', include('mysite.foo.urls')),
-
-- # Uncomment the admin/doc line below and add 'django.contrib.admindocs'
-- # to INSTALLED_APPS to enable admin documentation:
-- # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
-+ # Uncomment the admin/doc line below to enable admin documentation:
-+ # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
-
- # Uncomment the next line to enable the admin:
-- **(r'^admin/', include(admin.site.urls)),**
-+ **url(r'^admin/', include(admin.site.urls)),**
- )
-
- (The bold lines are the ones that needed to be uncommented.)
-diff --git a/docs/intro/tutorial03.txt b/docs/intro/tutorial03.txt
-index 41a62a7..566ba55 100644
---- a/docs/intro/tutorial03.txt
-+++ b/docs/intro/tutorial03.txt
-@@ -78,17 +78,17 @@ point at that file::
-
- Time for an example. Edit ``mysite/urls.py`` so it looks like this::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- from django.contrib import admin
- admin.autodiscover()
-
- urlpatterns = patterns('',
-- (r'^polls/$', 'polls.views.index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-- (r'^admin/', include(admin.site.urls)),
-+ url(r'^polls/$', 'polls.views.index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-+ url(r'^admin/', include(admin.site.urls)),
- )
-
- This is worth a review. When somebody requests a page from your Web site -- say,
-@@ -112,7 +112,7 @@ what you can do with them. And there's no need to add URL cruft such as ``.php``
- -- unless you have a sick sense of humor, in which case you can do something
- like this::
-
-- (r'^polls/latest\.php$', 'polls.views.index'),
-+ url(r'^polls/latest\.php$', 'polls.views.index'),
-
- But, don't do that. It's silly.
-
-@@ -357,22 +357,23 @@ the list is empty.
- Write a 404 (page not found) view
- =================================
-
--When you raise :exc:`~django.http.Http404` from within a view, Django will load
--a special view devoted to handling 404 errors. It finds it by looking for the
--variable ``handler404``, which is a string in Python dotted syntax -- the same
--format the normal URLconf callbacks use. A 404 view itself has nothing special:
--It's just a normal view.
--
--You normally won't have to bother with writing 404 views. By default, URLconfs
--have the following line up top::
--
-- from django.conf.urls.defaults import *
-+When you raise :exc:`~django.http.Http404` from within a view, Django
-+will load a special view devoted to handling 404 errors. It finds it
-+by looking for the variable ``handler404`` in your root URLconf (and
-+only in your root URLconf; setting ``handler404`` anywhere else will
-+have no effect), which is a string in Python dotted syntax -- the same
-+format the normal URLconf callbacks use. A 404 view itself has nothing
-+special: It's just a normal view.
-
--That takes care of setting ``handler404`` in the current module. As you can see
--in ``django/conf/urls/defaults.py``, ``handler404`` is set to
--:func:`django.views.defaults.page_not_found` by default.
-+You normally won't have to bother with writing 404 views. If you don't set
-+``handler404``, the built-in view :func:`django.views.defaults.page_not_found`
-+is used by default. In this case, you still have one obligation: To create a
-+``404.html`` template in the root of your template directory. The default 404
-+view will use that template for all 404 errors. If :setting:`DEBUG` is set to
-+``False`` (in your settings module) and if you didn't create a ``404.html``
-+file, an ``Http500`` is raised instead. So remember to create a ``404.html``.
-
--Four more things to note about 404 views:
-+A couple more things to note about 404 views:
-
- * If :setting:`DEBUG` is set to ``True`` (in your settings module) then your
- 404 view will never be used (and thus the ``404.html`` template will never
-@@ -381,21 +382,12 @@ Four more things to note about 404 views:
- * The 404 view is also called if Django doesn't find a match after checking
- every regular expression in the URLconf.
-
-- * If you don't define your own 404 view -- and simply use the default, which
-- is recommended -- you still have one obligation: To create a ``404.html``
-- template in the root of your template directory. The default 404 view will
-- use that template for all 404 errors.
--
-- * If :setting:`DEBUG` is set to ``False`` (in your settings module) and if
-- you didn't create a ``404.html`` file, an ``Http500`` is raised instead.
-- So remember to create a ``404.html``.
--
- Write a 500 (server error) view
- ===============================
-
--Similarly, URLconfs may define a ``handler500``, which points to a view to call
--in case of server errors. Server errors happen when you have runtime errors in
--view code.
-+Similarly, your root URLconf may define a ``handler500``, which points
-+to a view to call in case of server errors. Server errors happen when
-+you have runtime errors in view code.
-
- Use the template system
- =======================
-@@ -432,10 +424,10 @@ Take some time to play around with the views and template system. As you edit
- the URLconf, you may notice there's a fair bit of redundancy in it::
-
- urlpatterns = patterns('',
-- (r'^polls/$', 'polls.views.index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-+ url(r'^polls/$', 'polls.views.index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
- )
-
- Namely, ``polls.views`` is in every callback.
-@@ -445,10 +437,10 @@ common prefixes. You can factor out the common prefixes and add them as the
- first argument to :func:`~django.conf.urls.defaults.patterns`, like so::
-
- urlpatterns = patterns('polls.views',
-- (r'^polls/$', 'index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^polls/$', 'index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- This is functionally identical to the previous formatting. It's just a bit
-@@ -459,20 +451,20 @@ callback in your URLconf, you can concatenate multiple
- :func:`~django.conf.urls.defaults.patterns`. Your full ``mysite/urls.py`` might
- now look like this::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- from django.contrib import admin
- admin.autodiscover()
-
- urlpatterns = patterns('polls.views',
-- (r'^polls/$', 'index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^polls/$', 'index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- urlpatterns += patterns('',
-- (r'^admin/', include(admin.site.urls)),
-+ url(r'^admin/', include(admin.site.urls)),
- )
-
- Decoupling the URLconfs
-@@ -502,8 +494,8 @@ Copy the file ``mysite/urls.py`` to ``polls/urls.py``. Then, change
- admin.autodiscover()
-
- urlpatterns = patterns('',
-- (r'^polls/', include('polls.urls')),
-- (r'^admin/', include(admin.site.urls)),
-+ url(r'^polls/', include('polls.urls')),
-+ url(r'^admin/', include(admin.site.urls)),
- )
-
- :func:`~django.conf.urls.defaults.include` simply references another URLconf.
-@@ -526,13 +518,13 @@ URLconf by removing the leading "polls/" from each line, and removing the
- lines registering the admin site. Your ``polls/urls.py`` file should now look like
- this::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- urlpatterns = patterns('polls.views',
-- (r'^$', 'index'),
-- (r'^(?P<poll_id>\d+)/$', 'detail'),
-- (r'^(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^$', 'index'),
-+ url(r'^(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- The idea behind :func:`~django.conf.urls.defaults.include` and URLconf
-diff --git a/docs/intro/tutorial04.txt b/docs/intro/tutorial04.txt
-index ded5cb2..4c2f2d4 100644
---- a/docs/intro/tutorial04.txt
-+++ b/docs/intro/tutorial04.txt
-@@ -218,13 +218,13 @@ Read on for details.
- First, open the ``polls/urls.py`` URLconf. It looks like this, according to the
- tutorial so far::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- urlpatterns = patterns('polls.views',
-- (r'^$', 'index'),
-- (r'^(?P<poll_id>\d+)/$', 'detail'),
-- (r'^(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^$', 'index'),
-+ url(r'^(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- Change it like so::
-@@ -234,12 +234,12 @@ Change it like so::
- from polls.models import Poll
-
- urlpatterns = patterns('',
-- (r'^$',
-+ url(r'^$',
- ListView.as_view(
- queryset=Poll.objects.order_by('-pub_date')[:5],
- context_object_name='latest_poll_list',
- template_name='polls/index.html')),
-- (r'^(?P<pk>\d+)/$',
-+ url(r'^(?P<pk>\d+)/$',
- DetailView.as_view(
- model=Poll,
- template_name='polls/detail.html')),
-@@ -248,7 +248,7 @@ Change it like so::
- model=Poll,
- template_name='polls/results.html'),
- name='poll_results'),
-- (r'^(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-+ url(r'^(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
- )
-
- We're using two generic views here:
-diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
-index beff94e..7394c3a 100644
---- a/docs/ref/contrib/admin/index.txt
-+++ b/docs/ref/contrib/admin/index.txt
-@@ -19,8 +19,10 @@ There are six steps in activating the Django admin site:
- 1. Add ``'django.contrib.admin'`` to your :setting:`INSTALLED_APPS`
- setting.
-
-- 2. Admin has two dependencies - :mod:`django.contrib.auth` and
-- :mod:`django.contrib.contenttypes`. If these applications are not
-+ 2. The admin has four dependencies - :mod:`django.contrib.auth`,
-+ :mod:`django.contrib.contenttypes`,
-+ :mod:`django.contrib.messages` and
-+ :mod:`django.contrib.sessions`. If these applications are not
- in your :setting:`INSTALLED_APPS` list, add them.
-
- 3. Determine which of your application's models should be editable in the
-@@ -542,7 +544,7 @@ subclass::
- Fields in ``list_filter`` can also span relations using the ``__`` lookup::
-
- class UserAdminWithLookup(UserAdmin):
-- list_filter = ('groups__name')
-+ list_filter = ('groups__name',)
-
- .. attribute:: ModelAdmin.list_per_page
-
-diff --git a/docs/ref/contrib/gis/geoip.txt b/docs/ref/contrib/gis/geoip.txt
-index 6503be7..f5c45e1 100644
---- a/docs/ref/contrib/gis/geoip.txt
-+++ b/docs/ref/contrib/gis/geoip.txt
-@@ -144,7 +144,7 @@ parameters.
- Returns a dictionary of city information for the given query. Some
- of the values in the dictionary may be undefined (``None``).
-
--.. method:: GeoIPcountry(query)
-+.. method:: GeoIP.country(query)
-
- Returns a dictionary with the country code and country for the given
- query.
-diff --git a/docs/ref/contrib/messages.txt b/docs/ref/contrib/messages.txt
-index ca3212d..ee7e01c 100644
---- a/docs/ref/contrib/messages.txt
-+++ b/docs/ref/contrib/messages.txt
-@@ -210,6 +210,10 @@ If you're using the context processor, your template should be rendered with a
- ``RequestContext``. Otherwise, ensure ``messages`` is available to
- the template context.
-
-+Even if you know there is only just one message, you should still iterate over
-+the ``messages`` sequence, because otherwise the message storage will not be cleared
-+for the next request.
-+
- Creating custom message levels
- ------------------------------
-
-diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt
-index 89bc43f..58b86ea 100644
---- a/docs/ref/django-admin.txt
-+++ b/docs/ref/django-admin.txt
-@@ -1156,7 +1156,7 @@ variable.
- Note that this option is unnecessary in ``manage.py``, because it takes care of
- setting the Python path for you.
-
--.. _import search path: http://diveintopython.org/getting_to_know_python/everything_is_an_object.html
-+.. _import search path: http://diveintopython.net/getting_to_know_python/everything_is_an_object.html
-
- .. django-admin-option:: --settings
-
-diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
-index 3728a09..52c0869 100644
---- a/docs/ref/models/instances.txt
-+++ b/docs/ref/models/instances.txt
-@@ -470,7 +470,7 @@ the URL. For example, if your URLconf contained a line such as::
-
- Similarly, if you had a URLconf entry that looked like::
-
-- (r'/archive/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', archive_view)
-+ (r'/archive/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', archive_view)
-
- ...you could reference this using ``permalink()`` as follows::
-
-@@ -478,8 +478,8 @@ Similarly, if you had a URLconf entry that looked like::
- def get_absolute_url(self):
- return ('archive_view', (), {
- 'year': self.created.year,
-- 'month': self.created.month,
-- 'day': self.created.day})
-+ 'month': self.created.strftime('%m'),
-+ 'day': self.created.strftime('%d')})
-
- Notice that we specify an empty sequence for the second parameter in this case,
- because we only want to pass keyword parameters, not positional ones.
-diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt
-index 4530439..c1beab0 100644
---- a/docs/ref/models/options.txt
-+++ b/docs/ref/models/options.txt
-@@ -166,6 +166,13 @@ Django quotes column and table names behind the scenes.
- >>> answer.get_previous_in_order()
- <Answer: 1>
-
-+.. admonition:: Changing order_with_respect_to
-+
-+ ``order_with_respect_to`` adds an additional field/database column
-+ named ``_order``, so be sure to handle that as you would any other
-+ change to your models if you add or change ``order_with_respect_to``
-+ after your initial :djadmin:`syncdb`.
-+
- ``ordering``
- ------------
-
-@@ -238,6 +245,12 @@ Django quotes column and table names behind the scenes.
-
- unique_together = ("driver", "restaurant")
-
-+ A :class:`~django.db.models.ManyToManyField` cannot be included in
-+ unique_together (it's not even clear what that would mean). If you
-+ need to validate uniqueness related to a
-+ :class:`~django.db.models.ManyToManyField`, look at signals or
-+ using an explicit :attr:`through <ManyToManyField.through>` model.
-+
- ``verbose_name``
- ----------------
-
-diff --git a/docs/ref/signals.txt b/docs/ref/signals.txt
-index e83142e..ad25dce 100644
---- a/docs/ref/signals.txt
-+++ b/docs/ref/signals.txt
-@@ -352,12 +352,16 @@ post_syncdb
- .. data:: django.db.models.signals.post_syncdb
- :module:
-
--Sent by :djadmin:`syncdb` after it installs an application.
-+Sent by :djadmin:`syncdb` command after it installs an application, and
-+:djadmin:`flush` command.
-
- Any handlers that listen to this signal need to be written in a particular
- place: a ``management`` module in one of your :setting:`INSTALLED_APPS`. If
- handlers are registered anywhere else they may not be loaded by
--:djadmin:`syncdb`.
-+:djadmin:`syncdb`. It is important that handlers of this signal perform
-+idempotent changes (e.g. no database alterations) as this may cause the
-+:djadmin:`flush` management command to fail if it also ran during the
-+:djadmin:`syncdb` command.
-
- Arguments sent with this signal:
-
-diff --git a/docs/ref/templates/builtins.txt b/docs/ref/templates/builtins.txt
-index 7d24c1d..6c7057a 100644
---- a/docs/ref/templates/builtins.txt
-+++ b/docs/ref/templates/builtins.txt
-@@ -1868,7 +1868,7 @@ slice
- Returns a slice of the list.
-
- Uses the same syntax as Python's list slicing. See
--http://diveintopython.org/native_data_types/lists.html#odbchelper.list.slice
-+http://diveintopython.net/native_data_types/lists.html#odbchelper.list.slice
- for an introduction.
-
- Example::
-diff --git a/docs/releases/0.95.txt b/docs/releases/0.95.txt
-index 7409bff..3632c31 100644
---- a/docs/releases/0.95.txt
-+++ b/docs/releases/0.95.txt
-@@ -92,15 +92,15 @@ changes is described in the `Removing The Magic`_ wiki page. There is also an
- easy checklist_ for reference when undertaking the porting operation.
-
- .. _Removing The Magic: http://code.djangoproject.com/wiki/RemovingTheMagic
--.. _checklist: http://code.djangoproject.com/wiki/MagicRemovalCheatSheet1
-+.. _checklist: http://code.djangoproject.com/wiki/MagicRemovalCheatSheet
-
- Problem reports and getting help
- ================================
-
--Need help resolving a problem with Django? The documentation in the distribution
--is also available online_ at the `Django Web site`_. The :doc:`FAQ </faq/index>`
--document is especially recommended, as it contains a number of issues that come
--up time and again.
-+Need help resolving a problem with Django? The documentation in the
-+distribution is also available :doc:`online </index>` at the `Django Web
-+site`_. The :doc:`FAQ </faq/index>` document is especially recommended, as it
-+contains a number of issues that come up time and again.
-
- For more personalized help, the `django-users`_ mailing list is a very active
- list, with more than 2,000 subscribers who can help you solve any sort of
-@@ -113,7 +113,6 @@ there's a #django channel on irc.freenode.net that is regularly populated by
- Django users and developers from around the world. Friendly people are usually
- available at any hour of the day -- to help, or just to chat.
-
--.. _online: http://www.djangoproject.com/documentation/0.95/
- .. _Django Web site: http://www.djangoproject.com/
- .. _django-users: http://groups.google.com/group/django-users
-
-diff --git a/docs/releases/0.96.txt b/docs/releases/0.96.txt
-index 1224360..8874ccb 100644
---- a/docs/releases/0.96.txt
-+++ b/docs/releases/0.96.txt
-@@ -50,12 +50,10 @@ aside from any necessary security fixes, it will not be actively
- maintained, and it will be removed in a future release of Django.
-
- Also, note that some features, like the new :setting:`DATABASE_OPTIONS`
--setting (see the `databases documentation`_ for details), are only
--available on the "mysql" backend, and will not be made available for
-+setting (see the :doc:`databases documentation </ref/databases>` for details),
-+are only available on the "mysql" backend, and will not be made available for
- "mysql_old".
-
--.. _databases documentation: http://www.djangoproject.com/documentation/0.96/databases/
--
- Database constraint names changed
- ---------------------------------
-
-@@ -164,10 +162,8 @@ Although the ``newforms`` library will continue to evolve, it's ready for use
- for most common cases. We recommend that anyone new to form handling skip the
- old forms system and start with the new.
-
--For more information about ``django.newforms``, read the `newforms
--documentation`_.
--
--.. _newforms documentation: http://www.djangoproject.com/documentation/0.96/newforms/
-+For more information about ``django.newforms``, read the :doc:`newforms
-+documentation </topics/forms/index>`.
-
- URLconf improvements
- --------------------
-@@ -216,19 +212,15 @@ The test framework
- ------------------
-
- Django now includes a test framework so you can start transmuting fear into
--boredom (with apologies to Kent Beck). You can write tests based on doctest_
--or unittest_ and test your views with a simple test client.
-+boredom (with apologies to Kent Beck). You can write tests based on
-+:mod:`doctest` or :mod:`unittest` and test your views with a simple test client.
-
- There is also new support for "fixtures" -- initial data, stored in any of the
--supported `serialization formats`_, that will be loaded into your database at the
--start of your tests. This makes testing with real data much easier.
--
--See `the testing documentation`_ for the full details.
-+supported :doc:`serialization formats </topics/serialization>`, that will be
-+loaded into your database at the start of your tests. This makes testing with
-+real data much easier.
-
--.. _doctest: http://docs.python.org/library/doctest.html
--.. _unittest: http://docs.python.org/library/unittest.html
--.. _the testing documentation: http://www.djangoproject.com/documentation/0.96/testing/
--.. _serialization formats: http://www.djangoproject.com/documentation/0.96/serialization/
-+See :doc:`the testing documentation </topics/testing>` for the full details.
-
- Improvements to the admin interface
- -----------------------------------
-diff --git a/docs/releases/1.0.1.txt b/docs/releases/1.0.1.txt
-index 780dc53..3550e7c 100644
---- a/docs/releases/1.0.1.txt
-+++ b/docs/releases/1.0.1.txt
-@@ -6,10 +6,10 @@ Welcome to Django 1.0.1!
-
- This is the first "bugfix" release in the Django 1.0 series, improving
- the stability and performance of the Django 1.0 codebase. As such,
--Django 1.0.1 contains no new features (and, pursuant to `our
--compatibility policy`_, maintains backwards compatibility with Django
--1.0), but does contain a number of fixes and other
--improvements. Django 1.0.1 is a recommended upgrade for any
-+Django 1.0.1 contains no new features (and, pursuant to :doc:`our
-+compatibility policy </misc/api-stability/>`, maintains backwards
-+compatibility with Django 1.0), but does contain a number of fixes
-+and other improvements. Django 1.0.1 is a recommended upgrade for any
- development or deployment currently using or targeting Django 1.0.
-
-
-@@ -46,8 +46,9 @@ highlights:
-
- * A fix to the application of autoescaping for literal strings passed
- to the ``join`` template filter. Previously, literal strings passed
-- to ``join`` were automatically escaped, contrary to `the documented
-- behavior for autoescaping and literal strings`_. Literal strings
-+ to ``join`` were automatically escaped, contrary to :ref:`the
-+ documented behavior for autoescaping and literal strings
-+ <string-literals-and-automatic-escaping>`. Literal strings
- passed to ``join`` are no longer automatically escaped, meaning you
- must now manually escape them; this is an incompatibility if you
- were relying on this bug, but not if you were relying on escaping
-@@ -60,6 +61,4 @@ highlights:
- documentation, including both corrections to existing documents and
- expanded and new documentation.
-
--.. _our compatibility policy: http://docs.djangoproject.com/en/dev/misc/api-stability/
- .. _the Subversion log of the 1.0.X branch: http://code.djangoproject.com/log/django/branches/releases/1.0.X
--.. _the documented behavior for autoescaping and literal strings: http://docs.djangoproject.com/en/dev/topics/templates/#string-literals-and-automatic-escaping
-diff --git a/docs/releases/1.2.6.txt b/docs/releases/1.2.6.txt
-new file mode 100644
-index 0000000..cfd1d9c
---- /dev/null
-+++ b/docs/releases/1.2.6.txt
-@@ -0,0 +1,16 @@
-+==========================
-+Django 1.2.6 release notes
-+==========================
-+
-+*September 9, 2011*
-+
-+Welcome to Django 1.2.6!
-+
-+This is the sixth bugfix/security release in the Django 1.2 series, fixing
-+several security issues present in Django 1.2.5. Django 1.2.6 is a
-+recommended upgrade for all users of any Django release in the 1.2.X series.
-+
-+For a full list of issues addressed in this release, see the `security
-+advisory`_.
-+
-+.. _security advisory: https://www.djangoproject.com/weblog/2011/sep/09/security-releases-issued/
-diff --git a/docs/releases/1.2.7.txt b/docs/releases/1.2.7.txt
-new file mode 100644
-index 0000000..c0cf698
---- /dev/null
-+++ b/docs/releases/1.2.7.txt
-@@ -0,0 +1,16 @@
-+==========================
-+Django 1.2.7 release notes
-+==========================
-+
-+*September 10, 2011*
-+
-+Welcome to Django 1.2.7!
-+
-+This is the seventh bugfix/security release in the Django 1.2 series. It
-+replaces Django 1.2.6 due to problems with the 1.2.6 release tarball.
-+Django 1.2.7 is a recommended upgrade for all users of any Django release in
-+the 1.2.X series.
-+
-+For more information, see the `release advisory`_.
-+
-+.. _release advisory: https://www.djangoproject.com/weblog/2011/sep/10/127/
-diff --git a/docs/releases/1.3.1.txt b/docs/releases/1.3.1.txt
-new file mode 100644
-index 0000000..4c28916
---- /dev/null
-+++ b/docs/releases/1.3.1.txt
-@@ -0,0 +1,16 @@
-+==========================
-+Django 1.3.1 release notes
-+==========================
-+
-+*September 9, 2011*
-+
-+Welcome to Django 1.3.1!
-+
-+This is the first security release in the Django 1.3 series, fixing several
-+security issues in Django 1.3. Django 1.3.1 is a recommended upgrade for
-+all users of Django 1.3.
-+
-+For a full list of issues addressed in this release, see the `security
-+advisory`_.
-+
-+.. _security advisory: https://www.djangoproject.com/weblog/2011/sep/09/security-releases-issued/
-diff --git a/docs/releases/index.txt b/docs/releases/index.txt
-index 8d23c28..40fe5b0 100644
---- a/docs/releases/index.txt
-+++ b/docs/releases/index.txt
-@@ -19,6 +19,7 @@ Final releases
- .. toctree::
- :maxdepth: 1
-
-+ 1.3.1
- 1.3
-
- 1.2 release
-@@ -26,6 +27,8 @@ Final releases
- .. toctree::
- :maxdepth: 1
-
-+ 1.2.7
-+ 1.2.6
- 1.2.5
- 1.2.4
- 1.2.2
-diff --git a/docs/topics/auth.txt b/docs/topics/auth.txt
-index 635f18f..5a2608a 100644
---- a/docs/topics/auth.txt
-+++ b/docs/topics/auth.txt
-@@ -1251,16 +1251,19 @@ can or cannot do with Task instances, specific to your application::
- ...
- class Meta:
- permissions = (
-- ("can_view", "Can see available tasks"),
-- ("can_change_status", "Can change the status of tasks"),
-- ("can_close", "Can remove a task by setting its status as closed"),
-+ ("view_task", "Can see available tasks"),
-+ ("change_task_status", "Can change the status of tasks"),
-+ ("close_task", "Can remove a task by setting its status as closed"),
- )
-
- The only thing this does is create those extra permissions when you run
- :djadmin:`manage.py syncdb <syncdb>`. Your code is in charge of checking the
- value of these permissions when an user is trying to access the functionality
- provided by the application (viewing tasks, changing the status of tasks,
--closing tasks.)
-+closing tasks.) Continuing the above example, the following checks if a user may
-+view tasks::
-+
-+ user.has_perm('app.view_task')
-
- API reference
- -------------
-diff --git a/docs/topics/cache.txt b/docs/topics/cache.txt
-index 8ef4ea2..9b68353 100644
---- a/docs/topics/cache.txt
-+++ b/docs/topics/cache.txt
-@@ -99,8 +99,9 @@ To use Memcached with Django:
- on your chosen memcached binding)
-
- * Set :setting:`LOCATION <CACHES-LOCATION>` to ``ip:port`` values,
-- where ``ip`` is the IP address of the Memcached daemon and
-- ``port`` is the port on which Memcached is running.
-+ where ``ip`` is the IP address of the Memcached daemon and ``port`` is the
-+ port on which Memcached is running, or to a ``unix:path`` value, where
-+ ``path`` is the path to a Memcached Unix socket file.
-
- In this example, Memcached is running on localhost (127.0.0.1) port 11211, using
- the ``python-memcached`` binding::
-@@ -112,6 +113,16 @@ the ``python-memcached`` binding::
- }
- }
-
-+In this example, Memcached is available through a local Unix socket file
-+:file:`/tmp/memcached.sock` using the ``python-memcached`` binding::
-+
-+ CACHES = {
-+ 'default': {
-+ 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
-+ 'LOCATION': 'unix:/tmp/memcached.sock',
-+ }
-+ }
-+
- One excellent feature of Memcached is its ability to share cache over multiple
- servers. This means you can run Memcached daemons on multiple machines, and the
- program will treat the group of machines as a *single* cache, without the need
-@@ -526,9 +537,10 @@ you may expect. But once a particular URL (e.g., ``/foo/23/``) has been
- requested, subsequent requests to that URL will use the cache.
-
- ``cache_page`` can also take an optional keyword argument, ``cache``,
--which directs the decorator to use a specific cache alias when caching view
--results. By default, the ``default`` alias will be used, but you can specify
--any cache alias you want::
-+which directs the decorator to use a specific cache (from your
-+:setting:`CACHES` setting) when caching view results. By default, the
-+``default`` cache will be used, but you can specify any cache you
-+want::
-
- @cache_page(60 * 15, cache="special_cache")
- def my_view(request):
-diff --git a/docs/topics/class-based-views.txt b/docs/topics/class-based-views.txt
-index 3831046..4da48ec 100644
---- a/docs/topics/class-based-views.txt
-+++ b/docs/topics/class-based-views.txt
-@@ -380,7 +380,7 @@ Next, we'll write the ``PublisherBookListView`` view itself::
- class PublisherBookListView(ListView):
-
- context_object_name = "book_list"
-- template_name = "books/books_by_publisher.html",
-+ template_name = "books/books_by_publisher.html"
-
- def get_queryset(self):
- publisher = get_object_or_404(Publisher, name__iexact=self.args[0])
-@@ -396,7 +396,7 @@ use it in the template::
- class PublisherBookListView(ListView):
-
- context_object_name = "book_list"
-- template_name = "books/books_by_publisher.html",
-+ template_name = "books/books_by_publisher.html"
-
- def get_queryset(self):
- self.publisher = get_object_or_404(Publisher, name__iexact=self.args[0])
-diff --git a/docs/topics/db/models.txt b/docs/topics/db/models.txt
-index 0e18205..af76344 100644
---- a/docs/topics/db/models.txt
-+++ b/docs/topics/db/models.txt
-@@ -324,11 +324,10 @@ whatever you want. For example::
- should work; all are optional.
-
- For details on accessing backwards-related objects, see the
-- `Following relationships backward example`_.
--
-+ :ref:`Following relationships backward example <backwards-related-objects>`.
-+
- For sample code, see the `Many-to-one relationship model tests`_.
-
-- .. _Following relationships backward example: http://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects
- .. _Many-to-one relationship model tests: http://code.djangoproject.com/browser/django/trunk/tests/modeltests/many_to_one
-
- Many-to-many relationships
-diff --git a/docs/topics/db/sql.txt b/docs/topics/db/sql.txt
-index fe71736..d9b8b1a 100644
---- a/docs/topics/db/sql.txt
-+++ b/docs/topics/db/sql.txt
-@@ -236,6 +236,30 @@ alias::
- # Your code here...
- transaction.commit_unless_managed(using='my_db_alias')
-
-+By default, the Python DB API will return results without their field
-+names, which means you end up with a ``list`` of values, rather than a
-+``dict``. At a small performance cost, you can return results as a
-+``dict`` by using something like this::
-+
-+ def dictfetchall(cursor):
-+ "Returns all rows from a cursor as a dict"
-+ desc = cursor.description
-+ return [
-+ dict(zip([col[0] for col in desc], row))
-+ for row in cursor.fetchall()
-+ ]
-+
-+Here is an example of the difference between the two::
-+
-+ >>> cursor.execute("SELECT id, parent_id from test LIMIT 2");
-+ >>> cursor.fetchall()
-+ ((54360982L, None), (54360880L, None))
-+
-+ >>> cursor.execute("SELECT id, parent_id from test LIMIT 2");
-+ >>> dictfetchall(cursor)
-+ [{'parent_id': None, 'id': 54360982L}, {'parent_id': None, 'id': 54360880L}]
-+
-+
- .. _transactions-and-raw-sql:
-
- Transactions and raw SQL
-diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt
-index 07bc5e3..24e000e 100644
---- a/docs/topics/forms/modelforms.txt
-+++ b/docs/topics/forms/modelforms.txt
-@@ -332,13 +332,17 @@ Since the Author model has only 3 fields, 'name', 'title', and
- .. note::
-
- If you specify ``fields`` or ``exclude`` when creating a form with
-- ``ModelForm``, then the fields that are not in the resulting form will not
-- be set by the form's ``save()`` method. Django will prevent any attempt to
-- save an incomplete model, so if the model does not allow the missing fields
-- to be empty, and does not provide a default value for the missing fields,
-- any attempt to ``save()`` a ``ModelForm`` with missing fields will fail.
-- To avoid this failure, you must instantiate your model with initial values
-- for the missing, but required fields::
-+ ``ModelForm``, then the fields that are not in the resulting form
-+ will not be set by the form's ``save()`` method. Also, if you
-+ manually add the excluded fields back to the form, they will not
-+ be initialized from the model instance.
-+
-+ Django will prevent any attempt to save an incomplete model, so if
-+ the model does not allow the missing fields to be empty, and does
-+ not provide a default value for the missing fields, any attempt to
-+ ``save()`` a ``ModelForm`` with missing fields will fail. To
-+ avoid this failure, you must instantiate your model with initial
-+ values for the missing, but required fields::
-
- author = Author(title='Mr')
- form = PartialAuthorForm(request.POST, instance=author)
-@@ -633,6 +637,12 @@ database. If a given instance's data didn't change in the bound data, the
- instance won't be saved to the database and won't be included in the return
- value (``instances``, in the above example).
-
-+When fields are missing from the form (for example because they have
-+been excluded), these fields will not be set by the ``save()``
-+method. You can find more information about this restriction, which
-+also holds for regular ``ModelForms``, in `Using a subset of fields on
-+the form`_.
-+
- Pass ``commit=False`` to return the unsaved model instances::
-
- # don't save to the database
-diff --git a/docs/topics/http/urls.txt b/docs/topics/http/urls.txt
-index 1caa801..7a0e724 100644
---- a/docs/topics/http/urls.txt
-+++ b/docs/topics/http/urls.txt
-@@ -54,6 +54,10 @@ algorithm the system follows to determine which Python code to execute:
- :class:`~django.http.HttpRequest` as its first argument and any values
- captured in the regex as remaining arguments.
-
-+ 5. If no regex matches, or if an exception is raised during any
-+ point in this process, Django invokes an appropriate
-+ error-handling view. See `Error handling`_ below.
-+
- Example
- =======
-
-@@ -99,10 +103,10 @@ Example requests:
- * ``/articles/2003`` would not match any of these patterns, because each
- pattern requires that the URL end with a slash.
-
-- * ``/articles/2003/03/3/`` would match the final pattern. Django would call
-- the function ``news.views.article_detail(request, '2003', '03', '3')``.
-+ * ``/articles/2003/03/03/`` would match the final pattern. Django would call
-+ the function ``news.views.article_detail(request, '2003', '03', '03')``.
-
--.. _Dive Into Python's explanation: http://diveintopython.org/regular_expressions/street_addresses.html#re.matching.2.3
-+.. _Dive Into Python's explanation: http://diveintopython.net/regular_expressions/street_addresses.html#re.matching.2.3
-
- Named groups
- ============
-@@ -123,7 +127,7 @@ Here's the above example URLconf, rewritten to use named groups::
- (r'^articles/2003/$', 'news.views.special_case_2003'),
- (r'^articles/(?P<year>\d{4})/$', 'news.views.year_archive'),
- (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive'),
-- (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d+)/$', 'news.views.article_detail'),
-+ (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', 'news.views.article_detail'),
- )
-
- This accomplishes exactly the same thing as the previous example, with one
-@@ -134,8 +138,8 @@ arguments rather than positional arguments. For example:
- ``news.views.month_archive(request, year='2005', month='03')``, instead
- of ``news.views.month_archive(request, '2005', '03')``.
-
-- * A request to ``/articles/2003/03/3/`` would call the function
-- ``news.views.article_detail(request, year='2003', month='03', day='3')``.
-+ * A request to ``/articles/2003/03/03/`` would call the function
-+ ``news.views.article_detail(request, year='2003', month='03', day='03')``.
-
- In practice, this means your URLconfs are slightly more explicit and less prone
- to argument-order bugs -- and you can reorder the arguments in your views'
-@@ -246,6 +250,31 @@ The ``prefix`` parameter has the same meaning as the first argument to
- ``patterns()`` and is only relevant when you're passing a string as the
- ``view`` parameter.
-
-+include
-+-------
-+
-+.. function:: include(<module or pattern_list>)
-+
-+A function that takes a full Python import path to another URLconf module that
-+should be "included" in this place.
-+
-+:func:`include` also accepts as an argument an iterable that returns URL
-+patterns.
-+
-+See `Including other URLconfs`_ below.
-+
-+Error handling
-+==============
-+
-+When Django can't find a regex matching the requested URL, or when an
-+exception is raised, Django will invoke an error-handling view. The
-+views to use for these cases are specified by two variables which can
-+be set in your root URLconf. Setting these variables in any other
-+URLconf will have no effect.
-+
-+See the documentation on :ref:`customizing error views
-+<customizing-error-views>` for more details.
-+
- handler404
- ----------
-
-@@ -275,19 +304,6 @@ value should suffice.
- .. versionchanged:: 1.2
- Previous versions of Django only accepted strings representing import paths.
-
--include
---------
--
--.. function:: include(<module or pattern_list>)
--
--A function that takes a full Python import path to another URLconf module that
--should be "included" in this place.
--
--:func:`include` also accepts as an argument an iterable that returns URL
--patterns.
--
--See `Including other URLconfs`_ below.
--
- Notes on capturing text in URLs
- ===============================
-
-@@ -420,8 +436,8 @@ directly the pattern list as returned by `patterns`_ instead. For example::
- from django.conf.urls.defaults import *
-
- extra_patterns = patterns('',
-- url(r'reports/(?P<id>\d+)/$', 'credit.views.report', name='credit-reports'),
-- url(r'charge/$', 'credit.views.charge', name='credit-charge'),
-+ url(r'^reports/(?P<id>\d+)/$', 'credit.views.report', name='credit-reports'),
-+ url(r'^charge/$', 'credit.views.charge', name='credit-charge'),
- )
-
- urlpatterns = patterns('',
-diff --git a/docs/topics/http/views.txt b/docs/topics/http/views.txt
-index 99359ab..83a52cb 100644
---- a/docs/topics/http/views.txt
-+++ b/docs/topics/http/views.txt
-@@ -122,6 +122,8 @@ In order to use the ``Http404`` exception to its fullest, you should create a
- template that is displayed when a 404 error is raised. This template should be
- called ``404.html`` and located in the top level of your template tree.
-
-+.. _customizing-error-views:
-+
- Customizing error views
- =======================
-
-diff --git a/docs/topics/i18n/internationalization.txt b/docs/topics/i18n/internationalization.txt
-index 5d50fa7..a83299c 100644
---- a/docs/topics/i18n/internationalization.txt
-+++ b/docs/topics/i18n/internationalization.txt
-@@ -477,7 +477,7 @@ for use within the translation block. Examples::
-
- You can use multiple expressions inside a single ``blocktrans`` tag::
-
-- {% blocktrans with book_t=book|title and author_t=author|title %}
-+ {% blocktrans with book_t=book|title author_t=author|title %}
- This is {{ book_t }} by {{ author_t }}
- {% endblocktrans %}
-
-diff --git a/docs/topics/settings.txt b/docs/topics/settings.txt
-index 61ddf8c..bda51f2 100644
---- a/docs/topics/settings.txt
-+++ b/docs/topics/settings.txt
-@@ -39,7 +39,7 @@ The value of ``DJANGO_SETTINGS_MODULE`` should be in Python path syntax, e.g.
- ``mysite.settings``. Note that the settings module should be on the
- Python `import search path`_.
-
--.. _import search path: http://diveintopython.org/getting_to_know_python/everything_is_an_object.html
-+.. _import search path: http://diveintopython.net/getting_to_know_python/everything_is_an_object.html
-
- The django-admin.py utility
- ---------------------------
-diff --git a/docs/topics/templates.txt b/docs/topics/templates.txt
-index 83269ae..fc2cd3f 100644
---- a/docs/topics/templates.txt
-+++ b/docs/topics/templates.txt
-@@ -555,6 +555,8 @@ variable that needs escaping. When auto-escaping is on, there's no danger of
- the ``escape`` filter *double-escaping* data -- the ``escape`` filter does not
- affect auto-escaped variables.
-
-+.. _string-literals-and-automatic-escaping:
-+
- String literals and automatic escaping
- --------------------------------------
-
-diff --git a/docs/topics/testing.txt b/docs/topics/testing.txt
-index 0a86f0d..8262b57 100644
---- a/docs/topics/testing.txt
-+++ b/docs/topics/testing.txt
-@@ -1586,7 +1586,7 @@ skipUnlessDBFeature
- Skip the decorated test if the named database feature is *not*
- supported.
-
--For example, the following test will not be executed if the database
-+For example, the following test will only be executed if the database
- supports transactions (e.g., it would run under PostgreSQL, but *not*
- under MySQL with MyISAM tables)::
-
-diff --git a/tests/modeltests/validators/tests.py b/tests/modeltests/validators/tests.py
-index e585262..4bd5827 100644
---- a/tests/modeltests/validators/tests.py
-+++ b/tests/modeltests/validators/tests.py
-@@ -28,6 +28,9 @@ TEST_DATA = (
- (validate_email, 'abc', ValidationError),
- (validate_email, 'a @x.cz', ValidationError),
- (validate_email, 'something@@somewhere.com', ValidationError),
-+ # Quoted-string format (CR not allowed)
-+ (validate_email, '"\\\011"@here.com', None),
-+ (validate_email, '"\\\012"@here.com', ValidationError),
-
- (validate_slug, 'slug-ok', None),
- (validate_slug, 'longer-slug-still-ok', None),
-diff --git a/tests/regressiontests/httpwrappers/tests.py b/tests/regressiontests/httpwrappers/tests.py
-index 2e2932f..6aabfe6 100644
---- a/tests/regressiontests/httpwrappers/tests.py
-+++ b/tests/regressiontests/httpwrappers/tests.py
-@@ -281,3 +281,9 @@ class CookieTests(unittest.TestCase):
- Test that a single non-standard cookie name doesn't affect all cookies. Ticket #13007.
- """
- self.assertTrue('good_cookie' in parse_cookie('good_cookie=yes;bad:cookie=yes').keys())
-+
-+ def test_repeated_nonstandard_keys(self):
-+ """
-+ Test that a repeated non-standard name doesn't affect all cookies. Ticket #15852
-+ """
-+ self.assertTrue('good_cookie' in parse_cookie('a,=b; a,=c; good_cookie=yes').keys())
-diff --git a/tests/regressiontests/utils/http.py b/tests/regressiontests/utils/http.py
-index 83a4a7f..666d04f 100644
---- a/tests/regressiontests/utils/http.py
-+++ b/tests/regressiontests/utils/http.py
-@@ -1,5 +1,7 @@
- from django.utils import http
- from django.utils import unittest
-+from django.http import HttpResponse, utils
-+from django.test import RequestFactory
-
- class TestUtilsHttp(unittest.TestCase):
-
-@@ -21,3 +23,49 @@ class TestUtilsHttp(unittest.TestCase):
- self.assertFalse(http.same_origin('http://foo.com', 'http://foo.com.evil.com'))
- # Different port
- self.assertFalse(http.same_origin('http://foo.com:8000', 'http://foo.com:8001'))
-+
-+ def test_fix_IE_for_vary(self):
-+ """
-+ Regression for #16632.
-+
-+ `fix_IE_for_vary` shouldn't crash when there's no Content-Type header.
-+ """
-+
-+ # functions to generate responses
-+ def response_with_unsafe_content_type():
-+ r = HttpResponse(content_type="text/unsafe")
-+ r['Vary'] = 'Cookie'
-+ return r
-+
-+ def no_content_response_with_unsafe_content_type():
-+ # 'Content-Type' always defaulted, so delete it
-+ r = response_with_unsafe_content_type()
-+ del r['Content-Type']
-+ return r
-+
-+ # request with & without IE user agent
-+ rf = RequestFactory()
-+ request = rf.get('/')
-+ ie_request = rf.get('/', HTTP_USER_AGENT='MSIE')
-+
-+ # not IE, unsafe_content_type
-+ response = response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(request, response)
-+ self.assertTrue('Vary' in response)
-+
-+ # IE, unsafe_content_type
-+ response = response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(ie_request, response)
-+ self.assertFalse('Vary' in response)
-+
-+ # not IE, no_content
-+ response = no_content_response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(request, response)
-+ self.assertTrue('Vary' in response)
-+
-+ # IE, no_content
-+ response = no_content_response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(ie_request, response)
-+ self.assertFalse('Vary' in response)
-+
-+
diff --git a/libre/django13/diff-django_branches_releases_1.3.X-from-16771-to-17460.diff b/libre/django13/diff-django_branches_releases_1.3.X-from-16771-to-17460.diff
deleted file mode 100644
index ebbf80993..000000000
--- a/libre/django13/diff-django_branches_releases_1.3.X-from-16771-to-17460.diff
+++ /dev/null
@@ -1,1575 +0,0 @@
-Index: django/http/__init__.py
-===================================================================
---- django/http/__init__.py (revision 16771)
-+++ django/http/__init__.py (revision 17460)
-@@ -92,7 +92,7 @@
- if not _cookie_allows_colon_in_names:
- def load(self, rawdata, ignore_parse_errors=False):
- if ignore_parse_errors:
-- self.bad_cookies = []
-+ self.bad_cookies = set()
- self._BaseCookie__set = self._loose_set
- super(SimpleCookie, self).load(rawdata)
- if ignore_parse_errors:
-@@ -106,8 +106,8 @@
- try:
- self._strict_set(key, real_value, coded_value)
- except Cookie.CookieError:
-- self.bad_cookies.append(key)
-- dict.__setitem__(self, key, None)
-+ self.bad_cookies.add(key)
-+ dict.__setitem__(self, key, Cookie.Morsel())
-
-
- class CompatCookie(SimpleCookie):
-Index: django/http/utils.py
-===================================================================
---- django/http/utils.py (revision 16771)
-+++ django/http/utils.py (revision 17460)
-@@ -76,7 +76,8 @@
-
- # The first part of the Content-Type field will be the MIME type,
- # everything after ';', such as character-set, can be ignored.
-- if response['Content-Type'].split(';')[0] not in safe_mime_types:
-+ mime_type = response.get('Content-Type', '').partition(';')[0]
-+ if mime_type not in safe_mime_types:
- try:
- del response['Vary']
- except KeyError:
-Index: django/db/backends/creation.py
-===================================================================
---- django/db/backends/creation.py (revision 16771)
-+++ django/db/backends/creation.py (revision 17460)
-@@ -374,15 +374,6 @@
- verbosity=max(verbosity - 1, 0),
- interactive=False,
- database=self.connection.alias)
--
-- # One effect of calling syncdb followed by flush is that the id of the
-- # default site may or may not be 1, depending on how the sequence was
-- # reset. If the sites app is loaded, then we coerce it.
-- from django.db.models import get_model
-- if 'django.contrib.sites' in settings.INSTALLED_APPS:
-- Site = get_model('sites', 'Site')
-- if Site is not None and Site.objects.using(self.connection.alias).count() == 1:
-- Site.objects.using(self.connection.alias).update(id=settings.SITE_ID)
-
- from django.core.cache import get_cache
- from django.core.cache.backends.db import BaseDatabaseCache
-Index: django/core/validators.py
-===================================================================
---- django/core/validators.py (revision 16771)
-+++ django/core/validators.py (revision 17460)
-@@ -147,7 +147,8 @@
-
- email_re = re.compile(
- r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*" # dot-atom
-- r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' # quoted-string
-+ # quoted-string, see also http://tools.ietf.org/html/rfc2822#section-3.2.5
-+ r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-\011\013\014\016-\177])*"'
- r')@(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+[A-Z]{2,6}\.?$', re.IGNORECASE) # domain
- validate_email = EmailValidator(email_re, _(u'Enter a valid e-mail address.'), 'invalid')
-
-Index: django/core/management/commands/shell.py
-===================================================================
---- django/core/management/commands/shell.py (revision 16771)
-+++ django/core/management/commands/shell.py (revision 17460)
-@@ -13,9 +13,8 @@
-
- def ipython(self):
- try:
-- from IPython.frontend.terminal.embed import TerminalInteractiveShell
-- shell = TerminalInteractiveShell()
-- shell.mainloop()
-+ from IPython import embed
-+ embed()
- except ImportError:
- # IPython < 0.11
- # Explicitly pass an empty list as arguments, because otherwise
-Index: django/contrib/gis/db/models/sql/compiler.py
-===================================================================
---- django/contrib/gis/db/models/sql/compiler.py (revision 16771)
-+++ django/contrib/gis/db/models/sql/compiler.py (revision 17460)
-@@ -1,7 +1,7 @@
- from itertools import izip
--from django.db.backends.util import truncate_name
-+from django.db.backends.util import truncate_name, typecast_timestamp
- from django.db.models.sql import compiler
--from django.db.models.sql.constants import TABLE_NAME
-+from django.db.models.sql.constants import TABLE_NAME, MULTI
- from django.db.models.sql.query import get_proxied_model
-
- SQLCompiler = compiler.SQLCompiler
-@@ -194,7 +194,7 @@
- # We resolve the rest of the columns if we're on Oracle or if
- # the `geo_values` attribute is defined.
- for value, field in map(None, row[index_start:], fields):
-- values.append(self.query.convert_values(value, field, connection=self.connection))
-+ values.append(self.query.convert_values(value, field, self.connection))
- else:
- values.extend(row[index_start:])
- return tuple(values)
-@@ -275,4 +275,24 @@
- pass
-
- class SQLDateCompiler(compiler.SQLDateCompiler, GeoSQLCompiler):
-- pass
-+ """
-+ This is overridden for GeoDjango to properly cast date columns, since
-+ `GeoQuery.resolve_columns` is used for spatial values.
-+ See #14648, #16757.
-+ """
-+ def results_iter(self):
-+ if self.connection.ops.oracle:
-+ from django.db.models.fields import DateTimeField
-+ fields = [DateTimeField()]
-+ else:
-+ needs_string_cast = self.connection.features.needs_datetime_string_cast
-+
-+ offset = len(self.query.extra_select)
-+ for rows in self.execute_sql(MULTI):
-+ for row in rows:
-+ date = row[offset]
-+ if self.connection.ops.oracle:
-+ date = self.resolve_columns(row, fields)[offset]
-+ elif needs_string_cast:
-+ date = typecast_timestamp(str(date))
-+ yield date
-Index: django/contrib/gis/db/backends/spatialite/compiler.py
-===================================================================
---- django/contrib/gis/db/backends/spatialite/compiler.py (revision 16771)
-+++ django/contrib/gis/db/backends/spatialite/compiler.py (revision 17460)
-@@ -1,32 +0,0 @@
--from django.db.backends.util import typecast_timestamp
--from django.db.models.sql import compiler
--from django.db.models.sql.constants import MULTI
--from django.contrib.gis.db.models.sql.compiler import GeoSQLCompiler as BaseGeoSQLCompiler
--
--SQLCompiler = compiler.SQLCompiler
--
--class GeoSQLCompiler(BaseGeoSQLCompiler, SQLCompiler):
-- pass
--
--class SQLInsertCompiler(compiler.SQLInsertCompiler, GeoSQLCompiler):
-- pass
--
--class SQLDeleteCompiler(compiler.SQLDeleteCompiler, GeoSQLCompiler):
-- pass
--
--class SQLUpdateCompiler(compiler.SQLUpdateCompiler, GeoSQLCompiler):
-- pass
--
--class SQLAggregateCompiler(compiler.SQLAggregateCompiler, GeoSQLCompiler):
-- pass
--
--class SQLDateCompiler(compiler.SQLDateCompiler, GeoSQLCompiler):
-- """
-- This is overridden for GeoDjango to properly cast date columns, see #16757.
-- """
-- def results_iter(self):
-- offset = len(self.query.extra_select)
-- for rows in self.execute_sql(MULTI):
-- for row in rows:
-- date = typecast_timestamp(str(row[offset]))
-- yield date
-Index: django/contrib/gis/db/backends/spatialite/operations.py
-===================================================================
---- django/contrib/gis/db/backends/spatialite/operations.py (revision 16771)
-+++ django/contrib/gis/db/backends/spatialite/operations.py (revision 17460)
-@@ -48,7 +48,7 @@
- return (SpatiaLiteDistance(operator),)
-
- class SpatiaLiteOperations(DatabaseOperations, BaseSpatialOperations):
-- compiler_module = 'django.contrib.gis.db.backends.spatialite.compiler'
-+ compiler_module = 'django.contrib.gis.db.models.sql.compiler'
- name = 'spatialite'
- spatialite = True
- version_regex = re.compile(r'^(?P<major>\d)\.(?P<minor1>\d)\.(?P<minor2>\d+)')
-Index: django/contrib/gis/db/backends/spatialite/creation.py
-===================================================================
---- django/contrib/gis/db/backends/spatialite/creation.py (revision 16771)
-+++ django/contrib/gis/db/backends/spatialite/creation.py (revision 17460)
-@@ -56,14 +56,6 @@
- interactive=False,
- database=self.connection.alias)
-
-- # One effect of calling syncdb followed by flush is that the id of the
-- # default site may or may not be 1, depending on how the sequence was
-- # reset. If the sites app is loaded, then we coerce it.
-- from django.db.models import get_model
-- Site = get_model('sites', 'Site')
-- if Site is not None and Site.objects.using(self.connection.alias).count() == 1:
-- Site.objects.using(self.connection.alias).update(id=settings.SITE_ID)
--
- from django.core.cache import get_cache
- from django.core.cache.backends.db import BaseDatabaseCache
- for cache_alias in settings.CACHES:
-Index: django/contrib/gis/tests/relatedapp/fixtures/initial_data.json.gz
-===================================================================
-Cannot display: file marked as a binary type.
-svn:mime-type = application/octet-stream
-Index: django/contrib/gis/tests/relatedapp/tests.py
-===================================================================
---- django/contrib/gis/tests/relatedapp/tests.py (revision 16771)
-+++ django/contrib/gis/tests/relatedapp/tests.py (revision 17460)
-@@ -1,3 +1,4 @@
-+from datetime import date
- from django.test import TestCase
-
- from django.contrib.gis.geos import GEOSGeometry, Point, MultiPoint
-@@ -281,4 +282,11 @@
- # evaluated as list generation swallows TypeError in CPython.
- sql = str(qs.query)
-
-+ def test16_annotated_date_queryset(self):
-+ "Ensure annotated date querysets work if spatial backend is used. See #14648."
-+ birth_years = [dt.year for dt in
-+ list(Author.objects.annotate(num_books=Count('books')).dates('dob', 'year'))]
-+ birth_years.sort()
-+ self.assertEqual([1950, 1974], birth_years)
-+
- # TODO: Related tests for KML, GML, and distance lookups.
-Index: django/contrib/gis/tests/relatedapp/models.py
-===================================================================
---- django/contrib/gis/tests/relatedapp/models.py (revision 16771)
-+++ django/contrib/gis/tests/relatedapp/models.py (revision 17460)
-@@ -36,6 +36,7 @@
- # These use the GeoManager but do not have any geographic fields.
- class Author(models.Model):
- name = models.CharField(max_length=100)
-+ dob = models.DateField()
- objects = models.GeoManager()
-
- class Article(models.Model):
-Index: django/contrib/sites/management.py
-===================================================================
---- django/contrib/sites/management.py (revision 16771)
-+++ django/contrib/sites/management.py (revision 17460)
-@@ -3,15 +3,34 @@
- """
-
- from django.db.models import signals
-+from django.db import connections
-+from django.db import router
- from django.contrib.sites.models import Site
- from django.contrib.sites import models as site_app
-+from django.core.management.color import no_style
-
- def create_default_site(app, created_models, verbosity, db, **kwargs):
-- if Site in created_models:
-+ # Only create the default sites in databases where Django created the table
-+ if Site in created_models and router.allow_syncdb(db, Site) :
-+ # The default settings set SITE_ID = 1, and some tests in Django's test
-+ # suite rely on this value. However, if database sequences are reused
-+ # (e.g. in the test suite after flush/syncdb), it isn't guaranteed that
-+ # the next id will be 1, so we coerce it. See #15573 and #16353. This
-+ # can also crop up outside of tests - see #15346.
- if verbosity >= 2:
- print "Creating example.com Site object"
-- s = Site(domain="example.com", name="example.com")
-- s.save(using=db)
-+ Site(pk=1, domain="example.com", name="example.com").save(using=db)
-+
-+ # We set an explicit pk instead of relying on auto-incrementation,
-+ # so we need to reset the database sequence.
-+ sequence_sql = connections[db].ops.sequence_reset_sql(no_style(), [Site])
-+ if sequence_sql:
-+ if verbosity >= 2:
-+ print "Resetting sequence"
-+ cursor = connections[db].cursor()
-+ for command in sequence_sql:
-+ cursor.execute(command)
-+
- Site.objects.clear_cache()
-
- signals.post_syncdb.connect(create_default_site, sender=site_app)
-Index: django/contrib/sites/tests.py
-===================================================================
---- django/contrib/sites/tests.py (revision 16771)
-+++ django/contrib/sites/tests.py (revision 17460)
-@@ -15,6 +15,12 @@
- def tearDown(self):
- Site._meta.installed = self.old_Site_meta_installed
-
-+ def test_save_another(self):
-+ # Regression for #17415
-+ # On some backends the sequence needs reset after save with explicit ID.
-+ # Test that there is no sequence collisions by saving another site.
-+ Site(domain="example2.com", name="example2.com").save()
-+
- def test_site_manager(self):
- # Make sure that get_current() does not return a deleted Site object.
- s = Site.objects.get_current()
-Index: django/contrib/admin/media/css/forms.css
-===================================================================
---- django/contrib/admin/media/css/forms.css (revision 16771)
-+++ django/contrib/admin/media/css/forms.css (revision 17460)
-@@ -352,9 +352,3 @@
- .empty-form {
- display: none;
- }
--
--/* IE7 specific bug fixes */
--
--.submit-row input {
-- float: right;
--}
-\ No newline at end of file
-Index: tests/modeltests/validators/tests.py
-===================================================================
---- tests/modeltests/validators/tests.py (revision 16771)
-+++ tests/modeltests/validators/tests.py (revision 17460)
-@@ -28,6 +28,9 @@
- (validate_email, 'abc', ValidationError),
- (validate_email, 'a @x.cz', ValidationError),
- (validate_email, 'something@@somewhere.com', ValidationError),
-+ # Quoted-string format (CR not allowed)
-+ (validate_email, '"\\\011"@here.com', None),
-+ (validate_email, '"\\\012"@here.com', ValidationError),
-
- (validate_slug, 'slug-ok', None),
- (validate_slug, 'longer-slug-still-ok', None),
-Index: tests/regressiontests/utils/http.py
-===================================================================
---- tests/regressiontests/utils/http.py (revision 16771)
-+++ tests/regressiontests/utils/http.py (revision 17460)
-@@ -1,5 +1,7 @@
- from django.utils import http
- from django.utils import unittest
-+from django.http import HttpResponse, utils
-+from django.test import RequestFactory
-
- class TestUtilsHttp(unittest.TestCase):
-
-@@ -21,3 +23,49 @@
- self.assertFalse(http.same_origin('http://foo.com', 'http://foo.com.evil.com'))
- # Different port
- self.assertFalse(http.same_origin('http://foo.com:8000', 'http://foo.com:8001'))
-+
-+ def test_fix_IE_for_vary(self):
-+ """
-+ Regression for #16632.
-+
-+ `fix_IE_for_vary` shouldn't crash when there's no Content-Type header.
-+ """
-+
-+ # functions to generate responses
-+ def response_with_unsafe_content_type():
-+ r = HttpResponse(content_type="text/unsafe")
-+ r['Vary'] = 'Cookie'
-+ return r
-+
-+ def no_content_response_with_unsafe_content_type():
-+ # 'Content-Type' always defaulted, so delete it
-+ r = response_with_unsafe_content_type()
-+ del r['Content-Type']
-+ return r
-+
-+ # request with & without IE user agent
-+ rf = RequestFactory()
-+ request = rf.get('/')
-+ ie_request = rf.get('/', HTTP_USER_AGENT='MSIE')
-+
-+ # not IE, unsafe_content_type
-+ response = response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(request, response)
-+ self.assertTrue('Vary' in response)
-+
-+ # IE, unsafe_content_type
-+ response = response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(ie_request, response)
-+ self.assertFalse('Vary' in response)
-+
-+ # not IE, no_content
-+ response = no_content_response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(request, response)
-+ self.assertTrue('Vary' in response)
-+
-+ # IE, no_content
-+ response = no_content_response_with_unsafe_content_type()
-+ utils.fix_IE_for_vary(ie_request, response)
-+ self.assertFalse('Vary' in response)
-+
-+
-Index: tests/regressiontests/httpwrappers/tests.py
-===================================================================
---- tests/regressiontests/httpwrappers/tests.py (revision 16771)
-+++ tests/regressiontests/httpwrappers/tests.py (revision 17460)
-@@ -281,3 +281,9 @@
- Test that a single non-standard cookie name doesn't affect all cookies. Ticket #13007.
- """
- self.assertTrue('good_cookie' in parse_cookie('good_cookie=yes;bad:cookie=yes').keys())
-+
-+ def test_repeated_nonstandard_keys(self):
-+ """
-+ Test that a repeated non-standard name doesn't affect all cookies. Ticket #15852
-+ """
-+ self.assertTrue('good_cookie' in parse_cookie('a,=b; a,=c; good_cookie=yes').keys())
-Index: docs/index.txt
-===================================================================
---- docs/index.txt (revision 16771)
-+++ docs/index.txt (revision 17460)
-@@ -28,7 +28,7 @@
- .. _archives of the django-users mailing list: http://groups.google.com/group/django-users/
- .. _post a question: http://groups.google.com/group/django-users/
- .. _#django IRC channel: irc://irc.freenode.net/django
--.. _IRC logs: http://botland.oebfare.com/logger/django/
-+.. _IRC logs: http://django-irc-logs.com/
- .. _ticket tracker: http://code.djangoproject.com/
-
- First steps
-Index: docs/intro/tutorial01.txt
-===================================================================
---- docs/intro/tutorial01.txt (revision 16771)
-+++ docs/intro/tutorial01.txt (revision 17460)
-@@ -59,7 +59,7 @@
- can be run as a program. To do this, open Terminal.app and navigate (using
- the ``cd`` command) to the directory where :doc:`django-admin.py
- </ref/django-admin>` is installed, then run the command
-- ``chmod +x django-admin.py``.
-+ ``sudo chmod +x django-admin.py``.
-
- .. note::
-
-@@ -692,10 +692,9 @@
-
- For more information on model relations, see :doc:`Accessing related objects
- </ref/models/relations>`. For more on how to use double underscores to perform
--field lookups via the API, see `Field lookups`__. For full details on the
--database API, see our :doc:`Database API reference </topics/db/queries>`.
-+field lookups via the API, see :ref:`Field lookups <field-lookups-intro>`. For
-+full details on the database API, see our :doc:`Database API reference
-+</topics/db/queries>`.
-
--__ http://docs.djangoproject.com/en/1.2/topics/db/queries/#field-lookups
--
- When you're comfortable with the API, read :doc:`part 2 of this tutorial
- </intro/tutorial02>` to get Django's automatic admin working.
-Index: docs/intro/tutorial02.txt
-===================================================================
---- docs/intro/tutorial02.txt (revision 16771)
-+++ docs/intro/tutorial02.txt (revision 17460)
-@@ -40,22 +40,22 @@
-
- .. parsed-literal::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- # Uncomment the next two lines to enable the admin:
- **from django.contrib import admin**
- **admin.autodiscover()**
-
- urlpatterns = patterns('',
-- # Example:
-- # (r'^mysite/', include('mysite.foo.urls')),
-+ # Examples:
-+ # url(r'^$', 'mysite.views.home', name='home'),
-+ # url(r'^mysite/', include('mysite.foo.urls')),
-
-- # Uncomment the admin/doc line below and add 'django.contrib.admindocs'
-- # to INSTALLED_APPS to enable admin documentation:
-- # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
-+ # Uncomment the admin/doc line below to enable admin documentation:
-+ # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
-
- # Uncomment the next line to enable the admin:
-- **(r'^admin/', include(admin.site.urls)),**
-+ **url(r'^admin/', include(admin.site.urls)),**
- )
-
- (The bold lines are the ones that needed to be uncommented.)
-Index: docs/intro/tutorial03.txt
-===================================================================
---- docs/intro/tutorial03.txt (revision 16771)
-+++ docs/intro/tutorial03.txt (revision 17460)
-@@ -78,17 +78,17 @@
-
- Time for an example. Edit ``mysite/urls.py`` so it looks like this::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- from django.contrib import admin
- admin.autodiscover()
-
- urlpatterns = patterns('',
-- (r'^polls/$', 'polls.views.index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-- (r'^admin/', include(admin.site.urls)),
-+ url(r'^polls/$', 'polls.views.index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-+ url(r'^admin/', include(admin.site.urls)),
- )
-
- This is worth a review. When somebody requests a page from your Web site -- say,
-@@ -112,7 +112,7 @@
- -- unless you have a sick sense of humor, in which case you can do something
- like this::
-
-- (r'^polls/latest\.php$', 'polls.views.index'),
-+ url(r'^polls/latest\.php$', 'polls.views.index'),
-
- But, don't do that. It's silly.
-
-@@ -357,23 +357,24 @@
- Write a 404 (page not found) view
- =================================
-
--When you raise :exc:`~django.http.Http404` from within a view, Django will load
--a special view devoted to handling 404 errors. It finds it by looking for the
--variable ``handler404``, which is a string in Python dotted syntax -- the same
--format the normal URLconf callbacks use. A 404 view itself has nothing special:
--It's just a normal view.
-+When you raise :exc:`~django.http.Http404` from within a view, Django
-+will load a special view devoted to handling 404 errors. It finds it
-+by looking for the variable ``handler404`` in your root URLconf (and
-+only in your root URLconf; setting ``handler404`` anywhere else will
-+have no effect), which is a string in Python dotted syntax -- the same
-+format the normal URLconf callbacks use. A 404 view itself has nothing
-+special: It's just a normal view.
-
--You normally won't have to bother with writing 404 views. By default, URLconfs
--have the following line up top::
-+You normally won't have to bother with writing 404 views. If you don't set
-+``handler404``, the built-in view :func:`django.views.defaults.page_not_found`
-+is used by default. In this case, you still have one obligation: To create a
-+``404.html`` template in the root of your template directory. The default 404
-+view will use that template for all 404 errors. If :setting:`DEBUG` is set to
-+``False`` (in your settings module) and if you didn't create a ``404.html``
-+file, an ``Http500`` is raised instead. So remember to create a ``404.html``.
-
-- from django.conf.urls.defaults import *
-+A couple more things to note about 404 views:
-
--That takes care of setting ``handler404`` in the current module. As you can see
--in ``django/conf/urls/defaults.py``, ``handler404`` is set to
--:func:`django.views.defaults.page_not_found` by default.
--
--Four more things to note about 404 views:
--
- * If :setting:`DEBUG` is set to ``True`` (in your settings module) then your
- 404 view will never be used (and thus the ``404.html`` template will never
- be rendered) because the traceback will be displayed instead.
-@@ -381,21 +382,12 @@
- * The 404 view is also called if Django doesn't find a match after checking
- every regular expression in the URLconf.
-
-- * If you don't define your own 404 view -- and simply use the default, which
-- is recommended -- you still have one obligation: To create a ``404.html``
-- template in the root of your template directory. The default 404 view will
-- use that template for all 404 errors.
--
-- * If :setting:`DEBUG` is set to ``False`` (in your settings module) and if
-- you didn't create a ``404.html`` file, an ``Http500`` is raised instead.
-- So remember to create a ``404.html``.
--
- Write a 500 (server error) view
- ===============================
-
--Similarly, URLconfs may define a ``handler500``, which points to a view to call
--in case of server errors. Server errors happen when you have runtime errors in
--view code.
-+Similarly, your root URLconf may define a ``handler500``, which points
-+to a view to call in case of server errors. Server errors happen when
-+you have runtime errors in view code.
-
- Use the template system
- =======================
-@@ -432,10 +424,10 @@
- the URLconf, you may notice there's a fair bit of redundancy in it::
-
- urlpatterns = patterns('',
-- (r'^polls/$', 'polls.views.index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-+ url(r'^polls/$', 'polls.views.index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'polls.views.results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
- )
-
- Namely, ``polls.views`` is in every callback.
-@@ -445,10 +437,10 @@
- first argument to :func:`~django.conf.urls.defaults.patterns`, like so::
-
- urlpatterns = patterns('polls.views',
-- (r'^polls/$', 'index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^polls/$', 'index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- This is functionally identical to the previous formatting. It's just a bit
-@@ -459,20 +451,20 @@
- :func:`~django.conf.urls.defaults.patterns`. Your full ``mysite/urls.py`` might
- now look like this::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- from django.contrib import admin
- admin.autodiscover()
-
- urlpatterns = patterns('polls.views',
-- (r'^polls/$', 'index'),
-- (r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-- (r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^polls/$', 'index'),
-+ url(r'^polls/(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- urlpatterns += patterns('',
-- (r'^admin/', include(admin.site.urls)),
-+ url(r'^admin/', include(admin.site.urls)),
- )
-
- Decoupling the URLconfs
-@@ -502,8 +494,8 @@
- admin.autodiscover()
-
- urlpatterns = patterns('',
-- (r'^polls/', include('polls.urls')),
-- (r'^admin/', include(admin.site.urls)),
-+ url(r'^polls/', include('polls.urls')),
-+ url(r'^admin/', include(admin.site.urls)),
- )
-
- :func:`~django.conf.urls.defaults.include` simply references another URLconf.
-@@ -526,13 +518,13 @@
- lines registering the admin site. Your ``polls/urls.py`` file should now look like
- this::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- urlpatterns = patterns('polls.views',
-- (r'^$', 'index'),
-- (r'^(?P<poll_id>\d+)/$', 'detail'),
-- (r'^(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^$', 'index'),
-+ url(r'^(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- The idea behind :func:`~django.conf.urls.defaults.include` and URLconf
-Index: docs/intro/index.txt
-===================================================================
---- docs/intro/index.txt (revision 16771)
-+++ docs/intro/index.txt (revision 17460)
-@@ -31,6 +31,6 @@
-
- .. _python: http://python.org/
- .. _list of Python resources for non-programmers: http://wiki.python.org/moin/BeginnersGuide/NonProgrammers
-- .. _dive into python: http://diveintopython.org/
-+ .. _dive into python: http://diveintopython.net/
- .. _dead-tree version: http://www.amazon.com/exec/obidos/ASIN/1590593561/ref=nosim/jacobian20
- .. _books about Python: http://wiki.python.org/moin/PythonBooks
-\ No newline at end of file
-Index: docs/intro/tutorial04.txt
-===================================================================
---- docs/intro/tutorial04.txt (revision 16771)
-+++ docs/intro/tutorial04.txt (revision 17460)
-@@ -218,13 +218,13 @@
- First, open the ``polls/urls.py`` URLconf. It looks like this, according to the
- tutorial so far::
-
-- from django.conf.urls.defaults import *
-+ from django.conf.urls.defaults import patterns, include, url
-
- urlpatterns = patterns('polls.views',
-- (r'^$', 'index'),
-- (r'^(?P<poll_id>\d+)/$', 'detail'),
-- (r'^(?P<poll_id>\d+)/results/$', 'results'),
-- (r'^(?P<poll_id>\d+)/vote/$', 'vote'),
-+ url(r'^$', 'index'),
-+ url(r'^(?P<poll_id>\d+)/$', 'detail'),
-+ url(r'^(?P<poll_id>\d+)/results/$', 'results'),
-+ url(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
- )
-
- Change it like so::
-@@ -234,12 +234,12 @@
- from polls.models import Poll
-
- urlpatterns = patterns('',
-- (r'^$',
-+ url(r'^$',
- ListView.as_view(
- queryset=Poll.objects.order_by('-pub_date')[:5],
- context_object_name='latest_poll_list',
- template_name='polls/index.html')),
-- (r'^(?P<pk>\d+)/$',
-+ url(r'^(?P<pk>\d+)/$',
- DetailView.as_view(
- model=Poll,
- template_name='polls/detail.html')),
-@@ -248,7 +248,7 @@
- model=Poll,
- template_name='polls/results.html'),
- name='poll_results'),
-- (r'^(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
-+ url(r'^(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
- )
-
- We're using two generic views here:
-Index: docs/internals/release-process.txt
-===================================================================
---- docs/internals/release-process.txt (revision 16771)
-+++ docs/internals/release-process.txt (revision 17460)
-@@ -99,6 +99,13 @@
- * Security fixes will be applied to the current trunk and the previous two
- minor releases.
-
-+* Documentation fixes will generally be more freely backported to the last
-+ release branch (at the discretion of the committer), and don't need to meet
-+ the "critical fixes only" bar as it's highly advantageous to have the docs
-+ for the last release be up-to-date and correct, and the downside of
-+ backporting (risk of introducing regressions) is much less of a concern
-+ with doc fixes.
-+
- As a concrete example, consider a moment in time halfway between the release of
- Django 1.3 and 1.4. At this point in time:
-
-@@ -111,6 +118,9 @@
- ``1.2.X`` branch. Security fixes will trigger the release of ``1.3.1``,
- ``1.2.1``, etc.
-
-+* Documentation fixes will be applied to trunk, and if easily backported, to
-+ the ``1.3.X`` branch.
-+
- .. _release-process:
-
- Release process
-Index: docs/internals/deprecation.txt
-===================================================================
---- docs/internals/deprecation.txt (revision 16771)
-+++ docs/internals/deprecation.txt (revision 17460)
-@@ -177,6 +177,12 @@
- required to end with a trailing slash to ensure there is a consistent
- way to combine paths in templates.
-
-+ * Translations located under the so-called *project path* will be
-+ ignored during the translation building process performed at runtime.
-+ The :setting:`LOCALE_PATHS` setting can be used for the same task by
-+ including the filesystem path to a ``locale`` directory containing
-+ non-app-specific translations in its value.
-+
- * 2.0
- * ``django.views.defaults.shortcut()``. This function has been moved
- to ``django.contrib.contenttypes.views.shortcut()`` as part of the
-Index: docs/howto/deployment/modpython.txt
-===================================================================
---- docs/howto/deployment/modpython.txt (revision 16771)
-+++ docs/howto/deployment/modpython.txt (revision 17460)
-@@ -293,11 +293,14 @@
- arrangement. You're responsible for setting up Apache, or whichever media
- server you're using, to serve the admin files.
-
--The admin files live in (:file:`django/contrib/admin/static/admin`) of the
-+The admin files live in (:file:`django/contrib/admin/media/admin`) of the
- Django distribution.
-
--We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle
--the admin files, but here are two other approaches:
-+We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle the
-+admin files (this means using the :djadmin:`collectstatic` management command
-+to collect the static files in :setting:`STATIC_ROOT`, and then configuring
-+your webserver to serve :setting:`STATIC_ROOT` at :setting:`STATIC_URL`), but
-+here are two other approaches:
-
- 1. Create a symbolic link to the admin static files from within your
- document root.
-Index: docs/howto/deployment/modwsgi.txt
-===================================================================
---- docs/howto/deployment/modwsgi.txt (revision 16771)
-+++ docs/howto/deployment/modwsgi.txt (revision 17460)
-@@ -127,11 +127,14 @@
- arrangement. You're responsible for setting up Apache, or whichever media
- server you're using, to serve the admin files.
-
--The admin files live in (:file:`django/contrib/admin/static/admin`) of the
-+The admin files live in (:file:`django/contrib/admin/media/admin`) of the
- Django distribution.
-
--We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle
--the admin files, but here are two other approaches:
-+We **strongly** recommend using :mod:`django.contrib.staticfiles` to handle the
-+admin files (this means using the :djadmin:`collectstatic` management command
-+to collect the static files in :setting:`STATIC_ROOT`, and then configuring
-+your webserver to serve :setting:`STATIC_ROOT` at :setting:`STATIC_URL`), but
-+here are two other approaches:
-
- 1. Create a symbolic link to the admin static files from within your
- document root.
-Index: docs/topics/auth.txt
-===================================================================
---- docs/topics/auth.txt (revision 16771)
-+++ docs/topics/auth.txt (revision 17460)
-@@ -1251,17 +1251,20 @@
- ...
- class Meta:
- permissions = (
-- ("can_view", "Can see available tasks"),
-- ("can_change_status", "Can change the status of tasks"),
-- ("can_close", "Can remove a task by setting its status as closed"),
-+ ("view_task", "Can see available tasks"),
-+ ("change_task_status", "Can change the status of tasks"),
-+ ("close_task", "Can remove a task by setting its status as closed"),
- )
-
- The only thing this does is create those extra permissions when you run
- :djadmin:`manage.py syncdb <syncdb>`. Your code is in charge of checking the
- value of these permissions when an user is trying to access the functionality
- provided by the application (viewing tasks, changing the status of tasks,
--closing tasks.)
-+closing tasks.) Continuing the above example, the following checks if a user may
-+view tasks::
-
-+ user.has_perm('app.view_task')
-+
- API reference
- -------------
-
-Index: docs/topics/http/urls.txt
-===================================================================
---- docs/topics/http/urls.txt (revision 16771)
-+++ docs/topics/http/urls.txt (revision 17460)
-@@ -54,6 +54,10 @@
- :class:`~django.http.HttpRequest` as its first argument and any values
- captured in the regex as remaining arguments.
-
-+ 5. If no regex matches, or if an exception is raised during any
-+ point in this process, Django invokes an appropriate
-+ error-handling view. See `Error handling`_ below.
-+
- Example
- =======
-
-@@ -99,10 +103,10 @@
- * ``/articles/2003`` would not match any of these patterns, because each
- pattern requires that the URL end with a slash.
-
-- * ``/articles/2003/03/3/`` would match the final pattern. Django would call
-- the function ``news.views.article_detail(request, '2003', '03', '3')``.
-+ * ``/articles/2003/03/03/`` would match the final pattern. Django would call
-+ the function ``news.views.article_detail(request, '2003', '03', '03')``.
-
--.. _Dive Into Python's explanation: http://diveintopython.org/regular_expressions/street_addresses.html#re.matching.2.3
-+.. _Dive Into Python's explanation: http://diveintopython.net/regular_expressions/street_addresses.html#re.matching.2.3
-
- Named groups
- ============
-@@ -123,7 +127,7 @@
- (r'^articles/2003/$', 'news.views.special_case_2003'),
- (r'^articles/(?P<year>\d{4})/$', 'news.views.year_archive'),
- (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive'),
-- (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d+)/$', 'news.views.article_detail'),
-+ (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', 'news.views.article_detail'),
- )
-
- This accomplishes exactly the same thing as the previous example, with one
-@@ -134,8 +138,8 @@
- ``news.views.month_archive(request, year='2005', month='03')``, instead
- of ``news.views.month_archive(request, '2005', '03')``.
-
-- * A request to ``/articles/2003/03/3/`` would call the function
-- ``news.views.article_detail(request, year='2003', month='03', day='3')``.
-+ * A request to ``/articles/2003/03/03/`` would call the function
-+ ``news.views.article_detail(request, year='2003', month='03', day='03')``.
-
- In practice, this means your URLconfs are slightly more explicit and less prone
- to argument-order bugs -- and you can reorder the arguments in your views'
-@@ -246,6 +250,31 @@
- ``patterns()`` and is only relevant when you're passing a string as the
- ``view`` parameter.
-
-+include
-+-------
-+
-+.. function:: include(<module or pattern_list>)
-+
-+A function that takes a full Python import path to another URLconf module that
-+should be "included" in this place.
-+
-+:func:`include` also accepts as an argument an iterable that returns URL
-+patterns.
-+
-+See `Including other URLconfs`_ below.
-+
-+Error handling
-+==============
-+
-+When Django can't find a regex matching the requested URL, or when an
-+exception is raised, Django will invoke an error-handling view. The
-+views to use for these cases are specified by two variables which can
-+be set in your root URLconf. Setting these variables in any other
-+URLconf will have no effect.
-+
-+See the documentation on :ref:`customizing error views
-+<customizing-error-views>` for more details.
-+
- handler404
- ----------
-
-@@ -275,19 +304,6 @@
- .. versionchanged:: 1.2
- Previous versions of Django only accepted strings representing import paths.
-
--include
---------
--
--.. function:: include(<module or pattern_list>)
--
--A function that takes a full Python import path to another URLconf module that
--should be "included" in this place.
--
--:func:`include` also accepts as an argument an iterable that returns URL
--patterns.
--
--See `Including other URLconfs`_ below.
--
- Notes on capturing text in URLs
- ===============================
-
-@@ -420,8 +436,8 @@
- from django.conf.urls.defaults import *
-
- extra_patterns = patterns('',
-- url(r'reports/(?P<id>\d+)/$', 'credit.views.report', name='credit-reports'),
-- url(r'charge/$', 'credit.views.charge', name='credit-charge'),
-+ url(r'^reports/(?P<id>\d+)/$', 'credit.views.report', name='credit-reports'),
-+ url(r'^charge/$', 'credit.views.charge', name='credit-charge'),
- )
-
- urlpatterns = patterns('',
-Index: docs/topics/http/views.txt
-===================================================================
---- docs/topics/http/views.txt (revision 16771)
-+++ docs/topics/http/views.txt (revision 17460)
-@@ -122,6 +122,8 @@
- template that is displayed when a 404 error is raised. This template should be
- called ``404.html`` and located in the top level of your template tree.
-
-+.. _customizing-error-views:
-+
- Customizing error views
- =======================
-
-Index: docs/topics/i18n/internationalization.txt
-===================================================================
---- docs/topics/i18n/internationalization.txt (revision 16771)
-+++ docs/topics/i18n/internationalization.txt (revision 17460)
-@@ -477,7 +477,7 @@
-
- You can use multiple expressions inside a single ``blocktrans`` tag::
-
-- {% blocktrans with book_t=book|title and author_t=author|title %}
-+ {% blocktrans with book_t=book|title author_t=author|title %}
- This is {{ book_t }} by {{ author_t }}
- {% endblocktrans %}
-
-Index: docs/topics/cache.txt
-===================================================================
---- docs/topics/cache.txt (revision 16771)
-+++ docs/topics/cache.txt (revision 17460)
-@@ -99,8 +99,9 @@
- on your chosen memcached binding)
-
- * Set :setting:`LOCATION <CACHES-LOCATION>` to ``ip:port`` values,
-- where ``ip`` is the IP address of the Memcached daemon and
-- ``port`` is the port on which Memcached is running.
-+ where ``ip`` is the IP address of the Memcached daemon and ``port`` is the
-+ port on which Memcached is running, or to a ``unix:path`` value, where
-+ ``path`` is the path to a Memcached Unix socket file.
-
- In this example, Memcached is running on localhost (127.0.0.1) port 11211, using
- the ``python-memcached`` binding::
-@@ -112,6 +113,16 @@
- }
- }
-
-+In this example, Memcached is available through a local Unix socket file
-+:file:`/tmp/memcached.sock` using the ``python-memcached`` binding::
-+
-+ CACHES = {
-+ 'default': {
-+ 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
-+ 'LOCATION': 'unix:/tmp/memcached.sock',
-+ }
-+ }
-+
- One excellent feature of Memcached is its ability to share cache over multiple
- servers. This means you can run Memcached daemons on multiple machines, and the
- program will treat the group of machines as a *single* cache, without the need
-@@ -526,9 +537,10 @@
- requested, subsequent requests to that URL will use the cache.
-
- ``cache_page`` can also take an optional keyword argument, ``cache``,
--which directs the decorator to use a specific cache alias when caching view
--results. By default, the ``default`` alias will be used, but you can specify
--any cache alias you want::
-+which directs the decorator to use a specific cache (from your
-+:setting:`CACHES` setting) when caching view results. By default, the
-+``default`` cache will be used, but you can specify any cache you
-+want::
-
- @cache_page(60 * 15, cache="special_cache")
- def my_view(request):
-Index: docs/topics/db/models.txt
-===================================================================
---- docs/topics/db/models.txt (revision 16771)
-+++ docs/topics/db/models.txt (revision 17460)
-@@ -324,11 +324,10 @@
- should work; all are optional.
-
- For details on accessing backwards-related objects, see the
-- `Following relationships backward example`_.
--
-+ :ref:`Following relationships backward example <backwards-related-objects>`.
-+
- For sample code, see the `Many-to-one relationship model tests`_.
-
-- .. _Following relationships backward example: http://docs.djangoproject.com/en/dev/topics/db/queries/#backwards-related-objects
- .. _Many-to-one relationship model tests: http://code.djangoproject.com/browser/django/trunk/tests/modeltests/many_to_one
-
- Many-to-many relationships
-Index: docs/topics/db/sql.txt
-===================================================================
---- docs/topics/db/sql.txt (revision 16771)
-+++ docs/topics/db/sql.txt (revision 17460)
-@@ -236,6 +236,30 @@
- # Your code here...
- transaction.commit_unless_managed(using='my_db_alias')
-
-+By default, the Python DB API will return results without their field
-+names, which means you end up with a ``list`` of values, rather than a
-+``dict``. At a small performance cost, you can return results as a
-+``dict`` by using something like this::
-+
-+ def dictfetchall(cursor):
-+ "Returns all rows from a cursor as a dict"
-+ desc = cursor.description
-+ return [
-+ dict(zip([col[0] for col in desc], row))
-+ for row in cursor.fetchall()
-+ ]
-+
-+Here is an example of the difference between the two::
-+
-+ >>> cursor.execute("SELECT id, parent_id from test LIMIT 2");
-+ >>> cursor.fetchall()
-+ ((54360982L, None), (54360880L, None))
-+
-+ >>> cursor.execute("SELECT id, parent_id from test LIMIT 2");
-+ >>> dictfetchall(cursor)
-+ [{'parent_id': None, 'id': 54360982L}, {'parent_id': None, 'id': 54360880L}]
-+
-+
- .. _transactions-and-raw-sql:
-
- Transactions and raw SQL
-Index: docs/topics/forms/modelforms.txt
-===================================================================
---- docs/topics/forms/modelforms.txt (revision 16771)
-+++ docs/topics/forms/modelforms.txt (revision 17460)
-@@ -332,14 +332,18 @@
- .. note::
-
- If you specify ``fields`` or ``exclude`` when creating a form with
-- ``ModelForm``, then the fields that are not in the resulting form will not
-- be set by the form's ``save()`` method. Django will prevent any attempt to
-- save an incomplete model, so if the model does not allow the missing fields
-- to be empty, and does not provide a default value for the missing fields,
-- any attempt to ``save()`` a ``ModelForm`` with missing fields will fail.
-- To avoid this failure, you must instantiate your model with initial values
-- for the missing, but required fields::
-+ ``ModelForm``, then the fields that are not in the resulting form
-+ will not be set by the form's ``save()`` method. Also, if you
-+ manually add the excluded fields back to the form, they will not
-+ be initialized from the model instance.
-
-+ Django will prevent any attempt to save an incomplete model, so if
-+ the model does not allow the missing fields to be empty, and does
-+ not provide a default value for the missing fields, any attempt to
-+ ``save()`` a ``ModelForm`` with missing fields will fail. To
-+ avoid this failure, you must instantiate your model with initial
-+ values for the missing, but required fields::
-+
- author = Author(title='Mr')
- form = PartialAuthorForm(request.POST, instance=author)
- form.save()
-@@ -633,6 +637,12 @@
- instance won't be saved to the database and won't be included in the return
- value (``instances``, in the above example).
-
-+When fields are missing from the form (for example because they have
-+been excluded), these fields will not be set by the ``save()``
-+method. You can find more information about this restriction, which
-+also holds for regular ``ModelForms``, in `Using a subset of fields on
-+the form`_.
-+
- Pass ``commit=False`` to return the unsaved model instances::
-
- # don't save to the database
-Index: docs/topics/class-based-views.txt
-===================================================================
---- docs/topics/class-based-views.txt (revision 16771)
-+++ docs/topics/class-based-views.txt (revision 17460)
-@@ -380,7 +380,7 @@
- class PublisherBookListView(ListView):
-
- context_object_name = "book_list"
-- template_name = "books/books_by_publisher.html",
-+ template_name = "books/books_by_publisher.html"
-
- def get_queryset(self):
- publisher = get_object_or_404(Publisher, name__iexact=self.args[0])
-@@ -396,7 +396,7 @@
- class PublisherBookListView(ListView):
-
- context_object_name = "book_list"
-- template_name = "books/books_by_publisher.html",
-+ template_name = "books/books_by_publisher.html"
-
- def get_queryset(self):
- self.publisher = get_object_or_404(Publisher, name__iexact=self.args[0])
-Index: docs/topics/testing.txt
-===================================================================
---- docs/topics/testing.txt (revision 16771)
-+++ docs/topics/testing.txt (revision 17460)
-@@ -1586,7 +1586,7 @@
- Skip the decorated test if the named database feature is *not*
- supported.
-
--For example, the following test will not be executed if the database
-+For example, the following test will only be executed if the database
- supports transactions (e.g., it would run under PostgreSQL, but *not*
- under MySQL with MyISAM tables)::
-
-Index: docs/topics/templates.txt
-===================================================================
---- docs/topics/templates.txt (revision 16771)
-+++ docs/topics/templates.txt (revision 17460)
-@@ -555,6 +555,8 @@
- the ``escape`` filter *double-escaping* data -- the ``escape`` filter does not
- affect auto-escaped variables.
-
-+.. _string-literals-and-automatic-escaping:
-+
- String literals and automatic escaping
- --------------------------------------
-
-Index: docs/topics/settings.txt
-===================================================================
---- docs/topics/settings.txt (revision 16771)
-+++ docs/topics/settings.txt (revision 17460)
-@@ -39,7 +39,7 @@
- ``mysite.settings``. Note that the settings module should be on the
- Python `import search path`_.
-
--.. _import search path: http://diveintopython.org/getting_to_know_python/everything_is_an_object.html
-+.. _import search path: http://diveintopython.net/getting_to_know_python/everything_is_an_object.html
-
- The django-admin.py utility
- ---------------------------
-Index: docs/releases/1.2.6.txt
-===================================================================
---- docs/releases/1.2.6.txt (revision 0)
-+++ docs/releases/1.2.6.txt (revision 17460)
-@@ -0,0 +1,16 @@
-+==========================
-+Django 1.2.6 release notes
-+==========================
-+
-+*September 9, 2011*
-+
-+Welcome to Django 1.2.6!
-+
-+This is the sixth bugfix/security release in the Django 1.2 series, fixing
-+several security issues present in Django 1.2.5. Django 1.2.6 is a
-+recommended upgrade for all users of any Django release in the 1.2.X series.
-+
-+For a full list of issues addressed in this release, see the `security
-+advisory`_.
-+
-+.. _security advisory: https://www.djangoproject.com/weblog/2011/sep/09/security-releases-issued/
-Index: docs/releases/1.2.7.txt
-===================================================================
---- docs/releases/1.2.7.txt (revision 0)
-+++ docs/releases/1.2.7.txt (revision 17460)
-@@ -0,0 +1,16 @@
-+==========================
-+Django 1.2.7 release notes
-+==========================
-+
-+*September 10, 2011*
-+
-+Welcome to Django 1.2.7!
-+
-+This is the seventh bugfix/security release in the Django 1.2 series. It
-+replaces Django 1.2.6 due to problems with the 1.2.6 release tarball.
-+Django 1.2.7 is a recommended upgrade for all users of any Django release in
-+the 1.2.X series.
-+
-+For more information, see the `release advisory`_.
-+
-+.. _release advisory: https://www.djangoproject.com/weblog/2011/sep/10/127/
-Index: docs/releases/index.txt
-===================================================================
---- docs/releases/index.txt (revision 16771)
-+++ docs/releases/index.txt (revision 17460)
-@@ -19,6 +19,7 @@
- .. toctree::
- :maxdepth: 1
-
-+ 1.3.1
- 1.3
-
- 1.2 release
-@@ -26,6 +27,8 @@
- .. toctree::
- :maxdepth: 1
-
-+ 1.2.7
-+ 1.2.6
- 1.2.5
- 1.2.4
- 1.2.2
-Index: docs/releases/0.95.txt
-===================================================================
---- docs/releases/0.95.txt (revision 16771)
-+++ docs/releases/0.95.txt (revision 17460)
-@@ -92,15 +92,15 @@
- easy checklist_ for reference when undertaking the porting operation.
-
- .. _Removing The Magic: http://code.djangoproject.com/wiki/RemovingTheMagic
--.. _checklist: http://code.djangoproject.com/wiki/MagicRemovalCheatSheet1
-+.. _checklist: http://code.djangoproject.com/wiki/MagicRemovalCheatSheet
-
- Problem reports and getting help
- ================================
-
--Need help resolving a problem with Django? The documentation in the distribution
--is also available online_ at the `Django Web site`_. The :doc:`FAQ </faq/index>`
--document is especially recommended, as it contains a number of issues that come
--up time and again.
-+Need help resolving a problem with Django? The documentation in the
-+distribution is also available :doc:`online </index>` at the `Django Web
-+site`_. The :doc:`FAQ </faq/index>` document is especially recommended, as it
-+contains a number of issues that come up time and again.
-
- For more personalized help, the `django-users`_ mailing list is a very active
- list, with more than 2,000 subscribers who can help you solve any sort of
-@@ -113,7 +113,6 @@
- Django users and developers from around the world. Friendly people are usually
- available at any hour of the day -- to help, or just to chat.
-
--.. _online: http://www.djangoproject.com/documentation/0.95/
- .. _Django Web site: http://www.djangoproject.com/
- .. _django-users: http://groups.google.com/group/django-users
-
-Index: docs/releases/0.96.txt
-===================================================================
---- docs/releases/0.96.txt (revision 16771)
-+++ docs/releases/0.96.txt (revision 17460)
-@@ -50,12 +50,10 @@
- maintained, and it will be removed in a future release of Django.
-
- Also, note that some features, like the new :setting:`DATABASE_OPTIONS`
--setting (see the `databases documentation`_ for details), are only
--available on the "mysql" backend, and will not be made available for
-+setting (see the :doc:`databases documentation </ref/databases>` for details),
-+are only available on the "mysql" backend, and will not be made available for
- "mysql_old".
-
--.. _databases documentation: http://www.djangoproject.com/documentation/0.96/databases/
--
- Database constraint names changed
- ---------------------------------
-
-@@ -164,11 +162,9 @@
- for most common cases. We recommend that anyone new to form handling skip the
- old forms system and start with the new.
-
--For more information about ``django.newforms``, read the `newforms
--documentation`_.
-+For more information about ``django.newforms``, read the :doc:`newforms
-+documentation </topics/forms/index>`.
-
--.. _newforms documentation: http://www.djangoproject.com/documentation/0.96/newforms/
--
- URLconf improvements
- --------------------
-
-@@ -216,20 +212,16 @@
- ------------------
-
- Django now includes a test framework so you can start transmuting fear into
--boredom (with apologies to Kent Beck). You can write tests based on doctest_
--or unittest_ and test your views with a simple test client.
-+boredom (with apologies to Kent Beck). You can write tests based on
-+:mod:`doctest` or :mod:`unittest` and test your views with a simple test client.
-
- There is also new support for "fixtures" -- initial data, stored in any of the
--supported `serialization formats`_, that will be loaded into your database at the
--start of your tests. This makes testing with real data much easier.
-+supported :doc:`serialization formats </topics/serialization>`, that will be
-+loaded into your database at the start of your tests. This makes testing with
-+real data much easier.
-
--See `the testing documentation`_ for the full details.
-+See :doc:`the testing documentation </topics/testing>` for the full details.
-
--.. _doctest: http://docs.python.org/library/doctest.html
--.. _unittest: http://docs.python.org/library/unittest.html
--.. _the testing documentation: http://www.djangoproject.com/documentation/0.96/testing/
--.. _serialization formats: http://www.djangoproject.com/documentation/0.96/serialization/
--
- Improvements to the admin interface
- -----------------------------------
-
-Index: docs/releases/1.0.1.txt
-===================================================================
---- docs/releases/1.0.1.txt (revision 16771)
-+++ docs/releases/1.0.1.txt (revision 17460)
-@@ -6,10 +6,10 @@
-
- This is the first "bugfix" release in the Django 1.0 series, improving
- the stability and performance of the Django 1.0 codebase. As such,
--Django 1.0.1 contains no new features (and, pursuant to `our
--compatibility policy`_, maintains backwards compatibility with Django
--1.0), but does contain a number of fixes and other
--improvements. Django 1.0.1 is a recommended upgrade for any
-+Django 1.0.1 contains no new features (and, pursuant to :doc:`our
-+compatibility policy </misc/api-stability/>`, maintains backwards
-+compatibility with Django 1.0), but does contain a number of fixes
-+and other improvements. Django 1.0.1 is a recommended upgrade for any
- development or deployment currently using or targeting Django 1.0.
-
-
-@@ -46,8 +46,9 @@
-
- * A fix to the application of autoescaping for literal strings passed
- to the ``join`` template filter. Previously, literal strings passed
-- to ``join`` were automatically escaped, contrary to `the documented
-- behavior for autoescaping and literal strings`_. Literal strings
-+ to ``join`` were automatically escaped, contrary to :ref:`the
-+ documented behavior for autoescaping and literal strings
-+ <string-literals-and-automatic-escaping>`. Literal strings
- passed to ``join`` are no longer automatically escaped, meaning you
- must now manually escape them; this is an incompatibility if you
- were relying on this bug, but not if you were relying on escaping
-@@ -60,6 +61,4 @@
- documentation, including both corrections to existing documents and
- expanded and new documentation.
-
--.. _our compatibility policy: http://docs.djangoproject.com/en/dev/misc/api-stability/
- .. _the Subversion log of the 1.0.X branch: http://code.djangoproject.com/log/django/branches/releases/1.0.X
--.. _the documented behavior for autoescaping and literal strings: http://docs.djangoproject.com/en/dev/topics/templates/#string-literals-and-automatic-escaping
-Index: docs/releases/1.3.1.txt
-===================================================================
---- docs/releases/1.3.1.txt (revision 0)
-+++ docs/releases/1.3.1.txt (revision 17460)
-@@ -0,0 +1,16 @@
-+==========================
-+Django 1.3.1 release notes
-+==========================
-+
-+*September 9, 2011*
-+
-+Welcome to Django 1.3.1!
-+
-+This is the first security release in the Django 1.3 series, fixing several
-+security issues in Django 1.3. Django 1.3.1 is a recommended upgrade for
-+all users of Django 1.3.
-+
-+For a full list of issues addressed in this release, see the `security
-+advisory`_.
-+
-+.. _security advisory: https://www.djangoproject.com/weblog/2011/sep/09/security-releases-issued/
-Index: docs/ref/models/instances.txt
-===================================================================
---- docs/ref/models/instances.txt (revision 16771)
-+++ docs/ref/models/instances.txt (revision 17460)
-@@ -470,7 +470,7 @@
-
- Similarly, if you had a URLconf entry that looked like::
-
-- (r'/archive/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', archive_view)
-+ (r'/archive/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', archive_view)
-
- ...you could reference this using ``permalink()`` as follows::
-
-@@ -478,8 +478,8 @@
- def get_absolute_url(self):
- return ('archive_view', (), {
- 'year': self.created.year,
-- 'month': self.created.month,
-- 'day': self.created.day})
-+ 'month': self.created.strftime('%m'),
-+ 'day': self.created.strftime('%d')})
-
- Notice that we specify an empty sequence for the second parameter in this case,
- because we only want to pass keyword parameters, not positional ones.
-Index: docs/ref/models/options.txt
-===================================================================
---- docs/ref/models/options.txt (revision 16771)
-+++ docs/ref/models/options.txt (revision 17460)
-@@ -166,6 +166,13 @@
- >>> answer.get_previous_in_order()
- <Answer: 1>
-
-+.. admonition:: Changing order_with_respect_to
-+
-+ ``order_with_respect_to`` adds an additional field/database column
-+ named ``_order``, so be sure to handle that as you would any other
-+ change to your models if you add or change ``order_with_respect_to``
-+ after your initial :djadmin:`syncdb`.
-+
- ``ordering``
- ------------
-
-@@ -238,6 +245,12 @@
-
- unique_together = ("driver", "restaurant")
-
-+ A :class:`~django.db.models.ManyToManyField` cannot be included in
-+ unique_together (it's not even clear what that would mean). If you
-+ need to validate uniqueness related to a
-+ :class:`~django.db.models.ManyToManyField`, look at signals or
-+ using an explicit :attr:`through <ManyToManyField.through>` model.
-+
- ``verbose_name``
- ----------------
-
-Index: docs/ref/templates/builtins.txt
-===================================================================
---- docs/ref/templates/builtins.txt (revision 16771)
-+++ docs/ref/templates/builtins.txt (revision 17460)
-@@ -1868,7 +1868,7 @@
- Returns a slice of the list.
-
- Uses the same syntax as Python's list slicing. See
--http://diveintopython.org/native_data_types/lists.html#odbchelper.list.slice
-+http://diveintopython.net/native_data_types/lists.html#odbchelper.list.slice
- for an introduction.
-
- Example::
-Index: docs/ref/contrib/gis/geoip.txt
-===================================================================
---- docs/ref/contrib/gis/geoip.txt (revision 16771)
-+++ docs/ref/contrib/gis/geoip.txt (revision 17460)
-@@ -144,7 +144,7 @@
- Returns a dictionary of city information for the given query. Some
- of the values in the dictionary may be undefined (``None``).
-
--.. method:: GeoIPcountry(query)
-+.. method:: GeoIP.country(query)
-
- Returns a dictionary with the country code and country for the given
- query.
-Index: docs/ref/contrib/messages.txt
-===================================================================
---- docs/ref/contrib/messages.txt (revision 16771)
-+++ docs/ref/contrib/messages.txt (revision 17460)
-@@ -210,6 +210,10 @@
- ``RequestContext``. Otherwise, ensure ``messages`` is available to
- the template context.
-
-+Even if you know there is only just one message, you should still iterate over
-+the ``messages`` sequence, because otherwise the message storage will not be cleared
-+for the next request.
-+
- Creating custom message levels
- ------------------------------
-
-Index: docs/ref/contrib/admin/index.txt
-===================================================================
---- docs/ref/contrib/admin/index.txt (revision 16771)
-+++ docs/ref/contrib/admin/index.txt (revision 17460)
-@@ -19,8 +19,10 @@
- 1. Add ``'django.contrib.admin'`` to your :setting:`INSTALLED_APPS`
- setting.
-
-- 2. Admin has two dependencies - :mod:`django.contrib.auth` and
-- :mod:`django.contrib.contenttypes`. If these applications are not
-+ 2. The admin has four dependencies - :mod:`django.contrib.auth`,
-+ :mod:`django.contrib.contenttypes`,
-+ :mod:`django.contrib.messages` and
-+ :mod:`django.contrib.sessions`. If these applications are not
- in your :setting:`INSTALLED_APPS` list, add them.
-
- 3. Determine which of your application's models should be editable in the
-@@ -542,7 +544,7 @@
- Fields in ``list_filter`` can also span relations using the ``__`` lookup::
-
- class UserAdminWithLookup(UserAdmin):
-- list_filter = ('groups__name')
-+ list_filter = ('groups__name',)
-
- .. attribute:: ModelAdmin.list_per_page
-
-Index: docs/ref/django-admin.txt
-===================================================================
---- docs/ref/django-admin.txt (revision 16771)
-+++ docs/ref/django-admin.txt (revision 17460)
-@@ -1156,7 +1156,7 @@
- Note that this option is unnecessary in ``manage.py``, because it takes care of
- setting the Python path for you.
-
--.. _import search path: http://diveintopython.org/getting_to_know_python/everything_is_an_object.html
-+.. _import search path: http://diveintopython.net/getting_to_know_python/everything_is_an_object.html
-
- .. django-admin-option:: --settings
-
-Index: docs/ref/signals.txt
-===================================================================
---- docs/ref/signals.txt (revision 16771)
-+++ docs/ref/signals.txt (revision 17460)
-@@ -352,12 +352,16 @@
- .. data:: django.db.models.signals.post_syncdb
- :module:
-
--Sent by :djadmin:`syncdb` after it installs an application.
-+Sent by :djadmin:`syncdb` command after it installs an application, and
-+:djadmin:`flush` command.
-
- Any handlers that listen to this signal need to be written in a particular
- place: a ``management`` module in one of your :setting:`INSTALLED_APPS`. If
- handlers are registered anywhere else they may not be loaded by
--:djadmin:`syncdb`.
-+:djadmin:`syncdb`. It is important that handlers of this signal perform
-+idempotent changes (e.g. no database alterations) as this may cause the
-+:djadmin:`flush` management command to fail if it also ran during the
-+:djadmin:`syncdb` command.
-
- Arguments sent with this signal:
-
-Index: README
-===================================================================
---- README (revision 16771)
-+++ README (revision 17460)
-@@ -28,7 +28,7 @@
- To get more help:
-
- * Join the #django channel on irc.freenode.net. Lots of helpful people
-- hang out there. Read the archives at http://botland.oebfare.com/logger/django/.
-+ hang out there. Read the archives at http://django-irc-logs.com/.
-
- * Join the django-users mailing list, or read the archives, at
- http://groups.google.com/group/django-users.
diff --git a/libre/dkms-libre/01-broken-uninstall.patch b/libre/dkms-libre/01-broken-uninstall.patch
new file mode 100644
index 000000000..a859efabe
--- /dev/null
+++ b/libre/dkms-libre/01-broken-uninstall.patch
@@ -0,0 +1,22 @@
+diff --git a/dkms b/dkms
+index abb01a4..265b69a 100644
+--- a/dkms
++++ b/dkms
+@@ -162,11 +162,14 @@ set_kernel_source_dir()
+
+ # A little test function for DKMS commands that only work on one kernel.
+ have_one_kernel() {
+- (( ${#kernelver[@]} > 1 )) && \
+- die 4 $"The action $1 does not support multiple kernel version" \
+- $"parameters on the command line."
+- [[ $all ]] && die 5 $"The action $1 does not support the --all" \
+- $"parameter."
++ if (( ${#kernelver[@]} != 1 )); then
++ die 4 $"The action $1 does not support multiple kernel version" \
++ $"parameters on the command line."
++ fi
++ if [[ $all ]]; then
++ die 5 $"The action $1 does not support the --all" \
++ $"parameter."
++ fi
+ }
diff --git a/libre/dkms-libre/02-no-kernel-hook.patch b/libre/dkms-libre/02-no-kernel-hook.patch
new file mode 100644
index 000000000..f01f22002
--- /dev/null
+++ b/libre/dkms-libre/02-no-kernel-hook.patch
@@ -0,0 +1,13 @@
+# Author: Sébastien Luttringer <seblu@seblu.net>
+--- a/Makefile 2011-12-07 19:23:51.000000000 +0100
++++ b/Makefile 2013-05-13 00:48:19.620000000 +0200
+@@ -46,9 +46,6 @@
+ gzip -c -9 dkms.8 > $(MAN)/dkms.8.gz
+ chmod 0644 $(MAN)/dkms.8.gz
+ touch --reference=dkms.8 $(MAN)/dkms.8.gz
+- mkdir -p -m 0755 $(KCONF)/prerm.d $(KCONF)/postinst.d
+- install -p -m 0755 kernel_prerm.d_dkms $(KCONF)/prerm.d/dkms
+- install -p -m 0755 kernel_postinst.d_dkms $(KCONF)/postinst.d/dkms
+
+ DOCFILES=sample.spec sample.conf AUTHORS COPYING README.dkms sample-suse-9-mkkmp.spec sample-suse-10-mkkmp.spec
+
diff --git a/libre/dkms-libre/PKGBUILD b/libre/dkms-libre/PKGBUILD
new file mode 100644
index 000000000..99caab5fa
--- /dev/null
+++ b/libre/dkms-libre/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 90494 2013-05-12 22:57:28Z seblu $
+# Maintainer: Sébastien Luttringer
+# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=dkms
+pkgname=dkms-libre
+pkgver=2.2.0.3
+pkgrel=14
+pkgdesc='Dynamic Kernel Modules System, with linux-libre-headers and linux-libre-lts-headers recommendation'
+arch=('any')
+url='http://linux.dell.com/dkms/'
+license=('GPL2')
+depends=('bash' 'kmod' 'gcc' 'make' 'patch')
+optdepends=('linux-libre-headers: build modules against linux-libre kernel'
+ 'linux-libre-lts-headers: build modules against linux-libre-lts kernel')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+backup=('etc/dkms/framework.conf' 'etc/default/dkms')
+install=$_pkgname.install
+source=("http://linux.dell.com/$_pkgname/permalink/$_pkgname-$pkgver.tar.gz"
+ "$_pkgname.default"
+ "$_pkgname.service"
+ "$_pkgname.systemd"
+ '01-broken-uninstall.patch'
+ '02-no-kernel-hook.patch')
+md5sums=('11a8aaade2ebec2803653837c7593030'
+ '33be2fbf1bcc1b3fb2f38d9e7eaa809d'
+ '02e9744e3fdc3d2f68e46966fb32e260'
+ '267632312aa52a190ec0db0758920dd3'
+ '2dfd8656dc79afd229c1481a90fb645b'
+ '82d520c39c99c34977e48b313a189c6c')
+
+prepare() {
+ # patch
+ patches=("$srcdir"/*.patch)
+ cd $_pkgname-$pkgver
+ for p in "${patches[@]}"; do
+ msg2 "Apply patch: ${p##*/}"
+ patch -p1 -i "$p"
+ done
+ # /usr move
+ msg2 '/usr move patching'
+ for i in dkms{,_framework.conf,.bash-completion,.8,_common.postinst}; do
+ sed -ri 's,/lib/modules,/usr/lib/modules,g' "$i"
+ done
+ # fix hardcoded paths
+ sed -i "s|/sbin/depmod|depmod|" dkms
+}
+
+package() {
+ # systemd
+ install -D -m 644 $_pkgname.service "$pkgdir/usr/lib/systemd/system/$_pkgname.service"
+ install -D -m 755 $_pkgname.systemd "$pkgdir/usr/lib/systemd/scripts/$_pkgname"
+ install -D -m 644 $_pkgname.default "$pkgdir/etc/default/$_pkgname"
+ # upstream installer
+ cd $_pkgname-$pkgver
+ make \
+ DESTDIR="$pkgdir" \
+ SBIN="$pkgdir/usr/bin" \
+ BASHDIR="$pkgdir/usr/share/bash-completion/completions" \
+ install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/dkms-libre/dkms.default b/libre/dkms-libre/dkms.default
new file mode 100644
index 000000000..d430855bb
--- /dev/null
+++ b/libre/dkms-libre/dkms.default
@@ -0,0 +1,9 @@
+# vim:set ts=2 sw=2 ft=sh noet:
+
+# With LOAD set to yes, modules listed as installed will be loaded with
+# systemctl start dkms.service. Default is yes.
+LOAD=yes
+
+# With UNLOAD set to yes, modules listed as installed will be unloaded with
+# systemctl stop dkms.service. Default is no.
+UNLOAD=no
diff --git a/libre/dkms-libre/dkms.hook b/libre/dkms-libre/dkms.hook
new file mode 100644
index 000000000..3d656e32d
--- /dev/null
+++ b/libre/dkms-libre/dkms.hook
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+dkms_autoinstall() {
+ export TMPDIR=/dev/shm
+ status 'Starting DKMS autoinstall' dkms autoinstall
+ unset TMPDIR
+}
+
+add_hook single_udevlaunched dkms_autoinstall
+add_hook sysinit_udevlaunched dkms_autoinstall
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/dkms-libre/dkms.install b/libre/dkms-libre/dkms.install
new file mode 100644
index 000000000..4dd18dd19
--- /dev/null
+++ b/libre/dkms-libre/dkms.install
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 2.2.0.3-12)" -le 0 ]; then
+ cat << EOF
+===> dkms startup config file moved to /etc/default/dkms
+EOF
+ fi
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/dkms-libre/dkms.service b/libre/dkms-libre/dkms.service
new file mode 100644
index 000000000..0e679a949
--- /dev/null
+++ b/libre/dkms-libre/dkms.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Dynamic Kernel Modules System
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/lib/systemd/scripts/dkms start
+ExecStop=/usr/lib/systemd/scripts/dkms stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/dkms-libre/dkms.systemd b/libre/dkms-libre/dkms.systemd
new file mode 100644
index 000000000..03e6bfe97
--- /dev/null
+++ b/libre/dkms-libre/dkms.systemd
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+. /etc/default/dkms
+
+# list dkms modules for the current running kernel
+list_dkms_modules() {
+ shopt -s nullglob
+ declare -a DKMS_MOULES
+ # dkms status needs uname -r to list correctly intalled version for current kernel
+ local modules_path=($(dkms status -k "$(uname -r)"|sed -rn 's#(.*), (.*), (.*), (.*): installed#\1/\2/\3/\4#p'))
+ for p in "${modules_path[@]}"; do
+ for m in /var/lib/dkms/"$p"/module/*.ko{,gz}; do
+ m=${m##*/}
+ m=${m%.gz}
+ m=${m%.ko}
+ DKMS_MODULES+=("$m")
+ done
+ done
+}
+
+# load installed kernel modules for the current kernel version
+load_dkms_modules() {
+ local ret=0
+ list_dkms_modules
+ for m in "${DKMS_MODULES[@]}"; do
+ modprobe "$m"
+ ret+=$?
+ done
+ return $ret
+}
+
+# unload installed kernel modules for the current kernel version
+unload_dkms_modules() {
+ list_dkms_modules
+ # ask for removal
+ for m in "${DKMS_MODULES[@]}"; do
+ modprobe --remove --quiet "$m"
+ done
+ # check modules are unloaded
+ # sometimes modprobe -r fail but modules are removed
+ for m in "${DKMS_MODULES[@]}"; do
+ [[ -e /sys/modules/$m ]] && return 1
+ done
+ return 0
+}
+
+case "$1" in
+ start)
+ dkms autoinstall -k "$(uname -r)"
+ [[ $LOAD =~ [Yy][Ee][Ss] ]] && load_dkms_modules
+ ;;
+ stop)
+ [[ $UNLOAD =~ [Yy][Ee][Ss] ]] && unload_dkms_modules
+ ;;
+ *)
+ echo "usage: $0 {start|stop}" >&2
+ ;;
+esac
+
+:
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/epdfview-libre/PKGBUILD b/libre/epdfview-libre/PKGBUILD
index 3a0446c49..3a7f2c3bf 100644
--- a/libre/epdfview-libre/PKGBUILD
+++ b/libre/epdfview-libre/PKGBUILD
@@ -3,7 +3,7 @@
# Maintainer: schuay <jakob.gruber@gmail.com>
# Contributor: Tom K <tomk@runbox.com>
# Contributor: Thayer Williams <thayer@archlinux.org>
-# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
pkgname=epdfview-libre
_pkgname=epdfview
diff --git a/libre/file-roller-libre/PKGBUILD b/libre/file-roller-libre/PKGBUILD
index e01981433..6ea777a16 100644
--- a/libre/file-roller-libre/PKGBUILD
+++ b/libre/file-roller-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 185397 2013-05-13 19:05:20Z heftig $
+# $Id: PKGBUILD 189275 2013-07-02 07:37:30Z heftig $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
_pkgname=file-roller
pkgname=file-roller-libre
-pkgver=3.8.2
+pkgver=3.8.3
pkgrel=1
pkgdesc="Create and modify archives, with unar recommendation included and nonfree unace recommendation removed"
arch=('i686' 'x86_64' 'mips64el')
@@ -23,7 +23,7 @@ options=('!libtool' '!emptydirs')
install=file-roller.install
url="http://www.gnome.org"
source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver::3}/$_pkgname-$pkgver.tar.xz)
-sha256sums=('b251b146d7966d770c98546e2152dbc17785ef3b8cf460f692829d0ac1cbe79e')
+sha256sums=('55caac832ed0bab89085fdf7a3c3fa1afaf8ae6fb05aeb2a872e42cb6c52894e')
build() {
cd $_pkgname-$pkgver
diff --git a/libre/gloobus-preview-libre/PKGBUILD b/libre/gloobus-preview-libre/PKGBUILD
index 12bff5f1d..5881a4c2e 100644
--- a/libre/gloobus-preview-libre/PKGBUILD
+++ b/libre/gloobus-preview-libre/PKGBUILD
@@ -1,17 +1,20 @@
-# $Id: PKGBUILD 91027 2013-05-18 11:44:36Z bgyorgy $
+# $Id: PKGBUILD 91026 2013-05-18 11:44:23Z bgyorgy $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
_pkgname=gloobus-preview
pkgname=gloobus-preview-libre
pkgver=0.4.5.290
_pkgver=0.4.5-ubuntu11~ppa290
-pkgrel=1
-pkgdesc="Gnome application designed to enable a full screen preview of any kind of file (using bsdtar to preview RAR archives)"
+pkgrel=1.1
+pkgdesc="Gnome application designed to enable a full screen preview of any kind of file, with libarchive support"
arch=('i686' 'x86_64')
url="http://gloobus.net/"
license=('GPL')
depends=('gstreamer0.10-base-plugins' 'gtksourceview3' 'poppler-glib' 'python2-dbus' 'python2-gconf' 'taglib' 'xdg-utils')
makedepends=('boost' 'bzr' 'djvulibre' 'libspectre')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
optdepends=('djvulibre: Preview DjVu documents'
'gstreamer0.10-bad-plugins: Extra media codecs'
'gstreamer0.10-good-plugins: Extra media codecs'
@@ -20,6 +23,7 @@ optdepends=('djvulibre: Preview DjVu documents'
'libspectre: Preview PostScript documents'
'p7zip: View content of 7z archives'
'unoconv: Preview LibreOffice compatible documents'
+ 'libarchive: View content of RAR archives'
'unzip: View content of .ZIP archives')
options=('!libtool')
install=$_pkgname.install
@@ -52,7 +56,7 @@ prepare() {
# Use xdg-open
patch -Np1 -i "$srcdir/use-xdg-open.patch"
- # Use bsdtar if unrar is not found.
+ # Use bsdtar (libarchive) if unrar is not found.
patch -Np0 -i "$srcdir/gloobus-preview-usr-bsdtar-for-rar.patch"
### Prepare gloobus-sushi
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index 21220a209..56d994beb 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -3,76 +3,69 @@
# Contributor: Keshav Padram (the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
-## grub-extras lua and gpxe fail to build
+_GRUB_BZR_REV="5043"
+
+## grub-extras lua and gpxe fail to build with grub bzr rev 5043
[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
pkgname=grub
pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)"
-pkgver=2.00
-pkgrel=1
+pkgver=2.00.${_GRUB_BZR_REV}
+pkgrel=2
url="https://www.gnu.org/software/grub/"
arch=('x86_64' 'i686')
license=('GPL3')
-backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
+backup=('etc/default/grub' 'etc/grub.d/40_custom')
install="${pkgname}.install"
options=('!makeflags')
-conflicts=('grub-legacy' 'grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
+conflicts=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}" 'grub-legacy')
replaces=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
provides=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
makedepends=('xz' 'freetype2' 'bdf-unifont' 'ttf-dejavu' 'python' 'autogen'
- 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse' 'bzr')
+ 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse' 'bzr' 'rsync')
depends=('sh' 'xz' 'gettext' 'device-mapper')
optdepends=('freetype2: For grub-mkfont usage'
'fuse: For grub-mount usage'
- 'dosfstools: For EFI support'
+ 'dosfstools: For grub-mkrescue FAT FS and EFI support'
'efibootmgr: For grub-install EFI support'
'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue'
'os-prober: To detect other OSes when generating grub.cfg in BIOS systems'
'mtools: For grub-mkrescue FAT FS support')
-source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
- '0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch'
- 'grub-2.00-fix-docs.patch'
+# source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
+source=("grub-${pkgver}::bzr+bzr://bzr.savannah.gnu.org/grub/trunk/grub/#revision=${_GRUB_BZR_REV}"
'parabola_grub_mkconfig_fixes.patch'
'60_memtest86+'
- 'grub.default'
- 'grub.cfg')
+ 'grub.default')
for _DIR_ in 915resolution ntldr-img ; do
- source+=("grub-extras-${_DIR_}::bzr+bzr://bzr.savannah.gnu.org/grub-extras/${_DIR_}/")
+ source+=("grub-extras-${_DIR_}::bzr+bzr://bzr.savannah.gnu.org/grub-extras/${_DIR_}/#revision=")
done
-source+=("grub-extras-lua::bzr+bzr://bzr.savannah.gnu.org/grub-extras/lua/#revision=24"
- "grub-extras-gpxe::bzr+bzr://bzr.savannah.gnu.org/grub-extras/gpxe/#revision=13")
-
-sha1sums=('274d91e96b56a5b9dd0a07accff69dbb6dfb596b'
- 'b68565bc155094bade390c257c3f31bc55ae244b'
- '1dc08391bb13f8e23faa21a76cc4cc4b25467702'
- 'c631ec04d458c60a3ceffe60d2d1806d54554d9c'
+# sha1sums=('274d91e96b56a5b9dd0a07accff69dbb6dfb596b'
+sha1sums=('SKIP'
+ '513172d91d1a2e2cda7c0a744c766d5868cb28bf'
'2aa2deeb7d7dc56f389aa1487b7a57b0d44ce559'
'06b926320cb2add6c157d59d46e553b89dd3aa03'
- '662ec5f0d44122b66666a788387ec69389295b2c'
- 'SKIP'
- 'SKIP'
'SKIP'
'SKIP')
_build_grub-common_and_bios() {
## Copy the source for building the common/bios package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-bios-${pkgver}"
- cd "${srcdir}/grub-bios-${pkgver}/"
+ cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-${pkgver}-bios"
+ cd "${srcdir}/grub-${pkgver}-bios/"
## Add the grub-extra sources
- export GRUB_CONTRIB="${srcdir}/grub-bios-${pkgver}/grub-extras/"
+ export GRUB_CONTRIB="${srcdir}/grub-${pkgver}-bios/grub-extras/"
- install -d "${srcdir}/grub-bios-${pkgver}/grub-extras"
- for _DIR_ in 915resolution ntldr-img lua gpxe ; do
- cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-bios-${pkgver}/grub-extras/${_DIR_}"
+ install -d "${srcdir}/grub-${pkgver}-bios/grub-extras"
+ for _DIR_ in 915resolution ntldr-img ; do
+ cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${pkgver}-bios/grub-extras/${_DIR_}"
done
## Unset all compiler FLAGS for bios build
@@ -83,11 +76,11 @@ _build_grub-common_and_bios() {
unset MAKEFLAGS
## Start the actual build process
- cd "${srcdir}/grub-bios-${pkgver}/"
+ cd "${srcdir}/grub-${pkgver}-bios/"
./autogen.sh
echo
- CFLAGS="-fno-stack-protector" ./configure \
+ ./configure \
--with-platform="pc" \
--target="i386" \
"${_EFIEMU}" \
@@ -117,15 +110,15 @@ _build_grub-common_and_bios() {
_build_grub-efi() {
## Copy the source for building the efi package
- cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-efi-${pkgver}"
- cd "${srcdir}/grub-efi-${pkgver}/"
+ cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub-${pkgver}-efi"
+ cd "${srcdir}/grub-${pkgver}-efi/"
- export GRUB_CONTRIB="${srcdir}/grub-efi-${pkgver}/grub-extras/"
+ # export GRUB_CONTRIB="${srcdir}/grub-${pkgver}-efi/grub-extras/"
- install -d "${srcdir}/grub-efi-${pkgver}/grub-extras/"
- for _DIR_ in lua gpxe ; do
- cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-bios-${pkgver}/grub-extras/${_DIR_}"
- done
+ # install -d "${srcdir}/grub-${pkgver}-efi/grub-extras/"
+ # for _DIR_ in lua gpxe ; do
+ # cp -r "${srcdir}/grub-extras-${_DIR_}" "${srcdir}/grub-${pkgver}-bios/grub-extras/${_DIR_}"
+ # done
## Unset all compiler FLAGS for efi build
unset CFLAGS
@@ -134,7 +127,7 @@ _build_grub-efi() {
unset LDFLAGS
unset MAKEFLAGS
- cd "${srcdir}/grub-efi-${pkgver}/"
+ cd "${srcdir}/grub-${pkgver}-efi/"
./autogen.sh
echo
@@ -166,7 +159,7 @@ _build_grub-efi() {
}
-build() {
+prepare() {
## Set ARCH dependent variables
if [[ "${CARCH}" == 'x86_64' ]]; then
@@ -177,14 +170,6 @@ build() {
cd "${srcdir}/grub-${pkgver}/"
- ## Fix compiling with gcc48
- patch -Np1 -i "${srcdir}/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch"
- echo
-
- ## Fix docs compiling
- patch -Np1 -i "${srcdir}/grub-2.00-fix-docs.patch"
- echo
-
## Apply Parabola specific fixes to enable grub-mkconfig detect kernels and initramfs
patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
echo
@@ -197,7 +182,18 @@ build() {
## Requires python2
# sed 's|python |python2 |g' -i "${srcdir}/grub-${pkgver}/autogen.sh"
-
+
+ ## pull in language files
+ ./linguas.sh
+
+}
+
+build() {
+
+ cd "${srcdir}/grub-${pkgver}/"
+
+ # remove not working langs which need LC_ALL=C.UTF-8
+ sed -i -e 's#en@cyrillic en@greek##g' po/LINGUAS
_build_grub-common_and_bios
echo
@@ -208,7 +204,7 @@ build() {
_package_grub-common_and_bios() {
- cd "${srcdir}/grub-bios-${pkgver}/"
+ cd "${srcdir}/grub-${pkgver}-bios/"
make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
@@ -223,15 +219,12 @@ _package_grub-common_and_bios() {
## Install /etc/default/grub (used by grub-mkconfig)
install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
- ## Install grub.cfg for backup array
- install -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg"
-
}
_package_grub-efi() {
- cd "${srcdir}/grub-efi-${pkgver}/"
- make DESTDIR="${pkgdir}/" install
+ cd "${srcdir}/grub-${pkgver}-efi/"
+ make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
echo
## remove gdb debugging related files
diff --git a/libre/grub/grub_bzr_export.sh b/libre/grub/grub_bzr_export.sh
deleted file mode 100644
index ff8f99ecc..000000000
--- a/libre/grub/grub_bzr_export.sh
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/env bash
-
-## For actual repos
-
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/lua lua
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/gpxe gpxe
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/ntldr-img ntldr-img
-# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/915resolution 915resolution
-
-## For launchpad mirror
-
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-lua lua
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-gpxe gpxe
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-ntldr-img ntldr-img
-# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-915resolution 915resolution
-
-## grub-extras zfs is integrated into grub bzr main repo and is no longer needed separately.
-
-_WD="${PWD}/"
-_OUTPUT_DIR="${_WD}/"
-
-_ACTUAL_PKGVER="2.00"
-
-_GRUB_BZR_REPO_DIR="${_WD}/grub_mainline_BZR/"
-_GRUB_BZR_EXP_REPO_DIR="${_WD}/grub_experimental_BZR/"
-_GRUB_EXTRAS_REPOS_DIR="${_WD}/grub_extras_BZR/"
-
-_MAIN_SNAPSHOT() {
-
- cd "${_GRUB_BZR_REPO_DIR}/"
- echo
-
- _REVNUM="$(bzr revno ${_GRUB_BZR_REPO_DIR})"
- bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar"
- echo
-
- cd "${_OUTPUT_DIR}/"
-
- xz -9 "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar"
- echo
-
-}
-
-_EXP_SNAPSHOT() {
-
- cd "${_GRUB_BZR_EXP_REPO_DIR}/"
- echo
-
- _REVNUM="$(bzr revno ${_GRUB_BZR_EXP_REPO_DIR})"
- bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar"
- echo
-
- cd "${_OUTPUT_DIR}/"
-
- xz -9 "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar"
- echo
-
-}
-
-_EXTRAS_SNAPSHOT() {
-
- cd "${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME}/"
- echo
-
- _REVNUM="$(bzr revno ${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME})"
- bzr export --root="${_GRUB_EXTRAS_NAME}" --format="tar" "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar"
- echo
-
- cd "${_OUTPUT_DIR}/"
- echo
-
- xz -9 "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar"
- echo
-
-}
-
-echo
-
-set -x -e
-
-echo
-
-_MAIN_SNAPSHOT
-
-echo
-
-# _EXP_SNAPSHOT
-
-echo
-
-_GRUB_EXTRAS_NAME="lua"
-_EXTRAS_SNAPSHOT
-
-# _GRUB_EXTRAS_NAME="gpxe"
-# _EXTRAS_SNAPSHOT
-
-_GRUB_EXTRAS_NAME="ntldr-img"
-_EXTRAS_SNAPSHOT
-
-_GRUB_EXTRAS_NAME="915resolution"
-_EXTRAS_SNAPSHOT
-
-echo
-
-set +x +e
-
-echo
-
-unset _WD
-unset _OUTPUT_DIR
-unset _GRUB_BZR_REPO_DIR
-unset _GRUB_EXTRAS_REPOS_DIR
-unset _GRUB_EXTRAS_NAME
diff --git a/libre/grub/parabola_grub_mkconfig_fixes.patch b/libre/grub/parabola_grub_mkconfig_fixes.patch
index 5324afa01..fbcca19ec 100644
--- a/libre/grub/parabola_grub_mkconfig_fixes.patch
+++ b/libre/grub/parabola_grub_mkconfig_fixes.patch
@@ -1,8 +1,8 @@
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
-index 516be86..5f37db2 100644
+index 8decc1d..170047f 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
-@@ -213,6 +213,8 @@ export GRUB_DEFAULT \
+@@ -212,6 +212,8 @@ export GRUB_DEFAULT \
GRUB_THEME \
GRUB_GFXPAYLOAD_LINUX \
GRUB_DISABLE_OS_PROBER \
@@ -12,10 +12,10 @@ index 516be86..5f37db2 100644
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
-index 765bfdc..b148558 100644
+index 2c4bb0a..c7120d2 100644
--- a/util/grub.d/00_header.in
+++ b/util/grub.d/00_header.in
-@@ -115,6 +115,14 @@ cat <<EOF
+@@ -125,6 +125,14 @@ cat <<EOF
EOF
@@ -64,7 +64,7 @@ index 14402e8..e85f7d6 100644
fi
- if [ x$type != xrecovery ] ; then
+ if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then
- save_default_entry | sed -e "s/^/\t/"
+ save_default_entry | grub_add_tab
fi
@@ -132,7 +140,8 @@ linux_entry ()
@@ -75,7 +75,7 @@ index 14402e8..e85f7d6 100644
+
+ message="$(gettext_printf "Loading Linux %s ..." "${version}")"
sed "s/^/$submenu_indentation/" << EOF
- echo '$message'
+ echo '$(echo "$message" | grub_quote)'
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
@@ -190,7 +199,22 @@ while [ "x$list" != "x" ] ; do
alt_version=`echo $version | sed -e "s,\.old$,,g"`
diff --git a/libre/hplip-libre/PKGBUILD b/libre/hplip-libre/PKGBUILD
index 2503fe028..968110d3e 100644
--- a/libre/hplip-libre/PKGBUILD
+++ b/libre/hplip-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 185808 2013-05-19 10:16:28Z andyrtr $
+# $Id: PKGBUILD 188976 2013-06-27 14:29:36Z andyrtr $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor : Rémy Oudompheng <remy@archlinux.org>
# Contributor: Morgan LEFIEUX <comete@archlinuxfr.org>
@@ -6,8 +6,8 @@
_pkgname=hplip
pkgname=hplip-libre
-pkgver=3.13.5
-pkgrel=2
+pkgver=3.13.6
+pkgrel=1
pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet, without hplip-plugin binary blobs recommendation"
arch=('i686' 'x86_64' 'mips64el')
url="http://hplipopensource.com"
@@ -30,26 +30,16 @@ provides=$_pkgname=$pkgver
options=('!libtool')
install=hplip.install
source=(http://downloads.sourceforge.net/${_pkgname}/$_pkgname-$pkgver.tar.gz{,.asc}
- cups-1.6-buildfix.diff
- hp-mkuri.patch
- hplip_typo.patch)
-md5sums=('f0c406f06f191a120f7d283b69ff10e8'
+ hp-mkuri.patch)
+md5sums=('3dd5052864052b8cd4ce013bb71f4d6c'
'SKIP'
- 'ef64578c6cb3ce252dbdcb0f1c2f4a47'
- '0bd7779fdbc4d7a9386df04dce2cb8d4'
- 'b3dd33a538ed8a3774f3c22f13e0a549')
+ '0bd7779fdbc4d7a9386df04dce2cb8d4')
build() {
cd "$srcdir/$_pkgname-$pkgver"
- # fix build with cups 1.6 - FC hplip-ipp-accessors.patch
- patch -p1 -i "${srcdir}/cups-1.6-buildfix.diff"
-
# fix linking libnotify, FS#34283
patch -Np0 -i ${srcdir}/hp-mkuri.patch
-
- # fix typo preventing FW to load
- patch -Np0 -i ${srcdir}/hplip_typo.patch
export PYTHON=python2
diff --git a/libre/icecat-noscript/PKGBUILD b/libre/icecat-noscript/PKGBUILD
index 1a0e3ddd0..3f83618e0 100644
--- a/libre/icecat-noscript/PKGBUILD
+++ b/libre/icecat-noscript/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 90901 2013-05-15 12:56:28Z spupykin $
+# $Id: PKGBUILD 93410 2013-07-03 10:50:31Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=firefox-noscript
pkgname=icecat-noscript
-pkgver=2.6.6
-pkgrel=2
+pkgver=2.6.6.7
+pkgrel=1
pkgdesc="plugin for icecat which disables script"
arch=('any')
url="http://noscript.net/"
@@ -14,7 +14,7 @@ depends=()
provides=$_pkgname=$pkgver
makedepends=('unzip')
source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi)
-md5sums=('a018efb1fe0f722ff307382791bf3c98')
+md5sums=('10b6704f34568d226fb5fe69b7d6043d')
package() {
# _ffver=`pacman -Q icecat | cut -f2 -d\ | cut -f1 -d-`
diff --git a/libre/icedove-l10n/PKGBUILD b/libre/icedove-l10n/PKGBUILD
index d9c2c7481..45294e48e 100644
--- a/libre/icedove-l10n/PKGBUILD
+++ b/libre/icedove-l10n/PKGBUILD
@@ -2,8 +2,8 @@
# Maintainer: André Silva <emulatorman@lavabit.com>
pkgbase=icedove-l10n
-_pkgver=17.0.5
-pkgver=17.0.5.2
+_pkgver=17.0.7
+pkgver=17.0.7.1
_langpacks=(ar ast be bg bn-BD br ca cs da de el en-GB en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hu hy-AM id is it ja ko lt nb-NO nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta-LK tr uk vi zh-CN zh-TW)
@@ -64,58 +64,58 @@ done
md5sums=('d5b2567a8cc8f64591f313a6efdaaffc'
'f3719964e893c1002b7a923e8f95f923'
- 'ef463b3772f804beb4108e15917485fd'
- '6125a2e91119afe4cd4fb78909bc2168'
- '990067ee981db3bf9873e4bd9b2b1eba'
- 'e32d496230cba49a435775359d4485ce'
- 'd212d8bc244184e816cf36a9b654e7e6'
- '4a83b506d1b81dfffa0b33bc0f12b24f'
- '6349985a77b2db81a43cb22291bfd972'
- 'dd4a259bfa4ce6816c55e9d7ff7f1172'
- 'dc3ec06ccb5e98cfa332fca40af77470'
- 'e81e63d8fac6c61cbbe72b1c8b0ce05c'
- 'f0850f83f396c33a4e69abd00bda0e55'
- 'ffc5de6b5409cf7cdd411ae853e0ba05'
- '169780df5d160a04221dd80c92dd131a'
- '8d1eacb770748156dbe02e493c41a5a6'
- 'a3a0d856da6af722a6444567b684eb14'
- '798415f06ce916eb6c84ea4cf97e1253'
- 'c8eefe6a65295d354beb59e8f1b3116e'
- '3ec1490226e064bc1145072ecdf031b4'
- 'a3ff2959c9375084683b0741797103f9'
- '99ea64506470bf7938e169bfe5f569b3'
- '8170d58dcbb1b84820ef0ace6dc23965'
- '24ba56f81446d551101d1848ed660682'
- '53b9b22f7ad5916c8dfccd8b758828dc'
- '0bdcd2f628dff58a4544e93a88344b76'
- '87d516fbb68ae06d5ee7439a8a4d3d96'
- 'c3cfa07d55fec1eb558e11c63ebd2a97'
- '9845802371f603cb70df77a63088c16d'
- '552e297a315a1b6f308604da4b492c53'
- 'dc6755c33351b95f9e883c8e64fab7b6'
- 'f3a67c52f5c5ca8cd5484250617f1aff'
- '48fc583c7e67e87113fb73243da46313'
- '4450b7753336f279296260e444cb0ba2'
- '3a639521e20e5fb936f6d1b7679becd9'
- '241a29846743f4dbcd5704e470193f30'
- '71d71192e076a889da26129efd5f2f3d'
- 'efc91beb8c199d459e1f24164066d75e'
- 'ed717c1b94618faa8304796f1ff0acd7'
- '8fc0aea02c1373f0ac0b7fa7eac2fa0c'
- '808c60d4af8ee7b6bbbd82a5079c293e'
- '6f0e4c6fe66e6d0e98f2fc444b59d629'
- 'bc5e9972f5a092f4f28f577f7ade7ad7'
- '2f852610ddc1550200965d4be6320879'
- '6ad80cd433ef69c3577bfea9fd26cedc'
- '0dd02b5317c9656c64543067956940bf'
- '9e0d2f288130f048358135a89732ca85'
- '936dbda4758d9a65f8c27603a2dee3bd'
- '820d70ce31ca9731c162ab942b0daea1'
- 'd737350d9edb73c15096e867fbdd8f3c'
- 'b1896502d411dd6037f141d3561461d4'
- '491a3a386c4963f162e050c370ffa140'
- 'aa9f4e83501e624e4054f3ff61b71db3'
- '257ee623933cfda550a8643a1a0b1d1c'
- 'c3a8fa4fc511d914892e08fa17fab8a9'
- '44be6381519c6c5ea785a4f5a5122a64'
- '6693c752bf6272caed2e204556fc69b8')
+ 'fb33f8da3bc9f0906baf5222098e9359'
+ '0ceada37eed6ea7986fdffd6b0ea5aac'
+ '612dcc6e280b547efe9d6cebf82a1eb5'
+ 'fcc841359ef595fb58e6ef2333453ca0'
+ '69c31584fd7b442b655e58e4556f5034'
+ '479b6a37772b6885c52f26187818c542'
+ 'b723a4ae893838f4d332c5118bacd2fb'
+ '8cae26bd3354071f96faaa58f633f7f3'
+ '99fcd0609b232ba167d22200df617ce4'
+ '14e0224981659188f41d15d8a2a116bf'
+ '1da89ba6776c5be68851ab6782809b25'
+ '4e5e74537f138c0a5cfef02931e57c6b'
+ '67bb0b85fd5fd3f7344982cb0f93cc60'
+ 'a7120022d3a957f152044f5d7ce155e2'
+ '44a35e42bc9682b42f7fad416f803b83'
+ '149da69e91a018b8c2d2341b62091b18'
+ 'e78c3749605674623a5ebd455d1da5e6'
+ '18d4429db86023c3cff4cdfdb3c7db61'
+ '327f085c787a61c95b7904f1d68ba8ba'
+ 'c7f83c1d5fac8bae0257f5269d6318a9'
+ '2d8f1bf1e814fc984d791a95c4ef8811'
+ '2513698f14cbc85651c5b752845a9d7f'
+ '5d727ff5a17e105abe44b1e970868ea2'
+ 'e233b53dce6072308c190cdb83cb3d08'
+ 'f8c1f680d62c76607c12cf517fb4d9b1'
+ '124a5110c4e807bae739fa5542b21e6f'
+ '8031d7162eeb68343d0879550653c13d'
+ 'af6f26ef85012c84fb28279230a6bf47'
+ '93a25ac664d66deb4e0e88a9dd0f601f'
+ 'f834580781619b97659dc95d8f203d2b'
+ 'd54e1e7ed5c5d88db1ef2445bc0c9948'
+ '7a899329dafb829075f735990171823f'
+ '46fb6882a4350a86616dd0859b230602'
+ '80492e996b180062f56f9005d4083608'
+ '9fab024f293084e98e00639bb156b7aa'
+ 'a24adcb523efdfb836d7aa8dcb192a8b'
+ '3742697f98cec4bb7c565cdede33263f'
+ 'd9362ae826eb8591db5d6cf3f56bba0f'
+ '5e05ee5c2ef8ee9e5869a1f26277df2c'
+ '6cd8b8a4f19df69408ed03e7d09032dd'
+ '5ff06adb7f42975034f29910f5c9698d'
+ '74b76de767b3d1fc5eae3b40f55bca20'
+ 'd387e154d9a6d322551a16ac9e9b38e3'
+ '03c41d2d47146ca18aab8dff9023d3aa'
+ '8fb9aa07d7c5244da75192ebaa254d3c'
+ '84377496e3bc15d46f85bef767ca13ba'
+ '07ac58fb12e6744279670c22bbe41d9b'
+ 'b12f1a56bc7ce08c2800955257db1799'
+ '36ffa376a0e38e5b7000c2725cca994d'
+ '1fb8619dff3c3ee7c07e659a88094b8f'
+ '158ca3414b6ac982fc0c97d8b4f28c98'
+ '1fdabfde405e2bf54a4c8ad25c04d98f'
+ 'ffce5a4d36bc8a42496fda405ac677f7'
+ 'e183f1b3c17813399a930cb7b66d545d'
+ '12a93560247c526b0d29cacfc9f4882d')
diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD
index 8473cadd8..5fcf9f112 100644
--- a/libre/icedove-libre/PKGBUILD
+++ b/libre/icedove-libre/PKGBUILD
@@ -3,8 +3,8 @@
# We're getting this from Debian Sid
_debname=icedove
-_debver=17.0.5
-_debrel=2
+_debver=17.0.7
+_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -33,8 +33,8 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
${_pkgname}.desktop
Icedove-branding.patch)
options=(!emptydirs)
-md5sums=('0c68298c17757257da79b6bb39e3fd10'
- '2086f544ef90570d7629374aeac22aa6'
+md5sums=('d5c0351b374b6caf536c11522929d822'
+ '0c9fc53103e7168edd972466a29cc8cf'
'5cf95ea94f69cdd36604890cfbf7b954'
'a8fc4658d45b6bf9350023e5c3f34e56'
'4eecc4fc5aafaf0da651a09eadc90bee'
@@ -94,6 +94,8 @@ prepare() {
}
build() {
+ export DEBIAN_BUILD="comm-esr17"
+
cd "${srcdir}/${DEBIAN_BUILD}"
export LDFLAGS="${LDFLAGS} -Wl,-rpath,/usr/lib/${_pkgname}"
@@ -103,6 +105,8 @@ build() {
}
package() {
+ export DEBIAN_BUILD="comm-esr17"
+
cd "${srcdir}/${DEBIAN_BUILD}"
make -j1 -f client.mk DESTDIR="${pkgdir}" install
diff --git a/libre/iceweasel-l10n/PKGBUILD b/libre/iceweasel-l10n/PKGBUILD
index 298d740cc..375785d88 100644
--- a/libre/iceweasel-l10n/PKGBUILD
+++ b/libre/iceweasel-l10n/PKGBUILD
@@ -1,8 +1,8 @@
-# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer: André Silva <emulatorman@lavabit.com>
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Figue <ffigue@gmail.com>
-# Maintainer: Márcio Silva <coadde@lavabit.com>
-# Maintainer: André Silva <emulatorman@lavabit.com>
# Based on icecat-i18n package, which is in turn based on firefox-i18n
# When updating to a newer upstream release:
@@ -11,7 +11,7 @@
# - Run 'make'. It will take care of everything else for you.
_debname=iceweasel
-_debver=21.0
+_debver=22.0
_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -23,7 +23,7 @@ pkgname=($(for lang in ${_langpacks[@]}
do echo $pkgbase-$lang | tr A-Z a-z
done))
pkgver=$_debver.$_debrel
-pkgrel=2
+pkgrel=1
pkgdesc="Language packs for Debian Iceweasel."
arch=('any')
@@ -54,7 +54,7 @@ build() {
cd $srcdir/$_path
unzip -q langpack-$i@iceweasel.mozilla.org.xpi -d $i
rm langpack-$i@iceweasel.mozilla.org.xpi
- install -Dm644 $srcdir/region.properties $i/chrome/$i/locale/browser-region
+ install -Dm644 $srcdir/region.properties $i/browser/chrome/$i/locale/browser-region
cd $i
zip -q -r $srcdir/$_path/langpack-$i@iceweasel.mozilla.org.xpi .
done
@@ -75,91 +75,91 @@ package_iceweasel-l10n-$(echo $lang | tr A-Z a-z)() {
done
md5sums=('e88728730ecf9f0f145de5f70e362b15'
- '59b4b2a362eece9edabb2fdc0f548ea2'
- '24df894af578b902d16d4bc91759e926'
- '489f555d46d08e3cb37eb5cb16203a3b'
- '3b71f901014bd3fdcfc53d19a13cff10'
- 'fc4a5af84dcf6b055b11b8d2ac9868ac'
- '7d03e2d5c2660942d5fbb5078b71c8cc'
- 'd12132ce5c0a4a881363dfebbf23fbee'
- '09a5cf2d291f052433bdf834fe1f5100'
- 'a8eb8983f0c63c1383f18f894f2292ee'
- 'ef6fbffbad81223386c30c06da584f65'
- 'f4b80fc31cea5e0aa3c03eab9f36765f'
- 'c7ba7f36e104046ab22f37202c5e291e'
- 'e884fe1127ef15376f4d72047e2ee924'
- 'b235bed0eb4f872d5478a58c00341458'
- '577498e39c9dd00ea2fb72146b3b5eac'
- 'c611cfc16c7c7b5b6c877fd88b40c10e'
- '5c6e2f317aba37bc701e4aab4720fcd7'
- 'f9f7db03d1fcf2337902eba79289934c'
- 'e601dc8a1bdd9204ca3a4db5e4fe0df1'
- 'c2075468a1fea47efb7c65000fe73652'
- 'fcf2f689a8d06c7c2c6bb49f57037d55'
- 'f0c8d22cc820bb7177326bb069a38f5e'
- '9dd2dc6c155ec3a61e26fba4baa980bc'
- '41eff39b7c819c78fcac10f8064a2627'
- 'c3f9a5f5305fece3f165d5d946805180'
- 'd424c55b8a0242e500916f5bfdc60319'
- 'f5d41bf99c08a27c4f4a2d370e6414f2'
- '420a3b3194938ecc31e05899bd0c52e4'
- '19e23ac8f3e187c1b7112e1a252adacb'
- 'f1c9f646c5b70f591497cc36b7312aae'
- 'b246026367f3c5416397566bd5980e5b'
- '24e4bf6cc17e3fd724387e157e6a49b1'
- '60af06bc25f259311284d83cb6b2ba02'
- 'c5d8d2fecb6b0d2172ea1b4a4bdb2d68'
- '58c93fd5ad320935666f0e10a2111f0a'
- '7777c5b6bfa40c3ece5b48ef18d12938'
- '47725d7fa7594f5739725096ae999dd1'
- 'c2f34c4fbd2eaf0a9c7e8d97ac49ae43'
- '7900a33d5694744af6c1b3a6b8a5f2df'
- '97a95a5c30d8ba542a4c5457a831259d'
- '02a3052bf3af409c56cdca72c23f2669'
- 'a617e607fe3f952b6a152707c5c895e4'
- '8d93b0550a30af8377e6198d67fb740e'
- '938c22bdb193a8be3cf317deded8a49e'
- 'f343106f50810e14ae1264933d5495fb'
- 'a58187d70e895b90ea7667b08e0df6e4'
- 'a014309f9621a15a7f86e759d5a42aa5'
- '8a4c8bea9c508ad4ca395eb5d31e3105'
- '6e728d930ca539a022d1d5cc5d8cc9c8'
- '6c10afb3a86a1305ec4fdfde5702908e'
- '3f749b1b19d5534442eb9daf5f9ddba1'
- 'd8876e6f3ee24768a602128963f80e1c'
- '6b7213d8c4d625ff0293e7a7c8eb4254'
- '3d2b5b760c369ce1ff764205b196f0e5'
- 'c09eec3566a2352f1dd2f2ad0e7cbf6c'
- '5e560da497a4e448413bfd343d23493d'
- 'faf5235cb19f5d1ee1d8868eb9399d8a'
- '1dc06a576d7c87059125fa51e8677500'
- 'ea7c6eb5df30fbf3b7b4737025492fd9'
- 'f50c41542503959ddcc0ce200c2f8ec4'
- '1a633a935016e3570327b52b66bb0dca'
- '59bcc03566d356ac027655453775efa4'
- '2d8644f035fe7d4e77a0f5eb196ddb0b'
- 'a5cf6b19492d3e969187fe847d4ee990'
- 'e3167e646b7c556e0d43565a13b066f9'
- 'b1ce311e588dd120d04c2d94597ae100'
- '129a07881b89c3f3ab14971dec88007f'
- '37bc634c1f82bd9a01ea7e817e100d71'
- 'd9b39409aa83bcae7aa22c54ebcd48b0'
- '582926879e8d10d52448f373cd3fbd33'
- 'cf6bafb6e3ee659c27579b43038f704c'
- '083f69fd4f64fd436d7fdfe8a7747b41'
- '6f65d6a154fa2c7d72045b4b34fc8890'
- '1a060b1b08d6fa8413995003c62b220f'
- '84194eba8c736cd8036975a8423758c0'
- '30f15d767b3e867df514175680a78a8d'
- '32946289930406ed3ccd1c174e464210'
- '05547b17ebd589408a9633aeb4fede40'
- 'f53c078d1ed0e90f2d68f098b34279f2'
- 'a11cf418be9247856f3179f85fe57c9a'
- '39d47c6e738749b1c01d06a1b112c368'
- '63adbbe9ac9dde80d2c3ae0c861f1d33'
- '82d6b78bf72083a5e01652c02e152680'
- '725a322b12f522591a5fba5aa32031bb'
- '98c7ed17e8fbe4478032a31ad2c2aa07'
- 'a7c33685d88af8a90a14c874538fa53a'
- '9b43e2e557c82a20509f34a54cc42e0f'
- '84e12ebfd749a04adc5b3ace348a06f1')
+ 'ee742b573a169d31560f6a6becb41e3a'
+ '5d0dc39924ce4e0db437996d8a34fdd0'
+ '0f0ac315f5fbb5e081e5e9969c5482fc'
+ '4f9acf9efb7bfdaaa6061d76a61f1fe0'
+ 'ba5e95c3b6a48c8078353658e90a86f0'
+ '62b101c5e3ec1bfb7096c1728a5a1f89'
+ '33c910cb338f15b1f8bb53642f926c3a'
+ 'c971d199e6ce406095c82fe0aa11fe01'
+ '023ffab908dfd2ba970a1b5b9e5d2b0e'
+ '4c268fbe223e195ead80454880d064c7'
+ '8bd1c3303d7c17f2bc60240496c76ce2'
+ 'cf9e7a05dfa86d45246d0605d00e2d87'
+ 'a5fc01397dbe6d52f996b93b8a3cf55d'
+ '0b838e5ff9bdef95353f6e7dcd259558'
+ 'b529eea7fba51b4384fde80b47e7bebc'
+ '4f7fd9e189de9df37ff69cf34fc99f02'
+ 'c43a7be1aa8a0f00023e024de46198c2'
+ 'a4122057c2b2d4cec5079fef3c195b69'
+ 'adf7ca92a9df2d80a150fba8f94d12ad'
+ 'ce406f27700d972231e6a58f137068e2'
+ '1183cf8ff60af67e723bf3279d45058f'
+ 'bf22f66d181f97f5d818b8a1cd708617'
+ 'a684274da448a765a47a9c945803ab4a'
+ '328a0a2affc13ec597233ab0011ea506'
+ '099cc06876fe8e59a50bedb498169721'
+ '2e4cfd617507d28fc7083cfd9a49b5c7'
+ '8065c4a6d1634f6571d8dd3b428d3e6b'
+ '03a8757b10ca780690b80685918d9fb3'
+ '650db5a5d7d84ee533a34d4e6927e7b4'
+ 'eafd888466b00b1130aa24ce3e5ff689'
+ '1904330faee4503f733e006aa4f70d12'
+ '2a9846c969feacdba46956b57231667a'
+ 'e28a0fdf769432fed614da3252f03b41'
+ '3268b4c75e04c8315c93c0c47fedc602'
+ '5a0358ed95f4be6a1fe2f7654ea97e38'
+ '9ab21ef94c416f0925dee7fa1bd7feb0'
+ 'bee9b7995ccefdfe76b911032aa91a1b'
+ '59e6062bc9b97ae55f33ac7354491ce1'
+ 'b449c0dd635d34005b72a0f8a6c6573e'
+ 'b21e26451d5fc860a58d8a4cc0b9be99'
+ 'b558424e457aff17c582d642aa85fc24'
+ '5b603ba3e3c54902057308cb09c80e4e'
+ '20c17f3d945614cc36916dcf0c479a5a'
+ 'a2178a56487c0449244f50763893583e'
+ 'e256a82b04816566e10c9d4c8cb62c57'
+ 'afc5407fae17c2e894216b2e649d230a'
+ '92f60bbe78aae87dfa2df2bf008db10a'
+ 'a02788678251a677c6cf7c2123391f2a'
+ '4f927451a8b375e0f5ddb291c1fb7b80'
+ 'bcd9dbdabbe837b615c3c94e664addc1'
+ '2b50509cf00c2fa27292b055c31fc415'
+ 'e7b48db429e08751ed60b9500bba9d7d'
+ 'cab6a762cb378503f797da42d47283ad'
+ '8be4595d4788114c9c167435a5bc8d3c'
+ 'd03539bb9460209fa474385060077032'
+ '2ce9415f8f11aa7e8498a1abfc3ef39f'
+ '4119ba2afd5db58625571a119c1f09cb'
+ '981e12b8649b4450c5ac1e9e8ffbac83'
+ '881032091c863b249d1f463a1f1ab58f'
+ '13b6072c1adf21a2b8363a77073c83ea'
+ 'ba3646116673d62583b03c8789b72370'
+ 'b40dfef3bf5c27673a600e22135a86d3'
+ 'f2d5b8b91a20ab2170c5c62db1179ad4'
+ 'badc3b2a5c87b9df2d4176b0542fa836'
+ '882799e21bf63baaf4b1d335ae3ffffa'
+ 'f0ff3990e05f7d7d4386a1dc9cc78423'
+ '7bff28a8b1dee5f603b582d0ecd51f35'
+ '015469155969f9c2bdb79a2bd0d41402'
+ '59a8ff29e9a15d6b174dea2c7995ab3f'
+ '63b5a9127a721dd40ed3ad8f78132ad5'
+ 'f3f2fcdd40ea556de88cff9edae0ee3d'
+ '0d07f11308c2c339b965389e221fb6d5'
+ 'ae002208626b4b52680f33f2645c1d47'
+ 'a170a839e3fae8ef76f80c30d5f136f1'
+ '16d6fa49650822e036c50892b4f0c3f1'
+ '6eb5c5b1caf73c6d4bc9ec60991db988'
+ '846e79dbc479856f919f264d9821233c'
+ '01bb7fe8b663610ef4a5813ff3f7d895'
+ '670495986ec1643302641ec214a6c38e'
+ '251ced2c35aed8d301b23922b35d5e7a'
+ 'ce1d7bc395ccec6b9d4b143d5b8c5ba7'
+ 'f90747e32f6414f3494219becd331eb3'
+ '8fba2382f07aecec5234608741fdb72d'
+ '9c06e17e2dbba42dbe01a1264c57e39e'
+ '0a3aff57dab8c018daf0d9e71211bbb5'
+ 'a15982154bccdb4abdedaa8a86edd259'
+ '92a75129f4dd1f9700bd355e2c15b393'
+ 'bb02b3047d33b870ca5f549ce5561d98')
diff --git a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
index d89e4d1ae..f561d5d39 100644
--- a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+++ b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
@@ -3,7 +3,7 @@ Date: Tue, 5 Jun 2012 08:57:06 +0200
Subject: Bug 756390 - Make the "Reset Firefox" feature more generic
diff --git a/browser/components/migration/content/migration.js b/browser/components/migration/content/migration.js
-index 0e8ccf5..fa46c08 100644
+index 91c5c1c..2f8bd1a 100644
--- a/browser/components/migration/content/migration.js
+++ b/browser/components/migration/content/migration.js
@@ -249,7 +249,7 @@ var MigrationWizard = {
@@ -184,7 +184,7 @@ index 260bc29..52b32cc 100644
-64_firefox=Bookmarks Backups
+64_self=Bookmarks Backups
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
-index fa45115..1fcf3cd 100644
+index 0541ebf..f983ae4 100644
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -42,7 +42,7 @@ toolkit.jar:
@@ -267,10 +267,10 @@ index f35c227..7062886 100644
%{C++
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index b08f8ce..446ee74 100644
+index 17f5598..0b9a24a 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3747,7 +3747,7 @@ XREMain::XRE_mainRun()
+@@ -3743,7 +3743,7 @@ XREMain::XRE_mainRun()
if (gDoProfileReset) {
// Automatically migrate from the current application if we just
// reset the profile.
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index eebf10e57..359dd684b 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -1,10 +1,10 @@
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org>
# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net>
# Contributor: Figue <ffigue at gmail>
# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
# Contributor (Parabola): vando <facundo@esdebian.org>
-# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
-# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com>
# Thank you very much to the older contributors:
# Contributor: evr <evanroman at gmail>
@@ -14,7 +14,7 @@ _pgo=true
# We're getting this from Debian Experimental
_debname=iceweasel
-_debver=21.0
+_debver=22.0
_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -22,20 +22,21 @@ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
_pkgname=iceweasel
pkgname=iceweasel-libre
pkgver=$_debver.$_debrel
-pkgrel=3
+pkgrel=1
pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox."
arch=(i686 x86_64 mips64el)
license=(MPL GPL LGPL)
depends=(alsa-lib dbus-glib desktop-file-utils gtk2 gstreamer0.10-base hicolor-icon-theme hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification)
-makedepends=(autoconf2.13 diffutils imagemagick libidl2 librsvg libxslt mesa pkg-config python2 quilt unzip zip)
+makedepends=(autoconf2.13 diffutils imagemagick libidl2 libpulse librsvg libxslt mesa pkg-config python2 quilt unzip zip)
[ "$CARCH" != "mips64el" ] && makedepends+=('yasm')
options=(!emptydirs !makeflags)
if $_pgo; then
makedepends+=(xorg-server-xvfb)
options+=(!ccache)
fi
-optdepends=('networkmanager: Location detection via available WiFi networks')
+optdepends=('networkmanager: Location detection via available WiFi networks'
+ 'libpulse: PulseAudio audio driver')
url="http://packages.debian.org/experimental/${_pkgname}"
install=iceweasel.install
replaces=('firefox')
@@ -51,18 +52,22 @@ source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2"
vendor.js
shared-libs.patch
replace-urls.txt
+ $_pkgname-22.0-do-not-fallback-to-manual-proxy-settings.patch
+ $_pkgname-20.0.1-fixed-loading-icon.png
Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch)
-md5sums=('0a7c51bb494463c327af918bae6c4ee4'
- 'c17121a4ffd40f463e16d7828445d96e'
- 'e1e903ca91997f18b428c54ef604f27d'
+md5sums=('45d7121606cc3b21cd2797c87b5dc3bd'
+ 'bf0440dd8c31527359d797daaf0d3edd'
+ '2d7ac85c32df6a4ccfcc6de7a1420bf7'
'383e8e2a97a8b13fe56d153adb6878b6'
- '2930f3bffe0d7a6b9845f8c006821bc2'
+ '0bbedfc161291de9dc61c531bf062c22'
'7b9e5996dd9fe0b186a43a297db1c6b5'
'abf5ecb74caa857abb42bcfbb3442d9c'
'0c26941504d3f2abed759221e9bb5de1'
'52e52f840a49eb1d14be1c0065b03a93'
'a8fc4658d45b6bf9350023e5c3f34e56'
- '85e67561e0e491cd538ce018dfc2d948')
+ 'bc27a39d08ab3f6705e487c85598d8bf'
+ '6e335a517c68488941340ee1c23f97b0'
+ '86d4045285a9a15c20a62f46535809cb')
prepare() {
export DEBIAN_BUILD="mozilla-release"
@@ -131,6 +136,10 @@ prepare() {
echo 'ac_add_options --disable-jemalloc' >> .mozconfig
fi
+ # Should be fixed in Iceweasel 23
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=817533
+ patch -Np1 -i ../$_pkgname-22.0-do-not-fallback-to-manual-proxy-settings.patch
+
# Fix PRE_RELEASE_SUFFIX
sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
browser/base/Makefile.in
@@ -143,15 +152,27 @@ prepare() {
# configure script misdetects the preprocessor without an optimization level
# https://bugs.archlinux.org/task/34644
sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
+
+ # Fix tab loading icon (flickers with libpng 1.6)
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=841734
+ cp "$srcdir/$_pkgname-20.0.1-fixed-loading-icon.png" \
+ browser/themes/linux/tabbrowser/loading.png
}
build() {
+ export DEBIAN_BUILD="mozilla-release"
+
cd "$srcdir/$DEBIAN_BUILD"
export PATH="$srcdir/path:$PATH"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
export PYTHON="/usr/bin/python2"
+ # Work around memory address space exhaustion during linking on i686
+ if [[ $CARCH == i686 ]]; then
+ LDFLAGS+=' -Wl,--no-keep-memory'
+ fi
+
if $_pgo; then
export DISPLAY=:99
Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
@@ -167,6 +188,8 @@ build() {
}
package() {
+ export DEBIAN_BUILD="mozilla-release"
+
cd "$srcdir/$DEBIAN_BUILD"
make -f client.mk DESTDIR="$pkgdir" install
diff --git a/libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.png b/libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.png
new file mode 100644
index 000000000..55f25e591
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.png
Binary files differ
diff --git a/libre/iceweasel-libre/iceweasel-22.0-do-not-fallback-to-manual-proxy-settings.patch b/libre/iceweasel-libre/iceweasel-22.0-do-not-fallback-to-manual-proxy-settings.patch
new file mode 100644
index 000000000..56e4bfc45
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel-22.0-do-not-fallback-to-manual-proxy-settings.patch
@@ -0,0 +1,36 @@
+
+# HG changeset patch
+# User Patrick McManus <mcmanus@ducksong.com>
+# Date 1365623297 14400
+# Node ID 85f1d207f52546e0e5fe78990cdefe6efae485fb
+# Parent 2bb26d742f5ffd2d946291fd3c688dc3d6d34f67
+bug 817533 - failed system proxy lookups should not fallback to manual configs r=jduell
+
+diff --git a/netwerk/base/src/nsProtocolProxyService.cpp b/netwerk/base/src/nsProtocolProxyService.cpp
+--- a/netwerk/base/src/nsProtocolProxyService.cpp
++++ b/netwerk/base/src/nsProtocolProxyService.cpp
+@@ -1553,17 +1553,22 @@ nsProtocolProxyService::Resolve_Internal
+
+ // Proxy auto config magic...
+ if (mProxyConfig == PROXYCONFIG_PAC || mProxyConfig == PROXYCONFIG_WPAD) {
+ // Do not query PAC now.
+ *usePACThread = true;
+ return NS_OK;
+ }
+
+- // proxy info values
++ // If we aren't in manual proxy configuration mode then we don't
++ // want to honor any manual specific prefs that might be still set
++ if (mProxyConfig != PROXYCONFIG_MANUAL)
++ return NS_OK;
++
++ // proxy info values for manual configuration mode
+ const char *type = nullptr;
+ const nsACString *host = nullptr;
+ int32_t port = -1;
+
+ uint32_t proxyFlags = 0;
+
+ if ((flags & RESOLVE_PREFER_SOCKS_PROXY) &&
+ !mSOCKSProxyHost.IsEmpty() && mSOCKSProxyPort > 0) {
+
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index 3bb39d215..b5f0a4126 100644
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -1,7 +1,7 @@
diff -ruN mozilla-release.orig/browser/app/profile/firefox.js mozilla-release/browser/app/profile/firefox.js
---- mozilla-release.orig/browser/app/profile/firefox.js 2013-05-11 16:19:20.000000000 -0300
-+++ mozilla-release/browser/app/profile/firefox.js 2013-05-18 13:47:28.091097903 -0300
-@@ -1203,12 +1203,6 @@
+--- mozilla-release.orig/browser/app/profile/firefox.js 2013-06-26 23:50:49.004052388 -0300
++++ mozilla-release/browser/app/profile/firefox.js 2013-06-26 23:45:52.697802427 -0300
+@@ -1208,12 +1208,6 @@
// (This is intentionally on the high side; see bug 746055.)
pref("image.mem.max_decoded_image_kb", 256000);
@@ -11,12 +11,12 @@ diff -ruN mozilla-release.orig/browser/app/profile/firefox.js mozilla-release/br
-pref("social.manifest.cliqz", "{\"builtin\": \"true\",\"origin\": \"https://mozsocial.cliqz.com\",\"name\": \"Cliqz\",\"description\": \"Cliqz for Firefox Social\",\"author\": \"Cliqz\",\"homepageURL\": \"https://mozsocial.cliqz.com/\",\"version\": \"0.9\",\"workerURL\": \"https://mozsocial.cliqz.com/worker\",\"sidebarURL\": \"https://mozsocial.cliqz.com/sidebar\",\"iconURL\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wKEgkPNcdyEiIAAANaSURBVDjLVZNPUJR1HMY/39/77vLXZYFhKf4sbEKRTlrjFFIzFgtlJmQyddAmrOlgjdIAt+yQp04Wzti9sUZwPFgzOdg0sIuThaGUOBROEqLAimsoiqy77Lvvt0s09ZyeZ+Z5ntPzCKvo2w+7Poe+/YXAQeBtEINqX9gX+2JT3mKpgznT0zhwpyvaTE/jAAACQG8H7D4CJ/YZHFkA/ICi4JW01FtXWFco5NjcPxweXMN/YADw/KMyEkHEj7qKugJQQZxlR4klUEvI74o0H/hfQXc0DG8cgd7uLah5Gle1oWSt7KzYyIH1WyXotYknYHBGJDIHk/fc1tXw5lPbsIaPXuXg2aZ1Wcn5L/3OzbKkeGVTyXpa86u044lmuRC7pkOxCbGMhTGqapuKqnfqArPHrvTP9k4inZFwgSLXz8cTvnDldj0zPcXrj+5gauZPQUT7fo9KVWUJo7f/wJDi2eoACSt1yxa79VzL6Z+lK9L0yVJ65cONpW26u/ZdOT87wUJqCUln9NvpC9IQXK8dT+2Qk5NDvFq7BdsYfWton4zfu9ydbbyHbYW2omw/raGXpGf4OP6cAurL6xCF0O0Ae598hUPnTuDPd4gtzVOc6xdLLIyx6tWYLAPUPJRbzuJyhkNj/fy6cFXzvblqWbZU+AM6Mjshlf4AP8Z+I+Wm+GFmmLG743iNXSyqxlZ0xWNl54SKgnzz2kfM3YnL7L1bpB1H60qCUr6mRPOycqTS9yZluaWMLPzC3sf28P3ckDt6+1LGatjzyDaQ4ONFm/jp2hQ3kotcvxvn1uJfYtse8myvLK08IJlOUVZQSI0vpM8FnuHFsudrkunUBemKNrcLenQxZeuxcVtWXME4GVh6oJlsj3Q07NQNxdXSffYzNqzNxRjFqKXv1bZLla/yvnFd97gqA/leR8r9adRRzSSSmlFXWF7WUEGpXIxfpcAnOLpC2nVIaWp810Bb9Wh87CsB6Iy+kJVlrA8u3+X9Gzfd0Mik8+9NPF6vbq57WJJ5N7FtC4X7ItI+vL3/awDpijbR0zgIQOdguEqMmU6kVCdiLhkX2Ri0UIuxiw88EYWMoB8Pt3yXWJ2zrJLOSBOHw4N0RppeFuGkCDkArnLJQrZ+2jgwv+ptOLWN4ZbTAPwNmUptT0KshT0AAAAASUVORK5CYII=\",\"icon32URL\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90DEgoTOwK3bfUAAAj8SURBVFjDnZd5cFXlGcZ/7znnLslNCIEkQBJI2IksAWpcgmjFugRxA41lwFKmTgd0tB2qqVVpLXWGAk4V1y5IxRnRCR2tWIgwWhYxCJECYQmEVWQLSch2c7dz73n7x80NIVKgfn+d78x3zvu8z/d+z/e8wtWMt2YJkA88ATwA5AF+YBOwFKhk7orA02sLkkSwAP/ikhotqyhgcUnNZX8tVwgMc1fAW7OWAPMA47uLFNT8bEafHStzkyOliqQBu4EFi0tqzlwpN7mK4OuB2y9E6/aNQo5V5+9v1bmuywqrx1CvxFfUA/2B8OVYMK4QfFFHcL00YMUtkXCedSZJwVNV73EUHI2vzgTe+35b8NYsgBuArRdlrQoiF2U/xHWivbfZ7ANBFTK8sbYxvcOpjkriu75A3f8CcmkG5q4AeK87SJ/hBtuOA0EBgwyzydB4MAxRGsNmqj9itBmoCIoqpd9nC24FBnVE6kx39oiJzC+YDOqQl9SL61Iy2xx1kkTQYIzwcb/VXN1kNa086jM2nkmqP9zqag3G5AaA4vKi/wOAmmWoRFFT4ruviuNwU99hLPjRDCUQ4rMpT+u2GYt8PieFuqC0H26zjFZbegqaHoyJN6r0POF39djR6L35xvKiSZWlVVcH4NcVIxaOc1dPutazxxrlPtjgNcJ+VIRohCl5hQpItiadG9I7WzAw+voKA+fCZiqKSwQVEQTMlogREVAHegp8XlxeNOhSLFiJh7KKggGqbDsfNrIscQwR1SQCGePdNdGacH5bD7M3Pm9SaiQS0dPHq7MSxXm2LeQRcFQQVAURRNBWW+jlcUSMzhzXV5ZWDSkuL6IrG0ZZRQFlFQVeoFJE+zZHjLAhEAgHpL9ngLaEok6kqd64N+caF6Brd20WnADlX6+XxqbzbD6wL9Re394eCLRKRKMoiqMqLbYSdSKECBmKqqoOLi4v+nn3rTA6KvRlIEcAv23YkWhEl5e8S/n0D2XONfOt9kA0uaSg2APIJzVf8NTtj/HIyt8G+70ylZgZ1WWT/5B65vHN3N93Il7bIs1IZkzK0OTSQdOdZwqfc/tsn0j8+L74HR3oyD4IqIHK1joz+sS4F6xpYx4kbIfVdERcvxlHdHE1pmWS9quJ+sW85bK5dkfkiY1L3c8U/0QX3jlXAFr8rfr+rn/JDwYXUtRvZKd+LK98m2Wn/4yoABQC1QkmDGB253kX6O8bHp425kE9eOZI9HD9SQKREAOzCzAtk6bWZrvV9suYnKGMyx7mTnL5dOEdcwTgmVUvB9NSekhuj36c9Td26oeqkpGUgaNOIumpF9UAcGdiEtMYj46bGwPk2fVvRHPTsmTLsd1MG3UrAB/u2+T6cdHkMMDRxlM8XTxdEGHNzk3U2Oe8AEcaDzoBuyHQRb7jmV24SyZ0PwWjExPbjnFT3m0+gH/WVuL+eLHGVOWXEx6OA9i/iceKpynAmsNfsfSBeQDM3/A2f5zyuAB8fWpbtOXs2WS71c/EwTfH8jLzzb0NezDEAEWAEd11ICcxyU4ZqaYlZkNTQ9TRqPuDA5/Jqj3rKM6PY1xbs0VLht/oBTjeeFr7pPbG3+5nd+NR7hh2PXHg1U5LuJlRA0ZrXma+Wf1NNWvOrU7sP0Cf7gy4OwGkjhCAUNS2EFGX5aWw32AAak8dY1juYDEMg2AwqP0y+gjAp/u3UvbDRwDYeWQ/flzORw99TC9fljS3NTPn80eR1HgtAIiIqzsDwc7Lxp0OQG5mP56b8DPZMuNVxmcOAeDT2m3cOTSe5eZDO4LjBxQA4HG7eeHWeB2vOVjJu1N/n9zLl6XRqM2bX77OXcNLmNTnNgp7jsWHD9ux/V3vBgv4FhgOEIi0kKjcFyfPYd3eL7k+fxQA645sZ+rYeDF+XlvlDMobiKpyT+EttLb78VhuVtd+yYZJb6Ad1+Ozdz3fmWkoEuK0/xSvb301uerNXTmVpVWnEgzsSiyqqd8ExPUc0AUb3qE51AbAlm+rtTHQqgCVx3anNAZaAyLCifrTnGs7D0DV4e34vMkqIrgsl3al2uv2MjB9EH+6e6k81X/evsQZsYA1wMMAQRp4f/vzMijz7tjKnZVm5dnd7N14gnEZQ2gNnufFje9Er80a6jrceJJl2z+Woj7DdcG6ZbLlF3/j0Mlj4IXjdSelOdxgN9r1rohGsMRFmjuN3JRcstNzAGTRXUvSjqw49PeP+GS2lFUUJM6nAhKLRTnRmtqyaq8nFbdloIpHXITVhpDd5o4ZqVGN4VgExO1OnjKsmNUzF/GXzf9gzr9fJie5HyNy6traJZga1SimmHitJNI96QxMHshjY59kSOYQXbPrE7l3x72ZibtgQYdyqWlapCaFzZ5phOOQhDBRgBB2LCWiURwUomqoSeyW/LEKsOWbPSAmpwJ1rWFPyGu4DHW73ZguE1sinIvU8VXz1qr71kye/8Hulc7dY+9h9LmRs40O7/47oDoBoofLsfLSIyKidgc5NoGIdpU0VL2EIu15afHjuPXUXsVB8zPtmKO4uvlN7VDEsv2zD704a/PMCa99/cqx+0bff4fRxa/dAuwAxGupN8XlyLDMsE3MaCdg28QcL8iFwhJRIk7KquoNQUCP1B+TdF/U3zc96tbvel0BVleWVm0sLi8i8qRue2n3ohu2BiozzMSKCTMzQ4tLav46YWbmGYUs2zGCvb2xpGxPKHS8wUiL2+G44bgg8cK+s7XhHccPuo9Evm0fk20ni9dwuosNcBq4rv9DOZ1mZOT4gnY7K7LzIqhdW6l3vhqUeqDZ3WoKHKiz2rYcdVt1TaYLwUI6rLqCx6OhgtxQsGeaZQQxephes3v6a4GfVpZW1Xd9mXBGl23NyioKlqjylCFKKCrRpoBhH6izAu0R6e0yNDwg3WnPTY+lpXgcsR0xtrX5pqtQKiIZQC2wHPhPZWlVqLsVu2JrlmCjrKLgeEczqqBiCEhHi6LaYQbjL55cMrnmte7/+V+BL2/LoWtXOwHYFwcrOCrEVMRRUaWzJBYumVzzWoemXDQuF/yyALqwcAq4EXipq8noYO8b4DbguatpxS81/gvSJCNlZUMZjgAAAABJRU5ErkJggg==\",\"icon64URL\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90DEgoTJxa2MboAABYBSURBVHjazZt5fFXlue+/z1p7SnYmMjHPMwJaNAhxQFTUWJHj0FBrK7W2tdajtYPYW/3ce+w5tz2N3rannh7s7amntLXHwxFbtYpinTUKQcFAEhAhEAghZCLJTva01nruH3vI3mEnjNL7fj7wgb3e913v83vm53mXcCbHmlVw11pYs8oAioFy4CZgITAJ8AD9wG7gTeC/gQbuWtuRtv4sDvkUiP8McC9wPVA4aJZmeOceYD3wKHetbTvbIMgZJv4nwLcA7zAEZxoakwy9hbt+9zzA6g2zvw9UAuOAZuBp4EdVFQ26esNsqioa/j8AYIDw/Lg4LzsJogdjoCAy09v82PJRzV8xRP0ZtrHjoDwDnBEQjNNaHSO+BHjvtIlXQya5DjYXaMfdtR2eABBWRQdNNOPqUlVV0cDqDbP/hhKwZlUCwEPAyFMnPjZKjfbmye5DY0FQhRy3c6CsJDTeUVGRjPveXlXR8Nu/DQAx4gV4A7j09I6gamJHLvTuCFtq5saJVUeRsdnWgZkFkUwgJMAuBjpORxWMUxZ9+D9x4vX06Ddkurup1cbISyFSDFFt7neNbg26OkRUhmDcv56uHThVCTgf2HL6NljVQAMXemtzHMxMZ1HLoXfpmKDPEPUMcdw8oPdUgTBOQfSJuyQ9ffpFRpttQQdjKEaIy9C87Z2e9mEOevfZU4GY1f/7eFR3fOlRe8DDDSGApWZnRFWGAVO0M2yOOhoxWjN4BQU+f3bc4AD3f3pC3FdleeEczN5wDKoECKrx5QrgZEl4VKqB0+TfiiqWrViOovVdHmxFog6W7RBBUVBR5dyzZwPWrPom8MsTmmtH2XL9P9B5tIurXnwE8v0Dz4JhvLaB5Qs2l/kbx2qcD6qoiIoq/V0RI9gdFaffMkKWUuAo/mm5dme2S51slxMs9dmlxT67s8DrjHWUOVUVOxs+fRWAfzhh3Y9EOX/cdJbNW8j3Z14d47wC4Qg7bvlnmr/5ODe6xrkUAR0gPhCVxp09LmnuN/MCUaPEUcYbkOsSNTrCRtQULQ1ZxsSmgNu3rcNbuq3du9ctOvXTVYE1q2DNbYtRSlAkBsHwOMwtnAQCqsqPl98Bnb2A8o/n38Q5oyZSmJXDU3f8vDTcGU3Iod0aNPbtCbgm20qWCG4RGPgjdEekQJVIzHwiirg6w+aUv7blrC5fVzYGoHxd2acAwF1rQd13ATbi9IMoaoLKEBZOuXri/JiOiYApzMsbC5EQ9y64GlVFRDDchiwbd7WKgd3UZxxpDZmTTBk6oDSErK6IEUh5LHGAzgU+KF9XNre6subMAJAaZz/08sxvnefZfukF3h1mmac+6wLvds711u8qMjt3ooYcIwyOzXXj56chkuXyUpJVRF52jooMUDB/1Dxp7OVQT9QYY8jw0bSI0hE2+g1SAqPYkjAwCqgpX1eWezJSMJwEeFZvmP3l+1+cHWoPmf/LLdZEQ1QNUTFExSeRmTPcTbMW+mr35BmBXhQnKQ1Rh8umpAEgTR9vazzHMvYOpjDPW9rXGWK8CHp8myz0W1KkYA3QryCE4v/1Ae8CcqIguIbgvAn8BVgmorSHXFGJnVwGXIdgIyro1DmePf2tdtHhRmvCGByr55Ks0ihCUdLoB4N6uPvA5Al9o9NqBKqqLf2dfpdpxJPhE+CYkBWIykG/i7EJ9ymGGCnyMA/4SXVlzepTkoB4VFUXT28RoC1kdqYeTuOMFpCYx5asUrNzzDjrkzr21JsVE+cXpVrJDVveFPKy2dK8MxbZJNaLyNY9uy0nZDTG4v3jOxgRpc+S0pT8wBZDxgxy6/eXryubdFIAJHR+9YbZzwAzUxAnEDUKBokcUTtKxIoko5ZDPZ5DB9uYAVbn8tkXozqgpy/UvQ1uNw4Wv3nzGUQGIr/1O14Lhdt0UvgozSBRTcZCmhoZpUWGPVHjiCSCaUNaMxgOBZ44KQDiBYY7gRtSXxuypVNiCQeqiqI4fQ7LS1fwxYmrcPWY0tjlaznQ5SlB1O3y55XOnTCDVEP359o3Yv+IRrnnhZ/yxGvrpT/Q59z+qwdp94aCGCpWQEf17e8+0t/VLf3BfhAh4sRdpKaRJkFbvPHtRd3qcsRJk8z4WFq+rmz+8WyBpHDfA4QHFzY6Q8b+2k7vRIn79Cmuaaz9/B/weDwA9Pf1WwUPX+WK+g0FleUTF/Hclx9JHqito52R378Ysrw8vbKKm9f9AFzSCozE7wPT6KE3lFvozuG52x6Vi+acr798aa3cs+VR7pi6nCcbX8bIcsWNBhhiIGowP9+xjYhpTiycFOgP9+U060HIjs2Jg6/A+urKms8d1wjGuf+zweGxKvTbkgNgOxbn55fx+I3/nmY5sv3ZrqrL79Rvv/crQeCzM8vTnPTzH7wOuTnML53OTRdfw/17a3mk7mmTbF/SEUwuHNu++e+fKC7OL0RV5e5rVrG+biO/vuVHnPPSVL734S+4anI5V41ZRGn2CCblj2FW6RQKCwoVyAF49v1nebj+IbJys1KZe3P5ujI3EB0qPjBWb5jN6g2z3cA3B2ucCBp1pFAE8p0RPPZ3a9KI19jgxnOXCsEghIOsmHVxmig+v+MtME2Wz4sVjqpuW02u5c1JvisU0tfu/GVRnPik6vzm1h8DcN81dzBDRjN/1AzuW7KKL5RdT/mMC7SwoNBM8SasWLSCaFs0E423DmsD4lb/7szJkUrYkoBlR/nh0h/hMl1J4roC3Y7EBiX5hWBZFGQXM2pESZr+v7DrXSUa5oZzLkus1RvnXOZDENThwUtul0nFYyU1GVRVJo+akHzXlZMXY9n2kElc4n1jfeMyldsrh4sOE/z8ekZ7C0RU+s/NW0D5tKRoa9OR/dHH/vqknVjTerQDXC5WzLgozVXu3LfbtoywZHlyOH/ynMRBZfyIkQDkGFk8fNXXSXWLL25+nT9UP59GmKgQtELHteh5nvzBLBSgYlgJWL1hdg4we6gYtDcUtL6z6P7kgUREbl17f/iCqfPdqiqqyvt7a8Hr4rrp6fr/yq7NXfj93Dzv8rQ9u/sDgPKDi76I6TIREVSVcCjMZ9fe3/KnHW8GUuc3tO3hcKDjuBlYtic74+/l68pmDicB1wy36VTfdD1nwjlJrn7c1MA7Bz8KTSscqwlC39q/DWyHilnlaWufrN1YjGOFV553VZpdqGvZA1GL715ySyr3eWDdT5Viz+jKCytyUufXtm4Pd/Yd2Juq85mGZVtDkXHhUO7QABYP3a9yuGXequwUruoT76/vpKC4+N39tZIQ0Q273mdqwST82SkccGBT83YQaf3svEvS7MLbB7Zzw8yleDyeJPejkSj/suUZwVZWzh+QmKZD+ykq6vX2RHZN6e3vSYCufcF+AsE0QaEr2DUUKecNZQdcwJyhmhr9oSAXTanIT7HO8vvtG724TL7yl5/gx0NleQX7uvfz7bI70vT/1Y/eBb+HZRPK8lN33ntwP1Gjj68vuC5NXf7vq+ugwMPyaRchhpHc5836mqP+An+BiMGq9V+Um8ZXsmV/jeT5c3sevvmfkgGaIOwJfkKRFmYyhNOGU4HJQ+l/kWuq5vpzzAT3jna3c6ivO4IqeF2sfPZBXN9bDHnZXDttUZo4/2VnNXhcesO8y/JT93y5rhr8fq6Zk64u//b+M4DNvRfenLbPf9W+7TcMM4zCQesA/1z/j4wYXaAP3/xPeaqadJ3/8sLPyB+fl0k9BJgwXCA0aqiHs0ZekgbM7ubGfrKzRhALCyE7BxuF/n6unLkwLZ17tu5tsIPy+flXpvn3l3dv4oopC9Pe09bRTn3XJ+SWjoztkwrY3vfck71mc2G2PSYYDsqPLq1i+dwVaXu+VfsWTx78He4i91CkFA8nATmZ9d9mXP7cNESbe7oE00hv6CKcM2oWidK+qhIMBtnXu5/xBRMYkZOfqv/60p7NVMxYlPau/968EQpyuG/hzWlq9ElTI5YnSm/YLLVtSx67fA3L565IiwMOt7dwz8Zv4C5yD2kc43WCIQEwMxZ1HYvS7OlpxksMMyuWEcWTd8cBhaunXZi29oWtb0Ken+tmpIv54bZWDdtHuWjsvLTDbty9OZbDXnxrmvi/vONdyPVrf9Db8eiSn7FkxmVpz1s7W7nlyZXkTMpJk4hMxZ3hAMgYPzqOTaE/XTsun7MQjvYKakNvD09UPACdnSyZeG7awV7c9R6YwrIpFyR/V1Verd8UJcvDBeNnpx323aZa7rngJnKz/Wm/v/zxJrAj8vvlPyxZMv3yNCL7+/v1tie/QP/IAI468crEkKN/OBvQBxQcA4A6eN3+tN9yc3J54cv/xp/q3+T+y7/IyJwivmJFuGzqgmMPLhEumXTeQDQnwmu7awLiy/O63OmFqHNLpvKL5d85houv7Klh8Tmf4fr5l5qpkWFvX69z82N/Z8g4YaprGoZjEFWLzmgHtmljmVGiGk0EbqjqsAC0ZAIABNuxBjV7lGsXXMq1C2KJzUtb3sJTOJo8f25yTiAQ4FB/C+TmUpw/Im39hrrq/tGjRhQN3vOvD/w6rfihqhw43ExI+vjaBcuPAeZw12F55r7n1e/LPkbmWztb2XF4O5uPvM8rjRvp8Xbj9XgPDKcCezM9ME2TrsBhMiUdifFcw9t8Zsz0NGJe2V4NednMLkz3PKFgiJaeg/jdvmP2VFU6urvS9n/xo7ch10v52LmDmaDTx02XTMQDjCwcyRVzruSBS3/A+pXPcoVrGX29fecveWFxXjllGQHYkVE0DDdNR2uHaPvFWPXEthfxmu40Yl7b8wG43eR4s9LmV9dvgWxfSW8kqIP3EhG27qlL22fjrk0ATBgxMt0Qi5xQO88wDAqyCvhJ5aPcO+k7/kib1cQzx9xawwCqM5eKTDbtfzpTqQkR4dG//AfhLIfa1r1pc97ZXwsKDe37kxwTEbY0NYDH4zvcc6R9cJiy9ZM6wthp73lp9yZwHHxu76k3PuPS9ZWld/CDeQ/l97YE3rs7cod50bqFaQC8NFQm0Gp/xLY9bx0j+h837eX+N9aA281Rq5c/ffBqcs62lp0xW2D369M1r2iCYzta9sRcp9rRmsYdmoziEK78+Tf47IIlyT2aW1sImrG6YNiKnt4NkDgI1y24Xr85/Z4Z7z1Z85t3KzenFUQiwNZjU03B5XLzxIdfY9OuDRzubNLG1mbnuQ9fZ87PvgB5WbFAyHRx47oHeWXHexxqbQFvvK5ruuRzf3ygd937L2FZFge6DsdLmq68rz1bJXuPHOTjln1cUfVVSqakFzJer9sEeX4Qk7ZAV7xwFNLWzlZnT+sn1LfUsb2llo8ObaPu8A52te7iQMcBugPdGVU1DoJ8Y9ldOjYwdlX5+rK5g4uidwKPZ9J1EQj2hckzx/BUQ0FgT1erH78v1g5LhMQCEna4qGQW73Q2gCvu5gKho4Qi+ZdM+IzsPtLEYe1VhA6y3cX5+LGtKAEJcs+ilfzium8n33v7rx/ity1vgRXlx4u+SmNrM2FjX6DbaQsfNbqKgk6QKFEsx8JrevEYXvLceRR5ihibNY6y4gu5/twVuL3HhsZ7D+3l2qeWfbjru3vPB5DErcvVG2brUBcdQDAN5andeQ2N7d7Zx1bhNVMm3UxfaFwSpERfSRVys5pBxwCCY/Pnyh+zYu6S5OJJ/+Na9vtiRRPsGJ8WTgz0uXJdhqI+QGLbSfyexLH5n9Nrc9O4lXxn2fcwTTNVGvSr/3G77C7eOc8K2TuMlPs1jwyhRMRb+IzJjRa4TKf9WG1J62PHxCYc8ZNogIik55sRKysepYAVYenkBakRGPu7mxIlSTAFhIDHJ0cRshJ1SEk26CQZ8CR+F0MwC1z6X0f/2HPJ2sVH/7j1DwSCAU2owl2L79Yjje3fra6sidUE432Bh4DQUGUnVfCbjjGjJOzgyHBXYwTb6cRyRmRMs0WUiOWL9yDw+wqSgZSqUl33wYB9iedXpqkd6jFKdZhs55hyqSJe0/uvdr61+Kd1jzx9x0u3ScPBehURzp91AcXR4i8li6JVFQ3EjeGdHNuLSeynBV6nIM9rl/p9dnNGmGJJkkMwoogMfTNKNRvL7gaYVzIlzWK/07gNsnyJ1FpRZHShZSjiPtEYIOX8P3Q5rp0ffKn2c81O8y23vrrSeWPX6wBcNulyc8lzixek9QarKhp+B/xnJhBUkQKP02arMKsklINof5ryxyxmlGC0HUeLj9voD0U9QLDQl5v2nk1NDSl1BRWPy+maUBT1ZLghdjw5eLS6siZcXVlD+boyqj9X85Q/N3vBt96/++Pff7hWrphyJR2HOpYO7g0CfAl4fTAIIjDCa4+2laDL1PwZxeFOHJE4l2LhXDjaQtQuHob7Awd0tICI3d3Y1ZIG1LbDHye7AzjSPXdU0I9p+Ia4LzwU94PAA4lCaAKEd27aXJuTk7Pw8d2/bNja8yGRgHWekaE1bldVNFweB8EZJFJmgcfpACjMtsaV5kbjqqA2YWsvYWtC3DrJCUQoSihS2nDk47YPGusH3FTH/qQBnF4a6nOb2o6QfxLEC/CF6soaJ7UQmvy3Q7dLXPP+89AfWgtHj5g01P0A4iDcA+xKlqOBcX4rW1WwVZhQGCkpyY7W0Wd1EY5OiXNeTkJMDdT0Xfbbe3vXbX4ZjdjgUnAITxgRaS32W2PEbbhPkvjHqytr/jxUGby6soa3Vr5nu93uiw23UXLcw8YbJwuBL6uyUEQL3jyU1Vnoc/qm5Ebn+lxqbqjzHqxvcU+O3x87mbuHiqrgMg66s7LGzXWP1q19+2TKaLupJMcep6qGmWP2AjknaABfqq6sqShfV8Zw7bDE8/J1ZTeeCADHfJnx4MuzfmU7fN2JeT31uFRervfu/fCge4zjiA85SRxUwe06INnmyGnFkZaiLGuio4KYHDCzzfEnuMsb1ZU1S49H/GAQTvq2eNxQlgBHEmKnirpNlX2dZucrO709bUfNScR6t8dBInY9EovQ7HHR3rIpFp/0uq2oI6MFxfSb3Qh5Q3A/de//Cfzv6soa56STpVPNslZvmP14PG5IIUXFUXEOdpmt6z/y9UWjMm3gC4CUA+sACQV+Z+vnFwSn5/o0W0QNVaH+qHtrW8Q1zpVtlhyH8HpgObD3ZO8HnhYAcSnwAV3EvhBLvVShhqh4XNDSYzTvOOQ62t5nlkQsSh0VDFHH5+bwmHy749yx0fG5Xi2I2ANHUUVNUWlzXIvqA76lIrIMKIq/JxIvcNYBv62urHknVZzPGgApQFwHPJ+ptZYAIpkigNqKJL4MUAVHYzYkxccnVOrbj1zb8PMUfc2NAx4Bek9F1D8VAOIg/DtwB6f50VTK+lerKhquPJPfBn6aEpCIIDdyWp/NJddtA8oA62wQf0YkIA6EN55D3HAKICTmbwaurKpo6OUsDuMM7ROuqmi4EfgVKfd4T3DYwItVFQ0XAmeV+DMmAYPUoQK4D7hqGPeVGO8Aa6oqGv7I32jImdwsBYQsYh8930rsktJcYtcYw8BOYCPwO2BfVUVDgL/h+H+8Ex3DrupO9wAAAABJRU5ErkJggg==\"}");
-pref("social.manifest.msnnow", "{\"builtin\": \"true\",\"origin\": \"https://now.msn.com\",\"name\": \"msnNOW\",\"workerURL\": \"https://now.msn.com/js/firefoxworker\",\"iconURL\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MomNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozMkY0QkZFREQxM0JFMTExQUE0MEYwQTFBRTFEN0QwMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5RjUxOThGOTJDRjkxMUUyQTQ5NzkxRkQxQjI1Mzg2NCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5RjUxOThGODJDRjkxMUUyQTQ5NzkxRkQxQjI1Mzg2NCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMTVCMTdDQ0M1MkFFMjExODNDRENFQTc0Q0EwNzEyMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozMkY0QkZFREQxM0JFMTExQUE0MEYwQTFBRTFEN0QwMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ppp4JKMAAABiSURBVHjaYvz//z8DJYCJgULAAmNwJEwk2Sk/FuQzUuyCUQMGgwGM+FIitrQBintKXKCG0wVA27Cl0t9IfEUgfoDmGuwuAEkAAbLzJdE14/UC1DUwOW6ggS/ICkRiAECAAQBDhCEtt+sSkAAAAABJRU5ErkJggg==\",\"icon32URL\": \"data:image/gif;base64,R0lGODlhIAAgAMQAAABgkm+lwf///y99psDY5K/N3c/h6k+RtA9pmO/1+I+5zz+HrR9zn7/X5N/r8V+bu3+vyJ/D1oCwySB0oGCcu+Ht80CIrRBqmTB+pwAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAAAgACAAAAXAICCOZGmeaKqubOu+cCzPdG3fraDvfO//OhFwSNwJi0jfUQBpKCCRnQNCdQgMDV0iK9haBcvS4ooYIZyAAjMtUAC4YUYiwQAkDgBIAgIYJAAPAnWBDAxGAEZjAgtvYYgHCAYAFpEACoeJOowNZVZ/CAIFfRcOfQBfYIhBipsPfRADgDoTshgABzxhrG8JjCILCToBb21smEUODahIS0nOzc7MAATU1dbX1qjYBDUSOhQ4JN7g4SMS5OXp6uvs7eshADs=\",\"icon64URL\": \"data:image/gif;base64, R0lGODlhQABAAPcAAABgkonIVjuOhf///7tnLwhnmY6bU8/h6gGO/7/X5H+vyK/N3WBaW0+RtACSnF+buy6Gl0uy/9l7J6PXeV6HaO/1+PvIIwyNxY+5z02acCpfghaw6hR5mPh2FKlXUn/I8v+UcgJ2wSCwoyB0oD+HrfB5TpuZV4TDXsyyOiCc/9/r8Uuf0G+lwdtcPACvoESShBGt+Z/D1iN6hIbFUid/rQea/Ri79x2Cwt9VFZPRYf1bB3B8jHhmYwNnoD1tdjeIjwN7yG+0YK2oRQtokRGV/xKupgWcpLBoTx7E6QWAxy99pueyQJ3Rj1i5/+pJPUmahwl7qjBsjw2m+wC3qQGblftlDB9jgkCIrVGfgn1nUJrRbRzC9h9zn+eEIi+k/5HMYhi33iaqlsHZ5SaKyRBqmRa2+P9PBfH3+Quh+wCllzB+pwNupmC5+WCcuwWV/YrHWBFti4zJWxCUxKxPVJfPaQ5omYCwyabZfjBhfuHt83CmwgCZmQmGxgC8rdHj61CStLHP3YHK+QR4uhaX/1C0/w+TxASjo6HF1xCq+o3MWh7G9RKv+ZG70QOS/kSVgQme/Ad5yQCxo5rSbgqj+xOx+QSV/xKV/43JXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAABAAEAAAAj/AAEIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIC2uCPSBRkiNYyJEaMKmwMmLPSzJTOHlxkuLIdzodIMA0s2IO6IITIKmKJoaQH5CBFECDwA+i6IikiJI6cMjZnAAuGCjaxlKazJeKTjW4BU1B0eUBcBAR5UshcCAUaRow8UrMQboTTAi714yAEYk0Lt37BU7ZwgnQEuggwQoVNIYQSLn4oAzba60SYxZ85kEABac+TNCzZ8YdgDotXPFswoAVrrM0bDHhQtDHCy3GdhmwJ+BegYASKAiM+CBAzAQ/DMArQ8nHhxM6RPmBByLA9ZeyT5wOwA1fggP//CD1jfB7WV5tIBQRISkS0Gwa+cu0Ht3zSr8qF4LAL1AIRYYwMQdWsQRgAAV0defgt7pgdZAC+in4IJlUWABCj9MQMcbiWCR4HzzhXZZAgkkttuE/glkwhIAvPDFDDk8UdEVxwFABo0D3VifHTzqMUJ9NdqIo0EyZODIEBWRqOSSTDbp5JNQRvmkQOJVaeWVWGap5ZZ6Ucnll2CGeaWXYpZpZpZknqmmmmmu6WaYbb4pp5ZxVlkBiQdoeecCCww2p5VxkmBjAoLmqICVKjxgEAsV6FWBApD6qZcKkPpFGAaVVhmoQg+Id0CQBCmhgl4/AqCEeMoJ1KheBwyEgaaqVf9ZqEANKNAAQX5WECQJSoSqV6oAjKpXrwJZysJAqxK2qY156hXDQJ0OoMBAorJKLAB5VeDqpAQ1QBgXAkUr3rIkVAkuAOUOcC4ZyQ7QKq163WrqrwU1+q6IsFpZaLqE7dslvFUSy4VeCww06rml5nVsYGPGKp6/DwtUrrYCHSorcnodh8G7IxQMgLfnWpzvxeiSnC60+mI8wMJKLMzCAMeBJpCwI0dcss3pHjeweBTf7O5A5+apKADnbtdwyj7rBfHQAIg7gLwAvErYgwKNQHBBltbcr8Qmc0utAiyca2O7zw70csY5tjuuw1snPQDEA5SNkKSOEtTsAEw7rbXSXONxLN4CYgN9t3hDW02YxwAMvre7eFZ5QONVLqDAAw8oQPefwrGN+ebKas755nV+Pmfoor9Jeulrno76mQJJ6frrSyZW5WevWzXQ5WdQbXtDdOe+O0SS+v77Q34KP7xDgxl/PO/KL8/QAro7L/301FcfUkAAOw==\",\"sidebarURL\": \"https://now.msn.com/sidebar\",\"description\": \"See what's trending in realtime on Twitter, Facebook, Bing, YouTube and more.\",\"author\": \"Microsoft\",\"homepageURL\": \"https://now.msn.com/now-for-firefox\"}");
-
- pref("social.sidebar.open", true);
- pref("social.sidebar.unload_timeout_ms", 10000);
- pref("social.toast-notifications.enabled", true);
+ // comma separated list of domain origins (e.g. https://domain.com) for
+ // providers that can install from their own website without user warnings.
+ // entries are
diff -ruN mozilla-release.orig/browser/base/content/abouthome/aboutHome.js mozilla-release/browser/base/content/abouthome/aboutHome.js
---- mozilla-release.orig/browser/base/content/abouthome/aboutHome.js 2013-05-11 16:19:20.000000000 -0300
-+++ mozilla-release/browser/base/content/abouthome/aboutHome.js 2013-05-20 17:49:18.467307120 -0300
+--- mozilla-release.orig/browser/base/content/abouthome/aboutHome.js 2013-06-26 22:53:37.285513294 -0300
++++ mozilla-release/browser/base/content/abouthome/aboutHome.js 2013-06-26 22:57:20.932228108 -0300
@@ -3,69 +3,41 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -130,7 +130,7 @@ diff -ruN mozilla-release.orig/browser/base/content/abouthome/aboutHome.js mozil
, "https://www.gnu.org/software/gnuzilla/addons.html"
];
-@@ -139,10 +111,6 @@
+@@ -203,10 +175,6 @@
if (searchEngineInfo.image) {
let logoElt = document.getElementById("searchEngineLogo");
logoElt.src = searchEngineInfo.image;
@@ -155,9 +155,9 @@ diff -urN mozilla-release.orig/browser/base/content/abouthome/aboutHome.css mozi
#searchText {
diff -urN mozilla-release.orig/browser/locales/en-US/chrome/browser-region/region.properties mozilla-release/browser/locales/en-US/chrome/browser-region/region.properties
---- mozilla-release.orig/browser/locales/en-US/chrome/browser-region/region.properties 2013-02-15 19:14:45.000000000 -0200
-+++ mozilla-release/browser/locales/en-US/chrome/browser-region/region.properties 2013-02-20 19:55:41.962705914 -0200
-@@ -3,19 +3,12 @@
+--- mozilla-release.orig/browser/locales/en-US/chrome/browser-region/region.properties 2013-06-18 08:01:12.000000000 -0300
++++ mozilla-release/browser/locales/en-US/chrome/browser-region/region.properties 2013-06-26 22:44:10.393864883 -0300
+@@ -3,17 +3,12 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Default search engine
@@ -171,17 +171,15 @@ diff -urN mozilla-release.orig/browser/locales/en-US/chrome/browser-region/regio
-
-# This is the default set of web based feed handlers shown in the reader
-# selection UI
--browser.contentHandlers.types.0.title=Google
--browser.contentHandlers.types.0.uri=http://fusion.google.com/add?feedurl=%s
--browser.contentHandlers.types.1.title=My Yahoo!
--browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
+-browser.contentHandlers.types.0.title=My Yahoo!
+-browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
+browser.search.order.1=DuckDuckGo HTML
+browser.search.order.2=DuckDuckGo Lite
+browser.search.order.3=Seeks Search
# increment this number when anything gets changed in the list below. This will
# cause Firefox to re-read these prefs and inject any new handlers into the
-@@ -24,20 +17,10 @@
+@@ -22,20 +17,10 @@
# don't make any spelling errors here.
gecko.handlerService.defaultHandlersVersion=3
diff --git a/libre/iceweasel-libre/mozconfig b/libre/iceweasel-libre/mozconfig
index 21d56e13c..a5af10e63 100644
--- a/libre/iceweasel-libre/mozconfig
+++ b/libre/iceweasel-libre/mozconfig
@@ -25,10 +25,10 @@ ac_add_options --enable-system-pixman
# Features
ac_add_options --enable-startup-notification
ac_add_options --enable-gstreamer
+ac_add_options --enable-pulseaudio
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
-ac_add_options --disable-tests
ac_add_options --disable-installer
# Parabola features
diff --git a/libre/iceweasel-noscript/PKGBUILD b/libre/iceweasel-noscript/PKGBUILD
index 7db206be9..2d5f48040 100644
--- a/libre/iceweasel-noscript/PKGBUILD
+++ b/libre/iceweasel-noscript/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 90901 2013-05-15 12:56:28Z spupykin $
+# $Id: PKGBUILD 93410 2013-07-03 10:50:31Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=firefox-noscript
pkgname=iceweasel-noscript
-pkgver=2.6.6
-pkgrel=2
+pkgver=2.6.6.7
+pkgrel=1
pkgdesc="plugin for iceweasel which disables script"
arch=('any')
url="http://noscript.net/"
@@ -14,7 +14,7 @@ depends=()
provides=$_pkgname=$pkgver
makedepends=('unzip')
source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi)
-md5sums=('a018efb1fe0f722ff307382791bf3c98')
+md5sums=('10b6704f34568d226fb5fe69b7d6043d')
package() {
# _ffver=`pacman -Q iceweasel-libre | cut -f2 -d\ | cut -f1 -d-`
diff --git a/libre/ipsec-tools-libre/PKGBUILD b/libre/ipsec-tools-libre/PKGBUILD
new file mode 100644
index 000000000..6de9bd7d5
--- /dev/null
+++ b/libre/ipsec-tools-libre/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 91859 2013-05-28 17:36:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Allan Henriksen <allan.henriksen@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=ipsec-tools
+pkgname=ipsec-tools-libre
+pkgver=0.8.1
+pkgrel=4
+pkgdesc="KAME IPSec tools ported to Linux (built for the linux-libre-headers package)"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://ipsec-tools.sourceforge.net/"
+depends=('readline' 'openssl' 'krb5')
+makedepends=('linux-libre-headers')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+license=('GPL')
+options=('!makeflags' '!libtool')
+source=(http://downloads.sourceforge.net/sourceforge/ipsec-tools/$_pkgname-$pkgver.tar.bz2
+ racoon.service
+ ipsec.service
+ ipsec-tools-linux-3.7-compat.patch)
+md5sums=('d38b39f291ba2962387c3232e7335dd8'
+ '3a64a9e3b498c6da90450ffb0b758aea'
+ '387a0b0c4f10e42b2bb62282885cdc9c'
+ 'ae1dd20c83dcfce3dedb46ee73e83613')
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+
+ patch -p1 <$srcdir/ipsec-tools-linux-3.7-compat.patch
+ sed -i 's#-Werror##' configure.ac
+
+ ./bootstrap
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin \
+ --enable-security-context=no --enable-hybrid --enable-dpd --enable-natt \
+ --enable-adminport --enable-gssapi \
+ --with-kernel-headers=/lib/modules/`pacman -Q linux-libre-headers | cut -f2 -d\ `-LIBRE/build/include
+ make
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -Dm0644 $srcdir/racoon.service $pkgdir/usr/lib/systemd/system/racoon.service
+ install -Dm0644 $srcdir/ipsec.service $pkgdir/usr/lib/systemd/system/ipsec.service
+}
diff --git a/libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch b/libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch
new file mode 100644
index 000000000..46b11ee51
--- /dev/null
+++ b/libre/ipsec-tools-libre/ipsec-tools-linux-3.7-compat.patch
@@ -0,0 +1,50 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -74,9 +74,10 @@ case "$host_os" in
+ [ KERNEL_INCLUDE="/lib/modules/`uname -r`/build/include" ])
+
+ AC_CHECK_HEADER($KERNEL_INCLUDE/linux/pfkeyv2.h, ,
+- [ AC_CHECK_HEADER(/usr/src/linux/include/linux/pfkeyv2.h,
+- KERNEL_INCLUDE=/usr/src/linux/include ,
+- [ AC_MSG_ERROR([Unable to find linux-2.6 kernel headers. Aborting.]) ] ) ] )
++ [ AC_CHECK_HEADER($KERNEL_INCLUDE/uapi/linux/pfkeyv2.h, ,
++ [ AC_CHECK_HEADER(/usr/src/linux/include/linux/pfkeyv2.h,
++ KERNEL_INCLUDE=/usr/src/linux/include ,
++ [ AC_MSG_ERROR([Unable to find linux-2.6 kernel headers. Aborting.]) ] ) ] ) ] )
+ AC_SUBST(KERNEL_INCLUDE)
+ # We need the configure script to run with correct kernel headers.
+ # However we don't want to point to kernel source tree in compile time,
+@@ -643,7 +644,14 @@ AC_EGREP_CPP(yes,
+ #ifdef SADB_X_EXT_NAT_T_TYPE
+ yes
+ #endif
+-], [kernel_natt="yes"])
++], [kernel_natt="yes"], [
++ AC_EGREP_CPP(yes,
++ [#include <uapi/linux/pfkeyv2.h>
++ #ifdef SADB_X_EXT_NAT_T_TYPE
++ yes
++ #endif
++ ], [kernel_natt="yes"])
++])
+ ;;
+ freebsd*|netbsd*)
+ # NetBSD case
+--- a/src/include-glibc/Makefile.am
++++ b/src/include-glibc/Makefile.am
+@@ -1,14 +1,7 @@
+-
+-.includes: ${top_builddir}/config.status
+- ln -snf $(KERNEL_INCLUDE)/linux
+- touch .includes
+-
+-all: .includes
+-
+ EXTRA_DIST = \
+ glibc-bugs.h \
+ net/pfkeyv2.h \
+ netinet/ipsec.h \
+ sys/queue.h
+
+-DISTCLEANFILES = .includes linux
++DISTCLEANFILES = linux
diff --git a/libre/ipsec-tools-libre/ipsec.service b/libre/ipsec-tools-libre/ipsec.service
new file mode 100644
index 000000000..483a5b58d
--- /dev/null
+++ b/libre/ipsec-tools-libre/ipsec.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Load IPSec Security Policy Database
+After=syslog.target network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/bin/setkey -f /etc/ipsec.conf
+ExecStop=/usr/bin/setkey -F -P ; /usr/bin/setkey -F
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/ipsec-tools-libre/racoon.service b/libre/ipsec-tools-libre/racoon.service
new file mode 100644
index 000000000..95324bd5d
--- /dev/null
+++ b/libre/ipsec-tools-libre/racoon.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Racoon IKEv1 key management daemon for IPSEC
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/racoon
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/kdebase-konqueror-libre/PKGBUILD b/libre/kdebase-konqueror-libre/PKGBUILD
index d5a72e95c..f1264b0c7 100644
--- a/libre/kdebase-konqueror-libre/PKGBUILD
+++ b/libre/kdebase-konqueror-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 186956 2013-06-01 13:20:19Z andrea $
+# $Id: PKGBUILD 189302 2013-07-02 21:26:19Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
@@ -6,7 +6,7 @@
_pkgname='kdebase-konqueror'
pkgname='kdebase-konqueror-libre'
-pkgver=4.10.4
+pkgver=4.10.5
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://kde.org/applications/internet/konqueror/"
@@ -15,7 +15,7 @@ groups=('kde' 'kdebase')
makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml' 'nepomuk-widgets')
source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz"
"konq-about-fsdg.diff")
-sha1sums=('5465fffdaea70a5ca225283f45b9504775d0432d'
+sha1sums=('3953c441d508408becfbb1177d3a834775b92bf6'
'd6cbb53c04179b8180f9439eca156b7ff2e76b3a')
pkgdesc='KDE File Manager & Web Browser, without Google and nonfree software recommendation'
depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
diff --git a/libre/kdebase-runtime-libre/PKGBUILD b/libre/kdebase-runtime-libre/PKGBUILD
index 4b6f40af9..224d304e1 100644
--- a/libre/kdebase-runtime-libre/PKGBUILD
+++ b/libre/kdebase-runtime-libre/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 186956 2013-06-01 13:20:19Z andrea $
+# $Id: PKGBUILD 189302 2013-07-02 21:26:19Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=kdebase-runtime
pkgname=kdebase-runtime-libre
-pkgver=4.10.4
+pkgver=4.10.5
pkgrel=1
pkgdesc="Plugins and applications necessary for the running of KDE applications, without non-privacy search providers"
arch=('i686' 'x86_64' 'mips64el')
@@ -26,7 +26,7 @@ install="${_pkgname}.install"
source=("http://download.kde.org/stable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz"
'duckduckgo_html.desktop'
'duckduckgo_lite.desktop')
-sha1sums=('f406c8c9e42c2508a7acf88b9719f5fa5b4683a1'
+sha1sums=('1d472ceff3a38ff778803817b9c0eeb5b1880db6'
'aa6f39f4b0ad3c110fd05cd6c41190afae9773dd'
'ac3bac94a2c4b1444642524bc5fb539c4c5dcc5b')
diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD
index ea698dfd7..8cdf5228e 100644
--- a/libre/kdelibs-libre/PKGBUILD
+++ b/libre/kdelibs-libre/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 186956 2013-06-01 13:20:19Z andrea $
+# $Id: PKGBUILD 189302 2013-07-02 21:26:19Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=kdelibs
pkgname=kdelibs-libre
-pkgver=4.10.4
+pkgver=4.10.5
pkgrel=1
pkgdesc="KDE Core Libraries"
arch=('i686' 'x86_64' 'mips64el')
@@ -24,7 +24,7 @@ install=${_pkgname}.install
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
'kde-applications-menu.patch' 'qt4.patch'
'khtml-fsdg.diff')
-sha1sums=('b5db1b91bd96b44ebd1b5e71019bb95b59775237'
+sha1sums=('6caab0c70ab742dd711b44dd3f9bfdcbf9be31eb'
'86ee8c8660f19de8141ac99cd6943964d97a1ed7'
'ed1f57ee661e5c7440efcaba7e51d2554709701c'
'a1502a964081ad583a00cf90c56e74bf60121830')
diff --git a/libre/kdenetwork-kopete-libre/PKGBUILD b/libre/kdenetwork-kopete-libre/PKGBUILD
index 89ed6edf3..3b4295415 100644
--- a/libre/kdenetwork-kopete-libre/PKGBUILD
+++ b/libre/kdenetwork-kopete-libre/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 188552 2013-06-15 11:11:13Z andrea $
+# $Id: PKGBUILD 189302 2013-07-02 21:26:19Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgbase=kdenetwork
pkgname=('kdenetwork-kopete-libre')
-pkgver=4.10.4
-pkgrel=2
+pkgver=4.10.5
+pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url='http://www.kde.org'
license=('GPL' 'LGPL' 'FDL')
@@ -17,7 +17,7 @@ makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr3' 'ppp'
'libktorrent' 'libmms' 'telepathy-qt')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz"
'use-libotr3.patch')
-sha1sums=('891277c8dcbf231452947e9b4c54324bad35fd1a'
+sha1sums=('3ee86a1a227593e9f37881da3c1db1a3c384b2e4'
'9c3b0ee15538fbfa36aa0a4748b1f6b5a7905384')
prepare() {
@@ -27,7 +27,7 @@ prepare() {
# Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34.
sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' "${pkgbase}-${pkgver}/kopete/protocols/CMakeLists.txt"
rm -rf "${pkgbase}-${pkgver}/kopete/protocols/skype"
- sed 's/, Skype//' -i "${pkgbase}-${pkgver}/doc/kopete/index.docbook"
+ sed 's/, Skype//' -i "${pkgbase}-${pkgver}/kopete/doc/index.docbook"
}
build() {
@@ -56,6 +56,6 @@ package_kdenetwork-kopete-libre() {
install='kdenetwork-kopete.install'
cd $srcdir/build/kopete
make DESTDIR=$pkgdir install
- cd $srcdir/build/doc/kopete
+ cd $srcdir/build/kopete/doc
make DESTDIR=$pkgdir install
}
diff --git a/libre/kdepim-libre/PKGBUILD b/libre/kdepim-libre/PKGBUILD
index 007ed7f74..3f9b3ce28 100644
--- a/libre/kdepim-libre/PKGBUILD
+++ b/libre/kdepim-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 186956 2013-06-01 13:20:19Z andrea $
+# $Id: PKGBUILD 189302 2013-07-02 21:26:19Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -22,7 +22,7 @@ pkgname=('kdepim-akonadiconsole-libre'
'kdepim-ktimetracker-libre'
'kdepim-ktnef-libre'
'kdepim-libkdepim-libre')
-pkgver=4.10.4
+pkgver=4.10.5
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url='http://pim.kde.org'
@@ -31,7 +31,7 @@ groups=('kde' 'kdepim-libre')
makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss'
'kde-agent' 'nepomuk-widgets')
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgbase}-${pkgver}.tar.xz")
-sha1sums=('b1b8bdefd8a7b21c3a4518285ef8fd73890e8cf3')
+sha1sums=('a7c791e748558a194d020104dc62604ee9f632ae')
build() {
mkdir build
diff --git a/libre/kdeutils-ark-libre/PKGBUILD b/libre/kdeutils-ark-libre/PKGBUILD
index 6b7a264ae..5efee348d 100644
--- a/libre/kdeutils-ark-libre/PKGBUILD
+++ b/libre/kdeutils-ark-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 186956 2013-06-01 13:20:19Z andrea $
+# $Id: PKGBUILD 189302 2013-07-02 21:26:19Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=kdeutils-ark
pkgname=kdeutils-ark-libre
-pkgver=4.10.4
+pkgver=4.10.5
pkgrel=1
pkgdesc='Archiving Tool, with unar support'
url='http://kde.org/applications/utilities/ark/'
@@ -20,7 +20,7 @@ replaces=('kdeutils-ark')
conflicts=('kdeutils-ark')
source=("http://download.kde.org/stable/${pkgver}/src/ark-${pkgver}.tar.xz"
'ark-unar-06.patch')
-sha1sums=('3b98f04817a31b14b8899ddf024b03ff14420ea7'
+sha1sums=('8c50a864af0dbf62e3df46414c7bf9cd1d8c8620'
'a0a836950f185d9b2245204579f969203036fdec')
build() {
diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD
index dcf59bda4..80b154dff 100644
--- a/libre/libretools/PKGBUILD
+++ b/libre/libretools/PKGBUILD
@@ -9,8 +9,8 @@ pkgdesc="Programs for Parabola development"
url="https://projects.parabolagnulinux.org/packages/libretools.git/"
license=('GPL3' 'GPL2')
-pkgver=20130622
-_libretools_commit=5dd6e17100a86b79a3fd6fedc8cce49dcc298356
+pkgver=20130627
+_libretools_commit=08375ed421d18b48388169c7fc7cf4ca076577ba
_devtools_commit=bf8513ae631484a0c292ad085ea7ede9859f8e0f
_packages_url=https://projects.parabolagnulinux.org/packages
@@ -74,5 +74,5 @@ package_libretools-mips64el() {
make install-libretools-mips64el DESTDIR="$pkgdir"
}
-md5sums=('a5a5029740cef767b8e731ab8c48890b'
+md5sums=('acbdcd22c1b922f943651dbf7c320bbd'
'b28b1492fda205be7c577fc03cbc3399')
diff --git a/libre/liferea-libre/PKGBUILD b/libre/liferea-libre/PKGBUILD
index 461c0a3b2..a5a75d2e4 100644
--- a/libre/liferea-libre/PKGBUILD
+++ b/libre/liferea-libre/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 186254 2013-05-23 00:44:27Z eric $
+# $Id: PKGBUILD 188905 2013-06-25 03:54:44Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
# Contributor (Parabola): bitlord
# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=liferea
pkgname=liferea-libre
-pkgver=1.8.14
+pkgver=1.8.15
pkgrel=1
pkgdesc="A desktop news aggregator for online news feeds and weblogs, without nonfree suggestions"
arch=('i686' 'x86_64' 'mips64el')
@@ -21,7 +21,7 @@ options=('!libtool' '!emptydirs')
install=liferea.install
source=(http://downloads.sourceforge.net/sourceforge/liferea/liferea-${pkgver}.tar.bz2
remove-non-free-suggestions.patch)
-sha1sums=('980939a9f6483f4e9ca2353ffdba131cb9a88a6e'
+sha1sums=('9a86773996d61d03c03e9a5137a2c0a3e2539f4f'
'0d68c567c3d37932a49709c58c37c3f138fd19cb')
build() {
diff --git a/libre/lilo/PKGBUILD b/libre/lilo/PKGBUILD
deleted file mode 100644
index a896613ee..000000000
--- a/libre/lilo/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id$
-# Maintainer: Eric Belanger <eric@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
-
-pkgname=lilo
-pkgver=23.2
-pkgrel=3.2
-pkgdesc="A bootloader for GNU/Linux, Parabola rebranded"
-arch=('i686' 'x86_64')
-url="https://alioth.debian.org/projects/lilo/"
-license=('BSD')
-# While lilo should stay in the base category,
-# it usually makes no sense if it is installed
-# with pacman -S base, therefore, don't add
-# the base group here.
-#groups=('base')
-backup=('etc/lilo.conf')
-depends=('device-mapper' 'coreutils')
-makedepends=('bin86' 'sharutils')
-optdepends=('perl: to use keytab-lilo')
-install=lilo.install
-options=('!makeflags')
-source=("http://lilo.alioth.debian.org/ftp/sources/${pkgname}-${pkgver}.tar.gz"
- 'lilo.conf')
-md5sums=('51b9b9db665d3b8724919e3d46054d12'
- 'd06b3c4655577ed01fea79ec5743b4b0')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- export LC_ALL=C
- make all
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -D -m644 "${srcdir}/lilo.conf" "${pkgdir}/etc/lilo.conf"
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-}
diff --git a/libre/lilo/lilo.conf b/libre/lilo/lilo.conf
deleted file mode 100644
index 479390df5..000000000
--- a/libre/lilo/lilo.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# /etc/lilo.conf
-#
-
-boot=/dev/sda
-# This line often fixes L40 errors on bootup
-# disk=/dev/sda bios=0x80
-
-default=parabola
-timeout=50
-lba32
-prompt
-
-image=/boot/vmlinuz-linux-libre
- label=parabola
- root=/dev/sda3
- initrd=/boot/initramfs-linux-libre.img
- read-only
-
-image=/boot/vmlinuz-linux-libre
- label=parabola-fallback
- root=/dev/sda3
- initrd=/boot/initramfs-linux-libre-fallback.img
- read-only
-
diff --git a/libre/lilo/lilo.install b/libre/lilo/lilo.install
deleted file mode 100644
index 7375fddf8..000000000
--- a/libre/lilo/lilo.install
+++ /dev/null
@@ -1,5 +0,0 @@
-post_upgrade() {
- echo
- echo "If you use the LILO bootloader, you should run 'lilo' after upgrading."
- echo
-}
diff --git a/libre/linux-libre-firmware/PKGBUILD b/libre/linux-libre-firmware/PKGBUILD
index 99c54a1b2..4983604a4 100644
--- a/libre/linux-libre-firmware/PKGBUILD
+++ b/libre/linux-libre-firmware/PKGBUILD
@@ -2,12 +2,15 @@
# Contributor: Márcio Silva <coadde@lavabit.com>
pkgname=linux-libre-firmware
-pkgver=3.9
+_pkgver=3.9
+pkgver=$(LC_ALL=C date -u +%Y%m%d)
pkgrel=1
pkgdesc='Free firmware files for Linux-libre'
arch=('any')
-url='http://linux-libre.fsfla.org/'
-license=('GPL2')
+url=('http://linux-libre.fsfla.org/'
+ 'http://wireless.kernel.org/en/users/Drivers/ath9k_htc')
+license=('GPL2' 'BSD')
+makedepends=('git' 'xtensa-unknown-elf-gcc')
provides=('linux-firmware'
'kernel26-firmware=2.6.34.99')
conflicts=('linux-firmware'
@@ -35,15 +38,46 @@ replaces=('linux-firmware'
'rt2870usb-fw'
'rt2x00-rt61-fw'
'rt2x00-rt71w-fw')
-source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$pkgver-gnu/linux-libre-$pkgver-gnu.tar.xz")
-md5sums=('120df29f88622dabf7015a22c7cc8e25')
+source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$_pkgver-gnu/linux-libre-$_pkgver-gnu.tar.xz"
+ "git://github.com/qca/open-ath9k-htc-firmware")
+md5sums=('120df29f88622dabf7015a22c7cc8e25'
+ 'SKIP')
-package() {
- cd $srcdir/linux-$pkgver
-
+build() {
+
+ cd $srcdir/open-ath9k-htc-firmware
+
+ # create firmware folder to put the free firmware files there
+ install -d -m755 $pkgdir/usr/lib/firmware
+
+ # fix path on configure file
+ sed -i 's|$PWD/../toolchain/inst|/usr|;
+ 's|xtensa-elf|xtensa-unknown-elf|;
+ ' target_firmware/configure
+
+ # compile ath9k-htc-firmware
+ make -C target_firmware
+
+ mv htc_{7010,9271}.fw $pkgdir/usr/lib/firmware
+
+ cd $srcdir/linux-$_pkgver
+
+ # compile free firmware files of linux-libre source code
make INSTALL_FW_PATH=$pkgdir/usr/lib/firmware firmware_install
- # move WHENCE file to linux-firmware license folder
+}
+
+package() {
+
+ # create licenses folder to put the licenses files there
install -d -m755 $pkgdir/usr/share/licenses/$pkgname
+
+ # move LICENSE.TXT from ath9k-htc firmware to linux-firmware license folder
+ cd $srcdir/open-ath9k-htc-firmware-1.3.2
+ mv LICENSE.TXT $pkgdir/usr/share/licenses/$pkgname/LICENCE.atheros_firmware
+
+ # move WHENCE file to linux-firmware license folder
+ cd $srcdir/linux-$_pkgver
mv firmware/WHENCE $pkgdir/usr/share/licenses/$pkgname
+
}
diff --git a/libre/linux-libre-kmod-alx/PKGBUILD b/libre/linux-libre-kmod-alx/PKGBUILD
index 8a224dfa3..56137aaf3 100644
--- a/libre/linux-libre-kmod-alx/PKGBUILD
+++ b/libre/linux-libre-kmod-alx/PKGBUILD
@@ -1,12 +1,12 @@
# Maintainer: André Silva <emulatorman@lavabit.com>
-_kernver=3.9.7
+_kernver=3.9.8
_kernrel=1
pkgname=('linux-libre-kmod-alx')
_version=v3.9-rc4
_pkgver=3.9-rc4-2-su
pkgver=3.9rc4.2
-pkgrel=8
+pkgrel=9
pkgdesc='Atheros alx ethernet device driver for linux-libre kernel'
arch=('i686' 'x86_64')
url='http://www.linuxfoundation.org/collaborate/workgroups/networking/alx'
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index 7be04b12f..434a922af 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 188793 2013-06-21 07:29:45Z tpowa $
+# $Id: PKGBUILD 189000 2013-06-28 06:57:30Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -8,10 +8,10 @@
pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.0
-_sublevel=83
+_sublevel=84
pkgver=${_basekernel}.${_sublevel}
pkgrel=1
-_lxopkgver=${_basekernel}.82 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.83 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -33,9 +33,9 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'module-init-wait-3.0.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu1_0loongsonlibre_mipsel.tar.bz2")
md5sums=('f30a562307b6f71204370fcd33756466'
- '43f2b35b0a8bbe8442627874b4179644'
- 'fe0e9b4415b82f306fc1b63eb9a742a4'
- '69a689019ea0b6ed46b387907f14bc8a'
+ 'a2ab5e3c758f35d0a2ffe33b23cfe04d'
+ '6ab0f1a509481d93117b7630105757cc'
+ '18dfa330a7da88d7c09c3e24a5cd608f'
'c072b17032e80debc6a8626299245d46'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
@@ -45,7 +45,7 @@ md5sums=('f30a562307b6f71204370fcd33756466'
'f36222e7ce20c8e4dc27376f9be60f6c'
'670931649c60fcb3ef2e0119ed532bd4'
'8a71abc4224f575008f974a099b5cf6f'
- 'cc33faaec0f6c99ff03838a146d62250')
+ '1327df75d631529dcf29f46f474cf16d')
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-lts/config.i686 b/libre/linux-libre-lts/config.i686
index 849fd016b..a1d065a1a 100644
--- a/libre/linux-libre-lts/config.i686
+++ b/libre/linux-libre-lts/config.i686
@@ -1438,8 +1438,8 @@ CONFIG_OF_PCI=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
-CONFIG_PARPORT_PC_FIFO=y
-CONFIG_PARPORT_PC_SUPERIO=y
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
diff --git a/libre/linux-libre-lts/config.x86_64 b/libre/linux-libre-lts/config.x86_64
index fe5875138..a5dc36205 100644
--- a/libre/linux-libre-lts/config.x86_64
+++ b/libre/linux-libre-lts/config.x86_64
@@ -1381,8 +1381,8 @@ CONFIG_MTD_UBI_BEB_RESERVE=1
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
-CONFIG_PARPORT_PC_FIFO=y
-CONFIG_PARPORT_PC_SUPERIO=y
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD
index 4e64f9872..c90c5a29f 100644
--- a/libre/linux-libre-tools/PKGBUILD
+++ b/libre/linux-libre-tools/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 91131 2013-05-19 23:48:35Z seblu $
+# $Id: PKGBUILD 93323 2013-07-01 22:56:01Z seblu $
# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -8,11 +8,11 @@ pkgname=('linux-libre-tools-meta'
'perf-libre'
'cpupower-libre'
'usbip-libre')
-_basekernel=3.9
+_basekernel=3.10
#_sublevel=6
_pkgver=$_basekernel.$_sublevel
pkgver=$_basekernel
-pkgrel=3
+pkgrel=1
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
url='http://linux-libre.fsfla.org/'
@@ -33,13 +33,13 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$_basekernel-gnu/
'cpupower.systemd'
'cpupower.service'
'usbipd.service')
-sha256sums=('62f113b4bd9ee832e8906da970c5bf4585c057af4eab14ec6ad57e9b2fd084ef'
+sha256sums=('abee814b92422cfa3df90b62ad9ba888697fcc03a713adc2c7f68e0d0c23c329'
'4fa509949d6863d001075fa3e8671eff2599c046d20c98bb4a70778595cd1c3f'
'fbf6e0ce6eb0ef15703fe212958de6ca46e62188900b5e9f9272ed3cc9cfd54e'
'a89284d0ecb556ca53a66d1c2087b5fd6d0a901ab2769cd3aebb93f4478905dc'
'2e187734d8aec58a3046d79883510d779aa93fb3ab20bd3132c1a607ebe5498f')
-build() {
+prepare() {
# apply stable patching set
if (( NOEXTRACT == 0 )) && [[ -e "$srcdir"/patch-$_basekernel-gnu-$_pkgver-gnu ]]; then
msg2 'Applying stable patch set'
@@ -47,7 +47,9 @@ build() {
patch -Np1 -i "$srcdir"/patch-$_basekernel-gnu-$_pkgver-gnu
cd ..
fi
+}
+build() {
msg2 'Build libtraceevent-libre'
pushd linux-$pkgver/tools/lib/traceevent
make
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index 220530181..cc02f9c6f 100644
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 188791 2013-06-21 06:32:50Z tpowa $
+# $Id: PKGBUILD 188998 2013-06-28 05:50:01Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -10,10 +10,10 @@
pkgbase=linux-libre # Build stock -LIBRE kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.9
-_sublevel=7
+_sublevel=8
pkgver=${_basekernel}.${_sublevel}
pkgrel=1
-_lxopkgver=${_basekernel}.6 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.8 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -31,15 +31,15 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'change-default-console-loglevel.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
md5sums=('120df29f88622dabf7015a22c7cc8e25'
- '4f5c670da16dc80fe9482892b636f99d'
- 'e6c4e42d67aaff6d057983c499ebcace'
- 'e23ad17eb5051f5ccd332bbb474df4d9'
+ 'b628d7ff09667dc5546993bb83461d45'
+ '5bb868d38a27edafac1eb114cd2f3659'
+ 'c180de34b0450d7eef8e0c1a68433d7c'
'e49ac236dfeef709f91a3d993ea7b62c'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
'04b21c79df0a952c22d681dd4f4562df'
'f3def2cefdcbb954c21d8505d23cc83c'
- '0375f682754ef52216fd522494875301')
+ '30092ce96affb12f89a9eddfad966741')
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/config.i686 b/libre/linux-libre/config.i686
index f6951a2b6..e84812997 100644
--- a/libre/linux-libre/config.i686
+++ b/libre/linux-libre/config.i686
@@ -1581,8 +1581,8 @@ CONFIG_OF_MTD=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
-CONFIG_PARPORT_PC_FIFO=y
-CONFIG_PARPORT_PC_SUPERIO=y
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
diff --git a/libre/linux-libre/config.i686.3.10 b/libre/linux-libre/config.i686.3.10
index 129ab764f..9eaa84b4f 100644
--- a/libre/linux-libre/config.i686.3.10
+++ b/libre/linux-libre/config.i686.3.10
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.10.0-rc6 Kernel Configuration
+# Linux/x86 3.10.0-rc7 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -1586,8 +1586,8 @@ CONFIG_OF_MTD=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
-CONFIG_PARPORT_PC_FIFO=y
-CONFIG_PARPORT_PC_SUPERIO=y
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
@@ -3924,7 +3924,6 @@ CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
CONFIG_I2C_SI470X=m
-CONFIG_RADIO_SI476X=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
@@ -3970,6 +3969,7 @@ CONFIG_SMS_SIANO_RC=y
# Media ancillary drivers (tuners, sensors, i2c, frontends)
#
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
CONFIG_VIDEO_IR_I2C=m
#
@@ -4047,7 +4047,6 @@ CONFIG_VIDEO_M52790=m
#
# Sensors used on soc_camera driver
#
-CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
@@ -4597,7 +4596,6 @@ CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
# CONFIG_SND_SOC is not set
-CONFIG_SND_SOC_SI476X=m
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64
index 44a03558f..0937bed6f 100644
--- a/libre/linux-libre/config.x86_64
+++ b/libre/linux-libre/config.x86_64
@@ -1530,8 +1530,8 @@ CONFIG_MTD_UBI_BEB_LIMIT=20
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
-CONFIG_PARPORT_PC_FIFO=y
-CONFIG_PARPORT_PC_SUPERIO=y
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
diff --git a/libre/linux-libre/config.x86_64.3.10 b/libre/linux-libre/config.x86_64.3.10
index 4c4838cca..ed592fa43 100644
--- a/libre/linux-libre/config.x86_64.3.10
+++ b/libre/linux-libre/config.x86_64.3.10
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.10.0-rc6 Kernel Configuration
+# Linux/x86 3.10.0-rc7 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -1536,8 +1536,8 @@ CONFIG_MTD_UBI_BEB_LIMIT=20
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
-CONFIG_PARPORT_PC_FIFO=y
-CONFIG_PARPORT_PC_SUPERIO=y
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
@@ -3793,7 +3793,6 @@ CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=m
CONFIG_I2C_SI470X=m
-CONFIG_RADIO_SI476X=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
@@ -3838,6 +3837,7 @@ CONFIG_SMS_SIANO_RC=y
# Media ancillary drivers (tuners, sensors, i2c, frontends)
#
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
CONFIG_VIDEO_IR_I2C=m
#
@@ -3915,7 +3915,6 @@ CONFIG_VIDEO_M52790=m
#
# Sensors used on soc_camera driver
#
-CONFIG_MEDIA_ATTACH=y
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
@@ -4415,7 +4414,6 @@ CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
# CONFIG_SND_SOC is not set
-CONFIG_SND_SOC_SI476X=m
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
diff --git a/libre/lirc-libre/PKGBUILD b/libre/lirc-libre/PKGBUILD
index 91710f5eb..fc749260c 100644
--- a/libre/lirc-libre/PKGBUILD
+++ b/libre/lirc-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 188799 2013-06-21 08:04:28Z tpowa $
+# $Id: PKGBUILD 189186 2013-06-28 18:41:29Z foutrelis $
# Maintainer: Paul Mattal <paul@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -6,14 +6,14 @@ _pkgbase=lirc
pkgbase=lirc-libre
pkgname=('lirc-libre' 'lirc-utils-libre')
pkgver=0.9.0
-pkgrel=48
+pkgrel=49
epoch=1
_extramodules=extramodules-3.9-LIBRE
arch=('i686' 'x86_64' 'mips64el')
url="http://www.lirc.org/"
license=('GPL')
### NOTICE don't forget to bump version in depends in package_lirc
-makedepends=('help2man' 'linux-libre-headers>=3.9' 'linux-libre-headers<3.10' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
+makedepends=('help2man' 'linux-libre>=3.9' 'linux-libre-headers>=3.9' 'linux-libre-headers<3.10' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
options=('!makeflags' '!strip')
source=(http://prdownloads.sourceforge.net/${_pkgbase}/${_pkgbase}-${pkgver}.tar.bz2
lirc_wpc8769l.patch
diff --git a/libre/mariadb/PKGBUILD b/libre/mariadb/PKGBUILD
deleted file mode 100644
index a5b733e9f..000000000
--- a/libre/mariadb/PKGBUILD
+++ /dev/null
@@ -1,141 +0,0 @@
-# $Id$
-# Maintainer:
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
-# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
-
-falsename=mysql
-_falsename=MySQL
-pkgbase=mariadb
-_pkgbase=MariaDB
-pkgname=("lib${pkgbase}client" "${pkgbase}-clients" "${pkgbase}")
-pkgver=5.5.23
-pkgrel=1.5
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL')
-url="http://www.${pkgbase}.org/"
-makedepends=('cmake' 'openssl' 'zlib')
-options=('!libtool')
-source=("http://mirror.aarnet.edu.au/pub/${_pkgbase}/${pkgbase}-${pkgver}/kvm-tarbake-jaunty-x86/${pkgbase}-${pkgver}.tar.gz"
- "${falsename}d"
- 'my.cnf')
-md5sums=('7074fa091b3c1489f45a5ddf12cd5e6f'
- '2234207625baa29b2ff7d7b4f088abce'
- '1c949c0dbea5206af0db14942d9927b6')
-
-build() {
- cd "${srcdir}"
- mkdir build
- cd build
-
- # CFLAGS/CXXFLAGS as suggested upstream
- CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
- CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
-
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DSYSCONFDIR=/etc/${falsename} \
- -DMYSQL_DATADIR=/var/lib/${falsename} \
- -DMYSQL_UNIX_ADDR=/var/run/${falsename}/${falsename}.sock \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_unicode_ci \
- -DENABLED_LOCAL_INFILE=ON \
- -DINSTALL_INFODIR=share/${falsename}/docs \
- -DINSTALL_MANDIR=share/man \
- -DINSTALL_PLUGINDIR=/usr/lib/${falsename}/plugin \
- -DINSTALL_SCRIPTDIR=bin \
- -DINSTALL_INCLUDEDIR=include/${falsename} \
- -DINSTALL_DOCREADMEDIR=share/${falsename} \
- -DINSTALL_SUPPORTFILESDIR=share/${falsename} \
- -DINSTALL_MYSQLSHAREDIR=share/${falsename} \
- -DINSTALL_DOCDIR=share/${falsename}/docs \
- -DINSTALL_SHAREDIR=share/${falsename} \
- -DWITH_READLINE=ON \
- -DWITH_ZLIB=system \
- -DWITH_SSL=system \
- -DWITH_LIBWRAP=OFF \
- -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
- -DWITH_EXTRA_CHARSETS=complex \
- -DWITH_EMBEDDED_SERVER=ON \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_PARTITION_STORAGE_ENGINE=1 \
- -DWITH_PBXT_STORAGE_ENGINE=1 \
- -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
- -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
- -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-
- make
-}
-
-package_libmariadbclient(){
- pkgdesc="${_pkgbase} client libraries (branch of ${_falsename})"
- depends=('openssl')
- conflicts=("lib${falsename}client")
- provides=("lib${falsename}client=${pkgver}")
-
- cd "${srcdir}"/build
- for dir in include lib${falsename} lib${falsename}d libservices; do
- make -C ${dir} DESTDIR="${pkgdir}" install
- done
-
- install -d "${pkgdir}"/usr/bin
- install -m755 scripts/${falsename}_config "${pkgdir}"/usr/bin/
- install -d "${pkgdir}"/usr/share/man/man1
- for man in ${falsename}_config ${falsename}_client_test_embedded ${falsename}test_embedded; do
- install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
- done
-}
-
-package_mariadb-clients(){
- pkgdesc="${_pkgbase} client tools (branch of ${_falsename})"
- depends=("lib${pkgbase}client")
- conflicts=("${falsename}-clients")
- provides=("${falsename}-clients=${pkgver}")
-
- cd "${srcdir}"/build
- make -C client DESTDIR="${pkgdir}" install
-
- # install man pages
- install -d "${pkgdir}"/usr/share/man/man1
- for man in ${falsename} ${falsename}admin ${falsename}check ${falsename}dump ${falsename}import ${falsename}show ${falsename}slap; do
- install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
- done
-
- # provided by mariadb
- rm "${pkgdir}"/usr/bin/{${falsename}_{plugin,upgrade},${falsename}binlog,${falsename}test}
-}
-
-package_mariadb(){
- pkgdesc="A fast SQL database server branch of ${_falsename} - ${_pkgbase}"
- backup=("etc/${pkgbase}/my.cnf")
- install=${falsename}.install
- depends=("${pkgbase}-clients")
- optdepends=('perl-dbi' "perl-dbd-${falsename}")
- conflicts=("${falsename}")
- provides=("${falsename}=${pkgver}")
- options=('emptydirs')
-
- cd "${srcdir}"/build
- make DESTDIR="${pkgdir}" install
-
- install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/${falsename}/my.cnf
- install -Dm755 "${srcdir}"/${falsename}d "${pkgdir}"/etc/rc.d/${falsename}d
-
- # provided by libmariadbclient
- rm "${pkgdir}"/usr/bin/{${falsename}_config,${falsename}_client_test_embedded,${falsename}test_embedded}
- rm "${pkgdir}"/usr/lib/lib${falsename}*
- rm -r "${pkgdir}"/usr/include/
- rm "${pkgdir}"/usr/share/man/man1/{${falsename}_config,${falsename}_client_test_embedded,${falsename}test_embedded}.1
-
- # provided by mariadb-clients
- rm "${pkgdir}"/usr/bin/{${falsename},${falsename}admin,${falsename}check,${falsename}dump,${falsename}import,${falsename}show,${falsename}slap}
- rm "${pkgdir}"/usr/share/man/man1/{${falsename},${falsename}admin,${falsename}check,${falsename}dump,${falsename}import,${falsename}show,${falsename}slap}.1
-
- # not needed
- rm -r "${pkgdir}"/usr/{data,${falsename}-test,sql-bench}
- rm "${pkgdir}"/usr/share/man/man1/${falsename}-test-run.pl.1
-
- install -dm700 "${pkgdir}"/var/lib/${falsename}
-}
diff --git a/libre/mariadb/mariadb.install b/libre/mariadb/mariadb.install
deleted file mode 100644
index f56a0dcaa..000000000
--- a/libre/mariadb/mariadb.install
+++ /dev/null
@@ -1,26 +0,0 @@
-post_install(){
- groupadd -g 89 mysql &>/dev/null
- useradd -u 89 -g mysql -d /var/lib/mariadb -s /bin/false mysql &>/dev/null
- /usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mariadb
- chown -R mysql:mysql /var/lib/mariadb &>/dev/null
-}
-
-post_upgrade(){
- getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
- getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mariadb -s /bin/false mysql &>/dev/null
-
- if [ "$(vercmp $2 5.5)" -lt 0 ]; then
- echo " >> "
- echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
- echo " >> "
- fi
-}
-
-post_remove(){
- if getent passwd mysql >/dev/null 2>&1; then
- userdel mysql
- fi
- if getent group mysql >/dev/null 2>&1; then
- groupdel mysql
- fi
-}
diff --git a/libre/mariadb/mariadbd b/libre/mariadb/mariadbd
deleted file mode 100755
index 3ae612096..000000000
--- a/libre/mariadb/mariadbd
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/bash
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-getPID() {
- echo $(pgrep -u mysql mysqld 2>/dev/null);
-}
-
-case "$1" in
- start)
- stat_busy "Starting MariaDB Server"
- [ ! -d /var/run/mariadb ] && install -d -g mysql -o mysql /var/run/mariadb &>/dev/null
- if [ -z "$(getPID)" ]; then
- /usr/bin/mysqld_safe --user=mysql &>/dev/null &
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- timeo=30
- while [ $timeo -gt 0 ]; do
- response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break
- echo "$response" | grep -q "mysqld is alive" && break
- sleep 1
- let timeo=${timeo}-1
- done
- if [ $timeo -eq 0 ]; then
- stat_fail
- exit 1
- else
- echo $(getPID) > /var/run/mariadb/mariadb.pid
- add_daemon mysqld
- stat_done
- fi
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- stop)
- stat_busy "Stopping MariaDB Server"
- if [ ! -z "$(getPID)" ]; then
- timeo=30
- kill $(getPID) &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- fi
- while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do
- sleep 1
- let timeo=${timeo}-1
- done
- if [ -z "$(getPID)" ]; then
- rm -f /var/run/mariadb/mariadb.pid &>/dev/null
- rm_daemon mysqld
- stat_done
- else
- stat_fail
- exit 1
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/libre/mariadb/my.cnf b/libre/mariadb/my.cnf
deleted file mode 100644
index 9a41b4fc3..000000000
--- a/libre/mariadb/my.cnf
+++ /dev/null
@@ -1,145 +0,0 @@
-# MySQL config file for medium systems.
-#
-# This is for a system with little memory (32M - 64M) where MySQL plays
-# an important part, or systems up to 128M where MySQL is used together with
-# other programs (such as a web server)
-#
-# MySQL programs look for option files in a set of
-# locations which depend on the deployment platform.
-# You can copy this option file to one of those
-# locations. For information about these locations, see:
-# http://dev.mysql.com/doc/mysql/en/option-files.html
-#
-# In this file, you can use all long options that a program supports.
-# If you want to know which options a program supports, run the program
-# with the "--help" option.
-
-# The following options will be passed to all MySQL clients
-[client]
-#password = your_password
-port = 3306
-socket = /var/run/mysqld/mysqld.sock
-
-# Here follows entries for some specific programs
-
-# The MySQL server
-[mysqld]
-port = 3306
-socket = /var/run/mysqld/mysqld.sock
-datadir = /var/lib/mysql
-skip-external-locking
-key_buffer_size = 16M
-max_allowed_packet = 1M
-table_open_cache = 64
-sort_buffer_size = 512K
-net_buffer_length = 8K
-read_buffer_size = 256K
-read_rnd_buffer_size = 512K
-myisam_sort_buffer_size = 8M
-
-# Don't listen on a TCP/IP port at all. This can be a security enhancement,
-# if all processes that need to connect to mysqld run on the same host.
-# All interaction with mysqld must be made via Unix sockets or named pipes.
-# Note that using this option without enabling named pipes on Windows
-# (via the "enable-named-pipe" option) will render mysqld useless!
-#
-skip-networking
-
-# Replication Master Server (default)
-# binary logging is required for replication
-log-bin=mysql-bin
-
-# binary logging format - mixed recommended
-binlog_format=mixed
-
-# required unique id between 1 and 2^32 - 1
-# defaults to 1 if master-host is not set
-# but will not function as a master if omitted
-server-id = 1
-
-# Replication Slave (comment out master section to use this)
-#
-# To configure this host as a replication slave, you can choose between
-# two methods :
-#
-# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
-# the syntax is:
-#
-# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
-# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
-#
-# where you replace <host>, <user>, <password> by quoted strings and
-# <port> by the master's port number (3306 by default).
-#
-# Example:
-#
-# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
-# MASTER_USER='joe', MASTER_PASSWORD='secret';
-#
-# OR
-#
-# 2) Set the variables below. However, in case you choose this method, then
-# start replication for the first time (even unsuccessfully, for example
-# if you mistyped the password in master-password and the slave fails to
-# connect), the slave will create a master.info file, and any later
-# change in this file to the variables' values below will be ignored and
-# overridden by the content of the master.info file, unless you shutdown
-# the slave server, delete master.info and restart the slaver server.
-# For that reason, you may want to leave the lines below untouched
-# (commented) and instead use CHANGE MASTER TO (see above)
-#
-# required unique id between 2 and 2^32 - 1
-# (and different from the master)
-# defaults to 2 if master-host is set
-# but will not function as a slave if omitted
-#server-id = 2
-#
-# The replication master for this slave - required
-#master-host = <hostname>
-#
-# The username the slave will use for authentication when connecting
-# to the master - required
-#master-user = <username>
-#
-# The password the slave will authenticate with when connecting to
-# the master - required
-#master-password = <password>
-#
-# The port the master is listening on.
-# optional - defaults to 3306
-#master-port = <port>
-#
-# binary logging - not required for slaves, but recommended
-#log-bin=mysql-bin
-
-# Uncomment the following if you are using InnoDB tables
-#innodb_data_home_dir = /var/lib/mysql
-#innodb_data_file_path = ibdata1:10M:autoextend
-#innodb_log_group_home_dir = /var/lib/mysql
-# You can set .._buffer_pool_size up to 50 - 80 %
-# of RAM but beware of setting memory usage too high
-#innodb_buffer_pool_size = 16M
-#innodb_additional_mem_pool_size = 2M
-# Set .._log_file_size to 25 % of buffer pool size
-#innodb_log_file_size = 5M
-#innodb_log_buffer_size = 8M
-#innodb_flush_log_at_trx_commit = 1
-#innodb_lock_wait_timeout = 50
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-no-auto-rehash
-# Remove the next comment character if you are not familiar with SQL
-#safe-updates
-
-[myisamchk]
-key_buffer_size = 20M
-sort_buffer_size = 20M
-read_buffer = 2M
-write_buffer = 2M
-
-[mysqlhotcopy]
-interactive-timeout
diff --git a/libre/mariadb/mysql.install b/libre/mariadb/mysql.install
deleted file mode 100644
index 9a4479215..000000000
--- a/libre/mariadb/mysql.install
+++ /dev/null
@@ -1,26 +0,0 @@
-post_install(){
- groupadd -g 89 mysql &>/dev/null
- useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
- usr/bin/mysql_install_db --user=mysql --basedir=/usr
- chown -R mysql:mysql var/lib/mysql &>/dev/null
-}
-
-post_upgrade(){
- getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
- getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
-
- if [ "$(vercmp $2 5.5)" -lt 0 ]; then
- echo " >> "
- echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
- echo " >> "
- fi
-}
-
-post_remove(){
- if getent passwd mysql >/dev/null 2>&1; then
- userdel mysql
- fi
- if getent group mysql >/dev/null 2>&1; then
- groupdel mysql
- fi
-}
diff --git a/libre/mariadb/mysqld b/libre/mariadb/mysqld
deleted file mode 100644
index 1ac88a7cc..000000000
--- a/libre/mariadb/mysqld
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/bash
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-getPID() {
- echo $(pgrep -u mysql mysqld 2>/dev/null);
-}
-
-case "$1" in
- start)
- stat_busy "Starting MySQL Server"
- [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null
- if [ -z "$(getPID)" ]; then
- /usr/bin/mysqld_safe --user=mysql &>/dev/null &
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- timeo=30
- while [ $timeo -gt 0 ]; do
- response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break
- echo "$response" | grep -q "mysqld is alive" && break
- sleep 1
- let timeo=${timeo}-1
- done
- if [ $timeo -eq 0 ]; then
- stat_fail
- exit 1
- else
- echo $(getPID) > /var/run/mysqld/mysqld.pid
- add_daemon mysqld
- stat_done
- fi
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- stop)
- stat_busy "Stopping MySQL Server"
- if [ ! -z "$(getPID)" ]; then
- timeo=30
- kill $(getPID) &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- fi
- while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do
- sleep 1
- let timeo=${timeo}-1
- done
- if [ -z "$(getPID)" ]; then
- rm -f /var/run/mysqld/mysqld.pid &>/dev/null
- rm_daemon mysqld
- stat_done
- else
- stat_fail
- exit 1
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/libre/mkbootcd/PKGBUILD b/libre/mkbootcd/PKGBUILD
deleted file mode 100644
index 8990fbae3..000000000
--- a/libre/mkbootcd/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# $Id: PKGBUILD 137619 2011-09-10 08:04:29Z pierre $
-# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
-
-pkgname=mkbootcd
-pkgver=2008.09
-pkgrel=2.2
-pkgdesc="Advanced, modular isolinux bootcd image creation utility (Parabola rebranded)"
-arch=('any')
-license=('GPL')
-url="https://parabolagnulinux.org/"
-depends=('mkinitcpio' 'cdrkit' 'syslinux')
-source=('boot.msg' 'mkbootcd' 'mkbootcd.conf' 'options.msg')
-backup=('etc/mkbootcd.conf')
-md5sums=('2b55189d64e5263c5a3925a7b949c1f8'
- '521107289007f0c3f11ddbb6fdfcbd22'
- '4794673fa413eb5459b40172be7ae541'
- '75b69407f88f2838c66f4dda4d8455e3')
-
-package() {
- cd $srcdir
- install -D -m755 mkbootcd $pkgdir/usr/sbin/mkbootcd
- install -D -m644 mkbootcd.conf $pkgdir/etc/mkbootcd.conf
- install -D -m644 boot.msg $pkgdir/usr/share/mkbootcd/boot.msg
- install -D -m644 options.msg $pkgdir/usr/share/mkbootcd/options.msg
-}
diff --git a/libre/mkbootcd/boot.msg b/libre/mkbootcd/boot.msg
deleted file mode 100644
index 5e441e746..000000000
--- a/libre/mkbootcd/boot.msg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-------------------------------------------------------------------------------
-Parabola GNU/Linux-libre
-ISOLINUX BOOT
-created with 'mkbootcd' written by Tobias Powalowski <tpowa@archlinux.org>
-rebranded for Parabola by André Silva <emulatorman@lavabit.com>
-
-Press ENTER or type 'parabola' to boot the CD.
-
-If you wish to change your defaults to boot into your existing system,
-type 'vmlinuz initrd=initrd.img <any_other_boot_option>'
-Use the F2 key for troubleshooting and options.
-------------------------------------------------------------------------------
-
diff --git a/libre/mkbootcd/mkbootcd b/libre/mkbootcd/mkbootcd
deleted file mode 100755
index 012267be9..000000000
--- a/libre/mkbootcd/mkbootcd
+++ /dev/null
@@ -1,144 +0,0 @@
-#! /bin/sh
-# Created by Tobias Powalowski <tpowa@archlinux.org>
-# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
-# Settings
-APPNAME=$(basename "${0}")
-CONFIG="/etc/mkbootcd.conf"
-GENIMG=""
-BURN="0"
-BLANK="0"
-GRUB="0"
-TARNAME=""
-export TEMPDIR=$(mktemp /tmp/mkbootcd.XXXX)
-usage ()
-{
- echo "${APPNAME}: usage"
- echo " -g=IMAGE Generate a ISO image as IMAGE"
- echo " -c=CONFIG Use CONFIG file. default: /etc/mkbootcd.conf"
- echo " -B Burn the ISO image after creation"
- echo " -b Blanking media first"
- echo " -grub Use grub instead of isolinux"
- echo " -t=TARNAME Generate a tar image instead of an iso image"
- echo " -h This message."
- exit 1
-}
-
-[ "$1" == "" ] && usage
-
-while [ $# -gt 0 ]; do
- case $1 in
- -c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;;
- -g=*|--g=*) GENIMG="$(echo $1 | awk -F= '{print $2;}')" ;;
- -B|--B) BURN="1" ;;
- -b|--b) BLANK="1" ;;
- -grub|--grub) GRUB="1" ;;
- -t=*|--t=*) TARNAME="$(echo $1 | awk -F= '{print $2;}')" ;;
- -h|--h|?) usage ;;
- *) usage ;;
- esac
- shift
-done
-
-if [ "${TARNAME}" = "" -a "${GENIMG}" = "" ]; then
- echo "ERROR: No image name specified, please use the -g option"
- exit 1
-fi
-
-if [ ! -f "${CONFIG}" ]; then
- echo "config file '${CONFIG}' cannot be found, aborting..."
- exit 1
-fi
-
-. "${CONFIG}"
-# export for mkinitcpio
-[ -n "${APPENDBOOTMESSAGE}" ] && export APPENDBOOTMESSAGE
-[ -n "${APPENDBOOTMESSAGE_SYSLINUX}" ] && export APPENDBOOTMESSAGE_SYSLINUX
-[ -n "${APPENDBOOTMESSAGE_SYSLINUX_LOWMEM}" ] && export APPENDBOOTMESSAGE_SYSLINUX_LOWMEM
-[ -n "${APPENDOPTIONSBOOTMESSAGE}" ] && export APPENDOPTIONSBOOTMESSAGE
-
-if [ "$GRUB" = "1" ]; then
- export RUNPROGRAM="${APPNAME}-grub"
- export BOOTDIRNAME="boot"
-else
- export RUNPROGRAM="${APPNAME}"
- export BOOTDIRNAME="isolinux"
-fi
-[ "${BOOTMESSAGE}" = "" ] && export BOOTMESSAGE=$(mktemp /tmp/bootmessage.XXXX)
-[ "${OPTIONSBOOTMESSAGE}" = "" ] && export OPTIONSBOOTMESSAGE=$(mktemp /tmp/optionsbootmessage.XXXX)
-[ "${ISONAME}" = "" ] && export ISONAME=$(mktemp /tmp/isoname.XXXX)
-export USEKERNEL=${VERSION}
-# begin script
-[ -e ${TEMPDIR} ] && rm -r ${TEMPDIR}
-mkdir -p ${TEMPDIR}/${BOOTDIRNAME}
-if [ "$GRUB" = "1" ]; then
- mkdir ${TEMPDIR}/${BOOTDIRNAME}/grub
- install -m755 /usr/share/grub/i386-pc/stage2_eltorito ${TEMPDIR}/${BOOTDIRNAME}/grub/stage2_eltorito
-else
- install -m755 /usr/lib/syslinux/isolinux.bin ${TEMPDIR}/${BOOTDIRNAME}/isolinux.bin
-fi
-# create isolinux.cfg
-if [ "$GRUB" = "1" ]; then
- echo ":: Creating menu.lst ..."
- [ ! -e "${MENULST}" ] && echo "No menu.lst found" && exit 1
- sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \
- ${MENULST} \
- > ${TEMPDIR}/${BOOTDIRNAME}/grub/menu.lst
-else
- echo ":: Creating isolinux.cfg ..."
- if [ "${ISOLINUXCFG}" = "" ]; then
- [ -e ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg ] && rm ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "prompt ${PROMPT}" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "timeout ${TIMEOUT}" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "display boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "F1 boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "F2 options.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "default parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "label parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "kernel vmlinuz" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- echo "append initrd=initrd.img ${KERNEL_BOOT_OPTIONS}" >> ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- else
- sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \
- ${ISOLINUXCFG} > ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg
- fi
- [ ! -s ${TEMPDIR}/${BOOTDIRNAME}/isolinux.cfg ] && echo "No isolinux.cfg found" && exit 1
-fi
-echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} KERNEL=${VERSION} ..."
-# generate initramdisk
-echo ":: Creating initramdisk ..."
- mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${VERSION} -g ${TEMPDIR}/${BOOTDIRNAME}/initrd.img
-echo ":: Using ${KERNEL} as image kernel ..."
- install -m644 ${KERNEL} ${TEMPDIR}/${BOOTDIRNAME}/vmlinuz
- install -m644 ${BOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/boot.msg
- install -m644 ${OPTIONSBOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/options.msg
- [ ! -s ${TEMPDIR}/${BOOTDIRNAME}/boot.msg ] && echo 'ERROR:no boot.msg found, aborting!' && exit 1
- [ ! -s ${TEMPDIR}/${BOOTDIRNAME}/options.msg ] && echo 'ERROR:no options.msg found, aborting!' && exit 1
-# create image
-if ! [ "${TARNAME}" = "" ]; then
- echo ":: Creating tar image ..."
- [ -e ${TARNAME} ] && rm ${TARNAME}
- rm ${TEMPDIR}/parabola/pkg/*.pkg.tar.gz > /dev/null 2>&1
- tar cfv ${TARNAME} ${TEMPDIR} > /dev/null 2>&1 && echo ":: tar Image succesfull created at ${TARNAME}"
-else
- echo ":: Creating ISO image ..."
- [ -e ${GENIMG} ] && rm ${GENIMG}
- [ -s "${ISONAME}" ] && ISONAME=$(cat $ISONAME) || ISONAME="Parabola GNU/Linux-libre"
- if [ "$GRUB" = "1" ]; then
- mkisofs -RlDJLV "${ISONAME}" -b boot/grub/stage2_eltorito -c boot/boot.cat \
- -no-emul-boot -boot-load-size 4 -boot-info-table -o ${GENIMG} ${TEMPDIR}/ > /dev/null 2>&1
- else
- mkisofs -RlDJLV "${ISONAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat \
- -no-emul-boot -boot-load-size 4 -boot-info-table -o ${GENIMG} ${TEMPDIR}/ > /dev/null 2>&1
- fi
- [ $? -ne 0 ] && echo ":: ISO Image succesfull created at ${GENIMG}"
- # burning/blanking image
- if [ "$BLANK" = "1" ]; then
- echo ":: Blanking media DEVICE=${DEVICE}, BLANKMODE=${BLANKMODE}, SPEED=${SPEED} ..."
- cdrecord dev=${DEVICE} speed=${SPEED} blank=${BLANKMODE} > /dev/null 2>&1 && echo ":: Successfull."
- fi
- if [ "$BURN" = "1" ]; then
- echo ":: Burning ISO image DEVICE=${DEVICE}, SPEED=${SPEED} ..."
- cdrecord dev=${DEVICE} speed=${SPEED} -eject ${GENIMG} > /dev/null 2>&1 && echo ":: Successfull."
- fi
-fi
-# clean /tmp
-rm -r ${TEMPDIR}
diff --git a/libre/mkbootcd/mkbootcd.conf b/libre/mkbootcd/mkbootcd.conf
deleted file mode 100644
index 5b287a6ea..000000000
--- a/libre/mkbootcd/mkbootcd.conf
+++ /dev/null
@@ -1,39 +0,0 @@
-# Created by Tobias Powalowski <tpowa@archlinux.org>
-# Rebranded for Parabola by André Silva <emulatorman@lavabit.com>
-# config file of mkbootcd
-
-# DEFAULT kernel boot options like root=/dev/hda3 etc.
-# add your root= option, if you boot from a disk device
-# and don't want to add it by hand on each boot
-KERNEL_BOOT_OPTIONS=""
-
-# mkinitcpio config file, defaulted to stock config file
-MKINITCPIO_CONFIG="/etc/mkinitcpio.conf"
-
-# kernel version, defaulted to build for runtime kernel
-VERSION="$(uname -r)"
-
-# kernel image, defaulted to stock libre kernel
-KERNEL="/boot/vmlinuz-linux-libre"
-
-# boot message files
-BOOTMESSAGE="/usr/share/mkbootcd/boot.msg"
-OPTIONSBOOTMESSAGE="/usr/share/mkbootcd/options.msg"
-
-# menu.lst or isolinux.cfg file to use
-ISOLINUXCFG=""
-MENULST=""
-
-# Prompt on CD boot, defaulted to yes, 1=yes 0=no
-PROMPT="1"
-
-# Name of the ISO, if empty Parabola GNU/Linux-libre is used if not set by a HOOK later
-ISONAME=""
-
-# Timeout in seconds on CD boot, defaulted to 0, because we prompt by default
-TIMEOUT="0"
-
-# Setting cdrecord options
-DEVICE=""
-SPEED=""
-BLANKMODE=""
diff --git a/libre/mkbootcd/options.msg b/libre/mkbootcd/options.msg
deleted file mode 100644
index 63f56e755..000000000
--- a/libre/mkbootcd/options.msg
+++ /dev/null
@@ -1,6 +0,0 @@
-------------------------------------------------------------------------------
-Parabola GNU/Linux-libre options and troubleshooting:
-
-- If your system hangs during the boot process, any combinations of the
- boot options noapic acpi=off pci=routeirq nosmp may be useful.
-------------------------------------------------------------------------------
diff --git a/libre/mozilla-searchplugins/PKGBUILD b/libre/mozilla-searchplugins/PKGBUILD
index 0d1d14cd0..b2e362899 100644
--- a/libre/mozilla-searchplugins/PKGBUILD
+++ b/libre/mozilla-searchplugins/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Figue <ffigue at gmail>
# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
# Contributor (Parabola): vando <facundo@esdebian.org>
-# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy>
+# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
# Thank you very much to the older contributors:
# Contributor: evr <evanroman at gmail>
# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
diff --git a/libre/newton-dynamics-libre/PKGBUILD b/libre/newton-dynamics-libre/PKGBUILD
new file mode 100644
index 000000000..1702cca70
--- /dev/null
+++ b/libre/newton-dynamics-libre/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 84449 2013-02-19 04:20:15Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Josh Taylor (deficite) <joshtaylor.mail@gmail.com>
+# Contributor: Christophe Robin (bombstrike) <crobin@php.net>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+_pkgname=newton-dynamics
+pkgname=newton-dynamics-libre
+pkgver=2.36
+pkgrel=1
+pkgdesc="A simple physics API"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.newtondynamics.com"
+license=('custom')
+depends=()
+makedepends=('unar')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+source=("http://newton-dynamics.googlecode.com/files/newton-dynamics-${pkgver}.rar")
+noextract=("newton-dynamics-${pkgver}.rar")
+md5sums=('0dffa112d0a6ea39ad9e904e555da69a')
+
+build() {
+ _srcdir="${srcdir}/newton-dynamics-${pkgver}"
+ [[ "$CARCH" = "i686" ]] && platform="linux32"
+ [[ "$CARCH" = "x86_64" ]] && platform="linux64"
+ builddir="${_srcdir}/coreLibrary_200/projets/${platform}"
+
+ # clean build directory
+ [[ -d "${_srcdir}" ]] && rm -Rf "${_srcdir}"
+
+ # decompress package
+ cd "${srcdir}"
+ unar "newton-dynamics-${pkgver}.rar"
+
+ # needed for building
+ mkdir -p "${_srcdir}/packages/${platform}"
+
+ ## build lib
+ cd "${builddir}"
+ sed -i 's/ -o libNewton.so/ -lpthread -lstdc++ -o libNewton.so/' makefile
+ sed -i 's/Debug\.cpp.*$/Debug \\/g' makefile
+ make
+}
+
+package() {
+ install -D -m644 "${builddir}/libNewton.a" "${pkgdir}/usr/lib/libNewton.a"
+ install -D -m755 "${builddir}/libNewton.so" "${pkgdir}/usr/lib/libNewton.so"
+ install -D -m644 "${_srcdir}/coreLibrary_200/source/newton/Newton.h" "${pkgdir}/usr/include/Newton.h"
+}
diff --git a/libre/newton-dynamics-libre/assert-fix.patch b/libre/newton-dynamics-libre/assert-fix.patch
new file mode 100644
index 000000000..83dfdd790
--- /dev/null
+++ b/libre/newton-dynamics-libre/assert-fix.patch
@@ -0,0 +1,13 @@
+Index: source/core/dgTypes.cpp
+===================================================================
+--- source/core/dgTypes.cpp (revision 506)
++++ source/core/dgTypes.cpp (working copy)
+@@ -515,7 +515,7 @@
+ return 0;
+ }
+ _ASSERTE (compareCount <= dgInt32 (strideInBytes / sizeof (dgFloat64)));
+- _ASSERT (strideInBytes == dgInt32 (sizeof (dgFloat64) * (strideInBytes / sizeof (dgFloat64))));
++ _ASSERTE (strideInBytes == dgInt32 (sizeof (dgFloat64) * (strideInBytes / sizeof (dgFloat64))));
+
+ dgInt32 stride = strideInBytes / dgInt32 (sizeof (dgFloat64));
+ dgInt32 stride2 = stride + 2;
diff --git a/libre/oss-libre/PKGBUILD b/libre/oss-libre/PKGBUILD
new file mode 100644
index 000000000..32ee9db2e
--- /dev/null
+++ b/libre/oss-libre/PKGBUILD
@@ -0,0 +1,104 @@
+# $Id: PKGBUILD 92058 2013-05-31 02:02:47Z seblu $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Florian Pritz <bluewind@xinu.at>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+pkgname=oss-libre
+pkgver=4.2_2007
+pkgrel=4
+arch=('i686' 'x86_64' 'mips64el')
+url="http://developer.opensound.com/"
+license=('GPL2')
+makedepends=('gtk2')
+source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2"
+ "rm-init-scripts.patch"
+ "soundon.patch"
+ "remove-hal.patch"
+ "linux-3.8.patch"
+ "oss.service"
+)
+md5sums=('f995118db1759fee3bcd38483940da6f'
+ 'b9a380a0ac8896390d71ac13676f27e1'
+ '65f07fe241bfbf912f76d8b6d8f276b5'
+ 'cd7f1dc6166bba8c94d96f3a28e948a5'
+ 'effecefb774f1d08ef9f0af0ad205c34'
+ '39c46b10a6bc56fc146d669a61bd3028')
+_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl
+
+build() {
+ cd "${srcdir}/${_dir}"
+
+ # Avoid these flags conflicting with OSS build system.
+ unset CFLAGS
+ unset LDFLAGS
+ unset OSFLAGS
+ unset LIBRARIES
+ export NO_WARNING_CHECKS=yes
+
+ msg "Preparing the build environment."
+ cd "${srcdir}"
+
+ # Create build directory and configure
+ rm -rf build
+ mkdir build && cd build
+ "${srcdir}/${_dir}/configure" --enable-libsalsa=NO --regparm
+
+ # ossvermagic hardcodes /lib/modules *grumble*
+ sed -i 's|/lib/modules|/usr&|' \
+ os_cmd/Linux/ossvermagic/ossvermagic.c
+
+ pushd "$srcdir/$_dir"
+ patch -p0 -i "${srcdir}/linux-3.8.patch"
+ popd
+
+ msg "Building OSS."
+ make build
+
+ msg "Patching init scripts."
+ cd "${srcdir}/build/prototype"
+ rm usr/lib/oss/etc/S89oss
+ patch -p0 -i "${srcdir}/rm-init-scripts.patch"
+ patch -p0 -i "${srcdir}/soundon.patch"
+ # remove hal dependency
+ patch -p0 -i "${srcdir}/remove-hal.patch"
+ rm -rf usr/lib/oss/scripts/oss_usb-create-devices usr/lib/oss/scripts/90-oss_usb-create-device.fdi
+
+ # fix kernel module directories
+ sed -i 's#/lib/modules/$KERNEL_VERSION/kernel/#/usr/lib/modules/$KERNEL_VERSION/extramodules/kernel/#g' usr/sbin/soundon
+ sed -i 's#/lib/modules/$UNAME/kernel/#/usr/lib/modules/$UNAME/extramodules/kernel/#g' usr/lib/oss/build/install.sh
+ sed -i 's#mkdir /lib/modules#mkdir -p /usr/lib/modules#' usr/lib/oss/build/install.sh
+ sed -i 's#mkdir \(/usr/lib/modules/$UNAME/extramodules/kernel/oss\)#mkdir -p \1#' usr/lib/oss/build/install.sh
+ sed -i 's#\([= ]\)/lib/modules#\1/usr/lib/modules#g' \
+ usr/lib/oss/build/install.sh \
+ usr/lib/oss/scripts/restore_drv.sh \
+ usr/lib/oss/scripts/setup-alsa.sh \
+ usr/lib/oss/scripts/remove_drv.sh \
+ usr/lib/oss/build/Makefile.tmpl \
+ usr/lib/oss/build/Makefile.osscore \
+ usr/lib/oss/cuckoo/Makefile
+}
+
+package() {
+ pkgdesc="Open Sound System UNIX audio architecture, without nonfree libflashsupport-oss recommendation (built for the linux-libre-headers package)"
+ depends=('gcc' 'make' 'linux-libre-headers' 'libtool' 'sed')
+ optdepends=('gtk2: for graphical mixer (ossxmix)')
+ replaces=('oss')
+ conflicts=('oss' 'oss-linux' 'oss-linux-free' 'oss-testing')
+ provides=("oss=${pkgver}")
+ backup=('usr/lib/oss/soundon.user')
+ install=oss.install
+
+ cd "${srcdir}/build/prototype"
+ cp -a * "${pkgdir}"
+
+ cd "$pkgdir"
+ mv usr/sbin/* usr/bin
+ rmdir usr/sbin
+ chmod -R a+r . # All files can have read permission (FS#13815)
+ find . -type d -exec chmod a+x '{}' \; # Make namcap happy
+ install -Dm644 "$srcdir/oss.service" usr/lib/systemd/system/oss.service
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/oss-libre/linux-3.8.patch b/libre/oss-libre/linux-3.8.patch
new file mode 100644
index 000000000..46200e01a
--- /dev/null
+++ b/libre/oss-libre/linux-3.8.patch
@@ -0,0 +1,40 @@
+--- setup/Linux/oss/build/pci_wrapper.inc 2009-08-27 05:19:07.000000000 +0300
++++ setup/Linux/oss/build/pci_wrapper.inc 2013-02-08 13:56:10.519794975 +0200
+@@ -17,7 +17,11 @@
+ static dev_map_t dev_map[MAX_INSTANCE];
+ static int n_devmap = 0;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
+ static int __devinit
++#else
++static int
++#endif
+ osspci_probe (struct pci_dev *pcidev, const struct pci_device_id *pciid)
+ {
+ oss_device_t *osdev;
+@@ -65,7 +69,11 @@
+ return 0;
+ }
+
+-static void __devexit
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
++static int __devexit
++#else
++static int
++#endif
+ osspci_remove (struct pci_dev *pcidev)
+ {
+ int i;
+@@ -80,10 +88,11 @@
+ pci_disable_device (dev_map[i].pcidev);
+ osdev_delete (osdev);
+
+- return;
++ return 0;
+ }
+
+ printk (KERN_ALERT DRIVER_NICK ": Can't find the PCI device to detach\n");
++ return -EIO;
+ }
+
+ void
diff --git a/libre/oss-libre/oss.install b/libre/oss-libre/oss.install
new file mode 100644
index 000000000..9bd4e1fbc
--- /dev/null
+++ b/libre/oss-libre/oss.install
@@ -0,0 +1,25 @@
+post_install() {
+ echo "Running OSS install script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+ echo
+ echo " Note that OSS can't currently work together with kernel"
+ echo " ALSA modules, so they were moved out by the OSS install"
+ echo " scripts. If you want the ALSA kernel modules back, you can"
+ echo " just remove this package using pacman."
+}
+
+post_upgrade() {
+ echo "Running OSS update script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+}
+
+pre_remove() {
+ # Restore any replaced ALSA drivers.
+ sh /usr/lib/oss/scripts/restore_drv.sh
+}
+
+post_remove() {
+ echo " Open Sound System was now removed, and the ALSA kernel"
+ echo " modules were restored."
+}
+
diff --git a/libre/oss-libre/oss.service b/libre/oss-libre/oss.service
new file mode 100644
index 000000000..0200d2477
--- /dev/null
+++ b/libre/oss-libre/oss.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Open Sound System v4
+Before=sound.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/soundon
+ExecStop=/usr/bin/soundoff
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/oss-libre/remove-hal.patch b/libre/oss-libre/remove-hal.patch
new file mode 100644
index 000000000..27e2ef2de
--- /dev/null
+++ b/libre/oss-libre/remove-hal.patch
@@ -0,0 +1,20 @@
+Date: Tue Aug 2 16:37:31 CEST 2011
+Author: Florian Pritz <bluewind@xinu.at>
+This removes all hal dependencies
+
+References:
+http://www.archlinux.org/todo/92/
+
+--- usr/lib/oss/build/install_2011-08-02_162647.sh 2011-08-02 16:26:47.000000000 +0200
++++ usr/lib/oss/build/install.sh 2011-08-02 16:27:13.000000000 +0200
+@@ -336,10 +336,4 @@
+ echo "autosave_mixer yes" > $OSSLIBDIR/etc/userdefs
+ fi
+
+-# Hal 0.5.0+ hotplug
+-mkdir -p /usr/lib/hal/scripts
+-ln -sf $OSSLIBDIR/scripts/oss_usb-create-devices /usr/lib/hal/scripts/
+-mkdir -p /usr/share/hal/fdi/policy/20thirdparty/
+-ln -sf $OSSLIBDIR/scripts/90-oss_usb-create-device.fdi /usr/share/hal/fdi/policy/20thirdparty/
+-
+ exit 0
diff --git a/libre/oss-libre/rm-init-scripts.patch b/libre/oss-libre/rm-init-scripts.patch
new file mode 100644
index 000000000..981ff605f
--- /dev/null
+++ b/libre/oss-libre/rm-init-scripts.patch
@@ -0,0 +1,52 @@
+--- usr/lib/oss/build/install.sh.orig 2008-09-25 11:41:47.180167692 -0300
++++ usr/lib/oss/build/install.sh 2008-09-25 11:41:47.180167692 -0300
+@@ -290,38 +290,6 @@
+ echo
+ fi
+
+-if ! test -d /etc/init.d
+-then
+- mkdir /etc/init.d
+-fi
+-
+-rm -f /etc/init.d/oss /etc/rc.d/rc3.d/S89oss /etc/rc3.d/S89oss
+-cp -f $OSSLIBDIR/etc/S89oss /etc/init.d/oss
+-
+-chmod 744 /etc/init.d/oss
+-
+-if test -x /sbin/chkconfig
+-then
+- /sbin/chkconfig oss on > /dev/null 2>&1
+-else
+- if test -x /usr/sbin/update-rc.d
+- then
+- /usr/sbin/update-rc.d oss defaults > /dev/null 2>&1
+- else
+- if test -d etc/rc.d/rc3.d
+- then
+- rm -f /etc/rc.d/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc.d/rc3.d/S89oss
+- else
+- if test -d /etc/rc3.d
+- then
+- rm -f /etc/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc3.d/S89oss
+- fi
+- fi
+- fi
+-fi
+-
+ # Install ALSA interface module (Cuckoo)
+ #(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
+ #if (cd $OSSLIBDIR/cuckoo && make install) > /var/log/cuckoo.log 2>&1
+--- usr/lib/oss/scripts/restore_drv.sh.orig 2008-09-25 11:41:47.210168487 -0300
++++ usr/lib/oss/scripts/restore_drv.sh 2008-09-25 11:41:47.210168487 -0300
+@@ -18,8 +18,6 @@
+ fi
+ fi
+
+-rm -f /etc/init.d/oss
+-
+ if ! test -d /lib/modules/`uname -r`/kernel/sound
+ then
+ if test -f /lib/modules/`uname -r`/sound-preoss.tar.bz2
diff --git a/libre/oss-libre/soundon.patch b/libre/oss-libre/soundon.patch
new file mode 100644
index 000000000..4702b8680
--- /dev/null
+++ b/libre/oss-libre/soundon.patch
@@ -0,0 +1,28 @@
+--- usr/sbin/soundon.old 2009-09-04 06:35:26.000000000 +0100
++++ usr/sbin/soundon 2009-11-15 13:59:53.000000000 +0000
+@@ -255,7 +255,10 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
++ # Fix for compatibility with Arch's directory structure
++ # Not that we use it, there is no $OSSLIBDIR/.libsalsa_installed
++ ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib/libasound.so.2
++ #ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
+ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+@@ -278,8 +281,11 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+- ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
++ # Fix for compatibility with Arch's directory structure
++ ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib
++ ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib
++ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
++ #ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+ then
diff --git a/libre/parabola-keyring/PKGBUILD b/libre/parabola-keyring/PKGBUILD
index d5a1e561d..af130b5c0 100644
--- a/libre/parabola-keyring/PKGBUILD
+++ b/libre/parabola-keyring/PKGBUILD
@@ -1,19 +1,18 @@
# Maintainer: André Silva <emulatorman@lavabit.com>
pkgname=parabola-keyring
-pkgver=$(LC_ALL=C date -u +%Y%m%d)
+pkgver=$(LC_ALL=C date -u +%Y%m%d).1
pkgrel=1
pkgdesc='Parabola GNU/Linux-libre PGP keyring'
arch=('any')
url='https://projects.parabolagnulinux.org/hackers.git/'
license=('GPL')
install="${pkgname}.install"
-source=("http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.gz"
- "http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.gz.sig")
+source=(http://repo.parabolagnulinux.org/other/parabola-keyring-20130221.tar.gz{,.sig})
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-"*
make PREFIX=/usr DESTDIR=${pkgdir} install
}
-md5sums=('ad747cf1f710e5962aa6b0931fcb580f'
- 'c1030ca1c960d2ee6cfe11d798a7b471')
+md5sums=('007c35459478f86484f66323bf90b1e0'
+ 'SKIP')
diff --git a/libre/python2-bencode/PKGBUILD b/libre/python2-bencode/PKGBUILD
new file mode 100644
index 000000000..762d55cad
--- /dev/null
+++ b/libre/python2-bencode/PKGBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=bencode
+pkgname=python2-bencode
+pkgver=1.0
+pkgdesc="BitTorrent bencode module as leight-weight, standalone package"
+url="http://pypi.python.org/pypi/BitTorrent-bencode"
+license=('custom:BitTorrent Open Source License')
+
+pkgrel=1
+arch=('any')
+depends=('python2')
+makedepends=('python2-distribute')
+source=(http://pypi.python.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz
+ bittorrent-osl.txt)
+
+package(){
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 "$srcdir"/bittorrent-osl.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums=('400dd42ff346eb7db91245403f8f2b7b'
+ '016d959cb9f7a319e48d9699c4ef2f42')
diff --git a/libre/python2-bencode/bittorrent-osl.txt b/libre/python2-bencode/bittorrent-osl.txt
new file mode 100644
index 000000000..f0625f45c
--- /dev/null
+++ b/libre/python2-bencode/bittorrent-osl.txt
@@ -0,0 +1,510 @@
+BitTorrent Open Source License
+
+Version 1.1
+
+This BitTorrent Open Source License (the "License") applies to the
+BitTorrent client and related software products as well as any updates
+or maintenance releases of that software ("BitTorrent Products") that
+are distributed by BitTorrent, Inc. ("Licensor"). Any BitTorrent
+Product licensed pursuant to this License is a Licensed
+Product. Licensed Product, in its entirety, is protected by
+U.S. copyright law. This License identifies the terms under which you
+may use, copy, distribute or modify Licensed Product.
+
+Preamble
+
+This Preamble is intended to describe, in plain English, the nature
+and scope of this License. However, this Preamble is not a part of
+this license. The legal effect of this License is dependent only upon
+the terms of the License and not this Preamble.
+
+This License complies with the Open Source Definition and is derived
+from the Jabber Open Source License 1.0 (the "JOSL"), which has been
+approved by Open Source Initiative. Sections 4(c) and 4(f)(iii) from
+the JOSL have been deleted.
+
+This License provides that:
+
+1. You may use or give away the Licensed Product, alone or as a
+component of an aggregate software distribution containing programs
+from several different sources. No royalty or other fee is required.
+
+2. Both Source Code and executable versions of the Licensed Product,
+including Modifications made by previous Contributors, are available
+for your use. (The terms "Licensed Product," "Modifications,"
+"Contributors" and "Source Code" are defined in the License.)
+
+3. You are allowed to make Modifications to the Licensed Product, and
+you can create Derivative Works from it. (The term "Derivative Works"
+is defined in the License.)
+
+4. By accepting the Licensed Product under the provisions of this
+License, you agree that any Modifications you make to the Licensed
+Product and then distribute are governed by the provisions of this
+License. In particular, you must make the Source Code of your
+Modifications available to others free of charge and without a
+royalty.
+
+5. You may sell, accept donations or otherwise receive compensation
+for executable versions of a Licensed Product, without paying a
+royalty or other fee to the Licensor or any Contributor, provided that
+such executable versions contain your or another Contributor?s
+material Modifications. For the avoidance of doubt, to the extent your
+executable version of a Licensed Product does not contain your or
+another Contributor?s material Modifications, you may not sell, accept
+donations or otherwise receive compensation for such executable.
+
+You may use the Licensed Product for any purpose, but the Licensor is
+not providing you any warranty whatsoever, nor is the Licensor
+accepting any liability in the event that the Licensed Product doesn't
+work properly or causes you any injury or damages.
+
+6. If you sublicense the Licensed Product or Derivative Works, you may
+charge fees for warranty or support, or for accepting indemnity or
+liability obligations to your customers. You cannot charge for, sell,
+accept donations or otherwise receive compensation for the Source
+Code.
+
+7. If you assert any patent claims against the Licensor relating to
+the Licensed Product, or if you breach any terms of the License, your
+rights to the Licensed Product under this License automatically
+terminate.
+
+You may use this License to distribute your own Derivative Works, in
+which case the provisions of this License will apply to your
+Derivative Works just as they do to the original Licensed Product.
+
+Alternatively, you may distribute your Derivative Works under any
+other OSI-approved Open Source license, or under a proprietary license
+of your choice. If you use any license other than this License,
+however, you must continue to fulfill the requirements of this License
+(including the provisions relating to publishing the Source Code) for
+those portions of your Derivative Works that consist of the Licensed
+Product, including the files containing Modifications.
+
+New versions of this License may be published from time to time in
+connection with new versions of a Licensed Product or otherwise. You
+may choose to continue to use the license terms in this version of the
+License for the Licensed Product that was originally licensed
+hereunder, however, the new versions of this License will at all times
+apply to new versions of the Licensed Product released by Licensor
+after the release of the new version of this License. Only the
+Licensor has the right to change the License terms as they apply to
+the Licensed Product.
+
+This License relies on precise definitions for certain terms. Those
+terms are defined when they are first used, and the definitions are
+repeated for your convenience in a Glossary at the end of the License.
+
+License Terms
+
+1. Grant of License From Licensor. Subject to the terms and conditions
+of this License, Licensor hereby grants you a world-wide,
+royalty-free, non-exclusive license, subject to third party
+intellectual property claims, to do the following:
+
+a. Use, reproduce, modify, display, perform, sublicense and distribute
+any Modifications created by a Contributor or portions thereof, in
+both Source Code or as an executable program, either on an unmodified
+basis or as part of Derivative Works.
+
+b. Under claims of patents now or hereafter owned or controlled by
+Contributor, to make, use, sell, offer for sale, have made, and/or
+otherwise dispose of Modifications or portions thereof, but solely to
+the extent that any such claim is necessary to enable you to make,
+use, sell, offer for sale, have made, and/or otherwise dispose of
+Modifications or portions thereof or Derivative Works thereof.
+
+2. Grant of License to Modifications From Contributor. "Modifications"
+means any additions to or deletions from the substance or structure of
+(i) a file containing a Licensed Product, or (ii) any new file that
+contains any part of a Licensed Product. Hereinafter in this License,
+the term "Licensed Product" shall include all previous Modifications
+that you receive from any Contributor. Subject to the terms and
+conditions of this License, By application of the provisions in
+Section 4(a) below, each person or entity who created or contributed
+to the creation of, and distributed, a Modification (a "Contributor")
+hereby grants you a world-wide, royalty-free, non-exclusive license,
+subject to third party intellectual property claims, to do the
+following:
+
+a. Use, reproduce, modify, display, perform, sublicense and distribute
+any Modifications created by such Contributor or portions thereof, in
+both Source Code or as an executable program, either on an unmodified
+basis or as part of Derivative Works.
+
+b. Under claims of patents now or hereafter owned or controlled by
+Contributor, to make, use, sell, offer for sale, have made, and/or
+otherwise dispose of Modifications or portions thereof, but solely to
+the extent that any such claim is necessary to enable you to make,
+use, sell, offer for sale, have made, and/or otherwise dispose of
+Modifications or portions thereof or Derivative Works thereof.
+
+3. Exclusions From License Grant. Nothing in this License shall be
+deemed to grant any rights to trademarks, copyrights, patents, trade
+secrets or any other intellectual property of Licensor or any
+Contributor except as expressly stated herein. No patent license is
+granted separate from the Licensed Product, for code that you delete
+from the Licensed Product, or for combinations of the Licensed Product
+with other software or hardware. No right is granted to the trademarks
+of Licensor or any Contributor even if such marks are included in the
+Licensed Product. Nothing in this License shall be interpreted to
+prohibit Licensor from licensing under different terms from this
+License any code that Licensor otherwise would have a right to
+license. As an express condition for your use of the Licensed Product,
+you hereby agree that you will not, without the prior written consent
+of Licensor, use any trademarks, copyrights, patents, trade secrets or
+any other intellectual property of Licensor or any Contributor except
+as expressly stated herein. For the avoidance of doubt and without
+limiting the foregoing, you hereby agree that you will not use or
+display any trademark of Licensor or any Contributor in any domain
+name, directory filepath, advertisement, link or other reference to
+you in any manner or in any media.
+
+4. Your Obligations Regarding Distribution.
+
+a. Application of This License to Your Modifications. As an express
+condition for your use of the Licensed Product, you hereby agree that
+any Modifications that you create or to which you contribute, and
+which you distribute, are governed by the terms of this License
+including, without limitation, Section 2. Any Modifications that you
+create or to which you contribute may be distributed only under the
+terms of this License or a future version of this License released
+under Section 7. You must include a copy of this License with every
+copy of the Modifications you distribute. You agree not to offer or
+impose any terms on any Source Code or executable version of the
+Licensed Product or Modifications that alter or restrict the
+applicable version of this License or the recipients' rights
+hereunder. However, you may include an additional document offering
+the additional rights described in Section 4(d).
+
+b. Availability of Source Code. You must make available, without
+charge, under the terms of this License, the Source Code of the
+Licensed Product and any Modifications that you distribute, either on
+the same media as you distribute any executable or other form of the
+Licensed Product, or via a mechanism generally accepted in the
+software development community for the electronic transfer of data (an
+"Electronic Distribution Mechanism"). The Source Code for any version
+of Licensed Product or Modifications that you distribute must remain
+available for as long as any executable or other form of the Licensed
+Product is distributed by you. You are responsible for ensuring that
+the Source Code version remains available even if the Electronic
+Distribution Mechanism is maintained by a third party.
+
+c. Intellectual Property Matters.
+
+i. Third Party Claims. If you have knowledge that a license to a third
+party's intellectual property right is required to exercise the rights
+granted by this License, you must include a text file with the Source
+Code distribution titled "LEGAL" that describes the claim and the
+party making the claim in sufficient detail that a recipient will know
+whom to contact. If you obtain such knowledge after you make any
+Modifications available as described in Section 4(b), you shall
+promptly modify the LEGAL file in all copies you make available
+thereafter and shall take other steps (such as notifying appropriate
+mailing lists or newsgroups) reasonably calculated to inform those who
+received the Licensed Product from you that new knowledge has been
+obtained.
+
+ii. Contributor APIs. If your Modifications include an application
+programming interface ("API") and you have knowledge of patent
+licenses that are reasonably necessary to implement that API, you must
+also include this information in the LEGAL file.
+
+iii. Representations. You represent that, except as disclosed pursuant
+to 4(c)(i) above, you believe that any Modifications you distribute
+are your original creations and that you have sufficient rights to
+grant the rights conveyed by this License.
+
+d. Required Notices. You must duplicate this License in any
+documentation you provide along with the Source Code of any
+Modifications you create or to which you contribute, and which you
+distribute, wherever you describe recipients' rights relating to
+Licensed Product. You must duplicate the notice contained in Exhibit A
+(the "Notice") in each file of the Source Code of any copy you
+distribute of the Licensed Product. If you created a Modification, you
+may add your name as a Contributor to the Notice. If it is not
+possible to put the Notice in a particular Source Code file due to its
+structure, then you must include such Notice in a location (such as a
+relevant directory file) where a user would be likely to look for such
+a notice. You may choose to offer, and charge a fee for, warranty,
+support, indemnity or liability obligations to one or more recipients
+of Licensed Product. However, you may do so only on your own behalf,
+and not on behalf of the Licensor or any Contributor. You must make it
+clear that any such warranty, support, indemnity or liability
+obligation is offered by you alone, and you hereby agree to indemnify
+the Licensor and every Contributor for any liability incurred by the
+Licensor or such Contributor as a result of warranty, support,
+indemnity or liability terms you offer.
+
+e. Distribution of Executable Versions. You may distribute Licensed
+Product as an executable program under a license of your choice that
+may contain terms different from this License provided (i) you have
+satisfied the requirements of Sections 4(a) through 4(d) for that
+distribution, (ii) you include a conspicuous notice in the executable
+version, related documentation and collateral materials stating that
+the Source Code version of the Licensed Product is available under the
+terms of this License, including a description of how and where you
+have fulfilled the obligations of Section 4(b), and (iii) you make it
+clear that any terms that differ from this License are offered by you
+alone, not by Licensor or any Contributor. You hereby agree to
+indemnify the Licensor and every Contributor for any liability
+incurred by Licensor or such Contributor as a result of any terms you
+offer.
+
+f. Distribution of Derivative Works. You may create Derivative Works
+(e.g., combinations of some or all of the Licensed Product with other
+code) and distribute the Derivative Works as products under any other
+license you select, with the proviso that the requirements of this
+License are fulfilled for those portions of the Derivative Works that
+consist of the Licensed Product or any Modifications thereto.
+
+g. Compensation for Distribution of Executable Versions of Licensed
+Products, Modifications or Derivative Works. Notwithstanding any
+provision of this License to the contrary, by distributing, selling,
+licensing, sublicensing or otherwise making available any Licensed
+Product, or Modification or Derivative Work thereof, you and Licensor
+hereby acknowledge and agree that you may sell, license or sublicense
+for a fee, accept donations or otherwise receive compensation for
+executable versions of a Licensed Product, without paying a royalty or
+other fee to the Licensor or any other Contributor, provided that such
+executable versions (i) contain your or another Contributor?s material
+Modifications, or (ii) are otherwise material Derivative Works. For
+purposes of this License, an executable version of the Licensed
+Product will be deemed to contain a material Modification, or will
+otherwise be deemed a material Derivative Work, if (a) the Licensed
+Product is modified with your own or a third party?s software programs
+or other code, and/or the Licensed Product is combined with a number
+of your own or a third party?s software programs or code,
+respectively, and (b) such software programs or code add or contribute
+material value, functionality or features to the License Product. For
+the avoidance of doubt, to the extent your executable version of a
+Licensed Product does not contain your or another Contributor?s
+material Modifications or is otherwise not a material Derivative Work,
+in each case as contemplated herein, you may not sell, license or
+sublicense for a fee, accept donations or otherwise receive
+compensation for such executable. Additionally, without limitation of
+the foregoing and notwithstanding any provision of this License to the
+contrary, you cannot charge for, sell, license or sublicense for a
+fee, accept donations or otherwise receive compensation for the Source
+Code.
+
+5. Inability to Comply Due to Statute or Regulation. If it is
+impossible for you to comply with any of the terms of this License
+with respect to some or all of the Licensed Product due to statute,
+judicial order, or regulation, then you must (i) comply with the terms
+of this License to the maximum extent possible, (ii) cite the statute
+or regulation that prohibits you from adhering to the License, and
+(iii) describe the limitations and the code they affect. Such
+description must be included in the LEGAL file described in Section
+4(d), and must be included with all distributions of the Source
+Code. Except to the extent prohibited by statute or regulation, such
+description must be sufficiently detailed for a recipient of ordinary
+skill at computer programming to be able to understand it.
+
+6. Application of This License. This License applies to code to which
+Licensor or Contributor has attached the Notice in Exhibit A, which is
+incorporated herein by this reference.
+
+7. Versions of This License.
+
+a. New Versions. Licensor may publish from time to time revised and/or
+new versions of the License.
+
+b. Effect of New Versions. Once Licensed Product has been published
+under a particular version of the License, you may always continue to
+use it under the terms of that version, provided that any such license
+be in full force and effect at the time, and has not been revoked or
+otherwise terminated. You may also choose to use such Licensed Product
+under the terms of any subsequent version (but not any prior version)
+of the License published by Licensor. No one other than Licensor has
+the right to modify the terms applicable to Licensed Product created
+under this License.
+
+c. Derivative Works of this License. If you create or use a modified
+version of this License, which you may do only in order to apply it to
+software that is not already a Licensed Product under this License,
+you must rename your license so that it is not confusingly similar to
+this License, and must make it clear that your license contains terms
+that differ from this License. In so naming your license, you may not
+use any trademark of Licensor or any Contributor.
+
+8. Disclaimer of Warranty. LICENSED PRODUCT IS PROVIDED UNDER THIS
+LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER
+EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE
+LICENSED PRODUCT IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A
+PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
+QUALITY AND PERFORMANCE OF THE LICENSED PRODUCT IS WITH YOU. SHOULD
+LICENSED PRODUCT PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE
+LICENSOR OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
+SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
+CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF LICENSED
+PRODUCT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. Termination.
+
+a. Automatic Termination Upon Breach. This license and the rights
+granted hereunder will terminate automatically if you fail to comply
+with the terms herein and fail to cure such breach within ten (10)
+days of being notified of the breach by the Licensor. For purposes of
+this provision, proof of delivery via email to the address listed in
+the ?WHOIS? database of the registrar for any website through which
+you distribute or market any Licensed Product, or to any alternate
+email address which you designate in writing to the Licensor, shall
+constitute sufficient notification. All sublicenses to the Licensed
+Product that are properly granted shall survive any termination of
+this license so long as they continue to complye with the terms of
+this License. Provisions that, by their nature, must remain in effect
+beyond the termination of this License, shall survive.
+
+b. Termination Upon Assertion of Patent Infringement. If you initiate
+litigation by asserting a patent infringement claim (excluding
+declaratory judgment actions) against Licensor or a Contributor
+(Licensor or Contributor against whom you file such an action is
+referred to herein as Respondent) alleging that Licensed Product
+directly or indirectly infringes any patent, then any and all rights
+granted by such Respondent to you under Sections 1 or 2 of this
+License shall terminate prospectively upon sixty (60) days notice from
+Respondent (the "Notice Period") unless within that Notice Period you
+either agree in writing (i) to pay Respondent a mutually agreeable
+reasonably royalty for your past or future use of Licensed Product
+made by such Respondent, or (ii) withdraw your litigation claim with
+respect to Licensed Product against such Respondent. If within said
+Notice Period a reasonable royalty and payment arrangement are not
+mutually agreed upon in writing by the parties or the litigation claim
+is not withdrawn, the rights granted by Licensor to you under Sections
+1 and 2 automatically terminate at the expiration of said Notice
+Period.
+
+c. Reasonable Value of This License. If you assert a patent
+infringement claim against Respondent alleging that Licensed Product
+directly or indirectly infringes any patent where such claim is
+resolved (such as by license or settlement) prior to the initiation of
+patent infringement litigation, then the reasonable value of the
+licenses granted by said Respondent under Sections 1 and 2 shall be
+taken into account in determining the amount or value of any payment
+or license.
+
+d. No Retroactive Effect of Termination. In the event of termination
+under Sections 9(a) or 9(b) above, all end user license agreements
+(excluding licenses to distributors and resellers) that have been
+validly granted by you or any distributor hereunder prior to
+termination shall survive termination.
+
+10. Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL
+THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE,
+SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED
+PRODUCT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY
+PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
+GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND
+ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
+BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+11. Responsibility for Claims. As between Licensor and Contributors,
+each party is responsible for claims and damages arising, directly or
+indirectly, out of its utilization of rights under this License. You
+agree to work with Licensor and Contributors to distribute such
+responsibility on an equitable basis. Nothing herein is intended or
+shall be deemed to constitute any admission of liability.
+
+12. U.S. Government End Users. The Licensed Product is a commercial
+item, as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
+consisting of commercial computer software and commercial computer
+software documentation, as such terms are used in 48 C.F.R. 12.212
+(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
+C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government
+End Users acquire Licensed Product with only those rights set forth
+herein.
+
+13. Miscellaneous. This License represents the complete agreement
+concerning the subject matter hereof. If any provision of this License
+is held to be unenforceable, such provision shall be reformed only to
+the extent necessary to make it enforceable. This License shall be
+governed by California law provisions (except to the extent applicable
+law, if any, provides otherwise), excluding its conflict-of-law
+provisions. You expressly agree that in any litigation relating to
+this license the losing party shall be responsible for costs
+including, without limitation, court costs and reasonable attorneys
+fees and expenses. The application of the United Nations Convention on
+Contracts for the International Sale of Goods is expressly
+excluded. Any law or regulation that provides that the language of a
+contract shall be construed against the drafter shall not apply to
+this License.
+
+14. Definition of You in This License. You throughout this License,
+whether in upper or lower case, means an individual or a legal entity
+exercising rights under, and complying with all of the terms of, this
+License or a future version of this License issued under Section
+7. For legal entities, you includes any entity that controls, is
+controlled by, is under common control with, or affiliated with,
+you. For purposes of this definition, control means (i) the power,
+direct or indirect, to cause the direction or management of such
+entity, whether by contract or otherwise, or (ii) ownership of fifty
+percent (50%) or more of the outstanding shares, or (iii) beneficial
+ownership of such entity. You are responsible for advising any
+affiliated entity of the terms of this License, and that any rights or
+privileges derived from or obtained by way of this License are subject
+to the restrictions outlined herein.
+
+15. Glossary. All defined terms in this License that are used in more
+than one Section of this License are repeated here, in alphabetical
+order, for the convenience of the reader. The Section of this License
+in which each defined term is first used is shown in parentheses.
+
+Contributor: Each person or entity who created or contributed to the
+creation of, and distributed, a Modification. (See Section 2)
+
+Derivative Works: That term as used in this License is defined under
+U.S. copyright law. (See Section 1(b))
+
+License: This BitTorrent Open Source License. (See first paragraph of License)
+
+Licensed Product: Any BitTorrent Product licensed pursuant to this
+License. The term "Licensed Product" includes all previous
+Modifications from any Contributor that you receive. (See first
+paragraph of License and Section 2)
+
+Licensor: BitTorrent, Inc. (See first paragraph of License)
+
+Modifications: Any additions to or deletions from the substance or
+structure of (i) a file containing Licensed Product, or (ii) any new
+file that contains any part of Licensed Product. (See Section 2)
+
+Notice: The notice contained in Exhibit A. (See Section 4(e))
+
+Source Code: The preferred form for making modifications to the
+Licensed Product, including all modules contained therein, plus any
+associated interface definition files, scripts used to control
+compilation and installation of an executable program, or a list of
+differential comparisons against the Source Code of the Licensed
+Product. (See Section 1(a))
+
+You: This term is defined in Section 14 of this License.
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any
+copy you distribute of the Licensed Product or any
+hereto. Contributors to any Modifications may add their own copyright
+notices to identify their own contributions.
+
+License:
+
+The contents of this file are subject to the BitTorrent Open Source
+License Version 1.0 (the License). You may not copy or use this file,
+in either source code or executable form, except in compliance with
+the License. You may obtain a copy of the License at
+http://www.bittorrent.com/license/.
+
+Software distributed under the License is distributed on an AS IS
+basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License.
+
+BitTorrent, Inc.
diff --git a/libre/python2-cssmin-fredj/PKGBUILD b/libre/python2-cssmin-fredj/PKGBUILD
index 0f155de89..ba21b8fc4 100644
--- a/libre/python2-cssmin-fredj/PKGBUILD
+++ b/libre/python2-cssmin-fredj/PKGBUILD
@@ -4,14 +4,13 @@ _pkgname=python2-cssmin
pkgname=python2-cssmin-fredj
pkgver=0.1.4.git4 # 0.1.4.git<number of commits after 0.1.4>
_gitver='commit=3422b9962c5a6c2adb9597f418131d73e991c9b6'
-pkgdesc="Provides a country field for Django models"
-license=('custom:MIT')
-url="http://bitbucket.org/smileychris/django-countries/"
-
+pkgdesc="A Python port of the YUI CSS compression algorithm"
+license=('custom:MIT' 'custom:BSD3')
+url="https://github.com/fredj/cssmin"
provides=("$_pkgname=$pkgver")
conflicts=("$_pkgname")
-pkgrel=1
+pkgrel=2
arch=(any)
makedepends=('python2-distribute')
diff --git a/libre/python2-jsmin/PKGBUILD b/libre/python2-jsmin/PKGBUILD
new file mode 100644
index 000000000..5c7646ec2
--- /dev/null
+++ b/libre/python2-jsmin/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=jsmin
+pkgname=python2-jsmin
+pkgver=2.0.3
+pkgdesc="JavaScript minifier"
+url="https://bitbucket.org/dcs/jsmin"
+license=('MIT')
+
+pkgrel=1
+arch=('any')
+depends=('python2')
+makedepends=('python2-distribute')
+source=(http://pypi.python.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz)
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ sed -rn 's/^#\s?//p' jsmin/__init__.py > license.txt
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 license.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums=('6bdce452c7508d9bd11b133e965fb64e')
diff --git a/libre/tomoyo-tools-libre/PKGBUILD b/libre/tomoyo-tools-libre/PKGBUILD
new file mode 100644
index 000000000..02a181b55
--- /dev/null
+++ b/libre/tomoyo-tools-libre/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 92638 2013-06-10 09:53:54Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jamie Nguyen <jamie AT tomoyolinux.co.uk>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=tomoyo-tools
+pkgname=tomoyo-tools-libre
+_basever=2.5.0
+_timestamp=20130406
+_file=53357
+pkgver=${_basever}.${_timestamp}
+pkgrel=1
+pkgdesc='TOMOYO Linux userspace tools for Linux kernels >=3.2 (built for the linux-libre kernel package)'
+arch=('i686' 'x86_64' 'mips64el')
+url='http://tomoyo.sourceforge.jp'
+#url='http://sourceforge.jp/projects/tomoyo/releases/?package_id=9818'
+license=('GPL')
+depends=('ncurses' 'linux-libre>=3.2')
+replaces=${_pkgname}
+conflicts=${_pkgname}
+provides=${_pkgname}=${pkgver}
+install=tomoyo-tools.install
+source=("http://sourceforge.jp/frs/redir.php?f=/tomoyo/${_file}/${_pkgname}-${_basever}-${_timestamp}.tar.gz")
+md5sums=('8888f83fcb87823d714ff551e8680d0d')
+
+prepare() {
+ cd "${srcdir}/${_pkgname}"
+ sed -i \
+ -e 's|usr/sbin|usr/bin|g' \
+ -e 's|sbin|usr/bin|g' \
+ usr_lib_tomoyo/init_policy.c
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}"
+ make USRSBINDIR=/usr/bin SBINDIR=/usr/bin
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}"
+ make USRSBINDIR=/usr/bin SBINDIR=/usr/bin INSTALLDIR="${pkgdir}" install
+}
diff --git a/libre/tomoyo-tools-libre/tomoyo-tools.install b/libre/tomoyo-tools-libre/tomoyo-tools.install
new file mode 100644
index 000000000..c23df1212
--- /dev/null
+++ b/libre/tomoyo-tools-libre/tomoyo-tools.install
@@ -0,0 +1,11 @@
+post_install () {
+ echo
+ echo " * To enable TOMOYO Linux, append 'security=tomoyo TOMOYO_trigger=/usr/bin/init' to the kernel"
+ echo " boot options and initialize policy with this command:"
+ echo " /usr/lib/tomoyo/init_policy"
+ echo
+}
+
+post_upgrade () {
+ post_install $1
+}
diff --git a/libre/tp_smapi-libre/PKGBUILD b/libre/tp_smapi-libre/PKGBUILD
index be76b876e..d1f32979d 100644
--- a/libre/tp_smapi-libre/PKGBUILD
+++ b/libre/tp_smapi-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 92980 2013-06-21 09:45:26Z tpowa $
+# $Id: PKGBUILD 93220 2013-06-28 18:55:23Z foutrelis $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: xduugu
# Contributor: nh2
@@ -12,7 +12,7 @@
_pkgname=tp_smapi
pkgname=tp_smapi-libre
pkgver=0.41
-pkgrel=24
+pkgrel=25
pkgdesc="Modules for ThinkPad's SMAPI functionality (built for the linux-libre kernel package)"
arch=('i686' 'x86_64' 'mips64el')
url='https://github.com/evgeni/tp_smapi'
diff --git a/libre/vhba-module-libre/PKGBUILD b/libre/vhba-module-libre/PKGBUILD
index 780c957b8..caa3016d1 100644
--- a/libre/vhba-module-libre/PKGBUILD
+++ b/libre/vhba-module-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 92982 2013-06-21 09:46:01Z tpowa $
+# $Id: PKGBUILD 93222 2013-06-28 18:56:50Z foutrelis $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Mateusz Herych <heniekk@gmail.com>
# Contributor: Charles Lindsay <charles@chaoslizard.org>
@@ -8,7 +8,7 @@ _pkgname=vhba-module
pkgname=vhba-module-libre
pkgver=20130607
_extramodules=extramodules-3.9-LIBRE
-pkgrel=3
+pkgrel=4
pkgdesc="Kernel module that emulates SCSI devices (built for the linux-libre kernel package)"
arch=('i686' 'x86_64' 'mips64el')
url="http://cdemu.sourceforge.net/"
diff --git a/libre/virtualbox-libre-modules/PKGBUILD b/libre/virtualbox-libre-modules/PKGBUILD
index c6d47275d..5e11fd6df 100644
--- a/libre/virtualbox-libre-modules/PKGBUILD
+++ b/libre/virtualbox-libre-modules/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 93048 2013-06-23 10:27:06Z bpiotrowski $
+# $Id: PKGBUILD 93205 2013-06-28 17:53:08Z foutrelis $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
-# Maintainer: Sébastien Luttringer <seblu@archlinux.org>
+# Maintainer: Sébastien Luttringer
# Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgbase=virtualbox-libre-modules
pkgname=('virtualbox-libre-host-modules' 'virtualbox-libre-guest-modules')
pkgver=4.2.14
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')
@@ -19,6 +19,9 @@ makedepends=('linux-libre'
'sed'
'bc')
+# remember to also adjust the .install files and the package deps below
+_extramodules=extramodules-3.9-LIBRE
+
build() {
_kernmaj=$(expac -Q '%v' linux-libre|sed -r 's/([[:digit:]]+\.[[:digit:]]+).*/\1/')
_kernver=$(< /usr/lib/modules/extramodules-$_kernmaj-LIBRE/version)
diff --git a/libre/xarchiver-libre/PKGBUILD b/libre/xarchiver-libre/PKGBUILD
index 5241ea5e8..0d3f55edc 100644
--- a/libre/xarchiver-libre/PKGBUILD
+++ b/libre/xarchiver-libre/PKGBUILD
@@ -5,7 +5,7 @@
_pkgname=xarchiver
pkgname=xarchiver-libre
pkgver=0.5.2
-pkgrel=5
+pkgrel=5.1
pkgdesc="GTK+ frontend to various command line archivers"
arch=('i686' 'x86_64' 'mips64el')
url="http://xarchiver.sourceforge.net"
@@ -21,7 +21,7 @@ optdepends=('tar: TAR support'
'bzip2: BZIP2 support'
'zip: ZIP support'
'unzip: ZIP support'
- 'ununrar: RAR support'
+ 'unar: RAR support'
'p7zip: 7z support'
'arj: ARJ support'
'lha: LHA support'
diff --git a/libre/xbmc-libre/ChangeLog b/libre/xbmc-libre/ChangeLog
new file mode 100644
index 000000000..66ae97e3b
--- /dev/null
+++ b/libre/xbmc-libre/ChangeLog
@@ -0,0 +1,69 @@
+2010-04-10 BlackEagle <ike DOT devolder AT gmail DOT com>
+ * 9.11-15 :
+ Made it back compliant with FHS ( thx pierre for pointing that out )
+ namcap checked and modified to fit its needs as far as it was possible
+
+2009-03-07 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-10 :
+ Try and fix some autoconf issues (thanks Gentoo ebuild).
+
+2009-02-08 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-9 :
+ Replace some libtool 'ltmain.sh' scripts with the one from libtool
+ installed with Arch.
+ Make sure XBMCTex isn't linked to OpenGL libraries or it will segfault
+ on systems using the nvidia driver.
+
+2009-01-30 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-8 :
+ Fix some include's so that gcc 4.3.x is happy, shouldn't complain about
+ undefined '::realloc' anymore.
+ Remove Mac OS X specific files.
+
+2009-01-25 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-7 :
+ Moved libcdio, pmount, smbclient and unrar to optdepends.
+ Removed unneeded dependency on sdl_gfx.
+ Removed dependency on libpng as sdl_image depends on it.
+
+2008-12-14 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-6 :
+ Added libpng to dependency list.
+ Added gawk to dependency list.
+ Removed '--disable-mms' and '--enable-halmount' configure flags as they
+ are not mentioned as supported in the configure script.
+
+2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-5 :
+ Added libmad to the dependency list.
+ Streamripper 1.64.0+ does not include tre anymore, removed streamripper
+ and added tre instead.
+ Removed subversion from makedepends.
+
+2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-4 :
+ Fix permissions for some more scripts, ffmpeg/texi2doc.pl should not
+ fail any longer.
+
+2008-12-05 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-3 :
+ Added lirc to the optdepends array.
+
+2008-11-26 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-2 :
+ Added install file which informs users that a display depth of at
+ least 24-bit is required.
+
+2008-11-17 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-1 :
+ Initial package, based on previous work by Zeqadious.
diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD
new file mode 100644
index 000000000..37fae91a9
--- /dev/null
+++ b/libre/xbmc-libre/PKGBUILD
@@ -0,0 +1,116 @@
+# $Id: PKGBUILD 92439 2013-06-05 11:42:01Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
+# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
+# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
+
+_prefix=/usr
+
+_pkgname=xbmc
+pkgname=xbmc-libre
+pkgver=12.2
+pkgrel=4.1
+pkgdesc="A software media player and entertainment hub for digital media, with libarchive recommendation"
+arch=('i686' 'x86_64')
+url="http://xbmc.org"
+license=('GPL' 'custom')
+depends=('libpulse' 'hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva'
+ 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate'
+ 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2'
+ 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos'
+ 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu'
+ 'tinyxml' 'taglib')
+makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec'
+ 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment')
+optdepends=('libcec: support for Pulse-Eight USB-CEC adapter'
+ 'pulseaudio: pulseaudio support'
+ 'lirc: remote controller support'
+ 'udisks: automount external drives'
+ 'upower: used to trigger suspend functionality'
+ 'libarchive: access compressed files without unpacking them'
+ 'xorg-xinit: autostart xbmc')
+install="${_pkgname}.install"
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+source=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz"
+ "xbmc.service")
+md5sums=('489f3877decae4e265ece54f9eaef0ba'
+ '76fae229ebc3bcfaab7e7f27e4fb51f5')
+
+build() {
+ cd "${srcdir}/xbmc-$pkgver"
+
+ # fix lsb_release dependency
+ sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp
+ sed -i -e 's:#include <libsmbclient.h>:#include <samba-4.0/libsmbclient.h>:' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp
+
+ # Bootstrapping XBMC
+ ./bootstrap
+
+ # Configuring XBMC
+ export PYTHON_VERSION=2 # external python v2
+ ./configure --prefix=$_prefix --exec-prefix=$_prefix \
+ --disable-debug \
+ --enable-optimizations \
+ --enable-gl \
+ --enable-sdl \
+ --enable-vaapi \
+ --enable-vdpau \
+ --enable-xvba \
+ --enable-joystick \
+ --enable-xrandr \
+ --enable-rsxs \
+ --enable-projectm \
+ --enable-x11 \
+ --enable-pulse \
+ --enable-rtmp \
+ --enable-samba \
+ --enable-nfs \
+ --enable-afpclient \
+ --enable-airplay \
+ --enable-airtunes \
+ --enable-ffmpeg-libvorbis \
+ --enable-dvdcss \
+ --disable-hal \
+ --enable-avahi \
+ --enable-webserver \
+ --enable-optical-drive \
+ --enable-libbluray \
+ --enable-texturepacker \
+ --enable-udev \
+ --enable-libusb \
+ --enable-libcec \
+ --enable-external-libraries \
+ --disable-external-ffmpeg
+ # Now (finally) build
+ make
+}
+
+package() {
+ cd "${srcdir}/xbmc-$pkgver"
+ # Running make install
+ make DESTDIR="${pkgdir}" install
+
+ # run feh with python2
+ sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc
+
+ # lsb_release fix
+ sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc"
+ sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc"
+
+ # Tools
+ install -D -m 0755 "${srcdir}/xbmc-$pkgver/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
+ install -D -m 0755 "${srcdir}/xbmc-$pkgver/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"
+
+ # Licenses
+ install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${_pkgname}"
+ for licensef in LICENSE.GPL copying.txt; do
+ mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${_pkgname}"
+ done
+
+ # systemd stuff
+ install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service
+}
+# vim:set ts=2 sw=2 et:
diff --git a/libre/xbmc-libre/xbmc.install b/libre/xbmc-libre/xbmc.install
new file mode 100644
index 000000000..b104b33e8
--- /dev/null
+++ b/libre/xbmc-libre/xbmc.install
@@ -0,0 +1,16 @@
+post_install() {
+ [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
+ [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications
+ 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
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+ echo "You may want to remove xbmc user and group"
+}
diff --git a/libre/xbmc-libre/xbmc.service b/libre/xbmc-libre/xbmc.service
new file mode 100644
index 000000000..431582f1b
--- /dev/null
+++ b/libre/xbmc-libre/xbmc.service
@@ -0,0 +1,13 @@
+[Unit]
+Description = Starts instance of XBMC using xinit
+After = remote-fs.target
+
+[Service]
+User = xbmc
+Group = xbmc
+Type = simple
+ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -- :0 -nolisten tcp
+Restart = always
+
+[Install]
+WantedBy = multi-user.target
diff --git a/libre/xtensa-unknown-elf-binutils/PKGBUILD b/libre/xtensa-unknown-elf-binutils/PKGBUILD
new file mode 100644
index 000000000..deb8d4b0e
--- /dev/null
+++ b/libre/xtensa-unknown-elf-binutils/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 182407 2013-04-10 07:34:20Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=binutils
+_target="xtensa-unknown-elf"
+
+pkgname=${_target}-binutils
+pkgver=2.23.2
+pkgrel=2.4
+pkgdesc="A set of programs to assemble and manipulate binary and object files for the Xtensa architecture"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.gnu.org/software/binutils/"
+license=('GPL')
+groups=("${_target}-base-devel")
+depends=('glibc>=2.17' 'zlib')
+options=('!libtool' '!distcc' '!ccache')
+install=${_target}-binutils.install
+source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2{,.sig}
+ binutils-2.23.2-texinfo-5.0.patch)
+md5sums=('4f8fa651e35ef262edc01d60fb45702e'
+ 'dfde4428f08d91f309cdcfe92bf28d08'
+ '34e439ce23213a91e2af872dfbb5094c')
+
+prepare() {
+ cd ${srcdir}/binutils-${pkgver}
+
+ # http://sourceware.org/git/?p=binutils.git;a=patch;h=e02bf935
+ # http://sourceware.org/git/?p=binutils.git;a=patch;h=935f8542
+ patch -p1 -i ${srcdir}/binutils-2.23.2-texinfo-5.0.patch
+
+ # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+
+ mkdir ${srcdir}/binutils-build
+}
+
+build() {
+ cd ${srcdir}/binutils-build
+
+ ${srcdir}/binutils-${pkgver}/configure --prefix=/usr \
+ --target=${_target} \
+ --disable-nls \
+ --with-lib-path=/usr/lib:/usr/local/lib \
+ --with-bugurl=https://labs.parabola.nu/ \
+ --enable-shared \
+ --disable-werror --disable-multilib
+
+ # check the host environment and makes sure all the necessary tools are available
+ make configure-host
+
+ make tooldir=/usr
+}
+
+package() {
+ cd ${srcdir}/binutils-build
+ make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+
+ # Remove unwanted files
+ rm ${pkgdir}/usr/share/man/man1/${_target}-{dlltool,nlmconv,windres,windmc}*
+
+ # Remove unnecessary files and folders
+ rm $pkgdir/usr/bin/{a{r,s},nm,obj{copy,dump},ranlib,strip}
+ rm $pkgdir/usr/lib/libiberty.a
+ rm $pkgdir/usr/$CHOST/${_target}/include/* && rmdir $pkgdir/usr/$CHOST/${_target}/include
+ rm $pkgdir/usr/share/info/* && rmdir $pkgdir/usr/share/info
+}
diff --git a/libre/xtensa-unknown-elf-binutils/binutils-2.23.2-texinfo-5.0.patch b/libre/xtensa-unknown-elf-binutils/binutils-2.23.2-texinfo-5.0.patch
new file mode 100644
index 000000000..38dc19fb0
--- /dev/null
+++ b/libre/xtensa-unknown-elf-binutils/binutils-2.23.2-texinfo-5.0.patch
@@ -0,0 +1,162 @@
+diff --git a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo
+index 45ffa73..3aa3300 100644
+--- a/bfd/doc/bfd.texinfo
++++ b/bfd/doc/bfd.texinfo
+@@ -322,7 +324,7 @@ All of BFD lives in one directory.
+ @printindex cp
+
+ @tex
+-% I think something like @colophon should be in texinfo. In the
++% I think something like @@colophon should be in texinfo. In the
+ % meantime:
+ \long\def\colophon{\hbox to0pt{}\vfill
+ \centerline{The body of this manual is set in}
+@@ -333,7 +335,7 @@ All of BFD lives in one directory.
+ \centerline{{\sl\fontname\tensl\/}}
+ \centerline{are used for emphasis.}\vfill}
+ \page\colophon
+-% Blame: doc@cygnus.com, 28mar91.
++% Blame: doc@@cygnus.com, 28mar91.
+ @end tex
+
+ @bye
+diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
+index 56a0510..fb1802b 100644
+--- a/binutils/doc/binutils.texi
++++ b/binutils/doc/binutils.texi
+@@ -148,18 +148,18 @@ in the section entitled ``GNU Free Documentation License''.
+ * objcopy:: Copy and translate object files
+ * objdump:: Display information from object files
+ * ranlib:: Generate index to archive contents
+-* readelf:: Display the contents of ELF format files
+ * size:: List section sizes and total size
+ * strings:: List printable strings from files
+ * strip:: Discard symbols
+-* elfedit:: Update the ELF header of ELF files
+ * c++filt:: Filter to demangle encoded C++ symbols
+ * cxxfilt: c++filt. MS-DOS name for c++filt
+ * addr2line:: Convert addresses to file and line
+ * nlmconv:: Converts object code into an NLM
+-* windres:: Manipulate Windows resources
+ * windmc:: Generator for Windows message resources
++* windres:: Manipulate Windows resources
+ * dlltool:: Create files needed to build and use DLLs
++* readelf:: Display the contents of ELF format files
++* elfedit:: Update the ELF header of ELF files
+ * Common Options:: Command-line options for all utilities
+ * Selecting the Target System:: How these utilities determine the target
+ * Reporting Bugs:: Reporting Bugs
+@@ -2907,7 +2907,7 @@ the Info entries for @file{binutils}.
+ @c man end
+ @end ignore
+
+-@node c++filt, addr2line, elfedit, Top
++@node c++filt, addr2line, strip, Top
+ @chapter c++filt
+
+ @kindex c++filt
+@@ -4384,7 +4384,7 @@ equivalent. At least one of the @option{--output-mach},
+
+ @table @env
+
+-@itemx --input-mach=@var{machine}
++@item --input-mach=@var{machine}
+ Set the matching input ELF machine type to @var{machine}. If
+ @option{--input-mach} isn't specified, it will match any ELF
+ machine types.
+@@ -4392,21 +4392,21 @@ machine types.
+ The supported ELF machine types are, @var{L1OM}, @var{K1OM} and
+ @var{x86-64}.
+
+-@itemx --output-mach=@var{machine}
++@item --output-mach=@var{machine}
+ Change the ELF machine type in the ELF header to @var{machine}. The
+ supported ELF machine types are the same as @option{--input-mach}.
+
+-@itemx --input-type=@var{type}
++@item --input-type=@var{type}
+ Set the matching input ELF file type to @var{type}. If
+ @option{--input-type} isn't specified, it will match any ELF file types.
+
+ The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}.
+
+-@itemx --output-type=@var{type}
++@item --output-type=@var{type}
+ Change the ELF file type in the ELF header to @var{type}. The
+ supported ELF types are the same as @option{--input-type}.
+
+-@itemx --input-osabi=@var{osabi}
++@item --input-osabi=@var{osabi}
+ Set the matching input ELF file OSABI to @var{osabi}. If
+ @option{--input-osabi} isn't specified, it will match any ELF OSABIs.
+
+@@ -4416,7 +4416,7 @@ The supported ELF OSABIs are, @var{none}, @var{HPUX}, @var{NetBSD},
+ @var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS},
+ @var{NSK}, @var{AROS} and @var{FenixOS}.
+
+-@itemx --output-osabi=@var{osabi}
++@item --output-osabi=@var{osabi}
+ Change the ELF OSABI in the ELF header to @var{osabi}. The
+ supported ELF OSABI are the same as @option{--input-osabi}.
+
+diff --git a/ld/ld.texinfo b/ld/ld.texinfo
+index c7ae2a5..4777ad5 100644
+--- a/ld/ld.texinfo
++++ b/ld/ld.texinfo
+@@ -142,12 +144,12 @@ in the section entitled ``GNU Free Documentation License''.
+ @ifset ARM
+ * ARM:: ld and the ARM family
+ @end ifset
+-@ifset HPPA
+-* HPPA ELF32:: ld and HPPA 32-bit ELF
+-@end ifset
+ @ifset M68HC11
+ * M68HC11/68HC12:: ld and the Motorola 68HC11 and 68HC12 families
+ @end ifset
++@ifset HPPA
++* HPPA ELF32:: ld and HPPA 32-bit ELF
++@end ifset
+ @ifset M68K
+ * M68K:: ld and Motorola 68K family
+ @end ifset
+@@ -6012,6 +6014,9 @@ functionality are not listed.
+ @ifset I960
+ * i960:: @command{ld} and the Intel 960 family
+ @end ifset
++@ifset M68HC11
++* M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families
++@end ifset
+ @ifset ARM
+ * ARM:: @command{ld} and the ARM family
+ @end ifset
+@@ -6027,9 +6032,6 @@ functionality are not listed.
+ @ifset MSP430
+ * MSP430:: @command{ld} and MSP430
+ @end ifset
+-@ifset M68HC11
+-* M68HC11/68HC12:: @code{ld} and the Motorola 68HC11 and 68HC12 families
+-@end ifset
+ @ifset POWERPC
+ * PowerPC ELF32:: @command{ld} and PowerPC 32-bit ELF Support
+ @end ifset
+@@ -7877,7 +7879,7 @@ If you have more than one @code{SECT} statement for the same
+ @printindex cp
+
+ @tex
+-% I think something like @colophon should be in texinfo. In the
++% I think something like @@colophon should be in texinfo. In the
+ % meantime:
+ \long\def\colophon{\hbox to0pt{}\vfill
+ \centerline{The body of this manual is set in}
+@@ -7888,7 +7890,7 @@ If you have more than one @code{SECT} statement for the same
+ \centerline{{\sl\fontname\tensl\/}}
+ \centerline{are used for emphasis.}\vfill}
+ \page\colophon
+-% Blame: doc@cygnus.com, 28mar91.
++% Blame: doc@@cygnus.com, 28mar91.
+ @end tex
+
+ @bye
+--
+1.7.1
+
diff --git a/libre/xtensa-unknown-elf-binutils/xtensa-unknown-elf-binutils.install b/libre/xtensa-unknown-elf-binutils/xtensa-unknown-elf-binutils.install
new file mode 100644
index 000000000..9de0533ee
--- /dev/null
+++ b/libre/xtensa-unknown-elf-binutils/xtensa-unknown-elf-binutils.install
@@ -0,0 +1,17 @@
+infodir=usr/share/info
+filelist=(as.info bfd.info binutils.info gprof.info ld.info)
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
diff --git a/libre/xtensa-unknown-elf-gcc/PKGBUILD b/libre/xtensa-unknown-elf-gcc/PKGBUILD
new file mode 100644
index 000000000..797f67f9e
--- /dev/null
+++ b/libre/xtensa-unknown-elf-gcc/PKGBUILD
@@ -0,0 +1,136 @@
+# $Id: PKGBUILD 186915 2013-05-31 23:25:14Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=gcc
+_target="xtensa-unknown-elf"
+_sysroot="/usr/$CHOST/${_target}"
+
+pkgname=${_target}-gcc
+pkgver=4.8.1
+pkgrel=1
+pkgdesc="The GNU Compiler Collection for Xtensa processors"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=("binutils>=2.23" 'libmpc' 'cloog' 'gcc-ada' 'doxygen')
+checkdepends=('dejagnu' 'inetutils')
+options=('!libtool' '!emptydirs')
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2)
+md5sums=('3b2386c114cd74185aa3754b58a79304')
+
+_basedir=gcc-${pkgver}
+
+prepare() {
+ cd ${srcdir}/${_basedir}
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ # Parabola installs x86_64 libraries /lib
+ [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ mkdir ${srcdir}/gcc-build
+}
+
+build() {
+ cd ${srcdir}/gcc-build
+
+ ${srcdir}/${_basedir}/configure --prefix=/home/marcio/src/xtensa-elf/tools \
+ --target=${_target} \
+ --disable-multilib \
+ --disable-nls \
+ --disable-shared \
+ --disable-threads \
+ --enable-languages=c \
+ --disable-libquadmath \
+ --disable-libssp \
+ --with-newlib
+# --disable-werror \
+# --libdir=/usr/lib --libexecdir=/usr/lib \
+# --mandir=/usr/share/man --infodir=/usr/share/info \
+# --with-bugurl=https://labs.parabola.nu/ \
+# --disable-shared --enable-threads=posix \
+# --with-system-zlib --enable-__cxa_atexit \
+# --disable-libunwind-exceptions --enable-clocale=gnu \
+# --disable-libstdcxx-pch \
+# --enable-gnu-unique-object --enable-linker-build-id \
+# --enable-cloog-backend=isl --disable-cloog-version-check \
+# --enable-lto --enable-gold --enable-ld=default \
+# --enable-plugin --with-plugin-ld=ld.gold \
+# --with-linker-hash-style=gnu --disable-install-libiberty \
+# --enable-checking=release \
+ make all-gcc
+
+ # make documentation
+ cd ${_target}/libstdc++-v3
+ make doc-man-doxygen
+}
+
+package()
+{
+ pkgdesc="The GNU Compiler Collection"
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.23' 'libmpc' 'cloog')
+ groups=("${_target}-devel")
+ install=${_target}-gcc.install
+
+ cd ${srcdir}/gcc-build
+
+ make -j1 DESTDIR=${pkgdir} install-gcc
+
+ install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
+ mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.18-gdb.py
+
+ # unfortunately it is much, much easier to install the lot and clean-up the mess...
+ rm $pkgdir/usr/bin/{{${_target}-,}gfortran,{${_target}-,}gccgo,gnat*}
+ rm $pkgdir/usr/lib/*.so*
+ rm $pkgdir/usr/lib/lib{atomic,gfortran,go{,begin},iberty,objc}.a
+ rm $pkgdir/usr/lib/libgfortran.spec
+ rm -r $pkgdir/usr/lib/gcc/${_target}-/${pkgver}/{ada{include,lib},finclude,include/objc}
+ rm $pkgdir/usr/lib/gcc/${_target}-/${pkgver}/{cc1obj{,plus},f951,gnat1,go1}
+ rm $pkgdir/usr/lib/gcc/${_target}-/${pkgver}/{libcaf_single,libgfortranbegin}.a
+ rm -r $pkgdir/usr/lib/go
+ rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
+
+ # many packages expect this symlinks
+ ln -s ${_target}-gcc ${pkgdir}/usr/bin/${_target}-cc
+
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/${_target}-c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec ${_target}-gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/${_target}-c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec ${_target}-gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/${_target}-c{8,9}9
+
+
+ # Install Runtime Library Exception
+ install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/${_target}/RUNTIME.LIBRARY.EXCEPTION
+}
diff --git a/libre/xtensa-unknown-elf-gcc/xtensa-unknown-elf-gcc.install b/libre/xtensa-unknown-elf-gcc/xtensa-unknown-elf-gcc.install
new file mode 100644
index 000000000..3407a5e1f
--- /dev/null
+++ b/libre/xtensa-unknown-elf-gcc/xtensa-unknown-elf-gcc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/libre/xtensa-unknown-elf-glibc/PKGBUILD b/libre/xtensa-unknown-elf-glibc/PKGBUILD
new file mode 100644
index 000000000..0a459b10b
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/PKGBUILD
@@ -0,0 +1,155 @@
+# $Id: PKGBUILD 186623 2013-05-30 07:47:03Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: valgrind requires rebuilt with each major glibc version
+
+_pkgname=glibc
+_target="xtensa-unknown-elf"
+_sysroot="usr/$CHOST/${_target}"
+
+pkgname=${_target}-glibc
+pkgver=2.17
+pkgrel=6
+pkgdesc="GNU C Library for Xtensa processors"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libc"
+license=('GPL' 'LGPL')
+groups=('base')
+depends=("${_target}-linux-api-headers>=3.7" 'tzdata' 'filesystem>=2013.01')
+makedepends=('gcc>=4.7')
+backup=(etc/gai.conf
+ etc/locale.gen
+ etc/nscd.conf)
+options=('!strip')
+install=${_target}-glibc.install
+source=(http://ftp.gnu.org/gnu/libc/${_pkgname}-${pkgver}.tar.xz{,.sig}
+ glibc-2.17-sync-with-linux37.patch
+ glibc-2.17-getaddrinfo-stack-overflow.patch
+ glibc-2.17-regexp-matcher-overrun.patch
+ nscd.service
+ nscd.tmpfiles
+ locale.gen.txt
+ locale-gen)
+md5sums=('87bf675c8ee523ebda4803e8e1cec638'
+ 'SKIP'
+ 'fb99380d94598cc76d793deebf630022'
+ '56d5f2c09503a348281a20ae404b7de3'
+ '200acc05961b084ee00dde919e64f82d'
+ 'c1e07c0bec0fe89791bfd9d13fc85edf'
+ 'bccbe5619e75cf1d97312ec3681c605c'
+ '07ac979b6ab5eeb778d55f041529d623'
+ '476e9113489f93b348b21e144b6a8fcf')
+
+
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ # combination of upstream commits 318cd0b, b540704 and fc1abbe
+ patch -p1 -i ${srcdir}/glibc-2.17-sync-with-linux37.patch
+
+ # CVE-2013-1914 - upstream commit 1cef1b19
+ patch -p1 -i ${srcdir}/glibc-2.17-getaddrinfo-stack-overflow.patch
+
+ # CVE-2013-0242 - upstream commit a445af0b
+ patch -p1 -i ${srcdir}/glibc-2.17-regexp-matcher-overrun.patch
+
+ cd ${srcdir}
+ mkdir glibc-build
+ cd glibc-build
+
+ if [[ ${CARCH} = "i686" ]]; then
+ # Hack to fix NPTL issues with Xen, only required on 32bit platforms
+ # TODO: make separate glibc-xen package for i686
+ export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
+ fi
+
+ echo "slibdir=/usr/lib" >> configparms
+ echo "sbindir=/usr/bin" >> configparms
+ echo "rootsbindir=/usr/bin" >> configparms
+
+ # remove hardening options for building libraries
+ CFLAGS=${CFLAGS/-fstack-protector/}
+ CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
+
+ ${srcdir}/${_pkgname}-${pkgver}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --build=$CHOST --host=$_target \
+ --with-headers=/${_sysroot}/include \
+ --with-bugurl=https://labs.parabola.nu/ \
+ --enable-add-ons=nptl,libidn \
+ --enable-obsolete-rpc \
+ --enable-kernel=2.6.32 \
+ --enable-bind-now --disable-profile \
+ --enable-stackguard-randomization \
+ --enable-multi-arch
+
+ # build libraries with hardening disabled
+ echo "build-programs=no" >> configparms
+ make
+
+ # re-enable hardening for programs
+ sed -i "/build-programs=/s#no#yes#" configparms
+ echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
+ echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms
+ make
+
+ # remove harding in preparation to run test-suite
+ sed -i '4,6d' configparms
+}
+
+check() {
+ # bug to file - the linker commands need to be reordered
+ LDFLAGS=${LDFLAGS/--as-needed,/}
+
+ cd ${srcdir}/glibc-build
+ make check
+}
+
+package() {
+ cd ${srcdir}/glibc-build
+
+ install -dm755 ${pkgdir}/etc
+ touch ${pkgdir}/etc/ld.so.conf
+
+ make install_root=${pkgdir} install
+
+ rm -f ${pkgdir}/etc/ld.so.{cache,conf}
+
+ install -dm755 ${pkgdir}/usr/lib/{locale,systemd/system,tmpfiles.d}
+
+ install -m644 ${srcdir}/${_pkgname}-${pkgver}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
+ install -m644 ${srcdir}/nscd.service ${pkgdir}/usr/lib/systemd/system
+ install -m644 ${srcdir}/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf
+
+ install -m644 ${srcdir}/${_pkgname}-${pkgver}/posix/gai.conf ${pkgdir}/etc/gai.conf
+
+ install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/bin
+
+ # create /etc/locale.gen
+ install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
+ sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \
+ ${srcdir}/glibc-${pkgver}/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
+
+ # Do not strip the following files for improved debugging support
+ # ("improved" as in not breaking gdb and valgrind...):
+ # ld-${pkgver}.so
+ # libc-${pkgver}.so
+ # libpthread-${pkgver}.so
+ # libthread_db-1.0.so
+
+ cd $pkgdir
+ strip $STRIP_BINARIES usr/bin/{gencat,getconf,getent,iconv,iconvconfig} \
+ usr/bin/{ldconfig,locale,localedef,nscd,makedb} \
+ usr/bin/{pcprofiledump,pldd,rpcgen,sln,sprof} \
+ usr/lib/getconf/*
+ [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4
+
+ strip $STRIP_STATIC usr/lib/*.a
+
+ strip $STRIP_SHARED usr/lib/{libanl,libBrokenLocale,libcidn,libcrypt}-*.so \
+ usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
+ usr/lib/{libdl,libm,libnsl,libresolv,librt,libutil}-*.so \
+ usr/lib/{libmemusage,libpcprofile,libSegFault}.so \
+ usr/lib/{pt_chown,{audit,gconv}/*.so}
+}
diff --git a/libre/xtensa-unknown-elf-glibc/glibc-2.17-getaddrinfo-stack-overflow.patch b/libre/xtensa-unknown-elf-glibc/glibc-2.17-getaddrinfo-stack-overflow.patch
new file mode 100644
index 000000000..aa916ac2c
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/glibc-2.17-getaddrinfo-stack-overflow.patch
@@ -0,0 +1,47 @@
+diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+index d95c2d1..2309281 100644
+--- a/sysdeps/posix/getaddrinfo.c
++++ b/sysdeps/posix/getaddrinfo.c
+@@ -2489,11 +2489,27 @@ getaddrinfo (const char *name, const char *service,
+ __typeof (once) old_once = once;
+ __libc_once (once, gaiconf_init);
+ /* Sort results according to RFC 3484. */
+- struct sort_result results[nresults];
+- size_t order[nresults];
++ struct sort_result *results;
++ size_t *order;
+ struct addrinfo *q;
+ struct addrinfo *last = NULL;
+ char *canonname = NULL;
++ bool malloc_results;
++
++ malloc_results
++ = !__libc_use_alloca (nresults * (sizeof (*results) + sizeof (size_t)));
++ if (malloc_results)
++ {
++ results = malloc (nresults * (sizeof (*results) + sizeof (size_t)));
++ if (results == NULL)
++ {
++ __free_in6ai (in6ai);
++ return EAI_MEMORY;
++ }
++ }
++ else
++ results = alloca (nresults * (sizeof (*results) + sizeof (size_t)));
++ order = (size_t *) (results + nresults);
+
+ /* Now we definitely need the interface information. */
+ if (! check_pf_called)
+@@ -2664,6 +2680,9 @@ getaddrinfo (const char *name, const char *service,
+
+ /* Fill in the canonical name into the new first entry. */
+ p->ai_canonname = canonname;
++
++ if (malloc_results)
++ free (results);
+ }
+
+ __free_in6ai (in6ai);
+--
+1.7.1
+
diff --git a/libre/xtensa-unknown-elf-glibc/glibc-2.17-regexp-matcher-overrun.patch b/libre/xtensa-unknown-elf-glibc/glibc-2.17-regexp-matcher-overrun.patch
new file mode 100644
index 000000000..b108f9d42
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/glibc-2.17-regexp-matcher-overrun.patch
@@ -0,0 +1,137 @@
+diff --git a/posix/Makefile b/posix/Makefile
+index 88d409f..2cacd21 100644
+--- a/posix/Makefile
++++ b/posix/Makefile
+@@ -86,7 +86,7 @@ tests := tstgetopt testfnm runtests runptests \
+ tst-rfc3484-3 \
+ tst-getaddrinfo3 tst-fnmatch2 tst-cpucount tst-cpuset \
+ bug-getopt1 bug-getopt2 bug-getopt3 bug-getopt4 \
+- bug-getopt5 tst-getopt_long1
++ bug-getopt5 tst-getopt_long1 bug-regex34
+ xtests := bug-ga2
+ ifeq (yes,$(build-shared))
+ test-srcs := globtest
+@@ -199,5 +199,6 @@ bug-regex26-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex30-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex32-ENV = LOCPATH=$(common-objpfx)localedata
+ bug-regex33-ENV = LOCPATH=$(common-objpfx)localedata
++bug-regex34-ENV = LOCPATH=$(common-objpfx)localedata
+ tst-rxspencer-ARGS = --utf8 rxspencer/tests
+ tst-rxspencer-ENV = LOCPATH=$(common-objpfx)localedata
+diff --git a/posix/bug-regex34.c b/posix/bug-regex34.c
+new file mode 100644
+index 0000000..bb3b613
+--- /dev/null
++++ b/posix/bug-regex34.c
+@@ -0,0 +1,46 @@
++/* Test re_search with multi-byte characters in UTF-8.
++ Copyright (C) 2013 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#define _GNU_SOURCE 1
++#include <stdio.h>
++#include <string.h>
++#include <locale.h>
++#include <regex.h>
++
++static int
++do_test (void)
++{
++ struct re_pattern_buffer r;
++ /* ကျွန်ုပ်x */
++ const char *s = "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
++
++ if (setlocale (LC_ALL, "en_US.UTF-8") == NULL)
++ {
++ puts ("setlocale failed");
++ return 1;
++ }
++ memset (&r, 0, sizeof (r));
++
++ re_compile_pattern ("[^x]x", 5, &r);
++ /* This was triggering a buffer overflow. */
++ re_search (&r, s, strlen (s), 0, strlen (s), 0);
++ return 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/posix/regexec.c b/posix/regexec.c
+index 7f2de85..5ca2bf6 100644
+--- a/posix/regexec.c
++++ b/posix/regexec.c
+@@ -197,7 +197,7 @@ static int group_nodes_into_DFAstates (const re_dfa_t *dfa,
+ static int check_node_accept (const re_match_context_t *mctx,
+ const re_token_t *node, int idx)
+ internal_function;
+-static reg_errcode_t extend_buffers (re_match_context_t *mctx)
++static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
+ internal_function;
+
+ /* Entry point for POSIX code. */
+@@ -1160,7 +1160,7 @@ check_matching (re_match_context_t *mctx, int fl_longest_match,
+ || (BE (next_char_idx >= mctx->input.valid_len, 0)
+ && mctx->input.valid_len < mctx->input.len))
+ {
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, next_char_idx + 1);
+ if (BE (err != REG_NOERROR, 0))
+ {
+ assert (err == REG_ESPACE);
+@@ -1738,7 +1738,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, int next_state_log_idx)
+ && mctx->input.valid_len < mctx->input.len))
+ {
+ reg_errcode_t err;
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, next_state_log_idx + 1);
+ if (BE (err != REG_NOERROR, 0))
+ return err;
+ }
+@@ -2792,7 +2792,7 @@ get_subexp (re_match_context_t *mctx, int bkref_node, int bkref_str_idx)
+ if (bkref_str_off >= mctx->input.len)
+ break;
+
+- err = extend_buffers (mctx);
++ err = extend_buffers (mctx, bkref_str_off + 1);
+ if (BE (err != REG_NOERROR, 0))
+ return err;
+
+@@ -4102,7 +4102,7 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
+
+ static reg_errcode_t
+ internal_function __attribute_warn_unused_result__
+-extend_buffers (re_match_context_t *mctx)
++extend_buffers (re_match_context_t *mctx, int min_len)
+ {
+ reg_errcode_t ret;
+ re_string_t *pstr = &mctx->input;
+@@ -4111,8 +4111,10 @@ extend_buffers (re_match_context_t *mctx)
+ if (BE (INT_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
+ return REG_ESPACE;
+
+- /* Double the lengthes of the buffers. */
+- ret = re_string_realloc_buffers (pstr, MIN (pstr->len, pstr->bufs_len * 2));
++ /* Double the lengthes of the buffers, but allocate at least MIN_LEN. */
++ ret = re_string_realloc_buffers (pstr,
++ MAX (min_len,
++ MIN (pstr->len, pstr->bufs_len * 2)));
+ if (BE (ret != REG_NOERROR, 0))
+ return ret;
+
+--
+1.7.1
+
diff --git a/libre/xtensa-unknown-elf-glibc/glibc-2.17-sync-with-linux37.patch b/libre/xtensa-unknown-elf-glibc/glibc-2.17-sync-with-linux37.patch
new file mode 100644
index 000000000..24b25c997
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/glibc-2.17-sync-with-linux37.patch
@@ -0,0 +1,130 @@
+diff --git a/sysdeps/gnu/netinet/tcp.h b/sysdeps/gnu/netinet/tcp.h
+index 06e8414..b62a696 100644
+--- a/sysdeps/gnu/netinet/tcp.h
++++ b/sysdeps/gnu/netinet/tcp.h
+@@ -37,20 +37,29 @@
+ /*
+ * User-settable options (used with setsockopt).
+ */
+-#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */
+-#define TCP_MAXSEG 2 /* Set maximum segment size */
+-#define TCP_CORK 3 /* Control sending of partial frames */
+-#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
+-#define TCP_KEEPINTVL 5 /* Interval between keepalives */
+-#define TCP_KEEPCNT 6 /* Number of keepalives before death */
+-#define TCP_SYNCNT 7 /* Number of SYN retransmits */
+-#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */
+-#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */
+-#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */
+-#define TCP_INFO 11 /* Information about this connection. */
+-#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */
+-#define TCP_CONGESTION 13 /* Congestion control algorithm. */
+-#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */
++#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */
++#define TCP_MAXSEG 2 /* Set maximum segment size */
++#define TCP_CORK 3 /* Control sending of partial frames */
++#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
++#define TCP_KEEPINTVL 5 /* Interval between keepalives */
++#define TCP_KEEPCNT 6 /* Number of keepalives before death */
++#define TCP_SYNCNT 7 /* Number of SYN retransmits */
++#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */
++#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */
++#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */
++#define TCP_INFO 11 /* Information about this connection. */
++#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */
++#define TCP_CONGESTION 13 /* Congestion control algorithm. */
++#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */
++#define TCP_COOKIE_TRANSACTIONS 15 /* TCP Cookie Transactions */
++#define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/
++#define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */
++#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */
++#define TCP_REPAIR 19 /* TCP sock is under repair right now */
++#define TCP_REPAIR_QUEUE 20 /* Set TCP queue to repair */
++#define TCP_QUEUE_SEQ 21 /* Set sequence number of repaired queue. */
++#define TCP_REPAIR_OPTIONS 22 /* Repair TCP connection options */
++#define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */
+
+ #ifdef __USE_MISC
+ # include <sys/types.h>
+@@ -173,7 +182,9 @@ enum
+ # define TCPI_OPT_TIMESTAMPS 1
+ # define TCPI_OPT_SACK 2
+ # define TCPI_OPT_WSCALE 4
+-# define TCPI_OPT_ECN 8
++# define TCPI_OPT_ECN 8 /* ECN was negociated at TCP session init */
++# define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */
++# define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */
+
+ /* Values for tcpi_state. */
+ enum tcp_ca_state
+@@ -241,6 +252,49 @@ struct tcp_md5sig
+ u_int8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* Key (binary). */
+ };
+
++/* For socket repair options. */
++struct tcp_repair_opt
++{
++ u_int32_t opt_code;
++ u_int32_t opt_val;
++};
++
++/* Queue to repair, for TCP_REPAIR_QUEUE. */
++enum
++{
++ TCP_NO_QUEUE,
++ TCP_RECV_QUEUE,
++ TCP_SEND_QUEUE,
++ TCP_QUEUES_NR,
++};
++
++/* For cookie transactions socket options. */
++#define TCP_COOKIE_MIN 8 /* 64-bits */
++#define TCP_COOKIE_MAX 16 /* 128-bits */
++#define TCP_COOKIE_PAIR_SIZE (2*TCP_COOKIE_MAX)
++
++/* Flags for both getsockopt and setsockopt */
++#define TCP_COOKIE_IN_ALWAYS (1 << 0) /* Discard SYN without cookie */
++#define TCP_COOKIE_OUT_NEVER (1 << 1) /* Prohibit outgoing cookies,
++ * supercedes everything. */
++
++/* Flags for getsockopt */
++#define TCP_S_DATA_IN (1 << 2) /* Was data received? */
++#define TCP_S_DATA_OUT (1 << 3) /* Was data sent? */
++
++#define TCP_MSS_DEFAULT 536U /* IPv4 (RFC1122, RFC2581) */
++#define TCP_MSS_DESIRED 1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */
++
++struct tcp_cookie_transactions
++{
++ u_int16_t tcpct_flags;
++ u_int8_t __tcpct_pad1;
++ u_int8_t tcpct_cookie_desired;
++ u_int16_t tcpct_s_data_desired;
++ u_int16_t tcpct_used;
++ u_int8_t tcpct_value[TCP_MSS_DEFAULT];
++};
++
+ #endif /* Misc. */
+
+ #endif /* netinet/tcp.h */
+diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
+index df8f167..eadd7d9 100644
+--- a/sysdeps/unix/sysv/linux/bits/socket.h
++++ b/sysdeps/unix/sysv/linux/bits/socket.h
+@@ -1,6 +1,5 @@
+ /* System-specific socket constants and types. Linux version.
+- Copyright (C) 1991, 1992, 1994-2001, 2004, 2006-2010, 2011, 2012
+- Free Software Foundation, Inc.
++ Copyright (C) 1991-2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -208,6 +207,8 @@ enum
+ #define MSG_MORE MSG_MORE
+ MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/
+ #define MSG_WAITFORONE MSG_WAITFORONE
++ MSG_FASTOPEN = 0x20000000, /* Send data in TCP SYN. */
++#define MSG_FASTOPEN MSG_FASTOPEN
+
+ MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file
+ descriptor received through
diff --git a/libre/xtensa-unknown-elf-glibc/locale-gen b/libre/xtensa-unknown-elf-glibc/locale-gen
new file mode 100644
index 000000000..5aff344c4
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/locale-gen
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -e
+
+LOCALEGEN=/etc/locale.gen
+LOCALES=/usr/share/i18n/locales
+if [ -n "$POSIXLY_CORRECT" ]; then
+ unset POSIXLY_CORRECT
+fi
+
+
+[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0;
+
+# Remove all old locale dir and locale-archive before generating new
+# locale data.
+rm -rf /usr/lib/locale/* || true
+
+umask 022
+
+is_entry_ok() {
+ if [ -n "$locale" -a -n "$charset" ] ; then
+ true
+ else
+ echo "error: Bad entry '$locale $charset'"
+ false
+ fi
+}
+
+echo "Generating locales..."
+while read locale charset; do \
+ case $locale in \#*) continue;; "") continue;; esac; \
+ is_entry_ok || continue
+ echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \
+ echo -n ".$charset"; \
+ echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \
+ echo -n '...'; \
+ if [ -f $LOCALES/$locale ]; then input=$locale; else \
+ input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \
+ localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \
+ echo ' done'; \
+done < $LOCALEGEN
+echo "Generation complete."
diff --git a/libre/xtensa-unknown-elf-glibc/locale.gen.txt b/libre/xtensa-unknown-elf-glibc/locale.gen.txt
new file mode 100644
index 000000000..ccdd81734
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/locale.gen.txt
@@ -0,0 +1,23 @@
+# Configuration file for locale-gen
+#
+# lists of locales that are to be generated by the locale-gen command.
+#
+# Each line is of the form:
+#
+# <locale> <charset>
+#
+# where <locale> is one of the locales given in /usr/share/i18n/locales
+# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
+#
+# Examples:
+# en_US ISO-8859-1
+# en_US.UTF-8 UTF-8
+# de_DE ISO-8859-1
+# de_DE@euro ISO-8859-15
+#
+# The locale-gen command will generate all the locales,
+# placing them in /usr/lib/locale.
+#
+# A list of supported locales is included in this file.
+# Uncomment the ones you need.
+#
diff --git a/libre/xtensa-unknown-elf-glibc/nscd.service b/libre/xtensa-unknown-elf-glibc/nscd.service
new file mode 100644
index 000000000..bc80a0730
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/nscd.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Name Service Cache Daemon
+After=syslog.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/nscd
+ExecStop=/usr/sbin/nscd --shutdown
+ExecReload=/usr/sbin/nscd -i passwd
+ExecReload=/usr/sbin/nscd -i group
+ExecReload=/usr/sbin/nscd -i hosts
+ExecReload=/usr/sbin/nscd -i services
+Restart=always
+PIDFile=/run/nscd/nscd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/xtensa-unknown-elf-glibc/nscd.tmpfiles b/libre/xtensa-unknown-elf-glibc/nscd.tmpfiles
new file mode 100644
index 000000000..8a24a785e
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/nscd.tmpfiles
@@ -0,0 +1 @@
+d /run/nscd 0755 root root
diff --git a/libre/xtensa-unknown-elf-glibc/xtensa-unknown-elf-glibc.install b/libre/xtensa-unknown-elf-glibc/xtensa-unknown-elf-glibc.install
new file mode 100644
index 000000000..f8147a6cf
--- /dev/null
+++ b/libre/xtensa-unknown-elf-glibc/xtensa-unknown-elf-glibc.install
@@ -0,0 +1,19 @@
+infodir=usr/share/info
+filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11})
+
+post_upgrade() {
+ ldconfig -r .
+ locale-gen
+
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/libre/xtensa-unknown-elf-linux-libre-api-headers/PKGBUILD b/libre/xtensa-unknown-elf-linux-libre-api-headers/PKGBUILD
new file mode 100644
index 000000000..23dada50b
--- /dev/null
+++ b/libre/xtensa-unknown-elf-linux-libre-api-headers/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 180857 2013-03-27 11:11:40Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+# toolchain build order: linux-libre-api-headers->glibc->binutils->gcc->binutils->glibc
+export ARCH=xtensa
+_target=xtensa-unknown-elf
+_sysroot="usr/$CHOST/${_target}"
+
+pkgname=${_target}-linux-libre-api-headers
+_basekernel=3.8
+_sublevel=4
+pkgver=${_basekernel}.${_sublevel}
+pkgrel=1
+pkgdesc="Kernel headers sanitized for use in userspace for Xtensa processors"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.gnu.org/software/libc"
+license=('GPL2')
+provides=("${_target}-linux-api-headers=${pkgver}")
+conflicts=("${_target}-linux-api-headers")
+replaces=("${_target}-linux-api-headers" )
+source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz"
+ "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz")
+md5sums=('84c2a77910932ffc7d958744ac9cf2f5'
+ 'be610dd93dbe033cfe04018b27557c3e')
+
+build() {
+ cd ${srcdir}/linux-${_basekernel}
+
+ if [ "${_basekernel}" != "${pkgver}" ]; then
+ patch -Np1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu"
+ fi
+
+ make mrproper
+ make headers_check
+}
+
+package() {
+ cd ${srcdir}/linux-${_basekernel}
+ make ARCH=${ARCH} INSTALL_HDR_PATH=${pkgdir}/${_sysroot} headers_install
+
+ # use headers from libdrm
+ rm -r ${pkgdir}/${_sysroot}/include/drm
+
+ # clean-up unnecessary files generated during install
+ find ${pkgdir} \( -name .install -o -name ..install.cmd \) -delete
+}