diff options
59 files changed, 2247 insertions, 263 deletions
diff --git a/community/apper/PKGBUILD b/community/apper/PKGBUILD index 66c3ae307..1dc3a6397 100644 --- a/community/apper/PKGBUILD +++ b/community/apper/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 75748 2012-08-30 17:50:49Z idevolder $ +# $Id: PKGBUILD 75865 2012-09-03 20:25:45Z idevolder $ # Maintainer: BlackIkeEagle < ike DOT devolder AT gmail DOT com > # Contributor: Valeriy Lyasotskiy <onestep@ukr.net> # Contributor: Zom <zom@eevul.org> @@ -6,7 +6,7 @@ pkgname=apper _pkgmainver=0.7 pkgver=0.7.2 -pkgrel=4 +pkgrel=5 pkgdesc="KDE tools for PackageKit" arch=('i686' 'x86_64') url="http://kde-apps.org/content/show.php/Apper?content=84745" @@ -15,7 +15,7 @@ depends=('kdebase-workspace' 'packagekit-qt2>=0.6.17') makedepends=('cmake' 'automoc4' 'chrpath') install="$pkgname.install" provides=('kpackagekit') -conflicts=('kpackagekit' 'gnome-packagekit') +conflicts=('kpackagekit') replaces=('kpackagekit') source=("http://download.kde.org/stable/$pkgname/$pkgver/src/$pkgname-$pkgver.tar.bz2") sha256sums=('975fede728e7ab96d8e244ae721a2e15ae40b9fb1cd189a1f4afd46c400b219f') @@ -36,6 +36,9 @@ package() { cd "$pkgname-$pkgver" cd build make DESTDIR="$pkgdir" install + # avoid gnome-packagekit conflict (stolen from fedora as suggested) + mv "$pkgdir/usr/share/dbus-1/services/org.freedesktop.PackageKit.service" \ + "$pkgdir/usr/share/dbus-1/services/kde-org.freedesktop.PackageKit.service" # Hack around cmake rpath bug (debian) chrpath --list "$pkgdir/usr/bin/apper" chrpath --replace "/usr/lib/apper" "$pkgdir/usr/bin/apper" diff --git a/community/milkytracker/PKGBUILD b/community/milkytracker/PKGBUILD index cad1cfc2e..d869a8a31 100644 --- a/community/milkytracker/PKGBUILD +++ b/community/milkytracker/PKGBUILD @@ -1,10 +1,11 @@ # $Id: PKGBUILD 61589 2012-01-03 23:37:49Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> -# Contributor: Christopher O'Neill <milkytracker at chrisoneill co uk> +# Contributor: Christopher O'Neill <milkytracker@chrisoneill.co.uk> +# Contributor: Maks Verver <maksverver@geocities.com> pkgname=milkytracker pkgver=0.90.85 -pkgrel=6 +pkgrel=7 pkgdesc="Fast Tracker II inspired music tracker" arch=('x86_64' 'i686') url="http://www.milkytracker.org/" @@ -17,7 +18,7 @@ install=$pkgname.install source=("http://milkytracker.org/files/$pkgname-$pkgver.tar.bz2" 'arch.patch') sha256sums=('59a0d294d63752be74b157e07b0c70252c9198c312d9b1ad0ca460129fe5bd80' - 'cb9dfa99491d72eae7c09e7bae6c35871dddbc5b6a71730e772daa2f31f922bc') + 'c0cf7adc0db78519644a64321c319b04a6ee6c26de1f0620b581137791f596c3') _name=('MilkyTracker') build() { diff --git a/community/milkytracker/arch.patch b/community/milkytracker/arch.patch index 3f5cb16cb..f7ade306f 100644 --- a/community/milkytracker/arch.patch +++ b/community/milkytracker/arch.patch @@ -203,35 +203,22 @@ diff -c -x .svn milkytracker-0.90.85/docs/MilkyTracker.html milkytracker-trunk/d Only in milkytracker-0.90.85/docs/: MilkyTracker.rtf ---- milkytracker-0.90.85/src/compression/DecompressorGZIP.cpp 2009-04-17 22:34:16.000000000 +0200 -+++ milkytracker-trunk/src/compression/DecompressorGZIP.cpp 2012-02-20 20:24:49.161937553 +0100 -@@ -61,7 +61,7 @@ +--- x/src/compression/DecompressorGZIP.cpp 2012-08-28 17:54:46.000000000 +0200 ++++ y/src/compression/DecompressorGZIP.cpp 2012-08-28 17:55:21.000000000 +0200 +@@ -57,11 +57,11 @@ + + bool DecompressorGZIP::decompress(const PPSystemString& outFileName, Hints hint) + { +- gzFile *gz_input_file = NULL; ++ gzFile gz_input_file = NULL; int len = 0; pp_uint8 *buf; - if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL) -+ if ((gz_input_file = (gzFile*)gzopen (fileName.getStrBuffer(), "r")) == NULL) ++ if ((gz_input_file = gzopen (fileName.getStrBuffer(), "r")) == NULL) return false; if ((buf = new pp_uint8[0x10000]) == NULL) -@@ -71,7 +71,7 @@ - - while (true) - { -- len = gzread (gz_input_file, buf, 0x10000); -+ len = gzread (*gz_input_file, buf, 0x10000); - - if (len < 0) - { -@@ -84,7 +84,7 @@ - fOut.write(buf, 1, len); - } - -- if (gzclose (gz_input_file) != Z_OK) -+ if (gzclose (*gz_input_file) != Z_OK) - { - delete[] buf; - return false; diff -cx .svn milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp *** milkytracker-0.90.85/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp 2009-03-28 11:19:41.392162000 +0000 --- milkytracker-trunk/src/milkyplay/drivers/jack/AudioDriver_JACK.cpp 2010-01-03 18:48:15.616918068 +0000 diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD index e0a629774..582dafd5b 100644 --- a/community/mongodb/PKGBUILD +++ b/community/mongodb/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 75451 2012-08-24 16:38:30Z heftig $ +# $Id: PKGBUILD 75855 2012-09-03 16:08:44Z tdziedzic $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: Mathias Stearn <mathias@10gen.com> # Contributor: Alec Thomas pkgname=mongodb -pkgver=2.0.7 +pkgver=2.2.0 pkgrel=1 pkgdesc='A high-performance, open source, schema-free document-oriented database' arch=('i686' 'x86_64') @@ -19,22 +19,26 @@ backup=('etc/mongodb.conf') install="mongodb.install" source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz" 'mongodb.rc' 'mongodb.conf' 'mongodb.service' - 'boost-1.50.patch') -md5sums=('420660f67c0dfaefac3ec3164fc2e096' + 'SConscript.client.patch') +md5sums=('832bdb6cc659176fd8d6b16a660ccfc6' '9c67e00f4626ad761a8f7d4e037a54d7' '4839fe1d638187ca3226e8267b947318' '96ab4517b48974ce0e566d9746a75a4f' - '5d22fd2c0ae869218488cd7c0dbc3903') + 'a9529e2a6e392ffecef7a9178394c814') build() { export SCONSFLAGS="$MAKEFLAGS" cd mongodb-src-r${pkgver} - patch -Np1 -i $srcdir/boost-1.50.patch + # fix https://jira.mongodb.org/browse/SERVER-5575 + patch -Np1 -i ${srcdir}/SConscript.client.patch + sed -i '/nixLibPrefix/s/lib64/lib/' SConstruct - scons all --full --sharedclient # --use-system-sm --use-system-pcre + # --sharedclient generates an error that the source .so could not be found + # --use-system-sm --use-system-pcre + scons all --full } <<COMMENT @@ -52,7 +56,7 @@ package() { cd mongodb-src-r${pkgver} - scons install --full --sharedclient --prefix=$pkgdir/usr # --use-system-sm --use-system-pcre + scons install --full --prefix=$pkgdir/usr install -D -m755 $srcdir/mongodb.rc $pkgdir/etc/rc.d/mongodb install -D -m644 $srcdir/mongodb.conf $pkgdir/etc/mongodb.conf diff --git a/community/mongodb/SConscript.client.patch b/community/mongodb/SConscript.client.patch new file mode 100644 index 000000000..f289d18da --- /dev/null +++ b/community/mongodb/SConscript.client.patch @@ -0,0 +1,13 @@ +diff --git a/src/SConscript.client b/src/SConscript.client +index 7a6bdc9..3fb55e5 100644 +--- a/src/SConscript.client ++++ b/src/SConscript.client +@@ -134,7 +134,7 @@ env.Install( + # install + prefix = GetOption("prefix") + +-env.Install(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}') ++env.InstallAs(prefix + "/lib", '${LIBPREFIX}mongoclient${LIBSUFFIX}') + + for x in clientHeaderDirectories: + env.Install(prefix + "/include/mongo/" + x, diff --git a/community/redis/PKGBUILD b/community/redis/PKGBUILD index 4331065b7..16ead1ff8 100644 --- a/community/redis/PKGBUILD +++ b/community/redis/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 74818 2012-08-06 08:52:13Z spupykin $ +# $Id: PKGBUILD 75852 2012-09-03 15:18:26Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Jan-Erik Rediger <badboy at archlinux dot us> # Contributor: nofxx <x@<nick>.com> pkgname=redis -pkgver=2.4.16 +pkgver=2.4.17 pkgrel=1 pkgdesc="Advanced key-value store" arch=('i686' 'x86_64') @@ -17,9 +17,11 @@ backup=("etc/redis.conf" "etc/logrotate.d/redis") source=("http://redis.googlecode.com/files/${pkgname}-${pkgver}.tar.gz" "redis.d" + "redis.service" "redis.logrotate") -md5sums=('6b3fffc8c58ebc0849a1046695d4556b' +md5sums=('f921ce282fb1780cb4a5646e242dadea' '4f2c02b481283d1336508c988e60e8d8' + '5ab9fdb200e15c13b450fda77fa030b6' '9e2d75b7a9dc421122d673fe520ef17f') build() { @@ -34,6 +36,7 @@ package() { install -D -m755 "$srcdir/${pkgname}-${pkgver}/COPYING" "$pkgdir/usr/share/licenses/redis/COPYING" install -D -m755 "$srcdir/redis.d" "$pkgdir/etc/rc.d/redis" + install -Dm644 "$srcdir"/redis.service "$pkgdir"/usr/lib/systemd/system/redis.service install -Dm644 "$srcdir/redis.logrotate" "$pkgdir/etc/logrotate.d/redis" sed -i 's|daemonize no|daemonize yes|;s|dir \./|dir /var/lib/redis/|;s|logfile stdout|logfile /var/log/redis.log| ' $srcdir/${pkgname}-${pkgver}/redis.conf install -D -m644 "$srcdir/${pkgname}-${pkgver}/redis.conf" "$pkgdir/etc/redis.conf" diff --git a/community/redis/redis.service b/community/redis/redis.service new file mode 100644 index 000000000..7596b4bda --- /dev/null +++ b/community/redis/redis.service @@ -0,0 +1,14 @@ +[Unit] +Description=Advanced key-value store +After=network.target + +[Service] +Type=forking +PIDFile=/run/redis.pid +ExecStartPre=/bin/mkdir -p /var/lib/redis +ExecStart=/usr/bin/redis-server /etc/redis.conf +ExecStop=/usr/bin/redis-cli shutdown +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/core/inetutils/PKGBUILD b/core/inetutils/PKGBUILD index c8908f544..38c9cfc82 100644 --- a/core/inetutils/PKGBUILD +++ b/core/inetutils/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 165512 2012-08-21 19:57:33Z eric $ +# $Id: PKGBUILD 165908 2012-09-03 17:29:57Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=inetutils pkgver=1.9.1 -pkgrel=3 +pkgrel=4 pkgdesc="A collection of common network programs" arch=('i686' 'x86_64') url="http://www.gnu.org/software/inetutils/" @@ -25,7 +25,7 @@ sha1sums=('86b7eb11cfdaefb1d4e9bfc10620beaf8f09bc90' '27d99b910eec0fc26bd79ccc2c1de26608330298' '81f10b3b688e3952f793b35bcef63b5bf257a92b' '81f4a8da823cf0bb14284fc71ee6108849691eda' - '1c5ff1b6166c7401ef0956ce6eab30450ff95eaf' + 'fb607dafe177f074e14891dd887ef9e9ab67a875' 'eb952b0b9c3e3d429d8e21b110249e495f0e0e63') build() { diff --git a/core/inetutils/ftpd.service b/core/inetutils/ftpd.service index 985eb9756..5708bdfd1 100644 --- a/core/inetutils/ftpd.service +++ b/core/inetutils/ftpd.service @@ -1,5 +1,6 @@ [Unit] Description=FTPD Daemon +After=network.target [Service] ExecStart=/usr/sbin/ftpd -D diff --git a/extra/fribidi/PKGBUILD b/extra/fribidi/PKGBUILD index 55cebf720..3bd5ad3b8 100644 --- a/extra/fribidi/PKGBUILD +++ b/extra/fribidi/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 137683 2011-09-10 12:05:16Z pierre $ +# $Id: PKGBUILD 165893 2012-09-03 05:58:50Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Nezmer <Nezmer@gmail.com> pkgname=fribidi -pkgver=0.19.2 -pkgrel=2 +pkgver=0.19.4 +pkgrel=1 pkgdesc="A Free Implementation of the Unicode Bidirectional Algorithm" arch=('i686' 'x86_64') license=('LGPL') url="http://fribidi.org" depends=('glibc') options=('!libtool') -source=("http://fribidi.org/download/${pkgname}-${pkgver}.tar.gz") -md5sums=('626db17d2d99b43615ad9d12500f568a') +source=("http://fribidi.org/download/${pkgname}-${pkgver}.tar.bz2") +md5sums=('0173f98ff929782d45819fc4a813c175') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -23,5 +23,6 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/extra/gnutls/PKGBUILD b/extra/gnutls/PKGBUILD index cfc157013..f35e89e63 100644 --- a/extra/gnutls/PKGBUILD +++ b/extra/gnutls/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 165815 2012-08-30 20:33:31Z andyrtr $ +# $Id: PKGBUILD 165900 2012-09-03 09:49:29Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gnutls -pkgver=3.1.0 +pkgver=3.1.1 pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer" arch=('i686' 'x86_64') @@ -12,9 +12,9 @@ install=gnutls.install options=('!libtool' '!zipman') depends=('gcc-libs>=4.7.1-5' 'libtasn1' 'readline' 'zlib' 'nettle>=2.4' 'p11-kit>=0.12') makedepends=('valgrind' 'strace') -source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz{,.sig}) -md5sums=('db88d8fc44e44be4a0a14b24aa204bbf' - 'c3fa5f3bda5ebe7f37cc997717bb8476') +source=(http://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz{,.sig}) +md5sums=('59c432df79108c74c34a4582c7d7e7e7' + '00d354ec9ac8ca4329b35ea397589b6c') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/misdnuser/PKGBUILD b/extra/misdnuser/PKGBUILD index 18b7cc919..991c9a59f 100644 --- a/extra/misdnuser/PKGBUILD +++ b/extra/misdnuser/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 165546 2012-08-23 12:30:42Z tpowa $ +# $Id: PKGBUILD 165895 2012-09-03 06:51:02Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=misdnuser -pkgver=2.0.15_20120823 +pkgver=2.0.15_20120831 pkgrel=1 pkgdesc="Tools and library for mISDN" arch=('i686' 'x86_64') @@ -44,7 +44,7 @@ package() { install -D -m644 ${srcdir}/mISDNcapid.conf ${pkgdir}/usr/lib/tmpfiles.d/mISDNcapid.conf } -md5sums=('df5013bcaf5ee320a58eb6dfe0cd4673' +md5sums=('541c10711ff396160e44a1bd7ec11949' '2009563b144de037ecb20f8d727a772e' '8f305ee6e35fa12a8bec0632bfe7a076' '32ead7f063e007c784aa883d441f33c2' diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD index 2439562e4..00ed440db 100644 --- a/extra/mkvtoolnix/PKGBUILD +++ b/extra/mkvtoolnix/PKGBUILD @@ -1,26 +1,22 @@ -# $Id: PKGBUILD 163843 2012-07-21 11:04:01Z giovanni $ +# $Id: PKGBUILD 165891 2012-09-03 05:48:23Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: xduugu <xduugu@gmx.com> pkgbase=mkvtoolnix pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk') -pkgver=5.7.0 -pkgrel=3 +pkgver=5.8.0 +pkgrel=1 arch=('i686' 'x86_64') license=('GPL') url="http://www.bunkus.org/videotools/mkvtoolnix/index.html" makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk' 'boost-libs' 'lzo2' 'xdg-utils' 'boost' 'ruby') -source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.bz2" - 'mm_io.patch') -md5sums=('99ea44be570412dadafe4ccaee0cfe6e' - '293bd4551ef8529e9d4796c5a201b8fc') +source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.bz2") +md5sums=('8caa3d37d2442a525bad35dbb1babc56') build() { cd "${srcdir}/${pkgbase}-${pkgver}" - patch -Np1 -i "${srcdir}/mm_io.patch" - # Disable automagic curl dep used for online update checking sed -i -e '/curl/d' configure.in export CURL_CFLAGS="" CURL_LIBS="" diff --git a/extra/opennx/PKGBUILD b/extra/opennx/PKGBUILD index 38cf14bcf..72da50ca8 100644 --- a/extra/opennx/PKGBUILD +++ b/extra/opennx/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 165108 2012-08-11 08:07:32Z andyrtr $ +# $Id: PKGBUILD 165912 2012-09-03 19:20:05Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> # Contributor: Armin Luntzer # Original opennx PKGBUILD: Tomas Groth tomasgroth.at.yahoo.dk pkgname=opennx pkgver=0.16.0.724 -pkgrel=1 +pkgrel=2 pkgdesc="A GPL replacement for the NoMachine client, patched to always show the session chooser" url="http://opennx.sf.net/" arch=('i686' 'x86_64') license=('GPL') -depends=('wxgtk' 'libcups' 'libxext' 'libxft' 'xorg-xauth' 'curl') +depends=('wxgtk' 'libcups' 'libxext' 'libxft' 'xorg-xauth' 'curl' 'nx-common') makedepends=('zip' 'opensc' 'libpulse' 'smbclient' 'libusb-compat') #optdepends=('cups: for full local printing support') source=(http://downloads.sourceforge.net/project/opennx/opennx/CI-source/opennx-$pkgver.tar.gz) diff --git a/libre-testing/kdebase-konqueror-libre/PKGBUILD b/libre-testing/kdebase-konqueror-libre/PKGBUILD new file mode 100644 index 000000000..f69e561be --- /dev/null +++ b/libre-testing/kdebase-konqueror-libre/PKGBUILD @@ -0,0 +1,52 @@ +# $Id: PKGBUILD 165939 2012-09-03 21:49:19Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> +# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> + +_pkgname='kdebase-konqueror' +pkgname='kdebase-konqueror-libre' +pkgver=4.9.1 +pkgrel=1 +arch=('i686' 'x86_64' 'mips64el') +url="http://kde.org/applications/internet/konqueror/" +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdebase') +makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml') +source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz" + "konq-about-fsdg.diff") +sha1sums=('9014332fd6fb18999c8290a3cbb498793d8caa2f' + 'f41541371414dcbe5e76687835e648112b3ff364') +pkgdesc='KDE File Manager & Web Browser' +depends=('kdebase-dolphin' 'kdebase-keditbookmarks') +optdepends=('kwebkitpart: to enable webkit engine') +install='kdebase-konqueror.install' +conflicts=('kdebase-nsplugins' 'kdebase-konqueror') +replaces=('kdebase-nsplugins' 'kdebase-konqueror') +provides=("kdebase-konqueror=$pkgver") + +build() { + cd "${srcdir}"/kde-baseapps-${pkgver} + + # Don't recommend nonfree software or Google. + patch -Np1 -i "${srcdir}/konq-about-fsdg.diff" + + cd ${srcdir} + mkdir build + cd build + cmake ../kde-baseapps-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr + for i in konqueror doc/konqueror nsplugins; do + cd $srcdir/build/${i} + make + done +} + +package() { + for i in konqueror doc/konqueror nsplugins; do + cd $srcdir/build/${i} + make DESTDIR=$pkgdir install + done +} diff --git a/libre-testing/kdebase-konqueror-libre/kdebase-konqueror.install b/libre-testing/kdebase-konqueror-libre/kdebase-konqueror.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/libre-testing/kdebase-konqueror-libre/kdebase-konqueror.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre-testing/kdebase-konqueror-libre/konq-about-fsdg.diff b/libre-testing/kdebase-konqueror-libre/konq-about-fsdg.diff new file mode 100644 index 000000000..06b2103c3 --- /dev/null +++ b/libre-testing/kdebase-konqueror-libre/konq-about-fsdg.diff @@ -0,0 +1,33 @@ +diff -ru kde-baseapps-4.8.0.orig/konqueror/about/konq_aboutpage.cc kde-baseapps-4.8.0/konqueror/about/konq_aboutpage.cc +--- kde-baseapps-4.8.0.orig/konqueror/about/konq_aboutpage.cc 2012-01-30 19:28:59.506176399 +0100 ++++ kde-baseapps-4.8.0/konqueror/about/konq_aboutpage.cc 2012-01-30 19:34:50.695537153 +0100 +@@ -214,14 +214,11 @@ + QString("http://www.ecma-international.org/publications/standards/ECMA-262.HTM")) ) + .arg( i18n("JavaScript disabled (globally). Enable JavaScript <A HREF=\"%1\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) ) + .arg( i18n("JavaScript enabled (globally). Configure JavaScript <A HREF=\\\"%1\\\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) ) // leave the double backslashes here, they are necessary for javascript ! +- .arg( i18n("Secure <A HREF=\"%1\">Java</A><SUP>®</SUP> support", QString("http://www.oracle.com/technetwork/java/index.html")) ) +- .arg( i18n("JDK 1.2.0 (Java 2) compatible VM (<A HREF=\"%1\">IBM</A> or <A HREF=\"%2\">Sun/Oracle</A>)", +- QString("http://www.ibm.com"), QString("http://www.oracle.com/technetwork/java/index.html")) ) ++ .arg( i18n("Secure Java<SUP>®</SUP> support") ) ++ .arg( i18n("JDK 1.2.0 (Java 2) compatible VM") ) + .arg( i18n("Enable Java (globally) <A HREF=\"%1\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) ) // TODO Maybe test if Java is enabled ? +- .arg( i18n("Netscape Communicator<SUP>®</SUP> <A HREF=\"%4\">plugins</A> (for viewing <A HREF=\"%1\">Flash<SUP>®</SUP></A>, <A HREF=\"%2\">Real<SUP>®</SUP></A>Audio, <A HREF=\"%3\">Real<SUP>®</SUP></A>Video, etc.)", +- QString("http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"), +- QString("http://www.real.com"), QString("http://www.real.com"), +- QString("about:plugins")) ) ++ .arg( i18n("Netscape Communicator<SUP>®</SUP> <A HREF=\"%1\">plugins</A> ", ++ QString("about:plugins")) ) + .arg( i18n("built-in") ) + .arg( i18n("Secure Sockets Layer") ) + .arg( i18n("(TLS/SSL v2/3) for secure communications up to 168bit") ) +@@ -293,8 +290,8 @@ + .arg( i18n( "Tips" ) ) + .arg( i18n( "Specifications" ) ) + .arg( i18n( "Tips & Tricks" ) ) +- .arg( i18n( "Use Web-Shortcuts: by typing \"gg: KDE\" one can search the Internet, " +- "using Google, for the search phrase \"KDE\". There are a lot of " ++ .arg( i18n( "Use Web-Shortcuts: by typing \"dd: KDE\" one can search the Internet, " ++ "using DuckDuckGo, for the search phrase \"KDE\". There are a lot of " + "Web-Shortcuts predefined to make searching for software or looking " + "up certain words in an encyclopedia a breeze. You can even " + "<a href=\"%1\">create your own</a> Web-Shortcuts." , QString("exec:/kcmshell4 ebrowsing")) ) diff --git a/libre-testing/kdebase-runtime-libre/PKGBUILD b/libre-testing/kdebase-runtime-libre/PKGBUILD new file mode 100644 index 000000000..ba6273763 --- /dev/null +++ b/libre-testing/kdebase-runtime-libre/PKGBUILD @@ -0,0 +1,57 @@ +# $Id$ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> + +_pkgname=kdebase-runtime +pkgname=kdebase-runtime-libre +pkgver=4.9.1 +pkgrel=1 +pkgdesc="Plugins and applications necessary for the running of KDE applications (without non-privacy search providers)" +arch=('i686' 'x86_64' 'mips64el') +url='https://projects.kde.org/projects/kde/kde-runtime' +license=('GPL' 'LGPL') +depends=('nepomuk-core' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' 'xorg-xauth' + 'kactivities') +makedepends=('pkg-config' 'cmake' 'automoc4' 'kdepimlibs' 'openslp' 'doxygen' + 'networkmanager') +optdepends=('kdepimlibs: to generate drkonqi reports' + 'htdig: to build the search index in khelpcenter' + 'rarian: needed by khelpcenter' + 'gdb: drkonq crash handler') +replaces=("${_pkgname}") +conflicts=("${_pkgname}") +provides=("${_pkgname}=${pkgver}") +install="${_pkgname}.install" +source=("http://download.kde.org/stable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz" + 'duckduckgo_lite.desktop') +sha1sums=('4b67e0f12617c478ee29546da4d98f605cd35dec' + '265d4ca95c3a022b5f6f1d5daea6f8e3a25dee85') + +build() { + cd "${srcdir}" + +# Removing non-privacy search providers + rm -v kde-runtime-${pkgver}/kurifilter-plugins/ikws/searchproviders/{7digital,acronym,altavista,amazon{,_mp3},amg,austronaut,backports,baidu,bing,blip,cia,dbug,deb,duckduckgo{,_info,_shopping},facebook,ecosia,feedster,flickr,flickrcc,froogle,google,google_advanced,google_code,google_groups,google_images,google_lucky,google_maps,google_movie,google_news,gracenote,imdb,jeeves,katatudo,magnatune,metacrawler,msdn,nl-telephone,nl-teletekst,python,rpmfind,tvtome,uspto,vimeo,vivisimo,voila,yahoo,yahoo_image,yahoo_local,yahoo_shopping,yahoo_video,youtube}.desktop + +# Adding DuckDuckGo Lite + cp -v duckduckgo_lite.desktop "kde-runtime-${pkgver}/kurifilter-plugins/ikws/searchproviders" + + mkdir build + cd build + cmake ../kde-runtime-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_QNtrack=OFF \ + -DWITH_Xine=OFF + make +} + +package() { + cd "$srcdir/build" + make DESTDIR="$pkgdir" install + rm -f "${pkgdir}/usr/share/icons/hicolor/index.theme" + + ln -sf /usr/lib/kde4/libexec/kdesu "${pkgdir}/usr/bin/" +} diff --git a/libre-testing/kdebase-runtime-libre/duckduckgo_lite.desktop b/libre-testing/kdebase-runtime-libre/duckduckgo_lite.desktop new file mode 100644 index 000000000..2b875b4c1 --- /dev/null +++ b/libre-testing/kdebase-runtime-libre/duckduckgo_lite.desktop @@ -0,0 +1,113 @@ +[Desktop Entry] +Charset= +Hidden=false +Keys=duckduckgo,dd,dukgo +Name=Duck Duck Go Lite +Name[ar]=Duck Duck Go Lite +Name[ast]=Duck Duck Go Lite +Name[bg]=Duck Duck Go Lite +Name[bn]=Duck Duck Go Lite +Name[bs]=Dak dak go lite +Name[ca]=Duck Duck Go Lite +Name[ca@valencia]=Duck Duck Go Lite +Name[cs]=Duck Duck Go Lite +Name[da]=Duck Duck Go Lite +Name[de]=Duck Duck Go Lite +Name[el]=Duck Duck Go Lite +Name[en_GB]=Duck Duck Go Lite +Name[eo]=Duck Duck Go Lite +Name[es]=Duck Duck Go Lite +Name[et]=Duck Duck Go Lite +Name[eu]=Duck Duck Go Lite +Name[fa]=Duck Duck Go Lite +Name[fi]=Duck Duck Go Lite +Name[fr]=Duck Duck Go Lite +Name[ga]=Duck Duck Go Lite +Name[gl]=Duck Duck Go Lite +Name[gu]=Duck Duck Go Lite +Name[he]=Duck Duck Go Lite +Name[hi]=Duck Duck Go Lite +Name[hr]=Duck Duck Go Lite +Name[hu]=Duck Duck Go Lite +Name[ia]=Duck Duck Go Lite +Name[id]=Duck Duck Go Lite +Name[is]=Duck Duck Go Lite +Name[it]=Duck Duck Go Lite +Name[ja]=Duck Duck Go Lite +Name[kk]=Duck Duck Go Lite +Name[km]=Duck Duck Go Lite +Name[kn]=Duck Duck Go Lite +Name[ko]=Duck Duck Go Lite +Name[lt]=Duck Duck Go Lite +Name[lv]=Duck Duck Go Lite +Name[ml]=Duck Duck Go Lite +Name[nb]=Duck Duck Go Lite +Name[nds]=Duck Duck Go Lite +Name[nl]=Duck Duck Go Lite +Name[nn]=Duck Duck Go Lite +Name[pa]=Duck Duck Go Lite +Name[pl]=Duck Duck Go Lite +Name[pt]=Duck Duck Go Lite +Name[pt_BR]=Duck Duck Go Lite +Name[ro]=Duck Duck Go Lite +Name[ru]=Поиск Duck Duck Go Lite +Name[si]=Duck Duck Go Lite +Name[sk]=Duck Duck Go Lite +Name[sl]=Duck Duck Go Lite +Name[sr]=Duck Duck Go Lite +Name[sr@ijekavian]=Duck Duck Go Lite +Name[sr@ijekavianlatin]=Duck Duck Go Lite +Name[sr@latin]=Duck Duck Go Lite +Name[sv]=Duck Duck Go Lite +Name[tg]=Duck Duck Go Lite +Name[th]=Duck Duck Go Lite +Name[tr]=Duck Duck Go Lite +Name[ug]=Duck Duck Go Lite +Name[uk]=Duck Duck Go Lite +Name[vi]=Duck Duck Go Lite +Name[wa]=Duck Duck Go Lite +Name[x-test]=xxDuck Duck Go Litexx +Name[zh_CN]=Duck Duck Go Lite +Name[zh_TW]=Duck Duck Go Lite +Query=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[bg]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[bn]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[ca]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[cs]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[da]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[de]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[el]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[eo]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[es]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[et]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[fi]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[fr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[gl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[hi]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[hu]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[ia]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[it]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[kk]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[km]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[nb]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[nl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[pa]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[pl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[pt]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[pt_BR]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[ro]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[ru]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[sl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[sr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[sr@ijekavian]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[sr@ijekavianlatin]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[sr@latin]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[sv]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[tr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[uk]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[wa]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[x-test]=xxhttp://duckduckgo.com/lite/?q=\\{@}&t=KDExx +Query[zh_CN]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +Query[zh_TW]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE +ServiceTypes=SearchProvider +Type=Service diff --git a/libre-testing/kdebase-runtime-libre/kdebase-runtime.install b/libre-testing/kdebase-runtime-libre/kdebase-runtime.install new file mode 100644 index 000000000..c77e68041 --- /dev/null +++ b/libre-testing/kdebase-runtime-libre/kdebase-runtime.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre-testing/kdelibs-libre/PKGBUILD b/libre-testing/kdelibs-libre/PKGBUILD new file mode 100644 index 000000000..e5fdb1ea6 --- /dev/null +++ b/libre-testing/kdelibs-libre/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 165921 2012-09-03 21:48:13Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org +# Contributor: Pierre Schmitz <pierre@archlinux.de> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> + +_pkgname=kdelibs +pkgname=kdelibs-libre +pkgver=4.9.1 +pkgrel=1 +pkgdesc="KDE Core Libraries" +arch=('i686' 'x86_64' 'mips64el') +url='https://projects.kde.org/projects/kde/kdelibs' +license=('GPL' 'LGPL' 'FDL') +depends=('strigi' 'attica' 'libxss' 'soprano' 'krb5' 'grantlee' + 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt' + 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr' + 'docbook-xsl' 'upower' 'udisks' 'libxcursor' 'phonon' 'qtwebkit' + 'media-player-info' 'libxtst') +makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell') +provides=("kdelibs=$pkgver") +replaces=('kdelibs') +conflicts=('kdelibs') +install=${_pkgname}.install +source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz" + 'kde-applications-menu.patch' + 'use-pythondontwritebytecode.patch' + 'khtml-fsdg.diff') +sha1sums=('33fb26ec7735122b2bb084b79f8fcffb826c58f0' + '86ee8c8660f19de8141ac99cd6943964d97a1ed7' + 'bbacbbe2194f3961cd7557d98a9ddef158ca11aa' + 'a1502a964081ad583a00cf90c56e74bf60121830') + +build() { + cd "${srcdir}"/${_pkgname}-${pkgver} + + # avoid file conflict with gnome-menus + patch -p1 -i "${srcdir}"/kde-applications-menu.patch + + # Set PYTHONDONTWRITEBYTECODE (KDEBUG#276151) + patch -p0 -i "${srcdir}"/use-pythondontwritebytecode.patch + + # Don't ask the user to download a plugin, it's probably nonfree. + patch -p1 -i "${srcdir}"/khtml-fsdg.diff + + cd "${srcdir}" + mkdir build + cd build + cmake ../${_pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DKDE_DISTRIBUTION_TEXT='Parabola GNU/Linux-libre' \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DSYSCONF_INSTALL_DIR=/etc \ + -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \ + -DKDE_DEFAULT_HOME='.kde4' \ + -DWITH_FAM=OFF \ + -DWITH_HUpnp=OFF + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + # cert bundle seems to be hardcoded + # link it to the one from ca-certificates + rm -f "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt + ln -sf /etc/ssl/certs/ca-certificates.crt "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt +} diff --git a/libre-testing/kdelibs-libre/fix-kmail-crash.patch b/libre-testing/kdelibs-libre/fix-kmail-crash.patch new file mode 100644 index 000000000..27caa25f0 --- /dev/null +++ b/libre-testing/kdelibs-libre/fix-kmail-crash.patch @@ -0,0 +1,71 @@ +commit 979b0436510e7807c054e79c40c3753834ac2863 +Author: Sebastian Trueg <trueg@kde.org> +Date: Thu Mar 15 09:14:35 2012 +0100 + + Thread-safe ResourceWatcher handling. + + We simply perform all RW operations in the manager thread. + + BUG: 295474 + FIXED-IN: 4.8.2 + +diff --git a/nepomuk/core/resourcedata.cpp b/nepomuk/core/resourcedata.cpp +index abe55ea..9d45228 100644 +--- a/nepomuk/core/resourcedata.cpp ++++ b/nepomuk/core/resourcedata.cpp +@@ -175,7 +175,8 @@ void Nepomuk::ResourceData::resetAll( bool isDelete ) + if( !m_uri.isEmpty() ) { + m_rm->m_initializedData.remove( m_uri ); + if( m_rm->m_watcher && m_addedToWatcher ) { +- m_rm->m_watcher->removeResource(Resource::fromResourceUri(m_uri)); ++ // See load() for an explanation of the QMetaObject call ++ QMetaObject::invokeMethod(m_rm->m_watcher, "removeResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Resource::fromResourceUri(m_uri))); + m_addedToWatcher = false; + } + } +@@ -393,16 +394,23 @@ bool Nepomuk::ResourceData::load() + m_cache.clear(); + + if(!m_rm->m_watcher) { ++ // ++ // The ResourceWatcher is not thread-safe. Thus, we need to ensure the safety ourselves. ++ // We do that by simply handling all RW related operations in the manager thread. ++ // This also means to invoke methods on the watcher through QMetaObject to make sure they ++ // get queued in case of calls between different threads. ++ // + m_rm->m_watcher = new ResourceWatcher(m_rm->m_manager); ++ m_rm->m_watcher->moveToThread(m_rm->m_manager->thread()); + QObject::connect( m_rm->m_watcher, SIGNAL(propertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)), + m_rm->m_manager, SLOT(slotPropertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) ); + QObject::connect( m_rm->m_watcher, SIGNAL(propertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)), + m_rm->m_manager, SLOT(slotPropertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) ); + m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) ); +- m_rm->m_watcher->start(); ++ QMetaObject::invokeMethod(m_rm->m_watcher, "start", Qt::AutoConnection); + } + else { +- m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) ); ++ QMetaObject::invokeMethod(m_rm->m_watcher, "addResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Nepomuk::Resource::fromResourceUri(m_uri)) ); + } + m_addedToWatcher = true; + +diff --git a/nepomuk/core/resourcewatcher.h b/nepomuk/core/resourcewatcher.h +index 06b9622..92b12f5 100644 +--- a/nepomuk/core/resourcewatcher.h ++++ b/nepomuk/core/resourcewatcher.h +@@ -93,6 +93,7 @@ namespace Nepomuk { + */ + virtual ~ResourceWatcher(); + ++ public Q_SLOTS: + /** + * \brief Add a type to be watched. + * +@@ -204,7 +205,6 @@ namespace Nepomuk { + */ + QList<Types::Property> properties() const; + +- public Q_SLOTS: + /** + * \brief Start the signalling of changes. + * diff --git a/libre-testing/kdelibs-libre/kde-applications-menu.patch b/libre-testing/kdelibs-libre/kde-applications-menu.patch new file mode 100644 index 000000000..4b513298a --- /dev/null +++ b/libre-testing/kdelibs-libre/kde-applications-menu.patch @@ -0,0 +1,22 @@ +--- kdelibs-4.3.98/kded/CMakeLists.txt 2009-10-02 14:55:17.000000000 +0000 ++++ kdelibs-4.3.98/kded/CMakeLists.txt 2010-01-31 22:16:13.946933892 +0000 +@@ -69,7 +69,7 @@ + if (WIN32) + install( FILES applications.menu DESTINATION ${SHARE_INSTALL_PREFIX}/xdg/menus ) + else (WIN32) +-install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus ) ++install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde-applications.menu ) + endif (WIN32) + install( FILES kdedmodule.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} ) + install( FILES kded.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update ) +--- kdelibs-4.3.98/kded/kbuildsycoca.cpp 2009-12-04 23:10:18.000000000 +0000 ++++ kdelibs-4.3.98/kded/kbuildsycoca.cpp 2010-01-31 22:16:13.962766572 +0000 +@@ -302,7 +302,7 @@ + if (!m_trackId.isEmpty()) + g_vfolder->setTrackId(m_trackId); + +- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true); ++ VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true); + + KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, KServiceGroup::Ptr(), false); + entry->setLayoutInfo(kdeMenu->layoutList); diff --git a/libre-testing/kdelibs-libre/kdelibs.install b/libre-testing/kdelibs-libre/kdelibs.install new file mode 100644 index 000000000..c77e68041 --- /dev/null +++ b/libre-testing/kdelibs-libre/kdelibs.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre-testing/kdelibs-libre/khtml-fsdg.diff b/libre-testing/kdelibs-libre/khtml-fsdg.diff new file mode 100644 index 000000000..1a531b3c8 --- /dev/null +++ b/libre-testing/kdelibs-libre/khtml-fsdg.diff @@ -0,0 +1,50 @@ +diff -ru kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp kdelibs-4.8.0/khtml/html/html_objectimpl.cpp +--- kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp 2012-01-30 19:46:27.684114289 +0100 ++++ kdelibs-4.8.0/khtml/html/html_objectimpl.cpp 2012-01-30 19:47:47.222111046 +0100 +@@ -577,46 +577,6 @@ + + void HTMLObjectBaseElementImpl::slotPartLoadingErrorNotify() + { +- // If we have an embed, we may be able to tell the user where to +- // download the plugin. +- +- HTMLEmbedElementImpl *embed = relevantEmbed(); +- QString serviceType; // shadows ours, but we don't care. +- +- if (!embed) +- return; +- +- serviceType = embed->serviceType; +- +- KHTMLPart* part = document()->part(); +- KParts::BrowserExtension *ext = part->browserExtension(); +- +- if(!embed->pluginPage.isEmpty() && ext) { +- // Prepare the mimetype to show in the question (comment if available, name as fallback) +- QString mimeName = serviceType; +- KMimeType::Ptr mime = KMimeType::mimeType(serviceType, KMimeType::ResolveAliases); +- if ( mime && mime->name() != KMimeType::defaultMimeType() ) +- mimeName = mime->comment(); +- +- // Check if we already asked the user, for this page +- if (!mimeName.isEmpty() && !part->pluginPageQuestionAsked(serviceType)) +- { +- part->setPluginPageQuestionAsked(serviceType); +- +- // Prepare the URL to show in the question (host only if http, to make it short) +- KUrl pluginPageURL(embed->pluginPage); +- QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyUrl(); +- int res = KMessageBox::questionYesNo( part->view(), +- i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, shortURL), +- i18n("Missing Plugin"), KGuiItem(i18n("Download")), KGuiItem(i18n("Do Not Download")), QString("plugin-")+serviceType); +- if (res == KMessageBox::Yes) +- { +- // Display vendor download page +- ext->createNewWindow(pluginPageURL); +- return; +- } +- } +- } + } + + diff --git a/libre-testing/kdelibs-libre/use-pythondontwritebytecode.patch b/libre-testing/kdelibs-libre/use-pythondontwritebytecode.patch new file mode 100644 index 000000000..e221e939a --- /dev/null +++ b/libre-testing/kdelibs-libre/use-pythondontwritebytecode.patch @@ -0,0 +1,80 @@ +--- cmake/modules/PythonMacros.cmake ++++ cmake/modules/PythonMacros.cmake +@@ -23,40 +23,42 @@ + # Install the source file. + INSTALL(FILES ${SOURCE_FILE} DESTINATION ${DESINATION_DIR}) + +- # Byte compile and install the .pyc file. +- GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) +- GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) +- GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) +- GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) +- +- if(WIN32) +- string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") +- endif(WIN32) +- +- SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) +- SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) +- +- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) +- +- SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}") +- +- GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) +- IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. +- ADD_CUSTOM_COMMAND( +- TARGET compile_python_files +- COMMAND ${CMAKE_COMMAND} -E echo ${_message} +- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} +- DEPENDS ${_absfilename} +- ) +- ELSE(_abs_bin_py STREQUAL ${_absfilename}) +- ADD_CUSTOM_COMMAND( +- TARGET compile_python_files +- COMMAND ${CMAKE_COMMAND} -E echo ${_message} +- COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} +- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} +- DEPENDS ${_absfilename} +- ) +- ENDIF(_abs_bin_py STREQUAL ${_absfilename}) ++ # Byte compile and install the .pyc file. ++ IF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") ++ GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) ++ GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) ++ GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) ++ GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) ++ ++ if(WIN32) ++ string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") ++ endif(WIN32) ++ ++ SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) ++ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) ++ ++ FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) ++ ++ SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}") ++ ++ GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) ++ IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. ++ ADD_CUSTOM_COMMAND( ++ TARGET compile_python_files ++ COMMAND ${CMAKE_COMMAND} -E echo ${_message} ++ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} ++ DEPENDS ${_absfilename} ++ ) ++ ELSE(_abs_bin_py STREQUAL ${_absfilename}) ++ ADD_CUSTOM_COMMAND( ++ TARGET compile_python_files ++ COMMAND ${CMAKE_COMMAND} -E echo ${_message} ++ COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} ++ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} ++ DEPENDS ${_absfilename} ++ ) ++ ENDIF(_abs_bin_py STREQUAL ${_absfilename}) + +- INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}) ++ INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}) ++ ENDIF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") + ENDMACRO(PYTHON_INSTALL) diff --git a/libre-testing/kdenetwork-kopete-libre/PKGBUILD b/libre-testing/kdenetwork-kopete-libre/PKGBUILD new file mode 100644 index 000000000..0ec26edcd --- /dev/null +++ b/libre-testing/kdenetwork-kopete-libre/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 165994 2012-09-03 21:52:07Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> + +pkgbase=kdenetwork +pkgname=('kdenetwork-kopete-libre') +pkgver=4.9.1 +pkgrel=1 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdenetwork') +makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp' + 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver' + 'v4l-utils' 'libidn' 'qimageblitz' 'libxdamage' 'libgadu' 'libmsn' + 'libktorrent' 'libmms' 'mediastreamer' 'telepathy-qt') +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") +sha1sums=('22f8cde8b5617ba7e401d82b0669a06899b17320') + +build() { + cd "${srcdir}" +# Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34. + sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' "${pkgbase}-${pkgver}/kopete/protocols/CMakeLists.txt" + rm -rf "${pkgbase}-${pkgver}/kopete/protocols/skype" + sed 's/, Skype//' -i "${pkgbase}-${pkgver}/doc/kopete/index.docbook" + + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \ + -DWITH_Xmms=OFF \ + -DWITH_LibMeanwhile=OFF \ + -DWITH_qq=OFF + make +} + +package_kdenetwork-kopete-libre() { + pkgdesc='Instant Messenger (without skype support)' + depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn' + 'libidn' 'qimageblitz' 'libgadu' 'mediastreamer') + conflicts=('kdenetwork-kopete') + provides=("kdenetwork-kopete=${pkgver}") + replaces=('kdenetwork-kopete') + url="http://kde.org/applications/internet/kopete/" + install='kdenetwork-kopete.install' + cd $srcdir/build/kopete + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kopete + make DESTDIR=$pkgdir install +} diff --git a/libre-testing/kdenetwork-kopete-libre/kdenetwork-kopete.install b/libre-testing/kdenetwork-kopete-libre/kdenetwork-kopete.install new file mode 100644 index 000000000..5495fb1b5 --- /dev/null +++ b/libre-testing/kdenetwork-kopete-libre/kdenetwork-kopete.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre-testing/kdenetwork-kopete-libre/kdenetwork.install b/libre-testing/kdenetwork-kopete-libre/kdenetwork.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/libre-testing/kdenetwork-kopete-libre/kdenetwork.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre-testing/kdeutils-ark-libre/PKGBUILD b/libre-testing/kdeutils-ark-libre/PKGBUILD new file mode 100644 index 000000000..a71990231 --- /dev/null +++ b/libre-testing/kdeutils-ark-libre/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 165999 2012-09-03 21:52:22Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Maintainer (Parabola): André Silva <emulatorman@lavabit.com> + +_pkgname=kdeutils-ark +pkgname=kdeutils-ark-libre +pkgver=4.9.1 +pkgrel=1 +pkgdesc='Archiving Tool' +url='http://kde.org/applications/utilities/ark/' +arch=('i686' 'x86_64' 'mips64el') +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdeutils') +depends=('kdebase-runtime' 'kdebase-lib' 'libarchive' 'qjson') +makedepends=('cmake' 'automoc4') +optdepends=('p7zip' 'zip' 'unzip' 'ununrar') +install=${_pkgname}.install +provides=("kdeutils-ark=$pkgver") +replaces=('kdeutils-ark') +conflicts=('kdeutils-ark') +source=("http://download.kde.org/stable/${pkgver}/src/ark-${pkgver}.tar.xz") +sha1sums=('2f7d32b9f99913d14801b56f0c858eda128a7b91') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../ark-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package() { + cd $srcdir/build + make DESTDIR=$pkgdir install + cd $srcdir/build/doc + make DESTDIR=$pkgdir install +} diff --git a/libre-testing/kdeutils-ark-libre/kdeutils-ark.install b/libre-testing/kdeutils-ark-libre/kdeutils-ark.install new file mode 100644 index 000000000..78681144b --- /dev/null +++ b/libre-testing/kdeutils-ark-libre/kdeutils-ark.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_update() { + post_install +} + +post_remove() { + post_install +} diff --git a/libre-testing/kdeutils-ark-libre/rePKGBUILD b/libre-testing/kdeutils-ark-libre/rePKGBUILD new file mode 100644 index 000000000..f40b19d3f --- /dev/null +++ b/libre-testing/kdeutils-ark-libre/rePKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Nicolás Reynolds <fauno@kiwwwi.com.ar> +source PKGBUILD +#CARCH=x86_64 +unset build package md5sums source +_repo=extra # Put the repo here +_mirror=ftp://mirrors.kernel.org/archlinux # Put mirror here +source=(PKGBUILD + "${_mirror}/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT" + # files for pkg modifications below this line + ) +options=(!strip) + +build() { + cd "${srcdir}/" + rm -vf .{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: diff --git a/libre/filesystem/PKGBUILD b/libre/filesystem/PKGBUILD index add2fa659..49e837e02 100644 --- a/libre/filesystem/PKGBUILD +++ b/libre/filesystem/PKGBUILD @@ -1,24 +1,31 @@ -# $Id: PKGBUILD 163827 2012-07-20 23:47:38Z tomegun $ +# $Id: PKGBUILD 165634 2012-08-27 20:15:48Z tomegun $ # Maintainer: Tom Gundersen <teg@jklm.no> # Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar> # Maintainer (Parabola): André Silva <emulatorman@lavabit.com> pkgname=filesystem -pkgver=2012.7 -pkgrel=1 +pkgver=2012.8 +pkgrel=1.2 pkgdesc='Base filesystem for Parabola' arch=('any') license=('GPL') url='https://parabolagnulinux.org' groups=('base') install='filesystem.install' +makedepends=('asciidoc') depends=('iana-etc' 'bash' 'coreutils') backup=('etc/fstab' 'etc/crypttab' 'etc/group' 'etc/hosts' 'etc/ld.so.conf' 'etc/passwd' 'etc/shadow' 'etc/gshadow' 'etc/resolv.conf' 'etc/motd' 'etc/nsswitch.conf' 'etc/shells' 'etc/host.conf' 'etc/securetty' 'etc/profile' 'etc/issue') source=('group' 'issue' 'nsswitch.conf' 'securetty' 'host.conf' 'ld.so.conf' 'passwd' 'shadow' 'fstab' 'crypttab' 'hosts' 'motd' 'os-release' 'resolv.conf' - 'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first') + 'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first' 'parabola.7.txt' + 'locale.sh') + +build() { + cd ${srcdir} + a2x -d manpage -f manpage parabola.7.txt +} package() { cd ${pkgdir} @@ -47,6 +54,7 @@ package() { done touch etc/arch-release install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf + install -m755 ${srcdir}/locale.sh etc/profile.d/locale.sh # setup /var for d in cache/man local opt log/old lib/misc empty; do @@ -69,6 +77,10 @@ package() { install -d -m755 usr/share/man/man${d} done + # + # install parabola(7) manpage + # + install -D -m644 ${srcdir}/parabola.7 usr/share/man/man7/parabola.7 # # setup /usr/local hierarchy @@ -95,4 +107,6 @@ md5sums=('45940618da782cc391c59f88ab3333c3' '22518e922891f9359f971f4f5b4e793c' 'f95416882cef800edef08382a1176b7d' 'f3b6ae7db8adffaaa4bffc6099dcbd50' - 'a8a962370cd0128465d514e6a1f74130') + 'a8a962370cd0128465d514e6a1f74130' + '3674fcb22044d2946934e7826aa0c632' + '3807d07215d9116331fe1cf8feeaa0f8') diff --git a/libre/filesystem/locale.sh b/libre/filesystem/locale.sh new file mode 100644 index 000000000..5fd4174d5 --- /dev/null +++ b/libre/filesystem/locale.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES \ + LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION + +if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then + . "$XDG_CONFIG_HOME/locale.conf" +elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then + . "$HOME/.config/locale.conf" +elif [ -r /etc/locale.conf ]; then + . /etc/locale.conf +elif [ -r /etc/rc.conf ]; then + LANG=$(. /etc/rc.conf 2>/dev/null; echo "$LOCALE") +fi + +export LANG="${LANG:-C}" +[ -n "$LC_CTYPE" ] && export LC_CTYPE +[ -n "$LC_NUMERIC" ] && export LC_NUMERIC +[ -n "$LC_TIME" ] && export LC_TIME +[ -n "$LC_COLLATE" ] && export LC_COLLATE +[ -n "$LC_MONETARY" ] && export LC_MONETARY +[ -n "$LC_MESSAGES" ] && export LC_MESSAGES +[ -n "$LC_PAPER" ] && export LC_PAPER +[ -n "$LC_NAME" ] && export LC_NAME +[ -n "$LC_ADDRESS" ] && export LC_ADDRESS +[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE +[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT +[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION diff --git a/libre/filesystem/parabola.7.txt b/libre/filesystem/parabola.7.txt new file mode 100644 index 000000000..f7da03147 --- /dev/null +++ b/libre/filesystem/parabola.7.txt @@ -0,0 +1,81 @@ +///// +vim:set ts=4 sw=4 syntax=asciidoc noet: +///// +parabola(7) +============ + +NAME +---- +parabola - basic configuration + +SYNOPSIS +-------- +Overview of the basic configuration of Parabola GNU/Linux-libre. + +DESCRIPTION +----------- +Parabola exposes the user to the system without hiding any details. This manpage gives a +brief overview of the configuration files that should be set up on a fresh install. + +INITSCRIPTS[[I]] +---------------- +The initscripts are configured in rc.conf. Here you configure what daemons to start on boot, what storage +technologies should be enabled and, optionally, a basic network setup. + +HOSTNAME[[H]] +------------- +The hostname of the machine should be set in /etc/hostname. Additionally, either /etc/hosts should be +configured accordingly, or nss-myhostname should be used. This is needed so the hostname can always +be resolved to the current machine, which is required by some programs. + +LOCALIZATION[[L]] +----------------- +Various locales may be enabled in /etc/locale.gen, and generated by locale-gen. The system-wide locale to be used +can be configured in /etc/locale.conf. These settings can be overridden on a par-user basis by keeping a +user-spcefic locale.conf in $HOME/.config/locale.conf. The user-specific file will take precedence if it exists. + +VIRTUAL CONSOLE[[V]] +-------------------- +The virtual console is configured in /etc/vconsole.conf. It allows you to set a font and a keyboard layout, among +other things. Note that these settings only apply to the console, and not if you use X. + +TIME[[T]] +--------- +The local timezone is configured by *symlinking* /etc/localtime to the correct zoneinfo file under +/usr/share/zoneinfo/. E.g., + + /etc/localtime -> /usr/share/zoneinfo/Europe/Paris + +The real-time clock, which keeps track of time when the computer is off, can be configured to either +be in UTC or in localtime in /etc/adjtime. The default is UTC. + +FILESYSTEMS[[F]] +---------------- +Filesystems are configured in /etc/fstab, and encryption mappings are configured in /etc/crypttab. + +INITRAMFS[[R]] +-------------- +The initramfs is generated by mkinitcpio, and can be configured in /etc/mkinitcpio.conf. + +PACKAGE MANAGER[[P]] +-------------------- +The package manager, pacman, is configured in /etc/pacman.conf. + +BOOTLOADER[[B]] +--------------- +GRUB's configuration is generated from /etc/default/grub by grub-mkconfig. Syslinux is configured in /boot/syslinux/syslinux.cfg + +MODULES[[M]] +------------ +Most modules should be loaded on-demand. Modules to be unconditionally loaded at boot can be specified in /etc/modules-load.d/, +and modules to be blacklisted from auto-loading can be configured in /etc/modprobe.d/. + +SEE ALSO +-------- + +rc.conf(5), hostname(5), hosts(5), nsswitch.conf(5), locale.conf(5), vconsole.conf(5), timezone(3), hwclock(8), fstab(5), crypttab(5), +mkinitcpio(8), pacman(8), pacman.conf(5), grub-mkconfig(8), syslinux(1), modules-load.d(5), modprobe.d(5) + +AUTHORS +------- +Written by Tom Gundersen. Rebranded for Parabola by Nicolás Reynolds and André Silva. diff --git a/libre/liferea-libre/PKGBUILD b/libre/liferea-libre/PKGBUILD index 706b2d0d7..9d5226562 100644 --- a/libre/liferea-libre/PKGBUILD +++ b/libre/liferea-libre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 161863 2012-06-15 23:14:52Z eric $ +# $Id: PKGBUILD 165910 2012-09-03 19:19:26Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Contributor (Parabola): bitlord # Contributor (Parabola): André Silva <emulatorman@lavabit.com> _pkgname=liferea pkgname=liferea-libre -pkgver=1.8.7 +pkgver=1.8.8 pkgrel=1 pkgdesc="A desktop news aggregator for online news feeds and weblogs" arch=('i686' 'x86_64') @@ -18,20 +18,20 @@ depends=('gconf' 'libwebkit' 'libnotify' 'libunique' 'json-glib' 'hicolor-icon-t makedepends=('intltool') options=('!libtool' '!emptydirs') install=liferea.install -source=(http://downloads.sourceforge.net/sourceforge/${_pkgname}/${_pkgname}-${pkgver}.tar.gz +source=(http://downloads.sourceforge.net/sourceforge/liferea/liferea-${pkgver}.tar.gz remove-non-free-suggestions.patch) -sha1sums=('3cdadae3b3bcec2da048257b72a5d7c11a9621f1' +sha1sums=('9dfbf5ff8bd91060bdea93d74c37a8a828a2edfe' '0d68c567c3d37932a49709c58c37c3f138fd19cb') build() { - cd "${srcdir}/${_pkgname}-${pkgver}" + cd "${srcdir}/liferea-${pkgver}" patch -Np1 -i "$srcdir/remove-non-free-suggestions.patch" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-schemas-install make } package() { - cd "${srcdir}/${_pkgname}-${pkgver}" + cd "${srcdir}/liferea-${pkgver}" make DESTDIR="${pkgdir}" install install -d "${pkgdir}/usr/share/gconf/schemas" diff --git a/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch index 4a0507271..240c3d4e8 100644 --- a/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch +++ b/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch @@ -41,10 +41,10 @@ index 0e8ccf5..fa46c08 100644 brandBundle.getFormattedString("homePageImport", [appName]);
var oldHomePage = document.getElementById("oldHomePage");
diff --git a/browser/components/migration/content/migration.xul b/browser/components/migration/content/migration.xul
-index 4bcc1d9..c4db956 100644
+index f030756..23e37ff 100644
--- a/browser/components/migration/content/migration.xul
+++ b/browser/components/migration/content/migration.xul
-@@ -74,7 +74,7 @@
+@@ -42,7 +42,7 @@
#elifdef XP_UNIX
<radio id="chrome" label="&importFromChrome.label;" accesskey="&importFromChrome.accesskey;"/>
#endif
@@ -54,7 +54,7 @@ index 4bcc1d9..c4db956 100644 </radiogroup>
<label id="noSources" hidden="true">&noMigrationSources.label;</label>
diff --git a/browser/components/migration/src/BrowserProfileMigrators.manifest b/browser/components/migration/src/BrowserProfileMigrators.manifest
-index 527771f..782b38f 100644
+index d7fec75..d531b83 100644
--- a/browser/components/migration/src/BrowserProfileMigrators.manifest
+++ b/browser/components/migration/src/BrowserProfileMigrators.manifest
@@ -3,7 +3,7 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737
@@ -63,11 +63,11 @@ index 527771f..782b38f 100644 component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
-contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
+contract @mozilla.org/profile/migrator;1?app=browser&type=self {91185366-ba97-4438-acba-48deaca63386}
+ #ifdef HAS_IE_MIGRATOR
component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4}
- component {4b609ecf-60b2-4655-9df4-dc149e474da1} SafariProfileMigrator.js
diff --git a/browser/components/migration/src/FirefoxProfileMigrator.js b/browser/components/migration/src/FirefoxProfileMigrator.js
-index 8f14f49..8dc175d 100644
+index a6598fe..8f83da8 100644
--- a/browser/components/migration/src/FirefoxProfileMigrator.js
+++ b/browser/components/migration/src/FirefoxProfileMigrator.js
@@ -88,7 +88,7 @@ Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", {
@@ -80,7 +80,7 @@ index 8f14f49..8dc175d 100644 const NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]);
diff --git a/browser/components/migration/src/MigrationUtils.jsm b/browser/components/migration/src/MigrationUtils.jsm
-index 9460e6d..8db6827 100644
+index 0669aa8..19552e3 100644
--- a/browser/components/migration/src/MigrationUtils.jsm
+++ b/browser/components/migration/src/MigrationUtils.jsm
@@ -403,11 +403,6 @@ let MigrationUtils = Object.freeze({
@@ -126,10 +126,10 @@ index 744f117..59e5a4c 100644 classDescription: "Profile Migrator",
contractID: "@mozilla.org/toolkit/profile-migrator;1",
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.dtd b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-index 0b4b776..ce26fbd 100644
+index 21cf405..f3c1a6b 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.dtd
+++ b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-@@ -13,8 +13,6 @@
+@@ -17,8 +17,6 @@
<!ENTITY importFromSafari.accesskey "S">
<!ENTITY importFromChrome.label "Chrome">
<!ENTITY importFromChrome.accesskey "C">
@@ -139,10 +139,10 @@ index 0b4b776..ce26fbd 100644 <!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties
-index f522a66..be26460 100644
+index ab82d85..915f6b8 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.properties
+++ b/browser/locales/en-US/chrome/browser/migration/migration.properties
-@@ -4,7 +4,6 @@ profileName_format=%S %S
+@@ -8,7 +8,6 @@ profileName_format=%S %S
sourceNameIE=Internet Explorer
sourceNameSafari=Safari
sourceNameChrome=Google Chrome
@@ -150,7 +150,7 @@ index f522a66..be26460 100644 importedBookmarksFolder=From %S
-@@ -18,29 +17,29 @@ importedSafariReadingList=Reading List (From Safari)
+@@ -22,22 +21,22 @@ importedSafariReadingList=Reading List (From Safari)
2_ie=Cookies
2_safari=Cookies
2_chrome=Cookies
@@ -177,79 +177,72 @@ index f522a66..be26460 100644 32_ie=Favorites
32_safari=Bookmarks
- 32_chrome=Bookmarks
--32_firefox=Bookmarks
-+32_self=Bookmarks
-
+@@ -46,4 +45,4 @@ importedSafariReadingList=Reading List (From Safari)
64_ie=Other Data
64_safari=Other Data
64_chrome=Other Data
-64_firefox=Bookmarks Backups
+64_self=Bookmarks Backups
-diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
-index 957d4d8..1af3629 100644
---- a/toolkit/content/aboutSupport.js
-+++ b/toolkit/content/aboutSupport.js
-@@ -616,13 +616,13 @@ function populateResetBox() {
- .getService(Ci.nsIToolkitProfileService);
+diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
+index 697b217..b6e1709 100644
+--- a/toolkit/content/jar.mn
++++ b/toolkit/content/jar.mn
+@@ -38,7 +38,7 @@ toolkit.jar:
+ + content/global/mozilla.xhtml (mozilla.xhtml)
+ *+ content/global/nsDragAndDrop.js (nsDragAndDrop.js)
+ content/global/resetProfile.css (resetProfile.css)
+-* content/global/resetProfile.js (resetProfile.js)
++ content/global/resetProfile.js (resetProfile.js)
+ * content/global/resetProfile.xul (resetProfile.xul)
+ * content/global/resetProfileProgress.xul (resetProfileProgress.xul)
+ * content/global/treeUtils.js (treeUtils.js)
+diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
+index dcb4065..09c1146 100644
+--- a/toolkit/content/resetProfile.js
++++ b/toolkit/content/resetProfile.js
+@@ -36,13 +36,13 @@ function resetSupported() {
+ getService(Ci.nsIToolkitProfileService);
let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
-
- // Only show the reset box for the default profile if the self-migrator used for reset exists.
+ // Reset is only supported for the default profile if the self-migrator used for reset exists.
try {
- if (!currentProfileDir.equals(profileService.selectedProfile.rootDir) ||
-- !("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc))
-+ !("@mozilla.org/toolkit/profile-migrator;1" in Cc))
-+ return;
-+ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
-+ if (!("canMigrate" in pm) || !pm.canMigrate("self"))
- return;
- document.getElementById("reset-box").style.visibility = "visible";
+- return currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
+- ("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc);
++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
++ return ("canMigrate" in pm) && pm.canMigrate("self");
++ }
} catch (e) {
-diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
-index 84de6cd..3126da6 100644
---- a/toolkit/content/resetProfile.js
-+++ b/toolkit/content/resetProfile.js
-@@ -6,6 +6,7 @@ Components.utils.import("resource://gre/modules/Services.jsm");
+ // Catch exception when there is no selected profile.
+ Cu.reportError(e);
+@@ -53,9 +53,6 @@ function resetSupported() {
+ function getMigratedData() {
+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
- // based on onImportItemsPageShow from migration.js
- function onResetProfileLoad() {
-+<<<<<<< HEAD
- #expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
- #expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
-
-@@ -16,16 +17,22 @@ function onResetProfileLoad() {
- "8_" + MOZ_APP_NAME, // Form History
- "2_" + MOZ_APP_NAME, // Cookies
- ];
-+=======
-+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
-+ const MAX_MIGRATED_TYPES = 16;
-+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
-
- var migratedItems = document.getElementById("migratedItems");
-- var bundle = Services.strings.createBundle("chrome://" + MOZ_BUILD_APP +
-- "/locale/migration/migration.properties");
-
- // Loop over possible data to migrate to give the user a list of what will be preserved.
- for (var itemStringName of MIGRATED_TYPES) {
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+-
+ // From migration.properties
+ const MIGRATED_TYPES = [
+ 4, // History and Bookmarks
+@@ -68,7 +65,7 @@ function getMigratedData() {
+ let dataTypes = [];
+ for (let itemID of MIGRATED_TYPES) {
try {
- var checkbox = document.createElement("label");
-+<<<<<<< HEAD
- checkbox.setAttribute("value", bundle.GetStringFromName(itemStringName));
-+=======
-+ checkbox.setAttribute("value", MigrationUtils.getLocalizedString(itemID + "_self"));
-+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
- migratedItems.appendChild(checkbox);
+- let typeName = MigrationUtils.getLocalizedString(itemID + "_" + MOZ_APP_NAME);
++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
+ dataTypes.push(typeName);
} catch (x) {
// Catch exceptions when the string for a data type doesn't exist.
diff --git a/toolkit/profile/nsIProfileMigrator.idl b/toolkit/profile/nsIProfileMigrator.idl
-index e941336..5b264af 100644
+index f35c227..7062886 100644
--- a/toolkit/profile/nsIProfileMigrator.idl
+++ b/toolkit/profile/nsIProfileMigrator.idl
-@@ -69,7 +69,7 @@ interface nsIProfileStartup : nsISupports
+@@ -37,7 +37,7 @@ interface nsIProfileStartup : nsISupports
* @client Toolkit (Startup code)
* @obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1")
*/
@@ -258,7 +251,7 @@ index e941336..5b264af 100644 interface nsIProfileMigrator : nsISupports
{
/**
-@@ -92,6 +92,14 @@ interface nsIProfileMigrator : nsISupports
+@@ -60,6 +60,14 @@ interface nsIProfileMigrator : nsISupports
* @note The startup code ignores COM exceptions thrown from this method.
*/
void migrate(in nsIProfileStartup aStartup, in ACString aKey);
@@ -274,15 +267,15 @@ index e941336..5b264af 100644 %{C++
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index d2db0e2..45a4b0d 100644
+index e5d3042..6de3390 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3642,7 +3642,7 @@ XREMain::XRE_mainRun()
- if (gDoProfileReset) {
- // Automatically migrate from the current application if we just
- // reset the profile.
-- aKey = MOZ_APP_NAME;
-+ aKey = "self";
+@@ -3650,7 +3650,7 @@ XREMain::XRE_mainRun()
+ if (gDoProfileReset) {
+ // Automatically migrate from the current application if we just
+ // reset the profile.
+- aKey = MOZ_APP_NAME;
++ aKey = "self";
+ }
pm->Migrate(&mDirProvider, aKey);
- // Set the new profile as the default after migration.
- rv = SetCurrentProfileAsDefault(mProfileSvc, mProfD);
+ }
diff --git a/libre/xulrunner-libre/PKGBUILD b/libre/xulrunner-libre/PKGBUILD index 8c332db12..c4e72cfea 100644 --- a/libre/xulrunner-libre/PKGBUILD +++ b/libre/xulrunner-libre/PKGBUILD @@ -6,8 +6,8 @@ # We're getting this from Debian Experimental _debname=iceweasel -_debver=14.0.1 -_debrel=2 +_debver=15.0 +_debrel=1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } @@ -30,11 +30,11 @@ options=('!emptydirs') conflicts=('xulrunner') provides=("xulrunner=${_debver}") replaces=('xulrunner-oss' 'xulrunner') -md5sums=('8e4f3987d37c8e73b168948d0771b872' - '8689c150a4d3a0a688ad2db6044feac6' +md5sums=('aa5a7f08f55a2b02a71c86f30ef75a25' + 'b93090724434e3801375730744e79950' 'f2f4f4a573f549e8b494e33b3ad226bc' '27271ce647a83906ef7a24605e840d61' - '88350bc611361a1ff635f5c960c6d6ee') + 'c52fac65c1e06290a5108b75c31ace79') build() { export QUILT_PATCHES=debian/patches diff --git a/multilib/lib32-gnutls/PKGBUILD b/multilib/lib32-gnutls/PKGBUILD index 88b5ab330..f875ddae9 100644 --- a/multilib/lib32-gnutls/PKGBUILD +++ b/multilib/lib32-gnutls/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 74805 2012-08-05 18:40:01Z bluewind $ +# $Id: PKGBUILD 75845 2012-09-03 09:17:22Z bluewind $ # Maintainer: Florian Pritz <bluewind@xinu.at> # Contributor: Christoph Vigano <mail at cvigano dot de> # Contributor: Biru Ionut <ionut@archlinux.ro> @@ -6,7 +6,7 @@ # Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi> _pkgbasename=gnutls pkgname=lib32-$_pkgbasename -pkgver=3.0.22 +pkgver=3.1.1 pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer (32-bit)" arch=('x86_64') @@ -16,8 +16,8 @@ options=('!libtool') depends=('lib32-zlib' 'lib32-nettle>=2.4' 'lib32-p11-kit>=0.12' $_pkgbasename) makedepends=('gcc-multilib' 'lib32-libidn') source=(ftp://ftp.gnu.org/gnu/gnutls/${_pkgbasename}-${pkgver}.tar.xz{,.sig}) -md5sums=('7b3db90934c2d410c573e37efce3d579' - '33aab6d202af8d6f8f51cfb9249b6d50') +md5sums=('59c432df79108c74c34a4582c7d7e7e7' + '00d354ec9ac8ca4329b35ea397589b6c') build() { export CC="gcc -m32" diff --git a/multilib/lib32-sdl/PKGBUILD b/multilib/lib32-sdl/PKGBUILD index ce944c163..f226f79d3 100644 --- a/multilib/lib32-sdl/PKGBUILD +++ b/multilib/lib32-sdl/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 66918 2012-03-01 15:51:48Z bluewind $ -# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +# $Id: PKGBUILD 75857 2012-09-03 16:41:16Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: dorphell <dorphell@archlinux.org> _pkgbasename=sdl pkgname=lib32-$_pkgbasename pkgver=1.2.15 -pkgrel=2 +pkgrel=2.1 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit)" arch=('x86_64') url="http://www.libsdl.org" @@ -15,27 +15,33 @@ depends=('lib32-libxext' 'lib32-libxrender' 'lib32-libx11' $_pkgbasename) makedepends=('lib32-alsa-lib' 'lib32-mesa' 'lib32-libpulse' gcc-multilib) options=('!libtool') source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz - sdl-1.2.14-fix-mouse-clicking.patch) + sdl-1.2.14-fix-mouse-clicking.patch + sdl-1.2.14-disable-mmx.patch + fix_joystick_misc_axes.diff) md5sums=('9d96df8417572a2afb781a7c4c811a85' - '04d8c179f125e04bcd4c9d60e013c2d7') + '04d8c179f125e04bcd4c9d60e013c2d7' + 'e5c16b7611f62c7cb25f0534eff68852' + '687586a108b597a2a6b73070c1d37e51') build() { export CC="gcc -m32" export CXX="g++ -m32" export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" - cd ${srcdir}/SDL-${pkgver} - patch -Np1 -i $srcdir/sdl-1.2.14-fix-mouse-clicking.patch + cd SDL-$pkgver + patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch + patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch + patch -Np1 -i ../fix_joystick_misc_axes.diff ./configure --prefix=/usr --disable-nasm --enable-alsa \ - --with-x --disable-rpath --libdir=/usr/lib32 --disable-static + --with-x --disable-rpath --disable-static --libdir=/usr/lib32 make } package() { - cd ${srcdir}/SDL-${pkgver} - make DESTDIR=${pkgdir} install + cd SDL-$pkgver + make DESTDIR="$pkgdir" install - rm -rf "${pkgdir}"/usr/{include,share} + rm -rf "$pkgdir"/usr/{include,share} cd "$pkgdir/usr/bin" mv sdl-config sdl-config-32 diff --git a/multilib/lib32-sdl/fix_joystick_misc_axes.diff b/multilib/lib32-sdl/fix_joystick_misc_axes.diff new file mode 100644 index 000000000..75e3755c9 --- /dev/null +++ b/multilib/lib32-sdl/fix_joystick_misc_axes.diff @@ -0,0 +1,13 @@ +diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c +index ee43974..80e46e4 100644 +--- a/src/joystick/linux/SDL_sysjoystick.c ++++ b/src/joystick/linux/SDL_sysjoystick.c +@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd) + ++joystick->nbuttons; + } + } +- for ( i=0; i<ABS_MISC; ++i ) { ++ for ( i=0; i<ABS_MAX; ++i ) { + /* Skip hats */ + if ( i == ABS_HAT0X ) { + i = ABS_HAT3Y; diff --git a/multilib/lib32-sdl/sdl-1.2.14-disable-mmx.patch b/multilib/lib32-sdl/sdl-1.2.14-disable-mmx.patch new file mode 100644 index 000000000..1bb6e0e47 --- /dev/null +++ b/multilib/lib32-sdl/sdl-1.2.14-disable-mmx.patch @@ -0,0 +1,13 @@ +# and another one from FS#26020 + +--- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700 ++++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700 +@@ -89,6 +89,8 @@ + #include "SDL_yuvfuncs.h" + #include "SDL_yuv_sw_c.h" + ++#undef __OPTIMIZE__ ++ + /* The functions used to manipulate software video overlays */ + static struct private_yuvhwfuncs sw_yuvfuncs = { + SDL_LockYUV_SW, diff --git a/social/monkeysphere/PKGBUILD b/social/monkeysphere/PKGBUILD index ba869598e..3c5c590b8 100644 --- a/social/monkeysphere/PKGBUILD +++ b/social/monkeysphere/PKGBUILD @@ -4,9 +4,9 @@ # $Id: PKGBUILD 264 2010-11-10 00:57:53Z shtrom $ pkgname=monkeysphere pkgver=0.35 -pkgrel=2 +pkgrel=3 pkgdesc="Leverage the OpenPGP web of trust for OpenSSH and Web authentication" -arch=('i686' 'x86_64') +arch=('any') url="http://web.monkeysphere.info/" license=('GPL3') depends=('gnupg' 'lockfile-progs' 'perl-crypt-openssl-rsa' 'perl-digest-sha1') @@ -14,7 +14,7 @@ source=(http://archive.monkeysphere.info/debian/pool/${pkgname}/m/${pkgname}/${p install=monkeysphere.install md5sums=('481ac14c9fdef0ccd1944c593bd4f517') -build() { +package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir/" install diff --git a/testing/cups/PKGBUILD b/testing/cups/PKGBUILD index d4ba2d8d7..12273883e 100644 --- a/testing/cups/PKGBUILD +++ b/testing/cups/PKGBUILD @@ -1,30 +1,38 @@ -# $Id: PKGBUILD 164245 2012-07-28 09:29:14Z andyrtr $ +# $Id: PKGBUILD 165915 2012-09-03 20:05:26Z heftig $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase="cups" pkgname=('libcups' 'cups') pkgver=1.6.1 -pkgrel=1 +pkgrel=6 arch=('i686' 'x86_64') license=('GPL') url="http://www.cups.org/" -makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc' +makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme' 'systemd') source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 cups-no-export-ssllibs.patch cups-no-gcrypt.patch cups-no-gzip-man.patch cups-systemd-socket.patch - cups cups.logrotate cups.pam) + cups cups.logrotate cups.pam + cupsd-conf-remove-obsolete-browse-directives.patch + avahi-missing-in-conditionals.patch + recognize-remote-cups-queue-via-dnssd-uri.patch + usb-backend-reset-after-job-only-for-specific-devices.patch) #options=('!emptydirs') md5sums=('87ade07e3d1efd03c9c3add949cf9c00' '9b8467a1e51d360096b70e2c3c081e6c' '3733c23e77eb503bd94cc368e02830dc' '90c30380d4c8cd48a908cfdadae1ea24' - 'a81573a429b98e16670d7fea47e528c4' + 'b4868b83f7f2d6ec24a1be76509379f0' '9657daa21760bb0b5fa3d8b51d5e01a1' 'f861b18f4446c43918c8643dcbbd7f6d' - '96f82c38f3f540b53f3e5144900acf17') + '96f82c38f3f540b53f3e5144900acf17' + '6bef262b5081051e88cd2ae94fed1867' + '9c91b1319f4b20dc323986cb4abbe806' + 'dcef8dd5614461166cada8a706eebb49' + '0779ef8ba1d724ebb3b9bf360deba52b') build() { cd ${srcdir}/${pkgbase}-${pkgver} @@ -40,6 +48,16 @@ build() { patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch" # don't zip man pages in make install, let makepkg do that / Fedora patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch + + # upstream bugtracker patches + # http://www.cups.org/str.php?L4157 - fix broken default server config + patch -Np1 -i ${srcdir}/cupsd-conf-remove-obsolete-browse-directives.patch + # http://www.cups.org/str.php?L4156 - In many DNS-SD/Bonjour conditionals Avahi is not considered + patch -Np1 -i ${srcdir}/avahi-missing-in-conditionals.patch + # http://www.cups.org/str.php?L4158 - DNS-SD-based print queues pointing to CUPS server are not considered remote printers with driver on server + patch -Np1 -i ${srcdir}/recognize-remote-cups-queue-via-dnssd-uri.patch + # http://cups.org/str.php?L4155 / https://bugs.archlinux.org/task/30965 + patch -Np0 -i ${srcdir}/usb-backend-reset-after-job-only-for-specific-devices.patch # Rebuild configure script for not zipping man-pages. aclocal -I config-scripts @@ -105,7 +123,7 @@ backup=(etc/cups/cupsd.conf etc/logrotate.d/cups etc/pam.d/cups etc/xinetd.d/cups-lpd) -depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord' 'libusb' 'dbus-core' 'libsystemd' 'hicolor-icon-theme') +depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord' 'libusb' 'dbus-core' 'libsystemd' 'hicolor-icon-theme') optdepends=('xdg-utils: xdg .desktop file support') cd ${srcdir}/${pkgbase}-${pkgver} @@ -150,4 +168,7 @@ optdepends=('xdg-utils: xdg .desktop file support') rm -v ${pkgdir}/usr/share/cups/data/testprint # comment out all conversion rules which use any of the removed filters perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' /usr/share/cups/mime/mime.convs + + # Provide native service for arch-daemons generator + ln -s cups.service "$pkgdir/usr/lib/systemd/system/cupsd.service" } diff --git a/testing/cups/avahi-missing-in-conditionals.patch b/testing/cups/avahi-missing-in-conditionals.patch new file mode 100644 index 000000000..b261f58ae --- /dev/null +++ b/testing/cups/avahi-missing-in-conditionals.patch @@ -0,0 +1,118 @@ +diff -uraN cups/scheduler/client.c cups-new/scheduler/client.c +--- cups/scheduler/client.c 2012-05-25 15:28:49.000000000 +0200 ++++ cups-new/scheduler/client.c 2012-08-04 20:13:17.082220961 +0200 +@@ -4021,7 +4021,7 @@ + !strncmp(host, "[::1]:", 6)); + } + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + /* + * Check if the hostname is something.local (Bonjour); if so, allow it. + */ +@@ -4040,7 +4040,7 @@ + !_cups_strcasecmp(end, ".local.") || + !_cups_strncasecmp(end, ".local.:", 8))) + return (1); +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + /* + * Check if the hostname is an IP address... +@@ -4101,7 +4101,7 @@ + } + } + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + for (a = (cupsd_alias_t *)cupsArrayFirst(DNSSDAlias); + a; + a = (cupsd_alias_t *)cupsArrayNext(DNSSDAlias)) +@@ -4126,7 +4126,7 @@ + return (1); + } + } +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + /* + * Check for interface hostname matches... +diff -uraN cups/scheduler/conf.c cups-new/scheduler/conf.c +--- cups/scheduler/conf.c 2012-05-25 15:28:49.000000000 +0200 ++++ cups-new/scheduler/conf.c 2012-08-04 20:15:49.830978405 +0200 +@@ -89,9 +89,9 @@ + { + { "AccessLog", &AccessLog, CUPSD_VARTYPE_STRING }, + { "AutoPurgeJobs", &JobAutoPurge, CUPSD_VARTYPE_BOOLEAN }, +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + { "BrowseDNSSDSubTypes", &DNSSDSubTypes, CUPSD_VARTYPE_STRING }, +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + { "BrowseWebIF", &BrowseWebIF, CUPSD_VARTYPE_BOOLEAN }, + { "Browsing", &Browsing, CUPSD_VARTYPE_BOOLEAN }, + { "CacheDir", &CacheDir, CUPSD_VARTYPE_STRING }, +@@ -735,9 +735,9 @@ + Browsing = CUPS_DEFAULT_BROWSING; + DefaultShared = CUPS_DEFAULT_DEFAULT_SHARED; + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + cupsdSetString(&DNSSDSubTypes, "_cups,_print"); +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + cupsdSetString(&LPDConfigFile, CUPS_DEFAULT_LPD_CONFIG_FILE); + cupsdSetString(&SMBConfigFile, CUPS_DEFAULT_SMB_CONFIG_FILE); +diff -uraN cups/scheduler/ipp.c cups-new/scheduler/ipp.c +--- cups/scheduler/ipp.c 2012-05-25 15:28:49.000000000 +0200 ++++ cups-new/scheduler/ipp.c 2012-08-04 20:13:17.086220978 +0200 +@@ -4813,7 +4813,7 @@ + ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time", + ippTimeToDate(curtime)); + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + if (!ra || cupsArrayFind(ra, "printer-dns-sd-name")) + { + if (printer->reg_name) +@@ -4823,7 +4823,7 @@ + ippAddInteger(con->response, IPP_TAG_PRINTER, IPP_TAG_NOVALUE, + "printer-dns-sd-name", 0); + } +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + if (!ra || cupsArrayFind(ra, "printer-error-policy")) + ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_NAME, +diff -uraN cups/scheduler/main.c cups-new/scheduler/main.c +--- cups/scheduler/main.c 2012-05-25 15:28:49.000000000 +0200 ++++ cups-new/scheduler/main.c 2012-08-04 20:13:17.090221001 +0200 +@@ -781,9 +781,9 @@ + * Got an error from select! + */ + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + cupsd_printer_t *p; /* Current printer */ +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + + if (errno == EINTR) /* Just interrupted by a signal */ +@@ -824,13 +824,13 @@ + job->print_pipes[0], job->print_pipes[1], + job->back_pipes[0], job->back_pipes[1]); + +-#ifdef HAVE_DNSSD ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) + for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); + p; + p = (cupsd_printer_t *)cupsArrayNext(Printers)) + cupsdLogMessage(CUPSD_LOG_EMERG, "printer[%s] reg_name=\"%s\"", p->name, + p->reg_name ? p->reg_name : "(null)"); +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + break; + } diff --git a/testing/cups/cups-systemd-socket.patch b/testing/cups/cups-systemd-socket.patch index f699b9eda..83fabdb4f 100644 --- a/testing/cups/cups-systemd-socket.patch +++ b/testing/cups/cups-systemd-socket.patch @@ -1,7 +1,7 @@ -diff -up cups-1.5.0/config.h.in.systemd-socket cups-1.5.0/config.h.in ---- cups-1.5.0/config.h.in.systemd-socket 2011-10-18 15:32:40.741672460 +0100 -+++ cups-1.5.0/config.h.in 2011-10-18 15:32:40.843670530 +0100 -@@ -503,6 +503,13 @@ +diff -up cups-1.6b1/config.h.in.systemd-socket cups-1.6b1/config.h.in +--- cups-1.6b1/config.h.in.systemd-socket 2012-05-17 00:57:03.000000000 +0200 ++++ cups-1.6b1/config.h.in 2012-05-28 11:16:35.657250584 +0200 +@@ -506,6 +506,13 @@ /* @@ -15,9 +15,9 @@ diff -up cups-1.5.0/config.h.in.systemd-socket cups-1.5.0/config.h.in * Various scripting languages... */ -diff -up cups-1.5.0/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.0/config-scripts/cups-systemd.m4 ---- cups-1.5.0/config-scripts/cups-systemd.m4.systemd-socket 2011-10-18 15:32:40.844670511 +0100 -+++ cups-1.5.0/config-scripts/cups-systemd.m4 2011-10-18 15:33:16.861989058 +0100 +diff -up cups-1.6b1/config-scripts/cups-systemd.m4.systemd-socket cups-1.6b1/config-scripts/cups-systemd.m4 +--- cups-1.6b1/config-scripts/cups-systemd.m4.systemd-socket 2012-05-28 11:16:35.658250577 +0200 ++++ cups-1.6b1/config-scripts/cups-systemd.m4 2012-05-28 11:16:35.658250577 +0200 @@ -0,0 +1,36 @@ +dnl +dnl "$Id$" @@ -55,18 +55,18 @@ diff -up cups-1.5.0/config-scripts/cups-systemd.m4.systemd-socket cups-1.5.0/con +dnl +dnl "$Id$" +dnl -diff -up cups-1.5.0/configure.in.systemd-socket cups-1.5.0/configure.in ---- cups-1.5.0/configure.in.systemd-socket 2010-11-20 01:03:46.000000000 +0000 -+++ cups-1.5.0/configure.in 2011-10-18 15:32:40.844670511 +0100 -@@ -37,6 +37,7 @@ sinclude(config-scripts/cups-pam.m4) +diff -up cups-1.6b1/configure.in.systemd-socket cups-1.6b1/configure.in +--- cups-1.6b1/configure.in.systemd-socket 2012-04-23 19:26:57.000000000 +0200 ++++ cups-1.6b1/configure.in 2012-05-28 11:16:35.658250577 +0200 +@@ -33,6 +33,7 @@ sinclude(config-scripts/cups-pam.m4) sinclude(config-scripts/cups-largefile.m4) sinclude(config-scripts/cups-dnssd.m4) sinclude(config-scripts/cups-launchd.m4) +sinclude(config-scripts/cups-systemd.m4) sinclude(config-scripts/cups-defaults.m4) - sinclude(config-scripts/cups-pdf.m4) sinclude(config-scripts/cups-scripting.m4) -@@ -71,6 +72,9 @@ AC_OUTPUT(Makedefs + +@@ -66,6 +67,9 @@ AC_OUTPUT(Makedefs conf/snmp.conf cups-config data/testprint @@ -76,10 +76,10 @@ diff -up cups-1.5.0/configure.in.systemd-socket cups-1.5.0/configure.in desktop/cups.desktop doc/help/ref-cupsd-conf.html doc/help/standard.html -diff -up cups-1.5.0/cups/usersys.c.systemd-socket cups-1.5.0/cups/usersys.c ---- cups-1.5.0/cups/usersys.c.systemd-socket 2011-10-18 15:32:40.645674277 +0100 -+++ cups-1.5.0/cups/usersys.c 2011-10-18 15:32:40.845670492 +0100 -@@ -770,7 +770,7 @@ cups_read_client_conf( +diff -up cups-1.6b1/cups/usersys.c.systemd-socket cups-1.6b1/cups/usersys.c +--- cups-1.6b1/cups/usersys.c.systemd-socket 2012-04-23 19:26:57.000000000 +0200 ++++ cups-1.6b1/cups/usersys.c 2012-05-28 11:16:35.659250570 +0200 +@@ -975,7 +975,7 @@ cups_read_client_conf( struct stat sockinfo; /* Domain socket information */ if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) && @@ -88,9 +88,9 @@ diff -up cups-1.5.0/cups/usersys.c.systemd-socket cups-1.5.0/cups/usersys.c cups_server = CUPS_DEFAULT_DOMAINSOCKET; else #endif /* CUPS_DEFAULT_DOMAINSOCKET */ -diff -up cups-1.5.0/data/cups.path.in.systemd-socket cups-1.5.0/data/cups.path.in ---- cups-1.5.0/data/cups.path.in.systemd-socket 2011-10-18 15:32:40.846670473 +0100 -+++ cups-1.5.0/data/cups.path.in 2011-10-18 15:32:40.846670473 +0100 +diff -up cups-1.6b1/data/cups.path.in.systemd-socket cups-1.6b1/data/cups.path.in +--- cups-1.6b1/data/cups.path.in.systemd-socket 2012-05-28 11:16:35.659250570 +0200 ++++ cups-1.6b1/data/cups.path.in 2012-05-28 11:16:35.659250570 +0200 @@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printer Service Spool @@ -100,10 +100,10 @@ diff -up cups-1.5.0/data/cups.path.in.systemd-socket cups-1.5.0/data/cups.path.i + +[Install] +WantedBy=multi-user.target -diff -up cups-1.5.0/data/cups.service.in.systemd-socket cups-1.5.0/data/cups.service.in ---- cups-1.5.0/data/cups.service.in.systemd-socket 2011-10-18 15:32:40.846670473 +0100 -+++ cups-1.5.0/data/cups.service.in 2011-10-18 15:32:40.846670473 +0100 -@@ -0,0 +1,9 @@ +diff -up cups-1.6b1/data/cups.service.in.systemd-socket cups-1.6b1/data/cups.service.in +--- cups-1.6b1/data/cups.service.in.systemd-socket 2012-05-28 11:16:35.659250570 +0200 ++++ cups-1.6b1/data/cups.service.in 2012-05-28 11:16:35.659250570 +0200 +@@ -0,0 +1,10 @@ +[Unit] +Description=CUPS Printing Service + @@ -114,25 +114,22 @@ diff -up cups-1.5.0/data/cups.service.in.systemd-socket cups-1.5.0/data/cups.ser +[Install] +Also=cups.socket cups.path +WantedBy=printer.target -diff -up cups-1.5.0/data/cups.socket.in.systemd-socket cups-1.5.0/data/cups.socket.in ---- cups-1.5.0/data/cups.socket.in.systemd-socket 2011-10-18 15:32:40.847670454 +0100 -+++ cups-1.5.0/data/cups.socket.in 2011-10-18 15:32:40.847670454 +0100 -@@ -0,0 +1,10 @@ +diff -up cups-1.6b1/data/cups.socket.in.systemd-socket cups-1.6b1/data/cups.socket.in +--- cups-1.6b1/data/cups.socket.in.systemd-socket 2012-05-28 11:16:35.660250563 +0200 ++++ cups-1.6b1/data/cups.socket.in 2012-05-28 11:16:35.660250563 +0200 +@@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printing Service Sockets + +[Socket] +ListenStream=@CUPS_DEFAULT_DOMAINSOCKET@ -+ListenStream=631 -+ListenDatagram=0.0.0.0:631 -+BindIPv6Only=ipv6-only + +[Install] +WantedBy=sockets.target -diff -up cups-1.5.0/data/Makefile.systemd-socket cups-1.5.0/data/Makefile ---- cups-1.5.0/data/Makefile.systemd-socket 2011-05-12 06:21:56.000000000 +0100 -+++ cups-1.5.0/data/Makefile 2011-10-18 15:32:40.847670454 +0100 -@@ -112,6 +112,12 @@ install-data: +diff -up cups-1.6b1/data/Makefile.systemd-socket cups-1.6b1/data/Makefile +--- cups-1.6b1/data/Makefile.systemd-socket 2011-08-27 11:23:01.000000000 +0200 ++++ cups-1.6b1/data/Makefile 2012-05-28 11:16:35.660250563 +0200 +@@ -100,6 +100,12 @@ install-data: $(INSTALL_DATA) $$file $(DATADIR)/ppdc; \ done $(INSTALL_DIR) -m 755 $(DATADIR)/profiles @@ -145,8 +142,8 @@ diff -up cups-1.5.0/data/Makefile.systemd-socket cups-1.5.0/data/Makefile # -@@ -159,6 +165,9 @@ uninstall: - -$(RMDIR) $(DATADIR)/charsets +@@ -143,6 +149,9 @@ uninstall: + -$(RMDIR) $(DATADIR)/data -$(RMDIR) $(DATADIR)/banners -$(RMDIR) $(DATADIR) + for file in $(SYSTEMD_UNITS); do \ @@ -155,10 +152,10 @@ diff -up cups-1.5.0/data/Makefile.systemd-socket cups-1.5.0/data/Makefile # -diff -up cups-1.5.0/Makedefs.in.systemd-socket cups-1.5.0/Makedefs.in ---- cups-1.5.0/Makedefs.in.systemd-socket 2011-10-18 15:32:40.719672876 +0100 -+++ cups-1.5.0/Makedefs.in 2011-10-18 15:32:40.848670435 +0100 -@@ -143,6 +143,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ +diff -up cups-1.6b1/Makedefs.in.systemd-socket cups-1.6b1/Makedefs.in +--- cups-1.6b1/Makedefs.in.systemd-socket 2012-05-28 11:16:35.648250647 +0200 ++++ cups-1.6b1/Makedefs.in 2012-05-28 11:16:35.660250563 +0200 +@@ -134,11 +134,13 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ CXXLIBS = @CXXLIBS@ DBUS_NOTIFIER = @DBUS_NOTIFIER@ DBUS_NOTIFIERLIBS = @DBUS_NOTIFIERLIBS@ @@ -166,15 +163,13 @@ diff -up cups-1.5.0/Makedefs.in.systemd-socket cups-1.5.0/Makedefs.in DNSSD_BACKEND = @DNSSD_BACKEND@ DSOFLAGS = -L../cups @DSOFLAGS@ DSOLIBS = @DSOLIBS@ $(COMMONLIBS) -@@ -151,6 +152,7 @@ FONTS = @FONTS@ - IMGLIBS = @IMGLIBS@ - IMGFILTERS = @IMGFILTERS@ + DNSSDLIBS = @DNSSDLIBS@ LAUNCHDLIBS = @LAUNCHDLIBS@ +SDLIBS = @SDLIBS@ LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \ -L../scheduler @LDARCHFLAGS@ \ @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM) -@@ -267,6 +269,7 @@ PAMFILE = @PAMFILE@ +@@ -229,6 +231,7 @@ PAMFILE = @PAMFILE@ DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@ DBUSDIR = @DBUSDIR@ @@ -182,10 +177,10 @@ diff -up cups-1.5.0/Makedefs.in.systemd-socket cups-1.5.0/Makedefs.in # -diff -up cups-1.5.0/scheduler/client.h.systemd-socket cups-1.5.0/scheduler/client.h ---- cups-1.5.0/scheduler/client.h.systemd-socket 2011-03-25 21:25:38.000000000 +0000 -+++ cups-1.5.0/scheduler/client.h 2011-10-18 15:32:40.848670435 +0100 -@@ -75,6 +75,9 @@ typedef struct +diff -up cups-1.6b1/scheduler/client.h.systemd-socket cups-1.6b1/scheduler/client.h +--- cups-1.6b1/scheduler/client.h.systemd-socket 2012-03-22 21:30:20.000000000 +0100 ++++ cups-1.6b1/scheduler/client.h 2012-05-28 11:16:35.661250556 +0200 +@@ -77,6 +77,9 @@ typedef struct int fd; /* File descriptor for this server */ http_addr_t address; /* Bind address of socket */ http_encryption_t encryption; /* To encrypt or not to encrypt... */ @@ -195,9 +190,9 @@ diff -up cups-1.5.0/scheduler/client.h.systemd-socket cups-1.5.0/scheduler/clien } cupsd_listener_t; -diff -up cups-1.5.0/scheduler/listen.c.systemd-socket cups-1.5.0/scheduler/listen.c ---- cups-1.5.0/scheduler/listen.c.systemd-socket 2011-04-16 00:38:13.000000000 +0100 -+++ cups-1.5.0/scheduler/listen.c 2011-10-18 15:32:40.849670416 +0100 +diff -up cups-1.6b1/scheduler/listen.c.systemd-socket cups-1.6b1/scheduler/listen.c +--- cups-1.6b1/scheduler/listen.c.systemd-socket 2011-04-16 01:38:13.000000000 +0200 ++++ cups-1.6b1/scheduler/listen.c 2012-05-28 11:16:35.661250556 +0200 @@ -401,7 +401,11 @@ cupsdStopListening(void) lis; lis = (cupsd_listener_t *)cupsArrayNext(Listeners)) @@ -211,9 +206,9 @@ diff -up cups-1.5.0/scheduler/listen.c.systemd-socket cups-1.5.0/scheduler/liste { #ifdef WIN32 closesocket(lis->fd); -diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c ---- cups-1.5.0/scheduler/main.c.systemd-socket 2011-10-18 15:32:40.802671306 +0100 -+++ cups-1.5.0/scheduler/main.c 2011-10-18 15:32:40.851670379 +0100 +diff -up cups-1.6b1/scheduler/main.c.systemd-socket cups-1.6b1/scheduler/main.c +--- cups-1.6b1/scheduler/main.c.systemd-socket 2012-05-28 11:16:35.612250897 +0200 ++++ cups-1.6b1/scheduler/main.c 2012-05-28 12:49:32.698375139 +0200 @@ -26,6 +26,8 @@ * launchd_checkin() - Check-in with launchd and collect the listening * fds. @@ -244,7 +239,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c static void parent_handler(int sig); static void process_children(void); static void sigchld_handler(int sig); -@@ -537,6 +546,13 @@ main(int argc, /* I - Number of comm +@@ -528,6 +537,13 @@ main(int argc, /* I - Number of comm } #endif /* HAVE_LAUNCHD */ @@ -258,7 +253,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c /* * Startup the server... */ -@@ -759,6 +775,15 @@ main(int argc, /* I - Number of comm +@@ -738,6 +754,15 @@ main(int argc, /* I - Number of comm } #endif /* HAVE_LAUNCHD */ @@ -274,7 +269,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c /* * Startup the server... */ -@@ -1584,6 +1609,100 @@ launchd_checkout(void) +@@ -1516,6 +1541,102 @@ launchd_checkout(void) } #endif /* HAVE_LAUNCHD */ @@ -306,14 +301,16 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c + char s[256]; + + r = sd_is_socket(fd, AF_UNSPEC, SOCK_STREAM, 1); -+ if (r < 0) { ++ if (r < 0) ++ { + cupsdLogMessage(CUPSD_LOG_ERROR, + "systemd_checkin: Unable to verify socket type - %s", + strerror(-r)); + continue; + } + -+ if (!r) { ++ if (!r) ++ { + cupsdLogMessage(CUPSD_LOG_ERROR, + "systemd_checkin: Socket not of the right type"); + continue; @@ -327,7 +324,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c + continue; + } + -+ /* ++ /* + * Try to match the systemd socket address to one of the listeners... + */ + @@ -335,7 +332,7 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c + lis; + lis = (cupsd_listener_t *)cupsArrayNext(Listeners)) + if (httpAddrEqual(&lis->address, &addr)) -+ break; ++ break; + + if (lis) + { @@ -375,10 +372,10 @@ diff -up cups-1.5.0/scheduler/main.c.systemd-socket cups-1.5.0/scheduler/main.c /* * 'parent_handler()' - Catch USR1/CHLD signals... -diff -up cups-1.5.0/scheduler/Makefile.systemd-socket cups-1.5.0/scheduler/Makefile ---- cups-1.5.0/scheduler/Makefile.systemd-socket 2011-10-18 15:32:40.817671022 +0100 -+++ cups-1.5.0/scheduler/Makefile 2011-10-18 15:32:40.852670360 +0100 -@@ -382,7 +382,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu +diff -up cups-1.6b1/scheduler/Makefile.systemd-socket cups-1.6b1/scheduler/Makefile +--- cups-1.6b1/scheduler/Makefile.systemd-socket 2012-05-21 19:40:22.000000000 +0200 ++++ cups-1.6b1/scheduler/Makefile 2012-05-28 11:16:35.663250542 +0200 +@@ -371,7 +371,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \ $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \ $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBS) \ @@ -387,12 +384,12 @@ diff -up cups-1.5.0/scheduler/Makefile.systemd-socket cups-1.5.0/scheduler/Makef cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC) echo Linking $@... -@@ -390,7 +390,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a +@@ -379,7 +379,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \ ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \ $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \ - $(LIBWRAP) -+ $(LIBWRAP) $(SDLIBS) ++ $(LIBWRAP) $(SDLIBS) + tls.o: tls-darwin.c tls-gnutls.c tls-openssl.c - # diff --git a/testing/cups/cups.install b/testing/cups/cups.install index cea52282e..fc015f951 100644 --- a/testing/cups/cups.install +++ b/testing/cups/cups.install @@ -24,6 +24,11 @@ post_upgrade() { echo "* check your config with cupsd -t" echo " and fix all Browsing related settings" fi + if [ "`vercmp $2 1.6.1-3`" -lt 0 ]; then + # important upgrade notice + echo "> It's now safe to load usblp kernel module." + echo "> There's no more need to blacklist it." + fi } post_remove() { diff --git a/testing/cups/cupsd-conf-remove-obsolete-browse-directives.patch b/testing/cups/cupsd-conf-remove-obsolete-browse-directives.patch new file mode 100644 index 000000000..97636c7f2 --- /dev/null +++ b/testing/cups/cupsd-conf-remove-obsolete-browse-directives.patch @@ -0,0 +1,12 @@ +diff -uraN cups/conf/cupsd.conf.in cups-new/conf/cupsd.conf.in +--- cups/conf/cupsd.conf.in 2012-05-25 15:28:25.000000000 +0200 ++++ cups-new/conf/cupsd.conf.in 2012-08-04 20:56:26.699062177 +0200 +@@ -19,8 +19,6 @@ + + # Show shared printers on the local network. + Browsing On +-BrowseOrder allow,deny +-BrowseAllow all + BrowseLocalProtocols @CUPS_BROWSE_LOCAL_PROTOCOLS@ + + # Default authentication type, when authentication is required... diff --git a/testing/cups/recognize-remote-cups-queue-via-dnssd-uri.patch b/testing/cups/recognize-remote-cups-queue-via-dnssd-uri.patch new file mode 100644 index 000000000..6349bd901 --- /dev/null +++ b/testing/cups/recognize-remote-cups-queue-via-dnssd-uri.patch @@ -0,0 +1,25 @@ +diff -uraN cups/scheduler/printers.c cups-new/scheduler/printers.c +--- cups/scheduler/printers.c 2012-05-25 15:28:49.000000000 +0200 ++++ cups-new/scheduler/printers.c 2012-08-04 20:58:40.475725544 +0200 +@@ -4829,13 +4829,14 @@ + "printer-make-and-model", NULL, + "Local System V Printer"); + } +- else if (!strncmp(p->device_uri, "ipp://", 6) && +- (strstr(p->device_uri, "/printers/") != NULL || +- strstr(p->device_uri, "/classes/") != NULL || +- ((strstr(p->device_uri, "._ipp.") != NULL || +- strstr(p->device_uri, "._ipps.") != NULL) && +- !strcmp(p->device_uri + strlen(p->device_uri) - 5, +- "/cups")))) ++ else if ((!strncmp(p->device_uri, "ipp://", 6) && ++ (strstr(p->device_uri, "/printers/") != NULL || ++ strstr(p->device_uri, "/classes/") != NULL)) || ++ (!strncmp(p->device_uri, "dnssd://", 8) && ++ (strstr(p->device_uri, "._ipp.") != NULL || ++ strstr(p->device_uri, "._ipps.") != NULL) && ++ !strcmp(p->device_uri + strlen(p->device_uri) - 5, ++ "/cups"))) + { + /* + * Tell the client this is really a hard-wired remote printer. diff --git a/testing/cups/usb-backend-reset-after-job-only-for-specific-devices.patch b/testing/cups/usb-backend-reset-after-job-only-for-specific-devices.patch new file mode 100644 index 000000000..dcf91c833 --- /dev/null +++ b/testing/cups/usb-backend-reset-after-job-only-for-specific-devices.patch @@ -0,0 +1,74 @@ +--- backend/usb-libusb.c.orig 2012-07-16 19:10:55.000000000 +0200 ++++ backend/usb-libusb.c 2012-08-06 11:01:58.034150159 +0200 +@@ -70,7 +70,7 @@ + read_endp, /* Read endpoint */ + protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */ + usblp_attached, /* "usblp" kernel module attached? */ +- opened_for_job; /* Set to 1 by print_device() */ ++ reset_after_job; /* Set to 1 by print_device() */ + unsigned int quirks; /* Quirks flags */ + struct libusb_device_handle *handle; /* Open handle to device */ + } usb_printer_t; +@@ -122,6 +122,8 @@ + #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */ + #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific + Class or SubClass */ ++#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset ++ for clean-up */ + #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach + the usblp kernel module */ + +@@ -147,9 +149,11 @@ + { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt + Printer M129C */ + { 0x067b, 0x2305, USBLP_QUIRK_BIDIR | +- USBLP_QUIRK_NO_REATTACH }, ++ USBLP_QUIRK_NO_REATTACH | ++ USBLP_QUIRK_RESET }, + /* Prolific Technology, Inc. PL2305 Parallel Port + (USB -> Parallel adapter) */ ++ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices */ + { 0, 0 } + }; + +@@ -256,7 +260,12 @@ + } + + g.print_fd = print_fd; +- g.printer->opened_for_job = 1; ++ ++ /* ++ * Some devices need a reset after finishing a job, these devices are ++ * marked with the USBLP_QUIRK_RESET quirk. ++ */ ++ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0); + + /* + * If we are printing data from a print driver on stdin, ignore SIGTERM +@@ -772,7 +781,7 @@ + * Reset the device to clean up after the job + */ + +- if (printer->opened_for_job == 1) ++ if (printer->reset_after_job == 1) + { + if ((errcode = libusb_reset_device(printer->handle)) < 0) + fprintf(stderr, +@@ -1288,7 +1297,7 @@ + } + + printer->usblp_attached = 0; +- printer->opened_for_job = 0; ++ printer->reset_after_job = 0; + + if (verbose) + fputs("STATE: +connecting-to-device\n", stderr); +@@ -1586,7 +1595,7 @@ + for (i = 0; quirk_printers[i].vendorId; i++) + { + if (vendor == quirk_printers[i].vendorId && +- product == quirk_printers[i].productId) ++ (product == 0x0000 || product == quirk_printers[i].productId)) + return quirk_printers[i].quirks; + } + return 0; diff --git a/testing/libreoffice/PKGBUILD b/testing/libreoffice/PKGBUILD index 9a7e814e3..2b30c747e 100644 --- a/testing/libreoffice/PKGBUILD +++ b/testing/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 165881 2012-09-02 17:17:47Z andyrtr $ +# $Id: PKGBUILD 165918 2012-09-03 20:33:25Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> pkgbase="libreoffice" @@ -26,7 +26,7 @@ pkgname=('libreoffice-common' 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built _LOver=3.6.1.2 pkgver=3.6.1 -pkgrel=3 +pkgrel=4 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -82,6 +82,7 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz ${_additional_source_url}/ce5a1def34578b75959ac31210f031f6-libcdr-0.0.8.tar.bz2 ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll buildfix.diff + git_fixes.diff libreoffice-common.sh libreoffice-common.csh) noextract=(94e7f271e38c976462558b4278590178-libvisio-0.0.19.tar.bz2 18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz @@ -147,8 +148,9 @@ md5sums=('3ddcf145b74daa4361e48dafe97e7d21' 'ce5a1def34578b75959ac31210f031f6' '185d60944ea767075d27247c3162b3bc' '234e91ac65945ce1ab1e3839780e90f7' - 'f0e72d0e1bc93a50a3aa9d31350b156c' - '867c682b45f477f916786e00c45d7ab7') + '2445aca137bdbf0cf7526e91f768a1d0' + 'abcb1b0a7deaffe13ab3d7ca70becb49' + '72790a4103da259a55cadd66db931d00') build() { @@ -170,6 +172,7 @@ build() { # buildfixes & bugfixes patch -Np1 -i ${srcdir}/buildfix.diff + patch -Np1 -i ${srcdir}/git_fixes.diff #use the CFLAGS but remove the LibO overridden ones for i in $CFLAGS; do @@ -383,12 +386,12 @@ package_libreoffice-postgresql-connector() { # for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/postgresql_list.txt`; do # install -dm755 ${pkgdir}/${directory/\%dir/} # done -# # install files into the pkg from fakeinstall dir + # install files into the pkg from fakeinstall dir # for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/postgresql_list.txt`; do # dirname=`dirname $file` -# # check if directory has been already been created - some are missing like manpages + # check if directory has been already been created - some are missing like manpages # [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname -# # mv file from fakeinstall to pkgdir + # mv file from fakeinstall to pkgdir # mv ${srcdir}/fakeinstall${file} ${pkgdir}$file # done } diff --git a/testing/libreoffice/git_fixes.diff b/testing/libreoffice/git_fixes.diff new file mode 100644 index 000000000..a4cd891cb --- /dev/null +++ b/testing/libreoffice/git_fixes.diff @@ -0,0 +1,743 @@ +From 427529801dee122250e44d2311b34651db92bbdb Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann <sbergman@redhat.com> +Date: Tue, 21 Aug 2012 16:55:11 +0000 +Subject: Typo + +Change-Id: I41fd1463b6432818ee36e7f90e920a5fd98c7106 +(cherry picked from commit 1316cfe8a72f7c7bc2f5ad7644a2d4c54b77fc8b) + +Signed-off-by: Eike Rathke <erack@redhat.com> +--- +diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx +index d929787..55ebaca 100644 +--- a/desktop/source/app/app.cxx ++++ b/desktop/source/app/app.cxx +@@ -194,7 +194,7 @@ void removeTree(OUString const & url) { + osl::FileBase::RC rc = osl::Directory::remove(url); + SAL_WARN_IF( + rc != osl::FileBase::E_None, "desktop", +- "cannot remove directory " << url << ": " +rc); ++ "cannot remove directory " << url << ": " << +rc); + // at least on Windows XP removing some existing directories fails with + // osl::FileBase::E_ACCESS because they are read-only; but keeping those + // directories around should be harmless once they are empty +-- +cgit v0.9.0.2-2-gbebe +From b4f8acb41165a28b2db47acd3c6b624a4c507c54 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann <sbergman@redhat.com> +Date: Fri, 24 Aug 2012 14:06:15 +0000 +Subject: Fix removeRdbFiles (caused extension update to fail) + +removeRdbFiles suffered from a confusion that ImplementationInfo.uri denotes the +corresponding component (.so, .jar, etc.), but not the .rdb file. So removing +an .rdb file silently failed to remove the corresponding implementations, so re- +installing a similar enough .rdb (as typically happens during extension update) +would fail due to duplicate implementation names. + +Change-Id: I25d4ff72656c99a3af509eef09e89c18cfd0aabe +Reviewed-on: https://gerrit.libreoffice.org/476 +Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> +Tested-by: Norbert Thiebaud <nthiebaud@gmail.com> +--- +diff --git a/cppuhelper/source/defaultbootstrap.cxx b/cppuhelper/source/defaultbootstrap.cxx +index c3bdba3..7fd1e4a 100644 +--- a/cppuhelper/source/defaultbootstrap.cxx ++++ b/cppuhelper/source/defaultbootstrap.cxx +@@ -130,9 +130,10 @@ struct ImplementationInfo: private boost::noncopyable { + rtl::OUString const & theName, rtl::OUString const & theLoader, + rtl::OUString const & theUri, rtl::OUString const & thePrefix, + css::uno::Reference< css::uno::XComponentContext > const & +- theAlienContext): ++ theAlienContext, ++ rtl::OUString const & theRdbFile): + name(theName), loader(theLoader), uri(theUri), prefix(thePrefix), +- alienContext(theAlienContext) ++ alienContext(theAlienContext), rdbFile(theRdbFile) + {} + + explicit ImplementationInfo(rtl::OUString const & theName): name(theName) {} +@@ -142,6 +143,7 @@ struct ImplementationInfo: private boost::noncopyable { + rtl::OUString const uri; + rtl::OUString const prefix; + css::uno::Reference< css::uno::XComponentContext > const alienContext; ++ rtl::OUString const rdbFile; + std::vector< rtl::OUString > services; + std::vector< rtl::OUString > singletons; + }; +@@ -149,12 +151,12 @@ struct ImplementationInfo: private boost::noncopyable { + struct Implementation: private boost::noncopyable { + Implementation( + rtl::OUString const & name, rtl::OUString const & loader, +- rtl::OUString const & uri, +- rtl::OUString const & prefix = rtl::OUString(), +- css::uno::Reference< css::uno::XComponentContext > const & +- alienContext +- = css::uno::Reference< css::uno::XComponentContext >()): +- info(new ImplementationInfo(name, loader, uri, prefix, alienContext)), ++ rtl::OUString const & uri, rtl::OUString const & prefix, ++ css::uno::Reference< css::uno::XComponentContext > const & alienContext, ++ rtl::OUString const & rdbFile): ++ info( ++ new ImplementationInfo( ++ name, loader, uri, prefix, alienContext, rdbFile)), + loaded(false) + {} + +@@ -466,7 +468,7 @@ void Parser::handleImplementation() { + implementation_.reset( + new Implementation( + attrImplementation_, attrLoader_, attrUri_, attrPrefix_, +- alienContext_)); ++ alienContext_, reader_.getUrl())); + if (!data_->namedImplementations.insert( + NamedImplementations::value_type( + attrImplementation_, implementation_)). +@@ -1502,7 +1504,9 @@ bool ServiceManager::readLegacyRdbFile(rtl::OUString const & uri) { + boost::shared_ptr< Implementation > impl( + new Implementation( + name, readLegacyRdbString(uri, implKey, "UNO/ACTIVATOR"), +- readLegacyRdbString(uri, implKey, "UNO/LOCATION"))); ++ readLegacyRdbString(uri, implKey, "UNO/LOCATION"), ++ rtl::OUString(), ++ css::uno::Reference< css::uno::XComponentContext >(), uri)); + if (!data_.namedImplementations.insert( + NamedImplementations::value_type(name, impl)). + second) +@@ -1744,7 +1748,7 @@ void ServiceManager::removeRdbFiles(std::vector< rtl::OUString > const & uris) { + j != data_.namedImplementations.end();) + { + assert(j->second.get() != 0); +- if (j->second->info->uri == *i) { ++ if (j->second->info->rdbFile == *i) { + clear.push_back(j->second); + //TODO: The below leaves data_ in an inconsistent state upon + // exceptions: +-- +cgit v0.9.0.2-2-gbebe +From 6d261e7aac12a876acb6496085e5329632595d39 Mon Sep 17 00:00:00 2001 +From: Stephan Bergmann <sbergman@redhat.com> +Date: Fri, 24 Aug 2012 14:45:20 +0000 +Subject: fdo#53968 etc.: Fix more "doesn't start after upgrade" problems + +* fdo#53968 revealed that multiple soffice.bin instances can run removeTree in + parallel. Therefore, demoted failures from exceptions to SAL_WARNs. (And + keeping fingers crossed.) + +* a8cdce148c76c93c5d41820610d6e6ac175e03a7 "fdo#53655: Ignore failure to remove + directories (as happens on Windows XP)" was due to a forgotten + osl::Directory::close before calling osl::Directory::remove after all. + +* UserInstallations have been seen in the wild where no extensions were + installed per-user (any longer), but user/uno_packages/cache/registry/ + com.sun.star.comp.deployment.component.PackageRegistryBackend/*.rdb files + contained data nevertheless. To reliably clean out any old junk, + refreshBundledExtensionsDir has been extended to cleanExtensionsCache which in + tandem with an extended Desktop::SynchronizeExtensionRepositories now cleanly + re-installs all bundled, shared, and per-user extensions after a LO upgrade. + +Change-Id: Ic6b5b6c1945d76eb3a65b6cd4512a657b7a835a0 +Reviewed-on: https://gerrit.libreoffice.org/477 +Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> +Tested-by: Norbert Thiebaud <nthiebaud@gmail.com> +--- +diff --git a/desktop/inc/app.hxx b/desktop/inc/app.hxx +index 25b6352..c830b02 100644 +--- a/desktop/inc/app.hxx ++++ b/desktop/inc/app.hxx +@@ -203,6 +203,7 @@ class Desktop : public Application + + sal_Bool m_bMinimized; + sal_Bool m_bInvisible; ++ bool m_bCleanedExtensionCache; + bool m_bServicesRegistered; + sal_uInt16 m_nAppEvents; + BootstrapError m_aBootstrapError; +diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx +index 55ebaca..5fb653b 100644 +--- a/desktop/source/app/app.cxx ++++ b/desktop/source/app/app.cxx +@@ -147,77 +147,81 @@ namespace { + + void removeTree(OUString const & url) { + osl::Directory dir(url); +- switch (dir.open()) { ++ osl::FileBase::RC rc = dir.open(); ++ switch (rc) { + case osl::FileBase::E_None: + break; + case osl::FileBase::E_NOENT: + return; //TODO: SAL_WARN if recursive + default: +- throw css::uno::RuntimeException( +- "cannot open directory " + url, +- css::uno::Reference< css::uno::XInterface >()); ++ SAL_WARN("desktop", "cannot open directory " << url << ": " << +rc); ++ return; + } + for (;;) { + osl::DirectoryItem i; +- osl::FileBase::RC rc = dir.getNextItem(i, SAL_MAX_UINT32); ++ rc = dir.getNextItem(i, SAL_MAX_UINT32); + if (rc == osl::FileBase::E_NOENT) { + break; + } + if (rc != osl::FileBase::E_None) { +- throw css::uno::RuntimeException( +- ("cannot iterate directory " + url + ": " +- + OUString::valueOf(static_cast< sal_Int32 >(rc))), +- css::uno::Reference< css::uno::XInterface >()); ++ SAL_WARN( ++ "desktop","cannot iterate directory " << url << ": " << +rc); ++ break; + } + osl::FileStatus stat( + osl_FileStatus_Mask_Type | osl_FileStatus_Mask_FileName | + osl_FileStatus_Mask_FileURL); + rc = i.getFileStatus(stat); + if (rc != osl::FileBase::E_None) { +- throw css::uno::RuntimeException( +- ("cannot stat in directory " + url + ": " +- + OUString::valueOf(static_cast< sal_Int32 >(rc))), +- css::uno::Reference< css::uno::XInterface >()); ++ SAL_WARN( ++ "desktop", "cannot stat in directory " << url << ": " << +rc); ++ continue; + } + if (stat.getFileType() == osl::FileStatus::Directory) { //TODO: symlinks + removeTree(stat.getFileURL()); + } else { + rc = osl::File::remove(stat.getFileURL()); +- if (rc != osl::FileBase::E_None) { +- throw css::uno::RuntimeException( +- ("cannot remove file " + stat.getFileURL() + ": " +- + OUString::valueOf(static_cast< sal_Int32 >(rc))), +- css::uno::Reference< css::uno::XInterface >()); +- } ++ SAL_WARN_IF( ++ rc != osl::FileBase::E_None, "desktop", ++ "cannot remove file " << stat.getFileURL() << ": " << +rc); + } + } +- osl::FileBase::RC rc = osl::Directory::remove(url); ++ if (dir.isOpen()) { ++ rc = dir.close(); ++ SAL_WARN_IF( ++ rc != osl::FileBase::E_None, "desktop", ++ "cannot close directory " << url << ": " << +rc); ++ } ++ rc = osl::Directory::remove(url); + SAL_WARN_IF( + rc != osl::FileBase::E_None, "desktop", + "cannot remove directory " << url << ": " << +rc); +- // at least on Windows XP removing some existing directories fails with +- // osl::FileBase::E_ACCESS because they are read-only; but keeping those +- // directories around should be harmless once they are empty + } + +-// Remove any existing UserInstallation's user/extensions/bundled cache +-// remaining from old installations. Apparently due to the old +-// share/prereg/bundled mechanism (disabled since +-// 5c47e5f63a79a9e72ec4a100786b1bbf65137ed4 "fdo#51252 Disable copying +-// share/prereg/bundled to avoid startup crashes"), that cache could contain +-// corrupted information (like a UNO component registered twice, which got +-// changed from active to passive registration in one LO version, but the +-// version of the corresponding bundled extension only incremented in a later LO +-// version). At least in theory, this function could be removed again once no +-// UserInstallation can be poisoned by that old share/prereg/bundled mechanism +-// any more. (But then Desktop::SynchronizeExtensionRepositories might need to +-// be revisited, see 2d2b19dea1ab401b1b4971ff5b12b87bb11fd666 "Force +-// ExtensionManager resync when the implementation changes" which effectively +-// got reverted again now. Now, a mismatch between a UserInstallation's +-// user/extensions/bundled and an installation's share/extensions will always be +-// detected here and lead to a removal of user/extensions/bundled, so that +-// Desktop::SynchronizeExtensionRepositories will then definitely resync +-// share/extensions.) ++// Remove any existing UserInstallation's extensions cache data remaining from ++// old installations. This addresses at least two problems: ++// ++// For one, apparently due to the old share/prereg/bundled mechanism (disabled ++// since 5c47e5f63a79a9e72ec4a100786b1bbf65137ed4 "fdo#51252 Disable copying ++// share/prereg/bundled to avoid startup crashes"), the user/extensions/bundled ++// cache could contain corrupted information (like a UNO component registered ++// twice, which got changed from active to passive registration in one LO ++// version, but the version of the corresponding bundled extension only ++// incremented in a later LO version). ++// ++// For another, UserInstallations have been seen in the wild where no extensions ++// were installed per-user (any longer), but user/uno_packages/cache/registry/ ++// com.sun.star.comp.deployment.component.PackageRegistryBackend/*.rdb files ++// contained data nevertheless. ++// ++// When a LO upgrade is detected (i.e., no/ user/extensions/bundled/buildid or ++// one containing an old build ID), then user/extensions/bundled, ++// user/extensions/shared, and user/uno_packages/cache/registry/ ++// com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc are ++// removed. That should prevent any problems starting the service manager due ++// to old junk. Later on in Desktop::SynchronizeExtensionRepositories, the ++// removed cache data is recreated. ++// + // As a special case, if you create a UserInstallation with LO >= 3.6.1, then + // run an old LO <= 3.5.x using share/prereg/bundled on the same + // UserInstallation (so that it partially overwrites user/extensions/bundled, +@@ -230,33 +234,50 @@ void removeTree(OUString const & url) { + // <= 3.5.x messed with user/extensions/bundled in the meantime, then it would + // have rewritten the unorc (dropping the token), and LO >= 3.6.1 can detect + // that. +-void refreshBundledExtensionsDir() { ++// ++// Multiple instances of soffice.bin can execute this code in parallel for a ++// single UserInstallation, as it is called before OfficeIPCThread is set up. ++// Therefore, any errors here only lead to SAL_WARNs. ++// ++// At least in theory, this function could be removed again once no ++// UserInstallation can be poisoned by old junk any more. ++bool cleanExtensionCache() { + OUString buildId( + "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}"); + rtl::Bootstrap::expandMacros(buildId); //TODO: detect failure +- OUString dir("$BUNDLED_EXTENSIONS_USER"); +- rtl::Bootstrap::expandMacros(dir); //TODO: detect failure +- OUString url(dir + "/buildid"); +- OUString nonPrereg( +- "${$BUNDLED_EXTENSIONS_USER/registry/" +- "com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc:" +- "LIBO_NON_PREREG_BUNDLED_EXTENSIONS}"); +- rtl::Bootstrap::expandMacros(nonPrereg); +- if (nonPrereg == "TRUE") { +- osl::File f(url); +- switch (f.open(osl_File_OpenFlag_Read)) { ++ OUString extDir( ++ "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("bootstrap") ++ ":UserInstallation}/user/extensions"); ++ rtl::Bootstrap::expandMacros(extDir); //TODO: detect failure ++ OUString bundledDir = extDir + "/bundled"; ++ OUString buildIdFile(bundledDir + "/buildid"); ++ OUString bundledRcFile( ++ "$BUNDLED_EXTENSIONS_USER/registry/" ++ "com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"); ++ rtl::Bootstrap::expandMacros(bundledRcFile); //TODO: detect failure ++ rtl::Bootstrap bundledRc(bundledRcFile); ++ OUString nonPrereg; ++ if (bundledRc.getHandle() == 0 ++ || (bundledRc.getFrom("LIBO_NON_PREREG_BUNDLED_EXTENSIONS", nonPrereg) ++ && nonPrereg == "TRUE")) ++ { ++ osl::File f(buildIdFile); ++ osl::FileBase::RC rc = f.open(osl_File_OpenFlag_Read); ++ switch (rc) { + case osl::FileBase::E_None: + { + rtl::ByteSequence s1; +- osl::FileBase::RC rc = f.readLine(s1); +- if (f.close() != osl::FileBase::E_None) { +- SAL_WARN( +- "desktop", "cannot close " + url + " after reading"); +- } ++ rc = f.readLine(s1); ++ osl::FileBase::RC rc2 = f.close(); ++ SAL_WARN_IF( ++ rc2 != osl::FileBase::E_None, "desktop", ++ "cannot close " << buildIdFile << " after reading: " ++ << +rc2); + if (rc != osl::FileBase::E_None) { +- throw css::uno::RuntimeException( +- "cannot read from " + url, +- css::uno::Reference< css::uno::XInterface >()); ++ SAL_WARN( ++ "desktop", ++ "cannot read from " << buildIdFile << ": " << +rc); ++ break; + } + OUString s2( + reinterpret_cast< char const * >(s1.getConstArray()), +@@ -264,53 +285,56 @@ void refreshBundledExtensionsDir() { + // using ISO 8859-1 avoids any and all conversion errors; + // the content should only be a subset of ASCII, anyway + if (s2 == buildId) { +- return; ++ return false; + } + break; + } + case osl::FileBase::E_NOENT: + break; + default: +- throw css::uno::RuntimeException( +- "cannot open " + url + " for reading", +- css::uno::Reference< css::uno::XInterface >()); ++ SAL_WARN( ++ "desktop", ++ "cannot open " << buildIdFile << " for reading: " << +rc); ++ break; + } + } +- removeTree(dir); +- switch (osl::Directory::createPath(dir)) { +- case osl::FileBase::E_None: +- case osl::FileBase::E_EXIST: +- break; +- default: +- throw css::uno::RuntimeException( +- "cannot create path " + dir, +- css::uno::Reference< css::uno::XInterface >()); +- } +- osl::File f(url); +- if (f.open(osl_File_OpenFlag_Write | osl_File_OpenFlag_Create) != +- osl::FileBase::E_None) +- { +- throw css::uno::RuntimeException( +- "cannot open " + url + " for writing", +- css::uno::Reference< css::uno::XInterface >()); ++ removeTree(extDir); ++ OUString userRcFile( ++ "$UNO_USER_PACKAGES_CACHE/registry/" ++ "com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc"); ++ rtl::Bootstrap::expandMacros(userRcFile); //TODO: detect failure ++ osl::FileBase::RC rc = osl::File::remove(userRcFile); ++ SAL_WARN_IF( ++ rc != osl::FileBase::E_None && rc != osl::FileBase::E_NOENT, "desktop", ++ "cannot remove file " << userRcFile << ": " << +rc); ++ rc = osl::Directory::createPath(bundledDir); ++ SAL_WARN_IF( ++ rc != osl::FileBase::E_None && rc != osl::FileBase::E_EXIST, "desktop", ++ "cannot create path " << bundledDir << ": " << +rc); ++ osl::File f(buildIdFile); ++ rc = f.open(osl_File_OpenFlag_Write | osl_File_OpenFlag_Create); ++ if (rc != osl::FileBase::E_None) { ++ SAL_WARN( ++ "desktop", ++ "cannot open " << buildIdFile << " for writing: " << +rc); ++ return true; + } + rtl::OString buf(OUStringToOString(buildId, RTL_TEXTENCODING_UTF8)); + // using UTF-8 avoids almost all conversion errors (and buildid + // containing single surrogate halves should never happen, anyway); the + // content should only be a subset of ASCII, anyway +- sal_uInt64 n; +- if (f.write(buf.getStr(), buf.getLength(), n) != osl::FileBase::E_None +- || n != static_cast< sal_uInt32 >(buf.getLength())) +- { +- throw css::uno::RuntimeException( +- "cannot write to " + url, +- css::uno::Reference< css::uno::XInterface >()); +- } +- if (f.close() != osl::FileBase::E_None) { +- throw css::uno::RuntimeException( +- "cannot close " + url + " after writing", +- css::uno::Reference< css::uno::XInterface >()); +- } ++ sal_uInt64 n = 0; ++ rc = f.write(buf.getStr(), buf.getLength(), n); ++ SAL_WARN_IF( ++ (rc != osl::FileBase::E_None ++ || n != static_cast< sal_uInt32 >(buf.getLength())), ++ "desktop", ++ "cannot write to " << buildIdFile << ": " << +rc << ", " << n); ++ rc = f.close(); ++ SAL_WARN_IF( ++ rc != osl::FileBase::E_None, "desktop", ++ "cannot close " << buildIdFile << " after writing: " << +rc); ++ return true; + } + + } +@@ -538,7 +562,8 @@ rtl::OUString ReplaceStringHookProc( const rtl::OUString& rStr ) + } + + Desktop::Desktop() +-: m_bServicesRegistered( false ) ++: m_bCleanedExtensionCache( false ) ++, m_bServicesRegistered( false ) + , m_aBootstrapError( BE_OK ) + { + RTL_LOGFILE_TRACE( "desktop (cd100003) ::Desktop::Desktop" ); +@@ -553,7 +578,7 @@ void Desktop::Init() + RTL_LOGFILE_CONTEXT( aLog, "desktop (cd100003) ::Desktop::Init" ); + SetBootstrapStatus(BS_OK); + +- refreshBundledExtensionsDir(); ++ m_bCleanedExtensionCache = cleanExtensionCache(); + + // We need to have service factory before going further, but see fdo#37195. + // Doing this will mmap common.rdb, making it not overwritable on windows, +diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx +index dd01d9b..a6221a9 100644 +--- a/desktop/source/app/check_ext_deps.cxx ++++ b/desktop/source/app/check_ext_deps.cxx +@@ -51,6 +51,7 @@ + #include "com/sun/star/deployment/ExtensionManager.hpp" + #include "com/sun/star/deployment/LicenseException.hpp" + #include "com/sun/star/deployment/ui/LicenseDialog.hpp" ++#include <com/sun/star/task/OfficeRestartManager.hpp> + #include <com/sun/star/task/XJob.hpp> + #include <com/sun/star/task/XJobExecutor.hpp> + #include <com/sun/star/task/XInteractionApprove.hpp> +@@ -77,12 +78,15 @@ class SilentCommandEnv + task::XInteractionHandler, + ucb::XProgressHandler > + { ++ uno::Reference<uno::XComponentContext> mxContext; + Desktop *mpDesktop; + sal_Int32 mnLevel; + sal_Int32 mnProgress; + + public: +- SilentCommandEnv( Desktop* pDesktop ); ++ SilentCommandEnv( ++ uno::Reference<uno::XComponentContext> const & xContext, ++ Desktop* pDesktop ); + virtual ~SilentCommandEnv(); + + // XCommandEnvironment +@@ -105,12 +109,14 @@ public: + }; + + //----------------------------------------------------------------------------- +-SilentCommandEnv::SilentCommandEnv( Desktop* pDesktop ) +-{ +- mpDesktop = pDesktop; +- mnLevel = 0; +- mnProgress = 25; +-} ++SilentCommandEnv::SilentCommandEnv( ++ uno::Reference<uno::XComponentContext> const & xContext, ++ Desktop* pDesktop ): ++ mxContext( xContext ), ++ mpDesktop( pDesktop ), ++ mnLevel( 0 ), ++ mnProgress( 25 ) ++{} + + //----------------------------------------------------------------------------- + SilentCommandEnv::~SilentCommandEnv() +@@ -144,10 +150,9 @@ void SilentCommandEnv::handle( Reference< task::XInteractionRequest> const & xRe + + if ( request >>= licExc ) + { +- uno::Reference< uno::XComponentContext > xContext = comphelper_getProcessComponentContext(); + uno::Reference< ui::dialogs::XExecutableDialog > xDialog( + deployment::ui::LicenseDialog::create( +- xContext, VCLUnoHelper::GetInterface( NULL ), ++ mxContext, VCLUnoHelper::GetInterface( NULL ), + licExc.ExtensionName, licExc.Text ) ); + sal_Int16 res = xDialog->execute(); + if ( res == ui::dialogs::ExecutableDialogResults::CANCEL ) +@@ -416,7 +421,20 @@ sal_Bool Desktop::CheckExtensionDependencies() + void Desktop::SynchronizeExtensionRepositories() + { + RTL_LOGFILE_CONTEXT(aLog,"desktop (jl) ::Desktop::SynchronizeExtensionRepositories"); +- dp_misc::syncRepositories( new SilentCommandEnv( this ) ); ++ uno::Reference< uno::XComponentContext > context( ++ comphelper_getProcessComponentContext()); ++ uno::Reference< ucb::XCommandEnvironment > silent( ++ new SilentCommandEnv(context, this)); ++ if (m_bCleanedExtensionCache) { ++ deployment::ExtensionManager::get(context)->reinstallDeployedExtensions( ++ true, "user", Reference<task::XAbortChannel>(), silent); ++ task::OfficeRestartManager::get(context)->requestRestart( ++ silent->getInteractionHandler()); ++ } else { ++ // reinstallDeployedExtensions above already calls syncRepositories ++ // internally: ++ dp_misc::syncRepositories(m_bCleanedExtensionCache, silent); ++ } + } + + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +index 29ded17..7795e309 100644 +--- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx ++++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +@@ -1124,7 +1124,7 @@ void ExtensionCmdQueue::acceptLicense( const uno::Reference< deployment::XPackag + + void ExtensionCmdQueue::syncRepositories( const uno::Reference< uno::XComponentContext > &xContext ) + { +- dp_misc::syncRepositories( new ProgressCmdEnv( xContext, NULL, OUSTR("Extension Manager") ) ); ++ dp_misc::syncRepositories( false, new ProgressCmdEnv( xContext, NULL, OUSTR("Extension Manager") ) ); + } + + void ExtensionCmdQueue::stop() +diff --git a/desktop/source/deployment/inc/dp_misc.h b/desktop/source/deployment/inc/dp_misc.h +index 29fd140..06e67aa 100644 +--- a/desktop/source/deployment/inc/dp_misc.h ++++ b/desktop/source/deployment/inc/dp_misc.h +@@ -154,8 +154,10 @@ void TRACE(::rtl::OUString const & sText); + recently added or removed. + */ + DESKTOP_DEPLOYMENTMISC_DLLPUBLIC +-void syncRepositories(::com::sun::star::uno::Reference< +- ::com::sun::star::ucb::XCommandEnvironment> const & xCmdEnv); ++void syncRepositories( ++ bool force, ++ ::com::sun::star::uno::Reference< ++ ::com::sun::star::ucb::XCommandEnvironment> const & xCmdEnv); + + } + +diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx +index 68403f1..b3c21b4 100644 +--- a/desktop/source/deployment/manager/dp_extensionmanager.cxx ++++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx +@@ -1205,9 +1205,10 @@ uno::Sequence< uno::Sequence<Reference<deploy::XPackage> > > + } + } + +-//only to be called from unopkg!!! ++// Only to be called from unopkg or soffice bootstrap (with force=true in the ++// latter case): + void ExtensionManager::reinstallDeployedExtensions( +- OUString const & repository, ++ sal_Bool force, OUString const & repository, + Reference<task::XAbortChannel> const & xAbortChannel, + Reference<ucb::XCommandEnvironment> const & xCmdEnv ) + throw (deploy::DeploymentException, +@@ -1220,10 +1221,11 @@ void ExtensionManager::reinstallDeployedExtensions( + xPackageManager = getPackageManager(repository); + + ::osl::MutexGuard guard(getMutex()); +- xPackageManager->reinstallDeployedPackages(xAbortChannel, xCmdEnv); ++ xPackageManager->reinstallDeployedPackages( ++ force, xAbortChannel, xCmdEnv); + //We must sync here, otherwise we will get exceptions when extensions + //are removed. +- dp_misc::syncRepositories(xCmdEnv); ++ dp_misc::syncRepositories(force, xCmdEnv); + const uno::Sequence< Reference<deploy::XPackage> > extensions( + xPackageManager->getDeployedPackages(xAbortChannel, xCmdEnv)); + +diff --git a/desktop/source/deployment/manager/dp_extensionmanager.hxx b/desktop/source/deployment/manager/dp_extensionmanager.hxx +index 22e2d41..ec1edbc 100644 +--- a/desktop/source/deployment/manager/dp_extensionmanager.hxx ++++ b/desktop/source/deployment/manager/dp_extensionmanager.hxx +@@ -182,7 +182,7 @@ public: + css::uno::RuntimeException); + + virtual void SAL_CALL reinstallDeployedExtensions( +- ::rtl::OUString const & repository, ++ sal_Bool force, ::rtl::OUString const & repository, + css::uno::Reference< css::task::XAbortChannel> const & xAbortChannel, + css::uno::Reference< css::ucb::XCommandEnvironment> const & xCmdEnv ) + throw ( +diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx +index 8a08320c..8e3d109 100644 +--- a/desktop/source/deployment/manager/dp_manager.cxx ++++ b/desktop/source/deployment/manager/dp_manager.cxx +@@ -1164,14 +1164,14 @@ PackageManagerImpl::getDeployedPackages( + //ToDo: the function must not call registerPackage, do this in + //XExtensionManager.reinstallDeployedExtensions + void PackageManagerImpl::reinstallDeployedPackages( +- Reference<task::XAbortChannel> const & /*xAbortChannel*/, ++ sal_Bool force, Reference<task::XAbortChannel> const & /*xAbortChannel*/, + Reference<XCommandEnvironment> const & xCmdEnv_ ) + throw (deployment::DeploymentException, + CommandFailedException, CommandAbortedException, + lang::IllegalArgumentException, RuntimeException) + { + check(); +- if (office_is_running()) ++ if (!force && office_is_running()) + throw RuntimeException( + OUSTR("You must close any running Office process before " + "reinstalling packages!"), static_cast<OWeakObject *>(this) ); +diff --git a/desktop/source/deployment/manager/dp_manager.h b/desktop/source/deployment/manager/dp_manager.h +index 3b335d7..3c7f8d9 100644 +--- a/desktop/source/deployment/manager/dp_manager.h ++++ b/desktop/source/deployment/manager/dp_manager.h +@@ -236,6 +236,7 @@ public: + css::uno::RuntimeException); + + virtual void SAL_CALL reinstallDeployedPackages( ++ sal_Bool force, + css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, + css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) + throw (css::deployment::DeploymentException, +diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx +index b225db6..9ed579f 100644 +--- a/desktop/source/deployment/misc/dp_misc.cxx ++++ b/desktop/source/deployment/misc/dp_misc.cxx +@@ -591,7 +591,7 @@ void TRACE(::rtl::OString const & sText) + } + + void syncRepositories( +- Reference<ucb::XCommandEnvironment> const & xCmdEnv) ++ bool force, Reference<ucb::XCommandEnvironment> const & xCmdEnv) + { + OUString sDisable; + ::rtl::Bootstrap::get( OUSTR( "DISABLE_EXTENSION_SYNCHRONIZATION" ), sDisable, OUString() ); +@@ -602,7 +602,8 @@ void syncRepositories( + //synchronize shared before bundled otherewise there are + //more revoke and registration calls. + sal_Bool bModified = false; +- if (needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("shared"))) ++ if (force ++ || needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("shared"))) + || needToSyncRepostitory(OUString(RTL_CONSTASCII_USTRINGPARAM("bundled")))) + { + xExtensionManager = +diff --git a/desktop/source/pkgchk/unopkg/unopkg_app.cxx b/desktop/source/pkgchk/unopkg/unopkg_app.cxx +index 43faed5..ef16ea1 100644 +--- a/desktop/source/pkgchk/unopkg/unopkg_app.cxx ++++ b/desktop/source/pkgchk/unopkg/unopkg_app.cxx +@@ -392,7 +392,7 @@ extern "C" DESKTOP_DLLPUBLIC int unopkg_main() + //synching is done in XExtensionManager.reinstall + if (!subcmd_gui && ! subCommand.equals(OUSTR("reinstall")) + && ! dp_misc::office_is_running()) +- dp_misc::syncRepositories(xCmdEnv); ++ dp_misc::syncRepositories(false, xCmdEnv); + + if ( subcmd_add || subCommand == "remove" ) + { +@@ -436,7 +436,7 @@ extern "C" DESKTOP_DLLPUBLIC int unopkg_main() + RTL_CONSTASCII_STRINGPARAM("reinstall") )) + { + xExtensionManager->reinstallDeployedExtensions( +- repository, Reference<task::XAbortChannel>(), xCmdEnv); ++ false, repository, Reference<task::XAbortChannel>(), xCmdEnv); + } + else if ( subCommand == "list" ) + { +diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl +index b68ab20..2912e45 100644 +--- a/offapi/com/sun/star/deployment/XExtensionManager.idl ++++ b/offapi/com/sun/star/deployment/XExtensionManager.idl +@@ -260,6 +260,9 @@ interface XExtensionManager + <p> + Please use this in case of suspected cache inconsistencies only. + </p> ++ @param force ++ set to true when called during soffice bootstrap after cleaning ++ old extension cache + @param repositroy + the name of the repository + @param xAbortChannel +@@ -268,6 +271,7 @@ interface XExtensionManager + command environment for error and progress handling + */ + void reinstallDeployedExtensions( ++ [in] boolean force, + [in] string repository, + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) +diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl +index 12e7e0e..39ff04a 100644 +--- a/offapi/com/sun/star/deployment/XPackageManager.idl ++++ b/offapi/com/sun/star/deployment/XPackageManager.idl +@@ -225,12 +225,16 @@ interface XPackageManager + Please use this in case of suspected cache inconsistencies only. + </p> + ++ @param force ++ set to true when called during soffice bootstrap after cleaning ++ old extension cache + @param xAbortChannel + abort channel to asynchronously abort the adding process + @param xCmdEnv + command environment for error and progress handling + */ + void reinstallDeployedPackages( ++ [in] boolean force, + [in] com::sun::star::task::XAbortChannel xAbortChannel, + [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) + raises (DeploymentException, +-- +cgit v0.9.0.2-2-gbebe diff --git a/testing/libreoffice/libreoffice-common.csh b/testing/libreoffice/libreoffice-common.csh index af31d4432..5efa39404 100644 --- a/testing/libreoffice/libreoffice-common.csh +++ b/testing/libreoffice/libreoffice-common.csh @@ -1 +1,8 @@ #setenv PYTHONPATH ${PYTHONPATH}:/usr/lib/libreoffice/program + +# to force a certain look'n feel + +#setenv SAL_USE_VCLPLUGIN gen +#setenv SAL_USE_VCLPLUGIN kde4 +#setenv SAL_USE_VCLPLUGIN gtk +#setenv SAL_USE_VCLPLUGIN gtk3 diff --git a/testing/libreoffice/libreoffice-common.sh b/testing/libreoffice/libreoffice-common.sh index ee405b1aa..795867125 100644 --- a/testing/libreoffice/libreoffice-common.sh +++ b/testing/libreoffice/libreoffice-common.sh @@ -1 +1,8 @@ #export PYTHONPATH="$PYTHONPATH:/usr/lib/libreoffice/program" + +# to force a certain look'n feel + +#export SAL_USE_VCLPLUGIN=gen +#export SAL_USE_VCLPLUGIN=kde4 +#export SAL_USE_VCLPLUGIN=gtk +#export SAL_USE_VCLPLUGIN=gtk3 diff --git a/testing/openssh/PKGBUILD b/testing/openssh/PKGBUILD index 1748d58cc..b458cc960 100644 --- a/testing/openssh/PKGBUILD +++ b/testing/openssh/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 165684 2012-08-29 05:14:58Z bisson $ +# $Id: PKGBUILD 165904 2012-09-03 13:01:11Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Aaron Griffin <aaron@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=openssh pkgver=6.1p1 -pkgrel=1 +pkgrel=2 pkgdesc='Free version of the SSH connectivity tools' url='http://www.openssh.org/portable.html' license=('custom:BSD') @@ -27,8 +27,8 @@ sha1sums=('751c92c912310c3aa9cadc113e14458f843fc7b3' '954bf1660aa32620c37034320877f4511b767ccb' '6c71de2c2ca9622aa8e863acd94b135555e11125' 'bd6eae36c7ef9efb7147778baad7858b81f2d660' - 'f27617eeb694f4edd474638adf16733d8a793d85' - 'a30fb5fda6d0143345bae47684edaffb8d0a92a7' + '1fd209980ee2fcdd7b219883e8add0f5ca63388a' + 'b7acfce018efc111e7ce80dbe37b932caf7c2d53' 'ec102deb69cad7d14f406289d2fc11fee6eddbdd' '659e3ee95c269014783ff8b318c6f50bf7496fbd' '1488d4ed33cf3037accf4b0e1c7a7e90b6a097c7') diff --git a/testing/openssh/sshd.service b/testing/openssh/sshd.service index 4a5910873..b5c098b73 100644 --- a/testing/openssh/sshd.service +++ b/testing/openssh/sshd.service @@ -1,5 +1,6 @@ [Unit] Description=OpenSSH Daemon +Wants=sshdgenkeys.service After=sshdgenkeys.service [Service] diff --git a/testing/openssh/sshd.socket b/testing/openssh/sshd.socket index 6a67bfe86..1b9403c99 100644 --- a/testing/openssh/sshd.socket +++ b/testing/openssh/sshd.socket @@ -1,5 +1,6 @@ [Unit] Conflicts=sshd.service +Wants=sshdgenkeys.service [Socket] ListenStream=22 diff --git a/testing/xcompmgr/PKGBUILD b/testing/xcompmgr/PKGBUILD new file mode 100644 index 000000000..f9439333a --- /dev/null +++ b/testing/xcompmgr/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 165902 2012-09-03 10:37:05Z andyrtr $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Leslie P. Polzer <leslie.polzer@gmx.net> + +pkgname=xcompmgr +pkgver=1.1.6 +pkgrel=2 +pkgdesc="Composite Window-effects manager for X.org" +arch=('i686' 'x86_64') +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('libxcomposite' 'libxdamage' 'libxrender' 'libxext') +conflicts=('xapps') +replaces=('xapps') +source=(http://xorg.freedesktop.org/releases/individual/app/${pkgname}-${pkgver}.tar.bz2 + fix_broken_shadows.diff) +sha1sums=('a9cf78ea32bac51ff584115381f195566b164fe3' + '435f9f0ad652bdd759f822514bf1559abf119ffe') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # fix broken shadows in openbox - patch takern from https://bugs.freedesktop.org/show_bug.cgi?id=46285 + patch -Np0 -i ${srcdir}/fix_broken_shadows.diff + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/testing/xcompmgr/fix_broken_shadows.diff b/testing/xcompmgr/fix_broken_shadows.diff new file mode 100644 index 000000000..39b8ac725 --- /dev/null +++ b/testing/xcompmgr/fix_broken_shadows.diff @@ -0,0 +1,28 @@ +--- xcompmgr.c 2011-11-19 01:49:52.000000000 -0600 ++++ xcompmgr.c 2012-08-11 21:58:58.000000000 -0500 +@@ -1028,7 +1028,6 @@ + { + w->borderClip = XFixesCreateRegion (dpy, NULL, 0); + XFixesCopyRegion (dpy, w->borderClip, region); +- XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); + } + w->prev_trans = t; + t = w; +@@ -1080,6 +1079,8 @@ + if (w->mode == WINDOW_TRANS) + { + int x, y, wid, hei; ++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); ++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip); + #if HAS_NAME_WINDOW_PIXMAP + x = w->a.x; + y = w->a.y; +@@ -1099,6 +1100,8 @@ + else if (w->mode == WINDOW_ARGB) + { + int x, y, wid, hei; ++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); ++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip); + #if HAS_NAME_WINDOW_PIXMAP + x = w->a.x; + y = w->a.y; |