From a7d7f11bcb0aee2e02580854407d1d2a0a66dd32 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 23 Apr 2014 19:06:44 -0300 Subject: darktable-nonprism-1.4.2-1: updating version --- nonprism/darktable-nonprism/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nonprism/darktable-nonprism/PKGBUILD b/nonprism/darktable-nonprism/PKGBUILD index 2f4b6ecca..7a34970ec 100644 --- a/nonprism/darktable-nonprism/PKGBUILD +++ b/nonprism/darktable-nonprism/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 105572 2014-02-10 13:31:04Z spupykin $ +# $Id: PKGBUILD 110040 2014-04-23 14:50:57Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer: Christian Himpel # Contributor: Johannes Hanika _pkgname=darktable pkgname=darktable-nonprism -pkgver=1.4.1 +pkgver=1.4.2 _pkgver=1.4 pkgrel=1 pkgdesc="Utility to organize and develop raw images, without flickcurl support" @@ -22,7 +22,7 @@ makedepends=('intltool>=0.40' 'cmake' 'librsvg') optdepends=('librsvg') install=darktable.install source=(http://downloads.sourceforge.net/project/darktable/darktable/${_pkgver}/darktable-$pkgver.tar.xz) -md5sums=('78252618bb7b1df30109ef5484d46f3c') +md5sums=('f86554329c2c809ffb009244a6f1d643') build() { cd "$srcdir/$_pkgname-$pkgver" -- cgit v1.2.3 From c6568e2cdaf4d9e6e248fe367809cca9ca397402 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 23 Apr 2014 19:11:16 -0300 Subject: audacious-plugins-libre-3.5-1: updating version --- libre/audacious-plugins-libre/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libre/audacious-plugins-libre/PKGBUILD b/libre/audacious-plugins-libre/PKGBUILD index 8c631469b..fd76b6120 100644 --- a/libre/audacious-plugins-libre/PKGBUILD +++ b/libre/audacious-plugins-libre/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 204037 2014-01-14 11:53:55Z jgc $ +# $Id: PKGBUILD 211688 2014-04-23 09:34:34Z bisson $ # Maintainer: Gaetan Bisson # Contributor: Alexander Fehr # Contributor: William Rea # Maintainer: Gaetan Bisson # Maintainer (Parabola): Brendan Tildesley -# Contributor (Parabola): Jorge Lopez +# Contributor (Parabola): Jorge Lopez _pkgname=audacious-plugins pkgname=audacious-plugins-libre -pkgver=3.4.3 -pkgrel=2.1 +pkgver=3.5 +pkgrel=1 pkgdesc='Plugins for Audacious, without nonfree plugins' url='http://audacious-media-player.org/' license=('GPL' 'GPL3' 'LGPL' 'custom:BSD') @@ -61,7 +61,7 @@ optdepends=('alsa-lib: Advanced Linux Sound Arch. output' 'libcue: CUE playlist format') source=("http://distfiles.audacious-media-player.org/${_pkgname}-${pkgver}.tar.bz2") -sha1sums=('bcccd4304692a62d1b7963322f64059a0fb9532a') +sha1sums=('b4fe19010eecb0a62c24fe31a2d84e2954c40c8a') prepare() { cd "${srcdir}/${_pkgname}-${pkgver}" -- cgit v1.2.3 From 4d00ddf7e1275ad8e241dbf76507c13454b4ffe8 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 23 Apr 2014 19:37:07 -0300 Subject: liferea-libre-1.10.9-1: updating version --- libre/liferea-libre/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/liferea-libre/PKGBUILD b/libre/liferea-libre/PKGBUILD index 54d262de3..cfb211c1f 100644 --- a/libre/liferea-libre/PKGBUILD +++ b/libre/liferea-libre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 208122 2014-03-18 04:03:06Z eric $ +# $Id: PKGBUILD 211690 2014-04-23 14:07:47Z eric $ # Maintainer: Eric Bélanger # Contributor (Parabola): bitlord # Contributor (Parabola): André Silva _pkgname=liferea pkgname=liferea-libre -pkgver=1.10.7 +pkgver=1.10.9 pkgrel=1 pkgdesc="A desktop news aggregator for online news feeds and weblogs, without nonfree suggestions" arch=('i686' 'x86_64') @@ -26,7 +26,7 @@ options=('!emptydirs') install=liferea.install source=(https://github.com/lwindolf/liferea/releases/download/v${pkgver}/liferea-${pkgver}.tar.bz2 remove-non-free-suggestions.patch) -sha1sums=('da0ae3457fc8525bb6e43fef01c3a52bea7e96cf' +sha1sums=('04ff66e4f08ad2f46563a6784c656439cda1f223' '855de60c91b5fee71c7ec88dd04b7d24a02dc0d1') build() { -- cgit v1.2.3 From 561b651e14ae7a91bd6115bb5a3dbf70a7035475 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 23 Apr 2014 19:47:10 -0300 Subject: linux-libre-grsec-3.14.1.201404201132-2: ship the gcc plugins for building out-of-tree kernel modules --- libre/linux-libre-grsec/PKGBUILD | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index 576441ea3..e0b817989 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -17,7 +17,7 @@ _grsecver=3.0 _timestamp=201404201132 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} -pkgrel=1 +pkgrel=2 _lxopkgver=${_basekernel}.0 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="https://grsecurity.net/" @@ -272,6 +272,12 @@ _package() { # add vmlinux install -D -m644 vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux" + # add grsecurity gcc plugins + mkdir -p "$pkgdir/usr/lib/modules/${_kernver}/build/tools/gcc" + cp -a tools/gcc/*.h "$pkgdir/usr/lib/modules/${_kernver}/build/tools/gcc/" + cp -a tools/gcc/Makefile "$pkgdir/usr/lib/modules/${_kernver}/build/tools/gcc/" + install -m644 tools/gcc/*.so "$pkgdir/usr/lib/modules/${_kernver}/build/tools/gcc/" + # install sysctl configuration for grsecurity switches install -Dm600 "${srcdir}/sysctl.conf" "${pkgdir}/etc/sysctl.d/05-grsecurity.conf" } -- cgit v1.2.3 From fa24ade25b4578e84aa4a3cce281cf81c79f0453 Mon Sep 17 00:00:00 2001 From: Alon Ivtsan Date: Thu, 24 Apr 2014 12:19:02 +0300 Subject: updating twinkle to version 1.4.2-21 --- pcr/twinkle/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pcr/twinkle/PKGBUILD b/pcr/twinkle/PKGBUILD index b9e8fc537..c4c7abdc9 100644 --- a/pcr/twinkle/PKGBUILD +++ b/pcr/twinkle/PKGBUILD @@ -7,7 +7,7 @@ pkgname=twinkle pkgver=1.4.2 -pkgrel=20 +pkgrel=21 pkgdesc="Softphone for voice over IP and IM communication using SIP" arch=('x86_64' 'i686') url="http://www.twinklephone.com/" @@ -30,7 +30,7 @@ build() { automake -a export QTDIR=/usr/lib/qt3 export PATH=$QTDIR/bin:$PATH - CPPFLAGS="$CPPFLAGS -I/usr/include/qt3" \ + CPPFLAGS="$CPPFLAGS -I/usr/include/qt3 -I/usr/include/libzrtpcpp/" \ ./configure --prefix=/usr \ --without-kde \ --with-speex \ -- cgit v1.2.3 From 707cdfa6f3c2be1ee0864b85c5604c83a96ce629 Mon Sep 17 00:00:00 2001 From: Alon Ivtsan Date: Thu, 24 Apr 2014 14:00:42 +0300 Subject: updating youtube-dl-current to version 2014.04.21.6 --- pcr/youtube-dl-current/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pcr/youtube-dl-current/PKGBUILD b/pcr/youtube-dl-current/PKGBUILD index 1e2cc344c..f2dc2ac05 100644 --- a/pcr/youtube-dl-current/PKGBUILD +++ b/pcr/youtube-dl-current/PKGBUILD @@ -5,7 +5,7 @@ pkgname=youtube-dl-current _pkgname=youtube-dl provides=(youtube-dl) -pkgver=2014.04.11.2 +pkgver=2014.04.21.6 pkgrel=1 pkgdesc="A small command-line program to download videos from YouTube.com and a few more sites" arch=('any') @@ -28,5 +28,5 @@ package() { "${pkgdir}/usr/share/bash-completion/completions/youtube-dl" install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE" } -md5sums=('12c5d1af893c7f5ff782ccb84347573b' +md5sums=('6521af6c7a419ade8d271aad3a3648df' 'SKIP') -- cgit v1.2.3 From 9ab9db2805b2829503eee469863c6461fb1ae981 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 24 Apr 2014 09:05:03 -0300 Subject: clementine-libre-1.2.3-1: updating version --- libre/clementine-libre/PKGBUILD | 30 ++++++++++---------------- libre/clementine-libre/clementine-unistd.patch | 11 ---------- 2 files changed, 11 insertions(+), 30 deletions(-) delete mode 100644 libre/clementine-libre/clementine-unistd.patch diff --git a/libre/clementine-libre/PKGBUILD b/libre/clementine-libre/PKGBUILD index 7ec75cd14..1a693a6d5 100644 --- a/libre/clementine-libre/PKGBUILD +++ b/libre/clementine-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 106122 2014-02-23 15:32:14Z alucryd $ +# $Id: PKGBUILD 110102 2014-04-24 07:51:18Z alucryd $ # Maintainer: Maxime Gauduin # Contributor: Stéphane Gaudreault # Contributor: BlackEagle @@ -9,12 +9,15 @@ _pkgname=clementine pkgname=clementine-libre -pkgver=1.2.2 +pkgver=1.2.3 pkgrel=1 -pkgdesc="A music player and library organizer, without nonfree artwork and spotify support" -url="http://www.clementine-player.org/" +pkgdesc='A modern music player and library organizer, without nonfree artwork and Spotify support' +url='http://www.clementine-player.org/' license=('GPL') arch=('i686' 'x86_64') +replaces=('clementine') +conflicts=('clementine') +provides=("clementine=$pkgver") depends=('chromaprint' 'glew' 'gstreamer0.10-base' 'libcdio' 'libgpod' 'liblastfm' 'libmtp' 'libmygpo-qt' 'protobuf' 'qca-ossl' 'taglib') makedepends=('cmake' 'boost' 'mesa' 'sparsehash') optdepends=('gstreamer0.10-base-plugins: "Base" plugin libraries' @@ -22,20 +25,15 @@ optdepends=('gstreamer0.10-base-plugins: "Base" plugin libraries' 'gstreamer0.10-bad-plugins: "Bad" plugin libraries' 'gstreamer0.10-ugly-plugins: "Ugly" plugin libraries' 'gvfs: Various devices support') -replaces=('clementine') -conflicts=('clementine') -provides=("clementine=$pkgver") -install=clementine.install +install="${_pkgname}.install" mksource=("${_pkgname}-${pkgver}.tar.gz::https://github.com/clementine-player/Clementine/archive/${pkgver}.tar.gz" 'remove-nonfree-artwork-and-spotify.patch' 'moognu.png') -source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz" - "${_pkgname}-unistd.patch") -mksha256sums=('1f674c42f05c476baf74f1dd37b1aa357ff9199e4493173052c856a53e5f0a96' +source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz") +mksha256sums=('7df5650445a005c09f5f0e1a1b0d077037c37ecbe4ee77baf9d45f121308a1bf' '48bfbf42c84ac1891021638627c10780194fcc59eda1c69e157be3aebe8ee10b' 'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4') -sha256sums=('02d799056435f244a319eea110672c404c8804a2418677253d5cdd4ea01a340f' - 'bb02f82c3bcdad542396fc0788010321d618fc0545d34d00fee63bed987a0bbf') +sha256sums=('c68275373b839b5b256b813b5bed85d501f94e12bef3dd8ed69e90094af3f769') mksource() { cd Clementine-${pkgver} @@ -63,12 +61,6 @@ mksource() { touch data/schema/schema-30.sql } -prepare() { - cd Clementine-${pkgver} - - patch -Np1 -i ../${_pkgname}-unistd.patch -} - build() { cd Clementine-${pkgver} diff --git a/libre/clementine-libre/clementine-unistd.patch b/libre/clementine-libre/clementine-unistd.patch deleted file mode 100644 index 9bd053b60..000000000 --- a/libre/clementine-libre/clementine-unistd.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -rupN Clementine-1.2.2.orig/src/core/utilities.cpp Clementine-1.2.2/src/core/utilities.cpp ---- Clementine-1.2.2.orig/src/core/utilities.cpp 2014-02-23 16:14:06.919406700 +0100 -+++ Clementine-1.2.2/src/core/utilities.cpp 2014-02-23 16:16:12.107064900 +0100 -@@ -50,6 +50,7 @@ - #endif - - #ifdef Q_OS_LINUX -+# include - # include - #endif - #ifdef Q_OS_DARWIN -- cgit v1.2.3 From d22b7c00d202a04dfb09ba662bcabd501a836c7f Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Thu, 24 Apr 2014 18:37:31 -0300 Subject: multipath-tools-git: remove package --- pcr/multipath-tools-git/PKGBUILD | 44 ---------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 pcr/multipath-tools-git/PKGBUILD diff --git a/pcr/multipath-tools-git/PKGBUILD b/pcr/multipath-tools-git/PKGBUILD deleted file mode 100644 index d1bb4ac9b..000000000 --- a/pcr/multipath-tools-git/PKGBUILD +++ /dev/null @@ -1,44 +0,0 @@ -# Maintainer: Miguel Revilla -# Contributor: Alexander Rødseth -# Contributor: Timothée Ravier - -pkgname=multipath-tools-git -pkgver=1295.81895af -pkgrel=1 -pkgdesc="Tools to drive the Device Mapper multipathing driver (contains kpartx)" -url="http://christophe.varoqui.free.fr/" -arch=('x86_64' 'i686') -license=('GPL2') -depends=('libaio' 'device-mapper') -makedepends=('git' 'setconf') -options=(!emptydirs) -source=("${pkgname}::git+http://git.opensvc.com/multipath-tools/.git") -md5sums=('SKIP') - -pkgver() { - cd ${pkgname} - echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD) -} - -prepare() { - cd ${pkgname} - sed -i 's|/sbin|/usr/bin|g' Makefile.inc - sed -i 's|LIB=lib|LIB=usr/lib|g' Makefile.inc - sed -i 's|${prefix}/lib/udev|${prefix}/usr/lib/udev|g' Makefile.inc - sed -i 's|$(prefix)/lib/systemd/system|$(prefix)/usr/lib/systemd/system|g' Makefile.inc -} - -build() { - cd ${pkgname} - setconf Makefile.inc GZIP '/usr/bin/gzip -9 -c' - make -} - -package() { - cd ${pkgname} - make LIB="/usr/lib" DESTDIR="${pkgdir}" install - install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/COPYING - cd "${pkgdir}"/usr/lib - rm libmpathpersist.so - ln -s libmpathpersist.so.0 libmpathpersist.so -} -- cgit v1.2.3 From 10297249275ab298544c9e34b49e8b61a6ad448c Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Thu, 24 Apr 2014 18:39:54 -0300 Subject: multipath-tools-0.5.0-1: add new package to [pcr] --- pcr/multipath-tools/PKGBUILD | 56 +++++++++++++++++++++++ pcr/multipath-tools/blacklist-cciss-devices.patch | 30 ++++++++++++ pcr/multipath-tools/buffer-overflows.patch | 13 ++++++ pcr/multipath-tools/multipath-tools.install | 9 ++++ 4 files changed, 108 insertions(+) create mode 100644 pcr/multipath-tools/PKGBUILD create mode 100644 pcr/multipath-tools/blacklist-cciss-devices.patch create mode 100644 pcr/multipath-tools/buffer-overflows.patch create mode 100644 pcr/multipath-tools/multipath-tools.install diff --git a/pcr/multipath-tools/PKGBUILD b/pcr/multipath-tools/PKGBUILD new file mode 100644 index 000000000..b497d0f60 --- /dev/null +++ b/pcr/multipath-tools/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Justin Dray +# Contributor: Patrick McCarty +# Contributor: Bartłomiej Piotrowski +# Contributor: Thomas S Hatch +# Contributor: Michael P +# Contributor: Matt Heagney + +pkgname=multipath-tools +pkgver=0.5.0 +pkgrel=1 +pkgdesc='Multipath tools for Linux (including kpartx)' +arch=('i686' 'x86_64') +url="http://christophe.varoqui.free.fr/" +license=('GPL2') +depends=('libaio' 'device-mapper') +conflicts=('multipath-tools-git') +backup=('etc/multipath.conf') +install=multipath-tools.install +options=(!emptydirs) +source=(http://christophe.varoqui.free.fr/multipath-tools/$pkgname-$pkgver.tar.bz2 + buffer-overflows.patch + blacklist-cciss-devices.patch) +md5sums=('faf261d4cc717bf4c979557dc7bf5f52' + '869942bdd31decc696f9cf4af24df65b' + 'c81422ccf5fd5ca6208dfbdd66ff323c') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/buffer-overflows.patch" + patch -Np1 -i "${srcdir}/blacklist-cciss-devices.patch" + + sed -i 's|/etc/udev/rules.d|/usr/lib/udev|g' Makefile.inc kpartx/Makefile kpartx/kpartx.rules + sed -i 's|${prefix}/lib/udev|${prefix}/usr/lib/udev|g' Makefile.inc + sed -i 's|/sbin|/usr/bin|g' Makefile.inc multipathd/multipathd.service + sed -i '/Before/d' multipathd/multipathd.service +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make LIB="/usr/lib" \ + DESTDIR="${pkgdir}" \ + install + + install -d "${pkgdir}/usr/share/multipath/examples" + install -Dm644 "multipath.conf.annotated" "${pkgdir}/usr/share/multipath/examples/multipath.conf.annotated" + install -Dm644 "multipath.conf.defaults" "${pkgdir}/usr/share/multipath/examples/multipath.conf.defaults" + install -Dm644 "multipath.conf.synthetic" "${pkgdir}/usr/share/multipath/examples/multipath.conf.synthetic" + install -Dm644 "multipath.conf.defaults" "${pkgdir}/etc/multipath.conf" + rm "${pkgdir}/usr/lib/libmpathpersist.so" + ln -s "${pkgdir}/usr/lib/libmpathpersist.so.0" "libmpathpersist.so" +} diff --git a/pcr/multipath-tools/blacklist-cciss-devices.patch b/pcr/multipath-tools/blacklist-cciss-devices.patch new file mode 100644 index 000000000..30a4400a7 --- /dev/null +++ b/pcr/multipath-tools/blacklist-cciss-devices.patch @@ -0,0 +1,30 @@ +From: =?UTF-8?q?Guido=20G=C3=BCnther?= +Date: Fri, 3 Oct 2008 12:39:48 +0200 +Subject: [PATCH] blacklist cciss devices + +cciss support isn't complete in 0.4.8 and the half functioning causes +problems in d-i among other things. +Closes: #500991 +--- + libmultipath/blacklist.c | 6 ++++++ + 1 files changed, 6 insertions(+), 0 deletions(-) + + +diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c +index 79ddcde..6d0a0ad 100644 +--- a/libmultipath/blacklist.c ++++ b/libmultipath/blacklist.c +@@ -182,6 +182,13 @@ setup_default_blist (struct config * conf) + if (store_ble(conf->elist_property, str, ORIGIN_DEFAULT)) + return 1; + ++ str = STRDUP("^cciss!c[0-9]d[0-9]*"); ++ if (!str) ++ return 1; ++ if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT)) ++ return 1; ++ ++ + vector_foreach_slot (conf->hwtable, hwe, i) { + if (hwe->bl_product) { + if (_blacklist_device(conf->blist_device, hwe->vendor, \ No newline at end of file diff --git a/pcr/multipath-tools/buffer-overflows.patch b/pcr/multipath-tools/buffer-overflows.patch new file mode 100644 index 000000000..7d84ea91c --- /dev/null +++ b/pcr/multipath-tools/buffer-overflows.patch @@ -0,0 +1,13 @@ +diff --git a/libmultipath/prioritizers/hds.c b/libmultipath/prioritizers/hds.c +index f748707..1cec8a7 100644 +--- a/libmultipath/prioritizers/hds.c ++++ b/libmultipath/prioritizers/hds.c +@@ -125,7 +125,7 @@ int hds_modular_prio (const char *dev, int fd) + return -1; + } + +- snprintf (vendor, 9, "%.8s", inqBuffp + 8); ++ snprintf (vendor, 8, "%.8s", inqBuffp + 8); + snprintf (product, 17, "%.16s", inqBuffp + 16); + snprintf (serial, 5, "%.4s", inqBuffp + 40); + snprintf (ldev, 5, "%.4s", inqBuffp + 44); \ No newline at end of file diff --git a/pcr/multipath-tools/multipath-tools.install b/pcr/multipath-tools/multipath-tools.install new file mode 100644 index 000000000..8ef2efaca --- /dev/null +++ b/pcr/multipath-tools/multipath-tools.install @@ -0,0 +1,9 @@ +post_install() { + + cat <<-EOF + * For full functonality ensure that the dm_multipath kernel module is loaded" + * Make sure to create /etc/multipath.conf based off of the defaults found in + /usr/share/multipath/examples + EOF + +} -- cgit v1.2.3 From 3db112055d6ec35c6ff786be0a7cc7ff215015ef Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 25 Apr 2014 12:30:26 -0300 Subject: linux-libre-grsec-3.14.1.201404241722-1: updating version --- libre/linux-libre-grsec/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index e0b817989..082bdb61a 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -14,11 +14,11 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.14 _sublevel=1 _grsecver=3.0 -_timestamp=201404201132 +_timestamp=201404241722 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} -pkgrel=2 -_lxopkgver=${_basekernel}.0 # nearly always the same as pkgver +pkgrel=1 +_lxopkgver=${_basekernel}.1 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="https://grsecurity.net/" license=('GPL2') @@ -48,7 +48,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '2b4862b3c76011e66e536f18fbf0fb27' - 'db16c597af55a82da6fbe1059377c5cd' + 'c22e7672ec2b6a87b99734ea470988d9' 'SKIP' '51ead958a4bb74ca5f5702b97740719b' '0822a5655cef86bb6f449692d8b3f3d2' @@ -66,7 +66,7 @@ md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '00727251b0d337a25d3ca392218afdf4' '353b553d69da810ef954618aca60e1e2' '7a052645280da78a98bfe8cf805ddab5' - '385f03abf27baa73731d27721eafd1c1') + '3ab22a28f075ec92bca1b7598e8280e1') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] -- cgit v1.2.3 From 4c28665a5e566d6760ef2077f1cc819fe6cf7850 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 25 Apr 2014 22:08:16 -0300 Subject: calibre-libre-1.34.0-1: updating version --- libre/calibre-libre/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD index 57adf177c..d28dc45d1 100644 --- a/libre/calibre-libre/PKGBUILD +++ b/libre/calibre-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 109846 2014-04-19 07:55:26Z jelle $ +# $Id: PKGBUILD 110173 2014-04-25 19:47:10Z jelle $ # Maintainer: jelle van der Waa # Maintainer: Daniel Wallace # Contributor: Giovanni Scafora @@ -9,8 +9,8 @@ _pkgname=calibre pkgname=calibre-libre -pkgver=1.33.0 -pkgrel=2 +pkgver=1.34.0 +pkgrel=1 pkgdesc="Ebook management application, without nonfree libunrar support" arch=('i686' 'x86_64' 'mips64el') url="http://calibre-ebook.com/" @@ -30,7 +30,7 @@ install=calibre.install source=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz" 'desktop_integration.patch' 'calibre-mount-helper') -md5sums=('df51094fe6d5f2e1f10bc070b3d65a68' +md5sums=('1621d563c0cd46d582f8fdf8c44dbb6f' 'ece36dfd737fa4a346f0a0e59395e949' '675cd87d41342119827ef706055491e7') -- cgit v1.2.3 From 3d94323cffd8e52f9c682e619e3240a25b1c676f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 26 Apr 2014 00:08:02 -0300 Subject: calibre-libre: remove unrar files from the source --- libre/calibre-libre/PKGBUILD | 17 ++- libre/calibre-libre/libre.patch | 230 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 245 insertions(+), 2 deletions(-) create mode 100644 libre/calibre-libre/libre.patch diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD index d28dc45d1..6118642c4 100644 --- a/libre/calibre-libre/PKGBUILD +++ b/libre/calibre-libre/PKGBUILD @@ -27,13 +27,26 @@ replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver install=calibre.install -source=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz" +mksource=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz" + 'libre.patch') +source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz" 'desktop_integration.patch' 'calibre-mount-helper') -md5sums=('1621d563c0cd46d582f8fdf8c44dbb6f' +mkmd5sums=('1621d563c0cd46d582f8fdf8c44dbb6f' + '1540d92a314bf748b60b8fc436777ccb') +md5sums=('38469886ead2808b81555ab2f505da7c' 'ece36dfd737fa4a346f0a0e59395e949' '675cd87d41342119827ef706055491e7') +mksource(){ + cd "${srcdir}/${_pkgname}" + + # Remove unrar files from the source + rm -rv src/unrar + rm -v src/calibre/utils/unrar.{cpp,py} + patch -Np1 -i "${srcdir}/libre.patch" +} + prepare(){ cd "${srcdir}/${_pkgname}" #rm -rf src/{cherrypy,pyPdf} diff --git a/libre/calibre-libre/libre.patch b/libre/calibre-libre/libre.patch new file mode 100644 index 000000000..c3dd28eb1 --- /dev/null +++ b/libre/calibre-libre/libre.patch @@ -0,0 +1,230 @@ +diff --git a/session.vim b/session.vim +index 67502c2..b7f24d3 100644 +--- a/session.vim ++++ b/session.vim +@@ -11,7 +11,6 @@ let g:syntastic_cpp_include_dirs = [ + \'/usr/include/freetype2', + \'/usr/include/fontconfig', + \'src/qtcurve/common', 'src/qtcurve', +- \'src/unrar', + \'src/qt-harfbuzz/src', + \'/usr/include/ImageMagick', + \] +diff --git a/setup/extensions.py b/setup/extensions.py +index b9d92f6..2ac13a9 100644 +--- a/setup/extensions.py ++++ b/setup/extensions.py +@@ -224,24 +224,6 @@ extensions = [ + sip_files=['calibre/ebooks/pdf/render/qt_hack.sip'] + ), + +- Extension('unrar', +- ['unrar/%s.cpp'%(x.partition('.')[0]) for x in ''' +- rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o +- filefn.o filcreat.o archive.o arcread.o unicode.o system.o +- isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o +- timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o +- secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o +- volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o +- '''.split()] + ['calibre/utils/unrar.cpp'], +- inc_dirs=['unrar'], +- cflags=[('/' if iswindows else '-') + x for x in ( +- 'DSILENT', 'DRARDLL', 'DUNRAR')] + ( +- [] if iswindows else ['-D_FILE_OFFSET_BITS=64', +- '-D_LARGEFILE_SOURCE']), +- optimize_level=2, +- libraries=['User32', 'Advapi32', 'kernel32', 'Shell32'] if iswindows else [] +- ), +- + ] + + +diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py +index 08aa91f..7ee523b 100644 +--- a/setup/installer/windows/freeze.py ++++ b/setup/installer/windows/freeze.py +@@ -635,7 +635,7 @@ class Win32Freeze(Command, WixMixIn): + # Because of https://github.com/fancycode/MemoryModule/issues/4 + # any extensions that use C++ exceptions must be loaded + # from files +- 'unrar.pyd', 'wpd.pyd', 'podofo.pyd', ++ 'wpd.pyd', 'podofo.pyd', + 'progress_indicator.pyd', 'hunspell.pyd', + # As per this https://bugs.launchpad.net/bugs/1087816 + # on some systems magick.pyd fails to load from memory +diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py +index fcb627c..3289865 100644 +--- a/src/calibre/__init__.py ++++ b/src/calibre/__init__.py +@@ -271,10 +271,7 @@ def extract(path, dir): + # First use the file header to identify its type + with open(path, 'rb') as f: + id_ = f.read(3) +- if id_ == b'Rar': +- from calibre.utils.unrar import extract as rarextract +- extractor = rarextract +- elif id_.startswith(b'PK'): ++ if id_.startswith(b'PK'): + from calibre.libunzip import extract as zipextract + extractor = zipextract + if extractor is None: +@@ -283,9 +280,6 @@ def extract(path, dir): + if ext in ['zip', 'cbz', 'epub', 'oebzip']: + from calibre.libunzip import extract as zipextract + extractor = zipextract +- elif ext in ['cbr', 'rar']: +- from calibre.utils.unrar import extract as rarextract +- extractor = rarextract + if extractor is None: + raise Exception('Unknown archive type') + extractor(path, dir) +diff --git a/src/calibre/constants.py b/src/calibre/constants.py +index 13c78db..8e699e2 100644 +--- a/src/calibre/constants.py ++++ b/src/calibre/constants.py +@@ -137,7 +137,6 @@ class Plugins(collections.Mapping): + 'speedup', + 'freetype', + 'woff', +- 'unrar', + 'qt_hack', + '_regex', + 'hunspell', +diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py +index a74951c..86aa14d 100644 +--- a/src/calibre/customize/builtins.py ++++ b/src/calibre/customize/builtins.py +@@ -142,10 +142,6 @@ class ComicMetadataReader(MetadataReaderPlugin): + ftype = 'cbr' + elif id_.startswith(b'PK'): + ftype = 'cbz' +- if ftype == 'cbr': +- from calibre.utils.unrar import extract_first_alphabetically as extract_first +- extract_first +- else: + from calibre.libunzip import extract_member + extract_first = functools.partial(extract_member, + sort_alphabetically=True) +diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py +index 7b8ecd2..2910280 100644 +--- a/src/calibre/ebooks/metadata/archive.py ++++ b/src/calibre/ebooks/metadata/archive.py +@@ -27,8 +27,6 @@ def archive_type(stream): + ans = None + if id_ == stringFileHeader: + ans = 'zip' +- elif id_.startswith('Rar'): +- ans = 'rar' + try: + stream.seek(pos) + except: +@@ -40,29 +38,20 @@ class ArchiveExtract(FileTypePlugin): + name = 'Archive Extract' + author = 'Kovid Goyal' + description = _('Extract common e-book formats from archives ' +- '(zip/rar) files. Also try to autodetect if they are actually ' +- 'cbz/cbr files.') ++ 'zip files. Also try to autodetect if they are actually ' ++ 'cbz files.') + file_types = set(['zip', 'rar']) + supported_platforms = ['windows', 'osx', 'linux'] + on_import = True + + def run(self, archive): + from calibre.utils.zipfile import ZipFile +- is_rar = archive.lower().endswith('.rar') +- if is_rar: +- from calibre.utils.unrar import extract_member, names +- else: +- zf = ZipFile(archive, 'r') +- +- if is_rar: +- with open(archive, 'rb') as rf: +- fnames = list(names(rf)) +- else: +- fnames = zf.namelist() ++ zf = ZipFile(archive, 'r') ++ fnames = zf.namelist() + + fnames = [x for x in fnames if '.' in x and x.lower().rpartition('/')[-1] != 'thumbs.db'] + if is_comic(fnames): +- ext = '.cbr' if is_rar else '.cbz' ++ ext = '.cbz' + of = self.temporary_file('_archive_extract'+ext) + with open(archive, 'rb') as f: + of.write(f.read()) +@@ -78,12 +67,7 @@ class ArchiveExtract(FileTypePlugin): + + of = self.temporary_file('_archive_extract.'+ext) + with closing(of): +- if is_rar: +- with open(archive, 'rb') as f: +- data = extract_member(f, match=None, name=fname)[1] +- of.write(data) +- else: +- of.write(zf.read(fname)) ++ of.write(zf.read(fname)) + return of.name + + def get_comic_book_info(d, mi, series_index='volume'): +@@ -141,10 +125,6 @@ def get_comic_metadata(stream, stream_type, series_index='volume'): + from calibre.utils.zipfile import ZipFile + zf = ZipFile(stream) + comment = zf.comment +- elif stream_type == 'cbr': +- from calibre.utils.unrar import RARFile +- f = RARFile(stream, get_comment=True) +- comment = f.comment + + if comment: + import json +diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py +index d849846..50aa6d9 100644 +--- a/src/calibre/gui2/add.py ++++ b/src/calibre/gui2/add.py +@@ -84,11 +84,8 @@ class RecursiveFind(QThread): # {{{ + prints('Corrupt ZIP file, trying to use local headers') + from calibre.utils.localunzip import extractall + extractall(self.path, self.tdir) +- elif self.path.lower().endswith('.rar'): +- from calibre.utils.unrar import extract +- extract(self.path, self.tdir) + else: +- raise ValueError('Can only process ZIP or RAR archives') ++ raise ValueError('Can only process ZIP archives') + + def run(self): + if self.tdir is not None: +@@ -292,7 +289,7 @@ class Adder(QObject): # {{{ + self.pd.canceled_signal.connect(self.canceled) + + def add_recursive(self, root, single=True): +- if os.path.exists(root) and os.path.isfile(root) and root.lower().rpartition('.')[-1] in {'zip', 'rar'}: ++ if os.path.exists(root) and os.path.isfile(root) and root.lower().rpartition('.')[-1] in {'zip'}: + self.path = tdir = PersistentTemporaryDirectory('_arcv_') + else: + self.path = root +diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py +index fd9a36d..130d08d 100644 +--- a/src/calibre/test_build.py ++++ b/src/calibre/test_build.py +@@ -102,11 +102,6 @@ def test_imaging(): + raise RuntimeError('PIL choked!') + print ('PIL OK!') + +-def test_unrar(): +- from calibre.utils.unrar import test_basic +- test_basic() +- print ('Unrar OK!') +- + def test_ssl(): + import ssl + ssl +@@ -146,7 +141,6 @@ def test(): + test_ssl() + test_sqlite() + test_imaging() +- test_unrar() + test_icu() + test_woff() + test_qt() -- cgit v1.2.3 From 4ec82fd2d3a786cf36be8e6684f75b6287e31e34 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 26 Apr 2014 13:40:46 -0300 Subject: cups-filters-libre-1.0.53-1: updating version --- libre/cups-filters-libre/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD index 7b231aa6d..6bef7096c 100644 --- a/libre/cups-filters-libre/PKGBUILD +++ b/libre/cups-filters-libre/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 209918 2014-04-08 15:37:24Z andyrtr $ +# $Id: PKGBUILD 211789 2014-04-26 10:47:56Z andyrtr $ # Maintainer: Andreas Radke pkgname=cups-filters-libre _pkgname=cups-filters -pkgver=1.0.52 +pkgver=1.0.53 pkgrel=1 pkgdesc="OpenPrinting CUPS Filters, without foomatic-db-nonfree recommendation" arch=('i686' 'x86_64') @@ -20,7 +20,7 @@ source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar. provides=("${_pkgname}=${pkgver}" 'foomatic-filters') replaces=("${_pkgname}" 'foomatic-filters') conflicts=("${_pkgname}" 'foomatic-filters') -md5sums=('64825cb330c2ef6dcb29215158e701bb') +md5sums=('f9df275dd161eb0364f40c6f00d755a4') build() { cd $_pkgname-$pkgver -- cgit v1.2.3 From 44c19d76159111c76a1bf24fe52c767d447193a2 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 28 Apr 2014 19:15:42 -0300 Subject: linux-libre-3.14.2-1: updating version * added fixes for i810 hang, uefi xsdt issue, saa7134, tun speed --- .../0011-kernfs-fix-removed-error-check.patch | 13 +++++++ libre/linux-libre/0012-fix-saa7134.patch | 37 +++++++++++++++++++ ...h-correct-mac_len-in-skb_network_protocol.patch | 13 +++++++ libre/linux-libre/0015-fix-xsdt-validation.patch | 42 ++++++++++++++++++++++ libre/linux-libre/PKGBUILD | 41 +++++++++++++++++---- libre/linux-libre/config.i686 | 7 ++-- libre/linux-libre/config.x86_64 | 7 ++-- 7 files changed, 147 insertions(+), 13 deletions(-) create mode 100644 libre/linux-libre/0011-kernfs-fix-removed-error-check.patch create mode 100644 libre/linux-libre/0012-fix-saa7134.patch create mode 100644 libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch create mode 100644 libre/linux-libre/0015-fix-xsdt-validation.patch diff --git a/libre/linux-libre/0011-kernfs-fix-removed-error-check.patch b/libre/linux-libre/0011-kernfs-fix-removed-error-check.patch new file mode 100644 index 000000000..b597595c6 --- /dev/null +++ b/libre/linux-libre/0011-kernfs-fix-removed-error-check.patch @@ -0,0 +1,13 @@ +diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c +index 8034706..e01ea4a 100644 +--- a/fs/kernfs/file.c ++++ b/fs/kernfs/file.c +@@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) + + ops = kernfs_ops(of->kn); + rc = ops->mmap(of, vma); ++ if (rc) ++ goto out_put; + + /* + * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() diff --git a/libre/linux-libre/0012-fix-saa7134.patch b/libre/linux-libre/0012-fix-saa7134.patch new file mode 100644 index 000000000..070fbc8eb --- /dev/null +++ b/libre/linux-libre/0012-fix-saa7134.patch @@ -0,0 +1,37 @@ +--- a/drivers/media/pci/saa7134/saa7134-video.c ++++ a/drivers/media/pci/saa7134/saa7134-video.c +@@ -1243,6 +1243,7 @@ static int video_release(struct file *file) + videobuf_streamoff(&dev->cap); + res_free(dev, fh, RESOURCE_VIDEO); + videobuf_mmap_free(&dev->cap); ++ INIT_LIST_HEAD(&dev->cap.stream); + } + if (dev->cap.read_buf) { + buffer_release(&dev->cap, dev->cap.read_buf); +@@ -1254,6 +1255,7 @@ static int video_release(struct file *file) + videobuf_stop(&dev->vbi); + res_free(dev, fh, RESOURCE_VBI); + videobuf_mmap_free(&dev->vbi); ++ INIT_LIST_HEAD(&dev->vbi.stream); + } + + /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/ +@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv, + enum v4l2_buf_type type) + { + struct saa7134_dev *dev = video_drvdata(file); +- int err; + int res = saa7134_resource(file); + + if (res != RESOURCE_EMPRESS) + pm_qos_remove_request(&dev->qos_request); + +- err = videobuf_streamoff(saa7134_queue(file)); +- if (err < 0) +- return err; +- res_free(dev, priv, res); +- return 0; ++ return videobuf_streamoff(saa7134_queue(file)); + } + EXPORT_SYMBOL_GPL(saa7134_streamoff); + diff --git a/libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch b/libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch new file mode 100644 index 000000000..2840f190c --- /dev/null +++ b/libre/linux-libre/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch @@ -0,0 +1,13 @@ +diff --git a/net/core/dev.c b/net/core/dev.c +index 45fa2f1..6088927 100644 +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help); + __be16 skb_network_protocol(struct sk_buff *skb, int *depth) + { + __be16 type = skb->protocol; +- int vlan_depth = ETH_HLEN; ++ int vlan_depth = skb->mac_len; + + /* Tunnel gso handlers can set protocol to ethernet. */ + if (type == htons(ETH_P_TEB)) { diff --git a/libre/linux-libre/0015-fix-xsdt-validation.patch b/libre/linux-libre/0015-fix-xsdt-validation.patch new file mode 100644 index 000000000..82dd2be25 --- /dev/null +++ b/libre/linux-libre/0015-fix-xsdt-validation.patch @@ -0,0 +1,42 @@ +@@ -, +, @@ + acpi_tb_parse_root_table(). + Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 + Subject: ACPICA: Back port and refine validation of the XSDT root table. +--- + drivers/acpi/acpica/tbutils.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) +--- a/drivers/acpi/acpica/tbutils.c ++++ a/drivers/acpi/acpica/tbutils.c +@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + u32 table_count; + struct acpi_table_header *table; + acpi_physical_address address; ++ acpi_physical_address rsdt_address; + u32 length; + u8 *table_entry; + acpi_status status; +@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + * as per the ACPI specification. + */ + address = (acpi_physical_address) rsdp->xsdt_physical_address; ++ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address; + table_entry_size = ACPI_XSDT_ENTRY_SIZE; + } else { + /* Root table is an RSDT (32-bit physical addresses) */ + + address = (acpi_physical_address) rsdp->rsdt_physical_address; ++ rsdt_address = address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + +@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + + /* Fall back to the RSDT */ + +- address = +- (acpi_physical_address) rsdp->rsdt_physical_address; ++ address = rsdt_address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + } + diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index bfeda0206..e2f35b5cd 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 210383 2014-04-14 19:13:09Z tpowa $ +# $Id: PKGBUILD 211803 2014-04-27 09:34:35Z tpowa $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,10 +10,10 @@ pkgbase=linux-libre # Build stock -LIBRE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -_sublevel=1 +_sublevel=2 pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.0 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.1 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -37,11 +37,15 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0006-genksyms-fix-typeof-handling.patch' '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' + '0011-kernfs-fix-removed-error-check.patch' + '0012-fix-saa7134.patch' + '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' + '0015-fix-xsdt-validation.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '2b4862b3c76011e66e536f18fbf0fb27' - '13ee684b40757b16beae1f0192fd6003' - '43355af4f467ca93a0bc5f7209fc4810' + '77c34d5c5c2663d0daaf8ad3761fbaf3' + 'f6590a383c973b40f1c0f2baf7fa6fb5' + 'a0d21f858031209634578334dbfeb6ac' 'e49ac236dfeef709f91a3d993ea7b62c' '2967cecc3af9f954ccc822fd63dca6ff' '8267264d9a8966e57fdacd1fa1fc65c4' @@ -55,7 +59,11 @@ md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '16a161979f846b049e90daea907c35dd' '00727251b0d337a25d3ca392218afdf4' '353b553d69da810ef954618aca60e1e2' - '385f03abf27baa73731d27721eafd1c1') + 'b3f98eba6322463ed6644784c56893be' + '4f547d79fa1b2bb855dc2996be2a515e' + '21d25aef69f9da33c6087b7ffd97783e' + '278417ab07b6f5fe8e3e0ed656f35f3e' + '3ab22a28f075ec92bca1b7598e8280e1') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] @@ -111,6 +119,25 @@ prepare() { # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" + + # fix Xorg crash with i810 chipset due to wrong removed error check + # References: http://lkml.kernel.org/g/533D01BD.1010200@googlemail.com + patch -Np1 -i "${srcdir}/0011-kernfs-fix-removed-error-check.patch" + + # fix saa7134 video + # https://bugs.archlinux.org/task/39904 + # https://bugzilla.kernel.org/show_bug.cgi?id=73361 + patch -Np1 -i "${srcdir}/0012-fix-saa7134.patch" + + # fix tun/openvpn performance + # https://bugs.archlinux.org/task/40089 + # https://bugzilla.kernel.org/show_bug.cgi?id=74051 + patch -Np1 -i "${srcdir}/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch" + + # fix xsdt validation bug + # https://bugs.archlinux.org/task/39811 + # https://bugzilla.kernel.org/show_bug.cgi?id=73911 + patch -Np1 -i "${srcdir}/0015-fix-xsdt-validation.patch" if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 index 91c9f7b8c..2299043e6 100644 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -252,8 +252,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y @@ -1500,7 +1500,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index f111c0b2d..28f6c8aa0 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -261,8 +261,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -1481,7 +1481,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m -- cgit v1.2.3 From 5b5e4f6d2fa328bf14e48c273469b70579365ed1 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 28 Apr 2014 19:46:06 -0300 Subject: linux-libre-grsec-3.14.2.201404270907-1: updating version * added fixes for i810 hang, uefi xsdt issue, saa7134, tun speed --- .../0011-kernfs-fix-removed-error-check.patch | 13 +++++++ libre/linux-libre-grsec/0012-fix-saa7134.patch | 37 +++++++++++++++++++ ...h-correct-mac_len-in-skb_network_protocol.patch | 13 +++++++ .../0015-fix-xsdt-validation.patch | 42 ++++++++++++++++++++++ libre/linux-libre-grsec/PKGBUILD | 39 ++++++++++++++++---- libre/linux-libre-grsec/config.i686 | 5 +-- libre/linux-libre-grsec/config.x86_64 | 9 ++--- 7 files changed, 146 insertions(+), 12 deletions(-) create mode 100644 libre/linux-libre-grsec/0011-kernfs-fix-removed-error-check.patch create mode 100644 libre/linux-libre-grsec/0012-fix-saa7134.patch create mode 100644 libre/linux-libre-grsec/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch create mode 100644 libre/linux-libre-grsec/0015-fix-xsdt-validation.patch diff --git a/libre/linux-libre-grsec/0011-kernfs-fix-removed-error-check.patch b/libre/linux-libre-grsec/0011-kernfs-fix-removed-error-check.patch new file mode 100644 index 000000000..b597595c6 --- /dev/null +++ b/libre/linux-libre-grsec/0011-kernfs-fix-removed-error-check.patch @@ -0,0 +1,13 @@ +diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c +index 8034706..e01ea4a 100644 +--- a/fs/kernfs/file.c ++++ b/fs/kernfs/file.c +@@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) + + ops = kernfs_ops(of->kn); + rc = ops->mmap(of, vma); ++ if (rc) ++ goto out_put; + + /* + * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() diff --git a/libre/linux-libre-grsec/0012-fix-saa7134.patch b/libre/linux-libre-grsec/0012-fix-saa7134.patch new file mode 100644 index 000000000..070fbc8eb --- /dev/null +++ b/libre/linux-libre-grsec/0012-fix-saa7134.patch @@ -0,0 +1,37 @@ +--- a/drivers/media/pci/saa7134/saa7134-video.c ++++ a/drivers/media/pci/saa7134/saa7134-video.c +@@ -1243,6 +1243,7 @@ static int video_release(struct file *file) + videobuf_streamoff(&dev->cap); + res_free(dev, fh, RESOURCE_VIDEO); + videobuf_mmap_free(&dev->cap); ++ INIT_LIST_HEAD(&dev->cap.stream); + } + if (dev->cap.read_buf) { + buffer_release(&dev->cap, dev->cap.read_buf); +@@ -1254,6 +1255,7 @@ static int video_release(struct file *file) + videobuf_stop(&dev->vbi); + res_free(dev, fh, RESOURCE_VBI); + videobuf_mmap_free(&dev->vbi); ++ INIT_LIST_HEAD(&dev->vbi.stream); + } + + /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/ +@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv, + enum v4l2_buf_type type) + { + struct saa7134_dev *dev = video_drvdata(file); +- int err; + int res = saa7134_resource(file); + + if (res != RESOURCE_EMPRESS) + pm_qos_remove_request(&dev->qos_request); + +- err = videobuf_streamoff(saa7134_queue(file)); +- if (err < 0) +- return err; +- res_free(dev, priv, res); +- return 0; ++ return videobuf_streamoff(saa7134_queue(file)); + } + EXPORT_SYMBOL_GPL(saa7134_streamoff); + diff --git a/libre/linux-libre-grsec/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch b/libre/linux-libre-grsec/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch new file mode 100644 index 000000000..2840f190c --- /dev/null +++ b/libre/linux-libre-grsec/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch @@ -0,0 +1,13 @@ +diff --git a/net/core/dev.c b/net/core/dev.c +index 45fa2f1..6088927 100644 +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help); + __be16 skb_network_protocol(struct sk_buff *skb, int *depth) + { + __be16 type = skb->protocol; +- int vlan_depth = ETH_HLEN; ++ int vlan_depth = skb->mac_len; + + /* Tunnel gso handlers can set protocol to ethernet. */ + if (type == htons(ETH_P_TEB)) { diff --git a/libre/linux-libre-grsec/0015-fix-xsdt-validation.patch b/libre/linux-libre-grsec/0015-fix-xsdt-validation.patch new file mode 100644 index 000000000..82dd2be25 --- /dev/null +++ b/libre/linux-libre-grsec/0015-fix-xsdt-validation.patch @@ -0,0 +1,42 @@ +@@ -, +, @@ + acpi_tb_parse_root_table(). + Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 + Subject: ACPICA: Back port and refine validation of the XSDT root table. +--- + drivers/acpi/acpica/tbutils.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) +--- a/drivers/acpi/acpica/tbutils.c ++++ a/drivers/acpi/acpica/tbutils.c +@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + u32 table_count; + struct acpi_table_header *table; + acpi_physical_address address; ++ acpi_physical_address rsdt_address; + u32 length; + u8 *table_entry; + acpi_status status; +@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + * as per the ACPI specification. + */ + address = (acpi_physical_address) rsdp->xsdt_physical_address; ++ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address; + table_entry_size = ACPI_XSDT_ENTRY_SIZE; + } else { + /* Root table is an RSDT (32-bit physical addresses) */ + + address = (acpi_physical_address) rsdp->rsdt_physical_address; ++ rsdt_address = address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + +@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + + /* Fall back to the RSDT */ + +- address = +- (acpi_physical_address) rsdp->rsdt_physical_address; ++ address = rsdt_address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + } + diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index 082bdb61a..e702d3ad8 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -12,9 +12,9 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -_sublevel=1 +_sublevel=2 _grsecver=3.0 -_timestamp=201404241722 +_timestamp=201404270907 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 @@ -44,14 +44,18 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0006-genksyms-fix-typeof-handling.patch' '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' + '0011-kernfs-fix-removed-error-check.patch' + '0012-fix-saa7134.patch' + '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' + '0015-fix-xsdt-validation.patch' 'sysctl.conf' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '2b4862b3c76011e66e536f18fbf0fb27' - 'c22e7672ec2b6a87b99734ea470988d9' + '77c34d5c5c2663d0daaf8ad3761fbaf3' + '108a9ec62f9015ed17cd91f40087ea03' 'SKIP' - '51ead958a4bb74ca5f5702b97740719b' - '0822a5655cef86bb6f449692d8b3f3d2' + '1b830bf677c7df400ac30192fa37f97f' + '408dd180559f71dab1fcc80a19da1343' '5f66bed97a5c37e48eb2f71b2d354b9a' '2967cecc3af9f954ccc822fd63dca6ff' '8267264d9a8966e57fdacd1fa1fc65c4' @@ -65,6 +69,10 @@ md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '16a161979f846b049e90daea907c35dd' '00727251b0d337a25d3ca392218afdf4' '353b553d69da810ef954618aca60e1e2' + 'b3f98eba6322463ed6644784c56893be' + '4f547d79fa1b2bb855dc2996be2a515e' + '21d25aef69f9da33c6087b7ffd97783e' + '278417ab07b6f5fe8e3e0ed656f35f3e' '7a052645280da78a98bfe8cf805ddab5' '3ab22a28f075ec92bca1b7598e8280e1') if [ "$CARCH" != "mips64el" ]; then @@ -127,6 +135,25 @@ prepare() { # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" + # fix Xorg crash with i810 chipset due to wrong removed error check + # References: http://lkml.kernel.org/g/533D01BD.1010200@googlemail.com + patch -Np1 -i "${srcdir}/0011-kernfs-fix-removed-error-check.patch" + + # fix saa7134 video + # https://bugs.archlinux.org/task/39904 + # https://bugzilla.kernel.org/show_bug.cgi?id=73361 + patch -Np1 -i "${srcdir}/0012-fix-saa7134.patch" + + # fix tun/openvpn performance + # https://bugs.archlinux.org/task/40089 + # https://bugzilla.kernel.org/show_bug.cgi?id=74051 + patch -Np1 -i "${srcdir}/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch" + + # fix xsdt validation bug + # https://bugs.archlinux.org/task/39811 + # https://bugzilla.kernel.org/show_bug.cgi?id=73911 + patch -Np1 -i "${srcdir}/0015-fix-xsdt-validation.patch" + if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-grsec|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ diff --git a/libre/linux-libre-grsec/config.i686 b/libre/linux-libre-grsec/config.i686 index 76ef4273e..cc0487d43 100644 --- a/libre/linux-libre-grsec/config.i686 +++ b/libre/linux-libre-grsec/config.i686 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.14.1-1 Kernel Configuration +# Linux/x86 3.14.2-1 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1487,7 +1487,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m diff --git a/libre/linux-libre-grsec/config.x86_64 b/libre/linux-libre-grsec/config.x86_64 index 14c7909bc..4b3e0d5fd 100644 --- a/libre/linux-libre-grsec/config.x86_64 +++ b/libre/linux-libre-grsec/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.14.1-1 Kernel Configuration +# Linux/x86 3.14.2-1 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -260,8 +260,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -1472,7 +1472,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m -- cgit v1.2.3 From cb2dcc851263e2ccfd0b3c8d4ec960eac744b862 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 28 Apr 2014 19:57:41 -0300 Subject: linux-libre-lts-3.10.38-1: updating version --- libre/linux-libre-lts/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 73eb56657..8f9c93e9f 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 210405 2014-04-14 20:05:28Z andyrtr $ +# $Id: PKGBUILD 211809 2014-04-27 10:54:17Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,10 +10,10 @@ pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=37 +_sublevel=38 pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.36 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.37 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -32,7 +32,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'criu-no-expert.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '2a1d5d0eef6b18029f3e4f472bd9e76f' + '747505f7c931179fe555b538e89d2300' '85ce008eaacbb2fc54b81116d35cf946' '16867e648e4b9f89bec949cb643888c2' 'c072b17032e80debc6a8626299245d46' @@ -41,7 +41,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' - '110cc22534f63853ddb84f01e63c129a') + '39023beb2a460755f4bd9d2c7d335c58') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] -- cgit v1.2.3 From dca1930663ae2f0770065085af9105ed9479c44a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 28 Apr 2014 20:08:16 -0300 Subject: linux-libre-{pae,xen}-3.14.2-1: updating version * added fixes for i810 hang, uefi xsdt issue, saa7134, tun speed --- .../0011-kernfs-fix-removed-error-check.patch | 13 +++++++ kernels/linux-libre-pae/0012-fix-saa7134.patch | 37 +++++++++++++++++++ ...h-correct-mac_len-in-skb_network_protocol.patch | 13 +++++++ .../linux-libre-pae/0015-fix-xsdt-validation.patch | 42 ++++++++++++++++++++++ kernels/linux-libre-pae/PKGBUILD | 27 ++++++++++++-- kernels/linux-libre-pae/config | 7 ++-- .../0011-kernfs-fix-removed-error-check.patch | 13 +++++++ kernels/linux-libre-xen/0012-fix-saa7134.patch | 37 +++++++++++++++++++ ...h-correct-mac_len-in-skb_network_protocol.patch | 13 +++++++ .../linux-libre-xen/0015-fix-xsdt-validation.patch | 42 ++++++++++++++++++++++ kernels/linux-libre-xen/PKGBUILD | 27 ++++++++++++-- kernels/linux-libre-xen/config | 7 ++-- 12 files changed, 268 insertions(+), 10 deletions(-) create mode 100644 kernels/linux-libre-pae/0011-kernfs-fix-removed-error-check.patch create mode 100644 kernels/linux-libre-pae/0012-fix-saa7134.patch create mode 100644 kernels/linux-libre-pae/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch create mode 100644 kernels/linux-libre-pae/0015-fix-xsdt-validation.patch create mode 100644 kernels/linux-libre-xen/0011-kernfs-fix-removed-error-check.patch create mode 100644 kernels/linux-libre-xen/0012-fix-saa7134.patch create mode 100644 kernels/linux-libre-xen/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch create mode 100644 kernels/linux-libre-xen/0015-fix-xsdt-validation.patch diff --git a/kernels/linux-libre-pae/0011-kernfs-fix-removed-error-check.patch b/kernels/linux-libre-pae/0011-kernfs-fix-removed-error-check.patch new file mode 100644 index 000000000..b597595c6 --- /dev/null +++ b/kernels/linux-libre-pae/0011-kernfs-fix-removed-error-check.patch @@ -0,0 +1,13 @@ +diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c +index 8034706..e01ea4a 100644 +--- a/fs/kernfs/file.c ++++ b/fs/kernfs/file.c +@@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) + + ops = kernfs_ops(of->kn); + rc = ops->mmap(of, vma); ++ if (rc) ++ goto out_put; + + /* + * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() diff --git a/kernels/linux-libre-pae/0012-fix-saa7134.patch b/kernels/linux-libre-pae/0012-fix-saa7134.patch new file mode 100644 index 000000000..070fbc8eb --- /dev/null +++ b/kernels/linux-libre-pae/0012-fix-saa7134.patch @@ -0,0 +1,37 @@ +--- a/drivers/media/pci/saa7134/saa7134-video.c ++++ a/drivers/media/pci/saa7134/saa7134-video.c +@@ -1243,6 +1243,7 @@ static int video_release(struct file *file) + videobuf_streamoff(&dev->cap); + res_free(dev, fh, RESOURCE_VIDEO); + videobuf_mmap_free(&dev->cap); ++ INIT_LIST_HEAD(&dev->cap.stream); + } + if (dev->cap.read_buf) { + buffer_release(&dev->cap, dev->cap.read_buf); +@@ -1254,6 +1255,7 @@ static int video_release(struct file *file) + videobuf_stop(&dev->vbi); + res_free(dev, fh, RESOURCE_VBI); + videobuf_mmap_free(&dev->vbi); ++ INIT_LIST_HEAD(&dev->vbi.stream); + } + + /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/ +@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv, + enum v4l2_buf_type type) + { + struct saa7134_dev *dev = video_drvdata(file); +- int err; + int res = saa7134_resource(file); + + if (res != RESOURCE_EMPRESS) + pm_qos_remove_request(&dev->qos_request); + +- err = videobuf_streamoff(saa7134_queue(file)); +- if (err < 0) +- return err; +- res_free(dev, priv, res); +- return 0; ++ return videobuf_streamoff(saa7134_queue(file)); + } + EXPORT_SYMBOL_GPL(saa7134_streamoff); + diff --git a/kernels/linux-libre-pae/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch b/kernels/linux-libre-pae/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch new file mode 100644 index 000000000..2840f190c --- /dev/null +++ b/kernels/linux-libre-pae/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch @@ -0,0 +1,13 @@ +diff --git a/net/core/dev.c b/net/core/dev.c +index 45fa2f1..6088927 100644 +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help); + __be16 skb_network_protocol(struct sk_buff *skb, int *depth) + { + __be16 type = skb->protocol; +- int vlan_depth = ETH_HLEN; ++ int vlan_depth = skb->mac_len; + + /* Tunnel gso handlers can set protocol to ethernet. */ + if (type == htons(ETH_P_TEB)) { diff --git a/kernels/linux-libre-pae/0015-fix-xsdt-validation.patch b/kernels/linux-libre-pae/0015-fix-xsdt-validation.patch new file mode 100644 index 000000000..82dd2be25 --- /dev/null +++ b/kernels/linux-libre-pae/0015-fix-xsdt-validation.patch @@ -0,0 +1,42 @@ +@@ -, +, @@ + acpi_tb_parse_root_table(). + Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 + Subject: ACPICA: Back port and refine validation of the XSDT root table. +--- + drivers/acpi/acpica/tbutils.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) +--- a/drivers/acpi/acpica/tbutils.c ++++ a/drivers/acpi/acpica/tbutils.c +@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + u32 table_count; + struct acpi_table_header *table; + acpi_physical_address address; ++ acpi_physical_address rsdt_address; + u32 length; + u8 *table_entry; + acpi_status status; +@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + * as per the ACPI specification. + */ + address = (acpi_physical_address) rsdp->xsdt_physical_address; ++ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address; + table_entry_size = ACPI_XSDT_ENTRY_SIZE; + } else { + /* Root table is an RSDT (32-bit physical addresses) */ + + address = (acpi_physical_address) rsdp->rsdt_physical_address; ++ rsdt_address = address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + +@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + + /* Fall back to the RSDT */ + +- address = +- (acpi_physical_address) rsdp->rsdt_physical_address; ++ address = rsdt_address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + } + diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD index f71de8489..48390b477 100644 --- a/kernels/linux-libre-pae/PKGBUILD +++ b/kernels/linux-libre-pae/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 210383 2014-04-14 19:13:09Z tpowa $ +# $Id: PKGBUILD 211803 2014-04-27 09:34:35Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -42,7 +42,11 @@ md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' 'a89d593774ccb955eb8368d3bc87ce26' '16a161979f846b049e90daea907c35dd' '00727251b0d337a25d3ca392218afdf4' - '353b553d69da810ef954618aca60e1e2') + '353b553d69da810ef954618aca60e1e2' + 'b3f98eba6322463ed6644784c56893be' + '4f547d79fa1b2bb855dc2996be2a515e' + '21d25aef69f9da33c6087b7ffd97783e' + '278417ab07b6f5fe8e3e0ed656f35f3e') _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-PAE @@ -93,6 +97,25 @@ prepare() { # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" + + # fix Xorg crash with i810 chipset due to wrong removed error check + # References: http://lkml.kernel.org/g/533D01BD.1010200@googlemail.com + patch -Np1 -i "${srcdir}/0011-kernfs-fix-removed-error-check.patch" + + # fix saa7134 video + # https://bugs.archlinux.org/task/39904 + # https://bugzilla.kernel.org/show_bug.cgi?id=73361 + patch -Np1 -i "${srcdir}/0012-fix-saa7134.patch" + + # fix tun/openvpn performance + # https://bugs.archlinux.org/task/40089 + # https://bugzilla.kernel.org/show_bug.cgi?id=74051 + patch -Np1 -i "${srcdir}/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch" + + # fix xsdt validation bug + # https://bugs.archlinux.org/task/39811 + # https://bugzilla.kernel.org/show_bug.cgi?id=73911 + patch -Np1 -i "${srcdir}/0015-fix-xsdt-validation.patch" cat "${srcdir}/config" > ./.config # simpler diff --git a/kernels/linux-libre-pae/config b/kernels/linux-libre-pae/config index 5e645c853..bde7e488e 100644 --- a/kernels/linux-libre-pae/config +++ b/kernels/linux-libre-pae/config @@ -252,8 +252,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y @@ -1501,7 +1501,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m diff --git a/kernels/linux-libre-xen/0011-kernfs-fix-removed-error-check.patch b/kernels/linux-libre-xen/0011-kernfs-fix-removed-error-check.patch new file mode 100644 index 000000000..b597595c6 --- /dev/null +++ b/kernels/linux-libre-xen/0011-kernfs-fix-removed-error-check.patch @@ -0,0 +1,13 @@ +diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c +index 8034706..e01ea4a 100644 +--- a/fs/kernfs/file.c ++++ b/fs/kernfs/file.c +@@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) + + ops = kernfs_ops(of->kn); + rc = ops->mmap(of, vma); ++ if (rc) ++ goto out_put; + + /* + * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() diff --git a/kernels/linux-libre-xen/0012-fix-saa7134.patch b/kernels/linux-libre-xen/0012-fix-saa7134.patch new file mode 100644 index 000000000..070fbc8eb --- /dev/null +++ b/kernels/linux-libre-xen/0012-fix-saa7134.patch @@ -0,0 +1,37 @@ +--- a/drivers/media/pci/saa7134/saa7134-video.c ++++ a/drivers/media/pci/saa7134/saa7134-video.c +@@ -1243,6 +1243,7 @@ static int video_release(struct file *file) + videobuf_streamoff(&dev->cap); + res_free(dev, fh, RESOURCE_VIDEO); + videobuf_mmap_free(&dev->cap); ++ INIT_LIST_HEAD(&dev->cap.stream); + } + if (dev->cap.read_buf) { + buffer_release(&dev->cap, dev->cap.read_buf); +@@ -1254,6 +1255,7 @@ static int video_release(struct file *file) + videobuf_stop(&dev->vbi); + res_free(dev, fh, RESOURCE_VBI); + videobuf_mmap_free(&dev->vbi); ++ INIT_LIST_HEAD(&dev->vbi.stream); + } + + /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/ +@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv, + enum v4l2_buf_type type) + { + struct saa7134_dev *dev = video_drvdata(file); +- int err; + int res = saa7134_resource(file); + + if (res != RESOURCE_EMPRESS) + pm_qos_remove_request(&dev->qos_request); + +- err = videobuf_streamoff(saa7134_queue(file)); +- if (err < 0) +- return err; +- res_free(dev, priv, res); +- return 0; ++ return videobuf_streamoff(saa7134_queue(file)); + } + EXPORT_SYMBOL_GPL(saa7134_streamoff); + diff --git a/kernels/linux-libre-xen/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch b/kernels/linux-libre-xen/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch new file mode 100644 index 000000000..2840f190c --- /dev/null +++ b/kernels/linux-libre-xen/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch @@ -0,0 +1,13 @@ +diff --git a/net/core/dev.c b/net/core/dev.c +index 45fa2f1..6088927 100644 +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help); + __be16 skb_network_protocol(struct sk_buff *skb, int *depth) + { + __be16 type = skb->protocol; +- int vlan_depth = ETH_HLEN; ++ int vlan_depth = skb->mac_len; + + /* Tunnel gso handlers can set protocol to ethernet. */ + if (type == htons(ETH_P_TEB)) { diff --git a/kernels/linux-libre-xen/0015-fix-xsdt-validation.patch b/kernels/linux-libre-xen/0015-fix-xsdt-validation.patch new file mode 100644 index 000000000..82dd2be25 --- /dev/null +++ b/kernels/linux-libre-xen/0015-fix-xsdt-validation.patch @@ -0,0 +1,42 @@ +@@ -, +, @@ + acpi_tb_parse_root_table(). + Commit: 671cc68dc61f029d44b43a681356078e02d8dab8 + Subject: ACPICA: Back port and refine validation of the XSDT root table. +--- + drivers/acpi/acpica/tbutils.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) +--- a/drivers/acpi/acpica/tbutils.c ++++ a/drivers/acpi/acpica/tbutils.c +@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + u32 table_count; + struct acpi_table_header *table; + acpi_physical_address address; ++ acpi_physical_address rsdt_address; + u32 length; + u8 *table_entry; + acpi_status status; +@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + * as per the ACPI specification. + */ + address = (acpi_physical_address) rsdp->xsdt_physical_address; ++ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address; + table_entry_size = ACPI_XSDT_ENTRY_SIZE; + } else { + /* Root table is an RSDT (32-bit physical addresses) */ + + address = (acpi_physical_address) rsdp->rsdt_physical_address; ++ rsdt_address = address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + +@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address) + + /* Fall back to the RSDT */ + +- address = +- (acpi_physical_address) rsdp->rsdt_physical_address; ++ address = rsdt_address; + table_entry_size = ACPI_RSDT_ENTRY_SIZE; + } + } + diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index 0d908bea2..68b6d1a24 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 210383 2014-04-14 19:13:09Z tpowa $ +# $Id: PKGBUILD 211803 2014-04-27 09:34:35Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -42,7 +42,11 @@ md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' 'a89d593774ccb955eb8368d3bc87ce26' '16a161979f846b049e90daea907c35dd' '00727251b0d337a25d3ca392218afdf4' - '353b553d69da810ef954618aca60e1e2') + '353b553d69da810ef954618aca60e1e2' + 'b3f98eba6322463ed6644784c56893be' + '4f547d79fa1b2bb855dc2996be2a515e' + '21d25aef69f9da33c6087b7ffd97783e' + '278417ab07b6f5fe8e3e0ed656f35f3e') _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-XEN @@ -93,6 +97,25 @@ prepare() { # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" + + # fix Xorg crash with i810 chipset due to wrong removed error check + # References: http://lkml.kernel.org/g/533D01BD.1010200@googlemail.com + patch -Np1 -i "${srcdir}/0011-kernfs-fix-removed-error-check.patch" + + # fix saa7134 video + # https://bugs.archlinux.org/task/39904 + # https://bugzilla.kernel.org/show_bug.cgi?id=73361 + patch -Np1 -i "${srcdir}/0012-fix-saa7134.patch" + + # fix tun/openvpn performance + # https://bugs.archlinux.org/task/40089 + # https://bugzilla.kernel.org/show_bug.cgi?id=74051 + patch -Np1 -i "${srcdir}/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch" + + # fix xsdt validation bug + # https://bugs.archlinux.org/task/39811 + # https://bugzilla.kernel.org/show_bug.cgi?id=73911 + patch -Np1 -i "${srcdir}/0015-fix-xsdt-validation.patch" cat "${srcdir}/config" > ./.config # simpler diff --git a/kernels/linux-libre-xen/config b/kernels/linux-libre-xen/config index 76eab6864..7f43ed4c8 100644 --- a/kernels/linux-libre-xen/config +++ b/kernels/linux-libre-xen/config @@ -252,8 +252,8 @@ CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +CONFIG_CC_STACKPROTECTOR_STRONG=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y @@ -1509,7 +1509,8 @@ CONFIG_DMA_SHARED_BUFFER=y # # Bus devices # -CONFIG_CONNECTOR=m +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y CONFIG_MTD=m CONFIG_MTD_TESTS=m CONFIG_MTD_REDBOOT_PARTS=m -- cgit v1.2.3 From 50a1668ff1de06c0df190be9fd9a86227a19bdf2 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 28 Apr 2014 20:11:07 -0300 Subject: linux-libre-lts-knock-3.10.38-1: updating version --- kernels/linux-libre-lts-knock/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD index 524e28cc6..0df35731d 100644 --- a/kernels/linux-libre-lts-knock/PKGBUILD +++ b/kernels/linux-libre-lts-knock/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 210405 2014-04-14 20:05:28Z andyrtr $ +# $Id: PKGBUILD 211809 2014-04-27 10:54:17Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,11 +10,11 @@ pkgbase=linux-libre-lts-knock # Build stock -LIBRE-LTS-KNOCK kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=37 +_sublevel=38 _knockpatchver=${_basekernel} pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.36 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.37 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -34,7 +34,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'criu-no-expert.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '2a1d5d0eef6b18029f3e4f472bd9e76f' + '747505f7c931179fe555b538e89d2300' '26380d6f05471ef8e065a77d87588009' 'f22e0a6a7634902f5a00eb25ad677c65' '6550ba0e23b7729cd9db2475bde8fac2' @@ -44,7 +44,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' - '110cc22534f63853ddb84f01e63c129a') + '39023beb2a460755f4bd9d2c7d335c58') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] -- cgit v1.2.3 From 706588a69e6c9a086022e6df7f0f04d79f36b619 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 28 Apr 2014 20:31:24 -0300 Subject: python-reportlab-libre-3.1.8-1: updating version --- libre/python-reportlab-libre/PKGBUILD | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libre/python-reportlab-libre/PKGBUILD b/libre/python-reportlab-libre/PKGBUILD index c211f1567..3ce775f9e 100644 --- a/libre/python-reportlab-libre/PKGBUILD +++ b/libre/python-reportlab-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 107615 2014-03-18 10:32:13Z jelle $ +# $Id: PKGBUILD 110391 2014-04-28 19:17:21Z jelle $ # Maintainer: # Contributor: Angel 'angvp' Velasquez # Contributor: William Rea @@ -9,18 +9,18 @@ pkgbase=python-reportlab-libre pkgname=(python2-reportlab-libre python-reportlab-libre) _origname=reportlab -pkgver=3.0 -pkgrel=2 +pkgver=3.1.8 +pkgrel=1 pkgdesc="A proven industry-strength PDF generating solution, without nonfree Adobe T1 fonts support" arch=('i686' 'x86_64') url="http://www.reportlab.org/rl_toolkit.html" depends=('freetype2') checkdepends=('python' 'python2' 'python2-pillow' 'python-pillow') license=('custom') -source=(http://www.reportlab.com/ftp/reportlab-$pkgver.tar.gz - free-fonts.patch) -md5sums=('a4fd40abcfb604aa3bd907181133c071' - 'eb3ac47734efb05b939fb88026aff8ed') +source=("https://pypi.python.org/packages/source/r/reportlab/reportlab-$pkgver.tar.gz" + 'free-fonts.patch') +md5sums=(820a9fda647078503597b85cdba7ed7f + eb3ac47734efb05b939fb88026aff8ed) prepare() { cd $srcdir -- cgit v1.2.3 From b67b5443edc1b2cfc4993dd82a803b969a4f563a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 28 Apr 2014 20:38:14 -0300 Subject: ice{cat,weasel}-noscript-2.6.8.20-1: updating version --- libre/icecat-noscript/PKGBUILD | 6 +++--- libre/iceweasel-noscript/PKGBUILD | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libre/icecat-noscript/PKGBUILD b/libre/icecat-noscript/PKGBUILD index 67865faeb..2077923e1 100644 --- a/libre/icecat-noscript/PKGBUILD +++ b/libre/icecat-noscript/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 108368 2014-03-27 09:25:40Z spupykin $ +# $Id: PKGBUILD 110341 2014-04-28 09:14:47Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer (Parabola): André Silva _pkgname=firefox-noscript pkgname=icecat-noscript -pkgver=2.6.8.19 +pkgver=2.6.8.20 pkgrel=1 pkgdesc="plugin for icecat which disables script" arch=('any') @@ -14,7 +14,7 @@ depends=() provides=$_pkgname=$pkgver makedepends=('unzip') source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi) -md5sums=('9d1e6ff5f01b4758e84465f5d3ca976d') +md5sums=('d0943c2090bd449609b690b248c3cdfa') package() { # _ffver=`pacman -Q icecat | cut -f2 -d\ | cut -f1 -d-` diff --git a/libre/iceweasel-noscript/PKGBUILD b/libre/iceweasel-noscript/PKGBUILD index f39297529..2ecda3381 100644 --- a/libre/iceweasel-noscript/PKGBUILD +++ b/libre/iceweasel-noscript/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 108368 2014-03-27 09:25:40Z spupykin $ +# $Id: PKGBUILD 110341 2014-04-28 09:14:47Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer (Parabola): André Silva _pkgname=firefox-noscript pkgname=iceweasel-noscript -pkgver=2.6.8.19 +pkgver=2.6.8.20 pkgrel=1 pkgdesc="plugin for iceweasel which disables script" arch=('any') @@ -14,7 +14,7 @@ depends=() provides=$_pkgname=$pkgver makedepends=('unzip') source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi) -md5sums=('9d1e6ff5f01b4758e84465f5d3ca976d') +md5sums=('d0943c2090bd449609b690b248c3cdfa') package() { # _ffver=`pacman -Q iceweasel-libre | cut -f2 -d\ | cut -f1 -d-` -- cgit v1.2.3 From fa93fe57c5745e193cbef22a277d4ffeab1f8eb3 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 29 Apr 2014 00:01:08 -0300 Subject: linux-libre-lts-knock: change URL package --- kernels/linux-libre-lts-knock/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD index 0df35731d..00dbceacd 100644 --- a/kernels/linux-libre-lts-knock/PKGBUILD +++ b/kernels/linux-libre-lts-knock/PKGBUILD @@ -16,7 +16,7 @@ pkgver=${_basekernel}.${_sublevel} pkgrel=1 _lxopkgver=${_basekernel}.37 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') -url="http://linux-libre.fsfla.org/" +url="https://gnunet.org/knock" license=('GPL2') makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') -- cgit v1.2.3 From 3b26d914bacf230074cb084f980911f0dff8194d Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 29 Apr 2014 03:21:03 -0300 Subject: linux-libre-{pae,xen}: fix version package, source list and checksums --- kernels/linux-libre-pae/PKGBUILD | 12 ++++++++---- kernels/linux-libre-xen/PKGBUILD | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD index 48390b477..b8ac4f3e2 100644 --- a/kernels/linux-libre-pae/PKGBUILD +++ b/kernels/linux-libre-pae/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=linux-libre-pae # Build stock -LIBRE-PAE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -pkgver=${_basekernel}.1 +pkgver=${_basekernel}.2 pkgrel=1 arch=('i686') url="http://linux-libre.fsfla.org/" @@ -28,10 +28,14 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' - '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch') + '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' + '0011-kernfs-fix-removed-error-check.patch' + '0012-fix-saa7134.patch' + '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' + '0015-fix-xsdt-validation.patch') md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '2b4862b3c76011e66e536f18fbf0fb27' - '44c66dccb03369dd7288540efad706b0' + '77c34d5c5c2663d0daaf8ad3761fbaf3' + '44e0326ede87f3ec941e34e460311467' 'f302c931bd85309da9d9792b4cc96467' '44260d2cb1a8b51c119d2ce1f83e457a' '98beb36f9b8cf16e58de2483ea9985e3' diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index 68b6d1a24..810be97c3 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -pkgver=${_basekernel}.1 +pkgver=${_basekernel}.2 pkgrel=1 arch=('i686') url="http://linux-libre.fsfla.org/" @@ -28,10 +28,14 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' - '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch') + '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' + '0011-kernfs-fix-removed-error-check.patch' + '0012-fix-saa7134.patch' + '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' + '0015-fix-xsdt-validation.patch') md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '2b4862b3c76011e66e536f18fbf0fb27' - 'b6e58c41ad19afbcef408f8becb8a967' + '77c34d5c5c2663d0daaf8ad3761fbaf3' + '87655bd2418bd4749df0b8bf81071d0e' 'b7c2805bb287a644c0a303bf7721e534' '44260d2cb1a8b51c119d2ce1f83e457a' '98beb36f9b8cf16e58de2483ea9985e3' -- cgit v1.2.3 From 1c1c34919dbaa1464f34a29c5e2372f69f8268d7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 29 Apr 2014 15:44:31 -0300 Subject: audacious-plugins-libre-3.5-2: fix FS#40141 => https://bugs.archlinux.org/task/40141 --- libre/audacious-plugins-libre/PKGBUILD | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libre/audacious-plugins-libre/PKGBUILD b/libre/audacious-plugins-libre/PKGBUILD index fd76b6120..15d0b2aa5 100644 --- a/libre/audacious-plugins-libre/PKGBUILD +++ b/libre/audacious-plugins-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 211688 2014-04-23 09:34:34Z bisson $ +# $Id: PKGBUILD 211911 2014-04-29 17:16:51Z bisson $ # Maintainer: Gaetan Bisson # Contributor: Alexander Fehr # Contributor: William Rea @@ -9,7 +9,7 @@ _pkgname=audacious-plugins pkgname=audacious-plugins-libre pkgver=3.5 -pkgrel=1 +pkgrel=2 pkgdesc='Plugins for Audacious, without nonfree plugins' url='http://audacious-media-player.org/' license=('GPL' 'GPL3' 'LGPL' 'custom:BSD') @@ -32,7 +32,7 @@ makedepends=("audacious>=${pkgver}" 'glib2' 'python2' # for gdbus-codegen 'alsa-lib' 'pulseaudio' 'jack2' 'lame' 'libvorbis' 'flac' 'mpg123' 'faad2' 'ffmpeg' 'libmodplug' 'fluidsynth' 'libcdio-paranoia' 'libsidplayfp' 'wavpack' - 'libnotify' 'lirc-utils' 'curl' 'libmtp' + 'dbus-glib' 'libnotify' 'lirc-utils' 'curl' 'libmtp' 'neon' 'libmms' 'libcue') optdepends=('alsa-lib: Advanced Linux Sound Arch. output' @@ -51,6 +51,7 @@ optdepends=('alsa-lib: Advanced Linux Sound Arch. output' 'libsidplayfp: Commodore 64 audio input' 'wavpack: WavPack input' + 'dbus-glib: Gnome Shortcuts Plugin' 'libnotify: libnotify OSD' 'lirc-utils: LIRC' 'curl: AudioScrobbler Client' -- cgit v1.2.3 From 7eebd0f5616411b18aa597f9d071a22617ef6ac2 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Tue, 29 Apr 2014 15:51:10 -0300 Subject: gnash-0.8.11dev-2: add new package to [pcr] --- pcr/gnash/PKGBUILD | 59 +++++++++++++++++++++++++++++++++++++++++++++ pcr/gnash/gnash-gtk.install | 22 +++++++++++++++++ pcr/gnash/nodebug.patch | 48 ++++++++++++++++++++++++++++++++++++ 3 files changed, 129 insertions(+) create mode 100644 pcr/gnash/PKGBUILD create mode 100644 pcr/gnash/gnash-gtk.install create mode 100644 pcr/gnash/nodebug.patch diff --git a/pcr/gnash/PKGBUILD b/pcr/gnash/PKGBUILD new file mode 100644 index 000000000..f932fa084 --- /dev/null +++ b/pcr/gnash/PKGBUILD @@ -0,0 +1,59 @@ +# $Id: PKGBUILD 107172 2014-03-14 00:14:28Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) + +pkgname=gnash +pkgdesc="A GNU Flash movie player" +pkgver=0.8.11dev +pkgrel=2 +arch=(i686 x86_64) +url="http://www.gnu.org/software/gnash/" +license=(GPL3) +depends=(curl giflib sdl agg libjpeg libpng libltdl libgl glu speex fontconfig cairo ffmpeg jemalloc boost-libs gtk2 libldap hicolor-icon-theme desktop-file-utils gconf gtkglext) +makedepends=(libtool mesa xulrunner pkgconfig boost git) +provides=(gnash-common gnash-gtk) +conflicts=(gnash-common gnash-gtk) +replaces=(gnash-common gnash-gtk) +options=(!emptydirs) +backup=(etc/gnashrc etc/gnashthumbnailrc etc/gnashpluginrc) +install=gnash-gtk.install +source=('gnash::git://git.sv.gnu.org/gnash.git#commit=a3180f2' + nodebug.patch) +sha256sums=('SKIP' + '0ebb104a7632af997c7e6b268755949fa0c1eea5e32015b95a22d63d0e431551') + + +prepare() { + cd gnash + + # Disable very, very verbose debugging (gigabytes of logs) + patch -Np1 -i ../nodebug.patch + + ./autogen.sh +} + +build() { + cd gnash + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-plugins-install=system \ + --with-npapi-plugindir=/usr/lib/mozilla/plugins \ + --enable-gui=sdl,gtk,dump \ + --enable-media=ffmpeg \ + --enable-renderer=all \ + --enable-device=x11 + + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + + make +} + +package() { + cd gnash + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install install-plugin + + install -m755 -d "$pkgdir/usr/share/gconf/schemas" + gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/gnash.schemas" --domain gnash \ + "$pkgdir"/usr/share/applications/*.schemas + rm -f "$pkgdir"/usr/share/applications/*.schemas +} diff --git a/pcr/gnash/gnash-gtk.install b/pcr/gnash/gnash-gtk.install new file mode 100644 index 000000000..6678a7f8a --- /dev/null +++ b/pcr/gnash/gnash-gtk.install @@ -0,0 +1,22 @@ +post_install() { + gconfpkg --install gnash + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +pre_upgrade() { + pre_remove +} + +post_upgrade() { + post_install +} + +pre_remove() { + gconfpkg --uninstall gnash +} + +post_remove() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/pcr/gnash/nodebug.patch b/pcr/gnash/nodebug.patch new file mode 100644 index 000000000..ca160b898 --- /dev/null +++ b/pcr/gnash/nodebug.patch @@ -0,0 +1,48 @@ +diff -u -r gnash-0.8.9/libbase/log.h gnash-0.8.9-nodebug/libbase/log.h +--- gnash-0.8.9/libbase/log.h 2011-02-26 19:11:08.000000000 +0100 ++++ gnash-0.8.9-nodebug/libbase/log.h 2012-01-18 09:39:02.004103494 +0100 +@@ -331,27 +331,27 @@ + + // Define to 0 to completely remove parse debugging at compile-time + #ifndef VERBOSE_PARSE +-#define VERBOSE_PARSE 1 ++#define VERBOSE_PARSE 0 + #endif + + // Define to 0 to completely remove action debugging at compile-time + #ifndef VERBOSE_ACTION +-#define VERBOSE_ACTION 1 ++#define VERBOSE_ACTION 0 + #endif + + // Define to 0 to remove ActionScript errors verbosity at compile-time + #ifndef VERBOSE_ASCODING_ERRORS +-#define VERBOSE_ASCODING_ERRORS 1 ++#define VERBOSE_ASCODING_ERRORS 0 + #endif + + // Define to 0 this to remove invalid SWF verbosity at compile-time + #ifndef VERBOSE_MALFORMED_SWF +-#define VERBOSE_MALFORMED_SWF 1 ++#define VERBOSE_MALFORMED_SWF 0 + #endif + + // Define to 0 this to remove Networking verbosity at compile-time + #ifndef VERBOSE_NETWORKING +-#define VERBOSE_NETWORKING 1 ++#define VERBOSE_NETWORKING 0 + #endif + + #if VERBOSE_PARSE +diff -u -r gnash-0.8.9/libcore/vm/ActionExec.cpp gnash-0.8.9-nodebug/libcore/vm/ActionExec.cpp +--- gnash-0.8.9/libcore/vm/ActionExec.cpp 2011-03-13 17:47:36.000000000 +0100 ++++ gnash-0.8.9-nodebug/libcore/vm/ActionExec.cpp 2012-01-18 09:40:25.653458508 +0100 +@@ -46,7 +46,7 @@ + // too much information for my tastes. I really want just + // to see how stack changes while executing actions... + // --strk Fri Jun 30 02:28:46 CEST 2006 +-# define DEBUG_STACK 1 ++//# define DEBUG_STACK 1 + + // Max number of stack item to dump. 0 for unlimited. + # define STACK_DUMP_LIMIT 32 -- cgit v1.2.3 From b1626f6ec27a940929b81370fbecbc31d5b3caa5 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 29 Apr 2014 23:25:09 -0300 Subject: netsurf-libre-3.1-1: updating version --- libre/netsurf-libre/PKGBUILD | 43 +++++++++++++++++++++++------------------- libre/netsurf-libre/netsurf.sh | 4 ++-- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/libre/netsurf-libre/PKGBUILD b/libre/netsurf-libre/PKGBUILD index 6d028e732..cd6a29096 100644 --- a/libre/netsurf-libre/PKGBUILD +++ b/libre/netsurf-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 105500 2014-02-09 11:01:04Z arodseth $ +# $Id: PKGBUILD 110427 2014-04-29 13:53:01Z arodseth $ # Maintainer: Alexander Rødseth # Contributor: Paulo Matias # Contributor: Georgij Kondratjev @@ -7,8 +7,8 @@ _pkgname=netsurf pkgname=netsurf-libre -pkgver=3.0 -pkgrel=7 +pkgver=3.1 +pkgrel=1 pkgdesc='Lightweight and fast web browser, without non-privacy search providers' arch=('x86_64' 'i686' 'mips64el') url='http://www.netsurf-browser.org/' @@ -16,15 +16,15 @@ license=('MIT' 'GPL2') replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver -depends=('gtk2' 'libmng' 'curl' 'librsvg' 'desktop-file-utils' 'libnsbmp' 'libnsgif' 'libcss' 'libwebp' 'libdom' 'lcms') # 'libharu' 'gstreamer0.10' -makedepends=('js' 're2c' 'gendesk' 'netsurf-buildsystem' 'libglade' 'addinclude') +depends=('libmng' 'librsvg' 'libwebp' 'curl' 'lcms' 'desktop-file-utils' 'libnsbmp>=0.1.1' 'libnsgif>=0.1.1' 'libcss>=0.3.0' 'libdom>=0.1.0' 'js185' 'gtk2') # gtk3 +makedepends=('js185' 're2c' 'gendesk' 'netsurf-buildsystem' 'perl-html-parser' 'nsgenbind' 'inetutils') install="$_pkgname.install" source=("netsurf.png::http://ubuntu.allmyapps.com/data/n/e/netsurf-netsurf-web-browser/icon_48x48_netsurf.png" "http://download.$_pkgname-browser.org/$_pkgname/releases/source/$_pkgname-$pkgver-src.tar.gz" 'netsurf.sh') sha256sums=('f0dbcc5d80bf03d706aa8b28a322aa7f169a40813848c2d1505691f6e2c7ef00' - '7c6a48d3cc3e9a3e3a51b532ddf60f7697e97bf8b61a6d3b2ced1a2e89fbccc6' - '7aef20cc7b2e2e7225237f2f94b5a0074caeb8ec07075c58429b0345ca566f8d') + '1ef12b2e2bc68f9eff8465646b7359e3cb483e1042aed750cc283a70dd4c540c' + '70310682d1612457d7bb3096549110b6ec127f50e97853259fada6be0c52924b') prepare() { cd "$_pkgname-$pkgver" @@ -92,35 +92,40 @@ prepare() { \!NetSurf/Resources/it/welcome.html\,faf \ \!NetSurf/Resources/ja/welcome.html\,faf - addinclude image/rsvg.c stdio - addinclude image/mng.c stdio - addinclude image/png.c stdio + cd .. gendesk -f --pkgname "$_pkgname" --pkgdesc "$pkgdesc" --exec 'netsurf %U' \ --genericname 'Web Browser' --comment 'Lightweight web browser' \ --mimetypes 'text/html;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/geo' + + # If patching the GTK3 deprecated errors by including files from + # /usr/include/gtk-3.0/gtk/deprecated, something like this might be useful: + #setconf "$_pkgname-$pkgver/Makefile.defaults" \ + # CFLAGS " -DGTK_COMPILATION" } build() { - cd "$_pkgname-$pkgver" - - make \ + make -C "$_pkgname-$pkgver" \ PREFIX=/usr \ TARGET=gtk \ NETSURF_USE_WEBP=YES \ NETSURF_USE_VIDEO=NO + #NETSURF_GTK_MAJOR=3 # The latest version of GTK3 has deprecated several + # features that are used by NetSurf. } package() { - cd "$_pkgname-$pkgver" - - make install PREFIX=/usr DESTDIR="$pkgdir" NETSURF_USE_WEBP=YES + make -C "$_pkgname-$pkgver" install PREFIX=/usr DESTDIR="$pkgdir" mv "$pkgdir/usr/bin/$_pkgname" "$pkgdir/usr/bin/$_pkgname.elf" - install -Dm755 "../$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname" - install -Dm644 "../$_pkgname.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png" + install -Dm755 "$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname" + install -Dm644 "$_pkgname.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png" install -Dm644 "$_pkgname.desktop" \ "$pkgdir/usr/share/applications/$_pkgname.desktop" - install -Dm644 COPYING "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" + install -Dm644 "$_pkgname-$pkgver/COPYING" \ + "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" + # use softlinks instead of hardlinks + rm -r "$pkgdir/usr/share/netsurf/C" + ln -s '/usr/share/netsurf/en' "$pkgdir/usr/share/netsurf/C" } # vim:set ts=2 sw=2 et: diff --git a/libre/netsurf-libre/netsurf.sh b/libre/netsurf-libre/netsurf.sh index b74f388af..01ff68450 100644 --- a/libre/netsurf-libre/netsurf.sh +++ b/libre/netsurf-libre/netsurf.sh @@ -1,7 +1,7 @@ #!/bin/sh shortname=`echo $LANG | cut -b1-2` if [[ -d /usr/share/netsurf/$shortname ]]; then - /usr/bin/netsurf.elf "$@" + /usr/bin/netsurf.elf "$@" else - LANG=en /usr/bin/netsurf.elf "$@" + LANG=en /usr/bin/netsurf.elf "$@" fi -- cgit v1.2.3 From 239ccb3feb11ac23447d965e4600e81adaa51bcd Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 29 Apr 2014 23:25:50 -0300 Subject: claws-mail-nonprism-3.9.3-4: rebuild with git backports for libetpan 1.4.1 --- nonprism/claws-mail-nonprism/PKGBUILD | 23 +- nonprism/claws-mail-nonprism/claws-ssl-1.patch | 494 +++++++++++++++++++++++++ nonprism/claws-mail-nonprism/claws-ssl-2.patch | 139 +++++++ nonprism/claws-mail-nonprism/claws-ssl-3.patch | 241 ++++++++++++ 4 files changed, 893 insertions(+), 4 deletions(-) create mode 100644 nonprism/claws-mail-nonprism/claws-ssl-1.patch create mode 100644 nonprism/claws-mail-nonprism/claws-ssl-2.patch create mode 100644 nonprism/claws-mail-nonprism/claws-ssl-3.patch diff --git a/nonprism/claws-mail-nonprism/PKGBUILD b/nonprism/claws-mail-nonprism/PKGBUILD index 83710a1e8..4d8f8abac 100644 --- a/nonprism/claws-mail-nonprism/PKGBUILD +++ b/nonprism/claws-mail-nonprism/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 209689 2014-04-01 11:24:16Z jgc $ +# $Id: PKGBUILD 211817 2014-04-27 16:25:16Z andyrtr $ # Maintainer: Andreas Radke # Maintainer (Parabola): Márcio Silva _pkgname=claws-mail pkgname=$_pkgname-nonprism pkgver=3.9.3 -pkgrel=3 +pkgrel=4 pkgdesc="A GTK+ based e-mail client, without libgdata support" arch=('i686' 'x86_64' 'mips64el') license=('GPL3') @@ -35,9 +35,24 @@ replaces=("$_pkgname" "sylpheed-claws" "$_pkgname-extra-plugins" "$_pkgname-libr conflicts=("$_pkgname" "$_pkgname-extra-plugins") provides=("$_pkgname=$pkgver" 'claws') install=$_pkgname.install -source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/$_pkgname-$pkgver.tar.bz2{,.asc}) +source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/$_pkgname-$pkgver.tar.bz2{,.asc} + claws-ssl-1.patch + claws-ssl-2.patch + claws-ssl-3.patch) md5sums=('0158b5e6b6d6866f9a75fd288a4edf04' - 'SKIP') + 'SKIP' + '02e5fc5dba976208dfabf23d7666681d' + 'dd53ff284cf802ef639bf92fac996d12' + 'e8c2ce77c8df7a2c514a4547337304d8') + +prepare() { + cd $_pkgname-$pkgver + # fix ssl certificate verification with libetpan >= 1.4 + patch -Np1 < $srcdir/claws-ssl-1.patch + patch -Np1 < $srcdir/claws-ssl-2.patch + patch -Np1 < $srcdir/claws-ssl-3.patch + autoreconf -vfi +} build() { cd $_pkgname-$pkgver diff --git a/nonprism/claws-mail-nonprism/claws-ssl-1.patch b/nonprism/claws-mail-nonprism/claws-ssl-1.patch new file mode 100644 index 000000000..941a66ac2 --- /dev/null +++ b/nonprism/claws-mail-nonprism/claws-ssl-1.patch @@ -0,0 +1,494 @@ +From 35da14ea91d4d32527fbe3293d2ffd26cd642710 Mon Sep 17 00:00:00 2001 +From: Nepu User +Date: Sun, 27 Apr 2014 14:50:36 +0200 +Subject: [PATCH 1/3] upstream commit b0c17cd08e482dbda407dabdc952dfcf5d8fdb6e + +--- + src/etpan/Makefile.am | 6 ++- + src/etpan/etpan-ssl.c | 121 ++++++++++++++++++++++++++++++++++++++++++++++++ + src/etpan/etpan-ssl.h | 40 ++++++++++++++++ + src/etpan/imap-thread.c | 96 +++----------------------------------- + src/etpan/nntp-thread.c | 83 ++------------------------------- + 5 files changed, 175 insertions(+), 171 deletions(-) + create mode 100644 src/etpan/etpan-ssl.c + create mode 100644 src/etpan/etpan-ssl.h + +diff --git a/src/etpan/Makefile.am b/src/etpan/Makefile.am +index b4bfe62..eb343b2 100644 +--- a/src/etpan/Makefile.am ++++ b/src/etpan/Makefile.am +@@ -5,7 +5,8 @@ noinst_LTLIBRARIES = libclawsetpan.la + libclawsetpan_la_SOURCES = \ + etpan-thread-manager.c \ + imap-thread.c \ +- nntp-thread.c ++ nntp-thread.c \ ++ etpan-ssl.c + + clawsetpanincludedir = $(pkgincludedir)/etpan + clawsetpaninclude_HEADERS = \ +@@ -13,7 +14,8 @@ clawsetpaninclude_HEADERS = \ + etpan-thread-manager.h \ + etpan-errors.h \ + imap-thread.h \ +- nntp-thread.h ++ nntp-thread.h \ ++ etpan-ssl.h + + INCLUDES = \ + -I$(top_srcdir)/src \ +diff --git a/src/etpan/etpan-ssl.c b/src/etpan/etpan-ssl.c +new file mode 100644 +index 0000000..6642e40 +--- /dev/null ++++ b/src/etpan/etpan-ssl.c +@@ -0,0 +1,121 @@ ++/* ++ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client ++ * Copyright (C) 1999-2012 Colin Leroy ++ * and the Claws Mail team ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it 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 program 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. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ * ++ */ ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#include "claws-features.h" ++#endif ++ ++#ifdef USE_GNUTLS ++#ifdef HAVE_LIBETPAN ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "ssl_certificate.h" ++#include "utils.h" ++#include "log.h" ++#include "prefs_account.h" ++ ++gboolean etpan_certificate_check(mailstream *stream, const char *host, gint port) ++{ ++ unsigned char *cert_der = NULL; ++ int len; ++ gnutls_x509_crt_t cert = NULL; ++ gnutls_datum_t tmp; ++ ++ if (stream == NULL) ++ return FALSE; ++ ++ len = (int)mailstream_ssl_get_certificate(stream, &cert_der); ++ ++ if (cert_der == NULL || len < 0) { ++ g_warning("no cert presented.\n"); ++ return FALSE; ++ } ++ ++ tmp.data = malloc(len); ++ memcpy(tmp.data, cert_der, len); ++ tmp.size = len; ++ gnutls_x509_crt_init(&cert); ++ ++ free(cert_der); ++ ++ if (gnutls_x509_crt_import(cert, &tmp, GNUTLS_X509_FMT_DER) < 0) { ++ free(tmp.data); ++ g_warning("IMAP: can't get cert\n"); ++ return FALSE; ++ } else if (ssl_certificate_check(cert, (guint)-1, host, port) == TRUE) { ++ free(tmp.data); ++ gnutls_x509_crt_deinit(cert); ++ return TRUE; ++ } else { ++ free(tmp.data); ++ gnutls_x509_crt_deinit(cert); ++ return FALSE; ++ } ++} ++ ++void etpan_connect_ssl_context_cb(struct mailstream_ssl_context * ssl_context, void * data) ++{ ++ PrefsAccount *account = (PrefsAccount *)data; ++ const gchar *cert_path = NULL; ++ const gchar *password = NULL; ++ gnutls_x509_crt_t x509 = NULL; ++ gnutls_x509_privkey_t pkey = NULL; ++ ++ if (account->in_ssl_client_cert_file && *account->in_ssl_client_cert_file) ++ cert_path = account->in_ssl_client_cert_file; ++ if (account->in_ssl_client_cert_pass && *account->in_ssl_client_cert_pass) ++ password = account->in_ssl_client_cert_pass; ++ ++ if (mailstream_ssl_set_client_certificate_data(ssl_context, NULL, 0) < 0 || ++ mailstream_ssl_set_client_private_key_data(ssl_context, NULL, 0) < 0) ++ debug_print("Impossible to set the client certificate.\n"); ++ x509 = ssl_certificate_get_x509_from_pem_file(cert_path); ++ pkey = ssl_certificate_get_pkey_from_pem_file(cert_path); ++ if (!(x509 && pkey)) { ++ /* try pkcs12 format */ ++ ssl_certificate_get_x509_and_pkey_from_p12_file(cert_path, password, &x509, &pkey); ++ } ++ if (x509 && pkey) { ++ unsigned char *x509_der = NULL, *pkey_der = NULL; ++ size_t x509_len, pkey_len; ++ ++ x509_len = (size_t)gnutls_i2d_X509(x509, &x509_der); ++ pkey_len = (size_t)gnutls_i2d_PrivateKey(pkey, &pkey_der); ++ if (x509_len > 0 && pkey_len > 0) { ++ if (mailstream_ssl_set_client_certificate_data(ssl_context, x509_der, x509_len) < 0 || ++ mailstream_ssl_set_client_private_key_data(ssl_context, pkey_der, pkey_len) < 0) ++ log_error(LOG_PROTOCOL, _("Impossible to set the client certificate.\n")); ++ g_free(x509_der); ++ g_free(pkey_der); ++ } ++ gnutls_x509_crt_deinit(x509); ++ gnutls_x509_privkey_deinit(pkey); ++ } ++} ++ ++#endif /* USE_GNUTLS */ ++#endif /* HAVE_LIBETPAN */ +diff --git a/src/etpan/etpan-ssl.h b/src/etpan/etpan-ssl.h +new file mode 100644 +index 0000000..5607d1a +--- /dev/null ++++ b/src/etpan/etpan-ssl.h +@@ -0,0 +1,40 @@ ++/* ++ * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client ++ * Copyright (C) 1999-2012 Colin Leroy ++ * and the Claws Mail team ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it 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 program 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. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ * ++ */ ++ ++#ifndef __ETPAN_SSL_H__ ++#define __ETPAN_SSL_H__ ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#include "claws-features.h" ++#endif ++ ++#ifdef USE_GNUTLS ++#ifdef HAVE_LIBETPAN ++ ++#include ++ ++gboolean etpan_certificate_check(mailstream *imap_stream, const char *host, gint port); ++void etpan_connect_ssl_context_cb(struct mailstream_ssl_context * ssl_context, void * data); ++ ++#endif /* USE_GNUTLS */ ++#endif /* HAVE_LIBETPAN */ ++ ++#endif /* __ETPAN_SSL_H__ */ +diff --git a/src/etpan/imap-thread.c b/src/etpan/imap-thread.c +index b71e4d7..4332f59 100644 +--- a/src/etpan/imap-thread.c ++++ b/src/etpan/imap-thread.c +@@ -41,6 +41,7 @@ + #include + #include + #include "etpan-thread-manager.h" ++#include "etpan-ssl.h" + #include "utils.h" + #include "mainwindow.h" + #include "ssl.h" +@@ -519,79 +520,6 @@ int imap_threaded_connect(Folder * folder, const char * server, int port) + return result.error; + } + +-static int etpan_certificate_check(const unsigned char *certificate, int len, void *data) +-{ +-#ifdef USE_GNUTLS +- struct connect_param *param = (struct connect_param *)data; +- gnutls_x509_crt_t cert = NULL; +- gnutls_datum_t tmp; +- +- if (certificate == NULL || len < 0) { +- g_warning("no cert presented.\n"); +- return 0; +- } +- +- tmp.data = malloc(len); +- memcpy(tmp.data, certificate, len); +- tmp.size = len; +- gnutls_x509_crt_init(&cert); +- if (gnutls_x509_crt_import(cert, &tmp, GNUTLS_X509_FMT_DER) < 0) { +- g_warning("IMAP: can't get cert\n"); +- return 0; +- } else if (ssl_certificate_check(cert, (guint)-1, (gchar *)param->server, +- (gushort)param->port) == TRUE) { +- gnutls_x509_crt_deinit(cert); +- return 0; +- } else { +- gnutls_x509_crt_deinit(cert); +- return -1; +- } +-#endif +- return 0; +-} +- +-static void connect_ssl_context_cb(struct mailstream_ssl_context * ssl_context, void * data) +-{ +-#ifdef USE_GNUTLS +- PrefsAccount *account = (PrefsAccount *)data; +- const gchar *cert_path = NULL; +- const gchar *password = NULL; +- gnutls_x509_crt_t x509 = NULL; +- gnutls_x509_privkey_t pkey = NULL; +- +- if (account->in_ssl_client_cert_file && *account->in_ssl_client_cert_file) +- cert_path = account->in_ssl_client_cert_file; +- if (account->in_ssl_client_cert_pass && *account->in_ssl_client_cert_pass) +- password = account->in_ssl_client_cert_pass; +- +- if (mailstream_ssl_set_client_certificate_data(ssl_context, NULL, 0) < 0 || +- mailstream_ssl_set_client_private_key_data(ssl_context, NULL, 0) < 0) +- debug_print("Impossible to set the client certificate.\n"); +- x509 = ssl_certificate_get_x509_from_pem_file(cert_path); +- pkey = ssl_certificate_get_pkey_from_pem_file(cert_path); +- if (!(x509 && pkey)) { +- /* try pkcs12 format */ +- ssl_certificate_get_x509_and_pkey_from_p12_file(cert_path, password, &x509, &pkey); +- } +- if (x509 && pkey) { +- unsigned char *x509_der = NULL, *pkey_der = NULL; +- size_t x509_len, pkey_len; +- +- x509_len = (size_t)gnutls_i2d_X509(x509, &x509_der); +- pkey_len = (size_t)gnutls_i2d_PrivateKey(pkey, &pkey_der); +- if (x509_len > 0 && pkey_len > 0) { +- if (mailstream_ssl_set_client_certificate_data(ssl_context, x509_der, x509_len) < 0 || +- mailstream_ssl_set_client_private_key_data(ssl_context, pkey_der, pkey_len) < 0) +- log_error(LOG_PROTOCOL, _("Impossible to set the client certificate.\n")); +- g_free(x509_der); +- g_free(pkey_der); +- } +- gnutls_x509_crt_deinit(x509); +- gnutls_x509_privkey_deinit(pkey); +- } +-#endif +-} +- + static void connect_ssl_run(struct etpan_thread_op * op) + { + int r; +@@ -605,7 +533,7 @@ static void connect_ssl_run(struct etpan_thread_op * op) + + r = mailimap_ssl_connect_with_callback(param->imap, + param->server, param->port, +- connect_ssl_context_cb, param->account); ++ etpan_connect_ssl_context_cb, param->account); + result->error = r; + } + +@@ -616,8 +544,6 @@ int imap_threaded_connect_ssl(Folder * folder, const char * server, int port) + chashdatum key; + chashdatum value; + mailimap * imap, * oldimap; +- unsigned char *certificate = NULL; +- int cert_len; + + oldimap = get_imap(folder); + +@@ -644,11 +570,8 @@ int imap_threaded_connect_ssl(Folder * folder, const char * server, int port) + + if ((result.error == MAILIMAP_NO_ERROR_AUTHENTICATED || + result.error == MAILIMAP_NO_ERROR_NON_AUTHENTICATED) && !etpan_skip_ssl_cert_check) { +- cert_len = (int)mailstream_ssl_get_certificate(imap->imap_stream, &certificate); +- if (etpan_certificate_check(certificate, cert_len, ¶m) < 0) +- return -1; +- if (certificate) +- free(certificate); ++ if (etpan_certificate_check(imap->imap_stream, server, port) < 0) ++ result.error = MAILIMAP_ERROR_SSL; + } + debug_print("connect %d with imap %p\n", result.error, imap); + +@@ -1156,7 +1079,7 @@ static void starttls_run(struct etpan_thread_op * op) + return; + } + +- tls_low = mailstream_low_tls_open_with_callback(fd, connect_ssl_context_cb, param->account); ++ tls_low = mailstream_low_tls_open_with_callback(fd, etpan_connect_ssl_context_cb, param->account); + if (tls_low == NULL) { + debug_print("imap starttls run - can't tls_open\n"); + result->error = MAILIMAP_ERROR_STREAM; +@@ -1171,8 +1094,6 @@ int imap_threaded_starttls(Folder * folder, const gchar *host, int port) + { + struct connect_param param; + struct starttls_result result; +- int cert_len; +- unsigned char *certificate = NULL; + + debug_print("imap starttls - begin\n"); + +@@ -1186,11 +1107,8 @@ int imap_threaded_starttls(Folder * folder, const gchar *host, int port) + debug_print("imap starttls - end\n"); + + if (result.error == 0 && param.imap && !etpan_skip_ssl_cert_check) { +- cert_len = (int)mailstream_ssl_get_certificate(param.imap->imap_stream, &certificate); +- if (etpan_certificate_check(certificate, cert_len, ¶m) < 0) +- result.error = MAILIMAP_ERROR_STREAM; +- if (certificate) +- free(certificate); ++ if (etpan_certificate_check(param.imap->imap_stream, host, port) < 0) ++ return MAILIMAP_ERROR_SSL; + } + return result.error; + } +diff --git a/src/etpan/nntp-thread.c b/src/etpan/nntp-thread.c +index 6d76e7a..84a2f83 100644 +--- a/src/etpan/nntp-thread.c ++++ b/src/etpan/nntp-thread.c +@@ -41,6 +41,7 @@ + #include + #include + #include "etpan-thread-manager.h" ++#include "etpan-ssl.h" + #include "utils.h" + #include "mainwindow.h" + #include "ssl_certificate.h" +@@ -373,79 +374,6 @@ int nntp_threaded_connect(Folder * folder, const char * server, int port) + return result.error; + } + +-static int etpan_certificate_check(const unsigned char *certificate, int len, void *data) +-{ +-#ifdef USE_GNUTLS +- struct connect_param *param = (struct connect_param *)data; +- gnutls_x509_crt_t cert = NULL; +- gnutls_datum_t tmp; +- +- if (certificate == NULL || len < 0) { +- g_warning("no cert presented.\n"); +- return 0; +- } +- +- tmp.data = malloc(len); +- memcpy(tmp.data, certificate, len); +- tmp.size = len; +- gnutls_x509_crt_init(&cert); +- if (gnutls_x509_crt_import(cert, &tmp, GNUTLS_X509_FMT_DER) < 0) { +- g_warning("nntp: can't get cert\n"); +- return 0; +- } else if (ssl_certificate_check(cert, (guint)-1, +- (gchar *)param->server, (gushort)param->port) == TRUE) { +- gnutls_x509_crt_deinit(cert); +- return 0; +- } else { +- gnutls_x509_crt_deinit(cert); +- return -1; +- } +-#endif +- return 0; +-} +- +-static void connect_ssl_context_cb(struct mailstream_ssl_context * ssl_context, void * data) +-{ +-#ifdef USE_GNUTLS +- PrefsAccount *account = (PrefsAccount *)data; +- const gchar *cert_path = NULL; +- const gchar *password = NULL; +- gnutls_x509_crt_t x509 = NULL; +- gnutls_x509_privkey_t pkey = NULL; +- +- if (account->in_ssl_client_cert_file && *account->in_ssl_client_cert_file) +- cert_path = account->in_ssl_client_cert_file; +- if (account->in_ssl_client_cert_pass && *account->in_ssl_client_cert_pass) +- password = account->in_ssl_client_cert_pass; +- +- if (mailstream_ssl_set_client_certificate_data(ssl_context, NULL, 0) < 0 || +- mailstream_ssl_set_client_private_key_data(ssl_context, NULL, 0) < 0) +- debug_print("Impossible to set the client certificate.\n"); +- x509 = ssl_certificate_get_x509_from_pem_file(cert_path); +- pkey = ssl_certificate_get_pkey_from_pem_file(cert_path); +- if (!(x509 && pkey)) { +- /* try pkcs12 format */ +- ssl_certificate_get_x509_and_pkey_from_p12_file(cert_path, password, &x509, &pkey); +- } +- if (x509 && pkey) { +- unsigned char *x509_der = NULL, *pkey_der = NULL; +- size_t x509_len, pkey_len; +- +- x509_len = (size_t)gnutls_i2d_X509(x509, &x509_der); +- pkey_len = (size_t)gnutls_i2d_PrivateKey(pkey, &pkey_der); +- if (x509_len > 0 && pkey_len > 0) { +- if (mailstream_ssl_set_client_certificate_data(ssl_context, x509_der, x509_len) < 0 || +- mailstream_ssl_set_client_private_key_data(ssl_context, pkey_der, pkey_len) < 0) +- log_error(LOG_PROTOCOL, _("Impossible to set the client certificate.\n")); +- g_free(x509_der); +- g_free(pkey_der); +- } +- gnutls_x509_crt_deinit(x509); +- gnutls_x509_privkey_deinit(pkey); +- } +-#endif +-} +- + static void connect_ssl_run(struct etpan_thread_op * op) + { + int r; +@@ -459,7 +387,7 @@ static void connect_ssl_run(struct etpan_thread_op * op) + + r = newsnntp_ssl_connect_with_callback(param->nntp, + param->server, param->port, +- connect_ssl_context_cb, param->account); ++ etpan_connect_ssl_context_cb, param->account); + result->error = r; + } + +@@ -470,8 +398,6 @@ int nntp_threaded_connect_ssl(Folder * folder, const char * server, int port) + chashdatum key; + chashdatum value; + newsnntp * nntp, * oldnntp; +- unsigned char *certificate = NULL; +- int cert_len; + + oldnntp = get_nntp(folder); + +@@ -497,11 +423,8 @@ int nntp_threaded_connect_ssl(Folder * folder, const char * server, int port) + threaded_run(folder, ¶m, &result, connect_ssl_run); + + if (result.error == NEWSNNTP_NO_ERROR && !etpan_skip_ssl_cert_check) { +- cert_len = (int)mailstream_ssl_get_certificate(nntp->nntp_stream, &certificate); +- if (etpan_certificate_check(certificate, cert_len, ¶m) < 0) ++ if (etpan_certificate_check(nntp->nntp_stream, server, port) < 0) + return -1; +- if (certificate) +- free(certificate); + } + debug_print("connect %d with nntp %p\n", result.error, nntp); + +-- +1.9.2 + diff --git a/nonprism/claws-mail-nonprism/claws-ssl-2.patch b/nonprism/claws-mail-nonprism/claws-ssl-2.patch new file mode 100644 index 000000000..77186d20b --- /dev/null +++ b/nonprism/claws-mail-nonprism/claws-ssl-2.patch @@ -0,0 +1,139 @@ +From fe50206b4385404c38ad0421bdfb707bb6994d80 Mon Sep 17 00:00:00 2001 +From: Nepu User +Date: Sun, 27 Apr 2014 14:55:18 +0200 +Subject: [PATCH 2/3] upstream commit dda3675203030f329d527c697e14342c9c13a75c + +--- + src/common/ssl_certificate.c | 17 ++++++++++++++ + src/common/ssl_certificate.h | 1 + + src/etpan/etpan-ssl.c | 53 ++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 71 insertions(+) + +diff --git a/src/common/ssl_certificate.c b/src/common/ssl_certificate.c +index 84e017e..72f73ac 100644 +--- a/src/common/ssl_certificate.c ++++ b/src/common/ssl_certificate.c +@@ -647,6 +647,23 @@ gboolean ssl_certificate_check (gnutls_x509_crt_t x509_cert, guint status, const + return TRUE; + } + ++gboolean ssl_certificate_check_chain(gnutls_x509_crt_t *certs, gint chain_len, const gchar *host, gushort port) ++{ ++ gboolean result = FALSE; ++ gint status; ++ ++ gnutls_x509_crt_list_verify (certs, ++ chain_len, ++ NULL, 0, ++ NULL, 0, ++ GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT, ++ &status); ++ ++ result = ssl_certificate_check(certs[0], status, host, port); ++ ++ return result; ++} ++ + gnutls_x509_crt_t ssl_certificate_get_x509_from_pem_file(const gchar *file) + { + gnutls_x509_crt_t x509 = NULL; +diff --git a/src/common/ssl_certificate.h b/src/common/ssl_certificate.h +index 8bbe2ac..fd8822a 100644 +--- a/src/common/ssl_certificate.h ++++ b/src/common/ssl_certificate.h +@@ -58,6 +58,7 @@ struct _SSLCertHookData + + SSLCertificate *ssl_certificate_find (const gchar *host, gushort port, const gchar *fingerprint); + gboolean ssl_certificate_check (gnutls_x509_crt_t x509_cert, guint status, const gchar *host, gushort port); ++gboolean ssl_certificate_check_chain(gnutls_x509_crt_t *certs, gint chain_len, const gchar *host, gushort port); + void ssl_certificate_destroy(SSLCertificate *cert); + void ssl_certificate_delete_from_disk(SSLCertificate *cert); + char * readable_fingerprint(unsigned char *src, int len); +diff --git a/src/etpan/etpan-ssl.c b/src/etpan/etpan-ssl.c +index 6642e40..c9dc9d8 100644 +--- a/src/etpan/etpan-ssl.c ++++ b/src/etpan/etpan-ssl.c +@@ -26,6 +26,7 @@ + #ifdef USE_GNUTLS + #ifdef HAVE_LIBETPAN + #include ++#include + #include + #include + #include +@@ -33,6 +34,7 @@ + #include + #include + ++#include "etpan-ssl.h" + #include "ssl_certificate.h" + #include "utils.h" + #include "log.h" +@@ -40,6 +42,7 @@ + + gboolean etpan_certificate_check(mailstream *stream, const char *host, gint port) + { ++#if (!defined LIBETPAN_API_CURRENT || LIBETPAN_API_CURRENT < 18) + unsigned char *cert_der = NULL; + int len; + gnutls_x509_crt_t cert = NULL; +@@ -75,6 +78,56 @@ gboolean etpan_certificate_check(mailstream *stream, const char *host, gint port + gnutls_x509_crt_deinit(cert); + return FALSE; + } ++#else ++ carray *certs_der = NULL; ++ gint chain_len = 0, i; ++ gnutls_x509_crt_t *certs = NULL; ++ gboolean result; ++ ++ if (stream == NULL) ++ return FALSE; ++ ++ certs_der = mailstream_get_certificate_chain(stream); ++ if (!certs_der) { ++ g_warning("could not get certs"); ++ return FALSE; ++ } ++ chain_len = carray_count(certs_der); ++ ++ certs = malloc(sizeof(gnutls_x509_crt_t) * chain_len); ++ if (certs == NULL) { ++ g_warning("could not allocate certs"); ++ return FALSE; ++ } ++ ++ result = TRUE; ++ for (i = 0; i < chain_len; i++) { ++ MMAPString *cert_str = carray_get(certs_der, i); ++ gnutls_datum_t tmp; ++ ++ tmp.data = malloc(cert_str->len); ++ memcpy(tmp.data, cert_str->str, cert_str->len); ++ tmp.size = cert_str->len; ++ ++ mmap_string_free(cert_str); ++ ++ gnutls_x509_crt_init(&certs[i]); ++ if (gnutls_x509_crt_import(certs[i], &tmp, GNUTLS_X509_FMT_DER) < 0) ++ result = FALSE; ++ ++ free(tmp.data); ++ } ++ ++ carray_free(certs_der); ++ ++ if (result == TRUE) ++ result = ssl_certificate_check_chain(certs, chain_len, host, port); ++ ++ for (i = 0; i < chain_len; i++) ++ gnutls_x509_crt_deinit(certs[i]); ++ ++ return result; ++#endif + } + + void etpan_connect_ssl_context_cb(struct mailstream_ssl_context * ssl_context, void * data) +-- +1.9.2 + diff --git a/nonprism/claws-mail-nonprism/claws-ssl-3.patch b/nonprism/claws-mail-nonprism/claws-ssl-3.patch new file mode 100644 index 000000000..cf3306337 --- /dev/null +++ b/nonprism/claws-mail-nonprism/claws-ssl-3.patch @@ -0,0 +1,241 @@ +From a74e15a5c7185b941a24b0b61bc134397c8d5737 Mon Sep 17 00:00:00 2001 +From: Nepu User +Date: Sun, 27 Apr 2014 14:56:01 +0200 +Subject: [PATCH 3/3] upstream commit 4d0f2b9b14819b26fbaa72ad129ec0c03e41400f + +--- + src/common/ssl_certificate.c | 114 +++++++++++++++++++++++++++++-------------- + src/etpan/etpan-ssl.c | 1 + + src/etpan/imap-thread.c | 4 +- + src/etpan/nntp-thread.c | 2 +- + 4 files changed, 82 insertions(+), 39 deletions(-) + +diff --git a/src/common/ssl_certificate.c b/src/common/ssl_certificate.c +index 72f73ac..48e55c9 100644 +--- a/src/common/ssl_certificate.c ++++ b/src/common/ssl_certificate.c +@@ -207,33 +207,73 @@ size_t gnutls_i2d_PrivateKey(gnutls_x509_privkey_t pkey, unsigned char **output) + return key_size; + } + +-static gnutls_x509_crt_t gnutls_d2i_X509_fp(FILE *fp, int format) ++static int gnutls_d2i_X509_list_fp(FILE *fp, int format, gnutls_x509_crt_t **cert_list, gint *num_certs) + { +- gnutls_x509_crt_t cert = NULL; ++ gnutls_x509_crt_t *crt_list; ++ unsigned int max = 512; ++ unsigned int flags = 0; + gnutls_datum_t tmp; + struct stat s; + int r; ++ ++ *cert_list = NULL; ++ *num_certs = 0; ++ ++ if (fp == NULL) ++ return -ENOENT; ++ + if (fstat(fileno(fp), &s) < 0) { + perror("fstat"); +- return NULL; ++ return -errno; + } ++ ++ crt_list=(gnutls_x509_crt_t*)malloc(max*sizeof(gnutls_x509_crt_t)); + tmp.data = malloc(s.st_size); + memset(tmp.data, 0, s.st_size); + tmp.size = s.st_size; + if (fread (tmp.data, 1, s.st_size, fp) < s.st_size) { + perror("fread"); + free(tmp.data); +- return NULL; ++ free(crt_list); ++ return -EIO; + } + +- gnutls_x509_crt_init(&cert); +- if ((r = gnutls_x509_crt_import(cert, &tmp, (format == 0)?GNUTLS_X509_FMT_DER:GNUTLS_X509_FMT_PEM)) < 0) { ++ if ((r = gnutls_x509_crt_list_import(crt_list, &max, ++ &tmp, format, flags)) < 0) { + debug_print("cert import failed: %s\n", gnutls_strerror(r)); +- gnutls_x509_crt_deinit(cert); +- cert = NULL; ++ free(tmp.data); ++ free(crt_list); ++ return r; + } + free(tmp.data); +- debug_print("got cert! %p\n", cert); ++ debug_print("got %d certs in crt_list! %p\n", max, &crt_list); ++ ++ *cert_list = crt_list; ++ *num_certs = max; ++ ++ return r; ++} ++ ++/* return one certificate, read from file */ ++static gnutls_x509_crt_t gnutls_d2i_X509_fp(FILE *fp, int format) ++{ ++ gnutls_x509_crt_t *certs = NULL; ++ gnutls_x509_crt_t cert = NULL; ++ int i, ncerts, r; ++ ++ if ((r = gnutls_d2i_X509_list_fp(fp, format, &certs, &ncerts)) < 0) { ++ return NULL; ++ } ++ ++ if (ncerts == 0) ++ return NULL; ++ ++ for (i = 1; i < ncerts; i++) ++ gnutls_x509_crt_deinit(certs[i]); ++ ++ cert = certs[0]; ++ free(certs); ++ + return cert; + } + +@@ -474,8 +514,6 @@ static guint check_cert(gnutls_x509_crt_t cert) + gnutls_x509_crt_t *ca_list; + unsigned int max = 512; + unsigned int flags = 0; +- gnutls_datum_t tmp; +- struct stat s; + int r, i; + unsigned int status; + FILE *fp; +@@ -485,34 +523,12 @@ static guint check_cert(gnutls_x509_crt_t cert) + else + return (guint)-1; + +- if (fstat(fileno(fp), &s) < 0) { +- perror("fstat"); +- fclose(fp); +- return (guint)-1; +- } +- +- ca_list=(gnutls_x509_crt_t*)malloc(max*sizeof(gnutls_x509_crt_t)); +- tmp.data = malloc(s.st_size); +- memset(tmp.data, 0, s.st_size); +- tmp.size = s.st_size; +- if (fread (tmp.data, 1, s.st_size, fp) < s.st_size) { +- perror("fread"); +- free(tmp.data); +- free(ca_list); +- fclose(fp); +- return (guint)-1; +- } +- +- if ((r = gnutls_x509_crt_list_import(ca_list, &max, +- &tmp, GNUTLS_X509_FMT_PEM, flags)) < 0) { ++ if ((r = gnutls_d2i_X509_list_fp(fp, GNUTLS_X509_FMT_PEM, &ca_list, &max)) < 0) { + debug_print("cert import failed: %s\n", gnutls_strerror(r)); +- free(tmp.data); +- free(ca_list); + fclose(fp); + return (guint)-1; + } +- free(tmp.data); +- debug_print("got %d certs in ca_list! %p\n", max, &ca_list); ++ + r = gnutls_x509_crt_verify(cert, ca_list, max, flags, &status); + fclose(fp); + +@@ -649,18 +665,44 @@ gboolean ssl_certificate_check (gnutls_x509_crt_t x509_cert, guint status, const + + gboolean ssl_certificate_check_chain(gnutls_x509_crt_t *certs, gint chain_len, const gchar *host, gushort port) + { ++ int ncas = 0, ncrls = 0; ++ gnutls_x509_crt_t *cas = NULL; ++ gnutls_x509_crl_t *crls = NULL; + gboolean result = FALSE; ++ int i; + gint status; + ++ if (claws_ssl_get_cert_file()) { ++ FILE *fp = g_fopen(claws_ssl_get_cert_file(), "rb"); ++ int r = -errno; ++ ++ if (fp) { ++ r = gnutls_d2i_X509_list_fp(fp, GNUTLS_X509_FMT_PEM, &cas, &ncas); ++ fclose(fp); ++ } ++ ++ if (r < 0) ++ g_warning("Can't read SSL_CERT_FILE %s: %s\n", ++ claws_ssl_get_cert_file(), ++ gnutls_strerror(r)); ++ } else { ++ debug_print("Can't find SSL ca-certificates file\n"); ++ } ++ ++ + gnutls_x509_crt_list_verify (certs, + chain_len, +- NULL, 0, ++ cas, ncas, + NULL, 0, + GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT, + &status); + + result = ssl_certificate_check(certs[0], status, host, port); + ++ for (i = 0; i < ncas; i++) ++ gnutls_x509_crt_deinit(cas[i]); ++ free(cas); ++ + return result; + } + +diff --git a/src/etpan/etpan-ssl.c b/src/etpan/etpan-ssl.c +index c9dc9d8..f99955b 100644 +--- a/src/etpan/etpan-ssl.c ++++ b/src/etpan/etpan-ssl.c +@@ -125,6 +125,7 @@ gboolean etpan_certificate_check(mailstream *stream, const char *host, gint port + + for (i = 0; i < chain_len; i++) + gnutls_x509_crt_deinit(certs[i]); ++ free(certs); + + return result; + #endif +diff --git a/src/etpan/imap-thread.c b/src/etpan/imap-thread.c +index 4332f59..f0b504e 100644 +--- a/src/etpan/imap-thread.c ++++ b/src/etpan/imap-thread.c +@@ -570,7 +570,7 @@ int imap_threaded_connect_ssl(Folder * folder, const char * server, int port) + + if ((result.error == MAILIMAP_NO_ERROR_AUTHENTICATED || + result.error == MAILIMAP_NO_ERROR_NON_AUTHENTICATED) && !etpan_skip_ssl_cert_check) { +- if (etpan_certificate_check(imap->imap_stream, server, port) < 0) ++ if (etpan_certificate_check(imap->imap_stream, server, port) != TRUE) + result.error = MAILIMAP_ERROR_SSL; + } + debug_print("connect %d with imap %p\n", result.error, imap); +@@ -1107,7 +1107,7 @@ int imap_threaded_starttls(Folder * folder, const gchar *host, int port) + debug_print("imap starttls - end\n"); + + if (result.error == 0 && param.imap && !etpan_skip_ssl_cert_check) { +- if (etpan_certificate_check(param.imap->imap_stream, host, port) < 0) ++ if (etpan_certificate_check(param.imap->imap_stream, host, port) != TRUE) + return MAILIMAP_ERROR_SSL; + } + return result.error; +diff --git a/src/etpan/nntp-thread.c b/src/etpan/nntp-thread.c +index 84a2f83..7708d31 100644 +--- a/src/etpan/nntp-thread.c ++++ b/src/etpan/nntp-thread.c +@@ -423,7 +423,7 @@ int nntp_threaded_connect_ssl(Folder * folder, const char * server, int port) + threaded_run(folder, ¶m, &result, connect_ssl_run); + + if (result.error == NEWSNNTP_NO_ERROR && !etpan_skip_ssl_cert_check) { +- if (etpan_certificate_check(nntp->nntp_stream, server, port) < 0) ++ if (etpan_certificate_check(nntp->nntp_stream, server, port) != TRUE) + return -1; + } + debug_print("connect %d with nntp %p\n", result.error, nntp); +-- +1.9.2 + -- cgit v1.2.3 From 06f0aea423ccc5d858cc670cabc6d7b41157f2d1 Mon Sep 17 00:00:00 2001 From: "coadde [Márcio Alexandre Silva Delgado]" Date: Wed, 30 Apr 2014 00:54:43 -0300 Subject: netsurf-libre: remove -g flag for nsgenbind on Makefile --- libre/netsurf-libre/PKGBUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libre/netsurf-libre/PKGBUILD b/libre/netsurf-libre/PKGBUILD index cd6a29096..906b9e7d5 100644 --- a/libre/netsurf-libre/PKGBUILD +++ b/libre/netsurf-libre/PKGBUILD @@ -91,6 +91,8 @@ prepare() { \!NetSurf/Resources/en/welcome.html\,faf \ \!NetSurf/Resources/it/welcome.html\,faf \ \!NetSurf/Resources/ja/welcome.html\,faf + sed -i 's|nsgenbind -g|nsgenbind| + ' javascript/Makefile cd .. -- cgit v1.2.3 From df5903ae2d0c6ae788afb514d5a79d9a99e1f71a Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Wed, 30 Apr 2014 11:08:29 -0300 Subject: tomb-1.5.2-1: updating version --- pcr/tomb/PKGBUILD | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/pcr/tomb/PKGBUILD b/pcr/tomb/PKGBUILD index 66945cb41..1217fa8a9 100644 --- a/pcr/tomb/PKGBUILD +++ b/pcr/tomb/PKGBUILD @@ -1,28 +1,30 @@ ## PKGBUILD [bash] # Maintainer: nignux +# Maintainer (Parabola): fauno +# Contributor: BoySka +# Contributor: Rich Li -pkgbase=tomb -pkgname=(tomb python2-tomb tomb-gui) -pkgver=1.4 +pkgname=(tomb tomb-kdf) +pkgver=1.5.2 pkgrel=1 pkgdesc="Crypto Undertaker, simple tool to manage encrypted storage" arch=('i686' 'x86_64' 'mips64el') url="http://www.dyne.org/software/tomb/" license=('GPL3') -depends=('bc' 'cryptsetup' 'gnupg' 'sudo' 'zsh' 'steghide' - 'dcfldd' 'wipe') -makedepends=('python2-pyqt' 'python2-distribute') install=${pkgname}.install -source=(https://files.dyne.org/tomb/releases/Tomb-${pkgver}.tar.gz{,.sha{,.asc}}) +source=(https://files.dyne.org/.xsend.php?file=tomb/Tomb-${pkgver}.tar.gz + https://files.dyne.org/.xsend.php?file=tomb/Tomb-${pkgver}.tar.gz.sha + https://files.dyne.org/.xsend.php?file=tomb/Tomb-${pkgver}.tar.gz.sha.asc + ) # The first hash comes from the .sha file -sha256sums=('2621ac6b9180321e69743dc899645449b2b958c6aa46e4b2601c2e89131bbf29' - 'fc8b168f991d5b9c1135ceec6e55ac94f494ac4bed7e104e14c7f9ee787591e5' +sha256sums=('6ae28aaec7b533127534070b25ccba08eb1416dc07e7e74bf433f5c5d675f7e2' + 'SKIP' 'SKIP') build() { - cd ${srcdir}/Tomb-${pkgver}/extras/qt + cd ${srcdir}/Tomb-${pkgver}/extras/kdf-keys - python2 setup.py build_ui + make } # The checks require root access @@ -33,21 +35,20 @@ build() { package_tomb() { pkgdesc="Crypto Undertaker, simple tool to manage encrypted storage, from the hashes of the dyne:bolic nesting mechanism." + depends=('bc' 'cryptsetup' 'gnupg' 'sudo' 'zsh' 'wipe') + optdepends=( + 'steghide: steganography' + 'dcfldd: show nice progress during massive I/O' + ) + arch=('any') cd ${srcdir}/Tomb-${pkgver} - make DESTDIR=${pkgdir} install + make DESTDIR=${pkgdir} PREFIX=/usr install } -package_python2-tomb() { - pkgdesc="Crypto Undertaker library" +package_tomb-kdf() { + pkgdesc="Crypto Undertaker extensions to improve password security" + depends=('libgcrypt') - cd ${srcdir}/Tomb-${pkgver}/extras/pytomb - python2 setup.py install --root="${pkgdir}/" --optimize=1 -} - -package_tomb-gui() { - pkgdesc="Crypto Undertaker GUI for open and create tombs" - depends=('python2-tomb' 'python2-pyqt') - - cd ${srcdir}/Tomb-${pkgver}/extras/qt - python2 setup.py install --root="${pkgdir}/" --optimize=1 + cd ${srcdir}/Tomb-${pkgver}/extras/kdf-keys + make DESTDIR=${pkgdir} PREFIX=/usr install } -- cgit v1.2.3 From 64683dd2032ed586532031766409e3335d52dd35 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 30 Apr 2014 18:02:21 -0300 Subject: iceweasel-libre-1:29.0.deb1-1: updating version --- ...Make-the-Reset-Firefox-feature-more-gener.patch | 4 +-- libre/iceweasel-libre/PKGBUILD | 19 ++++++-------- libre/iceweasel-libre/iceweasel-install-dir.patch | 30 +++++----------------- libre/iceweasel-libre/mozconfig | 1 + 4 files changed, 18 insertions(+), 36 deletions(-) diff --git a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch index 8ce9f48cc..56de11354 100644 --- a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch +++ b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch @@ -273,10 +273,10 @@ index f35c227..7062886 100644 %{C++ diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp -index 90d6c51..c25a301 100644 +index fe66f3b..2ddcd3b 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp -@@ -3926,7 +3926,7 @@ XREMain::XRE_mainRun() +@@ -3952,7 +3952,7 @@ XREMain::XRE_mainRun() if (gDoProfileReset) { // Automatically migrate from the current application if we just // reset the profile. diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index 1fafebea5..57da4aba7 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -14,7 +14,7 @@ _pgo=true # We're getting this from Debian Experimental _debname=iceweasel -_debver=28.0 +_debver=29.0 _debrel=deb1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -28,7 +28,7 @@ pkgrel=1 pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox." arch=(i686 x86_64 mips64el) license=(MPL GPL LGPL) -depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification) +depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell icu libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification) makedepends=(autoconf2.13 diffutils gstreamer0.10-base imagemagick imake inetutils libidl2 libpulse librsvg libxslt mesa pkg-config python2 quilt unzip zip) [ "$CARCH" != "mips64el" ] && makedepends+=('yasm') options=(!emptydirs !makeflags) @@ -60,17 +60,17 @@ source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2" iceweasel-20.0.1-fixed-loading-icon.png Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch Fixup-Reset-Firefox-after-bad-merge.patch) -md5sums=('8b53f3d7c1eea0338408f743f619eec1' - 'e5399fd8ea49c227b9a4c45997dc7111' - '023120a970670dc85cea19393f0b94b6' +md5sums=('2cc40f481ca7b8421925a1def5fe14a0' + '7f00f6a076c6a92db162e18d8e9e92a5' + '92a08a18995b915d6a6d0dab93ec6c1d' 'df08eaa1ac3bc6c2356be4fbf8ec8932' '5d22063ebea2472dd0b1163b32b2050b' 'b03a979a78484503ba8dddad4f2c96d1' '7b9e5996dd9fe0b186a43a297db1c6b5' - '6620e724ec9a1be74e65089d81d802f7' + '1c42509891cf6843660a5f3c69896e80' '816013881cfc9a1f4f0ede72b014f8b3' '6e335a517c68488941340ee1c23f97b0' - '032553b17a61a9a79c7a03c8967251b2' + '9d1cc7b80085a4438305e9e37d42745b' '8e165ef85ddd72491f0b48f8954afca6') prepare() { @@ -206,7 +206,7 @@ package() { export DEBIAN_BUILD="mozilla-release" cd "$srcdir/$DEBIAN_BUILD" - make -f client.mk DESTDIR="$pkgdir" install + make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install install -Dm644 ../vendor.js "$pkgdir/usr/lib/$_pkgname/browser/defaults/preferences/vendor.js" @@ -231,9 +231,6 @@ package() { ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/browser/plugins" ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/browser/searchplugins" - # We don't want the development stuff - rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} - # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" } diff --git a/libre/iceweasel-libre/iceweasel-install-dir.patch b/libre/iceweasel-libre/iceweasel-install-dir.patch index 3938c0b3e..af113fa85 100644 --- a/libre/iceweasel-libre/iceweasel-install-dir.patch +++ b/libre/iceweasel-libre/iceweasel-install-dir.patch @@ -1,29 +1,13 @@ diff --git a/config/baseconfig.mk b/config/baseconfig.mk -index 9c70e24..eff0fd2 100644 +index 7ca8e35..6e92846 100644 --- a/config/baseconfig.mk +++ b/config/baseconfig.mk -@@ -1,8 +1,8 @@ +@@ -5,7 +5,7 @@ MOZ_APP_BASE_VERSION = $(firstword $(subst ., ,$(MOZ_APP_VERSION))).$(word 2,$(subst ., ,$(MOZ_APP_VERSION))) --includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) --idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) + includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) + idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) -installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) --sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION) -+includedir := $(includedir)/$(MOZ_APP_NAME) -+idldir = $(datadir)/idl/$(MOZ_APP_NAME) +installdir = $(libdir)/$(MOZ_APP_NAME) -+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel - DIST = $(DEPTH)/dist - - # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't -diff --git a/js/src/config/baseconfig.mk b/js/src/config/baseconfig.mk -index 1ff076c..5386569 100644 ---- a/js/src/config/baseconfig.mk -+++ b/js/src/config/baseconfig.mk -@@ -1,5 +1,5 @@ --installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) --sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) -+installdir = $(libdir)/$(MOZ_APP_NAME) -+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel - - ifneq (,$(filter /%,$(TOP_DIST))) - DIST = $(TOP_DIST) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION) + ifndef TOP_DIST + TOP_DIST = dist diff --git a/libre/iceweasel-libre/mozconfig b/libre/iceweasel-libre/mozconfig index 957ea0dbf..8b2b2a5e3 100644 --- a/libre/iceweasel-libre/mozconfig +++ b/libre/iceweasel-libre/mozconfig @@ -16,6 +16,7 @@ ac_add_options --with-system-bz2 ac_add_options --with-system-png ac_add_options --with-system-libevent ac_add_options --with-system-libvpx +ac_add_options --with-system-icu ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-system-ffi -- cgit v1.2.3 From 82e2fcb34f3a237e91bcac2b0069c6da8a43cee3 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Wed, 30 Apr 2014 18:13:49 -0300 Subject: font-manager-0.5.7-4: add new package to [pcr] --- pcr/font-manager/0001-nonexistent_cache.patch | 71 ++++++++++++++++++++++ pcr/font-manager/1001-gcc47.patch | 18 ++++++ pcr/font-manager/2001-paths.patch | 25 ++++++++ pcr/font-manager/2002-local-fontconfig-path.patch | 11 ++++ pcr/font-manager/2003-file-roller-syntax-fix.patch | 22 +++++++ pcr/font-manager/PKGBUILD | 58 ++++++++++++++++++ 6 files changed, 205 insertions(+) create mode 100644 pcr/font-manager/0001-nonexistent_cache.patch create mode 100644 pcr/font-manager/1001-gcc47.patch create mode 100644 pcr/font-manager/2001-paths.patch create mode 100644 pcr/font-manager/2002-local-fontconfig-path.patch create mode 100644 pcr/font-manager/2003-file-roller-syntax-fix.patch create mode 100644 pcr/font-manager/PKGBUILD diff --git a/pcr/font-manager/0001-nonexistent_cache.patch b/pcr/font-manager/0001-nonexistent_cache.patch new file mode 100644 index 000000000..effd89320 --- /dev/null +++ b/pcr/font-manager/0001-nonexistent_cache.patch @@ -0,0 +1,71 @@ +Description: Don't remove cache dir if non-existent. +Origin: upstream, http://code.google.com/p/font-manager/source/detail?r=261 +Bug-Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=658328 +--- + src/lib/fm-fontutils.c | 16 ++++++++-------- + src/ui/fontconfig.py | 8 +++++--- + 2 files changed, 13 insertions(+), 11 deletions(-) + +--- font-manager.orig/src/lib/fm-fontutils.c ++++ font-manager/src/lib/fm-fontutils.c +@@ -72,8 +72,8 @@ FcListFiles() + { + FcChar8 *file; + +- FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &file); +- filelist = g_slist_prepend(filelist, g_strdup((const gchar *) file)); ++ if (FcPatternGetString(fontset->fonts[i], FC_FILE, 0, &file) == FcResultMatch) ++ filelist = g_slist_prepend(filelist, g_strdup((const gchar *) file)); + } + + if (objectset) +@@ -272,7 +272,7 @@ _get_base_font_info(FontInfo *fontinfo, + PangoFontDescription *descr; + + /* Need to add this font to the configuration, it may not be there in the +- * case where this the font is not installed yet or possibly just installed ++ * case where this font is not installed yet or possibly just installed + */ + FcConfigAppFontAddFile(FcConfigGetCurrent(), filepath); + +@@ -287,10 +287,10 @@ _get_base_font_info(FontInfo *fontinfo, + FcChar8 *family, + *style; + +- FcPatternGetString(fontset->fonts[i], FC_FAMILY, 0, &family); +- FcPatternGetString(fontset->fonts[i], FC_STYLE, 0, &style); +- ADD_PROP(fontinfo->family, family); +- ADD_PROP(fontinfo->style, style); ++ if (FcPatternGetString(fontset->fonts[i], FC_FAMILY, 0, &family) == FcResultMatch) ++ ADD_PROP(fontinfo->family, family); ++ if (FcPatternGetString(fontset->fonts[i], FC_STYLE, 0, &style) == FcResultMatch) ++ ADD_PROP(fontinfo->style, style); + } + + descr = pango_fc_font_description_from_pattern(pattern, FALSE); +@@ -539,7 +539,7 @@ static const struct + } + NoticeData[] = + { +- {"Bigelow", "B&H"}, ++ {"Bigelow", "Bigelow & Holmes"}, + {"Adobe", "Adobe"}, + {"Bitstream", "Bitstream"}, + {"Monotype", "Monotype"}, +--- font-manager.orig/src/ui/fontconfig.py ++++ font-manager/src/ui/fontconfig.py +@@ -376,9 +376,11 @@ class ConfigEdit(gtk.Window): + for name in self.cache.iterkeys(): + discard_fontconfig_settings(self.cache[name]) + self.save_settings(None) +- os.unlink(join(CACHE_DIR, CACHED_SETTINGS)) +- os.unlink(join(USER_FONT_CONFIG_DIR, +- '25-{0}.conf'.format(self.selected_family.get_name()))) ++ cache = join(CACHE_DIR, CACHED_SETTINGS) ++ not exists(cache) or os.unlink(cache) ++ cache = join(USER_FONT_CONFIG_DIR, ++ '25-{0}.conf'.format(self.selected_family.get_name())) ++ not exists(cache) or os.unlink(cache) + return + + def save_cache(self): diff --git a/pcr/font-manager/1001-gcc47.patch b/pcr/font-manager/1001-gcc47.patch new file mode 100644 index 000000000..1563c71ce --- /dev/null +++ b/pcr/font-manager/1001-gcc47.patch @@ -0,0 +1,18 @@ +Description: Fix missing #includes to prevent FTBFS with GCC 4.7. +Author: Alessio Treglia +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672043 +Forwarded: http://code.google.com/p/font-manager/issues/detail?id=71 +--- + src/lib/fm-fontutils.c | 1 + + 1 file changed, 1 insertion(+) + +--- font-manager.orig/src/lib/fm-fontutils.c ++++ font-manager/src/lib/fm-fontutils.c +@@ -21,6 +21,7 @@ + * Boston, MA 02110-1301, USA + */ + ++#include + #include + #include + #include diff --git a/pcr/font-manager/2001-paths.patch b/pcr/font-manager/2001-paths.patch new file mode 100644 index 000000000..2c15232fc --- /dev/null +++ b/pcr/font-manager/2001-paths.patch @@ -0,0 +1,25 @@ +Description: Fixes file location constants to more updated/organized variants. + ~/.fonts.conf -> ~/.config/fontconfig/fonts.conf + ~/.fonts/ -> ~/.local/share/fonts/ +Author: i_magnific0 (i_magnific0@yahoo.com) +Notes: patch not submitted +--- + src/constants.py.in | 4 ++-- + 1 file changed, 2 insertion(+), 2 deletions(-) + +--- font-manager.orig/src/constants.py.in ++++ font-manager/src/constants.py +@@ -75,11 +75,11 @@ + + HOME = os.getenv('HOME') + USER = os.getenv('USER') +-USER_FONT_DIR = join(HOME, '.fonts') ++USER_FONT_DIR = join(glib.get_user_data_dir(), 'fonts') + COMPAT_COLLECTIONS = join(CONFIG_DIR, 'fontgroups.xml') + USER_FONT_COLLECTIONS = join(DATA_DIR, 'Collections.xml') + USER_FONT_COLLECTIONS_BAK = join(DATA_DIR, 'Collections.xml.bak') +-USER_FONT_CONFIG = join(HOME, '.fonts.conf') ++USER_FONT_CONFIG = join(CONFIG_DIR, 'fontconfig/fonts.conf') + USER_FONT_CONFIG_DIR = join(APP_CONFIG_DIR, 'conf.d') + USER_FONT_CONFIG_DIRS = join(APP_CONFIG_DIR, 'directories.conf') + USER_FONT_CONFIG_RENDER = join(APP_CONFIG_DIR, 'local.conf') diff --git a/pcr/font-manager/2002-local-fontconfig-path.patch b/pcr/font-manager/2002-local-fontconfig-path.patch new file mode 100644 index 000000000..b3c65cc5c --- /dev/null +++ b/pcr/font-manager/2002-local-fontconfig-path.patch @@ -0,0 +1,11 @@ +--- font-manager/src/core/__init__.py.in 2010-12-24 11:05:14.000000000 +0800 ++++ font-manager/src/core/__init__.py.in 2013-06-12 21:15:28.294418494 +0800 +@@ -882,7 +882,7 @@ + # Make sure we have everything we need to run properly + _setup_logging() + for folder in CACHE_DIR, CONFIG_DIR, APP_CONFIG_DIR, AUTOSTART_DIR, DATA_DIR, \ +- USER_FONT_CONFIG_DIR, USER_FONT_DIR, USER_LIBRARY_DIR: ++ USER_FONT_CONFIG_DIR, USER_FONT_DIR, USER_LIBRARY_DIR, join(CONFIG_DIR, 'fontconfig'): + if not exists(folder): + os.makedirs(folder, 0755) + if folder == USER_FONT_DIR: diff --git a/pcr/font-manager/2003-file-roller-syntax-fix.patch b/pcr/font-manager/2003-file-roller-syntax-fix.patch new file mode 100644 index 000000000..229e13dc6 --- /dev/null +++ b/pcr/font-manager/2003-file-roller-syntax-fix.patch @@ -0,0 +1,22 @@ +--- font-manager/src/utils/common.py 2010-12-20 12:47:37.000000000 +0800 ++++ font-manager/src/utils/common.py 2013-06-12 22:09:06.296985078 +0800 +@@ -146,7 +146,7 @@ + + If delete is True, folder will be deleted afterwards + """ +- archiver = """file-roller -a '{0}.{1}' '{2}'""".format(arch_name, ++ archiver = """file-roller --add-to='{0}.{1}' '{2}'""".format(arch_name, + arch_type, folder) + os.chdir(destination) + roller = subprocess.Popen(shlex.split(archiver)) +--- font-manager/src/core/fonts.py 2010-12-20 13:14:43.000000000 +0800 ++++ font-manager/src/core/fonts.py 2013-06-12 22:26:29.084669145 +0800 +@@ -524,7 +524,7 @@ + tmp_dir = tempfile.mkdtemp(suffix='-font-manager', prefix='tmp-') + arch_dir = join(tmp_dir, dir_name) + os.mkdir(arch_dir) +- subprocess.call(['file-roller', '-e', arch_dir, filepath]) ++ subprocess.call(['file-roller', '--extract-to=' + arch_dir, filepath]) + # Todo: Need to check whether archive actually contained any fonts + # if user_is_stupid: + # self.notify() diff --git a/pcr/font-manager/PKGBUILD b/pcr/font-manager/PKGBUILD new file mode 100644 index 000000000..7224df504 --- /dev/null +++ b/pcr/font-manager/PKGBUILD @@ -0,0 +1,58 @@ +# Contributor: Joeny Ang +# Contributor: Guan 'kuno' Qing +# Contributor: Guten Ye +# Contributor: i_magnific0 +# Maintainer (Parabola): Esteban Carnevale + +pkgname=font-manager +pkgver=0.5.7 +pkgrel=4 +pkgdesc="A font management application for the GNOME desktop" +url="http://code.google.com/p/font-manager/" +arch=('i686' 'x86_64') +license=('GPL') +depends=('pygtk>=2.0' 'libxml2' 'fontconfig') +optdepends=('file-roller: to import/export font collections to archives' + 'gucharmap: to view selected font using GNOME character map application' + 'python-reportlab: to create PDF sample sheets') +source=(http://font-manager.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 + 0001-nonexistent_cache.patch + 1001-gcc47.patch + 2001-paths.patch + 2002-local-fontconfig-path.patch + 2003-file-roller-syntax-fix.patch) +md5sums=('7cd3b635eaddcb84a8b31509880510ed' + '50e732de1a92bc498d4cffd39185225c' + '727acfbbce4ab8d05078e4719443ce29' + 'a9a3cfc9433a0a4c710d4192f34760b9' + '119c5049113dadbf54aa4d2edf243d97' + '1daadcf92126caa46a628710fd07ae41') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc + sed -i -e 's/^PYTHON.*/PYTHON=\/usr\/bin\/python2/' Makefile + + # apply patches from Debian + # source: http://ftp.de.debian.org/debian/pool/main/f/font-manager/font-manager_0.5.7-4.debian.tar.gz + patch -Np1 < ../0001-nonexistent_cache.patch + patch -Np1 < ../1001-gcc47.patch + + # apply config file location constants patch by i_magnific0 + # source: https://github.com/magnific0/font-manager + patch -Np1 < ../2001-paths.patch + + # apply patch to create local fontconfig path if not found + patch -Np1 < ../2002-local-fontconfig-path.patch + + # apply patch to fix file-roller command line syntax + patch -Np1 < ../2003-file-roller-syntax-fix.patch + + # build + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir}/ install +} -- cgit v1.2.3 From 799d86a6ec79f217b5d44f7050c48f90f407c8cf Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 30 Apr 2014 18:35:11 -0300 Subject: iceweasel-l10n-1:29.0.deb1-1: updating version --- libre/iceweasel-l10n/PKGBUILD | 166 +++++++++++++++++++++--------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/libre/iceweasel-l10n/PKGBUILD b/libre/iceweasel-l10n/PKGBUILD index dcb615fb2..92ebd2fa3 100644 --- a/libre/iceweasel-l10n/PKGBUILD +++ b/libre/iceweasel-l10n/PKGBUILD @@ -6,7 +6,7 @@ # Based on icecat-l10n package, which is in turn based on firefox-i18n _debname=iceweasel -_debver=28.0 +_debver=29.0 _debrel=deb1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -71,85 +71,85 @@ for lang in ${_langpacks[@]}; do done md5sums=('a4593936bf1c7a9ec9368ff249f9cc56' - '4c98d0c477318f1c3d2cc2298ee29f0b' - '3a692f452edb66dc38be3df7032815c6' - 'f7d80f448e6b74b778d1f53d15946944' - 'da99de99e5c5a91d7881a7ff0d72fc0e' - '52b083ef3be1874b3df8a9aacd7ddc48' - '8ceb0b1bcbcbbb8857c047af7d6c9bf2' - 'c7506a5d650f8a231f1cc31f513bfa97' - '37bdd39f4697322b53f65894dcf954bd' - '5cc06b98d6b17120cfb128f9658a1985' - '32af1c5b14aec2da6f37604e4227bc6c' - '8e164bbc01867718896f749d06697707' - '6d1d18a1a14ac48f3d5a17af82256757' - 'afa3fa9e08db03317f47b76c56385dc0' - '8d891fa6b8cf6c48d5841c10edbe1784' - 'a8563dc2766ca0b2ec022c25383cd956' - 'f1be6d7b737c78553c3dfe24788700d5' - 'd635359e60f7c11ef295eff187b6c7e5' - 'b9ce01cd82b843d755dbd31f6864fb80' - 'c382040b8c7d485dfff1ef44ce29e8d1' - 'b707a1e7a7ae4b29e5984133a26638b1' - '88aafa96e3ed5fac54449b4515bce8e5' - '66b7abd745673b129256e0bb41396342' - 'ae89a7c603cfb7fb1d03991dc799b7c4' - '7d0d7fec327e5d5c4e56fc73b62c715d' - '70de24a0fd0cf0d3bb5679adc896722e' - '600af32eeffada27344155887fa58bd2' - '2e0b277babeca678fd5fc0c03886216b' - 'ad365b5c45431993732c8a022e2999d0' - '85536c9ad2c7621e8551c3df26977260' - 'c91061552a0d6cb5750edb619e500d5a' - '4972188b511436ac90d486f41fb52957' - 'daec7d9c806390067dffafb8e006f8e1' - '2a00e2ac93826f96907ba8e18e419cb9' - '51f3cae225b53cff038c722f5d0abb0d' - '7596d5532f8dd063686b26a25063c41c' - '5e03ef819ae45637da38618b47a7f343' - '0766f9d9dd2caae775b9b29bb1539fb8' - 'ae68e82f361cfbeb433c311a9ea664ea' - 'e1965b478743b2d97cfba144a5d10230' - 'a3ba5d86319e6e6b1a26b8979e81622a' - '4b331746e061033fd2339c8e66803f90' - 'dffe05b06576ee5bc01cf41f802f09f4' - 'f2278f1773f2a783b2a50351b90a5614' - 'ead52c5bb81a8a8484f253b1b43a5684' - '257b69e5f65ac485c13338f742b63fea' - '6a58bf9b1c82c1f612792fd848e8bacf' - 'b7621c5afa18e6326b8b01428f051303' - '27140ee773b68e8afa296bb1b4d8ee1d' - '0be494a05e6e86b9a40a574752d11e1b' - '6381be5a72067a1ecbb1f0653bd58518' - '75bcd12bb4cd2f0df6607c90c950067a' - 'ce331890e803fa47fde373f0b875c9be' - 'a30ae7f1f0c35609740edfd5809645f0' - 'c7fe87be2f24d49607e5e15825ce71ca' - 'ea81a726f80feb11bcadcc23aa150d6b' - '41a3f8c774ce81152f19bb527ad4feb5' - 'ef930f8d20b10bddbd3930642a0882cd' - '794042c6e59bad954c5167c13db2d320' - '9a007643c4b3da83291b44e09dc38e66' - 'af69db8d39d3881e667e012a6d50b05a' - '9e22c68f1a0b1cafc05de19340d99f69' - 'fa65e8b98c5fb14703a2659851561a55' - 'b926283d546b36328d3e6f92e5a0c8ec' - '4b40dc3418a8f533cd05f06abcef5fa5' - '9b874eff827033170a50bce75fd6d03a' - '0d128c33f2ccd125063119937c38143b' - '8c0219d8e1d4d1b94c2388a85a3c0042' - '8e5472f5faafd5e51d27f27d1742034f' - 'fe406de17b7d599d85d23dd177de4320' - '40df0996f9962c39fc1d0a32c34f2871' - '3864cdbdda46a667a15597d88bec65bc' - '0a5dd0fc74ea84f8e231c1a54071786f' - 'bd5300e7d7bc47f5cd42ec6e365ec1dd' - '69f34da54d0a69377d4c863109982933' - 'a461fd71bf08d3e253b81f02b4607971' - 'e970e09f404f513ae07c5694be75b500' - 'f80da0d906b61caab5f334262672140e' - '577ca0f3454f585a5a02e572e7f86c0d' - 'c59a3c185a1658c44e32fa7ee1947f21' - '5c091f1a800a6ec2af85382448ce3909' - 'edfac679acb397f454159b5121858e8d' - '37982e0113af242ad492bc24acddbce6') + 'e5bf1ae755c382de40be098c1edffb5b' + '471f3444b65c3665def9c77b9692dd46' + 'b5e376339f6c36b0cdee818923a3da23' + '4d2f273ef626af2c27cbfa95be676fd7' + 'b7ec2f435387c1aed25e66ebc9f5654a' + 'd7e64d5d68f3e6db8edc6a638ef23bfb' + '0b261e4f8097a8cb33864cdc00b8fd99' + '38f306a84193a14b2b9092242e791c43' + '4cb0ba840651f7082db817c1fdc1fd16' + '8fb033282c8c4ca7d3860720bfb109fb' + 'f6d14bae406a1894d8ea7e27e7e71b36' + '80c573abb444dded163cfdf9db3f5860' + 'd649b654ee219460b98de6e19c48c818' + 'c26bcb89ca74cb35d80bab8431607f03' + 'ffd58b3a8eac72be3ba1123d9ccb55e0' + '25a23e8bd7bc233ae2c5db4580943393' + 'cb3c2eaf206d8106594a2bab01172d80' + 'e31ba3a15892a757dfca1de28e6b82ec' + 'beedb59daff3f9fc0ceabe748ec2db97' + 'dfdaa7eb60e343a4ce7c6755cc94a5e1' + '3e2b415e9b4280be7c4655639cef5e26' + '11a2c6e4c60de3ec5c4af8681259d582' + 'ccb1e387f374fe326a0161ed4f5029b1' + 'c169192d2aac73def6b440e8415b0350' + '48df14fe85e70e060ec337d88abe0546' + '2924522340dbb6084d25634f116642b8' + '19829b01ef399d16e067ccea2853c2c8' + 'ba671c2a1a4c1a5421d422db8ccdceca' + 'c9184b8047a2630c27d67cd1c230cfe9' + 'b249276a0ab2ad5e036ffc78526d38f3' + 'dfb6017540b97412da20ccd324fffaaa' + '09d9da33078a302b17eb00a7642222d4' + '3c3cc05109dfc31eca4ff91c8608ef71' + 'b556a63bc756246e79f30a84f1234266' + '3eff78b4b677b242f990a4fba1bcad1f' + 'f1fc2e02046387cc4d5e8bf063ce1777' + '6f43b8c4fc0ea2a0cf817a00c191d572' + 'ea834dddc9f78d23f69b8c3b08d171a2' + 'e286e4634a0dbdbb042b303aed72e894' + '58d4e4565de8cb8a49ba8bbe34a9f03e' + '44f50af4bc18e52b5a7e3c6c5793892b' + '93c0d994d4c746a6e52507160db40320' + 'f08bb33ba81d590bc0df3bc39e06e659' + 'f7a0dc70409103c46ab3ce55113cfc4d' + 'dbc208a2c1d4c1336ab9e1837c3f2221' + 'b774be573aded8c5d42a8a17bd89c9f6' + 'f844cde37e9ecea9a820ed4b2e00b052' + '17f99515838abf81fdcf71959862ba50' + 'd1782b6e0f2cc814c350fb6965614105' + '4948a0694935a765a3da04edf215ad83' + 'ef77dc32592af42510f2c901966999f9' + '1a453dd3b93b7fb6833797d503ea8352' + 'b278151cc6a1c1dd2a9ab6705aa31ee9' + 'd7a9e87b2844fdd4c9348eeaabc31f2d' + 'f81ce5451c8030a95d01a50372a6d6b5' + 'cc2920c5502298dc6814c7891c65a839' + '3b4b81b147b2098451b1c5372144c7b0' + '47821aa27983f5a7a07a8387d070b344' + 'e885aa89bfc81821f7628ab0b9991b00' + 'd6e52a82db83135643b5e48ed81f7cab' + '532f9f379a46425cd137b8a6b495784d' + '0b4a96c3abcb3056424092964a25bf9b' + '89d220dd00d2cf3c09105831259540eb' + '030800a2fb7bcf7135640de28acac9eb' + 'f75eaa08f3dde32cb0f4f278aab91731' + '06b3a062edcdd12d4e62950e01dd30fd' + 'd2a0bc6016636d42be33db9086997a31' + '3f307b4e8cddf89abbfe67132859a21f' + 'e4cc8c6693683a698d5b3ff363e6ddb9' + '13f19d01c8d8b04361aea819744b601f' + '8921d2dfb5f6f616ba6a5518984ba463' + 'ffe26a33e61e9648082db53672d99c36' + '04139270ec52eb6cec10a13485525377' + '28517c4678b264e4e38b47f1a7190bad' + '3f7d1b99f3ad5e2a4b8fd879f8df0238' + 'a46647101e97dfd1ab76e5aa664ff717' + 'd6898b991b0378c1699fa402bb1693c8' + '9dc8cb9d44fd52dfb9c3b518e0c2a686' + '2dae9ae32604043d36d2ad34a44a8a2c' + '35b053f07692b00fc504abbb5d2ff7da' + '784dec9df3db41e790060f76cf69af22' + '4b65dbbeaf3a0d318999c386919a0c28') -- cgit v1.2.3 From e64f1e1b96f047d14cda7557e5890af06c82fbcb Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Wed, 30 Apr 2014 20:02:06 -0300 Subject: lostfiles-3.10-1: updating version --- pcr/lostfiles/PKGBUILD | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pcr/lostfiles/PKGBUILD b/pcr/lostfiles/PKGBUILD index acc8ddd64..413eb2ccf 100644 --- a/pcr/lostfiles/PKGBUILD +++ b/pcr/lostfiles/PKGBUILD @@ -1,7 +1,8 @@ # Contributor: graysky +# Maintainer (Parabola): Esteban Carnevale pkgname=lostfiles -pkgver=3.07 +pkgver=3.10 pkgrel=1 pkgdesc='Find orphan files - those not owned by any Arch packages.' arch=('any') @@ -9,7 +10,7 @@ license=('GPL2') depends=('bash') url="https://github.com/graysky2/lostfiles" source=("https://github.com/graysky2/$pkgname/archive/v$pkgver.tar.gz") -sha256sums=('970d35a619043471067d58a6702443d5e7b9ab9ead96c37ae0811ecb11d2424d') +sha256sums=('52cb37cb1214d9285fbba7dc774f1490eee0d3380d8f4f383406049e37c4fbc8') package() { cd "$pkgname-$pkgver" -- cgit v1.2.3 From c6b901ed2a2e5afbc650f6bf52f8530e7aa9e45a Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Wed, 30 Apr 2014 20:14:05 -0300 Subject: md5deep-4.4-1: updating version --- pcr/md5deep/PKGBUILD | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/pcr/md5deep/PKGBUILD b/pcr/md5deep/PKGBUILD index fe1acb7bd..261bb9889 100755 --- a/pcr/md5deep/PKGBUILD +++ b/pcr/md5deep/PKGBUILD @@ -1,12 +1,13 @@ # Contributor: billycongo # Maintainer: dkaylor +# Maintainer (Parabola): Esteban Carnevale pkgname=md5deep -pkgver=4.3 -pkgrel=2 +pkgver=4.4 +pkgrel=1 arch=('i686' 'x86_64') pkgdesc="Advanced checksum hashing tool" -url="http://md5deep.sourceforge.net" +url="https://github.com/jessek/hashdeep" license=('Public Domain') # Copyright and license stuff: @@ -22,24 +23,25 @@ license=('Public Domain') # As such, md5deep exists in the public domain under 17 USC 105. depends=('glibc') -source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz") - -md5sums=('f172e686ca1df83a53308ad90f7f706d') -sha1sums=('b9dd6444f07c9fc344ebef201baebdf71bda337f') -sha256sums=('905bcf8bddf0e7e2650b280d5e7af8cb8cd41dad4f299751dfec397dcb4f8d54') -sha512sums=('fe1240e6ae039b18d35a9de0cf15fb77eaac9d5505b6b550eb32858bf6d603f8186de06114d40325d5071640f46cec70795e9c192fa7b6ca9022a12c212a9b14') - +source=("https://github.com/jessek/hashdeep/archive/release-$pkgver.tar.gz") +md5sums=('9ccfd5ba3e3d9cffddeb118cacad0c27') +sha1sums=('cb4e313352974299c32bc55fe56396adb74517ef') +sha256sums=('dbda8ab42a9c788d4566adcae980d022d8c3d52ee732f1cbfa126c551c8fcc46') +sha512sums=('c37ec85ed04d4452f9038f43434c02e064cf9e17c4eaa233867dba0236443922a14ccb8ec76c68820087751c2ca3db014d3f17dd8fcd2c2bde84d620aae50de1') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/hashdeep-release-$pkgver" + + sh ./bootstrap.sh ./configure --prefix=/usr + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/hashdeep-release-$pkgver" make DESTDIR=$pkgdir install } -- cgit v1.2.3 From 20eb5d87981c1404c5230dc55b3522221a161ad7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 30 Apr 2014 20:57:57 -0300 Subject: icedove-libre-1:24.5.0.deb1-1: updating version --- libre/icedove-libre/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD index 8ec9f26fd..b12843ed0 100644 --- a/libre/icedove-libre/PKGBUILD +++ b/libre/icedove-libre/PKGBUILD @@ -3,7 +3,7 @@ # We're getting this from Debian Sid _debname=icedove -_debver=24.4.0 +_debver=24.5.0 _debrel=deb1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -30,8 +30,8 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.xz" vendor.js ${_pkgname}.desktop) options=(!emptydirs) -md5sums=('bfe7e2d0d7bf13070745849a98cf1ef0' - 'bfb4b90eba2586b890c9735a91c3ab1f' +md5sums=('f5fdb857b1da3e7419acbd5922b4966d' + '12e9a383b4c2e8d297b82ca878e8f905' 'c46cf2a671c8fdefcabd4c87e38f3d40' '5a53179d14ae9631b7afe5e4d0fc0b25' 'e785e0c267f4435ae1a9aa0b03bcacfb') -- cgit v1.2.3 From 27865684091be33d3e64e44fd17e8d7f1880de22 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 30 Apr 2014 21:00:38 -0300 Subject: icedove-libre-nonprism-1:24.5.0.deb1-1: updating version --- nonprism/icedove-libre-nonprism/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nonprism/icedove-libre-nonprism/PKGBUILD b/nonprism/icedove-libre-nonprism/PKGBUILD index 3a2393476..1948584d9 100644 --- a/nonprism/icedove-libre-nonprism/PKGBUILD +++ b/nonprism/icedove-libre-nonprism/PKGBUILD @@ -3,7 +3,7 @@ # We're getting this from Debian Sid _debname=icedove -_debver=24.4.0 +_debver=24.5.0 _debrel=deb1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -30,8 +30,8 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.xz" vendor.js ${_pkgname}.desktop) options=(!emptydirs) -md5sums=('bfe7e2d0d7bf13070745849a98cf1ef0' - 'bfb4b90eba2586b890c9735a91c3ab1f' +md5sums=('f5fdb857b1da3e7419acbd5922b4966d' + '12e9a383b4c2e8d297b82ca878e8f905' 'c46cf2a671c8fdefcabd4c87e38f3d40' '5a53179d14ae9631b7afe5e4d0fc0b25' 'e785e0c267f4435ae1a9aa0b03bcacfb') -- cgit v1.2.3 From 3024934c3e4fc638edbb1672cdaaa30eea910fec Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 30 Apr 2014 21:39:07 -0300 Subject: icedove-l10n-1:24.5.0.deb1-1: updating version --- libre/icedove-l10n/PKGBUILD | 114 ++++++++++++++++++++++---------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/libre/icedove-l10n/PKGBUILD b/libre/icedove-l10n/PKGBUILD index 3f7cd97ec..ea320b005 100644 --- a/libre/icedove-l10n/PKGBUILD +++ b/libre/icedove-l10n/PKGBUILD @@ -10,8 +10,8 @@ pkgname=( done) ) epoch=1 -_pkgver=24.4.0 -pkgver=24.4.0.deb1 +_pkgver=24.5.0 +pkgver=24.5.0.deb1 pkgrel=1 pkgdesc="Language packs for Debian Icedove." @@ -58,58 +58,58 @@ done md5sums=('d5b2567a8cc8f64591f313a6efdaaffc' 'f3719964e893c1002b7a923e8f95f923' - 'c93121b73fdf2d39afccd1d7fd60caeb' - '57fca5d7db9a2a37e7a0d201af2a60b3' - '6d03ecb778960fc2c6566b8446b62464' - 'b70885875e7782a83aff337b5902e21d' - '7d701ee758ee54f9d88244699c7138e3' - 'fee5fe03c66ae9cda9f3059a70fc83c9' - '6376a5852220121283ea313b0b39e130' - '6c75e768ca2f68082afa26760f0b4ead' - '3d308869a1a30c0833ec4c33c1767520' - '37e8dfd5b1221d4f72195a06497fad72' - 'd719de92a69b45bd484aabf4306ba381' - 'c2070ce6b1f73a2f06551af1cf82cff6' - 'fc373863e6840544efe4299000dccbe4' - 'b6bab7f30edb369a0ba4626d3ec6ce93' - 'f009615785602b3ca245049da9639150' - '710a86030ec210c6c445ddcc2d28ab1d' - 'e68b6bb74550bedddfcfeba881389728' - '6c082285c132cb0142060193c75705a1' - '8dc1f11fb8245fd4a204843bf8594523' - '1de07a0a23c12c4ca64d88555b520c4a' - 'd9c0e3ada62ed9c054e7cebfcc36bc68' - '0daf1191b0030635c9308245f68f257e' - '279f6b97ac045ba3e4480a9c9bd71744' - 'ba0a5b5a036cb697b36111836f5861b5' - 'a48efe83aaaa2a7f8329065731ee8a35' - '839cea908690c20dc8614827337a9c99' - 'a96f075ea17f05c5ad8e87a42faa4a1a' - '97d7c494bcfe7d11a6b6343dd0e4a4ad' - '6b115ff2a5ea92a230f3ec1016779384' - 'c4ea285c1beed7c5284744380b9ffcae' - 'a610bf078d35617eea8629d05c5bafbd' - '1e1fec3a3d3e41672af1493c506cf5c8' - '196f87e18f671043eacb427018b1673a' - 'fa0f146d7a490be0b9d3f19efbe55508' - 'b9b42d45be5e1a22fb1f9a8991215b86' - 'fc318ea8b805bf14c92d4fb66e20fe84' - '8d469a4689d390db43f4410361847c09' - '26440002e34ef51b920d0382e46faa37' - '49765ce7a015a477313e22eb8d771e8c' - '29f3b1273e896b563d1f14d9ccc9a066' - '92e12e47e8f774c9d2bbdbc0ac94b4a9' - '884f2346fcf1ac6fa1a1b695ab40f1fd' - '25eb46d720d366297461f594710fa3bd' - '2a8418e9d4a9a87b1376827bfafdc21b' - 'b4403e9140f8a6689303540ba0f7202c' - '82eda2c5ab8ebaaf468084f4c3b06198' - '30ac79a8878c1a1ab38dff17ba946ae0' - '13ae166d1ef84de79b6f745e9858824b' - 'a6add04eacdcad4d02a9aac8abdcebba' - 'e411c419e6661ca676a7673dca2c4258' - '630a49e221fc6338ac6b4ac24d51a6b3' - 'f771ba594831dde641f321886de24fe9' - '27c64d8de7a261091def28986b41009d' - 'd42570097f0dd843789519c7104d387a' - '8889a460ebec9c2d88651ce3a9e46892') + 'c2b8e92209dee18a05b94e09495f1385' + 'f6cac4c6774a7d51d0e3a22a03e61c03' + 'da248970bf31af33021397bb13b1d750' + 'a457ad88eddc7ada60fc04b8ef6336a6' + '930b436e34a7766fa192ef6813716a0d' + 'caff4414033312e1a2ff725eabfdbca2' + 'b73b185ed157581bc86dbad70140f781' + '66c0d28927983ae37589a41b62acbda0' + '26bb279c4ae7d5987fd2dc834e265609' + '2cd9b504b4c4d52cb0f6f7a09b12897b' + 'f2d9ab2811ddfe4dec979aae63aadc63' + '68bb674911996827fb985ab4e0d7f081' + '5c7304dad3182be7d1a1a0b5b6b517f8' + '1e6ef27a0f757e1bf3bd48dfcff988c4' + 'bd6530a1f5c3a06d2f974f440b6d8d00' + '68225d967e08411f1b825bc6d5e4c17c' + 'e507d0dd7391ebe61ea6dae549db79bf' + '11dbf8261b1cafa849f25d9349e85805' + 'a4dead940907cda0bfa633ce7d641028' + '165952170f601ab004c148d5fa1c5068' + '73e2a9b97d1b837acbda9bae9e54adab' + 'ec738fc347191482dd771270891a9554' + 'b61b62c115850b57a9b9d20550da4475' + '921e5a2f5884e63be3b6d048b3050836' + 'dfbdeafbb865244131c3909c5ea8dcb4' + '4866218c8e0d95028dba65c571b32444' + '005ea48a3f6b0ed0c49ef0fe8df056e6' + '5e2380bd5cf3f060bdf89119c78711c6' + '722629d32b0378356fb4aae9f9231f61' + '177fb699efbb8b30cd64971b6d0f6e75' + '790e2882c8084e995503d1f8f8b79b02' + '16f4e54fcaa46f44fd8fad365b30c335' + 'b17a85308b26e06e1d97e252469a4317' + 'dda3a2db757797e1fa0178b71b5cd962' + '297211f4484ae43cbe2efdcfbd4ee1c1' + '070c2bad3853f2045025a07b3025ed79' + '6a537cde801fc16caefd7bf7c84dde97' + 'aa0976c319f0363d2c64edd2f104c0f4' + '85c978c58c59227516e195fd946859d4' + '221d467d340b5e8d5bfee54b0c78995f' + '8fc6fc5c4902800a030a45dfdd0e2f66' + '6dd39f9c8598f3da3397ac304c604042' + '53b97beda7d2f610c41d97e39eef2c4e' + '8256a23a300fc2da822f7ba60604d1a2' + 'd8bc9e2baeff937a4d67e2f339a3cee9' + '9bafb577debd20b9ef3b4e2f583c66ce' + '18dc25d9341b70464809690bf2df4dd3' + '22bdcfbb2ba9fe31378c4421b19dac68' + 'e715a23c6f4c5f5830f02c13aefc04c2' + 'df57a059f59ede99d67d54ce28c09cef' + '73a0368e45b6f7dd46457903e710e96b' + '794888d55fad6a8ecc24ad68791add17' + '71b4452650ee04a3051572340f66557c' + 'fe35bcccdafb436a4ce36a3679071c78' + '744d692118ac876260d47247d79590bc') -- cgit v1.2.3 From e584ed36b17c360000b222768adc875ac7e92741 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 1 May 2014 20:02:24 -0300 Subject: iceweasel-libre-1:29.0.deb1-2: fix issue #520 => https://labs.parabola.nu/issues/520 --- libre/iceweasel-libre/PKGBUILD | 9 +++++++-- libre/iceweasel-libre/vendor.js | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index 57da4aba7..020c6f9a5 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -23,7 +23,7 @@ _pkgname=iceweasel pkgname=iceweasel-libre epoch=1 pkgver=$_debver.$_debrel -pkgrel=1 +pkgrel=2 pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox." arch=(i686 x86_64 mips64el) @@ -68,7 +68,7 @@ md5sums=('2cc40f481ca7b8421925a1def5fe14a0' 'b03a979a78484503ba8dddad4f2c96d1' '7b9e5996dd9fe0b186a43a297db1c6b5' '1c42509891cf6843660a5f3c69896e80' - '816013881cfc9a1f4f0ede72b014f8b3' + '783a5927246f014855b96a3abb92566b' '6e335a517c68488941340ee1c23f97b0' '9d1cc7b80085a4438305e9e37d42745b' '8e165ef85ddd72491f0b48f8954afca6') @@ -105,6 +105,11 @@ prepare() { sed -i 's|Adobe Flash|SWF Player|g; ' browser/base/content/pageinfo/permissions.js \ browser/base/content/browser-plugins.js + sed -i '\|["]displayName["][:] ["]Flash["]| s|Flash|SWF Player| + \|["]displayName["][:] ["]Shockwave["]| s|Shockwave|DCR Player| + \|["]displayName["][:] ["]QuickTime["]| s|QuickTime|MOV Player| + \|installLinux| s|true|false| + ' browser/base/content/browser-plugins.js sed -i '\|URL of the GeoLocation backend|d; \|geo[.]wifi[.]uri|d; ' browser/app/profile/firefox.js \ diff --git a/libre/iceweasel-libre/vendor.js b/libre/iceweasel-libre/vendor.js index 6510944a7..da8118138 100644 --- a/libre/iceweasel-libre/vendor.js +++ b/libre/iceweasel-libre/vendor.js @@ -20,3 +20,6 @@ pref("dom.storage.enabled", false); // Disable missing nonfree flash notification pref("plugins.notifyMissingFlash", false); + +// Disable "alt" as a shortcut key to open full menu bar. Conflicts with "alt" as a modifier +pref("ui.key.menuAccessKeyFocuses", false); -- cgit v1.2.3 From 2aaee56defae5e0d0c5328d5d67f287abe7d22f9 Mon Sep 17 00:00:00 2001 From: Drtan Samos Date: Fri, 2 May 2014 18:42:38 +0200 Subject: parabola-artwork-1.0.5: updating version --- ~drtan/parabola-artwork/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/~drtan/parabola-artwork/PKGBUILD b/~drtan/parabola-artwork/PKGBUILD index 89e63d965..6645b7c74 100644 --- a/~drtan/parabola-artwork/PKGBUILD +++ b/~drtan/parabola-artwork/PKGBUILD @@ -2,13 +2,13 @@ pkgname=parabola-artwork pkgver=1.0 -pkgrel=4 -pkgdesc="The artwork for Parabola GNU/Linux-libre." +pkgrel=5 +pkgdesc="The Parabola artwork" arch=('any') url="https://parabolagnulinux.org" license=('CCPL:cc-by-sa-3.0') source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}-${pkgrel}.tar.gz") -sha256sums=('3cddac368164531113e7d256c7ee6dd5493ae57c080bc8124748daee2c0a915b') +sha256sums=('4bc7134b7ea4719677963717a6bde295c29fc0369cdd3c1dee1de884cf49f0af ') package() { cd "${srcdir}/${pkgname}-${pkgver}-${pkgrel}" -- cgit v1.2.3 From 4968de4502eefd804fc9eb2d68f4d89014748483 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 2 May 2014 22:06:59 -0300 Subject: linux-libre-api-headers-3.14.1-1: updating version --- libre/linux-libre-api-headers/PKGBUILD | 24 +++++-- .../linux-3.14-xattr_header.patch | 76 ++++++++++++++++++++++ 2 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 libre/linux-libre-api-headers/linux-3.14-xattr_header.patch diff --git a/libre/linux-libre-api-headers/PKGBUILD b/libre/linux-libre-api-headers/PKGBUILD index 087a0cae8..07cfe7988 100644 --- a/libre/linux-libre-api-headers/PKGBUILD +++ b/libre/linux-libre-api-headers/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 205569 2014-02-07 22:36:57Z allan $ +# $Id: PKGBUILD 211667 2014-04-23 02:10:08Z allan $ # Maintainer: Allan McRae # Maintainer (Parabola): André Silva # toolchain build order: linux-libre-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=linux-libre-api-headers -_basekernel=3.13 -_sublevel=2 +_basekernel=3.14 +_sublevel=1 pkgver=${_basekernel}.${_sublevel} pkgrel=1 pkgdesc="Kernel headers sanitized for use in userspace" @@ -17,17 +17,27 @@ provides=("linux-api-headers=${pkgver}") conflicts=('linux-api-headers') replaces=('linux-api-headers') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" - "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz") -md5sums=('98a8e803e0ed08557f3cdd4d56b0ddc1' - '5594978ab8b62033274cf36305baf238') + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" + linux-3.14-xattr_header.patch) +md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' + '2b4862b3c76011e66e536f18fbf0fb27' + '22926521588b2e95f3c2a2cb428e7cf9') -build() { +prepare() { cd ${srcdir}/linux-${_basekernel} if [ "${_basekernel}" != "${pkgver}" ]; then patch -p1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu" fi + # fix xattr.h dual inclusion issues + # https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=ea1a8217 + patch -p1 -i $srcdir/linux-3.14-xattr_header.patch +} + +build() { + cd ${srcdir}/linux-${_basekernel} + make mrproper make headers_check } diff --git a/libre/linux-libre-api-headers/linux-3.14-xattr_header.patch b/libre/linux-libre-api-headers/linux-3.14-xattr_header.patch new file mode 100644 index 000000000..1ea583d86 --- /dev/null +++ b/libre/linux-libre-api-headers/linux-3.14-xattr_header.patch @@ -0,0 +1,76 @@ +From ea1a8217b06b41b31a2b60b0b83f75c77ef9c873 Mon Sep 17 00:00:00 2001 +From: Serge Hallyn +Date: Thu, 3 Apr 2014 14:48:33 -0700 +Subject: xattr: guard against simultaneous glibc header inclusion + +If the glibc xattr.h header is included after the uapi header, +compilation fails due to an enum re-using a #define from the uapi +header. + +Protect against this by guarding the define and enum inclusions against +each other. + +(See https://lists.debian.org/debian-glibc/2014/03/msg00029.html +and https://sourceware.org/glibc/wiki/Synchronizing_Headers +for more information.) + +Signed-off-by: Serge Hallyn +Cc: Andrew Morton +Cc: Allan McRae +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds + +diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h +index 335e8a7..c140620 100644 +--- a/include/uapi/linux/libc-compat.h ++++ b/include/uapi/linux/libc-compat.h +@@ -85,6 +85,12 @@ + + #endif /* _NETINET_IN_H */ + ++/* Definitions for xattr.h */ ++#if defined(_SYS_XATTR_H) ++#define __UAPI_DEF_XATTR 0 ++#else ++#define __UAPI_DEF_XATTR 1 ++#endif + + /* If we did not see any headers from any supported C libraries, + * or we are being included in the kernel, then define everything +@@ -98,6 +104,9 @@ + #define __UAPI_DEF_IPV6_MREQ 1 + #define __UAPI_DEF_IPPROTO_V6 1 + ++/* Definitions for xattr.h */ ++#define __UAPI_DEF_XATTR 1 ++ + #endif /* __GLIBC__ */ + + #endif /* _UAPI_LIBC_COMPAT_H */ +diff --git a/include/uapi/linux/xattr.h b/include/uapi/linux/xattr.h +index 40bbc04..c38355c 100644 +--- a/include/uapi/linux/xattr.h ++++ b/include/uapi/linux/xattr.h +@@ -7,11 +7,18 @@ + Copyright (c) 2001-2002 Silicon Graphics, Inc. All Rights Reserved. + Copyright (c) 2004 Red Hat, Inc., James Morris + */ ++ ++#include ++ + #ifndef _UAPI_LINUX_XATTR_H + #define _UAPI_LINUX_XATTR_H + ++#ifdef __UAPI_DEF_XATTR ++#define __USE_KERNEL_XATTR_DEFS ++ + #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */ + #define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */ ++#endif + + /* Namespaces */ + #define XATTR_OS2_PREFIX "os2." +-- +cgit v0.10.1 + -- cgit v1.2.3 From 4e1c167eb62772db4ee76603b86ebf6e68f22daf Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 2 May 2014 22:07:54 -0300 Subject: linux-libre-grsec-3.14.2.201405011752-1: updating version --- libre/linux-libre-grsec/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index e702d3ad8..8bd2f044f 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -14,11 +14,11 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.14 _sublevel=2 _grsecver=3.0 -_timestamp=201404270907 +_timestamp=201405011752 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 -_lxopkgver=${_basekernel}.1 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.2 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="https://grsecurity.net/" license=('GPL2') @@ -52,7 +52,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '77c34d5c5c2663d0daaf8ad3761fbaf3' - '108a9ec62f9015ed17cd91f40087ea03' + '36a7b0f623da0cf6d6a6da25e1b1c4a7' 'SKIP' '1b830bf677c7df400ac30192fa37f97f' '408dd180559f71dab1fcc80a19da1343' @@ -74,7 +74,7 @@ md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '21d25aef69f9da33c6087b7ffd97783e' '278417ab07b6f5fe8e3e0ed656f35f3e' '7a052645280da78a98bfe8cf805ddab5' - '3ab22a28f075ec92bca1b7598e8280e1') + '4a8ea53fef63e90c5244c2f2806ad4c8') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] -- cgit v1.2.3 From 5c284eb695f458a170010dae5a4b178d84709960 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 2 May 2014 22:10:36 -0300 Subject: iceweasel-libre-1:29.0.deb1-3: fixed another freedom issue and changed some features * renamed http://directory.fsf.org/wiki/GNU_IceCat to https://trisquel.info/en/browser * fixed https://labs.parabola.nu/issues/520#note-4 --- libre/iceweasel-libre/PKGBUILD | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index 020c6f9a5..6d88cff3a 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -23,7 +23,7 @@ _pkgname=iceweasel pkgname=iceweasel-libre epoch=1 pkgver=$_debver.$_debrel -pkgrel=2 +pkgrel=3 pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox." arch=(i686 x86_64 mips64el) @@ -118,11 +118,12 @@ prepare() { sed -i "\|abouthome/snippet|d" browser/base/jar.mn # Replace common URLs - sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; - \|browser[.]search[.]searchEnginesURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g; + sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g; + \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g; + \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g; + \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g; + \|browser[.]search[.]searchEnginesURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|https://trisquel.info/en/browser");|g; + \|plugins[.]update[.]url| s|https://www[.]mozilla[.]org/[%]LOCALE[%]/plugincheck/["][)][;]|https://trisquel.info/en/browser");|g; ' browser/app/profile/firefox.js cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch -- cgit v1.2.3 From 449e0247882d13ec2dd0e2bf15a0baf3a969ddcd Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 2 May 2014 22:33:10 -0300 Subject: python2-polib: removed because it's included on [community] --- pcr/python2-polib/PKGBUILD | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 pcr/python2-polib/PKGBUILD diff --git a/pcr/python2-polib/PKGBUILD b/pcr/python2-polib/PKGBUILD deleted file mode 100644 index 50047ac3e..000000000 --- a/pcr/python2-polib/PKGBUILD +++ /dev/null @@ -1,25 +0,0 @@ -# Maintainer: Esteban V. Carnevale - -pkgname=python2-polib -_pkgname='polib' -pkgver=1.0.3 -pkgrel=1 -pkgdesc='A library to manipulate gettext files' -url='http://polib.readthedocs.org/en/latest/index.html' -arch=('any') -license=('MIT') -depends=('python2') - -source=("https://bitbucket.org/izi/polib/downloads/polib-${pkgver}.tar.gz") -md5sums=('dc9dc39d4053cfe030155891f3043cb1') - -build() { - cd "${srcdir}/${_pkgname}-${pkgver}" - python2 setup.py build -} - -package() { - cd "${srcdir}/${_pkgname}-${pkgver}" - python2 setup.py install --root="${pkgdir}" --optimize=1 - install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE -} -- cgit v1.2.3 From bd107e82c9591beb8f118d456d5cdea9a779d344 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 3 May 2014 11:25:04 -0300 Subject: xbmc-libre: improved description about nonfree unRAR utility removing --- libre/xbmc-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD index e347707d2..38bf7174b 100644 --- a/libre/xbmc-libre/PKGBUILD +++ b/libre/xbmc-libre/PKGBUILD @@ -48,7 +48,7 @@ md5sums=('7c71af50af55b097e4365a58b70754e8' mksource() { cd "${srcdir}/xbmc-$pkgver-$_codename" - # remove unrar files from the source + # remove nonfree unRAR utility files from the source rm -rv lib/UnrarXLib } -- cgit v1.2.3 From d36bf146e31e0bf162359516ecb75adb620878ef Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 3 May 2014 11:25:18 -0300 Subject: calibre-libre-1.35.0-1: updating version --- libre/calibre-libre/PKGBUILD | 31 ++- libre/calibre-libre/libre.patch | 545 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 556 insertions(+), 20 deletions(-) diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD index 6118642c4..2205ffc11 100644 --- a/libre/calibre-libre/PKGBUILD +++ b/libre/calibre-libre/PKGBUILD @@ -1,5 +1,5 @@ -# $Id: PKGBUILD 110173 2014-04-25 19:47:10Z jelle $ -# Maintainer: jelle van der Waa +# $Id: PKGBUILD 110547 2014-05-03 08:51:00Z jelle $ +# Maintainer: Jelle van der Waa # Maintainer: Daniel Wallace # Contributor: Giovanni Scafora # Contributor: Petrov Roman @@ -9,7 +9,7 @@ _pkgname=calibre pkgname=calibre-libre -pkgver=1.34.0 +pkgver=1.35.0 pkgrel=1 pkgdesc="Ebook management application, without nonfree libunrar support" arch=('i686' 'x86_64' 'mips64el') @@ -27,28 +27,33 @@ replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver install=calibre.install -mksource=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz" - 'libre.patch') +mksource=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz") source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz" 'desktop_integration.patch' - 'calibre-mount-helper') -mkmd5sums=('1621d563c0cd46d582f8fdf8c44dbb6f' - '1540d92a314bf748b60b8fc436777ccb') -md5sums=('38469886ead2808b81555ab2f505da7c' + 'calibre-mount-helper' + 'libre.patch') +mkmd5sums=('fa98868fc6b446a8c22ef13475e6d224') +md5sums=('78e6d511b77c6cc485f92d81961f31b7' 'ece36dfd737fa4a346f0a0e59395e949' - '675cd87d41342119827ef706055491e7') + '675cd87d41342119827ef706055491e7' + '64b6798f526165146084e447cc3d9e1a') mksource(){ cd "${srcdir}/${_pkgname}" - # Remove unrar files from the source + # Remove nonfree unRAR utility files from the source rm -rv src/unrar - rm -v src/calibre/utils/unrar.{cpp,py} - patch -Np1 -i "${srcdir}/libre.patch" } prepare(){ cd "${srcdir}/${_pkgname}" + + # Remove rar/cbr references + rm -v src/calibre/{ebooks/metadata/rar.py,utils/unrar.{cpp,py}} + rm -v resources/images/mimetypes/{cbr,rar}.png + rm -v imgsrc/mimetypes/rar.svg + patch -Np1 -i "${srcdir}/libre.patch" + #rm -rf src/{cherrypy,pyPdf} rm -rf src/cherrypy rm -rf resources/${pkgname}-portable.* diff --git a/libre/calibre-libre/libre.patch b/libre/calibre-libre/libre.patch index c3dd28eb1..cff783d15 100644 --- a/libre/calibre-libre/libre.patch +++ b/libre/calibre-libre/libre.patch @@ -1,3 +1,58 @@ +diff --git a/resources/images.qrc b/resources/images.qrc +index 4daf069..f7569d1 100644 +--- a/resources/images.qrc ++++ b/resources/images.qrc +@@ -159,7 +159,6 @@ + images/textures/grey_wash_wall.png + images/mimetypes/djvu.png + images/mimetypes/rtf.png +-images/mimetypes/cbr.png + images/mimetypes/lrf.png + images/mimetypes/jpeg.png + images/mimetypes/pdf.png +@@ -181,7 +180,6 @@ + images/mimetypes/txt.png + images/mimetypes/snb.png + images/mimetypes/odt.png +-images/mimetypes/rar.png + images/mimetypes/azw2.png + images/mimetypes/zip.png + images/mimetypes/dir.png +@@ -212,4 +210,4 @@ + images/devices/tablet.png + images/devices/folder.png + +- +\ No newline at end of file ++ +diff --git a/resources/mime.types b/resources/mime.types +index b7c33e9..055ea61 100644 +--- a/resources/mime.types ++++ b/resources/mime.types +@@ -137,7 +137,6 @@ application/prs.cww cww + application/prs.nprend + application/prs.plucker + application/qsig +-application/rar rar + application/rdf+xml rdf + application/reginfo+xml rif + application/relax-ng-compact-syntax rnc +@@ -849,7 +848,6 @@ application/x-pkcs7-certreqresp p7r + application/x-pkcs7-crl crl + application/x-python-code pyc pyo + application/x-quicktimeplayer qtl +-application/x-rar-compressed rar + application/x-redhat-package-manager rpm + application/x-sh sh + application/x-shar shar +@@ -1372,7 +1370,6 @@ application/x-mobipocket-subscription pobi + application/x-kindle-application azw2 + application/x-mobi8-ebook azw3 + application/x-cbz cbz +-application/x-cbr cbr + application/x-cb7 cb7 + application/x-koboreader-ebook kobo + image/wmf wmf diff --git a/session.vim b/session.vim index 67502c2..b7f24d3 100644 --- a/session.vim @@ -52,6 +107,19 @@ index 08aa91f..7ee523b 100644 'progress_indicator.pyd', 'hunspell.pyd', # As per this https://bugs.launchpad.net/bugs/1087816 # on some systems magick.pyd fails to load from memory +diff --git a/setup/resources.py b/setup/resources.py +index 1bcc288..7d6c72f 100644 +--- a/setup/resources.py ++++ b/setup/resources.py +@@ -282,7 +282,7 @@ class Resources(Command): # {{{ + log = Log() + #log.outputs = [] + for inf in supported_input_formats(): +- if inf in ('zip', 'rar', 'oebzip'): ++ if inf in ('zip', 'oebzip'): + continue + for ouf in available_output_formats(): + of = ouf if ouf == 'oeb' else 'dummy.'+ouf diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index fcb627c..3289865 100644 --- a/src/calibre/__init__.py @@ -79,7 +147,7 @@ index fcb627c..3289865 100644 raise Exception('Unknown archive type') extractor(path, dir) diff --git a/src/calibre/constants.py b/src/calibre/constants.py -index 13c78db..8e699e2 100644 +index a250521..5d891b8 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -137,7 +137,6 @@ class Plugins(collections.Mapping): @@ -91,12 +159,26 @@ index 13c78db..8e699e2 100644 '_regex', 'hunspell', diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py -index a74951c..86aa14d 100644 +index a74951c..a91abb6 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py -@@ -142,10 +142,6 @@ class ComicMetadataReader(MetadataReaderPlugin): - ftype = 'cbr' - elif id_.startswith(b'PK'): +@@ -127,7 +127,7 @@ plugins += [HTML2ZIP, PML2PMLZ, TXT2TXTZ, ArchiveExtract,] + class ComicMetadataReader(MetadataReaderPlugin): + + name = 'Read comic metadata' +- file_types = set(['cbr', 'cbz']) ++ file_types = set(['cbz']) + description = _('Extract cover from comic files') + + def customization_help(self, gui=False): +@@ -138,14 +138,8 @@ class ComicMetadataReader(MetadataReaderPlugin): + pos = stream.tell() + id_ = stream.read(3) + stream.seek(pos) +- if id_ == b'Rar': +- ftype = 'cbr' +- elif id_.startswith(b'PK'): ++ if id_.startswith(b'PK'): ftype = 'cbz' - if ftype == 'cbr': - from calibre.utils.unrar import extract_first_alphabetically as extract_first @@ -105,8 +187,126 @@ index a74951c..86aa14d 100644 from calibre.libunzip import extract_member extract_first = functools.partial(extract_member, sort_alphabetically=True) +@@ -153,7 +147,7 @@ class ComicMetadataReader(MetadataReaderPlugin): + ret = extract_first(stream) + mi = MetaInformation(None, None) + stream.seek(0) +- if ftype in {'cbr', 'cbz'}: ++ if ftype in {'cbz'}: + series_index = self.site_customization + if series_index not in {'volume', 'issue'}: + series_index = 'volume' +@@ -336,16 +330,6 @@ class PMLMetadataReader(MetadataReaderPlugin): + from calibre.ebooks.metadata.pml import get_metadata + return get_metadata(stream) + +-class RARMetadataReader(MetadataReaderPlugin): +- +- name = 'Read RAR metadata' +- file_types = set(['rar']) +- description = _('Read metadata from ebooks in RAR archives') +- +- def get_metadata(self, stream, ftype): +- from calibre.ebooks.metadata.rar import get_metadata +- return get_metadata(stream) +- + class RBMetadataReader(MetadataReaderPlugin): + + name = 'Read RB metadata' +diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py +index 2e1cc23..c9a3701 100644 +--- a/src/calibre/customize/ui.py ++++ b/src/calibre/customize/ui.py +@@ -436,7 +436,7 @@ def available_input_formats(): + if not is_disabled(plugin): + for format in plugin.file_types: + formats.add(format) +- formats.add('zip'), formats.add('rar') ++ formats.add('zip') + return formats + + +diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py +index aca5e86..1c2064f 100644 +--- a/src/calibre/devices/kobo/driver.py ++++ b/src/calibre/devices/kobo/driver.py +@@ -77,7 +77,7 @@ class KOBO(USBMS): + book_class = Book + + # Ordered list of supported formats +- FORMATS = ['kepub', 'epub', 'pdf', 'txt', 'cbz', 'cbr'] ++ FORMATS = ['kepub', 'epub', 'pdf', 'txt', 'cbz'] + CAN_SET_METADATA = ['collections'] + + VENDOR_ID = [0x2237] +diff --git a/src/calibre/devices/mtp/filesystem_cache.py b/src/calibre/devices/mtp/filesystem_cache.py +index 3acb026..f3626ab 100644 +--- a/src/calibre/devices/mtp/filesystem_cache.py ++++ b/src/calibre/devices/mtp/filesystem_cache.py +@@ -18,7 +18,7 @@ from calibre.utils.date import local_tz, as_utc + from calibre.utils.icu import sort_key, lower + from calibre.ebooks import BOOK_EXTENSIONS + +-bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'rar', 'zip', 'xml'} ++bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'zip', 'xml'} + + class FileOrFolder(object): + +diff --git a/src/calibre/ebooks/__init__.py b/src/calibre/ebooks/__init__.py +index 3d01f84..8818bcb 100644 +--- a/src/calibre/ebooks/__init__.py ++++ b/src/calibre/ebooks/__init__.py +@@ -26,9 +26,9 @@ class DRMError(ValueError): + class ParserError(ValueError): + pass + +-BOOK_EXTENSIONS = ['lrf', 'rar', 'zip', 'rtf', 'lit', 'txt', 'txtz', 'text', 'htm', 'xhtm', ++BOOK_EXTENSIONS = ['lrf', 'zip', 'rtf', 'lit', 'txt', 'txtz', 'text', 'htm', 'xhtm', + 'html', 'htmlz', 'xhtml', 'pdf', 'pdb', 'updb', 'pdr', 'prc', 'mobi', 'azw', 'doc', +- 'epub', 'fb2', 'djv', 'djvu', 'lrx', 'cbr', 'cbz', 'cbc', 'oebzip', ++ 'epub', 'fb2', 'djv', 'djvu', 'lrx', 'cbz', 'cbc', 'oebzip', + 'rb', 'imp', 'odt', 'chm', 'tpz', 'azw1', 'pml', 'pmlz', 'mbp', 'tan', 'snb', + 'xps', 'oxps', 'azw4', 'book', 'zbf', 'pobi', 'docx', 'docm', 'md', + 'textile', 'markdown', 'ibook', 'iba', 'azw3', 'ps'] +diff --git a/src/calibre/ebooks/conversion/plugins/comic_input.py b/src/calibre/ebooks/conversion/plugins/comic_input.py +index e66ca49..3caa2db 100644 +--- a/src/calibre/ebooks/conversion/plugins/comic_input.py ++++ b/src/calibre/ebooks/conversion/plugins/comic_input.py +@@ -17,8 +17,8 @@ class ComicInput(InputFormatPlugin): + + name = 'Comic Input' + author = 'Kovid Goyal' +- description = 'Optimize comic files (.cbz, .cbr, .cbc) for viewing on portable devices' +- file_types = set(['cbz', 'cbr', 'cbc']) ++ description = 'Optimize comic files (.cbz, .cbc) for viewing on portable devices' ++ file_types = set(['cbz', 'cbc']) + is_image_collection = True + core_usage = -1 + +diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py +index cb49801..689c5aa 100644 +--- a/src/calibre/ebooks/conversion/plumber.py ++++ b/src/calibre/ebooks/conversion/plumber.py +@@ -42,7 +42,7 @@ various stages of conversion. The stages are: + + def supported_input_formats(): + fmts = available_input_formats() +- for x in ('zip', 'rar', 'oebzip'): ++ for x in ('zip', 'oebzip'): + fmts.add(x) + return fmts + +@@ -60,7 +60,7 @@ class CompositeProgressReporter(object): + (self.global_max - self.global_min) + self.global_reporter(global_frac, msg) + +-ARCHIVE_FMTS = ('zip', 'rar', 'oebzip') ++ARCHIVE_FMTS = ('zip', 'oebzip') + + class Plumber(object): + ''' diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py -index 7b8ecd2..2910280 100644 +index 7b8ecd2..f5c31ac 100644 --- a/src/calibre/ebooks/metadata/archive.py +++ b/src/calibre/ebooks/metadata/archive.py @@ -27,8 +27,6 @@ def archive_type(stream): @@ -124,9 +324,10 @@ index 7b8ecd2..2910280 100644 description = _('Extract common e-book formats from archives ' - '(zip/rar) files. Also try to autodetect if they are actually ' - 'cbz/cbr files.') +- file_types = set(['zip', 'rar']) + 'zip files. Also try to autodetect if they are actually ' + 'cbz files.') - file_types = set(['zip', 'rar']) ++ file_types = set(['zip']) supported_platforms = ['windows', 'osx', 'linux'] on_import = True @@ -178,6 +379,72 @@ index 7b8ecd2..2910280 100644 if comment: import json +diff --git a/src/calibre/ebooks/oeb/iterator/book.py b/src/calibre/ebooks/oeb/iterator/book.py +index 8868e7c..4662f67 100644 +--- a/src/calibre/ebooks/oeb/iterator/book.py ++++ b/src/calibre/ebooks/oeb/iterator/book.py +@@ -127,7 +127,7 @@ class EbookIterator(BookmarksMixin): + self.spine = [] + Spiny = partial(SpineItem, read_anchor_map=read_anchor_map, + run_char_count=run_char_count, from_epub=self.book_format == 'EPUB') +- is_comic = plumber.input_fmt.lower() in {'cbc', 'cbz', 'cbr', 'cb7'} ++ is_comic = plumber.input_fmt.lower() in {'cbc', 'cbz', 'cb7'} + for i in ordered: + spath = i.path + mt = None +diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py +index e419685..ee83d7b 100644 +--- a/src/calibre/gui2/__init__.py ++++ b/src/calibre/gui2/__init__.py +@@ -488,7 +488,6 @@ class FileIconProvider(QFileIconProvider): + 'png' : 'png', + 'bmp' : 'bmp', + 'cbz' : 'cbz', +- 'cbr' : 'cbr', + 'svg' : 'svg', + 'html' : 'html', + 'htmlz' : 'html', +@@ -500,7 +499,6 @@ class FileIconProvider(QFileIconProvider): + 'lrx' : 'lrx', + 'pdf' : 'pdf', + 'pdr' : 'zero', +- 'rar' : 'rar', + 'zip' : 'zip', + 'txt' : 'txt', + 'text' : 'txt', +diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py +index 3e3c48b..a605ff5 100644 +--- a/src/calibre/gui2/actions/add.py ++++ b/src/calibre/gui2/actions/add.py +@@ -38,8 +38,8 @@ def get_filters(): + (_('Text books'), ['txt', 'text', 'rtf']), + (_('PDF Books'), ['pdf', 'azw4']), + (_('SNB Books'), ['snb']), +- (_('Comics'), ['cbz', 'cbr', 'cbc']), +- (_('Archives'), ['zip', 'rar']), ++ (_('Comics'), ['cbz', 'cbc']), ++ (_('Archives'), ['zip']), + (_('Wordprocessor files'), ['odt', 'doc', 'docx']), + ] + +@@ -66,7 +66,7 @@ class AddAction(InterfaceAction): + 'sub directories (Multiple books per directory, assumes every ' + 'ebook file is a different book)')).triggered.connect( + self.add_recursive_multiple) +- arm = self.add_archive_menu = self.add_menu.addMenu(_('Add multiple books from archive (ZIP/RAR)')) ++ arm = self.add_archive_menu = self.add_menu.addMenu(_('Add multiple books from archive (ZIP)')) + self.create_menu_action(arm, 'recursive-single-archive', _( + 'One book per directory in the archive')).triggered.connect(partial(self.add_archive, True)) + self.create_menu_action(arm, 'recursive-multiple-archive', _( +@@ -144,7 +144,7 @@ class AddAction(InterfaceAction): + def add_archive(self, single): + paths = choose_files( + self.gui, 'recursive-archive-add', _('Choose archive file'), +- filters=[(_('Archives'), ('zip', 'rar'))], all_files=False, select_only_single_file=True) ++ filters=[(_('Archives'), ('zip'))], all_files=False, select_only_single_file=True) + if paths: + self.do_add_recursive(paths[0], single) + diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py index d849846..50aa6d9 100644 --- a/src/calibre/gui2/add.py @@ -204,6 +471,32 @@ index d849846..50aa6d9 100644 self.path = tdir = PersistentTemporaryDirectory('_arcv_') else: self.path = root +diff --git a/src/calibre/library/server/opds.py b/src/calibre/library/server/opds.py +index 5e9ca44..f5d230d 100644 +--- a/src/calibre/library/server/opds.py ++++ b/src/calibre/library/server/opds.py +@@ -29,7 +29,7 @@ BASE_HREFS = { + 1 : '/opds', + } + +-STANZA_FORMATS = frozenset(['epub', 'pdb', 'pdf', 'cbr', 'cbz', 'djvu']) ++STANZA_FORMATS = frozenset(['epub', 'pdb', 'pdf', 'cbz', 'djvu']) + + def url_for(name, version, **kwargs): + if not name.endswith('_'): +diff --git a/src/calibre/linux.py b/src/calibre/linux.py +index c746606..d6b2c6c 100644 +--- a/src/calibre/linux.py ++++ b/src/calibre/linux.py +@@ -314,7 +314,7 @@ class ZshCompleter(object): # {{{ + ): + for fmt in fmts: + is_input = group_title == input_group +- if is_input and fmt in {'rar', 'zip', 'oebzip'}: ++ if is_input and fmt in {'zip', 'oebzip'}: + continue + p = (get_parser(input_fmt=fmt) if is_input + else get_parser(output_fmt=fmt)) diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py index fd9a36d..130d08d 100644 --- a/src/calibre/test_build.py @@ -228,3 +521,241 @@ index fd9a36d..130d08d 100644 test_icu() test_woff() test_qt() +diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot +index 1775b71..65cf8c4 100644 +--- a/src/calibre/translations/calibre.pot ++++ b/src/calibre/translations/calibre.pot +@@ -3870,7 +3870,7 @@ msgid "Set book ID" + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:42 +-msgid "Extract common e-book formats from archives (zip/rar) files. Also try to autodetect if they are actually cbz/cbr files." ++msgid "Extract common e-book formats from archives (zip) files. Also try to autodetect if they are actually cbz files." + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:644 +@@ -10866,7 +10866,7 @@ msgid "You can also customise the plugin locations using Preferences -> Custo + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:33 +-msgid "Set defaults for conversion of comics (CBR/CBZ files)" ++msgid "Set defaults for conversion of comics (CBZ files)" + msgstr "" + + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:48 +diff --git a/src/calibre/utils/search_query_parser.py b/src/calibre/utils/search_query_parser.py +index d395057..4804b28 100644 +--- a/src/calibre/utils/search_query_parser.py ++++ b/src/calibre/utils/search_query_parser.py +@@ -445,16 +445,16 @@ class Tester(SearchQueryParser): + u'Tor Books', + u'lrf'], + 8: [u'Stalky and Co.', u'Rudyard Kipling', u'manybooks.net', u'lrf'], +- 9: [u'A Game of Thrones', u'George R. R. Martin', None, u'lrf,rar'], +- 10: [u'A Clash of Kings', u'George R. R. Martin', None, u'lrf,rar'], +- 11: [u'A Storm of Swords', u'George R. R. Martin', None, u'lrf,rar'], ++ 9: [u'A Game of Thrones', u'George R. R. Martin', None, u'lrf'], ++ 10: [u'A Clash of Kings', u'George R. R. Martin', None, u'lrf'], ++ 11: [u'A Storm of Swords', u'George R. R. Martin', None, u'lrf'], + 12: [u'Biggles - Pioneer Air Fighter', u'W. E. Johns', None, u'lrf,rtf'], + 13: [u'Biggles of the Camel Squadron', + u'W. E. Johns', + u'London:Thames, (1977)', + u'lrf,rtf'], +- 14: [u'A Feast for Crows', u'George R. R. Martin', None, u'lrf,rar'], +- 15: [u'Cryptonomicon', u'Neal Stephenson', None, u'lrf,rar'], ++ 14: [u'A Feast for Crows', u'George R. R. Martin', None, u'lrf'], ++ 15: [u'Cryptonomicon', u'Neal Stephenson', None, u'lrf'], + 16: [u'Quicksilver', u'Neal Stephenson', None, u'lrf,zip'], + 17: [u'The Comedies of William Shakespeare', + u'William Shakespeare', +@@ -469,15 +469,15 @@ class Tester(SearchQueryParser): + None, + u'lrf'], + 20: [u'An Ideal Husband', u'Oscar Wilde', u'manybooks.net', u'lrf'], +- 21: [u'Flight of the Nighthawks', u'Raymond E. Feist', None, u'lrf,rar'], +- 22: [u'Into a Dark Realm', u'Raymond E. Feist', None, u'lrf,rar'], +- 23: [u'The Sundering', u'Walter Jon Williams', None, u'lrf,rar'], +- 24: [u'The Praxis', u'Walter Jon Williams', None, u'lrf,rar'], +- 25: [u'Conventions of War', u'Walter Jon Williams', None, u'lrf,rar'], +- 26: [u'Banewreaker', u'Jacqueline Carey', None, u'lrf,rar'], +- 27: [u'Godslayer', u'Jacqueline Carey', None, u'lrf,rar'], +- 28: [u"Kushiel's Scion", u'Jacqueline Carey', None, u'lrf,rar'], +- 29: [u'Underworld', u'Don DeLillo', None, u'lrf,rar'], ++ 21: [u'Flight of the Nighthawks', u'Raymond E. Feist', None, u'lrf'], ++ 22: [u'Into a Dark Realm', u'Raymond E. Feist', None, u'lrf'], ++ 23: [u'The Sundering', u'Walter Jon Williams', None, u'lrf'], ++ 24: [u'The Praxis', u'Walter Jon Williams', None, u'lrf'], ++ 25: [u'Conventions of War', u'Walter Jon Williams', None, u'lrf'], ++ 26: [u'Banewreaker', u'Jacqueline Carey', None, u'lrf'], ++ 27: [u'Godslayer', u'Jacqueline Carey', None, u'lrf'], ++ 28: [u"Kushiel's Scion", u'Jacqueline Carey', None, u'lrf'], ++ 29: [u'Underworld', u'Don DeLillo', None, u'lrf'], + 30: [u'Genghis Khan and The Making of the Modern World', + u'Jack Weatherford Orc', + u'Three Rivers Press', +@@ -488,9 +488,9 @@ class Tester(SearchQueryParser): + u'lrf,zip'], + 32: [u'The Killer Angels', u'Michael Shaara', None, u'html,lrf'], + 33: [u'Band Of Brothers', u'Stephen E Ambrose', None, u'lrf,txt'], +- 34: [u'The Gates of Rome', u'Conn Iggulden', None, u'lrf,rar'], ++ 34: [u'The Gates of Rome', u'Conn Iggulden', None, u'lrf'], + 35: [u'The Death of Kings', u'Conn Iggulden', u'Bantam Dell', u'lit,lrf'], +- 36: [u'The Field of Swords', u'Conn Iggulden', None, u'lrf,rar'], ++ 36: [u'The Field of Swords', u'Conn Iggulden', None, u'lrf'], + 37: [u'Masterman Ready', u'Marryat, Captain Frederick', None, u'lrf'], + 38: [u'With the Lightnings', + u'David Drake', +@@ -503,16 +503,16 @@ class Tester(SearchQueryParser): + 40: [u'The Far Side of The Stars', + u'David Drake', + u'Baen Publishing Enterprises', +- u'lrf,rar'], ++ u'lrf'], + 41: [u'The Way to Glory', + u'David Drake', + u'Baen Publishing Enterprises', +- u'lrf,rar'], +- 42: [u'Some Golden Harbor', u'David Drake', u'Baen Books', u'lrf,rar'], ++ u'lrf'], ++ 42: [u'Some Golden Harbor', u'David Drake', u'Baen Books', u'lrf'], + 43: [u'Harry Potter And The Half-Blood Prince', + u'J. K. Rowling', + None, +- u'lrf,rar'], ++ u'lrf'], + 44: [u'Harry Potter and the Order of the Phoenix', + u'J. K. Rowling', + None, +@@ -521,12 +521,12 @@ class Tester(SearchQueryParser): + 46: [u'The Stars at War II', + u'Steve White', + u'Baen Publishing Enterprises', +- u'lrf,rar'], +- 47: [u'Exodus', u'Steve White,Shirley Meier', u'Baen Books', u'lrf,rar'], ++ u'lrf'], ++ 47: [u'Exodus', u'Steve White,Shirley Meier', u'Baen Books', u'lrf'], + 48: [u'Harry Potter and the Goblet of Fire', + u'J. K. Rowling', + None, +- u'lrf,rar'], ++ u'lrf'], + 49: [u'Harry Potter and the Prisoner of Azkaban', + u'J. K. Rowling', + None, +@@ -539,20 +539,20 @@ class Tester(SearchQueryParser): + u'J.K. Rowling', + None, + u'lit,lrf,pdf'], +- 52: [u"His Majesty's Dragon", u'Naomi Novik', None, u'lrf,rar'], ++ 52: [u"His Majesty's Dragon", u'Naomi Novik', None, u'lrf'], + 53: [u'Throne of Jade', u'Naomi Novik', u'Del Rey', u'lit,lrf'], +- 54: [u'Black Powder War', u'Naomi Novik', u'Del Rey', u'lrf,rar'], ++ 54: [u'Black Powder War', u'Naomi Novik', u'Del Rey', u'lrf'], + 55: [u'War and Peace', u'Leo Tolstoy', u'gutenberg.org', u'lrf,txt'], + 56: [u'Anna Karenina', u'Leo Tolstoy', u'gutenberg.org', u'lrf,txt'], + 57: [u'A Shorter History of Rome', + u'Eugene Lawrence,Sir William Smith', + u'gutenberg.org', + u'lrf,zip'], +- 58: [u'The Name of the Rose', u'Umberto Eco', None, u'lrf,rar'], ++ 58: [u'The Name of the Rose', u'Umberto Eco', None, u'lrf'], + 71: [u"Wind Rider's Oath", u'David Weber', u'Baen', u'lrf'], + 74: [u'Rally Cry', u'William R Forstchen', None, u'htm,lrf'], +- 86: [u'Empire of Ivory', u'Naomi Novik', None, u'lrf,rar'], +- 87: [u"Renegade's Magic", u'Robin Hobb', None, u'lrf,rar'], ++ 86: [u'Empire of Ivory', u'Naomi Novik', None, u'lrf'], ++ 87: [u"Renegade's Magic", u'Robin Hobb', None, u'lrf'], + 89: [u'Master and commander', + u"Patrick O'Brian", + u'Fontana,\n1971', +@@ -560,7 +560,7 @@ class Tester(SearchQueryParser): + 91: [u'A Companion to Wolves', + u'Sarah Monette,Elizabeth Beär', + None, +- u'lrf,rar'], ++ u'lrf'], + 92: [u'The Lions of al-Rassan', u'Guy Gavriel Kay', u'Eos', u'lit,lrf'], + 93: [u'Gardens of the Moon', u'Steven Erikson', u'Tor Fantasy', u'lit,lrf'], + 95: [u'The Master and Margarita', +@@ -584,7 +584,7 @@ class Tester(SearchQueryParser): + 144: [u'Atonement', + u'Ian McEwan', + u'New York : Nan A. Talese/Doubleday, 2002.', +- u'lrf,rar'], ++ u'lrf'], + 146: [u'1632', u'Eric Flint', u'Baen Books', u'lit,lrf'], + 147: [u'1633', u'David Weber,Eric Flint,Dru Blair', u'Baen', u'lit,lrf'], + 148: [u'1634: The Baltic War', +@@ -637,7 +637,7 @@ class Tester(SearchQueryParser): + 253: [u"Hunter's Run", + u'George R. R. Martin,Gardner Dozois,Daniel Abraham', + u'Eos', +- u'lrf,rar'], ++ u'lrf'], + 257: [u'Knife of Dreams', u'Robert Jordan', None, u'lit,lrf'], + 258: [u'Saturday', + u'Ian McEwan', +@@ -657,7 +657,7 @@ class Tester(SearchQueryParser): + u'New York : Random House, 2005.', + u'lit,lrf'], + 269: [u'Reap the Whirlwind', u'David Mack', u'Star Trek', u'lit,lrf'], +- 272: [u'Mistborn', u'Brandon Sanderson', u'Tor Fantasy', u'lrf,rar'], ++ 272: [u'Mistborn', u'Brandon Sanderson', u'Tor Fantasy', u'lrf'], + 273: [u'The Thousandfold Thought', + u'R. Scott Bakker', + u'Overlook TP', +@@ -665,17 +665,17 @@ class Tester(SearchQueryParser): + 276: [u'Elantris', + u'Brandon Sanderson', + u'New York : Tor, 2005.', +- u'lrf,rar'], ++ u'lrf'], + 291: [u'Sundiver', + u'David Brin', + u'New York : Bantam Books, 1995.', + u'lit,lrf'], +- 299: [u'Imperium', u'Robert Harris', u'Arrow', u'lrf,rar'], ++ 299: [u'Imperium', u'Robert Harris', u'Arrow', u'lrf'], + 300: [u'Startide Rising', u'David Brin', u'Bantam', u'htm,lrf'], + 301: [u'The Uplift War', u'David Brin', u'Spectra', u'lit,lrf'], +- 304: [u'Brightness Reef', u'David Brin', u'Orbit', u'lrf,rar'], ++ 304: [u'Brightness Reef', u'David Brin', u'Orbit', u'lrf'], + 305: [u"Infinity's Shore", u'David Brin', u'Spectra', u'txt'], +- 306: [u"Heaven's Reach", u'David Brin', u'Spectra', u'lrf,rar'], ++ 306: [u"Heaven's Reach", u'David Brin', u'Spectra', u'lrf'], + 325: [u"Foundation's Triumph", u'David Brin', u'Easton Press', u'lit,lrf'], + 327: [u'I am Charlotte Simmons', u'Tom Wolfe', u'Vintage', u'htm,lrf'], + 335: [u'The Currents of Space', u'Isaac Asimov', None, u'lit,lrf'], +@@ -705,15 +705,15 @@ class Tester(SearchQueryParser): + u'Aspect', + u'lit,lrf'], + 356: [u'The Naked God', u'Peter F. Hamilton', u'Aspect', u'lit,lrf'], +- 421: [u'A Shadow in Summer', u'Daniel Abraham', u'Tor Fantasy', u'lrf,rar'], ++ 421: [u'A Shadow in Summer', u'Daniel Abraham', u'Tor Fantasy', u'lrf'], + 427: [u'Lonesome Dove', u'Larry M\\cMurtry', None, u'lit,lrf'], + 440: [u'Ghost', u'John Ringo', u'Baen', u'lit,lrf'], + 441: [u'Kildar', u'John Ringo', u'Baen', u'lit,lrf'], +- 443: [u'Hidden Empire ', u'Kevin J. Anderson', u'Aspect', u'lrf,rar'], ++ 443: [u'Hidden Empire ', u'Kevin J. Anderson', u'Aspect', u'lrf'], + 444: [u'The Gun Seller', + u'Hugh Laurie', + u'Washington Square Press', +- u'lrf,rar'] ++ u'lrf'] + } + + tests = { +diff --git a/src/calibre/web/feeds/feedparser.py b/src/calibre/web/feeds/feedparser.py +index 16085cf..420efaa 100755 +--- a/src/calibre/web/feeds/feedparser.py ++++ b/src/calibre/web/feeds/feedparser.py +@@ -2081,7 +2081,7 @@ class _MicroformatsParser: + EMAIL = 5 + + known_xfn_relationships = set(['contact', 'acquaintance', 'friend', 'met', 'co-worker', 'coworker', 'colleague', 'co-resident', 'coresident', 'neighbor', 'child', 'parent', 'sibling', 'brother', 'sister', 'spouse', 'wife', 'husband', 'kin', 'relative', 'muse', 'crush', 'date', 'sweetheart', 'me']) +- known_binary_extensions = set(['zip','rar','exe','gz','tar','tgz','tbz2','bz2','z','7z','dmg','img','sit','sitx','hqx','deb','rpm','bz2','jar','rar','iso','bin','msi','mp2','mp3','ogg','ogm','mp4','m4v','m4a','avi','wma','wmv']) ++ known_binary_extensions = set(['zip','exe','gz','tar','tgz','tbz2','bz2','z','7z','dmg','img','sit','sitx','hqx','deb','rpm','bz2','jar','iso','bin','msi','mp2','mp3','ogg','ogm','mp4','m4v','m4a','avi','wma','wmv']) + + def __init__(self, data, baseuri, encoding): + self.document = BeautifulSoup.BeautifulSoup(data) -- cgit v1.2.3 From 2fa10170fa0c72489eb544d773984c1752ec0609 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 3 May 2014 11:52:34 -0300 Subject: p7zip-libre-9.20.1-9.3: optimized removing source and patching package --- libre/p7zip-libre/9.04-makefile.patch | 19 - libre/p7zip-libre/PKGBUILD | 36 +- libre/p7zip-libre/libre.patch | 170 + libre/p7zip-libre/p7zip-libre.patch | 6540 ---------------------------- libre/p7zip-libre/parent-folder-icon.patch | 33 - 5 files changed, 189 insertions(+), 6609 deletions(-) delete mode 100644 libre/p7zip-libre/9.04-makefile.patch create mode 100644 libre/p7zip-libre/libre.patch delete mode 100644 libre/p7zip-libre/p7zip-libre.patch delete mode 100644 libre/p7zip-libre/parent-folder-icon.patch diff --git a/libre/p7zip-libre/9.04-makefile.patch b/libre/p7zip-libre/9.04-makefile.patch deleted file mode 100644 index 93a99cc90..000000000 --- a/libre/p7zip-libre/9.04-makefile.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- p7zip_9.04/CPP/7zip/Bundles/Format7zFree/makefile.orig 2010-01-04 13:58:54.527887746 +0100 -+++ p7zip_9.04/CPP/7zip/Bundles/Format7zFree/makefile 2010-01-04 13:59:10.290868343 +0100 -@@ -247,8 +247,6 @@ - MyAes.o \ - Pbkdf2HmacSha1.o \ - RandGen.o \ -- Rar20Crypto.o \ -- RarAes.o \ - Sha1.o \ - WzAes.o \ - ZipCrypto.o \ -@@ -298,7 +296,6 @@ - $(HFS_OBJS) \ - $(ISO_OBJS) \ - $(NSIS_OBJS) \ -- $(RAR_OBJS) \ - $(TAR_OBJS) \ - $(UDF_OBJS) \ - $(WIM_OBJS) \ diff --git a/libre/p7zip-libre/PKGBUILD b/libre/p7zip-libre/PKGBUILD index fb803b74c..ef3075c53 100644 --- a/libre/p7zip-libre/PKGBUILD +++ b/libre/p7zip-libre/PKGBUILD @@ -8,7 +8,7 @@ pkgname=p7zip-libre _pkgname=${pkgname%-libre} pkgver=9.20.1 -pkgrel=9.2 +pkgrel=9.3 pkgdesc='Command-line version of the 7zip compressed file archiver, without nonfree unrar support' url='http://p7zip.sourceforge.net/' license=('GPL') @@ -20,34 +20,36 @@ depends=('gcc-libs' 'bash') optdepends=('wxgtk2.8: GUI' 'desktop-file-utils: desktop entries') makedepends=('yasm' 'nasm' 'wxgtk2.8') -mksource=("http://downloads.sourceforge.net/project/${_pkgname}/${_pkgname}/${pkgver}/${_pkgname}_${pkgver}_src_all.tar.bz2" - 'p7zip-libre.patch' 'parent-folder-icon.patch') +mksource=("http://downloads.sourceforge.net/project/${_pkgname}/${_pkgname}/${pkgver}/${_pkgname}_${pkgver}_src_all.tar.bz2") source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}_${pkgver}_src_all.tar.bz2" - '7zFM.desktop') -mksha1sums=('1cd567e043ee054bf08244ce15f32cb3258306b7' - '8fc0e6e80aeec371a8c80e7a6082594ac6d08aed' - '335a4a38d457d2b0166538d514ffd3c183bbb37f') -sha1sums=('ef3f668f5d75941f7a3ba7873e4b234b9f97445b' - 'f2c370d6f1b286b7ce9a2804e22541b755616a40') + '7zFM.desktop' 'libre.patch') +mksha1sums=('1cd567e043ee054bf08244ce15f32cb3258306b7') +sha1sums=('4e5ba097a90f3e00ad072023030c87f0707733b8' + 'f2c370d6f1b286b7ce9a2804e22541b755616a40' + 'bd929fdcbc05dcc783f7fa7d156ed15d38b0b4b3') options=('!makeflags') install=install mksource() { cd "${srcdir}/${_pkgname}_${pkgver}" - msg "Removing unRar" - # Generate patch - # sed -e '/Rar/d' -i makefile* - # find -name '*Rar*' -print0 | xargs -0 rm -rvf - # Remove Rar mentions in CPP/7zip/Bundles/Format7zFree/makefile - patch -Np1 -i ../p7zip-libre.patch - msg 'Replacing the parent folder icon' + + # Remove nonfree unRAR utility files from the source + rm -rv CPP/7zip/{Archive,Compress}/Rar + rm -v CPP/7zip/Compress/{Rar{2,3}Decoder.{cpp,h},Rar3Vm.{cpp,h},RarCodecsRegister.cpp} + rm -v CPP/7zip/Crypto/{Rar20Crypto,RarAes}.{cpp,h} + rm -v DOCS/unRarLicense.txt + + # Remove nonfree parent folder icon rm CPP/7zip/UI/FileManager/res/ParentFolder.h - patch -Np1 -i ../parent-folder-icon.patch } prepare() { cd "${srcdir}/${_pkgname}_${pkgver}" + + # remove rar and parent folder icon references + patch -Np1 -i ../libre.patch + rm GUI/kde4/p7zip_compress.desktop [[ $CARCH = x86_64 ]] \ && cp makefile.linux_amd64_asm makefile.machine \ diff --git a/libre/p7zip-libre/libre.patch b/libre/p7zip-libre/libre.patch new file mode 100644 index 000000000..86b2caebc --- /dev/null +++ b/libre/p7zip-libre/libre.patch @@ -0,0 +1,170 @@ +diff -Nur p7zip_9.20.1.orig/CPP/7zip/Bundles/Format7zFree/makefile p7zip_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile +--- p7zip_9.20.1.orig/CPP/7zip/Bundles/Format7zFree/makefile 2010-11-07 13:41:43.000000000 -0200 ++++ p7zip_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile 2014-05-03 11:19:47.618563272 -0300 +@@ -158,14 +158,6 @@ + NsisIn.o \ + NsisRegister.o \ + +-RAR_OBJS = \ +- RarHandler.o \ +- RarHeader.o \ +- RarIn.o \ +- RarItem.o \ +- RarVolumeInStream.o \ +- RarRegister.o \ +- + TAR_OBJS = \ + TarHandler.o \ + TarHandlerOut.o \ +@@ -243,13 +235,6 @@ + ZlibEncoder.o \ + ZDecoder.o \ + +-COMPRESS_OBJS_NON_FREE = \ +- Rar1Decoder.o \ +- Rar2Decoder.o \ +- Rar3Decoder.o \ +- Rar3Vm.o \ +- RarCodecsRegister.o \ +- + CRYPTO_OBJS = \ + 7zAes.o \ + 7zAesRegister.o \ +@@ -257,8 +242,6 @@ + MyAes.o \ + Pbkdf2HmacSha1.o \ + RandGen.o \ +- Rar20Crypto.o \ +- RarAes.o \ + Sha1.o \ + WzAes.o \ + ZipCrypto.o \ +diff -Nur p7zip_9.20.1.orig/CPP/7zip/UI/FileManager/FM_rc.cpp p7zip_9.20.1/CPP/7zip/UI/FileManager/FM_rc.cpp +--- p7zip_9.20.1.orig/CPP/7zip/UI/FileManager/FM_rc.cpp 2010-11-07 13:55:36.000000000 -0200 ++++ p7zip_9.20.1/CPP/7zip/UI/FileManager/FM_rc.cpp 2014-05-03 11:28:17.542065931 -0300 +@@ -774,8 +774,6 @@ + + ///////////////////////////////////////////////////// + +-#include "res/ParentFolder.h" +- + SevenZipPanel::SevenZipPanel(MyFrame *frame, wxWindow *parent,int id,int panelIndex) : + wxPanel(parent,id) , m_frame(frame), _wList(0) + { +@@ -793,7 +791,7 @@ + int sizes[] = {150, 250, 350, -1}; + wxArrayString pathArray; + wxBoxSizer *pPathSizer = new wxBoxSizer(wxHORIZONTAL); +- m_pBmpButtonParentFolder = new wxBitmapButton(this, kParentFolderID, wxGetBitmapFromMemory(PARENT_FOLDER), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW); ++ m_pBmpButtonParentFolder = new wxBitmapButton(this, kParentFolderID, wxArtProvider::GetBitmap(wxART_GO_DIR_UP, wxART_TOOLBAR, wxDefaultSize), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW); + m_pComboBoxPath = new wxComboBox(this, _comboBoxID, wxEmptyString, wxDefaultPosition, wxSize(300,-1), pathArray, wxCB_DROPDOWN | wxCB_SORT ); + pPathSizer->Add(m_pBmpButtonParentFolder, 0, wxALL|wxEXPAND, 0); + pPathSizer->Add(m_pComboBoxPath, 1, wxALL|wxEXPAND, 5); +diff -Nur p7zip_9.20.1.orig/CPP/7zip/UI/FileManager/makefile.depend p7zip_9.20.1/CPP/7zip/UI/FileManager/makefile.depend +--- p7zip_9.20.1.orig/CPP/7zip/UI/FileManager/makefile.depend 2011-02-19 07:33:17.000000000 -0200 ++++ p7zip_9.20.1/CPP/7zip/UI/FileManager/makefile.depend 2014-05-03 11:28:17.545399286 -0300 +@@ -714,7 +714,7 @@ + res/Move2PNG.h res/DeletePNG.h res/Delete2PNG.h res/InfoPNG.h \ + res/Info2PNG.h LangUtils.h ../../../Common/Lang.h \ + ../../../Common/MyString.h ../../../Windows/ResourceString.h \ +- /usr/include/wx-2.8/wx/mstream.h res/ParentFolder.h ++ /usr/include/wx-2.8/wx/mstream.h + OpenCallback.o: OpenCallback.cpp ../../../myWindows/StdAfx.h \ + ../../../myWindows/config.h ../../../Common/MyWindows.h \ + ../../../Common/MyGuidDef.h ../../../Common/Types.h \ +diff -Nur p7zip_9.20.1.orig/makefile p7zip_9.20.1/makefile +--- p7zip_9.20.1.orig/makefile 2011-03-13 08:52:45.000000000 -0300 ++++ p7zip_9.20.1/makefile 2014-05-03 11:19:47.618563272 -0300 +@@ -56,7 +56,6 @@ + $(MAKE) -C CPP/7zip/UI/Client7z depend + $(MAKE) -C CPP/7zip/UI/Console depend + $(MAKE) -C CPP/7zip/Bundles/Format7zFree depend +- $(MAKE) -C CPP/7zip/Compress/Rar depend + $(MAKE) -C CPP/7zip/UI/GUI depend + $(MAKE) -C CPP/7zip/UI/FileManager depend + $(MAKE) -C check/my_86_filter depend +@@ -68,7 +67,6 @@ + common7z:common + $(MKDIR) bin/Codecs + $(MAKE) -C CPP/7zip/Bundles/Format7zFree all +- $(MAKE) -C CPP/7zip/Compress/Rar all + + 7z: common7z + $(MAKE) -C CPP/7zip/UI/Console all +@@ -93,7 +91,6 @@ + $(MAKE) -C CPP/7zip/UI/FileManager clean + $(MAKE) -C CPP/7zip/UI/GUI clean + $(MAKE) -C CPP/7zip/Bundles/Format7zFree clean +- $(MAKE) -C CPP/7zip/Compress/Rar clean + $(MAKE) -C CPP/7zip/Compress/LZMA_Alone clean + $(MAKE) -C CPP/7zip/Bundles/AloneGCOV clean + $(MAKE) -C CPP/7zip/TEST/TestUI clean +diff -Nur p7zip_9.20.1.orig/makefile.oldmake p7zip_9.20.1/makefile.oldmake +--- p7zip_9.20.1.orig/makefile.oldmake 2011-03-13 08:53:08.000000000 -0300 ++++ p7zip_9.20.1/makefile.oldmake 2014-05-03 11:19:47.618563272 -0300 +@@ -56,7 +56,6 @@ + cd CPP/7zip/UI/Client7z ; $(MAKE) depend + cd CPP/7zip/UI/Console ; $(MAKE) depend + cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) depend +- cd CPP/7zip/Compress/Rar ; $(MAKE) depend + cd CPP/7zip/UI/GUI ; $(MAKE) depend + cd CPP/7zip/UI/FileManager ; $(MAKE) depend + cd check/my_86_filter ; $(MAKE) depend +@@ -68,7 +67,6 @@ + common7z:common + $(MKDIR) bin/Codecs + cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) all +- cd CPP/7zip/Compress/Rar ; $(MAKE) all + + 7z: common7z + cd CPP/7zip/UI/Console ; $(MAKE) all +@@ -93,7 +91,6 @@ + cd CPP/7zip/UI/FileManager ; $(MAKE) clean + cd CPP/7zip/UI/GUI ; $(MAKE) clean + cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) clean +- cd CPP/7zip/Compress/Rar ; $(MAKE) clean + cd CPP/7zip/Compress/LZMA_Alone ; $(MAKE) clean + cd CPP/7zip/Bundles/AloneGCOV ; $(MAKE) clean + cd CPP/7zip/TEST/TestUI ; $(MAKE) clean +diff -Nur p7zip_9.20.1.orig/makefile.qnx_shared.so p7zip_9.20.1/makefile.qnx_shared.so +--- p7zip_9.20.1.orig/makefile.qnx_shared.so 2007-06-28 04:34:14.000000000 -0300 ++++ p7zip_9.20.1/makefile.qnx_shared.so 2014-05-03 11:19:47.618563272 -0300 +@@ -1,5 +1,4 @@ + ################################################### +-# makefile.machine for "7z.so , Codecs/Rar29.so" : + # tested with p7zip-4.47_beta on qnx-6.3.0 sp3 x86 target + + OPTFLAGS=-O +diff -Nur p7zip_9.20.1.orig/makefile.rules p7zip_9.20.1/makefile.rules +--- p7zip_9.20.1.orig/makefile.rules 2010-11-07 14:08:51.000000000 -0200 ++++ p7zip_9.20.1/makefile.rules 2014-05-03 11:19:47.621896630 -0300 +@@ -448,18 +448,6 @@ + NsisRegister.o : ../../Archive/Nsis/NsisRegister.cpp + $(CXX) $(CXXFLAGS) ../../Archive/Nsis/NsisRegister.cpp + +-RarHandler.o : ../../Archive/Rar/RarHandler.cpp +- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarHandler.cpp +-RarHeader.o : ../../Archive/Rar/RarHeader.cpp +- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarHeader.cpp +-RarIn.o : ../../Archive/Rar/RarIn.cpp +- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarIn.cpp +-RarItem.o : ../../Archive/Rar/RarItem.cpp +- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarItem.cpp +-RarVolumeInStream.o : ../../Archive/Rar/RarVolumeInStream.cpp +- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarVolumeInStream.cpp +-RarRegister.o : ../../Archive/Rar/RarRegister.cpp +- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarRegister.cpp + + UdfHandler.o : ../../Archive/Udf/UdfHandler.cpp + $(CXX) $(CXXFLAGS) ../../Archive/Udf/UdfHandler.cpp +@@ -535,10 +523,6 @@ + $(CXX) $(CXXFLAGS) ../../Crypto/7zAesRegister.cpp + WzAes.o : ../../Crypto/WzAes.cpp + $(CXX) $(CXXFLAGS) ../../Crypto/WzAes.cpp +-Rar20Crypto.o : ../../Crypto/Rar20Crypto.cpp +- $(CXX) $(CXXFLAGS) ../../Crypto/Rar20Crypto.cpp +-RarAes.o : ../../Crypto/RarAes.cpp +- $(CXX) $(CXXFLAGS) ../../Crypto/RarAes.cpp + HmacSha1.o : ../../Crypto/HmacSha1.cpp + $(CXX) $(CXXFLAGS) ../../Crypto/HmacSha1.cpp + Pbkdf2HmacSha1.o : ../../Crypto/Pbkdf2HmacSha1.cpp diff --git a/libre/p7zip-libre/p7zip-libre.patch b/libre/p7zip-libre/p7zip-libre.patch deleted file mode 100644 index 742faf52d..000000000 --- a/libre/p7zip-libre/p7zip-libre.patch +++ /dev/null @@ -1,6540 +0,0 @@ -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp 2011-01-08 06:41:37.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,869 +0,0 @@ --// RarHandler.cpp -- --#include "StdAfx.h" -- --#include "Common/ComTry.h" --#include "Common/IntToString.h" --#include "Common/StringConvert.h" -- --#include "Windows/PropVariant.h" --#include "Windows/PropVariantUtils.h" --#include "Windows/Time.h" -- --#include "../../IPassword.h" -- --#include "../../Common/CreateCoder.h" --#include "../../Common/FilterCoder.h" --#include "../../Common/MethodId.h" --#include "../../Common/ProgressUtils.h" -- --#include "../../Compress/CopyCoder.h" -- --#include "../../Crypto/Rar20Crypto.h" --#include "../../Crypto/RarAes.h" -- --#include "../Common/ItemNameUtils.h" --#include "../Common/OutStreamWithCRC.h" -- --#include "RarHandler.h" -- --using namespace NWindows; --using namespace NTime; -- --namespace NArchive { --namespace NRar { -- --static const wchar_t *kHostOS[] = --{ -- L"MS DOS", -- L"OS/2", -- L"Win32", -- L"Unix", -- L"Mac OS", -- L"BeOS" --}; -- --static const int kNumHostOSes = sizeof(kHostOS) / sizeof(kHostOS[0]); -- --static const wchar_t *kUnknownOS = L"Unknown"; -- --static const CUInt32PCharPair k_Flags[] = --{ -- { 0, "Volume" }, -- { 1, "Comment" }, -- { 2, "Lock" }, -- { 3, "Solid" }, -- { 4, "NewVolName" }, // pack_comment in old versuons -- { 5, "Authenticity" }, -- { 6, "Recovery" }, -- { 7, "BlockEncryption" }, -- { 8, "FirstVolume" }, -- { 9, "EncryptVer" } --}; -- --static const STATPROPSTG kProps[] = --{ -- { NULL, kpidPath, VT_BSTR}, -- { NULL, kpidIsDir, VT_BOOL}, -- { NULL, kpidSize, VT_UI8}, -- { NULL, kpidPackSize, VT_UI8}, -- { NULL, kpidMTime, VT_FILETIME}, -- { NULL, kpidCTime, VT_FILETIME}, -- { NULL, kpidATime, VT_FILETIME}, -- { NULL, kpidAttrib, VT_UI4}, -- -- { NULL, kpidEncrypted, VT_BOOL}, -- { NULL, kpidSolid, VT_BOOL}, -- { NULL, kpidCommented, VT_BOOL}, -- { NULL, kpidSplitBefore, VT_BOOL}, -- { NULL, kpidSplitAfter, VT_BOOL}, -- { NULL, kpidCRC, VT_UI4}, -- { NULL, kpidHostOS, VT_BSTR}, -- { NULL, kpidMethod, VT_BSTR}, -- { NULL, kpidUnpackVer, VT_UI1} --}; -- --static const STATPROPSTG kArcProps[] = --{ -- { NULL, kpidCharacts, VT_BSTR}, -- { NULL, kpidSolid, VT_BOOL}, -- { NULL, kpidNumBlocks, VT_UI4}, -- // { NULL, kpidEncrypted, VT_BOOL}, -- { NULL, kpidIsVolume, VT_BOOL}, -- { NULL, kpidNumVolumes, VT_UI4}, -- { NULL, kpidPhySize, VT_UI8} -- // { NULL, kpidCommented, VT_BOOL} --}; -- --IMP_IInArchive_Props --IMP_IInArchive_ArcProps -- --UInt64 CHandler::GetPackSize(int refIndex) const --{ -- const CRefItem &refItem = _refItems[refIndex]; -- UInt64 totalPackSize = 0; -- for (int i = 0; i < refItem.NumItems; i++) -- totalPackSize += _items[refItem.ItemIndex + i].PackSize; -- return totalPackSize; --} -- --STDMETHODIMP CHandler::GetArchiveProperty(PROPID propID, PROPVARIANT *value) --{ -- COM_TRY_BEGIN -- NWindows::NCOM::CPropVariant prop; -- switch(propID) -- { -- case kpidSolid: prop = _archiveInfo.IsSolid(); break; -- case kpidCharacts: FLAGS_TO_PROP(k_Flags, _archiveInfo.Flags, prop); break; -- // case kpidEncrypted: prop = _archiveInfo.IsEncrypted(); break; // it's for encrypted names. -- case kpidIsVolume: prop = _archiveInfo.IsVolume(); break; -- case kpidNumVolumes: prop = (UInt32)_archives.Size(); break; -- case kpidOffset: if (_archiveInfo.StartPosition != 0) prop = _archiveInfo.StartPosition; break; -- // case kpidCommented: prop = _archiveInfo.IsCommented(); break; -- case kpidNumBlocks: -- { -- UInt32 numBlocks = 0; -- for (int i = 0; i < _refItems.Size(); i++) -- if (!IsSolid(i)) -- numBlocks++; -- prop = (UInt32)numBlocks; -- break; -- } -- case kpidError: if (!_errorMessage.IsEmpty()) prop = _errorMessage; break; -- } -- prop.Detach(value); -- return S_OK; -- COM_TRY_END --} -- --STDMETHODIMP CHandler::GetNumberOfItems(UInt32 *numItems) --{ -- *numItems = _refItems.Size(); -- return S_OK; --} -- --static bool RarTimeToFileTime(const CRarTime &rarTime, FILETIME &result) --{ -- if (!DosTimeToFileTime(rarTime.DosTime, result)) -- return false; -- UInt64 value = (((UInt64)result.dwHighDateTime) << 32) + result.dwLowDateTime; -- value += (UInt64)rarTime.LowSecond * 10000000; -- value += ((UInt64)rarTime.SubTime[2] << 16) + -- ((UInt64)rarTime.SubTime[1] << 8) + -- ((UInt64)rarTime.SubTime[0]); -- result.dwLowDateTime = (DWORD)value; -- result.dwHighDateTime = DWORD(value >> 32); -- return true; --} -- --static void RarTimeToProp(const CRarTime &rarTime, NWindows::NCOM::CPropVariant &prop) --{ -- FILETIME localFileTime, utcFileTime; -- if (RarTimeToFileTime(rarTime, localFileTime)) -- { -- if (!LocalFileTimeToFileTime(&localFileTime, &utcFileTime)) -- utcFileTime.dwHighDateTime = utcFileTime.dwLowDateTime = 0; -- } -- else -- utcFileTime.dwHighDateTime = utcFileTime.dwLowDateTime = 0; -- prop = utcFileTime; --} -- --STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *value) --{ -- COM_TRY_BEGIN -- NWindows::NCOM::CPropVariant prop; -- const CRefItem &refItem = _refItems[index]; -- const CItemEx &item = _items[refItem.ItemIndex]; -- switch(propID) -- { -- case kpidPath: -- { -- UString u; -- if (item.HasUnicodeName() && !item.UnicodeName.IsEmpty()) -- u = item.UnicodeName; -- else -- u = MultiByteToUnicodeString(item.Name, CP_OEMCP); -- prop = (const wchar_t *)NItemName::WinNameToOSName(u); -- break; -- } -- case kpidIsDir: prop = item.IsDir(); break; -- case kpidSize: prop = item.Size; break; -- case kpidPackSize: prop = GetPackSize(index); break; -- case kpidMTime: RarTimeToProp(item.MTime, prop); break; -- case kpidCTime: if (item.CTimeDefined) RarTimeToProp(item.CTime, prop); break; -- case kpidATime: if (item.ATimeDefined) RarTimeToProp(item.ATime, prop); break; -- case kpidAttrib: prop = item.GetWinAttributes(); break; -- case kpidEncrypted: prop = item.IsEncrypted(); break; -- case kpidSolid: prop = IsSolid(index); break; -- case kpidCommented: prop = item.IsCommented(); break; -- case kpidSplitBefore: prop = item.IsSplitBefore(); break; -- case kpidSplitAfter: prop = _items[refItem.ItemIndex + refItem.NumItems - 1].IsSplitAfter(); break; -- case kpidCRC: -- { -- const CItemEx &lastItem = _items[refItem.ItemIndex + refItem.NumItems - 1]; -- prop = ((lastItem.IsSplitAfter()) ? item.FileCRC : lastItem.FileCRC); -- break; -- } -- case kpidUnpackVer: prop = item.UnPackVersion; break; -- case kpidMethod: -- { -- UString method; -- if (item.Method >= Byte('0') && item.Method <= Byte('5')) -- { -- method = L"m"; -- wchar_t temp[32]; -- ConvertUInt64ToString(item.Method - Byte('0'), temp); -- method += temp; -- if (!item.IsDir()) -- { -- method += L":"; -- ConvertUInt64ToString(16 + item.GetDictSize(), temp); -- method += temp; -- } -- } -- else -- { -- wchar_t temp[32]; -- ConvertUInt64ToString(item.Method, temp); -- method += temp; -- } -- prop = method; -- break; -- } -- case kpidHostOS: prop = (item.HostOS < kNumHostOSes) ? (kHostOS[item.HostOS]) : kUnknownOS; break; -- } -- prop.Detach(value); -- return S_OK; -- COM_TRY_END --} -- --class CVolumeName --{ -- bool _first; -- bool _newStyle; -- UString _unchangedPart; -- UString _changedPart; -- UString _afterPart; --public: -- CVolumeName(): _newStyle(true) {}; -- -- bool InitName(const UString &name, bool newStyle) -- { -- _first = true; -- _newStyle = newStyle; -- int dotPos = name.ReverseFind('.'); -- UString basePart = name; -- if (dotPos >= 0) -- { -- UString ext = name.Mid(dotPos + 1); -- if (ext.CompareNoCase(L"rar") == 0) -- { -- _afterPart = name.Mid(dotPos); -- basePart = name.Left(dotPos); -- } -- else if (ext.CompareNoCase(L"exe") == 0) -- { -- _afterPart = L".rar"; -- basePart = name.Left(dotPos); -- } -- else if (!_newStyle) -- { -- if (ext.CompareNoCase(L"000") == 0 || -- ext.CompareNoCase(L"001") == 0 || -- ext.CompareNoCase(L"r00") == 0 || -- ext.CompareNoCase(L"r01") == 0) -- { -- _afterPart.Empty(); -- _first = false; -- _changedPart = ext; -- _unchangedPart = name.Left(dotPos + 1); -- return true; -- } -- } -- } -- -- if (!_newStyle) -- { -- _afterPart.Empty(); -- _unchangedPart = basePart + UString(L"."); -- _changedPart = L"r00"; -- return true; -- } -- -- int numLetters = 1; -- if (basePart.Right(numLetters) == L"1" || basePart.Right(numLetters) == L"0") -- { -- while (numLetters < basePart.Length()) -- { -- if (basePart[basePart.Length() - numLetters - 1] != '0') -- break; -- numLetters++; -- } -- } -- else -- return false; -- _unchangedPart = basePart.Left(basePart.Length() - numLetters); -- _changedPart = basePart.Right(numLetters); -- return true; -- } -- -- UString GetNextName() -- { -- UString newName; -- if (_newStyle || !_first) -- { -- int i; -- int numLetters = _changedPart.Length(); -- for (i = numLetters - 1; i >= 0; i--) -- { -- wchar_t c = _changedPart[i]; -- if (c == L'9') -- { -- c = L'0'; -- newName = c + newName; -- if (i == 0) -- newName = UString(L'1') + newName; -- continue; -- } -- c++; -- newName = UString(c) + newName; -- i--; -- for (; i >= 0; i--) -- newName = _changedPart[i] + newName; -- break; -- } -- _changedPart = newName; -- } -- _first = false; -- return _unchangedPart + _changedPart + _afterPart; -- } --}; -- --HRESULT CHandler::Open2(IInStream *stream, -- const UInt64 *maxCheckStartPosition, -- IArchiveOpenCallback *openCallback) --{ -- { -- CMyComPtr openVolumeCallback; -- CMyComPtr getTextPassword; -- CMyComPtr openArchiveCallbackWrap = openCallback; -- -- CVolumeName seqName; -- -- UInt64 totalBytes = 0; -- UInt64 curBytes = 0; -- -- if (openCallback) -- { -- openArchiveCallbackWrap.QueryInterface(IID_IArchiveOpenVolumeCallback, &openVolumeCallback); -- openArchiveCallbackWrap.QueryInterface(IID_ICryptoGetTextPassword, &getTextPassword); -- } -- -- for (;;) -- { -- CMyComPtr inStream; -- if (!_archives.IsEmpty()) -- { -- if (!openVolumeCallback) -- break; -- -- if (_archives.Size() == 1) -- { -- if (!_archiveInfo.IsVolume()) -- break; -- UString baseName; -- { -- NCOM::CPropVariant prop; -- RINOK(openVolumeCallback->GetProperty(kpidName, &prop)); -- if (prop.vt != VT_BSTR) -- break; -- baseName = prop.bstrVal; -- } -- seqName.InitName(baseName, _archiveInfo.HaveNewVolumeName()); -- } -- -- UString fullName = seqName.GetNextName(); -- HRESULT result = openVolumeCallback->GetStream(fullName, &inStream); -- if (result == S_FALSE) -- break; -- if (result != S_OK) -- return result; -- if (!stream) -- break; -- } -- else -- inStream = stream; -- -- UInt64 endPos = 0; -- RINOK(stream->Seek(0, STREAM_SEEK_END, &endPos)); -- RINOK(stream->Seek(0, STREAM_SEEK_SET, NULL)); -- if (openCallback) -- { -- totalBytes += endPos; -- RINOK(openCallback->SetTotal(NULL, &totalBytes)); -- } -- -- NArchive::NRar::CInArchive archive; -- RINOK(archive.Open(inStream, maxCheckStartPosition)); -- -- if (_archives.IsEmpty()) -- archive.GetArchiveInfo(_archiveInfo); -- -- CItemEx item; -- for (;;) -- { -- if (archive.m_Position > endPos) -- { -- AddErrorMessage("Unexpected end of archive"); -- break; -- } -- bool decryptionError; -- AString errorMessageLoc; -- HRESULT result = archive.GetNextItem(item, getTextPassword, decryptionError, errorMessageLoc); -- if (errorMessageLoc) -- AddErrorMessage(errorMessageLoc); -- if (result == S_FALSE) -- { -- if (decryptionError && _items.IsEmpty()) -- return S_FALSE; -- break; -- } -- RINOK(result); -- if (item.IgnoreItem()) -- continue; -- -- bool needAdd = true; -- if (item.IsSplitBefore()) -- { -- if (!_refItems.IsEmpty()) -- { -- CRefItem &refItem = _refItems.Back(); -- refItem.NumItems++; -- needAdd = false; -- } -- } -- if (needAdd) -- { -- CRefItem refItem; -- refItem.ItemIndex = _items.Size(); -- refItem.NumItems = 1; -- refItem.VolumeIndex = _archives.Size(); -- _refItems.Add(refItem); -- } -- _items.Add(item); -- if (openCallback && _items.Size() % 100 == 0) -- { -- UInt64 numFiles = _items.Size(); -- UInt64 numBytes = curBytes + item.Position; -- RINOK(openCallback->SetCompleted(&numFiles, &numBytes)); -- } -- } -- curBytes += endPos; -- _archives.Add(archive); -- } -- } -- return S_OK; --} -- --STDMETHODIMP CHandler::Open(IInStream *stream, -- const UInt64 *maxCheckStartPosition, -- IArchiveOpenCallback *openCallback) --{ -- COM_TRY_BEGIN -- Close(); -- try -- { -- HRESULT res = Open2(stream, maxCheckStartPosition, openCallback); -- if (res != S_OK) -- Close(); -- return res; -- } -- catch(const CInArchiveException &) { Close(); return S_FALSE; } -- catch(...) { Close(); throw; } -- COM_TRY_END --} -- --STDMETHODIMP CHandler::Close() --{ -- COM_TRY_BEGIN -- _errorMessage.Empty(); -- _refItems.Clear(); -- _items.Clear(); -- _archives.Clear(); -- return S_OK; -- COM_TRY_END --} -- --struct CMethodItem --{ -- Byte RarUnPackVersion; -- CMyComPtr Coder; --}; -- -- --STDMETHODIMP CHandler::Extract(const UInt32 *indices, UInt32 numItems, -- Int32 testMode, IArchiveExtractCallback *extractCallback) --{ -- COM_TRY_BEGIN -- CMyComPtr getTextPassword; -- UInt64 censoredTotalUnPacked = 0, -- // censoredTotalPacked = 0, -- importantTotalUnPacked = 0; -- // importantTotalPacked = 0; -- bool allFilesMode = (numItems == (UInt32)-1); -- if (allFilesMode) -- numItems = _refItems.Size(); -- if (numItems == 0) -- return S_OK; -- int lastIndex = 0; -- CRecordVector importantIndexes; -- CRecordVector extractStatuses; -- -- for (UInt32 t = 0; t < numItems; t++) -- { -- int index = allFilesMode ? t : indices[t]; -- const CRefItem &refItem = _refItems[index]; -- const CItemEx &item = _items[refItem.ItemIndex]; -- censoredTotalUnPacked += item.Size; -- // censoredTotalPacked += item.PackSize; -- int j; -- for (j = lastIndex; j <= index; j++) -- // if (!_items[_refItems[j].ItemIndex].IsSolid()) -- if (!IsSolid(j)) -- lastIndex = j; -- for (j = lastIndex; j <= index; j++) -- { -- const CRefItem &refItem = _refItems[j]; -- const CItemEx &item = _items[refItem.ItemIndex]; -- -- // const CItemEx &item = _items[j]; -- -- importantTotalUnPacked += item.Size; -- // importantTotalPacked += item.PackSize; -- importantIndexes.Add(j); -- extractStatuses.Add(j == index); -- } -- lastIndex = index + 1; -- } -- -- RINOK(extractCallback->SetTotal(importantTotalUnPacked)); -- UInt64 currentImportantTotalUnPacked = 0; -- UInt64 currentImportantTotalPacked = 0; -- UInt64 currentUnPackSize, currentPackSize; -- -- CObjectVector methodItems; -- -- NCompress::CCopyCoder *copyCoderSpec = new NCompress::CCopyCoder; -- CMyComPtr copyCoder = copyCoderSpec; -- -- CFilterCoder *filterStreamSpec = new CFilterCoder; -- CMyComPtr filterStream = filterStreamSpec; -- -- NCrypto::NRar20::CDecoder *rar20CryptoDecoderSpec = NULL; -- CMyComPtr rar20CryptoDecoder; -- NCrypto::NRar29::CDecoder *rar29CryptoDecoderSpec = NULL; -- CMyComPtr rar29CryptoDecoder; -- -- CFolderInStream *folderInStreamSpec = NULL; -- CMyComPtr folderInStream; -- -- CLocalProgress *lps = new CLocalProgress; -- CMyComPtr progress = lps; -- lps->Init(extractCallback, false); -- -- bool solidStart = true; -- for (int i = 0; i < importantIndexes.Size(); i++, -- currentImportantTotalUnPacked += currentUnPackSize, -- currentImportantTotalPacked += currentPackSize) -- { -- lps->InSize = currentImportantTotalPacked; -- lps->OutSize = currentImportantTotalUnPacked; -- RINOK(lps->SetCur()); -- CMyComPtr realOutStream; -- -- Int32 askMode; -- if (extractStatuses[i]) -- askMode = testMode ? -- NExtract::NAskMode::kTest : -- NExtract::NAskMode::kExtract; -- else -- askMode = NExtract::NAskMode::kSkip; -- -- UInt32 index = importantIndexes[i]; -- -- const CRefItem &refItem = _refItems[index]; -- const CItemEx &item = _items[refItem.ItemIndex]; -- -- currentUnPackSize = item.Size; -- -- currentPackSize = GetPackSize(index); -- -- if (item.IgnoreItem()) -- continue; -- -- RINOK(extractCallback->GetStream(index, &realOutStream, askMode)); -- -- if (!IsSolid(index)) -- solidStart = true; -- if (item.IsDir()) -- { -- RINOK(extractCallback->PrepareOperation(askMode)); -- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kOK)); -- continue; -- } -- -- bool mustBeProcessedAnywhere = false; -- if (i < importantIndexes.Size() - 1) -- { -- // const CRefItem &nextRefItem = _refItems[importantIndexes[i + 1]]; -- // const CItemEx &nextItemInfo = _items[nextRefItem.ItemIndex]; -- // mustBeProcessedAnywhere = nextItemInfo.IsSolid(); -- mustBeProcessedAnywhere = IsSolid(importantIndexes[i + 1]); -- } -- -- if (!mustBeProcessedAnywhere && !testMode && !realOutStream) -- continue; -- -- if (!realOutStream && !testMode) -- askMode = NExtract::NAskMode::kSkip; -- -- RINOK(extractCallback->PrepareOperation(askMode)); -- -- COutStreamWithCRC *outStreamSpec = new COutStreamWithCRC; -- CMyComPtr outStream(outStreamSpec); -- outStreamSpec->SetStream(realOutStream); -- outStreamSpec->Init(); -- realOutStream.Release(); -- -- /* -- for (int partIndex = 0; partIndex < 1; partIndex++) -- { -- CMyComPtr inStream; -- -- // item redefinition -- const CItemEx &item = _items[refItem.ItemIndex + partIndex]; -- -- NArchive::NRar::CInArchive &archive = _archives[refItem.VolumeIndex + partIndex]; -- -- inStream.Attach(archive.CreateLimitedStream(item.GetDataPosition(), -- item.PackSize)); -- */ -- if (!folderInStream) -- { -- folderInStreamSpec = new CFolderInStream; -- folderInStream = folderInStreamSpec; -- } -- -- folderInStreamSpec->Init(&_archives, &_items, refItem); -- -- UInt64 packSize = currentPackSize; -- -- // packedPos += item.PackSize; -- // unpackedPos += 0; -- -- CMyComPtr inStream; -- if (item.IsEncrypted()) -- { -- CMyComPtr cryptoSetPassword; -- if (item.UnPackVersion >= 29) -- { -- if (!rar29CryptoDecoder) -- { -- rar29CryptoDecoderSpec = new NCrypto::NRar29::CDecoder; -- rar29CryptoDecoder = rar29CryptoDecoderSpec; -- // RINOK(rar29CryptoDecoder.CoCreateInstance(CLSID_CCryptoRar29Decoder)); -- } -- rar29CryptoDecoderSpec->SetRar350Mode(item.UnPackVersion < 36); -- CMyComPtr cryptoProperties; -- RINOK(rar29CryptoDecoder.QueryInterface(IID_ICompressSetDecoderProperties2, -- &cryptoProperties)); -- RINOK(cryptoProperties->SetDecoderProperties2(item.Salt, item.HasSalt() ? sizeof(item.Salt) : 0)); -- filterStreamSpec->Filter = rar29CryptoDecoder; -- } -- else if (item.UnPackVersion >= 20) -- { -- if (!rar20CryptoDecoder) -- { -- rar20CryptoDecoderSpec = new NCrypto::NRar20::CDecoder; -- rar20CryptoDecoder = rar20CryptoDecoderSpec; -- // RINOK(rar20CryptoDecoder.CoCreateInstance(CLSID_CCryptoRar20Decoder)); -- } -- filterStreamSpec->Filter = rar20CryptoDecoder; -- } -- else -- { -- outStream.Release(); -- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod)); -- continue; -- } -- RINOK(filterStreamSpec->Filter.QueryInterface(IID_ICryptoSetPassword, -- &cryptoSetPassword)); -- -- if (!getTextPassword) -- extractCallback->QueryInterface(IID_ICryptoGetTextPassword, (void **)&getTextPassword); -- if (getTextPassword) -- { -- CMyComBSTR password; -- RINOK(getTextPassword->CryptoGetTextPassword(&password)); -- if (item.UnPackVersion >= 29) -- { -- CByteBuffer buffer; -- UString unicodePassword(password); -- const UInt32 sizeInBytes = unicodePassword.Length() * 2; -- buffer.SetCapacity(sizeInBytes); -- for (int i = 0; i < unicodePassword.Length(); i++) -- { -- wchar_t c = unicodePassword[i]; -- ((Byte *)buffer)[i * 2] = (Byte)c; -- ((Byte *)buffer)[i * 2 + 1] = (Byte)(c >> 8); -- } -- RINOK(cryptoSetPassword->CryptoSetPassword( -- (const Byte *)buffer, sizeInBytes)); -- } -- else -- { -- AString oemPassword = UnicodeStringToMultiByte( -- (const wchar_t *)password, CP_OEMCP); -- RINOK(cryptoSetPassword->CryptoSetPassword( -- (const Byte *)(const char *)oemPassword, oemPassword.Length())); -- } -- } -- else -- { -- RINOK(cryptoSetPassword->CryptoSetPassword(0, 0)); -- } -- filterStreamSpec->SetInStream(folderInStream); -- inStream = filterStream; -- } -- else -- { -- inStream = folderInStream; -- } -- CMyComPtr commonCoder; -- switch(item.Method) -- { -- case '0': -- { -- commonCoder = copyCoder; -- break; -- } -- case '1': -- case '2': -- case '3': -- case '4': -- case '5': -- { -- /* -- if (item.UnPackVersion >= 29) -- { -- outStream.Release(); -- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod)); -- continue; -- } -- */ -- int m; -- for (m = 0; m < methodItems.Size(); m++) -- if (methodItems[m].RarUnPackVersion == item.UnPackVersion) -- break; -- if (m == methodItems.Size()) -- { -- CMethodItem mi; -- mi.RarUnPackVersion = item.UnPackVersion; -- -- mi.Coder.Release(); -- if (item.UnPackVersion <= 30) -- { -- UInt32 methodID = 0x040300; -- if (item.UnPackVersion < 20) -- methodID += 1; -- else if (item.UnPackVersion < 29) -- methodID += 2; -- else -- methodID += 3; -- RINOK(CreateCoder(EXTERNAL_CODECS_VARS methodID, mi.Coder, false)); -- } -- -- if (mi.Coder == 0) -- { -- outStream.Release(); -- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod)); -- continue; -- } -- -- m = methodItems.Add(mi); -- } -- CMyComPtr decoder = methodItems[m].Coder; -- -- CMyComPtr compressSetDecoderProperties; -- RINOK(decoder.QueryInterface(IID_ICompressSetDecoderProperties2, -- &compressSetDecoderProperties)); -- -- Byte isSolid = (Byte)((IsSolid(index) || item.IsSplitBefore()) ? 1: 0); -- if (solidStart) -- { -- isSolid = false; -- solidStart = false; -- } -- -- -- RINOK(compressSetDecoderProperties->SetDecoderProperties2(&isSolid, 1)); -- -- commonCoder = decoder; -- break; -- } -- default: -- outStream.Release(); -- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod)); -- continue; -- } -- HRESULT result = commonCoder->Code(inStream, outStream, &packSize, &item.Size, progress); -- if (item.IsEncrypted()) -- filterStreamSpec->ReleaseInStream(); -- if (result == S_FALSE) -- { -- outStream.Release(); -- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kDataError)); -- continue; -- } -- if (result != S_OK) -- return result; -- -- /* -- if (refItem.NumItems == 1 && -- !item.IsSplitBefore() && !item.IsSplitAfter()) -- */ -- { -- const CItemEx &lastItem = _items[refItem.ItemIndex + refItem.NumItems - 1]; -- bool crcOK = outStreamSpec->GetCRC() == lastItem.FileCRC; -- outStream.Release(); -- RINOK(extractCallback->SetOperationResult(crcOK ? -- NExtract::NOperationResult::kOK: -- NExtract::NOperationResult::kCRCError)); -- } -- /* -- else -- { -- bool crcOK = true; -- for (int partIndex = 0; partIndex < refItem.NumItems; partIndex++) -- { -- const CItemEx &item = _items[refItem.ItemIndex + partIndex]; -- if (item.FileCRC != folderInStreamSpec->CRCs[partIndex]) -- { -- crcOK = false; -- break; -- } -- } -- RINOK(extractCallback->SetOperationResult(crcOK ? -- NExtract::NOperationResult::kOK: -- NExtract::NOperationResult::kCRCError)); -- } -- */ -- } -- return S_OK; -- COM_TRY_END --} -- --IMPL_ISetCompressCodecsInfo -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h 2011-01-08 06:41:27.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,66 +0,0 @@ --// Rar/Handler.h -- --#ifndef __RAR_HANDLER_H --#define __RAR_HANDLER_H -- --#include "../IArchive.h" -- --#include "../../Common/CreateCoder.h" -- --#include "RarIn.h" --#include "RarVolumeInStream.h" -- --namespace NArchive { --namespace NRar { -- --class CHandler: -- public IInArchive, -- PUBLIC_ISetCompressCodecsInfo -- public CMyUnknownImp --{ -- CRecordVector _refItems; -- CObjectVector _items; -- CObjectVector _archives; -- NArchive::NRar::CInArchiveInfo _archiveInfo; -- AString _errorMessage; -- -- DECL_EXTERNAL_CODECS_VARS -- -- UInt64 GetPackSize(int refIndex) const; -- -- bool IsSolid(int refIndex) -- { -- const CItemEx &item = _items[_refItems[refIndex].ItemIndex]; -- if (item.UnPackVersion < 20) -- { -- if (_archiveInfo.IsSolid()) -- return (refIndex > 0); -- return false; -- } -- return item.IsSolid(); -- } -- void AddErrorMessage(const AString &s) -- { -- if (!_errorMessage.IsEmpty()) -- _errorMessage += '\n'; -- _errorMessage += s; -- } -- -- HRESULT Open2(IInStream *stream, -- const UInt64 *maxCheckStartPosition, -- IArchiveOpenCallback *openCallback); -- --public: -- MY_QUERYINTERFACE_BEGIN2(IInArchive) -- QUERY_ENTRY_ISetCompressCodecsInfo -- MY_QUERYINTERFACE_END -- MY_ADDREF_RELEASE -- -- INTERFACE_IInArchive(;) -- -- DECL_ISetCompressCodecsInfo --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp 2008-08-14 06:11:25.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,21 +0,0 @@ --// Archive/Rar/Headers.cpp -- --#include "StdAfx.h" -- --#include "RarHeader.h" -- --namespace NArchive{ --namespace NRar{ --namespace NHeader{ -- --Byte kMarker[kMarkerSize] = {0x52 + 1, 0x61, 0x72, 0x21, 0x1a, 0x07, 0x00}; -- --class CMarkerInitializer --{ --public: -- CMarkerInitializer() { kMarker[0]--; }; --}; -- --static CMarkerInitializer markerInitializer; -- --}}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h 2011-01-08 06:41:27.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,205 +0,0 @@ --// Archive/RarHeader.h -- --#ifndef __ARCHIVE_RAR_HEADER_H --#define __ARCHIVE_RAR_HEADER_H -- --#include "Common/Types.h" -- --namespace NArchive { --namespace NRar { --namespace NHeader { -- --const int kMarkerSize = 7; --extern Byte kMarker[kMarkerSize]; -- --const int kArchiveSolid = 0x1; -- --namespace NBlockType --{ -- enum EBlockType -- { -- kMarker = 0x72, -- kArchiveHeader, -- kFileHeader, -- kCommentHeader, -- kOldAuthenticity, -- kOldSubBlock, -- kRecoveryRecord, -- kAuthenticity, -- kSubBlock, -- kEndOfArchive -- }; --} -- --namespace NArchive --{ -- const UInt16 kVolume = 1; -- const UInt16 kComment = 2; -- const UInt16 kLock = 4; -- const UInt16 kSolid = 8; -- const UInt16 kNewVolName = 0x10; // ('volname.partN.rar') -- const UInt16 kAuthenticity = 0x20; -- const UInt16 kRecovery = 0x40; -- const UInt16 kBlockEncryption = 0x80; -- const UInt16 kFirstVolume = 0x100; // (set only by RAR 3.0 and later) -- const UInt16 kEncryptVer = 0x200; // RAR 3.6 there is EncryptVer Byte in End of MainHeader -- -- const int kHeaderSizeMin = 7; -- -- const int kArchiveHeaderSize = 13; -- -- const int kBlockHeadersAreEncrypted = 0x80; -- --} -- --namespace NFile --{ -- const int kSplitBefore = 1 << 0; -- const int kSplitAfter = 1 << 1; -- const int kEncrypted = 1 << 2; -- const int kComment = 1 << 3; -- const int kSolid = 1 << 4; -- -- const int kDictBitStart = 5; -- const int kNumDictBits = 3; -- const int kDictMask = (1 << kNumDictBits) - 1; -- const int kDictDirectoryValue = 0x7; -- -- const int kSize64Bits = 1 << 8; -- const int kUnicodeName = 1 << 9; -- const int kSalt = 1 << 10; -- const int kOldVersion = 1 << 11; -- const int kExtTime = 1 << 12; -- // const int kExtFlags = 1 << 13; -- // const int kSkipIfUnknown = 1 << 14; -- -- const int kLongBlock = 1 << 15; -- -- /* -- struct CBlock -- { -- // UInt16 HeadCRC; -- // Byte Type; -- // UInt16 Flags; -- // UInt16 HeadSize; -- UInt32 PackSize; -- UInt32 UnPackSize; -- Byte HostOS; -- UInt32 FileCRC; -- UInt32 Time; -- Byte UnPackVersion; -- Byte Method; -- UInt16 NameSize; -- UInt32 Attributes; -- }; -- */ -- -- /* -- struct CBlock32 -- { -- UInt16 HeadCRC; -- Byte Type; -- UInt16 Flags; -- UInt16 HeadSize; -- UInt32 PackSize; -- UInt32 UnPackSize; -- Byte HostOS; -- UInt32 FileCRC; -- UInt32 Time; -- Byte UnPackVersion; -- Byte Method; -- UInt16 NameSize; -- UInt32 Attributes; -- UInt16 GetRealCRC(const void *aName, UInt32 aNameSize, -- bool anExtraDataDefined = false, Byte *anExtraData = 0) const; -- }; -- struct CBlock64 -- { -- UInt16 HeadCRC; -- Byte Type; -- UInt16 Flags; -- UInt16 HeadSize; -- UInt32 PackSizeLow; -- UInt32 UnPackSizeLow; -- Byte HostOS; -- UInt32 FileCRC; -- UInt32 Time; -- Byte UnPackVersion; -- Byte Method; -- UInt16 NameSize; -- UInt32 Attributes; -- UInt32 PackSizeHigh; -- UInt32 UnPackSizeHigh; -- UInt16 GetRealCRC(const void *aName, UInt32 aNameSize) const; -- }; -- */ -- -- const int kLabelFileAttribute = 0x08; -- const int kWinFileDirectoryAttributeMask = 0x10; -- -- enum CHostOS -- { -- kHostMSDOS = 0, -- kHostOS2 = 1, -- kHostWin32 = 2, -- kHostUnix = 3, -- kHostMacOS = 4, -- kHostBeOS = 5 -- }; --} -- --namespace NBlock --{ -- const UInt16 kLongBlock = 1 << 15; -- struct CBlock -- { -- UInt16 CRC; -- Byte Type; -- UInt16 Flags; -- UInt16 HeadSize; -- // UInt32 DataSize; -- }; --} -- --/* --struct CSubBlock --{ -- UInt16 HeadCRC; -- Byte HeadType; -- UInt16 Flags; -- UInt16 HeadSize; -- UInt32 DataSize; -- UInt16 SubType; -- Byte Level; // Reserved : Must be 0 --}; -- --struct CCommentBlock --{ -- UInt16 HeadCRC; -- Byte HeadType; -- UInt16 Flags; -- UInt16 HeadSize; -- UInt16 UnpSize; -- Byte UnpVer; -- Byte Method; -- UInt16 CommCRC; --}; -- -- --struct CProtectHeader --{ -- UInt16 HeadCRC; -- Byte HeadType; -- UInt16 Flags; -- UInt16 HeadSize; -- UInt32 DataSize; -- Byte Version; -- UInt16 RecSectors; -- UInt32 TotalBlocks; -- Byte Mark[8]; --}; --*/ -- --}}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp 2011-01-08 06:41:37.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,478 +0,0 @@ --// Archive/RarIn.cpp -- --#include "StdAfx.h" -- --#include "../../../../C/7zCrc.h" --#include "../../../../C/CpuArch.h" -- --#include "Common/StringConvert.h" --#include "Common/UTFConvert.h" -- --#include "../../Common/LimitedStreams.h" --#include "../../Common/StreamUtils.h" -- --#include "../Common/FindSignature.h" -- --#include "RarIn.h" -- --#define Get16(p) GetUi16(p) --#define Get32(p) GetUi32(p) --#define Get64(p) GetUi64(p) -- --namespace NArchive { --namespace NRar { -- --static const char *k_UnexpectedEnd = "Unexpected end of archive"; --static const char *k_DecryptionError = "Decryption Error"; -- --void CInArchive::ThrowExceptionWithCode( -- CInArchiveException::CCauseType cause) --{ -- throw CInArchiveException(cause); --} -- --HRESULT CInArchive::Open(IInStream *inStream, const UInt64 *searchHeaderSizeLimit) --{ -- try -- { -- Close(); -- HRESULT res = Open2(inStream, searchHeaderSizeLimit); -- if (res == S_OK) -- return res; -- Close(); -- return res; -- } -- catch(...) { Close(); throw; } --} -- --void CInArchive::Close() --{ -- m_Stream.Release(); --} -- --HRESULT CInArchive::ReadBytesSpec(void *data, size_t *resSize) --{ -- if (m_CryptoMode) -- { -- size_t size = *resSize; -- *resSize = 0; -- const Byte *bufData = m_DecryptedDataAligned; -- UInt32 bufSize = m_DecryptedDataSize; -- size_t i; -- for (i = 0; i < size && m_CryptoPos < bufSize; i++) -- ((Byte *)data)[i] = bufData[m_CryptoPos++]; -- *resSize = i; -- return S_OK; -- } -- return ReadStream(m_Stream, data, resSize); --} -- --bool CInArchive::ReadBytesAndTestSize(void *data, UInt32 size) --{ -- size_t processed = size; -- if (ReadBytesSpec(data, &processed) != S_OK) -- return false; -- return processed == size; --} -- --HRESULT CInArchive::Open2(IInStream *stream, const UInt64 *searchHeaderSizeLimit) --{ -- m_CryptoMode = false; -- RINOK(stream->Seek(0, STREAM_SEEK_SET, &m_StreamStartPosition)); -- m_Position = m_StreamStartPosition; -- -- UInt64 arcStartPos; -- RINOK(FindSignatureInStream(stream, NHeader::kMarker, NHeader::kMarkerSize, -- searchHeaderSizeLimit, arcStartPos)); -- m_Position = arcStartPos + NHeader::kMarkerSize; -- RINOK(stream->Seek(m_Position, STREAM_SEEK_SET, NULL)); -- Byte buf[NHeader::NArchive::kArchiveHeaderSize + 1]; -- -- RINOK(ReadStream_FALSE(stream, buf, NHeader::NArchive::kArchiveHeaderSize)); -- AddToSeekValue(NHeader::NArchive::kArchiveHeaderSize); -- -- -- UInt32 blockSize = Get16(buf + 5); -- -- _header.EncryptVersion = 0; -- _header.Flags = Get16(buf + 3); -- -- UInt32 headerSize = NHeader::NArchive::kArchiveHeaderSize; -- if (_header.IsThereEncryptVer()) -- { -- if (blockSize <= headerSize) -- return S_FALSE; -- RINOK(ReadStream_FALSE(stream, buf + NHeader::NArchive::kArchiveHeaderSize, 1)); -- AddToSeekValue(1); -- _header.EncryptVersion = buf[NHeader::NArchive::kArchiveHeaderSize]; -- headerSize += 1; -- } -- if (blockSize < headerSize || -- buf[2] != NHeader::NBlockType::kArchiveHeader || -- (UInt32)Get16(buf) != (CrcCalc(buf + 2, headerSize - 2) & 0xFFFF)) -- return S_FALSE; -- -- size_t commentSize = blockSize - headerSize; -- _comment.SetCapacity(commentSize); -- RINOK(ReadStream_FALSE(stream, _comment, commentSize)); -- AddToSeekValue(commentSize); -- m_Stream = stream; -- _header.StartPosition = arcStartPos; -- return S_OK; --} -- --void CInArchive::GetArchiveInfo(CInArchiveInfo &archiveInfo) const --{ -- archiveInfo = _header; --} -- --static void DecodeUnicodeFileName(const char *name, const Byte *encName, -- int encSize, wchar_t *unicodeName, int maxDecSize) --{ -- int encPos = 0; -- int decPos = 0; -- int flagBits = 0; -- Byte flags = 0; -- Byte highByte = encName[encPos++]; -- while (encPos < encSize && decPos < maxDecSize) -- { -- if (flagBits == 0) -- { -- flags = encName[encPos++]; -- flagBits = 8; -- } -- switch(flags >> 6) -- { -- case 0: -- unicodeName[decPos++] = encName[encPos++]; -- break; -- case 1: -- unicodeName[decPos++] = (wchar_t)(encName[encPos++] + (highByte << 8)); -- break; -- case 2: -- unicodeName[decPos++] = (wchar_t)(encName[encPos] + (encName[encPos + 1] << 8)); -- encPos += 2; -- break; -- case 3: -- { -- int length = encName[encPos++]; -- if (length & 0x80) -- { -- Byte correction = encName[encPos++]; -- for (length = (length & 0x7f) + 2; -- length > 0 && decPos < maxDecSize; length--, decPos++) -- unicodeName[decPos] = (wchar_t)(((name[decPos] + correction) & 0xff) + (highByte << 8)); -- } -- else -- for (length += 2; length > 0 && decPos < maxDecSize; length--, decPos++) -- unicodeName[decPos] = name[decPos]; -- } -- break; -- } -- flags <<= 2; -- flagBits -= 2; -- } -- unicodeName[decPos < maxDecSize ? decPos : maxDecSize - 1] = 0; --} -- --void CInArchive::ReadName(CItemEx &item, int nameSize) --{ -- item.UnicodeName.Empty(); -- if (nameSize > 0) -- { -- m_NameBuffer.EnsureCapacity(nameSize + 1); -- char *buffer = (char *)m_NameBuffer; -- -- for (int i = 0; i < nameSize; i++) -- buffer[i] = ReadByte(); -- -- int mainLen; -- for (mainLen = 0; mainLen < nameSize; mainLen++) -- if (buffer[mainLen] == '\0') -- break; -- buffer[mainLen] = '\0'; -- item.Name = buffer; -- -- if(item.HasUnicodeName()) -- { -- if(mainLen < nameSize) -- { -- int unicodeNameSizeMax = MyMin(nameSize, (0x400)); -- _unicodeNameBuffer.EnsureCapacity(unicodeNameSizeMax + 1); -- DecodeUnicodeFileName(buffer, (const Byte *)buffer + mainLen + 1, -- nameSize - (mainLen + 1), _unicodeNameBuffer, unicodeNameSizeMax); -- item.UnicodeName = _unicodeNameBuffer; -- } -- else if (!ConvertUTF8ToUnicode(item.Name, item.UnicodeName)) -- item.UnicodeName.Empty(); -- } -- } -- else -- item.Name.Empty(); --} -- --Byte CInArchive::ReadByte() --{ -- if (m_CurPos >= m_PosLimit) -- throw CInArchiveException(CInArchiveException::kIncorrectArchive); -- return m_CurData[m_CurPos++]; --} -- --UInt16 CInArchive::ReadUInt16() --{ -- UInt16 value = 0; -- for (int i = 0; i < 2; i++) -- { -- Byte b = ReadByte(); -- value |= (UInt16(b) << (8 * i)); -- } -- return value; --} -- --UInt32 CInArchive::ReadUInt32() --{ -- UInt32 value = 0; -- for (int i = 0; i < 4; i++) -- { -- Byte b = ReadByte(); -- value |= (UInt32(b) << (8 * i)); -- } -- return value; --} -- --void CInArchive::ReadTime(Byte mask, CRarTime &rarTime) --{ -- rarTime.LowSecond = (Byte)(((mask & 4) != 0) ? 1 : 0); -- int numDigits = (mask & 3); -- rarTime.SubTime[0] = rarTime.SubTime[1] = rarTime.SubTime[2] = 0; -- for (int i = 0; i < numDigits; i++) -- rarTime.SubTime[3 - numDigits + i] = ReadByte(); --} -- --void CInArchive::ReadHeaderReal(CItemEx &item) --{ -- item.Flags = m_BlockHeader.Flags; -- item.PackSize = ReadUInt32(); -- item.Size = ReadUInt32(); -- item.HostOS = ReadByte(); -- item.FileCRC = ReadUInt32(); -- item.MTime.DosTime = ReadUInt32(); -- item.UnPackVersion = ReadByte(); -- item.Method = ReadByte(); -- int nameSize = ReadUInt16(); -- item.Attrib = ReadUInt32(); -- -- item.MTime.LowSecond = 0; -- item.MTime.SubTime[0] = -- item.MTime.SubTime[1] = -- item.MTime.SubTime[2] = 0; -- -- if((item.Flags & NHeader::NFile::kSize64Bits) != 0) -- { -- item.PackSize |= ((UInt64)ReadUInt32() << 32); -- item.Size |= ((UInt64)ReadUInt32() << 32); -- } -- -- ReadName(item, nameSize); -- -- if (item.HasSalt()) -- for (int i = 0; i < sizeof(item.Salt); i++) -- item.Salt[i] = ReadByte(); -- -- // some rar archives have HasExtTime flag without field. -- if (m_CurPos < m_PosLimit && item.HasExtTime()) -- { -- Byte accessMask = (Byte)(ReadByte() >> 4); -- Byte b = ReadByte(); -- Byte modifMask = (Byte)(b >> 4); -- Byte createMask = (Byte)(b & 0xF); -- if ((modifMask & 8) != 0) -- ReadTime(modifMask, item.MTime); -- item.CTimeDefined = ((createMask & 8) != 0); -- if (item.CTimeDefined) -- { -- item.CTime.DosTime = ReadUInt32(); -- ReadTime(createMask, item.CTime); -- } -- item.ATimeDefined = ((accessMask & 8) != 0); -- if (item.ATimeDefined) -- { -- item.ATime.DosTime = ReadUInt32(); -- ReadTime(accessMask, item.ATime); -- } -- } -- -- UInt16 fileHeaderWithNameSize = (UInt16)m_CurPos; -- -- item.Position = m_Position; -- item.MainPartSize = fileHeaderWithNameSize; -- item.CommentSize = (UInt16)(m_BlockHeader.HeadSize - fileHeaderWithNameSize); -- -- if (m_CryptoMode) -- item.AlignSize = (UInt16)((16 - ((m_BlockHeader.HeadSize) & 0xF)) & 0xF); -- else -- item.AlignSize = 0; -- AddToSeekValue(m_BlockHeader.HeadSize); --} -- --void CInArchive::AddToSeekValue(UInt64 addValue) --{ -- m_Position += addValue; --} -- --HRESULT CInArchive::GetNextItem(CItemEx &item, ICryptoGetTextPassword *getTextPassword, bool &decryptionError, AString &errorMessage) --{ -- decryptionError = false; -- for (;;) -- { -- SeekInArchive(m_Position); -- if (!m_CryptoMode && (_header.Flags & -- NHeader::NArchive::kBlockHeadersAreEncrypted) != 0) -- { -- m_CryptoMode = false; -- if (getTextPassword == 0) -- return S_FALSE; -- if (!m_RarAES) -- { -- m_RarAESSpec = new NCrypto::NRar29::CDecoder; -- m_RarAES = m_RarAESSpec; -- } -- m_RarAESSpec->SetRar350Mode(_header.IsEncryptOld()); -- -- // Salt -- const UInt32 kSaltSize = 8; -- Byte salt[kSaltSize]; -- if(!ReadBytesAndTestSize(salt, kSaltSize)) -- return S_FALSE; -- m_Position += kSaltSize; -- RINOK(m_RarAESSpec->SetDecoderProperties2(salt, kSaltSize)) -- // Password -- CMyComBSTR password; -- RINOK(getTextPassword->CryptoGetTextPassword(&password)) -- UString unicodePassword(password); -- -- CByteBuffer buffer; -- const UInt32 sizeInBytes = unicodePassword.Length() * 2; -- buffer.SetCapacity(sizeInBytes); -- for (int i = 0; i < unicodePassword.Length(); i++) -- { -- wchar_t c = unicodePassword[i]; -- ((Byte *)buffer)[i * 2] = (Byte)c; -- ((Byte *)buffer)[i * 2 + 1] = (Byte)(c >> 8); -- } -- -- RINOK(m_RarAESSpec->CryptoSetPassword((const Byte *)buffer, sizeInBytes)); -- -- const UInt32 kDecryptedBufferSize = (1 << 12); -- if (m_DecryptedData.GetCapacity() == 0) -- { -- const UInt32 kAlign = 16; -- m_DecryptedData.SetCapacity(kDecryptedBufferSize + kAlign); -- m_DecryptedDataAligned = (Byte *)((ptrdiff_t)((Byte *)m_DecryptedData + kAlign - 1) & ~(ptrdiff_t)(kAlign - 1)); -- } -- RINOK(m_RarAES->Init()); -- size_t decryptedDataSizeT = kDecryptedBufferSize; -- RINOK(ReadStream(m_Stream, m_DecryptedDataAligned, &decryptedDataSizeT)); -- m_DecryptedDataSize = (UInt32)decryptedDataSizeT; -- m_DecryptedDataSize = m_RarAES->Filter(m_DecryptedDataAligned, m_DecryptedDataSize); -- -- m_CryptoMode = true; -- m_CryptoPos = 0; -- } -- -- m_FileHeaderData.EnsureCapacity(7); -- size_t processed = 7; -- RINOK(ReadBytesSpec((Byte *)m_FileHeaderData, &processed)); -- if (processed != 7) -- { -- if (processed != 0) -- errorMessage = k_UnexpectedEnd; -- return S_FALSE; -- } -- -- m_CurData = (Byte *)m_FileHeaderData; -- m_CurPos = 0; -- m_PosLimit = 7; -- m_BlockHeader.CRC = ReadUInt16(); -- m_BlockHeader.Type = ReadByte(); -- m_BlockHeader.Flags = ReadUInt16(); -- m_BlockHeader.HeadSize = ReadUInt16(); -- -- if (m_BlockHeader.HeadSize < 7) -- ThrowExceptionWithCode(CInArchiveException::kIncorrectArchive); -- -- if (m_BlockHeader.Type == NHeader::NBlockType::kEndOfArchive) -- return S_FALSE; -- -- if (m_BlockHeader.Type == NHeader::NBlockType::kFileHeader) -- { -- m_FileHeaderData.EnsureCapacity(m_BlockHeader.HeadSize); -- m_CurData = (Byte *)m_FileHeaderData; -- m_PosLimit = m_BlockHeader.HeadSize; -- if (!ReadBytesAndTestSize(m_CurData + m_CurPos, m_BlockHeader.HeadSize - 7)) -- { -- errorMessage = k_UnexpectedEnd; -- return S_FALSE; -- } -- -- ReadHeaderReal(item); -- if ((CrcCalc(m_CurData + 2, -- m_BlockHeader.HeadSize - item.CommentSize - 2) & 0xFFFF) != m_BlockHeader.CRC) -- ThrowExceptionWithCode(CInArchiveException::kFileHeaderCRCError); -- -- FinishCryptoBlock(); -- m_CryptoMode = false; -- SeekInArchive(m_Position); // Move Position to compressed Data; -- AddToSeekValue(item.PackSize); // m_Position points to next header; -- return S_OK; -- } -- if (m_CryptoMode && m_BlockHeader.HeadSize > (1 << 10)) -- { -- decryptionError = true; -- errorMessage = k_DecryptionError; -- return S_FALSE; -- } -- if ((m_BlockHeader.Flags & NHeader::NBlock::kLongBlock) != 0) -- { -- m_FileHeaderData.EnsureCapacity(7 + 4); -- m_CurData = (Byte *)m_FileHeaderData; -- if (!ReadBytesAndTestSize(m_CurData + m_CurPos, 4)) -- { -- errorMessage = k_UnexpectedEnd; -- return S_FALSE; -- } -- m_PosLimit = 7 + 4; -- UInt32 dataSize = ReadUInt32(); -- AddToSeekValue(dataSize); -- if (m_CryptoMode && dataSize > (1 << 27)) -- { -- decryptionError = true; -- errorMessage = k_DecryptionError; -- return S_FALSE; -- } -- m_CryptoPos = m_BlockHeader.HeadSize; -- } -- else -- m_CryptoPos = 0; -- AddToSeekValue(m_BlockHeader.HeadSize); -- FinishCryptoBlock(); -- m_CryptoMode = false; -- } --} -- --void CInArchive::SeekInArchive(UInt64 position) --{ -- m_Stream->Seek(position, STREAM_SEEK_SET, NULL); --} -- --ISequentialInStream* CInArchive::CreateLimitedStream(UInt64 position, UInt64 size) --{ -- CLimitedSequentialInStream *streamSpec = new CLimitedSequentialInStream; -- CMyComPtr inStream(streamSpec); -- SeekInArchive(position); -- streamSpec->SetStream(m_Stream); -- streamSpec->Init(size); -- return inStream.Detach(); --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.h ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.h 2011-01-08 06:41:27.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,123 +0,0 @@ --// RarIn.h -- --#ifndef __ARCHIVE_RAR_IN_H --#define __ARCHIVE_RAR_IN_H -- --#include "Common/DynamicBuffer.h" --#include "Common/MyCom.h" -- --#include "../../ICoder.h" --#include "../../IStream.h" -- --#include "../../Common/StreamObjects.h" -- --#include "../../Crypto/RarAes.h" -- --#include "RarHeader.h" --#include "RarItem.h" -- --namespace NArchive { --namespace NRar { -- --class CInArchiveException --{ --public: -- enum CCauseType -- { -- kUnexpectedEndOfArchive = 0, -- kArchiveHeaderCRCError, -- kFileHeaderCRCError, -- kIncorrectArchive -- } -- Cause; -- CInArchiveException(CCauseType cause) : Cause(cause) {} --}; -- -- --struct CInArchiveInfo --{ -- UInt32 Flags; -- Byte EncryptVersion; -- UInt64 StartPosition; -- -- bool IsSolid() const { return (Flags & NHeader::NArchive::kSolid) != 0; } -- bool IsCommented() const { return (Flags & NHeader::NArchive::kComment) != 0; } -- bool IsVolume() const { return (Flags & NHeader::NArchive::kVolume) != 0; } -- bool HaveNewVolumeName() const { return (Flags & NHeader::NArchive::kNewVolName) != 0; } -- bool IsEncrypted() const { return (Flags & NHeader::NArchive::kBlockEncryption) != 0; } -- bool IsThereEncryptVer() const { return (Flags & NHeader::NArchive::kEncryptVer) != 0; } -- bool IsEncryptOld() const { return (!IsThereEncryptVer() || EncryptVersion < 36); } --}; -- --class CInArchive --{ -- CMyComPtr m_Stream; -- -- UInt64 m_StreamStartPosition; -- -- CInArchiveInfo _header; -- CDynamicBuffer m_NameBuffer; -- CDynamicBuffer _unicodeNameBuffer; -- -- CByteBuffer _comment; -- -- void ReadName(CItemEx &item, int nameSize); -- void ReadHeaderReal(CItemEx &item); -- -- HRESULT ReadBytesSpec(void *data, size_t *size); -- bool ReadBytesAndTestSize(void *data, UInt32 size); -- -- HRESULT Open2(IInStream *stream, const UInt64 *searchHeaderSizeLimit); -- -- void ThrowExceptionWithCode(CInArchiveException::CCauseType cause); -- void ThrowUnexpectedEndOfArchiveException(); -- -- void AddToSeekValue(UInt64 addValue); -- -- CDynamicBuffer m_FileHeaderData; -- -- NHeader::NBlock::CBlock m_BlockHeader; -- -- NCrypto::NRar29::CDecoder *m_RarAESSpec; -- CMyComPtr m_RarAES; -- -- Byte *m_CurData; // it must point to start of Rar::Block -- UInt32 m_CurPos; -- UInt32 m_PosLimit; -- Byte ReadByte(); -- UInt16 ReadUInt16(); -- UInt32 ReadUInt32(); -- void ReadTime(Byte mask, CRarTime &rarTime); -- -- CBuffer m_DecryptedData; -- Byte *m_DecryptedDataAligned; -- UInt32 m_DecryptedDataSize; -- -- bool m_CryptoMode; -- UInt32 m_CryptoPos; -- void FinishCryptoBlock() -- { -- if (m_CryptoMode) -- while ((m_CryptoPos & 0xF) != 0) -- { -- m_CryptoPos++; -- m_Position++; -- } -- } -- --public: -- UInt64 m_Position; -- -- HRESULT Open(IInStream *inStream, const UInt64 *searchHeaderSizeLimit); -- void Close(); -- HRESULT GetNextItem(CItemEx &item, ICryptoGetTextPassword *getTextPassword, bool &decryptionError, AString &errorMessage); -- -- void GetArchiveInfo(CInArchiveInfo &archiveInfo) const; -- -- void SeekInArchive(UInt64 position); -- ISequentialInStream *CreateLimitedStream(UInt64 position, UInt64 size); --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp 2008-08-14 06:11:25.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,55 +0,0 @@ --// RarItem.cpp -- --#include "StdAfx.h" -- --#include "RarItem.h" -- --namespace NArchive{ --namespace NRar{ -- --bool CItem::IgnoreItem() const --{ -- switch(HostOS) -- { -- case NHeader::NFile::kHostMSDOS: -- case NHeader::NFile::kHostOS2: -- case NHeader::NFile::kHostWin32: -- return ((Attrib & NHeader::NFile::kLabelFileAttribute) != 0); -- } -- return false; --} -- --bool CItem::IsDir() const --{ -- if (GetDictSize() == NHeader::NFile::kDictDirectoryValue) -- return true; -- switch(HostOS) -- { -- case NHeader::NFile::kHostMSDOS: -- case NHeader::NFile::kHostOS2: -- case NHeader::NFile::kHostWin32: -- if ((Attrib & FILE_ATTRIBUTE_DIRECTORY) != 0) -- return true; -- } -- return false; --} -- --UInt32 CItem::GetWinAttributes() const --{ -- UInt32 winAttributes; -- switch(HostOS) -- { -- case NHeader::NFile::kHostMSDOS: -- case NHeader::NFile::kHostOS2: -- case NHeader::NFile::kHostWin32: -- winAttributes = Attrib; -- break; -- default: -- winAttributes = 0; // must be converted from unix value; -- } -- if (IsDir()) -- winAttributes |= NHeader::NFile::kWinFileDirectoryAttributeMask; -- return winAttributes; --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.h ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.h 2008-08-14 06:11:12.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,79 +0,0 @@ --// RarItem.h -- --#ifndef __ARCHIVE_RAR_ITEM_H --#define __ARCHIVE_RAR_ITEM_H -- --#include "Common/Types.h" --#include "Common/MyString.h" -- --#include "RarHeader.h" -- --namespace NArchive{ --namespace NRar{ -- --struct CRarTime --{ -- UInt32 DosTime; -- Byte LowSecond; -- Byte SubTime[3]; --}; -- --struct CItem --{ -- UInt64 Size; -- UInt64 PackSize; -- -- CRarTime CTime; -- CRarTime ATime; -- CRarTime MTime; -- -- UInt32 FileCRC; -- UInt32 Attrib; -- -- UInt16 Flags; -- Byte HostOS; -- Byte UnPackVersion; -- Byte Method; -- -- bool CTimeDefined; -- bool ATimeDefined; -- -- AString Name; -- UString UnicodeName; -- -- Byte Salt[8]; -- -- bool IsEncrypted() const { return (Flags & NHeader::NFile::kEncrypted) != 0; } -- bool IsSolid() const { return (Flags & NHeader::NFile::kSolid) != 0; } -- bool IsCommented() const { return (Flags & NHeader::NFile::kComment) != 0; } -- bool IsSplitBefore() const { return (Flags & NHeader::NFile::kSplitBefore) != 0; } -- bool IsSplitAfter() const { return (Flags & NHeader::NFile::kSplitAfter) != 0; } -- bool HasSalt() const { return (Flags & NHeader::NFile::kSalt) != 0; } -- bool HasExtTime() const { return (Flags & NHeader::NFile::kExtTime) != 0; } -- bool HasUnicodeName()const { return (Flags & NHeader::NFile::kUnicodeName) != 0; } -- bool IsOldVersion() const { return (Flags & NHeader::NFile::kOldVersion) != 0; } -- -- UInt32 GetDictSize() const { return (Flags >> NHeader::NFile::kDictBitStart) & NHeader::NFile::kDictMask; } -- bool IsDir() const; -- bool IgnoreItem() const; -- UInt32 GetWinAttributes() const; -- -- CItem(): CTimeDefined(false), ATimeDefined(false) {} --}; -- --class CItemEx: public CItem --{ --public: -- UInt64 Position; -- UInt16 MainPartSize; -- UInt16 CommentSize; -- UInt16 AlignSize; -- UInt64 GetFullSize() const { return MainPartSize + CommentSize + AlignSize + PackSize; }; -- // DWORD GetHeaderWithCommentSize() const { return MainPartSize + CommentSize; }; -- UInt64 GetCommentPosition() const { return Position + MainPartSize; }; -- UInt64 GetDataPosition() const { return GetCommentPosition() + CommentSize + AlignSize; }; --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp 2009-12-21 08:46:32.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,13 +0,0 @@ --// RarRegister.cpp -- --#include "StdAfx.h" -- --#include "../../Common/RegisterArc.h" -- --#include "RarHandler.h" --static IInArchive *CreateArc() { return new NArchive::NRar::CHandler; } -- --static CArcInfo g_ArcInfo = -- { L"Rar", L"rar r00", 0, 3, {0x52 , 0x61, 0x72, 0x21, 0x1a, 0x07, 0x00}, 7, false, CreateArc, 0, }; -- --REGISTER_ARC(Rar) -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp 2009-05-30 17:19:19.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,78 +0,0 @@ --// RarVolumeInStream.cpp -- --#include "StdAfx.h" -- --#include "../../../../C/7zCrc.h" -- --#include "RarVolumeInStream.h" -- --namespace NArchive { --namespace NRar { -- --void CFolderInStream::Init( -- CObjectVector *archives, -- const CObjectVector *items, -- const CRefItem &refItem) --{ -- _archives = archives; -- _items = items; -- _refItem = refItem; -- _curIndex = 0; -- CRCs.Clear(); -- _fileIsOpen = false; --} -- --HRESULT CFolderInStream::OpenStream() --{ -- while (_curIndex < _refItem.NumItems) -- { -- const CItemEx &item = (*_items)[_refItem.ItemIndex + _curIndex]; -- _stream.Attach((*_archives)[_refItem.VolumeIndex + _curIndex]. -- CreateLimitedStream(item.GetDataPosition(), item.PackSize)); -- _curIndex++; -- _fileIsOpen = true; -- _crc = CRC_INIT_VAL; -- return S_OK; -- } -- return S_OK; --} -- --HRESULT CFolderInStream::CloseStream() --{ -- CRCs.Add(CRC_GET_DIGEST(_crc)); -- _stream.Release(); -- _fileIsOpen = false; -- return S_OK; --} -- --STDMETHODIMP CFolderInStream::Read(void *data, UInt32 size, UInt32 *processedSize) --{ -- UInt32 realProcessedSize = 0; -- while ((_curIndex < _refItem.NumItems || _fileIsOpen) && size > 0) -- { -- if (_fileIsOpen) -- { -- UInt32 localProcessedSize; -- RINOK(_stream->Read( -- ((Byte *)data) + realProcessedSize, size, &localProcessedSize)); -- _crc = CrcUpdate(_crc, ((Byte *)data) + realProcessedSize, localProcessedSize); -- if (localProcessedSize == 0) -- { -- RINOK(CloseStream()); -- continue; -- } -- realProcessedSize += localProcessedSize; -- size -= localProcessedSize; -- break; -- } -- else -- { -- RINOK(OpenStream()); -- } -- } -- if (processedSize != 0) -- *processedSize = realProcessedSize; -- return S_OK; --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h ---- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h 2008-08-14 06:11:12.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,49 +0,0 @@ --// RarVolumeInStream.h -- --#ifndef __RAR_VOLUME_IN_STREAM_H --#define __RAR_VOLUME_IN_STREAM_H -- --#include "../../IStream.h" --#include "RarIn.h" -- --namespace NArchive { --namespace NRar { -- --struct CRefItem --{ -- int VolumeIndex; -- int ItemIndex; -- int NumItems; --}; -- --class CFolderInStream: -- public ISequentialInStream, -- public CMyUnknownImp --{ --public: -- MY_UNKNOWN_IMP -- -- STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize); -- --private: -- CObjectVector *_archives; -- const CObjectVector *_items; -- CRefItem _refItem; -- int _curIndex; -- UInt32 _crc; -- bool _fileIsOpen; -- CMyComPtr _stream; -- -- HRESULT OpenStream(); -- HRESULT CloseStream(); --public: -- void Init(CObjectVector *archives, -- const CObjectVector *items, -- const CRefItem &refItem); -- -- CRecordVector CRCs; --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile p7zip-libre_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile ---- p7zip_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile 2010-11-07 12:41:43.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile 2011-09-07 15:42:04.000000000 -0300 -@@ -158,14 +158,6 @@ - NsisIn.o \ - NsisRegister.o \ - --RAR_OBJS = \ -- RarHandler.o \ -- RarHeader.o \ -- RarIn.o \ -- RarItem.o \ -- RarVolumeInStream.o \ -- RarRegister.o \ -- - TAR_OBJS = \ - TarHandler.o \ - TarHandlerOut.o \ -@@ -243,13 +235,6 @@ - ZlibEncoder.o \ - ZDecoder.o \ - --COMPRESS_OBJS_NON_FREE = \ -- Rar1Decoder.o \ -- Rar2Decoder.o \ -- Rar3Decoder.o \ -- Rar3Vm.o \ -- RarCodecsRegister.o \ -- - CRYPTO_OBJS = \ - 7zAes.o \ - 7zAesRegister.o \ -@@ -257,8 +242,6 @@ - MyAes.o \ - Pbkdf2HmacSha1.o \ - RandGen.o \ -- Rar20Crypto.o \ -- RarAes.o \ - Sha1.o \ - WzAes.o \ - ZipCrypto.o \ -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile ---- p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile 2010-03-16 17:21:18.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile 1969-12-31 21:00:00.000000000 -0300 -@@ -1,34 +0,0 @@ --PROG=../../../../bin/Codecs/Rar29.so -- --LOCAL_FLAGS=$(CC_SHARED) -DUNICODE -D_UNICODE -- --MY_WINDOWS= -- --include ../../../../makefile.crc32 --include ../../../../makefile.machine -- --LOCAL_SHARED=$(LINK_SHARED) --LIBS=$(LOCAL_LIBS) -- --OBJS = \ --MyWindows.o \ --CRC.o\ --MyVector.o\ --CodecExports.o \ --DllExports.o \ --Rar1Decoder.o \ --Rar2Decoder.o \ --Rar3Decoder.o \ --Rar3Vm.o \ --RarCodecsRegister.o \ --$(OBJ_CRC32) \ --InBuffer.o \ --OutBuffer.o \ --StreamUtils.o \ --LzOutWindow.o \ --Ppmd7.o \ --Ppmd7Dec.o \ --Alloc.o -- --include ../../../../makefile.glb -- -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.depend p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.depend ---- p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.depend 2011-02-19 06:33:10.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.depend 1969-12-31 21:00:00.000000000 -0300 -@@ -1,158 +0,0 @@ --CRC.o: ../../../Common/CRC.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../../Common/../../C/7zCrc.h \ -- ../../../Common/../../C/Types.h --MyWindows.o: ../../../Common/MyWindows.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../../Common/MyWindows.h --MyVector.o: ../../../Common/MyVector.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../../Common/MyVector.h \ -- ../../../Common/Defs.h --InBuffer.o: ../../Common/InBuffer.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../Common/../../../C/Alloc.h \ -- ../../Common/InBuffer.h ../../Common/../IStream.h \ -- ../../Common/../../Common/MyUnknown.h \ -- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \ -- ../../Common/../IDecl.h ../../Common/../../Common/MyCom.h \ -- ../../Common/../../Common/MyException.h --StreamUtils.o: ../../Common/StreamUtils.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../Common/StreamUtils.h \ -- ../../Common/../IStream.h ../../Common/../../Common/MyUnknown.h \ -- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \ -- ../../Common/../IDecl.h --OutBuffer.o: ../../Common/OutBuffer.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../Common/../../../C/Alloc.h \ -- ../../Common/OutBuffer.h ../../Common/../IStream.h \ -- ../../Common/../../Common/MyUnknown.h \ -- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \ -- ../../Common/../IDecl.h ../../Common/../../Common/MyCom.h \ -- ../../Common/../../Common/MyException.h --LzOutWindow.o: ../LzOutWindow.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../LzOutWindow.h ../../IStream.h \ -- ../../../Common/MyUnknown.h ../../../Common/MyWindows.h \ -- ../../../Common/Types.h ../../IDecl.h ../../Common/OutBuffer.h \ -- ../../Common/../IStream.h ../../Common/../../Common/MyCom.h \ -- ../../Common/../../Common/MyWindows.h \ -- ../../Common/../../Common/MyException.h --CodecExports.o: ../CodecExports.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../../Common/ComTry.h \ -- ../../../Common/MyWindows.h ../../../Windows/PropVariant.h \ -- ../../../Windows/../Common/MyWindows.h \ -- ../../../Windows/../Common/Types.h ../../ICoder.h ../../IStream.h \ -- ../../../Common/MyUnknown.h ../../../Common/Types.h ../../IDecl.h \ -- ../../Common/RegisterCodec.h ../../Common/../Common/MethodId.h \ -- ../../Common/../Common/../../Common/Types.h --DllExports.o: ../DllExports.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../../Common/MyInitGuid.h \ -- ../../ICoder.h ../../IStream.h ../../../Common/MyUnknown.h \ -- ../../../Common/MyWindows.h ../../../Common/Types.h ../../IDecl.h \ -- ../../Common/RegisterCodec.h ../../Common/../Common/MethodId.h \ -- ../../Common/../Common/../../Common/Types.h --Rar1Decoder.o: ../Rar1Decoder.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../Rar1Decoder.h \ -- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \ -- ../../IStream.h ../../../Common/MyUnknown.h ../../../Common/Types.h \ -- ../../IDecl.h ../../Common/InBuffer.h ../../Common/../IStream.h \ -- ../../Common/../../Common/MyCom.h \ -- ../../Common/../../Common/MyException.h \ -- ../../Common/../../Common/MyWindows.h ../BitmDecoder.h ../../IStream.h \ -- ../HuffmanDecoder.h ../../../Common/Types.h ../LzOutWindow.h \ -- ../../Common/OutBuffer.h --Rar2Decoder.o: ../Rar2Decoder.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../Rar2Decoder.h \ -- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \ -- ../../IStream.h ../../../Common/MyUnknown.h ../../../Common/Types.h \ -- ../../IDecl.h ../../Common/InBuffer.h ../../Common/../IStream.h \ -- ../../Common/../../Common/MyCom.h \ -- ../../Common/../../Common/MyException.h \ -- ../../Common/../../Common/MyWindows.h ../BitmDecoder.h ../../IStream.h \ -- ../HuffmanDecoder.h ../../../Common/Types.h ../LzOutWindow.h \ -- ../../Common/OutBuffer.h --Rar3Decoder.o: ../Rar3Decoder.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../../../C/Alloc.h \ -- ../../Common/StreamUtils.h ../../Common/../IStream.h \ -- ../../Common/../../Common/MyUnknown.h \ -- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \ -- ../../Common/../IDecl.h ../Rar3Decoder.h ../../../../C/Ppmd7.h \ -- ../../../../C/Ppmd.h ../../../../C/Types.h ../../../../C/CpuArch.h \ -- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \ -- ../../IStream.h ../../Common/InBuffer.h \ -- ../../Common/../../Common/MyCom.h \ -- ../../Common/../../Common/MyException.h ../BitmDecoder.h ../../IStream.h \ -- ../HuffmanDecoder.h ../../../Common/Types.h ../Rar3Vm.h \ -- ../../../../C/CpuArch.h ../../../Common/MyVector.h \ -- ../../../Common/Defs.h --Rar3Vm.o: ../Rar3Vm.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../../../C/7zCrc.h \ -- ../../../../C/Types.h ../../../../C/Alloc.h ../Rar3Vm.h \ -- ../../../../C/CpuArch.h ../../../Common/MyVector.h \ -- ../../../Common/Defs.h --RarCodecsRegister.o: ../RarCodecsRegister.cpp ../../../myWindows/StdAfx.h \ -- ../../../myWindows/config.h ../../../Common/MyWindows.h \ -- ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- ../../../Common/../../C/Types.h ../../../Common/Types.h \ -- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \ -- ../../../include_windows/tchar.h ../../Common/RegisterCodec.h \ -- ../../Common/../Common/MethodId.h \ -- ../../Common/../Common/../../Common/Types.h ../Rar1Decoder.h \ -- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \ -- ../../IStream.h ../../../Common/MyUnknown.h ../../../Common/Types.h \ -- ../../IDecl.h ../../Common/InBuffer.h ../../Common/../IStream.h \ -- ../../Common/../../Common/MyCom.h \ -- ../../Common/../../Common/MyException.h \ -- ../../Common/../../Common/MyWindows.h ../BitmDecoder.h ../../IStream.h \ -- ../HuffmanDecoder.h ../../../Common/Types.h ../LzOutWindow.h \ -- ../../Common/OutBuffer.h ../Rar2Decoder.h ../Rar3Decoder.h \ -- ../../../../C/Ppmd7.h ../../../../C/Ppmd.h ../../../../C/Types.h \ -- ../../../../C/CpuArch.h ../Rar3Vm.h ../../../../C/CpuArch.h \ -- ../../../Common/MyVector.h ../../../Common/Defs.h -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.list p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.list ---- p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.list 2010-03-16 17:23:04.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.list 1969-12-31 21:00:00.000000000 -0300 -@@ -1,64 +0,0 @@ --SRCS=\ -- ../../../Common/CRC.cpp \ -- ../../../Common/MyWindows.cpp \ -- ../../../Common/MyVector.cpp \ -- ../../Common/InBuffer.cpp \ -- ../../Common/StreamUtils.cpp \ -- ../../Common/OutBuffer.cpp \ --../LzOutWindow.cpp \ --../CodecExports.cpp \ --../DllExports.cpp \ --../Rar1Decoder.cpp \ --../Rar2Decoder.cpp \ --../Rar3Decoder.cpp \ --../Rar3Vm.cpp \ --../RarCodecsRegister.cpp -- --SRCS_C=\ -- ../../../../C/Alloc.c \ -- ../../../../C/Ppmd7.c \ -- ../../../../C/Ppmd7Dec.c -- --CRC.o : ../../../Common/CRC.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../../Common/CRC.cpp --MyWindows.o : ../../../Common/MyWindows.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../../Common/MyWindows.cpp --MyVector.o : ../../../Common/MyVector.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../../Common/MyVector.cpp --DllExports.o : ../DllExports.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../DllExports.cpp --CodecExports.o : ../CodecExports.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../CodecExports.cpp --InBuffer.o : ../../Common/InBuffer.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../Common/InBuffer.cpp --LzOutWindow.o : ../LzOutWindow.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../LzOutWindow.cpp --StreamUtils.o : ../../Common/StreamUtils.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../Common/StreamUtils.cpp --OutBuffer.o : ../../Common/OutBuffer.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../Common/OutBuffer.cpp --Rar1Decoder.o : ../Rar1Decoder.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar1Decoder.cpp --Rar2Decoder.o : ../Rar2Decoder.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar2Decoder.cpp --Rar3Decoder.o : ../Rar3Decoder.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar3Decoder.cpp --Rar3Vm.o : ../Rar3Vm.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar3Vm.cpp --RarCodecsRegister.o : ../RarCodecsRegister.cpp -- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../RarCodecsRegister.cpp --Alloc.o : ../../../../C/Alloc.c -- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/Alloc.c --Ppmd7.o : ../../../../C/Ppmd7.c -- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/Ppmd7.c --Ppmd7Dec.o : ../../../../C/Ppmd7Dec.c -- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/Ppmd7Dec.c -- --# CRC32, C version --7zCrc.o : ../../../../C/7zCrc.c -- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/7zCrc.c --7zCrcOpt.o : ../../../../C/7zCrcOpt.c -- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/7zCrcOpt.c --# CRC32, ASM version --7zCrcT8.o : ../../../../C/7zCrcT8.c -- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/7zCrcT8.c -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp ---- p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp 2009-12-21 08:46:36.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,480 +0,0 @@ --// Rar1Decoder.cpp --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --#include "StdAfx.h" -- --#include "Rar1Decoder.h" -- --namespace NCompress { --namespace NRar1 { -- --static UInt32 PosL1[]={0,0,0,2,3,5,7,11,16,20,24,32,32, 256}; --static UInt32 PosL2[]={0,0,0,0,5,7,9,13,18,22,26,34,36, 256}; --static UInt32 PosHf0[]={0,0,0,0,0,8,16,24,33,33,33,33,33, 257}; --static UInt32 PosHf1[]={0,0,0,0,0,0,4,44,60,76,80,80,127, 257}; --static UInt32 PosHf2[]={0,0,0,0,0,0,2,7,53,117,233, 257,0}; --static UInt32 PosHf3[]={0,0,0,0,0,0,0,2,16,218,251, 257,0}; --static UInt32 PosHf4[]={0,0,0,0,0,0,0,0,0,255, 257,0,0}; -- --static const UInt32 kHistorySize = (1 << 16); -- --class CCoderReleaser --{ -- CDecoder *m_Coder; --public: -- CCoderReleaser(CDecoder *coder): m_Coder(coder) {} -- ~CCoderReleaser() { m_Coder->ReleaseStreams(); } --}; -- --CDecoder::CDecoder(): m_IsSolid(false) { } -- --void CDecoder::InitStructures() --{ -- for(int i = 0; i < kNumRepDists; i++) -- m_RepDists[i] = 0; -- m_RepDistPtr = 0; -- LastLength = 0; -- LastDist = 0; --} -- --UInt32 CDecoder::ReadBits(int numBits) { return m_InBitStream.ReadBits(numBits); } -- --HRESULT CDecoder::CopyBlock(UInt32 distance, UInt32 len) --{ -- if (len == 0) -- return S_FALSE; -- m_UnpackSize -= len; -- return m_OutWindowStream.CopyBlock(distance, len) ? S_OK : S_FALSE; --} -- -- --UInt32 CDecoder::DecodeNum(const UInt32 *posTab) --{ -- UInt32 startPos = 2; -- UInt32 num = m_InBitStream.GetValue(12); -- for (;;) -- { -- UInt32 cur = (posTab[startPos + 1] - posTab[startPos]) << (12 - startPos); -- if (num < cur) -- break; -- startPos++; -- num -= cur; -- } -- m_InBitStream.MovePos(startPos); -- return((num >> (12 - startPos)) + posTab[startPos]); --} -- --static Byte kShortLen1[] = {1,3,4,4,5,6,7,8,8,4,4,5,6,6 }; --static Byte kShortLen1a[] = {1,4,4,4,5,6,7,8,8,4,4,5,6,6,4 }; --static Byte kShortLen2[] = {2,3,3,3,4,4,5,6,6,4,4,5,6,6 }; --static Byte kShortLen2a[] = {2,3,3,4,4,4,5,6,6,4,4,5,6,6,4 }; --static UInt32 kShortXor1[] = {0,0xa0,0xd0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xc0,0x80,0x90,0x98,0x9c,0xb0}; --static UInt32 kShortXor2[] = {0,0x40,0x60,0xa0,0xd0,0xe0,0xf0,0xf8,0xfc,0xc0,0x80,0x90,0x98,0x9c,0xb0}; -- --HRESULT CDecoder::ShortLZ() --{ -- UInt32 len, saveLen, dist; -- int distancePlace; -- Byte *kShortLen; -- const UInt32 *kShortXor; -- NumHuf = 0; -- -- if (LCount == 2) -- { -- if (ReadBits(1)) -- return CopyBlock(LastDist, LastLength); -- LCount = 0; -- } -- -- UInt32 bitField = m_InBitStream.GetValue(8); -- -- if (AvrLn1 < 37) -- { -- kShortLen = Buf60 ? kShortLen1a : kShortLen1; -- kShortXor = kShortXor1; -- } -- else -- { -- kShortLen = Buf60 ? kShortLen2a : kShortLen2; -- kShortXor = kShortXor2; -- } -- -- for (len = 0; ((bitField ^ kShortXor[len]) & (~(0xff >> kShortLen[len]))) != 0; len++); -- m_InBitStream.MovePos(kShortLen[len]); -- -- if (len >= 9) -- { -- if (len == 9) -- { -- LCount++; -- return CopyBlock(LastDist, LastLength); -- } -- if (len == 14) -- { -- LCount = 0; -- len = DecodeNum(PosL2) + 5; -- dist = 0x8000 + ReadBits(15) - 1; -- LastLength = len; -- LastDist = dist; -- return CopyBlock(dist, len); -- } -- -- LCount = 0; -- saveLen = len; -- dist = m_RepDists[(m_RepDistPtr - (len - 9)) & 3]; -- len = DecodeNum(PosL1) + 2; -- if (len == 0x101 && saveLen == 10) -- { -- Buf60 ^= 1; -- return S_OK; -- } -- if (dist >= 256) -- len++; -- if (dist >= MaxDist3 - 1) -- len++; -- } -- else -- { -- LCount = 0; -- AvrLn1 += len; -- AvrLn1 -= AvrLn1 >> 4; -- -- distancePlace = DecodeNum(PosHf2) & 0xff; -- dist = ChSetA[distancePlace]; -- if (--distancePlace != -1) -- { -- PlaceA[dist]--; -- UInt32 lastDistance = ChSetA[distancePlace]; -- PlaceA[lastDistance]++; -- ChSetA[distancePlace + 1] = lastDistance; -- ChSetA[distancePlace] = dist; -- } -- len += 2; -- } -- m_RepDists[m_RepDistPtr++] = dist; -- m_RepDistPtr &= 3; -- LastLength = len; -- LastDist = dist; -- return CopyBlock(dist, len); --} -- -- --HRESULT CDecoder::LongLZ() --{ -- UInt32 len; -- UInt32 dist; -- UInt32 distancePlace, newDistancePlace; -- UInt32 oldAvr2, oldAvr3; -- -- NumHuf = 0; -- Nlzb += 16; -- if (Nlzb > 0xff) -- { -- Nlzb = 0x90; -- Nhfb >>= 1; -- } -- oldAvr2=AvrLn2; -- -- if (AvrLn2 >= 122) -- len = DecodeNum(PosL2); -- else if (AvrLn2 >= 64) -- len = DecodeNum(PosL1); -- else -- { -- UInt32 bitField = m_InBitStream.GetValue(16); -- if (bitField < 0x100) -- { -- len = bitField; -- m_InBitStream.MovePos(16); -- } -- else -- { -- for (len = 0; ((bitField << len) & 0x8000) == 0; len++) -- ; -- m_InBitStream.MovePos(len + 1); -- } -- } -- -- AvrLn2 += len; -- AvrLn2 -= AvrLn2 >> 5; -- -- if (AvrPlcB > 0x28ff) -- distancePlace = DecodeNum(PosHf2); -- else if (AvrPlcB > 0x6ff) -- distancePlace = DecodeNum(PosHf1); -- else -- distancePlace = DecodeNum(PosHf0); -- -- AvrPlcB += distancePlace; -- AvrPlcB -= AvrPlcB >> 8; -- for (;;) -- { -- dist = ChSetB[distancePlace & 0xff]; -- newDistancePlace = NToPlB[dist++ & 0xff]++; -- if (!(dist & 0xff)) -- CorrHuff(ChSetB,NToPlB); -- else -- break; -- } -- -- ChSetB[distancePlace] = ChSetB[newDistancePlace]; -- ChSetB[newDistancePlace] = dist; -- -- dist = ((dist & 0xff00) >> 1) | ReadBits(7); -- -- oldAvr3 = AvrLn3; -- if (len != 1 && len != 4) -- if (len == 0 && dist <= MaxDist3) -- { -- AvrLn3++; -- AvrLn3 -= AvrLn3 >> 8; -- } -- else -- if (AvrLn3 > 0) -- AvrLn3--; -- len += 3; -- if (dist >= MaxDist3) -- len++; -- if (dist <= 256) -- len += 8; -- if (oldAvr3 > 0xb0 || AvrPlc >= 0x2a00 && oldAvr2 < 0x40) -- MaxDist3 = 0x7f00; -- else -- MaxDist3 = 0x2001; -- m_RepDists[m_RepDistPtr++] = --dist; -- m_RepDistPtr &= 3; -- LastLength = len; -- LastDist = dist; -- return CopyBlock(dist, len); --} -- -- --HRESULT CDecoder::HuffDecode() --{ -- UInt32 curByte, newBytePlace; -- UInt32 len; -- UInt32 dist; -- int bytePlace; -- -- if (AvrPlc > 0x75ff) bytePlace = DecodeNum(PosHf4); -- else if (AvrPlc > 0x5dff) bytePlace = DecodeNum(PosHf3); -- else if (AvrPlc > 0x35ff) bytePlace = DecodeNum(PosHf2); -- else if (AvrPlc > 0x0dff) bytePlace = DecodeNum(PosHf1); -- else bytePlace = DecodeNum(PosHf0); -- if (StMode) -- { -- if (--bytePlace == -1) -- { -- if (ReadBits(1)) -- { -- NumHuf = StMode = 0; -- return S_OK; -- } -- else -- { -- len = (ReadBits(1)) ? 4 : 3; -- dist = DecodeNum(PosHf2); -- dist = (dist << 5) | ReadBits(5); -- return CopyBlock(dist - 1, len); -- } -- } -- } -- else if (NumHuf++ >= 16 && FlagsCnt == 0) -- StMode = 1; -- bytePlace &= 0xff; -- AvrPlc += bytePlace; -- AvrPlc -= AvrPlc >> 8; -- Nhfb+=16; -- if (Nhfb > 0xff) -- { -- Nhfb=0x90; -- Nlzb >>= 1; -- } -- -- m_UnpackSize --; -- m_OutWindowStream.PutByte((Byte)(ChSet[bytePlace] >> 8)); -- -- for (;;) -- { -- curByte = ChSet[bytePlace]; -- newBytePlace = NToPl[curByte++ & 0xff]++; -- if ((curByte & 0xff) > 0xa1) -- CorrHuff(ChSet, NToPl); -- else -- break; -- } -- -- ChSet[bytePlace] = ChSet[newBytePlace]; -- ChSet[newBytePlace] = curByte; -- return S_OK; --} -- -- --void CDecoder::GetFlagsBuf() --{ -- UInt32 flags, newFlagsPlace; -- UInt32 flagsPlace = DecodeNum(PosHf2); -- -- for (;;) -- { -- flags = ChSetC[flagsPlace]; -- FlagBuf = flags >> 8; -- newFlagsPlace = NToPlC[flags++ & 0xff]++; -- if ((flags & 0xff) != 0) -- break; -- CorrHuff(ChSetC, NToPlC); -- } -- -- ChSetC[flagsPlace] = ChSetC[newFlagsPlace]; -- ChSetC[newFlagsPlace] = flags; --} -- --void CDecoder::InitData() --{ -- if (!m_IsSolid) -- { -- AvrPlcB = AvrLn1 = AvrLn2 = AvrLn3 = NumHuf = Buf60 = 0; -- AvrPlc = 0x3500; -- MaxDist3 = 0x2001; -- Nhfb = Nlzb = 0x80; -- } -- FlagsCnt = 0; -- FlagBuf = 0; -- StMode = 0; -- LCount = 0; --} -- --void CDecoder::CorrHuff(UInt32 *CharSet,UInt32 *NumToPlace) --{ -- int i; -- for (i = 7; i >= 0; i--) -- for (int j = 0; j < 32; j++, CharSet++) -- *CharSet = (*CharSet & ~0xff) | i; -- memset(NumToPlace, 0, sizeof(NToPl)); -- for (i = 6; i >= 0; i--) -- NumToPlace[i] = (7 - i) * 32; --} -- --void CDecoder::InitHuff() --{ -- for (UInt32 i = 0; i < 256; i++) -- { -- Place[i] = PlaceA[i] = PlaceB[i] = i; -- PlaceC[i] = (~i + 1) & 0xff; -- ChSet[i] = ChSetB[i] = i << 8; -- ChSetA[i] = i; -- ChSetC[i] = ((~i + 1) & 0xff) << 8; -- } -- memset(NToPl, 0, sizeof(NToPl)); -- memset(NToPlB, 0, sizeof(NToPlB)); -- memset(NToPlC, 0, sizeof(NToPlC)); -- CorrHuff(ChSetB, NToPlB); --} -- --HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo * /* progress */) --{ -- if (inSize == NULL || outSize == NULL) -- return E_INVALIDARG; -- -- if (!m_OutWindowStream.Create(kHistorySize)) -- return E_OUTOFMEMORY; -- if (!m_InBitStream.Create(1 << 20)) -- return E_OUTOFMEMORY; -- -- m_UnpackSize = (Int64)*outSize; -- m_OutWindowStream.SetStream(outStream); -- m_OutWindowStream.Init(m_IsSolid); -- m_InBitStream.SetStream(inStream); -- m_InBitStream.Init(); -- -- CCoderReleaser coderReleaser(this); -- InitData(); -- if (!m_IsSolid) -- { -- InitStructures(); -- InitHuff(); -- } -- if (m_UnpackSize > 0) -- { -- GetFlagsBuf(); -- FlagsCnt = 8; -- } -- -- while (m_UnpackSize > 0) -- { -- if (StMode) -- { -- RINOK(HuffDecode()); -- continue; -- } -- -- if (--FlagsCnt < 0) -- { -- GetFlagsBuf(); -- FlagsCnt=7; -- } -- -- if (FlagBuf & 0x80) -- { -- FlagBuf <<= 1; -- if (Nlzb > Nhfb) -- { -- RINOK(LongLZ()); -- } -- else -- { -- RINOK(HuffDecode()); -- } -- } -- else -- { -- FlagBuf <<= 1; -- if (--FlagsCnt < 0) -- { -- GetFlagsBuf(); -- FlagsCnt = 7; -- } -- if (FlagBuf & 0x80) -- { -- FlagBuf <<= 1; -- if (Nlzb > Nhfb) -- { -- RINOK(HuffDecode()); -- } -- else -- { -- RINOK(LongLZ()); -- } -- } -- else -- { -- FlagBuf <<= 1; -- RINOK(ShortLZ()); -- } -- } -- } -- if (m_UnpackSize < 0) -- return S_FALSE; -- return m_OutWindowStream.Flush(); --} -- --STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress) --{ -- try { return CodeReal(inStream, outStream, inSize, outSize, progress); } -- catch(const CInBufferException &e) { return e.ErrorCode; } -- catch(const CLzOutWindowException &e) { return e.ErrorCode; } -- catch(...) { return S_FALSE; } --} -- --STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size) --{ -- if (size < 1) -- return E_INVALIDARG; -- m_IsSolid = (data[0] != 0); -- return S_OK; --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.h ---- p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.h 2009-02-07 15:06:28.000000000 -0200 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,88 +0,0 @@ --// Rar1Decoder.h --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --#ifndef __COMPRESS_RAR1_DECODER_H --#define __COMPRESS_RAR1_DECODER_H -- --#include "../../Common/MyCom.h" -- --#include "../ICoder.h" -- --#include "../Common/InBuffer.h" -- --#include "BitmDecoder.h" --#include "HuffmanDecoder.h" --#include "LzOutWindow.h" -- --namespace NCompress { --namespace NRar1 { -- --const UInt32 kNumRepDists = 4; -- --typedef NBitm::CDecoder CBitDecoder; -- --class CDecoder : -- public ICompressCoder, -- public ICompressSetDecoderProperties2, -- public CMyUnknownImp --{ --public: -- CLzOutWindow m_OutWindowStream; -- CBitDecoder m_InBitStream; -- -- UInt32 m_RepDists[kNumRepDists]; -- UInt32 m_RepDistPtr; -- -- UInt32 LastDist; -- UInt32 LastLength; -- -- Int64 m_UnpackSize; -- bool m_IsSolid; -- -- UInt32 ReadBits(int numBits); -- HRESULT CopyBlock(UInt32 distance, UInt32 len); -- -- UInt32 DecodeNum(const UInt32 *posTab); -- HRESULT ShortLZ(); -- HRESULT LongLZ(); -- HRESULT HuffDecode(); -- void GetFlagsBuf(); -- void InitData(); -- void InitHuff(); -- void CorrHuff(UInt32 *CharSet, UInt32 *NumToPlace); -- void OldUnpWriteBuf(); -- -- UInt32 ChSet[256],ChSetA[256],ChSetB[256],ChSetC[256]; -- UInt32 Place[256],PlaceA[256],PlaceB[256],PlaceC[256]; -- UInt32 NToPl[256],NToPlB[256],NToPlC[256]; -- UInt32 FlagBuf,AvrPlc,AvrPlcB,AvrLn1,AvrLn2,AvrLn3; -- int Buf60,NumHuf,StMode,LCount,FlagsCnt; -- UInt32 Nhfb,Nlzb,MaxDist3; -- -- void InitStructures(); -- -- HRESULT CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); -- --public: -- CDecoder(); -- -- MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2) -- -- void ReleaseStreams() -- { -- m_OutWindowStream.ReleaseStream(); -- m_InBitStream.ReleaseStream(); -- } -- -- STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); -- -- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size); -- --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp ---- p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp 2009-12-21 08:46:36.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,391 +0,0 @@ --// Rar2Decoder.cpp --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --#include "StdAfx.h" -- --#include "Rar2Decoder.h" -- --namespace NCompress { --namespace NRar2 { -- --namespace NMultimedia { -- --Byte CFilter::Decode(int &channelDelta, Byte deltaByte) --{ -- D4 = D3; -- D3 = D2; -- D2 = LastDelta - D1; -- D1 = LastDelta; -- int predictedValue = ((8 * LastChar + K1 * D1 + K2 * D2 + K3 * D3 + K4 * D4 + K5 * channelDelta) >> 3); -- -- Byte realValue = (Byte)(predictedValue - deltaByte); -- int i = ((int)(signed char)deltaByte) << 3; -- -- Dif[0] += abs(i); -- Dif[1] += abs(i - D1); -- Dif[2] += abs(i + D1); -- Dif[3] += abs(i - D2); -- Dif[4] += abs(i + D2); -- Dif[5] += abs(i - D3); -- Dif[6] += abs(i + D3); -- Dif[7] += abs(i - D4); -- Dif[8] += abs(i + D4); -- Dif[9] += abs(i - channelDelta); -- Dif[10] += abs(i + channelDelta); -- -- channelDelta = LastDelta = (signed char)(realValue - LastChar); -- LastChar = realValue; -- -- if (((++ByteCount) & 0x1F) == 0) -- { -- UInt32 minDif = Dif[0]; -- UInt32 numMinDif = 0; -- Dif[0] = 0; -- for (i = 1; i < sizeof(Dif) / sizeof(Dif[0]); i++) -- { -- if (Dif[i] < minDif) -- { -- minDif = Dif[i]; -- numMinDif = i; -- } -- Dif[i] = 0; -- } -- switch(numMinDif) -- { -- case 1: if (K1 >= -16) K1--; break; -- case 2: if (K1 < 16) K1++; break; -- case 3: if (K2 >= -16) K2--; break; -- case 4: if (K2 < 16) K2++; break; -- case 5: if (K3 >= -16) K3--; break; -- case 6: if (K3 < 16) K3++; break; -- case 7: if (K4 >= -16) K4--; break; -- case 8: if (K4 < 16) K4++; break; -- case 9: if (K5 >= -16) K5--; break; -- case 10:if (K5 < 16) K5++; break; -- } -- } -- return realValue; --} --} -- --static const char *kNumberErrorMessage = "Number error"; -- --static const UInt32 kHistorySize = 1 << 20; -- --static const int kNumStats = 11; -- --static const UInt32 kWindowReservSize = (1 << 22) + 256; -- --CDecoder::CDecoder(): -- m_IsSolid(false) --{ --} -- --void CDecoder::InitStructures() --{ -- m_MmFilter.Init(); -- for(int i = 0; i < kNumRepDists; i++) -- m_RepDists[i] = 0; -- m_RepDistPtr = 0; -- m_LastLength = 0; -- memset(m_LastLevels, 0, kMaxTableSize); --} -- --UInt32 CDecoder::ReadBits(int numBits) { return m_InBitStream.ReadBits(numBits); } -- --#define RIF(x) { if (!(x)) return false; } -- --bool CDecoder::ReadTables(void) --{ -- Byte levelLevels[kLevelTableSize]; -- Byte newLevels[kMaxTableSize]; -- m_AudioMode = (ReadBits(1) == 1); -- -- if (ReadBits(1) == 0) -- memset(m_LastLevels, 0, kMaxTableSize); -- int numLevels; -- if (m_AudioMode) -- { -- m_NumChannels = ReadBits(2) + 1; -- if (m_MmFilter.CurrentChannel >= m_NumChannels) -- m_MmFilter.CurrentChannel = 0; -- numLevels = m_NumChannels * kMMTableSize; -- } -- else -- numLevels = kHeapTablesSizesSum; -- -- int i; -- for (i = 0; i < kLevelTableSize; i++) -- levelLevels[i] = (Byte)ReadBits(4); -- RIF(m_LevelDecoder.SetCodeLengths(levelLevels)); -- i = 0; -- while (i < numLevels) -- { -- UInt32 number = m_LevelDecoder.DecodeSymbol(&m_InBitStream); -- if (number < kTableDirectLevels) -- { -- newLevels[i] = (Byte)((number + m_LastLevels[i]) & kLevelMask); -- i++; -- } -- else -- { -- if (number == kTableLevelRepNumber) -- { -- int t = ReadBits(2) + 3; -- for (int reps = t; reps > 0 && i < numLevels ; reps--, i++) -- newLevels[i] = newLevels[i - 1]; -- } -- else -- { -- int num; -- if (number == kTableLevel0Number) -- num = ReadBits(3) + 3; -- else if (number == kTableLevel0Number2) -- num = ReadBits(7) + 11; -- else -- return false; -- for (;num > 0 && i < numLevels; num--) -- newLevels[i++] = 0; -- } -- } -- } -- if (m_AudioMode) -- for (i = 0; i < m_NumChannels; i++) -- { -- RIF(m_MMDecoders[i].SetCodeLengths(&newLevels[i * kMMTableSize])); -- } -- else -- { -- RIF(m_MainDecoder.SetCodeLengths(&newLevels[0])); -- RIF(m_DistDecoder.SetCodeLengths(&newLevels[kMainTableSize])); -- RIF(m_LenDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize])); -- } -- memcpy(m_LastLevels, newLevels, kMaxTableSize); -- return true; --} -- --bool CDecoder::ReadLastTables() --{ -- // it differs a little from pure RAR sources; -- // UInt64 ttt = m_InBitStream.GetProcessedSize() + 2; -- // + 2 works for: return 0xFF; in CInBuffer::ReadByte. -- if (m_InBitStream.GetProcessedSize() + 7 <= m_PackSize) // test it: probably incorrect; -- // if (m_InBitStream.GetProcessedSize() + 2 <= m_PackSize) // test it: probably incorrect; -- if (m_AudioMode) -- { -- UInt32 symbol = m_MMDecoders[m_MmFilter.CurrentChannel].DecodeSymbol(&m_InBitStream); -- if (symbol == 256) -- return ReadTables(); -- if (symbol >= kMMTableSize) -- return false; -- } -- else -- { -- UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream); -- if (number == kReadTableNumber) -- return ReadTables(); -- if (number >= kMainTableSize) -- return false; -- } -- return true; --} -- --class CCoderReleaser --{ -- CDecoder *m_Coder; --public: -- CCoderReleaser(CDecoder *coder): m_Coder(coder) {} -- ~CCoderReleaser() -- { -- m_Coder->ReleaseStreams(); -- } --}; -- --bool CDecoder::DecodeMm(UInt32 pos) --{ -- while (pos-- > 0) -- { -- UInt32 symbol = m_MMDecoders[m_MmFilter.CurrentChannel].DecodeSymbol(&m_InBitStream); -- if (symbol == 256) -- return true; -- if (symbol >= kMMTableSize) -- return false; -- /* -- Byte byPredict = m_Predictor.Predict(); -- Byte byReal = (Byte)(byPredict - (Byte)symbol); -- m_Predictor.Update(byReal, byPredict); -- */ -- Byte byReal = m_MmFilter.Decode((Byte)symbol); -- m_OutWindowStream.PutByte(byReal); -- if (++m_MmFilter.CurrentChannel == m_NumChannels) -- m_MmFilter.CurrentChannel = 0; -- } -- return true; --} -- --bool CDecoder::DecodeLz(Int32 pos) --{ -- while (pos > 0) -- { -- UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream); -- UInt32 length, distance; -- if (number < 256) -- { -- m_OutWindowStream.PutByte(Byte(number)); -- pos--; -- continue; -- } -- else if (number >= kMatchNumber) -- { -- number -= kMatchNumber; -- length = kNormalMatchMinLen + UInt32(kLenStart[number]) + -- m_InBitStream.ReadBits(kLenDirectBits[number]); -- number = m_DistDecoder.DecodeSymbol(&m_InBitStream); -- if (number >= kDistTableSize) -- return false; -- distance = kDistStart[number] + m_InBitStream.ReadBits(kDistDirectBits[number]); -- if (distance >= kDistLimit3) -- { -- length += 2 - ((distance - kDistLimit4) >> 31); -- // length++; -- // if (distance >= kDistLimit4) -- // length++; -- } -- } -- else if (number == kRepBothNumber) -- { -- length = m_LastLength; -- if (length == 0) -- return false; -- distance = m_RepDists[(m_RepDistPtr + 4 - 1) & 3]; -- } -- else if (number < kLen2Number) -- { -- distance = m_RepDists[(m_RepDistPtr - (number - kRepNumber + 1)) & 3]; -- number = m_LenDecoder.DecodeSymbol(&m_InBitStream); -- if (number >= kLenTableSize) -- return false; -- length = 2 + kLenStart[number] + m_InBitStream.ReadBits(kLenDirectBits[number]); -- if (distance >= kDistLimit2) -- { -- length++; -- if (distance >= kDistLimit3) -- { -- length += 2 - ((distance - kDistLimit4) >> 31); -- // length++; -- // if (distance >= kDistLimit4) -- // length++; -- } -- } -- } -- else if (number < kReadTableNumber) -- { -- number -= kLen2Number; -- distance = kLen2DistStarts[number] + -- m_InBitStream.ReadBits(kLen2DistDirectBits[number]); -- length = 2; -- } -- else if (number == kReadTableNumber) -- return true; -- else -- return false; -- m_RepDists[m_RepDistPtr++ & 3] = distance; -- m_LastLength = length; -- if (!m_OutWindowStream.CopyBlock(distance, length)) -- return false; -- pos -= length; -- } -- return true; --} -- --HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress) --{ -- if (inSize == NULL || outSize == NULL) -- return E_INVALIDARG; -- -- if (!m_OutWindowStream.Create(kHistorySize)) -- return E_OUTOFMEMORY; -- if (!m_InBitStream.Create(1 << 20)) -- return E_OUTOFMEMORY; -- -- m_PackSize = *inSize; -- -- UInt64 pos = 0, unPackSize = *outSize; -- -- m_OutWindowStream.SetStream(outStream); -- m_OutWindowStream.Init(m_IsSolid); -- m_InBitStream.SetStream(inStream); -- m_InBitStream.Init(); -- -- CCoderReleaser coderReleaser(this); -- if (!m_IsSolid) -- { -- InitStructures(); -- if (unPackSize == 0) -- { -- if (m_InBitStream.GetProcessedSize() + 2 <= m_PackSize) // test it: probably incorrect; -- if (!ReadTables()) -- return S_FALSE; -- return S_OK; -- } -- if (!ReadTables()) -- return S_FALSE; -- } -- -- UInt64 startPos = m_OutWindowStream.GetProcessedSize(); -- while(pos < unPackSize) -- { -- UInt32 blockSize = 1 << 20; -- if (blockSize > unPackSize - pos) -- blockSize = (UInt32)(unPackSize - pos); -- UInt64 blockStartPos = m_OutWindowStream.GetProcessedSize(); -- if (m_AudioMode) -- { -- if (!DecodeMm(blockSize)) -- return S_FALSE; -- } -- else -- { -- if (!DecodeLz((Int32)blockSize)) -- return S_FALSE; -- } -- UInt64 globalPos = m_OutWindowStream.GetProcessedSize(); -- pos = globalPos - blockStartPos; -- if (pos < blockSize) -- if (!ReadTables()) -- return S_FALSE; -- pos = globalPos - startPos; -- if (progress != 0) -- { -- UInt64 packSize = m_InBitStream.GetProcessedSize(); -- RINOK(progress->SetRatioInfo(&packSize, &pos)); -- } -- } -- if (pos > unPackSize) -- return S_FALSE; -- -- if (!ReadLastTables()) -- return S_FALSE; -- return m_OutWindowStream.Flush(); --} -- --STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress) --{ -- try { return CodeReal(inStream, outStream, inSize, outSize, progress); } -- catch(const CInBufferException &e) { return e.ErrorCode; } -- catch(const CLzOutWindowException &e) { return e.ErrorCode; } -- catch(...) { return S_FALSE; } --} -- --STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size) --{ -- if (size < 1) -- return E_INVALIDARG; -- m_IsSolid = (data[0] != 0); -- return S_OK; --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.h ---- p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.h 2009-02-07 15:06:28.000000000 -0200 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,174 +0,0 @@ --// Rar2Decoder.h --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --#ifndef __COMPRESS_RAR2_DECODER_H --#define __COMPRESS_RAR2_DECODER_H -- --#include "../../Common/MyCom.h" -- --#include "../ICoder.h" -- --#include "../Common/InBuffer.h" -- --#include "BitmDecoder.h" --#include "HuffmanDecoder.h" --#include "LzOutWindow.h" -- --namespace NCompress { --namespace NRar2 { -- --const UInt32 kNumRepDists = 4; --const UInt32 kDistTableSize = 48; -- --const int kMMTableSize = 256 + 1; -- --const UInt32 kMainTableSize = 298; --const UInt32 kLenTableSize = 28; -- --const UInt32 kDistTableStart = kMainTableSize; --const UInt32 kLenTableStart = kDistTableStart + kDistTableSize; -- --const UInt32 kHeapTablesSizesSum = kMainTableSize + kDistTableSize + kLenTableSize; -- --const UInt32 kLevelTableSize = 19; -- --const UInt32 kMMTablesSizesSum = kMMTableSize * 4; -- --const UInt32 kMaxTableSize = kMMTablesSizesSum; -- --const UInt32 kTableDirectLevels = 16; --const UInt32 kTableLevelRepNumber = kTableDirectLevels; --const UInt32 kTableLevel0Number = kTableLevelRepNumber + 1; --const UInt32 kTableLevel0Number2 = kTableLevel0Number + 1; -- --const UInt32 kLevelMask = 0xF; -- -- --const UInt32 kRepBothNumber = 256; --const UInt32 kRepNumber = kRepBothNumber + 1; --const UInt32 kLen2Number = kRepNumber + 4; -- --const UInt32 kLen2NumNumbers = 8; --const UInt32 kReadTableNumber = kLen2Number + kLen2NumNumbers; --const UInt32 kMatchNumber = kReadTableNumber + 1; -- --const Byte kLenStart[kLenTableSize] = {0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224}; --const Byte kLenDirectBits[kLenTableSize] = {0,0,0,0,0,0,0,0,1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5}; -- --const UInt32 kDistStart[kDistTableSize] = {0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576,32768U,49152U,65536,98304,131072,196608,262144,327680,393216,458752,524288,589824,655360,720896,786432,851968,917504,983040}; --const Byte kDistDirectBits[kDistTableSize] = {0,0,0,0,1,1,2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}; -- --const Byte kLevelDirectBits[kLevelTableSize] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7}; -- --const Byte kLen2DistStarts[kLen2NumNumbers]={0,4,8,16,32,64,128,192}; --const Byte kLen2DistDirectBits[kLen2NumNumbers]={2,2,3, 4, 5, 6, 6, 6}; -- --const UInt32 kDistLimit2 = 0x101 - 1; --const UInt32 kDistLimit3 = 0x2000 - 1; --const UInt32 kDistLimit4 = 0x40000 - 1; -- --const UInt32 kMatchMaxLen = 255 + 2; --const UInt32 kMatchMaxLenMax = 255 + 5; --const UInt32 kNormalMatchMinLen = 3; -- --namespace NMultimedia { -- --struct CFilter --{ -- int K1,K2,K3,K4,K5; -- int D1,D2,D3,D4; -- int LastDelta; -- UInt32 Dif[11]; -- UInt32 ByteCount; -- int LastChar; -- -- Byte Decode(int &channelDelta, Byte delta); -- -- void Init() { memset(this, 0, sizeof(*this)); } -- --}; -- --const int kNumChanelsMax = 4; -- --class CFilter2 --{ --public: -- CFilter m_Filters[kNumChanelsMax]; -- int m_ChannelDelta; -- int CurrentChannel; -- -- void Init() { memset(this, 0, sizeof(*this)); } -- Byte Decode(Byte delta) -- { -- return m_Filters[CurrentChannel].Decode(m_ChannelDelta, delta); -- } -- --}; -- --} -- --typedef NBitm::CDecoder CBitDecoder; -- --const int kNumHuffmanBits = 15; -- --class CDecoder : -- public ICompressCoder, -- public ICompressSetDecoderProperties2, -- public CMyUnknownImp --{ -- CLzOutWindow m_OutWindowStream; -- CBitDecoder m_InBitStream; -- NHuffman::CDecoder m_MainDecoder; -- NHuffman::CDecoder m_DistDecoder; -- NHuffman::CDecoder m_LenDecoder; -- NHuffman::CDecoder m_MMDecoders[NMultimedia::kNumChanelsMax]; -- NHuffman::CDecoder m_LevelDecoder; -- -- bool m_AudioMode; -- -- NMultimedia::CFilter2 m_MmFilter; -- int m_NumChannels; -- -- UInt32 m_RepDists[kNumRepDists]; -- UInt32 m_RepDistPtr; -- -- UInt32 m_LastLength; -- -- Byte m_LastLevels[kMaxTableSize]; -- -- UInt64 m_PackSize; -- bool m_IsSolid; -- -- void InitStructures(); -- UInt32 ReadBits(int numBits); -- bool ReadTables(); -- bool ReadLastTables(); -- -- bool DecodeMm(UInt32 pos); -- bool DecodeLz(Int32 pos); -- -- HRESULT CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); -- --public: -- CDecoder(); -- -- MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2) -- -- void ReleaseStreams() -- { -- m_OutWindowStream.ReleaseStream(); -- m_InBitStream.ReleaseStream(); -- } -- -- STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); -- -- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size); -- --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp ---- p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp 2010-09-14 16:18:38.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,897 +0,0 @@ --// Rar3Decoder.cpp --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --/* This code uses Carryless rangecoder (1999): Dmitry Subbotin : Public domain */ -- --#include "StdAfx.h" -- --#include "../../../C/Alloc.h" -- --#include "../Common/StreamUtils.h" -- --#include "Rar3Decoder.h" -- --namespace NCompress { --namespace NRar3 { -- --static void *SzBigAlloc(void *, size_t size) { return BigAlloc(size); } --static void SzBigFree(void *, void *address) { BigFree(address); } --static ISzAlloc g_BigAlloc = { SzBigAlloc, SzBigFree }; -- --static const UInt32 kNumAlignReps = 15; -- --static const UInt32 kSymbolReadTable = 256; --static const UInt32 kSymbolRep = 259; --static const UInt32 kSymbolLen2 = kSymbolRep + kNumReps; -- --static const Byte kLenStart[kLenTableSize] = {0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224}; --static const Byte kLenDirectBits[kLenTableSize] = {0,0,0,0,0,0,0,0,1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5}; -- --static const Byte kDistDirectBits[kDistTableSize] = -- {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15, -- 16,16,16,16,16,16,16,16,16,16,16,16,16,16, -- 18,18,18,18,18,18,18,18,18,18,18,18}; -- --static const Byte kLevelDirectBits[kLevelTableSize] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7}; -- --static const Byte kLen2DistStarts[kNumLen2Symbols]={0,4,8,16,32,64,128,192}; --static const Byte kLen2DistDirectBits[kNumLen2Symbols]={2,2,3, 4, 5, 6, 6, 6}; -- --static const UInt32 kDistLimit3 = 0x2000 - 2; --static const UInt32 kDistLimit4 = 0x40000 - 2; -- --static const UInt32 kNormalMatchMinLen = 3; -- --static const UInt32 kVmDataSizeMax = 1 << 16; --static const UInt32 kVmCodeSizeMax = 1 << 16; -- --extern "C" { -- --static UInt32 Range_GetThreshold(void *pp, UInt32 total) --{ -- CRangeDecoder *p = (CRangeDecoder *)pp; -- return p->Code / (p->Range /= total); --} -- --static void Range_Decode(void *pp, UInt32 start, UInt32 size) --{ -- CRangeDecoder *p = (CRangeDecoder *)pp; -- start *= p->Range; -- p->Low += start; -- p->Code -= start; -- p->Range *= size; -- p->Normalize(); --} -- --static UInt32 Range_DecodeBit(void *pp, UInt32 size0) --{ -- CRangeDecoder *p = (CRangeDecoder *)pp; -- if (p->Code / (p->Range >>= 14) < size0) -- { -- Range_Decode(p, 0, size0); -- return 0; -- } -- else -- { -- Range_Decode(p, size0, (1 << 14) - size0); -- return 1; -- } --} -- --} -- --CRangeDecoder::CRangeDecoder() --{ -- s.GetThreshold = Range_GetThreshold; -- s.Decode = Range_Decode; -- s.DecodeBit = Range_DecodeBit; --} -- --CDecoder::CDecoder(): -- _window(0), -- _winPos(0), -- _wrPtr(0), -- _lzSize(0), -- _writtenFileSize(0), -- _vmData(0), -- _vmCode(0), -- m_IsSolid(false) --{ -- Ppmd7_Construct(&_ppmd); --} -- --CDecoder::~CDecoder() --{ -- InitFilters(); -- ::MidFree(_vmData); -- ::MidFree(_window); -- Ppmd7_Free(&_ppmd, &g_BigAlloc); --} -- --HRESULT CDecoder::WriteDataToStream(const Byte *data, UInt32 size) --{ -- return WriteStream(_outStream, data, size); --} -- --HRESULT CDecoder::WriteData(const Byte *data, UInt32 size) --{ -- HRESULT res = S_OK; -- if (_writtenFileSize < _unpackSize) -- { -- UInt32 curSize = size; -- UInt64 remain = _unpackSize - _writtenFileSize; -- if (remain < curSize) -- curSize = (UInt32)remain; -- res = WriteDataToStream(data, curSize); -- } -- _writtenFileSize += size; -- return res; --} -- --HRESULT CDecoder::WriteArea(UInt32 startPtr, UInt32 endPtr) --{ -- if (startPtr <= endPtr) -- return WriteData(_window + startPtr, endPtr - startPtr); -- RINOK(WriteData(_window + startPtr, kWindowSize - startPtr)); -- return WriteData(_window, endPtr); --} -- --void CDecoder::ExecuteFilter(int tempFilterIndex, NVm::CBlockRef &outBlockRef) --{ -- CTempFilter *tempFilter = _tempFilters[tempFilterIndex]; -- tempFilter->InitR[6] = (UInt32)_writtenFileSize; -- NVm::SetValue32(&tempFilter->GlobalData[0x24], (UInt32)_writtenFileSize); -- NVm::SetValue32(&tempFilter->GlobalData[0x28], (UInt32)(_writtenFileSize >> 32)); -- CFilter *filter = _filters[tempFilter->FilterIndex]; -- _vm.Execute(filter, tempFilter, outBlockRef, filter->GlobalData); -- delete tempFilter; -- _tempFilters[tempFilterIndex] = 0; --} -- --HRESULT CDecoder::WriteBuf() --{ -- UInt32 writtenBorder = _wrPtr; -- UInt32 writeSize = (_winPos - writtenBorder) & kWindowMask; -- for (int i = 0; i < _tempFilters.Size(); i++) -- { -- CTempFilter *filter = _tempFilters[i]; -- if (filter == NULL) -- continue; -- if (filter->NextWindow) -- { -- filter->NextWindow = false; -- continue; -- } -- UInt32 blockStart = filter->BlockStart; -- UInt32 blockSize = filter->BlockSize; -- if (((blockStart - writtenBorder) & kWindowMask) < writeSize) -- { -- if (writtenBorder != blockStart) -- { -- RINOK(WriteArea(writtenBorder, blockStart)); -- writtenBorder = blockStart; -- writeSize = (_winPos - writtenBorder) & kWindowMask; -- } -- if (blockSize <= writeSize) -- { -- UInt32 blockEnd = (blockStart + blockSize) & kWindowMask; -- if (blockStart < blockEnd || blockEnd == 0) -- _vm.SetMemory(0, _window + blockStart, blockSize); -- else -- { -- UInt32 tailSize = kWindowSize - blockStart; -- _vm.SetMemory(0, _window + blockStart, tailSize); -- _vm.SetMemory(tailSize, _window, blockEnd); -- } -- NVm::CBlockRef outBlockRef; -- ExecuteFilter(i, outBlockRef); -- while (i + 1 < _tempFilters.Size()) -- { -- CTempFilter *nextFilter = _tempFilters[i + 1]; -- if (nextFilter == NULL || nextFilter->BlockStart != blockStart || -- nextFilter->BlockSize != outBlockRef.Size || nextFilter->NextWindow) -- break; -- _vm.SetMemory(0, _vm.GetDataPointer(outBlockRef.Offset), outBlockRef.Size); -- ExecuteFilter(++i, outBlockRef); -- } -- WriteDataToStream(_vm.GetDataPointer(outBlockRef.Offset), outBlockRef.Size); -- _writtenFileSize += outBlockRef.Size; -- writtenBorder = blockEnd; -- writeSize = (_winPos - writtenBorder) & kWindowMask; -- } -- else -- { -- for (int j = i; j < _tempFilters.Size(); j++) -- { -- CTempFilter *filter = _tempFilters[j]; -- if (filter != NULL && filter->NextWindow) -- filter->NextWindow = false; -- } -- _wrPtr = writtenBorder; -- return S_OK; // check it -- } -- } -- } -- -- _wrPtr = _winPos; -- return WriteArea(writtenBorder, _winPos); --} -- --void CDecoder::InitFilters() --{ -- _lastFilter = 0; -- int i; -- for (i = 0; i < _tempFilters.Size(); i++) -- delete _tempFilters[i]; -- _tempFilters.Clear(); -- for (i = 0; i < _filters.Size(); i++) -- delete _filters[i]; -- _filters.Clear(); --} -- --bool CDecoder::AddVmCode(UInt32 firstByte, UInt32 codeSize) --{ -- CMemBitDecoder inp; -- inp.Init(_vmData, codeSize); -- -- UInt32 filterIndex; -- if (firstByte & 0x80) -- { -- filterIndex = NVm::ReadEncodedUInt32(inp); -- if (filterIndex == 0) -- InitFilters(); -- else -- filterIndex--; -- } -- else -- filterIndex = _lastFilter; -- if (filterIndex > (UInt32)_filters.Size()) -- return false; -- _lastFilter = filterIndex; -- bool newFilter = (filterIndex == (UInt32)_filters.Size()); -- -- CFilter *filter; -- if (newFilter) -- { -- // check if too many filters -- if (filterIndex > 1024) -- return false; -- filter = new CFilter; -- _filters.Add(filter); -- } -- else -- { -- filter = _filters[filterIndex]; -- filter->ExecCount++; -- } -- -- int numEmptyItems = 0; -- int i; -- for (i = 0; i < _tempFilters.Size(); i++) -- { -- _tempFilters[i - numEmptyItems] = _tempFilters[i]; -- if (_tempFilters[i] == NULL) -- numEmptyItems++; -- if (numEmptyItems > 0) -- _tempFilters[i] = NULL; -- } -- if (numEmptyItems == 0) -- { -- _tempFilters.Add(NULL); -- numEmptyItems = 1; -- } -- CTempFilter *tempFilter = new CTempFilter; -- _tempFilters[_tempFilters.Size() - numEmptyItems] = tempFilter; -- tempFilter->FilterIndex = filterIndex; -- tempFilter->ExecCount = filter->ExecCount; -- -- UInt32 blockStart = NVm::ReadEncodedUInt32(inp); -- if (firstByte & 0x40) -- blockStart += 258; -- tempFilter->BlockStart = (blockStart + _winPos) & kWindowMask; -- if (firstByte & 0x20) -- filter->BlockSize = NVm::ReadEncodedUInt32(inp); -- tempFilter->BlockSize = filter->BlockSize; -- tempFilter->NextWindow = _wrPtr != _winPos && ((_wrPtr - _winPos) & kWindowMask) <= blockStart; -- -- memset(tempFilter->InitR, 0, sizeof(tempFilter->InitR)); -- tempFilter->InitR[3] = NVm::kGlobalOffset; -- tempFilter->InitR[4] = tempFilter->BlockSize; -- tempFilter->InitR[5] = tempFilter->ExecCount; -- if (firstByte & 0x10) -- { -- UInt32 initMask = inp.ReadBits(NVm::kNumGpRegs); -- for (int i = 0; i < NVm::kNumGpRegs; i++) -- if (initMask & (1 << i)) -- tempFilter->InitR[i] = NVm::ReadEncodedUInt32(inp); -- } -- if (newFilter) -- { -- UInt32 vmCodeSize = NVm::ReadEncodedUInt32(inp); -- if (vmCodeSize >= kVmCodeSizeMax || vmCodeSize == 0) -- return false; -- for (UInt32 i = 0; i < vmCodeSize; i++) -- _vmCode[i] = (Byte)inp.ReadBits(8); -- _vm.PrepareProgram(_vmCode, vmCodeSize, filter); -- } -- -- tempFilter->AllocateEmptyFixedGlobal(); -- -- Byte *globalData = &tempFilter->GlobalData[0]; -- for (i = 0; i < NVm::kNumGpRegs; i++) -- NVm::SetValue32(&globalData[i * 4], tempFilter->InitR[i]); -- NVm::SetValue32(&globalData[NVm::NGlobalOffset::kBlockSize], tempFilter->BlockSize); -- NVm::SetValue32(&globalData[NVm::NGlobalOffset::kBlockPos], 0); // It was commented. why? -- NVm::SetValue32(&globalData[NVm::NGlobalOffset::kExecCount], tempFilter->ExecCount); -- -- if (firstByte & 8) -- { -- UInt32 dataSize = NVm::ReadEncodedUInt32(inp); -- if (dataSize > NVm::kGlobalSize - NVm::kFixedGlobalSize) -- return false; -- CRecordVector &globalData = tempFilter->GlobalData; -- int requredSize = (int)(dataSize + NVm::kFixedGlobalSize); -- if (globalData.Size() < requredSize) -- { -- globalData.Reserve(requredSize); -- for (; globalData.Size() < requredSize; i++) -- globalData.Add(0); -- } -- for (UInt32 i = 0; i < dataSize; i++) -- globalData[NVm::kFixedGlobalSize + i] = (Byte)inp.ReadBits(8); -- } -- return true; --} -- --bool CDecoder::ReadVmCodeLZ() --{ -- UInt32 firstByte = ReadBits(8); -- UInt32 length = (firstByte & 7) + 1; -- if (length == 7) -- length = ReadBits(8) + 7; -- else if (length == 8) -- length = ReadBits(16); -- if (length > kVmDataSizeMax) -- return false; -- for (UInt32 i = 0; i < length; i++) -- _vmData[i] = (Byte)ReadBits(8); -- return AddVmCode(firstByte, length); --} -- --bool CDecoder::ReadVmCodePPM() --{ -- int firstByte = DecodePpmSymbol(); -- if (firstByte < 0) -- return false; -- UInt32 length = (firstByte & 7) + 1; -- if (length == 7) -- { -- int b1 = DecodePpmSymbol(); -- if (b1 < 0) -- return false; -- length = b1 + 7; -- } -- else if (length == 8) -- { -- int b1 = DecodePpmSymbol(); -- if (b1 < 0) -- return false; -- int b2 = DecodePpmSymbol(); -- if (b2 < 0) -- return false; -- length = b1 * 256 + b2; -- } -- if (length > kVmDataSizeMax) -- return false; -- for (UInt32 i = 0; i < length; i++) -- { -- int b = DecodePpmSymbol(); -- if (b < 0) -- return false; -- _vmData[i] = (Byte)b; -- } -- return AddVmCode(firstByte, length); --} -- --#define RIF(x) { if (!(x)) return S_FALSE; } -- --UInt32 CDecoder::ReadBits(int numBits) { return m_InBitStream.bitDecoder.ReadBits(numBits); } -- --///////////////////////////////////////////////// --// PPM -- --HRESULT CDecoder::InitPPM() --{ -- Byte maxOrder = (Byte)ReadBits(7); -- -- bool reset = ((maxOrder & 0x20) != 0); -- int maxMB = 0; -- if (reset) -- maxMB = (Byte)ReadBits(8); -- else -- { -- if (PpmError || !Ppmd7_WasAllocated(&_ppmd)) -- return S_FALSE; -- } -- if (maxOrder & 0x40) -- PpmEscChar = (Byte)ReadBits(8); -- m_InBitStream.InitRangeCoder(); -- /* -- if (m_InBitStream.m_BitPos != 0) -- return S_FALSE; -- */ -- if (reset) -- { -- PpmError = true; -- maxOrder = (maxOrder & 0x1F) + 1; -- if (maxOrder > 16) -- maxOrder = 16 + (maxOrder - 16) * 3; -- if (maxOrder == 1) -- { -- Ppmd7_Free(&_ppmd, &g_BigAlloc); -- return S_FALSE; -- } -- if (!Ppmd7_Alloc(&_ppmd, (maxMB + 1) << 20, &g_BigAlloc)) -- return E_OUTOFMEMORY; -- Ppmd7_Init(&_ppmd, maxOrder); -- PpmError = false; -- } -- return S_OK; --} -- --int CDecoder::DecodePpmSymbol() { return Ppmd7_DecodeSymbol(&_ppmd, &m_InBitStream.s); } -- --HRESULT CDecoder::DecodePPM(Int32 num, bool &keepDecompressing) --{ -- keepDecompressing = false; -- if (PpmError) -- return S_FALSE; -- do -- { -- if (((_wrPtr - _winPos) & kWindowMask) < 260 && _wrPtr != _winPos) -- { -- RINOK(WriteBuf()); -- if (_writtenFileSize > _unpackSize) -- { -- keepDecompressing = false; -- return S_OK; -- } -- } -- int c = DecodePpmSymbol(); -- if (c < 0) -- { -- PpmError = true; -- return S_FALSE; -- } -- if (c == PpmEscChar) -- { -- int nextCh = DecodePpmSymbol(); -- if (nextCh < 0) -- { -- PpmError = true; -- return S_FALSE; -- } -- if (nextCh == 0) -- return ReadTables(keepDecompressing); -- if (nextCh == 2 || nextCh == -1) -- return S_OK; -- if (nextCh == 3) -- { -- if (!ReadVmCodePPM()) -- { -- PpmError = true; -- return S_FALSE; -- } -- continue; -- } -- if (nextCh == 4 || nextCh == 5) -- { -- UInt32 distance = 0; -- UInt32 length = 4; -- if (nextCh == 4) -- { -- for (int i = 0; i < 3; i++) -- { -- int c = DecodePpmSymbol(); -- if (c < 0) -- { -- PpmError = true; -- return S_FALSE; -- } -- distance = (distance << 8) + (Byte)c; -- } -- distance++; -- length += 28; -- } -- int c = DecodePpmSymbol(); -- if (c < 0) -- { -- PpmError = true; -- return S_FALSE; -- } -- length += c; -- if (distance >= _lzSize) -- return S_FALSE; -- CopyBlock(distance, length); -- num -= (Int32)length; -- continue; -- } -- } -- PutByte((Byte)c); -- num--; -- } -- while (num >= 0); -- keepDecompressing = true; -- return S_OK; --} -- --///////////////////////////////////////////////// --// LZ -- --HRESULT CDecoder::ReadTables(bool &keepDecompressing) --{ -- keepDecompressing = true; -- ReadBits((8 - m_InBitStream.bitDecoder.GetBitPosition()) & 7); -- if (ReadBits(1) != 0) -- { -- _lzMode = false; -- return InitPPM(); -- } -- -- _lzMode = true; -- PrevAlignBits = 0; -- PrevAlignCount = 0; -- -- Byte levelLevels[kLevelTableSize]; -- Byte newLevels[kTablesSizesSum]; -- -- if (ReadBits(1) == 0) -- memset(m_LastLevels, 0, kTablesSizesSum); -- -- int i; -- for (i = 0; i < kLevelTableSize; i++) -- { -- UInt32 length = ReadBits(4); -- if (length == 15) -- { -- UInt32 zeroCount = ReadBits(4); -- if (zeroCount != 0) -- { -- zeroCount += 2; -- while (zeroCount-- > 0 && i < kLevelTableSize) -- levelLevels[i++]=0; -- i--; -- continue; -- } -- } -- levelLevels[i] = (Byte)length; -- } -- RIF(m_LevelDecoder.SetCodeLengths(levelLevels)); -- i = 0; -- while (i < kTablesSizesSum) -- { -- UInt32 number = m_LevelDecoder.DecodeSymbol(&m_InBitStream.bitDecoder); -- if (number < 16) -- { -- newLevels[i] = Byte((number + m_LastLevels[i]) & 15); -- i++; -- } -- else if (number > kLevelTableSize) -- return S_FALSE; -- else -- { -- int num; -- if (((number - 16) & 1) == 0) -- num = ReadBits(3) + 3; -- else -- num = ReadBits(7) + 11; -- if (number < 18) -- { -- if (i == 0) -- return S_FALSE; -- for (; num > 0 && i < kTablesSizesSum; num--, i++) -- newLevels[i] = newLevels[i - 1]; -- } -- else -- { -- for (; num > 0 && i < kTablesSizesSum; num--) -- newLevels[i++] = 0; -- } -- } -- } -- TablesRead = true; -- -- // original code has check here: -- /* -- if (InAddr > ReadTop) -- { -- keepDecompressing = false; -- return true; -- } -- */ -- -- RIF(m_MainDecoder.SetCodeLengths(&newLevels[0])); -- RIF(m_DistDecoder.SetCodeLengths(&newLevels[kMainTableSize])); -- RIF(m_AlignDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize])); -- RIF(m_LenDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize])); -- -- memcpy(m_LastLevels, newLevels, kTablesSizesSum); -- return S_OK; --} -- --class CCoderReleaser --{ -- CDecoder *m_Coder; --public: -- CCoderReleaser(CDecoder *coder): m_Coder(coder) {} -- ~CCoderReleaser() -- { -- m_Coder->ReleaseStreams(); -- } --}; -- --HRESULT CDecoder::ReadEndOfBlock(bool &keepDecompressing) --{ -- if (ReadBits(1) != 0) -- { -- // old file -- TablesRead = false; -- return ReadTables(keepDecompressing); -- } -- // new file -- keepDecompressing = false; -- TablesRead = (ReadBits(1) == 0); -- return S_OK; --} -- --UInt32 kDistStart[kDistTableSize]; -- --class CDistInit --{ --public: -- CDistInit() { Init(); } -- void Init() -- { -- UInt32 start = 0; -- for (UInt32 i = 0; i < kDistTableSize; i++) -- { -- kDistStart[i] = start; -- start += (1 << kDistDirectBits[i]); -- } -- } --} g_DistInit; -- --HRESULT CDecoder::DecodeLZ(bool &keepDecompressing) --{ -- UInt32 rep0 = _reps[0]; -- UInt32 rep1 = _reps[1]; -- UInt32 rep2 = _reps[2]; -- UInt32 rep3 = _reps[3]; -- UInt32 length = _lastLength; -- for (;;) -- { -- if (((_wrPtr - _winPos) & kWindowMask) < 260 && _wrPtr != _winPos) -- { -- RINOK(WriteBuf()); -- if (_writtenFileSize > _unpackSize) -- { -- keepDecompressing = false; -- return S_OK; -- } -- } -- UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream.bitDecoder); -- if (number < 256) -- { -- PutByte((Byte)number); -- continue; -- } -- else if (number == kSymbolReadTable) -- { -- RINOK(ReadEndOfBlock(keepDecompressing)); -- break; -- } -- else if (number == 257) -- { -- if (!ReadVmCodeLZ()) -- return S_FALSE; -- continue; -- } -- else if (number == 258) -- { -- if (length == 0) -- return S_FALSE; -- } -- else if (number < kSymbolRep + 4) -- { -- if (number != kSymbolRep) -- { -- UInt32 distance; -- if (number == kSymbolRep + 1) -- distance = rep1; -- else -- { -- if (number == kSymbolRep + 2) -- distance = rep2; -- else -- { -- distance = rep3; -- rep3 = rep2; -- } -- rep2 = rep1; -- } -- rep1 = rep0; -- rep0 = distance; -- } -- -- UInt32 number = m_LenDecoder.DecodeSymbol(&m_InBitStream.bitDecoder); -- if (number >= kLenTableSize) -- return S_FALSE; -- length = 2 + kLenStart[number] + m_InBitStream.bitDecoder.ReadBits(kLenDirectBits[number]); -- } -- else -- { -- rep3 = rep2; -- rep2 = rep1; -- rep1 = rep0; -- if (number < 271) -- { -- number -= 263; -- rep0 = kLen2DistStarts[number] + m_InBitStream.bitDecoder.ReadBits(kLen2DistDirectBits[number]); -- length = 2; -- } -- else if (number < 299) -- { -- number -= 271; -- length = kNormalMatchMinLen + (UInt32)kLenStart[number] + m_InBitStream.bitDecoder.ReadBits(kLenDirectBits[number]); -- UInt32 number = m_DistDecoder.DecodeSymbol(&m_InBitStream.bitDecoder); -- if (number >= kDistTableSize) -- return S_FALSE; -- rep0 = kDistStart[number]; -- int numBits = kDistDirectBits[number]; -- if (number >= (kNumAlignBits * 2) + 2) -- { -- if (numBits > kNumAlignBits) -- rep0 += (m_InBitStream.bitDecoder.ReadBits(numBits - kNumAlignBits) << kNumAlignBits); -- if (PrevAlignCount > 0) -- { -- PrevAlignCount--; -- rep0 += PrevAlignBits; -- } -- else -- { -- UInt32 number = m_AlignDecoder.DecodeSymbol(&m_InBitStream.bitDecoder); -- if (number < (1 << kNumAlignBits)) -- { -- rep0 += number; -- PrevAlignBits = number; -- } -- else if (number == (1 << kNumAlignBits)) -- { -- PrevAlignCount = kNumAlignReps; -- rep0 += PrevAlignBits; -- } -- else -- return S_FALSE; -- } -- } -- else -- rep0 += m_InBitStream.bitDecoder.ReadBits(numBits); -- length += ((kDistLimit4 - rep0) >> 31) + ((kDistLimit3 - rep0) >> 31); -- } -- else -- return S_FALSE; -- } -- if (rep0 >= _lzSize) -- return S_FALSE; -- CopyBlock(rep0, length); -- } -- _reps[0] = rep0; -- _reps[1] = rep1; -- _reps[2] = rep2; -- _reps[3] = rep3; -- _lastLength = length; -- -- return S_OK; --} -- --HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress) --{ -- _writtenFileSize = 0; -- if (!m_IsSolid) -- { -- _lzSize = 0; -- _winPos = 0; -- _wrPtr = 0; -- for (int i = 0; i < kNumReps; i++) -- _reps[i] = 0; -- _lastLength = 0; -- memset(m_LastLevels, 0, kTablesSizesSum); -- TablesRead = false; -- PpmEscChar = 2; -- PpmError = true; -- InitFilters(); -- } -- if (!m_IsSolid || !TablesRead) -- { -- bool keepDecompressing; -- RINOK(ReadTables(keepDecompressing)); -- if (!keepDecompressing) -- return S_OK; -- } -- -- for (;;) -- { -- bool keepDecompressing; -- if (_lzMode) -- { -- RINOK(DecodeLZ(keepDecompressing)) -- } -- else -- { -- RINOK(DecodePPM(1 << 18, keepDecompressing)) -- } -- UInt64 packSize = m_InBitStream.bitDecoder.GetProcessedSize(); -- RINOK(progress->SetRatioInfo(&packSize, &_writtenFileSize)); -- if (!keepDecompressing) -- break; -- } -- RINOK(WriteBuf()); -- UInt64 packSize = m_InBitStream.bitDecoder.GetProcessedSize(); -- RINOK(progress->SetRatioInfo(&packSize, &_writtenFileSize)); -- if (_writtenFileSize < _unpackSize) -- return S_FALSE; -- return S_OK; --} -- --STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress) --{ -- try -- { -- if (inSize == NULL || outSize == NULL) -- return E_INVALIDARG; -- -- if (_vmData == 0) -- { -- _vmData = (Byte *)::MidAlloc(kVmDataSizeMax + kVmCodeSizeMax); -- if (_vmData == 0) -- return E_OUTOFMEMORY; -- _vmCode = _vmData + kVmDataSizeMax; -- } -- -- if (_window == 0) -- { -- _window = (Byte *)::MidAlloc(kWindowSize); -- if (_window == 0) -- return E_OUTOFMEMORY; -- } -- if (!m_InBitStream.bitDecoder.Create(1 << 20)) -- return E_OUTOFMEMORY; -- if (!_vm.Create()) -- return E_OUTOFMEMORY; -- -- -- m_InBitStream.bitDecoder.SetStream(inStream); -- m_InBitStream.bitDecoder.Init(); -- _outStream = outStream; -- -- CCoderReleaser coderReleaser(this); -- _unpackSize = *outSize; -- return CodeReal(progress); -- } -- catch(const CInBufferException &e) { return e.ErrorCode; } -- catch(...) { return S_FALSE; } -- // CNewException is possible here. But probably CNewException is caused -- // by error in data stream. --} -- --STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size) --{ -- if (size < 1) -- return E_INVALIDARG; -- m_IsSolid = (data[0] != 0); -- return S_OK; --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.h ---- p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.h 2010-03-16 16:08:18.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,267 +0,0 @@ --// Rar3Decoder.h --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --/* This code uses Carryless rangecoder (1999): Dmitry Subbotin : Public domain */ -- --#ifndef __COMPRESS_RAR3_DECODER_H --#define __COMPRESS_RAR3_DECODER_H -- --#include "../../../C/Ppmd7.h" -- --#include "../../Common/MyCom.h" -- --#include "../ICoder.h" -- --#include "../Common/InBuffer.h" -- --#include "BitmDecoder.h" --#include "HuffmanDecoder.h" --#include "Rar3Vm.h" -- --namespace NCompress { --namespace NRar3 { -- --const UInt32 kWindowSize = 1 << 22; --const UInt32 kWindowMask = (kWindowSize - 1); -- --const UInt32 kNumReps = 4; --const UInt32 kNumLen2Symbols = 8; --const UInt32 kLenTableSize = 28; --const UInt32 kMainTableSize = 256 + 1 + 1 + 1 + kNumReps + kNumLen2Symbols + kLenTableSize; --const UInt32 kDistTableSize = 60; -- --const int kNumAlignBits = 4; --const UInt32 kAlignTableSize = (1 << kNumAlignBits) + 1; -- --const UInt32 kLevelTableSize = 20; -- --const UInt32 kTablesSizesSum = kMainTableSize + kDistTableSize + kAlignTableSize + kLenTableSize; -- --class CBitDecoder --{ -- UInt32 m_Value; -- unsigned m_BitPos; --public: -- CInBuffer m_Stream; -- bool Create(UInt32 bufferSize) { return m_Stream.Create(bufferSize); } -- void SetStream(ISequentialInStream *inStream) { m_Stream.SetStream(inStream);} -- void ReleaseStream() { m_Stream.ReleaseStream();} -- -- void Init() -- { -- m_Stream.Init(); -- m_BitPos = 0; -- m_Value = 0; -- } -- -- UInt64 GetProcessedSize() const { return m_Stream.GetProcessedSize() - (m_BitPos) / 8; } -- UInt32 GetBitPosition() const { return ((8 - m_BitPos) & 7); } -- -- UInt32 GetValue(unsigned numBits) -- { -- if (m_BitPos < numBits) -- { -- m_BitPos += 8; -- m_Value = (m_Value << 8) | m_Stream.ReadByte(); -- if (m_BitPos < numBits) -- { -- m_BitPos += 8; -- m_Value = (m_Value << 8) | m_Stream.ReadByte(); -- } -- } -- return m_Value >> (m_BitPos - numBits); -- } -- -- void MovePos(unsigned numBits) -- { -- m_BitPos -= numBits; -- m_Value = m_Value & ((1 << m_BitPos) - 1); -- } -- -- UInt32 ReadBits(unsigned numBits) -- { -- UInt32 res = GetValue(numBits); -- MovePos(numBits); -- return res; -- } --}; -- --const UInt32 kTopValue = (1 << 24); --const UInt32 kBot = (1 << 15); -- --struct CRangeDecoder --{ -- IPpmd7_RangeDec s; -- UInt32 Range; -- UInt32 Code; -- UInt32 Low; -- CBitDecoder bitDecoder; -- SRes Res; -- --public: -- void InitRangeCoder() -- { -- Code = 0; -- Low = 0; -- Range = 0xFFFFFFFF; -- for (int i = 0; i < 4; i++) -- Code = (Code << 8) | bitDecoder.ReadBits(8); -- } -- -- void Normalize() -- { -- while ((Low ^ (Low + Range)) < kTopValue || -- Range < kBot && ((Range = (0 - Low) & (kBot - 1)), 1)) -- { -- Code = (Code << 8) | bitDecoder.m_Stream.ReadByte(); -- Range <<= 8; -- Low <<= 8; -- } -- } -- -- CRangeDecoder(); --}; -- --struct CFilter: public NVm::CProgram --{ -- CRecordVector GlobalData; -- UInt32 BlockStart; -- UInt32 BlockSize; -- UInt32 ExecCount; -- CFilter(): BlockStart(0), BlockSize(0), ExecCount(0) {} --}; -- --struct CTempFilter: public NVm::CProgramInitState --{ -- UInt32 BlockStart; -- UInt32 BlockSize; -- UInt32 ExecCount; -- bool NextWindow; -- -- UInt32 FilterIndex; --}; -- --const int kNumHuffmanBits = 15; -- --class CDecoder: -- public ICompressCoder, -- public ICompressSetDecoderProperties2, -- public CMyUnknownImp --{ -- CRangeDecoder m_InBitStream; -- Byte *_window; -- UInt32 _winPos; -- UInt32 _wrPtr; -- UInt64 _lzSize; -- UInt64 _unpackSize; -- UInt64 _writtenFileSize; // if it's > _unpackSize, then _unpackSize only written -- CMyComPtr _outStream; -- NHuffman::CDecoder m_MainDecoder; -- NHuffman::CDecoder m_DistDecoder; -- NHuffman::CDecoder m_AlignDecoder; -- NHuffman::CDecoder m_LenDecoder; -- NHuffman::CDecoder m_LevelDecoder; -- -- UInt32 _reps[kNumReps]; -- UInt32 _lastLength; -- -- Byte m_LastLevels[kTablesSizesSum]; -- -- Byte *_vmData; -- Byte *_vmCode; -- NVm::CVm _vm; -- CRecordVector _filters; -- CRecordVector _tempFilters; -- UInt32 _lastFilter; -- -- bool m_IsSolid; -- -- bool _lzMode; -- -- UInt32 PrevAlignBits; -- UInt32 PrevAlignCount; -- -- bool TablesRead; -- -- CPpmd7 _ppmd; -- int PpmEscChar; -- bool PpmError; -- -- HRESULT WriteDataToStream(const Byte *data, UInt32 size); -- HRESULT WriteData(const Byte *data, UInt32 size); -- HRESULT WriteArea(UInt32 startPtr, UInt32 endPtr); -- void ExecuteFilter(int tempFilterIndex, NVm::CBlockRef &outBlockRef); -- HRESULT WriteBuf(); -- -- void InitFilters(); -- bool AddVmCode(UInt32 firstByte, UInt32 codeSize); -- bool ReadVmCodeLZ(); -- bool ReadVmCodePPM(); -- -- UInt32 ReadBits(int numBits); -- -- HRESULT InitPPM(); -- int DecodePpmSymbol(); -- HRESULT DecodePPM(Int32 num, bool &keepDecompressing); -- -- HRESULT ReadTables(bool &keepDecompressing); -- HRESULT ReadEndOfBlock(bool &keepDecompressing); -- HRESULT DecodeLZ(bool &keepDecompressing); -- HRESULT CodeReal(ICompressProgressInfo *progress); --public: -- CDecoder(); -- ~CDecoder(); -- -- MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2) -- -- void ReleaseStreams() -- { -- _outStream.Release(); -- m_InBitStream.bitDecoder.ReleaseStream(); -- } -- -- STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream, -- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress); -- -- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size); -- -- void CopyBlock(UInt32 distance, UInt32 len) -- { -- _lzSize += len; -- UInt32 pos = (_winPos - distance - 1) & kWindowMask; -- Byte *window = _window; -- UInt32 winPos = _winPos; -- if (kWindowSize - winPos > len && kWindowSize - pos > len) -- { -- const Byte *src = window + pos; -- Byte *dest = window + winPos; -- _winPos += len; -- do -- *dest++ = *src++; -- while(--len != 0); -- return; -- } -- do -- { -- window[winPos] = window[pos]; -- winPos = (winPos + 1) & kWindowMask; -- pos = (pos + 1) & kWindowMask; -- } -- while(--len != 0); -- _winPos = winPos; -- } -- -- void PutByte(Byte b) -- { -- _window[_winPos] = b; -- _winPos = (_winPos + 1) & kWindowMask; -- _lzSize++; -- } -- -- --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp ---- p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp 2010-10-20 01:56:07.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,1091 +0,0 @@ --// Rar3Vm.cpp --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --/* --Note: -- Due to performance considerations Rar VM may set Flags C incorrectly -- for some operands (SHL x, 0, ... ). -- Check implementation of concrete VM command -- to see if it sets flags right. --*/ -- --#include "StdAfx.h" -- --#include "../../../C/7zCrc.h" --#include "../../../C/Alloc.h" -- --#include "Rar3Vm.h" -- --namespace NCompress { --namespace NRar3 { -- --UInt32 CMemBitDecoder::ReadBits(int numBits) --{ -- UInt32 res = 0; -- for (;;) -- { -- Byte b = _bitPos < _bitSize ? _data[_bitPos >> 3] : 0; -- int avail = (int)(8 - (_bitPos & 7)); -- if (numBits <= avail) -- { -- _bitPos += numBits; -- return res | (b >> (avail - numBits)) & ((1 << numBits) - 1); -- } -- numBits -= avail; -- res |= (UInt32)(b & ((1 << avail) - 1)) << numBits; -- _bitPos += avail; -- } --} -- --UInt32 CMemBitDecoder::ReadBit() { return ReadBits(1); } -- --namespace NVm { -- --static const UInt32 kStackRegIndex = kNumRegs - 1; -- --static const UInt32 FLAG_C = 1; --static const UInt32 FLAG_Z = 2; --static const UInt32 FLAG_S = 0x80000000; -- --static const Byte CF_OP0 = 0; --static const Byte CF_OP1 = 1; --static const Byte CF_OP2 = 2; --static const Byte CF_OPMASK = 3; --static const Byte CF_BYTEMODE = 4; --static const Byte CF_JUMP = 8; --static const Byte CF_PROC = 16; --static const Byte CF_USEFLAGS = 32; --static const Byte CF_CHFLAGS = 64; -- --static Byte kCmdFlags[]= --{ -- /* CMD_MOV */ CF_OP2 | CF_BYTEMODE, -- /* CMD_CMP */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_ADD */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_SUB */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_JZ */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_JNZ */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_INC */ CF_OP1 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_DEC */ CF_OP1 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_JMP */ CF_OP1 | CF_JUMP, -- /* CMD_XOR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_AND */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_OR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_TEST */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_JS */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_JNS */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_JB */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_JBE */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_JA */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_JAE */ CF_OP1 | CF_JUMP | CF_USEFLAGS, -- /* CMD_PUSH */ CF_OP1, -- /* CMD_POP */ CF_OP1, -- /* CMD_CALL */ CF_OP1 | CF_PROC, -- /* CMD_RET */ CF_OP0 | CF_PROC, -- /* CMD_NOT */ CF_OP1 | CF_BYTEMODE, -- /* CMD_SHL */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_SHR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_SAR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_NEG */ CF_OP1 | CF_BYTEMODE | CF_CHFLAGS, -- /* CMD_PUSHA */ CF_OP0, -- /* CMD_POPA */ CF_OP0, -- /* CMD_PUSHF */ CF_OP0 | CF_USEFLAGS, -- /* CMD_POPF */ CF_OP0 | CF_CHFLAGS, -- /* CMD_MOVZX */ CF_OP2, -- /* CMD_MOVSX */ CF_OP2, -- /* CMD_XCHG */ CF_OP2 | CF_BYTEMODE, -- /* CMD_MUL */ CF_OP2 | CF_BYTEMODE, -- /* CMD_DIV */ CF_OP2 | CF_BYTEMODE, -- /* CMD_ADC */ CF_OP2 | CF_BYTEMODE | CF_USEFLAGS | CF_CHFLAGS , -- /* CMD_SBB */ CF_OP2 | CF_BYTEMODE | CF_USEFLAGS | CF_CHFLAGS , -- /* CMD_PRINT */ CF_OP0 --}; -- --CVm::CVm(): Mem(NULL) {} -- --bool CVm::Create() --{ -- if (Mem == NULL) -- Mem = (Byte *)::MyAlloc(kSpaceSize + 4); -- return (Mem != NULL); --} -- --CVm::~CVm() --{ -- ::MyFree(Mem); --} -- --// CVm::Execute can change CProgram object: it clears progarm if VM returns error. -- --bool CVm::Execute(CProgram *prg, const CProgramInitState *initState, -- CBlockRef &outBlockRef, CRecordVector &outGlobalData) --{ -- memcpy(R, initState->InitR, sizeof(initState->InitR)); -- R[kStackRegIndex] = kSpaceSize; -- R[kNumRegs] = 0; -- Flags = 0; -- -- UInt32 globalSize = MyMin((UInt32)initState->GlobalData.Size(), kGlobalSize); -- if (globalSize != 0) -- memcpy(Mem + kGlobalOffset, &initState->GlobalData[0], globalSize); -- UInt32 staticSize = MyMin((UInt32)prg->StaticData.Size(), kGlobalSize - globalSize); -- if (staticSize != 0) -- memcpy(Mem + kGlobalOffset + globalSize, &prg->StaticData[0], staticSize); -- -- bool res = true; -- #ifdef RARVM_STANDARD_FILTERS -- if (prg->StandardFilterIndex >= 0) -- ExecuteStandardFilter(prg->StandardFilterIndex); -- else -- #endif -- { -- res = ExecuteCode(prg); -- if (!res) -- prg->Commands[0].OpCode = CMD_RET; -- } -- UInt32 newBlockPos = GetFixedGlobalValue32(NGlobalOffset::kBlockPos) & kSpaceMask; -- UInt32 newBlockSize = GetFixedGlobalValue32(NGlobalOffset::kBlockSize) & kSpaceMask; -- if (newBlockPos + newBlockSize >= kSpaceSize) -- newBlockPos = newBlockSize = 0; -- outBlockRef.Offset = newBlockPos; -- outBlockRef.Size = newBlockSize; -- -- outGlobalData.Clear(); -- UInt32 dataSize = GetFixedGlobalValue32(NGlobalOffset::kGlobalMemOutSize); -- dataSize = MyMin(dataSize, kGlobalSize - kFixedGlobalSize); -- if (dataSize != 0) -- { -- dataSize += kFixedGlobalSize; -- outGlobalData.Reserve(dataSize); -- for (UInt32 i = 0; i < dataSize; i++) -- outGlobalData.Add(Mem[kGlobalOffset + i]); -- } -- return res; --} -- -- --#define SET_IP(IP) \ -- if ((IP) >= numCommands) return true; \ -- if (--maxOpCount <= 0) return false; \ -- cmd = commands + (IP); -- --#define GET_FLAG_S_B(res) (((res) & 0x80) ? FLAG_S : 0) --#define SET_IP_OP1 { UInt32 val = GetOperand32(&cmd->Op1); SET_IP(val); } --#define FLAGS_UPDATE_SZ Flags = res == 0 ? FLAG_Z : res & FLAG_S --#define FLAGS_UPDATE_SZ_B Flags = (res & 0xFF) == 0 ? FLAG_Z : GET_FLAG_S_B(res) -- --UInt32 CVm::GetOperand32(const COperand *op) const --{ -- switch(op->Type) -- { -- case OP_TYPE_REG: return R[op->Data]; -- case OP_TYPE_REGMEM: return GetValue32(&Mem[(op->Base + R[op->Data]) & kSpaceMask]); -- default: return op->Data; -- } --} -- --void CVm::SetOperand32(const COperand *op, UInt32 val) --{ -- switch(op->Type) -- { -- case OP_TYPE_REG: R[op->Data] = val; return; -- case OP_TYPE_REGMEM: SetValue32(&Mem[(op->Base + R[op->Data]) & kSpaceMask], val); return; -- } --} -- --Byte CVm::GetOperand8(const COperand *op) const --{ -- switch(op->Type) -- { -- case OP_TYPE_REG: return (Byte)R[op->Data]; -- case OP_TYPE_REGMEM: return Mem[(op->Base + R[op->Data]) & kSpaceMask];; -- default: return (Byte)op->Data; -- } --} -- --void CVm::SetOperand8(const COperand *op, Byte val) --{ -- switch(op->Type) -- { -- case OP_TYPE_REG: R[op->Data] = (R[op->Data] & 0xFFFFFF00) | val; return; -- case OP_TYPE_REGMEM: Mem[(op->Base + R[op->Data]) & kSpaceMask] = val; return; -- } --} -- --UInt32 CVm::GetOperand(bool byteMode, const COperand *op) const --{ -- if (byteMode) -- return GetOperand8(op); -- return GetOperand32(op); --} -- --void CVm::SetOperand(bool byteMode, const COperand *op, UInt32 val) --{ -- if (byteMode) -- SetOperand8(op, (Byte)(val & 0xFF)); -- else -- SetOperand32(op, val); --} -- --bool CVm::ExecuteCode(const CProgram *prg) --{ -- Int32 maxOpCount = 25000000; -- const CCommand *commands = &prg->Commands[0]; -- const CCommand *cmd = commands; -- UInt32 numCommands = prg->Commands.Size(); -- for (;;) -- { -- switch(cmd->OpCode) -- { -- #ifndef RARVM_NO_VM -- -- case CMD_MOV: -- SetOperand32(&cmd->Op1, GetOperand32(&cmd->Op2)); -- break; -- case CMD_MOVB: -- SetOperand8(&cmd->Op1, GetOperand8(&cmd->Op2)); -- break; -- case CMD_CMP: -- { -- UInt32 v1 = GetOperand32(&cmd->Op1); -- UInt32 res = v1 - GetOperand32(&cmd->Op2); -- Flags = res == 0 ? FLAG_Z : (res > v1) | (res & FLAG_S); -- } -- break; -- case CMD_CMPB: -- { -- Byte v1 = GetOperand8(&cmd->Op1); -- Byte res = v1 - GetOperand8(&cmd->Op2); -- res &= 0xFF; -- Flags = res == 0 ? FLAG_Z : (res > v1) | GET_FLAG_S_B(res); -- } -- break; -- case CMD_ADD: -- { -- UInt32 v1 = GetOperand32(&cmd->Op1); -- UInt32 res = v1 + GetOperand32(&cmd->Op2); -- SetOperand32(&cmd->Op1, res); -- Flags = (res < v1) | (res == 0 ? FLAG_Z : (res & FLAG_S)); -- } -- break; -- case CMD_ADDB: -- { -- Byte v1 = GetOperand8(&cmd->Op1); -- Byte res = v1 + GetOperand8(&cmd->Op2); -- res &= 0xFF; -- SetOperand8(&cmd->Op1, (Byte)res); -- Flags = (res < v1) | (res == 0 ? FLAG_Z : GET_FLAG_S_B(res)); -- } -- break; -- case CMD_ADC: -- { -- UInt32 v1 = GetOperand(cmd->ByteMode, &cmd->Op1); -- UInt32 FC = (Flags & FLAG_C); -- UInt32 res = v1 + GetOperand(cmd->ByteMode, &cmd->Op2) + FC; -- if (cmd->ByteMode) -- res &= 0xFF; -- SetOperand(cmd->ByteMode, &cmd->Op1, res); -- Flags = (res < v1 || res == v1 && FC) | (res == 0 ? FLAG_Z : (res & FLAG_S)); -- } -- break; -- case CMD_SUB: -- { -- UInt32 v1 = GetOperand32(&cmd->Op1); -- UInt32 res = v1 - GetOperand32(&cmd->Op2); -- SetOperand32(&cmd->Op1, res); -- Flags = res == 0 ? FLAG_Z : (res > v1) | (res & FLAG_S); -- } -- break; -- case CMD_SUBB: -- { -- UInt32 v1 = GetOperand8(&cmd->Op1); -- UInt32 res = v1 - GetOperand8(&cmd->Op2); -- SetOperand8(&cmd->Op1, (Byte)res); -- Flags = res == 0 ? FLAG_Z : (res > v1) | (res & FLAG_S); -- } -- break; -- case CMD_SBB: -- { -- UInt32 v1 = GetOperand(cmd->ByteMode, &cmd->Op1); -- UInt32 FC = (Flags & FLAG_C); -- UInt32 res = v1 - GetOperand(cmd->ByteMode, &cmd->Op2) - FC; -- // Flags = res == 0 ? FLAG_Z : (res > v1 || res == v1 && FC) | (res & FLAG_S); -- if (cmd->ByteMode) -- res &= 0xFF; -- SetOperand(cmd->ByteMode, &cmd->Op1, res); -- Flags = (res > v1 || res == v1 && FC) | (res == 0 ? FLAG_Z : (res & FLAG_S)); -- } -- break; -- case CMD_INC: -- { -- UInt32 res = GetOperand32(&cmd->Op1) + 1; -- SetOperand32(&cmd->Op1, res); -- FLAGS_UPDATE_SZ; -- } -- break; -- case CMD_INCB: -- { -- Byte res = GetOperand8(&cmd->Op1) + 1; -- SetOperand8(&cmd->Op1, res);; -- FLAGS_UPDATE_SZ_B; -- } -- break; -- case CMD_DEC: -- { -- UInt32 res = GetOperand32(&cmd->Op1) - 1; -- SetOperand32(&cmd->Op1, res); -- FLAGS_UPDATE_SZ; -- } -- break; -- case CMD_DECB: -- { -- Byte res = GetOperand8(&cmd->Op1) - 1; -- SetOperand8(&cmd->Op1, res);; -- FLAGS_UPDATE_SZ_B; -- } -- break; -- case CMD_XOR: -- { -- UInt32 res = GetOperand32(&cmd->Op1) ^ GetOperand32(&cmd->Op2); -- SetOperand32(&cmd->Op1, res); -- FLAGS_UPDATE_SZ; -- } -- break; -- case CMD_XORB: -- { -- Byte res = GetOperand8(&cmd->Op1) ^ GetOperand8(&cmd->Op2); -- SetOperand8(&cmd->Op1, res); -- FLAGS_UPDATE_SZ_B; -- } -- break; -- case CMD_AND: -- { -- UInt32 res = GetOperand32(&cmd->Op1) & GetOperand32(&cmd->Op2); -- SetOperand32(&cmd->Op1, res); -- FLAGS_UPDATE_SZ; -- } -- break; -- case CMD_ANDB: -- { -- Byte res = GetOperand8(&cmd->Op1) & GetOperand8(&cmd->Op2); -- SetOperand8(&cmd->Op1, res); -- FLAGS_UPDATE_SZ_B; -- } -- break; -- case CMD_OR: -- { -- UInt32 res = GetOperand32(&cmd->Op1) | GetOperand32(&cmd->Op2); -- SetOperand32(&cmd->Op1, res); -- FLAGS_UPDATE_SZ; -- } -- break; -- case CMD_ORB: -- { -- Byte res = GetOperand8(&cmd->Op1) | GetOperand8(&cmd->Op2); -- SetOperand8(&cmd->Op1, res); -- FLAGS_UPDATE_SZ_B; -- } -- break; -- case CMD_TEST: -- { -- UInt32 res = GetOperand32(&cmd->Op1) & GetOperand32(&cmd->Op2); -- FLAGS_UPDATE_SZ; -- } -- break; -- case CMD_TESTB: -- { -- Byte res = GetOperand8(&cmd->Op1) & GetOperand8(&cmd->Op2); -- FLAGS_UPDATE_SZ_B; -- } -- break; -- case CMD_NOT: -- SetOperand(cmd->ByteMode, &cmd->Op1, ~GetOperand(cmd->ByteMode, &cmd->Op1)); -- break; -- case CMD_NEG: -- { -- UInt32 res = 0 - GetOperand32(&cmd->Op1); -- SetOperand32(&cmd->Op1, res); -- Flags = res == 0 ? FLAG_Z : FLAG_C | (res & FLAG_S); -- } -- break; -- case CMD_NEGB: -- { -- Byte res = (Byte)(0 - GetOperand8(&cmd->Op1)); -- SetOperand8(&cmd->Op1, res); -- Flags = res == 0 ? FLAG_Z : FLAG_C | GET_FLAG_S_B(res); -- } -- break; -- -- case CMD_SHL: -- { -- UInt32 v1 = GetOperand32(&cmd->Op1); -- int v2 = (int)GetOperand32(&cmd->Op2); -- UInt32 res = v1 << v2; -- SetOperand32(&cmd->Op1, res); -- Flags = (res == 0 ? FLAG_Z : (res & FLAG_S)) | ((v1 << (v2 - 1)) & 0x80000000 ? FLAG_C : 0); -- } -- break; -- case CMD_SHLB: -- { -- Byte v1 = GetOperand8(&cmd->Op1); -- int v2 = (int)GetOperand8(&cmd->Op2); -- Byte res = (Byte)(v1 << v2); -- SetOperand8(&cmd->Op1, res); -- Flags = (res == 0 ? FLAG_Z : GET_FLAG_S_B(res)) | ((v1 << (v2 - 1)) & 0x80 ? FLAG_C : 0); -- } -- break; -- case CMD_SHR: -- { -- UInt32 v1 = GetOperand32(&cmd->Op1); -- int v2 = (int)GetOperand32(&cmd->Op2); -- UInt32 res = v1 >> v2; -- SetOperand32(&cmd->Op1, res); -- Flags = (res == 0 ? FLAG_Z : (res & FLAG_S)) | ((v1 >> (v2 - 1)) & FLAG_C); -- } -- break; -- case CMD_SHRB: -- { -- Byte v1 = GetOperand8(&cmd->Op1); -- int v2 = (int)GetOperand8(&cmd->Op2); -- Byte res = (Byte)(v1 >> v2); -- SetOperand8(&cmd->Op1, res); -- Flags = (res == 0 ? FLAG_Z : GET_FLAG_S_B(res)) | ((v1 >> (v2 - 1)) & FLAG_C); -- } -- break; -- case CMD_SAR: -- { -- UInt32 v1 = GetOperand32(&cmd->Op1); -- int v2 = (int)GetOperand32(&cmd->Op2); -- UInt32 res = UInt32(((Int32)v1) >> v2); -- SetOperand32(&cmd->Op1, res); -- Flags= (res == 0 ? FLAG_Z : (res & FLAG_S)) | ((v1 >> (v2 - 1)) & FLAG_C); -- } -- break; -- case CMD_SARB: -- { -- Byte v1 = GetOperand8(&cmd->Op1); -- int v2 = (int)GetOperand8(&cmd->Op2); -- Byte res = (Byte)(((signed char)v1) >> v2); -- SetOperand8(&cmd->Op1, res); -- Flags= (res == 0 ? FLAG_Z : GET_FLAG_S_B(res)) | ((v1 >> (v2 - 1)) & FLAG_C); -- } -- break; -- -- case CMD_JMP: -- SET_IP_OP1; -- continue; -- case CMD_JZ: -- if ((Flags & FLAG_Z) != 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- case CMD_JNZ: -- if ((Flags & FLAG_Z) == 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- case CMD_JS: -- if ((Flags & FLAG_S) != 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- case CMD_JNS: -- if ((Flags & FLAG_S) == 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- case CMD_JB: -- if ((Flags & FLAG_C) != 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- case CMD_JBE: -- if ((Flags & (FLAG_C | FLAG_Z)) != 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- case CMD_JA: -- if ((Flags & (FLAG_C | FLAG_Z)) == 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- case CMD_JAE: -- if ((Flags & FLAG_C) == 0) -- { -- SET_IP_OP1; -- continue; -- } -- break; -- -- case CMD_PUSH: -- R[kStackRegIndex] -= 4; -- SetValue32(&Mem[R[kStackRegIndex] & kSpaceMask], GetOperand32(&cmd->Op1)); -- break; -- case CMD_POP: -- SetOperand32(&cmd->Op1, GetValue32(&Mem[R[kStackRegIndex] & kSpaceMask])); -- R[kStackRegIndex] += 4; -- break; -- case CMD_CALL: -- R[kStackRegIndex] -= 4; -- SetValue32(&Mem[R[kStackRegIndex] & kSpaceMask], (UInt32)(cmd - commands + 1)); -- SET_IP_OP1; -- continue; -- -- case CMD_PUSHA: -- { -- for (UInt32 i = 0, SP = R[kStackRegIndex] - 4; i < kNumRegs; i++, SP -= 4) -- SetValue32(&Mem[SP & kSpaceMask], R[i]); -- R[kStackRegIndex] -= kNumRegs * 4; -- } -- break; -- case CMD_POPA: -- { -- for (UInt32 i = 0, SP = R[kStackRegIndex]; i < kNumRegs; i++, SP += 4) -- R[kStackRegIndex - i] = GetValue32(&Mem[SP & kSpaceMask]); -- } -- break; -- case CMD_PUSHF: -- R[kStackRegIndex] -= 4; -- SetValue32(&Mem[R[kStackRegIndex]&kSpaceMask], Flags); -- break; -- case CMD_POPF: -- Flags = GetValue32(&Mem[R[kStackRegIndex] & kSpaceMask]); -- R[kStackRegIndex] += 4; -- break; -- -- case CMD_MOVZX: -- SetOperand32(&cmd->Op1, GetOperand8(&cmd->Op2)); -- break; -- case CMD_MOVSX: -- SetOperand32(&cmd->Op1, (UInt32)(Int32)(signed char)GetOperand8(&cmd->Op2)); -- break; -- case CMD_XCHG: -- { -- UInt32 v1 = GetOperand(cmd->ByteMode, &cmd->Op1); -- SetOperand(cmd->ByteMode, &cmd->Op1, GetOperand(cmd->ByteMode, &cmd->Op2)); -- SetOperand(cmd->ByteMode, &cmd->Op2, v1); -- } -- break; -- case CMD_MUL: -- { -- UInt32 res = GetOperand32(&cmd->Op1) * GetOperand32(&cmd->Op2); -- SetOperand32(&cmd->Op1, res); -- } -- break; -- case CMD_MULB: -- { -- Byte res = GetOperand8(&cmd->Op1) * GetOperand8(&cmd->Op2); -- SetOperand8(&cmd->Op1, res); -- } -- break; -- case CMD_DIV: -- { -- UInt32 divider = GetOperand(cmd->ByteMode, &cmd->Op2); -- if (divider != 0) -- { -- UInt32 res = GetOperand(cmd->ByteMode, &cmd->Op1) / divider; -- SetOperand(cmd->ByteMode, &cmd->Op1, res); -- } -- } -- break; -- -- #endif -- -- case CMD_RET: -- { -- if (R[kStackRegIndex] >= kSpaceSize) -- return true; -- UInt32 ip = GetValue32(&Mem[R[kStackRegIndex] & kSpaceMask]); -- SET_IP(ip); -- R[kStackRegIndex] += 4; -- continue; -- } -- case CMD_PRINT: -- break; -- } -- cmd++; -- --maxOpCount; -- } --} -- -- --////////////////////////////////////////////////////// --// Read program -- --UInt32 ReadEncodedUInt32(CMemBitDecoder &inp) --{ -- switch(inp.ReadBits(2)) -- { -- case 0: -- return inp.ReadBits(4); -- case 1: -- { -- UInt32 v = inp.ReadBits(4); -- if (v == 0) -- return 0xFFFFFF00 | inp.ReadBits(8); -- else -- return (v << 4) | inp.ReadBits(4); -- } -- case 2: -- return inp.ReadBits(16); -- default: -- return inp.ReadBits(32); -- } --} -- --void CVm::DecodeArg(CMemBitDecoder &inp, COperand &op, bool byteMode) --{ -- if (inp.ReadBit()) -- { -- op.Type = OP_TYPE_REG; -- op.Data = inp.ReadBits(kNumRegBits); -- } -- else if (inp.ReadBit() == 0) -- { -- op.Type = OP_TYPE_INT; -- if (byteMode) -- op.Data = inp.ReadBits(8); -- else -- op.Data = ReadEncodedUInt32(inp); -- } -- else -- { -- op.Type = OP_TYPE_REGMEM; -- if (inp.ReadBit() == 0) -- { -- op.Data = inp.ReadBits(kNumRegBits); -- op.Base = 0; -- } -- else -- { -- if (inp.ReadBit() == 0) -- op.Data = inp.ReadBits(kNumRegBits); -- else -- op.Data = kNumRegs; -- op.Base = ReadEncodedUInt32(inp); -- } -- } --} -- --void CVm::ReadVmProgram(const Byte *code, UInt32 codeSize, CProgram *prg) --{ -- CMemBitDecoder inp; -- inp.Init(code, codeSize); -- -- prg->StaticData.Clear(); -- if (inp.ReadBit()) -- { -- UInt32 dataSize = ReadEncodedUInt32(inp) + 1; -- for (UInt32 i = 0; inp.Avail() && i < dataSize; i++) -- prg->StaticData.Add((Byte)inp.ReadBits(8)); -- } -- while (inp.Avail()) -- { -- prg->Commands.Add(CCommand()); -- CCommand *cmd = &prg->Commands.Back(); -- if (inp.ReadBit() == 0) -- cmd->OpCode = (ECommand)inp.ReadBits(3); -- else -- cmd->OpCode = (ECommand)(8 + inp.ReadBits(5)); -- if (kCmdFlags[cmd->OpCode] & CF_BYTEMODE) -- cmd->ByteMode = (inp.ReadBit()) ? true : false; -- else -- cmd->ByteMode = 0; -- int opNum = (kCmdFlags[cmd->OpCode] & CF_OPMASK); -- if (opNum > 0) -- { -- DecodeArg(inp, cmd->Op1, cmd->ByteMode); -- if (opNum == 2) -- DecodeArg(inp, cmd->Op2, cmd->ByteMode); -- else -- { -- if (cmd->Op1.Type == OP_TYPE_INT && (kCmdFlags[cmd->OpCode] & (CF_JUMP | CF_PROC))) -- { -- int Distance = cmd->Op1.Data; -- if (Distance >= 256) -- Distance -= 256; -- else -- { -- if (Distance >= 136) -- Distance -= 264; -- else if (Distance >= 16) -- Distance -= 8; -- else if (Distance >= 8) -- Distance -= 16; -- Distance += prg->Commands.Size() - 1; -- } -- cmd->Op1.Data = Distance; -- } -- } -- } -- if (cmd->ByteMode) -- { -- switch (cmd->OpCode) -- { -- case CMD_MOV: cmd->OpCode = CMD_MOVB; break; -- case CMD_CMP: cmd->OpCode = CMD_CMPB; break; -- case CMD_ADD: cmd->OpCode = CMD_ADDB; break; -- case CMD_SUB: cmd->OpCode = CMD_SUBB; break; -- case CMD_INC: cmd->OpCode = CMD_INCB; break; -- case CMD_DEC: cmd->OpCode = CMD_DECB; break; -- case CMD_XOR: cmd->OpCode = CMD_XORB; break; -- case CMD_AND: cmd->OpCode = CMD_ANDB; break; -- case CMD_OR: cmd->OpCode = CMD_ORB; break; -- case CMD_TEST: cmd->OpCode = CMD_TESTB; break; -- case CMD_NEG: cmd->OpCode = CMD_NEGB; break; -- case CMD_SHL: cmd->OpCode = CMD_SHLB; break; -- case CMD_SHR: cmd->OpCode = CMD_SHRB; break; -- case CMD_SAR: cmd->OpCode = CMD_SARB; break; -- case CMD_MUL: cmd->OpCode = CMD_MULB; break; -- } -- } -- } --} -- --#ifdef RARVM_STANDARD_FILTERS -- --enum EStandardFilter --{ -- SF_E8, -- SF_E8E9, -- SF_ITANIUM, -- SF_RGB, -- SF_AUDIO, -- SF_DELTA, -- SF_UPCASE --}; -- --struct StandardFilterSignature --{ -- UInt32 Length; -- UInt32 CRC; -- EStandardFilter Type; --} --kStdFilters[]= --{ -- { 53, 0xad576887, SF_E8 }, -- { 57, 0x3cd7e57e, SF_E8E9 }, -- { 120, 0x3769893f, SF_ITANIUM }, -- { 29, 0x0e06077d, SF_DELTA }, -- { 149, 0x1c2c5dc8, SF_RGB }, -- { 216, 0xbc85e701, SF_AUDIO }, -- { 40, 0x46b9c560, SF_UPCASE } --}; -- --static int FindStandardFilter(const Byte *code, UInt32 codeSize) --{ -- UInt32 crc = CrcCalc(code, codeSize); -- for (int i = 0; i < sizeof(kStdFilters) / sizeof(kStdFilters[0]); i++) -- { -- StandardFilterSignature &sfs = kStdFilters[i]; -- if (sfs.CRC == crc && sfs.Length == codeSize) -- return i; -- } -- return -1; --} -- --#endif -- --void CVm::PrepareProgram(const Byte *code, UInt32 codeSize, CProgram *prg) --{ -- Byte xorSum = 0; -- for (UInt32 i = 1; i < codeSize; i++) -- xorSum ^= code[i]; -- -- prg->Commands.Clear(); -- #ifdef RARVM_STANDARD_FILTERS -- prg->StandardFilterIndex = -1; -- #endif -- -- if (xorSum == code[0] && codeSize > 0) -- { -- #ifdef RARVM_STANDARD_FILTERS -- prg->StandardFilterIndex = FindStandardFilter(code, codeSize); -- if (prg->StandardFilterIndex >= 0) -- return; -- #endif -- // 1 byte for checksum -- ReadVmProgram(code + 1, codeSize - 1, prg); -- } -- prg->Commands.Add(CCommand()); -- CCommand *cmd = &prg->Commands.Back(); -- cmd->OpCode = CMD_RET; --} -- --void CVm::SetMemory(UInt32 pos, const Byte *data, UInt32 dataSize) --{ -- if (pos < kSpaceSize && data != Mem + pos) -- memmove(Mem + pos, data, MyMin(dataSize, kSpaceSize - pos)); --} -- --#ifdef RARVM_STANDARD_FILTERS -- --static void E8E9Decode(Byte *data, UInt32 dataSize, UInt32 fileOffset, bool e9) --{ -- if (dataSize <= 4) -- return; -- dataSize -= 4; -- const UInt32 kFileSize = 0x1000000; -- Byte cmpByte2 = (e9 ? 0xE9 : 0xE8); -- for (UInt32 curPos = 0; curPos < dataSize;) -- { -- Byte curByte = *(data++); -- curPos++; -- if (curByte == 0xE8 || curByte == cmpByte2) -- { -- UInt32 offset = curPos + fileOffset; -- UInt32 addr = (Int32)GetValue32(data); -- if (addr < kFileSize) -- SetValue32(data, addr - offset); -- else if ((Int32)addr < 0 && (Int32)(addr + offset) >= 0) -- SetValue32(data, addr + kFileSize); -- data += 4; -- curPos += 4; -- } -- } --} -- --static inline UInt32 ItaniumGetOpType(const Byte *data, int bitPos) --{ -- return (data[(unsigned int)bitPos >> 3] >> (bitPos & 7)) & 0xF; --} -- -- --static void ItaniumDecode(Byte *data, UInt32 dataSize, UInt32 fileOffset) --{ -- UInt32 curPos = 0; -- fileOffset >>= 4; -- while (curPos < dataSize - 21) -- { -- int b = (data[0] & 0x1F) - 0x10; -- if (b >= 0) -- { -- static Byte kCmdMasks[16] = {4,4,6,6,0,0,7,7,4,4,0,0,4,4,0,0}; -- Byte cmdMask = kCmdMasks[b]; -- if (cmdMask != 0) -- for (int i = 0; i < 3; i++) -- if (cmdMask & (1 << i)) -- { -- int startPos = i * 41 + 18; -- if (ItaniumGetOpType(data, startPos + 24) == 5) -- { -- const UInt32 kMask = 0xFFFFF; -- Byte *p = data + ((unsigned int)startPos >> 3); -- UInt32 bitField = ((UInt32)p[0]) | ((UInt32)p[1] << 8) | ((UInt32)p[2] << 16); -- int inBit = (startPos & 7); -- UInt32 offset = (bitField >> inBit) & kMask; -- UInt32 andMask = ~(kMask << inBit); -- bitField = ((offset - fileOffset) & kMask) << inBit; -- for (int j = 0; j < 3; j++) -- { -- p[j] &= andMask; -- p[j] |= bitField; -- andMask >>= 8; -- bitField >>= 8; -- } -- } -- } -- } -- data += 16; -- curPos += 16; -- fileOffset++; -- } --} -- --static void DeltaDecode(Byte *data, UInt32 dataSize, UInt32 numChannels) --{ -- UInt32 srcPos = 0; -- UInt32 border = dataSize * 2; -- for (UInt32 curChannel = 0; curChannel < numChannels; curChannel++) -- { -- Byte prevByte = 0; -- for (UInt32 destPos = dataSize + curChannel; destPos < border; destPos += numChannels) -- data[destPos] = (prevByte = prevByte - data[srcPos++]); -- } --} -- --static void RgbDecode(Byte *srcData, UInt32 dataSize, UInt32 width, UInt32 posR) --{ -- Byte *destData = srcData + dataSize; -- const UInt32 numChannels = 3; -- for (UInt32 curChannel = 0; curChannel < numChannels; curChannel++) -- { -- Byte prevByte = 0; -- -- for (UInt32 i = curChannel; i < dataSize; i+= numChannels) -- { -- unsigned int predicted; -- if (i < width) -- predicted = prevByte; -- else -- { -- unsigned int upperLeftByte = destData[i - width]; -- unsigned int upperByte = destData[i - width + 3]; -- predicted = prevByte + upperByte - upperLeftByte; -- int pa = abs((int)(predicted - prevByte)); -- int pb = abs((int)(predicted - upperByte)); -- int pc = abs((int)(predicted - upperLeftByte)); -- if (pa <= pb && pa <= pc) -- predicted = prevByte; -- else -- if (pb <= pc) -- predicted = upperByte; -- else -- predicted = upperLeftByte; -- } -- destData[i] = prevByte = (Byte)(predicted - *(srcData++)); -- } -- } -- if (dataSize < 3) -- return; -- for (UInt32 i = posR, border = dataSize - 2; i < border; i += 3) -- { -- Byte g = destData[i + 1]; -- destData[i] = destData[i] + g; -- destData[i + 2] = destData[i + 2] + g; -- } --} -- --static void AudioDecode(Byte *srcData, UInt32 dataSize, UInt32 numChannels) --{ -- Byte *destData = srcData + dataSize; -- for (UInt32 curChannel = 0; curChannel < numChannels; curChannel++) -- { -- UInt32 prevByte = 0, prevDelta = 0, dif[7]; -- Int32 D1 = 0, D2 = 0, D3; -- Int32 K1 = 0, K2 = 0, K3 = 0; -- memset(dif, 0, sizeof(dif)); -- -- for (UInt32 i = curChannel, byteCount = 0; i < dataSize; i += numChannels, byteCount++) -- { -- D3 = D2; -- D2 = prevDelta - D1; -- D1 = prevDelta; -- -- UInt32 predicted = 8 * prevByte + K1 * D1 + K2 * D2 + K3 * D3; -- predicted = (predicted >> 3) & 0xFF; -- -- UInt32 curByte = *(srcData++); -- -- predicted -= curByte; -- destData[i] = (Byte)predicted; -- prevDelta = (UInt32)(Int32)(signed char)(predicted - prevByte); -- prevByte = predicted; -- -- Int32 D = ((Int32)(signed char)curByte) << 3; -- -- dif[0] += abs(D); -- dif[1] += abs(D - D1); -- dif[2] += abs(D + D1); -- dif[3] += abs(D - D2); -- dif[4] += abs(D + D2); -- dif[5] += abs(D - D3); -- dif[6] += abs(D + D3); -- -- if ((byteCount & 0x1F) == 0) -- { -- UInt32 minDif = dif[0], numMinDif = 0; -- dif[0] = 0; -- for (int j = 1; j < sizeof(dif) / sizeof(dif[0]); j++) -- { -- if (dif[j] < minDif) -- { -- minDif = dif[j]; -- numMinDif = j; -- } -- dif[j] = 0; -- } -- switch (numMinDif) -- { -- case 1: if (K1 >= -16) K1--; break; -- case 2: if (K1 < 16) K1++; break; -- case 3: if (K2 >= -16) K2--; break; -- case 4: if (K2 < 16) K2++; break; -- case 5: if (K3 >= -16) K3--; break; -- case 6: if (K3 < 16) K3++; break; -- } -- } -- } -- } --} -- --static UInt32 UpCaseDecode(Byte *data, UInt32 dataSize) --{ -- UInt32 srcPos = 0, destPos = dataSize; -- while (srcPos < dataSize) -- { -- Byte curByte = data[srcPos++]; -- if (curByte == 2 && (curByte = data[srcPos++]) != 2) -- curByte -= 32; -- data[destPos++] = curByte; -- } -- return destPos - dataSize; --} -- --void CVm::ExecuteStandardFilter(int filterIndex) --{ -- UInt32 dataSize = R[4]; -- if (dataSize >= kGlobalOffset) -- return; -- EStandardFilter filterType = kStdFilters[filterIndex].Type; -- -- switch (filterType) -- { -- case SF_E8: -- case SF_E8E9: -- E8E9Decode(Mem, dataSize, R[6], (filterType == SF_E8E9)); -- break; -- case SF_ITANIUM: -- ItaniumDecode(Mem, dataSize, R[6]); -- break; -- case SF_DELTA: -- if (dataSize >= kGlobalOffset / 2) -- break; -- SetBlockPos(dataSize); -- DeltaDecode(Mem, dataSize, R[0]); -- break; -- case SF_RGB: -- if (dataSize >= kGlobalOffset / 2) -- break; -- { -- UInt32 width = R[0]; -- if (width <= 3) -- break; -- SetBlockPos(dataSize); -- RgbDecode(Mem, dataSize, width, R[1]); -- } -- break; -- case SF_AUDIO: -- if (dataSize >= kGlobalOffset / 2) -- break; -- SetBlockPos(dataSize); -- AudioDecode(Mem, dataSize, R[0]); -- break; -- case SF_UPCASE: -- if (dataSize >= kGlobalOffset / 2) -- break; -- UInt32 destSize = UpCaseDecode(Mem, dataSize); -- SetBlockSize(destSize); -- SetBlockPos(dataSize); -- break; -- } --} -- --#endif -- --}}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.h ---- p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.h 2009-02-07 15:06:28.000000000 -0200 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,179 +0,0 @@ --// Rar3Vm.h --// According to unRAR license, this code may not be used to develop --// a program that creates RAR archives -- --#ifndef __COMPRESS_RAR3_VM_H --#define __COMPRESS_RAR3_VM_H -- --#include "../../../C/CpuArch.h" -- --#include "Common/MyVector.h" --#include "Common/Types.h" -- --#define RARVM_STANDARD_FILTERS -- --namespace NCompress { --namespace NRar3 { -- --class CMemBitDecoder --{ -- const Byte *_data; -- UInt32 _bitSize; -- UInt32 _bitPos; --public: -- void Init(const Byte *data, UInt32 byteSize) -- { -- _data = data; -- _bitSize = (byteSize << 3); -- _bitPos = 0; -- } -- UInt32 ReadBits(int numBits); -- UInt32 ReadBit(); -- bool Avail() const { return (_bitPos < _bitSize); } --}; -- --namespace NVm { -- --inline UInt32 GetValue32(const void *addr) { return GetUi32(addr); } --inline void SetValue32(void *addr, UInt32 value) { SetUi32(addr, value); } -- --UInt32 ReadEncodedUInt32(CMemBitDecoder &inp); -- --const int kNumRegBits = 3; --const UInt32 kNumRegs = 1 << kNumRegBits; --const UInt32 kNumGpRegs = kNumRegs - 1; -- --const UInt32 kSpaceSize = 0x40000; --const UInt32 kSpaceMask = kSpaceSize -1; --const UInt32 kGlobalOffset = 0x3C000; --const UInt32 kGlobalSize = 0x2000; --const UInt32 kFixedGlobalSize = 64; -- --namespace NGlobalOffset --{ -- const UInt32 kBlockSize = 0x1C; -- const UInt32 kBlockPos = 0x20; -- const UInt32 kExecCount = 0x2C; -- const UInt32 kGlobalMemOutSize = 0x30; --} -- --enum ECommand --{ -- CMD_MOV, CMD_CMP, CMD_ADD, CMD_SUB, CMD_JZ, CMD_JNZ, CMD_INC, CMD_DEC, -- CMD_JMP, CMD_XOR, CMD_AND, CMD_OR, CMD_TEST, CMD_JS, CMD_JNS, CMD_JB, -- CMD_JBE, CMD_JA, CMD_JAE, CMD_PUSH, CMD_POP, CMD_CALL, CMD_RET, CMD_NOT, -- CMD_SHL, CMD_SHR, CMD_SAR, CMD_NEG, CMD_PUSHA,CMD_POPA, CMD_PUSHF,CMD_POPF, -- CMD_MOVZX,CMD_MOVSX,CMD_XCHG, CMD_MUL, CMD_DIV, CMD_ADC, CMD_SBB, CMD_PRINT, -- -- CMD_MOVB, CMD_CMPB, CMD_ADDB, CMD_SUBB, CMD_INCB, CMD_DECB, -- CMD_XORB, CMD_ANDB, CMD_ORB, CMD_TESTB,CMD_NEGB, -- CMD_SHLB, CMD_SHRB, CMD_SARB, CMD_MULB --}; -- --enum EOpType {OP_TYPE_REG, OP_TYPE_INT, OP_TYPE_REGMEM, OP_TYPE_NONE}; -- --// Addr in COperand object can link (point) to CVm object!!! -- --struct COperand --{ -- EOpType Type; -- UInt32 Data; -- UInt32 Base; -- COperand(): Type(OP_TYPE_NONE), Data(0), Base(0) {} --}; -- --struct CCommand --{ -- ECommand OpCode; -- bool ByteMode; -- COperand Op1, Op2; --}; -- --struct CBlockRef --{ -- UInt32 Offset; -- UInt32 Size; --}; -- --struct CProgram --{ -- CRecordVector Commands; -- #ifdef RARVM_STANDARD_FILTERS -- int StandardFilterIndex; -- #endif -- CRecordVector StaticData; --}; -- --struct CProgramInitState --{ -- UInt32 InitR[kNumGpRegs]; -- CRecordVector GlobalData; -- -- void AllocateEmptyFixedGlobal() -- { -- GlobalData.Clear(); -- GlobalData.Reserve(NVm::kFixedGlobalSize); -- for (UInt32 i = 0; i < NVm::kFixedGlobalSize; i++) -- GlobalData.Add(0); -- } --}; -- --class CVm --{ -- static UInt32 GetValue(bool byteMode, const void *addr) -- { -- if (byteMode) -- return(*(const Byte *)addr); -- else -- return GetUi32(addr); -- } -- -- static void SetValue(bool byteMode, void *addr, UInt32 value) -- { -- if (byteMode) -- *(Byte *)addr = (Byte)value; -- else -- SetUi32(addr, value); -- } -- -- UInt32 GetFixedGlobalValue32(UInt32 globalOffset) { return GetValue(false, &Mem[kGlobalOffset + globalOffset]); } -- -- void SetBlockSize(UInt32 v) { SetValue(&Mem[kGlobalOffset + NGlobalOffset::kBlockSize], v); } -- void SetBlockPos(UInt32 v) { SetValue(&Mem[kGlobalOffset + NGlobalOffset::kBlockPos], v); } --public: -- static void SetValue(void *addr, UInt32 value) { SetValue(false, addr, value); } --private: -- UInt32 GetOperand32(const COperand *op) const; -- void SetOperand32(const COperand *op, UInt32 val); -- Byte GetOperand8(const COperand *op) const; -- void SetOperand8(const COperand *op, Byte val); -- UInt32 GetOperand(bool byteMode, const COperand *op) const; -- void SetOperand(bool byteMode, const COperand *op, UInt32 val); -- -- void DecodeArg(CMemBitDecoder &inp, COperand &op, bool byteMode); -- -- bool ExecuteCode(const CProgram *prg); -- -- #ifdef RARVM_STANDARD_FILTERS -- void ExecuteStandardFilter(int filterIndex); -- #endif -- -- Byte *Mem; -- UInt32 R[kNumRegs + 1]; // R[kNumRegs] = 0 always (speed optimization) -- UInt32 Flags; -- void ReadVmProgram(const Byte *code, UInt32 codeSize, CProgram *prg); --public: -- CVm(); -- ~CVm(); -- bool Create(); -- void PrepareProgram(const Byte *code, UInt32 codeSize, CProgram *prg); -- void SetMemory(UInt32 pos, const Byte *data, UInt32 dataSize); -- bool Execute(CProgram *prg, const CProgramInitState *initState, -- CBlockRef &outBlockRef, CRecordVector &outGlobalData); -- const Byte *GetDataPointer(UInt32 offset) const { return Mem + offset; } -- --}; -- --#endif -- --}}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp ---- p7zip_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp 2009-02-07 15:06:28.000000000 -0200 -+++ p7zip-libre_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,26 +0,0 @@ --// RarCodecsRegister.cpp -- --#include "StdAfx.h" -- --#include "../Common/RegisterCodec.h" -- --#include "Rar1Decoder.h" --#include "Rar2Decoder.h" --#include "Rar3Decoder.h" -- --#define CREATE_CODEC(x) static void *CreateCodec ## x() { return (void *)(ICompressCoder *)(new NCompress::NRar ## x::CDecoder); } -- --CREATE_CODEC(1) --CREATE_CODEC(2) --CREATE_CODEC(3) -- --#define RAR_CODEC(x, name) { CreateCodec ## x, 0, 0x040300 + x, L"Rar" name, 1, false } -- --static CCodecInfo g_CodecsInfo[] = --{ -- RAR_CODEC(1, L"1"), -- RAR_CODEC(2, L"2"), -- RAR_CODEC(3, L"3"), --}; -- --REGISTER_CODECS(Rar) -diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp ---- p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp 2009-05-30 17:19:19.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,133 +0,0 @@ --// Crypto/Rar20Crypto.cpp -- --#include "StdAfx.h" -- --#include "../../../C/7zCrc.h" --#include "../../../C/CpuArch.h" --#include "../../../C/RotateDefs.h" -- --#include "Rar20Crypto.h" -- --namespace NCrypto { --namespace NRar20 { -- --static const int kNumRounds = 32; -- --static const Byte InitSubstTable[256] = { -- 215, 19,149, 35, 73,197,192,205,249, 28, 16,119, 48,221, 2, 42, -- 232, 1,177,233, 14, 88,219, 25,223,195,244, 90, 87,239,153,137, -- 255,199,147, 70, 92, 66,246, 13,216, 40, 62, 29,217,230, 86, 6, -- 71, 24,171,196,101,113,218,123, 93, 91,163,178,202, 67, 44,235, -- 107,250, 75,234, 49,167,125,211, 83,114,157,144, 32,193,143, 36, -- 158,124,247,187, 89,214,141, 47,121,228, 61,130,213,194,174,251, -- 97,110, 54,229,115, 57,152, 94,105,243,212, 55,209,245, 63, 11, -- 164,200, 31,156, 81,176,227, 21, 76, 99,139,188,127, 17,248, 51, -- 207,120,189,210, 8,226, 41, 72,183,203,135,165,166, 60, 98, 7, -- 122, 38,155,170, 69,172,252,238, 39,134, 59,128,236, 27,240, 80, -- 131, 3, 85,206,145, 79,154,142,159,220,201,133, 74, 64, 20,129, -- 224,185,138,103,173,182, 43, 34,254, 82,198,151,231,180, 58, 10, -- 118, 26,102, 12, 50,132, 22,191,136,111,162,179, 45, 4,148,108, -- 161, 56, 78,126,242,222, 15,175,146, 23, 33,241,181,190, 77,225, -- 0, 46,169,186, 68, 95,237, 65, 53,208,253,168, 9, 18,100, 52, -- 116,184,160, 96,109, 37, 30,106,140,104,150, 5,204,117,112, 84 --}; -- --void CData::UpdateKeys(const Byte *data) --{ -- for (int i = 0; i < 16; i += 4) -- for (int j = 0; j < 4; j++) -- Keys[j] ^= g_CrcTable[data[i + j]]; --} -- --static void Swap(Byte *b1, Byte *b2) --{ -- Byte b = *b1; -- *b1 = *b2; -- *b2 = b; --} -- --void CData::SetPassword(const Byte *password, UInt32 passwordLen) --{ -- Keys[0] = 0xD3A3B879L; -- Keys[1] = 0x3F6D12F7L; -- Keys[2] = 0x7515A235L; -- Keys[3] = 0xA4E7F123L; -- -- Byte psw[256]; -- memset(psw, 0, sizeof(psw)); -- memcpy(psw, password, passwordLen); -- memcpy(SubstTable, InitSubstTable, sizeof(SubstTable)); -- -- for (UInt32 j = 0; j < 256; j++) -- for (UInt32 i = 0; i < passwordLen; i += 2) -- { -- UInt32 n2 = (Byte)g_CrcTable[(psw[i + 1] + j) & 0xFF]; -- UInt32 n1 = (Byte)g_CrcTable[(psw[i] - j) & 0xFF]; -- for (UInt32 k = 1; (n1 & 0xFF) != n2; n1++, k++) -- Swap(&SubstTable[n1 & 0xFF], &SubstTable[(n1 + i + k) & 0xFF]); -- } -- for (UInt32 i = 0; i < passwordLen; i+= 16) -- EncryptBlock(&psw[i]); --} -- --void CData::CryptBlock(Byte *buf, bool encrypt) --{ -- Byte inBuf[16]; -- UInt32 A, B, C, D, T, TA, TB; -- -- A = GetUi32(buf + 0) ^ Keys[0]; -- B = GetUi32(buf + 4) ^ Keys[1]; -- C = GetUi32(buf + 8) ^ Keys[2]; -- D = GetUi32(buf + 12) ^ Keys[3]; -- -- if (!encrypt) -- memcpy(inBuf, buf, sizeof(inBuf)); -- -- for (int i = 0; i < kNumRounds; i++) -- { -- UInt32 key = Keys[(encrypt ? i : (kNumRounds - 1 - i)) & 3]; -- T = ((C + rotlFixed(D, 11)) ^ key); -- TA = A ^ SubstLong(T); -- T = ((D ^ rotlFixed(C, 17)) + key); -- TB = B ^ SubstLong(T); -- A = C; -- B = D; -- C = TA; -- D = TB; -- } -- -- SetUi32(buf + 0, C ^ Keys[0]); -- SetUi32(buf + 4, D ^ Keys[1]); -- SetUi32(buf + 8, A ^ Keys[2]); -- SetUi32(buf + 12, B ^ Keys[3]); -- -- UpdateKeys(encrypt ? buf : inBuf); --} -- --STDMETHODIMP CDecoder::CryptoSetPassword(const Byte *data, UInt32 size) --{ -- _cipher.SetPassword(data, size); -- return S_OK; --} -- --STDMETHODIMP CDecoder::Init() --{ -- return S_OK; --} -- --static const UInt32 kBlockSize = 16; -- --STDMETHODIMP_(UInt32) CDecoder::Filter(Byte *data, UInt32 size) --{ -- if (size == 0) -- return 0; -- if (size < kBlockSize) -- return kBlockSize; -- UInt32 i; -- size -= kBlockSize; -- for (i = 0; i <= size; i += kBlockSize) -- _cipher.DecryptBlock(data + i); -- return i; --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h ---- p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h 2009-02-07 15:07:19.000000000 -0200 -+++ p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,50 +0,0 @@ --// Crypto/Rar20Crypto.h -- --#ifndef __CRYPTO_RAR20_CRYPTO_H --#define __CRYPTO_RAR20_CRYPTO_H -- --#include "Common/MyCom.h" -- --#include "../ICoder.h" --#include "../IPassword.h" -- --namespace NCrypto { --namespace NRar20 { -- --class CData --{ -- Byte SubstTable[256]; -- UInt32 Keys[4]; -- -- UInt32 SubstLong(UInt32 t) -- { -- return (UInt32)SubstTable[(int)t & 255] | -- ((UInt32)SubstTable[(int)(t >> 8) & 255] << 8) | -- ((UInt32)SubstTable[(int)(t >> 16) & 255] << 16) | -- ((UInt32)SubstTable[(int)(t >> 24) & 255] << 24); -- } -- void UpdateKeys(const Byte *data); -- void CryptBlock(Byte *buf, bool encrypt); --public: -- void EncryptBlock(Byte *buf) { CryptBlock(buf, true); } -- void DecryptBlock(Byte *buf) { CryptBlock(buf, false); } -- void SetPassword(const Byte *password, UInt32 passwordLen); --}; -- --class CDecoder: -- public ICompressFilter, -- public ICryptoSetPassword, -- public CMyUnknownImp --{ -- CData _cipher; --public: -- MY_UNKNOWN_IMP1(ICryptoSetPassword) -- -- STDMETHOD(Init)(); -- STDMETHOD_(UInt32, Filter)(Byte *data, UInt32 size); -- STDMETHOD(CryptoSetPassword)(const Byte *data, UInt32 size); --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/RarAes.cpp p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.cpp ---- p7zip_9.20.1/CPP/7zip/Crypto/RarAes.cpp 2010-10-20 01:56:08.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.cpp 1969-12-31 21:00:00.000000000 -0300 -@@ -1,134 +0,0 @@ --// Crypto/RarAes.cpp --// Note: you must include MyAes.cpp to project to initialize AES tables -- --#include "StdAfx.h" -- --#include "RarAes.h" --#include "Sha1.h" -- --namespace NCrypto { --namespace NRar29 { -- --CDecoder::CDecoder(): -- _thereIsSalt(false), -- _needCalculate(true), -- _rar350Mode(false) --{ -- for (int i = 0; i < sizeof(_salt); i++) -- _salt[i] = 0; --} -- --STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size) --{ -- bool thereIsSaltPrev = _thereIsSalt; -- _thereIsSalt = false; -- if (size == 0) -- return S_OK; -- if (size < 8) -- return E_INVALIDARG; -- _thereIsSalt = true; -- bool same = false; -- if (_thereIsSalt == thereIsSaltPrev) -- { -- same = true; -- if (_thereIsSalt) -- { -- for (unsigned i = 0; i < sizeof(_salt); i++) -- if (_salt[i] != data[i]) -- { -- same = false; -- break; -- } -- } -- } -- for (unsigned i = 0; i < sizeof(_salt); i++) -- _salt[i] = data[i]; -- if (!_needCalculate && !same) -- _needCalculate = true; -- return S_OK; --} -- --static const unsigned kMaxPasswordLength = 127 * 2; -- --STDMETHODIMP CDecoder::CryptoSetPassword(const Byte *data, UInt32 size) --{ -- if (size > kMaxPasswordLength) -- size = kMaxPasswordLength; -- bool same = false; -- if (size == buffer.GetCapacity()) -- { -- same = true; -- for (UInt32 i = 0; i < size; i++) -- if (data[i] != buffer[i]) -- { -- same = false; -- break; -- } -- } -- if (!_needCalculate && !same) -- _needCalculate = true; -- buffer.SetCapacity(size); -- memcpy(buffer, data, size); -- return S_OK; --} -- --STDMETHODIMP CDecoder::Init() --{ -- Calculate(); -- SetKey(aesKey, kRarAesKeySize); -- AesCbc_Init(_aes + _offset, _aesInit); -- return S_OK; --} -- --void CDecoder::Calculate() --{ -- if (_needCalculate) -- { -- const unsigned kSaltSize = 8; -- -- Byte rawPassword[kMaxPasswordLength + kSaltSize]; -- -- memcpy(rawPassword, buffer, buffer.GetCapacity()); -- -- size_t rawLength = buffer.GetCapacity(); -- -- if (_thereIsSalt) -- { -- memcpy(rawPassword + rawLength, _salt, kSaltSize); -- rawLength += kSaltSize; -- } -- -- NSha1::CContext sha; -- sha.Init(); -- -- // rar reverts hash for sha. -- const unsigned kNumRounds = (1 << 18); -- unsigned i; -- for (i = 0; i < kNumRounds; i++) -- { -- sha.UpdateRar(rawPassword, rawLength, _rar350Mode); -- Byte pswNum[3] = { (Byte)i, (Byte)(i >> 8), (Byte)(i >> 16) }; -- sha.UpdateRar(pswNum, 3, _rar350Mode); -- if (i % (kNumRounds / 16) == 0) -- { -- NSha1::CContext shaTemp = sha; -- Byte digest[NSha1::kDigestSize]; -- shaTemp.Final(digest); -- _aesInit[i / (kNumRounds / 16)] = (Byte)digest[4 * 4 + 3]; -- } -- } -- /* -- // it's test message for sha -- const char *message = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"; -- sha.Update((const Byte *)message, strlen(message)); -- */ -- Byte digest[20]; -- sha.Final(digest); -- for (i = 0; i < 4; i++) -- for (unsigned j = 0; j < 4; j++) -- aesKey[i * 4 + j] = (digest[i * 4 + 3 - j]); -- } -- _needCalculate = false; --} -- --}} -diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/RarAes.h p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.h ---- p7zip_9.20.1/CPP/7zip/Crypto/RarAes.h 2009-12-21 08:46:19.000000000 -0300 -+++ p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.h 1969-12-31 21:00:00.000000000 -0300 -@@ -1,47 +0,0 @@ --// Crypto/RarAes.h -- --#ifndef __CRYPTO_RAR_AES_H --#define __CRYPTO_RAR_AES_H -- --#include "../../../C/Aes.h" -- --#include "Common/Buffer.h" -- --#include "../IPassword.h" -- --#include "MyAes.h" -- --namespace NCrypto { --namespace NRar29 { -- --const UInt32 kRarAesKeySize = 16; -- --class CDecoder: -- public CAesCbcDecoder, -- public ICompressSetDecoderProperties2, -- public ICryptoSetPassword --{ -- Byte _salt[8]; -- bool _thereIsSalt; -- CByteBuffer buffer; -- Byte aesKey[kRarAesKeySize]; -- Byte _aesInit[AES_BLOCK_SIZE]; -- bool _needCalculate; -- bool _rar350Mode; -- -- void Calculate(); --public: -- MY_UNKNOWN_IMP2( -- ICryptoSetPassword, -- ICompressSetDecoderProperties2) -- STDMETHOD(Init)(); -- STDMETHOD(CryptoSetPassword)(const Byte *aData, UInt32 aSize); -- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size); -- -- CDecoder(); -- void SetRar350Mode(bool rar350Mode) { _rar350Mode = rar350Mode; } --}; -- --}} -- --#endif -diff -ruNa p7zip_9.20.1/DOCS/unRarLicense.txt p7zip-libre_9.20.1/DOCS/unRarLicense.txt ---- p7zip_9.20.1/DOCS/unRarLicense.txt 2008-08-01 06:56:23.000000000 -0300 -+++ p7zip-libre_9.20.1/DOCS/unRarLicense.txt 1969-12-31 21:00:00.000000000 -0300 -@@ -1,41 +0,0 @@ -- ****** ***** ****** unRAR - free utility for RAR archives -- ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ****** ******* ****** License for use and distribution of -- ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ** ** ** ** ** ** FREE portable version -- ~~~~~~~~~~~~~~~~~~~~~ -- -- The source code of unRAR utility is freeware. This means: -- -- 1. All copyrights to RAR and the utility unRAR are exclusively -- owned by the author - Alexander Roshal. -- -- 2. The unRAR sources may be used in any software to handle RAR -- archives without limitations free of charge, but cannot be used -- to re-create the RAR compression algorithm, which is proprietary. -- Distribution of modified unRAR sources in separate form or as a -- part of other software is permitted, provided that it is clearly -- stated in the documentation and source comments that the code may -- not be used to develop a RAR (WinRAR) compatible archiver. -- -- 3. The unRAR utility may be freely distributed. No person or company -- may charge a fee for the distribution of unRAR without written -- permission from the copyright holder. -- -- 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS". -- NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT -- YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, -- DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING -- OR MISUSING THIS SOFTWARE. -- -- 5. Installing and using the unRAR utility signifies acceptance of -- these terms and conditions of the license. -- -- 6. If you don't agree with terms of the license you must remove -- unRAR files from your storage devices and cease to use the -- utility. -- -- Thank you for your interest in RAR and unRAR. -- -- -- Alexander L. Roshal -\ No hay ningún carácter de nueva línea al final del fichero -diff -ruNa p7zip_9.20.1/makefile p7zip-libre_9.20.1/makefile ---- p7zip_9.20.1/makefile 2011-03-13 08:52:45.000000000 -0300 -+++ p7zip-libre_9.20.1/makefile 2011-09-07 15:41:14.000000000 -0300 -@@ -56,7 +56,6 @@ - $(MAKE) -C CPP/7zip/UI/Client7z depend - $(MAKE) -C CPP/7zip/UI/Console depend - $(MAKE) -C CPP/7zip/Bundles/Format7zFree depend -- $(MAKE) -C CPP/7zip/Compress/Rar depend - $(MAKE) -C CPP/7zip/UI/GUI depend - $(MAKE) -C CPP/7zip/UI/FileManager depend - $(MAKE) -C check/my_86_filter depend -@@ -68,7 +67,6 @@ - common7z:common - $(MKDIR) bin/Codecs - $(MAKE) -C CPP/7zip/Bundles/Format7zFree all -- $(MAKE) -C CPP/7zip/Compress/Rar all - - 7z: common7z - $(MAKE) -C CPP/7zip/UI/Console all -@@ -93,7 +91,6 @@ - $(MAKE) -C CPP/7zip/UI/FileManager clean - $(MAKE) -C CPP/7zip/UI/GUI clean - $(MAKE) -C CPP/7zip/Bundles/Format7zFree clean -- $(MAKE) -C CPP/7zip/Compress/Rar clean - $(MAKE) -C CPP/7zip/Compress/LZMA_Alone clean - $(MAKE) -C CPP/7zip/Bundles/AloneGCOV clean - $(MAKE) -C CPP/7zip/TEST/TestUI clean -diff -ruNa p7zip_9.20.1/makefile.oldmake p7zip-libre_9.20.1/makefile.oldmake ---- p7zip_9.20.1/makefile.oldmake 2011-03-13 08:53:08.000000000 -0300 -+++ p7zip-libre_9.20.1/makefile.oldmake 2011-09-07 15:41:14.000000000 -0300 -@@ -56,7 +56,6 @@ - cd CPP/7zip/UI/Client7z ; $(MAKE) depend - cd CPP/7zip/UI/Console ; $(MAKE) depend - cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) depend -- cd CPP/7zip/Compress/Rar ; $(MAKE) depend - cd CPP/7zip/UI/GUI ; $(MAKE) depend - cd CPP/7zip/UI/FileManager ; $(MAKE) depend - cd check/my_86_filter ; $(MAKE) depend -@@ -68,7 +67,6 @@ - common7z:common - $(MKDIR) bin/Codecs - cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) all -- cd CPP/7zip/Compress/Rar ; $(MAKE) all - - 7z: common7z - cd CPP/7zip/UI/Console ; $(MAKE) all -@@ -93,7 +91,6 @@ - cd CPP/7zip/UI/FileManager ; $(MAKE) clean - cd CPP/7zip/UI/GUI ; $(MAKE) clean - cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) clean -- cd CPP/7zip/Compress/Rar ; $(MAKE) clean - cd CPP/7zip/Compress/LZMA_Alone ; $(MAKE) clean - cd CPP/7zip/Bundles/AloneGCOV ; $(MAKE) clean - cd CPP/7zip/TEST/TestUI ; $(MAKE) clean -diff -ruNa p7zip_9.20.1/makefile.qnx_shared.so p7zip-libre_9.20.1/makefile.qnx_shared.so ---- p7zip_9.20.1/makefile.qnx_shared.so 2007-06-28 04:34:14.000000000 -0300 -+++ p7zip-libre_9.20.1/makefile.qnx_shared.so 2011-09-07 15:41:14.000000000 -0300 -@@ -1,5 +1,4 @@ - ################################################### --# makefile.machine for "7z.so , Codecs/Rar29.so" : - # tested with p7zip-4.47_beta on qnx-6.3.0 sp3 x86 target - - OPTFLAGS=-O -diff -ruNa p7zip_9.20.1/makefile.rules p7zip-libre_9.20.1/makefile.rules ---- p7zip_9.20.1/makefile.rules 2010-11-07 13:08:51.000000000 -0300 -+++ p7zip-libre_9.20.1/makefile.rules 2011-09-07 15:41:14.000000000 -0300 -@@ -448,18 +448,6 @@ - NsisRegister.o : ../../Archive/Nsis/NsisRegister.cpp - $(CXX) $(CXXFLAGS) ../../Archive/Nsis/NsisRegister.cpp - --RarHandler.o : ../../Archive/Rar/RarHandler.cpp -- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarHandler.cpp --RarHeader.o : ../../Archive/Rar/RarHeader.cpp -- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarHeader.cpp --RarIn.o : ../../Archive/Rar/RarIn.cpp -- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarIn.cpp --RarItem.o : ../../Archive/Rar/RarItem.cpp -- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarItem.cpp --RarVolumeInStream.o : ../../Archive/Rar/RarVolumeInStream.cpp -- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarVolumeInStream.cpp --RarRegister.o : ../../Archive/Rar/RarRegister.cpp -- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarRegister.cpp - - UdfHandler.o : ../../Archive/Udf/UdfHandler.cpp - $(CXX) $(CXXFLAGS) ../../Archive/Udf/UdfHandler.cpp -@@ -535,10 +523,6 @@ - $(CXX) $(CXXFLAGS) ../../Crypto/7zAesRegister.cpp - WzAes.o : ../../Crypto/WzAes.cpp - $(CXX) $(CXXFLAGS) ../../Crypto/WzAes.cpp --Rar20Crypto.o : ../../Crypto/Rar20Crypto.cpp -- $(CXX) $(CXXFLAGS) ../../Crypto/Rar20Crypto.cpp --RarAes.o : ../../Crypto/RarAes.cpp -- $(CXX) $(CXXFLAGS) ../../Crypto/RarAes.cpp - HmacSha1.o : ../../Crypto/HmacSha1.cpp - $(CXX) $(CXXFLAGS) ../../Crypto/HmacSha1.cpp - Pbkdf2HmacSha1.o : ../../Crypto/Pbkdf2HmacSha1.cpp diff --git a/libre/p7zip-libre/parent-folder-icon.patch b/libre/p7zip-libre/parent-folder-icon.patch deleted file mode 100644 index da492b60f..000000000 --- a/libre/p7zip-libre/parent-folder-icon.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -ruN p7zip_9.20.1/CPP/7zip/UI/FileManager/FM_rc.cpp p7zip_9.20.1-libre/CPP/7zip/UI/FileManager/FM_rc.cpp ---- p7zip_9.20.1/CPP/7zip/UI/FileManager/FM_rc.cpp 2010-11-07 16:55:36.000000000 +0100 -+++ p7zip_9.20.1-libre/CPP/7zip/UI/FileManager/FM_rc.cpp 2014-04-17 21:41:48.222298740 +0200 -@@ -774,8 +774,6 @@ - - ///////////////////////////////////////////////////// - --#include "res/ParentFolder.h" -- - SevenZipPanel::SevenZipPanel(MyFrame *frame, wxWindow *parent,int id,int panelIndex) : - wxPanel(parent,id) , m_frame(frame), _wList(0) - { -@@ -793,7 +791,7 @@ - int sizes[] = {150, 250, 350, -1}; - wxArrayString pathArray; - wxBoxSizer *pPathSizer = new wxBoxSizer(wxHORIZONTAL); -- m_pBmpButtonParentFolder = new wxBitmapButton(this, kParentFolderID, wxGetBitmapFromMemory(PARENT_FOLDER), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW); -+ m_pBmpButtonParentFolder = new wxBitmapButton(this, kParentFolderID, wxArtProvider::GetBitmap(wxART_GO_DIR_UP, wxART_TOOLBAR, wxDefaultSize), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW); - m_pComboBoxPath = new wxComboBox(this, _comboBoxID, wxEmptyString, wxDefaultPosition, wxSize(300,-1), pathArray, wxCB_DROPDOWN | wxCB_SORT ); - pPathSizer->Add(m_pBmpButtonParentFolder, 0, wxALL|wxEXPAND, 0); - pPathSizer->Add(m_pComboBoxPath, 1, wxALL|wxEXPAND, 5); -diff -ruN p7zip_9.20.1/CPP/7zip/UI/FileManager/makefile.depend p7zip_9.20.1-libre/CPP/7zip/UI/FileManager/makefile.depend ---- p7zip_9.20.1/CPP/7zip/UI/FileManager/makefile.depend 2011-02-19 10:33:17.000000000 +0100 -+++ p7zip_9.20.1-libre/CPP/7zip/UI/FileManager/makefile.depend 2014-04-17 21:40:56.504696275 +0200 -@@ -714,7 +714,7 @@ - res/Move2PNG.h res/DeletePNG.h res/Delete2PNG.h res/InfoPNG.h \ - res/Info2PNG.h LangUtils.h ../../../Common/Lang.h \ - ../../../Common/MyString.h ../../../Windows/ResourceString.h \ -- /usr/include/wx-2.8/wx/mstream.h res/ParentFolder.h -+ /usr/include/wx-2.8/wx/mstream.h - OpenCallback.o: OpenCallback.cpp ../../../myWindows/StdAfx.h \ - ../../../myWindows/config.h ../../../Common/MyWindows.h \ - ../../../Common/MyGuidDef.h ../../../Common/Types.h \ -- cgit v1.2.3 From a5afd365607125f650ffb2b794bd779b6250ccbf Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 3 May 2014 12:10:36 -0300 Subject: p7zip-libre: prolixing PKGBUILD --- libre/p7zip-libre/PKGBUILD | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libre/p7zip-libre/PKGBUILD b/libre/p7zip-libre/PKGBUILD index ef3075c53..aff6d60b9 100644 --- a/libre/p7zip-libre/PKGBUILD +++ b/libre/p7zip-libre/PKGBUILD @@ -33,12 +33,12 @@ install=install mksource() { cd "${srcdir}/${_pkgname}_${pkgver}" - - # Remove nonfree unRAR utility files from the source + + # Remove nonfree unRAR utility files from the source rm -rv CPP/7zip/{Archive,Compress}/Rar - rm -v CPP/7zip/Compress/{Rar{2,3}Decoder.{cpp,h},Rar3Vm.{cpp,h},RarCodecsRegister.cpp} - rm -v CPP/7zip/Crypto/{Rar20Crypto,RarAes}.{cpp,h} - rm -v DOCS/unRarLicense.txt + rm -v CPP/7zip/Compress/{Rar{2,3}Decoder.{cpp,h},Rar3Vm.{cpp,h},RarCodecsRegister.cpp} + rm -v CPP/7zip/Crypto/{Rar20Crypto,RarAes}.{cpp,h} + rm -v DOCS/unRarLicense.txt # Remove nonfree parent folder icon rm CPP/7zip/UI/FileManager/res/ParentFolder.h @@ -47,8 +47,8 @@ mksource() { prepare() { cd "${srcdir}/${_pkgname}_${pkgver}" - # remove rar and parent folder icon references - patch -Np1 -i ../libre.patch + # remove rar and parent folder icon references + patch -Np1 -i ../libre.patch rm GUI/kde4/p7zip_compress.desktop [[ $CARCH = x86_64 ]] \ -- cgit v1.2.3 From 1ae810ef07891add1bdecbcc51fc3b20709de03c Mon Sep 17 00:00:00 2001 From: Drtan Samos Date: Sun, 4 May 2014 14:52:08 +0200 Subject: parabola-artwork-1.0.1-1: moved from ~drtan to libre --- libre/parabola-artwork/PKGBUILD | 19 +++++++++++++++++++ ~drtan/parabola-artwork/PKGBUILD | 19 ------------------- 2 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 libre/parabola-artwork/PKGBUILD delete mode 100644 ~drtan/parabola-artwork/PKGBUILD diff --git a/libre/parabola-artwork/PKGBUILD b/libre/parabola-artwork/PKGBUILD new file mode 100644 index 000000000..4833ef726 --- /dev/null +++ b/libre/parabola-artwork/PKGBUILD @@ -0,0 +1,19 @@ +# Maintainer: Drtan Samos + +pkgname=parabola-artwork +pkgver=1.0.1 +pkgrel=1 +pkgdesc="The Parabola artwork" +arch=('any') +url="https://parabolagnulinux.org" +license=('CCPL:cc-by-sa-3.0') +source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}-${pkgrel}.tar.gz") +sha256sums=('f8a0d0dde510f76125dbe9106dcb3e2d9af595ad5cfa1028acf10011f8fbb7af ') + +package() { + cd "${srcdir}/${pkgname}-${pkgver}-${pkgrel}" + install -d "${pkgdir}/usr/share/parabola/artwork" + install -m644 *.bmp "${pkgdir}/usr/share/parabola/artwork/" + install -m644 *.png "${pkgdir}/usr/share/parabola/artwork/" +} + diff --git a/~drtan/parabola-artwork/PKGBUILD b/~drtan/parabola-artwork/PKGBUILD deleted file mode 100644 index 6645b7c74..000000000 --- a/~drtan/parabola-artwork/PKGBUILD +++ /dev/null @@ -1,19 +0,0 @@ -# Maintainer: Drtan Samos - -pkgname=parabola-artwork -pkgver=1.0 -pkgrel=5 -pkgdesc="The Parabola artwork" -arch=('any') -url="https://parabolagnulinux.org" -license=('CCPL:cc-by-sa-3.0') -source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}-${pkgrel}.tar.gz") -sha256sums=('4bc7134b7ea4719677963717a6bde295c29fc0369cdd3c1dee1de884cf49f0af ') - -package() { - cd "${srcdir}/${pkgname}-${pkgver}-${pkgrel}" - install -d "${pkgdir}/usr/share/parabola/artwork" - install -m644 *.bmp "${pkgdir}/usr/share/parabola/artwork/" - install -m644 *.png "${pkgdir}/usr/share/parabola/artwork/" -} - -- cgit v1.2.3 From cb642f59b30bb1f1b1648acba05382c268905237 Mon Sep 17 00:00:00 2001 From: Drtan Samos Date: Sun, 4 May 2014 19:54:05 +0200 Subject: parabola-gnome-1.0.1-1: updating version --- libre/parabola-gnome/PKGBUILD | 25 +++++++++++++++++++++++++ libre/parabola-gnome/parabola-gnome.install | 11 +++++++++++ ~drtan/parabola-gnome/PKGBUILD | 24 ------------------------ ~drtan/parabola-gnome/parabola-gnome.install | 11 ----------- 4 files changed, 36 insertions(+), 35 deletions(-) create mode 100644 libre/parabola-gnome/PKGBUILD create mode 100644 libre/parabola-gnome/parabola-gnome.install delete mode 100644 ~drtan/parabola-gnome/PKGBUILD delete mode 100644 ~drtan/parabola-gnome/parabola-gnome.install diff --git a/libre/parabola-gnome/PKGBUILD b/libre/parabola-gnome/PKGBUILD new file mode 100644 index 000000000..6a1984114 --- /dev/null +++ b/libre/parabola-gnome/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: Drtan Samos + +pkgname=parabola-gnome +pkgver=1.0.1 +pkgrel=1 +pkgdesc="The Parabola defaults for GNOME" +arch=('any') +url="https://parabolagnulinux.org" +license=('GPL3') +options=('!emptydirs') +install=$pkgname.install +depends=('dbus-glib' 'parabola-artwork>=1.0' 'parabola-artwork<1.1') +source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}-${pkgrel}.tar.gz") +sha256sums=('9d78c93ea39da8561ff7c7eb822e8ea530609cc4991becae2d0741d2543f69d1') + +package() { + cd ${srcdir}/${pkgname}-${pkgver}-${pkgrel} + install -d ${pkgdir}/usr/share/gnome-background-properties/ + install -Dm644 gnome-background-properties/parabola.xml "${pkgdir}/usr/share/gnome-background-properties/" + install -Dm644 dconf/db/gdm.d/parabola "${pkgdir}/etc/dconf/db/gdm.d/$(date +%Y%m%d%H%M%S%N)" + install -Dm644 dconf/db/local.d/parabola "${pkgdir}/etc/dconf/db/local.d/$(date +%Y%m%d%H%M%S%N)" + install -d ${pkgdir}/etc/dconf/profile/ + install -m644 dconf/profile/* "${pkgdir}/etc/dconf/profile/" +} + diff --git a/libre/parabola-gnome/parabola-gnome.install b/libre/parabola-gnome/parabola-gnome.install new file mode 100644 index 000000000..8fce17b2e --- /dev/null +++ b/libre/parabola-gnome/parabola-gnome.install @@ -0,0 +1,11 @@ +post_install() { + dconf update +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/~drtan/parabola-gnome/PKGBUILD b/~drtan/parabola-gnome/PKGBUILD deleted file mode 100644 index c179800cc..000000000 --- a/~drtan/parabola-gnome/PKGBUILD +++ /dev/null @@ -1,24 +0,0 @@ -# Maintainer: Drtan Samos - -pkgname=parabola-gnome -pkgver=1.0 -pkgrel=6 -pkgdesc="The GNOME configuration for Parabola GNU/Linux-libre" -arch=('any') -url="https://parabolagnulinux.org" -license=('GPL3') -install=$pkgname.install -depends=('dbus-glib' 'parabola-artwork>=1.0-4') -source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}-${pkgrel}.tar.gz") -sha256sums=('979ab611fdf9a9cddf97c7f6c646bf39df8765787b077ac0b836e75a67897a08') - -package() { - cd ${srcdir}/${pkgname}-${pkgver}-${pkgrel} - install -d "${pkgdir}/usr/share/gnome-background-properties" - install -m644 gnome-background-properties/01-parabola.xml "${pkgdir}/usr/share/gnome-background-properties/" - install -d "${pkgdir}/etc/dconf/db/local.d" - install -m644 dconf/db/local.d/* "${pkgdir}/etc/dconf/db/local.d/" - install -d "${pkgdir}/etc/dconf/profile" - install -m644 dconf/profile/* "${pkgdir}/etc/dconf/profile/" -} - diff --git a/~drtan/parabola-gnome/parabola-gnome.install b/~drtan/parabola-gnome/parabola-gnome.install deleted file mode 100644 index 8fce17b2e..000000000 --- a/~drtan/parabola-gnome/parabola-gnome.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - dconf update -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} -- cgit v1.2.3 From 839be8ea6c87d5d05851bb2761485a9d36f9d72f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 4 May 2014 22:59:17 -0300 Subject: ogre-libre-1.9.0-6: updating revision from Arch --- libre/ogre-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/ogre-libre/PKGBUILD b/libre/ogre-libre/PKGBUILD index e7bf84fcf..890b46163 100644 --- a/libre/ogre-libre/PKGBUILD +++ b/libre/ogre-libre/PKGBUILD @@ -14,7 +14,7 @@ pkgname=( #$_bldname-addon-$pkgbase # package unstable ) pkgver=1.9.0 -pkgrel=5 +pkgrel=6 pkgdesc='Scene-oriented, flexible 3D engine written in C++, without nonfree software support and files' arch=( mips64el -- cgit v1.2.3 From d38e043b68442febdd1f0de7dbd77fef1afd8475 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 4 May 2014 23:05:56 -0300 Subject: linux-libre-grsec-3.14.2.201405041244-1: updating version --- libre/linux-libre-grsec/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index 8bd2f044f..1b68ed7d1 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -14,7 +14,7 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.14 _sublevel=2 _grsecver=3.0 -_timestamp=201405011752 +_timestamp=201405041244 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 @@ -52,7 +52,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '77c34d5c5c2663d0daaf8ad3761fbaf3' - '36a7b0f623da0cf6d6a6da25e1b1c4a7' + '8767f487c45726c696441c81f3918f6e' 'SKIP' '1b830bf677c7df400ac30192fa37f97f' '408dd180559f71dab1fcc80a19da1343' -- cgit v1.2.3 From 15cfe1628e32658eb369e9ad0d5db013ea9cf1b6 Mon Sep 17 00:00:00 2001 From: Drtan Samos Date: Mon, 5 May 2014 14:36:55 +0200 Subject: parabola-gnome-1.0.1-2: Connecting directly to the source control --- libre/parabola-gnome/PKGBUILD | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/libre/parabola-gnome/PKGBUILD b/libre/parabola-gnome/PKGBUILD index 6a1984114..4bc04813a 100644 --- a/libre/parabola-gnome/PKGBUILD +++ b/libre/parabola-gnome/PKGBUILD @@ -2,24 +2,29 @@ pkgname=parabola-gnome pkgver=1.0.1 -pkgrel=1 +pkgrel=2 pkgdesc="The Parabola defaults for GNOME" arch=('any') url="https://parabolagnulinux.org" license=('GPL3') -options=('!emptydirs') install=$pkgname.install depends=('dbus-glib' 'parabola-artwork>=1.0' 'parabola-artwork<1.1') -source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}-${pkgrel}.tar.gz") -sha256sums=('9d78c93ea39da8561ff7c7eb822e8ea530609cc4991becae2d0741d2543f69d1') +source=("https://projects.parabolagnulinux.org/packages/${pkgname}.git/snapshot/${pkgname}-${pkgver}.tar.gz") +sha256sums=('f4197802075099567e9604f47e7f0d55cf438535ad5876a3c6fcd5950f1c4482') package() { - cd ${srcdir}/${pkgname}-${pkgver}-${pkgrel} - install -d ${pkgdir}/usr/share/gnome-background-properties/ - install -Dm644 gnome-background-properties/parabola.xml "${pkgdir}/usr/share/gnome-background-properties/" - install -Dm644 dconf/db/gdm.d/parabola "${pkgdir}/etc/dconf/db/gdm.d/$(date +%Y%m%d%H%M%S%N)" - install -Dm644 dconf/db/local.d/parabola "${pkgdir}/etc/dconf/db/local.d/$(date +%Y%m%d%H%M%S%N)" + cd "${srcdir}/${pkgname}-${pkgver}" + + install -d ${pkgdir}/etc/dconf/db/gdm.d/ + install -m644 dconf/db/gdm.d/parabola "${pkgdir}/etc/dconf/db/gdm.d/$(date +%Y%m%d%H%M%S%N)" + + install -d ${pkgdir}/etc/dconf/db/local.d/ + install -m644 dconf/db/local.d/parabola "${pkgdir}/etc/dconf/db/local.d/$(date +%Y%m%d%H%M%S%N)" + install -d ${pkgdir}/etc/dconf/profile/ install -m644 dconf/profile/* "${pkgdir}/etc/dconf/profile/" + + install -d ${pkgdir}/usr/share/gnome-background-properties/ + install -m644 gnome-background-properties/parabola.xml "${pkgdir}/usr/share/gnome-background-properties/" } -- cgit v1.2.3 From 82f89c758e04b8a815a8e52f1b803b6e46012a11 Mon Sep 17 00:00:00 2001 From: Drtan Samos Date: Mon, 5 May 2014 15:01:51 +0200 Subject: parabola-gnome-1.0.1-3: connecting to the source control without a need for snapshot --- libre/parabola-gnome/PKGBUILD | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libre/parabola-gnome/PKGBUILD b/libre/parabola-gnome/PKGBUILD index 4bc04813a..19eb60aa2 100644 --- a/libre/parabola-gnome/PKGBUILD +++ b/libre/parabola-gnome/PKGBUILD @@ -2,18 +2,19 @@ pkgname=parabola-gnome pkgver=1.0.1 -pkgrel=2 +pkgrel=3 pkgdesc="The Parabola defaults for GNOME" arch=('any') url="https://parabolagnulinux.org" license=('GPL3') install=$pkgname.install +makedepends=('git') depends=('dbus-glib' 'parabola-artwork>=1.0' 'parabola-artwork<1.1') -source=("https://projects.parabolagnulinux.org/packages/${pkgname}.git/snapshot/${pkgname}-${pkgver}.tar.gz") -sha256sums=('f4197802075099567e9604f47e7f0d55cf438535ad5876a3c6fcd5950f1c4482') +source=("git://projects.parabolagnulinux.org/packages/${pkgname}#tag=v${pkgver}") +sha256sums=('SKIP') package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "${srcdir}/${pkgname}" install -d ${pkgdir}/etc/dconf/db/gdm.d/ install -m644 dconf/db/gdm.d/parabola "${pkgdir}/etc/dconf/db/gdm.d/$(date +%Y%m%d%H%M%S%N)" -- cgit v1.2.3 From 7c16a77792b17fec8e776102b83beb5384ed656a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 5 May 2014 15:00:47 -0300 Subject: vim-runtime-7.4.274-1: updating version --- libre/vim-runtime/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/vim-runtime/PKGBUILD b/libre/vim-runtime/PKGBUILD index 797c5c838..893907179 100644 --- a/libre/vim-runtime/PKGBUILD +++ b/libre/vim-runtime/PKGBUILD @@ -8,8 +8,8 @@ pkgbase=vim pkgname=vim-runtime _topver=7.4 -_patchlevel=214 -__hgrev=d2ef98a43b5d +_patchlevel=274 +__hgrev=075eea398fff _versiondir="vim${_topver//./}" pkgver=${_topver}.${_patchlevel} pkgrel=1 @@ -21,7 +21,7 @@ source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz" "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig" 'vimrc' 'parabola.vim') -md5sums=('5ec7d7f84955dacfef88e52ebc79b267' +md5sums=('98bf9f8d57b95715d08fcc42beae8761' 'SKIP' '27820c2bdc34624674c561ae6476bc6a' 'a8c21928eefd766e211f987879a9199c') -- cgit v1.2.3 From e3ed28142f600a15ce572620404270015350a5f3 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 5 May 2014 15:06:39 -0300 Subject: ice{cat,weasel}-adblock-plus-2.6-1: updating version --- libre/icecat-adblock-plus/PKGBUILD | 8 ++++---- libre/iceweasel-adblock-plus/PKGBUILD | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libre/icecat-adblock-plus/PKGBUILD b/libre/icecat-adblock-plus/PKGBUILD index 412535caf..183c83019 100644 --- a/libre/icecat-adblock-plus/PKGBUILD +++ b/libre/icecat-adblock-plus/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 106267 2014-02-26 10:45:17Z spupykin $ +# $Id: PKGBUILD 110697 2014-05-05 09:47:45Z spupykin $ # Maintainer: Sergej Pupykin pkgname=icecat-adblock-plus -pkgver=2.5.1 -_addons_file=244872 +pkgver=2.6 +_addons_file=254870 pkgrel=1 pkgdesc="plugin for icecat which block ads and banners" arch=('any') @@ -14,7 +14,7 @@ makedepends=('unzip') provides=(firefox-adblock-plus=$pkgver) noextract=("adblock_plus-$pkgver-fx+tb+fn+sm.xpi") source=(https://addons.mozilla.org/firefox/downloads/file/${_addons_file}/adblock_plus-$pkgver-fx+tb+fn+sm.xpi) -md5sums=('7e1c072961be0d108c81ab91bd89d687') +md5sums=('fa3ccbbd5f9ea6718fbb8cfbb321e556') package() { # _ffver=`pacman -Q firefox | cut -f2 -d\ | cut -f1-2 -d.` diff --git a/libre/iceweasel-adblock-plus/PKGBUILD b/libre/iceweasel-adblock-plus/PKGBUILD index 5d30cd52c..b965a4ea1 100644 --- a/libre/iceweasel-adblock-plus/PKGBUILD +++ b/libre/iceweasel-adblock-plus/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 106267 2014-02-26 10:45:17Z spupykin $ +# $Id: PKGBUILD 110697 2014-05-05 09:47:45Z spupykin $ # Maintainer: Sergej Pupykin pkgname=iceweasel-adblock-plus -pkgver=2.5.1 -_addons_file=244872 +pkgver=2.6 +_addons_file=254870 pkgrel=1 pkgdesc="plugin for iceweasel which block ads and banners" arch=('any') @@ -14,7 +14,7 @@ makedepends=('unzip') provides=(firefox-adblock-plus=$pkgver) noextract=("adblock_plus-$pkgver-fx+tb+fn+sm.xpi") source=(https://addons.mozilla.org/firefox/downloads/file/${_addons_file}/adblock_plus-$pkgver-fx+tb+fn+sm.xpi) -md5sums=('7e1c072961be0d108c81ab91bd89d687') +md5sums=('fa3ccbbd5f9ea6718fbb8cfbb321e556') package() { # _ffver=`pacman -Q firefox | cut -f2 -d\ | cut -f1-2 -d.` -- cgit v1.2.3 From f3ddacdfa8923e52e6bfe2f099fdd729d8abb50c Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 5 May 2014 15:07:27 -0300 Subject: ice{cat,weasel}-noscript-2.6.8.23-1: updating version --- libre/icecat-noscript/PKGBUILD | 6 +++--- libre/iceweasel-noscript/PKGBUILD | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libre/icecat-noscript/PKGBUILD b/libre/icecat-noscript/PKGBUILD index 2077923e1..016df6109 100644 --- a/libre/icecat-noscript/PKGBUILD +++ b/libre/icecat-noscript/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 110341 2014-04-28 09:14:47Z spupykin $ +# $Id: PKGBUILD 110713 2014-05-05 11:29:07Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer (Parabola): André Silva _pkgname=firefox-noscript pkgname=icecat-noscript -pkgver=2.6.8.20 +pkgver=2.6.8.23 pkgrel=1 pkgdesc="plugin for icecat which disables script" arch=('any') @@ -14,7 +14,7 @@ depends=() provides=$_pkgname=$pkgver makedepends=('unzip') source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi) -md5sums=('d0943c2090bd449609b690b248c3cdfa') +md5sums=('873b4ceded027a890adb8aacd7f02ad8') package() { # _ffver=`pacman -Q icecat | cut -f2 -d\ | cut -f1 -d-` diff --git a/libre/iceweasel-noscript/PKGBUILD b/libre/iceweasel-noscript/PKGBUILD index 2ecda3381..11d7a4b8b 100644 --- a/libre/iceweasel-noscript/PKGBUILD +++ b/libre/iceweasel-noscript/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 110341 2014-04-28 09:14:47Z spupykin $ +# $Id: PKGBUILD 110713 2014-05-05 11:29:07Z spupykin $ # Maintainer: Sergej Pupykin # Maintainer (Parabola): André Silva _pkgname=firefox-noscript pkgname=iceweasel-noscript -pkgver=2.6.8.20 +pkgver=2.6.8.23 pkgrel=1 pkgdesc="plugin for iceweasel which disables script" arch=('any') @@ -14,7 +14,7 @@ depends=() provides=$_pkgname=$pkgver makedepends=('unzip') source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi) -md5sums=('d0943c2090bd449609b690b248c3cdfa') +md5sums=('873b4ceded027a890adb8aacd7f02ad8') package() { # _ffver=`pacman -Q iceweasel-libre | cut -f2 -d\ | cut -f1 -d-` -- cgit v1.2.3 From f5bfed12043860dd7f2348d3af8e278726c1d678 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 5 May 2014 18:50:47 -0300 Subject: xarchiver-libre-0.5.3-1.1: remove nonfree unrar support --- libre/xarchiver-libre/PKGBUILD | 16 +- .../xarchiver-0.5.3-add-unar-support.patch | 545 --------------------- ...chiver-0.5.3-remove-nonfree-unrar-support.patch | 525 ++++++++++++++++++++ 3 files changed, 533 insertions(+), 553 deletions(-) delete mode 100644 libre/xarchiver-libre/xarchiver-0.5.3-add-unar-support.patch create mode 100644 libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch diff --git a/libre/xarchiver-libre/PKGBUILD b/libre/xarchiver-libre/PKGBUILD index a718b8252..bec42c1a7 100644 --- a/libre/xarchiver-libre/PKGBUILD +++ b/libre/xarchiver-libre/PKGBUILD @@ -7,8 +7,8 @@ _pkgname=xarchiver pkgname=xarchiver-libre pkgver=0.5.3 -pkgrel=1 -pkgdesc="GTK+ frontend to various command line archivers, with unar support" +pkgrel=1.1 +pkgdesc="GTK+ frontend to various command line archivers, without nonfree unrar support" arch=('i686' 'x86_64' 'mips64el') url="http://xarchiver.sourceforge.net/" license=('GPL') @@ -22,21 +22,20 @@ optdepends=('zip: ZIP support' 'p7zip: 7z support' 'arj: ARJ support' 'lzop: LZOP support' - 'cpio: RPM support' - 'unar: RAR support') + 'cpio: RPM support') install=xarchiver.install source=(http://downloads.sourceforge.net/xarchiver/xarchiver-$pkgver.tar.bz2 xarchiver-0.5.3-fix-rpm-support.patch xarchiver-0.5.3-fix-double-escaping.patch xarchiver-0.5.3-fix-password-protected.patch xarchiver-0.5.3-add-mime-types.patch - xarchiver-0.5.3-add-unar-support.patch) + xarchiver-0.5.3-remove-nonfree-rar-support.patch) md5sums=('fd390bbd2df76a5f8a007bdeae82d4aa' '812b93339f5e3332621f3c5abebfe277' '6178d7ab679b761469c880a8db991907' '35ab96d98521a0a36f3e9e9ec0969107' 'f9119f5290caa195a56b7d3c63d9137d' - '5f0b21efd0159d41f207e664b72210b8') + '6ba9f6a6dd9685d8309bd9ed4df1f339') prepare() { cd $_pkgname-$pkgver @@ -53,8 +52,9 @@ prepare() { # Add more MIME types in the desktop file patch -Np1 -i ../xarchiver-0.5.3-add-mime-types.patch - # Add unar support - patch -Np1 -i ../xarchiver-0.5.3-add-unar-support.patch + # Remove nonfree unRAR support + patch -Np1 -i ../xarchiver-0.5.3-remove-nonfree-unrar-support.patch + rm -v src/rar.{c,h} } build() { diff --git a/libre/xarchiver-libre/xarchiver-0.5.3-add-unar-support.patch b/libre/xarchiver-libre/xarchiver-0.5.3-add-unar-support.patch deleted file mode 100644 index 0b54cacc1..000000000 --- a/libre/xarchiver-libre/xarchiver-0.5.3-add-unar-support.patch +++ /dev/null @@ -1,545 +0,0 @@ -diff -Nur xarchiver-0.5.3.orig/doc/html/ch03s03.html xarchiver-0.5.3/doc/html/ch03s03.html ---- xarchiver-0.5.3.orig/doc/html/ch03s03.html 2008-11-03 04:49:49.000000000 -0200 -+++ xarchiver-0.5.3/doc/html/ch03s03.html 2014-02-20 04:35:34.820373529 -0200 -@@ -1,7 +1,7 @@ - - - General

General

Startup

-- At startup, Xarchiver detects the available installed archivers (tar,rar,zip etc) and the script xdg-open for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. -+ At startup, Xarchiver detects the available installed archivers (tar,rar,zip etc) and the script xdg-open for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free as in freedom alternative of rar, unar, Xarchiver can't create rar archives since unar allows rar archives to be opened, tested and extracted but not to be created. -

How it works

- Xarchiver will run in the background the cmd-line executable of the archiver with the archiver's proper switches to perform the selected operation. If something goes wrong Xarchiver reports the full output of the archiver executable in the command line output window. From the release 0.5 the files in the archive can be opened within Xarchiver. The script xdg-open will detect the file type and run the proper application to handle it. If you don't have such script installed in your system (it's found in the xdg-utils package) Xarchiver will recognize HTML, txt and images files only. The Preferences dialog will notify this to you when you click the Advanced section inside it. -

Drag and Drop

-diff -Nur xarchiver-0.5.3.orig/doc/xarchiver.docbook xarchiver-0.5.3/doc/xarchiver.docbook ---- xarchiver-0.5.3.orig/doc/xarchiver.docbook 2007-08-22 07:49:19.000000000 -0300 -+++ xarchiver-0.5.3/doc/xarchiver.docbook 2014-02-20 04:35:34.820373529 -0200 -@@ -204,7 +204,7 @@ -

- Startup - -- At startup, &app; detects the available installed archivers (tar,rar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. -+ At startup, &app; detects the available installed archivers (tar,rar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free as in freedom alternative of rar, unar, Xarchiver can't create rar archives since unar allows rar archives to be opened and extracted but not to be created. - -
-
-diff -Nur xarchiver-0.5.3.orig/src/interface.c xarchiver-0.5.3/src/interface.c ---- xarchiver-0.5.3.orig/src/interface.c 2014-02-09 13:26:24.000000000 -0200 -+++ xarchiver-0.5.3/src/interface.c 2014-02-20 04:58:54.470139199 -0200 -@@ -45,7 +45,7 @@ - { "text/uri-list",0,0 }, - }; - --extern gboolean unrar,batch_mode; -+extern gboolean unar,batch_mode; - - static gboolean xa_progress_dialog_delete_event (GtkWidget *caller,GdkEvent *event,GPid pid); - static void xa_progress_dialog_stop_action (GtkWidget *widget,GPid pid); -@@ -623,7 +623,7 @@ - { - gtk_widget_show(selected_frame); - gtk_widget_set_sensitive(deselect_all,TRUE); -- if ((archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_RAR5) && unrar) -+ if ((archive[id]->type == XARCHIVETYPE_RAR) && unar) - { - gtk_widget_set_sensitive (delete_menu,FALSE); - gtk_widget_set_sensitive (rename_menu,FALSE); -diff -Nur xarchiver-0.5.3.orig/src/main.c xarchiver-0.5.3/src/main.c ---- xarchiver-0.5.3.orig/src/main.c 2014-02-20 03:24:20.406301116 -0200 -+++ xarchiver-0.5.3/src/main.c 2014-02-20 04:43:27.247666292 -0200 -@@ -33,7 +33,7 @@ - gchar *add_files; - gboolean error_output, file_to_open, ask_and_extract, ask_and_add, multi_extract; - gboolean batch_mode = FALSE; --gboolean unrar = FALSE; -+gboolean unar = FALSE; - gboolean sevenzr = FALSE, sevenza = FALSE, xdg_open = FALSE; - static gboolean show_version = FALSE; - int response; -@@ -330,7 +330,6 @@ - delete[XARCHIVETYPE_GZIP] = 0; - delete[XARCHIVETYPE_LZMA] = 0; - delete[XARCHIVETYPE_XZ] = 0; -- delete[XARCHIVETYPE_RAR] = delete[XARCHIVETYPE_RAR5] = &xa_rar_delete; - delete[XARCHIVETYPE_RPM] = 0; - delete[XARCHIVETYPE_TAR] = delete[XARCHIVETYPE_TAR_BZ2] = delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = delete[XARCHIVETYPE_TAR_XZ] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete; - delete[XARCHIVETYPE_ZIP] = &xa_zip_delete; -@@ -343,7 +342,6 @@ - add[XARCHIVETYPE_ARJ] = &xa_arj_add; - add[XARCHIVETYPE_DEB] = 0; - add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = add[XARCHIVETYPE_XZ] = add[XARCHIVETYPE_LZOP] = &xa_tar_add; -- add[XARCHIVETYPE_RAR] = add[XARCHIVETYPE_RAR5] = &xa_rar_add; - add[XARCHIVETYPE_RPM] = 0; - add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_XZ] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; - add[XARCHIVETYPE_ZIP] = &xa_zip_add; -@@ -364,7 +362,6 @@ - test[XARCHIVETYPE_7ZIP] = &xa_7zip_test; - test[XARCHIVETYPE_ARJ] = &xa_arj_test; - test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = test[XARCHIVETYPE_XZ] = test[XARCHIVETYPE_LZOP] = &xa_tar_test; -- test[XARCHIVETYPE_RAR] = test[XARCHIVETYPE_RAR5] = &xa_rar_test; - test[XARCHIVETYPE_RPM] = 0; - test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_XZ] = test[XARCHIVETYPE_TAR_LZOP] = &xa_tar_test; - test[XARCHIVETYPE_ZIP] = &xa_zip_test; -@@ -435,38 +432,14 @@ - //ArchiveSuffix = g_list_append(ArchiveSuffix, ""); - } - -- absolute_path = g_find_program_in_path ("rar"); -+ absolute_path = g_find_program_in_path ("unar"); - if ( absolute_path ) - { -+ unar = TRUE; - ArchiveType = g_list_append(ArchiveType, "rar"); - ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); -- // Is RAR v5 ? -- xa_rar_checkversion (absolute_path); -- if (rar_version == 5) -- { -- ArchiveType = g_list_append(ArchiveType, "rar5"); -- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); -- } - g_free (absolute_path); - } -- else -- { -- absolute_path = g_find_program_in_path("unrar"); -- if ( absolute_path ) -- { -- unrar = TRUE; -- ArchiveType = g_list_append(ArchiveType, "rar"); -- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); -- // Is RAR v5 ? -- xa_rar_checkversion (absolute_path); -- if (rar_version == 5) -- { -- ArchiveType = g_list_append(ArchiveType, "rar5"); -- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); -- } -- g_free (absolute_path); -- } -- } - - absolute_path = g_find_program_in_path("cpio"); - if ( absolute_path ) -diff -Nur xarchiver-0.5.3.orig/src/new_dialog.c xarchiver-0.5.3/src/new_dialog.c ---- xarchiver-0.5.3.orig/src/new_dialog.c 2014-02-09 13:26:24.000000000 -0200 -+++ xarchiver-0.5.3/src/new_dialog.c 2014-02-20 05:13:00.058263839 -0200 -@@ -24,7 +24,7 @@ - #include "string_utils.h" - #include "main.h" - --extern gboolean unrar; -+extern gboolean unar; - extern Prefs_dialog_data *prefs_window; - gchar *current_new_directory = NULL; - gint new_combo_box = -1; -@@ -101,7 +101,7 @@ - - while (Name) - { -- if (!(strncmp(Name->data, "rar", 3) == 0 && unrar)) -+ if (!(strncmp(Name->data, "rar", 3) == 0 && unar)) - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box),Name->data); - Name = g_list_next (Name); - } -diff -Nur xarchiver-0.5.3.orig/src/pref_dialog.c xarchiver-0.5.3/src/pref_dialog.c ---- xarchiver-0.5.3.orig/src/pref_dialog.c 2014-02-09 13:26:24.000000000 -0200 -+++ xarchiver-0.5.3/src/pref_dialog.c 2014-02-20 04:44:40.225947167 -0200 -@@ -23,7 +23,7 @@ - #include "main.h" - #include "support.h" - --extern gboolean unrar; -+extern gboolean unar; - extern gboolean xdg_open; - extern Extract_dialog_data *extract_window; - extern Add_dialog_data *add_window; -@@ -104,7 +104,7 @@ - { - if (strcmp(archive_type->data, "tgz") == 0 || - strcmp(archive_type->data, "rpm") == 0 || -- (strncmp(archive_type->data, "rar", 3) == 0 && unrar) ) -+ (strncmp(archive_type->data, "rar", 3) == 0 && unar) ) - goto next; - else - gtk_combo_box_append_text (GTK_COMBO_BOX (prefs_data->combo_prefered_format),archive_type->data ); -diff -Nur xarchiver-0.5.3.orig/src/rar.c xarchiver-0.5.3/src/rar.c ---- xarchiver-0.5.3.orig/src/rar.c 2014-02-09 13:26:24.000000000 -0200 -+++ xarchiver-0.5.3/src/rar.c 2014-02-20 05:11:19.611884642 -0200 -@@ -20,7 +20,7 @@ - #include "rar.h" - #include - --extern gboolean unrar; -+extern gboolean unar; - extern void xa_reload_archive_content(XArchive *archive); - extern void xa_create_liststore ( XArchive *archive, gchar *columns_names[]); - extern int rar_version; -@@ -36,44 +36,15 @@ - gchar *command = NULL; - gchar *rar = NULL; - jump_header = read_filename = last_line = encrypted = FALSE; -- -- if (unrar) -- { -- rar = "unrar"; -- archive->can_add = archive->has_sfx = FALSE; -- } -- else -- { -- rar = "rar"; -- archive->can_add = archive->has_sfx = TRUE; -- } -+ rar = "unar"; -+ archive->can_add = archive->has_sfx = FALSE; - -- command = g_strconcat ( rar," v " , archive->escaped_path, NULL ); -+ command = g_strconcat ( rar, archive->escaped_path, NULL ); - archive->has_sfx = archive->has_properties = archive->can_extract = archive->has_test = TRUE; - archive->dummy_size = 0; - archive->nr_of_files = 0; - -- if (archive->type == XARCHIVETYPE_RAR5) -- archive->format = "RAR5"; -- else -- archive->format = "RAR"; -- -- -- if (rar_version == 5) -- { -- archive->nc = 8; -- archive->parse_output = xa_get_rar5_line_content; -- xa_spawn_async_process (archive,command); -- g_free ( command ); -- if ( archive->child_pid == 0 ) -- return; -- archive->column_types = g_malloc0(sizeof(types5)); -- for (i = 0; i < archive->nc+2; i++) -- archive->column_types[i] = types5[i]; -- -- xa_create_liststore (archive, names5); -- } -- else -+ archive->format = "RAR"; - { - archive->nc = 10; - archive->parse_output = xa_get_rar_line_content; -@@ -247,32 +218,6 @@ - } - } - --void xa_rar_delete (XArchive *archive,GSList *names) --{ -- gchar *command,*e_filename = NULL; -- GSList *list = NULL,*_names; -- GString *files = g_string_new(""); -- -- _names = names; -- while (_names) -- { -- e_filename = xa_escape_filename((gchar*)_names->data,"$'`\"\\!?* ()[]&|:;<>#"); -- g_string_prepend (files,e_filename); -- g_string_prepend_c (files,' '); -- _names = _names->next; -- } -- g_slist_foreach(names,(GFunc)g_free,NULL); -- g_slist_free(names); -- -- command = g_strconcat ("rar d ",archive->escaped_path," ",files->str,NULL); -- g_string_free(files,TRUE); -- list = g_slist_append(list,command); -- -- xa_run_command (archive,list); -- if (archive->status == XA_ARCHIVESTATUS_DELETE) -- xa_reload_archive_content(archive); --} -- - gboolean xa_rar_extract(XArchive *archive,GSList *files) - { - gchar *rar, *command, *e_filename = NULL; -@@ -281,10 +226,7 @@ - gboolean result = FALSE; - - _files = files; -- if (unrar) -- rar = "unrar"; -- else -- rar = "rar"; -+ rar = "unar"; - - while (_files) - { -@@ -315,230 +257,3 @@ - result = xa_run_command (archive,list); - return result; - } -- --void xa_rar_test (XArchive *archive) --{ -- gchar *rar = NULL; -- gchar *command = NULL; -- GSList *list = NULL; -- -- if (unrar) -- rar = "unrar"; -- else -- rar = "rar"; -- -- archive->status = XA_ARCHIVESTATUS_TEST; -- if (archive->passwd != NULL) -- command = g_strconcat (rar," t -idp -p" , archive->passwd ," " , archive->escaped_path, NULL); -- else -- command = g_strconcat (rar," t -idp " , archive->escaped_path, NULL); -- -- list = g_slist_append(list,command); -- xa_run_command (archive,list); -- } -- --void xa_get_rar5_line_content (gchar *line, gpointer data) --{ -- XArchive *archive = data; -- XEntry *entry; -- gpointer item[7]; -- unsigned short int i = 0; -- unsigned int linesize,n,a; -- gboolean dir = FALSE; -- static gchar *filename; -- -- if (last_line) -- return; -- -- if (jump_header == FALSE) -- { -- if (strncmp(line,"Comment:",8) == 0) -- { -- jump_comment = archive->has_comment = TRUE; -- archive->comment = g_string_new(""); -- archive->comment = g_string_append(archive->comment,&line[9]); -- return; -- } -- if (jump_comment == TRUE) -- { -- if (strncmp(line,"Name",4) != 0) -- { archive->comment = g_string_append(archive->comment,line); -- return; -- } -- jump_comment = FALSE; -- } -- if (line[0] == '-') -- { -- jump_header = TRUE; -- return; -- } -- return; -- } -- -- linesize = strlen(line); -- line[linesize - 1] = '\0'; -- -- if(line[0] == '*') -- { -- archive->has_passwd = TRUE; -- encrypted = TRUE; -- } -- else if (line[0] == '-') -- { -- last_line = TRUE; -- return; -- } -- -- archive->nr_of_files++; -- -- /* Permissions */ -- for(n=0; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' '; n++); -- line[n] = '\0'; -- if ((line+a)[0] == 'd') -- dir = TRUE; -- item[5] = line + a; -- n++; -- -- /* Size */ -- for(; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' '; n++); -- line[n]='\0'; -- item[i] = line + a; -- archive->dummy_size += g_ascii_strtoull(item[i],NULL,0); -- i++; -- n++; -- -- /* Compressed */ -- for(; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' '; n++); -- line[n]='\0'; -- item[i] = line + a; -- i++; -- n++; -- -- /* Ratio */ -- for(; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' '; n++); -- line[n] = '\0'; -- item[i] = line + a; -- i++; -- n++; -- -- /* Date */ -- for(; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' '; n++); -- line[n] = '\0'; -- item[i] = line + a; -- i++; -- n++; -- -- /* Time */ -- for(; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' '; n++); -- line[n] = '\0'; -- item[i] = line + a; -- i+=2; -- n++; -- -- /* CRC */ -- for(; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' '; n++); -- line[n] = '\0'; -- item[i] = line + a; -- i++; -- n++; -- -- /* fileName */ -- for(n=64; n < linesize && line[n] == ' '; n++); -- a = n; -- for(; n < linesize && line[n] != ' ' && line[n] != '\n'; n++); -- line[n]='\0'; -- filename = g_strdup(line + a); -- -- /* Work around for rar which doesn't -- * output / with directories */ -- if (dir) -- { -- gchar *filename_with_slash = g_strconcat (filename,"/",NULL); -- g_free (filename); -- filename = filename_with_slash; -- } -- -- entry = xa_set_archive_entries_for_each_row (archive,filename,item); -- if (entry != NULL) -- entry->is_encrypted = encrypted; -- g_free(filename); -- encrypted = FALSE; --} -- --void xa_rar_add (XArchive *archive,GString *files,gchar *compression_string) --{ -- GSList *list = NULL; -- gchar *command, *rar_version = NULL; -- -- -- if (archive->location_entry_path != NULL) -- archive->working_dir = g_strdup(archive->tmp); -- -- if (archive->type == XARCHIVETYPE_RAR5) -- rar_version = "5"; -- else -- rar_version = "4"; -- -- if (compression_string == NULL) -- compression_string = "3"; -- -- if (archive->passwd != NULL) -- command = g_strconcat ( "rar a -ma", rar_version, " ", -- archive->update ? "-u " : "", -- archive->freshen ? "-f " : "", -- archive->solid_archive ? "-s " : "", -- archive->remove_files ? "-df " : "", -- "-p" , archive->passwd, -- " -idp ", -- "-m",compression_string," ", -- archive->escaped_path, -- files->str,NULL); -- else -- command = g_strconcat ( "rar a -ma", rar_version, " ", -- archive->update ? "-u " : "", -- archive->freshen ? "-f " : "", -- archive->solid_archive ? "-s " : " ", -- archive->remove_files ? "-df " : " ", -- "-idp ", -- "-m",compression_string," ", -- archive->escaped_path, -- files->str,NULL); -- -- g_string_free(files,TRUE); -- list = g_slist_append(list,command); -- -- xa_run_command (archive,list); -- xa_reload_archive_content(archive); --} -- --int xa_rar_checkversion (gchar *absolute_path) --{ -- //gchar *command; -- gchar *output = NULL; -- -- rar_version = 4; // Default version -- -- //command = g_strconcat (absolute_path, "" , NULL); -- g_spawn_command_line_sync (absolute_path, &output, NULL, NULL, NULL); -- -- if (g_ascii_strncasecmp ("\nRAR 5", output, 6) == 0 || g_ascii_strncasecmp ("\nUNRAR 5", output, 8) == 0) -- rar_version = 5; -- -- g_free(output); -- //g_free(command); -- return rar_version; --} -diff -Nur xarchiver-0.5.3.orig/src/rar.h xarchiver-0.5.3/src/rar.h ---- xarchiver-0.5.3.orig/src/rar.h 2014-02-09 13:26:24.000000000 -0200 -+++ xarchiver-0.5.3/src/rar.h 2014-02-20 04:35:34.823706631 -0200 -@@ -26,10 +26,7 @@ - #include "support.h" - #include "archive.h" - gboolean jump_header,jump_comment,read_filename, last_line, encrypted; --void xa_rar_delete (XArchive *,GSList *); --void xa_rar_add (XArchive *,GString *,gchar *); - gboolean xa_rar_extract(XArchive *,GSList *); --void xa_rar_test (XArchive *); - void xa_get_rar_line_content (gchar *line, gpointer data); - void xa_open_rar ( XArchive *archive ); - #endif -diff -Nur xarchiver-0.5.3.orig/src/window.c xarchiver-0.5.3/src/window.c ---- xarchiver-0.5.3.orig/src/window.c 2014-02-20 03:24:30.795581843 -0200 -+++ xarchiver-0.5.3/src/window.c 2014-02-20 05:08:49.982243849 -0200 -@@ -26,7 +26,7 @@ - - extern GList *ArchiveType; - extern GList *ArchiveSuffix; --extern gboolean unrar; -+extern gboolean unar; - extern gboolean xdg_open; - extern Prefs_dialog_data *prefs_window; - extern Extract_dialog_data *extract_window; -@@ -1584,7 +1584,7 @@ - gtk_widget_show(selected_frame); - gtk_widget_set_sensitive(deselect_all,TRUE); - } -- if ( (archive->type == XARCHIVETYPE_RAR && unrar) || (archive->type == XARCHIVETYPE_RAR5 && unrar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) -+ if ( (archive->type == XARCHIVETYPE_RAR && unar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) - { - gtk_widget_set_sensitive (delete_menu,FALSE); - gtk_widget_set_sensitive (rename_menu,FALSE); -@@ -1801,7 +1801,7 @@ - else - idx = xa_find_archive_index (current_page); - -- if ((archive[idx]->type == XARCHIVETYPE_RAR || archive[idx]->type == XARCHIVETYPE_RAR5) && unrar) -+ if ((archive[idx]->type == XARCHIVETYPE_RAR) && unar) - { - response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform this action:"),_("You have to install rar package!")); - return; diff --git a/libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch b/libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch new file mode 100644 index 000000000..aa46243e3 --- /dev/null +++ b/libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch @@ -0,0 +1,525 @@ +diff -Nur xarchiver-0.5.3.orig/doc/html/ch01.html xarchiver-0.5.3/doc/html/ch01.html +--- xarchiver-0.5.3.orig/doc/html/ch01.html 2008-11-10 06:05:07.000000000 -0200 ++++ xarchiver-0.5.3/doc/html/ch01.html 2014-05-05 16:32:35.166604039 -0300 +@@ -23,13 +23,13 @@ +
  • Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz
  • +
  • Drag and drop from and to Xarchiver window
  • +
  • Progress window when using Xarchiver from the cmd-line or from a file-manager
  • +-
  • ARJ, RAR and ZIP archive comment are supported
  • ++
  • ARJ and ZIP archive comment are supported
  • +
  • Ability to convert the archive to self-extracting for those archive types which support it
  • +-
  • Smart detection of arj, zip and rar password encrypted archives
  • ++
  • Smart detection of arj and zip password encrypted archives
  • +
  • All the the output of the cmd-line archiver is displayed in the Xarchiver window
  • +-
  • All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)
  • ++
  • All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)
  • +
  • Deb and Rpm packages are handled internally, their package managers are NOT required.
  • +-
  • Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)
  • ++
  • Zip, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)
  • +

    +diff -Nur xarchiver-0.5.3.orig/doc/html/ch03s03.html xarchiver-0.5.3/doc/html/ch03s03.html +--- xarchiver-0.5.3.orig/doc/html/ch03s03.html 2008-11-03 04:49:49.000000000 -0200 ++++ xarchiver-0.5.3/doc/html/ch03s03.html 2014-05-05 16:25:59.026943013 -0300 +@@ -1,7 +1,7 @@ + + + General

    General

    Startup

    +- At startup, Xarchiver detects the available installed archivers (tar,rar,zip etc) and the script xdg-open for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. ++ At startup, Xarchiver detects the available installed archivers (tar,zip etc) and the script xdg-open for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. +

    How it works

    + Xarchiver will run in the background the cmd-line executable of the archiver with the archiver's proper switches to perform the selected operation. If something goes wrong Xarchiver reports the full output of the archiver executable in the command line output window. From the release 0.5 the files in the archive can be opened within Xarchiver. The script xdg-open will detect the file type and run the proper application to handle it. If you don't have such script installed in your system (it's found in the xdg-utils package) Xarchiver will recognize HTML, txt and images files only. The Preferences dialog will notify this to you when you click the Advanced section inside it. +

    Drag and Drop

    +diff -Nur xarchiver-0.5.3.orig/doc/html/ch04s02.html xarchiver-0.5.3/doc/html/ch04s02.html +--- xarchiver-0.5.3.orig/doc/html/ch04s02.html 2007-08-23 07:27:40.000000000 -0300 ++++ xarchiver-0.5.3/doc/html/ch04s02.html 2014-05-05 16:31:53.479628949 -0300 +@@ -1,5 +1,5 @@ + + +-How can I create an archive with some files password protected and others not?

    How can I create an archive with some files password protected and others not?

    First of all choose 'New' and select one of arj, 7zip, rar or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and ++How can I create an archive with some files password protected and others not?

    How can I create an archive with some files password protected and others not?

    First of all choose 'New' and select one of arj, 7zip or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and + enter your password. From now on all the files you add to the archive will be password protected. +

    +diff -Nur xarchiver-0.5.3.orig/doc/html/ch04s06.html xarchiver-0.5.3/doc/html/ch04s06.html +--- xarchiver-0.5.3.orig/doc/html/ch04s06.html 2008-11-03 04:49:49.000000000 -0200 ++++ xarchiver-0.5.3/doc/html/ch04s06.html 2014-05-05 16:33:00.806793156 -0300 +@@ -1,4 +1,4 @@ + + +-Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?

    Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?

    Because rar and arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. ++Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?

    Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?

    Because arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. +

    +diff -Nur xarchiver-0.5.3.orig/doc/xarchiver.docbook xarchiver-0.5.3/doc/xarchiver.docbook +--- xarchiver-0.5.3.orig/doc/xarchiver.docbook 2007-08-22 07:49:19.000000000 -0300 ++++ xarchiver-0.5.3/doc/xarchiver.docbook 2014-05-05 16:25:17.863287969 -0300 +@@ -50,14 +50,14 @@ + The most used archiver cmd-line options are supported in the Add and Extract dialog + Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz + Drag and drop from and to Xarchiver window is supported with XDS protocol +- ZIP and ARJ archive comment are supported. RAR comment is not yet supported because it's compressed inside the archive itself ++ ZIP and ARJ archive comment are supported. + Tabs Firefox style support + Ability to convert the archive to self-extracting for those archive types which support it +- Smart detection of arj, zip and rar password encrypted archives ++ Smart detection of arj and zip password encrypted archives + All the the output of the cmd-line archiver is displayed in the Xarchiver window +- All common formats are supported: arj, bzip2, lha, gzip, 7z, rar, tar, tar.bz2, tar.gz, zip, DEB and RPM (only open,view and extract) ++ All common formats are supported: arj, bzip2, lha, gzip, 7z, tar, tar.bz2, tar.gz, zip, DEB and RPM (only open,view and extract) + Support of RPM files without RPM executable. This is useful on not RPM-based distributions like Slackware and Arch Linux +- Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported) ++ Zip, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported) + + + +@@ -204,7 +204,7 @@ +
    + Startup + +- At startup, &app; detects the available installed archivers (tar,rar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. ++ At startup, &app; detects the available installed archivers (tar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. + +
    +
    +@@ -244,7 +244,7 @@ + Open + + Opens a new archive. If you force &app; to open an unsupported archive +- type an error message will be emitted. The archive type is detected by its magic header and not by the extension. Password protected archives are supported also. The password detection is done by looking for the password flag inside the archive structure except for rar ones since encrypted files in rar archives have an asterisk right before their filename. 7zip encrypted archives are not detected due to the complexity of 7zip format. Please see ++ type an error message will be emitted. The archive type is detected by its magic header and not by the extension. Password protected archives are supported also. The password detection is done by looking for the password flag inside the archive structure. 7zip encrypted archives are not detected due to the complexity of 7zip format. Please see + this thread on sf.net + for more information. + +@@ -394,7 +394,7 @@ +
    +
    + How can I create an archive with some files password protected and others not? +- First of all choose 'New' and select one of arj, 7zip, rar or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and ++ First of all choose 'New' and select one of arj, 7zip or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and + enter your password. From now on all the files you add to the archive will be password protected. + +
    +@@ -427,7 +427,7 @@ + +
    + Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z? +- Because rar and arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. ++ Because arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. + +
    + +diff -Nur xarchiver-0.5.3.orig/po/POTFILES.in xarchiver-0.5.3/po/POTFILES.in +--- xarchiver-0.5.3.orig/po/POTFILES.in 2008-08-26 08:53:27.000000000 -0300 ++++ xarchiver-0.5.3/po/POTFILES.in 2014-05-05 16:28:26.154740706 -0300 +@@ -15,7 +15,6 @@ + src/open-with-dlg.c + src/new_dialog.c + src/pref_dialog.c +-src/rar.c + src/rpm.c + src/tar.c + src/zip.c +diff -Nur xarchiver-0.5.3.orig/src/Makefile.am xarchiver-0.5.3/src/Makefile.am +--- xarchiver-0.5.3.orig/src/Makefile.am 2008-09-23 03:39:50.000000000 -0300 ++++ xarchiver-0.5.3/src/Makefile.am 2014-05-05 16:30:14.628892353 -0300 +@@ -16,7 +16,6 @@ + arj.c arj.h \ + deb.c deb.h \ + zip.c zip.h \ +- rar.c rar.h \ + 7zip.c 7zip.h \ + tar.c tar.h \ + bzip2.c bzip2.h \ +diff -Nur xarchiver-0.5.3.orig/src/Makefile.in xarchiver-0.5.3/src/Makefile.in +--- xarchiver-0.5.3.orig/src/Makefile.in 2008-11-12 05:50:37.000000000 -0200 ++++ xarchiver-0.5.3/src/Makefile.in 2014-05-05 16:30:50.625828168 -0300 +@@ -57,7 +57,7 @@ + xarchiver-archive.$(OBJEXT) xarchiver-interface.$(OBJEXT) \ + xarchiver-window.$(OBJEXT) xarchiver-arj.$(OBJEXT) \ + xarchiver-deb.$(OBJEXT) xarchiver-zip.$(OBJEXT) \ +- xarchiver-rar.$(OBJEXT) xarchiver-7zip.$(OBJEXT) \ ++ xarchiver-7zip.$(OBJEXT) \ + xarchiver-tar.$(OBJEXT) xarchiver-bzip2.$(OBJEXT) \ + xarchiver-gzip.$(OBJEXT) xarchiver-rpm.$(OBJEXT) \ + xarchiver-lha.$(OBJEXT) xarchiver-extract_dialog.$(OBJEXT) \ +@@ -267,7 +267,6 @@ + arj.c arj.h \ + deb.c deb.h \ + zip.c zip.h \ +- rar.c rar.h \ + 7zip.c 7zip.h \ + tar.c tar.h \ + bzip2.c bzip2.h \ +@@ -381,7 +380,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-new_dialog.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-open-with-dlg.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-pref_dialog.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-rar.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-rpm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-sexy-icon-entry.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-socket.Po@am__quote@ +@@ -595,20 +593,6 @@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-zip.obj `if test -f 'zip.c'; then $(CYGPATH_W) 'zip.c'; else $(CYGPATH_W) '$(srcdir)/zip.c'; fi` + +-xarchiver-rar.o: rar.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.o -MD -MP -MF "$(DEPDIR)/xarchiver-rar.Tpo" -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-rar.Tpo" "$(DEPDIR)/xarchiver-rar.Po"; else rm -f "$(DEPDIR)/xarchiver-rar.Tpo"; exit 1; fi +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rar.c' object='xarchiver-rar.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c +- +-xarchiver-rar.obj: rar.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.obj -MD -MP -MF "$(DEPDIR)/xarchiver-rar.Tpo" -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-rar.Tpo" "$(DEPDIR)/xarchiver-rar.Po"; else rm -f "$(DEPDIR)/xarchiver-rar.Tpo"; exit 1; fi +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rar.c' object='xarchiver-rar.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi` +- + xarchiver-7zip.o: 7zip.c + @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-7zip.o -MD -MP -MF "$(DEPDIR)/xarchiver-7zip.Tpo" -c -o xarchiver-7zip.o `test -f '7zip.c' || echo '$(srcdir)/'`7zip.c; \ + @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-7zip.Tpo" "$(DEPDIR)/xarchiver-7zip.Po"; else rm -f "$(DEPDIR)/xarchiver-7zip.Tpo"; exit 1; fi +diff -Nur xarchiver-0.5.3.orig/src/interface.c xarchiver-0.5.3/src/interface.c +--- xarchiver-0.5.3.orig/src/interface.c 2014-02-09 13:26:24.000000000 -0200 ++++ xarchiver-0.5.3/src/interface.c 2014-05-05 17:04:24.879755668 -0300 +@@ -45,7 +45,7 @@ + { "text/uri-list",0,0 }, + }; + +-extern gboolean unrar,batch_mode; ++extern gboolean batch_mode; + + static gboolean xa_progress_dialog_delete_event (GtkWidget *caller,GdkEvent *event,GPid pid); + static void xa_progress_dialog_stop_action (GtkWidget *widget,GPid pid); +@@ -600,7 +600,7 @@ + if (selection != NULL) + xa_row_selected(selection,archive[id]); + +- if (archive[id]->type == XARCHIVETYPE_7ZIP || archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_RAR5 || archive[id]->type == XARCHIVETYPE_ARJ) ++ if (archive[id]->type == XARCHIVETYPE_7ZIP || archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_ARJ) + gtk_widget_set_sensitive (comment_menu,TRUE); + else + gtk_widget_set_sensitive (comment_menu,FALSE); +@@ -623,12 +623,7 @@ + { + gtk_widget_show(selected_frame); + gtk_widget_set_sensitive(deselect_all,TRUE); +- if ((archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_RAR5) && unrar) +- { +- gtk_widget_set_sensitive (delete_menu,FALSE); +- gtk_widget_set_sensitive (rename_menu,FALSE); +- } +- else if (archive[id]->type == XARCHIVETYPE_BZIP2 || archive[id]->type == XARCHIVETYPE_GZIP || archive[id]->type == XARCHIVETYPE_DEB || archive[id]->type == XARCHIVETYPE_RPM || archive[id]->type == XARCHIVETYPE_LZMA || archive[id]->type == XARCHIVETYPE_XZ || archive[id]->type == XARCHIVETYPE_LZOP) ++ if (archive[id]->type == XARCHIVETYPE_BZIP2 || archive[id]->type == XARCHIVETYPE_GZIP || archive[id]->type == XARCHIVETYPE_DEB || archive[id]->type == XARCHIVETYPE_RPM || archive[id]->type == XARCHIVETYPE_LZMA || archive[id]->type == XARCHIVETYPE_XZ || archive[id]->type == XARCHIVETYPE_LZOP) + { + gtk_widget_set_sensitive (delete_menu,FALSE); + gtk_widget_set_sensitive (rename_menu,FALSE); +diff -Nur xarchiver-0.5.3.orig/src/main.c xarchiver-0.5.3/src/main.c +--- xarchiver-0.5.3.orig/src/main.c 2014-02-09 13:30:28.000000000 -0200 ++++ xarchiver-0.5.3/src/main.c 2014-05-05 16:23:04.132223201 -0300 +@@ -33,13 +33,11 @@ + gchar *add_files; + gboolean error_output, file_to_open, ask_and_extract, ask_and_add, multi_extract; + gboolean batch_mode = FALSE; +-gboolean unrar = FALSE; + gboolean sevenzr = FALSE, sevenza = FALSE, xdg_open = FALSE; + static gboolean show_version = FALSE; + int response; + extern gchar *current_open_directory; + extern int status; +-extern int rar_version; + + extern Progress_bar_data *pb; + Prefs_dialog_data *prefs_window = NULL; +@@ -315,7 +313,6 @@ + open_archive[XARCHIVETYPE_GZIP] = &xa_open_gzip; + open_archive[XARCHIVETYPE_LZMA] = &xa_open_bzip2_lzma; + open_archive[XARCHIVETYPE_XZ] = &xa_open_bzip2_lzma; +- open_archive[XARCHIVETYPE_RAR] = open_archive[XARCHIVETYPE_RAR5] = &xa_open_rar; + open_archive[XARCHIVETYPE_RPM] = &xa_open_rpm; + open_archive[XARCHIVETYPE_TAR] = open_archive[XARCHIVETYPE_TAR_BZ2] = open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = open_archive[XARCHIVETYPE_TAR_XZ] = open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar; + open_archive[XARCHIVETYPE_ZIP] = &xa_open_zip; +@@ -330,7 +327,6 @@ + delete[XARCHIVETYPE_GZIP] = 0; + delete[XARCHIVETYPE_LZMA] = 0; + delete[XARCHIVETYPE_XZ] = 0; +- delete[XARCHIVETYPE_RAR] = delete[XARCHIVETYPE_RAR5] = &xa_rar_delete; + delete[XARCHIVETYPE_RPM] = 0; + delete[XARCHIVETYPE_TAR] = delete[XARCHIVETYPE_TAR_BZ2] = delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = delete[XARCHIVETYPE_TAR_XZ] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete; + delete[XARCHIVETYPE_ZIP] = &xa_zip_delete; +@@ -343,7 +339,6 @@ + add[XARCHIVETYPE_ARJ] = &xa_arj_add; + add[XARCHIVETYPE_DEB] = 0; + add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = add[XARCHIVETYPE_XZ] = add[XARCHIVETYPE_LZOP] = &xa_tar_add; +- add[XARCHIVETYPE_RAR] = add[XARCHIVETYPE_RAR5] = &xa_rar_add; + add[XARCHIVETYPE_RPM] = 0; + add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_XZ] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; + add[XARCHIVETYPE_ZIP] = &xa_zip_add; +@@ -354,7 +349,6 @@ + extract[XARCHIVETYPE_ARJ] = &xa_arj_extract; + extract[XARCHIVETYPE_DEB] = &xa_deb_extract;; + extract[XARCHIVETYPE_BZIP2] = extract[XARCHIVETYPE_GZIP] = extract[XARCHIVETYPE_LZMA] = extract[XARCHIVETYPE_XZ] = extract[XARCHIVETYPE_LZOP] = &xa_tar_extract; +- extract[XARCHIVETYPE_RAR] = extract[XARCHIVETYPE_RAR5] = &xa_rar_extract; + extract[XARCHIVETYPE_RPM] = &xa_rpm_extract; + extract[XARCHIVETYPE_TAR] = extract[XARCHIVETYPE_TAR_BZ2] = extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = extract[XARCHIVETYPE_TAR_XZ] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract; + extract[XARCHIVETYPE_ZIP] = &xa_zip_extract; +@@ -364,7 +358,6 @@ + test[XARCHIVETYPE_7ZIP] = &xa_7zip_test; + test[XARCHIVETYPE_ARJ] = &xa_arj_test; + test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = test[XARCHIVETYPE_XZ] = test[XARCHIVETYPE_LZOP] = &xa_tar_test; +- test[XARCHIVETYPE_RAR] = test[XARCHIVETYPE_RAR5] = &xa_rar_test; + test[XARCHIVETYPE_RPM] = 0; + test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_XZ] = test[XARCHIVETYPE_TAR_LZOP] = &xa_tar_test; + test[XARCHIVETYPE_ZIP] = &xa_zip_test; +@@ -435,39 +428,6 @@ + //ArchiveSuffix = g_list_append(ArchiveSuffix, ""); + } + +- absolute_path = g_find_program_in_path ("rar"); +- if ( absolute_path ) +- { +- ArchiveType = g_list_append(ArchiveType, "rar"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); +- // Is RAR v5 ? +- xa_rar_checkversion (absolute_path); +- if (rar_version == 5) +- { +- ArchiveType = g_list_append(ArchiveType, "rar5"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); +- } +- g_free (absolute_path); +- } +- else +- { +- absolute_path = g_find_program_in_path("unrar"); +- if ( absolute_path ) +- { +- unrar = TRUE; +- ArchiveType = g_list_append(ArchiveType, "rar"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); +- // Is RAR v5 ? +- xa_rar_checkversion (absolute_path); +- if (rar_version == 5) +- { +- ArchiveType = g_list_append(ArchiveType, "rar5"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); +- } +- g_free (absolute_path); +- } +- } +- + absolute_path = g_find_program_in_path("cpio"); + if ( absolute_path ) + { +diff -Nur xarchiver-0.5.3.orig/src/mime.c xarchiver-0.5.3/src/mime.c +--- xarchiver-0.5.3.orig/src/mime.c 2008-11-05 07:53:22.000000000 -0200 ++++ xarchiver-0.5.3/src/mime.c 2014-05-05 16:31:28.126107426 -0300 +@@ -44,7 +44,7 @@ + icon_name = "gnome-mime-application-vnd.ms-excel"; + else if (strcmp(mime,"application/vnd.ms-powerpoint") == 0 || strcmp (mime,"application/vnd.oasis.opendocument.presentation") == 0) + icon_name = "gnome-mime-application-vnd.ms-powerpoint"; +- else if (strcmp(mime,"application/zip") == 0 || strcmp(mime,"application/x-rar") == 0 || strcmp(mime,"application/x-tar") == 0 ++ else if (strcmp(mime,"application/zip") == 0 || strcmp(mime,"application/x-tar") == 0 + || strcmp(mime,"application/x-7z-compressed") == 0 || strcmp(mime,"application/x-bzip-compressed-tar") == 0 + || strcmp (mime,"application/x-compressed-tar") == 0 || strcmp (mime,"application/x-lha") == 0 + || strcmp (mime,"application/x-rpm") == 0 || strcmp (mime,"application/x-deb") == 0 +diff -Nur xarchiver-0.5.3.orig/src/new_dialog.c xarchiver-0.5.3/src/new_dialog.c +--- xarchiver-0.5.3.orig/src/new_dialog.c 2014-02-09 13:26:24.000000000 -0200 ++++ xarchiver-0.5.3/src/new_dialog.c 2014-05-05 16:21:07.714600036 -0300 +@@ -24,7 +24,6 @@ + #include "string_utils.h" + #include "main.h" + +-extern gboolean unrar; + extern Prefs_dialog_data *prefs_window; + gchar *current_new_directory = NULL; + gint new_combo_box = -1; +@@ -100,11 +99,6 @@ + Name = g_list_first (ArchiveType); + + while (Name) +- { +- if (!(strncmp(Name->data, "rar", 3) == 0 && unrar)) +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box),Name->data); +- Name = g_list_next (Name); +- } + if (new_combo_box == -1) + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box),gtk_combo_box_get_active(GTK_COMBO_BOX(prefs_window->combo_prefered_format))); + else +@@ -227,16 +221,6 @@ + type = XARCHIVETYPE_LZOP; + format = "LZOP"; + } +- else if (strcmp (ComboArchiveType,"rar") == 0) +- { +- type = XARCHIVETYPE_RAR; +- format = "RAR"; +- } +- else if (strcmp (ComboArchiveType,"rar5") == 0) +- { +- type = XARCHIVETYPE_RAR5; +- format = "RAR5"; +- } + else if (strcmp (ComboArchiveType,"tar") == 0) + { + type = XARCHIVETYPE_TAR; +diff -Nur xarchiver-0.5.3.orig/src/pref_dialog.c xarchiver-0.5.3/src/pref_dialog.c +--- xarchiver-0.5.3.orig/src/pref_dialog.c 2014-02-09 13:26:24.000000000 -0200 ++++ xarchiver-0.5.3/src/pref_dialog.c 2014-05-05 17:29:05.494321392 -0300 +@@ -23,7 +23,6 @@ + #include "main.h" + #include "support.h" + +-extern gboolean unrar; + extern gboolean xdg_open; + extern Extract_dialog_data *extract_window; + extern Add_dialog_data *add_window; +@@ -103,9 +102,7 @@ + while ( archive_type != NULL ) + { + if (strcmp(archive_type->data, "tgz") == 0 || +- strcmp(archive_type->data, "rpm") == 0 || +- (strncmp(archive_type->data, "rar", 3) == 0 && unrar) ) +- goto next; ++ strcmp(archive_type->data, "rpm") == 0); + else + gtk_combo_box_append_text (GTK_COMBO_BOX (prefs_data->combo_prefered_format),archive_type->data ); + next: +diff -Nur xarchiver-0.5.3.orig/src/window.c xarchiver-0.5.3/src/window.c +--- xarchiver-0.5.3.orig/src/window.c 2014-02-09 13:49:07.000000000 -0200 ++++ xarchiver-0.5.3/src/window.c 2014-05-05 17:19:54.769288791 -0300 +@@ -26,7 +26,6 @@ + + extern GList *ArchiveType; + extern GList *ArchiveSuffix; +-extern gboolean unrar; + extern gboolean xdg_open; + extern Prefs_dialog_data *prefs_window; + extern Extract_dialog_data *extract_window; +@@ -326,11 +325,7 @@ + + /* Does the user open an archive from the command line whose archiver is not installed? */ + gchar *ext = NULL; +- if (type == XARCHIVETYPE_RAR) +- ext = "rar"; +- else if (type == XARCHIVETYPE_RAR5) +- ext = "rar5"; +- else if (type == XARCHIVETYPE_7ZIP) ++ if (type == XARCHIVETYPE_7ZIP) + ext = "7z"; + else if (type == XARCHIVETYPE_ARJ) + ext = "arj"; +@@ -358,7 +353,7 @@ + g_free (path); + return; + } +- /* Detect archive comment,rar one is detected in rar.c */ ++ /* Detect archive comment */ + if (type == XARCHIVETYPE_ZIP) + archive[current_page]->has_comment = xa_detect_archive_comment (XARCHIVETYPE_ZIP,path,archive[current_page]); + else if (type == XARCHIVETYPE_ARJ) +@@ -780,13 +775,6 @@ + archive[idx]->status = XA_ARCHIVESTATUS_SFX; + switch ( archive[idx]->type) + { +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: +- command = g_strconcat ("rar s -o+ ",archive[idx]->escaped_path,NULL); +- list = g_slist_append(list,command); +- xa_run_command (archive[idx],list); +- break; +- + case XARCHIVETYPE_ZIP: + { + gchar *archive_name = NULL; +@@ -964,7 +952,7 @@ + void xa_about (GtkMenuItem *menuitem,gpointer user_data) + { + static GtkWidget *about = NULL; +- const char *authors[] = {"Main developer:\nGiuseppe Torelli \n\nArchive navigation code:\nJohn Berthels\n\nCode fixing:\nEnrico Tröger\n\nLHA and DEB support:\nŁukasz Zemczak \n\nLZMA support:\nThomas Dy \n\nLZOP support:\nKevin Day\n\nRAR5, XZ, TAR.XZ support:\nFrederick GUERIN \n",NULL}; ++ const char *authors[] = {"Main developer:\nGiuseppe Torelli \n\nArchive navigation code:\nJohn Berthels\n\nCode fixing:\nEnrico Tröger\n\nLHA and DEB support:\nŁukasz Zemczak \n\nLZMA support:\nThomas Dy \n\nLZOP support:\nKevin Day\n\nXZ, TAR.XZ support:\nFrederick GUERIN \n",NULL}; + const char *documenters[] = {"Special thanks to Bjoern Martensen for\nbugs hunting and Xarchiver Tango logo.\n\nThanks to:\nBenedikt Meurer\nStephan Arts\nBruno Jesus <00cpxxx@gmail.com>\nUracile for the stunning logo\n",NULL}; + + if (about == NULL) +@@ -1122,10 +1110,6 @@ + xx = XARCHIVETYPE_ZIP; + else if (memcmp (magic,"\x60\xea",2) == 0) + xx = XARCHIVETYPE_ARJ; +- else if (memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x00",7) == 0) +- xx = XARCHIVETYPE_RAR; +- else if (memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x01",7) == 0) +- xx = XARCHIVETYPE_RAR5; + else if (memcmp ( magic,"\x42\x5a\x68",3) == 0) + xx = XARCHIVETYPE_BZIP2; + else if (memcmp ( magic,"\x1f\x8b",2) == 0 || memcmp ( magic,"\x1f\x9d",2) == 0) +@@ -1479,8 +1463,6 @@ + pos = 3; + break; + +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: + case XARCHIVETYPE_ARJ: + case XARCHIVETYPE_7ZIP: + pos = 2; +@@ -1545,8 +1527,6 @@ + pos = 3; + break; + +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: + case XARCHIVETYPE_ARJ: + case XARCHIVETYPE_7ZIP: + pos = 2; +@@ -1584,7 +1564,7 @@ + gtk_widget_show(selected_frame); + gtk_widget_set_sensitive(deselect_all,TRUE); + } +- if ( (archive->type == XARCHIVETYPE_RAR && unrar) || (archive->type == XARCHIVETYPE_RAR5 && unrar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) ++ if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) + { + gtk_widget_set_sensitive (delete_menu,FALSE); + gtk_widget_set_sensitive (rename_menu,FALSE); +@@ -1801,11 +1781,6 @@ + else + idx = xa_find_archive_index (current_page); + +- if ((archive[idx]->type == XARCHIVETYPE_RAR || archive[idx]->type == XARCHIVETYPE_RAR5) && unrar) +- { +- response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform this action:"),_("You have to install rar package!")); +- return; +- } + if (archive[idx]->type == XARCHIVETYPE_DEB || archive[idx]->type == XARCHIVETYPE_RPM) + { + gchar *msg; +@@ -2111,11 +2086,6 @@ + command = g_strconcat ("arj c ",archive[idx]->escaped_path," -z",tmp,NULL); + break; + +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: +- command = g_strconcat ("rar c ",archive[idx]->escaped_path," -z",tmp,NULL); +- break; +- + case XARCHIVETYPE_ZIP: + command = g_strconcat ("sh -c \"zip ",archive[idx]->escaped_path," -z <",tmp,"\"",NULL); + break; +diff -Nur xarchiver-0.5.3.orig/src/window.h xarchiver-0.5.3/src/window.h +--- xarchiver-0.5.3.orig/src/window.h 2008-10-24 07:26:51.000000000 -0200 ++++ xarchiver-0.5.3/src/window.h 2014-05-05 16:29:42.841987069 -0300 +@@ -40,7 +40,6 @@ + #include "deb.h" + #include "lha.h" + #include "zip.h" +-#include "rar.h" + #include "tar.h" + #include "7zip.h" + #include "bzip2.h" +diff -Nur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.3/xarchiver.desktop.in +--- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-05 16:55:29.564006985 -0300 ++++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-05 16:56:49.210457785 -0300 +@@ -11,4 +11,4 @@ + X-MultipleArgs=false + Categories=GTK;Archiving;Utility; + StartupNotify=true +-MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm; ++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm; -- cgit v1.2.3 From 933fcfcbc71440730e5cbc8ce808c4e06c6ee8cd Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 5 May 2014 19:29:48 -0300 Subject: p7zip-libre-9.20.1-9.4: improve description about decompression engine for RAR archives --- libre/p7zip-libre/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/p7zip-libre/PKGBUILD b/libre/p7zip-libre/PKGBUILD index aff6d60b9..5ea50cd1a 100644 --- a/libre/p7zip-libre/PKGBUILD +++ b/libre/p7zip-libre/PKGBUILD @@ -8,8 +8,8 @@ pkgname=p7zip-libre _pkgname=${pkgname%-libre} pkgver=9.20.1 -pkgrel=9.3 -pkgdesc='Command-line version of the 7zip compressed file archiver, without nonfree unrar support' +pkgrel=9.4 +pkgdesc='Command-line version of the 7zip compressed file archiver, without nonfree decompression engine for RAR archives' url='http://p7zip.sourceforge.net/' license=('GPL') arch=('i686' 'x86_64' 'mips64el') @@ -34,7 +34,7 @@ install=install mksource() { cd "${srcdir}/${_pkgname}_${pkgver}" - # Remove nonfree unRAR utility files from the source + # Remove nonfree decompression engine for RAR archives rm -rv CPP/7zip/{Archive,Compress}/Rar rm -v CPP/7zip/Compress/{Rar{2,3}Decoder.{cpp,h},Rar3Vm.{cpp,h},RarCodecsRegister.cpp} rm -v CPP/7zip/Crypto/{Rar20Crypto,RarAes}.{cpp,h} -- cgit v1.2.3 From 1614efd6e15e1b09dd31590497e9cf6b22143877 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 5 May 2014 19:31:10 -0300 Subject: xarchiver-libre: fix patch name --- libre/xarchiver-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/xarchiver-libre/PKGBUILD b/libre/xarchiver-libre/PKGBUILD index bec42c1a7..75499428b 100644 --- a/libre/xarchiver-libre/PKGBUILD +++ b/libre/xarchiver-libre/PKGBUILD @@ -29,7 +29,7 @@ source=(http://downloads.sourceforge.net/xarchiver/xarchiver-$pkgver.tar.bz2 xarchiver-0.5.3-fix-double-escaping.patch xarchiver-0.5.3-fix-password-protected.patch xarchiver-0.5.3-add-mime-types.patch - xarchiver-0.5.3-remove-nonfree-rar-support.patch) + xarchiver-0.5.3-remove-nonfree-unrar-support.patch) md5sums=('fd390bbd2df76a5f8a007bdeae82d4aa' '812b93339f5e3332621f3c5abebfe277' '6178d7ab679b761469c880a8db991907' -- cgit v1.2.3 From 99118c6deeb883a25981b35c26c84115f2341dc9 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 01:46:01 -0300 Subject: mcomix-libre-1.00-6.1: remove nonfree unrar support --- libre/mcomix-libre/PKGBUILD | 19 +- libre/mcomix-libre/libre.patch | 407 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 422 insertions(+), 4 deletions(-) create mode 100644 libre/mcomix-libre/libre.patch diff --git a/libre/mcomix-libre/PKGBUILD b/libre/mcomix-libre/PKGBUILD index 97c3bde0f..3818578ba 100644 --- a/libre/mcomix-libre/PKGBUILD +++ b/libre/mcomix-libre/PKGBUILD @@ -6,8 +6,8 @@ _pkgname=mcomix pkgname=mcomix-libre pkgver=1.00 -pkgrel=6 -pkgdesc="A user-friendly, customizable image viewer specifically designed to handle comic books, without nonfree unrar recommendation" +pkgrel=6.1 +pkgdesc="A user-friendly, customizable image viewer specifically designed to handle comic books, without nonfree unrar support" arch=('any') url="http://sourceforge.net/projects/mcomix/" license=('GPL') @@ -19,7 +19,17 @@ replaces=('mcomix' 'comix') provides=("mcomix=${pkgver}") install='mcomix.install' source=("http://downloads.sourceforge.net/project/mcomix/MComix-${pkgver}/mcomix-${pkgver}.tar.bz2" - 'zoom.patch') + 'zoom.patch' + 'libre.patch') + +prepare() { + cd ${srcdir}/${_pkgname}-${pkgver} + + # Remove nonfree unRAR support + rm -v mcomix/archive/rar{,file}.py + rm -v mime/icons/*/application-x-cbr.png + patch -Np1 -i ${srcdir}/libre.patch +} build() { cd ${srcdir}/${_pkgname}-${pkgver} @@ -53,4 +63,5 @@ package() { } md5sums=('3a916dd9da17043ab59ccd17e26eb932' - 'c80705bf6f132bfba20dcb84b79c9cb7') + 'c80705bf6f132bfba20dcb84b79c9cb7' + '73dc7d42063b1a1a966eb87d8ec9d0bf') diff --git a/libre/mcomix-libre/libre.patch b/libre/mcomix-libre/libre.patch new file mode 100644 index 000000000..fa13b6c9d --- /dev/null +++ b/libre/mcomix-libre/libre.patch @@ -0,0 +1,407 @@ +diff --git a/mcomix/about_dialog.py b/mcomix/about_dialog.py +index 9f956d5..10ff0be 100644 +--- a/mcomix/about_dialog.py ++++ b/mcomix/about_dialog.py +@@ -27,7 +27,7 @@ class _AboutDialog(gtk.AboutDialog): + comment = \ + _('%s is an image viewer specifically designed to handle comic books.') % \ + constants.APPNAME + u' ' + \ +- _('It reads ZIP, RAR and tar archives, as well as plain image files.') ++ _('It reads ZIP and tar archives, as well as plain image files.') + self.set_comments(comment) + + license = \ +diff --git a/mcomix/archive_extractor.py b/mcomix/archive_extractor.py +index afed5c7..bc969bf 100644 +--- a/mcomix/archive_extractor.py ++++ b/mcomix/archive_extractor.py +@@ -12,8 +12,8 @@ class Extractor: + + """Extractor is a threaded class for extracting different archive formats. + +- The Extractor can be loaded with paths to archives (currently ZIP, tar, +- or RAR archives) and a path to a destination directory. Once an archive ++ The Extractor can be loaded with paths to archives (currently ZIP or tar ++ archives) and a path to a destination directory. Once an archive + has been set it is possible to filter out the files to be extracted and + set the order in which they should be extracted. The extraction can + then be started in a new thread in which files are extracted one by one, +diff --git a/mcomix/archive_tools.py b/mcomix/archive_tools.py +index 66c3f14..151a904 100644 +--- a/mcomix/archive_tools.py ++++ b/mcomix/archive_tools.py +@@ -8,7 +8,6 @@ import tarfile + from mcomix import constants + from mcomix import log + from mcomix.archive import zip +-from mcomix.archive import rar + from mcomix.archive import tar + from mcomix.archive import sevenzip + from mcomix.archive import lha +@@ -16,9 +15,6 @@ from mcomix.archive import lha + def szip_available(): + return sevenzip.SevenZipArchive.is_available() + +-def rar_available(): +- return rar.RarArchive.is_available() or szip_available() +- + def lha_available(): + return lha.LhaArchive.is_available() or szip_available() + +@@ -31,9 +27,6 @@ def get_supported_archive_regex(): + if szip_available(): + formats.extend(constants.SZIP_FORMATS[1]) + +- if rar_available(): +- formats.extend(constants.RAR_FORMATS[1]) +- + if lha_available(): + formats.extend(constants.LHA_FORMATS[1]) + +@@ -71,10 +64,7 @@ def archive_mime_type(path): + else: + return constants.TAR + +- if magic == 'Rar!': +- return constants.RAR +- +- elif magic == '7z\xBC\xAF': ++ if magic == '7z\xBC\xAF': + return constants.SEVENZIP + + elif magic[2:] == '-l': +@@ -124,11 +114,6 @@ def get_archive_handler(path): + return zip.ZipArchive(path) + elif mime in (constants.TAR, constants.GZIP, constants.BZIP2): + return tar.TarArchive(path) +- elif mime == constants.RAR and rar.RarArchive.is_available(): +- return rar.RarArchive(path) +- elif mime == constants.RAR and sevenzip.SevenZipArchive.is_available(): +- log.info('Using Sevenzip for RAR archives.') +- return sevenzip.SevenZipArchive(path) + elif mime == constants.SEVENZIP and sevenzip.SevenZipArchive.is_available(): + return sevenzip.SevenZipArchive(path) + elif mime == constants.LHA and lha.LhaArchive.is_available(): +diff --git a/mcomix/constants.py b/mcomix/constants.py +index fad3b78..3c225c5 100644 +--- a/mcomix/constants.py ++++ b/mcomix/constants.py +@@ -28,7 +28,7 @@ FILEINFO_PICKLE_PATH = os.path.join(DATA_DIR, 'file.pickle') + PREFERENCE_PICKLE_PATH = os.path.join(CONFIG_DIR, 'preferences.pickle') + + ZOOM_MODE_BEST, ZOOM_MODE_WIDTH, ZOOM_MODE_HEIGHT, ZOOM_MODE_MANUAL, ZOOM_MODE_SIZE = range(5) +-ZIP, RAR, TAR, GZIP, BZIP2, PDF, SEVENZIP, LHA = range(8) ++ZIP, TAR, GZIP, BZIP2, PDF, SEVENZIP, LHA = range(7) + NORMAL_CURSOR, GRAB_CURSOR, WAIT_CURSOR, NO_CURSOR = range(4) + LIBRARY_DRAG_EXTERNAL_ID, LIBRARY_DRAG_BOOK_ID, LIBRARY_DRAG_COLLECTION_ID = range(3) + AUTOROTATE_NEVER, AUTOROTATE_WIDTH_90, AUTOROTATE_WIDTH_270, \ +@@ -57,9 +57,6 @@ SUPPORTED_IMAGE_REGEX = re.compile(r'\.(jpg|jpeg|png|gif|tif|tiff|bmp|ppm|pgm|pb + ZIP_FORMATS = ( + ('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/x-cbz'), + ('*.zip', '*.cbz')) +-RAR_FORMATS = ( +- ('application/x-rar', 'application/x-cbr'), +- ('*.rar', '*.cbr')) + TAR_FORMATS = ( + ('application/x-tar', 'application/x-gzip', 'application/x-bzip2', 'application/x-cbt'), + ('*.tar', '*.gz', '*.bz2', '*.bzip2', '*.cbt')) +diff --git a/mcomix/file_chooser_base_dialog.py b/mcomix/file_chooser_base_dialog.py +index 4d2a34e..c518842 100644 +--- a/mcomix/file_chooser_base_dialog.py ++++ b/mcomix/file_chooser_base_dialog.py +@@ -88,9 +88,6 @@ class _BaseFileChooserDialog(gtk.Dialog): + # extractor availability. + mimetypes = constants.ZIP_FORMATS[0] + constants.TAR_FORMATS[0] + patterns = constants.ZIP_FORMATS[1] + constants.TAR_FORMATS[1] +- if archive_tools.rar_available(): +- mimetypes += constants.RAR_FORMATS[0] +- patterns += constants.RAR_FORMATS[1] + if archive_tools.szip_available(): + mimetypes += constants.SZIP_FORMATS[0] + patterns += constants.SZIP_FORMATS[1] +@@ -107,10 +104,6 @@ class _BaseFileChooserDialog(gtk.Dialog): + self.add_filter(_('Tar archives'), + *constants.TAR_FORMATS) + +- if archive_tools.rar_available(): +- self.add_filter(_('RAR archives'), +- *constants.RAR_FORMATS) +- + if archive_tools.szip_available(): + self.add_filter(_('7z archives'), + *constants.SZIP_FORMATS) +diff --git a/mcomix/messages/mcomix.pot b/mcomix/messages/mcomix.pot +index 54ece85..482c051 100644 +--- a/mcomix/messages/mcomix.pot ++++ b/mcomix/messages/mcomix.pot +@@ -24,7 +24,7 @@ msgid "%s is an image viewer specifically designed to handle comic books." + msgstr "" + + #: mcomix/about_dialog.py:30 +-msgid "It reads ZIP, RAR and tar archives, as well as plain image files." ++msgid "It reads ZIP and tar archives, as well as plain image files." + msgstr "" + + #: mcomix/about_dialog.py:34 +@@ -241,10 +241,6 @@ msgstr "" + msgid "Tar archives" + msgstr "" + +-#: mcomix/file_chooser_base_dialog.py:111 +-msgid "RAR archives" +-msgstr "" +- + #: mcomix/file_chooser_base_dialog.py:115 + msgid "7z archives" + msgstr "" +@@ -1345,10 +1341,6 @@ msgstr "" + msgid "Bzip2 compressed tar archive" + msgstr "" + +-#: mcomix/strings.py:13 +-msgid "RAR archive" +-msgstr "" +- + #: mcomix/strings.py:14 + msgid "7z archive" + msgstr "" +diff --git a/mcomix/process.py b/mcomix/process.py +index 4ba60c6..c37699d 100644 +--- a/mcomix/process.py ++++ b/mcomix/process.py +@@ -10,10 +10,7 @@ from mcomix import i18n + class Process: + + """The subprocess and popen2 modules in Python are broken (see issue +- #1336). The problem (i.e. complete crash) they can cause happen fairly +- often (once is too often) in MComix when calling "rar" or "unrar" to +- extract specific files from archives. We roll our own very simple +- process spawning module here instead. ++ #1336). We roll our own very simple process spawning module here instead. + """ + # TODO: I can no longer reproduce the issue. Check if this version of + # process.py still solves it. +diff --git a/mcomix/strings.py b/mcomix/strings.py +index c5ca21f..cc69236 100644 +--- a/mcomix/strings.py ++++ b/mcomix/strings.py +@@ -3,14 +3,13 @@ + This file should only be imported after gettext has been correctly initialized + and installed in the global namespace. """ + +-from mcomix.constants import ZIP, TAR, GZIP, BZIP2, RAR, SEVENZIP, LHA ++from mcomix.constants import ZIP, TAR, GZIP, BZIP2, SEVENZIP, LHA + + ARCHIVE_DESCRIPTIONS = { + ZIP: _('ZIP archive'), + TAR: _('Tar archive'), + GZIP: _('Gzip compressed tar archive'), + BZIP2: _('Bzip2 compressed tar archive'), +- RAR: _('RAR archive'), + SEVENZIP: _('7z archive'), + LHA: _('LHA archive') + } +diff --git a/mcomix.egg-info/SOURCES.txt b/mcomix.egg-info/SOURCES.txt +index 62de3ad..85a65df 100644 +--- a/mcomix.egg-info/SOURCES.txt ++++ b/mcomix.egg-info/SOURCES.txt +@@ -77,8 +77,6 @@ mcomix.egg-info/top_level.txt + mcomix/archive/__init__.py + mcomix/archive/archive_base.py + mcomix/archive/lha.py +-mcomix/archive/rar.py +-mcomix/archive/rarfile.py + mcomix/archive/sevenzip.py + mcomix/archive/tar.py + mcomix/archive/zip.py +@@ -183,18 +181,13 @@ mime/comicthumb.1.gz + mime/mcomix.desktop + mime/mcomix.thumbnailer + mime/mcomix.xml +-mime/icons/16x16/application-x-cbr.png + mime/icons/16x16/application-x-cbt.png + mime/icons/16x16/application-x-cbz.png +-mime/icons/22x22/application-x-cbr.png + mime/icons/22x22/application-x-cbt.png + mime/icons/22x22/application-x-cbz.png +-mime/icons/24x24/application-x-cbr.png + mime/icons/24x24/application-x-cbt.png + mime/icons/24x24/application-x-cbz.png +-mime/icons/32x32/application-x-cbr.png + mime/icons/32x32/application-x-cbt.png + mime/icons/32x32/application-x-cbz.png +-mime/icons/48x48/application-x-cbr.png + mime/icons/48x48/application-x-cbt.png +-mime/icons/48x48/application-x-cbz.png +\ No newline at end of file ++mime/icons/48x48/application-x-cbz.png +diff --git a/mime/comicbook.schemas b/mime/comicbook.schemas +index cdc4a4a..21b6214 100644 +--- a/mime/comicbook.schemas ++++ b/mime/comicbook.schemas +@@ -1,28 +1,6 @@ + + + +- /schemas/desktop/gnome/thumbnailers/application@x-cbr/enable +- /desktop/gnome/thumbnailers/application@x-cbr/enable +- comicthumb +- bool +- true +- +- +- +- +- +- +- /schemas/desktop/gnome/thumbnailers/application@x-cbr/command +- /desktop/gnome/thumbnailers/application@x-cbr/command +- comicthumb +- string +- comicthumb %i %o %s +- +- +- +- +- +- + /schemas/desktop/gnome/thumbnailers/application@x-cbz/enable + /desktop/gnome/thumbnailers/application@x-cbz/enable + comicthumb +diff --git a/mime/comicthumb b/mime/comicthumb +index 5728e2a..d77a4a1 100755 +--- a/mime/comicthumb ++++ b/mime/comicthumb +@@ -7,7 +7,7 @@ comicthumb is dependent on the Python Imaging Library (PIL). + comicthumb was originally written by Christoph Wolk, this version was + re-written from scratch for Comix 4 by Pontus Ekberg. + +-Supported formats: ZIP, RAR and tar (.cbz, .cbr, .cbt) ++Supported formats: ZIP and tar (.cbz, .cbt) + + Usage: comicthumb INFILE OUTFILE [SIZE] + """ +@@ -28,16 +28,13 @@ except ImportError: + print __doc__ + sys.exit(1) + +-ZIP, RAR, TAR, GZIP, BZIP2 = range(5) ++ZIP, TAR, GZIP, BZIP2 = range(5) + + + class Process: + + """The subprocess and popen2 modules in Python are broken (see issue +- #1336). The problem (i.e. complete crash) they can cause happen fairly +- often (once is too often) in Comix when calling "rar" or "unrar" to +- extract specific files from archives. We roll our own very simple +- process spawning module here instead. ++ #1336). We roll our own very simple process spawning module here instead. + """ + # TODO: I can no longer reproduce the issue. Check if this version of + # process.py still solves it. +@@ -94,19 +91,6 @@ class Extractor: + elif self._type in [TAR, GZIP, BZIP2]: + self._tfile = tarfile.open(src, 'r') + self._files = self._tfile.getnames() +- elif self._type == RAR: +- self._rar = None +- for command in ('unrar', 'rar'): +- if Process([command]).spawn() is not None: +- self._rar = command +- if self._rar == None: +- print '! Could not find the "rar" or "unrar" executable.' +- sys.exit(1) +- proc = Process([self._rar, 'vb', src]) +- fobj = proc.spawn() +- self._files = fobj.readlines() +- proc.wait() +- self._files = [name.rstrip('\n') for name in self._files] + + def get_files(self): + """Return a list of the files in the archive.""" +@@ -121,11 +105,6 @@ class Extractor: + return cStringIO.StringIO(self._zfile.read(chosen)) + elif self._type in [TAR, GZIP, BZIP2]: + return cStringIO.StringIO(self._tfile.extractfile(chosen).read()) +- elif self._type == RAR: +- proc = Process([self._rar, 'p', '-inul', '-p-', '--', +- self._src, chosen]) +- fobj = proc.spawn() +- return cStringIO.StringIO(fobj.read()) + + + def archive_mime_type(path): +@@ -145,8 +124,6 @@ def archive_mime_type(path): + if magic.startswith('\037\213'): + return GZIP + return TAR +- if magic == 'Rar!': +- return RAR + except Exception: + print '! Error while reading', path + return None +diff --git a/mime/mcomix.desktop b/mime/mcomix.desktop +index ee6d8b9..19ec7cd 100644 +--- a/mime/mcomix.desktop ++++ b/mime/mcomix.desktop +@@ -19,4 +19,4 @@ Terminal=false + Type=Application + StartupNotify=true + Categories=Graphics;Viewer; +-MimeType=application/x-cbz;application/x-cbr;application/x-cbt;image/jpeg;image/png;image/gif;image/tiff;image/bmp;image/x-icon;image/x-xpixmap;image/x-xbitmap;application/x-zip;application/zip;application/x-rar;application/x-tar;application/x-gzip;application/x-bzip2;image/svg+xml;image/svg;image/svg-xml;image/vnd.adobe.svg+xml;text/xml-svg;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-pcx;image/x-cmu-raster;image/x-sun-raster;image/x-tga;application/x-7z-compressed;application/x-cb7;application/x-lzh;application/x-lha;application/x-lzh-compressed; ++MimeType=application/x-cbz;application/x-cbt;image/jpeg;image/png;image/gif;image/tiff;image/bmp;image/x-icon;image/x-xpixmap;image/x-xbitmap;application/x-zip;application/zip;application/x-tar;application/x-gzip;application/x-bzip2;image/svg+xml;image/svg;image/svg-xml;image/vnd.adobe.svg+xml;text/xml-svg;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-pcx;image/x-cmu-raster;image/x-sun-raster;image/x-tga;application/x-7z-compressed;application/x-cb7;application/x-lzh;application/x-lha;application/x-lzh-compressed; +diff --git a/mime/mcomix.thumbnailer b/mime/mcomix.thumbnailer +index 4dcfc67..667dc8b 100644 +--- a/mime/mcomix.thumbnailer ++++ b/mime/mcomix.thumbnailer +@@ -1,4 +1,4 @@ + [Thumbnailer Entry] + TryExec=comicthumb + Exec=comicthumb %u %o %s +-MimeType=application/x-cbr;application/x-cbz;application/x-cbt; ++MimeType=application/x-cbz;application/x-cbt; +diff --git a/mime/mcomix.xml b/mime/mcomix.xml +index 765c254..b13e2da 100644 +--- a/mime/mcomix.xml ++++ b/mime/mcomix.xml +@@ -5,11 +5,6 @@ + Comic Book Archive (Zip compressed) + + +- +- +- Comic Book Archive (RAR compressed) +- +- + + + +diff --git a/setup.py b/setup.py +index 9eb7782..9979111 100755 +--- a/setup.py ++++ b/setup.py +@@ -78,23 +78,18 @@ setuptools.setup( + ('share/icons/hicolor/48x48/apps', ['mcomix/images/48x48/mcomix.png']), + ('share/icons/hicolor/16x16/mimetypes', + ['mime/icons/16x16/application-x-cbz.png', +- 'mime/icons/16x16/application-x-cbr.png', + 'mime/icons/16x16/application-x-cbt.png']), + ('share/icons/hicolor/22x22/mimetypes', + ['mime/icons/22x22/application-x-cbz.png', +- 'mime/icons/22x22/application-x-cbr.png', + 'mime/icons/22x22/application-x-cbt.png']), + ('share/icons/hicolor/24x24/mimetypes', + ['mime/icons/24x24/application-x-cbz.png', +- 'mime/icons/24x24/application-x-cbr.png', + 'mime/icons/24x24/application-x-cbt.png']), + ('share/icons/hicolor/32x32/mimetypes', + ['mime/icons/32x32/application-x-cbz.png', +- 'mime/icons/32x32/application-x-cbr.png', + 'mime/icons/32x32/application-x-cbt.png']), + ('share/icons/hicolor/48x48/mimetypes', + ['mime/icons/48x48/application-x-cbz.png', +- 'mime/icons/48x48/application-x-cbr.png', + 'mime/icons/48x48/application-x-cbt.png'])], + + # Package metadata -- cgit v1.2.3 From 5530165310839bdc338e3c16e9708d55876d1c09 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 03:52:57 -0300 Subject: mcomix-libre-1.00-6.2: fix issue --- libre/mcomix-libre/PKGBUILD | 4 ++-- libre/mcomix-libre/libre.patch | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/libre/mcomix-libre/PKGBUILD b/libre/mcomix-libre/PKGBUILD index 3818578ba..f28d7d2a3 100644 --- a/libre/mcomix-libre/PKGBUILD +++ b/libre/mcomix-libre/PKGBUILD @@ -6,7 +6,7 @@ _pkgname=mcomix pkgname=mcomix-libre pkgver=1.00 -pkgrel=6.1 +pkgrel=6.2 pkgdesc="A user-friendly, customizable image viewer specifically designed to handle comic books, without nonfree unrar support" arch=('any') url="http://sourceforge.net/projects/mcomix/" @@ -64,4 +64,4 @@ package() { md5sums=('3a916dd9da17043ab59ccd17e26eb932' 'c80705bf6f132bfba20dcb84b79c9cb7' - '73dc7d42063b1a1a966eb87d8ec9d0bf') + 'cbb3730d3bed153b88208163e83d60e2') diff --git a/libre/mcomix-libre/libre.patch b/libre/mcomix-libre/libre.patch index fa13b6c9d..e3f12f703 100644 --- a/libre/mcomix-libre/libre.patch +++ b/libre/mcomix-libre/libre.patch @@ -181,6 +181,20 @@ index 4ba60c6..c37699d 100644 """ # TODO: I can no longer reproduce the issue. Check if this version of # process.py still solves it. +diff --git a/mcomix/recent.py b/mcomix/recent.py +index 3d4613d..3f5c511 100644 +--- a/mcomix/recent.py ++++ b/mcomix/recent.py +@@ -30,8 +30,7 @@ class RecentFilesMenu(gtk.RecentChooserMenu): + rfilter.add_pixbuf_formats() + + mimetypes, patterns = itertools.izip(constants.ZIP_FORMATS, +- constants.RAR_FORMATS, constants.TAR_FORMATS, +- constants.SZIP_FORMATS) ++ constants.TAR_FORMATS, constants.SZIP_FORMATS) + + for mimetype in itertools.chain.from_iterable(mimetypes): + rfilter.add_mime_type(mimetype) diff --git a/mcomix/strings.py b/mcomix/strings.py index c5ca21f..cc69236 100644 --- a/mcomix/strings.py -- cgit v1.2.3 From 7efa67143069631bf675f00da09d76bdcac6fd61 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 04:47:43 -0300 Subject: atool-libre-0.39.0-1.3: remove nonfree unace and unrar support --- libre/atool-libre/PKGBUILD | 19 +-- libre/atool-libre/libre.patch | 309 ++++++++++++++++++++++++++++++++++++++++++ libre/atool-libre/rePKGBUILD | 27 ---- 3 files changed, 319 insertions(+), 36 deletions(-) create mode 100644 libre/atool-libre/libre.patch delete mode 100644 libre/atool-libre/rePKGBUILD diff --git a/libre/atool-libre/PKGBUILD b/libre/atool-libre/PKGBUILD index f7b13644c..a4f48a7a2 100644 --- a/libre/atool-libre/PKGBUILD +++ b/libre/atool-libre/PKGBUILD @@ -9,8 +9,8 @@ _pkgname=atool pkgname=atool-libre pkgver=0.39.0 -pkgrel=1.2 -pkgdesc="A script for managing file archives of various types, with unar support included and nonfree unace recommendation removed" +pkgrel=1.3 +pkgdesc="A script for managing file archives of various types, without nonfree unace and unrar support" arch=('any') url="http://www.nongnu.org/atool/" license=('GPL3') @@ -26,18 +26,19 @@ optdepends=('bzip2: for using atool with bzip2 compressed archives' 'lzop: for using atool with lzop compressed archives' 'p7zip: for using atool with 7z archives' 'tar: for using atool with tar archives' - 'unar: for using atool for unpacking rar archives' 'zip: for using atool for creating zip archives' - 'unzip: for using atool for unpacking zip archives') - -source=(http://savannah.nongnu.org/download/$_pkgname/$_pkgname-$pkgver.tar.gz) -sha256sums=('aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b') + 'unzip: for using atool for unpacking archives') +changelog=$_pkgname.changelog +source=(http://savannah.nongnu.org/download/$_pkgname/$_pkgname-$pkgver.tar.gz + libre.patch) +sha256sums=('aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b' + 'c9aa3c72e4c979d236dd659f16cc1eb6841f0860e6ef4d2c90f021d6e5aca578') prepare() { cd ${srcdir}/${_pkgname}-${pkgver} - # replace nonfree unrar to unar - sed -i 's|unrar|unar|g' $(grep -rlI 'unrar') + # remove nonfree unace and unrar support + patch -Np1 -i ../libre.patch } build() { diff --git a/libre/atool-libre/libre.patch b/libre/atool-libre/libre.patch new file mode 100644 index 000000000..11f3b3cb8 --- /dev/null +++ b/libre/atool-libre/libre.patch @@ -0,0 +1,309 @@ +diff -Nur atool-0.39.0.orig/atool atool-0.39.0/atool +--- atool-0.39.0.orig/atool 2012-04-02 15:09:10.000000000 -0300 ++++ atool-0.39.0/atool 2014-05-06 04:33:46.263005816 -0300 +@@ -111,16 +111,13 @@ + $::cfg_path_pbzip2 = 'pbzip2'; # pbzip2 program + $::cfg_path_pigz = 'pigz'; # pigz program + $::cfg_path_plzip = 'plzip'; # plzip program +-$::cfg_path_rar = 'rar'; # rar program + $::cfg_path_rpm = 'rpm'; # rpm program + $::cfg_path_rpm2cpio = 'rpm2cpio'; # rpm2cpio program + $::cfg_path_rzip = 'rzip'; # rzip program + $::cfg_path_syscfg = File::Spec->catfile($::SYSCONFDIR, $::PROGRAM.'.conf'); # system-wide configuration file + $::cfg_path_tar = 'tar'; # tar program +-$::cfg_path_unace = 'unace'; # unace program + $::cfg_path_unalz = 'unalz'; # unalz program + $::cfg_path_unarj = 'unarj'; # unarj program +-$::cfg_path_unrar = 'unrar'; # unrar program + $::cfg_path_unzip = 'unzip'; # unzip program + $::cfg_path_usercfg = '.'.$::PROGRAM.'rc'; # user configuration file + $::cfg_path_xargs = 'xargs'; # xargs program +@@ -141,7 +138,6 @@ + $::cfg_use_pbzip2 = 0; # use pbzip2 instead of bzip2 + $::cfg_use_pigz = 0; # use pigz instead of gzip + $::cfg_use_plzip = 0; # use plzip instead of lzip +-$::cfg_use_rar_for_unpack = 0; # use rar to unpack rar files? + $::cfg_use_tar_bzip2_option = 1; # does tar support --bzip2? + $::cfg_use_tar_lzma_option = 1; # does tar support --lzma? + $::cfg_use_tar_lzip_option = 0; # does tar support --lzip? +@@ -592,26 +588,6 @@ + @cmd = handle_empty_add(@cmd) if ($mode eq 'add' && @args == 0); + return multiarchivecmd($archive, $outdir, $mode, 0, 0, \@args, @cmd); + } +- elsif ($format eq 'rar') { +- return undef if ($mode eq 'extract' && !defined ($outdir = makeoutdir())); +- if ($mode eq 'add' || $::cfg_use_rar_for_unpack) { +- push @cmd, $::cfg_path_rar; +- } else { +- push @cmd, $::cfg_path_unrar; +- } +- push @cmd, 'a' if $mode eq 'add'; +- push @cmd, 'vt' if $mode eq 'list' && $::opt_verbosity >= 3; +- push @cmd, 'v' if $mode eq 'list' && $::opt_verbosity == 2; +- push @cmd, 'l' if $mode eq 'list' && $::opt_verbosity <= 1; +- push @cmd, 'x' if ($mode eq 'extract' || $mode eq 'extract-to'); +- push @cmd, '-ierr', 'p' if $mode eq 'cat'; +- push @cmd, '-r0' if ($mode eq 'add'); +- push @cmd, $archive, @args; +- push @cmd, tailslash($outdir) if $mode eq 'extract'; +- push @cmd, tailslash($::opt_cmd_extract_to) if $mode eq 'extract-to'; +- @cmd = handle_empty_add(@cmd) if ($mode eq 'add' && @args == 0); +- return multiarchivecmd($archive, $outdir, $mode, 0, 0, \@args, @cmd); +- } + elsif ($format eq '7z') { + # 7z has the -so option for writing data to stdout, but it doesn't + # write data to terminal even if the file is designed to be +@@ -673,23 +649,6 @@ + @cmd = handle_empty_add(@cmd) if ($mode eq 'add' && @args == 0); + return multiarchivecmd($archive, $outdir, $mode, 0, 0, \@args, @cmd); + } +- elsif ($format eq 'ace') { +- return undef if ($mode eq 'extract' && !defined ($outdir = makeoutdir())); +- push @cmd, $::cfg_path_unace; +- if ($mode eq 'add' || $mode eq 'cat') { +- warn "$::basename: ".quote($archive).": $mode command not supported for $format archives\n"; +- return undef; +- } +- push @cmd, 'v', '-c' if $mode eq 'list' && $::opt_verbosity >= 3; +- push @cmd, 'v' if $mode eq 'list' && $::opt_verbosity == 2; +- push @cmd, 'l' if $mode eq 'list' && $::opt_verbosity <= 1; +- push @cmd, 'x' if ($mode eq 'extract' || $mode eq 'extract-to'); +- push @cmd, $archive, @args; +- push @cmd, tailslash($outdir) if $mode eq 'extract'; +- push @cmd, tailslash($::opt_cmd_extract_to) if $mode eq 'extract-to'; +- @cmd = handle_empty_add(@cmd) if ($mode eq 'add' && @args == 0); +- return multiarchivecmd($archive, $outdir, $mode, 0, 0, \@args, @cmd); +- } + elsif ($format eq 'arj') { + return undef if ($mode eq 'extract' && !defined ($outdir = makeoutdir())); + if ($mode eq 'cat') { +@@ -1321,9 +1280,7 @@ + return $file if ($file =~ s/\.jar$//); + return $file if ($file =~ s/\.war$//); + return $file if ($file =~ s/\.Z$//); +- return $file if ($file =~ s/\.rar$//); + return $file if ($file =~ s/\.(lha|lzh)$//); +- return $file if ($file =~ s/\.ace$//); + return $file if ($file =~ s/\.arj$//); + return $file if ($file =~ s/\.a$//); + return $file if ($file =~ s/\.lzma$//); +@@ -1363,8 +1320,6 @@ + return '.zip' if $format eq 'zip'; + return '.jar' if $format eq 'jar'; + return '.Z' if $format eq 'compress'; +- return '.rar' if $format eq 'rar'; +- return '.ace' if $format eq 'ace'; + return '.a' if $format eq 'ar'; + return '.arj' if $format eq 'arj'; + return '.lha' if $format eq 'lha'; +@@ -1411,7 +1366,6 @@ + ['zip', qr/ \(Zip archive data[^)]*\)$/], + ['zip', qr/^Zip archive data(\W|$)/], + ['zip', qr/^MS-DOS executable (.*), ZIP self-extracting archive(\W|$)/], +- ['rar', qr/^RAR archive data(\W|$)/], + ['lha', qr/^LHa \(2\.x\) archive data /], + ['lha', qr/^LHa 2\.x\? archive data /], + ['lha', qr/^LHarc 1\.x archive data /], +@@ -1453,7 +1407,6 @@ + ['tar+xz', qr/(\.tar\.xz|\.txz)$/], + + ['7z', qr/\.7z$/], +- ['ace', qr/\.ace$/], + ['alzip', qr/\.alz$/], + ['ar', qr/\.a$/], + ['arc', qr/\.arc$/], +@@ -1471,7 +1424,6 @@ + ['lzip', qr/\.lz$/], + ['lzma', qr/\.lzma$/], + ['lzop', qr/\.lzo$/], +- ['rar', qr/\.rar$/], + ['rpm', qr/\.rpm$/], + ['rzip', qr/\.rz$/], + ['tar', qr/\.tar$/], +@@ -1620,15 +1572,12 @@ + 'path_pbzip2' => [ 'option', \$::cfg_path_pbzip2, qr/.*/ ], + 'path_pigz' => [ 'option', \$::cfg_path_pigz, qr/.*/ ], + 'path_plzip' => [ 'option', \$::cfg_path_plzip, qr/.*/ ], +- 'path_rar' => [ 'option', \$::cfg_path_rar, qr/.*/ ], + 'path_rpm' => [ 'option', \$::cfg_path_rpm, qr/.*/ ], + 'path_rpm2cpio' => [ 'option', \$::cfg_path_rpm2cpio, qr/.*/ ], + 'path_rzip' => [ 'option', \$::cfg_path_rzip, qr/.*/ ], + 'path_tar' => [ 'option', \$::cfg_path_tar, qr/.*/ ], +- 'path_unace' => [ 'option', \$::cfg_path_unace, qr/.*/ ], + 'path_unalz' => [ 'option', \$::cfg_path_unalz, qr/.*/ ], + 'path_unarj' => [ 'option', \$::cfg_path_unarj, qr/.*/ ], +- 'path_unrar' => [ 'option', \$::cfg_path_unrar, qr/.*/ ], + 'path_unzip' => [ 'option', \$::cfg_path_unzip, qr/.*/ ], + 'path_usercfg' => [ 'option', \$::cfg_path_usercfg, qr/.*/ ], + 'path_xargs' => [ 'option', \$::cfg_path_xargs, qr/.*/ ], +@@ -1649,8 +1598,6 @@ + 'use_pbzip2' => [ 'option', \$::cfg_use_pbzip2, qr/^(0|1)$/ ], + 'use_pigz' => [ 'option', \$::cfg_use_pigz, qr/^(0|1)$/ ], + 'use_plzip' => [ 'option', \$::cfg_use_plzip, qr/^(0|1)$/ ], +- 'use_rar_for_unpack' => [ 'option', \$::cfg_use_rar_for_unpack, qr/^(0|1)$/ ], +- 'use_rar_for_unrar' => [ 'obsolete', 'use_rar_for_unpack' ], + 'use_tar_bzip2_option' => [ 'option', \$::cfg_use_tar_bzip2_option, qr/^(0|1)$/ ], + 'use_tar_lzma_option' => [ 'option', \$::cfg_use_tar_lzma_option, qr/^(0|1)$/ ], + 'use_tar_lzop_option' => [ 'option', \$::cfg_use_tar_lzop_option, qr/^(0|1)$/ ], +diff -Nur atool-0.39.0.orig/atool.1 atool-0.39.0/atool.1 +--- atool-0.39.0.orig/atool.1 2012-03-15 04:31:41.000000000 -0300 ++++ atool-0.39.0/atool.1 2014-05-06 04:34:36.830099616 -0300 +@@ -146,7 +146,7 @@ + When extracting from files, allow overwriting of local files. + When creating an archive, allow the archive file to be overwritten + if it already exists. Note that it is possible to add files to +-existing RAR and Zip archives (this is not possible for many ++existing Zip archives (this is not possible for many + other formats). + .TP + .B \-D, \-\-subdir +@@ -262,9 +262,6 @@ + List, extract, and add commands are supported. + Cat is supported if use_jar_program is disabled. + .TP +-.RI \fBrar\fP " " ( .rar ) +-All commands are supported. +-.TP + .RI \fBlha\fP " " ( .lha ", " .lzh ) + All commands are supported. + .TP +@@ -274,9 +271,6 @@ + .RI \fBalzip\fP " " ( .alz ) + Extract command is supported. + .TP +-.RI \fBace\fP " " ( .ace ) +-Extract and list commands are supported. +-.TP + .RI \fBar\fP " " ( .a ) + All commands are supported. + .TP +@@ -406,11 +400,6 @@ + Enable this if you want to use gzip instead of uncompress when + decompressing compress'ed files (`.Z' files). + .TP +-.B use_rar_for_unpack \fR(default: 0)\fR +-Enable this if you want to always use rar instead of unrar +-when possible. This makes atool use the rar command +-(path_rar) even when listing and extracting RAR files. +-.TP + .B use_arc_for_unpack \fR(default: 0)\fR + Enable this if you want to always use arc instead of nomarch + when possible. This makes atool use the arc command +@@ -530,10 +519,6 @@ + .TP + .B path_lzip \fR(default: lzip)\fR + .TP +-.B path_rar \fR(default: rar)\fR +-.TP +-.B path_unrar \fR(default: unrar)\fR +-.TP + .B path_lbzip2 \fR(default: lbzip2)\fR + .TP + .B path_pigz \fR(default: pigz)\fR +@@ -546,8 +531,6 @@ + .TP + .B path_lha \fR(default: lha)\fR + .TP +-.B path_unace \fR(default: unace)\fR +-.TP + .B path_ar \fR(default: ar)\fR + .TP + .B path_arj \fR(default: arj)\fR +@@ -661,10 +644,6 @@ + .br + \fBacat \-p myarchive.zip baz\fP + .PP +-To list contents of the rar archive `stuff.rar': +-.br +- \fBals stuff.rar\fP +-.PP + To create three archives, `dir1.tar.gz', `dir2.tar.gz' and `dir3.tar.gz', + so that the first one contains all files in dir1, the second all + in dir2 and the third all dir3: +diff -Nur atool-0.39.0.orig/atool.1.in atool-0.39.0/atool.1.in +--- atool-0.39.0.orig/atool.1.in 2012-03-15 04:31:39.000000000 -0300 ++++ atool-0.39.0/atool.1.in 2014-05-06 04:35:30.100547318 -0300 +@@ -146,7 +146,7 @@ + When extracting from files, allow overwriting of local files. + When creating an archive, allow the archive file to be overwritten + if it already exists. Note that it is possible to add files to +-existing RAR and Zip archives (this is not possible for many ++existing Zip archives (this is not possible for many + other formats). + .TP + .B \-D, \-\-subdir +@@ -262,9 +262,6 @@ + List, extract, and add commands are supported. + Cat is supported if use_jar_program is disabled. + .TP +-.RI \fBrar\fP " " ( .rar ) +-All commands are supported. +-.TP + .RI \fBlha\fP " " ( .lha ", " .lzh ) + All commands are supported. + .TP +@@ -274,9 +271,6 @@ + .RI \fBalzip\fP " " ( .alz ) + Extract command is supported. + .TP +-.RI \fBace\fP " " ( .ace ) +-Extract and list commands are supported. +-.TP + .RI \fBar\fP " " ( .a ) + All commands are supported. + .TP +@@ -406,11 +400,6 @@ + Enable this if you want to use gzip instead of uncompress when + decompressing compress'ed files (`.Z' files). + .TP +-.B use_rar_for_unpack \fR(default: 0)\fR +-Enable this if you want to always use rar instead of unrar +-when possible. This makes atool use the rar command +-(path_rar) even when listing and extracting RAR files. +-.TP + .B use_arc_for_unpack \fR(default: 0)\fR + Enable this if you want to always use arc instead of nomarch + when possible. This makes atool use the arc command +@@ -530,10 +519,6 @@ + .TP + .B path_lzip \fR(default: lzip)\fR + .TP +-.B path_rar \fR(default: rar)\fR +-.TP +-.B path_unrar \fR(default: unrar)\fR +-.TP + .B path_lbzip2 \fR(default: lbzip2)\fR + .TP + .B path_pigz \fR(default: pigz)\fR +@@ -546,8 +531,6 @@ + .TP + .B path_lha \fR(default: lha)\fR + .TP +-.B path_unace \fR(default: unace)\fR +-.TP + .B path_ar \fR(default: ar)\fR + .TP + .B path_arj \fR(default: arj)\fR +@@ -661,10 +644,6 @@ + .br + \fBacat \-p myarchive.zip baz\fP + .PP +-To list contents of the rar archive `stuff.rar': +-.br +- \fBals stuff.rar\fP +-.PP + To create three archives, `dir1.tar.gz', `dir2.tar.gz' and `dir3.tar.gz', + so that the first one contains all files in dir1, the second all + in dir2 and the third all dir3: +diff -Nur atool-0.39.0.orig/extra/bash-completion-atool_0.1-1 atool-0.39.0/extra/bash-completion-atool_0.1-1 +--- atool-0.39.0.orig/extra/bash-completion-atool_0.1-1 2007-12-10 20:01:38.000000000 -0200 ++++ atool-0.39.0/extra/bash-completion-atool_0.1-1 2014-05-06 04:36:01.504143499 -0300 +@@ -15,7 +15,7 @@ + --quiet --verbose --page --null --explain --simulate --config=' -- $cur ) ) + ;; + *) +- _filedir '@(rar|RAR|zip|ZIP|tar.gz|tgz|tar.bz|tbz|tar.Z|tZ|tar.lzo|tzo|tar.7z|t7z|tar|jar|JAR|war|lha|lzh|7z|ace|ACE|arj|ARJ|a|arc|ARC|rpm|deb|gz|bz|bz2|Z|lzo|cpio)' ++ _filedir '@(zip|ZIP|tar.gz|tgz|tar.bz|tbz|tar.Z|tZ|tar.lzo|tzo|tar.7z|t7z|tar|jar|JAR|war|lha|lzh|7z|arj|ARJ|a|arc|ARC|rpm|deb|gz|bz|bz2|Z|lzo|cpio)' + ;; + esac + diff --git a/libre/atool-libre/rePKGBUILD b/libre/atool-libre/rePKGBUILD deleted file mode 100644 index e684320d0..000000000 --- a/libre/atool-libre/rePKGBUILD +++ /dev/null @@ -1,27 +0,0 @@ -# Maintainer: Nicolás Reynolds -source PKGBUILD -unset build package md5sums source -CARCH=any -PKGEXT=.pkg.tar.gz -_repo=community # Put the repo here -_mirror=http://mirrors.kernel.org/archlinux # Put mirror here -source=(PKGBUILD - "${_mirror}/${_repo}/os/i686/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT" - # files for pkg modifications below this line - ) -options=(!strip) - -build() { - cd "${srcdir}/" - rm .{INSTALL,PKGINFO} || true - # put actions for package modifications below this line - -} - -package() { - find ${srcdir} -maxdepth 1 -type l -delete - cp -a ${srcdir}/* ${pkgdir} -} - - -# vim:set ts=2 sw=2 et: -- cgit v1.2.3 From b900f68203e76c9e9a1f1786350b498cf7a4568f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 05:33:16 -0300 Subject: engrampa-libre-1.8.0-1.1: add json-glib dependency to enable unar support on the package --- libre/engrampa-libre/PKGBUILD | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libre/engrampa-libre/PKGBUILD b/libre/engrampa-libre/PKGBUILD index a109e8839..a9b18d1bf 100644 --- a/libre/engrampa-libre/PKGBUILD +++ b/libre/engrampa-libre/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 106530 2014-03-05 20:15:56Z flexiondotorg $ +# $Id: PKGBUILD 107641 2014-03-18 11:10:40Z flexiondotorg $ # Maintainer : Martin Wimpress # Maintainer (Parabola): André Silva _pkgname=engrampa pkgname=engrampa-libre pkgver=1.8.0 -pkgrel=1 +pkgrel=1.1 pkgdesc="Archive manipulator for MATE, with unar recommendation included and nonfree unace recommendation removed" url="http://mate-desktop.org" arch=('i686' 'x86_64' 'mips64el') license=('GPL') -depends=('bzip2' 'caja' 'desktop-file-utils' 'gtk2' 'gzip' 'libarchive' 'tar') +depends=('bzip2' 'caja' 'desktop-file-utils' 'gtk2' 'gzip' 'libarchive' 'tar' 'json-glib') makedepends=('mate-common' 'perl-xml-parser' 'yelp-tools') optdepends=('unar: for RAR uncompression' 'zip: for ZIP archives' 'unzip: for ZIP archives' @@ -19,7 +19,6 @@ optdepends=('unar: for RAR uncompression' replaces=('mate-file-archiver' "$_pkgname") provides=('mate-file-archiver' "$_pkgname=$pkgver") conflicts=('mate-file-archiver' "$_pkgname") -options=( '!emptydirs') groups=('mate-extra') source=("http://pub.mate-desktop.org/releases/1.8/${_pkgname}-${pkgver}.tar.xz" fr-rpm-bsdtar.patch) -- cgit v1.2.3 From dbcc50a65f709033e5f748592fa3e493360ca6a4 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 16:08:42 -0300 Subject: linux-libre-grsec-3.14.2.201405051841-1: updating version * fixes the upstream CVE-2014-0196 issue --- libre/linux-libre-grsec/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index 1b68ed7d1..97aab4398 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -14,7 +14,7 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.14 _sublevel=2 _grsecver=3.0 -_timestamp=201405041244 +_timestamp=201405051841 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 @@ -52,7 +52,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' '77c34d5c5c2663d0daaf8ad3761fbaf3' - '8767f487c45726c696441c81f3918f6e' + '886c74ae6a77a7c380f14226fc5f4058' 'SKIP' '1b830bf677c7df400ac30192fa37f97f' '408dd180559f71dab1fcc80a19da1343' -- cgit v1.2.3 From 8b44442b73b146098d1a31c01587634de84bdc77 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 16:10:02 -0300 Subject: openimageio-1.3.13-1: updating version --- libre/openimageio/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/openimageio/PKGBUILD b/libre/openimageio/PKGBUILD index 9e7217250..3b3b2eed1 100644 --- a/libre/openimageio/PKGBUILD +++ b/libre/openimageio/PKGBUILD @@ -2,8 +2,8 @@ # based of Arch pkg pkgname=openimageio -pkgver=1.3.12 -pkgrel=2 +pkgver=1.3.13 +pkgrel=1 pkgdesc='A library for reading and writing images, including classes, utilities, and applications (built for the blender-libre package)' arch=( mips64el @@ -38,7 +38,7 @@ optdepends=( 'python2: bindings support' ) source=https://github.com/OpenImageIO/oiio/archive/Release-$pkgver.tar.gz -sha512sums=SKIP +sha512sums=6a8061da573f43954d6df3e67f81fbf2760482ecfb062f0ccac86fee878afc74a2e886d090760836e96c9d3ee866a971b0ee1dee404a626fe341237f9e3c32f1 prepare() { cd oiio-Release-$pkgver -- cgit v1.2.3 From 8744efb7fef0dbabbd34f000661e9d3cc032ed0e Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 16:24:22 -0300 Subject: mesa-libcl-10.1.2-1: updating version --- libre/mesa-libcl/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/mesa-libcl/PKGBUILD b/libre/mesa-libcl/PKGBUILD index 3f898e726..2ce5e0311 100644 --- a/libre/mesa-libcl/PKGBUILD +++ b/libre/mesa-libcl/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=mesa _pkgname=libcl pkgname=$pkgbase-$_pkgname _pkgflag=libre -pkgver=10.1.1 +pkgver=10.1.2 pkgrel=1 pkgdesc='Mesa 3-D OpenCL library' url=http://${pkgbase}3d.sourceforge.net @@ -30,7 +30,7 @@ provides=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx) conflicts=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx) replaces=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx) source=ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2 -sha512sums=f136d25f6da47bb9f582eafa2f89804b1eae9f0b834a1513cf9f940ef5bd8f438b72600d992d4d9436d2899e0a91d48f4eaabb24bd149c71d3192af5e386dec7 +sha512sums=fa1d2641b159cfc65116a64c69e776e6bd725e886e373e9d2fcc954560a3387e38cd2bea6165dc3de529eb9fbf86bedb5690eec3a12c0f75eee7aebb9e2527b5 build() { cd $srcdir/${pkgbase^}-$pkgver -- cgit v1.2.3 From 532e7b3d2f759d20632fea8a6f536dac5eea6289 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 16:25:01 -0300 Subject: lib32-mesa-libcl-10.1.2-1: updating version --- libre-multilib/lib32-mesa-libcl/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre-multilib/lib32-mesa-libcl/PKGBUILD b/libre-multilib/lib32-mesa-libcl/PKGBUILD index f4f45efda..6a1c79286 100644 --- a/libre-multilib/lib32-mesa-libcl/PKGBUILD +++ b/libre-multilib/lib32-mesa-libcl/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=mesa _pkgname=libcl pkgname=lib32-$pkgbase-$_pkgname _pkgflag=libre -pkgver=10.1.1 +pkgver=10.1.2 pkgrel=1 pkgdesc='Mesa 3-D OpenCL library (32-bit)' url=http://${pkgbase}3d.sourceforge.net @@ -32,7 +32,7 @@ provides=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-op conflicts=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-opencl-nvidia-304xx) replaces=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-opencl-nvidia-304xx) source=ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2 -sha512sums=f136d25f6da47bb9f582eafa2f89804b1eae9f0b834a1513cf9f940ef5bd8f438b72600d992d4d9436d2899e0a91d48f4eaabb24bd149c71d3192af5e386dec7 +sha512sums=fa1d2641b159cfc65116a64c69e776e6bd725e886e373e9d2fcc954560a3387e38cd2bea6165dc3de529eb9fbf86bedb5690eec3a12c0f75eee7aebb9e2527b5 build() { cd $srcdir/${pkgbase^}-$pkgver -- cgit v1.2.3 From 5ef49748f7ba65d4581cb40cf63c54fa47cae95a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 22:06:28 -0300 Subject: atril-libre-1.8.0-1.1: add libarchive support for rar archives --- libre/atril-libre/PKGBUILD | 11 +++-- libre/atril-libre/libarchive.patch | 91 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 libre/atril-libre/libarchive.patch diff --git a/libre/atril-libre/PKGBUILD b/libre/atril-libre/PKGBUILD index d4b98a231..2688a84c7 100644 --- a/libre/atril-libre/PKGBUILD +++ b/libre/atril-libre/PKGBUILD @@ -5,8 +5,8 @@ _pkgname=atril pkgname=atril-libre pkgver=1.8.0 -pkgrel=1 -pkgdesc="Simply a document viewer, with libarchive recommendation" +pkgrel=1.1 +pkgdesc="Simply a document viewer, with libarchive support" url="http://mate-desktop.org" arch=('i686' 'x86_64' 'mips64el') license=('GPL') @@ -26,13 +26,16 @@ provides=('mate-document-viewer' "$_pkgname=$pkgver") conflicts=('mate-document-viewer' "$_pkgname") options=('!emptydirs') groups=('mate-extra') -source=("http://pub.mate-desktop.org/releases/1.8/${_pkgname}-${pkgver}.tar.xz") -sha1sums=('8327437ba12df61326b83342cea746d1764727d0') +source=("http://pub.mate-desktop.org/releases/1.8/${_pkgname}-${pkgver}.tar.xz" + 'libarchive.patch') +sha1sums=('8327437ba12df61326b83342cea746d1764727d0' + 'e88168d61b18ce8e340ef3db9c6df6bb66c65d14') install=${_pkgname}.install prepare() { cd "${srcdir}/${_pkgname}-${pkgver}" NOCONFIGURE=1 ./autogen.sh + patch -Np1 -i ../libarchive.patch } build() { diff --git a/libre/atril-libre/libarchive.patch b/libre/atril-libre/libarchive.patch new file mode 100644 index 000000000..f86908267 --- /dev/null +++ b/libre/atril-libre/libarchive.patch @@ -0,0 +1,91 @@ +diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c +index a135a74..380cb54 100644 +--- a/backend/comics/comics-document.c ++++ b/backend/comics/comics-document.c +@@ -54,8 +54,7 @@ + + typedef enum + { +- RARLABS, +- GNAUNRAR, ++ LIBARCHIVE, + UNZIP, + P7ZIP, + TAR +@@ -107,11 +106,8 @@ typedef struct { + } ComicBookDecompressCommand; + + static const ComicBookDecompressCommand command_usage_def[] = { +- /* RARLABS unrar */ +- {"%s p -c- -ierr --", "%s vb -c- -- %s", NULL , FALSE, NO_OFFSET}, +- +- /* GNA! unrar */ +- {NULL , "%s t %s" , "%s -xf %s %s" , FALSE, NO_OFFSET}, ++ /* libarchive */ ++ {NULL , "%s tf %s" , "%s xf %s %s" , FALSE, NO_OFFSET}, + + /* unzip */ + {"%s -p -C --" , "%s %s" , NULL , TRUE , OFFSET_ZIP}, +@@ -282,7 +278,7 @@ comics_generate_command_lines (ComicsDocument *comics_document, + if (comics_document->dir == NULL) + return FALSE; + +- /* unrar-free can't create directories, but ev_mkdtemp already created the dir */ ++ /* libarchive can't create directories on rar support, but ev_mkdtemp already created the dir */ + + comics_document->decompress_tmp = + g_strdup_printf (command_usage_def[type].decompress_tmp, +@@ -321,51 +317,10 @@ comics_check_decompress_command (gchar *mime_type, + + if (!strcmp (mime_type, "application/x-cbr") || + !strcmp (mime_type, "application/x-rar")) { +- /* The RARLAB provides a no-charge proprietary (freeware) +- * decompress-only client for Linux called unrar. Another +- * option is a GPLv2-licensed command-line tool developed by +- * the Gna! project. Confusingly enough, the free software RAR +- * decoder is also named unrar. For this reason we need to add +- * some lines for disambiguation. Sorry for the added the +- * complexity but it's life :) +- * Finally, some distributions, like Debian, rename this free +- * option as unrar-free. +- * */ +- comics_document->selected_command = +- g_find_program_in_path ("unrar"); +- if (comics_document->selected_command) { +- /* We only use std_err to avoid printing useless error +- * messages on the terminal */ +- success = +- g_spawn_command_line_sync ( +- comics_document->selected_command, +- &std_out, &std_err, +- &retval, &err); +- if (!success) { +- g_propagate_error (error, err); +- g_error_free (err); +- return FALSE; +- /* I don't check retval status because RARLAB unrar +- * doesn't have a way to return 0 without involving an +- * operation with a file*/ +- } else if (WIFEXITED (retval)) { +- if (g_strrstr (std_out,"freeware") != NULL) +- /* The RARLAB freeware client */ +- comics_document->command_usage = RARLABS; +- else +- /* The Gna! free software client */ +- comics_document->command_usage = GNAUNRAR; +- +- g_free (std_out); +- g_free (std_err); +- return TRUE; +- } +- } +- /* The Gna! free software client with Debian naming convention */ + comics_document->selected_command = +- g_find_program_in_path ("unrar-free"); ++ g_find_program_in_path ("bsdtar"); + if (comics_document->selected_command) { +- comics_document->command_usage = GNAUNRAR; ++ comics_document->command_usage = LIBARCHIVE; + return TRUE; + } + -- cgit v1.2.3 From b134b68bebeef368b1cd598e4fb5071bb9008df2 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 6 May 2014 23:13:23 -0300 Subject: evince-libre: add new package to [libre] --- libre/evince-libre/PKGBUILD | 51 +++++++++++++++++++++ libre/evince-libre/evince.install | 13 ++++++ libre/evince-libre/libarchive.patch | 91 +++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+) create mode 100644 libre/evince-libre/PKGBUILD create mode 100644 libre/evince-libre/evince.install create mode 100644 libre/evince-libre/libarchive.patch diff --git a/libre/evince-libre/PKGBUILD b/libre/evince-libre/PKGBUILD new file mode 100644 index 000000000..ab6b40d82 --- /dev/null +++ b/libre/evince-libre/PKGBUILD @@ -0,0 +1,51 @@ +# $Id: PKGBUILD 210357 2014-04-14 17:00:49Z jgc $ +# Maintainer: Jan de Groot +# Maintainer (Parabola): André Silva + +_pkgname=evince +pkgname=evince-libre +pkgver=3.12.1 +pkgrel=1 +pkgdesc="Document viewer (PDF, Postscript, djvu, tiff, dvi, XPS, SyncTex support with gedit, comics books (cbr,cbz,cb7 and cbt)), with libarchive support" +url="https://wiki.gnome.org/Apps/Evince" +arch=(i686 x86_64 mips64el) +license=(GPL) +replaces=$_pkgname +conflicts=$_pkgname +provides=$_pkgname=$pkgver +depends=(gtk3 libgxps libspectre gsfonts poppler-glib djvulibre gnome-icon-theme t1lib libsecret desktop-file-utils dconf gsettings-desktop-schemas) +makedepends=(itstool libnautilus-extension texlive-bin intltool gobject-introspection docbook-xsl python) +optdepends=('texlive-bin: DVI support' + 'gvfs: bookmark support and session saving' + 'p7zip: cbz and cb7 compressed comic books' + 'tar: cbt compressed comic books' + 'libarchive: cbr compressed comic books') +groups=(gnome) +install=evince.install +options=('!emptydirs') +source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:4}/$_pkgname-$pkgver.tar.xz + libarchive.patch) +sha256sums=('ef22cc29a7cbe70d2e7ce8c0b5b7ee774187ea69f3ae49a64c6d4a91559ef137' + '023f01f40c5efb8bf245d97067b3ef1da74f96a0bc53e53eb3d990d6c29b9e5e') +prepare() { + cd $_pkgname-$pkgver + patch -Np1 -i ../libarchive.patch +} + +build() { + cd $_pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --libexecdir=/usr/lib/evince \ + --disable-static --enable-nautilus \ + --enable-pdf --enable-tiff \ + --enable-djvu --enable-dvi \ + --enable-t1lib --enable-comics \ + --disable-scrollkeeper --disable-schemas-compile \ + --enable-introspection + make +} + +package() { + cd $_pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/libre/evince-libre/evince.install b/libre/evince-libre/evince.install new file mode 100644 index 000000000..1571179ca --- /dev/null +++ b/libre/evince-libre/evince.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre/evince-libre/libarchive.patch b/libre/evince-libre/libarchive.patch new file mode 100644 index 000000000..f86908267 --- /dev/null +++ b/libre/evince-libre/libarchive.patch @@ -0,0 +1,91 @@ +diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c +index a135a74..380cb54 100644 +--- a/backend/comics/comics-document.c ++++ b/backend/comics/comics-document.c +@@ -54,8 +54,7 @@ + + typedef enum + { +- RARLABS, +- GNAUNRAR, ++ LIBARCHIVE, + UNZIP, + P7ZIP, + TAR +@@ -107,11 +106,8 @@ typedef struct { + } ComicBookDecompressCommand; + + static const ComicBookDecompressCommand command_usage_def[] = { +- /* RARLABS unrar */ +- {"%s p -c- -ierr --", "%s vb -c- -- %s", NULL , FALSE, NO_OFFSET}, +- +- /* GNA! unrar */ +- {NULL , "%s t %s" , "%s -xf %s %s" , FALSE, NO_OFFSET}, ++ /* libarchive */ ++ {NULL , "%s tf %s" , "%s xf %s %s" , FALSE, NO_OFFSET}, + + /* unzip */ + {"%s -p -C --" , "%s %s" , NULL , TRUE , OFFSET_ZIP}, +@@ -282,7 +278,7 @@ comics_generate_command_lines (ComicsDocument *comics_document, + if (comics_document->dir == NULL) + return FALSE; + +- /* unrar-free can't create directories, but ev_mkdtemp already created the dir */ ++ /* libarchive can't create directories on rar support, but ev_mkdtemp already created the dir */ + + comics_document->decompress_tmp = + g_strdup_printf (command_usage_def[type].decompress_tmp, +@@ -321,51 +317,10 @@ comics_check_decompress_command (gchar *mime_type, + + if (!strcmp (mime_type, "application/x-cbr") || + !strcmp (mime_type, "application/x-rar")) { +- /* The RARLAB provides a no-charge proprietary (freeware) +- * decompress-only client for Linux called unrar. Another +- * option is a GPLv2-licensed command-line tool developed by +- * the Gna! project. Confusingly enough, the free software RAR +- * decoder is also named unrar. For this reason we need to add +- * some lines for disambiguation. Sorry for the added the +- * complexity but it's life :) +- * Finally, some distributions, like Debian, rename this free +- * option as unrar-free. +- * */ +- comics_document->selected_command = +- g_find_program_in_path ("unrar"); +- if (comics_document->selected_command) { +- /* We only use std_err to avoid printing useless error +- * messages on the terminal */ +- success = +- g_spawn_command_line_sync ( +- comics_document->selected_command, +- &std_out, &std_err, +- &retval, &err); +- if (!success) { +- g_propagate_error (error, err); +- g_error_free (err); +- return FALSE; +- /* I don't check retval status because RARLAB unrar +- * doesn't have a way to return 0 without involving an +- * operation with a file*/ +- } else if (WIFEXITED (retval)) { +- if (g_strrstr (std_out,"freeware") != NULL) +- /* The RARLAB freeware client */ +- comics_document->command_usage = RARLABS; +- else +- /* The Gna! free software client */ +- comics_document->command_usage = GNAUNRAR; +- +- g_free (std_out); +- g_free (std_err); +- return TRUE; +- } +- } +- /* The Gna! free software client with Debian naming convention */ + comics_document->selected_command = +- g_find_program_in_path ("unrar-free"); ++ g_find_program_in_path ("bsdtar"); + if (comics_document->selected_command) { +- comics_document->command_usage = GNAUNRAR; ++ comics_document->command_usage = LIBARCHIVE; + return TRUE; + } + -- cgit v1.2.3 From 3fd53a0c0bad3c5d104f52a3c2d022c36161b5f1 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 7 May 2014 01:08:50 -0300 Subject: mc-libre-4.8.12-1.1: remove nonfree unace, unarj and unrar support --- libre/mc-libre/PKGBUILD | 20 ++- libre/mc-libre/libre.patch | 319 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 334 insertions(+), 5 deletions(-) create mode 100644 libre/mc-libre/libre.patch diff --git a/libre/mc-libre/PKGBUILD b/libre/mc-libre/PKGBUILD index c9f3d03dd..2da038816 100644 --- a/libre/mc-libre/PKGBUILD +++ b/libre/mc-libre/PKGBUILD @@ -7,9 +7,9 @@ _pkgname=mc pkgname=mc-libre pkgver=4.8.12 -pkgrel=1 -pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander, with arj recommendation included and nonfree unace and unrar recommendation removed" -arch=('i686' 'x86_64') +pkgrel=1.1 +pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander, with arj recommendation included and nonfree unace and unrar support removed" +arch=('i686' 'x86_64' 'mips64el') url="http://www.ibiblio.org/mc/" license=('GPL') depends=( @@ -45,7 +45,16 @@ backup=('etc/mc/edit.indent.rc' 'etc/mc/mc.keymap' 'etc/mc/mc.menu' 'etc/mc/sfs.ini') -source=("http://www.midnight-commander.org/downloads/${_pkgname}-${pkgver}.tar.bz2") +source=("http://www.midnight-commander.org/downloads/${_pkgname}-${pkgver}.tar.bz2" + 'libre.patch') + +prepare() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + patch -Np1 -i ../libre.patch + rm -v src/vfs/extfs/helpers/u{ace,rar}.in +} + build() { cd "${srcdir}/${_pkgname}-${pkgver}" @@ -69,4 +78,5 @@ package() { -i "${pkgdir}/usr/lib/mc/extfs.d/s3+" } -md5sums=('a64c426364bfaee56b628f6c0738aade') +md5sums=('a64c426364bfaee56b628f6c0738aade' + '008b3132beba7061578a6a59885f93f8') diff --git a/libre/mc-libre/libre.patch b/libre/mc-libre/libre.patch new file mode 100644 index 000000000..df88e6c9f --- /dev/null +++ b/libre/mc-libre/libre.patch @@ -0,0 +1,319 @@ +diff --git a/configure b/configure +index 01e8c83..710d411 100755 +--- a/configure ++++ b/configure +@@ -27316,7 +27316,7 @@ _ACEOF + ac_config_files="$ac_config_files src/man2hlp/man2hlp" + + +-ac_config_files="$ac_config_files Makefile contrib/Makefile contrib/dist/Makefile contrib/dist/gentoo/Makefile contrib/dist/redhat/Makefile contrib/dist/redhat/mc.spec contrib/dist/pkginfo contrib/dist/prototype misc/Makefile misc/skins/Makefile misc/ext.d/Makefile misc/ext.d/doc.sh misc/ext.d/misc.sh misc/ext.d/text.sh misc/ext.d/web.sh misc/macros.d/Makefile misc/mc.ext src/Makefile src/consaver/Makefile src/editor/Makefile src/man2hlp/Makefile src/viewer/Makefile src/diffviewer/Makefile src/filemanager/Makefile src/vfs/Makefile src/vfs/cpio/Makefile src/vfs/extfs/Makefile src/vfs/extfs/helpers/Makefile src/vfs/extfs/helpers/a+ src/vfs/extfs/helpers/apt+ src/vfs/extfs/helpers/audio src/vfs/extfs/helpers/deb src/vfs/extfs/helpers/deba src/vfs/extfs/helpers/debd src/vfs/extfs/helpers/dpkg+ src/vfs/extfs/helpers/iso9660 src/vfs/extfs/helpers/hp48+ src/vfs/extfs/helpers/lslR src/vfs/extfs/helpers/mailfs src/vfs/extfs/helpers/patchfs src/vfs/extfs/helpers/rpms+ src/vfs/extfs/helpers/s3+ src/vfs/extfs/helpers/uace src/vfs/extfs/helpers/ualz src/vfs/extfs/helpers/uar src/vfs/extfs/helpers/uarc src/vfs/extfs/helpers/uarj src/vfs/extfs/helpers/uc1541 src/vfs/extfs/helpers/ucab src/vfs/extfs/helpers/uha src/vfs/extfs/helpers/ulha src/vfs/extfs/helpers/ulib src/vfs/extfs/helpers/urar src/vfs/extfs/helpers/uzip src/vfs/extfs/helpers/uzoo src/vfs/fish/Makefile src/vfs/fish/helpers/Makefile src/vfs/ftpfs/Makefile src/vfs/sftpfs/Makefile src/vfs/local/Makefile src/vfs/sfs/Makefile src/vfs/smbfs/Makefile src/vfs/tar/Makefile src/vfs/undelfs/Makefile lib/Makefile lib/event/Makefile lib/filehighlight/Makefile lib/mcconfig/Makefile lib/search/Makefile lib/skin/Makefile lib/strutil/Makefile lib/tty/Makefile lib/vfs/Makefile lib/widget/Makefile misc/syntax/Makefile misc/syntax/Syntax doc/Makefile doc/hints/Makefile doc/hints/l10n/Makefile doc/man/Makefile doc/man/es/Makefile doc/man/hu/Makefile doc/man/it/Makefile doc/man/pl/Makefile doc/man/ru/Makefile doc/man/sr/Makefile doc/hlp/Makefile doc/hlp/es/Makefile doc/hlp/hu/Makefile doc/hlp/it/Makefile doc/hlp/pl/Makefile doc/hlp/ru/Makefile doc/hlp/sr/Makefile intl/Makefile po/Makefile.in" ++ac_config_files="$ac_config_files Makefile contrib/Makefile contrib/dist/Makefile contrib/dist/gentoo/Makefile contrib/dist/redhat/Makefile contrib/dist/redhat/mc.spec contrib/dist/pkginfo contrib/dist/prototype misc/Makefile misc/skins/Makefile misc/ext.d/Makefile misc/ext.d/doc.sh misc/ext.d/misc.sh misc/ext.d/text.sh misc/ext.d/web.sh misc/macros.d/Makefile misc/mc.ext src/Makefile src/consaver/Makefile src/editor/Makefile src/man2hlp/Makefile src/viewer/Makefile src/diffviewer/Makefile src/filemanager/Makefile src/vfs/Makefile src/vfs/cpio/Makefile src/vfs/extfs/Makefile src/vfs/extfs/helpers/Makefile src/vfs/extfs/helpers/a+ src/vfs/extfs/helpers/apt+ src/vfs/extfs/helpers/audio src/vfs/extfs/helpers/deb src/vfs/extfs/helpers/deba src/vfs/extfs/helpers/debd src/vfs/extfs/helpers/dpkg+ src/vfs/extfs/helpers/iso9660 src/vfs/extfs/helpers/hp48+ src/vfs/extfs/helpers/lslR src/vfs/extfs/helpers/mailfs src/vfs/extfs/helpers/patchfs src/vfs/extfs/helpers/rpms+ src/vfs/extfs/helpers/s3+ src/vfs/extfs/helpers/ualz src/vfs/extfs/helpers/uar src/vfs/extfs/helpers/uarc src/vfs/extfs/helpers/uarj src/vfs/extfs/helpers/uc1541 src/vfs/extfs/helpers/ucab src/vfs/extfs/helpers/uha src/vfs/extfs/helpers/ulha src/vfs/extfs/helpers/ulib src/vfs/extfs/helpers/uzip src/vfs/extfs/helpers/uzoo src/vfs/fish/Makefile src/vfs/fish/helpers/Makefile src/vfs/ftpfs/Makefile src/vfs/sftpfs/Makefile src/vfs/local/Makefile src/vfs/sfs/Makefile src/vfs/smbfs/Makefile src/vfs/tar/Makefile src/vfs/undelfs/Makefile lib/Makefile lib/event/Makefile lib/filehighlight/Makefile lib/mcconfig/Makefile lib/search/Makefile lib/skin/Makefile lib/strutil/Makefile lib/tty/Makefile lib/vfs/Makefile lib/widget/Makefile misc/syntax/Makefile misc/syntax/Syntax doc/Makefile doc/hints/Makefile doc/hints/l10n/Makefile doc/man/Makefile doc/man/es/Makefile doc/man/hu/Makefile doc/man/it/Makefile doc/man/pl/Makefile doc/man/ru/Makefile doc/man/sr/Makefile doc/hlp/Makefile doc/hlp/es/Makefile doc/hlp/hu/Makefile doc/hlp/it/Makefile doc/hlp/pl/Makefile doc/hlp/ru/Makefile doc/hlp/sr/Makefile intl/Makefile po/Makefile.in" + + + if test x$enable_tests != xno; then +@@ -28576,7 +28576,6 @@ do + "src/vfs/extfs/helpers/patchfs") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/patchfs" ;; + "src/vfs/extfs/helpers/rpms+") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/rpms+" ;; + "src/vfs/extfs/helpers/s3+") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/s3+" ;; +- "src/vfs/extfs/helpers/uace") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uace" ;; + "src/vfs/extfs/helpers/ualz") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/ualz" ;; + "src/vfs/extfs/helpers/uar") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uar" ;; + "src/vfs/extfs/helpers/uarc") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uarc" ;; +@@ -28586,7 +28585,6 @@ do + "src/vfs/extfs/helpers/uha") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uha" ;; + "src/vfs/extfs/helpers/ulha") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/ulha" ;; + "src/vfs/extfs/helpers/ulib") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/ulib" ;; +- "src/vfs/extfs/helpers/urar") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/urar" ;; + "src/vfs/extfs/helpers/uzip") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uzip" ;; + "src/vfs/extfs/helpers/uzoo") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uzoo" ;; + "src/vfs/fish/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/fish/Makefile" ;; +diff --git a/configure.ac b/configure.ac +index 6591c53..8ac2163 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -547,7 +547,6 @@ src/vfs/extfs/helpers/mailfs + src/vfs/extfs/helpers/patchfs + src/vfs/extfs/helpers/rpms+ + src/vfs/extfs/helpers/s3+ +-src/vfs/extfs/helpers/uace + src/vfs/extfs/helpers/ualz + src/vfs/extfs/helpers/uar + src/vfs/extfs/helpers/uarc +@@ -557,7 +556,6 @@ src/vfs/extfs/helpers/ucab + src/vfs/extfs/helpers/uha + src/vfs/extfs/helpers/ulha + src/vfs/extfs/helpers/ulib +-src/vfs/extfs/helpers/urar + src/vfs/extfs/helpers/uzip + src/vfs/extfs/helpers/uzoo + +diff --git a/misc/ext.d/archive.sh b/misc/ext.d/archive.sh +index 2264b12..39885ae 100755 +--- a/misc/ext.d/archive.sh ++++ b/misc/ext.d/archive.sh +@@ -61,8 +61,7 @@ do_view_action() { + lha l "${MC_EXT_FILENAME}" + ;; + arj) +- arj l "${MC_EXT_FILENAME}" 2>/dev/null || \ +- unarj l "${MC_EXT_FILENAME}" ++ arj l "${MC_EXT_FILENAME}" 2>/dev/null + ;; + cab) + cabextract -l "${MC_EXT_FILENAME}" +@@ -70,10 +69,6 @@ do_view_action() { + ha) + ha lf "${MC_EXT_FILENAME}" + ;; +- rar) +- rar v -c- "${MC_EXT_FILENAME}" 2>/dev/null || \ +- unrar v -c- "${MC_EXT_FILENAME}" +- ;; + alz) + unalz -l "${MC_EXT_FILENAME}" + ;; +@@ -93,9 +88,6 @@ do_view_action() { + 7z l "${MC_EXT_FILENAME}" + + ;; +- ace) +- unace l "${MC_EXT_FILENAME}" +- ;; + arc) + arc l "${MC_EXT_FILENAME}" + ;; +diff --git a/misc/filehighlight.ini b/misc/filehighlight.ini +index 8bc1722..430bebb 100644 +--- a/misc/filehighlight.ini ++++ b/misc/filehighlight.ini +@@ -28,7 +28,7 @@ + regexp=(^#.*|.*~$) + + [archive] +- extensions=gz;bz2;tar;tgz;rpm;Z;rar;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;7z;ace ++ extensions=gz;bz2;tar;tgz;rpm;Z;zip;arj;cab;lzh;lha;zoo;arc;ark;xz;tbz;tbz2;7z + + [doc] + extensions=txt;doc;rtf;diz;ctl;me;ps;pdf;xml;xsd;xslt;dtd;html;shtml;htm;mail;msg;lsm;po;nroff;man;tex;sgml;css;text;letter;chm;docx;docm;xlsx;xlsm;pptx;pptm +diff --git a/misc/mc.ext.in b/misc/mc.ext.in +index 68c6819..aefb267 100644 +--- a/misc/mc.ext.in ++++ b/misc/mc.ext.in +@@ -175,11 +175,6 @@ shell/i/.ha + Open=%cd %p/uha:// + View=%view{ascii} @EXTHELPERSDIR@/archive.sh view ha + +-# rar +-regex/i/\.r(ar|[0-9][0-9])$ +- Open=%cd %p/urar:// +- View=%view{ascii} @EXTHELPERSDIR@/archive.sh view rar +- + # ALZip + shell/i/.alz + Open=%cd %p/ualz:// +@@ -667,12 +662,6 @@ shell/i/.torrent + + ### Plain compressed files ### + +-# ace +-shell/i/.ace +- Open=%cd %p/uace:// +- View=%view{ascii} @EXTHELPERSDIR@/archive.sh view ace +- Extract=unace x %f +- + # arc + shell/i/.arc + Open=%cd %p/uarc:// +diff --git a/misc/syntax/php.syntax b/misc/syntax/php.syntax +index ebefb7e..7a4ec29 100644 +--- a/misc/syntax/php.syntax ++++ b/misc/syntax/php.syntax +@@ -2174,22 +2174,6 @@ context default + # Radius constants + keyword whole RADIUS\_\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_\] white + +-# Rar Functions +- keyword whole rar_close yellow +- keyword whole rar_entry_get yellow +- keyword whole rar_list yellow +- keyword whole rar_open yellow +- +-# Rar Functions Rar methods +- keyword whole Rar yellow +- +-# Rar Functions constants +- keyword whole RAR_HOST_BEOS white +- keyword whole RAR_HOST_MSDOS white +- keyword whole RAR_HOST_OS2 white +- keyword whole RAR_HOST_UNIX white +- keyword whole RAR_HOST_WIN32 white +- + # GNU Readline + keyword whole readline\[0123456789_abcdefghijklmnopqrstuvwxyz\] yellow + +diff --git a/misc/syntax/sh.syntax b/misc/syntax/sh.syntax +index f5537df..e3b3017 100644 +--- a/misc/syntax/sh.syntax ++++ b/misc/syntax/sh.syntax +@@ -610,7 +610,6 @@ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._ + keyword whole pwunconv cyan + keyword whole ramsize cyan + keyword whole ranlib cyan +- keyword whole rar cyan + keyword whole rarp cyan + keyword whole raw cyan + keyword whole rbash cyan +@@ -782,7 +781,6 @@ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._ + keyword whole ul cyan + keyword whole umount cyan + keyword whole uname cyan +- keyword whole unarj cyan + keyword whole uncompress cyan + keyword whole unexpand cyan + keyword whole unicode_start cyan +@@ -1712,7 +1710,6 @@ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._ + keyword whole pwunconv cyan + keyword whole ramsize cyan + keyword whole ranlib cyan +- keyword whole rar cyan + keyword whole rarp cyan + keyword whole raw cyan + keyword whole rbash cyan +@@ -1884,7 +1881,6 @@ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._ + keyword whole ul cyan + keyword whole umount cyan + keyword whole uname cyan +- keyword whole unarj cyan + keyword whole uncompress cyan + keyword whole unexpand cyan + keyword whole unicode_start cyan +diff --git a/src/vfs/extfs/helpers/Makefile.am b/src/vfs/extfs/helpers/Makefile.am +index 06ea789..099acf1 100644 +--- a/src/vfs/extfs/helpers/Makefile.am ++++ b/src/vfs/extfs/helpers/Makefile.am +@@ -24,7 +24,6 @@ EXTFS_IN = \ + patchfs.in \ + rpms+.in \ + s3+.in \ +- uace.in \ + ualz.in \ + uar.in \ + uarc.in \ +@@ -34,7 +33,6 @@ EXTFS_IN = \ + uha.in \ + ulha.in \ + ulib.in \ +- urar.in \ + uzip.in \ + uzoo.in + +@@ -54,7 +52,6 @@ EXTFS_OUT = \ + patchfs \ + rpms+ \ + s3+ \ +- uace \ + ualz \ + uar \ + uarc \ +@@ -64,7 +61,6 @@ EXTFS_OUT = \ + uha \ + ulha \ + ulib \ +- urar \ + uzip \ + uzoo + +diff --git a/src/vfs/extfs/helpers/Makefile.in b/src/vfs/extfs/helpers/Makefile.in +index b5f4864..d166e55 100644 +--- a/src/vfs/extfs/helpers/Makefile.in ++++ b/src/vfs/extfs/helpers/Makefile.in +@@ -86,10 +86,10 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(srcdir)/deba.in $(srcdir)/debd.in $(srcdir)/dpkg+.in \ + $(srcdir)/iso9660.in $(srcdir)/hp48+.in $(srcdir)/lslR.in \ + $(srcdir)/mailfs.in $(srcdir)/patchfs.in $(srcdir)/rpms+.in \ +- $(srcdir)/s3+.in $(srcdir)/uace.in $(srcdir)/ualz.in \ ++ $(srcdir)/s3+.in $(srcdir)/ualz.in \ + $(srcdir)/uar.in $(srcdir)/uarc.in $(srcdir)/uarj.in \ + $(srcdir)/uc1541.in $(srcdir)/ucab.in $(srcdir)/uha.in \ +- $(srcdir)/ulha.in $(srcdir)/ulib.in $(srcdir)/urar.in \ ++ $(srcdir)/ulha.in $(srcdir)/ulib.in \ + $(srcdir)/uzip.in $(srcdir)/uzoo.in README + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 + am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ +@@ -149,8 +149,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs + CONFIG_HEADER = $(top_builddir)/config.h + CONFIG_CLEAN_FILES = a+ apt+ audio deb deba debd dpkg+ iso9660 hp48+ \ +- lslR mailfs patchfs rpms+ s3+ uace ualz uar uarc uarj uc1541 \ +- ucab uha ulha ulib urar uzip uzoo ++ lslR mailfs patchfs rpms+ s3+ ualz uar uarc uarj uc1541 \ ++ ucab uha ulha ulib uzip uzoo + CONFIG_CLEAN_VPATH_FILES = + am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; + am__vpath_adj = case $$p in \ +@@ -439,7 +439,6 @@ EXTFS_IN = \ + patchfs.in \ + rpms+.in \ + s3+.in \ +- uace.in \ + ualz.in \ + uar.in \ + uarc.in \ +@@ -449,7 +448,6 @@ EXTFS_IN = \ + uha.in \ + ulha.in \ + ulib.in \ +- urar.in \ + uzip.in \ + uzoo.in + +@@ -470,7 +468,6 @@ EXTFS_OUT = \ + patchfs \ + rpms+ \ + s3+ \ +- uace \ + ualz \ + uar \ + uarc \ +@@ -480,7 +477,6 @@ EXTFS_OUT = \ + uha \ + ulha \ + ulib \ +- urar \ + uzip \ + uzoo + +@@ -550,8 +546,6 @@ rpms+: $(top_builddir)/config.status $(srcdir)/rpms+.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + s3+: $(top_builddir)/config.status $(srcdir)/s3+.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +-uace: $(top_builddir)/config.status $(srcdir)/uace.in +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + ualz: $(top_builddir)/config.status $(srcdir)/ualz.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + uar: $(top_builddir)/config.status $(srcdir)/uar.in +@@ -570,8 +564,6 @@ ulha: $(top_builddir)/config.status $(srcdir)/ulha.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + ulib: $(top_builddir)/config.status $(srcdir)/ulib.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +-urar: $(top_builddir)/config.status $(srcdir)/urar.in +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + uzip: $(top_builddir)/config.status $(srcdir)/uzip.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + uzoo: $(top_builddir)/config.status $(srcdir)/uzoo.in +diff --git a/src/vfs/extfs/helpers/uarj.in b/src/vfs/extfs/helpers/uarj.in +index 15549a0..7dffc37 100644 +--- a/src/vfs/extfs/helpers/uarj.in ++++ b/src/vfs/extfs/helpers/uarj.in +@@ -3,9 +3,8 @@ + # Written by Viatcheslav Odintsov (2:5020/181) + # (C) 2002 ARJ Software Russia. + # +-# This is an updated parser for ARJ archives in Midnight Commander. You need +-# full ARJ rather than UNARJ. Open-source ARJ v 3.10 for Unix platforms can +-# be obtained here: ++# This is an updated parser for ARJ archives in Midnight Commander. ++# Open-source ARJ v 3.10 for Unix platforms can be obtained here: + # + # - http://www.sourceforge.net/projects/arj/ + # - http://arj.sourceforge.net/ -- cgit v1.2.3 From 1a3ce27a07f876210a439d8cefb3bdca5b267da7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 7 May 2014 04:04:33 -0300 Subject: calibre-libre: improve description about removing on PKGBUILD --- libre/calibre-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD index 2205ffc11..249b8a665 100644 --- a/libre/calibre-libre/PKGBUILD +++ b/libre/calibre-libre/PKGBUILD @@ -48,7 +48,7 @@ mksource(){ prepare(){ cd "${srcdir}/${_pkgname}" - # Remove rar/cbr references + # Remove nonfree libunrar/cbr support and references rm -v src/calibre/{ebooks/metadata/rar.py,utils/unrar.{cpp,py}} rm -v resources/images/mimetypes/{cbr,rar}.png rm -v imgsrc/mimetypes/rar.svg -- cgit v1.2.3 From 91188d9c9957103b52a2a0acc70b23284e397b49 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 7 May 2014 04:20:07 -0300 Subject: doublecmd-libre-0.5.9-1.2: remove nonfree libunrar, unace, unarj support and references, also nonfree unRAR utility files was removed from the source --- libre/doublecmd-libre/PKGBUILD | 42 +++- libre/doublecmd-libre/help-libre.patch | 153 +++++++++++++ libre/doublecmd-libre/libre.patch | 407 +++++++++++++++++++++++++++++++++ 3 files changed, 596 insertions(+), 6 deletions(-) create mode 100644 libre/doublecmd-libre/help-libre.patch create mode 100644 libre/doublecmd-libre/libre.patch diff --git a/libre/doublecmd-libre/PKGBUILD b/libre/doublecmd-libre/PKGBUILD index 1e14d5588..ad04bab90 100644 --- a/libre/doublecmd-libre/PKGBUILD +++ b/libre/doublecmd-libre/PKGBUILD @@ -8,7 +8,7 @@ pkgbase=doublecmd-libre pkgname=('doublecmd-libre-gtk2' 'doublecmd-libre-qt') pkgver=0.5.9 _helpver=0.5.5 -pkgrel=1.1 +pkgrel=1.2 url="http://doublecmd.sourceforge.net/" arch=('i686' 'x86_64') license=('GPL') @@ -19,12 +19,39 @@ optdepends=( 'lua51: scripting' 'p7zip: support for 7zip archives' ) -source=( +mksource=( "http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-$pkgver-src.tar.gz" +) +source=( + "https://repo.parabolagnulinux.org/other/$pkgname/$pkgbase-$pkgver-src.tar.gz" "http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-help-$_helpver-src.tar.gz" "http://www.herecura.be/files/lazarus-20140321-2.tar.gz" + 'libre.patch' + 'help-libre.patch' ) +mksource() { + cd "$srcdir/$_pkgbase-$pkgver" + + msg2 'remove nonfree unRAR utility files from the source' + rm -rv install/linux/deb/libunrar +} + +prepare() { + cd "$srcdir/$_pkgbase-$pkgver" + + msg2 'remove nonfree libunrar, unace, unarj support and references' + rm -rv plugins/wcx/unrar + rm -v install/linux/rpm/libunrar.spec + rm -v install/darwin/make-unrar.sh + patch -Np1 -i ../libre.patch + + cd "$srcdir/$_pkgbase-help-$_helpver" + + msg2 'remove nonfree libunrar, unace, unarj support and references on the help' + patch -Np1 -i ../help-libre.patch +} + build() { cp -a $_pkgbase-$pkgver $_pkgbase-gtk cp -a $_pkgbase-$pkgver $_pkgbase-qt @@ -48,7 +75,7 @@ build() { } package_doublecmd-libre-gtk2() { - pkgdesc="twin-panel (commander-style) file manager (GTK), without nonfree libunrar recommendation" + pkgdesc="twin-panel (commander-style) file manager (GTK), without nonfree libunrar, unace and unarj support" depends=('gtk2') conflicts=('doublecmd-libre-qt' 'doublecmd-gtk2' 'doublecmd-gtk2-libre') replaces=('doublecmd-gtk2' 'doublecmd-gtk2-libre') @@ -62,7 +89,7 @@ package_doublecmd-libre-gtk2() { } package_doublecmd-libre-qt() { - pkgdesc="twin-panel (commander-style) file manager (QT), without nonfree libunrar recommendation" + pkgdesc="twin-panel (commander-style) file manager (QT), without nonfree libunrar, unace and unarj support" depends=('qt4pas') conflicts=('doublecmd-libre-gtk2' 'doublecmd-qt' 'doublecmd-qt-libre') replaces=('doublecmd-qt' 'doublecmd-qt-libre') @@ -75,6 +102,9 @@ package_doublecmd-libre-qt() { cp -a * "$pkgdir/usr/share/$_pkgbase/doc/" } -sha256sums=('d5b3c93b3029f4b0a45b7c9912d34f753445e031c93bc0268d4cb4c313d06ba4' +mksha256sums=('d5b3c93b3029f4b0a45b7c9912d34f753445e031c93bc0268d4cb4c313d06ba4') +sha256sums=('d72f0e52f99fadcd5ebcc7cf6184394c124da57dda6b6af05774a1f5e767254e' '5c5d00187df811df0734bf751a581bce7e1bdd4cf4639b2a1101f1da8743daaf' - '16560ad7403ffbee1800384768828e1fad924d03068c6248b68a78c393fc4e20') + '16560ad7403ffbee1800384768828e1fad924d03068c6248b68a78c393fc4e20' + '79853d83a2fa7cdb54ab79586c2c3d123de90f849dd52d1a712b1e4a1eeaefcd' + '3f0de0b4a35ec3c8a172864f3e6fd2ad11d3c32c3eee05d08b51d06002d05f7f') diff --git a/libre/doublecmd-libre/help-libre.patch b/libre/doublecmd-libre/help-libre.patch new file mode 100644 index 000000000..c1d859d8b --- /dev/null +++ b/libre/doublecmd-libre/help-libre.patch @@ -0,0 +1,153 @@ +diff --git a/en/about.html b/en/about.html +index 7a1b2d0..6ab90ab 100644 +--- a/en/about.html ++++ b/en/about.html +@@ -20,7 +20,7 @@ +
  • customizable columns

  • +
  • built-in file viewer (F3) to view files of ANY SIZE in hexadecimal, binary or text format

  • +
  • built-in text editor (F4) with syntax highlighting

  • +-
  • archives are handled like subdirectories. You can easily copy files to and from the archive. Supports following types: ZIP, TAR GZ, TGZ, BZ2, RPM, CPIO, DEB, RAR

  • ++
  • archives are handled like subdirectories. You can easily copy files to and from the archive. Supports following types: ZIP, TAR GZ, TGZ, BZ2, RPM, CPIO, DEB

  • +
  • extended search function with full text search in any files

  • +
  • supports WCX, WLX, WDX and WFX plugins from Total Commander (also supports own DSX plugin format)

  • +
  • operations log

  • +diff --git a/en/help.html b/en/help.html +index a53a867..a473c9f 100644 +--- a/en/help.html ++++ b/en/help.html +@@ -53,7 +53,7 @@ +

    Double Commander is a cross-platform (both GNU/Linux and Windows) file manager, supporting + WCX, WFX, WDX, WLX and DSX plugin types. The last type (DSX) is DC's own search plugin type. + The Windows version of Double Commander is compatible with many plugins from Total Commander (TC), which is more than half of those which I tried. +- The Linux version has no such programs at all. DC comes installed with some WCX (archiver) plugins to work with cpio, deb, rpm, bz2, rar, zip, tar, gz, tgz archives as ++ The Linux version has no such programs at all. DC comes installed with some WCX (archiver) plugins to work with cpio, deb, rpm, bz2, zip, tar, gz, tgz archives as + directories (VFS), also a search plugin (DSX) and a lister videoplayer plugin for Linux (WLX). Other plugins can be installed manually.

    +

    Double Commander

    + +@@ -190,7 +190,7 @@ + file renaming. + +

    By selecting item Pack files (internal command +- cm_PackFiles) we call a standard dialog to pack files to the zip, tar.gz, tgz and, possibly, rar archive formats.

    ++ cm_PackFiles) we call a standard dialog to pack files to the zip, tar.gz, tgz.

    +

    Pack

    + +

    Also we can unpack files via +diff --git a/en/multiarc.html b/en/multiarc.html +index d1cbc7d..c2284ad 100644 +--- a/en/multiarc.html ++++ b/en/multiarc.html +@@ -280,8 +280,6 @@ p,ul,ol /* Paragraph Style */ +

    Command = String representing a command

    +

    Flag = 0 or 1 depending on state of this flag

    +

    TypeName is a short name for archive type. It is required and must be unique.

    +-

    Example:

    +-

    [ARJ]

    +

    Parameters

    +

    Archiver Path to archiver utilit. Pach can contain enviropment variable such as %WINDIR% or %COMMANDER_PATH%.

    +

    ID (optional) archive ID (2-digit hex numbers delimited with spaces).

    +diff --git a/ru/about.html b/ru/about.html +index 99d1c43..5e177d8 100644 +--- a/ru/about.html ++++ b/ru/about.html +@@ -26,7 +26,7 @@ + двоичном или текстовом формате

    +
  • встроенный текстовый редактор (F4) c подсветкой синтаксиса

  • +
  • работа с архивами так же, как с подкаталогами. Вы можете легко копировать файлы в архив +- и из него. Поддерживаются следующие типы архивов ZIP, TAR GZ, TGZ, а также BZ2, RPM, CPIO, DEB, RAR

  • ++ и из него. Поддерживаются следующие типы архивов ZIP, TAR GZ, TGZ, а также BZ2, RPM, CPIO, DEB

    +
  • расширенный поиск файлов, включая поиск текста в любых файлах

  • +
  • поддержка WCX, WDX и WFX плагинов от Total Commander

  • +
  • протоколирование файловых операций

  • +@@ -45,4 +45,4 @@ +
    + + +- +\ No newline at end of file ++ +diff --git a/ru/help.html b/ru/help.html +index a2ccba9..a138ef2 100644 +--- a/ru/help.html ++++ b/ru/help.html +@@ -56,7 +56,7 @@ + работают многие плагины от Total Commander (TC), а это более половины из тех, которыми я + пользовался). А Linux версия, вообще не имеет аналогов подобного типа. После установки в + составе DC уже имеются WCX (архиваторные) плагины и можно работать с архивами cpio, deb, rpm, +- bz2, rar, zip, tar, gz, tgz как с каталогами, так же поисковый плагин (DSX) и плагин для ++ bz2, zip, tar, gz, tgz как с каталогами, так же поисковый плагин (DSX) и плагин для + просмотра видео с помощью Mplayer в Linux (WLX), остальные можно установить самостоятельно.

    +

    Double Commander

    + +@@ -213,8 +213,7 @@ + расположение лог-файла.

    + +

    Выбрав пункт Упаковать (команда +- cm_PackFiles) мы вызовем стандартный диалог упаковки файлов в архивы zip, tar.gz, tgz, +- может быть и rar, если в системе установлен соответствующий архиватор.

    ++ cm_PackFiles) мы вызовем стандартный диалог упаковки файлов в архивы zip, tar.gz, tgz.

    +

    Упаковать

    + +

    Обратное действие можно выполнить, воспользовавшись пунктом +diff --git a/ru/multiarc.html b/ru/multiarc.html +index 882f5eb..00cb39d 100644 +--- a/ru/multiarc.html ++++ b/ru/multiarc.html +@@ -272,8 +272,6 @@ p,ul,ol /* Paragraph Style */ +

    Команда= строка команды

    +

    Флаг = 0 или 1 в зависимости от состояния флага.

    +

    Имя_типа краткое имя типа архиватора. Обязательно, и должно быть уникальным. Должно быть набрано символами английского алфавита.

    +-

    Пример:

    +-

    [ARJ]

    +

    Параметры

    +

    Archiver Путь к архиватору. Путь может содержать переменные окружения, например %WINDIR% или %COMMANDER_PATH%.

    +

    ID (необязательный) -- сигнатура (ID) архиватора, используется для определения является ли данный файл архивом этого типа. Записывается группами по 2 шестнадцатеричных символа, разделенные пробелами. Если архиватор может обрабатывать несколько версий архивов с разными сигнатурами, они разделяются запятыми.

    +diff --git a/uk_UA/about.html b/uk_UA/about.html +index 757fc73..a53de54 100644 +--- a/uk_UA/about.html ++++ b/uk_UA/about.html +@@ -26,7 +26,7 @@ + двійковому або текстовому форматі

    +
  • вбудований текстовий редактор (F4) c підсвіткою синтаксису

  • +
  • робота з архівами так як і з підкаталогами. Ви можете легко копіювати файли в архів +- і з нього. Підтримуються наступні типи архівів ZIP, TAR GZ, TGZ, а також BZ2, RPM, CPIO, DEB, RAR

  • ++ і з нього. Підтримуються наступні типи архівів ZIP, TAR GZ, TGZ, а також BZ2, RPM, CPIO, DEB

    +
  • розширений пошук файлів, включаючи пошук тексту в будь-яких файлах

  • +
  • підтримка WCX, WDX і WFX плагінів від Total Commander

  • +
  • протоколювання файлових операцій

  • +diff --git a/uk_UA/help.html b/uk_UA/help.html +index 5420b30..29b3411 100644 +--- a/uk_UA/help.html ++++ b/uk_UA/help.html +@@ -56,7 +56,7 @@ + працює багато плагінів від Total Commander (TC), а це більше половини з тих, якими я + користувався). А Linux версія, взагалі не має аналогів подібногу типу. Після встановлення у + складі DC вже є WCX (архіваторні) плагіни і можна працювати з архівами cpio, deb, rpm, +- bz2, rar, zip, tar, gz, tgz як з каталогами, пошуковий плагін (DSX) і плагін для ++ bz2, zip, tar, gz, tgz як з каталогами, пошуковий плагін (DSX) і плагін для + перегляду відео з допомогою Mplayer в Linux (WLX), інші можна встановити власноруч.

    +

    Double Commander

    + +@@ -214,8 +214,7 @@ + місцезнаходження лог-файлу.

    + +

    Вибравши пункт Упакувати (команда +- cm_PackFiles) ми викличемо стандартний діалог упакування файлів в архіви zip, tar.gz, tgz, +- може бути і rar, якщо в системі встановлено відповідний архіватор.

    ++ cm_PackFiles) ми викличемо стандартний діалог упакування файлів в архіви zip, tar.gz, tgz.

    +

    Упакувати

    + +

    Звортню дію можна виконати, скориставшися пунктом +diff --git a/uk_UA/multiarc.html b/uk_UA/multiarc.html +index bb0a81f..9d9ee80 100644 +--- a/uk_UA/multiarc.html ++++ b/uk_UA/multiarc.html +@@ -272,8 +272,6 @@ p,ul,ol /* Paragraph Style */ +

    Команда= рядок команди

    +

    Прапорець = 0 чи 1 в залежності від стану прапорця.

    +

    Ім’я_типу коротке ім’я типу архіватора. Обов’язково повинно бути унікальним і бути набраним символами англійського алфавіту.

    +-

    Наприклад:

    +-

    [ARJ]

    +

    Параметри

    +

    Archiver Шлях до архіватора. Шлях може містити змінні оточення, наприклад %WINDIR% або %COMMANDER_PATH%.

    +

    ID (необовязковий) -- сигнатура (ID) архіватора, використовується для визначення чи являється данний файл архівом цього типу. Записується групами по 2 шістнадцяткових символа, разділених пробілами. Якщо архіватор може оброблювати кілька версій архівів з різними сигнатурами, вони розділяються комами.

    diff --git a/libre/doublecmd-libre/libre.patch b/libre/doublecmd-libre/libre.patch new file mode 100644 index 000000000..83c017125 --- /dev/null +++ b/libre/doublecmd-libre/libre.patch @@ -0,0 +1,407 @@ +diff --git a/clean.bat b/clean.bat +index 910f591..0989998 100644 +--- a/clean.bat ++++ b/clean.bat +@@ -22,7 +22,6 @@ + @del /Q /S plugins\wcx\lzma\lib\*.* + @del /Q /S plugins\wcx\rpm\lib\*.* + @del /Q /S plugins\wcx\unbz2\lib\*.* +-@del /Q /S plugins\wcx\unrar\lib\*.* + @del /Q /S plugins\wcx\zip\lib\*.* + + @del /Q /S plugins\wdx\deb_wdx\lib\*.* +@@ -45,7 +44,6 @@ + @del /Q plugins\wcx\lzma\src\*.bak + @del /Q plugins\wcx\zip\src\*.bak + @del /Q plugins\wcx\unbz2\src\*.bak +-@del /Q plugins\wcx\unrar\src\*.bak + + @del /Q plugins\wcx\cpio\src\*.*~ + @del /Q plugins\wcx\rpm\src\*.*~ +@@ -53,7 +51,6 @@ + @del /Q plugins\wcx\lzma\src\*.*~ + @del /Q plugins\wcx\zip\src\*.*~ + @del /Q plugins\wcx\unbz2\src\*.*~ +-@del /Q plugins\wcx\unrar\src\*.*~ + + @echo Clean up components output directories + +@@ -66,4 +63,4 @@ + @del /Q /S components\viewer\lib\*.* + @del /Q /S components\ZVDateTimeCtrls\lib\*.* + +-@echo Done. +\ No newline at end of file ++@echo Done. +diff --git a/doublecmd.ext.example b/doublecmd.ext.example +index 24f4f9b..4e4307d 100644 +--- a/doublecmd.ext.example ++++ b/doublecmd.ext.example +@@ -236,13 +236,6 @@ View={!VIEWER} + Extract={!SHELL} lharc x %f '*' + #Extract (with flags)=I=%{Enter any LHarc flags:}; if test -n "$I"; then lharc x $I %f; fi + +-# arj +-[arj] +-Open={!VFS} +-View={!VIEWER} +-Extract={!SHELL} unarj x %f '*' +-#Extract (with flags)=I=%{Enter any Unarj flags:}; if test -n "$I"; then unarj x $I %f; fi +- + # ha + [ha] + Open={!VFS} +@@ -250,13 +243,6 @@ View={!VIEWER} + Extract={!SHELL} ha xy %f '*' + # Extract (with flags)=I=%{Enter any HA flags:}; if test -n "$I"; then ha xy $I %f; fi + +-# rar +-[rar|r00|r02|r02|r03|r04|r05|r06|r07|r08|r09] +-Open={!VFS} +-View={!VIEWER} +-Extract={!SHELL} rar x -c- %f '*' +-# Extract (with flags)=I=%{Enter any RAR flags:}; if test -n "$I";then rar x $I %f; fi +- + #compress + [Z] + Open={!VFS} +@@ -287,11 +273,6 @@ Open={!VFS} + View={!VIEWER} /dev/null?> + Uncompress={!SHELL} bunzip %f + +-# ace +-[ace] +-Open={!VFS} +-Uncompress={!SHELL} unace e %p +- + # Source RPMs (SuSE uses *.spm, others use *.src.rpm) + [spm|srcm] + Open={!VFS} +diff --git a/install/darwin/doublecmd.xml b/install/darwin/doublecmd.xml +index 3fffe77..4c2b8a4 100644 +--- a/install/darwin/doublecmd.xml ++++ b/install/darwin/doublecmd.xml +@@ -92,11 +92,6 @@ + %commander_path%/plugins/wcx/rpm/rpm.wcx + 4 + +- +- rar +- %commander_path%/plugins/wcx/unrar/unrar.wcx +- 68 +- + + + +diff --git a/install/darwin/install.sh b/install/darwin/install.sh +index 48ca896..db3093c 100755 +--- a/install/darwin/install.sh ++++ b/install/darwin/install.sh +@@ -18,7 +18,6 @@ mkdir -p $DC_INSTALL_DIR/plugins/wcx/cpio + mkdir -p $DC_INSTALL_DIR/plugins/wcx/deb + mkdir -p $DC_INSTALL_DIR/plugins/wcx/lzma + mkdir -p $DC_INSTALL_DIR/plugins/wcx/rpm +-mkdir -p $DC_INSTALL_DIR/plugins/wcx/unrar + mkdir -p $DC_INSTALL_DIR/plugins/wcx/zip + # WDX plugins directories + mkdir -p $DC_INSTALL_DIR/plugins/wdx +@@ -45,7 +44,6 @@ install -m 644 plugins/wcx/cpio/lib/cpio.wcx $DC_INSTALL_DIR/plugins/wcx/ + install -m 644 plugins/wcx/deb/lib/deb.wcx $DC_INSTALL_DIR/plugins/wcx/deb/ + install -m 644 plugins/wcx/lzma/lib/lzma.wcx $DC_INSTALL_DIR/plugins/wcx/lzma/ + install -m 644 plugins/wcx/rpm/lib/rpm.wcx $DC_INSTALL_DIR/plugins/wcx/rpm/ +-install -m 644 plugins/wcx/unrar/lib/unrar.wcx $DC_INSTALL_DIR/plugins/wcx/unrar/ + install -m 644 plugins/wcx/zip/lib/zip.wcx $DC_INSTALL_DIR/plugins/wcx/zip/ + # WDX + install -m 644 plugins/wdx/rpm_wdx/lib/rpm_wdx.wdx $DC_INSTALL_DIR/plugins/wdx/rpm_wdx/ +diff --git a/install/darwin/lib/readme.txt b/install/darwin/lib/readme.txt +index 5b81e6e..830ba48 100644 +--- a/install/darwin/lib/readme.txt ++++ b/install/darwin/lib/readme.txt +@@ -1,2 +1 @@ + Before create packages (before run create_packages.mac) copy in this directory third-party libraries: +-- libunrar.dylib - needed for unrar plugin +\ No newline at end of file +diff --git a/install/linux/doublecmd.xml b/install/linux/doublecmd.xml +index 8822d35..43a0e39 100644 +--- a/install/linux/doublecmd.xml ++++ b/install/linux/doublecmd.xml +@@ -84,11 +84,6 @@ + %commander_path%/plugins/wcx/rpm/rpm.wcx + 4 + +- +- rar +- %commander_path%/plugins/wcx/unrar/unrar.wcx +- 68 +- + + + +diff --git a/install/linux/install.sh b/install/linux/install.sh +index a759335..2b19802 100755 +--- a/install/linux/install.sh ++++ b/install/linux/install.sh +@@ -48,7 +48,6 @@ mkdir -p $DC_INSTALL_DIR/plugins/wcx/cpio + mkdir -p $DC_INSTALL_DIR/plugins/wcx/deb + mkdir -p $DC_INSTALL_DIR/plugins/wcx/lzma + mkdir -p $DC_INSTALL_DIR/plugins/wcx/rpm +-mkdir -p $DC_INSTALL_DIR/plugins/wcx/unrar + mkdir -p $DC_INSTALL_DIR/plugins/wcx/zip + # WDX plugins directories + mkdir -p $DC_INSTALL_DIR/plugins/wdx +@@ -80,7 +79,6 @@ install -m 644 plugins/wcx/cpio/lib/cpio.wcx $DC_INSTALL_DIR/plugins/wcx/ + install -m 644 plugins/wcx/deb/lib/deb.wcx $DC_INSTALL_DIR/plugins/wcx/deb/ + install -m 644 plugins/wcx/lzma/lib/lzma.wcx $DC_INSTALL_DIR/plugins/wcx/lzma/ + install -m 644 plugins/wcx/rpm/lib/rpm.wcx $DC_INSTALL_DIR/plugins/wcx/rpm/ +-install -m 644 plugins/wcx/unrar/lib/unrar.wcx $DC_INSTALL_DIR/plugins/wcx/unrar/ + install -m 644 plugins/wcx/zip/lib/zip.wcx $DC_INSTALL_DIR/plugins/wcx/zip/ + # WDX + install -m 644 plugins/wdx/rpm_wdx/lib/rpm_wdx.wdx $DC_INSTALL_DIR/plugins/wdx/rpm_wdx/ +diff --git a/install/linux/lib/readme.txt b/install/linux/lib/readme.txt +index 901d6b4..54df3a8 100644 +--- a/install/linux/lib/readme.txt ++++ b/install/linux/lib/readme.txt +@@ -1,3 +1,2 @@ + Before create packages (before run create_packages.sh) copy in this directory third-party libraries: +-- libunrar.so - needed for unrar plugin +-- libqt4intf.so - needed for qt4 version of Double Commander +\ No newline at end of file ++- libqt4intf.so - needed for qt4 version of Double Commander +diff --git a/install/windows/doublecmd.xml b/install/windows/doublecmd.xml +index ad9b8c3..8105eef 100644 +--- a/install/windows/doublecmd.xml ++++ b/install/windows/doublecmd.xml +@@ -72,11 +72,6 @@ + %commander_path%\plugins\wcx\rpm\rpm.wcx + 4 + +- +- rar +- %commander_path%\plugins\wcx\unrar\unrar.wcx +- 68 +- + + + +diff --git a/install/windows/install.bat b/install/windows/install.bat +index 5d55c99..ed32bf2 100644 +--- a/install/windows/install.bat ++++ b/install/windows/install.bat +@@ -13,7 +13,6 @@ mkdir %DC_INSTALL_DIR%\plugins\wcx\cpio + mkdir %DC_INSTALL_DIR%\plugins\wcx\deb + mkdir %DC_INSTALL_DIR%\plugins\wcx\lzma + mkdir %DC_INSTALL_DIR%\plugins\wcx\rpm +-mkdir %DC_INSTALL_DIR%\plugins\wcx\unrar + mkdir %DC_INSTALL_DIR%\plugins\wcx\zip + rem WDX plugins directories + mkdir %DC_INSTALL_DIR%\plugins\wdx +@@ -45,7 +44,6 @@ copy plugins\wcx\cpio\lib\cpio.wcx %DC_INSTALL_DIR%\plugins\wcx\cpio\ + copy plugins\wcx\deb\lib\deb.wcx %DC_INSTALL_DIR%\plugins\wcx\deb\ + copy plugins\wcx\lzma\lib\lzma.wcx %DC_INSTALL_DIR%\plugins\wcx\lzma\ + copy plugins\wcx\rpm\lib\rpm.wcx %DC_INSTALL_DIR%\plugins\wcx\rpm\ +-copy plugins\wcx\unrar\lib\unrar.wcx %DC_INSTALL_DIR%\plugins\wcx\unrar\ + copy plugins\wcx\zip\lib\zip.wcx %DC_INSTALL_DIR%\plugins\wcx\zip\ + rem WDX + copy plugins\wdx\rpm_wdx\lib\rpm_wdx.wdx %DC_INSTALL_DIR%\plugins\wdx\rpm_wdx\ +diff --git a/install/windows/lib/readme.txt b/install/windows/lib/readme.txt +index 3aa11d8..5223b9d 100644 +--- a/install/windows/lib/readme.txt ++++ b/install/windows/lib/readme.txt +@@ -1,2 +1 @@ + Before create packages (before run create_packages.bat) copy in this directory third-party libraries: +-- unrar.dll - needed for unrar plugin +\ No newline at end of file +diff --git a/multiarc.ini b/multiarc.ini +index 7cad464..a837e36 100644 +--- a/multiarc.ini ++++ b/multiarc.ini +@@ -37,89 +37,6 @@ Enabled=0 + Output=0 + Debug=0 + +-[ACE] +-Archiver=ace +-Description=ACE v2.0.4 +-Extension=ace +-Start=^Date +-End=^listed: +-Format0=dd.tt.yy hh:mm ppppppppppp zzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn +-List=%P v -y %AQA +-Extract=%P x -y {-p%W} {%S} %AQA @%LQA +-ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQA +-Test=%P t -y %AQA +-Delete=%P d -y %AQA @%LQA +-Add=%P a -y {-p%W} {-v%V} {%S} %AQA @%LQA +-AddSelfExtract=%P a -y -sfx {-p%W} {-v%V} {%S} %AQA @%LQA +-Enabled=0 +-Output=0 +-Debug=0 +- +-[ARJ] +-Description=ARJ 3.15 by ARJ Software, Inc. +-Archiver=arj +-ID=60 EA +-IDPos=0 +-Extension=arj +-Start=^------------ +-End=^------------ +-Format0=* nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn +-Format1=???????????? zzzzzzzzzz pppppppppp yy-tt-dd hh:mm:ss aaaaaa +-Format2=? +-Format3=? +-List=%P v %AQA +-Extract=%P x -y {-g%W} {%S} %AQA !%LQA +-ExtractWithoutPath=%P e -y {-g%W} {%S} %AQA !%LQA +-Test=%P t -y {%S} %AQA +-Delete=%P d -y {%S} %AQA !%LQA +-Add=%P a -y {-g%W} {-v%V} {%S} %AQA !%LQA +-Enabled=0 +-Output=0 +-Debug=0 +- +-[RAR] +-Description=RAR 4.00 - http://www.rarlab.com +-Extension=rar +-Archiver=rar +-Start=^------------ +-End=^------------ +-Format0=?nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn +-Format1=zzzzzzzzzzzzzzzzzzzzzz pppppppp dd-tt-yy hh:mm aaaaaaa +-List=%P v %AQA +-Extract=%P x -y {-p%W} {%S} %AQA @%LQ +-ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQ +-Test=%P t -y {%S} %AQA +-Delete=%P d -y {%S} %AQA @%LQ +-Add=%P a -y {-p%W} {-v%V} {%S} %AQA @%LQ +-AddSelfExtract=%P a -y -sfx {-p%W} {-v%V} {%S} %AQA @%LQ +-PasswordQuery=Enter password +-Enabled=0 +-Output=0 +-Debug=0 +- +-[RAR (5)] +-Archiver=rar +-Description=RAR 5.x - http://www.rarlab.com +-ID=52 61 72 21 +-IDPos= +-IDSeekRange= +-Extension=rar +-Start=^----------- +-End=^----------- +-Format0=aaaaaaaaaaa zzzzzzzzz dd-tt-yy hh:mm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn +-List=%P l %AQA +-Extract=%P x -y {-p%W} {%S} %AQA @%LQA +-ExtractWithoutPath=%P e -y {-p%W} {%S} %AQA @%LQA +-Test=%P t -y {%S} %AQA +-Delete=%P d -y {%S} %AQA @%LQA +-Add=%P a -y {-p%W} {-v%V} {%S} %AQA @%LQA +-AddSelfExtract=%P a -y -sfx {-p%W} {-v%V} {%S} %AQA @%LQA +-PasswordQuery=Enter password +-FormMode=0 +-Enabled=0 +-Output=0 +-Debug=0 +- + [TXZ] + Archiver=tar + Description=Compressed tar file (tar.xz) +diff --git a/plugins/build.bat b/plugins/build.bat +index bc52bb4..44688ad 100644 +--- a/plugins/build.bat ++++ b/plugins/build.bat +@@ -14,7 +14,6 @@ lazbuild wcx\cpio\src\cpio.lpi %DC_ARCH% + lazbuild wcx\deb\src\deb.lpi %DC_ARCH% + lazbuild wcx\lzma\src\lzma.lpi %DC_ARCH% + lazbuild wcx\rpm\src\rpm.lpi %DC_ARCH% +-lazbuild wcx\unrar\src\unrar.lpi %DC_ARCH% + lazbuild wcx\zip\src\zip.lpi %DC_ARCH% + + rem WDX plugins +@@ -43,10 +42,6 @@ pushd wcx\rpm\lib\ + strip --strip-all rpm.wcx + popd + +-pushd wcx\unrar\lib\ +-strip --strip-all unrar.wcx +-popd +- + pushd wcx\zip\lib\ + strip --strip-all zip.wcx + popd +diff --git a/plugins/build.sh b/plugins/build.sh +index a9c34ba..fc34b91 100755 +--- a/plugins/build.sh ++++ b/plugins/build.sh +@@ -14,7 +14,6 @@ $lazbuild wcx/cpio/src/cpio.lpi $DC_ARCH + $lazbuild wcx/deb/src/deb.lpi $DC_ARCH + $lazbuild wcx/lzma/src/lzma.lpi $DC_ARCH + $lazbuild wcx/rpm/src/rpm.lpi $DC_ARCH +-$lazbuild wcx/unrar/src/unrar.lpi $DC_ARCH + $lazbuild wcx/zip/src/Zip.lpi $DC_ARCH + + # WDX plugins +@@ -50,10 +49,6 @@ cd wcx/rpm/lib/ + strip --strip-all rpm.wcx + cd $pluginsdir + +-cd wcx/unrar/lib/ +-strip --strip-all unrar.wcx +-cd $pluginsdir +- + cd wcx/zip/lib/ + strip --strip-all zip.wcx + cd $pluginsdir +diff --git a/plugins/wcx/lzma/LZMA/Methods.txt b/plugins/wcx/lzma/LZMA/Methods.txt +index 393e1b0..9426718 100644 +--- a/plugins/wcx/lzma/LZMA/Methods.txt ++++ b/plugins/wcx/lzma/LZMA/Methods.txt +@@ -73,13 +73,6 @@ List of defined IDs + 12 - BZip2 (not used). Use {04 02 02} instead + 02 - BZip + 02 - BZip2 +- 03 - Rar +- 01 - Rar15 +- 02 - Rar20 +- 03 - Rar29 +- 04 - Arj +- 01 - Arj (1,2,3) +- 02 - Arj 4 + 05 - Z + 06 - Lzh + 07 - Reserved for 7z +@@ -109,9 +102,6 @@ List of defined IDs + F1 - Misc Ciphers (Combine) + 01 - Zip + 01 - Main Zip crypto algo +- 03 - RAR +- 02 - +- 03 - Rar29 AES-128 + (modified SHA-1) + 07 - 7z + 01 - AES-256 + SHA-256 + +@@ -126,8 +116,6 @@ List of defined IDs + F0 - Misc Hash + + F1 - Misc +- 03 - RAR +- 03 - Rar29 Password Hashing (modified SHA1) + 07 - 7z + 01 - SHA-256 Password Hashing + +diff --git a/src/platform/udefaultplugins.pas b/src/platform/udefaultplugins.pas +index 7dfa48a..5045f03 100644 +--- a/src/platform/udefaultplugins.pas ++++ b/src/platform/udefaultplugins.pas +@@ -149,12 +149,6 @@ begin + else + gWCXPlugins.Flags[I]:= 4; + +- I:= gWCXPlugins.IndexOfName('rar'); +- if I < 0 then +- gWCXPlugins.Add('rar', 68, Folder + 'unrar' + PathDelim + 'unrar.wcx') +- else +- gWCXPlugins.Flags[I]:= 68; +- + // Wfx plugins + Folder:= '%commander_path%' + PathDelim + 'plugins' + PathDelim + 'wfx' + PathDelim; + -- cgit v1.2.3 From 9d145c3557f5021beb48fcd874cc015dd871c25d Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 7 May 2014 06:01:51 -0300 Subject: lesspipe-libre: add new package to [libre] --- libre/lesspipe-libre/PKGBUILD | 53 ++++++++++++++++++ libre/lesspipe-libre/lesspipe.sh | 1 + libre/lesspipe-libre/libarchive.patch | 100 ++++++++++++++++++++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100644 libre/lesspipe-libre/PKGBUILD create mode 100644 libre/lesspipe-libre/lesspipe.sh create mode 100644 libre/lesspipe-libre/libarchive.patch diff --git a/libre/lesspipe-libre/PKGBUILD b/libre/lesspipe-libre/PKGBUILD new file mode 100644 index 000000000..c42a8e976 --- /dev/null +++ b/libre/lesspipe-libre/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 83837 2013-02-05 15:58:20Z spupykin $ +# Maintainer: Angel 'angvp' Velasquez +# Contributor: solsTiCe d'Hiver +# Maintainer (Parabola): André Silva + +_pkgname=lesspipe +pkgname=lesspipe-libre +pkgver=1.82 +pkgrel=1 +pkgdesc='an input filter for the pager less, with libarchive support' +depends=('less') +arch=('any') +license=('GPL') +replaces=$_pkgname +conflicts=$_pkgname +provides=$_pkgname=$pkgver +optdepends=('perl' + 'rpmextract: support for rpm files' + 'fastjar: support for jar files' + 'unzip: support for zip files' + 'libarchive: support for rar files' + 'p7zip: support for 7za files' + 'cabextract: support for cab files' + 'cdrkit: support for iso files' + 'html2text: support for html files' + 'antiword: support for word file' + 'unrtf: support for rtf file' + 'imagemagick: support for some image file') +url="http://www-zeuthen.desy.de/~friebel/unix/lesspipe.html" +source=(http://downloads.sourceforge.net/project/lesspipe/lesspipe/$pkgver/lesspipe-$pkgver.tar.gz + lesspipe.sh + libarchive.patch) +md5sums=('dd6f7bc9b9f9afaf04c9aa0cdbe9fe56' + '675b56f560c600f43108adfd98222251' + 'ec452ea980d5c1e254e9775fd424c18c') + +prepare() { + cd $srcdir/$_pkgname-$pkgver + patch -Np1 -i ../libarchive.patch +} + +build() { + cd $srcdir/$_pkgname-$pkgver + ./configure --prefix=/usr --yes + make +} + +package() { + cd $srcdir/$_pkgname-$pkgver + mkdir -p $pkgdir/usr/share/man/man1 + make install PREFIX=$pkgdir/usr + install -D $srcdir/lesspipe.sh $pkgdir/etc/profile.d/lesspipe.sh +} diff --git a/libre/lesspipe-libre/lesspipe.sh b/libre/lesspipe-libre/lesspipe.sh new file mode 100644 index 000000000..ae6076f6b --- /dev/null +++ b/libre/lesspipe-libre/lesspipe.sh @@ -0,0 +1 @@ +export LESSOPEN='|/usr/bin/lesspipe.sh %s' diff --git a/libre/lesspipe-libre/libarchive.patch b/libre/lesspipe-libre/libarchive.patch new file mode 100644 index 000000000..b4fb48788 --- /dev/null +++ b/libre/lesspipe-libre/libarchive.patch @@ -0,0 +1,100 @@ +diff --git a/configure b/configure +index cbd34af..5df4a31 100755 +--- a/configure ++++ b/configure +@@ -405,8 +405,7 @@ LESS_ADVANCED_PREPROCESSOR N # always interpret textlike files (html, ...) + # compression programs + bzip2 Y # include bzip2 and unzip code, it is fairly essential + unzip Y +-rar Y +-unrar Y ++bsdtar Y # bsdtar is the best free as in freedom alternative for rar + lzip N # default for lzma, lzip, xz, 7za should probably be N + lzma Y + xz Y +diff --git a/lesspipe.sh b/lesspipe.sh +index c80c75b..262a47b 100755 +--- a/lesspipe.sh ++++ b/lesspipe.sh +@@ -276,12 +276,8 @@ get_cmd () { + cmd=(isrpm "$2" "$file2") + elif [[ "$1" = *Zip* || "$1" = *ZIP* ]] && cmd_exist unzip; then + cmd=(istemp "unzip -avp" "$2" "$file2") +- elif [[ "$1" = *RAR\ archive* ]]; then +- if cmd_exist unrar; then +- cmd=(istemp "unrar p -inul" "$2" "$file2") +- elif cmd_exist rar; then +- cmd=(istemp "rar p -inul" "$2" "$file2") +- fi ++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then ++ cmd=(bsdtar xOf "$2" "$file2") + elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then + cmd=(istemp "7za e -so" "$2" "$file2") + elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7zr; then +@@ -534,14 +530,9 @@ isfinal() { + elif [[ "$1" = *Zip* || "$1" = *ZIP* ]] && cmd_exist unzip; then + msg "use zip_file${sep}contained_file to view a file in the archive" + istemp "unzip -lv" "$2" +- elif [[ "$1" = *RAR\ archive* ]]; then +- if cmd_exist unrar; then +- msg "use rar_file${sep}contained_file to view a file in the archive" +- istemp "unrar v" "$2" +- elif cmd_exist rar; then +- msg "use rar_file${sep}contained_file to view a file in the archive" +- istemp "rar v" "$2" +- fi ++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then ++ msg "use rar_file${sep}contained_file to view a file in the archive" ++ bsdtar tf "$2" + elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then + typeset res + res=$(istemp "7za l" "$2") +diff --git a/lesspipe.sh.in b/lesspipe.sh.in +index 407bc7d..753f3c5 100755 +--- a/lesspipe.sh.in ++++ b/lesspipe.sh.in +@@ -323,17 +323,10 @@ get_cmd () { + elif [[ "$1" = *Zip* || "$1" = *ZIP* ]] && cmd_exist unzip; then + set -A cmd istemp "unzip -avp" "$2" "$file2" + #endif +-#ifdef unrar +- elif [[ "$1" = *RAR\ archive* ]]; then +- if cmd_exist unrar; then +- set -A cmd istemp "unrar p -inul" "$2" "$file2" +- elif cmd_exist rar; then +- set -A cmd istemp "rar p -inul" "$2" "$file2" +- fi +-#elif rar +- elif [[ "$1" = *RAR\ archive* ]] && cmd_exist rar; then +- set -A cmd istemp "rar p -inul" "$2" "$file2" +-#endif ++#ifdef bsdtar ++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then ++ set -A cmd bsdtar xOf "$2" "$file2" ++#endif + #ifdef 7za + elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then + set -A cmd istemp "7za e -so" "$2" "$file2" +@@ -705,19 +698,10 @@ isfinal() { + msg "use zip_file${sep}contained_file to view a file in the archive" + istemp "unzip -lv" "$2" + #endif +-#ifdef unrar +- elif [[ "$1" = *RAR\ archive* ]]; then +- if cmd_exist unrar; then +- msg "use rar_file${sep}contained_file to view a file in the archive" +- istemp "unrar v" "$2" +- elif cmd_exist rar; then +- msg "use rar_file${sep}contained_file to view a file in the archive" +- istemp "rar v" "$2" +- fi +-#elif rar +- elif [[ "$1" = *RAR\ archive* ]] && cmd_exist rar; then ++#ifdef bsdtar ++ elif [[ "$1" = *RAR\ archive* ]] && cmd_exist bsdtar; then + msg "use rar_file${sep}contained_file to view a file in the archive" +- istemp "rar v" "$2" ++ bsdtar tf "$2" + #endif + #ifdef 7za + elif [[ "$1" = *7-zip\ archive* || "$1" = *7z\ archive* ]] && cmd_exist 7za; then -- cgit v1.2.3 From 8a74ba04714d58746a48eea38d39a0e53de40be1 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 7 May 2014 21:53:00 -0300 Subject: xbmc-libre: remove deprecated file --- libre/xbmc-libre/ChangeLog | 69 ---------------------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 libre/xbmc-libre/ChangeLog diff --git a/libre/xbmc-libre/ChangeLog b/libre/xbmc-libre/ChangeLog deleted file mode 100644 index 66ae97e3b..000000000 --- a/libre/xbmc-libre/ChangeLog +++ /dev/null @@ -1,69 +0,0 @@ -2010-04-10 BlackEagle - * 9.11-15 : - Made it back compliant with FHS ( thx pierre for pointing that out ) - namcap checked and modified to fit its needs as far as it was possible - -2009-03-07 [vEX] - - * 8.10-10 : - Try and fix some autoconf issues (thanks Gentoo ebuild). - -2009-02-08 [vEX] - - * 8.10-9 : - Replace some libtool 'ltmain.sh' scripts with the one from libtool - installed with Arch. - Make sure XBMCTex isn't linked to OpenGL libraries or it will segfault - on systems using the nvidia driver. - -2009-01-30 [vEX] - - * 8.10-8 : - Fix some include's so that gcc 4.3.x is happy, shouldn't complain about - undefined '::realloc' anymore. - Remove Mac OS X specific files. - -2009-01-25 [vEX] - - * 8.10-7 : - Moved libcdio, pmount, smbclient and unrar to optdepends. - Removed unneeded dependency on sdl_gfx. - Removed dependency on libpng as sdl_image depends on it. - -2008-12-14 [vEX] - - * 8.10-6 : - Added libpng to dependency list. - Added gawk to dependency list. - Removed '--disable-mms' and '--enable-halmount' configure flags as they - are not mentioned as supported in the configure script. - -2008-12-06 [vEX] - - * 8.10-5 : - Added libmad to the dependency list. - Streamripper 1.64.0+ does not include tre anymore, removed streamripper - and added tre instead. - Removed subversion from makedepends. - -2008-12-06 [vEX] - - * 8.10-4 : - Fix permissions for some more scripts, ffmpeg/texi2doc.pl should not - fail any longer. - -2008-12-05 [vEX] - - * 8.10-3 : - Added lirc to the optdepends array. - -2008-11-26 [vEX] - - * 8.10-2 : - Added install file which informs users that a display depth of at - least 24-bit is required. - -2008-11-17 [vEX] - - * 8.10-1 : - Initial package, based on previous work by Zeqadious. -- cgit v1.2.3 From 7a0427b60bcee5b904ee5d48438e793f1c77777f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 7 May 2014 21:54:23 -0300 Subject: xbmc-libre-13.0-2: add new version of this package (Gotham) to [libre-testing] because it is unstable with some addons --- libre-testing/xbmc-libre/PKGBUILD | 139 +++++++++++++++++++++ .../xbmc-libre/enable-external-ffmpeg.patch | 100 +++++++++++++++ libre-testing/xbmc-libre/polkit.rules | 12 ++ libre-testing/xbmc-libre/xbmc.install | 19 +++ libre-testing/xbmc-libre/xbmc.service | 16 +++ 5 files changed, 286 insertions(+) create mode 100644 libre-testing/xbmc-libre/PKGBUILD create mode 100644 libre-testing/xbmc-libre/enable-external-ffmpeg.patch create mode 100644 libre-testing/xbmc-libre/polkit.rules create mode 100644 libre-testing/xbmc-libre/xbmc.install create mode 100644 libre-testing/xbmc-libre/xbmc.service diff --git a/libre-testing/xbmc-libre/PKGBUILD b/libre-testing/xbmc-libre/PKGBUILD new file mode 100644 index 000000000..f3931a11d --- /dev/null +++ b/libre-testing/xbmc-libre/PKGBUILD @@ -0,0 +1,139 @@ +# $Id: PKGBUILD 110797 2014-05-07 10:38:28Z bpiotrowski $ +# Maintainer: Sergej Pupykin +# Contributor: Brad Fanella +# Contributor: [vEX] +# Contributor: Zeqadious +# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Maintainer (Parabola): André Silva + +_prefix=/usr + +_pkgname=xbmc +pkgname=xbmc-libre +pkgver=13.0 +_codename=Gotham +pkgrel=2 +pkgdesc="A software media player and entertainment hub for digital media, without nonfree addons and unrar support" +arch=('i686' 'x86_64') +url="http://xbmc.org" +license=('GPL' 'custom') +replaces=$_pkgname +conflicts=$_pkgname +provides=$_pkgname=$pkgver +depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' + 'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate' + 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' + 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' + 'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' + 'avahi' 'bluez-libs' 'tinyxml' 'libcap' 'swig' 'taglib' 'libpulse' + 'java-runtime-headless' 'glu' 'mesa' 'shairplay' 'libxslt' 'ffmpeg') +makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' + 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') +optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' + 'lirc: remote controller support' + 'udisks: automount external drives' + 'upower: used to trigger power management functionality' + 'xorg-xinit: autostart xbmc' + 'pulseaudio: for pulseaudio support') +install="${_pkgname}.install" +mksource=( + "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/13.0-Gotham.tar.gz" + ) +source=( + "https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" + "xbmc.service" + "polkit.rules" + "enable-external-ffmpeg.patch" + ) +mkmd5sums=('54fafd985b5209859ba6faeb50b8f142') +md5sums=('87083f6d9be2861dfc8bddca959e3880' + 'de331663cc8adc94f2fe44a262cfff58' + '02f7951824ee13103344f36009c0ef2a' + '9f9b41cfc1e21b1e7d0bb10d6e85b3c6') + +mksource() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + msg2 "remove nonfree unRAR utility files from the source" + rm -rv lib/UnrarXLib +} + +prepare() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + patch -p1 -i ../enable-external-ffmpeg.patch + + msg2 "Use addons.xml from Parabola server (without nonfree addons support)" + sed -i -e 's|mirrors[.]xbmc[.]org/addons/gotham/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/gotham/addons.xml|' addons/repository.xbmc.org/addon.xml +} + +build() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + # Bootstrapping XBMC + ./bootstrap + + # Configuring XBMC + export PYTHON_VERSION=2 # external python v2 + ./configure --prefix=$_prefix --exec-prefix=$_prefix \ + --disable-debug \ + --enable-optimizations \ + --enable-gl \ + --enable-sdl \ + --enable-vaapi \ + --enable-vdpau \ + --enable-xvba \ + --enable-joystick \ + --enable-xrandr \ + --enable-rsxs \ + --enable-projectm \ + --enable-x11 \ + --enable-rtmp \ + --enable-samba \ + --enable-nfs \ + --enable-afpclient \ + --enable-airplay \ + --enable-airtunes \ + --enable-ffmpeg-libvorbis \ + --enable-dvdcss \ + --disable-hal \ + --enable-avahi \ + --enable-webserver \ + --enable-optical-drive \ + --enable-libbluray \ + --enable-texturepacker \ + --enable-udev \ + --enable-libusb \ + --enable-libcec \ + --enable-external-libraries \ + --disable-non-free + + # Now (finally) build + make +} + +package() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + # Running make install + make DESTDIR="${pkgdir}" install + + # run feh with python2 + sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc + + # Tools + msg2 "Tools" + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" + + # Licenses + msg2 "Copy licenses" + install -dm755 ${pkgdir}${_prefix}/share/licenses/${_pkgname} + for licensef in LICENSE.GPL copying.txt; do + mv ${pkgdir}${_prefix}/share/doc/xbmc/${licensef} \ + ${pkgdir}${_prefix}/share/licenses/${_pkgname} + done + + # install systemd service + install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service + install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-xbmc.rules +} +# vim:set ts=2 sw=2 et: diff --git a/libre-testing/xbmc-libre/enable-external-ffmpeg.patch b/libre-testing/xbmc-libre/enable-external-ffmpeg.patch new file mode 100644 index 000000000..2bc1aaf03 --- /dev/null +++ b/libre-testing/xbmc-libre/enable-external-ffmpeg.patch @@ -0,0 +1,100 @@ +diff -rupN a/configure.in b/configure.in +--- a/configure.in 2014-05-03 21:03:25.000000000 +0000 ++++ b/configure.in 2014-05-07 09:56:30.039177391 +0000 +@@ -600,7 +600,7 @@ PKG_PROG_PKG_CONFIG + MAKE="${MAKE:-make}" + OBJDUMP="${OBJDUMP:-objdump}" + +-use_external_ffmpeg=no ++use_external_ffmpeg=yes + use_static_ffmpeg=no + + # ffmpeg needs the output of uname -s (e.x. linux, darwin) for the target_os +@@ -632,7 +632,7 @@ case $host in + use_arch="x86" + use_cpu="i686" + fi +- use_static_ffmpeg=yes ++ use_static_ffmpeg=no + ;; + x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*) + ARCH="x86_64-linux" +@@ -640,7 +640,7 @@ case $host in + use_arch="x86_64" + use_cpu="x86_64" + fi +- use_static_ffmpeg=yes ++ use_static_ffmpeg=no + ;; + i386-*-freebsd*) + ARCH="x86-freebsd" +@@ -696,7 +696,7 @@ case $host in + use_sdl=no + use_x11=no + use_wayland=no +- use_static_ffmpeg=yes ++ use_static_ffmpeg=no + ;; + arm*-*linux-android*) + target_platform=target_android +diff -rupN a/lib/DllAvCodec.h b/lib/DllAvCodec.h +--- a/lib/DllAvCodec.h 2014-05-03 21:03:25.000000000 +0000 ++++ b/lib/DllAvCodec.h 2014-05-07 10:10:06.298165915 +0000 +@@ -43,6 +43,7 @@ extern "C" { + + #if (defined USE_EXTERNAL_FFMPEG) + #include ++ #include + #else + #include "libavcodec/avcodec.h" + #endif +diff -rupN a/lib/DllAvUtil.h b/lib/DllAvUtil.h +--- a/lib/DllAvUtil.h 2014-05-03 21:03:25.000000000 +0000 ++++ b/lib/DllAvUtil.h 2014-05-07 10:17:31.415798448 +0000 +@@ -31,33 +31,19 @@ + #endif + + extern "C" { +-#if (defined USE_EXTERNAL_FFMPEG) +- #include +- // for av_get_default_channel_layout +- #include +- #include +- #include +- // for LIBAVCODEC_VERSION_INT: +- #include +- // for enum AVSampleFormat +- #include +- #include +- #include +- #include +- #if (defined USE_LIBAV_HACKS) +- #include "xbmc-libav-hacks/libav_hacks.h" +- #endif +-#else +- #include "libavutil/avutil.h" +- //for av_get_default_channel_layout +- #include "libavutil/audioconvert.h" +- #include "libavutil/crc.h" +- #include "libavutil/opt.h" +- #include "libavutil/mem.h" +- #include "libavutil/fifo.h" +- // for enum AVSampleFormat +- #include "libavutil/samplefmt.h" +-#endif ++#include ++#include ++// for av_get_default_channel_layout ++#include ++#include ++#include ++// for LIBAVCODEC_VERSION_INT: ++#include ++// for enum AVSampleFormat ++#include ++#include ++#include ++#include + } + + #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52,29,100) diff --git a/libre-testing/xbmc-libre/polkit.rules b/libre-testing/xbmc-libre/polkit.rules new file mode 100644 index 000000000..4b6d0fda0 --- /dev/null +++ b/libre-testing/xbmc-libre/polkit.rules @@ -0,0 +1,12 @@ +polkit.addRule(function(action, subject) { + if (subject.user == "xbmc") { + polkit.log("action=" + action); + polkit.log("subject=" + subject); + if (action.id.indexOf("org.freedesktop.login1.") == 0) { + return polkit.Result.YES; + } + if (action.id.indexOf("org.freedesktop.udisks.") == 0) { + return polkit.Result.YES; + } + } +}); diff --git a/libre-testing/xbmc-libre/xbmc.install b/libre-testing/xbmc-libre/xbmc.install new file mode 100644 index 000000000..8076fe2d3 --- /dev/null +++ b/libre-testing/xbmc-libre/xbmc.install @@ -0,0 +1,19 @@ +post_install() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent group xbmc > /dev/null || groupadd -r xbmc + getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc + usermod -a -G xbmc,audio,video,network,optical xbmc + mkdir -p var/lib/xbmc + chown -R xbmc:xbmc var/lib/xbmc +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent passwd xbmc > /dev/null && userdel xbmc +} diff --git a/libre-testing/xbmc-libre/xbmc.service b/libre-testing/xbmc-libre/xbmc.service new file mode 100644 index 000000000..d36ddb05a --- /dev/null +++ b/libre-testing/xbmc-libre/xbmc.service @@ -0,0 +1,16 @@ +[Unit] +Description = Starts instance of XBMC using xinit +After = systemd-user-sessions.service +Conflicts=getty@tty7.service + +[Service] +User = xbmc +Group = xbmc +PAMName=login +Type = simple +TTYPath=/dev/tty7 +ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7 +Restart = on-abort + +[Install] +WantedBy = multi-user.target -- cgit v1.2.3 From 08af35e317326a43085197e5c5cbb90fcc3ed868 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 01:14:28 -0300 Subject: linux-libre-lts-3.10.39-1: updating version --- libre/linux-libre-lts/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 8f9c93e9f..dc9477d16 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 211809 2014-04-27 10:54:17Z bpiotrowski $ +# $Id: PKGBUILD 212087 2014-05-06 15:55:48Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,10 +10,10 @@ pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=38 +_sublevel=39 pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.37 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.38 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -32,7 +32,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'criu-no-expert.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '747505f7c931179fe555b538e89d2300' + '0663686c1e5495b999a175aa7809ea92' '85ce008eaacbb2fc54b81116d35cf946' '16867e648e4b9f89bec949cb643888c2' 'c072b17032e80debc6a8626299245d46' @@ -41,7 +41,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' - '39023beb2a460755f4bd9d2c7d335c58') + 'e5ae030129ed128c61fe29b926476a19') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] -- cgit v1.2.3 From 348f07f3d759722b29765f21a519f8340e2a202e Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 01:14:53 -0300 Subject: linux-libre-lts-knock-3.10.39-1: updating version --- kernels/linux-libre-lts-knock/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD index 00dbceacd..221f808eb 100644 --- a/kernels/linux-libre-lts-knock/PKGBUILD +++ b/kernels/linux-libre-lts-knock/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 211809 2014-04-27 10:54:17Z bpiotrowski $ +# $Id: PKGBUILD 212087 2014-05-06 15:55:48Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,11 +10,11 @@ pkgbase=linux-libre-lts-knock # Build stock -LIBRE-LTS-KNOCK kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=38 +_sublevel=39 _knockpatchver=${_basekernel} pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.37 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.38 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="https://gnunet.org/knock" license=('GPL2') @@ -34,7 +34,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'criu-no-expert.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '747505f7c931179fe555b538e89d2300' + '0663686c1e5495b999a175aa7809ea92' '26380d6f05471ef8e065a77d87588009' 'f22e0a6a7634902f5a00eb25ad677c65' '6550ba0e23b7729cd9db2475bde8fac2' @@ -44,7 +44,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' - '39023beb2a460755f4bd9d2c7d335c58') + 'e5ae030129ed128c61fe29b926476a19') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] -- cgit v1.2.3 From e35a755e41dbe9b054844e9f184188239f600f08 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 06:18:07 -0300 Subject: gnome-boxes-libre: move from [pcr] to [libre] --- libre/gnome-boxes-libre/PKGBUILD | 48 ++++++++++++++++++++ libre/gnome-boxes-libre/gnome-boxes.install | 12 +++++ libre/gnome-boxes-libre/libre.patch | 69 +++++++++++++++++++++++++++++ pcr/gnome-boxes-libre/PKGBUILD | 44 ------------------ pcr/gnome-boxes-libre/free-distros.patch | 11 ----- pcr/gnome-boxes-libre/gnome-boxes.install | 17 ------- pcr/gnome-boxes-libre/logos.patch | 39 ---------------- 7 files changed, 129 insertions(+), 111 deletions(-) create mode 100644 libre/gnome-boxes-libre/PKGBUILD create mode 100644 libre/gnome-boxes-libre/gnome-boxes.install create mode 100644 libre/gnome-boxes-libre/libre.patch delete mode 100644 pcr/gnome-boxes-libre/PKGBUILD delete mode 100644 pcr/gnome-boxes-libre/free-distros.patch delete mode 100644 pcr/gnome-boxes-libre/gnome-boxes.install delete mode 100644 pcr/gnome-boxes-libre/logos.patch diff --git a/libre/gnome-boxes-libre/PKGBUILD b/libre/gnome-boxes-libre/PKGBUILD new file mode 100644 index 000000000..2fb7377d7 --- /dev/null +++ b/libre/gnome-boxes-libre/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 109557 2014-04-15 23:23:01Z bgyorgy $ +# Maintainer: Balló György +# Contributor: Stefano Facchini +# Maintainer (Parabola): André Silva +# Contributor (Parabola): Daniel Milewski + +_pkgname=gnome-boxes +pkgname=gnome-libre +pkgver=3.12.1 +pkgrel=1 +pkgdesc="Simple GNOME 3 application to access remote or virtual systems, without nonfree system logos" +arch=('i686' 'x86_64') +url="https://wiki.gnome.org/Apps/Boxes" +license=('LGPL') +provides=$_pkgname=$pkgver +conflicts=$_pkgname +replaces=$_pkgname +depends=('clutter-gtk' 'gtk-vnc' 'libosinfo' 'libsoup' 'libvirt-glib' 'spice-gtk3' + 'libtracker-sparql' 'qemu' 'cdrkit' 'libcdio' 'mtools' 'dconf' + 'gnome-icon-theme' 'gnome-themes-standard') +makedepends=('gobject-introspection' 'intltool' 'itstool' 'spice-protocol' 'vala') +install=$_pkgname.install +source=(http://ftp.gnome.org/pub/GNOME/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz + libre.patch) +sha256sums=('b5e27756a9c485ce2dea3f8eae867b6c7be70862b16cc44f9b55d86dd633bb83' + '2a93935ba94b9f327645a92f11d1a3d23cbeab8e5c800e414c6762181f51d4c0') + +prepare() { + cd $_pkgname-$pkgver + + patch -Np1 -i "$srcdir/libre.patch" + + cd help/es + intltool-update es.po + msgattrib --no-obsolete -o es.po es.po +} + +build() { + cd $_pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$_pkgname \ + --disable-static --disable-schemas-compile --enable-smartcard + make +} + +package() { + cd $_pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/libre/gnome-boxes-libre/gnome-boxes.install b/libre/gnome-boxes-libre/gnome-boxes.install new file mode 100644 index 000000000..c0ed9a0d7 --- /dev/null +++ b/libre/gnome-boxes-libre/gnome-boxes.install @@ -0,0 +1,12 @@ +post_install() { + glib-compile-schemas usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre/gnome-boxes-libre/libre.patch b/libre/gnome-boxes-libre/libre.patch new file mode 100644 index 000000000..0caf82691 --- /dev/null +++ b/libre/gnome-boxes-libre/libre.patch @@ -0,0 +1,69 @@ +diff -Nur gnome-boxes-3.12.1.orig/data/gnome-boxes-logos-db.xml gnome-boxes-3.12.1/data/gnome-boxes-logos-db.xml +--- gnome-boxes-3.12.1.orig/data/gnome-boxes-logos-db.xml 2014-03-18 14:33:22.000000000 +0100 ++++ gnome-boxes-3.12.1/data/gnome-boxes-logos-db.xml 2014-04-27 22:40:15.543230347 +0200 +@@ -2,40 +2,4 @@ + + + +- +- http://www.debian.org/logos/openlogo-nd.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/fedora.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/opensuse.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/ubuntu.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/gnome-logo.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/shadownman-pill.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/shadownman-pill.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/shadownman-pill.svg +- +- +- +- http://people.gnome.org/~zeeshanak/logos/shadownman-pill.svg +- +- + +diff -Nur gnome-boxes-3.12.1.orig/help/C/why-do-i-need-virtual-machine.page gnome-boxes-3.12.1/help/C/why-do-i-need-virtual-machine.page +--- gnome-boxes-3.12.1.orig/help/C/why-do-i-need-virtual-machine.page 2014-03-25 12:30:55.000000000 -0300 ++++ gnome-boxes-3.12.1/help/C/why-do-i-need-virtual-machine.page 2014-05-08 03:25:21.826398198 -0300 +@@ -27,8 +27,7 @@ + Why do I need a virtual machine? + +

    A virtual machine can be useful when you need to run applications that will +- only run on another operating system, on Microsoft Windows™ for instance. A +- virtual machine can also be used during software development, to test in a +- pristine environment.

    ++ only run on another operating system. A virtual machine can also be used during ++ software development, to test in a pristine environment.

    + + +diff -Nur gnome-boxes-3.12.1.orig/help/es/why-do-i-need-virtual-machine.page gnome-boxes-3.12.1/help/es/why-do-i-need-virtual-machine.page +--- gnome-boxes-3.12.1.orig/help/es/why-do-i-need-virtual-machine.page 2014-04-15 13:04:58.000000000 -0300 ++++ gnome-boxes-3.12.1/help/es/why-do-i-need-virtual-machine.page 2014-05-08 03:26:15.686908834 -0300 +@@ -30,6 +30,6 @@ + + ¿Para qué necesito una máquina virtual? + +-

    Una máquina virtual puede ser útil cuando necesita ejecutar aplicaciones que sólo funcionan en otro sistema operativo, por ejemplo en Microsoft Windows™. También puede usar una máquina virtual durante el desarrollo de un software, para probarlo en un entorno limpio.

    ++

    Una máquina virtual puede ser útil cuando necesita ejecutar aplicaciones que sólo funcionan en otro sistema operativo. También puede usar una máquina virtual durante el desarrollo de un software, para probarlo en un entorno limpio.

    + + diff --git a/pcr/gnome-boxes-libre/PKGBUILD b/pcr/gnome-boxes-libre/PKGBUILD deleted file mode 100644 index 91a3b41be..000000000 --- a/pcr/gnome-boxes-libre/PKGBUILD +++ /dev/null @@ -1,44 +0,0 @@ -# Contributor: Daniel Milewski - -_pkgname='gnome-boxes' -pkgname="$_pkgname-libre" -pkgver='3.10.2' -pkgrel='1' -pkgdesc='A simple GNOME 3 application to access remote or virtual systems, without nonfree system logos' -arch=('i686' 'x86_64') -url='https://wiki.gnome.org/Apps/Boxes' -license=('LGPL') -depends=('clutter-gtk' 'desktop-file-utils' 'gtk-vnc' 'libosinfo' 'libsoup' 'libtracker-sparql' 'libvirt-glib' - 'spice-gtk3') -makedepends=('gobject-introspection' 'intltool' 'itstool' 'spice-protocol' 'vala') -optdepends=('qemu-usbredir: virtual machines support') -provides=("$_pkgname=$pkgver") -conflicts=("$_pkgname") -replaces=("$_pkgname") -install='gnome-boxes.install' -source=("http://ftp.gnome.org/pub/GNOME/sources/$_pkgname/${pkgver:0:4}/$_pkgname-$pkgver.tar.xz" 'logos.patch' - 'free-distros.patch') -sha256sums=('9e055627cff5f59323bc95ad65ab361fc26328854d5a421bd09c899c466f2ec4' - '63d8a7fb5e0d6260d56bd92e9d11f39e9f37c323a261bc822a589b85f760b254' - '025e56fff5ae3659abc867ef1b5739a4632c91fa7f10d54d0853e9905355a15f') - -prepare() { - cd "$srcdir/$_pkgname-$pkgver" - - patch -Np1 -i "$srcdir/logos.patch" - - patch -Np1 -i "$srcdir/free-distros.patch" -} - -build() { - cd "$srcdir/$_pkgname-$pkgver" - - ./configure --prefix=/usr - make -} - -package() { - cd "$srcdir/$_pkgname-$pkgver" - - make DESTDIR="$pkgdir/" install -} diff --git a/pcr/gnome-boxes-libre/free-distros.patch b/pcr/gnome-boxes-libre/free-distros.patch deleted file mode 100644 index d83d2ca4b..000000000 --- a/pcr/gnome-boxes-libre/free-distros.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gnome-boxes-3.10.0/data/gnome-boxes-logos-db.xml.original 2013-11-23 13:26:20.013010981 +0100 -+++ gnome-boxes-3.10.0/data/gnome-boxes-logos-db.xml 2013-11-23 14:29:33.237567173 +0100 -@@ -2,4 +2,8 @@ - - - -+ -+ https://projects.parabolagnulinux.org/artwork.git/plain/official-2013/optimized-text/logo.svg -+ -+ - diff --git a/pcr/gnome-boxes-libre/gnome-boxes.install b/pcr/gnome-boxes-libre/gnome-boxes.install deleted file mode 100644 index 2ceb2ac08..000000000 --- a/pcr/gnome-boxes-libre/gnome-boxes.install +++ /dev/null @@ -1,17 +0,0 @@ -update() { - glib-compile-schemas /usr/share/glib-2.0/schemas - update-desktop-database -q - gtk-update-icon-cache -f -q -t /usr/share/icons/hicolor -} - -post_install() { - update -} - -post_upgrade() { - update -} - -post_remove() { - update -} diff --git a/pcr/gnome-boxes-libre/logos.patch b/pcr/gnome-boxes-libre/logos.patch deleted file mode 100644 index 6fe80a2eb..000000000 --- a/pcr/gnome-boxes-libre/logos.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- gnome-boxes-3.10.0/data/gnome-boxes-logos-db.xml.original 2013-11-16 22:30:08.198540527 +0100 -+++ gnome-boxes-3.10.0/data/gnome-boxes-logos-db.xml 2013-11-16 22:30:12.135269885 +0100 -@@ -2,36 +2,4 @@ - - - -- -- http://www.debian.org/logos/openlogo-nd.svg -- -- -- -- http://people.gnome.org/~zeeshanak/logos/fedora.svg -- -- -- -- http://people.gnome.org/~zeeshanak/logos/opensuse.svg -- -- -- -- http://people.gnome.org/~zeeshanak/logos/ubuntu.svg -- -- -- -- http://people.gnome.org/~zeeshanak/logos/gnome-logo.svg -- -- -- -- http://people.gnome.org/~zeeshanak/logos/shadownman-pill.svg -- -- -- -- http://people.gnome.org/~zeeshanak/logos/shadownman-pill.svg -- -- -- -- http://people.gnome.org/~zeeshanak/logos/shadownman-pill.svg -- -- - -- cgit v1.2.3 From af577286f512591b4eea5073aeb148432c5f730d Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 06:19:56 -0300 Subject: libosinfo-libre: move from [pcr] to [libre] --- libre/libosinfo-libre/PKGBUILD | 62 ++++++++ libre/libosinfo-libre/libre.patch | 272 +++++++++++++++++++++++++++++++++ pcr/libosinfo-libre/PKGBUILD | 63 -------- pcr/libosinfo-libre/data.patch | 137 ----------------- pcr/libosinfo-libre/free-distros.patch | 123 --------------- pcr/libosinfo-libre/po.patch | 34 ----- pcr/libosinfo-libre/test.patch | 87 ----------- 7 files changed, 334 insertions(+), 444 deletions(-) create mode 100644 libre/libosinfo-libre/PKGBUILD create mode 100644 libre/libosinfo-libre/libre.patch delete mode 100644 pcr/libosinfo-libre/PKGBUILD delete mode 100644 pcr/libosinfo-libre/data.patch delete mode 100644 pcr/libosinfo-libre/free-distros.patch delete mode 100644 pcr/libosinfo-libre/po.patch delete mode 100644 pcr/libosinfo-libre/test.patch diff --git a/libre/libosinfo-libre/PKGBUILD b/libre/libosinfo-libre/PKGBUILD new file mode 100644 index 000000000..d78c9d595 --- /dev/null +++ b/libre/libosinfo-libre/PKGBUILD @@ -0,0 +1,62 @@ +# $Id: PKGBUILD 109557 2014-04-15 23:23:01Z bgyorgy $ +# Maintainer: Balló György +# Contributor: Stefano Facchini +# Maintainer (Parabola): André Silva +# Contributor: Daniel Milewski + +_pkgname=libosinfo +pkgname=libosinfo-libre +pkgver=0.2.10 +pkgrel=2 +pkgdesc="GObject based library API for managing information about operating systems, hypervisors and the (virtual) hardware devices they can support, without support for nonfree systems" +arch=('i686' 'x86_64') +url="http://libosinfo.org/" +license=('GPL' 'LGPL') +depends=('glib2' 'libxslt') +makedepends=('check' 'gobject-introspection' 'intltool' 'libsoup' 'vala') +provides=$_pkgname=$pkgver +conflicts=$_pkgname +replaces=$_pkgname +options=('!libtool') +source=(https://fedorahosted.org/releases/l/i/$_pkgname/$_pkgname-$pkgver.tar.gz + libre.patch) +sha256sums=('564bd487a39dc09a10917c1d7a95f739ee7701d9cd0fbabcacea64f615e20a2d' + '46d1c192f3730b5b02a52140a8f1abbacd6d41968c29cec9205f0cec77336a17') + +prepare() { + cd $_pkgname-$pkgver + + rm data/datamaps/windows-lang.xml \ + data/hypervisors/rhel-xen.xml{,.in} \ + data/install-scripts/*.xml \ + data/oses/*.xml{,.in} + rm -r test/isodata/* + + patch -Np1 -i ../libre.patch + + cd po + for file in *.po; do + intltool-update ${file%.*} + msgattrib --no-obsolete -o $file $file + done +} + +build() { + cd $_pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --enable-udev \ + --with-udev-rulesdir=/usr/lib/udev/rules.d \ + --with-usb-ids-path=/usr/share/hwdata/usb.ids \ + --with-pci-ids-path=/usr/share/hwdata/pci.ids + make +} + +check() { + cd $_pkgname-$pkgver + make check +} + +package() { + cd $_pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/libre/libosinfo-libre/libre.patch b/libre/libosinfo-libre/libre.patch new file mode 100644 index 000000000..50213db8b --- /dev/null +++ b/libre/libosinfo-libre/libre.patch @@ -0,0 +1,272 @@ +diff -ruN libosinfo-0.2.10/data/datamaps/Makefile.am libosinfo-0.2.10-libre/data/datamaps/Makefile.am +--- libosinfo-0.2.10/data/datamaps/Makefile.am 2013-11-21 16:58:04.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/datamaps/Makefile.am 2014-04-27 16:45:16.440167522 +0200 +@@ -1,7 +1,6 @@ + + datamapdir = $(pkgdatadir)/db/datamaps/ + datamap_DATA = \ +- windows-lang.xml \ + x11-keyboard.xml \ + $(NULL) + +diff -ruN libosinfo-0.2.10/data/datamaps/Makefile.in libosinfo-0.2.10-libre/data/datamaps/Makefile.in +--- libosinfo-0.2.10/data/datamaps/Makefile.in 2014-03-20 18:52:11.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/datamaps/Makefile.in 2014-04-27 16:45:39.787204801 +0200 +@@ -331,7 +331,6 @@ + top_srcdir = @top_srcdir@ + datamapdir = $(pkgdatadir)/db/datamaps/ + datamap_DATA = \ +- windows-lang.xml \ + x11-keyboard.xml \ + $(NULL) + +diff -ruN libosinfo-0.2.10/data/hypervisors/Makefile.am libosinfo-0.2.10-libre/data/hypervisors/Makefile.am +--- libosinfo-0.2.10/data/hypervisors/Makefile.am 2013-11-21 16:58:04.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/hypervisors/Makefile.am 2014-04-27 16:51:11.999126605 +0200 +@@ -1,6 +1,6 @@ + + databasedir = $(pkgdatadir)/db/hypervisors/ +-database_in_files = kvm.xml.in qemu.xml.in rhel-xen.xml.in xen.xml.in ++database_in_files = kvm.xml.in qemu.xml.in xen.xml.in + + database_DATA = $(database_in_files:.xml.in=.xml) + +diff -ruN libosinfo-0.2.10/data/hypervisors/Makefile.in libosinfo-0.2.10-libre/data/hypervisors/Makefile.in +--- libosinfo-0.2.10/data/hypervisors/Makefile.in 2014-03-20 18:52:11.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/hypervisors/Makefile.in 2014-04-27 16:51:25.042665608 +0200 +@@ -330,7 +330,7 @@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + databasedir = $(pkgdatadir)/db/hypervisors/ +-database_in_files = kvm.xml.in qemu.xml.in rhel-xen.xml.in xen.xml.in ++database_in_files = kvm.xml.in qemu.xml.in xen.xml.in + database_DATA = $(database_in_files:.xml.in=.xml) + EXTRA_DIST = $(database_in_files) $(database_DATA) + all: all-am +diff -ruN libosinfo-0.2.10/data/install-scripts/Makefile.am libosinfo-0.2.10-libre/data/install-scripts/Makefile.am +--- libosinfo-0.2.10/data/install-scripts/Makefile.am 2014-03-06 22:42:00.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/install-scripts/Makefile.am 2014-04-27 16:57:22.658340718 +0200 +@@ -1,14 +1,6 @@ + + databasedir = $(pkgdatadir)/db/install-scripts/ + database_DATA = \ +- debian.xml \ +- fedora.xml \ +- rhel.xml \ +- ubuntu.xml \ +- windows-sif.xml \ +- windows-cmd.xml \ +- windows-reg.xml \ +- windows-unattend.xml \ + $(NULL) + + EXTRA_DIST = $(database_DATA) +diff -ruN libosinfo-0.2.10/data/install-scripts/Makefile.in libosinfo-0.2.10-libre/data/install-scripts/Makefile.in +--- libosinfo-0.2.10/data/install-scripts/Makefile.in 2014-03-20 18:52:11.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/install-scripts/Makefile.in 2014-04-27 16:57:57.302215753 +0200 +@@ -331,14 +331,6 @@ + top_srcdir = @top_srcdir@ + databasedir = $(pkgdatadir)/db/install-scripts/ + database_DATA = \ +- debian.xml \ +- fedora.xml \ +- rhel.xml \ +- ubuntu.xml \ +- windows-sif.xml \ +- windows-cmd.xml \ +- windows-reg.xml \ +- windows-unattend.xml \ + $(NULL) + + EXTRA_DIST = $(database_DATA) +diff -ruN libosinfo-0.2.10/data/oses/Makefile.am libosinfo-0.2.10-libre/data/oses/Makefile.am +--- libosinfo-0.2.10/data/oses/Makefile.am 2014-02-21 15:14:17.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/oses/Makefile.am 2014-04-27 17:04:12.968082285 +0200 +@@ -1,27 +1,6 @@ + + databasedir = $(pkgdatadir)/db/oses/ + database_in_files = \ +- altlinux.xml.in \ +- centos.xml.in \ +- debian.xml.in \ +- dos.xml.in \ +- fedora.xml.in \ +- freebsd.xml.in \ +- gnome.xml.in \ +- mageia.xml.in \ +- mandriva.xml.in \ +- mandrake.xml.in \ +- netbsd.xml.in \ +- netware.xml.in \ +- macos.xml.in \ +- openbsd.xml.in \ +- opensuse.xml.in \ +- rhl.xml.in \ +- rhel.xml.in \ +- solaris.xml.in \ +- suse.xml.in \ +- ubuntu.xml.in \ +- windows.xml.in \ + $(NULL) + + database_DATA = $(database_in_files:.xml.in=.xml) +diff -ruN libosinfo-0.2.10/data/oses/Makefile.in libosinfo-0.2.10-libre/data/oses/Makefile.in +--- libosinfo-0.2.10/data/oses/Makefile.in 2014-03-20 18:52:11.000000000 +0100 ++++ libosinfo-0.2.10-libre/data/oses/Makefile.in 2014-04-27 17:05:17.082415532 +0200 +@@ -331,27 +331,6 @@ + top_srcdir = @top_srcdir@ + databasedir = $(pkgdatadir)/db/oses/ + database_in_files = \ +- altlinux.xml.in \ +- centos.xml.in \ +- debian.xml.in \ +- dos.xml.in \ +- fedora.xml.in \ +- freebsd.xml.in \ +- gnome.xml.in \ +- mageia.xml.in \ +- mandriva.xml.in \ +- mandrake.xml.in \ +- netbsd.xml.in \ +- netware.xml.in \ +- macos.xml.in \ +- openbsd.xml.in \ +- opensuse.xml.in \ +- rhl.xml.in \ +- rhel.xml.in \ +- solaris.xml.in \ +- suse.xml.in \ +- ubuntu.xml.in \ +- windows.xml.in \ + $(NULL) + + database_DATA = $(database_in_files:.xml.in=.xml) +diff -ruN libosinfo-0.2.10/po/POTFILES.in libosinfo-0.2.10-libre/po/POTFILES.in +--- libosinfo-0.2.10/po/POTFILES.in 2014-02-21 15:14:17.000000000 +0100 ++++ libosinfo-0.2.10-libre/po/POTFILES.in 2014-04-27 17:09:40.876525788 +0200 +@@ -1,31 +1,9 @@ +-data/oses/netware.xml.in +-data/oses/solaris.xml.in +-data/oses/dos.xml.in +-data/oses/mageia.xml.in +-data/oses/mandrake.xml.in +-data/oses/mandriva.xml.in +-data/oses/suse.xml.in +-data/oses/gnome.xml.in +-data/oses/rhel.xml.in +-data/oses/fedora.xml.in +-data/oses/windows.xml.in +-data/oses/opensuse.xml.in +-data/oses/macos.xml.in +-data/oses/debian.xml.in +-data/oses/ubuntu.xml.in +-data/oses/centos.xml.in +-data/oses/openbsd.xml.in +-data/oses/freebsd.xml.in +-data/oses/rhl.xml.in +-data/oses/netbsd.xml.in +-data/oses/altlinux.xml.in + data/devices/qemu-ps2.xml.in + data/devices/qemu-pci.xml.in + data/devices/virtio-pci.xml.in + data/devices/qemu-usb.xml.in + data/hypervisors/kvm.xml.in + data/hypervisors/qemu.xml.in +-data/hypervisors/rhel-xen.xml.in + data/hypervisors/xen.xml.in + osinfo/osinfo_avatar_format.c + osinfo/osinfo_deployment.c +diff -ruN libosinfo-0.2.10/test/test-isodetect.c libosinfo-0.2.10-libre/test/test-isodetect.c +--- libosinfo-0.2.10/test/test-isodetect.c 2014-02-21 15:14:17.000000000 +0100 ++++ libosinfo-0.2.10-libre/test/test-isodetect.c 2014-04-27 16:27:40.353497937 +0200 +@@ -342,72 +342,6 @@ + g_object_unref(loader); + } + +-START_TEST(test_fedora) +-{ +- test_one("fedora"); +-} +-END_TEST +- +-START_TEST(test_rhel) +-{ +- test_one("rhel"); +-} +-END_TEST +- +-START_TEST(test_ubuntu) +-{ +- test_one("ubuntu"); +-} +-END_TEST +- +-START_TEST(test_debian) +-{ +- test_one("debian"); +-} +-END_TEST +- +-START_TEST(test_windows) +-{ +- test_one("windows"); +-} +-END_TEST +- +-START_TEST(test_openbsd) +-{ +- test_one("openbsd"); +-} +-END_TEST +- +-START_TEST(test_opensuse) +-{ +- test_one("opensuse"); +-} +-END_TEST +- +-START_TEST(test_centos) +-{ +- test_one("centos"); +-} +-END_TEST +- +-START_TEST(test_gnome) +-{ +- test_one("gnome"); +-} +-END_TEST +- +-START_TEST(test_altlinux) +-{ +- test_one("altlinux"); +-} +-END_TEST +- +-START_TEST(test_mageia) +-{ +- test_one("mageia"); +-} +-END_TEST +- + static Suite * + list_suite(void) + { +@@ -415,17 +349,6 @@ + TCase *tc = tcase_create("Core"); + tcase_set_timeout(tc, 20); + +- tcase_add_test(tc, test_fedora); +- tcase_add_test(tc, test_rhel); +- tcase_add_test(tc, test_ubuntu); +- tcase_add_test(tc, test_debian); +- tcase_add_test(tc, test_windows); +- tcase_add_test(tc, test_openbsd); +- tcase_add_test(tc, test_opensuse); +- tcase_add_test(tc, test_centos); +- tcase_add_test(tc, test_gnome); +- tcase_add_test(tc, test_altlinux); +- tcase_add_test(tc, test_mageia); + suite_add_tcase(s, tc); + return s; + } diff --git a/pcr/libosinfo-libre/PKGBUILD b/pcr/libosinfo-libre/PKGBUILD deleted file mode 100644 index 8400558c0..000000000 --- a/pcr/libosinfo-libre/PKGBUILD +++ /dev/null @@ -1,63 +0,0 @@ -# Contributor: Daniel Milewski - -_pkgname='libosinfo' -pkgname="$_pkgname-libre" -pkgver='0.2.8' -pkgrel='1' -pkgdesc='A GObject based library API for managing information about operating systems, hypervisors and the (virtual) hardware devices they can support, without support for nonfree systems' -arch=('i686' 'x86_64') -url='http://libosinfo.org' -license=('LGPL') -depends=('glib2' 'libxslt') -makedepends=('intltool' 'libsoup') -checkdepends=('check') -provides=("$_pkgname=$pkgver") -conflicts=("$_pkgname") -replaces=("$_pkgname") -source=("https://fedorahosted.org/releases/l/i/$_pkgname/$_pkgname-$pkgver.tar.gz" 'data.patch' 'po.patch' 'test.patch' - 'free-distros.patch') -sha256sums=('50cbfcff4548f37b5b7d3328cbc6e96fe6c2a48696e31eec0c819d161e38c643' - 'fdfb0753a7cf7865ac2ea5b17145f90d27d70e18c69fba0d60dfb43629ea0dac' - 'aab885d2b3a7f91a79efd7ab6f12fe1d4b264afa0fbc200268838b353600b338' - 'c4b328f36973931abd71a10a62ec590ef3ba1177486179bc96aa47a22a6d0a42' - 'f4b79c44ae4a39325480c2b0af4aa7ed086cc1cab7c9ba1119f50967a9a5f4ca') - -prepare() { - cd "$srcdir/$_pkgname-$pkgver" - - rm data/datamaps/windows-lang.xml \ - data/hypervisors/rhel-xen.xml{,.in} \ - data/install-scripts/*.xml \ - data/oses/*.xml{,.in} - rm -r test/isodata/* - - patch -Np1 -i "$srcdir/data.patch" - patch -Np1 -i "$srcdir/po.patch" - patch -Np1 -i "$srcdir/test.patch" - - cd "$srcdir/$_pkgname-$pkgver/po" - intltool-update pl - intltool-update uk - cd "$srcdir/$_pkgname-$pkgver" - - patch -Np1 -i "$srcdir/free-distros.patch" -} - -build() { - cd "$srcdir/$_pkgname-$pkgver" - - ./configure --prefix=/usr - make -} - -check() { - cd "$srcdir/$_pkgname-$pkgver" - - make -k check -} - -package() { - cd "$srcdir/$_pkgname-$pkgver" - - make DESTDIR="$pkgdir/" install -} diff --git a/pcr/libosinfo-libre/data.patch b/pcr/libosinfo-libre/data.patch deleted file mode 100644 index d37d30671..000000000 --- a/pcr/libosinfo-libre/data.patch +++ /dev/null @@ -1,137 +0,0 @@ -diff -ruN libosinfo-0.2.8/data/datamaps/Makefile.am libosinfo-0.2.8-libre/data/datamaps/Makefile.am ---- libosinfo-0.2.8/data/datamaps/Makefile.am 2013-01-09 00:01:25.000000000 +0100 -+++ libosinfo-0.2.8-libre/data/datamaps/Makefile.am 2013-12-01 12:15:00.261131308 +0100 -@@ -1,7 +1,6 @@ - - datamapdir = $(pkgdatadir)/db/datamaps/ - datamap_DATA = \ -- windows-lang.xml \ - x11-keyboard.xml \ - $(NULL) - -diff -ruN libosinfo-0.2.8/data/datamaps/Makefile.in libosinfo-0.2.8-libre/data/datamaps/Makefile.in ---- libosinfo-0.2.8/data/datamaps/Makefile.in 2013-09-16 18:45:26.000000000 +0200 -+++ libosinfo-0.2.8-libre/data/datamaps/Makefile.in 2013-12-01 12:15:07.561496625 +0100 -@@ -326,7 +326,6 @@ - top_srcdir = @top_srcdir@ - datamapdir = $(pkgdatadir)/db/datamaps/ - datamap_DATA = \ -- windows-lang.xml \ - x11-keyboard.xml \ - $(NULL) - -diff -ruN libosinfo-0.2.8/data/hypervisors/Makefile.am libosinfo-0.2.8-libre/data/hypervisors/Makefile.am ---- libosinfo-0.2.8/data/hypervisors/Makefile.am 2013-02-14 02:39:37.000000000 +0100 -+++ libosinfo-0.2.8-libre/data/hypervisors/Makefile.am 2013-12-01 12:18:54.718635301 +0100 -@@ -1,6 +1,6 @@ - - databasedir = $(pkgdatadir)/db/hypervisors/ --database_in_files = kvm.xml.in qemu.xml.in rhel-xen.xml.in xen.xml.in -+database_in_files = kvm.xml.in qemu.xml.in xen.xml.in - - database_DATA = $(database_in_files:.xml.in=.xml) - -diff -ruN libosinfo-0.2.8/data/hypervisors/Makefile.in libosinfo-0.2.8-libre/data/hypervisors/Makefile.in ---- libosinfo-0.2.8/data/hypervisors/Makefile.in 2013-09-16 18:45:26.000000000 +0200 -+++ libosinfo-0.2.8-libre/data/hypervisors/Makefile.in 2013-12-01 12:20:01.822560286 +0100 -@@ -325,7 +325,7 @@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - databasedir = $(pkgdatadir)/db/hypervisors/ --database_in_files = kvm.xml.in qemu.xml.in rhel-xen.xml.in xen.xml.in -+database_in_files = kvm.xml.in qemu.xml.in xen.xml.in - database_DATA = $(database_in_files:.xml.in=.xml) - EXTRA_DIST = $(database_in_files) $(database_DATA) - all: all-am -diff -ruN libosinfo-0.2.8/data/install-scripts/Makefile.am libosinfo-0.2.8-libre/data/install-scripts/Makefile.am ---- libosinfo-0.2.8/data/install-scripts/Makefile.am 2013-03-27 23:03:14.000000000 +0100 -+++ libosinfo-0.2.8-libre/data/install-scripts/Makefile.am 2013-12-01 12:24:10.160616083 +0100 -@@ -1,12 +1,6 @@ - - databasedir = $(pkgdatadir)/db/install-scripts/ - database_DATA = \ -- fedora.xml \ -- rhel.xml \ -- windows-sif.xml \ -- windows-cmd.xml \ -- windows-reg.xml \ -- windows-unattend.xml \ - $(NULL) - - EXTRA_DIST = $(database_DATA) -diff -ruN libosinfo-0.2.8/data/install-scripts/Makefile.in libosinfo-0.2.8-libre/data/install-scripts/Makefile.in ---- libosinfo-0.2.8/data/install-scripts/Makefile.in 2013-09-16 18:45:26.000000000 +0200 -+++ libosinfo-0.2.8-libre/data/install-scripts/Makefile.in 2013-12-01 12:24:20.500882542 +0100 -@@ -326,12 +326,6 @@ - top_srcdir = @top_srcdir@ - databasedir = $(pkgdatadir)/db/install-scripts/ - database_DATA = \ -- fedora.xml \ -- rhel.xml \ -- windows-sif.xml \ -- windows-cmd.xml \ -- windows-reg.xml \ -- windows-unattend.xml \ - $(NULL) - - EXTRA_DIST = $(database_DATA) -diff -ruN libosinfo-0.2.8/data/oses/Makefile.am libosinfo-0.2.8-libre/data/oses/Makefile.am ---- libosinfo-0.2.8/data/oses/Makefile.am 2013-09-10 15:22:50.000000000 +0200 -+++ libosinfo-0.2.8-libre/data/oses/Makefile.am 2013-12-01 12:26:24.797757509 +0100 -@@ -1,26 +1,6 @@ - - databasedir = $(pkgdatadir)/db/oses/ - database_in_files = \ -- altlinux.xml.in \ -- centos.xml.in \ -- debian.xml.in \ -- dos.xml.in \ -- fedora.xml.in \ -- freebsd.xml.in \ -- gnome.xml.in \ -- mandriva.xml.in \ -- mandrake.xml.in \ -- netbsd.xml.in \ -- netware.xml.in \ -- macos.xml.in \ -- openbsd.xml.in \ -- opensuse.xml.in \ -- rhl.xml.in \ -- rhel.xml.in \ -- solaris.xml.in \ -- suse.xml.in \ -- ubuntu.xml.in \ -- windows.xml.in \ - $(NULL) - - database_DATA = $(database_in_files:.xml.in=.xml) -diff -ruN libosinfo-0.2.8/data/oses/Makefile.in libosinfo-0.2.8-libre/data/oses/Makefile.in ---- libosinfo-0.2.8/data/oses/Makefile.in 2013-09-16 18:45:26.000000000 +0200 -+++ libosinfo-0.2.8-libre/data/oses/Makefile.in 2013-12-01 12:26:32.557686417 +0100 -@@ -326,26 +326,6 @@ - top_srcdir = @top_srcdir@ - databasedir = $(pkgdatadir)/db/oses/ - database_in_files = \ -- altlinux.xml.in \ -- centos.xml.in \ -- debian.xml.in \ -- dos.xml.in \ -- fedora.xml.in \ -- freebsd.xml.in \ -- gnome.xml.in \ -- mandriva.xml.in \ -- mandrake.xml.in \ -- netbsd.xml.in \ -- netware.xml.in \ -- macos.xml.in \ -- openbsd.xml.in \ -- opensuse.xml.in \ -- rhl.xml.in \ -- rhel.xml.in \ -- solaris.xml.in \ -- suse.xml.in \ -- ubuntu.xml.in \ -- windows.xml.in \ - $(NULL) - - database_DATA = $(database_in_files:.xml.in=.xml) diff --git a/pcr/libosinfo-libre/free-distros.patch b/pcr/libosinfo-libre/free-distros.patch deleted file mode 100644 index c69cd3fed..000000000 --- a/pcr/libosinfo-libre/free-distros.patch +++ /dev/null @@ -1,123 +0,0 @@ -diff -ruN libosinfo-0.2.8-libre/data/oses/Makefile.am libosinfo-0.2.8-libre-free-distros/data/oses/Makefile.am ---- libosinfo-0.2.8-libre/data/oses/Makefile.am 2013-12-01 13:14:07.267023100 +0100 -+++ libosinfo-0.2.8-libre-free-distros/data/oses/Makefile.am 2013-12-01 13:18:29.183029813 +0100 -@@ -1,6 +1,7 @@ - - databasedir = $(pkgdatadir)/db/oses/ - database_in_files = \ -+ parabola.xml.in \ - $(NULL) - - database_DATA = $(database_in_files:.xml.in=.xml) -diff -ruN libosinfo-0.2.8-libre/data/oses/Makefile.in libosinfo-0.2.8-libre-free-distros/data/oses/Makefile.in ---- libosinfo-0.2.8-libre/data/oses/Makefile.in 2013-12-01 13:14:07.267023100 +0100 -+++ libosinfo-0.2.8-libre-free-distros/data/oses/Makefile.in 2013-12-01 13:18:48.053708302 +0100 -@@ -326,6 +326,7 @@ - top_srcdir = @top_srcdir@ - databasedir = $(pkgdatadir)/db/oses/ - database_in_files = \ -+ parabola.xml.in \ - $(NULL) - - database_DATA = $(database_in_files:.xml.in=.xml) -diff -ruN libosinfo-0.2.8-libre/data/oses/parabola.xml libosinfo-0.2.8-libre-free-distros/data/oses/parabola.xml ---- libosinfo-0.2.8-libre/data/oses/parabola.xml 1970-01-01 01:00:00.000000000 +0100 -+++ libosinfo-0.2.8-libre-free-distros/data/oses/parabola.xml 2013-12-01 13:26:26.128660679 +0100 -@@ -0,0 +1,42 @@ -+ -+ -+ -+ -+ parabola -+ Parabola GNU/Linux-libre -+ Parabola Project -+ gnu/linux -+ -+ -+ -+ 1000000000 -+ 1 -+ 67108864 -+ 524288000 -+ -+ -+ 1000000000 -+ 67108864 -+ 524288000 -+ -+ -+ -+ -+ https://repo.parabolagnulinux.org/iso/2013.09.01/parabola-2013.09.01-dual.iso -+ -+ PARA_201309 -+ -+ parabola/boot/x86_64/vmlinuz -+ parabola/boot/x86_64/parabolaiso.img -+ -+ -+ https://repo.parabolagnulinux.org/iso/2013.09.01/parabola-2013.09.01-dual.iso -+ -+ PARA_201309 -+ -+ parabola/boot/i686/vmlinuz -+ parabola/boot/i686/parabolaiso.img -+ -+ -+ -+ -\ No newline at end of file -diff -ruN libosinfo-0.2.8-libre/data/oses/parabola.xml.in libosinfo-0.2.8-libre-free-distros/data/oses/parabola.xml.in ---- libosinfo-0.2.8-libre/data/oses/parabola.xml.in 1970-01-01 01:00:00.000000000 +0100 -+++ libosinfo-0.2.8-libre-free-distros/data/oses/parabola.xml.in 2013-12-01 13:17:12.086931332 +0100 -@@ -0,0 +1,42 @@ -+ -+ -+ -+ -+ parabola -+ <_name>Parabola GNU/Linux-libre -+ <_vendor>Parabola Project -+ gnu/linux -+ -+ -+ -+ 1000000000 -+ 1 -+ 67108864 -+ 524288000 -+ -+ -+ 1000000000 -+ 67108864 -+ 524288000 -+ -+ -+ -+ -+ https://repo.parabolagnulinux.org/iso/2013.09.01/parabola-2013.09.01-dual.iso -+ -+ PARA_201309 -+ -+ parabola/boot/x86_64/vmlinuz -+ parabola/boot/x86_64/parabolaiso.img -+ -+ -+ https://repo.parabolagnulinux.org/iso/2013.09.01/parabola-2013.09.01-dual.iso -+ -+ PARA_201309 -+ -+ parabola/boot/i686/vmlinuz -+ parabola/boot/i686/parabolaiso.img -+ -+ -+ -+ -diff -ruN libosinfo-0.2.8-libre/po/POTFILES.in libosinfo-0.2.8-libre-free-distros/po/POTFILES.in ---- libosinfo-0.2.8-libre/po/POTFILES.in 2013-12-01 13:14:10.297130169 +0100 -+++ libosinfo-0.2.8-libre-free-distros/po/POTFILES.in 2013-12-01 13:23:01.616209485 +0100 -@@ -1,3 +1,4 @@ -+data/oses/parabola.xml.in - data/devices/qemu-ps2.xml.in - data/devices/qemu-pci.xml.in - data/devices/virtio-pci.xml.in diff --git a/pcr/libosinfo-libre/po.patch b/pcr/libosinfo-libre/po.patch deleted file mode 100644 index abd11cb71..000000000 --- a/pcr/libosinfo-libre/po.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -ruN libosinfo-0.2.8/po/POTFILES.in libosinfo-0.2.8-libre/po/POTFILES.in ---- libosinfo-0.2.8/po/POTFILES.in 2013-09-10 15:22:50.000000000 +0200 -+++ libosinfo-0.2.8-libre/po/POTFILES.in 2013-12-01 11:54:50.441912252 +0100 -@@ -1,30 +1,9 @@ --data/oses/netware.xml.in --data/oses/solaris.xml.in --data/oses/dos.xml.in --data/oses/mandrake.xml.in --data/oses/mandriva.xml.in --data/oses/suse.xml.in --data/oses/gnome.xml.in --data/oses/rhel.xml.in --data/oses/fedora.xml.in --data/oses/windows.xml.in --data/oses/opensuse.xml.in --data/oses/macos.xml.in --data/oses/debian.xml.in --data/oses/ubuntu.xml.in --data/oses/centos.xml.in --data/oses/openbsd.xml.in --data/oses/freebsd.xml.in --data/oses/rhl.xml.in --data/oses/netbsd.xml.in --data/oses/altlinux.xml.in - data/devices/qemu-ps2.xml.in - data/devices/qemu-pci.xml.in - data/devices/virtio-pci.xml.in - data/devices/qemu-usb.xml.in - data/hypervisors/kvm.xml.in - data/hypervisors/qemu.xml.in --data/hypervisors/rhel-xen.xml.in - data/hypervisors/xen.xml.in - osinfo/osinfo_avatar_format.c - osinfo/osinfo_deployment.c diff --git a/pcr/libosinfo-libre/test.patch b/pcr/libosinfo-libre/test.patch deleted file mode 100644 index 413deb1c0..000000000 --- a/pcr/libosinfo-libre/test.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff -ruN libosinfo-0.2.8/test/test-isodetect.c libosinfo-0.2.8-libre/test/test-isodetect.c ---- libosinfo-0.2.8/test/test-isodetect.c 2013-09-10 15:22:50.000000000 +0200 -+++ libosinfo-0.2.8-libre/test/test-isodetect.c 2013-12-01 11:44:32.830411240 +0100 -@@ -342,66 +342,6 @@ - g_object_unref(loader); - } - --START_TEST(test_fedora) --{ -- test_one("fedora"); --} --END_TEST -- --START_TEST(test_rhel) --{ -- test_one("rhel"); --} --END_TEST -- --START_TEST(test_ubuntu) --{ -- test_one("ubuntu"); --} --END_TEST -- --START_TEST(test_debian) --{ -- test_one("debian"); --} --END_TEST -- --START_TEST(test_windows) --{ -- test_one("windows"); --} --END_TEST -- --START_TEST(test_openbsd) --{ -- test_one("openbsd"); --} --END_TEST -- --START_TEST(test_opensuse) --{ -- test_one("opensuse"); --} --END_TEST -- --START_TEST(test_centos) --{ -- test_one("centos"); --} --END_TEST -- --START_TEST(test_gnome) --{ -- test_one("gnome"); --} --END_TEST -- --START_TEST(test_altlinux) --{ -- test_one("altlinux"); --} --END_TEST -- - static Suite * - list_suite(void) - { -@@ -409,16 +349,6 @@ - TCase *tc = tcase_create("Core"); - tcase_set_timeout(tc, 20); - -- tcase_add_test(tc, test_fedora); -- tcase_add_test(tc, test_rhel); -- tcase_add_test(tc, test_ubuntu); -- tcase_add_test(tc, test_debian); -- tcase_add_test(tc, test_windows); -- tcase_add_test(tc, test_openbsd); -- tcase_add_test(tc, test_opensuse); -- tcase_add_test(tc, test_centos); -- tcase_add_test(tc, test_gnome); -- tcase_add_test(tc, test_altlinux); - suite_add_tcase(s, tc); - return s; - } -- cgit v1.2.3 From 1fdc2f971a7a3f252563701d08b9618cd8f257ab Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 07:00:11 -0300 Subject: apache-ant-1.9.4-1: updating version --- libre/apache-ant/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/apache-ant/PKGBUILD b/libre/apache-ant/PKGBUILD index a635c6e90..a2f3ab732 100644 --- a/libre/apache-ant/PKGBUILD +++ b/libre/apache-ant/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: Andrew Wright pkgname=apache-ant -pkgver=1.9.3 +pkgver=1.9.4 pkgdesc="A Java-based build tool" license=('Apache' 'custom:BSD3') url="http://ant.apache.org/" @@ -12,7 +12,7 @@ provides=("apache-ant-libre=$pkgver") replaces=("apache-ant-libre") conflicts=("apache-ant-libre") -pkgrel=2.2 # newer than Arch's 1.9.3-2 +pkgrel=1 arch=('any') depends=('java-environment') makedepends=('jh') @@ -20,7 +20,7 @@ makedepends=('jh') _mirror=http://archive.apache.org/dist source=($_mirror/ant/source/${pkgname}-${pkgver}-src.tar.bz2 ${pkgname}.sh ${pkgname}.csh) -md5sums=('995f21618acdf35beacc465c84d79534' +md5sums=('7a7253ec047195d755c5318a4de8a3a4' 'bd63c881be406f515fc4d22635e8326a' 'aaa615512cbe1ed7f3b62c1ff46802f8') -- cgit v1.2.3 From be467553abfa961406f7f00c537be0c0cab34d2c Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 07:08:06 -0300 Subject: gnome-boxes-libre: fix package name --- libre/gnome-boxes-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/gnome-boxes-libre/PKGBUILD b/libre/gnome-boxes-libre/PKGBUILD index 2fb7377d7..a78d464e7 100644 --- a/libre/gnome-boxes-libre/PKGBUILD +++ b/libre/gnome-boxes-libre/PKGBUILD @@ -5,7 +5,7 @@ # Contributor (Parabola): Daniel Milewski _pkgname=gnome-boxes -pkgname=gnome-libre +pkgname=gnome-boxes-libre pkgver=3.12.1 pkgrel=1 pkgdesc="Simple GNOME 3 application to access remote or virtual systems, without nonfree system logos" -- cgit v1.2.3 From e547698eb409e65a59ef0afebd442734a46f715a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 16:10:56 -0300 Subject: iceweasel-libre-1:29.0.deb2-1: updating version --- libre/iceweasel-libre/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index 6d88cff3a..e43ff609f 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -15,7 +15,7 @@ _pgo=true # We're getting this from Debian Experimental _debname=iceweasel _debver=29.0 -_debrel=deb1 +_debrel=deb2 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -23,7 +23,7 @@ _pkgname=iceweasel pkgname=iceweasel-libre epoch=1 pkgver=$_debver.$_debrel -pkgrel=3 +pkgrel=1 pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox." arch=(i686 x86_64 mips64el) @@ -61,7 +61,7 @@ source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2" Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch Fixup-Reset-Firefox-after-bad-merge.patch) md5sums=('2cc40f481ca7b8421925a1def5fe14a0' - '7f00f6a076c6a92db162e18d8e9e92a5' + 'f317494c8717298a1c1e965624f49aa4' '92a08a18995b915d6a6d0dab93ec6c1d' 'df08eaa1ac3bc6c2356be4fbf8ec8932' '5d22063ebea2472dd0b1163b32b2050b' -- cgit v1.2.3 From b579c3c1cecfefea59d48fbaf633d1f4b26290b8 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 16:21:14 -0300 Subject: iceweasel-l10n-1:29.0.deb2-1: updating version --- libre/iceweasel-l10n/PKGBUILD | 166 +++++++++++++++++++++--------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/libre/iceweasel-l10n/PKGBUILD b/libre/iceweasel-l10n/PKGBUILD index 92ebd2fa3..0a1c38593 100644 --- a/libre/iceweasel-l10n/PKGBUILD +++ b/libre/iceweasel-l10n/PKGBUILD @@ -7,7 +7,7 @@ _debname=iceweasel _debver=29.0 -_debrel=deb1 +_debrel=deb2 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -71,85 +71,85 @@ for lang in ${_langpacks[@]}; do done md5sums=('a4593936bf1c7a9ec9368ff249f9cc56' - 'e5bf1ae755c382de40be098c1edffb5b' - '471f3444b65c3665def9c77b9692dd46' - 'b5e376339f6c36b0cdee818923a3da23' - '4d2f273ef626af2c27cbfa95be676fd7' - 'b7ec2f435387c1aed25e66ebc9f5654a' - 'd7e64d5d68f3e6db8edc6a638ef23bfb' - '0b261e4f8097a8cb33864cdc00b8fd99' - '38f306a84193a14b2b9092242e791c43' - '4cb0ba840651f7082db817c1fdc1fd16' - '8fb033282c8c4ca7d3860720bfb109fb' - 'f6d14bae406a1894d8ea7e27e7e71b36' - '80c573abb444dded163cfdf9db3f5860' - 'd649b654ee219460b98de6e19c48c818' - 'c26bcb89ca74cb35d80bab8431607f03' - 'ffd58b3a8eac72be3ba1123d9ccb55e0' - '25a23e8bd7bc233ae2c5db4580943393' - 'cb3c2eaf206d8106594a2bab01172d80' - 'e31ba3a15892a757dfca1de28e6b82ec' - 'beedb59daff3f9fc0ceabe748ec2db97' - 'dfdaa7eb60e343a4ce7c6755cc94a5e1' - '3e2b415e9b4280be7c4655639cef5e26' - '11a2c6e4c60de3ec5c4af8681259d582' - 'ccb1e387f374fe326a0161ed4f5029b1' - 'c169192d2aac73def6b440e8415b0350' - '48df14fe85e70e060ec337d88abe0546' - '2924522340dbb6084d25634f116642b8' - '19829b01ef399d16e067ccea2853c2c8' - 'ba671c2a1a4c1a5421d422db8ccdceca' - 'c9184b8047a2630c27d67cd1c230cfe9' - 'b249276a0ab2ad5e036ffc78526d38f3' - 'dfb6017540b97412da20ccd324fffaaa' - '09d9da33078a302b17eb00a7642222d4' - '3c3cc05109dfc31eca4ff91c8608ef71' - 'b556a63bc756246e79f30a84f1234266' - '3eff78b4b677b242f990a4fba1bcad1f' - 'f1fc2e02046387cc4d5e8bf063ce1777' - '6f43b8c4fc0ea2a0cf817a00c191d572' - 'ea834dddc9f78d23f69b8c3b08d171a2' - 'e286e4634a0dbdbb042b303aed72e894' - '58d4e4565de8cb8a49ba8bbe34a9f03e' - '44f50af4bc18e52b5a7e3c6c5793892b' - '93c0d994d4c746a6e52507160db40320' - 'f08bb33ba81d590bc0df3bc39e06e659' - 'f7a0dc70409103c46ab3ce55113cfc4d' - 'dbc208a2c1d4c1336ab9e1837c3f2221' - 'b774be573aded8c5d42a8a17bd89c9f6' - 'f844cde37e9ecea9a820ed4b2e00b052' - '17f99515838abf81fdcf71959862ba50' - 'd1782b6e0f2cc814c350fb6965614105' - '4948a0694935a765a3da04edf215ad83' - 'ef77dc32592af42510f2c901966999f9' - '1a453dd3b93b7fb6833797d503ea8352' - 'b278151cc6a1c1dd2a9ab6705aa31ee9' - 'd7a9e87b2844fdd4c9348eeaabc31f2d' - 'f81ce5451c8030a95d01a50372a6d6b5' - 'cc2920c5502298dc6814c7891c65a839' - '3b4b81b147b2098451b1c5372144c7b0' - '47821aa27983f5a7a07a8387d070b344' - 'e885aa89bfc81821f7628ab0b9991b00' - 'd6e52a82db83135643b5e48ed81f7cab' - '532f9f379a46425cd137b8a6b495784d' - '0b4a96c3abcb3056424092964a25bf9b' - '89d220dd00d2cf3c09105831259540eb' - '030800a2fb7bcf7135640de28acac9eb' - 'f75eaa08f3dde32cb0f4f278aab91731' - '06b3a062edcdd12d4e62950e01dd30fd' - 'd2a0bc6016636d42be33db9086997a31' - '3f307b4e8cddf89abbfe67132859a21f' - 'e4cc8c6693683a698d5b3ff363e6ddb9' - '13f19d01c8d8b04361aea819744b601f' - '8921d2dfb5f6f616ba6a5518984ba463' - 'ffe26a33e61e9648082db53672d99c36' - '04139270ec52eb6cec10a13485525377' - '28517c4678b264e4e38b47f1a7190bad' - '3f7d1b99f3ad5e2a4b8fd879f8df0238' - 'a46647101e97dfd1ab76e5aa664ff717' - 'd6898b991b0378c1699fa402bb1693c8' - '9dc8cb9d44fd52dfb9c3b518e0c2a686' - '2dae9ae32604043d36d2ad34a44a8a2c' - '35b053f07692b00fc504abbb5d2ff7da' - '784dec9df3db41e790060f76cf69af22' - '4b65dbbeaf3a0d318999c386919a0c28') + '2333be54b7855d7f0a02effbbf1e94b9' + '7716c49cecf2be5fab532678a5f82f9f' + 'f6c401e1fb488e2750bf2ab3a4eb0c5f' + '06446f32732850ad1520d1db40045312' + '886de465a3b483e54938555111971c4a' + '03d03d02e210f19ffa4bb62598349c2a' + '59498ec32f4742088dd08bb7d687e075' + '901406c38743ec30071ab742be5a6dc1' + '2552a263939da4d6b2cdc028ae70bdc8' + '5b239362ac2bb1ea17b217aee1d6f382' + 'd73b72a19eeb2cdc0b780f6dbd43095c' + '6dd067fd82dfb0fd41de7867220178f7' + 'd3f8227d70a72e99cee2b69469c5c857' + 'fe44306246e7ba14cea7258d3611d0df' + '035083d22efcfeecd20497bb13d040cd' + 'ab7da0a98ccf67513c571e378df8c3e2' + '346f50844d8fdda1f8b98b2076f61052' + 'e101d11b8d67b796f361e03e18a8ca9b' + 'fe8126448cc72862a6815e10243f45f5' + 'a22c2da5cdda9bc88c7827cf0d947fd9' + '3c65cab2a716685917da377169be6dfa' + '92933eaeb87e2ac53116c17d752e4fbe' + '8be1f7fa7dcdd0c8e9c8a5152a3cca4d' + '5caeca8db6883c5e082f89f2efc7fb31' + 'c14456b6dbed99bffe0fe58c76e6f7d7' + '73067b30e2e0779a27c3ff2bbdeb38d1' + '62e41396c80144f4fc425df992ecde90' + '44a823ad5b0cda9bfadec358b4914272' + 'efddd7dec96f4ab0ef53cc78fc206509' + '498d60d4d7cbee93bb9e9597e8ac30e8' + '43943cdde786e176f276e6ab2c0ab6aa' + '665325f9e202bcd1b9bd143cf3b66949' + '1c27f547399c5c4fa4cc095c119eaa0f' + '66d6e6b0ff1f708e05dd09fab84e262b' + '7eb6fe7f731fc6eabb6016cdd6810e4f' + '47ede2f3272459422f9669651d6484f7' + 'a4fa48db1c306a81ed3ff85eebe41dee' + 'bfb8ca2c45d54fe22441828f50d05832' + '6aea9401f11ad57c2cee775fa5a578a2' + '27cd9c8f16e5e4752dd7edfcae4ee9c7' + '042bd30dcb4d8229d0285d9effae8b7f' + 'b2f653d5199a71016c3308f23ccabbf1' + '2991d4da826b8848fd5c1dea8663d48d' + '2a19e6ff467a643fa22d75a428c124a0' + '1da6e593ef5d9638f403c85b2a5ebc3b' + 'fe5c99154a090905c1bff4c106fa0347' + '36981a2c9499e868c0a4aa9872664c7f' + 'f526b5251ad1f8dc6876f337ea46d2b5' + 'e9cc4e725336d25448b68c4799806203' + '308551179ebe1296e7cff3cefa524db1' + '99f9bf5708cc32febbc268bf0cfc1691' + 'a4a47ba179b8518e36447a98af640a80' + 'f5cceb502e95b78822139d1bff57daeb' + 'd38265850619af33ebdd943a20a4f20b' + 'bd2067498c8cb4bee3596a9b12f1d35c' + '804b4f5926f7b4529d29143627cfbc6e' + '05289c4c8945a987612ef4b93e8ffab6' + 'ff6630d4dc6cde26daf5c56abf70b981' + 'e56d7ee921ffc355db4301409aefa35e' + '0c2b6a9babe70ba160e03b05bc88b402' + '8b30781c96c4d4314f1eceeeac3f4ad3' + 'e4a71833f7c06802be03a5e10efda7b8' + '8119cf1506cd66a4f401f1c594c254c4' + '9f367c12780a024895bb577b093a986b' + '20a0ac51b86969cd43e34832b16aac56' + '303e1b04cecc4297a77bdd340b30fc15' + 'a05a2bc2bda06ce03f3166c6884054bf' + 'f3a8c1533664f27e9466bbf9c8b3ade7' + '5a8e6722e9d16d58869122b1f05edb69' + '0c96308cba65543c558a17c3936721fe' + '42c2e8e09a5f85d9b8166f99367fa175' + '6e47aae145c85f16ea45335161629785' + '735db64988581ab62e4d8ad831698e37' + '4ea1be1b6d40e8d8f198c2890482dc6f' + '236871158d9113255a07369df5e08f55' + 'bf9d3fa54a1da16c5a8686de25527ec4' + 'b876d0817c381785693140753cef2900' + '0676fce81f8aa72fb52eda5928bb340c' + '106770faa7cc3019f762815c42d5026c' + '490f27a2aadfd1064b0ded007ae017d2' + '1aafea466e4b288c0f899061ed25a189' + 'fb8389cb9c9ff58a95c487015e61233e') -- cgit v1.2.3 From 3e2c9d783511bb14326ad000458ef32024aba07c Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 16:38:28 -0300 Subject: linux-libre-3.14.3-1: updating version * set CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 and change back to sha256sums in the PKGBUILD --- libre/linux-libre/PKGBUILD | 57 ++++++++++++++++++----------------------- libre/linux-libre/config.i686 | 2 +- libre/linux-libre/config.x86_64 | 2 +- 3 files changed, 27 insertions(+), 34 deletions(-) diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index e2f35b5cd..db1d1c223 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 211803 2014-04-27 09:34:35Z tpowa $ +# $Id: PKGBUILD 212093 2014-05-06 20:49:41Z tpowa $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,10 +10,10 @@ pkgbase=linux-libre # Build stock -LIBRE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -_sublevel=2 +_sublevel=3 pkgver=${_basekernel}.${_sublevel} pkgrel=1 -_lxopkgver=${_basekernel}.1 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.3 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -35,39 +35,37 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0004-fs-Don-t-return-0-from-get_anon_bdev.patch' '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' - '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' '0011-kernfs-fix-removed-error-check.patch' '0012-fix-saa7134.patch' '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' '0015-fix-xsdt-validation.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") -md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '77c34d5c5c2663d0daaf8ad3761fbaf3' - 'f6590a383c973b40f1c0f2baf7fa6fb5' - 'a0d21f858031209634578334dbfeb6ac' - 'e49ac236dfeef709f91a3d993ea7b62c' - '2967cecc3af9f954ccc822fd63dca6ff' - '8267264d9a8966e57fdacd1fa1fc65c4' - '44260d2cb1a8b51c119d2ce1f83e457a' - '98beb36f9b8cf16e58de2483ea9985e3' - '6839ddec74a5300beff1709a81b0e4f3' - '706549e8a05f33f7fc697f28c0ca71d2' - 'd23fc66be93ebce698bd7da844789de1' - 'b240cc8ebb4b5d74e94b4c72d033f726' - 'a89d593774ccb955eb8368d3bc87ce26' - '16a161979f846b049e90daea907c35dd' - '00727251b0d337a25d3ca392218afdf4' - '353b553d69da810ef954618aca60e1e2' - 'b3f98eba6322463ed6644784c56893be' - '4f547d79fa1b2bb855dc2996be2a515e' - '21d25aef69f9da33c6087b7ffd97783e' - '278417ab07b6f5fe8e3e0ed656f35f3e' - '3ab22a28f075ec92bca1b7598e8280e1') +sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' + 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + '71891ae6903598f4686e86fdb0d371ff9e179e8dac1d2cf60ca16c5190916745' + 'fca0060bde385e2c292489087af0aa5f48da594221a6d162fc6f8ba2159571e8' + 'dfe01c93d83cdac9ca502715ceb6ac9502d327c939fec2e3052a5a58422dc176' + 'c5451d5e1eafc4f8d28b1a2958ec3102c124433a414a86450fc32058e004156b' + '55bf07738a3286168a7929ae16dbca29defd14e77b9d24c487ae4c3d12bb9eb9' + '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' + 'faced4eb4c47c4eb1a9ee8a5bf8a7c4b49d6b4d78efbe426e410730e6267d182' + '6d72e14552df59e6310f16c176806c408355951724cd5b48a47bf01591b8be02' + '52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29' + '65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d' + '1e1ae0f31f722e80da083ecada1f1be57f9ddad133941820c4483b0240e494c1' + '3fffb01cf97a5a7ab9601cb277d2468c0fb1e1cceba4225915f3ffae3a5694ec' + 'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7' + 'c0af4622f75c89fef62183e18b7d49998228d4eaa906c6accaf4aa4ff0134f85' + '04f44bf5c181d6dc31905937c1bdccb0f5aecaad3a579e99b302502b9cbe0f7a' + '79359454c9d8446eb55add2b1cdbf8332bd67dafb01fefb5b1ca090225f64d18' + 'f2a5e22c1ba6e9b8a32a7bd4a5327ee95538aa10edcee3cd12578f8ff49bf6be' + '384dd13fd4248fd6809da8c6ae29ced55d4a5cacc33ac2ae7522093ec0fb26d4' + '43d975e9c9c68de131005a87c3c755fadef1eaed6c551bcafd08f2746f9d71fd') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] - unset md5sums[${#md5sums[@]}-1] + unset sha256sums[${#sha256sums[@]}-1] fi _kernelname=${pkgbase#linux-libre} @@ -111,11 +109,6 @@ prepare() { # http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc53324060f324e8af6867f57bf4891c13c6ef18 patch -p1 -i "${srcdir}/0006-genksyms-fix-typeof-handling.patch" - # Fix the use of code32_start in the EFI boot stub - # http://permalink.gmane.org/gmane.linux.kernel/1679881 - # https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=urgent&id=7e8213c1f3acc064aef37813a39f13cbfe7c3ce7 - patch -p1 -i "${srcdir}/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch" - # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 index 2299043e6..184db97b8 100644 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -1677,7 +1677,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index 28f6c8aa0..1a32c7bf7 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -1638,7 +1638,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set -- cgit v1.2.3 From 2a5bb3ed64fb8f7e623f6bb553f3d2e696dabb66 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 16:53:19 -0300 Subject: linux-libre-grsec-3.14.3.201405071928-1: updating version * set CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 and change back to sha256sums in the PKGBUILD --- ...Correct-EFI-boot-stub-use-of-code32_start.patch | 110 ------------------ ...futex-avoid-race-between-requeue-and-wake.patch | 94 ---------------- ...009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch | 125 --------------------- libre/linux-libre-grsec/PKGBUILD | 63 +++++------ libre/linux-libre-grsec/config.i686 | 2 +- libre/linux-libre-grsec/config.x86_64 | 2 +- 6 files changed, 30 insertions(+), 366 deletions(-) delete mode 100644 libre/linux-libre-grsec/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch delete mode 100644 libre/linux-libre-grsec/0008-futex-avoid-race-between-requeue-and-wake.patch delete mode 100644 libre/linux-libre-grsec/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch diff --git a/libre/linux-libre-grsec/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch b/libre/linux-libre-grsec/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch deleted file mode 100644 index 898ee1543..000000000 --- a/libre/linux-libre-grsec/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 720a9dbf61c88bd57d6f8198ed8ccb2bd4a6abd8 Mon Sep 17 00:00:00 2001 -From: Matt Fleming -Date: Wed, 9 Apr 2014 10:33:49 +0200 -Subject: [PATCH 07/10] x86/efi: Correct EFI boot stub use of code32_start -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -code32_start should point at the start of the protected mode code, and -*not* at the beginning of the bzImage. This is much easier to do in -assembly so document that callers of make_boot_params() need to fill out -code32_start. - -The fallout from this bug is that we would end up relocating the image -but copying the image at some offset, resulting in what appeared to be -memory corruption. - -Reported-by: Thomas Bächler -Signed-off-by: Matt Fleming ---- - arch/x86/boot/compressed/eboot.c | 5 +++-- - arch/x86/boot/compressed/head_32.S | 14 ++++++++------ - arch/x86/boot/compressed/head_64.S | 9 +++------ - 3 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c -index a7677ba..78cbb2d 100644 ---- a/arch/x86/boot/compressed/eboot.c -+++ b/arch/x86/boot/compressed/eboot.c -@@ -425,6 +425,9 @@ void setup_graphics(struct boot_params *boot_params) - * Because the x86 boot code expects to be passed a boot_params we - * need to create one ourselves (usually the bootloader would create - * one for us). -+ * -+ * The caller is responsible for filling out ->code32_start in the -+ * returned boot_params. - */ - struct boot_params *make_boot_params(void *handle, efi_system_table_t *_table) - { -@@ -483,8 +486,6 @@ struct boot_params *make_boot_params(void *handle, efi_system_table_t *_table) - hdr->vid_mode = 0xffff; - hdr->boot_flag = 0xAA55; - -- hdr->code32_start = (__u64)(unsigned long)image->image_base; -- - hdr->type_of_loader = 0x21; - - /* Convert unicode cmdline to ascii */ -diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S -index 9116aac..f45ab7a 100644 ---- a/arch/x86/boot/compressed/head_32.S -+++ b/arch/x86/boot/compressed/head_32.S -@@ -50,6 +50,13 @@ ENTRY(efi_pe_entry) - pushl %eax - pushl %esi - pushl %ecx -+ -+ call reloc -+reloc: -+ popl %ecx -+ subl reloc, %ecx -+ movl %ecx, BP_code32_start(%eax) -+ - sub $0x4, %esp - - ENTRY(efi_stub_entry) -@@ -63,12 +70,7 @@ ENTRY(efi_stub_entry) - hlt - jmp 1b - 2: -- call 3f --3: -- popl %eax -- subl $3b, %eax -- subl BP_pref_address(%esi), %eax -- add BP_code32_start(%esi), %eax -+ movl BP_code32_start(%esi), %eax - leal preferred_addr(%eax), %eax - jmp *%eax - -diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S -index c5c1ae0..b10fa66 100644 ---- a/arch/x86/boot/compressed/head_64.S -+++ b/arch/x86/boot/compressed/head_64.S -@@ -217,6 +217,8 @@ ENTRY(efi_pe_entry) - cmpq $0,%rax - je 1f - mov %rax, %rdx -+ leaq startup_32(%rip), %rax -+ movl %eax, BP_code32_start(%rdx) - popq %rsi - popq %rdi - -@@ -230,12 +232,7 @@ ENTRY(efi_stub_entry) - hlt - jmp 1b - 2: -- call 3f --3: -- popq %rax -- subq $3b, %rax -- subq BP_pref_address(%rsi), %rax -- add BP_code32_start(%esi), %eax -+ movl BP_code32_start(%esi), %eax - leaq preferred_addr(%rax), %rax - jmp *%rax - --- -1.9.2 - diff --git a/libre/linux-libre-grsec/0008-futex-avoid-race-between-requeue-and-wake.patch b/libre/linux-libre-grsec/0008-futex-avoid-race-between-requeue-and-wake.patch deleted file mode 100644 index 8685e1168..000000000 --- a/libre/linux-libre-grsec/0008-futex-avoid-race-between-requeue-and-wake.patch +++ /dev/null @@ -1,94 +0,0 @@ -From aafcd8f8692fb9e389608c1efad2e57c0bbb9362 Mon Sep 17 00:00:00 2001 -From: Linus Torvalds -Date: Tue, 8 Apr 2014 15:30:07 -0700 -Subject: [PATCH 08/10] futex: avoid race between requeue and wake - -commit 69cd9eba38867a493a043bb13eb9b33cad5f1a9a upstream. - -Jan Stancek reported: - "pthread_cond_broadcast/4-1.c testcase from openposix testsuite (LTP) - occasionally fails, because some threads fail to wake up. - - Testcase creates 5 threads, which are all waiting on same condition. - Main thread then calls pthread_cond_broadcast() without holding mutex, - which calls: - - futex(uaddr1, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, uaddr2, ..) - - This immediately wakes up single thread A, which unlocks mutex and - tries to wake up another thread: - - futex(uaddr2, FUTEX_WAKE_PRIVATE, 1) - - If thread A manages to call futex_wake() before any waiters are - requeued for uaddr2, no other thread is woken up" - -The ordering constraints for the hash bucket waiter counting are that -the waiter counts have to be incremented _before_ getting the spinlock -(because the spinlock acts as part of the memory barrier), but the -"requeue" operation didn't honor those rules, and nobody had even -thought about that case. - -This fairly simple patch just increments the waiter count for the target -hash bucket (hb2) when requeing a futex before taking the locks. It -then decrements them again after releasing the lock - the code that -actually moves the futex(es) between hash buckets will do the additional -required waiter count housekeeping. - -Reported-and-tested-by: Jan Stancek -Acked-by: Davidlohr Bueso -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman ---- - kernel/futex.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/kernel/futex.c b/kernel/futex.c -index 08ec814..16b1f2c 100644 ---- a/kernel/futex.c -+++ b/kernel/futex.c -@@ -1450,6 +1450,7 @@ retry: - hb2 = hash_futex(&key2); - - retry_private: -+ hb_waiters_inc(hb2); - double_lock_hb(hb1, hb2); - - if (likely(cmpval != NULL)) { -@@ -1459,6 +1460,7 @@ retry_private: - - if (unlikely(ret)) { - double_unlock_hb(hb1, hb2); -+ hb_waiters_dec(hb2); - - ret = get_user(curval, uaddr1); - if (ret) -@@ -1508,6 +1510,7 @@ retry_private: - break; - case -EFAULT: - double_unlock_hb(hb1, hb2); -+ hb_waiters_dec(hb2); - put_futex_key(&key2); - put_futex_key(&key1); - ret = fault_in_user_writeable(uaddr2); -@@ -1517,6 +1520,7 @@ retry_private: - case -EAGAIN: - /* The owner was exiting, try again. */ - double_unlock_hb(hb1, hb2); -+ hb_waiters_dec(hb2); - put_futex_key(&key2); - put_futex_key(&key1); - cond_resched(); -@@ -1592,6 +1596,7 @@ retry_private: - - out_unlock: - double_unlock_hb(hb1, hb2); -+ hb_waiters_dec(hb2); - - /* - * drop_futex_key_refs() must be called outside the spinlocks. During --- -1.9.2 - diff --git a/libre/linux-libre-grsec/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch b/libre/linux-libre-grsec/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch deleted file mode 100644 index 5acbf53dd..000000000 --- a/libre/linux-libre-grsec/0009-iwlwifi-mvm-rs-fix-search-cycle-rules.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 06af061dd673d749d5516bea41e2becb034e00b8 Mon Sep 17 00:00:00 2001 -From: Eyal Shapira -Date: Sun, 16 Mar 2014 05:23:21 +0200 -Subject: [PATCH 09/10] iwlwifi: mvm: rs: fix search cycle rules - -commit 8930b05090acd321b1fc7c642528c697cb105c42 upstream. - -We should explore all possible columns when searching to be -as resilient as possible to changing conditions. This fixes -for example a scenario where even after a sudden creation of -rssi difference between the 2 antennas we would keep doing MIMO -at a low rate instead of switching to SISO at a higher rate using -the better antenna which was the optimal configuration. - -Signed-off-by: Eyal Shapira -Signed-off-by: Emmanuel Grumbach -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/wireless/iwlwifi/mvm/rs.c | 36 +++++++++++++++++------------------ - 1 file changed, 18 insertions(+), 18 deletions(-) - -diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c -index 6abf74e..5bc8715 100644 ---- a/drivers/net/wireless/iwlwifi/mvm/rs.c -+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c -@@ -211,9 +211,9 @@ static const struct rs_tx_column rs_tx_columns[] = { - .next_columns = { - RS_COLUMN_LEGACY_ANT_B, - RS_COLUMN_SISO_ANT_A, -+ RS_COLUMN_SISO_ANT_B, - RS_COLUMN_MIMO2, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -+ RS_COLUMN_MIMO2_SGI, - }, - }, - [RS_COLUMN_LEGACY_ANT_B] = { -@@ -221,10 +221,10 @@ static const struct rs_tx_column rs_tx_columns[] = { - .ant = ANT_B, - .next_columns = { - RS_COLUMN_LEGACY_ANT_A, -+ RS_COLUMN_SISO_ANT_A, - RS_COLUMN_SISO_ANT_B, - RS_COLUMN_MIMO2, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -+ RS_COLUMN_MIMO2_SGI, - }, - }, - [RS_COLUMN_SISO_ANT_A] = { -@@ -234,8 +234,8 @@ static const struct rs_tx_column rs_tx_columns[] = { - RS_COLUMN_SISO_ANT_B, - RS_COLUMN_MIMO2, - RS_COLUMN_SISO_ANT_A_SGI, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -+ RS_COLUMN_SISO_ANT_B_SGI, -+ RS_COLUMN_MIMO2_SGI, - }, - .checks = { - rs_siso_allow, -@@ -248,8 +248,8 @@ static const struct rs_tx_column rs_tx_columns[] = { - RS_COLUMN_SISO_ANT_A, - RS_COLUMN_MIMO2, - RS_COLUMN_SISO_ANT_B_SGI, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -+ RS_COLUMN_SISO_ANT_A_SGI, -+ RS_COLUMN_MIMO2_SGI, - }, - .checks = { - rs_siso_allow, -@@ -263,8 +263,8 @@ static const struct rs_tx_column rs_tx_columns[] = { - RS_COLUMN_SISO_ANT_B_SGI, - RS_COLUMN_MIMO2_SGI, - RS_COLUMN_SISO_ANT_A, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -+ RS_COLUMN_SISO_ANT_B, -+ RS_COLUMN_MIMO2, - }, - .checks = { - rs_siso_allow, -@@ -279,8 +279,8 @@ static const struct rs_tx_column rs_tx_columns[] = { - RS_COLUMN_SISO_ANT_A_SGI, - RS_COLUMN_MIMO2_SGI, - RS_COLUMN_SISO_ANT_B, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -+ RS_COLUMN_SISO_ANT_A, -+ RS_COLUMN_MIMO2, - }, - .checks = { - rs_siso_allow, -@@ -292,10 +292,10 @@ static const struct rs_tx_column rs_tx_columns[] = { - .ant = ANT_AB, - .next_columns = { - RS_COLUMN_SISO_ANT_A, -+ RS_COLUMN_SISO_ANT_B, -+ RS_COLUMN_SISO_ANT_A_SGI, -+ RS_COLUMN_SISO_ANT_B_SGI, - RS_COLUMN_MIMO2_SGI, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, - }, - .checks = { - rs_mimo_allow, -@@ -307,10 +307,10 @@ static const struct rs_tx_column rs_tx_columns[] = { - .sgi = true, - .next_columns = { - RS_COLUMN_SISO_ANT_A_SGI, -+ RS_COLUMN_SISO_ANT_B_SGI, -+ RS_COLUMN_SISO_ANT_A, -+ RS_COLUMN_SISO_ANT_B, - RS_COLUMN_MIMO2, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, -- RS_COLUMN_INVALID, - }, - .checks = { - rs_mimo_allow, --- -1.9.2 - diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index 97aab4398..5d1d2da74 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -12,13 +12,13 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -_sublevel=2 +_sublevel=3 _grsecver=3.0 -_timestamp=201405051841 +_timestamp=201405071928 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 -_lxopkgver=${_basekernel}.2 # nearly always the same as pkgver +_lxopkgver=${_basekernel}.3 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="https://grsecurity.net/" license=('GPL2') @@ -42,7 +42,6 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0004-fs-Don-t-return-0-from-get_anon_bdev.patch' '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' - '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' '0011-kernfs-fix-removed-error-check.patch' '0012-fix-saa7134.patch' @@ -50,35 +49,34 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0015-fix-xsdt-validation.patch' 'sysctl.conf' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") -md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '77c34d5c5c2663d0daaf8ad3761fbaf3' - '886c74ae6a77a7c380f14226fc5f4058' - 'SKIP' - '1b830bf677c7df400ac30192fa37f97f' - '408dd180559f71dab1fcc80a19da1343' - '5f66bed97a5c37e48eb2f71b2d354b9a' - '2967cecc3af9f954ccc822fd63dca6ff' - '8267264d9a8966e57fdacd1fa1fc65c4' - '14bb375a8a1d86d2875f72fcbaa03f3e' - '98beb36f9b8cf16e58de2483ea9985e3' - '6839ddec74a5300beff1709a81b0e4f3' - '706549e8a05f33f7fc697f28c0ca71d2' - 'd23fc66be93ebce698bd7da844789de1' - 'b240cc8ebb4b5d74e94b4c72d033f726' - 'a89d593774ccb955eb8368d3bc87ce26' - '16a161979f846b049e90daea907c35dd' - '00727251b0d337a25d3ca392218afdf4' - '353b553d69da810ef954618aca60e1e2' - 'b3f98eba6322463ed6644784c56893be' - '4f547d79fa1b2bb855dc2996be2a515e' - '21d25aef69f9da33c6087b7ffd97783e' - '278417ab07b6f5fe8e3e0ed656f35f3e' - '7a052645280da78a98bfe8cf805ddab5' - '4a8ea53fef63e90c5244c2f2806ad4c8') +sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' + 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + 'ca5bd99e3ee12836e2442c096fa2af7fdf9f75f750a471a0c0e981b08abdd330' + 'SKIP' + '16ee96f4e9c5686f5fc72242932e872b26c5ad7c8b8c022ff2a3fe68f6c1a6f0' + 'ea3eec6e11c4feda78493c15c89defcfa482597d069b3c7c9b7bf60121d24ad7' + '9d2f34f1a8c514a7117b9b017a1f7312fb351f4d0b079eed102f89361534d486' + 'c5451d5e1eafc4f8d28b1a2958ec3102c124433a414a86450fc32058e004156b' + '55bf07738a3286168a7929ae16dbca29defd14e77b9d24c487ae4c3d12bb9eb9' + 'f913384dd6dbafca476fcf4ccd35f0f497dda5f3074866022facdb92647771f6' + 'faced4eb4c47c4eb1a9ee8a5bf8a7c4b49d6b4d78efbe426e410730e6267d182' + '6d72e14552df59e6310f16c176806c408355951724cd5b48a47bf01591b8be02' + '52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29' + '65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d' + '1e1ae0f31f722e80da083ecada1f1be57f9ddad133941820c4483b0240e494c1' + '3fffb01cf97a5a7ab9601cb277d2468c0fb1e1cceba4225915f3ffae3a5694ec' + 'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7' + 'c0af4622f75c89fef62183e18b7d49998228d4eaa906c6accaf4aa4ff0134f85' + '04f44bf5c181d6dc31905937c1bdccb0f5aecaad3a579e99b302502b9cbe0f7a' + '79359454c9d8446eb55add2b1cdbf8332bd67dafb01fefb5b1ca090225f64d18' + 'f2a5e22c1ba6e9b8a32a7bd4a5327ee95538aa10edcee3cd12578f8ff49bf6be' + '384dd13fd4248fd6809da8c6ae29ced55d4a5cacc33ac2ae7522093ec0fb26d4' + 'a37823f0cdf3f318ec3f486f6e4035a7a8f887522d3a563d4dfe155f143ba24f' + '43d975e9c9c68de131005a87c3c755fadef1eaed6c551bcafd08f2746f9d71fd') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] - unset md5sums[${#md5sums[@]}-1] + unset sha256sums[${#sha256sums[@]}-1] fi _kernelname=${pkgbase#linux-libre} @@ -126,11 +124,6 @@ prepare() { # http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc53324060f324e8af6867f57bf4891c13c6ef18 patch -p1 -i "${srcdir}/0006-genksyms-fix-typeof-handling.patch" - # Fix the use of code32_start in the EFI boot stub - # http://permalink.gmane.org/gmane.linux.kernel/1679881 - # https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=urgent&id=7e8213c1f3acc064aef37813a39f13cbfe7c3ce7 - patch -p1 -i "${srcdir}/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch" - # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" diff --git a/libre/linux-libre-grsec/config.i686 b/libre/linux-libre-grsec/config.i686 index cc0487d43..fc977efe5 100644 --- a/libre/linux-libre-grsec/config.i686 +++ b/libre/linux-libre-grsec/config.i686 @@ -1664,7 +1664,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set diff --git a/libre/linux-libre-grsec/config.x86_64 b/libre/linux-libre-grsec/config.x86_64 index 4b3e0d5fd..d1e29cf01 100644 --- a/libre/linux-libre-grsec/config.x86_64 +++ b/libre/linux-libre-grsec/config.x86_64 @@ -1629,7 +1629,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set -- cgit v1.2.3 From 787083dd9c41597952c8eb2c50e5776c3a39eef2 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 8 May 2014 17:03:26 -0300 Subject: linux-libre-{pae,xen}-3.14.3-1: updating version * set CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 and change back to sha256sums in the PKGBUILD --- kernels/linux-libre-pae/PKGBUILD | 45 +++++++++++++++++----------------------- kernels/linux-libre-pae/config | 2 +- kernels/linux-libre-xen/PKGBUILD | 45 +++++++++++++++++----------------------- kernels/linux-libre-xen/config | 2 +- 4 files changed, 40 insertions(+), 54 deletions(-) diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD index b8ac4f3e2..327e3da2e 100644 --- a/kernels/linux-libre-pae/PKGBUILD +++ b/kernels/linux-libre-pae/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 211803 2014-04-27 09:34:35Z tpowa $ +# $Id: PKGBUILD 212093 2014-05-06 20:49:41Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -6,7 +6,7 @@ pkgbase=linux-libre-pae # Build stock -LIBRE-PAE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -pkgver=${_basekernel}.2 +pkgver=${_basekernel}.3 pkgrel=1 arch=('i686') url="http://linux-libre.fsfla.org/" @@ -27,30 +27,28 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0004-fs-Don-t-return-0-from-get_anon_bdev.patch' '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' - '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' '0011-kernfs-fix-removed-error-check.patch' '0012-fix-saa7134.patch' '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' '0015-fix-xsdt-validation.patch') -md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '77c34d5c5c2663d0daaf8ad3761fbaf3' - '44e0326ede87f3ec941e34e460311467' - 'f302c931bd85309da9d9792b4cc96467' - '44260d2cb1a8b51c119d2ce1f83e457a' - '98beb36f9b8cf16e58de2483ea9985e3' - '6839ddec74a5300beff1709a81b0e4f3' - '706549e8a05f33f7fc697f28c0ca71d2' - 'd23fc66be93ebce698bd7da844789de1' - 'b240cc8ebb4b5d74e94b4c72d033f726' - 'a89d593774ccb955eb8368d3bc87ce26' - '16a161979f846b049e90daea907c35dd' - '00727251b0d337a25d3ca392218afdf4' - '353b553d69da810ef954618aca60e1e2' - 'b3f98eba6322463ed6644784c56893be' - '4f547d79fa1b2bb855dc2996be2a515e' - '21d25aef69f9da33c6087b7ffd97783e' - '278417ab07b6f5fe8e3e0ed656f35f3e') +sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' + 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + 'fa4a0141d51dd76d6b57980278a95614d53c51af1cdf983789ed546a47302e2c' + '292d5c553f87246c8dc2d57cadfd2db92a3750173b4588d53c2919743171eca5' + '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' + 'faced4eb4c47c4eb1a9ee8a5bf8a7c4b49d6b4d78efbe426e410730e6267d182' + '6d72e14552df59e6310f16c176806c408355951724cd5b48a47bf01591b8be02' + '52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29' + '65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d' + '1e1ae0f31f722e80da083ecada1f1be57f9ddad133941820c4483b0240e494c1' + '3fffb01cf97a5a7ab9601cb277d2468c0fb1e1cceba4225915f3ffae3a5694ec' + 'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7' + 'c0af4622f75c89fef62183e18b7d49998228d4eaa906c6accaf4aa4ff0134f85' + '04f44bf5c181d6dc31905937c1bdccb0f5aecaad3a579e99b302502b9cbe0f7a' + '79359454c9d8446eb55add2b1cdbf8332bd67dafb01fefb5b1ca090225f64d18' + 'f2a5e22c1ba6e9b8a32a7bd4a5327ee95538aa10edcee3cd12578f8ff49bf6be' + '384dd13fd4248fd6809da8c6ae29ced55d4a5cacc33ac2ae7522093ec0fb26d4') _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-PAE @@ -93,11 +91,6 @@ prepare() { # http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc53324060f324e8af6867f57bf4891c13c6ef18 patch -p1 -i "${srcdir}/0006-genksyms-fix-typeof-handling.patch" - # Fix the use of code32_start in the EFI boot stub - # http://permalink.gmane.org/gmane.linux.kernel/1679881 - # https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=urgent&id=7e8213c1f3acc064aef37813a39f13cbfe7c3ce7 - patch -p1 -i "${srcdir}/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch" - # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" diff --git a/kernels/linux-libre-pae/config b/kernels/linux-libre-pae/config index bde7e488e..67838aca7 100644 --- a/kernels/linux-libre-pae/config +++ b/kernels/linux-libre-pae/config @@ -1678,7 +1678,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index 810be97c3..3bfe1dc4a 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 211803 2014-04-27 09:34:35Z tpowa $ +# $Id: PKGBUILD 212093 2014-05-06 20:49:41Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -6,7 +6,7 @@ pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -pkgver=${_basekernel}.2 +pkgver=${_basekernel}.3 pkgrel=1 arch=('i686') url="http://linux-libre.fsfla.org/" @@ -27,30 +27,28 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0004-fs-Don-t-return-0-from-get_anon_bdev.patch' '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch' '0006-genksyms-fix-typeof-handling.patch' - '0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch' '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch' '0011-kernfs-fix-removed-error-check.patch' '0012-fix-saa7134.patch' '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' '0015-fix-xsdt-validation.patch') -md5sums=('c108ec52eeb2a9b9ddbb8d12496ff25f' - '77c34d5c5c2663d0daaf8ad3761fbaf3' - '87655bd2418bd4749df0b8bf81071d0e' - 'b7c2805bb287a644c0a303bf7721e534' - '44260d2cb1a8b51c119d2ce1f83e457a' - '98beb36f9b8cf16e58de2483ea9985e3' - '6839ddec74a5300beff1709a81b0e4f3' - '706549e8a05f33f7fc697f28c0ca71d2' - 'd23fc66be93ebce698bd7da844789de1' - 'b240cc8ebb4b5d74e94b4c72d033f726' - 'a89d593774ccb955eb8368d3bc87ce26' - '16a161979f846b049e90daea907c35dd' - '00727251b0d337a25d3ca392218afdf4' - '353b553d69da810ef954618aca60e1e2' - 'b3f98eba6322463ed6644784c56893be' - '4f547d79fa1b2bb855dc2996be2a515e' - '21d25aef69f9da33c6087b7ffd97783e' - '278417ab07b6f5fe8e3e0ed656f35f3e') +sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' + 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + '44d0749d9d2d7f8eec93b260ab5d601433c43d8bf16b6685c3811cf43ba0ed91' + '7a475ada892857397cf80d2de777825ae94758dc2d9dfa3754ae3d670f4a2f02' + '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' + 'faced4eb4c47c4eb1a9ee8a5bf8a7c4b49d6b4d78efbe426e410730e6267d182' + '6d72e14552df59e6310f16c176806c408355951724cd5b48a47bf01591b8be02' + '52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29' + '65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d' + '1e1ae0f31f722e80da083ecada1f1be57f9ddad133941820c4483b0240e494c1' + '3fffb01cf97a5a7ab9601cb277d2468c0fb1e1cceba4225915f3ffae3a5694ec' + 'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7' + 'c0af4622f75c89fef62183e18b7d49998228d4eaa906c6accaf4aa4ff0134f85' + '04f44bf5c181d6dc31905937c1bdccb0f5aecaad3a579e99b302502b9cbe0f7a' + '79359454c9d8446eb55add2b1cdbf8332bd67dafb01fefb5b1ca090225f64d18' + 'f2a5e22c1ba6e9b8a32a7bd4a5327ee95538aa10edcee3cd12578f8ff49bf6be' + '384dd13fd4248fd6809da8c6ae29ced55d4a5cacc33ac2ae7522093ec0fb26d4') _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-XEN @@ -93,11 +91,6 @@ prepare() { # http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc53324060f324e8af6867f57bf4891c13c6ef18 patch -p1 -i "${srcdir}/0006-genksyms-fix-typeof-handling.patch" - # Fix the use of code32_start in the EFI boot stub - # http://permalink.gmane.org/gmane.linux.kernel/1679881 - # https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/commit/?h=urgent&id=7e8213c1f3acc064aef37813a39f13cbfe7c3ce7 - patch -p1 -i "${srcdir}/0007-x86-efi-Correct-EFI-boot-stub-use-of-code32_start.patch" - # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d # FS#39815 patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch" diff --git a/kernels/linux-libre-xen/config b/kernels/linux-libre-xen/config index 7f43ed4c8..7d83b8db4 100644 --- a/kernels/linux-libre-xen/config +++ b/kernels/linux-libre-xen/config @@ -1686,7 +1686,7 @@ CONFIG_BLK_DEV_DAC960=m # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set -- cgit v1.2.3 From 235815e2e35bf56caea2f9659fd095a92a6a6ae3 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 18:38:32 -0300 Subject: xbmc-libre-lts: add new package to [libre] --- libre/xbmc-libre-lts/PKGBUILD | 139 +++++++++++++++++++++++++++++++++++++ libre/xbmc-libre-lts/polkit.rules | 12 ++++ libre/xbmc-libre-lts/xbmc.install | 19 ++++++ libre/xbmc-libre-lts/xbmc.service | 16 +++++ libre/xbmc-libre/PKGBUILD | 140 -------------------------------------- libre/xbmc-libre/polkit.rules | 12 ---- libre/xbmc-libre/xbmc.install | 19 ------ libre/xbmc-libre/xbmc.service | 16 ----- 8 files changed, 186 insertions(+), 187 deletions(-) create mode 100644 libre/xbmc-libre-lts/PKGBUILD create mode 100644 libre/xbmc-libre-lts/polkit.rules create mode 100644 libre/xbmc-libre-lts/xbmc.install create mode 100644 libre/xbmc-libre-lts/xbmc.service delete mode 100644 libre/xbmc-libre/PKGBUILD delete mode 100644 libre/xbmc-libre/polkit.rules delete mode 100644 libre/xbmc-libre/xbmc.install delete mode 100644 libre/xbmc-libre/xbmc.service diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD new file mode 100644 index 000000000..b7cc316ff --- /dev/null +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -0,0 +1,139 @@ +# $Id: PKGBUILD 108909 2014-04-07 10:57:58Z spupykin $ +# Maintainer: Sergej Pupykin +# Contributor: Brad Fanella +# Contributor: [vEX] +# Contributor: Zeqadious +# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Maintainer (Parabola): André Silva + +_prefix=/usr + +_pkgname=xbmc +pkgname=xbmc-libre-lts +pkgver=12.3 +_codename=Frodo +pkgrel=1 +pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree addons and unrar support" +arch=('i686' 'x86_64') +url="http://xbmc.org" +license=('GPL' 'custom') +conflicts=$_pkgname +provides=$_pkgname=$pkgver +depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' + 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' + 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' + 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' + 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' + 'tinyxml' 'taglib' 'ffmpeg-compat') +makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' + 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') +optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' + 'lirc: remote controller support' + 'udisks: automount external drives' + 'upower: used to trigger power management functionality' + 'xorg-xinit: autostart xbmc') +install="${_pkgname}.install" +mksource=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz") +source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz" + "xbmc.service" + "polkit.rules" + "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285") +mkmd5sums=('7ae385ebf8e5cfcb917393235e6efbdb') +md5sums=('7c71af50af55b097e4365a58b70754e8' + 'de331663cc8adc94f2fe44a262cfff58' + '02f7951824ee13103344f36009c0ef2a' + '7fd6399d2ffbdf06b724f0cc2efa0784') + +mksource() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + # remove nonfree unRAR utility files from the source + rm -rv lib/UnrarXLib +} + +prepare() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + patch -p0 <$srcdir/libass.patch + + # fix lsb_release dependency + sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp + sed -i -e 's:#include :#include :' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp + + # use addons.xml from Parabola server (without nonfree addons support) + sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml +} + +build() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + # Bootstrapping XBMC + ./bootstrap + + # Configuring XBMC + export PYTHON_VERSION=2 # external python v2 + export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH + ./configure --prefix=$_prefix --exec-prefix=$_prefix \ + --disable-debug \ + --enable-optimizations \ + --enable-gl \ + --enable-sdl \ + --enable-vaapi \ + --enable-vdpau \ + --enable-xvba \ + --enable-joystick \ + --enable-xrandr \ + --enable-rsxs \ + --enable-projectm \ + --enable-x11 \ + --enable-rtmp \ + --enable-samba \ + --enable-nfs \ + --enable-afpclient \ + --enable-airplay \ + --enable-airtunes \ + --enable-ffmpeg-libvorbis \ + --enable-dvdcss \ + --disable-hal \ + --enable-avahi \ + --enable-webserver \ + --enable-optical-drive \ + --enable-libbluray \ + --enable-texturepacker \ + --enable-udev \ + --enable-libusb \ + --enable-libcec \ + --enable-external-libraries \ + --enable-external-ffmpeg \ + --disable-non-free + # Now (finally) build + make +} + +package() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + # Running make install + make DESTDIR="${pkgdir}" install + + # run feh with python2 + sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc + + # lsb_release fix + sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc" + sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc" + + # Tools + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" + + # Licenses + install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${_pkgname}" + for licensef in LICENSE.GPL copying.txt; do + mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${_pkgname}" + done + + install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service +# install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-xbmc.rules +# chmod 0700 $pkgdir/usr/share/polkit-1/rules.d/ +} +# vim:set ts=2 sw=2 et: diff --git a/libre/xbmc-libre-lts/polkit.rules b/libre/xbmc-libre-lts/polkit.rules new file mode 100644 index 000000000..4b6d0fda0 --- /dev/null +++ b/libre/xbmc-libre-lts/polkit.rules @@ -0,0 +1,12 @@ +polkit.addRule(function(action, subject) { + if (subject.user == "xbmc") { + polkit.log("action=" + action); + polkit.log("subject=" + subject); + if (action.id.indexOf("org.freedesktop.login1.") == 0) { + return polkit.Result.YES; + } + if (action.id.indexOf("org.freedesktop.udisks.") == 0) { + return polkit.Result.YES; + } + } +}); diff --git a/libre/xbmc-libre-lts/xbmc.install b/libre/xbmc-libre-lts/xbmc.install new file mode 100644 index 000000000..8076fe2d3 --- /dev/null +++ b/libre/xbmc-libre-lts/xbmc.install @@ -0,0 +1,19 @@ +post_install() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent group xbmc > /dev/null || groupadd -r xbmc + getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc + usermod -a -G xbmc,audio,video,network,optical xbmc + mkdir -p var/lib/xbmc + chown -R xbmc:xbmc var/lib/xbmc +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent passwd xbmc > /dev/null && userdel xbmc +} diff --git a/libre/xbmc-libre-lts/xbmc.service b/libre/xbmc-libre-lts/xbmc.service new file mode 100644 index 000000000..d36ddb05a --- /dev/null +++ b/libre/xbmc-libre-lts/xbmc.service @@ -0,0 +1,16 @@ +[Unit] +Description = Starts instance of XBMC using xinit +After = systemd-user-sessions.service +Conflicts=getty@tty7.service + +[Service] +User = xbmc +Group = xbmc +PAMName=login +Type = simple +TTYPath=/dev/tty7 +ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7 +Restart = on-abort + +[Install] +WantedBy = multi-user.target diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD deleted file mode 100644 index 38bf7174b..000000000 --- a/libre/xbmc-libre/PKGBUILD +++ /dev/null @@ -1,140 +0,0 @@ -# $Id: PKGBUILD 108909 2014-04-07 10:57:58Z spupykin $ -# Maintainer: Sergej Pupykin -# Contributor: Brad Fanella -# Contributor: [vEX] -# Contributor: Zeqadious -# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > -# Maintainer (Parabola): André Silva - -_prefix=/usr - -_pkgname=xbmc -pkgname=xbmc-libre -pkgver=12.3 -_codename=Frodo -pkgrel=14 -pkgdesc="A software media player and entertainment hub for digital media, without nonfree addons and unrar support" -arch=('i686' 'x86_64') -url="http://xbmc.org" -license=('GPL' 'custom') -replaces=$_pkgname -conflicts=$_pkgname -provides=$_pkgname=$pkgver -depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' - 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' - 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' - 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' - 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' - 'tinyxml' 'taglib' 'ffmpeg-compat') -makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' - 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' - 'lirc: remote controller support' - 'udisks: automount external drives' - 'upower: used to trigger power management functionality' - 'xorg-xinit: autostart xbmc') -install="${_pkgname}.install" -mksource=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz") -source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz" - "xbmc.service" - "polkit.rules" - "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285") -mkmd5sums=('7ae385ebf8e5cfcb917393235e6efbdb') -md5sums=('7c71af50af55b097e4365a58b70754e8' - 'de331663cc8adc94f2fe44a262cfff58' - '02f7951824ee13103344f36009c0ef2a' - '7fd6399d2ffbdf06b724f0cc2efa0784') - -mksource() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - - # remove nonfree unRAR utility files from the source - rm -rv lib/UnrarXLib -} - -prepare() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - - patch -p0 <$srcdir/libass.patch - - # fix lsb_release dependency - sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp - sed -i -e 's:#include :#include :' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp - - # use addons.xml from Parabola server (without nonfree addons support) - sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml -} - -build() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - - # Bootstrapping XBMC - ./bootstrap - - # Configuring XBMC - export PYTHON_VERSION=2 # external python v2 - export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH - ./configure --prefix=$_prefix --exec-prefix=$_prefix \ - --disable-debug \ - --enable-optimizations \ - --enable-gl \ - --enable-sdl \ - --enable-vaapi \ - --enable-vdpau \ - --enable-xvba \ - --enable-joystick \ - --enable-xrandr \ - --enable-rsxs \ - --enable-projectm \ - --enable-x11 \ - --enable-rtmp \ - --enable-samba \ - --enable-nfs \ - --enable-afpclient \ - --enable-airplay \ - --enable-airtunes \ - --enable-ffmpeg-libvorbis \ - --enable-dvdcss \ - --disable-hal \ - --enable-avahi \ - --enable-webserver \ - --enable-optical-drive \ - --enable-libbluray \ - --enable-texturepacker \ - --enable-udev \ - --enable-libusb \ - --enable-libcec \ - --enable-external-libraries \ - --enable-external-ffmpeg \ - --disable-non-free - # Now (finally) build - make -} - -package() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - # Running make install - make DESTDIR="${pkgdir}" install - - # run feh with python2 - sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc - - # lsb_release fix - sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc" - sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc" - - # Tools - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" - - # Licenses - install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${_pkgname}" - for licensef in LICENSE.GPL copying.txt; do - mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${_pkgname}" - done - - install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service -# install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-xbmc.rules -# chmod 0700 $pkgdir/usr/share/polkit-1/rules.d/ -} -# vim:set ts=2 sw=2 et: diff --git a/libre/xbmc-libre/polkit.rules b/libre/xbmc-libre/polkit.rules deleted file mode 100644 index 4b6d0fda0..000000000 --- a/libre/xbmc-libre/polkit.rules +++ /dev/null @@ -1,12 +0,0 @@ -polkit.addRule(function(action, subject) { - if (subject.user == "xbmc") { - polkit.log("action=" + action); - polkit.log("subject=" + subject); - if (action.id.indexOf("org.freedesktop.login1.") == 0) { - return polkit.Result.YES; - } - if (action.id.indexOf("org.freedesktop.udisks.") == 0) { - return polkit.Result.YES; - } - } -}); diff --git a/libre/xbmc-libre/xbmc.install b/libre/xbmc-libre/xbmc.install deleted file mode 100644 index 8076fe2d3..000000000 --- a/libre/xbmc-libre/xbmc.install +++ /dev/null @@ -1,19 +0,0 @@ -post_install() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent group xbmc > /dev/null || groupadd -r xbmc - getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc - usermod -a -G xbmc,audio,video,network,optical xbmc - mkdir -p var/lib/xbmc - chown -R xbmc:xbmc var/lib/xbmc -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent passwd xbmc > /dev/null && userdel xbmc -} diff --git a/libre/xbmc-libre/xbmc.service b/libre/xbmc-libre/xbmc.service deleted file mode 100644 index d36ddb05a..000000000 --- a/libre/xbmc-libre/xbmc.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description = Starts instance of XBMC using xinit -After = systemd-user-sessions.service -Conflicts=getty@tty7.service - -[Service] -User = xbmc -Group = xbmc -PAMName=login -Type = simple -TTYPath=/dev/tty7 -ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7 -Restart = on-abort - -[Install] -WantedBy = multi-user.target -- cgit v1.2.3 From 937e44a5ddbbd780f75a399c007263e220ee2361 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 18:41:50 -0300 Subject: move xbmc-libre from [libre-testing] to [libre] --- libre-testing/xbmc-libre/PKGBUILD | 139 --------------------- .../xbmc-libre/enable-external-ffmpeg.patch | 100 --------------- libre-testing/xbmc-libre/polkit.rules | 12 -- libre-testing/xbmc-libre/xbmc.install | 19 --- libre-testing/xbmc-libre/xbmc.service | 16 --- libre/xbmc-libre/PKGBUILD | 139 +++++++++++++++++++++ libre/xbmc-libre/enable-external-ffmpeg.patch | 100 +++++++++++++++ libre/xbmc-libre/polkit.rules | 12 ++ libre/xbmc-libre/xbmc.install | 19 +++ libre/xbmc-libre/xbmc.service | 16 +++ 10 files changed, 286 insertions(+), 286 deletions(-) delete mode 100644 libre-testing/xbmc-libre/PKGBUILD delete mode 100644 libre-testing/xbmc-libre/enable-external-ffmpeg.patch delete mode 100644 libre-testing/xbmc-libre/polkit.rules delete mode 100644 libre-testing/xbmc-libre/xbmc.install delete mode 100644 libre-testing/xbmc-libre/xbmc.service create mode 100644 libre/xbmc-libre/PKGBUILD create mode 100644 libre/xbmc-libre/enable-external-ffmpeg.patch create mode 100644 libre/xbmc-libre/polkit.rules create mode 100644 libre/xbmc-libre/xbmc.install create mode 100644 libre/xbmc-libre/xbmc.service diff --git a/libre-testing/xbmc-libre/PKGBUILD b/libre-testing/xbmc-libre/PKGBUILD deleted file mode 100644 index f3931a11d..000000000 --- a/libre-testing/xbmc-libre/PKGBUILD +++ /dev/null @@ -1,139 +0,0 @@ -# $Id: PKGBUILD 110797 2014-05-07 10:38:28Z bpiotrowski $ -# Maintainer: Sergej Pupykin -# Contributor: Brad Fanella -# Contributor: [vEX] -# Contributor: Zeqadious -# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > -# Maintainer (Parabola): André Silva - -_prefix=/usr - -_pkgname=xbmc -pkgname=xbmc-libre -pkgver=13.0 -_codename=Gotham -pkgrel=2 -pkgdesc="A software media player and entertainment hub for digital media, without nonfree addons and unrar support" -arch=('i686' 'x86_64') -url="http://xbmc.org" -license=('GPL' 'custom') -replaces=$_pkgname -conflicts=$_pkgname -provides=$_pkgname=$pkgver -depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' - 'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate' - 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' - 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' - 'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' - 'avahi' 'bluez-libs' 'tinyxml' 'libcap' 'swig' 'taglib' 'libpulse' - 'java-runtime-headless' 'glu' 'mesa' 'shairplay' 'libxslt' 'ffmpeg') -makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' - 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' - 'lirc: remote controller support' - 'udisks: automount external drives' - 'upower: used to trigger power management functionality' - 'xorg-xinit: autostart xbmc' - 'pulseaudio: for pulseaudio support') -install="${_pkgname}.install" -mksource=( - "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/13.0-Gotham.tar.gz" - ) -source=( - "https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" - "xbmc.service" - "polkit.rules" - "enable-external-ffmpeg.patch" - ) -mkmd5sums=('54fafd985b5209859ba6faeb50b8f142') -md5sums=('87083f6d9be2861dfc8bddca959e3880' - 'de331663cc8adc94f2fe44a262cfff58' - '02f7951824ee13103344f36009c0ef2a' - '9f9b41cfc1e21b1e7d0bb10d6e85b3c6') - -mksource() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - - msg2 "remove nonfree unRAR utility files from the source" - rm -rv lib/UnrarXLib -} - -prepare() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - patch -p1 -i ../enable-external-ffmpeg.patch - - msg2 "Use addons.xml from Parabola server (without nonfree addons support)" - sed -i -e 's|mirrors[.]xbmc[.]org/addons/gotham/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/gotham/addons.xml|' addons/repository.xbmc.org/addon.xml -} - -build() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - - # Bootstrapping XBMC - ./bootstrap - - # Configuring XBMC - export PYTHON_VERSION=2 # external python v2 - ./configure --prefix=$_prefix --exec-prefix=$_prefix \ - --disable-debug \ - --enable-optimizations \ - --enable-gl \ - --enable-sdl \ - --enable-vaapi \ - --enable-vdpau \ - --enable-xvba \ - --enable-joystick \ - --enable-xrandr \ - --enable-rsxs \ - --enable-projectm \ - --enable-x11 \ - --enable-rtmp \ - --enable-samba \ - --enable-nfs \ - --enable-afpclient \ - --enable-airplay \ - --enable-airtunes \ - --enable-ffmpeg-libvorbis \ - --enable-dvdcss \ - --disable-hal \ - --enable-avahi \ - --enable-webserver \ - --enable-optical-drive \ - --enable-libbluray \ - --enable-texturepacker \ - --enable-udev \ - --enable-libusb \ - --enable-libcec \ - --enable-external-libraries \ - --disable-non-free - - # Now (finally) build - make -} - -package() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - # Running make install - make DESTDIR="${pkgdir}" install - - # run feh with python2 - sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc - - # Tools - msg2 "Tools" - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" - - # Licenses - msg2 "Copy licenses" - install -dm755 ${pkgdir}${_prefix}/share/licenses/${_pkgname} - for licensef in LICENSE.GPL copying.txt; do - mv ${pkgdir}${_prefix}/share/doc/xbmc/${licensef} \ - ${pkgdir}${_prefix}/share/licenses/${_pkgname} - done - - # install systemd service - install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service - install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-xbmc.rules -} -# vim:set ts=2 sw=2 et: diff --git a/libre-testing/xbmc-libre/enable-external-ffmpeg.patch b/libre-testing/xbmc-libre/enable-external-ffmpeg.patch deleted file mode 100644 index 2bc1aaf03..000000000 --- a/libre-testing/xbmc-libre/enable-external-ffmpeg.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff -rupN a/configure.in b/configure.in ---- a/configure.in 2014-05-03 21:03:25.000000000 +0000 -+++ b/configure.in 2014-05-07 09:56:30.039177391 +0000 -@@ -600,7 +600,7 @@ PKG_PROG_PKG_CONFIG - MAKE="${MAKE:-make}" - OBJDUMP="${OBJDUMP:-objdump}" - --use_external_ffmpeg=no -+use_external_ffmpeg=yes - use_static_ffmpeg=no - - # ffmpeg needs the output of uname -s (e.x. linux, darwin) for the target_os -@@ -632,7 +632,7 @@ case $host in - use_arch="x86" - use_cpu="i686" - fi -- use_static_ffmpeg=yes -+ use_static_ffmpeg=no - ;; - x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*) - ARCH="x86_64-linux" -@@ -640,7 +640,7 @@ case $host in - use_arch="x86_64" - use_cpu="x86_64" - fi -- use_static_ffmpeg=yes -+ use_static_ffmpeg=no - ;; - i386-*-freebsd*) - ARCH="x86-freebsd" -@@ -696,7 +696,7 @@ case $host in - use_sdl=no - use_x11=no - use_wayland=no -- use_static_ffmpeg=yes -+ use_static_ffmpeg=no - ;; - arm*-*linux-android*) - target_platform=target_android -diff -rupN a/lib/DllAvCodec.h b/lib/DllAvCodec.h ---- a/lib/DllAvCodec.h 2014-05-03 21:03:25.000000000 +0000 -+++ b/lib/DllAvCodec.h 2014-05-07 10:10:06.298165915 +0000 -@@ -43,6 +43,7 @@ extern "C" { - - #if (defined USE_EXTERNAL_FFMPEG) - #include -+ #include - #else - #include "libavcodec/avcodec.h" - #endif -diff -rupN a/lib/DllAvUtil.h b/lib/DllAvUtil.h ---- a/lib/DllAvUtil.h 2014-05-03 21:03:25.000000000 +0000 -+++ b/lib/DllAvUtil.h 2014-05-07 10:17:31.415798448 +0000 -@@ -31,33 +31,19 @@ - #endif - - extern "C" { --#if (defined USE_EXTERNAL_FFMPEG) -- #include -- // for av_get_default_channel_layout -- #include -- #include -- #include -- // for LIBAVCODEC_VERSION_INT: -- #include -- // for enum AVSampleFormat -- #include -- #include -- #include -- #include -- #if (defined USE_LIBAV_HACKS) -- #include "xbmc-libav-hacks/libav_hacks.h" -- #endif --#else -- #include "libavutil/avutil.h" -- //for av_get_default_channel_layout -- #include "libavutil/audioconvert.h" -- #include "libavutil/crc.h" -- #include "libavutil/opt.h" -- #include "libavutil/mem.h" -- #include "libavutil/fifo.h" -- // for enum AVSampleFormat -- #include "libavutil/samplefmt.h" --#endif -+#include -+#include -+// for av_get_default_channel_layout -+#include -+#include -+#include -+// for LIBAVCODEC_VERSION_INT: -+#include -+// for enum AVSampleFormat -+#include -+#include -+#include -+#include - } - - #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52,29,100) diff --git a/libre-testing/xbmc-libre/polkit.rules b/libre-testing/xbmc-libre/polkit.rules deleted file mode 100644 index 4b6d0fda0..000000000 --- a/libre-testing/xbmc-libre/polkit.rules +++ /dev/null @@ -1,12 +0,0 @@ -polkit.addRule(function(action, subject) { - if (subject.user == "xbmc") { - polkit.log("action=" + action); - polkit.log("subject=" + subject); - if (action.id.indexOf("org.freedesktop.login1.") == 0) { - return polkit.Result.YES; - } - if (action.id.indexOf("org.freedesktop.udisks.") == 0) { - return polkit.Result.YES; - } - } -}); diff --git a/libre-testing/xbmc-libre/xbmc.install b/libre-testing/xbmc-libre/xbmc.install deleted file mode 100644 index 8076fe2d3..000000000 --- a/libre-testing/xbmc-libre/xbmc.install +++ /dev/null @@ -1,19 +0,0 @@ -post_install() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent group xbmc > /dev/null || groupadd -r xbmc - getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc - usermod -a -G xbmc,audio,video,network,optical xbmc - mkdir -p var/lib/xbmc - chown -R xbmc:xbmc var/lib/xbmc -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor - [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications - getent passwd xbmc > /dev/null && userdel xbmc -} diff --git a/libre-testing/xbmc-libre/xbmc.service b/libre-testing/xbmc-libre/xbmc.service deleted file mode 100644 index d36ddb05a..000000000 --- a/libre-testing/xbmc-libre/xbmc.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description = Starts instance of XBMC using xinit -After = systemd-user-sessions.service -Conflicts=getty@tty7.service - -[Service] -User = xbmc -Group = xbmc -PAMName=login -Type = simple -TTYPath=/dev/tty7 -ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7 -Restart = on-abort - -[Install] -WantedBy = multi-user.target diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD new file mode 100644 index 000000000..2b8631f1b --- /dev/null +++ b/libre/xbmc-libre/PKGBUILD @@ -0,0 +1,139 @@ +# $Id: PKGBUILD 110797 2014-05-07 10:38:28Z bpiotrowski $ +# Maintainer: Sergej Pupykin +# Contributor: Brad Fanella +# Contributor: [vEX] +# Contributor: Zeqadious +# Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Maintainer (Parabola): André Silva + +_prefix=/usr + +_pkgname=xbmc +pkgname=xbmc-libre +pkgver=13.0 +_codename=Gotham +pkgrel=2.1 +pkgdesc="A software media player and entertainment hub for digital media (Gotham version), without nonfree addons and unrar support" +arch=('i686' 'x86_64') +url="http://xbmc.org" +license=('GPL' 'custom') +replaces=$_pkgname +conflicts=$_pkgname +provides=$_pkgname=$pkgver +depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' + 'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate' + 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' + 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' + 'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' + 'avahi' 'bluez-libs' 'tinyxml' 'libcap' 'swig' 'taglib' 'libpulse' + 'java-runtime-headless' 'glu' 'mesa' 'shairplay' 'libxslt' 'ffmpeg') +makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' + 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') +optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' + 'lirc: remote controller support' + 'udisks: automount external drives' + 'upower: used to trigger power management functionality' + 'xorg-xinit: autostart xbmc' + 'pulseaudio: for pulseaudio support') +install="${_pkgname}.install" +mksource=( + "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/13.0-Gotham.tar.gz" + ) +source=( + "https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" + "xbmc.service" + "polkit.rules" + "enable-external-ffmpeg.patch" + ) +mkmd5sums=('54fafd985b5209859ba6faeb50b8f142') +md5sums=('87083f6d9be2861dfc8bddca959e3880' + 'de331663cc8adc94f2fe44a262cfff58' + '02f7951824ee13103344f36009c0ef2a' + '9f9b41cfc1e21b1e7d0bb10d6e85b3c6') + +mksource() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + msg2 "remove nonfree unRAR utility files from the source" + rm -rv lib/UnrarXLib +} + +prepare() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + patch -p1 -i ../enable-external-ffmpeg.patch + + msg2 "Use addons.xml from Parabola server (without nonfree addons support)" + sed -i -e 's|mirrors[.]xbmc[.]org/addons/gotham/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/gotham/addons.xml|' addons/repository.xbmc.org/addon.xml +} + +build() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + # Bootstrapping XBMC + ./bootstrap + + # Configuring XBMC + export PYTHON_VERSION=2 # external python v2 + ./configure --prefix=$_prefix --exec-prefix=$_prefix \ + --disable-debug \ + --enable-optimizations \ + --enable-gl \ + --enable-sdl \ + --enable-vaapi \ + --enable-vdpau \ + --enable-xvba \ + --enable-joystick \ + --enable-xrandr \ + --enable-rsxs \ + --enable-projectm \ + --enable-x11 \ + --enable-rtmp \ + --enable-samba \ + --enable-nfs \ + --enable-afpclient \ + --enable-airplay \ + --enable-airtunes \ + --enable-ffmpeg-libvorbis \ + --enable-dvdcss \ + --disable-hal \ + --enable-avahi \ + --enable-webserver \ + --enable-optical-drive \ + --enable-libbluray \ + --enable-texturepacker \ + --enable-udev \ + --enable-libusb \ + --enable-libcec \ + --enable-external-libraries \ + --disable-non-free + + # Now (finally) build + make +} + +package() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + # Running make install + make DESTDIR="${pkgdir}" install + + # run feh with python2 + sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc + + # Tools + msg2 "Tools" + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" + + # Licenses + msg2 "Copy licenses" + install -dm755 ${pkgdir}${_prefix}/share/licenses/${_pkgname} + for licensef in LICENSE.GPL copying.txt; do + mv ${pkgdir}${_prefix}/share/doc/xbmc/${licensef} \ + ${pkgdir}${_prefix}/share/licenses/${_pkgname} + done + + # install systemd service + install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service + install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-xbmc.rules +} +# vim:set ts=2 sw=2 et: diff --git a/libre/xbmc-libre/enable-external-ffmpeg.patch b/libre/xbmc-libre/enable-external-ffmpeg.patch new file mode 100644 index 000000000..2bc1aaf03 --- /dev/null +++ b/libre/xbmc-libre/enable-external-ffmpeg.patch @@ -0,0 +1,100 @@ +diff -rupN a/configure.in b/configure.in +--- a/configure.in 2014-05-03 21:03:25.000000000 +0000 ++++ b/configure.in 2014-05-07 09:56:30.039177391 +0000 +@@ -600,7 +600,7 @@ PKG_PROG_PKG_CONFIG + MAKE="${MAKE:-make}" + OBJDUMP="${OBJDUMP:-objdump}" + +-use_external_ffmpeg=no ++use_external_ffmpeg=yes + use_static_ffmpeg=no + + # ffmpeg needs the output of uname -s (e.x. linux, darwin) for the target_os +@@ -632,7 +632,7 @@ case $host in + use_arch="x86" + use_cpu="i686" + fi +- use_static_ffmpeg=yes ++ use_static_ffmpeg=no + ;; + x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*) + ARCH="x86_64-linux" +@@ -640,7 +640,7 @@ case $host in + use_arch="x86_64" + use_cpu="x86_64" + fi +- use_static_ffmpeg=yes ++ use_static_ffmpeg=no + ;; + i386-*-freebsd*) + ARCH="x86-freebsd" +@@ -696,7 +696,7 @@ case $host in + use_sdl=no + use_x11=no + use_wayland=no +- use_static_ffmpeg=yes ++ use_static_ffmpeg=no + ;; + arm*-*linux-android*) + target_platform=target_android +diff -rupN a/lib/DllAvCodec.h b/lib/DllAvCodec.h +--- a/lib/DllAvCodec.h 2014-05-03 21:03:25.000000000 +0000 ++++ b/lib/DllAvCodec.h 2014-05-07 10:10:06.298165915 +0000 +@@ -43,6 +43,7 @@ extern "C" { + + #if (defined USE_EXTERNAL_FFMPEG) + #include ++ #include + #else + #include "libavcodec/avcodec.h" + #endif +diff -rupN a/lib/DllAvUtil.h b/lib/DllAvUtil.h +--- a/lib/DllAvUtil.h 2014-05-03 21:03:25.000000000 +0000 ++++ b/lib/DllAvUtil.h 2014-05-07 10:17:31.415798448 +0000 +@@ -31,33 +31,19 @@ + #endif + + extern "C" { +-#if (defined USE_EXTERNAL_FFMPEG) +- #include +- // for av_get_default_channel_layout +- #include +- #include +- #include +- // for LIBAVCODEC_VERSION_INT: +- #include +- // for enum AVSampleFormat +- #include +- #include +- #include +- #include +- #if (defined USE_LIBAV_HACKS) +- #include "xbmc-libav-hacks/libav_hacks.h" +- #endif +-#else +- #include "libavutil/avutil.h" +- //for av_get_default_channel_layout +- #include "libavutil/audioconvert.h" +- #include "libavutil/crc.h" +- #include "libavutil/opt.h" +- #include "libavutil/mem.h" +- #include "libavutil/fifo.h" +- // for enum AVSampleFormat +- #include "libavutil/samplefmt.h" +-#endif ++#include ++#include ++// for av_get_default_channel_layout ++#include ++#include ++#include ++// for LIBAVCODEC_VERSION_INT: ++#include ++// for enum AVSampleFormat ++#include ++#include ++#include ++#include + } + + #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(52,29,100) diff --git a/libre/xbmc-libre/polkit.rules b/libre/xbmc-libre/polkit.rules new file mode 100644 index 000000000..4b6d0fda0 --- /dev/null +++ b/libre/xbmc-libre/polkit.rules @@ -0,0 +1,12 @@ +polkit.addRule(function(action, subject) { + if (subject.user == "xbmc") { + polkit.log("action=" + action); + polkit.log("subject=" + subject); + if (action.id.indexOf("org.freedesktop.login1.") == 0) { + return polkit.Result.YES; + } + if (action.id.indexOf("org.freedesktop.udisks.") == 0) { + return polkit.Result.YES; + } + } +}); diff --git a/libre/xbmc-libre/xbmc.install b/libre/xbmc-libre/xbmc.install new file mode 100644 index 000000000..8076fe2d3 --- /dev/null +++ b/libre/xbmc-libre/xbmc.install @@ -0,0 +1,19 @@ +post_install() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent group xbmc > /dev/null || groupadd -r xbmc + getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc + usermod -a -G xbmc,audio,video,network,optical xbmc + mkdir -p var/lib/xbmc + chown -R xbmc:xbmc var/lib/xbmc +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent passwd xbmc > /dev/null && userdel xbmc +} diff --git a/libre/xbmc-libre/xbmc.service b/libre/xbmc-libre/xbmc.service new file mode 100644 index 000000000..d36ddb05a --- /dev/null +++ b/libre/xbmc-libre/xbmc.service @@ -0,0 +1,16 @@ +[Unit] +Description = Starts instance of XBMC using xinit +After = systemd-user-sessions.service +Conflicts=getty@tty7.service + +[Service] +User = xbmc +Group = xbmc +PAMName=login +Type = simple +TTYPath=/dev/tty7 +ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7 +Restart = on-abort + +[Install] +WantedBy = multi-user.target -- cgit v1.2.3 From 09464b8ea72058a474fde3055e28199f3ffdb96f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 19:03:13 -0300 Subject: xbmc-pvr-addons-lts: add new package to [libre] --- libre/xbmc-pvr-addons-lts/PKGBUILD | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 libre/xbmc-pvr-addons-lts/PKGBUILD diff --git a/libre/xbmc-pvr-addons-lts/PKGBUILD b/libre/xbmc-pvr-addons-lts/PKGBUILD new file mode 100644 index 000000000..540e90c45 --- /dev/null +++ b/libre/xbmc-pvr-addons-lts/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 110811 2014-05-07 15:05:32Z spupykin $ +# Maintainer: Sergej Pupykin +# Maintainer (Parabola): André Silva + +_pkgname=xbmc-pvr-addons +pkgname=xbmc-pvr-addons-lts +pkgver=20131106.Frodo +pkgrel=1 +pkgdesc="XBMC PVR add-ons for current stable xbmc" +arch=('i686' 'x86_64') +url="https://github.com/opdenkamp/xbmc-pvr-addons" +license=('GPL3') +depends=('xbmc-libre-lts' 'libmysqlclient') +makedepends=('git' 'libmysqlclient' 'boost') +optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend') +conflicts=('xbmc-pvr-addons-git' 'xbmc-pvr-addons') +source=("git://github.com/fetzerch/xbmc-pvr-addons.git#branch=frodo") +md5sums=('SKIP') + +build() { + cd "$srcdir/$_pkgname" + ./bootstrap + ./configure --prefix=/usr --enable-addons-with-dependencies + make +} + +package() { + cd "$srcdir/$_pkgname" + make DESTDIR="$pkgdir/" install +} -- cgit v1.2.3 From 2ccc241cd12422deaf1848fb2e8f0334ebd8f795 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 19:47:01 -0300 Subject: xbcm-libre: fix license --- libre/xbmc-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD index 2b8631f1b..ecfd94c80 100644 --- a/libre/xbmc-libre/PKGBUILD +++ b/libre/xbmc-libre/PKGBUILD @@ -16,7 +16,7 @@ pkgrel=2.1 pkgdesc="A software media player and entertainment hub for digital media (Gotham version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" -license=('GPL' 'custom') +license=('GPL') replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver -- cgit v1.2.3 From 4da914880e1a483d0f7e00523eb84933909f2669 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 19:47:18 -0300 Subject: xbcm-libre-lts: fix license and url source --- libre/xbmc-libre-lts/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD index b7cc316ff..6218ce8f5 100644 --- a/libre/xbmc-libre-lts/PKGBUILD +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -16,7 +16,7 @@ pkgrel=1 pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" -license=('GPL' 'custom') +license=('GPL') conflicts=$_pkgname provides=$_pkgname=$pkgver depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' @@ -34,7 +34,7 @@ optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' 'xorg-xinit: autostart xbmc') install="${_pkgname}.install" mksource=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz") -source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz" +source=("https://repo.parabolagnulinux.org/other/xbmc-libre/xbmc-libre-${pkgver}.tar.gz" "xbmc.service" "polkit.rules" "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285") -- cgit v1.2.3 From 7ea3eaa8314ff164af88a54b7d0963555a1e22c4 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 19:54:43 -0300 Subject: xbmc-libre{,-lts}: revert changes on license because there are files with GPL-Compatible licenses inside the source --- libre/xbmc-libre-lts/PKGBUILD | 2 +- libre/xbmc-libre/PKGBUILD | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD index 6218ce8f5..004342c37 100644 --- a/libre/xbmc-libre-lts/PKGBUILD +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -16,7 +16,7 @@ pkgrel=1 pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" -license=('GPL') +license=('GPL' 'custom') conflicts=$_pkgname provides=$_pkgname=$pkgver depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD index ecfd94c80..2b8631f1b 100644 --- a/libre/xbmc-libre/PKGBUILD +++ b/libre/xbmc-libre/PKGBUILD @@ -16,7 +16,7 @@ pkgrel=2.1 pkgdesc="A software media player and entertainment hub for digital media (Gotham version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" -license=('GPL') +license=('GPL' 'custom') replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver -- cgit v1.2.3 From dd8c9d58c75e0d64ed8b9d87c4f7eab99333ef6b Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 20:36:30 -0300 Subject: xbmc-libre-lts: fix provides --- libre/xbmc-libre-lts/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD index 004342c37..b280be314 100644 --- a/libre/xbmc-libre-lts/PKGBUILD +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -18,7 +18,7 @@ arch=('i686' 'x86_64') url="http://xbmc.org" license=('GPL' 'custom') conflicts=$_pkgname -provides=$_pkgname=$pkgver +provides=$_pkgname depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' -- cgit v1.2.3 From 99a44d69dc815c16275ec30f7de54f20958a369a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 20:46:25 -0300 Subject: mesa-libcl-10.1.3-1: updating version --- libre/mesa-libcl/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/mesa-libcl/PKGBUILD b/libre/mesa-libcl/PKGBUILD index 2ce5e0311..414abd6db 100644 --- a/libre/mesa-libcl/PKGBUILD +++ b/libre/mesa-libcl/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=mesa _pkgname=libcl pkgname=$pkgbase-$_pkgname _pkgflag=libre -pkgver=10.1.2 +pkgver=10.1.3 pkgrel=1 pkgdesc='Mesa 3-D OpenCL library' url=http://${pkgbase}3d.sourceforge.net @@ -30,7 +30,7 @@ provides=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx) conflicts=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx) replaces=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx) source=ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2 -sha512sums=fa1d2641b159cfc65116a64c69e776e6bd725e886e373e9d2fcc954560a3387e38cd2bea6165dc3de529eb9fbf86bedb5690eec3a12c0f75eee7aebb9e2527b5 +sha512sums=3c15b3c26db4d104450155c9b48264b6abd9fbe5b1bbe812299c9ce993cde54f8e0c1ffb2b25b9d46c818e870a514c41cac9b88fc1826d735bdf26fad498ce45 build() { cd $srcdir/${pkgbase^}-$pkgver -- cgit v1.2.3 From 7cf9c24d2754eba7b7e17bac69f836992ea596ba Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 20:46:54 -0300 Subject: lib32-mesa-libcl-10.1.3-1: updating version --- libre-multilib/lib32-mesa-libcl/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre-multilib/lib32-mesa-libcl/PKGBUILD b/libre-multilib/lib32-mesa-libcl/PKGBUILD index 6a1c79286..c8ba9aa3b 100644 --- a/libre-multilib/lib32-mesa-libcl/PKGBUILD +++ b/libre-multilib/lib32-mesa-libcl/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=mesa _pkgname=libcl pkgname=lib32-$pkgbase-$_pkgname _pkgflag=libre -pkgver=10.1.2 +pkgver=10.1.3 pkgrel=1 pkgdesc='Mesa 3-D OpenCL library (32-bit)' url=http://${pkgbase}3d.sourceforge.net @@ -32,7 +32,7 @@ provides=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-op conflicts=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-opencl-nvidia-304xx) replaces=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-opencl-nvidia-304xx) source=ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2 -sha512sums=fa1d2641b159cfc65116a64c69e776e6bd725e886e373e9d2fcc954560a3387e38cd2bea6165dc3de529eb9fbf86bedb5690eec3a12c0f75eee7aebb9e2527b5 +sha512sums=3c15b3c26db4d104450155c9b48264b6abd9fbe5b1bbe812299c9ce993cde54f8e0c1ffb2b25b9d46c818e870a514c41cac9b88fc1826d735bdf26fad498ce45 build() { cd $srcdir/${pkgbase^}-$pkgver -- cgit v1.2.3 From d89bce735bcfdcb5753143094d5581d29e8e9ec8 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 21:40:06 -0300 Subject: xbmc-libre-lts: move source to xbmc-libre-lts folder --- libre/xbmc-libre-lts/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD index b280be314..3629f181d 100644 --- a/libre/xbmc-libre-lts/PKGBUILD +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -34,7 +34,7 @@ optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' 'xorg-xinit: autostart xbmc') install="${_pkgname}.install" mksource=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz") -source=("https://repo.parabolagnulinux.org/other/xbmc-libre/xbmc-libre-${pkgver}.tar.gz" +source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" "xbmc.service" "polkit.rules" "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285") @@ -61,7 +61,7 @@ prepare() { sed -i -e 's:#include :#include :' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp # use addons.xml from Parabola server (without nonfree addons support) - sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml + sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre-lts/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml } build() { -- cgit v1.2.3 From 53f2b84c9e493ba429876a0f0ef6229dd70c1776 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 May 2014 22:35:34 -0300 Subject: calibre-libre-1.36.0-1: updating version --- libre/calibre-libre/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD index 249b8a665..8ea1541ec 100644 --- a/libre/calibre-libre/PKGBUILD +++ b/libre/calibre-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 110547 2014-05-03 08:51:00Z jelle $ +# $Id: PKGBUILD 110925 2014-05-09 19:15:05Z jelle $ # Maintainer: Jelle van der Waa # Maintainer: Daniel Wallace # Contributor: Giovanni Scafora @@ -9,7 +9,7 @@ _pkgname=calibre pkgname=calibre-libre -pkgver=1.35.0 +pkgver=1.36.0 pkgrel=1 pkgdesc="Ebook management application, without nonfree libunrar support" arch=('i686' 'x86_64' 'mips64el') @@ -32,8 +32,8 @@ source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver} 'desktop_integration.patch' 'calibre-mount-helper' 'libre.patch') -mkmd5sums=('fa98868fc6b446a8c22ef13475e6d224') -md5sums=('78e6d511b77c6cc485f92d81961f31b7' +mkmd5sums=('713a5a3e526201ca779cc72d93d6eaa5') +md5sums=('7f6ccc483cb2e1fe57fbd5d471b0805b' 'ece36dfd737fa4a346f0a0e59395e949' '675cd87d41342119827ef706055491e7' '64b6798f526165146084e447cc3d9e1a') -- cgit v1.2.3 From dd3f4f29a7541d814e5bf1fd95bed7b26ad11d24 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 10 May 2014 00:40:35 -0300 Subject: icedove-libre{,-nonprism}-1:24.5.0.deb2-1: updating version --- libre/icedove-libre/PKGBUILD | 4 ++-- nonprism/icedove-libre-nonprism/PKGBUILD | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD index b12843ed0..61fb92709 100644 --- a/libre/icedove-libre/PKGBUILD +++ b/libre/icedove-libre/PKGBUILD @@ -4,7 +4,7 @@ # We're getting this from Debian Sid _debname=icedove _debver=24.5.0 -_debrel=deb1 +_debrel=deb2 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -31,7 +31,7 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.xz" ${_pkgname}.desktop) options=(!emptydirs) md5sums=('f5fdb857b1da3e7419acbd5922b4966d' - '12e9a383b4c2e8d297b82ca878e8f905' + '051ee07e7ca1f28b114e60524a7f72d2' 'c46cf2a671c8fdefcabd4c87e38f3d40' '5a53179d14ae9631b7afe5e4d0fc0b25' 'e785e0c267f4435ae1a9aa0b03bcacfb') diff --git a/nonprism/icedove-libre-nonprism/PKGBUILD b/nonprism/icedove-libre-nonprism/PKGBUILD index 1948584d9..8aca600e8 100644 --- a/nonprism/icedove-libre-nonprism/PKGBUILD +++ b/nonprism/icedove-libre-nonprism/PKGBUILD @@ -4,7 +4,7 @@ # We're getting this from Debian Sid _debname=icedove _debver=24.5.0 -_debrel=deb1 +_debrel=deb2 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -31,7 +31,7 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.xz" ${_pkgname}.desktop) options=(!emptydirs) md5sums=('f5fdb857b1da3e7419acbd5922b4966d' - '12e9a383b4c2e8d297b82ca878e8f905' + '051ee07e7ca1f28b114e60524a7f72d2' 'c46cf2a671c8fdefcabd4c87e38f3d40' '5a53179d14ae9631b7afe5e4d0fc0b25' 'e785e0c267f4435ae1a9aa0b03bcacfb') -- cgit v1.2.3 From 8d2df7c2c8e98b1a9243671155e3e5f3b30141fe Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 10 May 2014 21:04:01 -0400 Subject: update pcr/git-remote-mediawiki --- pcr/git-remote-mediawiki/PKGBUILD | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/pcr/git-remote-mediawiki/PKGBUILD b/pcr/git-remote-mediawiki/PKGBUILD index 8fb47724a..d5ffd33be 100644 --- a/pcr/git-remote-mediawiki/PKGBUILD +++ b/pcr/git-remote-mediawiki/PKGBUILD @@ -1,10 +1,12 @@ +# Maintainer: Luke Shumaker + pkgname=git-remote-mediawiki url=https://github.com/moy/Git-Mediawiki/wiki license=('GPL') # GPLv2+ pkgdesc="Support for MediaWiki remotes in git" -pkgver=1.8.5.1 -pkgrel=2 +pkgver=1.9.2 +pkgrel=1 arch=('any') depends=( git @@ -14,18 +16,15 @@ depends=( perl-mediawiki-api ) -_symlink() { - local src=$1 - local dst=$2 - mkdir -p "${pkgdir}/${dst%/*}" - ln -s "$(realpath "$src" --relative-to="${dst%/*}")" "${pkgdir}/${dst}" -} - package() { - _mwdir=/usr/share/git/mw-to-git - _perldir=/usr/share/perl5/vendor_perl - _gitdir=/usr/lib/git-core - _symlink ${_mwdir}/Git/Mediawiki.pm ${_perldir}/Git/Mediawiki.pm - _symlink ${_mwdir}/git-mw.perl ${_gitdir}/git-mw - _symlink ${_mwdir}/git-remote-mediawiki.perl ${_gitdir}/git-remote-mediawiki + local _mwdir=/usr/share/git/mw-to-git + local _perldir=/usr/share/perl5/vendor_perl + local _gitdir=/usr/lib/git-core + + install -d "$pkgdir"/$_perldir/Git + install -d "$pkgdir"/$_gitdir + + ln -srT "$pkgdir"/${_mwdir}/Git/Mediawiki.pm "$pkgdir"/${_perldir}/Git/Mediawiki.pm + ln -srT "$pkgdir"/${_mwdir}/git-mw.perl "$pkgdir"/${_gitdir}/git-mw + ln -srT "$pkgdir"/${_mwdir}/git-remote-mediawiki.perl "$pkgdir"/${_gitdir}/git-remote-mediawiki } -- cgit v1.2.3 From 95acc0a287009c9e91037b6244760c32d4d8499d Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 10 May 2014 21:05:33 -0400 Subject: add pcr/git-send-email --- pcr/git-send-email/PKGBUILD | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 pcr/git-send-email/PKGBUILD diff --git a/pcr/git-send-email/PKGBUILD b/pcr/git-send-email/PKGBUILD new file mode 100644 index 000000000..22d484073 --- /dev/null +++ b/pcr/git-send-email/PKGBUILD @@ -0,0 +1,12 @@ +# Maintainer: Luke Shumaker + +pkgname=git-send-email +pkgver=1.9.2 +pkgdesc="Meta-package for packages nescessary for git send-email" +url="http://git-scm.com/" +license=('GPL2') + +pkgrel=1 +arch=(any) + +depends=(git perl-mime-tools perl-net-smtp-ssl perl-authen-sasl) -- cgit v1.2.3 From 4e0f274da209abe10515d3e7d4878ba5a403b396 Mon Sep 17 00:00:00 2001 From: "coadde [Márcio Alexandre Silva Delgado]" Date: Sun, 11 May 2014 18:22:04 -0300 Subject: update retroshare --- pcr/retroshare/PKGBUILD | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/pcr/retroshare/PKGBUILD b/pcr/retroshare/PKGBUILD index 36bfeb18e..f52c614c5 100644 --- a/pcr/retroshare/PKGBUILD +++ b/pcr/retroshare/PKGBUILD @@ -4,7 +4,7 @@ # Contributor: funkyou # Set this to true to build and install retroshare-nogui -_build_nogui=false +_build_nogui=true # Set this to true to build and install the plugins _build_linkscloud=true @@ -14,20 +14,21 @@ _build_voip=true ### Nothing to be changed below this line ### pkgname=retroshare -pkgver=0.5.4e -pkgrel=3 +pkgver=0.5.5c +pkgsvn=0.7068 +pkgrel=2 pkgdesc="Serverless encrypted instant messenger with filesharing, chatgroups, e-mail." -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'mips64el') url="http://retroshare.sourceforge.net/" license=('LGPL' 'GPL') depends=('qt4' 'libupnp' 'libgnome-keyring' 'libxss') install="${pkgname}.install" -source=(http://sourceforge.net/projects/retroshare/files/RetroShare/${pkgver}/RetroShare-v${pkgver}.tar.gz \ +source=(http://sourceforge.net/projects/retroshare/files/RetroShare/${pkgver}/${pkgname}_${pkgver::5}-${pkgsvn}.tar.gz \ ${pkgname}.install \ ${pkgname}.desktop) -sha256sums=('a1cc85327213aa3bab0eac0923b546472bb41aacd56a11f5f3be1ba2315a0bda' +sha256sums=('772b0d7916137e81fc0f5ea14f0a8fa70d3d7acb701ca0b0c1c66018f2255650' '4b50547648612e9091536205402a4da9ddea9c18c0f71e5d6cd30b2226f206d9' '70be00968f2477e368f75393f193e76f366fff2dadab869c855e92048060cf29') @@ -36,8 +37,10 @@ sha256sums=('a1cc85327213aa3bab0eac0923b546472bb41aacd56a11f5f3be1ba2315a0bda' [[ $_build_voip == true ]] && depends=(${depends[@]} 'speex') [[ $_build_feedreader == true ]] && depends=(${depends[@]} 'curl' 'libxslt') +_rssrcdir="${pkgname}-${pkgver::5}/src" + build() { - local _srcdir="${srcdir}/retroshare-0.5.4/src" + local _srcdir="${srcdir}/$_rssrcdir" local _qmake='qmake-qt4' msg "Compiling OpenPGP-SDK..." @@ -63,7 +66,7 @@ build() { if [[ "$_build_voip" == "true" ]] ; then msg "Compiling VOIP plugin..." cd "${_srcdir}/plugins/VOIP" - sed -i 's/lessThan.*/true {/' VOIP.pro + #sed -i 's/lessThan.*/true {/' VOIP.pro $_qmake make fi @@ -87,14 +90,14 @@ build() { cd "${_srcdir}/rsctrl/src" make cd "${_srcdir}/retroshare-nogui/src" - sed -i 's/pkg-config --atleast-version 0.5.4 libssh/pkg-config --atleast-version 0.5 libssh/' retroshare-nogui.pro + #sed -i 's/pkg-config --atleast-version 0.5.4 libssh/pkg-config --atleast-version 0.5 libssh/' retroshare-nogui.pro $_qmake make fi } package() { - local _srcdir="${srcdir}/retroshare-0.5.4/src" + local _srcdir="${srcdir}/$_rssrcdir" # --- Install Files --- @@ -144,5 +147,5 @@ package() { # Skins cp -r "${_srcdir}/retroshare-gui/src/qss" "${pkgdir}/usr/share/RetroShare/" - find "${pkgdir}/usr/share/RetroShare/" -depth -type d -name ".svn" -exec rm -r {} \; + #find "${pkgdir}/usr/share/RetroShare/" -depth -type d -name ".svn" -exec rm -r {} \; } -- cgit v1.2.3 From 248036177b39c5aaf908d7658cd1c629efd88bf6 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 11 May 2014 22:53:04 -0300 Subject: pacman-4.1.2-6: be pedantic about quoting and use -fstack-protector-strong --- libre/pacman/PKGBUILD | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD index 15d16466d..4f578475b 100644 --- a/libre/pacman/PKGBUILD +++ b/libre/pacman/PKGBUILD @@ -1,11 +1,11 @@ # vim: set ts=2 sw=2 et: -# $Id: PKGBUILD 202690 2013-12-24 21:35:48Z dreisner $ +# $Id: PKGBUILD 211992 2014-05-04 02:54:25Z allan $ # Maintainer: Dan McGee # Maintainer: Dave Reisner pkgname=pacman pkgver=4.1.2 -pkgrel=5.2 +pkgrel=6 pkgdesc="A library-based package manager with dependency support" arch=('i686' 'x86_64' 'mips64el') url="http://www.archlinux.org/pacman/" @@ -33,7 +33,7 @@ md5sums=('063c8b0ff6bdf903dc235445525627cd' 'f0f310df411f943dbc4e2dd376c88662') build() { - cd $srcdir/$pkgname-$pkgver + cd "$pkgname-$pkgver" ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --enable-doc \ @@ -48,47 +48,48 @@ check() { } package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install - make DESTDIR=$pkgdir -C contrib install + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" -C contrib install # install Arch specific stuff - install -dm755 $pkgdir/etc - install -m644 $srcdir/pacman.conf.$CARCH $pkgdir/etc/pacman.conf - - case "$CARCH" in + install -dm755 "$pkgdir/etc" + install -m644 "$srcdir/pacman.conf.$CARCH" "$pkgdir/etc/pacman.conf" + + case $CARCH in i686) mycarch="i686" mychost="i686-pc-linux-gnu" - myflags="-march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4" + myflags="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4" myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu" ;; x86_64) mycarch="x86_64" mychost="x86_64-unknown-linux-gnu" - myflags="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4" + myflags="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4" myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu" ;; mips64el) mycarch="mips64el" mychost="mips64el-unknown-linux-gnu" - myflags="-O2 -march=mips3 -mtune=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop -fstack-protector --param=ssp-buffer-size=4" + myflags="-O2 -march=mips3 -mtune=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop -fstack-protector-strong --param=ssp-buffer-size=4" myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro" ;; esac - install -m644 $srcdir/makepkg.conf $pkgdir/etc/ + # set things correctly in the default conf file - sed -i $pkgdir/etc/makepkg.conf \ + install -m644 "$srcdir/makepkg.conf" "$pkgdir/etc" + sed -i "$pkgdir/etc/makepkg.conf" \ -e "s|@CARCH[@]|$mycarch|g" \ -e "s|@CHOST[@]|$mychost|g" \ -e "s|@LDFLAGS[@]|$myldflags|g" \ -e "s|@CARCHFLAGS[@]|$myflags|g" - + # put bash_completion in the right location - install -dm755 ${pkgdir}/usr/share/bash-completion/completions - mv ${pkgdir}/etc/bash_completion.d/pacman \ - ${pkgdir}/usr/share/bash-completion/completions - rmdir ${pkgdir}/etc/bash_completion.d + install -dm755 "$pkgdir/usr/share/bash-completion/completions" + mv "$pkgdir/etc/bash_completion.d/pacman" "$pkgdir/usr/share/bash-completion/completions" + rmdir "$pkgdir/etc/bash_completion.d" for f in makepkg pacman-key; do ln -s pacman "$pkgdir/usr/share/bash-completion/completions/$f" -- cgit v1.2.3 From b9dd965fd2bdf4388b48181032d059a56fb4fac7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 11 May 2014 22:58:39 -0300 Subject: cups-filters-libre-1.0.53-2: poppler 0.26.0 rebuild --- libre/cups-filters-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD index 6bef7096c..f41ab02e0 100644 --- a/libre/cups-filters-libre/PKGBUILD +++ b/libre/cups-filters-libre/PKGBUILD @@ -4,7 +4,7 @@ pkgname=cups-filters-libre _pkgname=cups-filters pkgver=1.0.53 -pkgrel=1 +pkgrel=2 pkgdesc="OpenPrinting CUPS Filters, without foomatic-db-nonfree recommendation" arch=('i686' 'x86_64') url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting" -- cgit v1.2.3 From c6faf25856d75adaf83cf8f74baa775c1d2839dd Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 11 May 2014 23:00:59 -0300 Subject: doublecmd-libre-0.5.9-2: rebuild fixes FS#40230 => https://bugs.archlinux.org/task/40230 --- libre/doublecmd-libre/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/doublecmd-libre/PKGBUILD b/libre/doublecmd-libre/PKGBUILD index ad04bab90..17b1aef3f 100644 --- a/libre/doublecmd-libre/PKGBUILD +++ b/libre/doublecmd-libre/PKGBUILD @@ -1,5 +1,5 @@ # vim:set ft=sh: -# $Id: PKGBUILD 108140 2014-03-23 19:43:34Z idevolder $ +# $Id: PKGBUILD 110952 2014-05-10 14:08:05Z idevolder $ # Maintainer: BlackIkeEagle # Contributor: (sirocco AT ngs.ru) @@ -8,7 +8,7 @@ pkgbase=doublecmd-libre pkgname=('doublecmd-libre-gtk2' 'doublecmd-libre-qt') pkgver=0.5.9 _helpver=0.5.5 -pkgrel=1.2 +pkgrel=2 url="http://doublecmd.sourceforge.net/" arch=('i686' 'x86_64') license=('GPL') -- cgit v1.2.3 From 575127b3d909f886e87526c3e9369fe690d862c2 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 11 May 2014 23:25:18 -0300 Subject: grub-1:2.02.beta2-3: remove 09_parabola config --- libre/grub/10_linux.in.patch | 31 ------------- libre/grub/PKGBUILD | 20 ++++---- .../grub-10_linux-detect-parabola-initramfs.patch | 54 ++++++++++++++++++++++ .../grub/grub-10_linux-rebrand-free-distros.patch | 31 +++++++++++++ 4 files changed, 96 insertions(+), 40 deletions(-) delete mode 100644 libre/grub/10_linux.in.patch create mode 100644 libre/grub/grub-10_linux-detect-parabola-initramfs.patch create mode 100644 libre/grub/grub-10_linux-rebrand-free-distros.patch 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 index ecf9bade2..b7b7b80bd 100644 --- a/libre/grub/PKGBUILD +++ b/libre/grub/PKGBUILD @@ -15,7 +15,7 @@ _UNIFONT_VER="6.3.20131217" pkgname="grub" pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)" pkgver=2.02.beta2 -pkgrel=2.1 +pkgrel=3 epoch="1" url="https://www.gnu.org/software/grub/" arch=('x86_64' 'i686') @@ -43,22 +43,23 @@ 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-10_linux-detect-parabola-initramfs.patch' 'grub-add-GRUB_COLOR_variables.patch' - '09_parabola' '60_memtest86+' 'grub.default' - '10_linux.in.patch') + 'grub-10_linux-rebrand-free-distros.patch') + md5sums=('SKIP' 'SKIP' '728b7439ac733a7c0d56049adec364c7' 'SKIP' + '945527e0de8d384166a4cf23439ae9ee' 'e506ae4a9f9f7d1b765febfa84e10d48' - '9f67330f2979a153acb32af706e0c094' 'be55eabc102f2c60b38ed35c203686d6' '52d374e0194e3f2e39ff7c92ecd58a6c' 'b23a144b7001c88734b79ed3bec491c4') -pkgver() { +_pkgver() { cd "${srcdir}/grub-${_pkgver}/" echo "$(git describe --tags)" | sed -e 's|grub.||g' -e 's|-|\.|g' } @@ -67,6 +68,10 @@ prepare() { cd "${srcdir}/grub-${_pkgver}/" + msg "Patch to detect of Parabola GNU/Linux-libre initramfs images by grub-mkconfig" + patch -Np1 -i "${srcdir}/grub-10_linux-detect-parabola-initramfs.patch" + echo + 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" @@ -76,7 +81,7 @@ prepare() { 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" + patch -Np1 -i "${srcdir}/grub-10_linux-rebrand-free-distros.patch" echo msg "Fix mkinitcpio 'rw' FS#36275" @@ -237,9 +242,6 @@ _package_grub-common_and_bios() { 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+" diff --git a/libre/grub/grub-10_linux-detect-parabola-initramfs.patch b/libre/grub/grub-10_linux-detect-parabola-initramfs.patch new file mode 100644 index 000000000..18d9d520c --- /dev/null +++ b/libre/grub/grub-10_linux-detect-parabola-initramfs.patch @@ -0,0 +1,54 @@ +From b470ffd22e43acc7c11231180187a720efd88de1 Mon Sep 17 00:00:00 2001 +From: Keshav Amburay +Date: Sat, 5 Apr 2014 20:40:51 -0400 +Subject: [PATCH] 10_linux: Detect Arch Linux main and fallback initramfs + images + +--- + util/grub.d/10_linux.in | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in +index 00d1931..7d4086b 100644 +--- a/util/grub.d/10_linux.in ++++ b/util/grub.d/10_linux.in +@@ -81,6 +81,8 @@ linux_entry () + case $type in + recovery) + title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;; ++ fallback) ++ title="$(gettext_printf "%s, with Linux %s (fallback initramfs)" "${os}" "${version}")" ;; + *) + title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;; + esac +@@ -180,7 +182,7 @@ while [ "x$list" != "x" ] ; do + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` +- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` ++ version=`echo $basename | sed -e "s,vmlinuz-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + +@@ -236,6 +238,18 @@ while [ "x$list" != "x" ] ; do + + linux_entry "${OS}" "${version}" advanced \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" ++ ++ if test -e "${dirname}/initramfs-${version}-fallback.img" ; then ++ initrd="initramfs-${version}-fallback.img" ++ ++ if test -n "${initrd}" ; then ++ gettext_printf "Found fallback initramfs image: %s\n" "${dirname}/${initrd}" >&2 ++ fi ++ ++ linux_entry "${OS}" "${version}" fallback \ ++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" ++ fi ++ + if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then + linux_entry "${OS}" "${version}" recovery \ + "single ${GRUB_CMDLINE_LINUX}" +-- +1.9.1 + diff --git a/libre/grub/grub-10_linux-rebrand-free-distros.patch b/libre/grub/grub-10_linux-rebrand-free-distros.patch new file mode 100644 index 000000000..c9285e699 --- /dev/null +++ b/libre/grub/grub-10_linux-rebrand-free-distros.patch @@ -0,0 +1,31 @@ +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 + -- cgit v1.2.3 From 4dc53a369d9ea34ca6d6966d47e8cd667efba273 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 11 May 2014 23:33:10 -0300 Subject: ice{cat,weasel}-firebug-1.12.8-1: updating version --- libre/icecat-firebug/PKGBUILD | 8 +++----- libre/iceweasel-firebug/PKGBUILD | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/libre/icecat-firebug/PKGBUILD b/libre/icecat-firebug/PKGBUILD index a6ae920fd..838440097 100644 --- a/libre/icecat-firebug/PKGBUILD +++ b/libre/icecat-firebug/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 108086 2014-03-22 15:16:00Z speps $ +# $Id: PKGBUILD 111003 2014-05-11 21:13:52Z speps $ # Maintainer: speps pkgname=icecat-firebug -pkgver=1.12.7 +pkgver=1.12.8 pkgrel=1 pkgdesc="IceCat plugin with tools for web development." arch=(any) @@ -12,11 +12,9 @@ groups=('icecat-addons') depends=('icecat') provides=('firebug' firefox-firebug=$pkgver) source=("${url}releases/firebug/${pkgver%.*}/firebug-$pkgver.xpi") -md5sums=('4d1580a5f6cee3c24c7deedd14a60862') +md5sums=('b93528ff22c76f6c3f63f81fe5e49496') package() { - cd "$srcdir" - # extension _dest="$pkgdir/usr/lib/icecat/browser/extensions/firebug@software.joehewitt.com" find . -type d -exec install -d {} $_dest/{} \; diff --git a/libre/iceweasel-firebug/PKGBUILD b/libre/iceweasel-firebug/PKGBUILD index f57abe28d..73eb462d4 100644 --- a/libre/iceweasel-firebug/PKGBUILD +++ b/libre/iceweasel-firebug/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 108086 2014-03-22 15:16:00Z speps $ +# $Id: PKGBUILD 111003 2014-05-11 21:13:52Z speps $ # Maintainer: speps pkgname=iceweasel-firebug -pkgver=1.12.7 +pkgver=1.12.8 pkgrel=1 pkgdesc="Iceweasel plugin with tools for web development." arch=(any) @@ -12,11 +12,9 @@ groups=('iceweasel-addons') depends=('iceweasel-libre') provides=('firebug' firefox-firebug=$pkgver) source=("${url}releases/firebug/${pkgver%.*}/firebug-$pkgver.xpi") -md5sums=('4d1580a5f6cee3c24c7deedd14a60862') +md5sums=('b93528ff22c76f6c3f63f81fe5e49496') package() { - cd "$srcdir" - # extension _dest="$pkgdir/usr/lib/iceweasel/browser/extensions/firebug@software.joehewitt.com" find . -type d -exec install -d {} $_dest/{} \; -- cgit v1.2.3 From 737ca56b4c567741c18c6ff94b76daae32446567 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 11 May 2014 23:44:22 -0300 Subject: linux-libre-grsec-3.14.3.201405101947-1: updating version --- libre/linux-libre-grsec/PKGBUILD | 8 ++++---- libre/linux-libre-grsec/config.i686 | 4 ++-- libre/linux-libre-grsec/config.x86_64 | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index 5d1d2da74..a2b1c5b96 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -14,7 +14,7 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.14 _sublevel=3 _grsecver=3.0 -_timestamp=201405071928 +_timestamp=201405101947 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 @@ -51,10 +51,10 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' - 'ca5bd99e3ee12836e2442c096fa2af7fdf9f75f750a471a0c0e981b08abdd330' + '5b47c06c61ed7c5655e31bc4ac221d4e605163b90bf3ee95a891466825597f78' 'SKIP' - '16ee96f4e9c5686f5fc72242932e872b26c5ad7c8b8c022ff2a3fe68f6c1a6f0' - 'ea3eec6e11c4feda78493c15c89defcfa482597d069b3c7c9b7bf60121d24ad7' + '0b6dbdf4d1677a39b9a0d55e8d7c66fe644fa77d769e3b673064181222b17467' + 'e3d67cfeb02e92c9fcb9ef729422e4dff938071706394d9e451a2ebe04e2c9a4' '9d2f34f1a8c514a7117b9b017a1f7312fb351f4d0b079eed102f89361534d486' 'c5451d5e1eafc4f8d28b1a2958ec3102c124433a414a86450fc32058e004156b' '55bf07738a3286168a7929ae16dbca29defd14e77b9d24c487ae4c3d12bb9eb9' diff --git a/libre/linux-libre-grsec/config.i686 b/libre/linux-libre-grsec/config.i686 index fc977efe5..845032842 100644 --- a/libre/linux-libre-grsec/config.i686 +++ b/libre/linux-libre-grsec/config.i686 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.14.2-1 Kernel Configuration +# Linux/x86 3.14.3-1 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -6221,7 +6221,7 @@ CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_PER_CPU_MAPS is not set # CONFIG_DEBUG_HIGHMEM is not set CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -# CONFIG_DEBUG_STACKOVERFLOW is not set +CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_ARCH_KMEMCHECK=y # CONFIG_DEBUG_SHIRQ is not set diff --git a/libre/linux-libre-grsec/config.x86_64 b/libre/linux-libre-grsec/config.x86_64 index d1e29cf01..68986d57c 100644 --- a/libre/linux-libre-grsec/config.x86_64 +++ b/libre/linux-libre-grsec/config.x86_64 @@ -6002,7 +6002,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -# CONFIG_DEBUG_STACKOVERFLOW is not set +CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_ARCH_KMEMCHECK=y # CONFIG_DEBUG_SHIRQ is not set -- cgit v1.2.3 From 7ed6d7bc556b96d62cc514f4a79eefa71e9b3172 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 11 May 2014 23:54:26 -0300 Subject: nss-3.16.1-1: updating version --- libre/nss/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libre/nss/PKGBUILD b/libre/nss/PKGBUILD index 218c331b2..1344d4194 100644 --- a/libre/nss/PKGBUILD +++ b/libre/nss/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 209930 2014-04-09 10:55:26Z jgc $ +# $Id: PKGBUILD 212171 2014-05-09 18:25:02Z jgc $ # Maintainer: Jan de Groot # Maintainer (Parabola): André Silva # Contributor (Parabola): Luke Shumaker pkgname=nss -pkgver=3.16 -pkgrel=1.1 +pkgver=3.16.1 +pkgrel=1 pkgdesc="Mozilla Network Security Services, with CAcert CA certificates support" arch=(i686 x86_64) url="http://www.mozilla.org/projects/security/pki/nss/" license=('MPL' 'GPL') -_nsprver=4.10.4 +_nsprver=4.10.5 depends=("nspr>=${_nsprver}" 'sqlite' 'zlib' 'sh') makedepends=('perl') options=('!strip' '!makeflags' 'staticlibs') @@ -19,7 +19,7 @@ source=(ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/s nss-config.in ssl-renegotiate-transitional.patch add_cacert_ca_certs.patch) -sha1sums=('981dc6ef2f1e69ec7e2b277ce27c7005e9837f95' +sha1sums=('450a88dde8c7e4533507ac8340dbf94be28a759b' 'aa5b2c0aa38d3c1066d511336cf28d1333e3aebd' 'cb744cc3e56b604e4754bc3c7d9f25bb9a0a136c' '8a964a744ba098711b80c0d279a2993524e8eb92' -- cgit v1.2.3 From c579f1016d2a4cd154fb7f0528876e9b6c1a18d9 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 00:03:34 -0300 Subject: sdl-libre-1.2.15-6: missing symbol FS#40292 => https://bugs.archlinux.org/task/40292 --- libre/sdl-libre/PKGBUILD | 11 ++++--- libre/sdl-libre/X11_KeyToUnicode.patch | 52 ++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 libre/sdl-libre/X11_KeyToUnicode.patch diff --git a/libre/sdl-libre/PKGBUILD b/libre/sdl-libre/PKGBUILD index 21250fa60..18356ed03 100644 --- a/libre/sdl-libre/PKGBUILD +++ b/libre/sdl-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 198628 2013-10-31 13:07:39Z heftig $ +# $Id: PKGBUILD 212210 2014-05-10 21:41:06Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) # Contributor: Allan McRae # Contributor: dorphell @@ -8,7 +8,7 @@ pkgname=sdl-libre pkgver=1.2.15 -pkgrel=5 +pkgrel=6 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard, without nonfree riva_mmio.h file" arch=('i686' 'x86_64') url="http://www.libsdl.org" @@ -28,7 +28,8 @@ source=(https://repo.parabolagnulinux.org/other/$pkgname/SDL-libre-${pkgver}.tar sdl-1.2.14-disable-mmx.patch fix_joystick_misc_axes.diff libsdl-1.2.15-resizing.patch - sdl_x11sym.patch) + sdl_x11sym.patch + X11_KeyToUnicode.patch) mkmd5sums=('9d96df8417572a2afb781a7c4c811a85' '5c665f72b8a2adc97a91f6db6f2da79a') md5sums=('c6e53ef16fa347ed066c3d68fe93c378' @@ -36,7 +37,8 @@ md5sums=('c6e53ef16fa347ed066c3d68fe93c378' 'e5c16b7611f62c7cb25f0534eff68852' '687586a108b597a2a6b73070c1d37e51' '3dd50347d8856160a9cbd7f80383a1f8' - '148b285bccee9d21bb96db807363b962') + '148b285bccee9d21bb96db807363b962' + 'edea272dff4698470877c016d818918d') mksource() { cd SDL-$pkgver @@ -50,6 +52,7 @@ prepare() { patch -Np1 -i ../fix_joystick_misc_axes.diff patch -Np1 -i ../libsdl-1.2.15-resizing.patch patch -Np0 -i ../sdl_x11sym.patch + patch -Np1 -i ../X11_KeyToUnicode.patch } build() { diff --git a/libre/sdl-libre/X11_KeyToUnicode.patch b/libre/sdl-libre/X11_KeyToUnicode.patch new file mode 100644 index 000000000..5f0f325b1 --- /dev/null +++ b/libre/sdl-libre/X11_KeyToUnicode.patch @@ -0,0 +1,52 @@ + +# HG changeset patch +# User Sam Lantinga +# Date 1327258041 18000 +# Node ID 900a0fae90ca65cff55a70a17b9ec39d2ddccbcf +# Parent 5273dfd19a5e8c5736a0d417bd441f704c5355f8 +Fixed bug 1390 - X11_KeyToUnicode + +manuel.montezelo 2012-01-22 08:56:18 PST + +We had the following bug report at Debian: +http://bugs.debian.org/376560 + +Same one in Ubuntu: +https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/66217 + +We've been including a patch since then (attached) to actually export the +symbol, since 2006. In the last release the function seems to be there, alive +and kicking. + +It's affecting other people too: +http://www.garagegames.com/community/forums/viewthread/52287 + +diff -r 5273dfd19a5e -r 900a0fae90ca src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Sat Jan 21 12:06:51 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Sun Jan 22 13:47:21 2012 -0500 +@@ -1246,8 +1246,11 @@ + * sequences (dead accents, compose key sequences) will not work since the + * state has been irrevocably lost. + */ ++extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod); ++ + Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers) + { ++ static int warning = 0; + struct SDL_VideoDevice *this = current_video; + char keybuf[32]; + int i; +@@ -1255,6 +1258,12 @@ + XKeyEvent xkey; + Uint16 unicode; + ++ if ( warning ) { ++ warning = 0; ++ fprintf(stderr, "WARNING: Application is using X11_KeyToUnicode().\n"); ++ fprintf(stderr, "This is not an official SDL function, please report this as a bug.\n"); ++ } ++ + if ( !this || !SDL_Display ) { + return 0; + } + -- cgit v1.2.3 From 92306b387305e9962be2e72b85a0a187db26f3f8 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 00:10:04 -0300 Subject: spectrwm-libre-2.5.1-1: updating version --- libre/spectrwm-libre/PKGBUILD | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libre/spectrwm-libre/PKGBUILD b/libre/spectrwm-libre/PKGBUILD index c1ea8c449..2a45650fe 100644 --- a/libre/spectrwm-libre/PKGBUILD +++ b/libre/spectrwm-libre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 106288 2014-02-26 16:09:20Z kkeen $ +# $Id: PKGBUILD 110857 2014-05-08 17:25:29Z kkeen $ # Maintainer: Kyle Keen # Contributor: Christoph Zeiler _pkgname=spectrwm pkgname=spectrwm-libre -pkgver=2.5.0 +pkgver=2.5.1 pkgrel=1 pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way, without nonfree profont support" arch=('i686' 'x86_64' 'mips64el') @@ -16,13 +16,15 @@ replaces=('spectrwm' 'scrotwm') conflicts=('spectrwm') provides=("spectrwm=$pkgver") makedepends=('libxt') -optdepends=('scrot: screenshots' 'xlockmore: great screenlocker' 'terminus-font: great font') +optdepends=('scrot: screenshots' + 'xlockmore: great screenlocker' + 'terminus-font: great font') backup=(etc/spectrwm.conf) source=(http://opensource.conformal.com/snapshots/$_pkgname/$_pkgname-$pkgver.tgz \ LICENSE \ baraction.sh \ spectrwm-no-preload) -md5sums=('22355256693393779b2d366d312c4577' +md5sums=('d9aec3342920e31cbe60f1032571043a' 'a67cfe51079481e5b0eab1ad371379e3' '950d663692e1da56e0ac864c6c3ed80e' '974d109ce0af39cc73936d5efd682480') -- cgit v1.2.3 From ccb16fe5fb0ed87b6207cc93ea1efea0dd628632 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 00:11:20 -0300 Subject: texlive-bin-libre-2013.30973-10: poppler rebuild, fetch patch from upstream --- libre/texlive-bin-libre/PKGBUILD | 10 +-- libre/texlive-bin-libre/poppler-0.26.patch | 104 +++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 libre/texlive-bin-libre/poppler-0.26.patch diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD index 7d35d83e9..783aef934 100644 --- a/libre/texlive-bin-libre/PKGBUILD +++ b/libre/texlive-bin-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 209906 2014-04-08 07:50:23Z fyan $ +# $Id: PKGBUILD 211863 2014-04-28 15:07:05Z jgc $ # Maintainer: Rémy Oudompheng # Contributor: francois # Maintainer (Parabola): Michał Masłowski @@ -6,11 +6,11 @@ pkgname=texlive-bin-libre pkgver=2013.30973 -pkgrel=9 +pkgrel=10 pkgdesc="TeX Live binaries, without biber binaries (Parabola rebranded)" license=('GPL') arch=('i686' 'x86_64' 'mips64el') -depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler>=0.24.4' +depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' 'icu' 'harfbuzz' 'harfbuzz-icu') makedepends=('perl' 'clisp' 'ffcall') @@ -23,9 +23,11 @@ url='http://tug.org/texlive/' install="texlive.install" source=('fix-fontforge-encoding.patch' "http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-${pkgver}.tar.xz" + poppler-0.26.patch ) md5sums=('bfb9716aa00c86c08cd31e5b32edeb98' - '0a8ffd5c0002a080a4202057b1f106c6') + '0a8ffd5c0002a080a4202057b1f106c6' + '65f5eef04fdf65fe8ff2df873509c855') build() { cd "$srcdir" diff --git a/libre/texlive-bin-libre/poppler-0.26.patch b/libre/texlive-bin-libre/poppler-0.26.patch new file mode 100644 index 000000000..fde123f62 --- /dev/null +++ b/libre/texlive-bin-libre/poppler-0.26.patch @@ -0,0 +1,104 @@ +--- trunk/source/texk/web2c/luatexdir/image/epdf.h 2013/01/20 19:58:26 4559 ++++ trunk/source/texk/web2c/luatexdir/image/epdf.h 2014/01/02 15:35:31 4718 +@@ -40,21 +40,22 @@ + # include + # include + # include +-# include "Object.h" +-# include "Stream.h" +-# include "Gfx.h" +-# include "Annot.h" +-# include "Array.h" +-# include "Dict.h" +-# include "XRef.h" +-# include "Catalog.h" +-# include "Link.h" +-# include "Page.h" +-# include "GfxFont.h" +-# include "PDFDoc.h" +-# include "GlobalParams.h" +-# include "Error.h" +-# include "FileSpec.h" ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include ++# include + + extern "C" { + +@@ -81,8 +82,8 @@ + # include "utils/avlstuff.h" + # include "pdf/pdftypes.h" + +-# include "lua52/lua.h" +-# include "lua52/lauxlib.h" ++# include "lua.h" ++# include "lauxlib.h" + + /* pdfgen.w */ + extern int ten_pow[10]; +--- trunk/source/texk/web2c/luatexdir/lua/lepdflib.cc 2013/04/05 10:54:08 4629 ++++ trunk/source/texk/web2c/luatexdir/lua/lepdflib.cc 2014/01/02 15:35:31 4718 +@@ -65,6 +65,7 @@ + #define M_PDFRectangle "PDFRectangle" + #define M_Ref "Ref" + #define M_Stream "Stream" ++#define M_StructTreeRoot "StructTreeRoot" + #define M_XRefEntry "XRefEntry" + #define M_XRef "XRef" + +@@ -96,6 +97,7 @@ + new_poppler_userdata(PDFRectangle); + new_poppler_userdata(Ref); + new_poppler_userdata(Stream); ++new_poppler_userdata(StructTreeRoot); + new_poppler_userdata(XRef); + + //********************************************************************** +@@ -573,7 +575,11 @@ + + m_poppler_get_GOOSTRING(Catalog, getBaseURI); + m_poppler_get_GOOSTRING(Catalog, readMetadata); ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + m_poppler_get_poppler(Catalog, Object, getStructTreeRoot); ++#else ++m_poppler_get_poppler(Catalog, StructTreeRoot, getStructTreeRoot); ++#endif + + static int m_Catalog_findPage(lua_State * L) + { +@@ -2146,14 +2152,22 @@ + + static int m_PDFDoc_getStructTreeRoot(lua_State * L) + { ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + Object *obj; ++#else ++ StructTreeRoot *obj; ++#endif + udstruct *uin, *uout; + uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); + if (uin->pd != NULL && uin->pd->pc != uin->pc) + pdfdoc_changed_error(L); + if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { + obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); ++#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT + uout = new_Object_userdata(L); ++#else ++ uout = new_StructTreeRoot_userdata(L); ++#endif + uout->d = obj; + uout->pc = uin->pc; + uout->pd = uin->pd; -- cgit v1.2.3 From 07098cbd89606a21625cbbbba2f1d937d2ebf269 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 00:24:19 -0300 Subject: xarchiver-libre-0.5.3-4: updating revision from Arch * fix desktop file FS#40318 => https://bugs.archlinux.org/task/40318 * fix deb mime type FS#40315 => https://bugs.archlinux.org/task/40315 --- libre/xarchiver-libre/PKGBUILD | 6 +++--- .../xarchiver-0.5.3-add-mime-types.patch | 18 +++++++++++++----- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/libre/xarchiver-libre/PKGBUILD b/libre/xarchiver-libre/PKGBUILD index 75499428b..478f5ef6b 100644 --- a/libre/xarchiver-libre/PKGBUILD +++ b/libre/xarchiver-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 105928 2014-02-19 11:27:15Z bgyorgy $ +# $Id: PKGBUILD 111012 2014-05-12 01:13:40Z bgyorgy $ # Maintainer: Balló György # Contributor: Alexander Fehr # Contributor: Andrew Simmons @@ -7,7 +7,7 @@ _pkgname=xarchiver pkgname=xarchiver-libre pkgver=0.5.3 -pkgrel=1.1 +pkgrel=4 pkgdesc="GTK+ frontend to various command line archivers, without nonfree unrar support" arch=('i686' 'x86_64' 'mips64el') url="http://xarchiver.sourceforge.net/" @@ -34,7 +34,7 @@ md5sums=('fd390bbd2df76a5f8a007bdeae82d4aa' '812b93339f5e3332621f3c5abebfe277' '6178d7ab679b761469c880a8db991907' '35ab96d98521a0a36f3e9e9ec0969107' - 'f9119f5290caa195a56b7d3c63d9137d' + '0cee887b3c989ba2cdce9154813843fb' '6ba9f6a6dd9685d8309bd9ed4df1f339') prepare() { diff --git a/libre/xarchiver-libre/xarchiver-0.5.3-add-mime-types.patch b/libre/xarchiver-libre/xarchiver-0.5.3-add-mime-types.patch index 4552e5b96..ec427b99a 100644 --- a/libre/xarchiver-libre/xarchiver-0.5.3-add-mime-types.patch +++ b/libre/xarchiver-libre/xarchiver-0.5.3-add-mime-types.patch @@ -1,9 +1,17 @@ -diff -Naur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.2/xarchiver.desktop.in ---- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-01-24 04:05:33.438561000 +0100 -+++ xarchiver-0.5.3/xarchiver.desktop.in 2014-01-24 04:44:00.625750394 +0100 -@@ -11,4 +11,4 @@ +diff -Naur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.3/xarchiver.desktop.in +--- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-12 01:08:12.159131913 +0000 ++++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-12 01:09:02.585526393 +0000 +@@ -4,11 +4,11 @@ + _Name=Xarchiver + _Comment=A GTK+2 only archive manager + _GenericName=Archive manager +-Exec=xarchiver ++Exec=xarchiver %f + Icon=xarchiver + Terminal=false + Type=Application X-MultipleArgs=false Categories=GTK;Archiving;Utility; StartupNotify=true -MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar; -+MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm; ++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; -- cgit v1.2.3 From 83af2368dd362934f3ba1d4584cc27167ac8bd8d Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 00:32:12 -0300 Subject: duplicity-nonprism-0.6.24-1: updating version --- nonprism/duplicity-nonprism/PKGBUILD | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/nonprism/duplicity-nonprism/PKGBUILD b/nonprism/duplicity-nonprism/PKGBUILD index 79163db90..21dfe9a47 100644 --- a/nonprism/duplicity-nonprism/PKGBUILD +++ b/nonprism/duplicity-nonprism/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 105458 2014-02-08 15:39:04Z bgyorgy $ +# $Id: PKGBUILD 110919 2014-05-09 15:34:16Z lfleischer $ # Maintainer: Lukas Fleischer # Contributor: Kaiting Chen # Contributor: Aaron Schaefer @@ -6,13 +6,17 @@ _pkgname=duplicity pkgname=duplicity-nonprism -pkgver=0.6.23 -pkgrel=3 +pkgver=0.6.24 +pkgrel=1 pkgdesc='A utility for encrypted, bandwidth-efficient backups using the rsync algorithm, without python2-gdata recommendation' arch=('i686' 'x86_64') url='http://www.nongnu.org/duplicity/' license=('GPL') +replaces=$_pkgname +conflicts=$_pkgname +provides=$_pkgname=$pkgver depends=('gnupg' 'librsync' 'ncftp' 'python2-paramiko' 'python2-lockfile') +makedepends=('python2-setuptools') optdepends=('lftp: FTPS backend' 'python2-boto: Amazon S3 backend' 'python2-gobject: GIO backend' @@ -20,21 +24,9 @@ optdepends=('lftp: FTPS backend' 'python2-httplib2: Ubuntu One backend' 'python2-oauthlib: Ubuntu One backend' 'rsync: rsync backend') -replaces=$_pkgname -conflicts=$_pkgname -provides=$_pkgname=$pkgver -source=("http://savannah.nongnu.org/download/$_pkgname/$_pkgname-$pkgver.tar.gz"{,.sig} - "gpg-encode.patch") -md5sums=('ae0e84446bcf114735de1057ed53c977' - 'SKIP' - '366555c73aeebf7f15f6f37ec65176ce') - -prepare() { - cd "${srcdir}/${_pkgname}-${pkgver}" - - # Fix gpg encrypted backup (FS#38838, upstream revision 961, will be fixed in 0.6.24). - patch -Np0 -i ../gpg-encode.patch -} +source=("https://launchpad.net/$_pkgname/0.6-series/$pkgver/+download/$_pkgname-$pkgver.tar.gz"{,.sig}) +md5sums=('5d4e9329a6d793880909d18b0736ff06' + 'SKIP') build() { cd "${srcdir}/${_pkgname}-${pkgver}" -- cgit v1.2.3 From ea735e9d809fb9e151b00660cf6c708f570c602d Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 11 May 2014 23:47:33 -0400 Subject: update libre/libretools --- libre/libretools/PKGBUILD | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD index ef46c6954..12ca1640c 100644 --- a/libre/libretools/PKGBUILD +++ b/libre/libretools/PKGBUILD @@ -9,11 +9,11 @@ pkgdesc="Programs for Parabola development" url="https://projects.parabolagnulinux.org/packages/libretools.git/" license=('GPL3' 'GPL2') -pkgver=20140322 -_libretools_commit=ff15727c30e5b9af5225869e38cbcfa2b08da6c2 -_devtools_commit=534d2015b45e013b37e1edbb997bd4df27d7b8fd -md5sums=('36c7ef4d4f7e0b1fc6836babd40bb004' - 'ec69dffa68829f063224de19bbd55fa9') +pkgver=20140511 +_libretools_commit=9f1ef0bbdf1bc246c0c035a2dd6a4bcfa41664ef +_devtools_commit=66f612510a5df14f4a017809e1eec671aee8cc26 +md5sums=('5bb8e455f86bdbe6a6757b9e34d69620' + 'dd8f9d7b0465ba855883e2fa99567967') _packages_url=https://projects.parabolagnulinux.org/packages source=($_packages_url/libretools.git/snapshot/libretools-$_libretools_commit.tar.bz2 @@ -38,9 +38,10 @@ check() { } package_librelib() { - pkgdesc="Shell library portion of libretools" + pkgdesc="The shell library portion of libretools" + license=(GPL2) depends=( - wget # `aur` and `lib/blacklist.sh` + wget # `blacklist` ) cd "$srcdir/$pkgbase-$_libretools_commit" @@ -48,6 +49,8 @@ package_librelib() { } package_gitget() { + pkgdesc="A simple to use downloader for git URLs" + license=(GPL2) depends=("librelib=$pkgver" git) provides=("libregit=$pkgver") @@ -62,17 +65,18 @@ package_libretools() { backup=(etc/libretools.conf etc/libretools.d/chroot.conf etc/libretools.d/librefetch.conf) install=libretools.install replaces=(chroottools) - conflicts=(devtools) + conflicts=(devtools chroottools) depends=( "librelib=$pkgver" "gitget=$pkgver" # `createworkdir` + "systemd>=212" # force newer systemd arch-install-scripts # `archroot` uses `pacstrap` openssh # `librerelease` rsync # `librerelease` and `makechrootpkg.sh` subversion # `diff-unfree` tokyocabinet # `treepkg` - "systemd>208" # force newer systemd + wget # `aur` ) optdepends=('namcap: to check package files') @@ -82,6 +86,7 @@ package_libretools() { package_libretools-mips64el() { pkgdesc="Scripts for Parabola development (for mips64el architecture)" + license=(GPL3) depends=("$pkgbase=$pkgver" git # mips-add ) -- cgit v1.2.3 From d77e88cd712bce4684f262f559077aaf9acb97ef Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 01:56:05 -0300 Subject: abs-2.4.4-1.2: add more repos from Parabola --- libre/abs/PKGBUILD | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libre/abs/PKGBUILD b/libre/abs/PKGBUILD index f7e85d0ef..657677114 100644 --- a/libre/abs/PKGBUILD +++ b/libre/abs/PKGBUILD @@ -1,16 +1,15 @@ -# $Id$ +# $Id: PKGBUILD 166402 2012-09-07 16:49:13Z dreisner $ # Maintainer: Allan McRae -replaces=('abs-libre') -conflicts=('abs-libre') - pkgname=abs pkgver=2.4.4 -pkgrel=1.1 -pkgdesc="Utilities to download and work with the Arch Build System (ABS)" +pkgrel=1.2 +pkgdesc="Utilities to download and work with the Arch Build System (ABS), with Parabola repos support" arch=('i686' 'x86_64' 'mips64el') url="http://projects.archlinux.org/abs.git/" license=('GPL') +replaces=('abs-libre') +conflicts=('abs-libre') depends=('bash' 'rsync') backup=(etc/abs.conf) source=(ftp://ftp.archlinux.org/other/abs/${pkgname}-${pkgver}.tar.gz{,.sig}) @@ -33,10 +32,15 @@ package() { install -Dm644 README "${pkgdir}"/var/abs/README # make adjustments to abs.conf + sed -i -e 's|i686 or x86_64|i686, x86_64 or mips64el|' "${pkgdir}"/etc/abs.conf sed -i -e 's|rsync.archlinux.org|parabolagnulinux.org|' "${pkgdir}"/etc/abs.conf sed -i -e 's|(core|(libre !libre-testing core|' "${pkgdir}"/etc/abs.conf + sed -i -e 's|!staging !community-staging !gnome-unstable !kde-unstable|!pcr !nonprism !kernels !cross !java !java-ugly !~smv !~xihh !~brendan !~lukeshu !~emulatorman !~aurelien !~jorginho !~coadde !~drtan|' "${pkgdir}"/etc/abs.conf if [[ $CARCH != "x86_64" ]]; then sed -i -e 's| multilib||' -e 's| !multilib-testing||' "${pkgdir}"/etc/abs.conf fi + if [[ $CARCH = "x86_64" ]]; then + sed -i -e 's|community|community libre-multilib|' -e 's|!community-testing|!community-testing !libre-multilib-testing|' "${pkgdir}"/etc/abs.conf + fi sed -i "s/ARCH=.*/ARCH=$CARCH/" "${pkgdir}"/etc/abs.conf } -- cgit v1.2.3 From 77f53cad2c1b1f4216c22d78779f11dd5c1598fc Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 02:07:23 -0300 Subject: xarchiver-libre: fix mime types on xarchiver-0.5.3-remove-nonfree-unrar-support.patch --- libre/xarchiver-libre/PKGBUILD | 2 +- .../xarchiver-0.5.3-remove-nonfree-unrar-support.patch | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libre/xarchiver-libre/PKGBUILD b/libre/xarchiver-libre/PKGBUILD index 478f5ef6b..c24d97700 100644 --- a/libre/xarchiver-libre/PKGBUILD +++ b/libre/xarchiver-libre/PKGBUILD @@ -35,7 +35,7 @@ md5sums=('fd390bbd2df76a5f8a007bdeae82d4aa' '6178d7ab679b761469c880a8db991907' '35ab96d98521a0a36f3e9e9ec0969107' '0cee887b3c989ba2cdce9154813843fb' - '6ba9f6a6dd9685d8309bd9ed4df1f339') + 'cf1788c180145adc3bc5d3572f8a883b') prepare() { cd $_pkgname-$pkgver diff --git a/libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch b/libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch index aa46243e3..e8ba41d59 100644 --- a/libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch +++ b/libre/xarchiver-libre/xarchiver-0.5.3-remove-nonfree-unrar-support.patch @@ -515,11 +515,11 @@ diff -Nur xarchiver-0.5.3.orig/src/window.h xarchiver-0.5.3/src/window.h #include "7zip.h" #include "bzip2.h" diff -Nur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.3/xarchiver.desktop.in ---- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-05 16:55:29.564006985 -0300 -+++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-05 16:56:49.210457785 -0300 +--- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-12 02:00:44.138672823 -0300 ++++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-12 02:01:31.452361143 -0300 @@ -11,4 +11,4 @@ X-MultipleArgs=false Categories=GTK;Archiving;Utility; StartupNotify=true --MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm; -+MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-debian-package;application/x-rpm; +-MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; ++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; -- cgit v1.2.3 From e816c5d2025208c64f5866445063b824dabdc64a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 02:26:06 -0300 Subject: linux-libre-grsec-3.14.3.201405112005-1: updating version --- libre/linux-libre-grsec/PKGBUILD | 6 +++--- libre/linux-libre-grsec/config.x86_64 | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index a2b1c5b96..b685cf130 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -14,7 +14,7 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.14 _sublevel=3 _grsecver=3.0 -_timestamp=201405101947 +_timestamp=201405112005 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 @@ -51,10 +51,10 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' - '5b47c06c61ed7c5655e31bc4ac221d4e605163b90bf3ee95a891466825597f78' + 'e730d00bebb7312d3860eecbebff9026431780a3474b577accb32deb71c7c1d7' 'SKIP' '0b6dbdf4d1677a39b9a0d55e8d7c66fe644fa77d769e3b673064181222b17467' - 'e3d67cfeb02e92c9fcb9ef729422e4dff938071706394d9e451a2ebe04e2c9a4' + '8207a533f4fbad05ad26061f924957a7a92436d44a5dd7ca10e61d730c5e0ef9' '9d2f34f1a8c514a7117b9b017a1f7312fb351f4d0b079eed102f89361534d486' 'c5451d5e1eafc4f8d28b1a2958ec3102c124433a414a86450fc32058e004156b' '55bf07738a3286168a7929ae16dbca29defd14e77b9d24c487ae4c3d12bb9eb9' diff --git a/libre/linux-libre-grsec/config.x86_64 b/libre/linux-libre-grsec/config.x86_64 index 68986d57c..e97911510 100644 --- a/libre/linux-libre-grsec/config.x86_64 +++ b/libre/linux-libre-grsec/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.14.2-1 Kernel Configuration +# Linux/x86 3.14.3-1 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y -- cgit v1.2.3 From 80ddca06174ac37a2ee065be7f3d787b4de79c71 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 03:41:03 -0300 Subject: texlive-bin-libre: add poppler patching --- libre/texlive-bin-libre/PKGBUILD | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD index 783aef934..f3b5eca26 100644 --- a/libre/texlive-bin-libre/PKGBUILD +++ b/libre/texlive-bin-libre/PKGBUILD @@ -29,6 +29,11 @@ md5sums=('bfb9716aa00c86c08cd31e5b32edeb98' '0a8ffd5c0002a080a4202057b1f106c6' '65f5eef04fdf65fe8ff2df873509c855') +prepare() { + cd source + patch -Np2 -i ../poppler-0.26.patch +} + build() { cd "$srcdir" -- cgit v1.2.3 From eb15dc03fa1160f376634b9ccec1773c35d39b64 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 09:04:06 -0300 Subject: xbmc-libre-lts-12.3-2: use shairplay as dependency instead of libshairport --- libre/xbmc-libre-lts/PKGBUILD | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD index 3629f181d..a9fe66c74 100644 --- a/libre/xbmc-libre-lts/PKGBUILD +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -1,4 +1,3 @@ -# $Id: PKGBUILD 108909 2014-04-07 10:57:58Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Brad Fanella # Contributor: [vEX] @@ -12,7 +11,7 @@ _pkgname=xbmc pkgname=xbmc-libre-lts pkgver=12.3 _codename=Frodo -pkgrel=1 +pkgrel=2 pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" @@ -23,7 +22,7 @@ depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' - 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' + 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'shairplay' 'avahi' 'bluez-libs' 'glu' 'tinyxml' 'taglib' 'ffmpeg-compat') makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -- cgit v1.2.3 From 8d0f4ac4cbf56fc5c5cadb5ba09c35e3674a886b Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 09:21:07 -0300 Subject: xbmc-libre-lts: revert change, libshairport is a mandatory dependency --- libre/xbmc-libre-lts/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD index a9fe66c74..c8613308b 100644 --- a/libre/xbmc-libre-lts/PKGBUILD +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -11,7 +11,7 @@ _pkgname=xbmc pkgname=xbmc-libre-lts pkgver=12.3 _codename=Frodo -pkgrel=2 +pkgrel=1 pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" @@ -22,7 +22,7 @@ depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' - 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'shairplay' 'avahi' 'bluez-libs' 'glu' + 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' 'tinyxml' 'taglib' 'ffmpeg-compat') makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -- cgit v1.2.3 From 6abc75d5f0c4d5c8302715a7da59cc02d22fbe36 Mon Sep 17 00:00:00 2001 From: Nicolás Reynolds Date: Mon, 12 May 2014 16:26:30 -0300 Subject: some stuff i had hanging around --- pcr/monkeysign/PKGBUILD | 14 ++++++++------ pcr/radicale/PKGBUILD | 16 +++++++++------- pcr/radicale/radicale.service | 2 ++ pcr/tomb/PKGBUILD | 42 ++++++++++++++++++++---------------------- social/seeks/PKGBUILD | 10 ++++++---- 5 files changed, 45 insertions(+), 39 deletions(-) diff --git a/pcr/monkeysign/PKGBUILD b/pcr/monkeysign/PKGBUILD index 2e4ab1f3f..360d8a4a8 100644 --- a/pcr/monkeysign/PKGBUILD +++ b/pcr/monkeysign/PKGBUILD @@ -1,19 +1,22 @@ # Contributor: fauno +# Contributor: max-k pkgname=monkeysign -pkgver=1.0 +pkgver=1.1 pkgrel=1 pkgdesc="OpenPGP Key Exchange for Humans" arch=('any') url="http://web.monkeysphere.info/monkeysign/" license=('GPL3') -depends=('python2-setuptools' 'python2-qrencode' 'gtk2' 'pygtk' 'zbar' 'python2-imaging') +depends=('python2-qrencode-pillow' 'gtk2' 'pygtk' 'zbar') +makedepends=('python2-setuptools' 'python2-docutils') source=(http://cdn.debian.net/debian/pool/main/m/${pkgname}/${pkgname}_${pkgver}.tar.gz) -# http://cdn.debian.net/debian/pool/main/m/monkeysign/monkeysign_1.0.dsc -sha1sums=('28e29beae7fed3c3deba236cbe8879cab5eeb4e8') -sha256sums=('944fc4d0915236bf72390bd2dc2f5445cfb70033df438b91b1af38bd0ff9fd46') +# http://cdn.debian.net/debian/pool/main/m/monkeysign/monkeysign_1.1.dsc +sha1sums=('b236849aa84487608e5cb747d1abb12325433279') +sha256sums=('1229c63c9b649b35a156ab69c7e8ef47ff03817c94ce8138107832117ee5fa6d') build() { cd "${pkgname}-${pkgver}" + sed -i 's/rst2s5/rst2s52/' monkeysign/documentation.py python2 setup.py build } @@ -21,4 +24,3 @@ package() { cd "${pkgname}-${pkgver}" python2 setup.py install --root="${pkgdir}" --prefix="/usr" --optimize=1 } - diff --git a/pcr/radicale/PKGBUILD b/pcr/radicale/PKGBUILD index b4f76f6ab..879cda8d4 100644 --- a/pcr/radicale/PKGBUILD +++ b/pcr/radicale/PKGBUILD @@ -1,23 +1,25 @@ # Maintainer: Guillaume Bouchard pkgname=radicale -pkgver=0.7.1 -pkgrel=2 +pkgver=0.8 +pkgrel=1 pkgdesc="A Simple Calendar Server" arch=any url="http://www.radicale.org/" license=('GPL3') -depends=('python') +depends=('python2') backup=('etc/radicale/config') source=(http://pypi.python.org/packages/source/R/Radicale/Radicale-$pkgver.tar.gz radicale.service) +install=radicale.install package() { cd "$srcdir/Radicale-$pkgver" - python setup.py install --prefix=/usr --root="$pkgdir" || return 1 + python2 setup.py install --prefix=/usr --root="$pkgdir" install -D "$srcdir/Radicale-$pkgver/config" "$pkgdir/etc/radicale/config" install -m744 -D "$srcdir/radicale.service" "$pkgdir/usr/lib/systemd/system/radicale.service" } - -md5sums=('ab1167b1ee713a7a58d843c5921f3327' - 'dbdfedb46af4ceed0ad0db3441b5a266') +sha1sums=('05e07d8ff851d15bcdb7274680ee3aceeebe01c3' + 'c8ef31d70828b302ad709d7db5557c05283efb47') +sha256sums=('e8c0df5239c22f2687a09eca7d53c318706648aff72b620849ed3f7540bc1941' + '8a56209f42de337a5bd12f9ce4de1719228dbeba9743e9ec454af3685a03b764') diff --git a/pcr/radicale/radicale.service b/pcr/radicale/radicale.service index 293cad6e2..a159b772e 100644 --- a/pcr/radicale/radicale.service +++ b/pcr/radicale/radicale.service @@ -5,6 +5,8 @@ After=network.target [Service] ExecStart=/usr/bin/radicale ExecStop=/bin/kill -HUP $MAINPID +User=cal +Group=cal [Install] WantedBy=multi-user.target diff --git a/pcr/tomb/PKGBUILD b/pcr/tomb/PKGBUILD index 66945cb41..2902f07bc 100644 --- a/pcr/tomb/PKGBUILD +++ b/pcr/tomb/PKGBUILD @@ -1,28 +1,27 @@ ## PKGBUILD [bash] # Maintainer: nignux +# Maintainer (Parabola): fauno +# Contributor: BoySka pkgbase=tomb -pkgname=(tomb python2-tomb tomb-gui) +pkgname=(tomb tomb-kdf) pkgver=1.4 -pkgrel=1 +pkgrel=2 pkgdesc="Crypto Undertaker, simple tool to manage encrypted storage" arch=('i686' 'x86_64' 'mips64el') url="http://www.dyne.org/software/tomb/" license=('GPL3') -depends=('bc' 'cryptsetup' 'gnupg' 'sudo' 'zsh' 'steghide' - 'dcfldd' 'wipe') -makedepends=('python2-pyqt' 'python2-distribute') install=${pkgname}.install -source=(https://files.dyne.org/tomb/releases/Tomb-${pkgver}.tar.gz{,.sha{,.asc}}) +source=(https://files.dyne.org/.xsend.php?file=tomb/releases/Tomb-1.4.tar.gz https://files.dyne.org/tomb/releases/Tomb-${pkgver}.tar.gz.sha{,.asc}) # The first hash comes from the .sha file sha256sums=('2621ac6b9180321e69743dc899645449b2b958c6aa46e4b2601c2e89131bbf29' - 'fc8b168f991d5b9c1135ceec6e55ac94f494ac4bed7e104e14c7f9ee787591e5' + 'SKIP' 'SKIP') build() { - cd ${srcdir}/Tomb-${pkgver}/extras/qt + cd ${srcdir}/Tomb-${pkgver}/extras/kdf - python2 setup.py build_ui + make } # The checks require root access @@ -33,21 +32,20 @@ build() { package_tomb() { pkgdesc="Crypto Undertaker, simple tool to manage encrypted storage, from the hashes of the dyne:bolic nesting mechanism." + depends=('bc' 'cryptsetup' 'gnupg' 'sudo' 'zsh' 'wipe') + optdepends=( + 'steghide: steganography' + 'dcfldd: show nice progress during massive I/O' + ) + arch=('any') cd ${srcdir}/Tomb-${pkgver} - make DESTDIR=${pkgdir} install + make DESTDIR=${pkgdir} PREFIX=/usr install } -package_python2-tomb() { - pkgdesc="Crypto Undertaker library" +package_tomb-kdf() { + pkgdesc="Crypto Undertaker extensions to improve password security" + depends=('libgcrypt') - cd ${srcdir}/Tomb-${pkgver}/extras/pytomb - python2 setup.py install --root="${pkgdir}/" --optimize=1 -} - -package_tomb-gui() { - pkgdesc="Crypto Undertaker GUI for open and create tombs" - depends=('python2-tomb' 'python2-pyqt') - - cd ${srcdir}/Tomb-${pkgver}/extras/qt - python2 setup.py install --root="${pkgdir}/" --optimize=1 + cd ${srcdir}/Tomb-${pkgver}/extras/kdf + make DESTDIR=${pkgdir} PREFIX=/usr install } diff --git a/social/seeks/PKGBUILD b/social/seeks/PKGBUILD index f686a2fc9..57041355f 100644 --- a/social/seeks/PKGBUILD +++ b/social/seeks/PKGBUILD @@ -1,9 +1,7 @@ -# Maintainer: Kete < kete at ninthfloor dot org > - pkgname=seeks pkgver=0.4.1 pkgrel=5 -pkgdesc="A social decentralized internet overlay for collaborative searches" +pkgdesc="Social decentralized internet overlay for collaborative searches" arch=('i686' 'x86_64' 'mips64el') url="http://www.seeks-project.info/site/" license=('AGPL3' 'LGPL' 'BSD') @@ -20,10 +18,14 @@ source=("http://downloads.sourceforge.net/project/${pkgname}/hippy/${pkgname}-${ 'seeks.logrotate') install=seeks.install -build() { +prepare() { cd "$srcdir/$pkgname-$pkgver" # replace by patch -p1 -i "$srcdir/img_websearch.patch" +} + +build() { + cd "$srcdir/$pkgname-$pkgver" # linking issue with --as-needed linker flag, Cli not building with RC2 LDFLAGS="-Wl,--no-as-needed" \ -- cgit v1.2.3 From 6a27e982cb144b02a1e6a81b0c0e27c02805b1db Mon Sep 17 00:00:00 2001 From: Nicolás Reynolds Date: Mon, 12 May 2014 16:33:55 -0300 Subject: python2-potr: upgrade, weechat's otr.py works now --- pcr/python2-potr/PKGBUILD | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/pcr/python2-potr/PKGBUILD b/pcr/python2-potr/PKGBUILD index 39613ad95..684912283 100644 --- a/pcr/python2-potr/PKGBUILD +++ b/pcr/python2-potr/PKGBUILD @@ -1,28 +1,34 @@ -# Maintainer: Michael Düll PGP-Key: AAAEE882 +# Maintainer: Michael Düll pkgname=python2-potr -pkgver=1.0.0beta6 -pkgrel=3 -pkgdesc="This is a pure Python OTR implementation; it does not bind to libotr." +pkgver=1.0.0 +pkgrel=4 +pkgdesc="This is a pure Python2 OTR implementation; it does not bind to libotr." arch=(any) url="https://github.com/afflux/pure-python-otr" license=('LGPL') depends=('python2' 'python2-crypto') conflicts=('python-potr-git' 'python-potr') replaces=('python-potr') -options=(!emptydirs) -source=("https://github.com/afflux/pure-python-otr/tarball/${pkgver}") +#options=(!emptydirs) +source=("https://github.com/python-otr/pure-python-otr/archive/${pkgver}.tar.gz") +sha512sums=('46b0dab24cab68e695661c5982ba25823e39540ecef7e90693898342f44e52afa549d8708166ebef81474aee3f846d8b76690e3061fa1bc65147e804751f8f48') PYTHON=`which python2` -build() { - cd $srcdir/afflux* +#build() { +# cd $srcdir/afflux* +# set_python2 +# $PYTHON ./setup.py build +#} + +prepare() { + cd $srcdir/pure-python-otr-${pkgver} set_python2 - $PYTHON ./setup.py build } package() { - cd $srcdir/afflux* + cd $srcdir/pure-python-otr-${pkgver} $PYTHON ./setup.py install --root=$pkgdir/ } @@ -36,4 +42,3 @@ set_python2() { # vim:set ts=2 sw=2 et: -sha512sums=('323ad31e782409b7bd93539dfc0088de8b114075b88de81123b732aff609fbb2a2c06221c52266225ce54e20e9856b25759bae84c93244a1258ccba3825c8b1c') -- cgit v1.2.3 From b22b406dde205fe7821711fe18f0dd12d26d78cf Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 20:12:27 -0300 Subject: grub-1:2.02.beta2-3.1: revert changes, disable advanced submenu --- libre/grub/PKGBUILD | 15 +++++++-------- libre/grub/grub.default | 3 +++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD index b7b7b80bd..c7960f88c 100644 --- a/libre/grub/PKGBUILD +++ b/libre/grub/PKGBUILD @@ -15,7 +15,7 @@ _UNIFONT_VER="6.3.20131217" pkgname="grub" pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)" pkgver=2.02.beta2 -pkgrel=3 +pkgrel=3.1 epoch="1" url="https://www.gnu.org/software/grub/" arch=('x86_64' 'i686') @@ -43,8 +43,8 @@ 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-10_linux-detect-parabola-initramfs.patch' 'grub-add-GRUB_COLOR_variables.patch' + '09_parabola' '60_memtest86+' 'grub.default' 'grub-10_linux-rebrand-free-distros.patch') @@ -53,10 +53,10 @@ md5sums=('SKIP' 'SKIP' '728b7439ac733a7c0d56049adec364c7' 'SKIP' - '945527e0de8d384166a4cf23439ae9ee' 'e506ae4a9f9f7d1b765febfa84e10d48' + '9f67330f2979a153acb32af706e0c094' 'be55eabc102f2c60b38ed35c203686d6' - '52d374e0194e3f2e39ff7c92ecd58a6c' + '8d1dd54ae4a1b550c097e056892ce953' 'b23a144b7001c88734b79ed3bec491c4') _pkgver() { @@ -68,10 +68,6 @@ prepare() { cd "${srcdir}/grub-${_pkgver}/" - msg "Patch to detect of Parabola GNU/Linux-libre initramfs images by grub-mkconfig" - patch -Np1 -i "${srcdir}/grub-10_linux-detect-parabola-initramfs.patch" - echo - 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" @@ -241,6 +237,9 @@ _package_grub-common_and_bios() { 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+" diff --git a/libre/grub/grub.default b/libre/grub/grub.default index 8455b67dd..56585a47d 100644 --- a/libre/grub/grub.default +++ b/libre/grub/grub.default @@ -45,3 +45,6 @@ GRUB_COLOR_HIGHLIGHT="white/magenta" #GRUB_INIT_TUNE="480 440 1" #GRUB_SAVEDEFAULT="true" + +# Disable advanced submenu +GRUB_DISABLE_SUBMENU="y" -- cgit v1.2.3 From 66d45b29360e9121ae2e18e604793f2e3605fee3 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 20:44:37 -0300 Subject: iceweasel-libre-1:29.0.1.deb1-1: updating version --- libre/iceweasel-libre/PKGBUILD | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index e43ff609f..e8fbdc228 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -12,10 +12,10 @@ _pgo=true -# We're getting this from Debian Experimental +# We're getting this from Debian Sid _debname=iceweasel -_debver=29.0 -_debrel=deb2 +_debver=29.0.1 +_debrel=deb1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -28,7 +28,7 @@ pkgrel=1 pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox." arch=(i686 x86_64 mips64el) license=(MPL GPL LGPL) -depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell icu libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification) +depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell icu libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification) makedepends=(autoconf2.13 diffutils gstreamer0.10-base imagemagick imake inetutils libidl2 libpulse librsvg libxslt mesa pkg-config python2 quilt unzip zip) [ "$CARCH" != "mips64el" ] && makedepends+=('yasm') options=(!emptydirs !makeflags) @@ -43,7 +43,7 @@ optdepends=('networkmanager: Location detection via available WiFi networks' 'gstreamer0.10-ugly-plugins: h.264 and mp3 decoding' 'gstreamer0.10-ffmpeg: more decoders' 'libpulse: PulseAudio audio driver') -url="http://packages.debian.org/experimental/${_pkgname}" +url="http://packages.debian.org/sid/${_pkgname}" install=iceweasel.install replaces=('firefox') conflicts=('firefox') @@ -60,8 +60,8 @@ source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2" iceweasel-20.0.1-fixed-loading-icon.png Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch Fixup-Reset-Firefox-after-bad-merge.patch) -md5sums=('2cc40f481ca7b8421925a1def5fe14a0' - 'f317494c8717298a1c1e965624f49aa4' +md5sums=('4db358c753cb15a526dfe79c6602c886' + '134a1bfe72a940ec6673ee6883a03b68' '92a08a18995b915d6a6d0dab93ec6c1d' 'df08eaa1ac3bc6c2356be4fbf8ec8932' '5d22063ebea2472dd0b1163b32b2050b' -- cgit v1.2.3 From 0fb110ffc30c378e3e22597218b96cc01fa1714e Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 12 May 2014 21:03:40 -0300 Subject: iceweasel-l10n-1:29.0.1.deb1-1: updating version --- libre/iceweasel-l10n/PKGBUILD | 170 +++++++++++++++++++++--------------------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/libre/iceweasel-l10n/PKGBUILD b/libre/iceweasel-l10n/PKGBUILD index 0a1c38593..d0ce56f79 100644 --- a/libre/iceweasel-l10n/PKGBUILD +++ b/libre/iceweasel-l10n/PKGBUILD @@ -6,8 +6,8 @@ # Based on icecat-l10n package, which is in turn based on firefox-i18n _debname=iceweasel -_debver=29.0 -_debrel=deb2 +_debver=29.0.1 +_debrel=deb1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -25,7 +25,7 @@ pkgrel=1 pkgdesc="Language packs for Debian Iceweasel." arch=('any') -url="http://packages.debian.org/experimental/iceweasel" +url="http://packages.debian.org/sid/iceweasel" license=('MPL' 'GPL') depends=("iceweasel-libre>=$epoch:$pkgver") makedepends=('unzip' 'zip') @@ -71,85 +71,85 @@ for lang in ${_langpacks[@]}; do done md5sums=('a4593936bf1c7a9ec9368ff249f9cc56' - '2333be54b7855d7f0a02effbbf1e94b9' - '7716c49cecf2be5fab532678a5f82f9f' - 'f6c401e1fb488e2750bf2ab3a4eb0c5f' - '06446f32732850ad1520d1db40045312' - '886de465a3b483e54938555111971c4a' - '03d03d02e210f19ffa4bb62598349c2a' - '59498ec32f4742088dd08bb7d687e075' - '901406c38743ec30071ab742be5a6dc1' - '2552a263939da4d6b2cdc028ae70bdc8' - '5b239362ac2bb1ea17b217aee1d6f382' - 'd73b72a19eeb2cdc0b780f6dbd43095c' - '6dd067fd82dfb0fd41de7867220178f7' - 'd3f8227d70a72e99cee2b69469c5c857' - 'fe44306246e7ba14cea7258d3611d0df' - '035083d22efcfeecd20497bb13d040cd' - 'ab7da0a98ccf67513c571e378df8c3e2' - '346f50844d8fdda1f8b98b2076f61052' - 'e101d11b8d67b796f361e03e18a8ca9b' - 'fe8126448cc72862a6815e10243f45f5' - 'a22c2da5cdda9bc88c7827cf0d947fd9' - '3c65cab2a716685917da377169be6dfa' - '92933eaeb87e2ac53116c17d752e4fbe' - '8be1f7fa7dcdd0c8e9c8a5152a3cca4d' - '5caeca8db6883c5e082f89f2efc7fb31' - 'c14456b6dbed99bffe0fe58c76e6f7d7' - '73067b30e2e0779a27c3ff2bbdeb38d1' - '62e41396c80144f4fc425df992ecde90' - '44a823ad5b0cda9bfadec358b4914272' - 'efddd7dec96f4ab0ef53cc78fc206509' - '498d60d4d7cbee93bb9e9597e8ac30e8' - '43943cdde786e176f276e6ab2c0ab6aa' - '665325f9e202bcd1b9bd143cf3b66949' - '1c27f547399c5c4fa4cc095c119eaa0f' - '66d6e6b0ff1f708e05dd09fab84e262b' - '7eb6fe7f731fc6eabb6016cdd6810e4f' - '47ede2f3272459422f9669651d6484f7' - 'a4fa48db1c306a81ed3ff85eebe41dee' - 'bfb8ca2c45d54fe22441828f50d05832' - '6aea9401f11ad57c2cee775fa5a578a2' - '27cd9c8f16e5e4752dd7edfcae4ee9c7' - '042bd30dcb4d8229d0285d9effae8b7f' - 'b2f653d5199a71016c3308f23ccabbf1' - '2991d4da826b8848fd5c1dea8663d48d' - '2a19e6ff467a643fa22d75a428c124a0' - '1da6e593ef5d9638f403c85b2a5ebc3b' - 'fe5c99154a090905c1bff4c106fa0347' - '36981a2c9499e868c0a4aa9872664c7f' - 'f526b5251ad1f8dc6876f337ea46d2b5' - 'e9cc4e725336d25448b68c4799806203' - '308551179ebe1296e7cff3cefa524db1' - '99f9bf5708cc32febbc268bf0cfc1691' - 'a4a47ba179b8518e36447a98af640a80' - 'f5cceb502e95b78822139d1bff57daeb' - 'd38265850619af33ebdd943a20a4f20b' - 'bd2067498c8cb4bee3596a9b12f1d35c' - '804b4f5926f7b4529d29143627cfbc6e' - '05289c4c8945a987612ef4b93e8ffab6' - 'ff6630d4dc6cde26daf5c56abf70b981' - 'e56d7ee921ffc355db4301409aefa35e' - '0c2b6a9babe70ba160e03b05bc88b402' - '8b30781c96c4d4314f1eceeeac3f4ad3' - 'e4a71833f7c06802be03a5e10efda7b8' - '8119cf1506cd66a4f401f1c594c254c4' - '9f367c12780a024895bb577b093a986b' - '20a0ac51b86969cd43e34832b16aac56' - '303e1b04cecc4297a77bdd340b30fc15' - 'a05a2bc2bda06ce03f3166c6884054bf' - 'f3a8c1533664f27e9466bbf9c8b3ade7' - '5a8e6722e9d16d58869122b1f05edb69' - '0c96308cba65543c558a17c3936721fe' - '42c2e8e09a5f85d9b8166f99367fa175' - '6e47aae145c85f16ea45335161629785' - '735db64988581ab62e4d8ad831698e37' - '4ea1be1b6d40e8d8f198c2890482dc6f' - '236871158d9113255a07369df5e08f55' - 'bf9d3fa54a1da16c5a8686de25527ec4' - 'b876d0817c381785693140753cef2900' - '0676fce81f8aa72fb52eda5928bb340c' - '106770faa7cc3019f762815c42d5026c' - '490f27a2aadfd1064b0ded007ae017d2' - '1aafea466e4b288c0f899061ed25a189' - 'fb8389cb9c9ff58a95c487015e61233e') + '20dde1067babde81f704ce50a82c8b62' + '130f1505b2f503eaf65c4a67837de0dc' + '6f234ab023f9c285ff71ed9042acc01c' + '70fbc98150dfd4ced3f71fb755088d4c' + '242820f1e1c31e068273f53df94fde47' + '669ff3dd0895f3de07c87bc1addcd839' + '290324aa7427e5247441d11ac5308f05' + 'b34f0474fcfd2784fdb5e765feccafda' + '1d64b7e693aa424aae5a677fed806fff' + 'da414b29277c6f9395f1822d8fd3fb16' + '8cfd124fe26f0fe8833e926fe28bb41e' + '78699a359bad9cb649c86018f2ce0031' + '0318e32537e525aeb79562de9eb3e405' + '3c6e2e018427a6553216799806d08cd4' + '983b3e1b1303435b71e9965cab38e505' + '2d815e408a65b179ff1f2d7e5421bebf' + 'e63148547572c94e0f505ff331a75991' + 'f33d574fe96014c96c31c461eb387cb2' + 'd1487628607a6cbbc2527da013c75c4a' + '3e38e0beba7e960ceaff6cccf24ebbc5' + 'b9f0427f83b0576f05965390e657b92d' + 'c21fdac75c0f810f6a4dea2f6a39a44a' + '49772d62a8312d35f6c1684850f5d139' + '0b1e295e26ae135249ec9a941c838494' + '8a3b5b38eac912562236cf686b3372fe' + 'c8f1ed871e127f67622ca6dc764d9222' + '570a67198b8a424e1d085b0b45fe71ef' + 'c54101710572a2185643e0e8cf6bfa02' + '439410e99bef6eff125750dbd8815850' + 'd211e12fa6659e23dc7f4d843d5ffefb' + '4bc6c2eb3c0e217d9866d36bb3329443' + 'e51882ad2c40e5c457a9bf61182ca881' + 'ee05d8d0b1a048063184cf1c3a22d395' + '14311b4f0ebc3e63b13891a96e17ab92' + '72ebba1330c54521d656299981d46bba' + 'a6ae3915646efecde58deb461ad90cd2' + '7a4f663fd7a1867c634a472c1d37d032' + 'fd1c2058aed78cf53dbe90a21088f8d9' + 'c97cec2305426d84c47669bbc4cca0b8' + '4504dc398cf0214d1c9df9bf1e9fd365' + 'd05eca95062df11cb7019a79a55479d8' + 'ead9cb17376d80046b3a48a3e297bf82' + '28c3e5862cf3d186151e47c1b0a83031' + 'ec60cd1f8cdef6a1069b675de2f6357f' + '9900061870f2252a28310bb3baa0d1e9' + '7294910167abd6bcf6d7e8e8a1e8d4e1' + '4d71034756fb940678b2c77a3b8683e7' + '7113e80e35fe85d3c138a4a973567874' + '0a098bddeb1e04eaa97adade548c228a' + 'b191cd52ab880d0f36af7d70449e641f' + '4c576697466ee6b52a2d502decc28978' + '41810076a48aec035dba12bb67784adf' + '898b1e051e5c347ad5ae85f0891da64b' + '3dbf3834bc756cf55b3830b628a02f7c' + '0170b0d6ff6096df489f83c28abc1d30' + '2f51cb285bb60c90b6d48ebb467cc9f4' + '85c135a859c7229b8f6857ca1b74ad39' + '1fd72abb889f8a2bb2f7474197c91d08' + '7a1f4f9490140667d28a7986b36f3f00' + '5c549e8015c7fbe454c7c7301e9af88d' + '10fd3c2aea6466fd05918e201ced9823' + '178a02a586e167175ffb92ed5cd6c02c' + '0298f96910350ae32f43dbac1f31e1fa' + 'be67fcd4df0122b4be1b8ded5c64b674' + '9ce98993196822a136526775364ff69b' + 'd18749f86456012caa8220a56cd98490' + 'd0a4c1001e368eb3795fd4ef84c4baef' + '9ab638e71f8b4231c76394b3352dd58b' + '599074d30d653e0c764a0bd9f31f4548' + '657eaa5b81006d9133f993db41269b53' + '5003c5660c36b64230f7badc8b4f0486' + '2c59b068cc242a55206a243c9c2c128e' + '9a960c5cd163aa39bd8eed460a4e1424' + '2a17ec767d0bab5c3934c16f3a1fa7d8' + 'fc316bead4b1f44eec5f561c9a253ba5' + 'cc95521aa45992e95e9353be2b689ef9' + '8f240861e41f4a5f7bf0c927a373b6ea' + '3446dfdd6c3880c0157a5fb487e20933' + '19759937f5ba7e19c060fc322f468375' + '359819e547abdb5cfecb91048c05d15c' + 'c4f2fc13c9130a2ca6a8b44676905da7' + '4d2a8afbe9586d7a8fe1360901e62e35') -- cgit v1.2.3 From 545cc2850906acc2d1702f394840482b9c405937 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 03:30:47 -0300 Subject: doublecmd-libre-0.5.10-1: updating version --- libre/doublecmd-libre/PKGBUILD | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libre/doublecmd-libre/PKGBUILD b/libre/doublecmd-libre/PKGBUILD index 17b1aef3f..8bfb6697f 100644 --- a/libre/doublecmd-libre/PKGBUILD +++ b/libre/doublecmd-libre/PKGBUILD @@ -1,14 +1,14 @@ # vim:set ft=sh: -# $Id: PKGBUILD 110952 2014-05-10 14:08:05Z idevolder $ +# $Id: PKGBUILD 111059 2014-05-12 18:14:06Z idevolder $ # Maintainer: BlackIkeEagle # Contributor: (sirocco AT ngs.ru) _pkgbase=doublecmd pkgbase=doublecmd-libre pkgname=('doublecmd-libre-gtk2' 'doublecmd-libre-qt') -pkgver=0.5.9 +pkgver=0.5.10 _helpver=0.5.5 -pkgrel=2 +pkgrel=1 url="http://doublecmd.sourceforge.net/" arch=('i686' 'x86_64') license=('GPL') @@ -23,7 +23,7 @@ mksource=( "http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-$pkgver-src.tar.gz" ) source=( - "https://repo.parabolagnulinux.org/other/$pkgname/$pkgbase-$pkgver-src.tar.gz" + "https://repo.parabolagnulinux.org/other/$pkgbase/$pkgbase-$pkgver-src.tar.gz" "http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-help-$_helpver-src.tar.gz" "http://www.herecura.be/files/lazarus-20140321-2.tar.gz" 'libre.patch' @@ -102,8 +102,8 @@ package_doublecmd-libre-qt() { cp -a * "$pkgdir/usr/share/$_pkgbase/doc/" } -mksha256sums=('d5b3c93b3029f4b0a45b7c9912d34f753445e031c93bc0268d4cb4c313d06ba4') -sha256sums=('d72f0e52f99fadcd5ebcc7cf6184394c124da57dda6b6af05774a1f5e767254e' +mksha256sums=('cc54a2d973836f46f6f99fff1b8dd631bc96d8aa8524c3cd9cfc60b0c7a3dc12') +sha256sums=('7a194a40930aaffc7772a2ad14f53af287bdc61cc967d4179223815da4a169a7' '5c5d00187df811df0734bf751a581bce7e1bdd4cf4639b2a1101f1da8743daaf' '16560ad7403ffbee1800384768828e1fad924d03068c6248b68a78c393fc4e20' '79853d83a2fa7cdb54ab79586c2c3d123de90f849dd52d1a712b1e4a1eeaefcd' -- cgit v1.2.3 From ab30bdc44aab512f2b63d09e33b69c4026749d43 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 03:32:11 -0300 Subject: linux-libre-grsec-3.13.3.201405121814-1: updating version --- libre/linux-libre-grsec/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index b685cf130..ea0528d79 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -14,7 +14,7 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel _basekernel=3.14 _sublevel=3 _grsecver=3.0 -_timestamp=201405112005 +_timestamp=201405121814 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 @@ -51,7 +51,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' - 'e730d00bebb7312d3860eecbebff9026431780a3474b577accb32deb71c7c1d7' + 'fd62acc651c19207b795b50b8c150cd9f473df810f9ca726f18645a8c007117d' 'SKIP' '0b6dbdf4d1677a39b9a0d55e8d7c66fe644fa77d769e3b673064181222b17467' '8207a533f4fbad05ad26061f924957a7a92436d44a5dd7ca10e61d730c5e0ef9' -- cgit v1.2.3 From 1c0a3ec17b08eda6509c57a9fba7a0cbee779fca Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 07:58:59 -0300 Subject: xarchiver-libre-0.5.3-4.1: fix po files --- libre/xarchiver-libre/PKGBUILD | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libre/xarchiver-libre/PKGBUILD b/libre/xarchiver-libre/PKGBUILD index c24d97700..f97fcf31c 100644 --- a/libre/xarchiver-libre/PKGBUILD +++ b/libre/xarchiver-libre/PKGBUILD @@ -7,7 +7,7 @@ _pkgname=xarchiver pkgname=xarchiver-libre pkgver=0.5.3 -pkgrel=4 +pkgrel=4.1 pkgdesc="GTK+ frontend to various command line archivers, without nonfree unrar support" arch=('i686' 'x86_64' 'mips64el') url="http://xarchiver.sourceforge.net/" @@ -55,6 +55,13 @@ prepare() { # Remove nonfree unRAR support patch -Np1 -i ../xarchiver-0.5.3-remove-nonfree-unrar-support.patch rm -v src/rar.{c,h} + + # Fix po files + cd po + for file in *.po; do + intltool-update ${file%.*} + msgattrib --no-obsolete -o $file $file + done } build() { -- cgit v1.2.3 From f2975b01f86b9e96fbdb92718d5f39f36913f687 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 07:59:42 -0300 Subject: shotwell-nonprism-0.18.0-1.1: fix po files --- nonprism/shotwell-nonprism/PKGBUILD | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nonprism/shotwell-nonprism/PKGBUILD b/nonprism/shotwell-nonprism/PKGBUILD index 640d1916b..5636f2684 100644 --- a/nonprism/shotwell-nonprism/PKGBUILD +++ b/nonprism/shotwell-nonprism/PKGBUILD @@ -8,7 +8,7 @@ _pkgname=shotwell pkgname=shotwell-nonprism pkgver=0.18.0 -pkgrel=1 +pkgrel=1.1 pkgdesc="A digital photo organizer designed for the GNOME desktop environment, without support for unsafe and dangerous for privacy protocols" arch=('i686' 'x86_64') url="http://yorba.org/shotwell/" @@ -29,6 +29,12 @@ md5sums=('856b69fe67bc8bd42a6985e042041daf' prepare() { cd "${srcdir}/${_pkgname}-${pkgver}" patch -Np1 -i ${srcdir}/nonprism.patch + + cd po + for file in *.po; do + intltool-update ${file%.*} + msgattrib --no-obsolete -o $file $file + done } build() { -- cgit v1.2.3 From d1044a10cb6342a37b6be31e37b604b8e7ed746a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 08:05:06 -0300 Subject: gnome-boxes-libre: remove po fixing, because is necessary for POTFILES.in modifications --- libre/gnome-boxes-libre/PKGBUILD | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libre/gnome-boxes-libre/PKGBUILD b/libre/gnome-boxes-libre/PKGBUILD index a78d464e7..80f2495f3 100644 --- a/libre/gnome-boxes-libre/PKGBUILD +++ b/libre/gnome-boxes-libre/PKGBUILD @@ -29,10 +29,6 @@ prepare() { cd $_pkgname-$pkgver patch -Np1 -i "$srcdir/libre.patch" - - cd help/es - intltool-update es.po - msgattrib --no-obsolete -o es.po es.po } build() { -- cgit v1.2.3 From fbf11371027cbe3afb893d10bbafe9e9be052163 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 08:22:39 -0300 Subject: linux-libre-3.14.3-2: fix CVE-2014-0196 --- libre/linux-libre/CVE-2014-0196.patch | 80 +++++++++++++++++++++++++++++++++++ libre/linux-libre/PKGBUILD | 9 +++- 2 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 libre/linux-libre/CVE-2014-0196.patch diff --git a/libre/linux-libre/CVE-2014-0196.patch b/libre/linux-libre/CVE-2014-0196.patch new file mode 100644 index 000000000..a58707d56 --- /dev/null +++ b/libre/linux-libre/CVE-2014-0196.patch @@ -0,0 +1,80 @@ +From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 +From: Peter Hurley +Date: Sat, 3 May 2014 14:04:59 +0200 +Subject: n_tty: Fix n_tty_write crash when echoing in raw mode + +The tty atomic_write_lock does not provide an exclusion guarantee for +the tty driver if the termios settings are LECHO & !OPOST. And since +it is unexpected and not allowed to call TTY buffer helpers like +tty_insert_flip_string concurrently, this may lead to crashes when +concurrect writers call pty_write. In that case the following two +writers: +* the ECHOing from a workqueue and +* pty_write from the process +race and can overflow the corresponding TTY buffer like follows. + +If we look into tty_insert_flip_string_fixed_flag, there is: + int space = __tty_buffer_request_room(port, goal, flags); + struct tty_buffer *tb = port->buf.tail; + ... + memcpy(char_buf_ptr(tb, tb->used), chars, space); + ... + tb->used += space; + +so the race of the two can result in something like this: + A B +__tty_buffer_request_room + __tty_buffer_request_room +memcpy(buf(tb->used), ...) +tb->used += space; + memcpy(buf(tb->used), ...) ->BOOM + +B's memcpy is past the tty_buffer due to the previous A's tb->used +increment. + +Since the N_TTY line discipline input processing can output +concurrently with a tty write, obtain the N_TTY ldisc output_lock to +serialize echo output with normal tty writes. This ensures the tty +buffer helper tty_insert_flip_string is not called concurrently and +everything is fine. + +Note that this is nicely reproducible by an ordinary user using +forkpty and some setup around that (raw termios + ECHO). And it is +present in kernels at least after commit +d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to +use the normal buffering logic) in 2.6.31-rc3. + +js: add more info to the commit log +js: switch to bool +js: lock unconditionally +js: lock only the tty->ops->write call + +References: CVE-2014-0196 +Reported-and-tested-by: Jiri Slaby +Signed-off-by: Peter Hurley +Signed-off-by: Jiri Slaby +Cc: Linus Torvalds +Cc: Alan Cox +Cc: +Signed-off-by: Greg Kroah-Hartman + +diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c +index 41fe8a0..fe9d129 100644 +--- a/drivers/tty/n_tty.c ++++ b/drivers/tty/n_tty.c +@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, + if (tty->ops->flush_chars) + tty->ops->flush_chars(tty); + } else { ++ struct n_tty_data *ldata = tty->disc_data; ++ + while (nr > 0) { ++ mutex_lock(&ldata->output_lock); + c = tty->ops->write(tty, b, nr); ++ mutex_unlock(&ldata->output_lock); + if (c < 0) { + retval = c; + goto break_out; +-- +cgit v0.10.1-7-g08dc + diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index db1d1c223..663e3c916 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212093 2014-05-06 20:49:41Z tpowa $ +# $Id: PKGBUILD 212325 2014-05-12 18:58:13Z tpowa $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -12,7 +12,7 @@ pkgbase=linux-libre # Build stock -LIBRE kernel _basekernel=3.14 _sublevel=3 pkgver=${_basekernel}.${_sublevel} -pkgrel=1 +pkgrel=2 _lxopkgver=${_basekernel}.3 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -21,6 +21,7 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" + 'CVE-2014-0196.patch' # the main kernel config files 'config.i686' 'config.x86_64' # standard config files for mkinitcpio ramdisk @@ -43,6 +44,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + '56d6dc13617645184e2a14b2ee466ccba5241961953f4950aed7377bc34902d7' '71891ae6903598f4686e86fdb0d371ff9e179e8dac1d2cf60ca16c5190916745' 'fca0060bde385e2c292489087af0aa5f48da594221a6d162fc6f8ba2159571e8' 'dfe01c93d83cdac9ca502715ceb6ac9502d327c939fec2e3052a5a58422dc176' @@ -81,6 +83,9 @@ prepare() { # add freedo as boot logo patch -p1 -i "${srcdir}/boot-logo.patch" + # fix upstream CVE-2014-0196 + patch -p1 -i "${srcdir}/CVE-2014-0196.patch" + # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git -- cgit v1.2.3 From 0dbc7d243ce4a002c3b25e444753e386b0d8da28 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 08:30:20 -0300 Subject: linux-libre-lts-3.10.39-2: fix CVE-2014-0196 --- ..._tty_write-crash-when-echoing-in-raw-mode.patch | 83 ++++++++++++++++++++++ libre/linux-libre-lts/PKGBUILD | 13 ++-- 2 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch diff --git a/libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch b/libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch new file mode 100644 index 000000000..cb659dc7d --- /dev/null +++ b/libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch @@ -0,0 +1,83 @@ +From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 +From: Peter Hurley +Date: Sat, 3 May 2014 14:04:59 +0200 +Subject: [PATCH] n_tty: Fix n_tty_write crash when echoing in raw mode + +The tty atomic_write_lock does not provide an exclusion guarantee for +the tty driver if the termios settings are LECHO & !OPOST. And since +it is unexpected and not allowed to call TTY buffer helpers like +tty_insert_flip_string concurrently, this may lead to crashes when +concurrect writers call pty_write. In that case the following two +writers: +* the ECHOing from a workqueue and +* pty_write from the process +race and can overflow the corresponding TTY buffer like follows. + +If we look into tty_insert_flip_string_fixed_flag, there is: + int space = __tty_buffer_request_room(port, goal, flags); + struct tty_buffer *tb = port->buf.tail; + ... + memcpy(char_buf_ptr(tb, tb->used), chars, space); + ... + tb->used += space; + +so the race of the two can result in something like this: + A B +__tty_buffer_request_room + __tty_buffer_request_room +memcpy(buf(tb->used), ...) +tb->used += space; + memcpy(buf(tb->used), ...) ->BOOM + +B's memcpy is past the tty_buffer due to the previous A's tb->used +increment. + +Since the N_TTY line discipline input processing can output +concurrently with a tty write, obtain the N_TTY ldisc output_lock to +serialize echo output with normal tty writes. This ensures the tty +buffer helper tty_insert_flip_string is not called concurrently and +everything is fine. + +Note that this is nicely reproducible by an ordinary user using +forkpty and some setup around that (raw termios + ECHO). And it is +present in kernels at least after commit +d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to +use the normal buffering logic) in 2.6.31-rc3. + +js: add more info to the commit log +js: switch to bool +js: lock unconditionally +js: lock only the tty->ops->write call + +References: CVE-2014-0196 +Reported-and-tested-by: Jiri Slaby +Signed-off-by: Peter Hurley +Signed-off-by: Jiri Slaby +Cc: Linus Torvalds +Cc: Alan Cox +Cc: +Signed-off-by: Greg Kroah-Hartman +--- + drivers/tty/n_tty.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c +index 41fe8a0..fe9d129 100644 +--- a/drivers/tty/n_tty.c ++++ b/drivers/tty/n_tty.c +@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, + if (tty->ops->flush_chars) + tty->ops->flush_chars(tty); + } else { ++ struct n_tty_data *ldata = tty->disc_data; ++ + while (nr > 0) { ++ mutex_lock(&ldata->output_lock); + c = tty->ops->write(tty, b, nr); ++ mutex_unlock(&ldata->output_lock); + if (c < 0) { + retval = c; + goto break_out; +-- +1.9.2 + diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index dc9477d16..44978f9ba 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212087 2014-05-06 15:55:48Z bpiotrowski $ +# $Id: PKGBUILD 212332 2014-05-13 08:23:48Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -12,8 +12,8 @@ pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel _basekernel=3.10 _sublevel=39 pkgver=${_basekernel}.${_sublevel} -pkgrel=1 -_lxopkgver=${_basekernel}.38 # nearly always the same as pkgver +pkgrel=2 +_lxopkgver=${_basekernel}.39 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -30,6 +30,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'boot-logo.patch' 'change-default-console-loglevel.patch' 'criu-no-expert.patch' + '0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '0663686c1e5495b999a175aa7809ea92' @@ -41,7 +42,8 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' - 'e5ae030129ed128c61fe29b926476a19') + 'da00b78faadbe939943b32305e4c68f8' + '64e128839d1e32bd0789cf1b3fc3d64b') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] @@ -73,6 +75,9 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" + # CVE-2014-0196 + patch -Np1 -i "${srcdir}/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch" + if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-lts|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ -- cgit v1.2.3 From 9f3b5374ab365d58832a3ca32d698f6b39d4640f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 08:35:02 -0300 Subject: linux-libre-{pae,xen}-3.14.3-2: fix CVE-2014-0196 --- kernels/linux-libre-pae/CVE-2014-0196.patch | 80 +++++++++++++++++++++++++++++ kernels/linux-libre-pae/PKGBUILD | 9 +++- kernels/linux-libre-xen/CVE-2014-0196.patch | 80 +++++++++++++++++++++++++++++ kernels/linux-libre-xen/PKGBUILD | 9 +++- 4 files changed, 174 insertions(+), 4 deletions(-) create mode 100644 kernels/linux-libre-pae/CVE-2014-0196.patch create mode 100644 kernels/linux-libre-xen/CVE-2014-0196.patch diff --git a/kernels/linux-libre-pae/CVE-2014-0196.patch b/kernels/linux-libre-pae/CVE-2014-0196.patch new file mode 100644 index 000000000..a58707d56 --- /dev/null +++ b/kernels/linux-libre-pae/CVE-2014-0196.patch @@ -0,0 +1,80 @@ +From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 +From: Peter Hurley +Date: Sat, 3 May 2014 14:04:59 +0200 +Subject: n_tty: Fix n_tty_write crash when echoing in raw mode + +The tty atomic_write_lock does not provide an exclusion guarantee for +the tty driver if the termios settings are LECHO & !OPOST. And since +it is unexpected and not allowed to call TTY buffer helpers like +tty_insert_flip_string concurrently, this may lead to crashes when +concurrect writers call pty_write. In that case the following two +writers: +* the ECHOing from a workqueue and +* pty_write from the process +race and can overflow the corresponding TTY buffer like follows. + +If we look into tty_insert_flip_string_fixed_flag, there is: + int space = __tty_buffer_request_room(port, goal, flags); + struct tty_buffer *tb = port->buf.tail; + ... + memcpy(char_buf_ptr(tb, tb->used), chars, space); + ... + tb->used += space; + +so the race of the two can result in something like this: + A B +__tty_buffer_request_room + __tty_buffer_request_room +memcpy(buf(tb->used), ...) +tb->used += space; + memcpy(buf(tb->used), ...) ->BOOM + +B's memcpy is past the tty_buffer due to the previous A's tb->used +increment. + +Since the N_TTY line discipline input processing can output +concurrently with a tty write, obtain the N_TTY ldisc output_lock to +serialize echo output with normal tty writes. This ensures the tty +buffer helper tty_insert_flip_string is not called concurrently and +everything is fine. + +Note that this is nicely reproducible by an ordinary user using +forkpty and some setup around that (raw termios + ECHO). And it is +present in kernels at least after commit +d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to +use the normal buffering logic) in 2.6.31-rc3. + +js: add more info to the commit log +js: switch to bool +js: lock unconditionally +js: lock only the tty->ops->write call + +References: CVE-2014-0196 +Reported-and-tested-by: Jiri Slaby +Signed-off-by: Peter Hurley +Signed-off-by: Jiri Slaby +Cc: Linus Torvalds +Cc: Alan Cox +Cc: +Signed-off-by: Greg Kroah-Hartman + +diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c +index 41fe8a0..fe9d129 100644 +--- a/drivers/tty/n_tty.c ++++ b/drivers/tty/n_tty.c +@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, + if (tty->ops->flush_chars) + tty->ops->flush_chars(tty); + } else { ++ struct n_tty_data *ldata = tty->disc_data; ++ + while (nr > 0) { ++ mutex_lock(&ldata->output_lock); + c = tty->ops->write(tty, b, nr); ++ mutex_unlock(&ldata->output_lock); + if (c < 0) { + retval = c; + goto break_out; +-- +cgit v0.10.1-7-g08dc + diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD index 327e3da2e..f0bd83c9b 100644 --- a/kernels/linux-libre-pae/PKGBUILD +++ b/kernels/linux-libre-pae/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212093 2014-05-06 20:49:41Z tpowa $ +# $Id: PKGBUILD 212325 2014-05-12 18:58:13Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -7,7 +7,7 @@ pkgbase=linux-libre-pae # Build stock -LIBRE-PAE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 pkgver=${_basekernel}.3 -pkgrel=1 +pkgrel=2 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -15,6 +15,7 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" + 'CVE-2014-0196.patch' # the main kernel config files 'config' # standard config files for mkinitcpio ramdisk @@ -34,6 +35,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0015-fix-xsdt-validation.patch') sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + '56d6dc13617645184e2a14b2ee466ccba5241961953f4950aed7377bc34902d7' 'fa4a0141d51dd76d6b57980278a95614d53c51af1cdf983789ed546a47302e2c' '292d5c553f87246c8dc2d57cadfd2db92a3750173b4588d53c2919743171eca5' '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' @@ -63,6 +65,9 @@ prepare() { # add freedo as boot logo patch -p1 -i "${srcdir}/boot-logo.patch" + # fix upstream CVE-2014-0196 + patch -p1 -i "${srcdir}/CVE-2014-0196.patch" + # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git diff --git a/kernels/linux-libre-xen/CVE-2014-0196.patch b/kernels/linux-libre-xen/CVE-2014-0196.patch new file mode 100644 index 000000000..a58707d56 --- /dev/null +++ b/kernels/linux-libre-xen/CVE-2014-0196.patch @@ -0,0 +1,80 @@ +From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 +From: Peter Hurley +Date: Sat, 3 May 2014 14:04:59 +0200 +Subject: n_tty: Fix n_tty_write crash when echoing in raw mode + +The tty atomic_write_lock does not provide an exclusion guarantee for +the tty driver if the termios settings are LECHO & !OPOST. And since +it is unexpected and not allowed to call TTY buffer helpers like +tty_insert_flip_string concurrently, this may lead to crashes when +concurrect writers call pty_write. In that case the following two +writers: +* the ECHOing from a workqueue and +* pty_write from the process +race and can overflow the corresponding TTY buffer like follows. + +If we look into tty_insert_flip_string_fixed_flag, there is: + int space = __tty_buffer_request_room(port, goal, flags); + struct tty_buffer *tb = port->buf.tail; + ... + memcpy(char_buf_ptr(tb, tb->used), chars, space); + ... + tb->used += space; + +so the race of the two can result in something like this: + A B +__tty_buffer_request_room + __tty_buffer_request_room +memcpy(buf(tb->used), ...) +tb->used += space; + memcpy(buf(tb->used), ...) ->BOOM + +B's memcpy is past the tty_buffer due to the previous A's tb->used +increment. + +Since the N_TTY line discipline input processing can output +concurrently with a tty write, obtain the N_TTY ldisc output_lock to +serialize echo output with normal tty writes. This ensures the tty +buffer helper tty_insert_flip_string is not called concurrently and +everything is fine. + +Note that this is nicely reproducible by an ordinary user using +forkpty and some setup around that (raw termios + ECHO). And it is +present in kernels at least after commit +d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to +use the normal buffering logic) in 2.6.31-rc3. + +js: add more info to the commit log +js: switch to bool +js: lock unconditionally +js: lock only the tty->ops->write call + +References: CVE-2014-0196 +Reported-and-tested-by: Jiri Slaby +Signed-off-by: Peter Hurley +Signed-off-by: Jiri Slaby +Cc: Linus Torvalds +Cc: Alan Cox +Cc: +Signed-off-by: Greg Kroah-Hartman + +diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c +index 41fe8a0..fe9d129 100644 +--- a/drivers/tty/n_tty.c ++++ b/drivers/tty/n_tty.c +@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, + if (tty->ops->flush_chars) + tty->ops->flush_chars(tty); + } else { ++ struct n_tty_data *ldata = tty->disc_data; ++ + while (nr > 0) { ++ mutex_lock(&ldata->output_lock); + c = tty->ops->write(tty, b, nr); ++ mutex_unlock(&ldata->output_lock); + if (c < 0) { + retval = c; + goto break_out; +-- +cgit v0.10.1-7-g08dc + diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index 3bfe1dc4a..5b551e90f 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212093 2014-05-06 20:49:41Z tpowa $ +# $Id: PKGBUILD 212325 2014-05-12 18:58:13Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -7,7 +7,7 @@ pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 pkgver=${_basekernel}.3 -pkgrel=1 +pkgrel=2 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -15,6 +15,7 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" + 'CVE-2014-0196.patch' # the main kernel config files 'config' # standard config files for mkinitcpio ramdisk @@ -34,6 +35,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0015-fix-xsdt-validation.patch') sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' + '56d6dc13617645184e2a14b2ee466ccba5241961953f4950aed7377bc34902d7' '44d0749d9d2d7f8eec93b260ab5d601433c43d8bf16b6685c3811cf43ba0ed91' '7a475ada892857397cf80d2de777825ae94758dc2d9dfa3754ae3d670f4a2f02' '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' @@ -63,6 +65,9 @@ prepare() { # add freedo as boot logo patch -p1 -i "${srcdir}/boot-logo.patch" + # fix upstream CVE-2014-0196 + patch -p1 -i "${srcdir}/CVE-2014-0196.patch" + # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git -- cgit v1.2.3 From 661025ba1abf4fcabf1abe014f7d5a24d7b4db58 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 08:35:39 -0300 Subject: linux-libre-lts-knock-3.10.39-2: fix CVE-2014-0196 --- ..._tty_write-crash-when-echoing-in-raw-mode.patch | 83 ++++++++++++++++++++++ kernels/linux-libre-lts-knock/PKGBUILD | 10 ++- 2 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch diff --git a/kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch b/kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch new file mode 100644 index 000000000..cb659dc7d --- /dev/null +++ b/kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch @@ -0,0 +1,83 @@ +From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 +From: Peter Hurley +Date: Sat, 3 May 2014 14:04:59 +0200 +Subject: [PATCH] n_tty: Fix n_tty_write crash when echoing in raw mode + +The tty atomic_write_lock does not provide an exclusion guarantee for +the tty driver if the termios settings are LECHO & !OPOST. And since +it is unexpected and not allowed to call TTY buffer helpers like +tty_insert_flip_string concurrently, this may lead to crashes when +concurrect writers call pty_write. In that case the following two +writers: +* the ECHOing from a workqueue and +* pty_write from the process +race and can overflow the corresponding TTY buffer like follows. + +If we look into tty_insert_flip_string_fixed_flag, there is: + int space = __tty_buffer_request_room(port, goal, flags); + struct tty_buffer *tb = port->buf.tail; + ... + memcpy(char_buf_ptr(tb, tb->used), chars, space); + ... + tb->used += space; + +so the race of the two can result in something like this: + A B +__tty_buffer_request_room + __tty_buffer_request_room +memcpy(buf(tb->used), ...) +tb->used += space; + memcpy(buf(tb->used), ...) ->BOOM + +B's memcpy is past the tty_buffer due to the previous A's tb->used +increment. + +Since the N_TTY line discipline input processing can output +concurrently with a tty write, obtain the N_TTY ldisc output_lock to +serialize echo output with normal tty writes. This ensures the tty +buffer helper tty_insert_flip_string is not called concurrently and +everything is fine. + +Note that this is nicely reproducible by an ordinary user using +forkpty and some setup around that (raw termios + ECHO). And it is +present in kernels at least after commit +d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to +use the normal buffering logic) in 2.6.31-rc3. + +js: add more info to the commit log +js: switch to bool +js: lock unconditionally +js: lock only the tty->ops->write call + +References: CVE-2014-0196 +Reported-and-tested-by: Jiri Slaby +Signed-off-by: Peter Hurley +Signed-off-by: Jiri Slaby +Cc: Linus Torvalds +Cc: Alan Cox +Cc: +Signed-off-by: Greg Kroah-Hartman +--- + drivers/tty/n_tty.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c +index 41fe8a0..fe9d129 100644 +--- a/drivers/tty/n_tty.c ++++ b/drivers/tty/n_tty.c +@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, + if (tty->ops->flush_chars) + tty->ops->flush_chars(tty); + } else { ++ struct n_tty_data *ldata = tty->disc_data; ++ + while (nr > 0) { ++ mutex_lock(&ldata->output_lock); + c = tty->ops->write(tty, b, nr); ++ mutex_unlock(&ldata->output_lock); + if (c < 0) { + retval = c; + goto break_out; +-- +1.9.2 + diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD index 221f808eb..dab0fd29f 100644 --- a/kernels/linux-libre-lts-knock/PKGBUILD +++ b/kernels/linux-libre-lts-knock/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212087 2014-05-06 15:55:48Z bpiotrowski $ +# $Id: PKGBUILD 212332 2014-05-13 08:23:48Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -13,8 +13,8 @@ _basekernel=3.10 _sublevel=39 _knockpatchver=${_basekernel} pkgver=${_basekernel}.${_sublevel} -pkgrel=1 -_lxopkgver=${_basekernel}.38 # nearly always the same as pkgver +pkgrel=2 +_lxopkgver=${_basekernel}.39 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="https://gnunet.org/knock" license=('GPL2') @@ -32,6 +32,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'boot-logo.patch' 'change-default-console-loglevel.patch' 'criu-no-expert.patch' + '0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '0663686c1e5495b999a175aa7809ea92' @@ -79,6 +80,9 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" + # CVE-2014-0196 + patch -Np1 -i "${srcdir}/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch" + if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-lts-knock|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ -- cgit v1.2.3 From a654b9b87c83ccafb45a3f59aabf009cf9b25920 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 15:51:36 -0300 Subject: qupzilla-libre-1.6.6-1: updating version --- libre/qupzilla-libre/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libre/qupzilla-libre/PKGBUILD b/libre/qupzilla-libre/PKGBUILD index 6d7cbb839..f5956c8f2 100644 --- a/libre/qupzilla-libre/PKGBUILD +++ b/libre/qupzilla-libre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 109866 2014-04-19 22:54:04Z speps $ +# $Id: PKGBUILD 111093 2014-05-13 15:31:43Z speps $ # Maintainer: speps # Maintainer (Parabola): André Silva _pkgbase=qupzilla pkgbase=qupzilla-libre pkgname=(qupzilla-libre qupzilla-libre-qt4) -pkgver=1.6.5 +pkgver=1.6.6 pkgrel=1 arch=(i686 x86_64 mips64el) url="http://www.qupzilla.com/" @@ -18,7 +18,7 @@ source=("$_pkgbase-$pkgver.tar.gz::https://github.com/QupZilla/qupzilla/archive/ 'speeddial.cpp.sed' 'start.html.sed') noextract=("$_pkgbase-$pkgver.tar.gz") -md5sums=('4bc129b403f8e74b819ff28e78be27e3' +md5sums=('daad78e47a0956dcc99c0cba9ae6e462' '1d926e97a5b287d40fb695f6516f2a06' '0f166fa102af975b3b8ac030d477e9b8' '77120a0c39ba8254e5b2c273910f029a') -- cgit v1.2.3 From 106c7944a7dccf6d19efeb2858aa95ce864ecf05 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 17:53:23 -0300 Subject: linux-libre-3.14.4-1: updating version --- libre/linux-libre/CVE-2014-0196.patch | 80 ----------------------------------- libre/linux-libre/PKGBUILD | 13 ++---- 2 files changed, 4 insertions(+), 89 deletions(-) delete mode 100644 libre/linux-libre/CVE-2014-0196.patch diff --git a/libre/linux-libre/CVE-2014-0196.patch b/libre/linux-libre/CVE-2014-0196.patch deleted file mode 100644 index a58707d56..000000000 --- a/libre/linux-libre/CVE-2014-0196.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 -From: Peter Hurley -Date: Sat, 3 May 2014 14:04:59 +0200 -Subject: n_tty: Fix n_tty_write crash when echoing in raw mode - -The tty atomic_write_lock does not provide an exclusion guarantee for -the tty driver if the termios settings are LECHO & !OPOST. And since -it is unexpected and not allowed to call TTY buffer helpers like -tty_insert_flip_string concurrently, this may lead to crashes when -concurrect writers call pty_write. In that case the following two -writers: -* the ECHOing from a workqueue and -* pty_write from the process -race and can overflow the corresponding TTY buffer like follows. - -If we look into tty_insert_flip_string_fixed_flag, there is: - int space = __tty_buffer_request_room(port, goal, flags); - struct tty_buffer *tb = port->buf.tail; - ... - memcpy(char_buf_ptr(tb, tb->used), chars, space); - ... - tb->used += space; - -so the race of the two can result in something like this: - A B -__tty_buffer_request_room - __tty_buffer_request_room -memcpy(buf(tb->used), ...) -tb->used += space; - memcpy(buf(tb->used), ...) ->BOOM - -B's memcpy is past the tty_buffer due to the previous A's tb->used -increment. - -Since the N_TTY line discipline input processing can output -concurrently with a tty write, obtain the N_TTY ldisc output_lock to -serialize echo output with normal tty writes. This ensures the tty -buffer helper tty_insert_flip_string is not called concurrently and -everything is fine. - -Note that this is nicely reproducible by an ordinary user using -forkpty and some setup around that (raw termios + ECHO). And it is -present in kernels at least after commit -d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to -use the normal buffering logic) in 2.6.31-rc3. - -js: add more info to the commit log -js: switch to bool -js: lock unconditionally -js: lock only the tty->ops->write call - -References: CVE-2014-0196 -Reported-and-tested-by: Jiri Slaby -Signed-off-by: Peter Hurley -Signed-off-by: Jiri Slaby -Cc: Linus Torvalds -Cc: Alan Cox -Cc: -Signed-off-by: Greg Kroah-Hartman - -diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c -index 41fe8a0..fe9d129 100644 ---- a/drivers/tty/n_tty.c -+++ b/drivers/tty/n_tty.c -@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, - if (tty->ops->flush_chars) - tty->ops->flush_chars(tty); - } else { -+ struct n_tty_data *ldata = tty->disc_data; -+ - while (nr > 0) { -+ mutex_lock(&ldata->output_lock); - c = tty->ops->write(tty, b, nr); -+ mutex_unlock(&ldata->output_lock); - if (c < 0) { - retval = c; - goto break_out; --- -cgit v0.10.1-7-g08dc - diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 663e3c916..12d843e82 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212325 2014-05-12 18:58:13Z tpowa $ +# $Id: PKGBUILD 212338 2014-05-13 15:06:31Z tpowa $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,9 +10,9 @@ pkgbase=linux-libre # Build stock -LIBRE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -_sublevel=3 +_sublevel=4 pkgver=${_basekernel}.${_sublevel} -pkgrel=2 +pkgrel=1 _lxopkgver=${_basekernel}.3 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -21,7 +21,6 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" - 'CVE-2014-0196.patch' # the main kernel config files 'config.i686' 'config.x86_64' # standard config files for mkinitcpio ramdisk @@ -43,8 +42,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0015-fix-xsdt-validation.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' - 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' - '56d6dc13617645184e2a14b2ee466ccba5241961953f4950aed7377bc34902d7' + '01de5e15a2081197859e617c441de5cac9ddf60bed6fcf4dcff7a54e210e7815' '71891ae6903598f4686e86fdb0d371ff9e179e8dac1d2cf60ca16c5190916745' 'fca0060bde385e2c292489087af0aa5f48da594221a6d162fc6f8ba2159571e8' 'dfe01c93d83cdac9ca502715ceb6ac9502d327c939fec2e3052a5a58422dc176' @@ -83,9 +81,6 @@ prepare() { # add freedo as boot logo patch -p1 -i "${srcdir}/boot-logo.patch" - # fix upstream CVE-2014-0196 - patch -p1 -i "${srcdir}/CVE-2014-0196.patch" - # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git -- cgit v1.2.3 From f995f2c8e4ea48c55b3c5a2be352f14f145cd357 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 18:18:15 -0300 Subject: linux-libre-lts-3.10.40-1: updating version --- ..._tty_write-crash-when-echoing-in-raw-mode.patch | 83 ---------------------- libre/linux-libre-lts/PKGBUILD | 13 ++-- 2 files changed, 4 insertions(+), 92 deletions(-) delete mode 100644 libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch diff --git a/libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch b/libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch deleted file mode 100644 index cb659dc7d..000000000 --- a/libre/linux-libre-lts/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 -From: Peter Hurley -Date: Sat, 3 May 2014 14:04:59 +0200 -Subject: [PATCH] n_tty: Fix n_tty_write crash when echoing in raw mode - -The tty atomic_write_lock does not provide an exclusion guarantee for -the tty driver if the termios settings are LECHO & !OPOST. And since -it is unexpected and not allowed to call TTY buffer helpers like -tty_insert_flip_string concurrently, this may lead to crashes when -concurrect writers call pty_write. In that case the following two -writers: -* the ECHOing from a workqueue and -* pty_write from the process -race and can overflow the corresponding TTY buffer like follows. - -If we look into tty_insert_flip_string_fixed_flag, there is: - int space = __tty_buffer_request_room(port, goal, flags); - struct tty_buffer *tb = port->buf.tail; - ... - memcpy(char_buf_ptr(tb, tb->used), chars, space); - ... - tb->used += space; - -so the race of the two can result in something like this: - A B -__tty_buffer_request_room - __tty_buffer_request_room -memcpy(buf(tb->used), ...) -tb->used += space; - memcpy(buf(tb->used), ...) ->BOOM - -B's memcpy is past the tty_buffer due to the previous A's tb->used -increment. - -Since the N_TTY line discipline input processing can output -concurrently with a tty write, obtain the N_TTY ldisc output_lock to -serialize echo output with normal tty writes. This ensures the tty -buffer helper tty_insert_flip_string is not called concurrently and -everything is fine. - -Note that this is nicely reproducible by an ordinary user using -forkpty and some setup around that (raw termios + ECHO). And it is -present in kernels at least after commit -d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to -use the normal buffering logic) in 2.6.31-rc3. - -js: add more info to the commit log -js: switch to bool -js: lock unconditionally -js: lock only the tty->ops->write call - -References: CVE-2014-0196 -Reported-and-tested-by: Jiri Slaby -Signed-off-by: Peter Hurley -Signed-off-by: Jiri Slaby -Cc: Linus Torvalds -Cc: Alan Cox -Cc: -Signed-off-by: Greg Kroah-Hartman ---- - drivers/tty/n_tty.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c -index 41fe8a0..fe9d129 100644 ---- a/drivers/tty/n_tty.c -+++ b/drivers/tty/n_tty.c -@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, - if (tty->ops->flush_chars) - tty->ops->flush_chars(tty); - } else { -+ struct n_tty_data *ldata = tty->disc_data; -+ - while (nr > 0) { -+ mutex_lock(&ldata->output_lock); - c = tty->ops->write(tty, b, nr); -+ mutex_unlock(&ldata->output_lock); - if (c < 0) { - retval = c; - goto break_out; --- -1.9.2 - diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 44978f9ba..39e7da700 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212332 2014-05-13 08:23:48Z bpiotrowski $ +# $Id: PKGBUILD 212335 2014-05-13 13:51:20Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,9 +10,9 @@ pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=39 +_sublevel=40 pkgver=${_basekernel}.${_sublevel} -pkgrel=2 +pkgrel=1 _lxopkgver=${_basekernel}.39 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -30,10 +30,9 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'boot-logo.patch' 'change-default-console-loglevel.patch' 'criu-no-expert.patch' - '0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '0663686c1e5495b999a175aa7809ea92' + '778a6856efdd2377f6073326ef2d3996' '85ce008eaacbb2fc54b81116d35cf946' '16867e648e4b9f89bec949cb643888c2' 'c072b17032e80debc6a8626299245d46' @@ -42,7 +41,6 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' - 'da00b78faadbe939943b32305e4c68f8' '64e128839d1e32bd0789cf1b3fc3d64b') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. @@ -75,9 +73,6 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" - # CVE-2014-0196 - patch -Np1 -i "${srcdir}/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch" - if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-lts|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ -- cgit v1.2.3 From ee06eb034018f78de937cc8dc9726b5992f901f1 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 18:23:13 -0300 Subject: linux-libre-{pae,xen}-3.14.4-1: updating version --- kernels/linux-libre-pae/CVE-2014-0196.patch | 80 ----------------------------- kernels/linux-libre-pae/PKGBUILD | 13 ++--- kernels/linux-libre-xen/CVE-2014-0196.patch | 80 ----------------------------- kernels/linux-libre-xen/PKGBUILD | 13 ++--- 4 files changed, 8 insertions(+), 178 deletions(-) delete mode 100644 kernels/linux-libre-pae/CVE-2014-0196.patch delete mode 100644 kernels/linux-libre-xen/CVE-2014-0196.patch diff --git a/kernels/linux-libre-pae/CVE-2014-0196.patch b/kernels/linux-libre-pae/CVE-2014-0196.patch deleted file mode 100644 index a58707d56..000000000 --- a/kernels/linux-libre-pae/CVE-2014-0196.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 -From: Peter Hurley -Date: Sat, 3 May 2014 14:04:59 +0200 -Subject: n_tty: Fix n_tty_write crash when echoing in raw mode - -The tty atomic_write_lock does not provide an exclusion guarantee for -the tty driver if the termios settings are LECHO & !OPOST. And since -it is unexpected and not allowed to call TTY buffer helpers like -tty_insert_flip_string concurrently, this may lead to crashes when -concurrect writers call pty_write. In that case the following two -writers: -* the ECHOing from a workqueue and -* pty_write from the process -race and can overflow the corresponding TTY buffer like follows. - -If we look into tty_insert_flip_string_fixed_flag, there is: - int space = __tty_buffer_request_room(port, goal, flags); - struct tty_buffer *tb = port->buf.tail; - ... - memcpy(char_buf_ptr(tb, tb->used), chars, space); - ... - tb->used += space; - -so the race of the two can result in something like this: - A B -__tty_buffer_request_room - __tty_buffer_request_room -memcpy(buf(tb->used), ...) -tb->used += space; - memcpy(buf(tb->used), ...) ->BOOM - -B's memcpy is past the tty_buffer due to the previous A's tb->used -increment. - -Since the N_TTY line discipline input processing can output -concurrently with a tty write, obtain the N_TTY ldisc output_lock to -serialize echo output with normal tty writes. This ensures the tty -buffer helper tty_insert_flip_string is not called concurrently and -everything is fine. - -Note that this is nicely reproducible by an ordinary user using -forkpty and some setup around that (raw termios + ECHO). And it is -present in kernels at least after commit -d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to -use the normal buffering logic) in 2.6.31-rc3. - -js: add more info to the commit log -js: switch to bool -js: lock unconditionally -js: lock only the tty->ops->write call - -References: CVE-2014-0196 -Reported-and-tested-by: Jiri Slaby -Signed-off-by: Peter Hurley -Signed-off-by: Jiri Slaby -Cc: Linus Torvalds -Cc: Alan Cox -Cc: -Signed-off-by: Greg Kroah-Hartman - -diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c -index 41fe8a0..fe9d129 100644 ---- a/drivers/tty/n_tty.c -+++ b/drivers/tty/n_tty.c -@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, - if (tty->ops->flush_chars) - tty->ops->flush_chars(tty); - } else { -+ struct n_tty_data *ldata = tty->disc_data; -+ - while (nr > 0) { -+ mutex_lock(&ldata->output_lock); - c = tty->ops->write(tty, b, nr); -+ mutex_unlock(&ldata->output_lock); - if (c < 0) { - retval = c; - goto break_out; --- -cgit v0.10.1-7-g08dc - diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD index f0bd83c9b..4e15b5846 100644 --- a/kernels/linux-libre-pae/PKGBUILD +++ b/kernels/linux-libre-pae/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212325 2014-05-12 18:58:13Z tpowa $ +# $Id: PKGBUILD 212338 2014-05-13 15:06:31Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -6,8 +6,8 @@ pkgbase=linux-libre-pae # Build stock -LIBRE-PAE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -pkgver=${_basekernel}.3 -pkgrel=2 +pkgver=${_basekernel}.4 +pkgrel=1 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -15,7 +15,6 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" - 'CVE-2014-0196.patch' # the main kernel config files 'config' # standard config files for mkinitcpio ramdisk @@ -34,8 +33,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' '0015-fix-xsdt-validation.patch') sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' - 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' - '56d6dc13617645184e2a14b2ee466ccba5241961953f4950aed7377bc34902d7' + '01de5e15a2081197859e617c441de5cac9ddf60bed6fcf4dcff7a54e210e7815' 'fa4a0141d51dd76d6b57980278a95614d53c51af1cdf983789ed546a47302e2c' '292d5c553f87246c8dc2d57cadfd2db92a3750173b4588d53c2919743171eca5' '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' @@ -65,9 +63,6 @@ prepare() { # add freedo as boot logo patch -p1 -i "${srcdir}/boot-logo.patch" - # fix upstream CVE-2014-0196 - patch -p1 -i "${srcdir}/CVE-2014-0196.patch" - # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git diff --git a/kernels/linux-libre-xen/CVE-2014-0196.patch b/kernels/linux-libre-xen/CVE-2014-0196.patch deleted file mode 100644 index a58707d56..000000000 --- a/kernels/linux-libre-xen/CVE-2014-0196.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 -From: Peter Hurley -Date: Sat, 3 May 2014 14:04:59 +0200 -Subject: n_tty: Fix n_tty_write crash when echoing in raw mode - -The tty atomic_write_lock does not provide an exclusion guarantee for -the tty driver if the termios settings are LECHO & !OPOST. And since -it is unexpected and not allowed to call TTY buffer helpers like -tty_insert_flip_string concurrently, this may lead to crashes when -concurrect writers call pty_write. In that case the following two -writers: -* the ECHOing from a workqueue and -* pty_write from the process -race and can overflow the corresponding TTY buffer like follows. - -If we look into tty_insert_flip_string_fixed_flag, there is: - int space = __tty_buffer_request_room(port, goal, flags); - struct tty_buffer *tb = port->buf.tail; - ... - memcpy(char_buf_ptr(tb, tb->used), chars, space); - ... - tb->used += space; - -so the race of the two can result in something like this: - A B -__tty_buffer_request_room - __tty_buffer_request_room -memcpy(buf(tb->used), ...) -tb->used += space; - memcpy(buf(tb->used), ...) ->BOOM - -B's memcpy is past the tty_buffer due to the previous A's tb->used -increment. - -Since the N_TTY line discipline input processing can output -concurrently with a tty write, obtain the N_TTY ldisc output_lock to -serialize echo output with normal tty writes. This ensures the tty -buffer helper tty_insert_flip_string is not called concurrently and -everything is fine. - -Note that this is nicely reproducible by an ordinary user using -forkpty and some setup around that (raw termios + ECHO). And it is -present in kernels at least after commit -d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to -use the normal buffering logic) in 2.6.31-rc3. - -js: add more info to the commit log -js: switch to bool -js: lock unconditionally -js: lock only the tty->ops->write call - -References: CVE-2014-0196 -Reported-and-tested-by: Jiri Slaby -Signed-off-by: Peter Hurley -Signed-off-by: Jiri Slaby -Cc: Linus Torvalds -Cc: Alan Cox -Cc: -Signed-off-by: Greg Kroah-Hartman - -diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c -index 41fe8a0..fe9d129 100644 ---- a/drivers/tty/n_tty.c -+++ b/drivers/tty/n_tty.c -@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, - if (tty->ops->flush_chars) - tty->ops->flush_chars(tty); - } else { -+ struct n_tty_data *ldata = tty->disc_data; -+ - while (nr > 0) { -+ mutex_lock(&ldata->output_lock); - c = tty->ops->write(tty, b, nr); -+ mutex_unlock(&ldata->output_lock); - if (c < 0) { - retval = c; - goto break_out; --- -cgit v0.10.1-7-g08dc - diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index 5b551e90f..98585b0d4 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212325 2014-05-12 18:58:13Z tpowa $ +# $Id: PKGBUILD 212338 2014-05-13 15:06:31Z tpowa $ # Contributor: Tobias Powalowski # Contributor: Thomas Baechler # Maintainer (Parabola): André Silva @@ -6,8 +6,8 @@ pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -pkgver=${_basekernel}.3 -pkgrel=2 +pkgver=${_basekernel}.4 +pkgrel=1 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -15,7 +15,6 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" - 'CVE-2014-0196.patch' # the main kernel config files 'config' # standard config files for mkinitcpio ramdisk @@ -34,8 +33,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch' '0015-fix-xsdt-validation.patch') sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' - 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' - '56d6dc13617645184e2a14b2ee466ccba5241961953f4950aed7377bc34902d7' + '01de5e15a2081197859e617c441de5cac9ddf60bed6fcf4dcff7a54e210e7815' '44d0749d9d2d7f8eec93b260ab5d601433c43d8bf16b6685c3811cf43ba0ed91' '7a475ada892857397cf80d2de777825ae94758dc2d9dfa3754ae3d670f4a2f02' '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' @@ -65,9 +63,6 @@ prepare() { # add freedo as boot logo patch -p1 -i "${srcdir}/boot-logo.patch" - # fix upstream CVE-2014-0196 - patch -p1 -i "${srcdir}/CVE-2014-0196.patch" - # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git -- cgit v1.2.3 From 12db7ff3437a3b58115ff5adc818aadf724cb6ad Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 19:00:15 -0300 Subject: linux-libre-lts-knock-3.10.40-1: updating version --- ..._tty_write-crash-when-echoing-in-raw-mode.patch | 83 ---------------------- kernels/linux-libre-lts-knock/PKGBUILD | 14 ++-- 2 files changed, 5 insertions(+), 92 deletions(-) delete mode 100644 kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch diff --git a/kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch b/kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch deleted file mode 100644 index cb659dc7d..000000000 --- a/kernels/linux-libre-lts-knock/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 4291086b1f081b869c6d79e5b7441633dc3ace00 Mon Sep 17 00:00:00 2001 -From: Peter Hurley -Date: Sat, 3 May 2014 14:04:59 +0200 -Subject: [PATCH] n_tty: Fix n_tty_write crash when echoing in raw mode - -The tty atomic_write_lock does not provide an exclusion guarantee for -the tty driver if the termios settings are LECHO & !OPOST. And since -it is unexpected and not allowed to call TTY buffer helpers like -tty_insert_flip_string concurrently, this may lead to crashes when -concurrect writers call pty_write. In that case the following two -writers: -* the ECHOing from a workqueue and -* pty_write from the process -race and can overflow the corresponding TTY buffer like follows. - -If we look into tty_insert_flip_string_fixed_flag, there is: - int space = __tty_buffer_request_room(port, goal, flags); - struct tty_buffer *tb = port->buf.tail; - ... - memcpy(char_buf_ptr(tb, tb->used), chars, space); - ... - tb->used += space; - -so the race of the two can result in something like this: - A B -__tty_buffer_request_room - __tty_buffer_request_room -memcpy(buf(tb->used), ...) -tb->used += space; - memcpy(buf(tb->used), ...) ->BOOM - -B's memcpy is past the tty_buffer due to the previous A's tb->used -increment. - -Since the N_TTY line discipline input processing can output -concurrently with a tty write, obtain the N_TTY ldisc output_lock to -serialize echo output with normal tty writes. This ensures the tty -buffer helper tty_insert_flip_string is not called concurrently and -everything is fine. - -Note that this is nicely reproducible by an ordinary user using -forkpty and some setup around that (raw termios + ECHO). And it is -present in kernels at least after commit -d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to -use the normal buffering logic) in 2.6.31-rc3. - -js: add more info to the commit log -js: switch to bool -js: lock unconditionally -js: lock only the tty->ops->write call - -References: CVE-2014-0196 -Reported-and-tested-by: Jiri Slaby -Signed-off-by: Peter Hurley -Signed-off-by: Jiri Slaby -Cc: Linus Torvalds -Cc: Alan Cox -Cc: -Signed-off-by: Greg Kroah-Hartman ---- - drivers/tty/n_tty.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c -index 41fe8a0..fe9d129 100644 ---- a/drivers/tty/n_tty.c -+++ b/drivers/tty/n_tty.c -@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, - if (tty->ops->flush_chars) - tty->ops->flush_chars(tty); - } else { -+ struct n_tty_data *ldata = tty->disc_data; -+ - while (nr > 0) { -+ mutex_lock(&ldata->output_lock); - c = tty->ops->write(tty, b, nr); -+ mutex_unlock(&ldata->output_lock); - if (c < 0) { - retval = c; - goto break_out; --- -1.9.2 - diff --git a/kernels/linux-libre-lts-knock/PKGBUILD b/kernels/linux-libre-lts-knock/PKGBUILD index dab0fd29f..0c2dacf92 100644 --- a/kernels/linux-libre-lts-knock/PKGBUILD +++ b/kernels/linux-libre-lts-knock/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 212332 2014-05-13 08:23:48Z bpiotrowski $ +# $Id: PKGBUILD 212335 2014-05-13 13:51:20Z bpiotrowski $ # Maintainer: Tobias Powalowski # Maintainer: Thomas Baechler # Maintainer (Parabola): André Silva @@ -10,10 +10,10 @@ pkgbase=linux-libre-lts-knock # Build stock -LIBRE-LTS-KNOCK kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.10 -_sublevel=39 +_sublevel=40 _knockpatchver=${_basekernel} pkgver=${_basekernel}.${_sublevel} -pkgrel=2 +pkgrel=1 _lxopkgver=${_basekernel}.39 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="https://gnunet.org/knock" @@ -32,10 +32,9 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'boot-logo.patch' 'change-default-console-loglevel.patch' 'criu-no-expert.patch' - '0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' - '0663686c1e5495b999a175aa7809ea92' + '778a6856efdd2377f6073326ef2d3996' '26380d6f05471ef8e065a77d87588009' 'f22e0a6a7634902f5a00eb25ad677c65' '6550ba0e23b7729cd9db2475bde8fac2' @@ -45,7 +44,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c' '04b21c79df0a952c22d681dd4f4562df' 'f3def2cefdcbb954c21d8505d23cc83c' 'd50c1ac47394e9aec637002ef3392bd1' - 'e5ae030129ed128c61fe29b926476a19') + '64e128839d1e32bd0789cf1b3fc3d64b') if [ "$CARCH" != "mips64el" ]; then # don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] @@ -80,9 +79,6 @@ prepare() { # patch from fedora patch -Np1 -i "${srcdir}/criu-no-expert.patch" - # CVE-2014-0196 - patch -Np1 -i "${srcdir}/0001-n_tty-Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch" - if [ "$CARCH" == "mips64el" ]; then sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-lts-knock|" Makefile sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \ -- cgit v1.2.3 From a73d3199eb60cbf5bfd055add23deb94591b98e7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 13 May 2014 22:33:59 -0300 Subject: linux-libre-grsec-3.14.4.201405131205-1: updating version --- libre/linux-libre-grsec/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libre/linux-libre-grsec/PKGBUILD b/libre/linux-libre-grsec/PKGBUILD index ea0528d79..62f821037 100644 --- a/libre/linux-libre-grsec/PKGBUILD +++ b/libre/linux-libre-grsec/PKGBUILD @@ -12,9 +12,9 @@ pkgbase=linux-libre-grsec # Build stock -LIBRE-GRSEC kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.14 -_sublevel=3 +_sublevel=4 _grsecver=3.0 -_timestamp=201405121814 +_timestamp=201405131205 _pkgver=${_basekernel}.${_sublevel} pkgver=${_basekernel}.${_sublevel}.${_timestamp} pkgrel=1 @@ -50,8 +50,8 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'sysctl.conf' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz") sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b' - 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6' - 'fd62acc651c19207b795b50b8c150cd9f473df810f9ca726f18645a8c007117d' + '01de5e15a2081197859e617c441de5cac9ddf60bed6fcf4dcff7a54e210e7815' + 'd5a84246d0401cc9d79abde2cef6b83732eb0b5d3d745c015d25544e8cc1ad62' 'SKIP' '0b6dbdf4d1677a39b9a0d55e8d7c66fe644fa77d769e3b673064181222b17467' '8207a533f4fbad05ad26061f924957a7a92436d44a5dd7ca10e61d730c5e0ef9' -- cgit v1.2.3 From 94d526b03cc73944c521f28b5fb4e8d3f2b81e96 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 14 May 2014 05:03:42 -0300 Subject: evolution-data-server-nonprism-3.12.2-1: updating version --- nonprism/evolution-data-server-nonprism/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nonprism/evolution-data-server-nonprism/PKGBUILD b/nonprism/evolution-data-server-nonprism/PKGBUILD index 209a3a287..e6f82a78f 100644 --- a/nonprism/evolution-data-server-nonprism/PKGBUILD +++ b/nonprism/evolution-data-server-nonprism/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 211290 2014-04-18 16:47:56Z heftig $ +# $Id: PKGBUILD 212323 2014-05-12 18:57:42Z jgc $ # Maintainer: Jan de Groot _pkgname=evolution-data-server pkgname=evolution-data-server-nonprism -pkgver=3.12.1 -pkgrel=2 +pkgver=3.12.2 +pkgrel=1 pkgdesc="Centralized access to appointments and contacts, without libgdata support" arch=(i686 x86_64) depends=(gnome-online-accounts nss krb5 libgweather libical db) @@ -16,7 +16,7 @@ replaces=("$_pkgname" 'evolution-data-server-coherence') conflicts=$_pkgname provides=$_pkgname=$pkgver source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:4}/$_pkgname-$pkgver.tar.xz) -sha256sums=('8c794d7f3e5241cc8856ab1d9fccab29487c575d3a3b7d9b884064864b96caa3') +sha256sums=('91c95e17a8c1cd1086dafcd99a40bdf8f5993770f251f8b0a10e5395e3f5a3b6') build() { cd "$_pkgname-$pkgver" -- cgit v1.2.3 From d3cd983c26240b0f796c3ea2a3ae079439931a48 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Wed, 14 May 2014 08:24:17 -0300 Subject: xbmc-libre-13.0-3: cleaned up dependencies FIXES: FS#40257 (https://bugs.archlinux.org/task/40257) - [xbmc] java is not a runtime dependency FS#40264 (https://bugs.archlinux.org/task/40264) - [xbmc] polkit rules should be in /usr/share/polkit-1/rules.d/ FS#40265 (https://bugs.archlinux.org/task/40265) - [xbmc] Internet Streams bring xbmc to crash --- ...m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch | 75 +++++++++++++++ libre/xbmc-libre/PKGBUILD | 103 +++++++++++++-------- 2 files changed, 137 insertions(+), 41 deletions(-) create mode 100644 libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch diff --git a/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch b/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch new file mode 100644 index 000000000..20d8e0250 --- /dev/null +++ b/libre/xbmc-libre/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch @@ -0,0 +1,75 @@ +From a58bcbb0a35ac8e26a880be477705d833330ecc5 Mon Sep 17 00:00:00 2001 +From: Jonathan Marshall +Date: Tue, 6 May 2014 19:40:17 +1200 +Subject: [PATCH 1/7] [rtmp] check m_rtmp for non-NULL - fixes crashes with + missing librtmp + +--- + .../dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp +index b02792a..93fc6f0 100644 +--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp ++++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp +@@ -104,7 +104,8 @@ CDVDInputStreamRTMP::~CDVDInputStreamRTMP() + m_sStreamPlaying = NULL; + + Close(); +- m_libRTMP.Free(m_rtmp); ++ if (m_rtmp) ++ m_libRTMP.Free(m_rtmp); + m_rtmp = NULL; + m_bPaused = false; + } +@@ -139,7 +140,7 @@ bool CDVDInputStreamRTMP::Open(const char* strFile, const std::string& content) + m_sStreamPlaying = NULL; + } + +- if (!CDVDInputStream::Open(strFile, "video/x-flv")) ++ if (!m_rtmp || !CDVDInputStream::Open(strFile, "video/x-flv")) + return false; + + CSingleLock lock(m_RTMPSection); +@@ -181,7 +182,8 @@ void CDVDInputStreamRTMP::Close() + CSingleLock lock(m_RTMPSection); + CDVDInputStream::Close(); + +- m_libRTMP.Close(m_rtmp); ++ if (m_rtmp) ++ m_libRTMP.Close(m_rtmp); + + m_optionvalues.clear(); + m_eof = true; +@@ -190,6 +192,9 @@ void CDVDInputStreamRTMP::Close() + + int CDVDInputStreamRTMP::Read(uint8_t* buf, int buf_size) + { ++ if (!m_rtmp) ++ return -1; ++ + int i = m_libRTMP.Read(m_rtmp, (char *)buf, buf_size); + if (i < 0) + m_eof = true; +@@ -210,7 +215,7 @@ bool CDVDInputStreamRTMP::SeekTime(int iTimeInMsec) + CLog::Log(LOGNOTICE, "RTMP Seek to %i requested", iTimeInMsec); + CSingleLock lock(m_RTMPSection); + +- if (m_libRTMP.SendSeek(m_rtmp, iTimeInMsec)) ++ if (m_rtmp && m_libRTMP.SendSeek(m_rtmp, iTimeInMsec)) + return true; + + return false; +@@ -229,7 +234,8 @@ bool CDVDInputStreamRTMP::Pause(double dTime) + + CLog::Log(LOGNOTICE, "RTMP Pause %s requested", m_bPaused ? "TRUE" : "FALSE"); + +- m_libRTMP.Pause(m_rtmp, m_bPaused); ++ if (m_rtmp) ++ m_libRTMP.Pause(m_rtmp, m_bPaused); + + return true; + } +-- +1.9.1 + diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD index 2b8631f1b..d5841d956 100644 --- a/libre/xbmc-libre/PKGBUILD +++ b/libre/xbmc-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 110797 2014-05-07 10:38:28Z bpiotrowski $ +# $Id: PKGBUILD 110974 2014-05-11 14:59:58Z idevolder $ # Maintainer: Sergej Pupykin # Contributor: Brad Fanella # Contributor: [vEX] @@ -11,8 +11,8 @@ _prefix=/usr _pkgname=xbmc pkgname=xbmc-libre pkgver=13.0 -_codename=Gotham -pkgrel=2.1 +_codename=Gotham_r2 +pkgrel=3 pkgdesc="A software media player and entertainment hub for digital media (Gotham version), without nonfree addons and unrar support" arch=('i686' 'x86_64') url="http://xbmc.org" @@ -20,54 +20,69 @@ license=('GPL' 'custom') replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver -depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' - 'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate' - 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' - 'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' - 'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' - 'avahi' 'bluez-libs' 'tinyxml' 'libcap' 'swig' 'taglib' 'libpulse' - 'java-runtime-headless' 'glu' 'mesa' 'shairplay' 'libxslt' 'ffmpeg') -makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' - 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') -optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' - 'lirc: remote controller support' - 'udisks: automount external drives' - 'upower: used to trigger power management functionality' - 'xorg-xinit: autostart xbmc' - 'pulseaudio: for pulseaudio support') +depends=( +'avahi' 'ffmpeg' 'hicolor-icon-theme' 'libcdio' 'libmad' 'libmicrohttpd' +'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libssh' 'libxrandr' 'libxslt' +'lzo2' 'mesa' 'mesa-demos' 'python2' 'sdl_image' 'sdl_mixer' 'smbclient' +'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl' +) +makedepends=( +'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen' +'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks' +'upower' 'zip' +) +optdepends=( +'afpfs-ng: Apple File Protocol suport' +'libnfs: NFS Share support' +'libplist: AirPlay support' +'shairplay: AirPlay support' +'libcec: Pulse-Eight USB-CEC adapter support' +'pulseaudio: for pulseaudio support' +'lirc: remote controller support' +'xorg-xinit: autostart xbmc' +'udisks: automount external drives' +'upower: used to trigger power management functionality' +) install="${_pkgname}.install" mksource=( - "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/13.0-Gotham.tar.gz" - ) + "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz" +) source=( "https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" "xbmc.service" "polkit.rules" "enable-external-ffmpeg.patch" - ) -mkmd5sums=('54fafd985b5209859ba6faeb50b8f142') -md5sums=('87083f6d9be2861dfc8bddca959e3880' - 'de331663cc8adc94f2fe44a262cfff58' - '02f7951824ee13103344f36009c0ef2a' - '9f9b41cfc1e21b1e7d0bb10d6e85b3c6') + '0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch' +) +mksha256sums=( + '663b99f3e196ead51d90f06ccfa864b4e5ade385dfc5972acb0f854d525f2903' +) +sha256sums=( + 'a23b416f7cdc5f2b3d5544fc9a2ac22c4cdddd117ba82fe8aab25805552ff974' + 'f83097388e6c9b301cac78de95cf1797d4aaa11e4021734c28d643320e76d919' + '4ea78374a08e13a64dcf6a424b111b8bfc11de03ed5829744fc6d9b5fc1ec96e' + '0239e33e87292c7340ed2092f2b5f1e82f5e283b1f763fb125b3aee78f50c355' + '4d643f1bc5a0f9a6bba36c8c2c2d220351acb58172c57d86417b67c02d39fa2b' +) mksource() { - cd "${srcdir}/xbmc-$pkgver-$_codename" + cd "$srcdir/xbmc-$pkgver-$_codename" msg2 "remove nonfree unRAR utility files from the source" rm -rv lib/UnrarXLib } prepare() { - cd "${srcdir}/xbmc-$pkgver-$_codename" - patch -p1 -i ../enable-external-ffmpeg.patch + cd "$srcdir/xbmc-$pkgver-$_codename" + patch -p1 -i "$srcdir/enable-external-ffmpeg.patch" + patch -p1 -i "$srcdir/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch" msg2 "Use addons.xml from Parabola server (without nonfree addons support)" sed -i -e 's|mirrors[.]xbmc[.]org/addons/gotham/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre/addons/gotham/addons.xml|' addons/repository.xbmc.org/addon.xml } build() { - cd "${srcdir}/xbmc-$pkgver-$_codename" + cd "$srcdir/xbmc-$pkgver-$_codename" # Bootstrapping XBMC ./bootstrap @@ -112,28 +127,34 @@ build() { } package() { - cd "${srcdir}/xbmc-$pkgver-$_codename" + cd "$srcdir/xbmc-$pkgver-$_codename" # Running make install - make DESTDIR="${pkgdir}" install + make DESTDIR="$pkgdir" install - # run feh with python2 - sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc + # Python2 + sed 's/python/python2/g' -i \ + "$pkgdir"/usr/{bin/xbmc,share/xbmc/addons/service.xbmc.versioncheck/service.py} # Tools msg2 "Tools" - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" - install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" + install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/xbmc-xrandr" \ + "${pkgdir}$_prefix/lib/xbmc/xbmc-xrandr" + install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \ + "${pkgdir}$_prefix/lib/xbmc/" # Licenses msg2 "Copy licenses" - install -dm755 ${pkgdir}${_prefix}/share/licenses/${_pkgname} + install -dm755 "${pkgdir}$_prefix/share/licenses/$_pkgname" for licensef in LICENSE.GPL copying.txt; do - mv ${pkgdir}${_prefix}/share/doc/xbmc/${licensef} \ - ${pkgdir}${_prefix}/share/licenses/${_pkgname} + mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \ + "${pkgdir}$_prefix/share/licenses/$_pkgname" done # install systemd service - install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service - install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-xbmc.rules + install -Dm0644 "$srcdir/xbmc.service" "$pkgdir/usr/lib/systemd/system/xbmc.service" + + # install polkit rules + install -dm700 "$pkgdir/user/share/polkit-1/rules.d" + install -Dm0644 "$srcdir/polkit.rules" "$pkgdir/user/share/polkit-1/rules.d/10-xbmc.rules" } # vim:set ts=2 sw=2 et: -- cgit v1.2.3 From dff324de37629b0d48267492245b95c39d708ef9 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 15 May 2014 08:29:58 -0300 Subject: stuntrally-data-libre-2.3-1: updating version --- libre/stuntrally-data-libre/PKGBUILD | 31 +- libre/stuntrally-data-libre/libre.patch | 792 +++++++++++++++++++++++++++++--- 2 files changed, 741 insertions(+), 82 deletions(-) diff --git a/libre/stuntrally-data-libre/PKGBUILD b/libre/stuntrally-data-libre/PKGBUILD index 80bd44b01..e0daa36d3 100644 --- a/libre/stuntrally-data-libre/PKGBUILD +++ b/libre/stuntrally-data-libre/PKGBUILD @@ -3,35 +3,34 @@ pkgname=stuntrally-data-libre _pkgname=stuntrally-data -pkgver=2.2.1 +pkgver=2.3 pkgrel=1 pkgdesc="Stunt Rally game with track editor, based on VDrift (data files), without nonfree data files" arch=('any') license=('GPL3' 'custom') url="http://code.google.com/p/vdrift-ogre" makedepends=('cmake' 'boost' 'libvorbis' 'mygui' 'sdl2' 'enet' 'hicolor-icon-theme' 'libxcursor') -mksource=("$_pkgname-$pkgver.tar.gz::https://github.com/stuntrally/stuntrally/archive/${pkgver}.tar.gz" - "$_pkgname-tracks-$pkgver.tar.gz::https://github.com/stuntrally/tracks/archive/${pkgver}.tar.gz" - libre.patch ) -source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz") +mksource=("$_pkgname-$pkgver.tar.gz::https://github.com/stuntrally/stuntrally/archive/${pkgver}.tar.gz") +source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" + "$_pkgname-tracks-$pkgver.tar.gz::https://github.com/stuntrally/tracks/archive/${pkgver}.tar.gz" + libre.patch) replaces=$_pkgname conflicts=$_pkgname provides=$_pkgname=$pkgver -mksha256sums=('305b5f498ab150e4cf1fd1d47410ea04ad3cf439b60278ea2b73a01278d9ca51' - '45e9c976964e22348530a99a99c0dac30bc766d2f9edbe1a83a7b6791850d565' - '89eed28f625758a22460f2cea67547d2ea6cffa2bef8133083077b1753cf2b64') -sha256sums=('3159f8e2b33d5685fb3e7320ab8ce4a60a35830a4dac7b9c3c8aeebf9a38f8d5') +mksha256sums=('828ea8e4a8ea73005e88ef015cb9808cc75d0cb50693a0f4a7d8b09edd0765fd') +sha256sums=('2973aa09cd68541784d1df7b5f9f0e29a307078b5a9b33ad467880ebf8f832fb' + '8da6396abb569fbcf312095a96c2b7cfa92f510900d32b7d7e2fcd9478a7216f' + 'a155c170ff33dd92f4720c2f1214195eea6e5dab774a0939979599ab85f974d8') mksource() { - # patch some data files and remove nonfree data files + # remove nonfree data files cd "${srcdir}/stuntrally-${pkgver}/" - patch -Np1 -i "${srcdir}/libre.patch" - - rm -rv "data/"{grass/grassJungle.png,sounds/{0{1,2,3,4,5,6,7,8,9},1{0,1,2},boost,dirt{1,2},mud{1,_cont},scrap,screech,terrain{1,2,3,4,5},water{1,2,3,_cont}}.wav,terrain,trees2,cars/{3S,CT,M3,NS,TC6,XM}} - - cd "${srcdir}/tracks-${pkgver}/" + rm -v data/trees2/tree*.mesh +} - rm -rv {detroit,ruudskogen,virginia,weekend} +prepare() { + # remove nonfree references + patch -Np0 -i "${srcdir}/libre.patch" } build() { diff --git a/libre/stuntrally-data-libre/libre.patch b/libre/stuntrally-data-libre/libre.patch index d55a4e54a..4fd576b2f 100644 --- a/libre/stuntrally-data-libre/libre.patch +++ b/libre/stuntrally-data-libre/libre.patch @@ -1,72 +1,732 @@ -diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt -index c43ef18..aa6373e 100644 ---- a/data/CMakeLists.txt -+++ b/data/CMakeLists.txt -@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8) - - # Install data files - # TODO: make this use all data/* subdirs without tracks, not entered by hand .. --foreach(datadir cars carsim compositor editor fonts ghosts grass gui hud loading materials materials2 objects particles road road_s skies skies_s sounds terrain terrain2 trees-old trees trees2) -+foreach(datadir cars carsim compositor editor fonts ghosts grass gui hud loading materials materials2 objects particles road road_s skies skies_s sounds terrain2 trees-old trees) - install(DIRECTORY ${datadir} DESTINATION ${SHARE_INSTALL}) - endforeach() - -diff --git a/data/grass/_grass.txt b/data/grass/_grass.txt -index 787737e..84197af 100644 ---- a/data/grass/_grass.txt -+++ b/data/grass/_grass.txt -@@ -10,10 +10,3 @@ http://opengameart.org/content/plants-textures-pack-03 - http://opengameart.org/content/plants-textures-pack-04 - - many colored by CryHam for SR -- ------ Old --grassJungle.png rest is colored +diff --git stuntrally-2.3.orig/data/trees/collisions.xml stuntrally-2.3/data/trees/collisions.xml +index 58f6040..8536573 100644 +--- stuntrally-2.3.orig/data/trees/collisions.xml ++++ stuntrally-2.3/data/trees/collisions.xml +@@ -70,76 +70,7 @@ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + +- +- +- +- +- +- + + + +@@ -175,13 +106,6 @@ + + + +- +- +- +- +- +- +- + + +