From e3fe31f4a2c44fef8da55c60c3f95a763fdfd3c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Wed, 12 Feb 2014 03:48:50 +0000 Subject: Wed Feb 12 03:44:41 UTC 2014 --- community/fswebcam/PKGBUILD | 11 +- community/libdivecomputer/PKGBUILD | 24 ++ community/libmilter/PKGBUILD | 7 +- community/mate-disk-utility/PKGBUILD | 11 +- community/mate-nettool/PKGBUILD | 11 +- community/mate-user-share/PKGBUILD | 5 +- community/nginx/PKGBUILD | 131 +++++----- community/nginx/install | 21 -- community/nginx/nginx.install | 21 ++ community/opendkim/PKGBUILD | 6 +- community/prosody/PKGBUILD | 12 +- community/subsurface/PKGBUILD | 26 ++ ...generator-auto-add-deps-for-device-as-pas.patch | 45 ++++ ...pt-garbage-from-acpi-firmware-performance.patch | 33 +++ ...-include-setgid-perms-for-run-log-journal.patch | 26 ++ core/systemd/PKGBUILD | 15 +- extra/grilo-plugins/PKGBUILD | 20 +- extra/grilo/PKGBUILD | 8 +- extra/libreoffice/PKGBUILD | 75 +++--- extra/libreoffice/PKGBUILD.42 | 105 +++++--- extra/openjpeg/PKGBUILD | 52 +++- extra/openjpeg/openjpeg-1.5-r2029.patch | 77 ++++++ extra/openjpeg/openjpeg-1.5-r2031.patch | 24 ++ extra/openjpeg/openjpeg-1.5-r2032.patch | 30 +++ extra/openjpeg/openjpeg-1.5-r2033.patch | 49 ++++ extra/openjpeg/openjpeg-1.5.1-CVE-2013-1447.patch | 165 +++++++++++++ extra/openjpeg/openjpeg-1.5.1-CVE-2013-6045.patch | 60 +++++ extra/openjpeg/openjpeg-1.5.1-CVE-2013-6052.patch | 53 ++++ extra/openjpeg/openjpeg-1.5.1-CVE-2013-6053.patch | 12 + extra/openjpeg/openjpeg-1.5.1-CVE-2013-6887.patch | 30 +++ .../openjpeg-1.5.1-doxygen_timestamp.patch | 24 ++ extra/python-numpy/PKGBUILD | 14 +- extra/python-numpy/numpy-insecure-mktemp-use.patch | 263 ++++++++++++++++++++ extra/spamassassin/PKGBUILD | 26 +- extra/spamassassin/perl-5.18-fixes.patch | 97 -------- extra/spamassassin/spamassassin.install | 39 ++- extra/spamassassin/spamassassin.service | 2 +- libre/grub/09_parabola | 178 ------------- libre/grub/10_linux.in.patch | 31 --- libre/grub/PKGBUILD | 275 --------------------- libre/grub/grub-add-GRUB_COLOR_variables.patch | 32 --- libre/grub/grub.default | 47 ---- libre/gst-plugins-bad-libre/PKGBUILD | 47 ---- 43 files changed, 1303 insertions(+), 937 deletions(-) create mode 100644 community/libdivecomputer/PKGBUILD delete mode 100644 community/nginx/install create mode 100644 community/nginx/nginx.install create mode 100644 community/subsurface/PKGBUILD create mode 100644 core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch create mode 100644 core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch create mode 100644 core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch create mode 100644 extra/openjpeg/openjpeg-1.5-r2029.patch create mode 100644 extra/openjpeg/openjpeg-1.5-r2031.patch create mode 100644 extra/openjpeg/openjpeg-1.5-r2032.patch create mode 100644 extra/openjpeg/openjpeg-1.5-r2033.patch create mode 100644 extra/openjpeg/openjpeg-1.5.1-CVE-2013-1447.patch create mode 100644 extra/openjpeg/openjpeg-1.5.1-CVE-2013-6045.patch create mode 100644 extra/openjpeg/openjpeg-1.5.1-CVE-2013-6052.patch create mode 100644 extra/openjpeg/openjpeg-1.5.1-CVE-2013-6053.patch create mode 100644 extra/openjpeg/openjpeg-1.5.1-CVE-2013-6887.patch create mode 100644 extra/openjpeg/openjpeg-1.5.1-doxygen_timestamp.patch create mode 100644 extra/python-numpy/numpy-insecure-mktemp-use.patch delete mode 100644 extra/spamassassin/perl-5.18-fixes.patch delete mode 100644 libre/grub/09_parabola delete mode 100644 libre/grub/10_linux.in.patch delete mode 100644 libre/grub/PKGBUILD delete mode 100644 libre/grub/grub-add-GRUB_COLOR_variables.patch delete mode 100644 libre/grub/grub.default delete mode 100644 libre/gst-plugins-bad-libre/PKGBUILD diff --git a/community/fswebcam/PKGBUILD b/community/fswebcam/PKGBUILD index 2fa49872d..28ecbc567 100644 --- a/community/fswebcam/PKGBUILD +++ b/community/fswebcam/PKGBUILD @@ -1,19 +1,20 @@ -# $Id: PKGBUILD 93773 2013-07-10 07:27:13Z bpiotrowski $ +# $Id: PKGBUILD 105615 2014-02-11 18:34:43Z ttoepper $ # Maintainer: Thorsten Töpper # Contributor: SpepS # Contributor: Philipp Robbel pkgname=fswebcam -pkgver=20110717 -pkgrel=3 +pkgver=20140113 +pkgrel=1 pkgdesc="Tiny and flexible webcam app." arch=('i686' 'x86_64') url="http://www.firestorm.cx/fswebcam" license=('GPL') depends=('gd') backup=("etc/$pkgname.conf") -source=("$url/files/$pkgname-$pkgver.tar.gz") -md5sums=('6e09f1f31cf7cd0ac1d4d688a0acbe41') +source=("$url/files/$pkgname-$pkgver.tar.xz") +md5sums=('1bfdb21904e816f100370ec8f4df986b') +sha1sums=('6c1f3e3c8cf3189f0e2a5d4f8c9534c855c02e0a') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/libdivecomputer/PKGBUILD b/community/libdivecomputer/PKGBUILD new file mode 100644 index 000000000..501254b0d --- /dev/null +++ b/community/libdivecomputer/PKGBUILD @@ -0,0 +1,24 @@ +# $id$ +# Contributor: Francois Boulogne +# Maintainer: Gaetan Bisson + +pkgname=libdivecomputer +pkgver=0.4.2 +pkgrel=1 +pkgdesc='Library for communication with dive computers' +url='http://www.libdivecomputer.org/' +license=('LGPL') +arch=('i686' 'x86_64') +source=("http://www.libdivecomputer.org/releases/${pkgname}-${pkgver}.tar.gz") +sha1sums=('a57176ae6a7bd5e0ad4d19a39e5aebcfba818acc') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/community/libmilter/PKGBUILD b/community/libmilter/PKGBUILD index 6256f409f..b498a8221 100644 --- a/community/libmilter/PKGBUILD +++ b/community/libmilter/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 88321 2013-04-16 13:29:18Z spupykin $ +# $Id: PKGBUILD 105609 2014-02-11 17:57:00Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer: mutantmonkey pkgname=libmilter -pkgver=8.14.6 +pkgver=8.14.8 pkgrel=1 pkgdesc="libmilter" arch=(i686 x86_64) url="http://www.postfix.org/MILTER_README.html" +options=('staticlibs') license=('custom:Sendmail open source license') source="ftp://ftp.sendmail.org/pub/sendmail/sendmail.${pkgver}.tar.gz" -md5sums=('9eeed3d1baecbf4e17d829d2ec005553') +md5sums=('73bfc621c75dbdd3d719e54685d92577') build(){ cd "${srcdir}/sendmail-${pkgver}" diff --git a/community/mate-disk-utility/PKGBUILD b/community/mate-disk-utility/PKGBUILD index 84ab0f8da..e1dedca5f 100644 --- a/community/mate-disk-utility/PKGBUILD +++ b/community/mate-disk-utility/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 105033 2014-01-30 12:06:00Z flexiondotorg $ +# $Id: PKGBUILD 105605 2014-02-11 17:24:56Z flexiondotorg $ # Maintainer : Martin Wimpress pkgname=mate-disk-utility pkgver=1.6.2 -pkgrel=1 +pkgrel=2 pkgdesc="Disk management application for MATE." url="https://github.com/NiceandGently/mate-disk-utility" arch=('i686' 'x86_64') @@ -16,9 +16,14 @@ source=("https://github.com/NiceandGently/${pkgname}/archive/v${pkgver}.tar.gz") md5sums=('ff3b520a06c367124558cdd252f1956d') install=${pkgname}.install +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + NOCONFIGURE=1 ./autogen.sh +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./autogen.sh \ + ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib/${pkgname} \ diff --git a/community/mate-nettool/PKGBUILD b/community/mate-nettool/PKGBUILD index ca928d0e9..da3b56e32 100644 --- a/community/mate-nettool/PKGBUILD +++ b/community/mate-nettool/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 104935 2014-01-28 14:00:49Z flexiondotorg $ +# $Id: PKGBUILD 105607 2014-02-11 17:55:05Z flexiondotorg $ # Maintainer : Martin Wimpress pkgname=mate-nettool pkgver=1.8.1 -pkgrel=6 +pkgrel=7 pkgdesc="MATE interface for various networking tools." url="https://github.com/NiceandGently/mate-nettool" arch=('i686' 'x86_64') @@ -20,9 +20,14 @@ source=("https://github.com/NiceandGently/${pkgname}/archive/v${pkgver}.tar.gz") md5sums=('c05c525fee4d70c03ebad7e9bb9b7e4c') install=${pkgname}.install +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + NOCONFIGURE=1 ./autogen.sh +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./autogen.sh \ + ./configure \ --prefix=/usr \ --disable-static \ --disable-schemas-compile diff --git a/community/mate-user-share/PKGBUILD b/community/mate-user-share/PKGBUILD index 380ea8537..ccf81858d 100644 --- a/community/mate-user-share/PKGBUILD +++ b/community/mate-user-share/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 104314 2014-01-17 12:43:05Z flexiondotorg $ +# $Id: PKGBUILD 105613 2014-02-11 18:11:20Z flexiondotorg $ # Maintainer : Martin Wimpress pkgname=mate-user-share pkgver=1.6.1 -pkgrel=6 +pkgrel=7 pkgdesc="User level public file sharing via WebDAV." url="http://mate-desktop.org" arch=('i686' 'x86_64') @@ -12,7 +12,6 @@ depends=('apache' 'dbus-glib' 'dconf' 'libunique' 'mod_dnssd') makedepends=('libcanberra' 'libnotify' 'mate-common' 'mate-doc-utils' 'mate-file-manager' 'perl-xml-parser') options=('!emptydirs') -groups=('mate-extra') install=${pkgname}.install source=("http://pub.mate-desktop.org/releases/1.6/${pkgname}-${pkgver}.tar.xz" "https://github.com/mate-desktop/mate-user-share/commit/7a0305478295e9e7c284372677a4cbc382444482.diff") diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD index f0510838a..7fea2b53b 100644 --- a/community/nginx/PKGBUILD +++ b/community/nginx/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 102927 2013-12-24 08:43:25Z bpiotrowski $ -# Maintainer: Bartłomiej Piotrowski +# $Id: PKGBUILD 105603 2014-02-11 17:09:36Z bpiotrowski $ +# Maintainer: Bartłomiej Piotrowski # Maintainer: Sébastien Luttringer # Contributor: Sergej Pupykin # Contributor: Miroslaw Szot pkgname=nginx -pkgver=1.4.4 -pkgrel=2 +pkgver=1.4.5 +pkgrel=1 pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server' arch=('i686' 'x86_64') url='http://nginx.org' @@ -22,75 +22,78 @@ backup=('etc/nginx/fastcgi.conf' 'etc/nginx/uwsgi_params' 'etc/nginx/win-utf' 'etc/logrotate.d/nginx') -install=install -source=("http://nginx.org/download/nginx-$pkgver.tar.gz" - 'service' - 'logrotate') -sha256sums=('7c989a58e5408c9593da0bebcd0e4ffc3d892d1316ba5042ddb0be5b0b4102b9' - '05fdc0c0483410944b988d7f4beabb00bec4a44a41bd13ebc9b78585da7d3f9b' - '272907d3213d69dac3bd6024d6d150caa23cb67d4f121e4171f34ba5581f9e98') +install=nginx.install +source=($url/download/nginx-$pkgver.tar.gz + service + logrotate) +md5sums=('1a635e9543570f0c881b8ec9db0c6898' + 'ce9a06bcaf66ec4a3c4eb59b636e0dfd' + '3441ce77cdd1aab6f0ab7e212698a8a7') build() { - cd $pkgname-$pkgver - ./configure \ - --prefix=/etc/nginx \ - --conf-path=/etc/nginx/nginx.conf \ - --sbin-path=/usr/bin/nginx \ - --pid-path=/run/nginx.pid \ - --lock-path=/run/lock/nginx.lock \ - --user=http \ - --group=http \ - --http-log-path=/var/log/nginx/access.log \ - --error-log-path=stderr \ - --http-client-body-temp-path=/var/lib/nginx/client-body \ - --http-proxy-temp-path=/var/lib/nginx/proxy \ - --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ - --http-scgi-temp-path=/var/lib/nginx/scgi \ - --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \ - --with-imap \ - --with-imap_ssl_module \ - --with-ipv6 \ - --with-pcre-jit \ - --with-file-aio \ - --with-http_dav_module \ - --with-http_gunzip_module \ - --with-http_gzip_static_module \ - --with-http_realip_module \ - --with-http_spdy_module \ - --with-http_ssl_module \ - --with-http_stub_status_module \ - --with-http_addition_module \ - --with-http_degradation_module \ - --with-http_flv_module \ - --with-http_mp4_module \ - --with-http_secure_link_module \ - --with-http_sub_module - make + cd $pkgname-$pkgver + ./configure \ + --prefix=/etc/nginx \ + --conf-path=/etc/nginx/nginx.conf \ + --sbin-path=/usr/bin/nginx \ + --pid-path=/run/nginx.pid \ + --lock-path=/run/lock/nginx.lock \ + --user=http \ + --group=http \ + --http-log-path=/var/log/nginx/access.log \ + --error-log-path=stderr \ + --http-client-body-temp-path=/var/lib/nginx/client-body \ + --http-proxy-temp-path=/var/lib/nginx/proxy \ + --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ + --http-scgi-temp-path=/var/lib/nginx/scgi \ + --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \ + --with-imap \ + --with-imap_ssl_module \ + --with-ipv6 \ + --with-pcre-jit \ + --with-file-aio \ + --with-http_dav_module \ + --with-http_gunzip_module \ + --with-http_gzip_static_module \ + --with-http_realip_module \ + --with-http_spdy_module \ + --with-http_ssl_module \ + --with-http_stub_status_module \ + --with-http_addition_module \ + --with-http_degradation_module \ + --with-http_flv_module \ + --with-http_mp4_module \ + --with-http_secure_link_module \ + --with-http_sub_module + + make } package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + sed -e 's|\>> Since 1.2.1-2 several changes has been made in package:' - echo ' - *.conf files have been moved to /etc/nginx' - echo ' - /etc/conf.d/nginx has been removed' - echo ' Main configuration file is set to /etc/nginx/nginx.conf' - echo ' - access.log and error.log can be found in /var/log/nginx by default' - echo ' - bundled *.html files have been moved to /usr/share/nginx/html' - echo ' - /etc/nginx/{html,logs} symbolic links and *.default files have been removed' - fi - if (( $(vercmp $2 1.4.2-4) < 0 )); then - echo 'Nginx now includes only upstream bundled modules.' - echo 'Thus, passenger module support was dropped.' - fi -} - -# vim:set ts=4 sw=4 et: diff --git a/community/nginx/nginx.install b/community/nginx/nginx.install new file mode 100644 index 000000000..7c4adf14b --- /dev/null +++ b/community/nginx/nginx.install @@ -0,0 +1,21 @@ +post_upgrade() { + if (( $(vercmp $2 1.2.7-4) <= 0 )); then + chmod 750 var/log/nginx + chown http:log var/log/nginx + fi + if (( $(vercmp $2 1.2.1-2) <= 0 )); then + echo ' >>> Since 1.2.1-2 several changes has been made in package:' + echo ' - *.conf files have been moved to /etc/nginx' + echo ' - /etc/conf.d/nginx has been removed' + echo ' Main configuration file is set to /etc/nginx/nginx.conf' + echo ' - access.log and error.log can be found in /var/log/nginx by default' + echo ' - bundled *.html files have been moved to /usr/share/nginx/html' + echo ' - /etc/nginx/{html,logs} symbolic links and *.default files have been removed' + fi + if (( $(vercmp $2 1.4.2-4) < 0 )); then + echo 'Nginx now includes only upstream bundled modules.' + echo 'Thus, passenger module support was dropped.' + fi +} + +# vim:set ts=4 sw=4 et: diff --git a/community/opendkim/PKGBUILD b/community/opendkim/PKGBUILD index 4b03b9895..8c0210b17 100644 --- a/community/opendkim/PKGBUILD +++ b/community/opendkim/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 102395 2013-12-10 10:40:58Z spupykin $ +# $Id: PKGBUILD 105611 2014-02-11 17:57:21Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer: Thomas Jost pkgname=opendkim pkgver=2.9.0 -pkgrel=1 +pkgrel=2 pkgdesc="An open source implementation of the DKIM sender authentication system. Based on a fork of dkim-milter." arch=(i686 x86_64) url="http://www.opendkim.org/" license=('BSD' 'custom:Sendmail') -depends=("db" "openssl" "libstrl") +depends=("db" "openssl" "libbsd") makedepends=("libmilter") options=(!emptydirs) backup=(etc/conf.d/opendkim) diff --git a/community/prosody/PKGBUILD b/community/prosody/PKGBUILD index 093c82afe..05faf0c3c 100644 --- a/community/prosody/PKGBUILD +++ b/community/prosody/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 103947 2014-01-13 20:32:53Z spupykin $ +# $Id: PKGBUILD 105597 2014-02-11 09:52:31Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer: Dwayne Bent # Contributor: Paul-Sebastian Manole # Contributor: Timothée Ravier pkgname=prosody -pkgver=0.9.2 -pkgrel=2 +pkgver=0.9.3 +pkgrel=1 pkgdesc="Lightweight and extensible Jabber/XMPP server written in Lua" arch=('i686' 'x86_64') url="http://prosody.im/" @@ -28,6 +28,12 @@ sha256sums=('a2df64d23b7853a9f03126750d33b98193c93b8331b2622d9ebf1fe54f8feb2d' 'db37b1b6bcd648f264164c5db5e754fc077671c74df6079c101384e146f4d6da' '3f5cc5db2cfe74c4edf91f60e692e04c3504025e893d0880114d52728a2c4bc4' '16fbfb54bf21bb73ce9d9acacb60d47f237c35e842c5a00f1153f72f0d2f7f6b') +sha256sums=('22d2427fae4858d15b4f695348fb7781e4c65c04a24171837985024e76799ea0' + 'SKIP' + '5a2466b73bd069fb73be97a4e23b24e4c8dd1adb7db871cb8f5ab4094c1f967f' + 'db37b1b6bcd648f264164c5db5e754fc077671c74df6079c101384e146f4d6da' + '3f5cc5db2cfe74c4edf91f60e692e04c3504025e893d0880114d52728a2c4bc4' + '16fbfb54bf21bb73ce9d9acacb60d47f237c35e842c5a00f1153f72f0d2f7f6b') prepare() { cd ${pkgname}-${pkgver} diff --git a/community/subsurface/PKGBUILD b/community/subsurface/PKGBUILD new file mode 100644 index 000000000..f0d7087db --- /dev/null +++ b/community/subsurface/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 105595 2014-02-11 07:54:24Z bisson $ +# Contributor: Francois Boulogne +# Maintainer: Gaetan Bisson + +pkgname=subsurface +_pkgname=Subsurface +pkgver=4.0.2 +pkgrel=1 +pkgdesc='Divelog program' +url='http://subsurface.hohndel.org/' +license=('GPL2') +arch=('i686' 'x86_64') +depends=('qt4' 'kdeedu-marble' 'libzip' 'libxml2' 'libxslt' 'sqlite' 'libdivecomputer' 'libusbx') +source=("http://subsurface.hohndel.org/downloads/${_pkgname}-${pkgver}.tgz") +sha1sums=('14370c2e91f82a6df32d44e2a0a4b20908c74465') + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}" + qmake-qt4 -config release + make +} + +package() { + cd "${srcdir}/${_pkgname}-${pkgver}" + make INSTALL_ROOT="${pkgdir}" install +} diff --git a/core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch b/core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch new file mode 100644 index 000000000..dd8c9ff74 --- /dev/null +++ b/core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch @@ -0,0 +1,45 @@ +From 66a5dbdf282435403f947c2caadd04bb0cdec752 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Sat, 8 Feb 2014 12:54:58 -0500 +Subject: [PATCH] cryptsetup-generator: auto add deps for device as password + +If the password is a device file, we can add Requires/After dependencies +on the device rather than requiring the user to do so. +--- + src/cryptsetup/cryptsetup-generator.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c +index 9c98f0b..46ad9b8 100644 +--- a/src/cryptsetup/cryptsetup-generator.c ++++ b/src/cryptsetup/cryptsetup-generator.c +@@ -130,11 +130,21 @@ static int create_disk( + streq(password, "/dev/random") || + streq(password, "/dev/hw_random")) + fputs("After=systemd-random-seed.service\n", f); +- else if (!streq(password, "-") && +- !streq(password, "none")) +- fprintf(f, +- "RequiresMountsFor=%s\n", +- password); ++ ++ else if (!streq(password, "-") && !streq(password, "none")) { ++ _cleanup_free_ char *uu = fstab_node_to_udev_node(password); ++ if (uu == NULL) ++ return log_oom(); ++ ++ if (is_device_path(uu)) { ++ _cleanup_free_ char *dd = unit_name_from_path(uu, ".device"); ++ if (dd == NULL) ++ return log_oom(); ++ ++ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); ++ } else ++ fprintf(f, "RequiresMountsFor=%s\n", password); ++ } + } + + if (is_device_path(u)) +-- +1.8.5.4 + diff --git a/core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch b/core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch new file mode 100644 index 000000000..d0533c84c --- /dev/null +++ b/core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch @@ -0,0 +1,33 @@ +From 6c7980093c4e39d07bf06484f96f489e236c7c29 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 10 Oct 2013 01:38:11 +0200 +Subject: [PATCH] do not accept "garbage" from acpi firmware performance data + (FPDT) + +00000000 46 42 50 54 38 00 00 00 02 00 30 02 00 00 00 00 |FBPT8.....0.....| +00000010 23 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |#E..............| +00000020 f5 6a 51 00 00 00 00 00 00 00 00 00 00 00 00 00 |.jQ.............| +00000030 00 00 00 00 00 00 00 00 70 74 61 6c 58 00 00 00 |........ptalX...| +--- + src/shared/acpi-fpdt.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index af58c7c..75648b4 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -146,6 +146,11 @@ int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { + if (brec.type != ACPI_FPDT_BOOT_REC) + return -EINVAL; + ++ if (brec.startup_start == 0 || brec.exit_services_exit < brec.startup_start) ++ return -EINVAL; ++ if (brec.exit_services_exit > NSEC_PER_HOUR) ++ return -EINVAL; ++ + if (loader_start) + *loader_start = brec.startup_start / 1000; + if (loader_exit) +-- +1.8.5.4 + diff --git a/core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch b/core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch new file mode 100644 index 000000000..58158f04a --- /dev/null +++ b/core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch @@ -0,0 +1,26 @@ +From 7074fecf6747c9a6ad872cc87701481e8bece8b0 Mon Sep 17 00:00:00 2001 +From: Dave Reisner +Date: Wed, 2 Oct 2013 15:35:16 -0400 +Subject: [PATCH] tmpfiles.d: include setgid perms for /run/log/journal + +4608af4333d0f7f5 set permissions for journal storage on persistent disk +but not the volatile storage. + +ref: https://bugs.archlinux.org/task/37170 +--- + tmpfiles.d/systemd.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf +index b630440..a05c657 100644 +--- a/tmpfiles.d/systemd.conf ++++ b/tmpfiles.d/systemd.conf +@@ -26,3 +26,5 @@ F /run/nologin 0644 - - - "System is booting up. See pam_nologin(8)" + + m /var/log/journal 2755 root systemd-journal - - + m /var/log/journal/%m 2755 root systemd-journal - - ++m /run/log/journal 2755 root systemd-journal - - ++m /run/log/journal/%m 2755 root systemd-journal - - +-- +1.8.5.4 + diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD index a194968ef..6943b7e56 100644 --- a/core/systemd/PKGBUILD +++ b/core/systemd/PKGBUILD @@ -4,7 +4,7 @@ pkgbase=systemd pkgname=('systemd' 'systemd-sysvcompat') pkgver=208 -pkgrel=10 +pkgrel=11 arch=('i686' 'x86_64') url="http://www.freedesktop.org/wiki/Software/systemd" makedepends=('acl' 'cryptsetup' 'libdbus' 'docbook-xsl' 'gobject-introspection' 'gperf' @@ -29,7 +29,10 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" '0006-efi-boot-generator-hookup-to-fsck.patch' '0007-fsck-root-only-run-when-requested-in-fstab.patch' '0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch' - '0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch') + '0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch' + '0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch' + '0001-do-not-accept-garbage-from-acpi-firmware-performance.patch' + '0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch') md5sums=('df64550d92afbffb4f67a434193ee165' '29245f7a240bfba66e2b1783b63b6b40' '8b68b0218a3897d4d37a6ccf47914774' @@ -48,7 +51,10 @@ md5sums=('df64550d92afbffb4f67a434193ee165' 'c2aee634a3a6c50778968f0d5c756f40' 'ef8b8212d504bb73c10bf4e85f0703b2' '4ba2317bf4d7708fca406f49482b1bf3' - '078f10d6fc315b329844cd20fa742eee') + '078f10d6fc315b329844cd20fa742eee' + 'f3e4e5b840cace769556e802466574da' + '707d64bad7461c04d4cfce21bfddf712' + '13232b7f28100e40990dde1c9e411596') prepare() { cd "$pkgname-$pkgver" @@ -76,6 +82,9 @@ prepare() { patch -Np1 <"$srcdir"/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch # Fix FS#38403 patch -Np1 <"$srcdir"/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch + patch -Np1 <"$srcdir"/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch + patch -Np1 <"$srcdir"/0001-d""o-not-accept-garbage-from-acpi-firmware-performance.patch + patch -Np1 <"$srcdir"/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch autoreconf } diff --git a/extra/grilo-plugins/PKGBUILD b/extra/grilo-plugins/PKGBUILD index b1e9d7e9e..1103c54f8 100644 --- a/extra/grilo-plugins/PKGBUILD +++ b/extra/grilo-plugins/PKGBUILD @@ -1,33 +1,33 @@ -# $Id: PKGBUILD 203575 2014-01-13 17:12:06Z andyrtr $ +# $Id: PKGBUILD 205841 2014-02-11 12:54:03Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) pkgname=grilo-plugins -pkgver=0.2.9 -pkgrel=3 +pkgver=0.2.10 +pkgrel=1 pkgdesc="Plugins for Grilo" url="http://www.gnome.org" arch=(i686 x86_64) license=(LGPL) depends=(grilo sqlite libgcrypt) -makedepends=(gupnp-av libgdata gmime rest libtracker-sparql totem-plparser libdmapsharing - json-glib intltool) +makedepends=(gupnp-av libgdata gmime libtracker-sparql libdmapsharing + json-glib intltool avahi itstool) optdepends=('gupnp-av: uPnP plugin' 'libgdata: Youtube plugin' + 'gnome-online-accounts: Flickr plugin' 'gmime: Podcasts plugin' - 'rest: Blip.tv plugin' 'libtracker-sparql: Tracker plugin' - 'totem-plparser: Youtube plugin, Vimeo plugin, Optical media plugin' 'libdmapsharing: DMAP sharing plugin' - 'json-glib: TMDb plugin') + 'json-glib: TMDb plugin' + 'avahi: Freebox plugin') options=('!emptydirs') groups=('gnome') source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('902b839bd1cdc27613d9e44af2afe00d1ef3b7471ae72c66c622560007e1023e') +sha256sums=('5a7dd406ed58145847553e6dbb5f766e9d58dc5d4cfeb7e290d5b38c88163871') build() { cd $pkgname-$pkgver ./configure --prefix=/usr --sysconfdir=/etc --disable-static \ - --enable-shoutcast + --enable-shoutcast --disable-pocket make } diff --git a/extra/grilo/PKGBUILD b/extra/grilo/PKGBUILD index 575a64a97..31f1eb9ca 100644 --- a/extra/grilo/PKGBUILD +++ b/extra/grilo/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 198051 2013-10-30 12:30:26Z allan $ +# $Id: PKGBUILD 205840 2014-02-11 12:53:50Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) pkgname=grilo -pkgver=0.2.7 +pkgver=0.2.8 pkgrel=1 pkgdesc="Framework that provides access to various sources of multimedia content" url="http://www.gnome.org" arch=('i686' 'x86_64') license=('LGPL') -depends=('gtk3' 'libxml2' 'libsoup' 'liboauth') +depends=('gtk3' 'libxml2' 'libsoup' 'liboauth' 'totem-plparser') makedepends=('gobject-introspection' 'gtk-doc' 'vala' 'intltool') optdepends=('grilo-plugins: Plugins for grilo') options=('!emptydirs') source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) -sha256sums=('4a854ee6f9a220f05e696813949be94780c12a7fb281253f10a545f30ed596d8') +sha256sums=('03a50e011b897a46d6ec6fe4cfec4ca0737047f279c99b3d9eb9bef8c472cee8') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD index 5aa022047..cb8b33ef7 100644 --- a/extra/libreoffice/PKGBUILD +++ b/extra/libreoffice/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 203586 2014-01-13 17:12:18Z andyrtr $ +# $Id: PKGBUILD 205850 2014-02-11 18:23:07Z andyrtr $ # Maintainer: AndyRTR -# Maintainer: Bartłomiej Piotrowski +# Maintainer: Bartłomiej Piotrowski -pkgbase="libreoffice" +pkgbase=libreoffice pkgname=('libreoffice-common' 'libreoffice-base' 'libreoffice-calc' @@ -19,9 +19,9 @@ pkgname=('libreoffice-common' 'libreoffice-extension-presentation-minimizer' 'libreoffice-extension-wiki-publisher' 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built) -_LOver=4.1.4.2 -pkgver=4.1.4 -pkgrel=3 +_LOver=4.1.5.3 +pkgver=4.1.5 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -33,14 +33,14 @@ makedepends=( # makedepends 'clucene' 'bluez-libs' 'harfbuzz-icu' # the runtime dependencies "curl>=7.20.0" "hunspell>=1.2.8" "python>=3.3" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6" - 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'librsvg' "icu>=52.1" - 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite' 'lcms2' 'poppler>=0.24.4' + 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'librsvg' "icu>=52.1" + 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite' 'lcms2' 'poppler>=0.24.4' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'orbit2' 'translate-toolkit' 'xdg-utils' 'ttf-dejavu') # to satisfy regression tests # there's only one single static library in libreoffice-sdk, # the next build that removes it may lead to trouble if people may use it # -rw-r--r-- 1 root root 5,1K 12. Okt 23:34 /usr/lib/libreoffice/sdk/lib/libsalcpprt.a -# options=('staticlibs') +# options=('staticlibs') # http://download.documentfoundation.org/mirrors/all.html # http://wiki.documentfoundation.org/Mirrors @@ -49,7 +49,7 @@ _mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}" #_mirror="http://dev-builds.libreoffice.org/pre-releases/src" _additional_source_url="http://dev-www.libreoffice.org/src" _additional_source_url2="http://dev-www.libreoffice.org/extern" -source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz +source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz{,.asc} ${_additional_source_url}/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip @@ -120,9 +120,12 @@ noextract=(f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 libmspub-0.0.6.tar.bz2 libmwaw-0.1.11.tar.bz2 libvisio-0.0.31.tar.bz2 ) -md5sums=('2e7880600b26387f342f277c5d198bfa' - '1235bb27ff2a060cc666752143dfbf6b' - '083f211866fe1f77fd2712b822a56f5c' +md5sums=('12679026121300396c85b4ca11b176c7' + 'SKIP' + 'e0ea06a105071c278e52866f476c0ee6' + 'SKIP' + 'c3b03c33ee14628f1c151288f2eb4962' + 'SKIP' 'f02578f5218f217a9f20e9c30e119c6a' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' @@ -175,10 +178,10 @@ prepare() { ln -s ${srcdir}/$source . done popd - + # fix not upstreamable pyuno paths - patch taken from Debian patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff - + #use the CFLAGS but remove the LibO overridden ones for i in $CFLAGS; do case "$i" in @@ -206,6 +209,8 @@ build() { --with-parallelism=${MAKEFLAGS/-j/} \ --with-external-tar="${srcdir}/ext_sources" \ --disable-fetch-external \ + --disable-verbose \ + --enable-release-build \ --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \ --libdir=/usr/lib --mandir=/usr/share/man \ --with-lang="" \ @@ -262,7 +267,9 @@ build() { --without-system-hsqldb \ --with-alloc=system\ --with-system-clucene\ - --without-system-servlet-api + --without-system-servlet-api \ + --enable-hardlink-deliver \ + --disable-dependency-tracking # --enable-mergelibs \ # https://bugs.archlinux.org/task/34414 @@ -328,7 +335,7 @@ package_libreoffice-common() { # mv file from fakeinstall to pkgdir mv ${srcdir}/fakeinstall${file} ${pkgdir}$file done - + # put configuration files into place install -dm755 ${pkgdir}/etc/libreoffice install -m644 ${pkgdir}/usr/lib/libreoffice/program/{bootstraprc,sofficerc} ${pkgdir}/etc/libreoffice/ @@ -338,24 +345,24 @@ package_libreoffice-common() { ln -vsf /etc/libreoffice/{bootstraprc,sofficerc} . cd ${pkgdir}/usr/lib/libreoffice/share/psprint/ ln -vsf /etc/libreoffice/psprint.conf . - + # allow to preset desired VLC install -dm755 ${pkgdir}/etc/profile.d install -m755 ${srcdir}/libreoffice-common.{sh,csh} ${pkgdir}/etc/profile.d/ - + # move bash-completion files to its new place install -dm755 ${pkgdir}/usr/share/bash-completion/completions mv ${pkgdir}/etc/bash_completion.d/libreoffice.sh ${pkgdir}/usr/share/bash-completion/completions/libreoffice.sh rm -rf ${pkgdir}/etc/bash_completion.d - + # make pyuno find its modules install -dm755 ${pkgdir}/usr/lib/python3.3/site-packages ln -svf /usr/lib/libreoffice/program/uno.py ${pkgdir}/usr/lib/python3.3/site-packages/uno.py ln -svf /usr/lib/libreoffice/program/unohelper.py ${pkgdir}/usr/lib/python3.3/site-packages/unohelper.py - + # workaround all packages now depend on that file cp ${srcdir}/fakeinstall/usr/lib/libreoffice/share/registry/writer.xcd ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd - + # add missing files from Beanshell provider # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do @@ -402,7 +409,7 @@ package_libreoffice-postgresql-connector() { # workaround double entries in the file list mv ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt.orig sort ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt.orig | uniq 1>& ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -424,7 +431,7 @@ package_libreoffice-calc() { #depends=('libreoffice-writer' 'lpsolve' ) # some hidden uno linking to parts of the writer pkg - https://bugs.archlinux.org/task/34332 groups=('libreoffice') replaces=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/calc_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -445,7 +452,7 @@ package_libreoffice-draw() { depends=('libreoffice-common') groups=('libreoffice') replaces=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/draw_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -466,7 +473,7 @@ package_libreoffice-gnome() { optdepends=('gtk3: for gtk3 Gnome integration' 'gtk2: for older gtk2 desktop integration') groups=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/gnome_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -488,7 +495,7 @@ package_libreoffice-impress() { optdepends=('glu: for the OGLTrans extension') groups=('libreoffice') replaces=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/impress_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -509,7 +516,7 @@ package_libreoffice-kde4() { optdepends=() backup=() groups=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/kde4_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -522,7 +529,7 @@ package_libreoffice-kde4() { # mv file from fakeinstall to pkgdir mv ${srcdir}/fakeinstall${file} ${pkgdir}$file done - + # one file (libkde4be1lo.so) is part of kde_list.txt # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/kde_list.txt`; do @@ -543,7 +550,7 @@ package_libreoffice-math() { depends=('libreoffice-common') groups=('libreoffice') replaces=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/math_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -562,7 +569,7 @@ package_libreoffice-sdk() { pkgdesc="Software Development Kit for LibreOffice." depends=('libreoffice-common' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 'java-environment') groups=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/sdk_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -575,7 +582,7 @@ package_libreoffice-sdk() { # mv file from fakeinstall to pkgdir mv ${srcdir}/fakeinstall${file} ${pkgdir}$file done - + # fix environment path to keep compatibility with other java-environments # sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" ${pkgdir}/usr/lib/libreoffice/sdk/setsdkenv_unix.{sh,csh} sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" ${pkgdir}/usr/lib/libreoffice/sdk/setsdkenv_unix.sh @@ -585,7 +592,7 @@ package_libreoffice-sdk-doc() { pkgdesc="Software Development Kit documentation for LibreOffice" depends=('libreoffice-common' 'libreoffice-sdk') groups=('libreoffice') - + # create directories from *list.txt file for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/sdk_doc_list.txt`; do install -dm755 ${pkgdir}/${directory/\%dir/} @@ -623,7 +630,7 @@ package_libreoffice-writer() { # mv file from fakeinstall to pkgdir mv ${srcdir}/fakeinstall${file} ${pkgdir}$file done - + # for workaround this file belongs now to common rm ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd } diff --git a/extra/libreoffice/PKGBUILD.42 b/extra/libreoffice/PKGBUILD.42 index 39be2acc7..b36102903 100644 --- a/extra/libreoffice/PKGBUILD.42 +++ b/extra/libreoffice/PKGBUILD.42 @@ -18,22 +18,23 @@ pkgname=('libreoffice-common' 'libreoffice-postgresql-connector' 'libreoffice-extension-wiki-publisher' 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built) -_LOver=4.2.0.1 +_LOver=4.2.0.4 pkgver=4.2.0 -pkgrel=0.1 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" makedepends=( # makedepends 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' #'boost' 'apache-ant' 'gperf' 'kdelibs' 'gconf' 'gtk3' 'cppunit' - 'beanshell' 'vigra' 'clucene' 'junit' 'libmythes' 'libwpg' 'imagemagick' + 'beanshell2' 'vigra' 'clucene' 'junit' 'libmythes' 'libwpg' 'imagemagick' 'glu' 'mesa' 'gst-plugins-base-libs' 'java-environment' 'postgresql-libs' 'doxygen' 'clucene' 'bluez-libs' 'harfbuzz-icu' 'gdb' # the runtime dependencies "curl>=7.20.0" "hunspell>=1.2.8" "python>=3.3" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'librsvg' "icu>=52.1" - 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite' 'lcms2' 'poppler>=0.24.0' + 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat' 'graphite' 'lcms2' 'poppler>=0.24.0' + 'libvisio' 'libetonyek' 'libodfgen' 'telepathy-glib' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'orbit2' 'translate-toolkit' 'xdg-utils' 'ttf-liberation' # to satisfy regression tests 'git') @@ -45,11 +46,11 @@ makedepends=( # makedepends # http://download.documentfoundation.org/mirrors/all.html # http://wiki.documentfoundation.org/Mirrors -#_mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}" -_mirror="http://dev-builds.libreoffice.org/pre-releases/src" +_mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}" +#_mirror="http://dev-builds.libreoffice.org/pre-releases/src" _additional_source_url="http://dev-www.libreoffice.org/src" _additional_source_url2="http://dev-www.libreoffice.org/extern" -source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz +source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz{,.asc} ${_additional_source_url}/15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2 ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip @@ -70,7 +71,7 @@ source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz ${_additional_source_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip ${_additional_source_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip ${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip - ${_additional_source_url}/8c853024fbcff39113d9285250dafc66-mdds_0.9.1.tar.bz2 + ${_additional_source_url}/01a380acfec23bf617117ce98e318f3d-mdds_0.10.1.tar.bz2 ${_additional_source_url}/ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2 ${_additional_source_url}/22f8a85daf4a012180322e1f52a7563b-libcmis-0.4.1.tar.gz ${_additional_source_url}/ea2acaf140ae40a87a952caa75184f4d-liborcus-0.5.1.tar.bz2 @@ -81,18 +82,16 @@ source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz ${_additional_source_url}/libcdr-0.0.14.tar.bz2 ${_additional_source_url}/libmspub-0.0.6.tar.bz2 ${_additional_source_url}/libmwaw-0.2.0.tar.bz2 - ${_additional_source_url}/libvisio-0.0.31.tar.bz2 - ${_additional_source_url}/libetonyek-0.0.1.tar.bz2 ${_additional_source_url}/libfreehand-0.0.0.tar.bz2 - ${_additional_source_url}/libodfgen-0.0.3.tar.bz2 ${_additional_source_url}/Firebird-2.5.2.26540-0.tar.bz2 ${_additional_source_url}/libatomic_ops-7_2d.zip ${_additional_source_url}/libe-book-0.0.2.tar.bz2 + ${_additional_source_url}/libabw-0.0.1.tar.bz2 make-pyuno-work-with-system-wide-module-install.diff libreoffice-common.sh libreoffice-common.csh) noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2 185d60944ea767075d27247c3162b3bc-unowinreg.dll - 8c853024fbcff39113d9285250dafc66-mdds_0.9.1.tar.bz2 + 01a380acfec23bf617117ce98e318f3d-mdds_0.10.1.tar.bz2 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2 @@ -121,16 +120,14 @@ noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2 libcdr-0.0.14.tar.bz2 libmspub-0.0.6.tar.bz2 libmwaw-0.2.0.tar.bz2 - libvisio-0.0.31.tar.bz2 - libetonyek-0.0.1.tar.bz2 libfreehand-0.0.0.tar.bz2 - libodfgen-0.0.3.tar.bz2 Firebird-2.5.2.26540-0.tar.bz2 libatomic_ops-7_2d.zip - libe-book-0.0.2.tar.bz2) -md5sums=('383c63b8055967408e34ca7981b5dab8' - '74cffe54cc756bb28a4496bf94fc5185' - '5b0a27fbf474ff3f2ce819f13efafa1b' + libe-book-0.0.2.tar.bz2 + libabw-0.0.1.tar.bz2) +md5sums=('98674d57d6dd24baef38f007b5020e8e' + '8554bbbdfc72db998a191c71eeafdb55' + '4873b18cd8a535814777c8630fe2db9f' '15cb8c0803064faef0c4ddf5bc5ca279' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' @@ -151,7 +148,7 @@ md5sums=('383c63b8055967408e34ca7981b5dab8' 'ace6ab49184e329db254e454a010f56d' 'db60e4fde8dd6d6807523deb71ee34dc' 'ba2930200c9f019c2d93a8c88c651a0f' - '8c853024fbcff39113d9285250dafc66' + '01a380acfec23bf617117ce98e318f3d' 'ae330b9493bd4503ac390106ff6060d7' '22f8a85daf4a012180322e1f52a7563b' 'ea2acaf140ae40a87a952caa75184f4d' @@ -162,13 +159,11 @@ md5sums=('383c63b8055967408e34ca7981b5dab8' 'd88f9b94df880d2c05be943b000ca112' '1120705cd0f0d9bd5506360bf57b6c2e' 'd794625f156a9fb1c53b3f8a8aa13b5e' - '82628333418f101a20cd21f980cf9f40' - '040e0d7ce0cc0eb3a016964699d54a6c' '496dd00028afcc19f896b01394769043' - '9cafe7f50a3b2c5ebd2dc9c6c509d2b4' '21154d2004e025c8a3666625b0357bb5' 'c0b86562d5aa40761a87134f83e6adcf' '3a62e10c57270718cabfdfc4b7b4e095' + 'af3ccc1f1884e68389088d490d596409' '07d2bf5ad839a394cca008b3ec6e7bb1' '4195735a80876ae812fca5736b50192a' 'e7e4b3e70e99e5cba8f8dfcacf3b0d87') @@ -223,10 +218,13 @@ build() { --with-parallelism=${MAKEFLAGS/-j/} \ --with-external-tar="${srcdir}/ext_sources" \ --disable-fetch-external \ + --disable-verbose \ + --enable-release-build \ --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \ --libdir=/usr/lib --mandir=/usr/share/man \ --with-lang="" \ --enable-crashdump \ + --enable-avahi \ --enable-dbus \ --enable-evolution2\ --enable-gio\ @@ -236,11 +234,15 @@ build() { --enable-gtk3 \ --enable-gstreamer \ --enable-lockdown\ + --enable-opencl \ --enable-opengl \ + --enable-openssl \ --enable-odk\ + --enable-orcus \ --enable-python=system \ --enable-scripting-beanshell \ --enable-scripting-javascript \ + --enable-telepathy \ --enable-ext-wiki-publisher \ --enable-ext-nlpsolver \ --without-fonts\ @@ -249,7 +251,7 @@ build() { --without-system-libcdr \ --without-system-mdds\ --without-myspell-dicts \ - --without-system-libvisio \ + --with-system-libvisio \ --without-system-libcmis \ --without-system-libmspub \ --without-system-libexttextcat \ @@ -257,13 +259,14 @@ build() { --without-system-liblangtag \ --without-system-jfreereport \ --without-system-apache-commons \ - --without-system-libodfgen \ + --with-system-libodfgen \ --without-system-libmwaw \ - --without-system-libetonyek \ + --with-system-libetonyek \ --without-system-libfreehand \ --without-system-firebird \ --without-system-libatomic-ops \ --without-system-libebook \ + --without-system-libabw \ --with-system-dicts \ --with-external-dict-dir=/usr/share/hunspell \ --with-external-hyph-dir=/usr/share/hyphen \ @@ -284,10 +287,10 @@ build() { --without-system-hsqldb \ --with-alloc=system\ --with-system-clucene \ - --disable-dependency-tracking + --disable-dependency-tracking \ + --enable-hardlink-deliver #--help -# --enable-mergelibs \ # https://bugs.archlinux.org/task/34414 - +# --enable-mergelibs= \ # https://bugs.archlinux.org/task/34414 # --without-ppds\ # breaks spadmin permission #--enable-split-opt-features Split file lists for some optional features, .e.g. pyuno, testtool @@ -311,19 +314,20 @@ package_libreoffice-common() { install=libreoffice-common.install depends=('libreoffice-langpack' "hunspell>=1.2.8" "python>=3.3" "neon>=0.28.6" 'dbus-glib' 'librsvg' 'libcups' 'nss' 'libsm' 'redland' 'hyphen' 'graphite' "icu>=52.1" 'clucene' 'lcms2' "poppler>=0.24.0" - 'harfbuzz-icu' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils') + 'libodfgen' 'libvisio' 'harfbuzz-icu' 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils') optdepends=('libreoffice-langpack: additional language support' 'java-runtime: adds java support' 'pstoedit: translates PostScript and PDF graphics into other vector formats' 'libmythes: for use in thesaurus' - 'beanshell: interactive java -- good for prototyping /macros' + 'beanshell2: interactive java -- good for prototyping/macros' 'vigra: C++ computer vision library, usable in Basebmp' 'libmspack: library for Microsoft compression formats for use in FontOOo' 'libwpg: library for importing and converting Corel WordPerfect(tm) Graphics images and for MS visual import' 'sane: for scanner access' 'unixodbc: adds ODBC database support' 'gst-plugins-base-libs: + some gstr-plugins to support multimedia content, e.g. in impress' - 'gtk2: for browser plugin') + 'gtk2: for browser plugin' + 'libpaper: takes care of papersize') backup=(etc/libreoffice/sofficerc etc/libreoffice/bootstraprc etc/libreoffice/psprint.conf @@ -370,11 +374,6 @@ package_libreoffice-common() { mv ${pkgdir}/etc/bash_completion.d/libreoffice.sh ${pkgdir}/usr/share/bash-completion/completions/libreoffice.sh rm -rf ${pkgdir}/etc/bash_completion.d - # some files would conflict - rm -vf ${pkgdir}/usr/lib/libreoffice/program/classes/ScriptProviderForJavaScript.jar - rm -vf ${pkgdir}/usr/lib/libreoffice/program/classes/js.jar - rm -vf ${pkgdir}/usr/lib/libreoffice/program/services/scriptproviderforjavascript.rdb - # make pyuno find its modules install -dm755 ${pkgdir}/usr/lib/python3.3/site-packages ln -svf /usr/lib/libreoffice/program/uno.py ${pkgdir}/usr/lib/python3.3/site-packages/uno.py @@ -382,6 +381,20 @@ package_libreoffice-common() { # workaround all packages now depend on that file cp ${srcdir}/fakeinstall/usr/lib/libreoffice/share/registry/writer.xcd ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd + + # add missing files from Beanshell provider + # create directories from *list.txt file + for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do + install -dm755 ${pkgdir}/${directory/\%dir/} + done + # install files into the pkg from fakeinstall dir + for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do + dirname=`dirname $file` + # check if directory has been already been created - some are missing like manpages + [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname + # mv file from fakeinstall to pkgdir + mv ${srcdir}/fakeinstall${file} ${pkgdir}$file || /bin/true # some double file entries make it fail + done } package_libreoffice-base() { @@ -433,7 +446,7 @@ package_libreoffice-postgresql-connector() { package_libreoffice-calc() { pkgdesc="Spreadsheet application for LibreOffice." install=libreoffice-calc.install - depends=('libreoffice-common' 'lpsolve' ) + depends=('libreoffice-common' 'lpsolve' 'telepathy-glib') #depends=('libreoffice-writer' 'lpsolve' ) # some hidden uno linking to parts of the writer pkg - https://bugs.archlinux.org/task/34332 groups=('libreoffice') replaces=('libreoffice') @@ -497,7 +510,7 @@ package_libreoffice-gnome() { package_libreoffice-impress() { pkgdesc="Presentation Application for LibreOffice." install=libreoffice-impress.install - depends=('libreoffice-common') + depends=('libreoffice-common' 'libetonyek') optdepends=('glu: for the OGLTrans extension') groups=('libreoffice') replaces=('libreoffice') @@ -535,6 +548,20 @@ package_libreoffice-kde4() { # mv file from fakeinstall to pkgdir mv ${srcdir}/fakeinstall${file} ${pkgdir}$file done + + # one file (libkde4be1lo.so) is part of kde_list.txt + # create directories from *list.txt file + for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/kde_list.txt`; do + install -dm755 ${pkgdir}/${directory/\%dir/} + done + # install files into the pkg from fakeinstall dir + for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/kde_list.txt`; do + dirname=`dirname $file` + # check if directory has been already been created - some are missing like manpages + [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname + # mv file from fakeinstall to pkgdir + mv ${srcdir}/fakeinstall${file} ${pkgdir}$file + done } package_libreoffice-math() { diff --git a/extra/openjpeg/PKGBUILD b/extra/openjpeg/PKGBUILD index a54d97558..65e9f357b 100644 --- a/extra/openjpeg/PKGBUILD +++ b/extra/openjpeg/PKGBUILD @@ -1,28 +1,66 @@ -# $Id: PKGBUILD 198355 2013-10-30 14:21:56Z allan $ +# $Id: PKGBUILD 205844 2014-02-11 15:10:57Z jgc $ # Maintainer: Jan de Groot pkgname=openjpeg pkgver=1.5.1 -pkgrel=1 +pkgrel=2 pkgdesc="An open source JPEG 2000 codec" arch=(i686 x86_64) license=('BSD') url="http://www.openjpeg.org" depends=('zlib') -source=(http://openjpeg.googlecode.com/files/openjpeg-${pkgver}.tar.gz) -sha1sums=('1b0b74d1af4c297fd82806a9325bb544caf9bb8b') +makedepends=('libtiff' 'lcms2' 'libpng' 'doxygen') +optdepends=('lcms2: j2k_to_image and image_to_j2k programs' + 'libpng: j2k_to_image and image_to_j2k programs') +source=(http://openjpeg.googlecode.com/files/openjpeg-${pkgver}.tar.gz + openjpeg-1.5.1-CVE-2013-1447.patch + openjpeg-1.5.1-CVE-2013-6045.patch + openjpeg-1.5.1-CVE-2013-6052.patch + openjpeg-1.5.1-CVE-2013-6053.patch + openjpeg-1.5.1-CVE-2013-6887.patch + openjpeg-1.5.1-doxygen_timestamp.patch + openjpeg-1.5-r2029.patch + openjpeg-1.5-r2031.patch + openjpeg-1.5-r2032.patch + openjpeg-1.5-r2033.patch) +sha1sums=('1b0b74d1af4c297fd82806a9325bb544caf9bb8b' + 'f2baf9bde105c96c7016be907cd278f2878be2b9' + 'f3764e473bd35508e83643a9257979eaa2c89c36' + '1d600a13432b977c46a5b74bf87bf1b5a130abfb' + '8d2da4b912d7e930abec31a956b678f62566884c' + '038e471597decf36de0c7c78915744054704c601' + '339677795a567c0f91b62141847b8e5dda53e763' + '1cd97c1be5cedad136894db2b16f856a28387aeb' + 'f68108dd25c7ed278678de11d5713fba87ab6017' + '222769c17e69022902d4e49c9dc5294361a00c85' + '9ec5c1e0909c8946a174733a598fbe38675a0c9c') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../openjpeg-1.5.1-doxygen_timestamp.patch + patch -Np0 -i ../openjpeg-1.5-r2029.patch + patch -Np0 -i ../openjpeg-1.5-r2031.patch + patch -Np0 -i ../openjpeg-1.5-r2032.patch + patch -Np0 -i ../openjpeg-1.5-r2033.patch + patch -Np1 -i ../openjpeg-1.5.1-CVE-2013-6052.patch + patch -Np1 -i ../openjpeg-1.5.1-CVE-2013-6053.patch +# patch -Np1 -i ../openjpeg-1.5.1-CVE-2013-6045.patch + patch -Np1 -i ../openjpeg-1.5.1-CVE-2013-1447.patch + patch -Np1 -i ../openjpeg-1.5.1-CVE-2013-6887.patch +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname-$pkgver + autoreconf -fi # make sure we use system libs rm -rf thirdparty ./configure --prefix=/usr \ - --disable-static --disable-silent-rules + --enable-shared --disable-static --disable-silent-rules make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd $pkgname-$pkgver make DESTDIR="${pkgdir}" install install -m755 -d "${pkgdir}/usr/share/licenses/openjpeg" install -m644 LICENSE "${pkgdir}/usr/share/licenses/openjpeg/LICENSE" diff --git a/extra/openjpeg/openjpeg-1.5-r2029.patch b/extra/openjpeg/openjpeg-1.5-r2029.patch new file mode 100644 index 000000000..a1a819a8c --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5-r2029.patch @@ -0,0 +1,77 @@ +Index: libopenjpeg/jp2.c +=================================================================== +--- libopenjpeg/jp2.c (revision 2028) ++++ libopenjpeg/jp2.c (revision 2029) +@@ -173,6 +173,10 @@ + else if (box->length == 0) { + box->length = cio_numbytesleft(cio) + 8; + } ++ if (box->length < 0) { ++ opj_event_msg(cinfo, EVT_ERROR, "Integer overflow in box->length\n"); ++ return OPJ_FALSE; // TODO: actually check jp2_read_boxhdr's return value ++ } + + return OPJ_TRUE; + } +@@ -654,6 +658,7 @@ + opj_event_msg(cinfo, EVT_ERROR, "Expected JP2H Marker\n"); + return OPJ_FALSE; + } ++ if (box.length <= 8) return OPJ_FALSE; + cio_skip(cio, box.length - 8); + + if(cio->bp >= cio->end) return OPJ_FALSE; +@@ -679,6 +684,7 @@ + { + if( !jp2_read_colr(jp2, cio, &box, color)) + { ++ if (box.length <= 8) return OPJ_FALSE; + cio_seek(cio, box.init_pos + 8); + cio_skip(cio, box.length - 8); + } +@@ -689,6 +695,7 @@ + { + if( !jp2_read_cdef(jp2, cio, &box, color)) + { ++ if (box.length <= 8) return OPJ_FALSE; + cio_seek(cio, box.init_pos + 8); + cio_skip(cio, box.length - 8); + } +@@ -699,6 +706,7 @@ + { + if( !jp2_read_pclr(jp2, cio, &box, color)) + { ++ if (box.length <= 8) return OPJ_FALSE; + cio_seek(cio, box.init_pos + 8); + cio_skip(cio, box.length - 8); + } +@@ -709,12 +717,14 @@ + { + if( !jp2_read_cmap(jp2, cio, &box, color)) + { ++ if (box.length <= 8) return OPJ_FALSE; + cio_seek(cio, box.init_pos + 8); + cio_skip(cio, box.length - 8); + } + if( jp2_read_boxhdr(cinfo, cio, &box) == OPJ_FALSE ) return OPJ_FALSE; + continue; + } ++ if (box.length <= 8) return OPJ_FALSE; + cio_seek(cio, box.init_pos + 8); + cio_skip(cio, box.length - 8); + if( jp2_read_boxhdr(cinfo, cio, &box) == OPJ_FALSE ) return OPJ_FALSE; +@@ -910,12 +920,14 @@ + } + do { + if(JP2_JP2C != box.type) { ++ if (box.length <= 8) return OPJ_FALSE; + cio_skip(cio, box.length - 8); + if( jp2_read_boxhdr(cinfo, cio, &box) == OPJ_FALSE ) return OPJ_FALSE; + } + } while(JP2_JP2C != box.type); + + *j2k_codestream_offset = cio_tell(cio); ++ if (box.length <= 8) return OPJ_FALSE; + *j2k_codestream_length = box.length - 8; + + return OPJ_TRUE; diff --git a/extra/openjpeg/openjpeg-1.5-r2031.patch b/extra/openjpeg/openjpeg-1.5-r2031.patch new file mode 100644 index 000000000..d8249acad --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5-r2031.patch @@ -0,0 +1,24 @@ +Index: libopenjpeg/jpwl/Makefile.am +=================================================================== +--- libopenjpeg/jpwl/Makefile.am (revision 2030) ++++ libopenjpeg/jpwl/Makefile.am (revision 2031) +@@ -18,7 +18,6 @@ + ../pi.c \ + ../raw.c \ + ../t1.c \ +-../t1_generate_luts.c \ + ../t2.c \ + ../tcd.c \ + ../tgt.c \ +Index: libopenjpeg/Makefile.am +=================================================================== +--- libopenjpeg/Makefile.am (revision 2030) ++++ libopenjpeg/Makefile.am (revision 2031) +@@ -35,7 +35,6 @@ + pi.c \ + raw.c \ + t1.c \ +-t1_generate_luts.c \ + t2.c \ + tcd.c \ + tgt.c \ diff --git a/extra/openjpeg/openjpeg-1.5-r2032.patch b/extra/openjpeg/openjpeg-1.5-r2032.patch new file mode 100644 index 000000000..3d7d4fa7c --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5-r2032.patch @@ -0,0 +1,30 @@ +Index: libopenjpeg/j2k.c +=================================================================== +--- libopenjpeg/j2k.c (revision 2031) ++++ libopenjpeg/j2k.c (revision 2032) +@@ -468,6 +468,12 @@ + } + #endif /* USE_JPWL */ + ++ /* prevent division by zero */ ++ if (!(cp->tdx * cp->tdy)) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, "JPWL: invalid tile size (tdx: %d, tdy: %d)\n", cp->tdx, cp->tdy); ++ return; ++ } ++ + image->comps = (opj_image_comp_t*) opj_calloc(image->numcomps, sizeof(opj_image_comp_t)); + for (i = 0; i < image->numcomps; i++) { + int tmp, w, h; +@@ -506,6 +512,12 @@ + } + #endif /* USE_JPWL */ + ++ /* prevent division by zero */ ++ if (!(image->comps[i].dx * image->comps[i].dy)) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, "JPWL: invalid component size (dx: %d, dy: %d)\n", image->comps[i].dx, image->comps[i].dy); ++ return; ++ } ++ + /* TODO: unused ? */ + w = int_ceildiv(image->x1 - image->x0, image->comps[i].dx); + h = int_ceildiv(image->y1 - image->y0, image->comps[i].dy); diff --git a/extra/openjpeg/openjpeg-1.5-r2033.patch b/extra/openjpeg/openjpeg-1.5-r2033.patch new file mode 100644 index 000000000..a84513913 --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5-r2033.patch @@ -0,0 +1,49 @@ +Index: libopenjpeg/j2k.c +=================================================================== +--- libopenjpeg/j2k.c (revision 2032) ++++ libopenjpeg/j2k.c (revision 2033) +@@ -835,6 +835,12 @@ + + len = cio_read(cio, 2); /* Lcoc */ + compno = cio_read(cio, image->numcomps <= 256 ? 1 : 2); /* Ccoc */ ++ if (compno >= image->numcomps) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, ++ "bad component number in COC (%d out of a maximum of %d)\n", ++ compno, image->numcomps); ++ return; ++ } + tcp->tccps[compno].csty = cio_read(cio, 1); /* Scoc */ + j2k_read_cox(j2k, compno); + } +@@ -1016,9 +1022,16 @@ + + /* keep your private count of tiles */ + backup_compno++; +- }; ++ } + #endif /* USE_JPWL */ + ++ if ((compno < 0) || (compno >= numcomp)) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, ++ "bad component number in QCC (%d out of a maximum of %d)\n", ++ compno, j2k->image->numcomps); ++ return; ++ } ++ + j2k_read_qcx(j2k, compno, len - 2 - (numcomp <= 256 ? 1 : 2)); + } + +@@ -1602,6 +1615,13 @@ + }; + #endif /* USE_JPWL */ + ++ if (compno >= numcomps) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, ++ "bad component number in RGN (%d out of a maximum of %d)\n", ++ compno, j2k->image->numcomps); ++ return; ++ } ++ + tcp->tccps[compno].roishift = cio_read(cio, 1); /* SPrgn */ + } + diff --git a/extra/openjpeg/openjpeg-1.5.1-CVE-2013-1447.patch b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-1447.patch new file mode 100644 index 000000000..a0e372325 --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-1447.patch @@ -0,0 +1,165 @@ +diff -up openjpeg-1.5.1/libopenjpeg/cio.c.CVE-2013-1447 openjpeg-1.5.1/libopenjpeg/cio.c +--- openjpeg-1.5.1/libopenjpeg/cio.c.CVE-2013-1447 2014-01-07 15:12:20.517748762 -0600 ++++ openjpeg-1.5.1/libopenjpeg/cio.c 2014-01-07 15:12:20.533748592 -0600 +@@ -107,6 +107,11 @@ int OPJ_CALLCONV cio_tell(opj_cio_t *cio + * pos : position, in number of bytes, from the beginning of the stream + */ + void OPJ_CALLCONV cio_seek(opj_cio_t *cio, int pos) { ++ if ((cio->start + pos) > cio->end) { ++ opj_event_msg(cio->cinfo, EVT_ERROR, "error: trying to seek past the end of the codestream (start = %d, change = %d, end = %d\n", cio->start, pos, cio->end); ++ cio->bp = cio->end; ++ return; ++ } + cio->bp = cio->start + pos; + } + +@@ -114,6 +119,7 @@ void OPJ_CALLCONV cio_seek(opj_cio_t *ci + * Number of bytes left before the end of the stream. + */ + int cio_numbytesleft(opj_cio_t *cio) { ++ assert((cio->end - cio->bp) >= 0); + return cio->end - cio->bp; + } + +@@ -191,6 +197,11 @@ unsigned int cio_read(opj_cio_t *cio, in + */ + void cio_skip(opj_cio_t *cio, int n) { + assert((cio->bp + n) >= cio->bp); ++ if (((cio->bp + n) < cio->start) || ((cio->bp + n) > cio->end)) { ++ opj_event_msg(cio->cinfo, EVT_ERROR, "error: trying to skip bytes past the end of the codestream (current = %d, change = %d, end = %d\n", cio->bp, n, cio->end); ++ cio->bp = cio->end; ++ return; ++ } + cio->bp += n; + } + +diff -up openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-1447 openjpeg-1.5.1/libopenjpeg/j2k.c +--- openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-1447 2014-01-07 15:12:20.525748677 -0600 ++++ openjpeg-1.5.1/libopenjpeg/j2k.c 2014-01-07 15:12:20.534748582 -0600 +@@ -476,7 +476,7 @@ static void j2k_read_siz(opj_j2k_t *j2k) + + image->comps = (opj_image_comp_t*) opj_calloc(image->numcomps, sizeof(opj_image_comp_t)); + for (i = 0; i < image->numcomps; i++) { +- int tmp, w, h; ++ int tmp/*, w, h*/; + tmp = cio_read(cio, 1); /* Ssiz_i */ + image->comps[i].prec = (tmp & 0x7f) + 1; + image->comps[i].sgnd = tmp >> 7; +@@ -511,6 +511,14 @@ static void j2k_read_siz(opj_j2k_t *j2k) + + } + #endif /* USE_JPWL */ ++ { ++ if (!(image->comps[i].dx * image->comps[i].dy)) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, ++ "JPWL: bad XRsiz_%d/YRsiz_%d (%d x %d)\n", ++ i, i, image->comps[i].dx, image->comps[i].dy); ++ return; ++ } ++ } + + /* prevent division by zero */ + if (!(image->comps[i].dx * image->comps[i].dy)) { +@@ -519,8 +527,8 @@ static void j2k_read_siz(opj_j2k_t *j2k) + } + + /* TODO: unused ? */ +- w = int_ceildiv(image->x1 - image->x0, image->comps[i].dx); +- h = int_ceildiv(image->y1 - image->y0, image->comps[i].dy); ++/* w = int_ceildiv(image->x1 - image->x0, image->comps[i].dx); ++ h = int_ceildiv(image->y1 - image->y0, image->comps[i].dy);*/ + + image->comps[i].resno_decoded = 0; /* number of resolution decoded */ + image->comps[i].factor = cp->reduce; /* reducing factor per component */ +@@ -2015,6 +2023,11 @@ opj_image_t* j2k_decode(opj_j2k_t *j2k, + } + if (j2k->state == J2K_STATE_NEOC) { + j2k_read_eoc(j2k); ++ /* Check one last time for errors during decoding before returning */ ++ if (j2k->state & J2K_STATE_ERR) { ++ opj_image_destroy(image); ++ return NULL; ++ } + } + + if (j2k->state != J2K_STATE_MT) { +diff -up openjpeg-1.5.1/libopenjpeg/jp2.c.CVE-2013-1447 openjpeg-1.5.1/libopenjpeg/jp2.c +--- openjpeg-1.5.1/libopenjpeg/jp2.c.CVE-2013-1447 2014-01-07 15:12:20.518748752 -0600 ++++ openjpeg-1.5.1/libopenjpeg/jp2.c 2014-01-07 15:12:20.535748571 -0600 +@@ -819,6 +819,17 @@ void jp2_write_jp2h(opj_jp2_t *jp2, opj_ + + jp2_write_ihdr(jp2, cio); + ++ { ++ int curpos = cio_tell(cio); ++ cio_seek(cio, box.init_pos); ++ cio_skip(cio, box.length); ++ if ((cio_tell(cio) - box.init_pos) != box.length) { ++ opj_event_msg(jp2->cinfo, EVT_ERROR, "Box size exceeds size of codestream (expected: %d, real: %d)\n", box.length, (cio_tell(cio) - box.init_pos)); ++ return OPJ_FALSE; ++ } ++ cio_seek(cio, curpos); ++ } ++ + if (jp2->bpc == 255) { + jp2_write_bpcc(jp2, cio); + } +@@ -871,6 +882,13 @@ static opj_bool jp2_read_ftyp(opj_jp2_t + jp2->numcl = (box.length - 16) / 4; + jp2->cl = (unsigned int *) opj_malloc(jp2->numcl * sizeof(unsigned int)); + ++ if (cio_numbytesleft(cio) < ((int)jp2->numcl * 4)) { ++ opj_event_msg(cinfo, EVT_ERROR, "Not enough bytes in FTYP Box " ++ "(expected %d, but only %d left)\n", ++ ((int)jp2->numcl * 4), cio_numbytesleft(cio)); ++ return OPJ_FALSE; ++ } ++ + for (i = 0; i < (int)jp2->numcl; i++) { + jp2->cl[i] = cio_read(cio, 4); /* CLi */ + } +diff -up openjpeg-1.5.1/libopenjpeg/t2.c.CVE-2013-1447 openjpeg-1.5.1/libopenjpeg/t2.c +--- openjpeg-1.5.1/libopenjpeg/t2.c.CVE-2013-1447 2012-09-13 02:58:39.000000000 -0500 ++++ openjpeg-1.5.1/libopenjpeg/t2.c 2014-01-07 15:12:20.535748571 -0600 +@@ -340,6 +340,11 @@ static int t2_decode_packet(opj_t2_t* t2 + int precno = pi->precno; /* precinct value */ + int layno = pi->layno; /* quality layer value */ + ++ if (!&(tile->comps[compno])) { ++ opj_event_msg(t2->cinfo, EVT_ERROR, "Trying to decode tile with no components!\n"); ++ return -999; ++ } ++ + opj_tcd_resolution_t* res = &tile->comps[compno].resolutions[resno]; + + unsigned char *hd = NULL; +diff -up openjpeg-1.5.1/libopenjpeg/tcd.c.CVE-2013-1447 openjpeg-1.5.1/libopenjpeg/tcd.c +--- openjpeg-1.5.1/libopenjpeg/tcd.c.CVE-2013-1447 2014-01-07 15:12:20.526748667 -0600 ++++ openjpeg-1.5.1/libopenjpeg/tcd.c 2014-01-07 15:12:20.536748561 -0600 +@@ -667,8 +667,8 @@ void tcd_malloc_decode(opj_tcd_t *tcd, o + y1 = j == 0 ? tilec->y1 : int_max(y1, (unsigned int) tilec->y1); + } + +- w = int_ceildivpow2(x1 - x0, image->comps[i].factor); +- h = int_ceildivpow2(y1 - y0, image->comps[i].factor); ++ w = int_ceildivpow2((long)(x1) - (long)(x0), image->comps[i].factor); ++ h = int_ceildivpow2((long)(y1) - (long)(y0), image->comps[i].factor); + + image->comps[i].w = w; + image->comps[i].h = h; +@@ -1381,7 +1381,15 @@ opj_bool tcd_decode_tile(opj_tcd_t *tcd, + if (l == -999) { + eof = 1; + opj_event_msg(tcd->cinfo, EVT_ERROR, "tcd_decode: incomplete bistream\n"); ++ return OPJ_FALSE; + } ++ ++ /* The code below assumes that numcomps > 0 */ ++ if (tile->numcomps <= 0) { ++ opj_event_msg(tcd->cinfo, EVT_ERROR, "tcd_decode: tile has a zero or negative numcomps\n"); ++ return OPJ_TRUE; ++ } ++ + + /*------------------TIER1-----------------*/ + diff --git a/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6045.patch b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6045.patch new file mode 100644 index 000000000..f45566f36 --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6045.patch @@ -0,0 +1,60 @@ +diff -up openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-6045 openjpeg-1.5.1/libopenjpeg/j2k.c +--- openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-6045 2014-01-07 15:11:30.622278207 -0600 ++++ openjpeg-1.5.1/libopenjpeg/j2k.c 2014-01-07 15:11:30.626278165 -0600 +@@ -1076,6 +1076,17 @@ static void j2k_read_poc(opj_j2k_t *j2k) + tcp->POC = 1; + len = cio_read(cio, 2); /* Lpoc */ + numpchgs = (len - 2) / (5 + 2 * (numcomps <= 256 ? 1 : 2)); ++ ++ { ++ /* old_poc < 0 "just in case" */ ++ int maxpocs = (sizeof(tcp->pocs)/sizeof(tcp->pocs[0])); ++ if ((old_poc < 0) || ((numpchgs + old_poc) >= maxpocs)) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, ++ "JPWL: bad number of progression order changes (%d out of a maximum of %d)\n", ++ (numpchgs + old_poc), maxpocs); ++ return; ++ } ++ } + + for (i = old_poc; i < numpchgs + old_poc; i++) { + opj_poc_t *poc; +@@ -1622,6 +1633,14 @@ static void j2k_read_rgn(opj_j2k_t *j2k) + return; + } + ++ /* totlen is negative or larger than the bytes left!!! */ ++ if (compno >= numcomps) { ++ opj_event_msg(j2k->cinfo, EVT_ERROR, ++ "JPWL: bad component number in RGN (%d when there are only %d)\n", ++ compno, numcomps); ++ return; ++ } ++ + tcp->tccps[compno].roishift = cio_read(cio, 1); /* SPrgn */ + } + +diff -up openjpeg-1.5.1/libopenjpeg/tcd.c.CVE-2013-6045 openjpeg-1.5.1/libopenjpeg/tcd.c +--- openjpeg-1.5.1/libopenjpeg/tcd.c.CVE-2013-6045 2012-09-13 02:58:39.000000000 -0500 ++++ openjpeg-1.5.1/libopenjpeg/tcd.c 2014-01-07 15:11:30.626278165 -0600 +@@ -1394,10 +1394,19 @@ opj_bool tcd_decode_tile(opj_tcd_t *tcd, + return OPJ_FALSE; + } + ++ int comp0size = (tile->comps[0].x1 - tile->comps[0].x0) * (tile->comps[0].y1 - tile->comps[0].y0); + for (compno = 0; compno < tile->numcomps; ++compno) { + opj_tcd_tilecomp_t* tilec = &tile->comps[compno]; ++ int compcsize = ((tilec->x1 - tilec->x0) * (tilec->y1 - tilec->y0)); ++ /* Later-on it is assumed that all components are of at least comp0size blocks */ ++ if (compcsize < comp0size) ++ { ++ opj_event_msg(tcd->cinfo, EVT_ERROR, "Error decoding tile. Component %d contains only %d blocks " ++ "while component 0 has %d blocks\n", compno, compcsize, comp0size); ++ return OPJ_FALSE; ++ } + /* The +3 is headroom required by the vectorized DWT */ +- tilec->data = (int*) opj_aligned_malloc((((tilec->x1 - tilec->x0) * (tilec->y1 - tilec->y0))+3) * sizeof(int)); ++ tilec->data = (int*) opj_aligned_malloc((comp0size+3) * sizeof(int)); + if (tilec->data == NULL) + { + opj_event_msg(tcd->cinfo, EVT_ERROR, "Out of memory\n"); diff --git a/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6052.patch b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6052.patch new file mode 100644 index 000000000..a157f39a7 --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6052.patch @@ -0,0 +1,53 @@ +diff -up openjpeg-1.5.1/libopenjpeg/cio.c.CVE-2013-6052 openjpeg-1.5.1/libopenjpeg/cio.c +--- openjpeg-1.5.1/libopenjpeg/cio.c.CVE-2013-6052 2012-09-13 02:58:39.000000000 -0500 ++++ openjpeg-1.5.1/libopenjpeg/cio.c 2014-01-07 14:43:14.213256439 -0600 +@@ -30,6 +30,7 @@ + */ + + #include "opj_includes.h" ++#include + + /* ----------------------------------------------------------------------- */ + +@@ -139,6 +140,11 @@ opj_bool cio_byteout(opj_cio_t *cio, uns + * Read a byte. + */ + unsigned char cio_bytein(opj_cio_t *cio) { ++ if (cio->bp < cio->start) { ++ opj_event_msg(cio->cinfo, EVT_ERROR, "read error: trying to read from before the start of the codestream (start = %d, current = %d, end = %d\n", cio->start, cio->bp, cio->end); ++ abort(); ++ return 0; ++ } + if (cio->bp >= cio->end) { + opj_event_msg(cio->cinfo, EVT_ERROR, "read error: passed the end of the codestream (start = %d, current = %d, end = %d\n", cio->start, cio->bp, cio->end); + return 0; +@@ -173,7 +179,7 @@ unsigned int cio_read(opj_cio_t *cio, in + unsigned int v; + v = 0; + for (i = n - 1; i >= 0; i--) { +- v += cio_bytein(cio) << (i << 3); ++ v += (unsigned int)cio_bytein(cio) << (i << 3); + } + return v; + } +@@ -184,6 +190,7 @@ unsigned int cio_read(opj_cio_t *cio, in + * n : number of bytes to skip + */ + void cio_skip(opj_cio_t *cio, int n) { ++ assert((cio->bp + n) >= cio->bp); + cio->bp += n; + } + +diff -up openjpeg-1.5.1/libopenjpeg/jp2.c.CVE-2013-6052 openjpeg-1.5.1/libopenjpeg/jp2.c +--- openjpeg-1.5.1/libopenjpeg/jp2.c.CVE-2013-6052 2014-01-07 14:43:14.201256566 -0600 ++++ openjpeg-1.5.1/libopenjpeg/jp2.c 2014-01-07 14:43:14.214256428 -0600 +@@ -172,6 +172,9 @@ static opj_bool jp2_read_boxhdr(opj_comm + } + else if (box->length == 0) { + box->length = cio_numbytesleft(cio) + 8; ++ } else if (box->length < 0) { ++ opj_event_msg(cinfo, EVT_ERROR, "Invalid, negative, size of box\n"); ++ return OPJ_FALSE; + } + if (box->length < 0) { + opj_event_msg(cinfo, EVT_ERROR, "Integer overflow in box->length\n"); diff --git a/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6053.patch b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6053.patch new file mode 100644 index 000000000..292084a98 --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6053.patch @@ -0,0 +1,12 @@ +diff -up openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-6053 openjpeg-1.5.1/libopenjpeg/j2k.c +--- openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-6053 2014-01-07 14:44:40.086344624 -0600 ++++ openjpeg-1.5.1/libopenjpeg/j2k.c 2014-01-07 14:44:40.092344561 -0600 +@@ -422,7 +422,7 @@ static void j2k_read_siz(opj_j2k_t *j2k) + + if ((image->x0<0)||(image->x1<0)||(image->y0<0)||(image->y1<0)) { + opj_event_msg(j2k->cinfo, EVT_ERROR, +- "%s: invalid image size (x0:%d, x1:%d, y0:%d, y1:%d)\n", ++ "invalid image size (x0:%d, x1:%d, y0:%d, y1:%d)\n", + image->x0,image->x1,image->y0,image->y1); + return; + } diff --git a/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6887.patch b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6887.patch new file mode 100644 index 000000000..f9d68ef4b --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5.1-CVE-2013-6887.patch @@ -0,0 +1,30 @@ +diff -up openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-6887 openjpeg-1.5.1/libopenjpeg/j2k.c +--- openjpeg-1.5.1/libopenjpeg/j2k.c.CVE-2013-6887 2014-01-07 15:13:20.297114457 -0600 ++++ openjpeg-1.5.1/libopenjpeg/j2k.c 2014-01-07 15:13:20.302114404 -0600 +@@ -1697,8 +1697,11 @@ static void j2k_read_eoc(opj_j2k_t *j2k) + else { + for (i = 0; i < j2k->cp->tileno_size; i++) { + tileno = j2k->cp->tileno[i]; +- opj_free(j2k->tile_data[tileno]); +- j2k->tile_data[tileno] = NULL; ++ /* not sure if this can actually happen */ ++ if (tileno != -1) { ++ opj_free(j2k->tile_data[tileno]); ++ j2k->tile_data[tileno] = NULL; ++ } + } + } + if (j2k->state & J2K_STATE_ERR) +@@ -1858,8 +1861,10 @@ void j2k_destroy_decompress(opj_j2k_t *j + if(j2k->cp != NULL) { + for (i = 0; i < j2k->cp->tileno_size; i++) { + int tileno = j2k->cp->tileno[i]; +- opj_free(j2k->tile_data[tileno]); +- j2k->tile_data[tileno] = NULL; ++ if (tileno != -1) { ++ opj_free(j2k->tile_data[tileno]); ++ j2k->tile_data[tileno] = NULL; ++ } + } + } + diff --git a/extra/openjpeg/openjpeg-1.5.1-doxygen_timestamp.patch b/extra/openjpeg/openjpeg-1.5.1-doxygen_timestamp.patch new file mode 100644 index 000000000..2f5999992 --- /dev/null +++ b/extra/openjpeg/openjpeg-1.5.1-doxygen_timestamp.patch @@ -0,0 +1,24 @@ +diff -up openjpeg-1.5.1/doc/Doxyfile.dox.cmake.in.doxygen_timestamp openjpeg-1.5.1/doc/Doxyfile.dox.cmake.in +--- openjpeg-1.5.1/doc/Doxyfile.dox.cmake.in.doxygen_timestamp 2012-09-13 02:58:39.000000000 -0500 ++++ openjpeg-1.5.1/doc/Doxyfile.dox.cmake.in 2012-12-06 15:23:35.079838524 -0600 +@@ -148,7 +148,7 @@ HTML_STYLESHEET = + HTML_COLORSTYLE_HUE = 220 + HTML_COLORSTYLE_SAT = 100 + HTML_COLORSTYLE_GAMMA = 80 +-HTML_TIMESTAMP = YES ++HTML_TIMESTAMP = NO + HTML_ALIGN_MEMBERS = YES + HTML_DYNAMIC_SECTIONS = NO + GENERATE_DOCSET = NO +diff -up openjpeg-1.5.1/doc/Doxyfile.dox.doxygen_timestamp openjpeg-1.5.1/doc/Doxyfile.dox +--- openjpeg-1.5.1/doc/Doxyfile.dox.doxygen_timestamp 2012-09-13 02:58:39.000000000 -0500 ++++ openjpeg-1.5.1/doc/Doxyfile.dox 2012-12-06 15:23:37.177813275 -0600 +@@ -147,7 +147,7 @@ HTML_STYLESHEET = + HTML_COLORSTYLE_HUE = 220 + HTML_COLORSTYLE_SAT = 100 + HTML_COLORSTYLE_GAMMA = 80 +-HTML_TIMESTAMP = YES ++HTML_TIMESTAMP = NO + HTML_ALIGN_MEMBERS = YES + HTML_DYNAMIC_SECTIONS = NO + GENERATE_DOCSET = NO diff --git a/extra/python-numpy/PKGBUILD b/extra/python-numpy/PKGBUILD index 5df819ca9..a9d6dd708 100755 --- a/extra/python-numpy/PKGBUILD +++ b/extra/python-numpy/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 200823 2013-12-06 08:09:29Z jgc $ +# $Id: PKGBUILD 205836 2014-02-11 12:33:14Z jgc $ # Maintainer: Jan de Groot # Contributor: Douglas Soares de Andrade # Contributor: Angel 'angvp' Velasquez @@ -6,17 +6,23 @@ pkgbase=python-numpy pkgname=('python2-numpy' 'python-numpy') pkgver=1.8.0 -pkgrel=1 +pkgrel=2 pkgdesc="Scientific tools for Python" arch=('i686' 'x86_64') license=('custom') url="http://www.numpy.org/" makedepends=('lapack' 'python' 'python2' 'python-setuptools' 'python2-setuptools' 'gcc-fortran' 'python-nose' 'python2-nose') options=('staticlibs') -source=(http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz) -md5sums=('2a4b0423a758706d592abb6721ec8dcd') +source=(http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz + numpy-insecure-mktemp-use.patch) +md5sums=('2a4b0423a758706d592abb6721ec8dcd' + '2caf84740b54dcb5fa1d47e72201f294') prepare() { + cd numpy-$pkgver + patch -Np1 -i ../numpy-insecure-mktemp-use.patch + cd .. + cp -a numpy-$pkgver numpy-py2-$pkgver cd numpy-py2-$pkgver diff --git a/extra/python-numpy/numpy-insecure-mktemp-use.patch b/extra/python-numpy/numpy-insecure-mktemp-use.patch new file mode 100644 index 000000000..8ecdcedfa --- /dev/null +++ b/extra/python-numpy/numpy-insecure-mktemp-use.patch @@ -0,0 +1,263 @@ +--- a/numpy/lib/tests/test_io.py 2013-10-30 19:32:51.000000000 +0100 ++++ b/numpy/lib/tests/test_io.py 2014-02-10 08:30:12.903607138 +0100 +@@ -4,7 +4,9 @@ + import gzip + import os + import threading +-from tempfile import mkstemp, mktemp, NamedTemporaryFile ++import shutil ++import contextlib ++from tempfile import mkstemp, mkdtemp, NamedTemporaryFile + import time + import warnings + import gc +@@ -21,6 +23,12 @@ + assert_raises, run_module_suite) + from numpy.testing import assert_warns, assert_, build_err_msg + ++@contextlib.contextmanager ++def tempdir(change_dir=False): ++ tmpdir = mkdtemp() ++ yield tmpdir ++ shutil.rmtree(tmpdir) ++ + + class TextIO(BytesIO): + """Helper IO class. +@@ -145,14 +153,14 @@ + @np.testing.dec.slow + def test_big_arrays(self): + L = (1 << 31) + 100000 +- tmp = mktemp(suffix='.npz') + a = np.empty(L, dtype=np.uint8) +- np.savez(tmp, a=a) +- del a +- npfile = np.load(tmp) +- a = npfile['a'] +- npfile.close() +- os.remove(tmp) ++ with tempdir() as tmpdir: ++ tmp = open(os.path.join(tmpdir, "file.npz"), "w") ++ np.savez(tmp, a=a) ++ del a ++ npfile = np.load(tmp) ++ a = npfile['a'] ++ npfile.close() + + def test_multiple_arrays(self): + a = np.array([[1, 2], [3, 4]], float) +commit 0bb46c1448b0d3f5453d5182a17ea7ac5854ee15 +Author: Julian Taylor +Date: Wed Feb 5 23:01:47 2014 +0100 + + ENH: remove insecure mktemp use + + mktemp only returns a filename, a malicous user could replace it before + it gets used. + +diff --git a/numpy/core/tests/test_memmap.py b/numpy/core/tests/test_memmap.py +index 6de6319..10e7a08 100644 +--- a/numpy/core/tests/test_memmap.py ++++ b/numpy/core/tests/test_memmap.py +@@ -1,7 +1,7 @@ + from __future__ import division, absolute_import, print_function + + import sys +-from tempfile import NamedTemporaryFile, TemporaryFile, mktemp ++from tempfile import NamedTemporaryFile, TemporaryFile + import os + + from numpy import memmap +@@ -33,12 +33,11 @@ class TestMemmap(TestCase): + assert_array_equal(self.data, newfp) + + def test_open_with_filename(self): +- tmpname = mktemp('', 'mmap') +- fp = memmap(tmpname, dtype=self.dtype, mode='w+', +- shape=self.shape) +- fp[:] = self.data[:] +- del fp +- os.unlink(tmpname) ++ with NamedTemporaryFile() as tmp: ++ fp = memmap(tmp.name, dtype=self.dtype, mode='w+', ++ shape=self.shape) ++ fp[:] = self.data[:] ++ del fp + + def test_unnamed_file(self): + with TemporaryFile() as f: +@@ -55,17 +54,16 @@ class TestMemmap(TestCase): + del fp + + def test_filename(self): +- tmpname = mktemp('', 'mmap') +- fp = memmap(tmpname, dtype=self.dtype, mode='w+', +- shape=self.shape) +- abspath = os.path.abspath(tmpname) +- fp[:] = self.data[:] +- self.assertEqual(abspath, fp.filename) +- b = fp[:1] +- self.assertEqual(abspath, b.filename) +- del b +- del fp +- os.unlink(tmpname) ++ with NamedTemporaryFile() as tmp: ++ fp = memmap(tmp.name, dtype=self.dtype, mode='w+', ++ shape=self.shape) ++ abspath = os.path.abspath(tmp.name) ++ fp[:] = self.data[:] ++ self.assertEqual(abspath, fp.filename) ++ b = fp[:1] ++ self.assertEqual(abspath, b.filename) ++ del b ++ del fp + + def test_filename_fileobj(self): + fp = memmap(self.tmpfp, dtype=self.dtype, mode="w+", +diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py +index c2ac009..a6f7b34 100644 +--- a/numpy/core/tests/test_multiarray.py ++++ b/numpy/core/tests/test_multiarray.py +@@ -2316,12 +2316,11 @@ class TestIO(object): + self.x = rand(shape) + rand(shape).astype(np.complex)*1j + self.x[0,:, 1] = [nan, inf, -inf, nan] + self.dtype = self.x.dtype +- self.filename = tempfile.mktemp() ++ self.file = tempfile.NamedTemporaryFile() ++ self.filename = self.file.name + + def tearDown(self): +- if os.path.isfile(self.filename): +- os.unlink(self.filename) +- #tmp_file.close() ++ self.file.close() + + def test_bool_fromstring(self): + v = np.array([True, False, True, False], dtype=np.bool_) +@@ -2349,7 +2348,6 @@ class TestIO(object): + y = np.fromfile(f, dtype=self.dtype) + f.close() + assert_array_equal(y, self.x.flat) +- os.unlink(self.filename) + + def test_roundtrip_filename(self): + self.x.tofile(self.filename) +@@ -2535,7 +2529,6 @@ class TestIO(object): + s = f.read() + f.close() + assert_equal(s, '1.51,2.0,3.51,4.0') +- os.unlink(self.filename) + + def test_tofile_format(self): + x = np.array([1.51, 2, 3.51, 4], dtype=float) +diff --git a/numpy/f2py/__init__.py b/numpy/f2py/__init__.py +index ccdbd4e..fcfd185 100644 +--- a/numpy/f2py/__init__.py ++++ b/numpy/f2py/__init__.py +@@ -28,20 +28,20 @@ def compile(source, + from numpy.distutils.exec_command import exec_command + import tempfile + if source_fn is None: +- fname = os.path.join(tempfile.mktemp()+'.f') ++ f = tempfile.NamedTemporaryFile(suffix='.f') + else: +- fname = source_fn +- +- f = open(fname, 'w') +- f.write(source) +- f.close() +- +- args = ' -c -m %s %s %s'%(modulename, fname, extra_args) +- c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' %(sys.executable, args) +- s, o = exec_command(c) +- if source_fn is None: +- try: os.remove(fname) +- except OSError: pass ++ f = open(source_fn, 'w') ++ ++ try: ++ f.write(source) ++ f.flush() ++ ++ args = ' -c -m %s %s %s'%(modulename, f.name, extra_args) ++ c = '%s -c "import numpy.f2py as f2py2e;f2py2e.main()" %s' % \ ++ (sys.executable, args) ++ s, o = exec_command(c) ++ finally: ++ f.close() + return s + + from numpy.testing import Tester +diff --git a/numpy/f2py/f2py2e.py b/numpy/f2py/f2py2e.py +index ff9d19e..25407d4 100755 +--- a/numpy/f2py/f2py2e.py ++++ b/numpy/f2py/f2py2e.py +@@ -91,7 +91,7 @@ Options: + --lower is assumed with -h key, and --no-lower without -h key. + + --build-dir All f2py generated files are created in . +- Default is tempfile.mktemp(). ++ Default is tempfile.mkdtemp(). + + --overwrite-signature Overwrite existing signature file. + +@@ -424,7 +424,7 @@ def run_compile(): + del sys.argv[i] + else: + remove_build_dir = 1 +- build_dir = os.path.join(tempfile.mktemp()) ++ build_dir = tempfile.mkdtemp() + + _reg1 = re.compile(r'[-][-]link[-]') + sysinfo_flags = [_m for _m in sys.argv[1:] if _reg1.match(_m)] +commit 524b9eaa33ec67e34eb31a208e02bb934f778096 +Author: Julian Taylor +Date: Sat Feb 8 11:55:36 2014 +0100 + + TST: fix test_io.TestSavezLoad + +diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py +index 2ee5c83..8995fad 100644 +--- a/numpy/lib/tests/test_io.py ++++ b/numpy/lib/tests/test_io.py +@@ -187,7 +187,7 @@ class TestSavezLoad(RoundtripTest, TestCase): + L = (1 << 31) + 100000 + a = np.empty(L, dtype=np.uint8) + with tempdir() as tmpdir: +- tmp = open(os.path.join(tmpdir, "file.npz"), "w") ++ tmp = os.path.join(tmpdir, "file.npz") + np.savez(tmp, a=a) + del a + npfile = np.load(tmp) +commit 8296aa0b911c036c984e23665ee0f7ddca579b91 +Author: Julian Taylor +Date: Sat Feb 8 13:40:26 2014 +0100 + + TST: clean up tempfile in test_closing_zipfile_after_load + +diff --git a/numpy/lib/tests/test_io.py b/numpy/lib/tests/test_io.py +index 2ee5c83..6aae3d2 100644 +--- a/numpy/lib/tests/test_io.py ++++ b/numpy/lib/tests/test_io.py +@@ -295,13 +295,14 @@ class TestSavezLoad(RoundtripTest, TestCase): + # Check that zipfile owns file and can close it. + # This needs to pass a file name to load for the + # test. +- fd, tmp = mkstemp(suffix='.npz') +- os.close(fd) +- np.savez(tmp, lab='place holder') +- data = np.load(tmp) +- fp = data.zip.fp +- data.close() +- assert_(fp.closed) ++ with tempdir() as tmpdir: ++ fd, tmp = mkstemp(suffix='.npz', dir=tmpdir) ++ os.close(fd) ++ np.savez(tmp, lab='place holder') ++ data = np.load(tmp) ++ fp = data.zip.fp ++ data.close() ++ assert_(fp.closed) + + + class TestSaveTxt(TestCase): diff --git a/extra/spamassassin/PKGBUILD b/extra/spamassassin/PKGBUILD index d5699b83e..1b527bd5c 100644 --- a/extra/spamassassin/PKGBUILD +++ b/extra/spamassassin/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 187368 2013-06-05 15:55:32Z bluewind $ +# $Id: PKGBUILD 205860 2014-02-11 21:25:20Z bluewind $ # Maintainer: Florian Pritz # Contributor: Dale Blount # Contributor: Manolis Tzanidakis pkgname=spamassassin -pkgver=3.3.2 -pkgrel=9 +pkgver=3.4.0 +pkgrel=1 pkgdesc="A mail filter to identify spam." arch=('i686' 'x86_64') license=('APACHE') @@ -21,18 +21,18 @@ backup=('etc/mail/spamassassin/local.cf' 'etc/mail/spamassassin/v320.pre' 'etc/mail/spamassassin/v330.pre') install="${pkgname}.install" -options=('!emptydirs') -source=("http://mirrors.devlib.org/apache/${pkgname}/source/Mail-SpamAssassin-${pkgver}.tar.gz" - 'spamassassin.service' - 'perl-5.18-fixes.patch') -md5sums=('d1d62cc5c6eac57e88c4006d9633b81e' - 'b8dcea016fb73b074b941e832cfae5c9' - '6cf63928eeeaea25967c2ffd875d106a') +source=("http://www.us.apache.org/dist/${pkgname}/source/Mail-SpamAssassin-${pkgver}.tar.gz"{,.asc} + 'spamassassin.service') +md5sums=('5d0b50cee3bfa905cca35c33296c8c2a' + 'SKIP' + 'd0ce5f8a02fd74dbc83632f4aaec6185') prepare() { cd "${srcdir}/Mail-SpamAssassin-${pkgver}" - patch -p0 -d lib -i "$srcdir/perl-5.18-fixes.patch" + sed -i t/sa_compile.t \ + -e 's#/foo/bin/spamassassin#/foo/bin/site_perl/spamassassin#' \ + -e 's#/foo/bin/sa-compile#/foo/bin/site_perl/sa-compile#' } build() { @@ -47,9 +47,6 @@ build() { check() { cd "${srcdir}/Mail-SpamAssassin-${pkgver}" - # SSLv2 is disabled by upstream so this test would fail - rm -rf t/spamd_ssl_v2.t - # parallel tests cause lots of failures; disable for now #export HARNESS_OPTIONS="j$(echo $MAKEFLAGS | sed 's/.*-j\([0-9][0-9]*\).*/\1/')" @@ -61,4 +58,5 @@ package() { make DESTDIR="${pkgdir}" install install -D -m644 "${srcdir}/spamassassin.service" "${pkgdir}/usr/lib/systemd/system/spamassassin.service" + install -d -o 182 -g 182 -m 755 "$pkgdir/var/lib/spamassassin" } diff --git a/extra/spamassassin/perl-5.18-fixes.patch b/extra/spamassassin/perl-5.18-fixes.patch deleted file mode 100644 index 74277fc8b..000000000 --- a/extra/spamassassin/perl-5.18-fixes.patch +++ /dev/null @@ -1,97 +0,0 @@ ---- Mail/SpamAssassin/AsyncLoop.pm~ 2011-06-07 01:59:17.000000000 +0200 -+++ Mail/SpamAssassin/AsyncLoop.pm 2013-05-29 01:37:58.000000000 +0200 -@@ -361,5 +361,12 @@ - $now = time; # capture new timestamp, after possible sleep in 'select' - -- while (my($key,$ent) = each %$pending) { -+ # A callback routine may generate another DNS query, which may insert -+ # an entry into the %$pending hash thus invalidating the each() context. -+ # So, make sure that callbacks are not called while the each() context -+ # is open, or avoid using each(). [Bug 6937] -+ # -+ # while (my($key,$ent) = each %$pending) { -+ foreach my $key (keys %$pending) { -+ my $ent = $pending->{$key}; - my $id = $ent->{id}; - if (defined $ent->{poll_callback}) { # call a "poll_callback" if exists -@@ -449,5 +456,6 @@ - my $foundcnt = 0; - my $now = time; -- while (my($key,$ent) = each %$pending) { -+ foreach my $key (keys %$pending) { -+ my $ent = $pending->{$key}; - dbg("async: aborting after %.3f s, %s: %s", - $now - $ent->{start_time}, ---- Mail/SpamAssassin/Conf/Parser.pm~ 2011-06-07 01:59:17.000000000 +0200 -+++ Mail/SpamAssassin/Conf/Parser.pm 2013-05-29 01:32:06.000000000 +0200 -@@ -1249,5 +1249,5 @@ - my $mods = ''; - local ($1,$2); -- if ($re =~ s/^m{//) { -+ if ($re =~ s/^m\{//) { - $re =~ s/}([a-z]*)$//; $mods = $1; - } ---- Mail/SpamAssassin/DnsResolver.pm~ 2011-06-07 01:59:17.000000000 +0200 -+++ Mail/SpamAssassin/DnsResolver.pm 2013-05-29 01:32:06.000000000 +0200 -@@ -441,8 +441,14 @@ - if (!defined($timeout) || $timeout > 0) - { $timer = $self->{main}->time_method("poll_dns_idle") } -+ $! = 0; - ($nfound, $timeleft) = select($rout=$rin, undef, undef, $timeout); - } - if (!defined $nfound || $nfound < 0) { -- warn "dns: select failed: $!"; -+ if ($!) { warn "dns: select failed: $!\n" } -+ else { info("dns: select interrupted") } -+ return; -+ } elsif (!$nfound) { -+ if (!defined $timeout) { warn("dns: select returned empty-handed\n") } -+ elsif ($timeout > 0) { dbg("dns: select timed out %.3f s", $timeout) } - return; - } ---- Mail/SpamAssassin/Message.pm~ 2011-06-07 01:59:17.000000000 +0200 -+++ Mail/SpamAssassin/Message.pm 2013-05-29 01:32:06.000000000 +0200 -@@ -567,5 +567,5 @@ - # bug 5557: windows requires tmp file be closed before it can be rm'd - if (ref $part->{'raw'} eq 'GLOB') { -- close($part->{'raw'}) or die "error closing input file: $!"; -+ close($part->{'raw'}) or warn "error closing input file: $!"; - } - ---- Mail/SpamAssassin/PerMsgStatus.pm~ 2011-06-07 01:59:17.000000000 +0200 -+++ Mail/SpamAssassin/PerMsgStatus.pm 2013-05-29 01:32:06.000000000 +0200 -@@ -421,6 +421,6 @@ - } - -- # ignore tests with 0 score in this scoreset -- next if ($scores->{$test} == 0); -+ # ignore tests with 0 score (or undefined) in this scoreset -+ next if !$scores->{$test}; - - # Go ahead and add points to the proper locations -@@ -1253,11 +1253,10 @@ - my $line = ''; - foreach my $test (sort @{$self->{test_names_hit}}) { -- if (!$line) { -- $line .= $test . "=" . $self->{conf}->{scores}->{$test}; -- } else { -- $line .= $arg . $test . "=" . $self->{conf}->{scores}->{$test}; -- } -+ my $score = $self->{conf}->{scores}->{$test}; -+ $score = '0' if !defined $score; -+ $line .= $arg if $line ne ''; -+ $line .= $test . "=" . $score; - } -- $line ? $line : 'none'; -+ $line ne '' ? $line : 'none'; - }, - ---- Mail/SpamAssassin/Util.pm~ 2013-05-29 01:29:59.000000000 +0200 -+++ Mail/SpamAssassin/Util.pm 2013-05-29 01:33:16.000000000 +0200 -@@ -1588,5 +1588,5 @@ - return undef; # invalid - } -- elsif ($re =~ s/^m{//) { # m{foo/bar} -+ elsif ($re =~ s/^m\{//) { # m{foo/bar} - $delim = '}'; - } diff --git a/extra/spamassassin/spamassassin.install b/extra/spamassassin/spamassassin.install index e43453e97..cca20782d 100644 --- a/extra/spamassassin/spamassassin.install +++ b/extra/spamassassin/spamassassin.install @@ -1,11 +1,38 @@ +setup_user() { + getent group spamd &>/dev/null || groupadd -g 182 spamd >/dev/null + getent passwd spamd &>/dev/null || useradd -u 182 -d /var/lib/spamassassin -g spamd -s /bin/false spamd >/dev/null + + if [[ -d /var/lib/spamassassin ]]; then + chown spamd:spamd /var/lib/spamassassin + fi + + true +} + post_install() { - echo "You must run 'sa-update' to install spam rules before use." + echo "You must run 'sa-update' to install spam rules before use." + setup_user } post_upgrade() { - # Compile rules, if rules have previously been compiled, and it's possible - if type re2c &>/dev/null && type sa-compile &>/dev/null && [[ -d /var/lib/spamassassin/compiled ]]; then - echo "Detected compiled rules, running sa-compile..." - sa-compile > /dev/null 2>&1 -fi + setup_user + if [ "$(vercmp $2 3.4)" -lt 0 ]; then + echo '/var/lib/spamassassin is now owned by the spamd user. spamassassin.service' + echo 'will also run under that user. You may need to adjust your setup.' + fi + + # Compile rules, if rules have previously been compiled, and it's possible + if type re2c &>/dev/null && type sa-compile &>/dev/null && [[ -d /var/lib/spamassassin/compiled ]]; then + echo "Detected compiled rules, running sa-compile..." + sa-compile > /dev/null 2>&1 + fi + + true +} + +pre_remove() { + getent passwd spamd &>/dev/null && userdel spamd >/dev/null + getent group spamd &>/dev/null && groupdel spamd >/dev/null + true } + diff --git a/extra/spamassassin/spamassassin.service b/extra/spamassassin/spamassassin.service index e9c9c07fd..6e6b1f35b 100644 --- a/extra/spamassassin/spamassassin.service +++ b/extra/spamassassin/spamassassin.service @@ -5,7 +5,7 @@ After=syslog.target network.target [Service] Type=forking PIDFile=/var/run/spamd.pid -ExecStart=/usr/bin/vendor_perl/spamd -d --pidfile /var/run/spamd.pid -c -c -x --virtual-config-dir=/var/lib/spamassassin -u nobody +ExecStart=/usr/bin/vendor_perl/spamd -d --pidfile /var/run/spamd.pid -c -c -x --virtual-config-dir=/var/lib/spamassassin -u spamd -g spamd StandardOutput=syslog StandardError=syslog Restart=always diff --git a/libre/grub/09_parabola b/libre/grub/09_parabola deleted file mode 100644 index 49cbad4ba..000000000 --- a/libre/grub/09_parabola +++ /dev/null @@ -1,178 +0,0 @@ -#!/usr/bin/env bash - -## -## grub-mkconfig helper script specific to Parabola GNU/Linux-libre -## Contributed by "Keshav Padram Amburay" -## Rebranded for Parabola by "André Silva" -## -## Script based on do_grub_config() function in Arch Archboot ISO Installer/Setup script -## Some parts taken from /etc/grub.d/10_linux script shipped by GRUB(2) upstream -## -## This script can be freely distributed and/or modified -## under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or -## (at your option) any later version. -## -## This script 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 General Public License for more details. -## - -_FUNC_GRUB_FILE_PRESENT() { - - [[ -z "${GRUB_PLATFORM}" ]] && GRUB_PLATFORM="x86" - - if [[ "${GRUB_PLATFORM}" == "x86" ]]; then - check="--is-x86-linux32" - elif [[ "${GRUB_PLATFORM}" == "i386-xen-pae" ]]; then - check="--is-i386-xen-pae-domu" - elif [[ "${GRUB_PLATFORM}" == "x86_64-xen" ]]; then - check="--is-x86_64-xen-domu" - else - check="--is-${GRUB_PLATFORM}-linux" - fi - - case "${GRUB_PLATFORM}" in - x86) - list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do - if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi - done)" ;; - *) - list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do - if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi - done)" ;; - esac -} - -set -e - -prefix="/usr" -exec_prefix="${prefix}" -datarootdir="/usr/share" -datadir="${datarootdir}" -sysconfdir="/etc" - -. "${datarootdir}/grub/grub-mkconfig_lib" - -. "${sysconfdir}/default/grub" - -export TEXTDOMAIN="grub" -export TEXTDOMAINDIR="${datarootdir}/locale" - -CLASS="--class parabola --class gnu-linux --class gnu --class os" - -[[ "${grub_file}" != "" ]] && _FUNC_GRUB_FILE_PRESENT - -BOOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/boot" 2>/dev/null)" -BOOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/boot" 2>/dev/null)" -BOOT_PART_FS="$(${grub_probe} --target="fs" "/boot" 2>/dev/null)" - -ROOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/" 2>/dev/null)" -ROOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/" 2>/dev/null)" -ROOT_PART_FS="$(${grub_probe} --target="fs" "/" 2>/dev/null)" - -if [[ "${ROOT_PART_FS_UUID}" == "${BOOT_PART_FS_UUID}" ]]; then - SUBDIR="/boot" -else - SUBDIR="" -fi - -if [[ "${GRUB_LINUX_ROOT_DEVICE}" == "" ]]; then - if [[ "${GRUB_DEVICE_UUID}" == "" ]] || \ - [[ "${GRUB_DISABLE_LINUX_UUID}" == "true" ]] || \ - [[ ! -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ]] || \ - uses_abstraction "${GRUB_DEVICE}" lvm ; then - GRUB_LINUX_ROOT_DEVICE="${GRUB_DEVICE}" - else - GRUB_LINUX_ROOT_DEVICE="UUID=${GRUB_DEVICE_UUID}" - fi -fi - -[[ "${GRUB_LINUX_PARAMS}" == "" ]] && GRUB_LINUX_PARAMS="${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" - -for _KERNEL_ in ${list} ; do - - echo "Found linux image: ${_KERNEL_}" >&2 - - _KERNEL_FILE_="$(echo ${_KERNEL_} | sed 's,/boot/,,g')" - _KERNEL_PKG_="pkg-$(echo ${_KERNEL_FILE_} | sed 's,vmlinuz-,,g')" - - _INITRAMFS_="${_KERNEL_FILE_/vmlinuz-/initramfs-}.img" - - if [[ -e "/boot/${_INITRAMFS_}" ]]; then - - echo "Found initramfs image: /boot/${_INITRAMFS_}" >&2 - -cat << EOF - -menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel" ${CLASS} { - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - set gfxpayload=keep - insmod ${BOOT_PART_FS} - if [ x\$feature_platform_search_hint = xy ]; then - search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID} - else - search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID} - fi - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...' - linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel initramfs ...' - initrd ${SUBDIR}/${_INITRAMFS_} -} - -EOF - fi - - _INITRAMFS_FALLBACK_="${_KERNEL_FILE_/vmlinuz-/initramfs-}-fallback.img" - - if [[ -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then - - echo "Found fallback initramfs image: /boot/${_INITRAMFS_FALLBACK_}" >&2 - -cat << EOF - -menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (fallback initramfs)" ${CLASS} { - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - set gfxpayload=keep - insmod ${BOOT_PART_FS} - if [ x\$feature_platform_search_hint = xy ]; then - search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID} - else - search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID} - fi - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...' - linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel fallback initramfs ...' - initrd ${SUBDIR}/${_INITRAMFS_FALLBACK_} -} - -EOF - fi - - if [[ ! -e "/boot/${_INITRAMFS_}" ]] && [[ ! -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then -cat << EOF - -menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (no initramfs)" ${CLASS} { - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - set gfxpayload=keep - insmod ${BOOT_PART_FS} - if [ x\$feature_platform_search_hint = xy ]; then - search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID} - else - search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID} - fi - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...' - linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} -} - -EOF - fi - -done diff --git a/libre/grub/10_linux.in.patch b/libre/grub/10_linux.in.patch deleted file mode 100644 index c9285e699..000000000 --- a/libre/grub/10_linux.in.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -Nur grub.orig/util/grub.d/10_linux.in grub/util/grub.d/10_linux.in ---- grub.orig/util/grub.d/10_linux.in 2014-01-11 06:07:40.750886565 -0200 -+++ grub/util/grub.d/10_linux.in 2014-01-11 06:14:19.032955542 -0200 -@@ -30,8 +30,25 @@ - - if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then - OS=GNU/Linux --else -- OS="${GRUB_DISTRIBUTOR} GNU/Linux" -+ if [ "${GRUB_DISTRIBUTOR}" = "Parabola" ] ; then -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre" -+ elif [ "${GRUB_DISTRIBUTOR}" = "parabola" ] ; then -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre" -+ elif [ "${GRUB_DISTRIBUTOR}" = "Blag" ] ; then -+ OS="${GRUB_DISTRIBUTOR} Linux and GNU" -+ elif [ "${GRUB_DISTRIBUTOR}" = "blag" ] ; then -+ OS="${GRUB_DISTRIBUTOR} Linux and GNU" -+ elif [ "${GRUB_DISTRIBUTOR}" = "Musix" ] ; then -+ OS="${GRUB_DISTRIBUTOR} GNU+Linux" -+ elif [ "${GRUB_DISTRIBUTOR}" = "musix" ] ; then -+ OS="${GRUB_DISTRIBUTOR} GNU+Linux" -+ elif [ "${GRUB_DISTRIBUTOR}" = "Dragora" ] ; then -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre" -+ elif [ "${GRUB_DISTRIBUTOR}" = "dragora" ] ; then -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre" -+ else -+ OS="${GRUB_DISTRIBUTOR} GNU/Linux" -+ fi - CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}" - fi - diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD deleted file mode 100644 index c82b41a13..000000000 --- a/libre/grub/PKGBUILD +++ /dev/null @@ -1,275 +0,0 @@ -# Maintainer : Tobias Powalowski -# Maintainer : Ronald van Haren -# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> -# Maintainer (Parabola): André Silva -# Contributor (Parabola): Márcio Silva - -_pkgver="2.02" -_GRUB_GIT_TAG="grub-2.02-beta2" - -_UNIFONT_VER="6.3.20131217" - -[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64" -[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386" - -pkgname="grub" -pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)" -pkgver=2.02.beta2 -pkgrel=1 -epoch="1" -url="https://www.gnu.org/software/grub/" -arch=('x86_64' 'i686') -license=('GPL3') -backup=('etc/default/grub' 'etc/grub.d/40_custom') -install="${pkgname}.install" -options=('!makeflags') - -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=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen' - 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse') -depends=('sh' 'xz' 'gettext' 'device-mapper') -optdepends=('freetype2: For grub-mkfont usage' - 'fuse: For grub-mount usage' - '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=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG}" - "grub-extras::git+git://git.sv.gnu.org/grub-extras.git#branch=master" - "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz" - "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz.sig" - 'grub-add-GRUB_COLOR_variables.patch' - '09_parabola' - '60_memtest86+' - 'grub.default' - '10_linux.in.patch') -md5sums=('SKIP' - 'SKIP' - '728b7439ac733a7c0d56049adec364c7' - 'SKIP' - 'e506ae4a9f9f7d1b765febfa84e10d48' - 'd272e5fa811859838cfb60cc656d66ed' - 'be55eabc102f2c60b38ed35c203686d6' - '52d374e0194e3f2e39ff7c92ecd58a6c' - 'b23a144b7001c88734b79ed3bec491c4') - -pkgver() { - cd "${srcdir}/grub-${_pkgver}/" - echo "$(git describe --tags)" | sed -e 's|grub.||g' -e 's|-|\.|g' -} - -prepare() { - - cd "${srcdir}/grub-${_pkgver}/" - - msg "Patch to enable GRUB_COLOR_* variables in grub-mkconfig" - ## Based on http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html - patch -Np1 -i "${srcdir}/grub-add-GRUB_COLOR_variables.patch" - echo - - msg "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme" - sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub-${_pkgver}/configure.ac" - - msg "Rebranding for some free distros" - patch -Np1 -i "${srcdir}/10_linux.in.patch" - echo - - msg "Fix mkinitcpio 'rw' FS#36275" - sed 's| ro | rw |g' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in" - - # msg "autogen.sh requires python (2/3). since bzr is in makedepends, use python2 and no need to pull python3" - # sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh" - - msg "Pull in latest language files" - ./linguas.sh - echo - - msg "Remove not working langs which need LC_ALL=C.UTF-8" - sed -e 's#en@cyrillic en@greek##g' -i "${srcdir}/grub-${_pkgver}/po/LINGUAS" - - msg "Avoid problem with unifont during compile of grub, http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847" - cp "${srcdir}/unifont-${_UNIFONT_VER}.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf" - -} - -_build_grub-common_and_bios() { - - msg "Set ARCH dependent variables for bios build" - if [[ "${CARCH}" == 'x86_64' ]]; then - _EFIEMU="--enable-efiemu" - else - _EFIEMU="--disable-efiemu" - fi - - msg "Copy the source for building the bios part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-bios" - cd "${srcdir}/grub-${_pkgver}-bios/" - - msg "Add the grub-extra sources for bios build" - install -d "${srcdir}/grub-${_pkgver}-bios/grub-extras" - cp -r "${srcdir}/grub-extras/915resolution" "${srcdir}/grub-${_pkgver}-bios/grub-extras/915resolution" - export GRUB_CONTRIB="${srcdir}/grub-${_pkgver}-bios/grub-extras/" - - msg "Unset all compiler FLAGS for bios build" - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - cd "${srcdir}/grub-${_pkgver}-bios/" - - msg "Run autogen.sh for bios build" - ./autogen.sh - echo - - msg "Run ./configure for bios build" - ./configure \ - --with-platform="pc" \ - --target="i386" \ - "${_EFIEMU}" \ - --enable-mm-debug \ - --enable-nls \ - --enable-device-mapper \ - --enable-cache-stats \ - --enable-boot-time \ - --enable-grub-mkfont \ - --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ - --disable-silent-rules \ - --disable-werror - echo - - msg "Run make for bios build" - make - echo -} - -_build_grub-efi() { - - msg "Copy the source for building the ${_EFI_ARCH} efi part" - cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}" - cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/" - - msg "Unset all compiler FLAGS for ${_EFI_ARCH} efi build" - unset CFLAGS - unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS - unset MAKEFLAGS - - cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/" - - msg "Run autogen.sh for ${_EFI_ARCH} efi build" - ./autogen.sh - echo - - msg "Run ./configure for ${_EFI_ARCH} efi build" - ./configure \ - --with-platform="efi" \ - --target="${_EFI_ARCH}" \ - --disable-efiemu \ - --enable-mm-debug \ - --enable-nls \ - --enable-device-mapper \ - --enable-cache-stats \ - --enable-boot-time \ - --enable-grub-mkfont \ - --enable-grub-mount \ - --prefix="/usr" \ - --bindir="/usr/bin" \ - --sbindir="/usr/bin" \ - --mandir="/usr/share/man" \ - --infodir="/usr/share/info" \ - --datarootdir="/usr/share" \ - --sysconfdir="/etc" \ - --program-prefix="" \ - --with-bootdir="/boot" \ - --with-grubdir="grub" \ - --disable-silent-rules \ - --disable-werror - echo - - msg "Run make for ${_EFI_ARCH} efi build" - make - echo - -} - -build() { - - cd "${srcdir}/grub-${_pkgver}/" - - msg "Build grub bios stuff" - _build_grub-common_and_bios - echo - - msg "Build grub ${_EFI_ARCH} efi stuff" - _build_grub-efi - echo - -} - -_package_grub-common_and_bios() { - - cd "${srcdir}/grub-${_pkgver}-bios/" - - msg "Run make install for bios build" - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for bios build" - rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true - rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true - rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true - - msg "Install 09_parabola helper script for grub-mkconfig" - install -D -m0755 "${srcdir}/09_parabola" "${pkgdir}/etc/grub.d/09_parabola" - - msg "Install extra /etc/grub.d/ files" - install -D -m0755 "${srcdir}/60_memtest86+" "${pkgdir}/etc/grub.d/60_memtest86+" - - msg "Install /etc/default/grub (used by grub-mkconfig)" - install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" - - -} - -_package_grub-efi() { - - cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/" - - msg "Run make install for ${_EFI_ARCH} efi build" - make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install - echo - - msg "Remove gdb debugging related files for ${_EFI_ARCH} efi build" - rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true - rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true - rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true - -} - -package() { - - msg "Package grub ${_EFI_ARCH} efi stuff" - _package_grub-efi - - msg "Package grub bios stuff" - _package_grub-common_and_bios - -} diff --git a/libre/grub/grub-add-GRUB_COLOR_variables.patch b/libre/grub/grub-add-GRUB_COLOR_variables.patch deleted file mode 100644 index c113a81d5..000000000 --- a/libre/grub/grub-add-GRUB_COLOR_variables.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in -index 3390ba9..c416489 100644 ---- a/util/grub-mkconfig.in -+++ b/util/grub-mkconfig.in -@@ -218,6 +218,8 @@ export GRUB_DEFAULT \ - GRUB_THEME \ - GRUB_GFXPAYLOAD_LINUX \ - GRUB_DISABLE_OS_PROBER \ -+ GRUB_COLOR_NORMAL \ -+ GRUB_COLOR_HIGHLIGHT \ - GRUB_INIT_TUNE \ - GRUB_SAVEDEFAULT \ - GRUB_ENABLE_CRYPTODISK \ -diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in -index d2e7252..8259f45 100644 ---- a/util/grub.d/00_header.in -+++ b/util/grub.d/00_header.in -@@ -125,6 +125,14 @@ cat <