diff options
37 files changed, 1684 insertions, 158 deletions
diff --git a/community/apvlv/PKGBUILD b/community/apvlv/PKGBUILD index 23bdcb7a6..a0bca90b3 100644 --- a/community/apvlv/PKGBUILD +++ b/community/apvlv/PKGBUILD @@ -1,23 +1,23 @@ -# $Id: PKGBUILD 64830 2012-02-18 15:59:14Z bpiotrowski $ +# $Id: PKGBUILD 79519 2012-11-06 16:27:50Z bpiotrowski $ # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Brad Fanella <bradfanella@archlinux.us> # Contributor: Stefan Husmann <stefan-husmann@t-online.de> # Contributor: tocer.deng <tocer.deng@gmail.com> pkgname=apvlv -pkgver=0.1.4 +pkgver=0.1.4.20121023 pkgrel=1 -pkgdesc="A PDF Viewer which behaves like Vim" +pkgdesc='A PDF Viewer which behaves like Vim' arch=('i686' 'x86_64') url="http://naihe2010.github.com/apvlv/" license=('GPL') depends=('gtk2' 'cairo' 'poppler-glib' 'djvulibre') makedepends=('cmake' 'libwebkit') -source=("ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.xz") -md5sums=('5518b842715f1a9e7d3c8d2b7ed16342') +source=(ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.xz) +md5sums=('f222fc4b09b15358eb4e7f996ba810d6') build() { - cd "$srcdir"/$pkgname-$pkgver + cd $srcdir/$pkgname-$pkgver mkdir -p build cd build @@ -29,7 +29,7 @@ build() { } package() { - cd "$srcdir"/$pkgname-$pkgver/build + cd $srcdir/$pkgname-$pkgver/build - make DESTDIR="$pkgdir" install + make DESTDIR=$pkgdir/ install } diff --git a/community/dante/PKGBUILD b/community/dante/PKGBUILD index 41f9b7551..e8033246c 100644 --- a/community/dante/PKGBUILD +++ b/community/dante/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 78352 2012-10-17 15:16:38Z spupykin $ +# $Id: PKGBUILD 79500 2012-11-06 11:18:47Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Guillem Rieu <guillemr@gmx.net> pkgname=dante pkgver=1.3.2 -pkgrel=2 +pkgrel=3 pkgdesc="SOCKS v4 and v5 compatible proxy server and client" url="http://www.inet.no/dante" arch=(i686 x86_64) @@ -18,7 +18,7 @@ source=(ftp://ftp.inet.no/pub/socks/${pkgname}-${pkgver}.tar.gz sockd.service) md5sums=('250c6456cd3fefa17f07fa80c9ccf6bd' '5110dfd78a2b38fff27a886ee88b58a6' - '41f1ca885e2383d9db0c29bb7904de65') + 'ceb86b5bd97f7e3ceff28c6e6172a25b') build() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/community/dante/sockd.service b/community/dante/sockd.service index 6a18a8b0a..a2a964304 100644 --- a/community/dante/sockd.service +++ b/community/dante/sockd.service @@ -1,11 +1,12 @@ [Unit] Description=SOCKS v4 and v5 compatible proxy server and client +After=network.target [Service] Type=forking EnvironmentFile=/etc/conf.d/sockd.conf PIDFile=/var/run/sockd.pid -ExecStart=sockd $SOCKD_OPTS +ExecStart=/usr/sbin/sockd $SOCKD_OPTS [Install] WantedBy=multi-user.target diff --git a/community/efax-gtk/PKGBUILD b/community/efax-gtk/PKGBUILD index 33b7348c1..a0cda1051 100644 --- a/community/efax-gtk/PKGBUILD +++ b/community/efax-gtk/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 76212 2012-09-14 07:41:39Z giovanni $ +# $Id: PKGBUILD 79527 2012-11-06 17:22:36Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> pkgname=efax-gtk -pkgver=3.2.9 -pkgrel=3 +pkgver=3.2.10 +pkgrel=1 pkgdesc="A GUI front end for the 'efax' fax program" arch=('i686' 'x86_64') url="http://efax-gtk.sourceforge.net/" @@ -14,7 +14,7 @@ optdepends=('heirloom-mailx: to use the mail_fax script') backup=('etc/efax-gtkrc') install=efax-gtk.install source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.src.tgz") -md5sums=('57fac8815c8f49fc7415d3558eb3f842') +md5sums=('24a21ac319b6074390f296e3fb7d4f23') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/haddock/PKGBUILD b/community/haddock/PKGBUILD index 274cc7851..89d4c74ac 100644 --- a/community/haddock/PKGBUILD +++ b/community/haddock/PKGBUILD @@ -1,27 +1,24 @@ +# $Id: PKGBUILD 79532 2012-11-06 18:05:24Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Vesa Kaihlavirta <vesa@archlinux.org> # Contributor: Arch Haskell Team <arch-haskell@haskell.org> pkgname=haddock -pkgver=2.12.0 +pkgver=2.13.1 pkgrel=1 -pkgdesc="Tool for generating documentation for Haskell libraries" -url="http://hackage.haskell.org/package/haddock" +pkgdesc='Tool for generating documentation for Haskell libraries' +url='http://hackage.haskell.org/package/haddock/' license=('custom:BSD3') arch=('x86_64' 'i686') -makedepends=('alex=3.0.2-2' 'happy=1.18.9-6') +makedepends=('alex' 'happy') depends=('ghc=7.6.1-1' 'haskell-xhtml=3000.2.1-2' 'haskell-ghc-paths=0.1.0.8-9') install=$pkgname.install -source=("http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz" - '0001-fix-incorrect-types-in-documentation-haddock.patch') -sha256sums=('b6c53c3c2dcfc7604941f81acd8954c7deb101b1341003d2e9c6c26dd4ad6d02' - 'a260b828ddf6e56440209d9631efcd6e1530b8996859528feee37638cc26e92a') +source=("http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz") +sha256sums=('6e5e2295cd191e43a046c12544f2f4e8b4260cfda8282d48b15a7a35d8a24e7f') build() { cd "$srcdir/$pkgname-$pkgver" - patch -Np1 -i ${srcdir}/0001-fix-incorrect-types-in-documentation-haddock.patch - runhaskell Setup configure -O -p --enable-split-objs --enable-shared \ --prefix=/usr --docdir=/usr/share/doc/"$pkgname" \ --libsubdir=\$compiler/site-local/\$pkgid diff --git a/community/ibus-pinyin/PKGBUILD b/community/ibus-pinyin/PKGBUILD index a77ac1da0..cdca22018 100644 --- a/community/ibus-pinyin/PKGBUILD +++ b/community/ibus-pinyin/PKGBUILD @@ -1,36 +1,30 @@ -# $Id: PKGBUILD 79171 2012-10-31 05:59:19Z ebelanger $ +# $Id: PKGBUILD 79511 2012-11-06 12:01:15Z arodseth $ +# Maintainer: Felix Yan <felixonmars@gmail.com> # Contributor: Rainy <rainylau(at)gmail(dot)com> # Contributor: Lee.maRS<leemars at gmail.com> -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: Kerrick Staley <mail at kerrickstaley.com> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=ibus-pinyin -pkgver=1.4.0 -pkgrel=2 -pkgdesc='The PinYin Engine for IBus Input Framework.' +pkgver=1.4.99.20120808 +pkgrel=1 +pkgdesc='Pinyin (Chinese) input method for the IBus framework' arch=('i686' 'x86_64') -license=('LGPL') +license=('GPL') url='http://ibus.googlecode.com' -depends=('ibus') +depends=('ibus' 'pyzy' 'lua') makedepends=('intltool') -install=ibus-pinyin.install -source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz" - "http://ibus.googlecode.com/files/pinyin-database-1.2.99.tar.bz2") -sha1sums=('499ceb4d3bec5614f88322b8e7695c04586b63e9' - 'e38a148a772e9909facda66b2d579e17b94cccbe') +source=("https://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz") +sha1sums=('aa298212d9f63acab48cf9f6370c94cdc6920c2a') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ln -sf "${srcdir}/pinyin-database-1.2.99.tar.bz2" \ - "${srcdir}/${pkgname}-${pkgver}/data/db/open-phrase" - - sed -i -e "s|python|python2|" data/db/android/create_db.py \ - setup/ibus-setup-pinyin.in + sed -i -e "s|python|python2|" setup/ibus-setup-pinyin.in PYTHON=python2 ./configure \ --prefix=/usr \ - --libexecdir=/usr/lib/ibus \ - --enable-db-open-phrase + --libexecdir=/usr/lib/ibus make } diff --git a/community/minidlna/PKGBUILD b/community/minidlna/PKGBUILD index ea741af17..d9cd1809b 100644 --- a/community/minidlna/PKGBUILD +++ b/community/minidlna/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 79291 2012-11-02 13:50:58Z spupykin $ +# $Id: PKGBUILD 79502 2012-11-06 11:19:57Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer:Biginoz < biginoz AT free point fr> # Contributor: Ignacio Galmarino <igalmarino@gmail.com> @@ -7,7 +7,7 @@ pkgname=minidlna pkgver=1.0.25 -pkgrel=3 +pkgrel=4 pkgdesc="A DLNA/UPnP-AV Media server (aka ReadyDLNA)" arch=('i686' 'x86_64') url="http://sourceforge.net/projects/minidlna/" @@ -22,7 +22,7 @@ source=(http://downloads.sourceforge.net/minidlna/minidlna_${pkgver}_src.tar.gz minidlna.service minidlna.tmpfiles) md5sums=('d966256baf2f9b068b9de871ab5dade5' - 'c9863d5703e0a8469cc200f2739567e7' + '1b92f88905abe8f719585d48f4b25a49' '1903ed9ceee43b8bb86146b9ad8eb50c' '26de27b12d6a37c47d9714107d07aac9') diff --git a/community/minidlna/minidlna.rc b/community/minidlna/minidlna.rc index c79975ed1..dd5910544 100755 --- a/community/minidlna/minidlna.rc +++ b/community/minidlna/minidlna.rc @@ -3,6 +3,7 @@ . /etc/rc.conf . /etc/rc.d/functions . /etc/conf.d/minidlna +. /etc/minidlna.conf daemon_name=minidlna diff --git a/community/mlt/PKGBUILD b/community/mlt/PKGBUILD index 276d90da7..a9517a972 100644 --- a/community/mlt/PKGBUILD +++ b/community/mlt/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 75787 2012-08-31 10:39:46Z spupykin $ +# $Id: PKGBUILD 79513 2012-11-06 12:08:47Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Fabian Schoelzel <myfirstname.mylastname@googlemail.com> # Contributor: funkyou <spamopfer@nickname.berlin.de> @@ -8,20 +8,24 @@ pkgbase=mlt pkgname=('mlt' 'mlt-python-bindings') pkgver=0.8.2 -pkgrel=1 +pkgrel=2 pkgdesc="An open source multimedia framework" arch=('i686' 'x86_64') url="http://www.mltframework.org" license=('GPL') makedepends=('sdl_image' 'libsamplerate' 'libdv' 'qt' 'sox' 'libxml2' 'gtk2' 'ffmpeg' 'frei0r-plugins' 'swig' 'python2' "jack" "ladspa") -source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz) -md5sums=('c7a8c4ca7485bb615cbcf851d8742a1c') +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz + ffmpeg.patch) +md5sums=('c7a8c4ca7485bb615cbcf851d8742a1c' + 'c28b4691d1715432d4de0055f4e2f5eb') build() { # mlt cd "$srcdir/mlt-$pkgver" + patch -p1 <$srcdir/ffmpeg.patch + [ $CARCH == "i686" ] && SSE2=--disable-sse2 || SSE2= # SSE2=--disable-sse2 diff --git a/community/mlt/ffmpeg.patch b/community/mlt/ffmpeg.patch new file mode 100644 index 000000000..7bd4903db --- /dev/null +++ b/community/mlt/ffmpeg.patch @@ -0,0 +1,29 @@ +diff -wbBur mlt-0.8.2/src/modules/avformat/consumer_avformat.c mlt-0.8.2.my/src/modules/avformat/consumer_avformat.c +--- mlt-0.8.2/src/modules/avformat/consumer_avformat.c 2012-08-28 20:25:58.000000000 +0400 ++++ mlt-0.8.2.my/src/modules/avformat/consumer_avformat.c 2012-11-06 16:03:07.269782436 +0400 +@@ -237,11 +237,7 @@ + mlt_properties_set_data( properties, "acodec", codecs, 0, (mlt_destructor) mlt_properties_close, NULL ); + mlt_properties_set_data( doc, "audio_codecs", codecs, 0, NULL, NULL ); + while ( ( codec = av_codec_next( codec ) ) ) +-#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0) +- if ( ( codec->encode || codec->encode2 ) && codec->type == CODEC_TYPE_AUDIO ) +-#else +- if ( codec->encode && codec->type == CODEC_TYPE_AUDIO ) +-#endif ++ if ( ( codec->encode2 ) && codec->type == CODEC_TYPE_AUDIO ) + { + snprintf( key, sizeof(key), "%d", mlt_properties_count( codecs ) ); + mlt_properties_set( codecs, key, codec->name ); +@@ -261,11 +257,7 @@ + mlt_properties_set_data( properties, "vcodec", codecs, 0, (mlt_destructor) mlt_properties_close, NULL ); + mlt_properties_set_data( doc, "video_codecs", codecs, 0, NULL, NULL ); + while ( ( codec = av_codec_next( codec ) ) ) +-#if LIBAVCODEC_VERSION_INT >= ((54<<16)+(0<<8)+0) +- if ( (codec->encode || codec->encode2) && codec->type == CODEC_TYPE_VIDEO ) +-#else +- if ( codec->encode && codec->type == CODEC_TYPE_VIDEO ) +-#endif ++ if ( (codec->encode2) && codec->type == CODEC_TYPE_VIDEO ) + { + snprintf( key, sizeof(key), "%d", mlt_properties_count( codecs ) ); + mlt_properties_set( codecs, key, codec->name ); diff --git a/community/optipng/PKGBUILD b/community/optipng/PKGBUILD index e72ddb97d..59583d22b 100644 --- a/community/optipng/PKGBUILD +++ b/community/optipng/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 76515 2012-09-21 06:14:03Z lfleischer $ +# $Id: PKGBUILD 79534 2012-11-06 20:25:17Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Stefan Husmann <stefan-husmann@t-online.de> # Contributor: Aaron Schaefer <aaron@elasticdog.com> pkgname=optipng -pkgver=0.7.3 +pkgver=0.7.4 pkgrel=1 pkgdesc='Compresses PNG files to a smaller size, without losing any information.' arch=('i686' 'x86_64') @@ -12,7 +12,7 @@ url='http://optipng.sourceforge.net/' license=('ZLIB') depends=('glibc') source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz") -md5sums=('ceceb66b4d2e1f632ea6786a0adafd11') +md5sums=('8853d89aaf859065e95dcdf98b6bed73') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/recoll/PKGBUILD b/community/recoll/PKGBUILD index 81674fff0..4f37d3d5f 100644 --- a/community/recoll/PKGBUILD +++ b/community/recoll/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 73107 2012-07-01 18:54:02Z spupykin $ +# $Id: PKGBUILD 79504 2012-11-06 11:20:41Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -6,7 +6,7 @@ # Contributor: Robert Emil Berge <filoktetes@linuxophic.org> pkgname=recoll -pkgver=1.17.3 +pkgver=1.18.1 pkgrel=1 pkgdesc="Full text search tool based on Xapian backend" arch=('i686' 'x86_64') @@ -31,7 +31,7 @@ optdepends=('libxslt: for XML based formats (fb2,etc)' 'aspell-en: English stemming support') install=recoll.install source=("http://www.lesbonscomptes.com/$pkgname/$pkgname-$pkgver.tar.gz") -md5sums=('3e917193afbedc97e687d91963e079b7') +md5sums=('f0e4ba8fc988d67a92e15f6283a485a4') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/vtk/PKGBUILD b/community/vtk/PKGBUILD index 4563c8c34..6b53c1faf 100644 --- a/community/vtk/PKGBUILD +++ b/community/vtk/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 75604 2012-08-27 13:46:13Z aginiewicz $ +# $Id: PKGBUILD 79495 2012-11-06 06:33:11Z aginiewicz $ # Maintainer: Andrzej Giniewicz <gginiu@gmail.com> # Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: Christofer Bertonha <christoferbertonha at gmail dot com> @@ -9,8 +9,8 @@ # Contributor: djscholl pkgname=vtk -pkgver=5.10.0 -pkgrel=2 +pkgver=5.10.1 +pkgrel=1 pkgdesc='A software system for 3D computer graphics, image processing, and visualization.' arch=('i686' 'x86_64') url='http://www.vtk.org/' @@ -25,13 +25,13 @@ optdepends=('python2: python bindings' source=("http://www.vtk.org/files/release/${pkgver:0:4}/vtk-${pkgver}.tar.gz" "http://www.vtk.org/files/release/${pkgver:0:4}/vtkdata-${pkgver}.tar.gz" ffmpeg-0.8.diff ffmpeg-0.11.diff) -md5sums=('a0363f78910f466ba8f1bd5ab5437cb9' - '8c4105b221384154421e7a460adc9c0c' +md5sums=('264b0052e65bd6571a84727113508789' + 'b6355063264cd56bcd1396c92f6ca59a' 'e992321c9d1def6034d0fa6607b40c5a' '81922ea61989e5591135f233a0400694') build() { - cd "${srcdir}"/VTK + cd "${srcdir}"/VTK$pkgver # fix compilation error: patch -Np1 -i "${srcdir}/ffmpeg-0.8.diff" @@ -56,7 +56,7 @@ build() { -Wno-dev \ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \ - -DVTK_DATA_ROOT:FILEPATH=${srcdir}/VTKData \ + -DVTK_DATA_ROOT:FILEPATH=${srcdir}/VTKData$pkgver \ -DBUILD_DOCUMENTATION:BOOL=ON \ -DDOCUMENTATION_HTML_HELP:BOOL=ON \ -DDOCUMENTATION_HTML_TARZ:BOOL=ON \ @@ -80,7 +80,7 @@ build() { -DCMAKE_CXX_FLAGS="-D__STDC_CONSTANT_MACROS" \ ${cmake_system_flags} \ ${cmake_system_python_flags} \ - "${srcdir}/VTK" + "${srcdir}/VTK$pkgver" make } @@ -98,7 +98,7 @@ package() { # Install license install -dv "${pkgdir}/usr/share/licenses/vtk" - install -m644 "${srcdir}/VTK/Copyright.txt" \ + install -m644 "${srcdir}/VTK$pkgver/Copyright.txt" \ "${pkgdir}/usr/share/licenses/vtk" # Put an entry in /etc/ld.so.conf.d diff --git a/community/xbmc/PKGBUILD b/community/xbmc/PKGBUILD index 88b68caee..eb99ea59c 100644 --- a/community/xbmc/PKGBUILD +++ b/community/xbmc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 79086 2012-10-30 09:56:06Z spupykin $ +# $Id: PKGBUILD 79508 2012-11-06 11:41:31Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Brad Fanella <bradfanella@archlinux.us> # Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com> @@ -9,7 +9,7 @@ _prefix=/usr pkgname=xbmc pkgver=11.0 -pkgrel=12 +pkgrel=13 pkgdesc="A software media player and entertainment hub for digital media" arch=('i686' 'x86_64') url="http://xbmc.org" @@ -37,6 +37,8 @@ sha256sums=('1fe5d310c16138f26e2b13bc545604e95f48ace6c8636f23e77da402cd7b0b19' '82ebca3d66155f889a3d70311b000ac8b911b062af8df308d6a86aecc6b1b52b') sha256sums=('1fe5d310c16138f26e2b13bc545604e95f48ace6c8636f23e77da402cd7b0b19' '82ebca3d66155f889a3d70311b000ac8b911b062af8df308d6a86aecc6b1b52b') +sha256sums=('1fe5d310c16138f26e2b13bc545604e95f48ace6c8636f23e77da402cd7b0b19' + '82ebca3d66155f889a3d70311b000ac8b911b062af8df308d6a86aecc6b1b52b') build() { cd "${srcdir}/xbmc-$pkgver" diff --git a/community/xbmc/xbmc.install b/community/xbmc/xbmc.install index 9e9d4f4b7..b104b33e8 100644 --- a/community/xbmc/xbmc.install +++ b/community/xbmc/xbmc.install @@ -2,7 +2,7 @@ post_install() { [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications getent group xbmc > /dev/null || groupadd xbmc - getent passwd xbmc > /dev/null || useradd -d /var/empty -g xbmc xbmc + getent passwd xbmc > /dev/null || useradd -m -d /var/lib/xbmc -g xbmc xbmc usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc } diff --git a/core/iputils/PKGBUILD b/core/iputils/PKGBUILD index 56d38dc95..25d7ada55 100644 --- a/core/iputils/PKGBUILD +++ b/core/iputils/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 169611 2012-10-24 12:55:26Z stephane $ +# $Id: PKGBUILD 170249 2012-11-06 11:26:55Z stephane $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Aaron Griffin <aaron@archlinux.org> pkgname=iputils pkgver=20121011 -pkgrel=1 +pkgrel=2 pkgdesc="IP Configuration Utilities (and Ping)" arch=('i686' 'x86_64') license=('GPL') @@ -19,10 +19,12 @@ replaces=('netkit-base') backup=(etc/xinetd.d/tftp) install=${pkgname}.install source=(http://www.skbuff.net/${pkgname}/${pkgname}-s${pkgver}.tar.bz2 tftp.xinetd - iputils-20101006-ping-integer-overflow.patch) + iputils-20101006-ping-integer-overflow.patch + iputils-20121011-flood.patch) sha1sums=('3e85179746fd93000d6267bd55addfe97f321ba7' 'fc2ae26f5609725e3f4aeaf4ab82dfa6d2e378fd' - 'ec78574d798b53e4f8bdd37e42514fc17ed71667') + 'ec78574d798b53e4f8bdd37e42514fc17ed71667' + '2343edf0dce28030e43305cefedd60806bb58eae') build() { cd "${srcdir}/${pkgname}-s${pkgver}" @@ -33,6 +35,9 @@ build() { # FS#28897 patch -Np1 -i ../iputils-20101006-ping-integer-overflow.patch + # FS#32306 + patch -Np1 -i ../iputils-20121011-flood.patch + make cd doc diff --git a/core/iputils/iputils-20121011-flood.patch b/core/iputils/iputils-20121011-flood.patch new file mode 100644 index 000000000..5ced2d115 --- /dev/null +++ b/core/iputils/iputils-20121011-flood.patch @@ -0,0 +1,22 @@ +--- iputils-s20121011/ping_common.h 2012-11-05 10:07:40.065281888 +0100 ++++ iputils-s20121011-new/ping_common.h 2012-11-05 10:07:22.001268362 +0100 +@@ -141,7 +141,7 @@ static inline void write_stdout(const ch + do { + cc = write(STDOUT_FILENO, str + o, len - o); + o += cc; +- } while (len >= o || cc < 0); ++ } while (len > o || cc < 0); + } + + /* +--- iputils-s20121011/ping_common.c 2012-11-05 10:07:40.066281889 +0100 ++++ iputils-s20121011-new/ping_common.c 2012-11-05 10:07:22.007268368 +0100 +@@ -776,7 +776,7 @@ restamp: + if (!csfailed) + write_stdout("\b \b", 3); + else +- write_stdout("\bC", 1); ++ write_stdout("\bC", 2); + } else { + int i; + __u8 *cp, *dp; diff --git a/core/libtirpc/PKGBUILD b/core/libtirpc/PKGBUILD index 6035cdb2c..9d372e641 100644 --- a/core/libtirpc/PKGBUILD +++ b/core/libtirpc/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 133597 2011-07-29 21:03:33Z tpowa $ +# $Id: PKGBUILD 170257 2012-11-06 12:56:18Z tomegun $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=libtirpc pkgver=0.2.2 -pkgrel=2 +pkgrel=4 pkgdesc="Transport Independent RPC library (SunRPC replacement)" arch=('i686' 'x86_64') url="http://libtirpc.sourceforge.net/" diff --git a/core/libtirpc/libtirpc-0.2.3rc3.patch b/core/libtirpc/libtirpc-0.2.3rc3.patch new file mode 100644 index 000000000..14577186b --- /dev/null +++ b/core/libtirpc/libtirpc-0.2.3rc3.patch @@ -0,0 +1,1312 @@ +diff --git a/configure.ac b/configure.ac +index 97c6f2c..7ff80a4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -23,6 +23,7 @@ AC_HEADER_DIRENT + AC_PREFIX_DEFAULT(/usr) + AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h]) + AC_CHECK_LIB([pthread], [pthread_create]) ++AC_CHECK_LIB([nsl], [yp_get_default_domain]) + + + AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile]) +diff --git a/doc/Makefile.am b/doc/Makefile.am +index cc4fa76..f8c88b5 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -1,5 +1,5 @@ + + install: install-am +- $(mkinstalldirs) $(DESTDIR)/etc +- cp -p ./etc_netconfig $(DESTDIR)/etc/netconfig +- chmod 0644 $(DESTDIR)/etc/netconfig ++ $(mkinstalldirs) $(DESTDIR)/$(sysconfdir) ++ cp -p ./etc_netconfig $(DESTDIR)/$(sysconfdir)/netconfig ++ chmod 0644 $(DESTDIR)/$(sysconfdir)/netconfig +diff --git a/src/Makefile.am b/src/Makefile.am +index 7ee8cbc..66350f5 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -40,7 +40,7 @@ lib_LTLIBRARIES = libtirpc.la + # release number of your package. This is an abuse that only fosters + # misunderstanding of the purpose of library versions." + # +-libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0 ++libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0 + + libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ + clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \ +@@ -48,17 +48,16 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln + getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \ + pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ + rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ +- rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \ +- svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ +- auth_time.c auth_des.c authdes_prot.c des_crypt.c ++ rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_auth_none.c \ ++ svc_generic.c svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ ++ auth_time.c auth_des.c authdes_prot.c + + ## XDR + libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c + + ## Secure-RPC + if GSS +- libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \ +- svc_auth_none.c ++ libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c + libtirpc_la_LDFLAGS += $(GSSGLUE_LIBS) + libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS) + endif +diff --git a/src/auth_des.c b/src/auth_des.c +index 37e7667..f0c8b8c 100644 +--- a/src/auth_des.c ++++ b/src/auth_des.c +@@ -223,6 +223,7 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window, + goto failed; + } + ad->ad_nis_srvr = NULL; /* not needed any longer */ ++ auth_get(auth); /* Reference for caller */ + return (auth); + + failed: +@@ -472,6 +473,12 @@ authdes_destroy(AUTH *auth) + FREE(auth, sizeof(AUTH)); + } + ++static bool_t ++authdes_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere) ++{ ++ return ((*xfunc)(xdrs, xwhere)); ++} ++ + static struct auth_ops * + authdes_ops(void) + { +@@ -487,6 +494,8 @@ authdes_ops(void) + ops.ah_validate = authdes_validate; + ops.ah_refresh = authdes_refresh; + ops.ah_destroy = authdes_destroy; ++ ops.ah_wrap = authdes_wrap; ++ ops.ah_unwrap = authdes_wrap; + } + mutex_unlock(&authdes_ops_lock); + return (&ops); +diff --git a/src/auth_gss.c b/src/auth_gss.c +index df3017a..539101e 100644 +--- a/src/auth_gss.c ++++ b/src/auth_gss.c +@@ -87,9 +87,9 @@ print_rpc_gss_sec(struct rpc_gss_sec *ptr) + int i; + char *p; + +- log_debug("rpc_gss_sec:"); ++ gss_log_debug("rpc_gss_sec:"); + if(ptr->mech == NULL) +- log_debug("NULL gss_OID mech"); ++ gss_log_debug("NULL gss_OID mech"); + else { + fprintf(stderr, " mechanism_OID: {"); + p = (char *)ptr->mech->elements; +@@ -151,7 +151,7 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec) + struct rpc_gss_data *gd; + OM_uint32 min_stat = 0; + +- log_debug("in authgss_create()"); ++ gss_log_debug("in authgss_create()"); + + memset(&rpc_createerr, 0, sizeof(rpc_createerr)); + +@@ -200,6 +200,8 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec) + + if (!authgss_refresh(auth)) + auth = NULL; ++ else ++ auth_get(auth); /* Reference for caller */ + + clnt->cl_auth = save_auth; + +@@ -214,7 +216,7 @@ authgss_create_default(CLIENT *clnt, char *service, struct rpc_gss_sec *sec) + gss_buffer_desc sname; + gss_name_t name = GSS_C_NO_NAME; + +- log_debug("in authgss_create_default()"); ++ gss_log_debug("in authgss_create_default()"); + + + sname.value = service; +@@ -225,7 +227,7 @@ authgss_create_default(CLIENT *clnt, char *service, struct rpc_gss_sec *sec) + &name); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_import_name", maj_stat, min_stat); ++ gss_log_status("gss_import_name", maj_stat, min_stat); + rpc_createerr.cf_stat = RPC_AUTHERROR; + return (NULL); + } +@@ -247,7 +249,7 @@ authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd) + { + struct rpc_gss_data *gd; + +- log_debug("in authgss_get_private_data()"); ++ gss_log_debug("in authgss_get_private_data()"); + + if (!auth || !pd) + return (FALSE); +@@ -267,7 +269,7 @@ authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd) + static void + authgss_nextverf(AUTH *auth) + { +- log_debug("in authgss_nextverf()"); ++ gss_log_debug("in authgss_nextverf()"); + /* no action necessary */ + } + +@@ -281,7 +283,7 @@ authgss_marshal(AUTH *auth, XDR *xdrs) + OM_uint32 maj_stat, min_stat; + bool_t xdr_stat; + +- log_debug("in authgss_marshal()"); ++ gss_log_debug("in authgss_marshal()"); + + gd = AUTH_PRIVATE(auth); + +@@ -316,7 +318,7 @@ authgss_marshal(AUTH *auth, XDR *xdrs) + &rpcbuf, &checksum); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_get_mic", maj_stat, min_stat); ++ gss_log_status("gss_get_mic", maj_stat, min_stat); + if (maj_stat == GSS_S_CONTEXT_EXPIRED) { + gd->established = FALSE; + authgss_destroy_context(auth); +@@ -341,7 +343,7 @@ authgss_validate(AUTH *auth, struct opaque_auth *verf) + gss_buffer_desc signbuf, checksum; + OM_uint32 maj_stat, min_stat; + +- log_debug("in authgss_validate()"); ++ gss_log_debug("in authgss_validate()"); + + gd = AUTH_PRIVATE(auth); + +@@ -377,7 +379,7 @@ authgss_validate(AUTH *auth, struct opaque_auth *verf) + maj_stat = gss_verify_mic(&min_stat, gd->ctx, &signbuf, + &checksum, &qop_state); + if (maj_stat != GSS_S_COMPLETE || qop_state != gd->sec.qop) { +- log_status("gss_verify_mic", maj_stat, min_stat); ++ gss_log_status("gss_verify_mic", maj_stat, min_stat); + if (maj_stat == GSS_S_CONTEXT_EXPIRED) { + gd->established = FALSE; + authgss_destroy_context(auth); +@@ -395,7 +397,7 @@ authgss_refresh(AUTH *auth) + gss_buffer_desc *recv_tokenp, send_token; + OM_uint32 maj_stat, min_stat, call_stat, ret_flags; + +- log_debug("in authgss_refresh()"); ++ gss_log_debug("in authgss_refresh()"); + + gd = AUTH_PRIVATE(auth); + +@@ -414,9 +416,9 @@ authgss_refresh(AUTH *auth) + #ifdef DEBUG + /* print the token we just received */ + if (recv_tokenp != GSS_C_NO_BUFFER) { +- log_debug("The token we just received (length %d):", ++ gss_log_debug("The token we just received (length %d):", + recv_tokenp->length); +- log_hexdump(recv_tokenp->value, recv_tokenp->length, 0); ++ gss_log_hexdump(recv_tokenp->value, recv_tokenp->length, 0); + } + #endif + maj_stat = gss_init_sec_context(&min_stat, +@@ -439,7 +441,7 @@ authgss_refresh(AUTH *auth) + } + if (maj_stat != GSS_S_COMPLETE && + maj_stat != GSS_S_CONTINUE_NEEDED) { +- log_status("gss_init_sec_context", maj_stat, min_stat); ++ gss_log_status("gss_init_sec_context", maj_stat, min_stat); + break; + } + if (send_token.length != 0) { +@@ -447,9 +449,9 @@ authgss_refresh(AUTH *auth) + + #ifdef DEBUG + /* print the token we are about to send */ +- log_debug("The token being sent (length %d):", ++ gss_log_debug("The token being sent (length %d):", + send_token.length); +- log_hexdump(send_token.value, send_token.length, 0); ++ gss_log_hexdump(send_token.value, send_token.length, 0); + #endif + + call_stat = clnt_call(gd->clnt, NULLPROC, +@@ -498,7 +500,7 @@ authgss_refresh(AUTH *auth) + + if (maj_stat != GSS_S_COMPLETE + || qop_state != gd->sec.qop) { +- log_status("gss_verify_mic", maj_stat, min_stat); ++ gss_log_status("gss_verify_mic", maj_stat, min_stat); + if (maj_stat == GSS_S_CONTEXT_EXPIRED) { + gd->established = FALSE; + authgss_destroy_context(auth); +@@ -531,7 +533,7 @@ authgss_service(AUTH *auth, int svc) + { + struct rpc_gss_data *gd; + +- log_debug("in authgss_service()"); ++ gss_log_debug("in authgss_service()"); + + if (!auth) + return(FALSE); +@@ -549,15 +551,26 @@ authgss_destroy_context(AUTH *auth) + struct rpc_gss_data *gd; + OM_uint32 min_stat; + +- log_debug("in authgss_destroy_context()"); ++ gss_log_debug("in authgss_destroy_context()"); + + gd = AUTH_PRIVATE(auth); + + if (gd->gc.gc_ctx.length != 0) { + if (gd->established) { ++ AUTH *save_auth = NULL; ++ ++ /* Make sure we use the right auth_ops */ ++ if (gd->clnt->cl_auth != auth) { ++ save_auth = gd->clnt->cl_auth; ++ gd->clnt->cl_auth = auth; ++ } ++ + gd->gc.gc_proc = RPCSEC_GSS_DESTROY; + clnt_call(gd->clnt, NULLPROC, (xdrproc_t)xdr_void, NULL, + (xdrproc_t)xdr_void, NULL, AUTH_TIMEOUT); ++ ++ if (save_auth != NULL) ++ gd->clnt->cl_auth = save_auth; + } + gss_release_buffer(&min_stat, &gd->gc.gc_ctx); + /* XXX ANDROS check size of context - should be 8 */ +@@ -582,7 +595,7 @@ authgss_destroy(AUTH *auth) + struct rpc_gss_data *gd; + OM_uint32 min_stat; + +- log_debug("in authgss_destroy()"); ++ gss_log_debug("in authgss_destroy()"); + + gd = AUTH_PRIVATE(auth); + +@@ -603,7 +616,7 @@ authgss_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) + { + struct rpc_gss_data *gd; + +- log_debug("in authgss_wrap()"); ++ gss_log_debug("in authgss_wrap()"); + + gd = AUTH_PRIVATE(auth); + +@@ -620,7 +633,7 @@ authgss_unwrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) + { + struct rpc_gss_data *gd; + +- log_debug("in authgss_unwrap()"); ++ gss_log_debug("in authgss_unwrap()"); + + gd = AUTH_PRIVATE(auth); + +diff --git a/src/auth_none.c b/src/auth_none.c +index a439ec6..008c589 100644 +--- a/src/auth_none.c ++++ b/src/auth_none.c +@@ -155,6 +155,12 @@ authnone_destroy(AUTH *client) + { + } + ++static bool_t ++authnone_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere) ++{ ++ return ((*xfunc)(xdrs, xwhere)); ++} ++ + static struct auth_ops * + authnone_ops() + { +@@ -170,6 +176,8 @@ authnone_ops() + ops.ah_validate = authnone_validate; + ops.ah_refresh = authnone_refresh; + ops.ah_destroy = authnone_destroy; ++ ops.ah_wrap = authnone_wrap; ++ ops.ah_unwrap = authnone_wrap; + } + mutex_unlock(&ops_lock); + return (&ops); +diff --git a/src/auth_unix.c b/src/auth_unix.c +index c2469da..4b9b13f 100644 +--- a/src/auth_unix.c ++++ b/src/auth_unix.c +@@ -162,6 +162,7 @@ authunix_create(machname, uid, gid, len, aup_gids) + */ + auth->ah_cred = au->au_origcred; + marshal_new_auth(auth); ++ auth_get(auth); /* Reference for caller */ + return (auth); + #ifndef _KERNEL + cleanup_authunix_create: +@@ -396,6 +397,12 @@ marshal_new_auth(auth) + XDR_DESTROY(xdrs); + } + ++static bool_t ++authunix_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere) ++{ ++ return ((*xfunc)(xdrs, xwhere)); ++} ++ + static struct auth_ops * + authunix_ops() + { +@@ -411,6 +418,8 @@ authunix_ops() + ops.ah_validate = authunix_validate; + ops.ah_refresh = authunix_refresh; + ops.ah_destroy = authunix_destroy; ++ ops.ah_wrap = authunix_wrap; ++ ops.ah_unwrap = authunix_wrap; + } + mutex_unlock(&ops_lock); + return (&ops); +diff --git a/src/authgss_prot.c b/src/authgss_prot.c +index 9d7fa09..a3c93c9 100644 +--- a/src/authgss_prot.c ++++ b/src/authgss_prot.c +@@ -64,10 +64,10 @@ xdr_rpc_gss_buf(XDR *xdrs, gss_buffer_t buf, u_int maxsize) + if (xdr_stat && xdrs->x_op == XDR_DECODE) + buf->length = tmplen; + +- log_debug("xdr_rpc_gss_buf: %s %s (%p:%d)", +- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", +- (xdr_stat == TRUE) ? "success" : "failure", +- buf->value, buf->length); ++ gss_log_debug("xdr_rpc_gss_buf: %s %s (%p:%d)", ++ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", ++ (xdr_stat == TRUE) ? "success" : "failure", ++ buf->value, buf->length); + + return xdr_stat; + } +@@ -83,12 +83,12 @@ xdr_rpc_gss_cred(XDR *xdrs, struct rpc_gss_cred *p) + xdr_enum(xdrs, (enum_t *)&p->gc_svc) && + xdr_rpc_gss_buf(xdrs, &p->gc_ctx, MAX_AUTH_BYTES)); + +- log_debug("xdr_rpc_gss_cred: %s %s " +- "(v %d, proc %d, seq %d, svc %d, ctx %p:%d)", +- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", +- (xdr_stat == TRUE) ? "success" : "failure", +- p->gc_v, p->gc_proc, p->gc_seq, p->gc_svc, +- p->gc_ctx.value, p->gc_ctx.length); ++ gss_log_debug("xdr_rpc_gss_cred: %s %s " ++ "(v %d, proc %d, seq %d, svc %d, ctx %p:%d)", ++ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", ++ (xdr_stat == TRUE) ? "success" : "failure", ++ p->gc_v, p->gc_proc, p->gc_seq, p->gc_svc, ++ p->gc_ctx.value, p->gc_ctx.length); + + return (xdr_stat); + } +@@ -101,10 +101,10 @@ xdr_rpc_gss_init_args(XDR *xdrs, gss_buffer_desc *p) + + xdr_stat = xdr_rpc_gss_buf(xdrs, p, maxlen); + +- log_debug("xdr_rpc_gss_init_args: %s %s (token %p:%d)", +- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", +- (xdr_stat == TRUE) ? "success" : "failure", +- p->value, p->length); ++ gss_log_debug("xdr_rpc_gss_init_args: %s %s (token %p:%d)", ++ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", ++ (xdr_stat == TRUE) ? "success" : "failure", ++ p->value, p->length); + + return (xdr_stat); + } +@@ -123,13 +123,13 @@ xdr_rpc_gss_init_res(XDR *xdrs, struct rpc_gss_init_res *p) + xdr_u_int(xdrs, &p->gr_win) && + xdr_rpc_gss_buf(xdrs, &p->gr_token, tok_maxlen)); + +- log_debug("xdr_rpc_gss_init_res %s %s " +- "(ctx %p:%d, maj %d, min %d, win %d, token %p:%d)", +- (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", +- (xdr_stat == TRUE) ? "success" : "failure", +- p->gr_ctx.value, p->gr_ctx.length, +- p->gr_major, p->gr_minor, p->gr_win, +- p->gr_token.value, p->gr_token.length); ++ gss_log_debug("xdr_rpc_gss_init_res %s %s " ++ "(ctx %p:%d, maj %d, min %d, win %d, token %p:%d)", ++ (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode", ++ (xdr_stat == TRUE) ? "success" : "failure", ++ p->gr_ctx.value, p->gr_ctx.length, ++ p->gr_major, p->gr_minor, p->gr_win, ++ p->gr_token.value, p->gr_token.length); + + return (xdr_stat); + } +@@ -161,6 +161,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + databuflen = end - start - 4; + XDR_SETPOS(xdrs, start + 4); + databuf.value = XDR_INLINE(xdrs, databuflen); ++ databuf.length = databuflen; + + xdr_stat = FALSE; + +@@ -169,13 +170,12 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + XDR_SETPOS(xdrs, start); + if (!xdr_u_int(xdrs, (u_int *)&databuflen)) + return (FALSE); +- databuf.length = databuflen; + + /* Checksum rpc_gss_data_t. */ + maj_stat = gss_get_mic(&min_stat, ctx, qop, + &databuf, &wrapbuf); + if (maj_stat != GSS_S_COMPLETE) { +- log_debug("gss_get_mic failed"); ++ gss_log_debug("gss_get_mic failed"); + return (FALSE); + } + /* Marshal checksum. */ +@@ -189,7 +189,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + maj_stat = gss_wrap(&min_stat, ctx, TRUE, qop, &databuf, + &conf_state, &wrapbuf); + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_wrap", maj_stat, min_stat); ++ gss_log_status("gss_wrap", maj_stat, min_stat); + return (FALSE); + } + /* Marshal databody_priv. */ +@@ -222,13 +222,13 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + if (svc == RPCSEC_GSS_SVC_INTEGRITY) { + /* Decode databody_integ. */ + if (!xdr_rpc_gss_buf(xdrs, &databuf, (u_int)-1)) { +- log_debug("xdr decode databody_integ failed"); ++ gss_log_debug("xdr decode databody_integ failed"); + return (FALSE); + } + /* Decode checksum. */ + if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (u_int)-1)) { + gss_release_buffer(&min_stat, &databuf); +- log_debug("xdr decode checksum failed"); ++ gss_log_debug("xdr decode checksum failed"); + return (FALSE); + } + /* Verify checksum and QOP. */ +@@ -238,14 +238,14 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + + if (maj_stat != GSS_S_COMPLETE || qop_state != qop) { + gss_release_buffer(&min_stat, &databuf); +- log_status("gss_verify_mic", maj_stat, min_stat); ++ gss_log_status("gss_verify_mic", maj_stat, min_stat); + return (FALSE); + } + } + else if (svc == RPCSEC_GSS_SVC_PRIVACY) { + /* Decode databody_priv. */ + if (!xdr_rpc_gss_buf(xdrs, &wrapbuf, (u_int)-1)) { +- log_debug("xdr decode databody_priv failed"); ++ gss_log_debug("xdr decode databody_priv failed"); + return (FALSE); + } + /* Decrypt databody. */ +@@ -258,7 +258,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + if (maj_stat != GSS_S_COMPLETE || qop_state != qop || + conf_state != TRUE) { + gss_release_buffer(&min_stat, &databuf); +- log_status("gss_unwrap", maj_stat, min_stat); ++ gss_log_status("gss_unwrap", maj_stat, min_stat); + return (FALSE); + } + } +@@ -271,7 +271,7 @@ xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + + /* Verify sequence number. */ + if (xdr_stat == TRUE && seq_num != seq) { +- log_debug("wrong sequence number in databody"); ++ gss_log_debug("wrong sequence number in databody"); + return (FALSE); + } + return (xdr_stat); +@@ -300,7 +300,7 @@ xdr_rpc_gss_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr, + #include <ctype.h> + + void +-log_debug(const char *fmt, ...) ++gss_log_debug(const char *fmt, ...) + { + va_list ap; + +@@ -312,7 +312,7 @@ log_debug(const char *fmt, ...) + } + + void +-log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) ++gss_log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) + { + OM_uint32 min; + gss_buffer_desc msg; +@@ -332,7 +332,7 @@ log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) + } + + void +-log_hexdump(const u_char *buf, int len, int offset) ++gss_log_hexdump(const u_char *buf, int len, int offset) + { + u_int i, j, jm; + int c; +@@ -367,17 +367,17 @@ log_hexdump(const u_char *buf, int len, int offset) + #else + + void +-log_debug(const char *fmt, ...) ++gss_log_debug(const char *fmt, ...) + { + } + + void +-log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) ++gss_log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat) + { + } + + void +-log_hexdump(const u_char *buf, int len, int offset) ++gss_log_hexdump(const u_char *buf, int len, int offset) + { + } + +diff --git a/src/clnt_dg.c b/src/clnt_dg.c +index 79fed5d..4a1f60a 100644 +--- a/src/clnt_dg.c ++++ b/src/clnt_dg.c +@@ -366,7 +366,7 @@ call_again: + + if ((! XDR_PUTINT32(xdrs, (int32_t *)&proc)) || + (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || +- (! (*xargs)(xdrs, argsp))) { ++ (! AUTH_WRAP(cl->cl_auth, xdrs, xargs, argsp))) { + cu->cu_error.re_status = RPC_CANTENCODEARGS; + goto out; + } +@@ -400,8 +400,8 @@ get_reply: + * (We assume that this is actually only executed once.) + */ + reply_msg.acpted_rply.ar_verf = _null_auth; +- reply_msg.acpted_rply.ar_results.where = resultsp; +- reply_msg.acpted_rply.ar_results.proc = xresults; ++ reply_msg.acpted_rply.ar_results.where = NULL; ++ reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; + + fd.fd = cu->cu_fd; + fd.events = POLLIN; +@@ -512,6 +512,10 @@ get_reply: + &reply_msg.acpted_rply.ar_verf)) { + cu->cu_error.re_status = RPC_AUTHERROR; + cu->cu_error.re_why = AUTH_INVALIDRESP; ++ } else if (! AUTH_UNWRAP(cl->cl_auth, &reply_xdrs, ++ xresults, resultsp)) { ++ if (cu->cu_error.re_status == RPC_SUCCESS) ++ cu->cu_error.re_status = RPC_CANTDECODERES; + } + if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { + xdrs->x_op = XDR_FREE; +diff --git a/src/clnt_vc.c b/src/clnt_vc.c +index 359063c..097cae8 100644 +--- a/src/clnt_vc.c ++++ b/src/clnt_vc.c +@@ -364,7 +364,7 @@ call_again: + if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) || + (! XDR_PUTINT32(xdrs, (int32_t *)&proc)) || + (! AUTH_MARSHALL(cl->cl_auth, xdrs)) || +- (! (*xdr_args)(xdrs, args_ptr))) { ++ (! AUTH_WRAP(cl->cl_auth, xdrs, xdr_args, args_ptr))) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = RPC_CANTENCODEARGS; + (void)xdrrec_endofrecord(xdrs, TRUE); +@@ -420,7 +420,8 @@ call_again: + &reply_msg.acpted_rply.ar_verf)) { + ct->ct_error.re_status = RPC_AUTHERROR; + ct->ct_error.re_why = AUTH_INVALIDRESP; +- } else if (! (*xdr_results)(xdrs, results_ptr)) { ++ } else if (! AUTH_UNWRAP(cl->cl_auth, xdrs, ++ xdr_results, results_ptr)) { + if (ct->ct_error.re_status == RPC_SUCCESS) + ct->ct_error.re_status = RPC_CANTDECODERES; + } +diff --git a/src/rpc_soc.c b/src/rpc_soc.c +index c678429..63d2197 100644 +--- a/src/rpc_soc.c ++++ b/src/rpc_soc.c +@@ -560,12 +560,10 @@ clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz) + u_int recvsz; + { + struct netbuf *svcaddr; +- struct netconfig *nconf; + CLIENT *cl; + int len; + + cl = NULL; +- nconf = NULL; + svcaddr = NULL; + if (((svcaddr = malloc(sizeof(struct netbuf))) == NULL ) || + ((svcaddr->buf = malloc(sizeof(struct sockaddr_un))) == NULL)) { +diff --git a/src/svc.c b/src/svc.c +index b4a63d0..08cd6c9 100644 +--- a/src/svc.c ++++ b/src/svc.c +@@ -77,9 +77,6 @@ static struct svc_callout + + extern rwlock_t svc_lock; + extern rwlock_t svc_fd_lock; +-#ifdef HAVE_LIBGSSAPI +-extern struct svc_auth_ops svc_auth_gss_ops; +-#endif + + static struct svc_callout *svc_find (rpcprog_t, rpcvers_t, + struct svc_callout **, char *); +@@ -717,11 +714,9 @@ svc_getreq_common (fd) + SVC_DESTROY (xprt); + break; + } +- else if ((xprt->xp_auth != NULL) +-#ifdef HAVE_LIBGSSAPI +- && (xprt->xp_auth->svc_ah_ops != &svc_auth_gss_ops) +-#endif +- ) { ++ else if ((xprt->xp_auth != NULL) && ++ (xprt->xp_auth->svc_ah_private == NULL)) ++ { + xprt->xp_auth = NULL; + } + } +diff --git a/src/svc_auth.c b/src/svc_auth.c +index c6b3a0b..e80d5f9 100644 +--- a/src/svc_auth.c ++++ b/src/svc_auth.c +@@ -98,8 +98,8 @@ _authenticate(rqst, msg) + rqst->rq_xprt->xp_verf.oa_length = 0; + cred_flavor = rqst->rq_cred.oa_flavor; + switch (cred_flavor) { +- case AUTH_NULL: +- dummy = _svcauth_null(rqst, msg); ++ case AUTH_NONE: ++ dummy = _svcauth_none(rqst, msg); + return (dummy); + case AUTH_SYS: + dummy = _svcauth_unix(rqst, msg); +@@ -132,15 +132,6 @@ _authenticate(rqst, msg) + return (AUTH_REJECTEDCRED); + } + +-/*ARGSUSED*/ +-enum auth_stat +-_svcauth_null(rqst, msg) +- struct svc_req *rqst; +- struct rpc_msg *msg; +-{ +- return (AUTH_OK); +-} +- + /* + * Allow the rpc service to register new authentication types that it is + * prepared to handle. When an authentication flavor is registered, +diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c +index 54b23b1..9c74313 100644 +--- a/src/svc_auth_gss.c ++++ b/src/svc_auth_gss.c +@@ -87,13 +87,13 @@ svcauth_gss_set_svc_name(gss_name_t name) + { + OM_uint32 maj_stat, min_stat; + +- log_debug("in svcauth_gss_set_svc_name()"); ++ gss_log_debug("in svcauth_gss_set_svc_name()"); + + if (_svcauth_gss_name != NULL) { + maj_stat = gss_release_name(&min_stat, &_svcauth_gss_name); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_release_name", maj_stat, min_stat); ++ gss_log_status("gss_release_name", maj_stat, min_stat); + return (FALSE); + } + _svcauth_gss_name = NULL; +@@ -101,7 +101,7 @@ svcauth_gss_set_svc_name(gss_name_t name) + maj_stat = gss_duplicate_name(&min_stat, name, &_svcauth_gss_name); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_duplicate_name", maj_stat, min_stat); ++ gss_log_status("gss_duplicate_name", maj_stat, min_stat); + return (FALSE); + } + +@@ -115,7 +115,7 @@ svcauth_gss_import_name(char *service) + gss_buffer_desc namebuf; + OM_uint32 maj_stat, min_stat; + +- log_debug("in svcauth_gss_import_name()"); ++ gss_log_debug("in svcauth_gss_import_name()"); + + namebuf.value = service; + namebuf.length = strlen(service); +@@ -124,7 +124,7 @@ svcauth_gss_import_name(char *service) + (gss_OID)GSS_C_NT_HOSTBASED_SERVICE, &name); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_import_name", maj_stat, min_stat); ++ gss_log_status("gss_import_name", maj_stat, min_stat); + return (FALSE); + } + if (svcauth_gss_set_svc_name(name) != TRUE) { +@@ -139,14 +139,14 @@ svcauth_gss_acquire_cred(void) + { + OM_uint32 maj_stat, min_stat; + +- log_debug("in svcauth_gss_acquire_cred()"); ++ gss_log_debug("in svcauth_gss_acquire_cred()"); + + maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, 0, + GSS_C_NULL_OID_SET, GSS_C_ACCEPT, + &_svcauth_gss_creds, NULL, NULL); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_acquire_cred", maj_stat, min_stat); ++ gss_log_status("gss_acquire_cred", maj_stat, min_stat); + return (FALSE); + } + return (TRUE); +@@ -157,12 +157,12 @@ svcauth_gss_release_cred(void) + { + OM_uint32 maj_stat, min_stat; + +- log_debug("in svcauth_gss_release_cred()"); ++ gss_log_debug("in svcauth_gss_release_cred()"); + + maj_stat = gss_release_cred(&min_stat, &_svcauth_gss_creds); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_release_cred", maj_stat, min_stat); ++ gss_log_status("gss_release_cred", maj_stat, min_stat); + return (FALSE); + } + +@@ -181,7 +181,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, + gss_OID mech; + OM_uint32 maj_stat = 0, min_stat = 0, ret_flags, seq; + +- log_debug("in svcauth_gss_accept_context()"); ++ gss_log_debug("in svcauth_gss_accept_context()"); + + gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth); + gc = (struct rpc_gss_cred *)rqst->rq_clntcred; +@@ -208,7 +208,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, + + if (gr->gr_major != GSS_S_COMPLETE && + gr->gr_major != GSS_S_CONTINUE_NEEDED) { +- log_status("accept_sec_context", gr->gr_major, gr->gr_minor); ++ gss_log_status("accept_sec_context", gr->gr_major, gr->gr_minor); + gd->ctx = GSS_C_NO_CONTEXT; + gss_release_buffer(&min_stat, &gr->gr_token); + return (FALSE); +@@ -238,7 +238,7 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, + maj_stat = gss_display_name(&min_stat, gd->client_name, + &gd->cname, &gd->sec.mech); + if (maj_stat != GSS_S_COMPLETE) { +- log_status("display_name", maj_stat, min_stat); ++ gss_log_status("display_name", maj_stat, min_stat); + return (FALSE); + } + #ifdef DEBUG +@@ -248,19 +248,19 @@ svcauth_gss_accept_sec_context(struct svc_req *rqst, + + gss_oid_to_str(&min_stat, mech, &mechname); + +- log_debug("accepted context for %.*s with " +- "<mech %.*s, qop %d, svc %d>", +- gd->cname.length, (char *)gd->cname.value, +- mechname.length, (char *)mechname.value, +- gd->sec.qop, gd->sec.svc); ++ gss_log_debug("accepted context for %.*s with " ++ "<mech %.*s, qop %d, svc %d>", ++ gd->cname.length, (char *)gd->cname.value, ++ mechname.length, (char *)mechname.value, ++ gd->sec.qop, gd->sec.svc); + + gss_release_buffer(&min_stat, &mechname); + } + #elif HAVE_HEIMDAL +- log_debug("accepted context for %.*s with " +- "<mech {}, qop %d, svc %d>", +- gd->cname.length, (char *)gd->cname.value, +- gd->sec.qop, gd->sec.svc); ++ gss_log_debug("accepted context for %.*s with " ++ "<mech {}, qop %d, svc %d>", ++ gd->cname.length, (char *)gd->cname.value, ++ gd->sec.qop, gd->sec.svc); + #endif + #endif /* DEBUG */ + seq = htonl(gr->gr_win); +@@ -289,7 +289,7 @@ svcauth_gss_validate(struct svc_rpc_gss_data *gd, struct rpc_msg *msg) + u_char rpchdr[128]; + int32_t *buf; + +- log_debug("in svcauth_gss_validate()"); ++ gss_log_debug("in svcauth_gss_validate()"); + + memset(rpchdr, 0, sizeof(rpchdr)); + +@@ -326,7 +326,7 @@ svcauth_gss_validate(struct svc_rpc_gss_data *gd, struct rpc_msg *msg) + &qop_state); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_verify_mic", maj_stat, min_stat); ++ gss_log_status("gss_verify_mic", maj_stat, min_stat); + return (FALSE); + } + return (TRUE); +@@ -339,7 +339,7 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num) + gss_buffer_desc signbuf, checksum; + OM_uint32 maj_stat, min_stat; + +- log_debug("in svcauth_gss_nextverf()"); ++ gss_log_debug("in svcauth_gss_nextverf()"); + + if (rqst->rq_xprt->xp_auth == NULL) + return (FALSE); +@@ -353,7 +353,7 @@ svcauth_gss_nextverf(struct svc_req *rqst, u_int num) + &signbuf, &checksum); + + if (maj_stat != GSS_S_COMPLETE) { +- log_status("gss_get_mic", maj_stat, min_stat); ++ gss_log_status("gss_get_mic", maj_stat, min_stat); + return (FALSE); + } + rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS; +@@ -373,7 +373,7 @@ _svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch) + struct rpc_gss_init_res gr; + int call_stat, offset; + +- log_debug("in svcauth_gss()"); ++ gss_log_debug("in svcauth_gss()"); + + /* Initialize reply. */ + rqst->rq_xprt->xp_verf = _null_auth; +@@ -519,7 +519,7 @@ svcauth_gss_destroy(SVCAUTH *auth) + struct svc_rpc_gss_data *gd; + OM_uint32 min_stat; + +- log_debug("in svcauth_gss_destroy()"); ++ gss_log_debug("in svcauth_gss_destroy()"); + + gd = SVCAUTH_PRIVATE(auth); + +@@ -540,7 +540,7 @@ svcauth_gss_wrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr) + { + struct svc_rpc_gss_data *gd; + +- log_debug("in svcauth_gss_wrap()"); ++ gss_log_debug("in svcauth_gss_wrap()"); + + gd = SVCAUTH_PRIVATE(auth); + +@@ -557,7 +557,7 @@ svcauth_gss_unwrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr + { + struct svc_rpc_gss_data *gd; + +- log_debug("in svcauth_gss_unwrap()"); ++ gss_log_debug("in svcauth_gss_unwrap()"); + + gd = SVCAUTH_PRIVATE(auth); + +diff --git a/src/svc_auth_unix.c b/src/svc_auth_unix.c +index ce83859..9585069 100644 +--- a/src/svc_auth_unix.c ++++ b/src/svc_auth_unix.c +@@ -43,6 +43,8 @@ + + #include <rpc/rpc.h> + ++extern SVCAUTH svc_auth_none; ++ + /* + * Unix longhand authenticator + */ +@@ -67,6 +69,8 @@ _svcauth_unix(rqst, msg) + assert(rqst != NULL); + assert(msg != NULL); + ++ rqst->rq_xprt->xp_auth = &svc_auth_none; ++ + area = (struct area *) rqst->rq_clntcred; + aup = &area->area_aup; + aup->aup_machname = area->area_machname; +@@ -142,5 +146,6 @@ _svcauth_short(rqst, msg) + struct svc_req *rqst; + struct rpc_msg *msg; + { ++ rqst->rq_xprt->xp_auth = &svc_auth_none; + return (AUTH_REJECTEDCRED); + } +diff --git a/src/svc_dg.c b/src/svc_dg.c +index 66a56ee..081db61 100644 +--- a/src/svc_dg.c ++++ b/src/svc_dg.c +@@ -134,6 +134,7 @@ svc_dg_create(fd, sendsize, recvsize) + su->su_cache = NULL; + xprt->xp_fd = fd; + xprt->xp_p2 = su; ++ xprt->xp_auth = NULL; + xprt->xp_verf.oa_base = su->su_verfbody; + svc_dg_ops(xprt); + xprt->xp_rtaddr.maxlen = sizeof (struct sockaddr_storage); +@@ -234,10 +235,27 @@ svc_dg_reply(xprt, msg) + bool_t stat = FALSE; + size_t slen; + ++ xdrproc_t xdr_results; ++ caddr_t xdr_location; ++ bool_t has_args; ++ ++ if (msg->rm_reply.rp_stat == MSG_ACCEPTED && ++ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) { ++ has_args = TRUE; ++ xdr_results = msg->acpted_rply.ar_results.proc; ++ xdr_location = msg->acpted_rply.ar_results.where; ++ ++ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; ++ msg->acpted_rply.ar_results.where = NULL; ++ } else ++ has_args = FALSE; ++ + xdrs->x_op = XDR_ENCODE; + XDR_SETPOS(xdrs, 0); + msg->rm_xid = su->su_xid; +- if (xdr_replymsg(xdrs, msg)) { ++ if (xdr_replymsg(xdrs, msg) && ++ (!has_args || (xprt->xp_auth && ++ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) { + struct msghdr *msg = &su->su_msghdr; + struct iovec iov; + +@@ -264,7 +282,12 @@ svc_dg_getargs(xprt, xdr_args, args_ptr) + xdrproc_t xdr_args; + void *args_ptr; + { +- return (*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr); ++ if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs), ++ xdr_args, args_ptr)) { ++ (void)svc_freeargs(xprt, xdr_args, args_ptr); ++ return FALSE; ++ } ++ return TRUE; + } + + static bool_t +@@ -288,6 +311,10 @@ svc_dg_destroy(xprt) + xprt_unregister(xprt); + if (xprt->xp_fd != -1) + (void)close(xprt->xp_fd); ++ if (xprt->xp_auth != NULL) { ++ SVCAUTH_DESTROY(xprt->xp_auth); ++ xprt->xp_auth = NULL; ++ } + XDR_DESTROY(&(su->su_xdrs)); + (void) mem_free(rpc_buffer(xprt), su->su_iosz); + (void) mem_free(su, sizeof (*su)); +diff --git a/src/svc_vc.c b/src/svc_vc.c +index aaaf2d7..4c70de8 100644 +--- a/src/svc_vc.c ++++ b/src/svc_vc.c +@@ -172,6 +172,7 @@ svc_vc_create(fd, sendsize, recvsize) + xprt->xp_p1 = r; + xprt->xp_p2 = NULL; + xprt->xp_p3 = NULL; ++ xprt->xp_auth = NULL; + xprt->xp_verf = _null_auth; + svc_vc_rendezvous_ops(xprt); + xprt->xp_port = (u_short)-1; /* It is the rendezvouser */ +@@ -283,6 +284,7 @@ makefd_xprt(fd, sendsize, recvsize) + xdrrec_create(&(cd->xdrs), sendsize, recvsize, + xprt, read_vc, write_vc); + xprt->xp_p1 = cd; ++ xprt->xp_auth = NULL; + xprt->xp_verf.oa_base = cd->verf_body; + svc_vc_ops(xprt); /* truely deals with calls */ + xprt->xp_port = 0; /* this is a connection, not a rendezvouser */ +@@ -412,6 +414,10 @@ __svc_vc_dodestroy(xprt) + XDR_DESTROY(&(cd->xdrs)); + mem_free(cd, sizeof(struct cf_conn)); + } ++ if (xprt->xp_auth != NULL) { ++ SVCAUTH_DESTROY(xprt->xp_auth); ++ xprt->xp_auth = NULL; ++ } + if (xprt->xp_rtaddr.buf) + mem_free(xprt->xp_rtaddr.buf, xprt->xp_rtaddr.maxlen); + if (xprt->xp_ltaddr.buf) +@@ -610,7 +616,11 @@ svc_vc_recv(xprt, msg) + } + + xdrs->x_op = XDR_DECODE; +- (void)xdrrec_skiprecord(xdrs); ++ /* ++ * No need skip records with nonblocking connections ++ */ ++ if (cd->nonblock == FALSE) ++ (void)xdrrec_skiprecord(xdrs); + if (xdr_callmsg(xdrs, msg)) { + cd->x_id = msg->rm_xid; + return (TRUE); +@@ -628,8 +638,13 @@ svc_vc_getargs(xprt, xdr_args, args_ptr) + + assert(xprt != NULL); + /* args_ptr may be NULL */ +- return ((*xdr_args)(&(((struct cf_conn *)(xprt->xp_p1))->xdrs), +- args_ptr)); ++ ++ if (! SVCAUTH_UNWRAP(xprt->xp_auth, ++ &(((struct cf_conn *)(xprt->xp_p1))->xdrs), ++ xdr_args, args_ptr)) { ++ return FALSE; ++ } ++ return TRUE; + } + + static bool_t +@@ -658,15 +673,35 @@ svc_vc_reply(xprt, msg) + XDR *xdrs; + bool_t rstat; + ++ xdrproc_t xdr_results; ++ caddr_t xdr_location; ++ bool_t has_args; ++ + assert(xprt != NULL); + assert(msg != NULL); + + cd = (struct cf_conn *)(xprt->xp_p1); + xdrs = &(cd->xdrs); + ++ if (msg->rm_reply.rp_stat == MSG_ACCEPTED && ++ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) { ++ has_args = TRUE; ++ xdr_results = msg->acpted_rply.ar_results.proc; ++ xdr_location = msg->acpted_rply.ar_results.where; ++ ++ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; ++ msg->acpted_rply.ar_results.where = NULL; ++ } else ++ has_args = FALSE; ++ + xdrs->x_op = XDR_ENCODE; + msg->rm_xid = cd->x_id; +- rstat = xdr_replymsg(xdrs, msg); ++ rstat = FALSE; ++ if (xdr_replymsg(xdrs, msg) && ++ (!has_args || (xprt->xp_auth && ++ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) { ++ rstat = TRUE; ++ } + (void)xdrrec_endofrecord(xdrs, TRUE); + return (rstat); + } +diff --git a/src/xdr_rec.c b/src/xdr_rec.c +index 4e815d7..2aca623 100644 +--- a/src/xdr_rec.c ++++ b/src/xdr_rec.c +@@ -64,7 +64,6 @@ + #include <rpc/clnt.h> + #include <stddef.h> + #include "rpc_com.h" +-#include <unistd.h> + static bool_t xdrrec_getlong(XDR *, long *); + static bool_t xdrrec_putlong(XDR *, const long *); + static bool_t xdrrec_getbytes(XDR *, char *, u_int); +@@ -330,22 +329,22 @@ xdrrec_getpos(xdrs) + RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private; + off_t pos; + +- pos = lseek((int)(u_long)rstrm->tcp_handle, (off_t)0, 1); +- if (pos != -1) +- switch (xdrs->x_op) { ++ switch (xdrs->x_op) { + +- case XDR_ENCODE: +- pos += rstrm->out_finger - rstrm->out_base; +- break; ++ case XDR_ENCODE: ++ pos = rstrm->out_finger - rstrm->out_base ++ - BYTES_PER_XDR_UNIT; ++ break; + +- case XDR_DECODE: +- pos -= rstrm->in_boundry - rstrm->in_finger; +- break; ++ case XDR_DECODE: ++ pos = rstrm->in_boundry - rstrm->in_finger ++ - BYTES_PER_XDR_UNIT; ++ break; + +- default: +- pos = (off_t) -1; +- break; +- } ++ default: ++ pos = (off_t) -1; ++ break; ++ } + return ((u_int) pos); + } + +diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h +index 734e6b9..e7bbe36 100644 +--- a/tirpc/rpc/auth.h ++++ b/tirpc/rpc/auth.h +@@ -51,6 +51,7 @@ + #include <sys/cdefs.h> + #include <sys/socket.h> + #include <sys/types.h> ++#include <stdio.h> + + + #define MAX_AUTH_BYTES 400 +@@ -203,8 +204,22 @@ typedef struct __auth { + + } *ah_ops; + void *ah_private; ++ int ah_refcnt; + } AUTH; + ++static __inline int ++auth_get(AUTH *auth) ++{ ++ return __sync_add_and_fetch(&auth->ah_refcnt, 1); ++} ++ ++static __inline int ++auth_put(AUTH *auth) ++{ ++ return __sync_sub_and_fetch(&auth->ah_refcnt, 1); ++} ++ ++ + + /* + * Authentication ops. +@@ -234,10 +249,29 @@ typedef struct __auth { + #define auth_refresh(auth, msg) \ + ((*((auth)->ah_ops->ah_refresh))(auth, msg)) + +-#define AUTH_DESTROY(auth) \ +- ((*((auth)->ah_ops->ah_destroy))(auth)) +-#define auth_destroy(auth) \ +- ((*((auth)->ah_ops->ah_destroy))(auth)) ++#if defined(__GNUC__) && defined(DEBUG) ++#define auth_log_debug(fmt,args...) printf(stderr, fmt, args) ++#else ++#define auth_log_debug(fmt,args...) ++#endif ++ ++#define AUTH_DESTROY(auth) \ ++ do { \ ++ int refs; \ ++ if ((refs = auth_put((auth))) == 0) \ ++ ((*((auth)->ah_ops->ah_destroy))(auth));\ ++ auth_log_debug("%s: auth_put(), refs %d\n", \ ++ __func__, refs); \ ++ } while (0) ++ ++#define auth_destroy(auth) \ ++ do { \ ++ int refs; \ ++ if ((refs = auth_put((auth))) == 0) \ ++ ((*((auth)->ah_ops->ah_destroy))(auth));\ ++ auth_log_debug("%s: auth_put(), refs %d\n", \ ++ __func__, refs); \ ++ } while (0) + + #define AUTH_WRAP(auth, xdrs, xfunc, xwhere) \ + ((*((auth)->ah_ops->ah_wrap))(auth, xdrs, \ +@@ -373,7 +407,7 @@ __END_DECLS + __BEGIN_DECLS + struct svc_req; + struct rpc_msg; +-enum auth_stat _svcauth_null (struct svc_req *, struct rpc_msg *); ++enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *); + enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *); + enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *); + __END_DECLS +diff --git a/tirpc/rpc/auth_gss.h b/tirpc/rpc/auth_gss.h +index 633b11f..fc3ffbd 100644 +--- a/tirpc/rpc/auth_gss.h ++++ b/tirpc/rpc/auth_gss.h +@@ -120,10 +120,10 @@ bool_t authgss_service __P((AUTH *auth, int svc)); + bool_t authgss_get_private_data __P((AUTH *auth, + struct authgss_private_data *)); + +-void log_debug __P((const char *fmt, ...)); +-void log_status __P((char *m, OM_uint32 major, ++void gss_log_debug __P((const char *fmt, ...)); ++void gss_log_status __P((char *m, OM_uint32 major, + OM_uint32 minor)); +-void log_hexdump __P((const u_char *buf, int len, int offset)); ++void gss_log_hexdump __P((const u_char *buf, int len, int offset)); + + __END_DECLS + +diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h +index e3d6897..d2881ad 100644 +--- a/tirpc/rpc/des.h ++++ b/tirpc/rpc/des.h +@@ -33,6 +33,9 @@ + * Copyright (c) 1986 by Sun Microsystems, Inc. + */ + ++#ifndef _RPC_DES_H_ ++#define _RPC_DES_H_ ++ + #define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */ + #define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */ + +@@ -80,3 +83,5 @@ struct desparams { + * Software DES. + */ + extern int _des_crypt( char *, int, struct desparams * ); ++ ++#endif +diff --git a/tirpc/rpc/svc_auth.h b/tirpc/rpc/svc_auth.h +index 659e90c..14269d1 100644 +--- a/tirpc/rpc/svc_auth.h ++++ b/tirpc/rpc/svc_auth.h +@@ -44,17 +44,23 @@ + /* + * Interface to server-side authentication flavors. + */ +-typedef struct { ++typedef struct SVCAUTH { + struct svc_auth_ops { +- int (*svc_ah_wrap)(void); +- int (*svc_ah_unwrap)(void); +- int (*svc_ah_destroy)(void); ++ int (*svc_ah_wrap)(struct SVCAUTH *, XDR *, xdrproc_t, ++ caddr_t); ++ int (*svc_ah_unwrap)(struct SVCAUTH *, XDR *, xdrproc_t, ++ caddr_t); ++ int (*svc_ah_destroy)(struct SVCAUTH *); + } *svc_ah_ops; + caddr_t svc_ah_private; + } SVCAUTH; + +-#define SVCAUTH_DESTROY(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)()) +-#define svcauth_destroy(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)()) ++#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \ ++ ((*((auth)->svc_ah_ops->svc_ah_wrap))(auth, xdrs, xfunc, xwhere)) ++#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \ ++ ((*((auth)->svc_ah_ops->svc_ah_unwrap))(auth, xdrs, xfunc, xwhere)) ++#define SVCAUTH_DESTROY(auth) \ ++ ((*((auth)->svc_ah_ops->svc_ah_destroy))(auth)) + + /* + * Server side authenticator diff --git a/extra/banshee/PKGBUILD b/extra/banshee/PKGBUILD index 0cce416cd..e1ae6bf4c 100644 --- a/extra/banshee/PKGBUILD +++ b/extra/banshee/PKGBUILD @@ -4,32 +4,27 @@ pkgname=banshee pkgver=2.6.0 -pkgrel=1 +pkgrel=2 pkgdesc="Music management and playback for GNOME" arch=('i686' 'x86_64') url="http://banshee.fm/" license=('MIT') -depends=(libxxf86vm gst-plugins-base mono-addins dbus-sharp-glib boo libwebkit libsoup-gnome gdata-sharp taglib-sharp gudev-sharp gkeyfile-sharp gconf-sharp libmtp libgpod mono-zeroconf desktop-file-utils hicolor-icon-theme xdg-utils media-player-info gst-plugins-bad mono-upnp) +depends=(libxxf86vm gstreamer0.10-base-plugins mono-addins dbus-sharp-glib boo libwebkit libsoup-gnome gdata-sharp taglib-sharp gudev-sharp gkeyfile-sharp gconf-sharp libmtp libgpod mono-zeroconf desktop-file-utils hicolor-icon-theme xdg-utils media-player-info gstreamer0.10-bad-plugins mono-upnp) makedepends=('intltool' 'gnome-doc-utils' 'gtk-sharp-beans' 'gnome-common') -optdepends=('gst-plugins-good: Extra media codecs' - 'gst-plugins-ugly: Extra media codecs' - 'gst-libav: Extra media codecs' +optdepends=('gstreamer0.10-good-plugins: Extra media codecs' + 'gstreamer0.10-ugly-plugins: Extra media codecs' + 'gstreamer0.10-ffmpeg: Extra media codecs' 'brasero: CD burning') options=('!libtool') install=$pkgname.install -source=(http://download.gnome.org/sources/$pkgname/2.6/$pkgname-$pkgver.tar.xz - gst-1.0.patch) -sha256sums=('a47cc741f8ef2f81726ec4872e8179b17efa271c0c991e912e384fabf777394a' - 'eddf696b0be91331fae8d63c23277a355e94539a3436a8619dab2d732b30234e') +source=(http://download.gnome.org/sources/$pkgname/2.6/$pkgname-$pkgver.tar.xz) +sha256sums=('a47cc741f8ef2f81726ec4872e8179b17efa271c0c991e912e384fabf777394a') build() { export MONO_SHARED_DIR="$srcdir/.wabi" mkdir -p "$MONO_SHARED_DIR" cd "$srcdir/$pkgname-$pkgver" - #https://bugzilla.gnome.org/show_bug.cgi?id=679433 - patch -Np1 -i "${srcdir}/gst-1.0.patch" - ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --disable-docs \ --disable-static \ diff --git a/extra/gvfs/PKGBUILD b/extra/gvfs/PKGBUILD index 903546354..9b966cd4c 100644 --- a/extra/gvfs/PKGBUILD +++ b/extra/gvfs/PKGBUILD @@ -1,20 +1,27 @@ -# $Id: PKGBUILD 169942 2012-10-30 22:46:10Z heftig $ +# $Id: PKGBUILD 170252 2012-11-06 11:45:54Z foutrelis $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=gvfs pkgname=('gvfs' 'gvfs-smb' 'gvfs-afc' 'gvfs-afp' 'gvfs-gphoto2' 'gvfs-obexftp') -pkgver=1.14.0 +pkgver=1.14.1 pkgrel=1 arch=('i686' 'x86_64') license=('LGPL') makedepends=('avahi' 'bluez' 'dbus-glib' 'fuse' 'intltool' 'libarchive' 'libcdio' 'libgphoto2' 'libimobiledevice' 'libsoup-gnome' 'smbclient' 'udisks2' 'libsecret' 'docbook-xsl' 'gtk3') url="http://www.gnome.org" options=(!libtool) -source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz) -sha256sums=('71ab8cf60070025d1aff9bee1f514fdb45682ffad01b6856cabab1bc3791bfb4') +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz + do-not-emit-connected-added-signals-at-object-creation.patch) +sha256sums=('0af86cd7ee7b6daca144776bdf12f2f30d3e18fdd70b4da58e1a68cea4f6716a' + '2596b5a35e08566c4c3a8c8cc48f93534ee93c47eb13b649a8b399a9b656f9d0') build() { cd "$pkgbase-$pkgver" + + # https://bugzilla.gnome.org/show_bug.cgi?id=687525 + # https://bugzilla.gnome.org/show_bug.cgi?id=684677 + patch -Np1 -i "$srcdir/do-not-emit-connected-added-signals-at-object-creation.patch" + ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static \ --libexecdir=/usr/lib/gvfs \ diff --git a/extra/gvfs/do-not-emit-connected-added-signals-at-object-creation.patch b/extra/gvfs/do-not-emit-connected-added-signals-at-object-creation.patch new file mode 100644 index 000000000..9369c87bd --- /dev/null +++ b/extra/gvfs/do-not-emit-connected-added-signals-at-object-creation.patch @@ -0,0 +1,39 @@ +From ca7743a63721c3dd1c166006539e356412466dcc Mon Sep 17 00:00:00 2001 +From: Cosimo Cecchi <cosimoc@gnome.org> +Date: Sun, 23 Sep 2012 18:51:32 +0000 +Subject: proxy: don't emit connected/added signals at object creation + +It's unnecessary to emit those signals when the object is created, and +it can cause weird side-effects if applications e.g. play a sound on +signal emission. + +https://bugzilla.gnome.org/show_bug.cgi?id=684677 +--- +diff --git a/monitor/proxy/gproxyvolumemonitor.c b/monitor/proxy/gproxyvolumemonitor.c +index 1af6c34..37fc788 100644 +--- a/monitor/proxy/gproxyvolumemonitor.c ++++ b/monitor/proxy/gproxyvolumemonitor.c +@@ -955,6 +955,7 @@ g_proxy_volume_monitor_constructor (GType type, + GObjectClass *parent_class; + GError *error; + const char *dbus_name; ++ gchar *name_owner; + + G_LOCK (proxy_vm); + +@@ -1018,7 +1019,12 @@ g_proxy_volume_monitor_constructor (GType type, + /* listen to when the owner of the service appears/disappears */ + g_signal_connect (monitor->proxy, "notify::g-name-owner", G_CALLBACK (name_owner_changed), monitor); + /* initially seed drives/volumes/mounts if we have an owner */ +- name_owner_changed (G_OBJECT (monitor->proxy), NULL, monitor); ++ name_owner = g_dbus_proxy_get_name_owner (G_DBUS_PROXY (monitor->proxy)); ++ if (name_owner != NULL) ++ { ++ seed_monitor (monitor); ++ g_free (name_owner); ++ } + + g_hash_table_insert (the_volume_monitors, (gpointer) type, object); + +-- +cgit v0.9.0.2 diff --git a/extra/htop/PKGBUILD b/extra/htop/PKGBUILD index 3f17df113..93b4db608 100644 --- a/extra/htop/PKGBUILD +++ b/extra/htop/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 150717 2012-02-21 01:27:23Z angvp $ +# $Id: PKGBUILD 170397 2012-11-07 01:25:17Z dreisner $ # Maintainer: Angel Velasquez <angvp@archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=htop -pkgver=1.0.1 +pkgver=1.0.2 pkgrel=1 pkgdesc="Interactive process viewer" arch=('i686' 'x86_64') @@ -12,27 +12,28 @@ url="http://htop.sourceforge.net/" license=('GPL') depends=('ncurses') makedepends=('python2') -optdepends=('lsof' 'strace') +optdepends=('lsof: show files opened by a process' + 'strace: attach to a running process') options=('!emptydirs') -changelog=ChangeLog -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('d3b80d905a6bff03f13896870787f901') +source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz") +md5sums=('0d01cca8df3349c74569cefebbd9919e') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$pkgname-$pkgver" - sed -i 's|ncursesw/curses.h|curses.h|' RichString.h RichString.c configure - sed -i 's|python|python2|' scripts/MakeHeader.py + sed -i 's|ncursesw/curses.h|curses.h|' RichString.[ch] configure + sed -i 's|python|python2|' scripts/MakeHeader.py - ./configure --prefix=/usr \ + ./configure \ + --prefix=/usr \ --enable-unicode \ --enable-openvz \ - --enable-vserver \ + --enable-vserver \ --enable-cgroup - make + + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install } diff --git a/extra/hwloc/PKGBUILD b/extra/hwloc/PKGBUILD index c1a138c3e..c59e2a8b5 100644 --- a/extra/hwloc/PKGBUILD +++ b/extra/hwloc/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 167416 2012-10-02 00:13:40Z stephane $ +# $Id: PKGBUILD 170363 2012-11-06 14:16:10Z stephane $ # Maintainer : Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Sylvain HENRY <hsyl20@yahoo.fr> # Contributor: Hervé YVIQUEL <elldekaa@gmail.com> pkgname=hwloc -pkgver=1.5 +pkgver=1.5.1 pkgrel=1 pkgdesc="Portable Hardware Locality is a portable abstraction of hierarchical architectures" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ depends=('sh' 'pciutils' 'cairo' 'libxml2') makedepends=('pkg-config') options=('!libtool' '!docs') source=(http://www.open-mpi.org/software/hwloc/v1.5/downloads/${pkgname}-${pkgver}.tar.bz2) -sha1sums=('b2e60bd40cfc6ca79dde68b19a83e8a4719d6b14') +sha1sums=('5ce00444d7ffc261ff7877ce685a920fb38a771a') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/link-grammar/PKGBUILD b/extra/link-grammar/PKGBUILD index b8bddf377..de4fc64e2 100644 --- a/extra/link-grammar/PKGBUILD +++ b/extra/link-grammar/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 169082 2012-10-17 18:53:40Z giovanni $ +# $Id: PKGBUILD 170367 2012-11-06 17:34:52Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Jan de Groot <jgc@archlinux.org> pkgname=link-grammar -pkgver=4.7.8 +pkgver=4.7.9 pkgrel=1 pkgdesc="A Grammar Checking library" arch=('i686' 'x86_64') url="http://www.abisource.com/downloads/link-grammar/" license=('BSD') -depends=('glibc') +depends=('aspell') options=('!libtool' '!makeflags') source=("http://www.abisource.com/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz") -md5sums=('27de0300841a6e8cbd607d5cb43d4eda') +md5sums=('c115f2b46d577e038e52128ece034144') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/live-media/PKGBUILD b/extra/live-media/PKGBUILD index bf9a5c9eb..ede9b38e2 100644 --- a/extra/live-media/PKGBUILD +++ b/extra/live-media/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 169731 2012-10-27 18:57:25Z giovanni $ +# $Id: PKGBUILD 170369 2012-11-06 17:42:18Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Gilles CHAUVIN <gcnweb@gmail.com> pkgname=live-media -pkgver=2012.10.24 +pkgver=2012.11.05 pkgrel=1 pkgdesc="A set of C++ libraries for multimedia streaming" arch=('i686' 'x86_64') @@ -11,7 +11,7 @@ license=('LGPL') url="http://live555.com/liveMedia" depends=('gcc-libs') source=("http://live555.com/liveMedia/public/live.${pkgver}.tar.gz") -md5sums=('4cda836ab242a31eb1b117b1b05cc572') +md5sums=('0618f2a0b0f60131b616b03cf3b4d5ce') build() { cd ${srcdir}/live diff --git a/extra/lm_sensors/PKGBUILD b/extra/lm_sensors/PKGBUILD index 7ce96cdfa..9635bb17a 100644 --- a/extra/lm_sensors/PKGBUILD +++ b/extra/lm_sensors/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 168402 2012-10-10 23:19:44Z eric $ +# $Id: PKGBUILD 170399 2012-11-07 01:42:13Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=lm_sensors -pkgver=3.3.2 -pkgrel=5 +pkgver=3.3.3 +pkgrel=1 pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring" arch=('i686' 'x86_64') url="http://www.lm-sensors.org/" @@ -17,8 +17,8 @@ source=(http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${pkgver}.tar.bz sensors.rc fancontrol.rc healthd healthd.conf healthd.rc sensord.conf \ sensord.rc fancontrol.service sensord.service healthd.service \ daemonarg.patch linux_3.0.patch) -sha1sums=('5d0f026ad763124e8c2ad733b6e1ad5e6473993d' - 'a486d9fb6c5b0aff4520f6312106c67f5163f1cf' +sha1sums=('b55c06f425993e42f13553f204066c446da36fd3' + '035a721f20e4ad568f4fdde2d7c25d906c192458' 'b2e664b9b87759991f02d0a1e8cac5e95098c0a5' 'a068ac0a3115a6191a487e11422506baa922b40a' 'afaad558d2ad4732aa53b69afa23ccf37bc67ab1' diff --git a/extra/mercurial/PKGBUILD b/extra/mercurial/PKGBUILD index a5c916b24..7d5e3f18c 100644 --- a/extra/mercurial/PKGBUILD +++ b/extra/mercurial/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 167548 2012-10-02 17:15:26Z giovanni $ +# $Id: PKGBUILD 170371 2012-11-06 17:48:48Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgname=mercurial -pkgver=2.3.2 +pkgver=2.4 pkgrel=1 pkgdesc="A scalable distributed SCM tool" arch=('i686' 'x86_64') @@ -14,7 +14,7 @@ optdepends=('tk: for the hgk GUI') backup=('etc/mercurial/hgrc') source=("http://mercurial.selenic.com/release/${pkgname}-${pkgver}.tar.gz" 'mercurial.profile') -md5sums=('6e90450ab3886bc650031e0d9aef367a' +md5sums=('c1fc9bec6951dd3c913092c3c72da014' '43e1d36564d4c7fbe9a091d3ea370a44') package() { diff --git a/extra/rhythmbox/Disable-the-context-pane-plugin-when-webkit-isn-t-available.patch b/extra/rhythmbox/Disable-the-context-pane-plugin-when-webkit-isn-t-available.patch new file mode 100644 index 000000000..dc3f3429a --- /dev/null +++ b/extra/rhythmbox/Disable-the-context-pane-plugin-when-webkit-isn-t-available.patch @@ -0,0 +1,37 @@ +From a8f5d8cec87ef1586897e94e49bdf54db64bf97b Mon Sep 17 00:00:00 2001 +From: Kalev Lember <kalevlember@gmail.com> +Date: Thu, 11 Oct 2012 10:59:16 +0200 +Subject: [PATCH] Disable the context pane plugin when webkit isn't available + +--- + plugins/Makefile.am | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/plugins/Makefile.am b/plugins/Makefile.am +index e4f6e69..3a9ea03 100644 +--- a/plugins/Makefile.am ++++ b/plugins/Makefile.am +@@ -14,7 +14,6 @@ SUBDIRS = \ + if ENABLE_PYTHON + SUBDIRS += \ + artsearch \ +- context \ + im-status \ + lyrics \ + magnatune \ +@@ -24,8 +23,12 @@ SUBDIRS += \ + sendto \ + rb + ++if WITH_WEBKIT ++SUBDIRS += context + endif + ++endif # ENABLE_PYTHON ++ + if WITH_LIRC + SUBDIRS += lirc + endif +-- +1.7.12.1 + diff --git a/extra/rhythmbox/PKGBUILD b/extra/rhythmbox/PKGBUILD index 859fc2565..177c70c77 100644 --- a/extra/rhythmbox/PKGBUILD +++ b/extra/rhythmbox/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 169984 2012-10-30 23:00:26Z heftig $ +# $Id: PKGBUILD 170248 2012-11-06 10:20:15Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=rhythmbox pkgver=2.98 -pkgrel=2 +pkgrel=3 pkgdesc="An iTunes-like music playback and management application" arch=('i686' 'x86_64') license=('GPL') @@ -14,18 +14,25 @@ depends=('dconf' 'desktop-file-utils' 'grilo' 'libdmapsharing' 'libgpod' 'libmtp' 'libnotify' 'libpeas' 'lirc-utils' 'media-player-info' 'python2-gobject' 'python2-mako' 'totem-plparser' 'tdb' 'libdiscid') -makedepends=('gnome-doc-utils' 'intltool' 'brasero' 'gobject-introspection' 'vala') +makedepends=('gnome-doc-utils' 'intltool' 'brasero' 'gobject-introspection' 'vala' 'gnome-common' 'gtk-doc') optdepends=('gstreamer0.10-ugly-plugins: Extra media codecs' 'gstreamer0.10-bad-plugins: Extra media codecs' 'gstreamer0.10-ffmpeg: Extra media codecs' 'brasero: cd burning') options=('!libtool' '!emptydirs') install=rhythmbox.install -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz) -sha256sums=('a5c0a18a7c76133d36c7dcbdc37e304eae8272703985b17b540d68603b0c76d5') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz + Disable-the-context-pane-plugin-when-webkit-isn-t-available.patch + rhythmbox-2.98-xinitthreads.patch) +sha256sums=('a5c0a18a7c76133d36c7dcbdc37e304eae8272703985b17b540d68603b0c76d5' + '6510214e7fe0a18d17d8c599ae065bd48c2e1f82931fe82e3d1cc684a0801cd6' + 'cd9af451a411e5a621c385d43f5ddd3664b3d085fc12dc7d5e5cd1f5db9e73b0') build() { cd "$pkgname-$pkgver" + patch -Np1 -i "${srcdir}/Disable-the-context-pane-plugin-when-webkit-isn-t-available.patch" + patch -Np1 -i "${srcdir}/rhythmbox-2.98-xinitthreads.patch" + autoreconf -fi PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/rhythmbox \ --localstatedir=/var --disable-static \ diff --git a/extra/rhythmbox/rhythmbox-2.98-xinitthreads.patch b/extra/rhythmbox/rhythmbox-2.98-xinitthreads.patch new file mode 100644 index 000000000..6a6426038 --- /dev/null +++ b/extra/rhythmbox/rhythmbox-2.98-xinitthreads.patch @@ -0,0 +1,76 @@ +From 1780aab638aa39704be34fc214de39b4847a87b2 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera <hadess@hadess.net> +Date: Wed, 17 Oct 2012 19:02:50 +0200 +Subject: [PATCH] shell: Call XInitThreads() on X11 systems + +Otherwise bad things can happen with some plugins that expect +mutexes to work, like the visualiser plugin and Clutter. + +https://bugzilla.gnome.org/show_bug.cgi?id=686320 +--- + configure.ac | 15 +++++++++++++++ + shell/main.c | 12 ++++++++++++ + 2 files changed, 27 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 009c838..8a88d72 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -86,10 +86,25 @@ PKG_PROG_PKG_CONFIG + + PKG_CHECK_MODULES(RB_CLIENT, glib-2.0 >= $GLIB_REQS gio-2.0 >= $GLIB_REQS gio-unix-2.0 >= $GLIB_REQS) + ++dnl Always require libX11 for XInitThreads() on X11 systems ++X11_PKG="" ++gdk_targets=`$PKG_CONFIG --variable targets gdk-3.0` ++for target in $gdk_targets; do ++ case "$target" in ++ x11) ++ X11_PKG=x11 ++ break ++ ;; ++ *) ++ ;; ++ esac ++done ++ + dnl note: gio-unix-2.0 is here for libmediaplayerid + PKG_CHECK_MODULES(RHYTHMBOX, \ + gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQS \ + gtk+-3.0 >= $GTK_REQS \ ++ $X11_PKG \ + gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQS \ + glib-2.0 >= $GLIB_REQS \ + gio-2.0 >= $GLIB_REQS \ +diff --git a/shell/main.c b/shell/main.c +index 3c0346d..696f3e9 100644 +--- a/shell/main.c ++++ b/shell/main.c +@@ -34,6 +34,11 @@ + #include <glib/gi18n.h> + #include <gtk/gtk.h> + ++#ifdef GDK_WINDOWING_X11 ++/* X11 headers */ ++#include <X11/Xlib.h> ++#endif ++ + #include <girepository.h> + + #include "rb-shell.h" +@@ -51,6 +56,13 @@ main (int argc, char **argv) + int new_argc; + char **new_argv; + ++#ifdef GDK_WINDOWING_X11 ++ if (XInitThreads () == 0) { ++ g_critical ("Initialising threading support failed."); ++ return 1; ++ } ++#endif ++ + /* disable multidevice so clutter-gtk events work. + * this needs to be done before gtk_open, so the visualizer + * plugin can't do it. +-- +1.7.12.1
\ No newline at end of file diff --git a/extra/subversion/PKGBUILD b/extra/subversion/PKGBUILD index 54dc81bd8..c112ab7bc 100644 --- a/extra/subversion/PKGBUILD +++ b/extra/subversion/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 168489 2012-10-12 17:51:02Z stephane $ +# $Id: PKGBUILD 170250 2012-11-06 11:27:11Z stephane $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Paul Mattal <paul@archlinux.org> # Contributor: Jason Chu <jason@archlinux.org> pkgname=subversion pkgver=1.7.7 -pkgrel=1 +pkgrel=2 pkgdesc="A Modern Concurrent Version Control System" arch=('i686' 'x86_64') license=('APACHE') @@ -18,6 +18,7 @@ backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve') url="http://subversion.apache.org/" provides=('svn') options=('!makeflags' '!libtool' '!emptydirs') +install=${pkgname}.install source=(http://apache.mirror.rafal.ca/subversion/$pkgname-$pkgver.tar.bz2{,.asc} svnserve svn diff --git a/extra/subversion/subversion.install b/extra/subversion/subversion.install new file mode 100644 index 000000000..6ba32b74a --- /dev/null +++ b/extra/subversion/subversion.install @@ -0,0 +1,7 @@ +post_install() { + usr/bin/systemd-tmpfiles --create svnserve.conf || true +} + +post_upgrade() { + post_install +} diff --git a/extra/thunar/PKGBUILD b/extra/thunar/PKGBUILD index a1570a2b0..69e10d76e 100644 --- a/extra/thunar/PKGBUILD +++ b/extra/thunar/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 170122 2012-11-03 06:32:33Z foutrelis $ +# $Id: PKGBUILD 170254 2012-11-06 11:47:03Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Andrew Simmons <andrew.simmons@gmail.com> pkgname=thunar pkgver=1.4.0 -pkgrel=3 +pkgrel=4 pkgdesc="Modern file manager for Xfce" arch=('i686' 'x86_64') url="http://thunar.xfce.org" @@ -23,19 +23,13 @@ optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems options=('!libtool') install=$pkgname.install source=(http://archive.xfce.org/src/xfce/$pkgname/1.4/Thunar-$pkgver.tar.bz2 - thunar-1.4.0-dont-add-duplicates-of-devices.patch thunar-1.4.0-show-loop-devices-hack.patch) sha256sums=('2c11a19e64cef708a264fb4d5d933389899c3d132fe7b1e313dd6e37bfe4c8ba' - 'c25f86a4c298c24327b0681702167aea9f9d712a738c8f3883f5d66da7f08f19' '185c44db9bdf578d22cb69b81dce7fcc3e2ee6031b1547de6453ff0752dbc97e') build() { cd "$srcdir/Thunar-$pkgver" - # https://bugzilla.xfce.org/show_bug.cgi?id=9440 - # Backport of http://git.xfce.org/xfce/thunar/commit/?id=70a4301 - patch -Np1 -i "$srcdir/thunar-1.4.0-dont-add-duplicates-of-devices.patch" - # Fix: Loop devices not appearing in Thunar side pane # https://bugs.archlinux.org/task/29894 # https://bugzilla.xfce.org/show_bug.cgi?id=8947 diff --git a/extra/vice/PKGBUILD b/extra/vice/PKGBUILD index d4e85f681..373864d38 100644 --- a/extra/vice/PKGBUILD +++ b/extra/vice/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 170154 2012-11-03 18:23:13Z giovanni $ +# $Id: PKGBUILD 170377 2012-11-06 19:33:54Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=vice pkgver=2.4 -pkgrel=1 +pkgrel=2 pkgdesc="The Versatile Commodore 8-bit Emulator" arch=('i686' 'x86_64') license=('GPL') url="http://www.viceteam.org/" -depends=('alsa-lib' 'giflib' 'libxxf86vm' 'vte') +depends=('alsa-lib' 'giflib' 'libxxf86vm' 'vte' 'libnet' 'libpcap') makedepends=('xorg-font-utils') options=('!makeflags') install=vice.install @@ -34,9 +34,11 @@ build() { autoreconf ./configure --prefix=/usr \ + --enable-ethernet \ --with-alsa \ --enable-fullscreen \ - --enable-gnomeui + --enable-gnomeui \ + --disable-ffmpeg make } diff --git a/extra/webkitgtk/PKGBUILD b/extra/webkitgtk/PKGBUILD index d77de3a00..cfc4d7652 100644 --- a/extra/webkitgtk/PKGBUILD +++ b/extra/webkitgtk/PKGBUILD @@ -4,11 +4,11 @@ pkgbase=webkitgtk pkgname=('webkitgtk2' 'webkitgtk3') pkgver=1.10.1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url="http://webkitgtk.org/" license=('custom') -makedepends=('libxt' 'libxslt' 'sqlite' 'libsoup' 'enchant' 'libgl' 'geoclue' 'gtk2' 'gtk3' 'gst-plugins-base-libs' 'gperf' 'gobject-introspection' 'python2' 'mesa' 'ruby' 'gtk-doc') +makedepends=('libxt' 'libxslt' 'sqlite' 'libsoup' 'enchant' 'libgl' 'geoclue' 'gtk2' 'gtk3' 'gst-plugins-base-libs' 'gstreamer0.10-base' 'gperf' 'gobject-introspection' 'python2' 'mesa' 'ruby' 'gtk-doc') options=('!libtool' '!emptydirs') source=(http://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz) sha1sums=('3a2df2eb42ffdd7f3b39873d5461c347a6330493') @@ -22,7 +22,7 @@ build() { --enable-introspection \ --disable-silent-rules \ --libexecdir=/usr/lib/webkitgtk2 \ - --with-gstreamer=1.0 \ + --with-gstreamer=0.10 \ --with-gtk=2.0 \ --disable-webkit2 make all stamp-po @@ -50,7 +50,7 @@ package_webkitgtk3() { package_webkitgtk2() { pkgdesc="GTK+ Web content engine library for GTK+ 2.0" - depends=('libxt' 'libxslt' 'sqlite' 'libsoup' 'enchant' 'libgl' 'geoclue' 'gtk2' 'gst-plugins-base-libs') + depends=('libxt' 'libxslt' 'sqlite' 'libsoup' 'enchant' 'libgl' 'geoclue' 'gtk2' 'gstreamer0.10-base') conflicts=('libwebkit') provides=("libwebkit=${pkgver}") replaces=('libwebkit') diff --git a/extra/xfdesktop/PKGBUILD b/extra/xfdesktop/PKGBUILD index eb747321b..463787925 100644 --- a/extra/xfdesktop/PKGBUILD +++ b/extra/xfdesktop/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 170243 2012-11-05 22:45:59Z foutrelis $ +# $Id: PKGBUILD 170256 2012-11-06 11:49:29Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: tobias <tobias funnychar archlinux.org> pkgname=xfdesktop pkgver=4.10.0 -pkgrel=4 +pkgrel=5 pkgdesc="A desktop manager for Xfce" arch=('i686' 'x86_64') url="http://www.xfce.org/" @@ -17,11 +17,9 @@ replaces=('xfce4-menueditor') options=('!libtool') install=xfdesktop.install source=(http://archive.xfce.org/src/xfce/$pkgname/4.10/$pkgname-$pkgver.tar.bz2 - add-backgrounds-xfce-to-search-path.patch - avoid-duplicating-volume-icons.patch) + add-backgrounds-xfce-to-search-path.patch) sha256sums=('897ae6ee435dcc89809ad70c15c5d15347d1cf4fc8033238b17dcc47836c2d7b' - 'fcb27e24abfd50c5555fe01ae946a2bc5a133d3f5cee076eef517ccc5f668dd5' - 'f2ad30fe8fed9e2f5a65c214f03b65353527d285a4ea0ec22a1feac5c452446b') + 'fcb27e24abfd50c5555fe01ae946a2bc5a133d3f5cee076eef517ccc5f668dd5') build() { cd "$srcdir/$pkgname-$pkgver" @@ -30,11 +28,6 @@ build() { # https://bugzilla.xfce.org/show_bug.cgi?id=8799 patch -Np1 -i "$srcdir/add-backgrounds-xfce-to-search-path.patch" - # Workaround for GVFS 1.14.0 which emits volume-added signals for - # pre-existing volumes. - # https://bugzilla.xfce.org/show_bug.cgi?id=9464 - patch -Np1 -i "$srcdir/avoid-duplicating-volume-icons.patch" - ./configure \ --prefix=/usr \ --sysconfdir=/etc \ |