diff options
author | root <root@rshg054.dnsready.net> | 2011-11-04 23:14:51 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-11-04 23:14:51 +0000 |
commit | 3026bb55941e3b04b56f5fb41b88941c6c2ce0cd (patch) | |
tree | 576b183074d925e58c2e37ae2b641e712bceacb1 | |
parent | b625511a28fd8401f524474b5339e75328595150 (diff) |
Fri Nov 4 23:14:51 UTC 2011
164 files changed, 8549 insertions, 321 deletions
diff --git a/community-staging/mplayer2/PKGBUILD b/community-staging/mplayer2/PKGBUILD new file mode 100644 index 000000000..ca9d5e40a --- /dev/null +++ b/community-staging/mplayer2/PKGBUILD @@ -0,0 +1,67 @@ +# $Id: PKGBUILD 57873 2011-11-04 02:20:06Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: Bartek Piotrowski <barthalion@gmail.com> + +pkgname=mplayer2 +pkgver=2.0.20111101 +pkgrel=1 +pkgdesc="A movie player" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.mplayer2.org/" +depends=('libgl' 'libvdpau' 'ffmpeg' 'libdvdcss' 'libdvdread' 'libdvdnav' 'libxvmc' 'libass' 'fontconfig' 'freetype2' + 'ttf-dejavu' 'sdl' 'aalib' 'libcaca' 'faad2' 'libpulse' 'jack' 'ncurses' 'libxxf86vm' 'cdparanoia' 'libmad' + 'a52dec' 'libdca' 'libxxf86dga' 'libxss' 'mpg123' 'ladspa') +makedepends=('live-media' 'mesa' 'unzip' 'yasm' 'git') +backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf') +provides=('mplayer') +conflicts=('mplayer') +#source=(http://ftp.mplayer2.org/pub/release/${pkgname}-${pkgver/_/-}.tar.xz +source=(ftp://ftp.archlinux.org/other/community/${pkgname}/${pkgname}-${pkgver}.tar.xz) +sha1sums=('78c78605733ca792bb12a52a751a508bfc0f213d') +options=('!emptydirs') + +# source PKGBUILD && mksource +mksource() { + _gitroot="git://git.mplayer2.org/mplayer2.git" + _gitname="${pkgname}-${pkgver}" + + if [[ -d "$_gitname" ]]; then + cd "$_gitname" && git pull origin + else + git clone "$_gitroot" "$_gitname" + fi + + tar -cJvf ${_gitname}.tar.xz ${_gitname} + rm -fr ${_gitname} +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr \ + --enable-runtime-cpudetection \ + --disable-arts \ + --disable-speex \ + --disable-openal \ + --disable-libdv \ + --disable-musepack \ + --disable-esd \ + --disable-mga \ + --language=all \ + --enable-translation \ + --confdir=/etc/mplayer + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + install -Dm644 etc/{codecs.conf,input.conf,example.conf} "${pkgdir}"/etc/mplayer/ + install -dm755 "${pkgdir}"/usr/share/mplayer/ + ln -s /usr/share/fonts/TTF/DejaVuSans.ttf "${pkgdir}"/usr/share/mplayer/subfont.ttf + + install -dm755 "${pkgdir}"/usr/share/applications/ + install -m 644 etc/mplayer.desktop "${pkgdir}"/usr/share/applications/ +} diff --git a/community-testing/libraw/PKGBUILD b/community-testing/libraw/PKGBUILD index 9d33438ee..6e1d86e2f 100644 --- a/community-testing/libraw/PKGBUILD +++ b/community-testing/libraw/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 57596 2011-10-31 12:00:52Z lcarlier $ +# $Id: PKGBUILD 57797 2011-11-03 07:00:23Z lcarlier $ # Contributor: Ionut Biru <ibiru@archlinux.org> # Contributor: Joeny Ang <ang(dot)joeny(at)gmail(dot)com> # Maintainer: Brad Fanella <bradfanella@archlinux.us> @@ -6,7 +6,7 @@ pkgname=libraw _pkgbasename=LibRaw pkgver=0.14.3 -pkgrel=1 +pkgrel=2 pkgdesc="A library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)" arch=('i686' 'x86_64') url="http://www.libraw.org/" diff --git a/community/alleyoop/PKGBUILD b/community/alleyoop/PKGBUILD index bac994fe6..895a91d77 100644 --- a/community/alleyoop/PKGBUILD +++ b/community/alleyoop/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 57362 2011-10-26 12:52:41Z arodseth $ +# $Id: PKGBUILD 57801 2011-11-03 09:12:48Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Angelo Theodorou <encelo@users.sourceforge.net> # Contributor: Lex Rivera aka x-demon <aur@x-demon.org> pkgname=alleyoop pkgver=0.9.7 -pkgrel=2 +pkgrel=3 pkgdesc="A Valgrind front-end for the GNOME environment" arch=('x86_64' 'i686') url="http://alleyoop.sourceforge.net/" @@ -12,24 +12,24 @@ license=('GPL') depends=('valgrind' 'libgnomeui') makedepends=('intltool') install=alleyoop.install -source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz") +source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz") md5sums=('b45ab041dea15cd0ae663183bef893c6') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr --sysconfdir=/etc make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" - make DESTDIR=${pkgdir} install - install -m755 -d ${pkgdir}/usr/share/gconf/schemas - gconf-merge-schema ${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas \ - --domain alleyoop ${pkgdir}/etc/gconf/schemas/*.schemas - rm -rf ${pkgdir}/etc + make DESTDIR="$pkgdir" install + install -m755 -d "$pkgdir/usr/share/gconf/schemas" + gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" \ + --domain alleyoop "$pkgdir"/etc/gconf/schemas/*.schemas + rm -r "$pkgdir/etc" } # vim:set ts=2 sw=2 et: diff --git a/community/alleyoop/alleyoop.install b/community/alleyoop/alleyoop.install index 4f8183a70..16e3af018 100644 --- a/community/alleyoop/alleyoop.install +++ b/community/alleyoop/alleyoop.install @@ -1,17 +1,19 @@ pkgname=alleyoop post_install() { -usr/sbin/gconfpkg --install ${pkgname} + usr/sbin/gconfpkg --install ${pkgname} +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} } pre_upgrade() { -pre_remove $1 + pre_remove $1 } post_upgrade() { -post_install $1 + post_install $1 } -pre_remove() { -usr/sbin/gconfpkg --uninstall ${pkgname} -} +# vim:set ts=2 sw=2 et: diff --git a/community/audex/PKGBUILD b/community/audex/PKGBUILD index 24f9f9906..aaae88304 100644 --- a/community/audex/PKGBUILD +++ b/community/audex/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 56794 2011-10-12 23:16:45Z lcarlier $ +# $Id: PKGBUILD 57866 2011-11-03 22:08:58Z lcarlier $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: mightyjaym <jmambrosino@gmail.com> # Contributor: moostik <mooostik_at_gmail.com> pkgname=audex pkgver=0.74b1 -pkgrel=2 +pkgrel=3 pkgdesc="A CDDA extraction tool with a ftp upload function for KDE" arch=('i686' 'x86_64') -url="http://kde.maniatek.com/audex/" +url="http://kde-apps.org/content/show.php?content=77125" license=('GPL') depends=('kdemultimedia-kioslave' 'cdparanoia') makedepends=('cmake' 'automoc4') @@ -17,7 +17,7 @@ optdepends=('vorbis-tools: OGG encoder' 'flac: FLAC encoder' 'lame: MP3 encoder') install=${pkgname}.install -source=("http://kde.maniatek.com/audex/files/${pkgname}-${pkgver}.tar.xz" +source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz" "google_regex.patch") md5sums=('20fdf9a0f89c08f44a151b6bdaab8782' '77b33d8daead89d5f4f15b78a1cd1d55') diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD index f11df96d8..4f53862a7 100644 --- a/community/calibre/PKGBUILD +++ b/community/calibre/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 57448 2011-10-27 21:24:16Z giovanni $ +# $Id: PKGBUILD 57853 2011-11-03 15:52:53Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Petrov Roman <nwhisper@gmail.com> # Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com> pkgname=calibre pkgver=0.8.24 -pkgrel=1 +pkgrel=2 pkgdesc="Ebook management application" arch=('i686' 'x86_64') url="http://calibre-ebook.com/" @@ -19,9 +19,11 @@ makedepends=('python2-pycountry') optdepends=('ipython: to use calibre-debug') install=calibre.install source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" - 'desktop_integration.patch') + 'desktop_integration.patch' + 'calibre-mount-helper') md5sums=('9ab82f7d4d072cc6858ef92f29d6029a' - '253ce4fe5d01f8ff76b63cd3825755ea') + '253ce4fe5d01f8ff76b63cd3825755ea' + '675cd87d41342119827ef706055491e7') build() { cd "${srcdir}/${pkgname}" @@ -64,4 +66,8 @@ package() { for decom in "${pkgdir}"/usr/share/man/man1/*.bz2; do bzip2 -d "${decom}" done + + # See http://lwn.net/SubscriberLink/465311/7c299471a5399167/ + rm -rf ${pkgdir}/usr/bin/calibre-mount-helper + install -m 755 ${srcdir}/calibre-mount-helper "${pkgdir}/usr/bin" } diff --git a/community/calibre/calibre-mount-helper b/community/calibre/calibre-mount-helper new file mode 100755 index 000000000..00cac4270 --- /dev/null +++ b/community/calibre/calibre-mount-helper @@ -0,0 +1,28 @@ +#!/bin/sh -e +# Replacement for upstream mount helper using udisks/eject +# (C) 2010 Martin Pitt <mpitt@debian.org> + +ACTION="$1" +DEV="$2" + +case "$ACTION" in + mount) + udisks --mount "$DEV" + + # check if mount worked. If not, fail + # udisks does return 0 even if mount failed + mount | grep -q "$DEV" || exit 0 + ;; + + eject) + eject "$DEV" + ;; + + cleanup) + ;; + + *) + echo "unknown action" >&2 + exit 1 +esac + diff --git a/community/fcgiwrap/PKGBUILD b/community/fcgiwrap/PKGBUILD index 7720ea652..e3c68122d 100644 --- a/community/fcgiwrap/PKGBUILD +++ b/community/fcgiwrap/PKGBUILD @@ -1,24 +1,29 @@ -# $Id: PKGBUILD 28017 2010-10-01 16:05:40Z aschaefer $ -# Maintainer: Aaron Bull Schaefer <aaron@elasticdog.com> +# $Id: PKGBUILD 57830 2011-11-03 10:18:16Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Aaron Bull Schaefer <aaron@elasticdog.com> # Contributor: Ron Huang <ronhuang+aur at gmail dot com> pkgname=fcgiwrap pkgver=1.0.3 _gitrev='2e301c8' -pkgrel=1 -pkgdesc='A simple server for running CGI applications over FastCGI' +pkgrel=2 +pkgdesc='A simple server for running CGI applications over FastCGI.' arch=('i686' 'x86_64') url='http://nginx.localdomain.pl/wiki/FcgiWrap' license=('MIT') depends=('fcgi' 'spawn-fcgi') backup=('etc/conf.d/fcgiwrap') -source=("http://github.com/downloads/gnosek/fcgiwrap/$pkgname-$pkgver.tar.gz" - 'fcgiwrap.conf.d' 'fcgiwrap.rc.d' 'LICENSE') -md5sums=('be73d90df7c4442084463e2815fc213d' '9fbb5b0e861ffea74e655143a4c1a8f9' - '71ea12f43aebca39f73ff2e0b684f361' '5aee62c27b4308f25ab32f05da387366') +source=("https://github.com/downloads/gnosek/fcgiwrap/${pkgname}-${pkgver}.tar.gz" + 'fcgiwrap.conf.d' + 'fcgiwrap.rc.d' + 'LICENSE') +md5sums=('be73d90df7c4442084463e2815fc213d' + '9fbb5b0e861ffea74e655143a4c1a8f9' + '71ea12f43aebca39f73ff2e0b684f361' + '5aee62c27b4308f25ab32f05da387366') build() { - cd "$srcdir/gnosek-$pkgname-$_gitrev" + cd "${srcdir}/gnosek-${pkgname}-${_gitrev}" autoreconf --install ./configure --prefix=/usr @@ -26,10 +31,10 @@ build() { } package() { - cd "$srcdir/gnosek-$pkgname-$_gitrev" + cd "${srcdir}/gnosek-${pkgname}-${_gitrev}" - make DESTDIR="$pkgdir" install - install -D -m644 ../fcgiwrap.conf.d "$pkgdir/etc/conf.d/$pkgname" - install -D -m755 ../fcgiwrap.rc.d "$pkgdir/etc/rc.d/$pkgname" - install -D -m644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + make DESTDIR="${pkgdir}" install + install -Dm0644 ../fcgiwrap.conf.d "${pkgdir}/etc/conf.d/${pkgname}" + install -Dm0755 ../fcgiwrap.rc.d "${pkgdir}/etc/rc.d/${pkgname}" + install -Dm0644 ../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/community/gambas2/PKGBUILD b/community/gambas2/PKGBUILD index 16ba15cd5..cfdf2ea1f 100644 --- a/community/gambas2/PKGBUILD +++ b/community/gambas2/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 56943 2011-10-17 08:20:39Z ibiru $ +# $Id: PKGBUILD 57868 2011-11-03 22:36:48Z lcarlier $ # Maintainer : Laurent Carlier <lordheavym@gmail.com> # Contributor: Biru Ionut <ionut@archlinux.ro> # Contributor: Andrea Scarpino <andrea@archlinux.org> @@ -20,7 +20,7 @@ pkgname=('gambas2-meta' 'gambas2-runtime' 'gambas2-devel' 'gambas2-ide' 'gambas2 'gambas2-gb-sdl-sound' 'gambas2-gb-settings' 'gambas2-gb-v4l' 'gambas2-gb-vb' 'gambas2-gb-web' 'gambas2-gb-xml' 'gambas2-gb-xml-rpc' 'gambas2-gb-xml-xslt') pkgver=2.23.1 -pkgrel=2 +pkgrel=3 pkgdesc="A free development environment based on a Basic interpreter." arch=('i686' 'x86_64') url="http://gambas.sourceforge.net" diff --git a/community/gcc-avr/PKGBUILD b/community/gcc-avr/PKGBUILD index 0a1a7a01d..db977e4d4 100644 --- a/community/gcc-avr/PKGBUILD +++ b/community/gcc-avr/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 51816 2011-07-15 23:03:40Z bfanella $ +# $Id: PKGBUILD 57845 2011-11-03 12:26:59Z jelle $ # Maintainer: Brad Fanella <bradfanella@archlinux.us> # Contributor: Corrado Primier <bardo@aur.archlinux.org> # Contributor: danst0 <danst0@west.de> pkgname=gcc-avr -pkgver=4.6.1 +pkgver=4.6.2 pkgrel=1 pkgdesc="The GNU avr Compiler Collection" arch=('i686' 'x86_64') @@ -55,3 +55,5 @@ package() { rm -rf ${pkgdir}/usr/share/info } +md5sums=('780f614ab18c7a9066dec6387d7490b2' + '87ecd60431e41096419dd8a10f76e46b') diff --git a/community/geany-plugins/PKGBUILD b/community/geany-plugins/PKGBUILD index 37d5af3d2..5efc9f951 100644 --- a/community/geany-plugins/PKGBUILD +++ b/community/geany-plugins/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 57206 2011-10-24 12:59:03Z arodseth $ +# $Id: PKGBUILD 57822 2011-11-03 10:07:17Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> # Contributor: djgera # Contributor: Patrick Melo <patrick@patrickmelo.eti.br> pkgname=geany-plugins pkgver=0.21 -pkgrel=1 +pkgrel=2 pkgdesc="Combined plugins release for Geany" arch=('x86_64' 'i686') url="http://plugins.geany.org/" @@ -15,25 +15,25 @@ makedepends=('intltool') optdepends=('hspell: hebrew spell checker') conflicts=('geany-plugins-svn') install=geany-plugins.install -source=("http://plugins.geany.org/geany-plugins/${pkgname}-${pkgver}.tar.bz2") +source=("http://plugins.geany.org/geany-plugins/$pkgname-$pkgver.tar.bz2") md5sums=('22e106d7a026e720dd91feb79e44456f') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr --libexecdir=/usr/lib make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" - make DESTDIR=${pkgdir} install + make DESTDIR="$pkgdir" install rmdir \ - "${pkgdir}/usr/share/geany-plugins/devhelp" \ - "${pkgdir}/usr/share/doc/geany-plugins/devhelp" \ - "${pkgdir}/usr/share/geany-plugins/debugger" \ - "${pkgdir}/usr/share/doc/geany-plugins/debugger" + "$pkgdir/usr/share/geany-plugins/devhelp" \ + "$pkgdir/usr/share/doc/geany-plugins/devhelp" \ + "$pkgdir/usr/share/geany-plugins/debugger" \ + "$pkgdir/usr/share/doc/geany-plugins/debugger" } # vim:set ts=2 sw=2 et: diff --git a/community/geany-plugins/geany-plugins.install b/community/geany-plugins/geany-plugins.install index f26807673..c5a602e43 100644 --- a/community/geany-plugins/geany-plugins.install +++ b/community/geany-plugins/geany-plugins.install @@ -1,3 +1,5 @@ +pkgname=geany-plugins + post_upgrade() { gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor } diff --git a/community/geany/PKGBUILD b/community/geany/PKGBUILD index 1d2371c4b..017d718b2 100644 --- a/community/geany/PKGBUILD +++ b/community/geany/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 56636 2011-10-09 11:13:50Z arodseth $ +# $Id: PKGBUILD 57809 2011-11-03 09:42:30Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Ionut Biru <ibiru@archlinux.ro> @@ -6,7 +6,7 @@ # Contributor: Allan McRae <mcrae_allan@hotmail.com> pkgname=geany pkgver=0.21 -pkgrel=1 +pkgrel=2 pkgdesc="Fast and lightweight IDE" arch=('x86_64' 'i686') url="http://www.geany.org/" @@ -15,12 +15,12 @@ depends=('gtk2' 'hicolor-icon-theme' 'desktop-file-utils' 'python2') makedepends=('perlxml' 'intltool') optdepends=("vte: for terminal support") install=geany.install -source=("http://download.geany.org/${pkgname}-${pkgver}.tar.gz") +source=("http://download.geany.org/$pkgname-$pkgver.tar.gz") options=('!libtool') md5sums=('d2734776badc3f5f9a778814ed56fb8a') build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" msg2 "Configuring..." ./configure --prefix=/usr @@ -35,9 +35,9 @@ build() { } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd "$srcdir/$pkgname-$pkgver" - make DESTDIR=${pkgdir} install + make DESTDIR="$pkgdir" install } # vim:set ts=2 sw=2 et: diff --git a/community/gmerlin/PKGBUILD b/community/gmerlin/PKGBUILD index 392438eb8..3acbafcfa 100644 --- a/community/gmerlin/PKGBUILD +++ b/community/gmerlin/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 54036 2011-08-12 13:08:25Z lfleischer $ +# $Id: PKGBUILD 57805 2011-11-03 09:25:18Z spupykin $ # Maintainer: Mateusz Herych <heniekk@gmail.com> pkgname=gmerlin pkgver=1.0.0 -pkgrel=2 +pkgrel=3 pkgdesc="Multimedia architecture for Linux" arch=('i686' 'x86_64') url="http://openmovieeditor.sourceforge.net/HomePage" @@ -11,10 +11,10 @@ license=('GPL') depends=('gavl' 'libxml2' 'gtk2' 'libxv' 'mesa' 'libvisual' 'libcdio>=0.82' 'musicbrainz' 'mjpegtools') makedepends=('alsa-lib' 'jack' 'libquicktime' 'pulseaudio' 'v4l-utils') optdepends=('alsa-lib: for ALSA support' - 'jack: for JACK support' - 'libquicktime: for movie encoding' - 'pulseaudio: for PulseAudio support' - 'v4l-utils: for video conversion') + 'jack: for JACK support' + 'libquicktime: for movie encoding' + 'pulseaudio: for PulseAudio support' + 'v4l-utils: for video conversion') source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz) options=('!libtool') md5sums=('60d3c5081c8685ee7bc1afdfac8f6dc6') diff --git a/community/grafx2/PKGBUILD b/community/grafx2/PKGBUILD index 0eb3d0696..43da08b43 100644 --- a/community/grafx2/PKGBUILD +++ b/community/grafx2/PKGBUILD @@ -1,22 +1,22 @@ -# $Id$ +# $Id: PKGBUILD 57828 2011-11-03 10:14:39Z arodseth $ # Maintainer: Alexander Rødseth <rodseth@gmail.com> # Contributor: Simon Parzer <simon.parzer@gmail.com> pkgname=grafx2 pkgver=2.3 -pkgrel=1 -pkgdesc="Pixelart-oriented painting program (for pixling)" +pkgrel=2 +pkgdesc="Pixelart-oriented painting program" arch=('x86_64' 'i686') url="http://code.google.com/p/grafx2/" license=('GPL2') install=grafx2.install depends=('sdl_ttf' 'sdl_image' 'lua' 'desktop-file-utils') -source=("http://grafx2.googlecode.com/files/${pkgname}-${pkgver}.1781-src.tgz" - "${pkgname}.desktop") +source=("http://grafx2.googlecode.com/files/$pkgname-$pkgver.1781-src.tgz" + "grafx2.desktop") md5sums=('916a35c4762e85b4210a1041fbbfd830' - '73d1cb00b7529de5cbab5c8f00640fbc') + '9b3ecb5c2d44b987d65257184f46e6c4') build() { - cd "${srcdir}/${pkgname}/src" + cd "$srcdir/$pkgname/src" msg2 "Compiling..." make @@ -26,18 +26,18 @@ package() { cd "${srcdir}/${pkgname}/src" msg2 "Packaging files..." - make prefix="/usr" DESTDIR="${pkgdir}" install + make prefix="/usr" DESTDIR="$pkgdir" install msg2 "Packaging shortcut..." - install -Dm644 "${srcdir}/${pkgname}.desktop" \ - "${pkgdir}/usr/share/applications/${pkgname}.desktop" + install -Dm644 "$srcdir/$pkgname.desktop" \ + "$pkgdir/usr/share/applications/$pkgname.desktop" msg2 "Packaging documentation..." - install -Dm644 "${srcdir}/${pkgname}/doc/README.txt" \ - "${pkgdir}/usr/share/doc/${pkgname}/readme.txt" + install -Dm644 "$srcdir/$pkgname/doc/README.txt" \ + "$pkgdir/usr/share/doc/$pkgname/readme.txt" msg2 "Packaging license..." - install -Dm644 "${srcdir}/${pkgname}/doc/gpl-2.0.txt" \ - "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm644 "$srcdir/$pkgname/doc/gpl-2.0.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" msg2 "Cleaning up..." - rmdir ${pkgdir}/usr/share/grafx2/scripts/libs + rmdir "$pkgdir/usr/share/grafx2/scripts/libs" } # vim:set ts=2 sw=2 et: diff --git a/community/grafx2/grafx2.desktop b/community/grafx2/grafx2.desktop index fcd6e71fb..d58bc5ed3 100644 --- a/community/grafx2/grafx2.desktop +++ b/community/grafx2/grafx2.desktop @@ -2,10 +2,11 @@ Encoding=UTF-8 GenericName=GrafX2 Name=GrafX2 +Comment=Pixelart-oriented painting program Exec=grafx2 %U TryExec=grafx2 Icon=grafx2 Terminal=false Type=Application -Categories=Graphics;2DGraphics;RasterGraphics; -MimeType=image/bmp;image/gif;image/png;image/x-tga;image/tiff; +Categories=Graphics;2DGraphics;RasterGraphics +MimeType=image/bmp;image/gif;image/png;image/x-tga;image/tiff diff --git a/community/grafx2/grafx2.install b/community/grafx2/grafx2.install index ef816a666..12589796c 100644 --- a/community/grafx2/grafx2.install +++ b/community/grafx2/grafx2.install @@ -1,3 +1,5 @@ +pkgname=grafx2 + post_upgrade() { gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor update-desktop-database -q diff --git a/community/lockdev/PKGBUILD b/community/lockdev/PKGBUILD index 1074e3f75..6486c74aa 100644 --- a/community/lockdev/PKGBUILD +++ b/community/lockdev/PKGBUILD @@ -1,33 +1,32 @@ -# $Id: PKGBUILD 21613 2010-07-16 20:02:19Z tdziedzic $ -# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# $Id: PKGBUILD 57817 2011-11-03 10:01:23Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Andreas Wagner <a.wagner@stud.uni-frankfurt.de> pkgname=lockdev pkgver=1.0.3_1.2 -pkgrel=2 -pkgdesc="Run-time shared library for locking devices, using _both_ FSSTND and SVr4 methods" -url="http://packages.qa.debian.org/l/lockdev.html" +_pkgver=1.0.3 +pkgrel=3 +pkgdesc='Run-time shared library for locking devices, using _both_ FSSTND and SVr4 methods.' +url='http://packages.qa.debian.org/l/lockdev.html' license=("GPL") arch=('i686' 'x86_64') -source=("http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_1.0.3.orig.tar.gz" - "http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${pkgver/_/-}.diff.gz") +source=("http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${_pkgver}.orig.tar.gz" + "http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${pkgver/_/-}.diff.gz") md5sums=('64b9c1b87b125fc348e892e24625524a' 'afe2995ad3fc6551e107364d66a8e938') build() { - cd ${pkgname}-1.0.3 - - patch -p1 < ../${pkgname}_${pkgver/_/-}.diff + cd "${pkgname}-${_pkgver}" + patch -p1 -i "../${pkgname}_${pkgver/_/-}.diff" sed -i "s|CFLAGS = -g|CFLAGS = -g -fPIC|" Makefile make shared - make static } package() { - cd ${pkgname}-1.0.3 - - make basedir=${pkgdir}/usr install + cd "${pkgname}-${_pkgver}" + make basedir="${pkgdir}/usr" install } diff --git a/community/mathomatic/PKGBUILD b/community/mathomatic/PKGBUILD index 37b36c3b0..7abae6c71 100755 --- a/community/mathomatic/PKGBUILD +++ b/community/mathomatic/PKGBUILD @@ -3,7 +3,7 @@ # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> pkgname=mathomatic -pkgver=15.6.5 +pkgver=15.7.0 pkgrel=1 pkgdesc="General purpose Computer Algebra System written in C" arch=('i686' 'x86_64') @@ -13,9 +13,10 @@ depends=('readline') makedepends=('time') optdepends=('python2: for running /usr/share/doc/mathomatic/factorial/factorial' 'bash: for running a test script' + 'm4: for complex operations using the matho script' 'gnuplot: for plotting') source=(http://mathomatic.org/$pkgname-$pkgver.tar.bz2) -md5sums=('1dc244232986f98611c8d2723ae3a497') +md5sums=('73d40f17bf5bb775d0968ddd9480ca45') build() { cd "$srcdir"/$pkgname-$pkgver @@ -35,8 +36,11 @@ build() { package() { cd "$srcdir"/$pkgname-$pkgver - make prefix="$pkgdir"/usr install + make prefix="$pkgdir"/usr m4install + sed -i 's+/build/pkg++' "$pkgdir"/usr/bin/matho + cd "$srcdir"/$pkgname-$pkgver/primes make prefix="$pkgdir"/usr install } +# vim:set ts=2 sw=2 et: diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD index 411bf9d68..b0081b4ad 100644 --- a/community/nginx/PKGBUILD +++ b/community/nginx/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 56357 2011-10-06 09:08:20Z spupykin $ +# $Id: PKGBUILD 57848 2011-11-03 13:37:30Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl> @@ -11,8 +11,8 @@ _user=http _group=http pkgname=nginx -pkgver=1.0.8 -pkgrel=2 +pkgver=1.0.9 +pkgrel=1 pkgdesc="lightweight HTTP server and IMAP/POP3 proxy server" arch=('i686' 'x86_64') depends=('pcre' 'zlib' 'openssl') @@ -34,7 +34,7 @@ backup=("etc/nginx/conf/fastcgi.conf" changelog=changelog source=(http://nginx.org/download/nginx-$pkgver.tar.gz nginx) -md5sums=('1049e5fc6e80339f6ba8668fadfb75f9' +md5sums=('bd2bfba1c5bf751bc3361de5e3ac7c4a' '0e8032d3ba26c3276e8c7c30588d375f') build() { diff --git a/community/openmovieeditor/PKGBUILD b/community/openmovieeditor/PKGBUILD index f5edd51ad..cef330b33 100644 --- a/community/openmovieeditor/PKGBUILD +++ b/community/openmovieeditor/PKGBUILD @@ -1,15 +1,17 @@ -# $Id: PKGBUILD 51110 2011-07-05 10:08:30Z spupykin $ +# $Id: PKGBUILD 57799 2011-11-03 09:07:09Z spupykin $ # Contributor: Robert Emil Berge <filoktetes@linuxophic.org> # Maintainer: Robert Emil Berge # Maintainer: Mateusz Herych <heniekk@gmail.com> + pkgname=openmovieeditor pkgver=0.0.20090105 -pkgrel=7 +pkgrel=8 pkgdesc="A simple video editor" arch=('i686' 'x86_64') url="http://openmovieeditor.sourceforge.net/HomePage" license=('GPL') -depends=('libquicktime' 'libsamplerate' 'fltk' 'jack' 'portaudio' 'gmerlin-avdecoder') +depends=('libquicktime' 'libsamplerate' 'fltk' 'jack' + 'portaudio' 'gmerlin-avdecoder' 'libxtst') source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz) md5sums=('ce4f76c0b3e90aabf9c2d5c8dd31e9b1') @@ -24,7 +26,7 @@ build() { # Fix missing includes sed -e 's|<sstream>|<sstream>\n#include <stdint.h>|' -i src/VideoViewGL.H - sed -e 's|<string>|<string>\n#include <stdint.h>|' -i src/WaveForm.H + sed -e 's|<string>|<string>\n#include <stdint.h>|' -i src/WaveForm.H sed -e 's|<stdint.h>|<stdint.h>\n#include <stdio.h>|' -i src/AddCommand.H sed -e 's|<string>|<stdint.h>\n#include <stdio.h>|' -i src/MediaBrowser.H sed -e 's|<iostream>|<iostream>\n#include <stdio.h>|' -i src/fl_font_browser.h diff --git a/community/pdfedit/PKGBUILD b/community/pdfedit/PKGBUILD index 84b9416c7..4da652f91 100644 --- a/community/pdfedit/PKGBUILD +++ b/community/pdfedit/PKGBUILD @@ -1,37 +1,40 @@ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Firmicus <firmicus α gmx δ net> -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=pdfedit pkgver=0.4.5 -pkgrel=1 +pkgrel=2 pkgdesc='Full featured editor for manipulating PDF documents' arch=('i686' 'x86_64') url='http://pdfedit.petricek.net/index_e.html' license=('GPL') depends=('qt3' 't1lib' 'gsfonts') makedepends=('boost' 'doxygen') -source=(http://downloads.sourceforge.net/pdfedit/${pkgname}-${pkgver}.tar.bz2 - 'pdfedit.png' 'pdfedit.desktop') +source=("http://downloads.sourceforge.net/pdfedit/${pkgname}-${pkgver}.tar.bz2" + 'pdfedit.png' + 'pdfedit.desktop') md5sums=('80502ee7f08cdfb867ffdaa92d160a23' '70fd938b2ef9da748a093df7e20d1d7d' 'c0572c2dd54065322321718aa49ed6b8') build() { - . /etc/profile.d/qt3.sh - export PATH=$QTDIR/bin:$PATH - export QMAKESPEC=$QTDIR/mkspecs/linux-g++ + . /etc/profile.d/qt3.sh + export PATH="$QTDIR/bin:$PATH" + export QMAKESPEC="$QTDIR/mkspecs/linux-g++" - cd ${srcdir}/${pkgname}-${pkgver} - sed -i 's:/usr/share/fonts/type1/gsfonts:/usr/share/fonts/Type1:' src/xpdf/xpdf/GlobalParams.cc || return 1 - ./configure --prefix=/usr --with-qmake=/opt/qt/bin/qmake - make || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i 's:/usr/share/fonts/type1/gsfonts:/usr/share/fonts/Type1:' src/xpdf/xpdf/GlobalParams.cc + ./configure --prefix=/usr --with-qmake=/opt/qt/bin/qmake + make } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" - make INSTALL_ROOT=${pkgdir} install + make INSTALL_ROOT="${pkgdir}" install - install -D -m644 ../pdfedit.desktop ${pkgdir}/usr/share/applications/pdfedit.desktop - install -D -m644 ../pdfedit.png ${pkgdir}/usr/share/pixmaps/pdfedit.png + install -Dm0644 ../pdfedit.desktop "${pkgdir}/usr/share/applications/pdfedit.desktop" + install -Dm0644 ../pdfedit.png "${pkgdir}/usr/share/pixmaps/pdfedit.png" } diff --git a/community/pidgin-otr/PKGBUILD b/community/pidgin-otr/PKGBUILD index a395b5022..565f57436 100644 --- a/community/pidgin-otr/PKGBUILD +++ b/community/pidgin-otr/PKGBUILD @@ -1,23 +1,30 @@ -# $Id: PKGBUILD 17934 2010-05-27 08:06:13Z angvp $ -# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> +# $Id: PKGBUILD 57815 2011-11-03 09:57:10Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Bug <Bug2000@gmail.com> # Contributor: Marcel Wysocki <maci@satgnu.net> pkgname=pidgin-otr pkgver=3.2.0 -pkgrel=2 -pkgdesc="Off-the-Record Messaging plugin for Pidgin" +pkgrel=3 +pkgdesc='Off-the-Record Messaging plugin for Pidgin.' arch=('i686' 'x86_64') license=('GPL') -url="http://www.cypherpunks.ca/otr/" +url='http://www.cypherpunks.ca/otr/' depends=('libotr>=3.2.0' 'pidgin' 'perlxml') -source=("http://www.cypherpunks.ca/otr/$pkgname-$pkgver.tar.gz") -md5sums=('8af70b654b7d7c5a5b7785699ff562f9') +source=("http://www.cypherpunks.ca/otr/${pkgname}-${pkgver}.tar.gz"{,.asc}) +md5sums=('8af70b654b7d7c5a5b7785699ff562f9' + '67d711a7a44cef2791f50b319aaf0e0e') build() { - cd $srcdir/$pkgname-$pkgver + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr - make || return 1 - make DESTDIR=$pkgdir install || return 1 + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/community/prboom/PKGBUILD b/community/prboom/PKGBUILD index 20417640a..f33cec1fe 100644 --- a/community/prboom/PKGBUILD +++ b/community/prboom/PKGBUILD @@ -1,25 +1,33 @@ -# $Id: PKGBUILD 70418 2010-02-26 19:23:47Z thayer $ -# Maintainer: Thayer Williams <thayer@archlinux.org> +# $Id: PKGBUILD 57863 2011-11-03 19:29:22Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Thayer Williams <thayer@archlinux.org> # Contributor: dale <dale@archlinux.org> pkgname=prboom pkgver=2.5.0 -pkgrel=4 -pkgdesc="A game engine which provides a program to play Doom levels" -url="http://prboom.sourceforge.net/" +pkgrel=5 +pkgdesc='A game engine which provides a program to play Doom levels.' +url='http://prboom.sourceforge.net/' license=('GPL2') arch=('i686' 'x86_64') depends=('libpng' 'mesa' 'sdl_mixer' 'sdl_net') -source=(http://downloads.sourceforge.net/prboom/$pkgname-$pkgver.tar.gz libpng-1.4.patch) -md5sums=('a8a15f61fa2626ab98051ab2703378c4' 'ba53474db8e747035ca2320a445e4ae0') -sha1sums=('f17dc6ed4e72d07b85429177b00b8709ea36f5a0' 'faf858bc03a246b7f8e939679b2f0db3e4d6bc21') +source=("http://downloads.sourceforge.net/prboom/${pkgname}-${pkgver}.tar.gz" + 'libpng-1.4.patch') +md5sums=('a8a15f61fa2626ab98051ab2703378c4' + 'ba53474db8e747035ca2320a445e4ae0') build() { - cd $srcdir/$pkgname-$pkgver - patch -p1 < ../libpng-1.4.patch || return 1 - ./configure --prefix=/usr --disable-i386-asm || return 1 - sed -i "s|/games|/bin|g" $srcdir/$pkgname-$pkgver/src/Makefile || return 1 - make || return 1 - make DESTDIR=$pkgdir install || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 < ../libpng-1.4.patch + + ./configure --prefix=/usr --disable-i386-asm + sed -i "s|/games|/bin|g" "${srcdir}/${pkgname}-${pkgver}/src/Makefile" + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/community/pylibacl/PKGBUILD b/community/pylibacl/PKGBUILD index 6e0624f12..f43670048 100644 --- a/community/pylibacl/PKGBUILD +++ b/community/pylibacl/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 31901 2010-11-07 19:18:54Z lfleischer $ +# $Id: PKGBUILD 57855 2011-11-03 18:43:59Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> pkgname=pylibacl pkgver=0.5.0 -pkgrel=1 -pkgdesc="A python extension module that allows you to manipulate the POSIX.1e ACLs." +pkgrel=2 +pkgdesc='A python extension module that allows you to manipulate the POSIX.1e ACLs.' arch=('i686' 'x86_64') url='http://pylibacl.sourceforge.net/' license=('GPL') diff --git a/community/pypanel/PKGBUILD b/community/pypanel/PKGBUILD index ffb86eaa4..82d608970 100644 --- a/community/pypanel/PKGBUILD +++ b/community/pypanel/PKGBUILD @@ -1,20 +1,21 @@ -# $Id: PKGBUILD 27121 2010-09-17 15:17:17Z schuay $ -# Maintainer: Jeff Mickey <j@codemac.net> +# $Id: PKGBUILD 57834 2011-11-03 10:22:57Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Jeff Mickey <j@codemac.net> # Contributor: Mr Green # Contributor: Jens Persson <xerxes2@gmail.com> pkgname=pypanel pkgver=2.4 -pkgrel=6 -pkgdesc="A lightweight panel/taskbar for X11 window managers written in python" +pkgrel=7 +pkgdesc='A lightweight panel/taskbar for X11 window managers written in python.' arch=('i686' 'x86_64') -url="http://pypanel.sourceforge.net/" +url='http://pypanel.sourceforge.net/' license=('GPL') depends=('python2' 'x-server' 'python-xlib' 'imlib2' 'libxft') -source=(http://downloads.sourceforge.net/sourceforge/pypanel/PyPanel-$pkgver.tar.gz) +source=("http://downloads.sourceforge.net/sourceforge/pypanel/PyPanel-${pkgver}.tar.gz") md5sums=('f1f9a2ed80be72ab36e748833618daba') build() { - cd "$srcdir/PyPanel-$pkgver" - python2 setup.py install --root="$pkgdir" + cd "${srcdir}/PyPanel-${pkgver}" + python2 setup.py install --root="${pkgdir}" } diff --git a/community/rdiff-backup/PKGBUILD b/community/rdiff-backup/PKGBUILD index 5f4c34465..3ffb75bad 100644 --- a/community/rdiff-backup/PKGBUILD +++ b/community/rdiff-backup/PKGBUILD @@ -1,23 +1,27 @@ -# $Id: PKGBUILD 26407 2010-09-15 11:58:40Z schuay $ -# Maintainer: Aaron Schaefer <aaron@elasticdog.com> +# $Id: PKGBUILD 57837 2011-11-03 10:27:32Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Aaron Schaefer <aaron@elasticdog.com> # Contributor: Erwin Van de Velde <erwin.vandevelde@gmail.com> + pkgname=rdiff-backup pkgver=1.2.8 -pkgrel=4 -pkgdesc='A utility for local/remote mirroring and incremental backups' +pkgrel=5 +pkgdesc='A utility for local/remote mirroring and incremental backups.' arch=('i686' 'x86_64') url='http://www.nongnu.org/rdiff-backup/' license=('GPL') depends=('python2' 'librsync') optdepends=('pylibacl: access control list support' 'pyxattr: extended attribute support') -source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz") -md5sums=('1a94dc537fcf74d6a3a80bd27808e77b') +source=("http://savannah.nongnu.org/download/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc}) +md5sums=('1a94dc537fcf74d6a3a80bd27808e77b' + '3b88b18eb43ac85bc70b8dce92e958ba') build() { cd "${srcdir}/${pkgname}-${pkgver}" + python2 setup.py install --root="${pkgdir}" -O1 # Fix for FS#18848 - sed -i 's|python2|python2 -W ignore::DeprecationWarning|' ${pkgdir}/usr/bin/rdiff-backup + sed -i 's|python2|python2 -W ignore::DeprecationWarning|' "${pkgdir}/usr/bin/rdiff-backup" } diff --git a/community/remind/PKGBUILD b/community/remind/PKGBUILD index 61fec08ad..27bb61ee9 100644 --- a/community/remind/PKGBUILD +++ b/community/remind/PKGBUILD @@ -1,10 +1,11 @@ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org> # Contributor: Sebastian Sontberg <ssontberg@h3c.de> # Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=remind pkgver=3.01.10 -pkgrel=1 +pkgrel=2 pkgdesc='A sophisticated calendar and alarm progam.' arch=('i686' 'x86_64') url='http://www.roaringpenguin.com/penguin/open_source_remind.php' @@ -15,16 +16,13 @@ options=('!emptydirs') md5sums=('f6f7829d3ac92e0d6d463c59b5e6ce3f') build() { - cd ${pkgname}-0${pkgver} - - ./configure \ - --prefix=/usr + cd "${pkgname}-0${pkgver}" + ./configure --prefix=/usr make } package() { - cd ${pkgname}-0${pkgver} - - make DESTDIR=${pkgdir} install + cd "${pkgname}-0${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/community/spawn-fcgi/PKGBUILD b/community/spawn-fcgi/PKGBUILD index 58c097e1f..6b20d17c9 100644 --- a/community/spawn-fcgi/PKGBUILD +++ b/community/spawn-fcgi/PKGBUILD @@ -1,29 +1,29 @@ -# $Id: PKGBUILD 27971 2010-09-30 23:34:38Z aschaefer $ -# Maintainer: Aaron Bull Schaefer <aaron@elasticdog.com> +# $Id: PKGBUILD 57827 2011-11-03 10:14:07Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Aaron Bull Schaefer <aaron@elasticdog.com> # Contributor: Felix Hanley <felix@seconddrawer.com.au> pkgname=spawn-fcgi pkgver=1.6.3 -pkgrel=1 +pkgrel=2 pkgdesc='A FastCGI process manager for web applications' arch=('i686' 'x86_64') url='http://redmine.lighttpd.net/projects/spawn-fcgi/' license=('BSD') depends=('glibc') -source=("http://www.lighttpd.net/download/$pkgname-$pkgver.tar.bz2") +source=("http://www.lighttpd.net/download/${pkgname}-${pkgver}.tar.bz2") md5sums=('787ed2f88d2204bf1fe4fbd6e509d1d7') -sha256sums=('e6721dc0fa59bb00e05f160406815d53c95e81ac28f7e52fbd36497584f846cd') build() { - cd "$srcdir/$pkgname-$pkgver" + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make } package() { - cd "$srcdir/$pkgname-$pkgver" + cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="$pkgdir/" install - install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" + make DESTDIR="${pkgdir}" install + install -Dm0644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" } diff --git a/community/steghide/PKGBUILD b/community/steghide/PKGBUILD index 04c5a0f54..4eb872e74 100644 --- a/community/steghide/PKGBUILD +++ b/community/steghide/PKGBUILD @@ -1,31 +1,43 @@ -# $Id: PKGBUILD 9308 2010-01-25 00:27:50Z foutrelis $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> -# Maintainer: Jason Chu <jason@archlinux.org> +# Contributor: Jason Chu <jason@archlinux.org> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=steghide pkgver=0.5.1 -pkgrel=4 -pkgdesc="Steghide is a steganography program which embeds a secret message \ - in a cover file by replacing some of the least significant bits" +pkgrel=5 +pkgdesc='Embeds a message in a file by replacing some of the least significant bits.' arch=('i686' 'x86_64') -url="http://steghide.sourceforge.net" +url='http://steghide.sourceforge.net' license=('GPL') depends=('libmcrypt' 'mhash' 'gcc' 'libjpeg' 'zlib' 'libtool') -source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz \ - buildsystem.patch gcc-4.2.patch $pkgname-climits.patch) +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'buildsystem.patch' + 'gcc-4.2.patch' + "${pkgname}-climits.patch") md5sums=('5be490e24807d921045780fd8cc446b3' '14f5e054d71c91262bb1140288043df8' 'fd861dc5a0a392c6c94a61e85ad74f29' '897ce18edd008293a3328bc3f88775b3') build() { - cd $startdir/src/$pkgname-$pkgver - patch -p1 < ../buildsystem.patch || return 1 + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -p1 < ../buildsystem.patch + # this patch courtesy gentoo bug tracker #178134 - patch -Np1 -i ../gcc-4.2.patch || return 1 - patch -Np1 -i ../steghide-climits.patch || return 1 + patch -Np1 -i ../gcc-4.2.patch + patch -Np1 -i ../steghide-climits.patch + + # touch files needed by GNU Autotools + touch NEWS AUTHORS ChangeLog + autoreconf -i ./configure --prefix=/usr - make || return 1 - make DESTDIR=$startdir/pkg install || return 1 + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install } diff --git a/community/synergy/PKGBUILD b/community/synergy/PKGBUILD index 7c1948dd3..e23adadc2 100644 --- a/community/synergy/PKGBUILD +++ b/community/synergy/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: Dale Blount <dale@archlinux.org> pkgname=synergy -pkgver=1.3.7 +pkgver=1.3.8 pkgrel=1 pkgdesc="Share a single mouse and keyboard between multiple computers" url="http://synergy-foss.org" @@ -36,5 +36,5 @@ package() { install -Dm644 $srcdir/$pkgname-$pkgver-Source/doc/${pkgname}.conf.example "${pkgdir}/etc" install -Dm755 $srcdir/${pkgname}s.rc "${pkgdir}/etc/rc.d/${pkgname}s" } -md5sums=('27842f45f8ab6923eb702f9cc4858194' +md5sums=('3534c65ecfa6e47d7899c57975442f03' '8f8c01add9bf6e3ae9f37a36ca6345b6') diff --git a/community/tabbed/PKGBUILD b/community/tabbed/PKGBUILD index 1fd037b3c..aa0c1f369 100644 --- a/community/tabbed/PKGBUILD +++ b/community/tabbed/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 31139 2010-10-27 11:10:35Z lfleischer $ +# $Id: PKGBUILD 57841 2011-11-03 11:24:18Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: totoloco <totoloco at gmx> pkgname=tabbed pkgver=0.3 -pkgrel=1 -pkgdesc="Simple generic tabbed fronted to xembed aware applications." +pkgrel=2 +pkgdesc='Simple generic tabbed fronted to xembed aware applications.' arch=('i686' 'x86_64') url='http://tools.suckless.org/tabbed' license=('custom:MIT/X') diff --git a/community/transset-df/PKGBUILD b/community/transset-df/PKGBUILD index 5a07fa699..f5d373fa3 100644 --- a/community/transset-df/PKGBUILD +++ b/community/transset-df/PKGBUILD @@ -1,25 +1,24 @@ -# $Id: PKGBUILD 22565 2010-07-22 20:46:50Z lcarlier $ -# Contributer: Aaron Schaefer <aaron@elasticdog.com> +# $Id: PKGBUILD 57820 2011-11-03 10:04:35Z lfleischer $ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> +# Contributor: Aaron Schaefer <aaron@elasticdog.com> pkgname=transset-df pkgver=6 -pkgrel=2 -pkgdesc="A patched version of X.Org's transset with added functionality" +pkgrel=3 +pkgdesc="A patched version of X.Org's transset with added functionality." arch=('i686' 'x86_64') -url="http://forchheimer.se/transset-df/" +url='http://forchheimer.se/transset-df/' license=('GPL') depends=('libxcomposite' 'libxdamage' 'libxrender') -source=(http://forchheimer.se/$pkgname/$pkgname-$pkgver.tar.gz) +source=("http://forchheimer.se/${pkgname}/${pkgname}-${pkgver}.tar.gz") md5sums=('3375d570adc9d875d7fc476d1a50d5a5') build() { - cd ${srcdir}/$pkgname-$pkgver - + cd "${srcdir}/${pkgname}-${pkgver}" make } package() { - cd ${srcdir}/$pkgname-$pkgver - - install -D -m755 transset-df ${pkgdir}/usr/bin/transset-df + cd "${srcdir}/${pkgname}-${pkgver}" + install -Dm0755 transset-df "${pkgdir}/usr/bin/transset-df" } diff --git a/community/upx/PKGBUILD b/community/upx/PKGBUILD index 77b55ba50..68f61ba3b 100644 --- a/community/upx/PKGBUILD +++ b/community/upx/PKGBUILD @@ -1,10 +1,11 @@ +# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: bekks <eduard.warkentin@gmail.com> -# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> +# Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=upx pkgver=3.07 -pkgrel=1 +pkgrel=2 pkgdesc='Ultimate executable compressor.' arch=('i686' 'x86_64') url='http://upx.sourceforge.net/' @@ -17,17 +18,13 @@ md5sums=('8186ab103288242f7e8ecad1acd4af03' '29d5ffd03a5a3e51aef6a74e9eafb759') build() { - cd ${pkgname}-${pkgver}-src - - make UPX_LZMA_VERSION=0x465 UPX_LZMADIR=${srcdir} all + cd "${pkgname}-${pkgver}-src" + make UPX_LZMA_VERSION=0x465 UPX_LZMADIR="${srcdir}" all } package() { - cd ${pkgname}-${pkgver}-src - - install -D src/upx.out \ - ${pkgdir}/usr/bin/upx + cd "${pkgname}-${pkgver}-src" - install -D -m644 doc/upx.1 \ - ${pkgdir}/usr/share/man/man1/upx.1 + install -Dm0755 src/upx.out "${pkgdir}/usr/bin/upx" + install -Dm0644 doc/upx.1 "${pkgdir}/usr/share/man/man1/upx.1" } diff --git a/core/crda/PKGBUILD b/core/crda/PKGBUILD index 18a85717c..f5264bb73 100644 --- a/core/crda/PKGBUILD +++ b/core/crda/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 117670 2011-04-04 15:42:36Z stephane $ +# $Id: PKGBUILD 141968 2011-11-03 18:52:56Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=crda -pkgver=1.1.1 -pkgrel=3 +pkgver=1.1.2 +pkgrel=1 pkgdesc="Central Regulatory Domain Agent for wireless networks" arch=(i686 x86_64) url="http://wireless.kernel.org/en/developers/Regulatory/CRDA" @@ -13,7 +13,7 @@ makedepends=('python-m2crypto') install=crda.install source=(http://wireless.kernel.org/download/crda/${pkgname}-${pkgver}.tar.bz2 crda.rc) -md5sums=('5fc77af68b3e21736b8ef2f8b061c810' +md5sums=('5226f65aebacf94baaf820f8b4e06df4' '014eef3f8655e9a130064ec6891317fc') build() { diff --git a/core/tzdata/PKGBUILD b/core/tzdata/PKGBUILD index 2ed33dc0f..54108609a 100644 --- a/core/tzdata/PKGBUILD +++ b/core/tzdata/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 141347 2011-10-29 16:13:37Z andyrtr $ +# $Id: PKGBUILD 141939 2011-11-03 11:23:47Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgname=tzdata -pkgver=2011m -pkgrel=2 +pkgver=2011n +pkgrel=1 _tzcode=2011i -_tzdata=2011m +_tzdata=2011n pkgdesc="Sources for time zone and daylight saving time data" arch=('i686' 'x86_64') url="http://www.twinsun.com/tz/tz-link.htm" @@ -19,7 +19,7 @@ source=(ftp://elsie.nci.nih.gov/pub/tzcode${_tzcode}.tar.gz \ #ftp://elsie.nci.nih.gov/pub/${pkgname}${_tzdata}.tar.gz \ Makefile.patch) md5sums=('cf7f4335b7c8682899fa2814e711c1b2' - '6dc4455b62c951dcf367a239ca249e69' + '20dbfb28efa008ddbf6dd34601ea40fa' 'a64ed97d1fc03c66ee8612c0d9f40507') build() { @@ -35,7 +35,7 @@ build() { check() { cd ${srcdir} - make -k check || /bin/true + make -k check # || /bin/true } package() { diff --git a/extra/bzr/PKGBUILD b/extra/bzr/PKGBUILD index db9b86fc5..4f82d185b 100644 --- a/extra/bzr/PKGBUILD +++ b/extra/bzr/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 138003 2011-09-14 02:50:25Z eric $ +# $Id: PKGBUILD 141925 2011-11-03 07:48:25Z andrea $ # Maintainer : # Contributor: Hugo Doria <hugo@archlinux.org> pkgname=bzr -pkgver=2.4.1 +pkgver=2.4.2 pkgrel=1 pkgdesc="A decentralized revision control system (bazaar)" arch=('i686' 'x86_64') @@ -11,8 +11,9 @@ url="http://bazaar.canonical.com/en/" license=('GPL') depends=('python2') optdepends=('python-paramiko: for sftp support') -source=("http://launchpad.net/${pkgname}/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz") -md5sums=('61068bfc1f0c9fb8a4b92bca204e0df8') +source=("http://launchpad.net/${pkgname}/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz"{,.sig}) +md5sums=('cfc06fddd348445c65a247c0b33a05db' + '90294e34a45df20b16be47a32c800c89') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/foobillard++/PKGBUILD b/extra/foobillard++/PKGBUILD index a1e52baf9..bfc8d10b0 100644 --- a/extra/foobillard++/PKGBUILD +++ b/extra/foobillard++/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 138073 2011-09-16 03:35:31Z eric $ +# $Id: PKGBUILD 141931 2011-11-03 08:55:49Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=foobillard++ -pkgver=3.4beta +pkgver=3.41beta pkgrel=1 pkgdesc="An OpenGL billiard game" arch=('i686' 'x86_64') @@ -11,8 +11,7 @@ license=('GPL2') depends=('bzip2' 'freetype2' 'libpng' 'mesa' 'sdl_net') replaces=('foobillard') source=(http://downloads.sourceforge.net/foobillardplus/foobillardplus-${pkgver}.tar.gz) -md5sums=('130418a45ba84b4132f9b27712feb919') -sha1sums=('d8723568e460ee62cb913b0c8d7c9a9f557395ee') +sha1sums=('41d6db473557386ffeacd98b9a2ee26198e42c6a') build() { cd "${srcdir}/foobillardplus-${pkgver}" diff --git a/extra/grantlee/PKGBUILD b/extra/grantlee/PKGBUILD index 339906704..5acc48479 100644 --- a/extra/grantlee/PKGBUILD +++ b/extra/grantlee/PKGBUILD @@ -1,8 +1,9 @@ -# $Id: PKGBUILD 128623 2011-06-24 16:39:02Z andrea $ -# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# $Id: PKGBUILD 142010 2011-11-03 23:27:16Z andrea $ +# Maintainer: +# Contributor: Andrea Scarpino <andrea@archlinux.org> pkgname=grantlee -pkgver=0.1.9 +pkgver=0.2.0 pkgrel=1 pkgdesc="A string template engine based on the Django template system and written in Qt" arch=('i686' 'x86_64') @@ -11,7 +12,7 @@ license=('LGPL3') depends=('qt') makedepends=('cmake') source=("http://downloads.grantlee.org/${pkgname}-${pkgver}.tar.gz") -md5sums=('3d93b5312814ebee373fba5509d88bdb') +md5sums=('0622ed30630a44b5fac0bfa7e176d3fe') build() { cd "${srcdir}" diff --git a/extra/monodevelop-debugger-gdb/PKGBUILD b/extra/monodevelop-debugger-gdb/PKGBUILD index 4905e598c..c52a94f0a 100644 --- a/extra/monodevelop-debugger-gdb/PKGBUILD +++ b/extra/monodevelop-debugger-gdb/PKGBUILD @@ -1,16 +1,16 @@ # Maintainer: Daniel Isenmann <daniel@archlinux.org> pkgname=monodevelop-debugger-gdb -pkgver=2.8.1 +pkgver=2.8.2 pkgrel=1 pkgdesc="Mono Debugger support" arch=('i686' 'x86_64') url="http://monodevelop.com" license=('GPL') -depends=('monodevelop>=2.8.1' 'gdb') +depends=('monodevelop>=2.8.2' 'gdb') makedepends=('mono') source=(http://download.mono-project.com/sources/$pkgname/$pkgname-$pkgver.tar.bz2) -md5sums=('398c3b49fa1698857499a6e8261becf3') +md5sums=('0c1661c05d8a3fbe56cf1122d9730b26') build() { export MONO_SHARED_DIR="${srcdir}/.wabi" diff --git a/extra/monodevelop/PKGBUILD b/extra/monodevelop/PKGBUILD index ec8bf415f..742c7fcd5 100644 --- a/extra/monodevelop/PKGBUILD +++ b/extra/monodevelop/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: Giovanni Scafora <giovanni@archlinux.org> pkgname=monodevelop -pkgver=2.8.1 +pkgver=2.8.2 pkgrel=1 pkgdesc="An IDE primarily designed for C# and other .NET languages" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('mono>=2.10.5' 'mono-addins>=0.6.2' 'gnome-sharp' 'gecko-sharp-2.0>=0.1 options=(!makeflags) install=monodevelop.install source=(http://download.mono-project.com/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('02c3f0f75e1d21d72ac5cd0b373d0e58') +md5sums=('4a445e251d5e8a12a8aa4ae22f3a6841') build() { export MONO_SHARED_DIR=$srcdir/src/.wabi diff --git a/extra/thunar/PKGBUILD b/extra/thunar/PKGBUILD index ff393d892..247660553 100644 --- a/extra/thunar/PKGBUILD +++ b/extra/thunar/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 138370 2011-09-21 09:30:05Z tpowa $ -# Maintainer: andyrtr <andyrtr funnychar archlinux.org> +# $Id: PKGBUILD 142015 2011-11-04 03:17:01Z foutrelis $ +# Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Andrew Simmons <andrew.simmons@gmail.com> pkgname=thunar pkgver=1.2.3 -pkgrel=1 -pkgdesc="modern file manager for Xfce" +pkgrel=2 +pkgdesc="Modern file manager for Xfce" arch=('i686' 'x86_64') -license=('GPL2' 'LGPL2.1') url="http://thunar.xfce.org" +license=('GPL2' 'LGPL2.1') groups=('xfce4') -depends=('desktop-file-utils' 'libexif' 'hicolor-icon-theme' 'libnotify>=0.7.1' 'udev' - 'gtk2' 'exo>=0.6.0' 'libxfce4util>=4.8.1' 'libxfce4ui' 'libpng') -makedepends=('intltool' 'gtk-doc' 'xfce4-panel>=4.8.0') +depends=('desktop-file-utils' 'libexif' 'hicolor-icon-theme' 'libnotify' 'udev' + 'gtk2' 'exo' 'libxfce4util' 'libxfce4ui' 'libpng') +makedepends=('intltool' 'gtk-doc' 'xfce4-panel') optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems' 'xfce4-panel: for trash applet' 'tumbler: for thumbnail previews' @@ -20,40 +20,36 @@ optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems 'thunar-archive-plugin: create and deflate archives' 'thunar-media-tags-plugin: view/edit id3/ogg tags') options=('!libtool') -install=${pkgname}.install -backup=('etc/polkit-1/localauthority/50-local.d/org.freedesktop.udisks.pkla') -source=(http://archive.xfce.org/src/xfce/${pkgname}/1.2/Thunar-${pkgver}.tar.bz2 - org.freedesktop.udisks.pkla) +install=$pkgname.install +source=(http://archive.xfce.org/src/xfce/${pkgname}/1.2/Thunar-${pkgver}.tar.bz2) +sha256sums=('e66aa9ad61a9202e15cc7c5fffc7b961da9ab3b4428f874c1ec8e46eb4ffaca6') build() { - cd ${srcdir}/Thunar-${pkgver} + cd "$srcdir/Thunar-$pkgver" + ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib \ - --localstatedir=/var \ - --disable-static \ - --enable-gio-unix \ - --enable-dbus \ - --enable-startup-notification \ - --enable-gudev \ - --enable-notifications \ - --enable-exif \ - --enable-pcre \ - --enable-gtk-doc \ - --disable-debug + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --disable-static \ + --enable-gio-unix \ + --enable-dbus \ + --enable-startup-notification \ + --enable-gudev \ + --enable-notifications \ + --enable-exif \ + --enable-pcre \ + --enable-gtk-doc \ + --disable-debug make } package() { - cd ${srcdir}/Thunar-${pkgver} + cd "$srcdir/Thunar-$pkgver" + make DESTDIR=${pkgdir} install sed -i 's:x-directory/gnome-default-handler;::' \ - ${pkgdir}/usr/share/applications/Thunar-folder-handler.desktop - - # install udisks permission file - install -dm700 ${pkgdir}/etc/polkit-1/localauthority - install -dm755 ${pkgdir}/etc/polkit-1/localauthority/50-local.d - install -m644 ${srcdir}/org.freedesktop.udisks.pkla ${pkgdir}/etc/polkit-1/localauthority/50-local.d/ + "$pkgdir/usr/share/applications/Thunar-folder-handler.desktop" } -md5sums=('0a2c36cdd3cb3a2ab52cbf6055415b85' - 'a7ddb5eec02d9a8e91a2997862e73cd8') + +# vim:set ts=2 sw=2 et: diff --git a/extra/thunar/thunar.install b/extra/thunar/thunar.install index 28fdb48fb..87c29e4db 100644 --- a/extra/thunar/thunar.install +++ b/extra/thunar/thunar.install @@ -4,11 +4,11 @@ post_install() { } post_upgrade() { - post_install $1 + post_install } post_remove() { - update-desktop-database -q - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + post_install } +# vim:set ts=2 sw=2 et: diff --git a/extra/xfce4-clipman-plugin/PKGBUILD b/extra/xfce4-clipman-plugin/PKGBUILD index f8d13ea2c..25403c890 100644 --- a/extra/xfce4-clipman-plugin/PKGBUILD +++ b/extra/xfce4-clipman-plugin/PKGBUILD @@ -1,13 +1,13 @@ -# $Id: PKGBUILD 141285 2011-10-28 04:36:42Z eric $ +# $Id: PKGBUILD 141959 2011-11-03 17:33:58Z eric $ # Maintainer: tobias <tobias at archlinux.org> # Contributor: Aurelien Foret <orelien@chez.com> pkgname=xfce4-clipman-plugin -pkgver=1.2.0 +pkgver=1.2.2 pkgrel=1 pkgdesc="A clipboard plugin for the Xfce4 panel" arch=('i686' 'x86_64') -license=('custom') +license=('GPL') url="http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin" groups=('xfce4-goodies') depends=('xfce4-panel' 'libunique' 'libxtst') @@ -15,7 +15,7 @@ makedepends=('intltool') options=('!libtool') install=${pkgname}.install source=(http://archive.xfce.org/src/panel-plugins/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) -md5sums=('9df2441d188e90d5304e5da84dca9969') +md5sums=('60df7769a8271d7fcab177210f4291e8') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -33,6 +33,4 @@ build() { package() { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install - install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" - } diff --git a/extra/xfce4-dev-tools/PKGBUILD b/extra/xfce4-dev-tools/PKGBUILD new file mode 100644 index 000000000..0b56b17ac --- /dev/null +++ b/extra/xfce4-dev-tools/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 142012 2011-11-04 02:41:52Z eric $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Tobias Kieslich <tobias funnychar archlinux.org> + +pkgname=xfce4-dev-tools +pkgver=4.9.0 +pkgrel=1 +pkgdesc="Xfce developer tools" +arch=('i686' 'x86_64') +license=('GPL2') +url="http://www.xfce.org/" +depends=('gtk-doc' 'automake' 'automake' 'make' 'intltool' 'pkg-config') +options=('!libtool') +source=(http://archive.xfce.org/src/xfce/xfce4-dev-tools/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) +md5sums=('325047a072f5599ec7fda9f970c47091') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --localstatedir=/var + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/libre/virtualbox-parabola-modules/60-vboxguest.rules b/libre/virtualbox-parabola-modules/60-vboxguest.rules index d64575709..6285f7249 100644 --- a/libre/virtualbox-parabola-modules/60-vboxguest.rules +++ b/libre/virtualbox-parabola-modules/60-vboxguest.rules @@ -1,3 +1,2 @@ ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600" ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666" - diff --git a/libre/virtualbox-parabola-modules/LocalConfig.kmk b/libre/virtualbox-parabola-modules/LocalConfig.kmk index 1fb0b88bd..af79f90cd 100644 --- a/libre/virtualbox-parabola-modules/LocalConfig.kmk +++ b/libre/virtualbox-parabola-modules/LocalConfig.kmk @@ -17,4 +17,3 @@ VBOX_BLD_PYTHON = python2 VBOX_JAVA_HOME = /usr/lib/jvm/java-6-openjdk VBOX_GCC_WERR = VBOX_GCC_WARN = - diff --git a/libre/virtualbox-parabola-modules/PKGBUILD b/libre/virtualbox-parabola-modules/PKGBUILD index 7012d5943..d077c092a 100644 --- a/libre/virtualbox-parabola-modules/PKGBUILD +++ b/libre/virtualbox-parabola-modules/PKGBUILD @@ -4,11 +4,11 @@ pkgbase=virtualbox-modules pkgname=('virtualbox-modules' 'virtualbox-parabola-modules') pkgver=4.1.4 -pkgrel=3 +pkgrel=3.1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') -makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-headers') +makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-headers' 'linux-libre') [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 LocalConfig.kmk 60-vboxguest.rules) @@ -17,12 +17,13 @@ md5sums=('dc6e6801b3823332b6ca2e9915221aae' 'ed1341881437455d9735875ddf455fbe') _extramodules=extramodules-3.1-LIBRE -_kernver="$(cat /lib/modules/${_extramodules}/version)" - -export KERN_DIR=/lib/modules/${_kernver}/build -export KERN_INCL=/usr/src/linux-${_kernver}/include/ build() { + _kernver="$(cat /lib/modules/${_extramodules}/version)" + + export KERN_DIR=/lib/modules/${_kernver}/build + export KERN_INCL=/usr/src/linux-${_kernver}/include/ + cd "$srcdir/VirtualBox-${pkgver}_OSE" cp "$srcdir/LocalConfig.kmk" . @@ -100,7 +101,3 @@ package_virtualbox-modules(){ sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "$startdir/virtualbox-modules.install" } - -md5sums=('dc6e6801b3823332b6ca2e9915221aae' - 'b566518ba3ba3a513b91a75283cdedf8' - '13ff08388a54fd48cc04523380f26af6') diff --git a/libre/virtualbox-parabola-modules/virtualbox-modules.install b/libre/virtualbox-parabola-modules/virtualbox-modules.install index 0706681bf..b57135999 100644 --- a/libre/virtualbox-parabola-modules/virtualbox-modules.install +++ b/libre/virtualbox-parabola-modules/virtualbox-modules.install @@ -16,4 +16,4 @@ post_upgrade() { post_remove() { EXTRAMODULES='extramodules-3.1-LIBRE' depmod $(cat /lib/modules/$EXTRAMODULES/version) - +} diff --git a/libre/virtualbox-parabola-modules/virtualbox-parabola-modules.install b/libre/virtualbox-parabola-modules/virtualbox-parabola-modules.install index decf303e9..8801d8c49 100644 --- a/libre/virtualbox-parabola-modules/virtualbox-parabola-modules.install +++ b/libre/virtualbox-parabola-modules/virtualbox-parabola-modules.install @@ -15,4 +15,3 @@ post_remove() { EXTRAMODULES='extramodules-3.1-LIBRE' depmod $(cat /lib/modules/$EXTRAMODULES/version) } - diff --git a/testing/bash/PKGBUILD b/testing/bash/PKGBUILD new file mode 100644 index 000000000..3e3ba3663 --- /dev/null +++ b/testing/bash/PKGBUILD @@ -0,0 +1,101 @@ +# $Id: PKGBUILD 141911 2011-11-03 05:56:41Z allan $ +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Maintainer: Allan McRae <allan@archlinux.org> + +pkgname=bash +_basever=4.2 +_patchlevel=010 #prepare for some patches +pkgver=$_basever.$_patchlevel +pkgrel=2 +pkgdesc="The GNU Bourne Again shell" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnu.org/software/bash/bash.html" +groups=('base') +backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) +depends=('readline>=6.1' 'glibc') +provides=('sh') +install=bash.install +source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig} + dot.bashrc + dot.bash_profile + dot.bash_logout + system.bashrc + system.bash_logout) +if [ $_patchlevel -gt 000 ]; then + for (( p=1; p<=$((10#${_patchlevel})); p++ )); do + source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//./}-$(printf "%03d" $p){,.sig}) + done +fi + +build() { + cd ${srcdir}/${pkgname}-$_basever + for (( p=1; p<=$((10#${_patchlevel})); p++ )); do + msg "applying patch bash${_basever//./}-$(printf "%03d" $p)" + patch -Np0 -i $srcdir/bash${_basever//./}-$(printf "%03d" $p) + done + + _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin\"\' + -DSTANDARD_UTILS_PATH=\'\"/usr/bin:/bin:/usr/sbin:/sbin\"\' + -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\' + -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\') + export CFLAGS="${CFLAGS} ${_bashconfig[@]}" + + ./configure --prefix=/usr --with-curses --enable-readline \ + --without-bash-malloc --with-installed-readline \ + --bindir=/bin --mandir=/usr/share/man --infodir=/usr/share/info + make +} + +check() { + cd ${srcdir}/${pkgname}-$_basever + make check +} + +package() { + cd ${srcdir}/${pkgname}-$_basever + make DESTDIR=${pkgdir} install + + # for now, bash is our default /bin/sh + cd ${pkgdir}/bin + ln -s bash sh + + install -dm755 ${pkgdir}/etc/skel/ + + # system-wide configuration files + install -m644 ${srcdir}/system.bashrc ${pkgdir}/etc/bash.bashrc + install -m644 ${srcdir}/system.bash_logout ${pkgdir}/etc/bash.bash_logout + + # user configuration file skeletons + install -m644 ${srcdir}/dot.bashrc ${pkgdir}/etc/skel/.bashrc + install -m644 ${srcdir}/dot.bash_profile ${pkgdir}/etc/skel/.bash_profile + install -m644 ${srcdir}/dot.bash_logout ${pkgdir}/etc/skel/.bash_logout +} + +md5sums=('3fb927c7c33022f1c327f14a81c0d4b0' + '8d37a3f97a48c1e56e1a4ded877ed944' + '027d6bd8f5f6a06b75bb7698cb478089' + '2902e0fee7a9168f3a4fd2ccd60ff047' + '42f4400ed2314bd7519c020d0187edc5' + 'fe5d3a367f7d5f754214dc05e3d958ab' + '472f536d7c9e8250dc4568ec4cfaf294' + '1100bc1dda2cdc06ac44d7e5d17864a3' + 'a7184b76eb4a079f10174a0a8f574819' + '30e7948079921d3261efcc6a40722135' + 'c4d45307f7e69fe508ce347c4cec1955' + '9ea06decec43a198f3d7cf29acc602f8' + '74bddae6eeb9227a04a467d42597a34d' + 'fb48f6134d7b013135929476aa0c250c' + '3e6a18226b16c773229246abd07a1f5e' + 'e70e45de33426b38153b390be0dbbcd4' + 'e667dc9348ebc3e0e14bfdd87f4b6ff2' + 'ce4e5c484993705b27daa151eca242c2' + '41cbd8e57589bc081a546a014ddb12f8' + '88d1f96db29461767602e2546803bda7' + 'b8b781520f4c7493a2a1ac3010a44a44' + '24c574bf6d6a581e300823d9c1276af6' + '354a0899a7c4b446454c52546562b55b' + '4c5835f2fbab36c4292bb334977e5b6d' + 'ff4547ca7b508d52101729d61f5b77b6' + '0a51602b535ef661ee707be6c8bdb373' + 'cec7c92a4d8052ea4b29216365d16566') diff --git a/testing/bash/bash.install b/testing/bash/bash.install new file mode 100644 index 000000000..bc75e9b6a --- /dev/null +++ b/testing/bash/bash.install @@ -0,0 +1,20 @@ +info_dir=usr/share/info +info_files=(bash.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for f in ${info_files[@]}; do + usr/bin/install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for f in ${info_files[@]}; do + usr/bin/install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + done +} diff --git a/testing/bash/dot.bash_logout b/testing/bash/dot.bash_logout new file mode 100644 index 000000000..0e4e4f184 --- /dev/null +++ b/testing/bash/dot.bash_logout @@ -0,0 +1,3 @@ +# +# ~/.bash_logout +# diff --git a/testing/bash/dot.bash_profile b/testing/bash/dot.bash_profile new file mode 100644 index 000000000..5545f007e --- /dev/null +++ b/testing/bash/dot.bash_profile @@ -0,0 +1,5 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/testing/bash/dot.bashrc b/testing/bash/dot.bashrc new file mode 100644 index 000000000..a355b0cd3 --- /dev/null +++ b/testing/bash/dot.bashrc @@ -0,0 +1,9 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +PS1='[\u@\h \W]\$ ' diff --git a/testing/bash/system.bash_logout b/testing/bash/system.bash_logout new file mode 100644 index 000000000..a76e48e4a --- /dev/null +++ b/testing/bash/system.bash_logout @@ -0,0 +1,3 @@ +# +# /etc/bash.bash_logout +# diff --git a/testing/bash/system.bashrc b/testing/bash/system.bashrc new file mode 100644 index 000000000..84de2898c --- /dev/null +++ b/testing/bash/system.bashrc @@ -0,0 +1,23 @@ +# +# /etc/bash.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +PS1='[\u@\h \W]\$ ' +PS2='> ' +PS3='> ' +PS4='+ ' + +case ${TERM} in + xterm*|rxvt*|Eterm|aterm|kterm|gnome*) + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"' + + ;; + screen) + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"' + ;; +esac + +[ -r /etc/bash_completion ] && . /etc/bash_completion diff --git a/testing/bison/ChangeLog b/testing/bison/ChangeLog new file mode 100644 index 000000000..5bb22be1d --- /dev/null +++ b/testing/bison/ChangeLog @@ -0,0 +1,19 @@ +2010-03-25 Eric Belanger <eric@archlinux.org> + + * bison 2.4.2-1 + * Upstream update + * Removed texinfo dependency in install scriptlet + * Updated license + * Added sh depends + +2008-12-11 Eric Belanger <eric@archlinux.org> + + * bison 2.4.1-1 + * Upstream update + +2008-11-08 Eric Belanger <eric@archlinux.org> + + * bison 2.4-1 + * Upstream update + * Added info file support + * Added ChangeLog diff --git a/testing/bison/PKGBUILD b/testing/bison/PKGBUILD new file mode 100644 index 000000000..51af7528f --- /dev/null +++ b/testing/bison/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 141913 2011-11-03 06:08:40Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Eric Belanger <eric@archlinux.org> + +pkgname=bison +pkgver=2.5 +pkgrel=2 +pkgdesc="The GNU general-purpose parser generator" +arch=('i686' 'x86_64') +license=('GPL3') +url="http://www.gnu.org/software/bison/bison.html" +depends=('glibc' 'm4' 'sh') +groups=('base-devel') +install=bison.install +source=(ftp://ftp.gnu.org/gnu/bison/${pkgname}-${pkgver}.tar.bz2{,.sig}) +md5sums=('9dba20116b13fc61a0846b0058fbe004' + '610b73db67bd4760209458efe7554ca3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --datadir=/usr/share + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/bison/bison.install b/testing/bison/bison.install new file mode 100644 index 000000000..0081a194f --- /dev/null +++ b/testing/bison/bison.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file=bison.info.gz + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file $infodir/dir 2> /dev/null +} diff --git a/testing/bzip2/PKGBUILD b/testing/bzip2/PKGBUILD new file mode 100644 index 000000000..7a1b27f94 --- /dev/null +++ b/testing/bzip2/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 141996 2011-11-03 21:01:23Z ronald $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Judd <jvinet@zeroflux.org> + +pkgname=bzip2 +pkgver=1.0.6 +pkgrel=3 +pkgdesc="A high-quality data compression program" +arch=('i686' 'x86_64') +license=('custom') +url="http://sources.redhat.com/bzip2" +groups=('base') +depends=('glibc') +source=(http://www.bzip.org/$pkgver/bzip2-$pkgver.tar.gz + bzip2-1.0.4-bzip2recover.patch) +sha1sums=('3f89f861209ce81a6bab1fd1998c0ef311712002' + '85ce76fdb67f52f152bba368c1de81132dcdbdb5') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # add large-file support + sed -e 's/^CFLAGS=\(.*\)$/CFLAGS=\1 \$(BIGFILES)/' -i ./Makefile-libbz2_so + + # use our optimization + sed -i "s|-O2|${CFLAGS}|g" Makefile + sed -i "s|-O2|${CFLAGS}|g" Makefile-libbz2_so + + patch -Np1 < ../bzip2-1.0.4-bzip2recover.patch + + make -f Makefile-libbz2_so + make bzip2 bzip2recover libbz2.a +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make test +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + install -dm755 $pkgdir/bin + install -m755 bzip2-shared $pkgdir/bin/bzip2 + install -m755 bzip2recover $pkgdir/bin + ln -sf bzip2 $pkgdir/bin/bunzip2 + ln -sf bzip2 $pkgdir/bin/bzcat + + install -dm755 $pkgdir/usr/bin + install -m755 bzdiff bzgrep bzmore $pkgdir/usr/bin + + install -Dm755 libbz2.so.1.0.6 $pkgdir/lib/libbz2.so.1.0.6 + ln -s libbz2.so.1.0.6 $pkgdir/lib/libbz2.so + ln -s libbz2.so.1.0.6 $pkgdir/lib/libbz2.so.1 + ln -s libbz2.so.1.0.6 $pkgdir/lib/libbz2.so.1.0 + + install -Dm644 libbz2.a ${pkgdir}/usr/lib/libbz2.a + ln -sf ../../lib/libbz2.so ${pkgdir}/usr/lib/libbz2.so + + install -Dm644 bzlib.h $pkgdir/usr/include/bzlib.h + + install -Dm644 bzip2.1 $pkgdir/usr/share/man/man1/bzip2.1 + ln -sf bzip2.1 $pkgdir/usr/share/man/man1/bunzip2.1 + ln -sf bzip2.1 $pkgdir/usr/share/man/man1/bzcat.1 + ln -sf bzip2.1 $pkgdir/usr/share/man/man1/bzip2recover.1 + + install -Dm644 $srcdir/${pkgname}-${pkgver}/LICENSE \ + $pkgdir/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/testing/bzip2/bzip2-1.0.4-bzip2recover.patch b/testing/bzip2/bzip2-1.0.4-bzip2recover.patch new file mode 100644 index 000000000..e2bfe1cc1 --- /dev/null +++ b/testing/bzip2/bzip2-1.0.4-bzip2recover.patch @@ -0,0 +1,12 @@ +--- bzip2-1.0.4/bzip2recover.c.pom 2007-01-03 03:00:55.000000000 +0100 ++++ bzip2-1.0.4/bzip2recover.c 2007-02-05 11:55:17.000000000 +0100 +@@ -309,7 +309,8 @@ + UInt32 buffHi, buffLo, blockCRC; + Char* p; + +- strcpy ( progName, argv[0] ); ++ strncpy ( progName, argv[0], BZ_MAX_FILENAME-1); ++ progName[BZ_MAX_FILENAME-1]='\0'; + inFileName[0] = outFileName[0] = 0; + + fprintf ( stderr, diff --git a/testing/cryptsetup/PKGBUILD b/testing/cryptsetup/PKGBUILD index 6210e7418..e3c2872f5 100644 --- a/testing/cryptsetup/PKGBUILD +++ b/testing/cryptsetup/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 141489 2011-10-30 23:10:21Z thomas $ +# $Id: PKGBUILD 141965 2011-11-03 18:49:44Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=cryptsetup pkgver=1.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt" arch=(i686 x86_64) license=('GPL') @@ -13,23 +13,26 @@ conflicts=('mkinitcpio<0.7') options=('!libtool' '!emptydirs') source=(http://cryptsetup.googlecode.com/files/${pkgname}-${pkgver}.tar.bz2 encrypt_hook - encrypt_install) + encrypt_install + cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch) sha256sums=('96d682853c8019cfeae0b21250cd2d00af42e46251807e8dbda2ff8427c2e9ed' '811bbea1337106ad811731c746d73ee81039bad00aef52398e3a377ad0766757' - 'd4380195351b70abf8fcb3cd19461879c55a7a07e4915d1f0365b295b112a573') + 'd4380195351b70abf8fcb3cd19461879c55a7a07e4915d1f0365b295b112a573' + '6fa1d3172014ba3ba96f7a67acbcae7f26b24a61abb84b3917f526a54f81dd87') build() { - cd $srcdir/$pkgname-${pkgver} + cd "${srcdir}"/$pkgname-${pkgver} + patch -p0 -i "${srcdir}"/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch ./configure --prefix=/usr --disable-static --sbindir=/sbin --libdir=/lib make } package() { - cd $srcdir/$pkgname-${pkgver} - make DESTDIR=$pkgdir install + cd "${srcdir}"/$pkgname-${pkgver} + make DESTDIR="${pkgdir}" install # install hook - install -D -m644 $srcdir/encrypt_hook $pkgdir/lib/initcpio/hooks/encrypt - install -D -m644 $srcdir/encrypt_install $pkgdir/lib/initcpio/install/encrypt + install -D -m644 "${srcdir}"/encrypt_hook "${pkgdir}"/lib/initcpio/hooks/encrypt + install -D -m644 "${srcdir}"/encrypt_install "${pkgdir}"/lib/initcpio/install/encrypt # Fix pkgconfig location - install -d -m755 $pkgdir/usr/lib - mv $pkgdir/lib/pkgconfig $pkgdir/usr/lib/ + install -d -m755 "${pkgdir}"/usr/lib + mv "${pkgdir}"/lib/pkgconfig "${pkgdir}"/usr/lib/ } diff --git a/testing/cryptsetup/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch b/testing/cryptsetup/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch new file mode 100644 index 000000000..f35226122 --- /dev/null +++ b/testing/cryptsetup/cryptsetup-fix-crypt_get_volume_key_size-for-plain-device.patch @@ -0,0 +1,94 @@ +Index: ChangeLog +=================================================================== +--- ChangeLog (Revision 664) ++++ ChangeLog (Revision 665) +@@ -1,3 +1,6 @@ ++2011-10-27 Milan Broz <mbroz@redhat.com> ++ * Fix crypt_get_volume_key_size() for plain device. ++ + 2011-10-25 Milan Broz <mbroz@redhat.com> + * Print informative message in isLuks only in verbose mode. + * Version 1.4.0. +Index: tests/api-test.c +=================================================================== +--- tests/api-test.c (Revision 664) ++++ tests/api-test.c (Revision 665) +@@ -660,6 +660,11 @@ + + FAIL_(crypt_init_by_name_and_header(&cd, CDEVICE_1, H_DEVICE),"can't init plain device by header device"); + OK_(crypt_init_by_name(&cd, CDEVICE_1)); ++ OK_(strcmp(cipher_mode,crypt_get_cipher_mode(cd))); ++ OK_(strcmp(cipher,crypt_get_cipher(cd))); ++ EQ_((int)key_size, crypt_get_volume_key_size(cd)); ++ EQ_(params.skip, crypt_get_iv_offset(cd)); ++ EQ_(params.offset, crypt_get_data_offset(cd)); + OK_(crypt_deactivate(cd, CDEVICE_1)); + crypt_free(cd); + +Index: lib/setup.c +=================================================================== +--- lib/setup.c (Revision 664) ++++ lib/setup.c (Revision 665) +@@ -56,6 +56,7 @@ + char *plain_cipher; + char *plain_cipher_mode; + char *plain_uuid; ++ unsigned int plain_key_size; + + /* used in CRYPT_LOOPAES */ + struct crypt_params_loopaes loopaes_hdr; +@@ -677,6 +678,7 @@ + (*cd)->plain_hdr.hash = NULL; /* no way to get this */ + (*cd)->plain_hdr.offset = dmd.offset; + (*cd)->plain_hdr.skip = dmd.iv_offset; ++ (*cd)->plain_key_size = dmd.vk->keylength; + + r = crypt_parse_name_and_mode(dmd.cipher, cipher, NULL, cipher_mode); + if (!r) { +@@ -754,6 +756,7 @@ + return -EINVAL; + } + ++ cd->plain_key_size = volume_key_size; + cd->volume_key = crypt_alloc_volume_key(volume_key_size, NULL); + if (!cd->volume_key) + return -ENOMEM; +@@ -1516,7 +1519,7 @@ + } + + r = process_key(cd, cd->plain_hdr.hash, +- cd->volume_key->keylength, ++ cd->plain_key_size, + passphrase, passphrase_size, &vk); + if (r < 0) + goto out; +@@ -1586,7 +1589,7 @@ + goto out; + + r = process_key(cd, cd->plain_hdr.hash, +- cd->volume_key->keylength, ++ cd->plain_key_size, + passphrase_read, passphrase_size_read, &vk); + if (r < 0) + goto out; +@@ -1658,8 +1661,7 @@ + if (!name) + return -EINVAL; + +- if (!volume_key || !volume_key_size || !cd->volume_key || +- volume_key_size != cd->volume_key->keylength) { ++ if (!volume_key || !volume_key_size || volume_key_size != cd->plain_key_size) { + log_err(cd, _("Incorrect volume key specified for plain device.\n")); + return -EINVAL; + } +@@ -1976,8 +1978,8 @@ + + int crypt_get_volume_key_size(struct crypt_device *cd) + { +- if (isPLAIN(cd->type) && cd->volume_key) +- return cd->volume_key->keylength; ++ if (isPLAIN(cd->type)) ++ return cd->plain_key_size; + + if (isLUKS(cd->type)) + return cd->hdr.keyBytes; diff --git a/testing/dhcpcd/PKGBUILD b/testing/dhcpcd/PKGBUILD new file mode 100644 index 000000000..a6acd400f --- /dev/null +++ b/testing/dhcpcd/PKGBUILD @@ -0,0 +1,50 @@ +# $Id: PKGBUILD 142006 2011-11-03 21:26:34Z ronald $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Tom Killian <tom.archlinux.org> +# Contributor: Judd Vinet <jvinet.zeroflux.org> + +pkgname=dhcpcd +pkgver=5.2.12 +pkgrel=2 +pkgdesc="RFC2131 compliant DHCP client daemon" +url="http://roy.marples.name/dhcpcd/" +arch=('i686' 'x86_64') +license=('BSD') +groups=('base') +depends=('glibc' 'sh' 'inetutils' 'net-tools') +backup=('etc/conf.d/dhcpcd' 'etc/dhcpcd.conf') +options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory +source=("http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2" \ + 'dhcpcd.conf.d') +sha1sums=('27378a251705c7888332e6d60eea7805d1f8aeb5' + 'b67b9ce6a2faaca75fea356966a16be2283b7db0') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # configure variables + ./configure --libexecdir=/usr/lib/dhcpcd --dbdir=/var/lib/dhcpcd + + # Build + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + + # Create Binary Symlink + install -d ${pkgdir}/usr/sbin + ln -sf /sbin/dhcpcd ${pkgdir}/usr/sbin/dhcpcd + + # Install Configuration File used in /etc/rc.d/network + install -D -m644 ../dhcpcd.conf.d $pkgdir/etc/conf.d/$pkgname + + # Install License + install -d $pkgdir/usr/share/licenses/$pkgname + awk '{if(FNR<27)print $0}' ${srcdir}/${pkgname}-${pkgver}/configure.h \ + >> ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE + + # Set Options in /etc/dhcpcd.conf + echo noipv4ll >> ${pkgdir}/etc/dhcpcd.conf # Disable ip4vall +} diff --git a/testing/dhcpcd/dhcpcd.conf.d b/testing/dhcpcd/dhcpcd.conf.d new file mode 100644 index 000000000..83c6f14ad --- /dev/null +++ b/testing/dhcpcd/dhcpcd.conf.d @@ -0,0 +1,6 @@ +# +# Arguments to be passed to the DHCP client daemon +# + +DHCPCD_ARGS="-q" + diff --git a/testing/e2fsprogs/MIT-LICENSE b/testing/e2fsprogs/MIT-LICENSE new file mode 100644 index 000000000..d849b28f2 --- /dev/null +++ b/testing/e2fsprogs/MIT-LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2003-2007 Theodore Ts'o <tytso@mit.edu> +Copyright (c) 1997-2003 Yann Dirson <dirson@debian.org> +Copyright (c) 2001 Alcove <http://www.alcove.com/> +Copyright (c) 1997 Klee Dienes +Copyright (c) 1995-1996 Michael Nonweiler <mrn20@cam.ac.uk> + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/testing/e2fsprogs/PKGBUILD b/testing/e2fsprogs/PKGBUILD new file mode 100644 index 000000000..86d97da13 --- /dev/null +++ b/testing/e2fsprogs/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 141998 2011-11-03 21:12:45Z ronald $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=e2fsprogs +pkgver=1.41.14 +pkgrel=2 +pkgdesc="Ext2/3/4 filesystem utilities" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'MIT') +url="http://e2fsprogs.sourceforge.net" +groups=('base') +depends=('sh' 'util-linux-ng') +makedepends=('bc') +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz" + 'MIT-LICENSE') +backup=('etc/mke2fs.conf') +install=${pkgname}.install +sha1sums=('24f9364fa3d4c0d7d00cb627b819d0e51055d6c5' + 'f4a0d5b0cdb980e3fedd6f5e7dde0b0ffb7bbdfb') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Remove unnecessary init.d directory + sed -i '/init\.d/s|^|#|' misc/Makefile.in + + ./configure --prefix=/usr --with-root-prefix="" --enable-elf-shlibs \ + --disable-fsck --disable-uuidd \ + --disable-libuuid --disable-libblkid + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install install-libs + + sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et" + + # remove references to build directory + sed -i -e 's#^SS_DIR=.*#SS_DIR="/usr/share/ss"#' "${pkgdir}/usr/bin/mk_cmds" + sed -i -e 's#^ET_DIR=.*#ET_DIR="/usr/share/et"#' "${pkgdir}/usr/bin/compile_et" + + # install MIT license + install -Dm644 "${srcdir}/MIT-LICENSE" \ + "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE" +} diff --git a/testing/e2fsprogs/e2fsprogs.install b/testing/e2fsprogs/e2fsprogs.install new file mode 100644 index 000000000..1a7fe20d7 --- /dev/null +++ b/testing/e2fsprogs/e2fsprogs.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libext2fs.info.gz) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} diff --git a/testing/e2fsprogs/mke2fs.conf b/testing/e2fsprogs/mke2fs.conf new file mode 100644 index 000000000..92464e3b4 --- /dev/null +++ b/testing/e2fsprogs/mke2fs.conf @@ -0,0 +1,26 @@ +[defaults] + base_features = sparse_super,filetype,resize_inode,dir_index,ext_attr + blocksize = 4096 + inode_size = 128 + inode_ratio = 16384 + +[fs_types] + small = { + blocksize = 1024 + inode_size = 128 + inode_ratio = 4096 + } + floppy = { + blocksize = 1024 + inode_size = 128 + inode_ratio = 8192 + } + news = { + inode_ratio = 4096 + } + largefile = { + inode_ratio = 1048576 + } + largefile4 = { + inode_ratio = 4194304 + } diff --git a/testing/expat/CVE-2009-3560.patch b/testing/expat/CVE-2009-3560.patch new file mode 100644 index 000000000..5fe9c36c8 --- /dev/null +++ b/testing/expat/CVE-2009-3560.patch @@ -0,0 +1,13 @@ +diff -urNad trunk~/lib/xmlparse.c trunk/lib/xmlparse.c +--- trunk~/lib/xmlparse.c 2007-05-08 04:25:35.000000000 +0200 ++++ trunk/lib/xmlparse.c 2009-12-29 21:57:22.141732904 +0100 +@@ -3703,6 +3703,9 @@ + return XML_ERROR_UNCLOSED_TOKEN; + case XML_TOK_PARTIAL_CHAR: + return XML_ERROR_PARTIAL_CHAR; ++ case -XML_TOK_PROLOG_S: ++ tok = -tok; ++ break; + case XML_TOK_NONE: + #ifdef XML_DTD + /* for internal PE NOT referenced between declarations */ diff --git a/testing/expat/CVE-2009-3720.patch b/testing/expat/CVE-2009-3720.patch new file mode 100644 index 000000000..65d16431f --- /dev/null +++ b/testing/expat/CVE-2009-3720.patch @@ -0,0 +1,12 @@ +diff -urNad trunk~/lib/xmltok_impl.c trunk/lib/xmltok_impl.c +--- trunk~/lib/xmltok_impl.c 2006-11-26 18:34:46.000000000 +0100 ++++ trunk/lib/xmltok_impl.c 2009-10-22 21:42:41.000000000 +0200 +@@ -1744,7 +1744,7 @@ + const char *end, + POSITION *pos) + { +- while (ptr != end) { ++ while (ptr < end) { + switch (BYTE_TYPE(enc, ptr)) { + #define LEAD_CASE(n) \ + case BT_LEAD ## n: \ diff --git a/testing/expat/PKGBUILD b/testing/expat/PKGBUILD new file mode 100644 index 000000000..eee7e94b9 --- /dev/null +++ b/testing/expat/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 141915 2011-11-03 06:22:06Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Committer: Judd Vinet <jvinet@zeroflux.org> + +pkgname=expat +pkgver=2.0.1 +pkgrel=7 +pkgdesc="An XML parser library" +arch=('i686' 'x86_64') +url="http://expat.sourceforge.net/" +license=('custom') +depends=('glibc') +options=('!libtool') +source=(http://downloads.sourceforge.net/sourceforge/expat/${pkgname}-${pkgver}.tar.gz + CVE-2009-3560.patch + CVE-2009-3720.patch) +md5sums=('ee8b492592568805593f81f8cdf2a04c' + '50603cac0f03aabc7087415251f592be' + 'f3eeb796f28945899216b815e5901996') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + patch -Np1 -i $srcdir/CVE-2009-3560.patch + patch -Np1 -i $srcdir/CVE-2009-3720.patch + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING +} diff --git a/testing/flex/PKGBUILD b/testing/flex/PKGBUILD new file mode 100644 index 000000000..828cd9b84 --- /dev/null +++ b/testing/flex/PKGBUILD @@ -0,0 +1,59 @@ +# $Id: PKGBUILD 141917 2011-11-03 06:31:54Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=flex +pkgver=2.5.35 +pkgrel=5 +pkgdesc="A tool for generating text-scanning programs" +arch=('i686' 'x86_64') +url="http://flex.sourceforge.net" +license=('custom') +groups=('base-devel') +depends=('glibc' 'm4' 'sh') +install=flex.install +source=(http://downloads.sourceforge.net/sourceforge/flex/flex-$pkgver.tar.bz2 + flex-2.5.35-gcc44.patch + flex-2.5.35-hardening.patch + flex-2.5.35-missing-prototypes.patch + flex-2.5.35-sign.patch + lex.sh) +md5sums=('10714e50cea54dc7a227e3eddcd44d57' + 'e4444ef5c07db71a43280be74139bdea' + 'de952b3ed7cc074bc8c3e6ab73634048' + '6b83f56b1b654c6a321cdc530a3ec68d' + 'd87fd9e9762ba7e230d516bdcf1c8c6f' + 'f725259ec23a9e87ee29e2ef82eda9a5') + +build() { + cd $srcdir/$pkgname-$pkgver + + patch -Np1 -i $srcdir/flex-2.5.35-gcc44.patch + patch -Np1 -i $srcdir/flex-2.5.35-hardening.patch + patch -Np1 -i $srcdir/flex-2.5.35-missing-prototypes.patch + patch -Np1 -i $srcdir/flex-2.5.35-sign.patch + + ./configure --prefix=/usr \ + --mandir=/usr/share/man --infodir=/usr/share/info + make +} + +check() { + cd $srcdir/$pkgname-$pkgver + make check +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make prefix=$pkgdir/usr \ + mandir=$pkgdir/usr/share/man \ + infodir=$pkgdir/usr/share/info \ + install + install -Dm755 $srcdir/lex.sh $pkgdir/usr/bin/lex + + install -Dm644 COPYING \ + $pkgdir/usr/share/licenses/$pkgname/license.txt + +} + diff --git a/testing/flex/flex-2.5.35-gcc44.patch b/testing/flex/flex-2.5.35-gcc44.patch new file mode 100644 index 000000000..7929fc092 --- /dev/null +++ b/testing/flex/flex-2.5.35-gcc44.patch @@ -0,0 +1,22 @@ +diff -urNp flex-2.5.35.orig/flex.skl flex-2.5.35/flex.skl +--- flex-2.5.35.orig/flex.skl 2009-04-20 03:09:46.000000000 +0530 ++++ flex-2.5.35/flex.skl 2009-04-20 07:46:58.000000000 +0530 +@@ -217,6 +217,7 @@ m4preproc_include(`flexint.h') + /* begin standard C++ headers. */ + #include <iostream> + #include <errno.h> ++#include <cstdio> + #include <cstdlib> + #include <cstring> + /* end standard C++ headers. */ +diff -urNp flex-2.5.35.orig/skel.c flex-2.5.35/skel.c +--- flex-2.5.35.orig/skel.c 2009-04-20 03:09:46.000000000 +0530 ++++ flex-2.5.35/skel.c 2009-04-20 07:46:40.000000000 +0530 +@@ -284,6 +284,7 @@ const char *skel[] = { + "/* begin standard C++ headers. */", + "#include <iostream> ", + "#include <errno.h>", ++ "#include <cstdio>", + "#include <cstdlib>", + "#include <cstring>", + "/* end standard C++ headers. */", diff --git a/testing/flex/flex-2.5.35-hardening.patch b/testing/flex/flex-2.5.35-hardening.patch new file mode 100644 index 000000000..7d608ea23 --- /dev/null +++ b/testing/flex/flex-2.5.35-hardening.patch @@ -0,0 +1,36 @@ +diff -u flex-2.5.35/scan.c flex-2.5.35/scan.c +--- flex-2.5.35/scan.c ++++ flex-2.5.35/scan.c +@@ -2096,7 +2096,7 @@ + /* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +-#define ECHO fwrite( yytext, yyleng, 1, yyout ) ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) + #endif + + /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, +diff -u flex-2.5.35/flex.skl flex-2.5.35/flex.skl +--- flex-2.5.35/flex.skl ++++ flex-2.5.35/flex.skl +@@ -1075,7 +1075,7 @@ + /* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +-#define ECHO fwrite( yytext, yyleng, 1, yyout ) ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) + %endif + %if-c++-only C++ definition + #define ECHO LexerOutput( yytext, yyleng ) +diff -u flex-2.5.35/skel.c flex-2.5.35/skel.c +--- flex-2.5.35/skel.c ++++ flex-2.5.35/skel.c +@@ -1142,7 +1142,7 @@ + "/* This used to be an fputs(), but since the string might contain NUL's,", + " * we now use fwrite().", + " */", +- "#define ECHO fwrite( yytext, yyleng, 1, yyout )", ++ "#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)", + "%endif", + "%if-c++-only C++ definition", + "#define ECHO LexerOutput( yytext, yyleng )", diff --git a/testing/flex/flex-2.5.35-missing-prototypes.patch b/testing/flex/flex-2.5.35-missing-prototypes.patch new file mode 100644 index 000000000..5cde0660e --- /dev/null +++ b/testing/flex/flex-2.5.35-missing-prototypes.patch @@ -0,0 +1,53 @@ +diff -up flex-2.5.35/flex.skl\~ flex-2.5.35/flex.skl +--- flex-2.5.35/flex.skl~ 2010-07-13 17:18:43.000000000 +0200 ++++ flex-2.5.35/flex.skl 2010-07-13 17:23:49.000000000 +0200 +@@ -960,6 +960,22 @@ m4_ifdef( [[M4_YY_NO_SET_LINENO]],, + void yyset_lineno M4_YY_PARAMS( int line_number M4_YY_PROTO_LAST_ARG ); + ]]) + ++m4_ifdef( [[M4_YY_REENTRANT]], ++[[ ++m4_ifdef( [[M4_YY_NO_GET_COLUMN]],, ++[[ ++int yyget_column M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); ++]]) ++]]) ++ ++m4_ifdef( [[M4_YY_REENTRANT]], ++[[ ++m4_ifdef( [[M4_YY_NO_SET_COLUMN]],, ++[[ ++void yyset_column M4_YY_PARAMS( int column_no M4_YY_PROTO_LAST_ARG ); ++]]) ++]]) ++ + %if-bison-bridge + m4_ifdef( [[M4_YY_NO_GET_LVAL]],, + [[ + +Diff finished. Tue Jul 13 17:27:50 2010 +--- flex-2.5.35/skel.c~ 2010-07-14 13:15:42.000000000 +0200 ++++ flex-2.5.35/skel.c 2010-07-14 13:16:05.000000000 +0200 +@@ -1027,6 +1027,22 @@ + "void yyset_lineno M4_YY_PARAMS( int line_number M4_YY_PROTO_LAST_ARG );", + "]])", + "", ++ "m4_ifdef( [[M4_YY_REENTRANT]],", ++ "[[", ++ "m4_ifdef( [[M4_YY_NO_GET_COLUMN]],,", ++ "[[", ++ "int yyget_column M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", ++ "]])", ++ "]])", ++ "", ++ "m4_ifdef( [[M4_YY_REENTRANT]],", ++ "[[", ++ "m4_ifdef( [[M4_YY_NO_SET_COLUMN]],,", ++ "[[", ++ "void yyset_column M4_YY_PARAMS( int column_no M4_YY_PROTO_LAST_ARG );", ++ "]])", ++ "]])", ++ "", + "%if-bison-bridge", + "m4_ifdef( [[M4_YY_NO_GET_LVAL]],,", + "[[", diff --git a/testing/flex/flex-2.5.35-sign.patch b/testing/flex/flex-2.5.35-sign.patch new file mode 100644 index 000000000..fbee18bde --- /dev/null +++ b/testing/flex/flex-2.5.35-sign.patch @@ -0,0 +1,11 @@ +--- flex-2.5.35/gen.c-orig 2008-04-30 22:51:08.000000000 +0200 ++++ flex-2.5.35/gen.c 2008-04-30 22:51:14.000000000 +0200 +@@ -1890,7 +1890,7 @@ + outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); + outn ("\t\t{ \\"); + outn ("\t\tint c = '*'; \\"); +- outn ("\t\tint n; \\"); ++ outn ("\t\tunsigned n; \\"); + outn ("\t\tfor ( n = 0; n < max_size && \\"); + outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); + outn ("\t\t\tbuf[n] = (char) c; \\"); diff --git a/testing/flex/flex.install b/testing/flex/flex.install new file mode 100644 index 000000000..5b328c722 --- /dev/null +++ b/testing/flex/flex.install @@ -0,0 +1,22 @@ +infodir=/usr/share/info +filelist=(flex.info{,-1,-2}) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/flex/lex.sh b/testing/flex/lex.sh new file mode 100644 index 000000000..13e7de692 --- /dev/null +++ b/testing/flex/lex.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/flex -l "$@" diff --git a/testing/grep/PKGBUILD b/testing/grep/PKGBUILD new file mode 100644 index 000000000..8366d083c --- /dev/null +++ b/testing/grep/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 141919 2011-11-03 06:55:30Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=grep +pkgver=2.9 +pkgrel=2 +pkgdesc="A string search utility" +arch=('i686' 'x86_64') +license=('GPL3') +url="http://www.gnu.org/software/grep/grep.html" +groups=('base') +depends=('glibc' 'pcre' 'sh') +makedepends=('texinfo') +install=${pkgname}.install +source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +md5sums=('25e41b2aa201104354740961ef36005a' + '78b903e88d23890d9e737e1415f4de21') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr --bindir=/bin --without-included-regex + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/grep/grep.install b/testing/grep/grep.install new file mode 100644 index 000000000..7cd31301f --- /dev/null +++ b/testing/grep/grep.install @@ -0,0 +1,21 @@ +infodir=usr/share/info +filelist=(grep.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + diff --git a/testing/gzip/PKGBUILD b/testing/gzip/PKGBUILD new file mode 100644 index 000000000..a71b9cf1c --- /dev/null +++ b/testing/gzip/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 141921 2011-11-03 07:20:16Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=gzip +pkgver=1.4 +pkgrel=4 +pkgdesc="GNU compression utility" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/gzip/" +license=('GPL3') +groups=('base') +depends=('glibc' 'bash') +makedepends=('patch') +install=gzip.install +source=(ftp://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.gz{,.sig}) +md5sums=('e381b8506210c794278f5527cba0e765' + '3b11d485d1638f2d16f7494a0486a6e8') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # By default Gzip uses assembly code. While this may preform better, + # it is not position independent. The DEFS environment variable is + # set to use only C code. + export DEFS="NO_ASM" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make prefix=${pkgdir}/usr install + + install -dm755 ${pkgdir}/bin + mv ${pkgdir}/usr/bin/{gunzip,gzip,uncompress,zcat} ${pkgdir}/bin/ +} diff --git a/testing/gzip/gzip.install b/testing/gzip/gzip.install new file mode 100644 index 000000000..24c8b8fb9 --- /dev/null +++ b/testing/gzip/gzip.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gzip.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/testing/hdparm/PKGBUILD b/testing/hdparm/PKGBUILD new file mode 100644 index 000000000..fcb007d04 --- /dev/null +++ b/testing/hdparm/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 141929 2011-11-03 08:40:42Z tpowa $ +# Maintainer: Paul Mattal <paul@archlinux.org> + +pkgname=hdparm +pkgver=9.37 +pkgrel=2 +pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters" +arch=(i686 x86_64) +depends=('glibc') +optdepends=('sh: required by idectl and ultrabayd') +source=(http://downloads.sourceforge.net/sourceforge/hdparm/${pkgname}-${pkgver}.tar.gz + wiper.sh.2_6.max-ranges.patch) +license=('BSD') +url="http://sourceforge.net/projects/hdparm/" +optdepends=('bash: for wiper.sh script') +options=('emptydirs') +md5sums=('0bb94ddd1bedd5c02b1ca62f1caaf6de' + '74e368f384166a7710b447573cda120a') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + # Fix Range input/output error when wiping Intel G2 and OCZ drives + patch -Np1 -i $srcdir/wiper.sh.2_6.max-ranges.patch + + # build + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + # install + mkdir -p ${pkgdir}/{usr,sbin} + make DESTDIR=${pkgdir} install + install -m755 contrib/idectl ${pkgdir}/sbin + install -m755 contrib/ultrabayd ${pkgdir}/sbin + + install -D -m 0644 $srcdir/$pkgname-$pkgver/wiper/README.txt $pkgdir/usr/share/doc/wiper/README.txt + install -D -m 0755 $srcdir/$pkgname-$pkgver/wiper/wiper.sh $pkgdir/usr/sbin/wiper.sh + + #install license file + install -D -m 644 LICENSE.TXT $pkgdir/usr/share/licenses/hdparm/LICENSE.TXT +} diff --git a/testing/hdparm/wiper.sh.2_6.max-ranges.patch b/testing/hdparm/wiper.sh.2_6.max-ranges.patch new file mode 100644 index 000000000..c55f7b149 --- /dev/null +++ b/testing/hdparm/wiper.sh.2_6.max-ranges.patch @@ -0,0 +1,84 @@ +--- hdparm-9.28/wiper/wiper.sh.orig 2010-03-09 06:17:37.000000000 -0800 +--- hdparm-9.28/wiper/wiper.sh 2010-05-15 03:08:02.182856971 -0700 +@@ -29,7 +29,7 @@ + function usage_error(){ + echo >&2 + echo "Linux tune-up (TRIM) utility for SATA SSDs" +- echo "Usage: $0 [--verbose] [--commit] <mount_point|block_device>" >&2 ++ echo "Usage: $0 [--max-ranges <num>] [--verbose] [--commit] <mount_point|block_device>" >&2 + echo " Eg: $0 /dev/sda1" >&2 + echo >&2 + exit 1 +@@ -44,6 +44,7 @@ + + export verbose=0 + commit="" ++max_ranges=-1 + destroy_me="" + argc=$# + arg="" +@@ -51,6 +52,10 @@ + commit=yes + elif [ "$1" = "--verbose" ]; then + verbose=$((verbose + 1)) ++ elif [ "$1" = "--max-ranges" -a $argc -gt 1 ]; then ++ max_ranges=$2 ++ argc=$((argc - 1)) ++ shift + elif [ "$1" = "" ]; then + usage_error + else +@@ -499,6 +550,18 @@ + fi + fi + ++## Different SSD's have a different maximum number of ranges they'll accept ++## in a single TRIM command. ++if [ $max_ranges -le 0 ] ; then ++ model=`$HDPARM -I $rawdev | $GAWK '/Model Number/ { print $NF }'` ++ case "$model" in ++ SSDSA[12]*) max_ranges=512 ;; # Intel X18-M/X25-M ++ OCZ-VERTEX2) max_ranges=64 ;; # OCZ Vertex2 ++ *) max_ranges=65535 ++ esac ++fi ++[ $verbose -gt 0 ] && echo "max-ranges = $max_ranges" ++ + ## All ready. Now let the user know exactly what we intend to do: + ## + mountstatus="$fstype non-mounted" +@@ -608,7 +671,7 @@ + nsectors += count; + while (count > 0) { + this_count = (count > 65535) ? 65535 : count +- printf "%u:%u ", lba, this_count ++ printf "%u:%u \n", lba, this_count + if (verbose > 1) + printf "%u:%u ", lba, this_count > "/dev/stderr" + lba += this_count +@@ -695,6 +758,22 @@ + -v verbose="$verbose" \ + -v xfs_blksects="$xfs_blksects" \ + -v xfs_agoffsets="$xfs_agoffsets" \ +- "$GAWKPROG" | $TRIM ++ "$GAWKPROG" | ( ++ i=0 ++ while read range ; do ++ ranges=$ranges" "$range ++ ((i++)) ++ if [ $i -ge $max_ranges ] ; then ++ [ $verbose -gt 0 ] && echo -e "Trim ranges:"$ranges"\n" ++ echo $ranges | $TRIM ++ ranges="" ++ i=0 ++ fi ++ done ++ if [ $i -gt 0 ] ; then ++ [ $verbose -gt 0 ] && echo -e "Trim ranges:"$ranges"\n" ++ echo $ranges | $TRIM ++ fi ++ ) + + do_cleanup $? + + diff --git a/testing/iproute2/PKGBUILD b/testing/iproute2/PKGBUILD new file mode 100644 index 000000000..9d84c9a7d --- /dev/null +++ b/testing/iproute2/PKGBUILD @@ -0,0 +1,51 @@ +# $Id: PKGBUILD 141994 2011-11-03 20:58:44Z ronald $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: Judd Vinet <jvinet@zeroflux.org> + +pkgname=iproute2 +pkgver=2.6.39 +pkgrel=2 +pkgdesc="IP Routing Utilities" +arch=('i686' 'x86_64') +license=('GPL2') +url="http://www.linux-foundation.org/en/Net:Iproute2" +depends=('perl') +makedepends=('linux-atm') +optdepends=('linux-atm: ATM support') +provides=('iproute') +conflicts=('iproute') +replaces=('iproute') +options=('!makeflags') +backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \ + 'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables') +source=(http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-${pkgver}.tar.gz + 'iproute2-fhs.patch') +sha1sums=('9044ad0b4a34a377a54197724373330294d743c7' + '2416b11252364d7a6c742eabb4a6924a75637a46') + + +build() { + cd $srcdir/iproute2-${pkgver} + + # set correct fhs structure + patch -Np1 -i ${srcdir}/iproute2-fhs.patch + + ./configure + + make +} + +package() { + cd $srcdir/iproute2-${pkgver} + + make DESTDIR=$pkgdir install + + # allow loopback to be started before /usr is mounted, this may not be supported in the future + mkdir -p ${pkgdir}/sbin + mv ${pkgdir}/usr/sbin/ip ${pkgdir}/sbin/ip + ln -s /sbin/ip ${pkgdir}/usr/sbin/ip + + # libnetlink isn't installed, install it FS#19385 + install -Dm644 include/libnetlink.h ${pkgdir}/usr/include/libnetlink.h + install -Dm644 lib/libnetlink.a ${pkgdir}/usr/lib/libnetlink.a +} diff --git a/testing/iproute2/iproute2-fhs.patch b/testing/iproute2/iproute2-fhs.patch new file mode 100644 index 000000000..2608414db --- /dev/null +++ b/testing/iproute2/iproute2-fhs.patch @@ -0,0 +1,84 @@ +diff -Naur iproute2.old/Makefile iproute2-2.6.29/Makefile +--- iproute2.old/Makefile 2009-11-11 22:05:21.251407668 +0100 ++++ iproute2-2.6.29/Makefile 2009-11-11 22:07:09.891833516 +0100 +@@ -1,11 +1,12 @@ + DESTDIR=/usr/ + ROOTDIR=$(DESTDIR) + LIBDIR=/usr/lib/ +-SBINDIR=/sbin ++SBINDIR=/usr/sbin + CONFDIR=/etc/iproute2 +-DOCDIR=/share/doc/iproute2 +-MANDIR=/share/man ++DOCDIR=/usr/share/doc/iproute2 ++MANDIR=/usr/share/man + ARPDDIR=/var/lib/arpd ++SHAREDIR=/usr/share + + # Path to db_185.h include + DBM_INCLUDE:=$(ROOTDIR)/usr/include +diff -Naur iproute2.old/tc/tc_util.c iproute2-2.6.29/tc/tc_util.c +--- iproute2.old/tc/tc_util.c 2009-11-11 22:05:21.298076943 +0100 ++++ iproute2-2.6.29/tc/tc_util.c 2009-11-11 22:09:32.865152646 +0100 +@@ -24,8 +24,8 @@ + #include "utils.h" + #include "tc_util.h" + +-#ifndef LIBDIR +-#define LIBDIR "/usr/lib/" ++#ifndef SHAREDIR ++#define SHAREDIR "/usr/share" + #endif + + const char *get_tc_lib(void) +@@ -34,7 +34,7 @@ + + lib_dir = getenv("TC_LIB_DIR"); + if (!lib_dir) +- lib_dir = LIBDIR "/tc/"; ++ lib_dir = SHAREDIR "/tc/"; + + return lib_dir; + } +diff -Naur iproute2.old/netem/Makefile iproute2-2.6.35/netem/Makefile +--- iproute2.old/netem/Makefile 2010-08-06 11:30:48.640940183 +0200 ++++ iproute2-2.6.35/netem/Makefile 2010-08-06 11:32:34.210908892 +0200 +@@ -20,9 +20,9 @@ + $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm + + install: all +- mkdir -p $(DESTDIR)$(LIBDIR)/tc ++ mkdir -p $(DESTDIR)$(SHAREDIR)/tc + for i in $(DISTDATA); \ +- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \ ++ do install -m 644 $$i $(DESTDIR)$(SHAREDIR)/tc; \ + done + + clean: +diff -Naur iproute2.old/tc/Makefile iproute2-2.6.35/tc/Makefile +--- iproute2.old/tc/Makefile 2010-08-06 11:48:35.607472252 +0200 ++++ iproute2-2.6.35/tc/Makefile 2010-08-06 11:49:36.977473380 +0200 +@@ -99,18 +99,11 @@ + $(AR) rcs $@ $(TCLIB) + + install: all +- mkdir -p $(MODDESTDIR) +- install -m 0755 tc $(DESTDIR)$(SBINDIR) +- for i in $(TCSO); \ +- do install -m 755 $$i $(MODDESTDIR); \ +- done +- if [ ! -f $(MODDESTDIR)/m_ipt.so ]; then \ +- if [ -f $(MODDESTDIR)/m_xt.so ]; \ +- then ln -s m_xt.so $(MODDESTDIR)/m_ipt.so ; \ +- elif [ -f $(MODDESTDIR)/m_xt_old.so ]; \ +- then ln -s m_xt_old.so $(MODDESTDIR)/m_ipt.so ; \ +- fi; \ +- fi ++ mkdir -p $(DESTDIR)$(LIBDIR)/tc ++ install -m 0755 tc $(DESTDIR)$(SBINDIR) ++ for i in $(TCSO); \ ++ do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \ ++ done + + clean: + rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \ diff --git a/testing/iputils/PKGBUILD b/testing/iputils/PKGBUILD new file mode 100644 index 000000000..265d84d29 --- /dev/null +++ b/testing/iputils/PKGBUILD @@ -0,0 +1,65 @@ +# $Id: PKGBUILD 141976 2011-11-03 20:08:42Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Aaron Griffin <aaron@archlinux.org> + +pkgname=iputils +pkgver=20101006 +_traceroutever=1.4a12 +pkgrel=2 +pkgdesc="IP Configuration Utilities (and Ping)" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.linuxfoundation.org/en/Net:Iputils" +groups=('base') +depends=('glibc' 'openssl' 'sysfsutils') +conflicts=('netkit-base' 'arping' 'netkit-tftpd' 'traceroute') +replaces=('netkit-base' 'traceroute') +source=(http://www.skbuff.net/${pkgname}/${pkgname}-s${pkgver}.tar.bz2 + ftp://ftp.ee.lbl.gov/traceroute-${_traceroutever}.tar.gz + 'permission-fix.patch' + 'iputils-s20101006-manpages.patch') +options=('!makeflags') +md5sums=('a36c25e9ec17e48be514dc0485e7376c' + '964d599ef696efccdeebe7721cd4828d' + '66109966cad06e425bb12a78bab85b70' + 'd02dffac6f16e841921a9fc73bd2d3bd') + +build() { + #build iptuils + cd "${srcdir}/${pkgname}-s${pkgver}" + + # Doc fails to build (see FS#20251) + # As a temporary workaround, we use these man pages from Fedora & LFS + patch -Np1 -i ../iputils-s20101006-manpages.patch + make + + # build traceroute + # this is combined in this package because it's awkward as a separate package + cd "${srcdir}/traceroute-${_traceroutever}" + patch -Np1 -i ../permission-fix.patch + ./configure --prefix=/usr \ + --sbindir=/bin \ + --mandir=/usr/share/man + make CFLAGS="${CFLAGS} -Ilinux-include/" +} + +package() { + cd "${srcdir}/${pkgname}-s${pkgver}" + for i in arping clockdiff rarpd rdisc tftpd tracepath tracepath6; do + install -D -m755 $i "${pkgdir}/usr/sbin/$i" + done + for i in ping ping6 traceroute6; do + install -D -m4755 $i "${pkgdir}/bin/$i" + done + + install -dm755 "${pkgdir}/usr/share/man/man8" + install -m644 doc/{arping,clockdiff,ping,rarpd,rdisc,tftpd,tracepath,traceroute6}.8 \ + "${pkgdir}/usr/share/man/man8/" + + cd "${pkgdir}/usr/share/man/man8" + ln -sf ping.8.gz ping6.8.gz + ln -sf tracepath.8.gz tracepath6.8.gz + + cd "${srcdir}/traceroute-${_traceroutever}" + make DESTDIR="${pkgdir}" install install-man +} diff --git a/testing/iputils/iputils-s20101006-manpages.patch b/testing/iputils/iputils-s20101006-manpages.patch new file mode 100644 index 000000000..764d0d36d --- /dev/null +++ b/testing/iputils/iputils-s20101006-manpages.patch @@ -0,0 +1,1044 @@ +--- /dev/null 2011-01-26 09:02:28.396666668 -0500 ++++ iputils-s20101006/doc/arping.8 2011-01-19 04:10:18.000000000 -0500 +@@ -0,0 +1,110 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "ARPING" "8" "19 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++arping \- send ARP REQUEST to a neighbour host ++.SH SYNOPSIS ++ ++\fBarping\fR [ \fB-AbDfhqUV\fR] [ \fB-c \fIcount\fB\fR] [ \fB-w \fIdeadline\fB\fR] [ \fB-s \fIsource\fB\fR] \fB-I \fIinterface\fB\fR \fB\fIdestination\fB\fR ++ ++.SH "DESCRIPTION" ++.PP ++Ping \fIdestination\fR on device \fIinterface\fR by ARP packets, ++using source address \fIsource\fR. ++.SH "OPTIONS" ++.TP ++\fB-A\fR ++The same as \fB-U\fR, but ARP REPLY packets used instead ++of ARP REQUEST. ++.TP ++\fB-b\fR ++Send only MAC level broadcasts. Normally \fBarping\fR starts ++from sending broadcast, and switch to unicast after reply received. ++.TP ++\fB-c \fIcount\fB\fR ++Stop after sending \fIcount\fR ARP REQUEST ++packets. With ++\fIdeadline\fR ++option, \fBarping\fR waits for ++\fIcount\fR ARP REPLY packets, until the timeout expires. ++.TP ++\fB-D\fR ++Duplicate address detection mode (DAD). See ++RFC2131, 4.4.1. ++Returns 0, if DAD succeeded i.e. no replies are received ++.TP ++\fB-f\fR ++Finish after the first reply confirming that target is alive. ++.TP ++\fB-I \fIinterface\fB\fR ++Name of network device where to send ARP REQUEST packets. This option ++is required. ++.TP ++\fB-h\fR ++Print help page and exit. ++.TP ++\fB-q\fR ++Quiet output. Nothing is displayed. ++.TP ++\fB-s \fIsource\fB\fR ++IP source address to use in ARP packets. ++If this option is absent, source address is: ++.RS ++.TP 0.2i ++\(bu ++In DAD mode (with option \fB-D\fR) set to 0.0.0.0. ++.TP 0.2i ++\(bu ++In Unsolicited ARP mode (with options \fB-U\fR or \fB-A\fR) ++set to \fIdestination\fR. ++.TP 0.2i ++\(bu ++Otherwise, it is calculated from routing tables. ++.RE ++.TP ++\fB-U\fR ++Unsolicited ARP mode to update neighbours' ARP caches. ++No replies are expected. ++.TP ++\fB-V\fR ++Print version of the program and exit. ++.TP ++\fB-w \fIdeadline\fB\fR ++Specify a timeout, in seconds, before ++\fBarping\fR ++exits regardless of how many ++packets have been sent or received. In this case ++\fBarping\fR ++does not stop after ++\fIcount\fR ++packet are sent, it waits either for ++\fIdeadline\fR ++expire or until ++\fIcount\fR ++probes are answered. ++.SH "SEE ALSO" ++.PP ++\fBping\fR(8), ++\fBclockdiff\fR(8), ++\fBtracepath\fR(8). ++.SH "AUTHOR" ++.PP ++\fBarping\fR was written by ++Alexey Kuznetsov ++<kuznet@ms2.inr.ac.ru>. ++It is now maintained by ++YOSHIFUJI Hideaki ++<yoshfuji@skbuff.net>. ++.SH "SECURITY" ++.PP ++\fBarping\fR requires CAP_NET_RAWIO capability ++to be executed. It is not recommended to be used as set-uid root, ++because it allows user to modify ARP caches of neighbour hosts. ++.SH "AVAILABILITY" ++.PP ++\fBarping\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. +--- /dev/null 2011-01-26 09:02:28.396666668 -0500 ++++ iputils-s20101006/doc/clockdiff.8 2011-01-19 04:10:19.000000000 -0500 +@@ -0,0 +1,81 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "CLOCKDIFF" "8" "19 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++clockdiff \- measure clock difference between hosts ++.SH SYNOPSIS ++ ++\fBclockdiff\fR [ \fB-o\fR] [ \fB-o1\fR] \fB\fIdestination\fB\fR ++ ++.SH "DESCRIPTION" ++.PP ++\fBclockdiff\fR Measures clock difference between us and ++\fIdestination\fR with 1 msec resolution using ICMP TIMESTAMP ++[2] ++packets or, optionally, IP TIMESTAMP option ++[3] ++option added to ICMP ECHO. ++[1] ++.SH "OPTIONS" ++.TP ++\fB-o\fR ++Use IP TIMESTAMP with ICMP ECHO instead of ICMP TIMESTAMP ++messages. It is useful with some destinations, which do not support ++ICMP TIMESTAMP (f.e. Solaris <2.4). ++.TP ++\fB-o1\fR ++Slightly different form of \fB-o\fR, namely it uses three-term ++IP TIMESTAMP with prespecified hop addresses instead of four term one. ++What flavor works better depends on target host. Particularly, ++\fB-o\fR is better for Linux. ++.SH "WARNINGS" ++.TP 0.2i ++\(bu ++Some nodes (Cisco) use non-standard timestamps, which is allowed ++by RFC, but makes timestamps mostly useless. ++.TP 0.2i ++\(bu ++Some nodes generate messed timestamps (Solaris>2.4), when ++run \fBxntpd\fR. Seems, its IP stack uses a corrupted clock source, ++which is synchronized to time-of-day clock periodically and jumps ++randomly making timestamps mostly useless. Good news is that you can ++use NTP in this case, which is even better. ++.TP 0.2i ++\(bu ++\fBclockdiff\fR shows difference in time modulo 24 days. ++.SH "SEE ALSO" ++.PP ++\fBping\fR(8), ++\fBarping\fR(8), ++\fBtracepath\fR(8). ++.SH "REFERENCES" ++.PP ++[1] ICMP ECHO, ++RFC0792, page 14. ++.PP ++[2] ICMP TIMESTAMP, ++RFC0792, page 16. ++.PP ++[3] IP TIMESTAMP option, ++RFC0791, 3.1, page 16. ++.SH "AUTHOR" ++.PP ++\fBclockdiff\fR was compiled by ++Alexey Kuznetsov ++<kuznet@ms2.inr.ac.ru>. It was based on code borrowed ++from BSD \fBtimed\fR daemon. ++It is now maintained by ++YOSHIFUJI Hideaki ++<yoshfuji@skbuff.net>. ++.SH "SECURITY" ++.PP ++\fBclockdiff\fR requires CAP_NET_RAWIO capability ++to be executed. It is safe to be used as set-uid root. ++.SH "AVAILABILITY" ++.PP ++\fBclockdiff\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. +--- /dev/null 2011-01-26 09:02:28.396666668 -0500 ++++ iputils-s20101006/doc/ping.8 2011-01-19 04:10:19.000000000 -0500 +@@ -0,0 +1,408 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "PING" "8" "19 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++ping, ping6 \- send ICMP ECHO_REQUEST to network hosts ++.SH SYNOPSIS ++ ++\fBping\fR [ \fB-LRUbdfnqrvVaAB\fR] [ \fB-c \fIcount\fB\fR] [ \fB-m \fImark\fB\fR] [ \fB-i \fIinterval\fB\fR] [ \fB-l \fIpreload\fB\fR] [ \fB-p \fIpattern\fB\fR] [ \fB-s \fIpacketsize\fB\fR] [ \fB-t \fIttl\fB\fR] [ \fB-w \fIdeadline\fB\fR] [ \fB-F \fIflowlabel\fB\fR] [ \fB-I \fIinterface\fB\fR] [ \fB-M \fIhint\fB\fR] [ \fB-N \fInioption\fB\fR] [ \fB-Q \fItos\fB\fR] [ \fB-S \fIsndbuf\fB\fR] [ \fB-T \fItimestamp option\fB\fR] [ \fB-W \fItimeout\fB\fR] [ \fB\fIhop\fB\fR\fI ...\fR] \fB\fIdestination\fB\fR ++ ++.SH "DESCRIPTION" ++.PP ++\fBping\fR uses the ICMP protocol's mandatory ECHO_REQUEST ++datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ++ECHO_REQUEST datagrams (``pings'') have an IP and ICMP ++header, followed by a struct timeval and then an arbitrary ++number of ``pad'' bytes used to fill out the packet. ++.PP ++\fBping6\fR can also send Node Information Queries (RFC4620). ++.SH "OPTIONS" ++.TP ++\fB-a\fR ++Audible ping. ++.TP ++\fB-A\fR ++Adaptive ping. Interpacket interval adapts to round-trip time, so that ++effectively not more than one (or more, if preload is set) unanswered probes ++present in the network. Minimal interval is 200msec for not super-user. ++On networks with low rtt this mode is essentially equivalent to flood mode. ++.TP ++\fB-b\fR ++Allow pinging a broadcast address. ++.TP ++\fB-B\fR ++Do not allow \fBping\fR to change source address of probes. ++The address is bound to one selected when \fBping\fR starts. ++.TP ++\fB-m \fImark\fB\fR ++use \fImark\fR to tag the packets going out. This is useful ++for variety of reasons within the kernel such as using policy ++routing to select specific outbound processing. ++.TP ++\fB-c \fIcount\fB\fR ++Stop after sending \fIcount\fR ECHO_REQUEST ++packets. With ++\fIdeadline\fR ++option, \fBping\fR waits for ++\fIcount\fR ECHO_REPLY packets, until the timeout expires. ++.TP ++\fB-d\fR ++Set the SO_DEBUG option on the socket being used. ++Essentially, this socket option is not used by Linux kernel. ++.TP ++\fB-F \fIflow label\fB\fR ++Allocate and set 20 bit flow label on echo request packets. ++(Only \fBping6\fR). If value is zero, kernel allocates random flow label. ++.TP ++\fB-f\fR ++Flood ping. For every ECHO_REQUEST sent a period ``.'' is printed, ++while for ever ECHO_REPLY received a backspace is printed. ++This provides a rapid display of how many packets are being dropped. ++If interval is not given, it sets interval to zero and ++outputs packets as fast as they come back or one hundred times per second, ++whichever is more. ++Only the super-user may use this option with zero interval. ++.TP ++\fB-i \fIinterval\fB\fR ++Wait \fIinterval\fR seconds between sending each packet. ++The default is to wait for one second between each packet normally, ++or not to wait in flood mode. Only super-user may set interval ++to values less 0.2 seconds. ++.TP ++\fB-I \fIinterface address\fB\fR ++Set source address to specified interface address. Argument ++may be numeric IP address or name of device. When pinging IPv6 ++link-local address this option is required. ++.TP ++\fB-l \fIpreload\fB\fR ++If \fIpreload\fR is specified, ++\fBping\fR sends that many packets not waiting for reply. ++Only the super-user may select preload more than 3. ++.TP ++\fB-L\fR ++Suppress loopback of multicast packets. This flag only applies if the ping ++destination is a multicast address. ++.TP ++\fB-N \fInioption\fB\fR ++Send ICMPv6 Node Information Queries (RFC4620), instead of Echo Request. ++.RS ++.TP ++\fBname\fR ++Queries for Node Names. ++.RE ++.RS ++.TP ++\fBipv6\fR ++Queries for IPv6 Addresses. There are several IPv6 specific flags. ++.RS ++.TP ++\fBipv6-global\fR ++Request IPv6 global-scope addresses. ++.RE ++.RS ++.TP ++\fBipv6-sitelocal\fR ++Request IPv6 site-local addresses. ++.RE ++.RS ++.TP ++\fBipv6-linklocal\fR ++Request IPv6 link-local addresses. ++.RE ++.RS ++.TP ++\fBipv6-all\fR ++Request IPv6 addresses on other interfaces. ++.RE ++.RE ++.RS ++.TP ++\fBipv4\fR ++Queries for IPv4 Addresses. There is one IPv4 specific flag. ++.RS ++.TP ++\fBipv4-all\fR ++Request IPv4 addresses on other interfaces. ++.RE ++.RE ++.RS ++.TP ++\fBsubject-ipv6=\fIipv6addr\fB\fR ++IPv6 subject address. ++.RE ++.RS ++.TP ++\fBsubject-ipv4=\fIipv4addr\fB\fR ++IPv4 subject address. ++.RE ++.RS ++.TP ++\fBsubject-name=\fInodename\fB\fR ++Subject name. If it contains more than one dot, ++fully-qualified domain name is assumed. ++.RE ++.RS ++.TP ++\fBsubject-fqdn=\fInodename\fB\fR ++Subject name. Fully-qualified domain name is ++always assumed. ++.RE ++.TP ++\fB-n\fR ++Numeric output only. ++No attempt will be made to lookup symbolic names for host addresses. ++.TP ++\fB-p \fIpattern\fB\fR ++You may specify up to 16 ``pad'' bytes to fill out the packet you send. ++This is useful for diagnosing data-dependent problems in a network. ++For example, \fB-p ff\fR will cause the sent packet ++to be filled with all ones. ++.TP ++\fB-D\fR ++Print timestamp (unix time + microseconds as in gettimeofday) before ++each line. ++.TP ++\fB-Q \fItos\fB\fR ++Set Quality of Service -related bits in ICMP datagrams. ++\fItos\fR can be either decimal or hex number. ++Traditionally (RFC1349), these have been interpreted as: 0 for reserved ++(currently being redefined as congestion control), 1-4 for Type of Service ++and 5-7 for Precedence. ++Possible settings for Type of Service are: minimal cost: 0x02, ++reliability: 0x04, throughput: 0x08, low delay: 0x10. Multiple TOS bits ++should not be set simultaneously. Possible settings for ++special Precedence range from priority (0x20) to net control (0xe0). You ++must be root (CAP_NET_ADMIN capability) to use Critical or ++higher precedence value. You cannot set ++bit 0x01 (reserved) unless ECN has been enabled in the kernel. ++In RFC2474, these fields has been redefined as 8-bit Differentiated ++Services (DS), consisting of: bits 0-1 of separate data (ECN will be used, ++here), and bits 2-7 of Differentiated Services Codepoint (DSCP). ++.TP ++\fB-q\fR ++Quiet output. ++Nothing is displayed except the summary lines at startup time and ++when finished. ++.TP ++\fB-R\fR ++Record route. ++Includes the RECORD_ROUTE option in the ECHO_REQUEST ++packet and displays the route buffer on returned packets. ++Note that the IP header is only large enough for nine such routes. ++Many hosts ignore or discard this option. ++.TP ++\fB-r\fR ++Bypass the normal routing tables and send directly to a host on an attached ++interface. ++If the host is not on a directly-attached network, an error is returned. ++This option can be used to ping a local host through an interface ++that has no route through it provided the option \fB-I\fR is also ++used. ++.TP ++\fB-s \fIpacketsize\fB\fR ++Specifies the number of data bytes to be sent. ++The default is 56, which translates into 64 ICMP ++data bytes when combined with the 8 bytes of ICMP header data. ++.TP ++\fB-S \fIsndbuf\fB\fR ++Set socket sndbuf. If not specified, it is selected to buffer ++not more than one packet. ++.TP ++\fB-t \fIttl\fB\fR ++Set the IP Time to Live. ++.TP ++\fB-T \fItimestamp option\fB\fR ++Set special IP timestamp options. ++\fItimestamp option\fR may be either ++\fItsonly\fR (only timestamps), ++\fItsandaddr\fR (timestamps and addresses) or ++\fItsprespec host1 [host2 [host3 [host4]]]\fR ++(timestamp prespecified hops). ++.TP ++\fB-M \fIhint\fB\fR ++Select Path MTU Discovery strategy. ++\fIhint\fR may be either \fIdo\fR ++(prohibit fragmentation, even local one), ++\fIwant\fR (do PMTU discovery, fragment locally when packet size ++is large), or \fIdont\fR (do not set DF flag). ++.TP ++\fB-U\fR ++Print full user-to-user latency (the old behaviour). Normally ++\fBping\fR ++prints network round trip time, which can be different ++f.e. due to DNS failures. ++.TP ++\fB-v\fR ++Verbose output. ++.TP ++\fB-V\fR ++Show version and exit. ++.TP ++\fB-w \fIdeadline\fB\fR ++Specify a timeout, in seconds, before ++\fBping\fR ++exits regardless of how many ++packets have been sent or received. In this case ++\fBping\fR ++does not stop after ++\fIcount\fR ++packet are sent, it waits either for ++\fIdeadline\fR ++expire or until ++\fIcount\fR ++probes are answered or for some error notification from network. ++.TP ++\fB-W \fItimeout\fB\fR ++Time to wait for a response, in seconds. The option affects only timeout ++in absense of any responses, otherwise \fBping\fR waits for two RTTs. ++.PP ++When using \fBping\fR for fault isolation, it should first be run ++on the local host, to verify that the local network interface is up ++and running. Then, hosts and gateways further and further away should be ++``pinged''. Round-trip times and packet loss statistics are computed. ++If duplicate packets are received, they are not included in the packet ++loss calculation, although the round trip time of these packets is used ++in calculating the minimum/average/maximum round-trip time numbers. ++When the specified number of packets have been sent (and received) or ++if the program is terminated with a ++SIGINT, a brief summary is displayed. Shorter current statistics ++can be obtained without termination of process with signal ++SIGQUIT. ++.PP ++If \fBping\fR does not receive any reply packets at all it will ++exit with code 1. If a packet ++\fIcount\fR ++and ++\fIdeadline\fR ++are both specified, and fewer than ++\fIcount\fR ++packets are received by the time the ++\fIdeadline\fR ++has arrived, it will also exit with code 1. ++On other error it exits with code 2. Otherwise it exits with code 0. This ++makes it possible to use the exit code to see if a host is alive or ++not. ++.PP ++This program is intended for use in network testing, measurement and ++management. ++Because of the load it can impose on the network, it is unwise to use ++\fBping\fR during normal operations or from automated scripts. ++.SH "ICMP PACKET DETAILS" ++.PP ++An IP header without options is 20 bytes. ++An ICMP ECHO_REQUEST packet contains an additional 8 bytes worth ++of ICMP header followed by an arbitrary amount of data. ++When a \fIpacketsize\fR is given, this indicated the size of this ++extra piece of data (the default is 56). Thus the amount of data received ++inside of an IP packet of type ICMP ECHO_REPLY will always be 8 bytes ++more than the requested data space (the ICMP header). ++.PP ++If the data space is at least of size of struct timeval ++\fBping\fR uses the beginning bytes of this space to include ++a timestamp which it uses in the computation of round trip times. ++If the data space is shorter, no round trip times are given. ++.SH "DUPLICATE AND DAMAGED PACKETS" ++.PP ++\fBping\fR will report duplicate and damaged packets. ++Duplicate packets should never occur, and seem to be caused by ++inappropriate link-level retransmissions. ++Duplicates may occur in many situations and are rarely (if ever) a ++good sign, although the presence of low levels of duplicates may not ++always be cause for alarm. ++.PP ++Damaged packets are obviously serious cause for alarm and often ++indicate broken hardware somewhere in the ++\fBping\fR packet's path (in the network or in the hosts). ++.SH "TRYING DIFFERENT DATA PATTERNS" ++.PP ++The (inter)network layer should never treat packets differently depending ++on the data contained in the data portion. ++Unfortunately, data-dependent problems have been known to sneak into ++networks and remain undetected for long periods of time. ++In many cases the particular pattern that will have problems is something ++that doesn't have sufficient ``transitions'', such as all ones or all ++zeros, or a pattern right at the edge, such as almost all zeros. ++It isn't necessarily enough to specify a data pattern of all zeros (for ++example) on the command line because the pattern that is of interest is ++at the data link level, and the relationship between what you type and ++what the controllers transmit can be complicated. ++.PP ++This means that if you have a data-dependent problem you will probably ++have to do a lot of testing to find it. ++If you are lucky, you may manage to find a file that either can't be sent ++across your network or that takes much longer to transfer than other ++similar length files. ++You can then examine this file for repeated patterns that you can test ++using the \fB-p\fR option of \fBping\fR. ++.SH "TTL DETAILS" ++.PP ++The TTL value of an IP packet represents the maximum number of IP routers ++that the packet can go through before being thrown away. ++In current practice you can expect each router in the Internet to decrement ++the TTL field by exactly one. ++.PP ++The TCP/IP specification states that the TTL field for TCP ++packets should be set to 60, but many systems use smaller values ++(4.3 BSD uses 30, 4.2 used 15). ++.PP ++The maximum possible value of this field is 255, and most Unix systems set ++the TTL field of ICMP ECHO_REQUEST packets to 255. ++This is why you will find you can ``ping'' some hosts, but not reach them ++with ++\fBtelnet\fR(1) ++or ++\fBftp\fR(1). ++.PP ++In normal operation ping prints the ttl value from the packet it receives. ++When a remote system receives a ping packet, it can do one of three things ++with the TTL field in its response: ++.TP 0.2i ++\(bu ++Not change it; this is what Berkeley Unix systems did before the ++4.3BSD Tahoe release. In this case the TTL value in the received packet ++will be 255 minus the number of routers in the round-trip path. ++.TP 0.2i ++\(bu ++Set it to 255; this is what current Berkeley Unix systems do. ++In this case the TTL value in the received packet will be 255 minus the ++number of routers in the path \fBfrom\fR ++the remote system \fBto\fR the \fBping\fRing host. ++.TP 0.2i ++\(bu ++Set it to some other value. Some machines use the same value for ++ICMP packets that they use for TCP packets, for example either 30 or 60. ++Others may use completely wild values. ++.SH "BUGS" ++.TP 0.2i ++\(bu ++Many Hosts and Gateways ignore the RECORD_ROUTE option. ++.TP 0.2i ++\(bu ++The maximum IP header length is too small for options like ++RECORD_ROUTE to be completely useful. ++There's not much that that can be done about this, however. ++.TP 0.2i ++\(bu ++Flood pinging is not recommended in general, and flood pinging the ++broadcast address should only be done under very controlled conditions. ++.SH "SEE ALSO" ++.PP ++\fBnetstat\fR(1), ++\fBifconfig\fR(8). ++.SH "HISTORY" ++.PP ++The \fBping\fR command appeared in 4.3BSD. ++.PP ++The version described here is its descendant specific to Linux. ++.SH "SECURITY" ++.PP ++\fBping\fR requires CAP_NET_RAWIO capability ++to be executed. It may be used as set-uid root. ++.SH "AVAILABILITY" ++.PP ++\fBping\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. +--- /dev/null 2011-01-26 09:02:28.396666668 -0500 ++++ iputils-s20101006/doc/rdisc.8 2011-01-19 04:10:20.000000000 -0500 +@@ -0,0 +1,110 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "RDISC" "8" "19 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++rdisc \- network router discovery daemon ++.SH SYNOPSIS ++ ++\fBrdisc\fR [ \fB-abdfstvV\fR] [ \fB\fIsend_address\fB\fR] [ \fB\fIreceive_address\fB\fR] ++ ++.SH "DESCRIPTION" ++.PP ++\fBrdisc\fR implements client side of the ICMP router discover protocol. ++\fBrdisc\fR is invoked at boot time to populate the network ++routing tables with default routes. ++.PP ++\fBrdisc\fR listens on the ALL_HOSTS (224.0.0.1) multicast address ++(or \fIreceive_address\fR provided it is given) ++for ROUTER_ADVERTISE messages from routers. The received ++messages are handled by first ignoring those listed router addresses ++with which the host does not share a network. Among the remaining addresses ++the ones with the highest preference are selected as default routers ++and a default route is entered in the kernel routing table ++for each one of them. ++.PP ++Optionally, \fBrdisc\fR can avoid waiting for routers to announce ++themselves by sending out a few ROUTER_SOLICITATION messages ++to the ALL_ROUTERS (224.0.0.2) multicast address ++(or \fIsend_address\fR provided it is given) ++when it is started. ++.PP ++A timer is associated with each router address and the address will ++no longer be considered for inclusion in the the routing tables if the ++timer expires before a new ++\fBadvertise\fR message is received from the router. ++The address will also be excluded from consideration if the host receives an ++\fBadvertise\fR ++message with the preference being maximally negative. ++.PP ++Server side of router discovery protocol is supported by Cisco IOS ++and by any more or less complete UNIX routing daemon, f.e \fBgated\fR. ++.SH "OPTIONS" ++.TP ++\fB-a\fR ++Accept all routers independently of the preference they have in their ++\fBadvertise\fR messages. ++Normally \fBrdisc\fR only accepts (and enters in the kernel routing ++tables) the router or routers with the highest preference. ++.TP ++\fB-b\fR ++Opposite to \fB-a\fR, i.e. install only router with the best ++preference value. It is default behaviour. ++.TP ++\fB-d\fR ++Send debugging messages to syslog. ++.TP ++\fB-f\fR ++Run \fBrdisc\fR forever even if no routers are found. ++Normally \fBrdisc\fR gives up if it has not received any ++\fBadvertise\fR message after after soliciting three times, ++in which case it exits with a non-zero exit code. ++If \fB-f\fR is not specified in the first form then ++\fB-s\fR must be specified. ++.TP ++\fB-s\fR ++Send three \fBsolicitation\fR messages initially to quickly discover ++the routers when the system is booted. ++When \fB-s\fR is specified \fBrdisc\fR ++exits with a non-zero exit code if it can not find any routers. ++This can be overridden with the \fB-f\fR option. ++.TP ++\fB-t\fR ++Test mode. Do not go to background. ++.TP ++\fB-v\fR ++Be verbose i.e. send lots of debugging messages to syslog. ++.TP ++\fB-V\fR ++Print version and exit. ++.SH "HISTORY" ++.PP ++This program was developed by Sun Microsystems (see copyright ++notice in source file). It was ported to Linux by ++Alexey Kuznetsov ++<kuznet@ms2.inr.ac.ru>. ++It is now maintained by ++YOSHIFUJI Hideaki ++<yoshfuji@skbuff.net>. ++.SH "SEE ALSO" ++.PP ++\fBicmp\fR(7), ++\fBinet\fR(7), ++\fBping\fR(8). ++.SH "REFERENCES" ++.PP ++Deering, S.E.,ed "ICMP Router Discovery Messages", ++RFC1256, Network Information Center, SRI International, ++Menlo Park, Calif., September 1991. ++.SH "SECURITY" ++.PP ++\fBrdisc\fR requires CAP_NET_RAWIO to listen ++and send ICMP messages and capability CAP_NET_ADMIN ++to update routing tables. ++.SH "AVAILABILITY" ++.PP ++\fBrdisc\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. +--- /dev/null 2011-01-26 09:02:28.396666668 -0500 ++++ iputils-s20101006/doc/tracepath.8 2011-01-19 04:10:20.000000000 -0500 +@@ -0,0 +1,97 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "TRACEPATH" "8" "19 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++tracepath, tracepath6 \- traces path to a network host discovering MTU along this path ++.SH SYNOPSIS ++ ++\fBtracepath\fR [ \fB-n\fR] [ \fB-b\fR] [ \fB-l \fIpktlen\fB\fR] \fB\fIdestination\fB\fR [ \fB\fIport\fB\fR] ++ ++.SH "DESCRIPTION" ++.PP ++It traces path to \fIdestination\fR discovering MTU along this path. ++It uses UDP port \fIport\fR or some random port. ++It is similar to \fBtraceroute\fR, only does not require superuser ++privileges and has no fancy options. ++.PP ++\fBtracepath6\fR is good replacement for \fBtraceroute6\fR ++and classic example of application of Linux error queues. ++The situation with IPv4 is worse, because commercial ++IP routers do not return enough information in icmp error messages. ++Probably, it will change, when they will be updated. ++For now it uses Van Jacobson's trick, sweeping a range ++of UDP ports to maintain trace history. ++.SH "OPTIONS" ++.TP ++\fB-n\fR ++Print primarily IP addresses numerically. ++.TP ++\fB-b\fR ++Print both of host names and IP addresses. ++.TP ++\fB-l\fR ++Sets the initial packet length to \fIpktlen\fR instead of ++65536 for \fBtracepath\fR or 128000 for \fBtracepath6\fR. ++.SH "OUTPUT" ++.PP ++ ++.nf ++root@mops:~ # tracepath6 3ffe:2400:0:109::2 ++ 1?: [LOCALHOST] pmtu 1500 ++ 1: dust.inr.ac.ru 0.411ms ++ 2: dust.inr.ac.ru asymm 1 0.390ms pmtu 1480 ++ 2: 3ffe:2400:0:109::2 463.514ms reached ++ Resume: pmtu 1480 hops 2 back 2 ++.fi ++.PP ++The first column shows TTL of the probe, followed by colon. ++Usually value of TTL is obtained from reply from network, ++but sometimes reply does not contain necessary information and ++we have to guess it. In this case the number is followed by ?. ++.PP ++The second column shows the network hop, which replied to the probe. ++It is either address of router or word [LOCALHOST], if ++the probe was not sent to the network. ++.PP ++The rest of line shows miscellaneous information about path to ++the correspinding hetwork hop. As rule it contains value of RTT. ++Additionally, it can show Path MTU, when it changes. ++If the path is asymmetric ++or the probe finishes before it reach prescribed hop, difference ++between number of hops in forward and backward direction is shown ++following keyword async. This information is not reliable. ++F.e. the third line shows asymmetry of 1, it is because the first probe ++with TTL of 2 was rejected at the first hop due to Path MTU Discovery. ++.PP ++The last line summarizes information about all the path to the destination, ++it shows detected Path MTU, amount of hops to the destination and our ++guess about amount of hops from the destination to us, which can be ++different when the path is asymmetric. ++.SH "SEE ALSO" ++.PP ++\fBtraceroute\fR(8), ++\fBtraceroute6\fR(8), ++\fBping\fR(8). ++.SH "AUTHOR" ++.PP ++\fBtracepath\fR was written by ++Alexey Kuznetsov ++<kuznet@ms2.inr.ac.ru>. ++.SH "SECURITY" ++.PP ++No security issues. ++.PP ++This lapidary deserves to be elaborated. ++\fBtracepath\fR is not a privileged program, unlike ++\fBtraceroute\fR, \fBping\fR and other beasts of this kind. ++\fBtracepath\fR may be executed by everyone who has some access ++to network, enough to send UDP datagrams to investigated destination ++using given port. ++.SH "AVAILABILITY" ++.PP ++\fBtracepath\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. +diff -Naur /dev/null iputils-s20101006/doc/rarpd.8 +--- /dev/null 2011-01-26 09:02:28.396666668 -0500 ++++ iputils-s20101006/doc/rarpd.8 2011-01-08 20:09:51.270811811 -0500 +@@ -0,0 +1,84 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "RARPD" "8" "08 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++rarpd \- answer RARP REQUESTs ++.SH SYNOPSIS ++ ++\fBarping\fR [\fB-aAvde\fR] [\fB-b \fIbootdir\fB\fR] [\fB\fIinterface\fB\fR] ++ ++.SH "DESCRIPTION" ++.PP ++Listens ++RARP ++requests from clients. Provided MAC address of client ++is found in \fI/etc/ethers\fR database and ++obtained host name is resolvable to an IP address appropriate ++for attached network, \fBrarpd\fR answers to client with RARPD ++reply carrying an IP address. ++.PP ++To allow multiple boot servers on the network \fBrarpd\fR ++optionally checks for presence Sun-like bootable image in TFTP directory. ++It should have form \fBHexadecimal_IP.ARCH\fR, f.e. to load ++sparc 193.233.7.98 \fIC1E90762.SUN4M\fR is linked to ++an image appropriate for SUM4M in directory \fI/etc/tftpboot\fR. ++.SH "WARNING" ++.PP ++This facility is deeply obsoleted by ++BOOTP ++and later ++DHCP protocols. ++However, some clients really still need this to boot. ++.SH "OPTIONS" ++.TP ++\fB-a\fR ++Listen on all the interfaces. Currently it is an internal ++option, its function is overridden with \fIinterface\fR ++argument. It should not be used. ++.TP ++\fB-A\fR ++Listen not only RARP but also ARP messages, some rare clients ++use ARP by some unknown reason. ++.TP ++\fB-v\fR ++Be verbose. ++.TP ++\fB-d\fR ++Debug mode. Do not go to background. ++.TP ++\fB-e\fR ++Do not check for presence of a boot image, reply if MAC address ++resolves to a valid IP address using \fI/etc/ethers\fR ++database and DNS. ++.TP ++\fB-b \fIbootdir\fB\fR ++TFTP boot directory. Default is \fI/etc/tftpboot\fR ++.SH "SEE ALSO" ++.PP ++\fBarping\fR(8), ++\fBtftpd\fR(8). ++.SH "AUTHOR" ++.PP ++\fBrarpd\fR was written by ++Alexey Kuznetsov ++<kuznet@ms2.inr.ac.ru>. ++It is now maintained by ++YOSHIFUJI Hideaki ++<yoshfuji@skbuff.net>. ++.SH "SECURITY" ++.PP ++\fBrarpd\fR requires CAP_NET_RAWIO capability ++to listen and send RARP and ARP packets. It also needs CAP_NET_ADMIN ++to give to kernel hint for ARP resolution; this is not strictly required, ++but some (most of, to be more exact) clients are so badly broken that ++are not able to answer ARP before they are finally booted. This is ++not wonderful taking into account that clients using RARPD in 2002 ++are all unsupported relic creatures of 90's and even earlier. ++.SH "AVAILABILITY" ++.PP ++\fBrarpd\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. +diff -Naur /dev/null iputils-s20101006/doc/tftpd.8 +--- /dev/null 2011-01-26 09:02:28.396666668 -0500 ++++ iputils-s20101006/doc/tftpd.8 2011-01-08 20:09:51.723407498 -0500 +@@ -0,0 +1,85 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "TFTPD" "8" "08 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++tftpd \- Trivial File Transfer Protocol server ++.SH SYNOPSIS ++ ++\fBtftpd\fR \fB\fIdirectory\fB\fR ++ ++.SH "DESCRIPTION" ++.PP ++\fBtftpd\fR is a server which supports the DARPA ++Trivial File Transfer Protocol ++(RFC1350). ++The TFTP server is started ++by \fBinetd\fR(8). ++.PP ++\fIdirectory\fR is required argument; if it is not given ++\fBtftpd\fR aborts. This path is prepended to any file name requested ++via TFTP protocol, effectively chrooting \fBtftpd\fR to this directory. ++File names are validated not to escape out of this directory, however ++administrator may configure such escape using symbolic links. ++.PP ++It is in difference of variants of \fBtftpd\fR usually distributed ++with unix-like systems, which take a list of directories and match ++file names to start from one of given prefixes or to some random ++default, when no arguments were given. There are two reasons not to ++behave in this way: first, it is inconvenient, clients are not expected ++to know something about layout of filesystem on server host. ++And second, TFTP protocol is not a tool for browsing of server's filesystem, ++it is just an agent allowing to boot dumb clients. ++.PP ++In the case when \fBtftpd\fR is used together with ++\fBrarpd\fR(8), ++tftp directories in these services should coincide and it is expected ++that each client booted via TFTP has boot image corresponding ++its IP address with an architecture suffix following Sun Microsystems ++conventions. See ++\fBrarpd\fR(8) ++for more details. ++.SH "SECURITY" ++.PP ++TFTP protocol does not provide any authentication. ++Due to this capital flaw \fBtftpd\fR is not able to restrict ++access to files and will allow only publically readable ++files to be accessed. Files may be written only if they already ++exist and are publically writable. ++.PP ++Impact is evident, directory exported via TFTP \fBmust not\fR ++contain sensitive information of any kind, everyone is allowed ++to read it as soon as a client is allowed. Boot images do not contain ++such information as rule, however you should think twice before ++publishing f.e. Cisco IOS config files via TFTP, they contain ++\fBunencrypted\fR passwords and may contain some information ++about the network, which you were not going to make public. ++.PP ++The \fBtftpd\fR server should be executed by \fBinetd\fR ++with dropped root privileges, namely with a user ID giving minimal ++access to files published in tftp directory. If it is executed ++as superuser occasionally, \fBtftpd\fR drops its UID and GID ++to 65534, which is most likely not the thing which you expect. ++However, this is not very essential; remember, only files accessible ++for everyone can be read or written via TFTP. ++.SH "SEE ALSO" ++.PP ++\fBrarpd\fR(8), ++\fBtftp\fR(1), ++\fBinetd\fR(8). ++.SH "HISTORY" ++.PP ++The \fBtftpd\fR command appeared in 4.2BSD. The source in iputils ++is cleaned up both syntactically (ANSIized) and semantically (UDP socket IO). ++.PP ++It is distributed with iputils mostly as good demo of an interesting feature ++(MSG_CONFIRM) allowing to boot long images by dumb clients ++not answering ARP requests until they are finally booted. ++However, this is full functional and can be used in production. ++.SH "AVAILABILITY" ++.PP ++\fBtftpd\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. +diff -Naur /dev/null iputils-s20101006/doc/traceroute6.8 +--- /dev/null 1969-12-31 19:00:00.000000000 -0500 ++++ iputils-s20101006/doc/traceroute6.8 2011-01-08 20:09:52.114781859 -0500 +@@ -0,0 +1,42 @@ ++.\" This manpage has been automatically generated by docbook2man ++.\" from a DocBook document. This tool can be found at: ++.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> ++.\" Please send any bug reports, improvements, comments, patches, ++.\" etc. to Steve Cheng <steve@ggi-project.org>. ++.TH "TRACEROUTE6" "8" "08 January 2011" "iputils-101006" "System Manager's Manual: iputils" ++.SH NAME ++traceroute6 \- traces path to a network host ++.SH SYNOPSIS ++ ++\fBtraceroute6\fR [\fB-dnrvV\fR] [\fB-i \fIinterface\fB\fR] [\fB-m \fImax_ttl\fB\fR] [\fB-p \fIport\fB\fR] [\fB-q \fImax_probes\fB\fR] [\fB-s \fIsource\fB\fR] [\fB-w \fIwait time\fB\fR] \fB\fIdestination\fB\fR [\fB\fIsize\fB\fR] ++ ++.SH "DESCRIPTION" ++.PP ++Description can be found in ++\fBtraceroute\fR(8), ++all the references to IP replaced to IPv6. It is needless to copy ++the description from there. ++.SH "SEE ALSO" ++.PP ++\fBtraceroute\fR(8), ++\fBtracepath\fR(8), ++\fBping\fR(8). ++.SH "HISTORY" ++.PP ++This program has long history. Author of \fBtraceroute\fR ++is Van Jacobson and it first appeared in 1988. This clone is ++based on a port of \fBtraceroute\fR to IPv6 published ++in NRL IPv6 distribution in 1996. In turn, it was ported ++to Linux by Pedro Roque. After this it was kept in sync by ++Alexey Kuznetsov ++<kuznet@ms2.inr.ac.ru>. And eventually entered ++\fBiputils\fR package. ++.SH "SECURITY" ++.PP ++\fBtracepath6\fR requires CAP_NET_RAWIO capability ++to be executed. It is safe to be used as set-uid root. ++.SH "AVAILABILITY" ++.PP ++\fBtraceroute6\fR is part of \fIiputils\fR package ++and the latest versions are available in source form at ++http://www.skbuff.net/iputils/iputils-current.tar.bz2. diff --git a/testing/iputils/permission-fix.patch b/testing/iputils/permission-fix.patch new file mode 100644 index 000000000..c47636f84 --- /dev/null +++ b/testing/iputils/permission-fix.patch @@ -0,0 +1,15 @@ +--- traceroute-1.4a12/Makefile.in.old 2000-11-23 21:05:29.000000000 +0100 ++++ traceroute-1.4a12/Makefile.in 2008-09-27 20:04:30.000000000 +0200 +@@ -90,10 +90,10 @@ + sed -e 's/.*/char version[] = "&";/' $(srcdir)/VERSION > $@ + + install: force +- $(INSTALL) -m 4555 -o root -g bin traceroute $(DESTDIR)$(BINDEST) ++ $(INSTALL) -m 4555 -o root -g root traceroute $(DESTDIR)$(BINDEST) + + install-man: force +- $(INSTALL) -m 444 -o bin -g bin traceroute.8 $(DESTDIR)$(MANDEST)/man8 ++ $(INSTALL) -m 644 -o root -g root traceroute.8 $(DESTDIR)$(MANDEST)/man8 + + lint: $(GENSRC) force + lint -hbxn $(SRC) | \ diff --git a/testing/isdn4k-utils/PKGBUILD b/testing/isdn4k-utils/PKGBUILD new file mode 100644 index 000000000..59f7943ca --- /dev/null +++ b/testing/isdn4k-utils/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 141935 2011-11-03 10:53:42Z tpowa $ +# Contributor: Dennis "Gyroplast" Herbrich <dennis@archlinux.org> +# Maintainer: dorphell <dorphell@archlinux.org> + +pkgname=isdn4k-utils +pkgver=3.2p1 +pkgrel=7 +pkgdesc="User space administration programs and tools for ISDN" +arch=('i686' 'x86_64') +url="http://www.isdn4linux.de/" +license=('GPL') +depends=('ncurses') +backup=(etc/isdn/{callerid.conf,isdn.conf,rate.conf,isdnlog.isdnctrl0.options}) +options=('!makeflags') +source=(ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/${pkgname}.v${pkgver}.tar.bz2 + isdn4k-utils-3.2p1-build.patch + config) +md5sums=('d347afa462e46eccfd1284aebae227b6' + '7f056ddac093c77d8be4e076d0e9421c' + '3429894039f33c114fef5ef9f866920e') + +build() { + cd $srcdir/$pkgname + patch -Np1 -i $srcdir/isdn4k-utils-3.2p1-build.patch + cp $srcdir/config ./.config + make subconfig + make +} + +package() { + cd $srcdir/$pkgname + install -dm755 $pkgdir/sbin + make DESTDIR=$pkgdir install +} diff --git a/testing/isdn4k-utils/config b/testing/isdn4k-utils/config new file mode 100644 index 000000000..fe0810209 --- /dev/null +++ b/testing/isdn4k-utils/config @@ -0,0 +1,100 @@ +# +# Automatically generated by make menuconfig: don't edit +# + +# +# Code maturity level options +# +# CONFIG_EXPERIMENTAL is not set + +# +# General configuration +# +# CONFIG_BUILDX11 is not set +CONFIG_KERNELDIR='/usr/src/linux' +CONFIG_BINDIR='/usr/bin' +CONFIG_SBINDIR='/sbin' +CONFIG_MANDIR='/usr/share/man' +CONFIG_RUNDIR='/var/run' +CONFIG_LOCKDIR='/var/lock' +CONFIG_LOCKFILE='LCK..' +CONFIG_I4LCONFDIR='/etc/isdn' +CONFIG_CONFFILE='isdn.conf' +CONFIG_CALLERIDFILE='callerid.conf' +CONFIG_USERCONFFILE='~/.isdn' +CONFIG_COUNTRYCODE='49' +CONFIG_AREACODE='' +CONFIG_COUNTRY_PREFIX='+' +CONFIG_AREA_PREFIX='0' +CONFIG_DATADIR='/usr/lib/isdn' + +# +# Runtime configuration tools +# +CONFIG_ISDNCTRL=y +CONFIG_ISDNCTRL_CONF=y +# CONFIG_ISDNCTRL_TIMRU is not set +# CONFIG_IPROFD is not set +# CONFIG_DIVERTCTRL is not set + +# +# Card configuration tools +# +CONFIG_HISAXCTRL=y +CONFIG_ICNCTRL=y +# CONFIG_ICNCTRL_DEBUG is not set +CONFIG_PCBITCTL=y +# CONFIG_AVMCAPICTRL is not set +# CONFIG_EICONCTRL is not set + +# +# Tools for monitoring activity +# +CONFIG_IMON=y +CONFIG_IMONTTY=y +CONFIG_ISDNLOG=y + +# +# Options for isdnlog package +# +CONFIG_ISDNLOG_SERV_PORT=20011 +CONFIG_ISDNLOG_USERFILE='isdnlog.users' +CONFIG_ISDNLOG_CHARGEFILE='charge.dat' +CONFIG_ISDNLOG_LOGFILE='/var/log/isdn.log' +CONFIG_ISDNLOG_RELOADCMD='reload' +CONFIG_ISDNLOG_STOPCMD='stop' +CONFIG_ISDNLOG_REBOOTCMD='/sbin/reboot' +CONFIG_ISDNLOG_OLDI4LCONFDIR='/etc/isdnlog' +CONFIG_ISDNLOG_OLDI4LCONFFILE='isdnlog.conf' +# CONFIG_ISDNLOG_POSTGRES is not set +# CONFIG_ISDNLOG_MYSQLDB is not set +# CONFIG_ISDNLOG_ORACLE is not set +CONFIG_ISDN_LOG_DE=y +CONFIG_ISDN_LOG_CC_DE=y +CONFIG_ISDN_LOG_DEST_DE=y +CONFIG_ISDN_LOG_DEST_AT=y +CONFIG_ISDN_LOG_DEST_NL=y +CONFIG_ISDN_LOG_DEST_CH=y +CONFIG_IPPPSTATS=y +# CONFIG_XISDNLOAD is not set +# CONFIG_XMONISDN is not set + +# +# Applications +# +# CONFIG_VBOX is not set +CONFIG_IPPPD=y + +# +# Options for ipppd +# +# CONFIG_IPPPD_MSCHAP is not set +# CONFIG_IPPPD_RADIUS is not set +# CONFIG_RADIUS_WTMP_LOGGING is not set +RADIUS_CLIENT_CONFIG_FILE='' + +# +# Documentation +# +CONFIG_GENMAN=y +# CONFIG_FAQ is not set diff --git a/testing/isdn4k-utils/isdn4k-utils-3.2p1-build.patch b/testing/isdn4k-utils/isdn4k-utils-3.2p1-build.patch new file mode 100644 index 000000000..63239fcad --- /dev/null +++ b/testing/isdn4k-utils/isdn4k-utils-3.2p1-build.patch @@ -0,0 +1,2028 @@ +diff -Naur isdn4k-utils-orig//eicon/eiconctrl.c isdn4k-utils/eicon/eiconctrl.c +--- isdn4k-utils-orig//eicon/eiconctrl.c 2001-06-22 02:34:45.000000000 +1000 ++++ isdn4k-utils/eicon/eiconctrl.c 2010-12-04 20:44:11.093338893 +1000 +@@ -1970,7 +1970,7 @@ + val = strtol(p, &q, 16); + p = q; + val = strtol(p, &q, 16); +- (unsigned short) *buffer = (unsigned short) val; ++ *buffer = (unsigned short) val; + pos = 2; + while ((p != q) && (*q != 0)) { + p = q; +diff -Naur isdn4k-utils-orig//hisax/hisaxctrl.c isdn4k-utils/hisax/hisaxctrl.c +--- isdn4k-utils-orig//hisax/hisaxctrl.c 2000-06-30 19:37:38.000000000 +1000 ++++ isdn4k-utils/hisax/hisaxctrl.c 2010-12-04 20:44:11.093338893 +1000 +@@ -43,7 +43,8 @@ + fprintf(stderr, "cannot open file %s\n", fname); + exit(-1); + } +- p = (int *) buffer = (unsigned char *) malloc(MAX_SIZE+4); ++ buffer = (unsigned char *) malloc(MAX_SIZE+4); ++ p = (int *) buffer; + if (!buffer) { + fprintf(stderr, "cannot get %d byte memory\n", MAX_SIZE+4); + exit(-1); +diff -Naur isdn4k-utils-orig//hisax/Makefile.in isdn4k-utils/hisax/Makefile.in +--- isdn4k-utils-orig//hisax/Makefile.in 2002-07-20 05:03:51.000000000 +1000 ++++ isdn4k-utils/hisax/Makefile.in 2010-12-04 20:44:03.726672225 +1000 +@@ -30,7 +30,7 @@ + #.SUFFIXES: + #.SUFFIXES: .c .o + +-%.8: %.man ++%.8: %.man.in + cp $< $@ + + all: $(PROGRAMS) $(MANPAGES) +diff -Naur isdn4k-utils-orig//ipppd/main.c isdn4k-utils/ipppd/main.c +--- isdn4k-utils-orig//ipppd/main.c 2002-07-18 10:06:21.000000000 +1000 ++++ isdn4k-utils/ipppd/main.c 2010-12-04 20:44:11.093338893 +1000 +@@ -1041,9 +1041,14 @@ + static char line[256]; /* line to be logged accumulated here */ + static char *linep; + ++#ifdef __STDC__ ++static void pr_log(void *arg, char *fmt, ...); ++#else /* __STDC__ */ ++static void pr_log(arg, fmt, va_alist); ++#endif ++ + void log_packet(u_char *p,int len,char *prefix,int linkunit) + { +- static void pr_log __P((void *, char *, ...)); + + int i, n; + u_short proto; +diff -Naur isdn4k-utils-orig//ipppd/options.c isdn4k-utils/ipppd/options.c +--- isdn4k-utils-orig//ipppd/options.c 2002-07-06 10:34:08.000000000 +1000 ++++ isdn4k-utils/ipppd/options.c 2010-12-04 20:43:57.890005560 +1000 +@@ -479,26 +479,24 @@ + #define IMPLEMENTATION "" + #endif + +-static char *usage_string = "\ +-ipppd version %s patch level %d%s\n\ +-Usage: %s [ options ], where options are:\n\ +-\t<device> Communicate over the named device\n\ ++static char *usage_string = "ipppd version %s patch level %d%s\n" ++"Usage: %s [ options ], where options are:\n" ++"\t<device> Communicate over the named device\n" + #ifdef INCLUDE_OBSOLETE_FEATURES +-\tcrtscts Use hardware RTS/CTS flow control\n\ +-\t<speed> Set the baud rate to <speed>\n\ +-\tmodem Use modem control lines\n\ ++"\tcrtscts Use hardware RTS/CTS flow control\n" ++"\t<speed> Set the baud rate to <speed>\n" ++"\tmodem Use modem control lines\n" + #endif +-\t<loc>:<rem> Set the local and/or remote interface IP\n\ +-\t\taddresses. (you also may use the option 'useifip' to get IPs).\n\ +-\tasyncmap <n> Set the desired async map to hex <n>\n\ +-\tauth Require authentication from peer\n\ +-\tconnect <p> Invoke shell command <p> to set up the serial line\n\ +-\tdefaultroute Add default route through interface\n\ +-\tfile <f> Take options from file <f>\n\ +-\tmru <n> Set MRU value to <n> for negotiation\n\ +-\tnetmask <n> Set interface netmask to <n>\n\ +-See ipppd(8) for more options.\n\ +-"; ++"\t<loc>:<rem> Set the local and/or remote interface IP\n" ++"\t\t\taddresses. (you also may use the option 'useifip' to get IPs).\n" ++"\tasyncmap <n> Set the desired async map to hex <n>\n" ++"\tauth Require authentication from peer\n" ++"\tconnect <p> Invoke shell command <p> to set up the serial line\n" ++"\tdefaultroute Add default route through interface\n" ++"\tfile <f> Take options from file <f>\n" ++"\tmru <n> Set MRU value to <n> for negotiation\n" ++"\tnetmask <n> Set interface netmask to <n>\n" ++"See ipppd(8) for more options.\n"; + + static char *current_option; /* the name of the option being parsed */ + +diff -Naur isdn4k-utils-orig//isdnlog/isdnlog/isdnlog.h isdn4k-utils/isdnlog/isdnlog/isdnlog.h +--- isdn4k-utils-orig//isdnlog/isdnlog/isdnlog.h 2001-06-22 02:34:56.000000000 +1000 ++++ isdn4k-utils/isdnlog/isdnlog/isdnlog.h 2010-12-04 20:44:03.780005559 +1000 +@@ -460,7 +460,7 @@ + + _EXTERN void dotrace(void); + _EXTERN int morectrl(int card); +-_EXTERN void moreinfo(void); ++extern void moreinfo(void); + _EXTERN void morekbd(void); + _EXTERN void processcint(void); + _EXTERN void processflow(void); +diff -Naur isdn4k-utils-orig//isdnlog/isdnlog/processor.c isdn4k-utils/isdnlog/isdnlog/processor.c +--- isdn4k-utils-orig//isdnlog/isdnlog/processor.c 2002-04-02 04:06:10.000000000 +1000 ++++ isdn4k-utils/isdnlog/isdnlog/processor.c 2010-12-04 20:44:03.783338893 +1000 +@@ -5293,7 +5293,7 @@ + tei = BROADCAST; /* Wenn nach einer tei-Zeile keine hex:-Zeile kommt, tei ungueltig machen! */ + + if ((type == SETUP) && !replay) { /* fetch additional info from "/dev/isdninfo" */ +- static void moreinfo(); /* soviel zu Objektorientiertem Denken ;-) */ ++ /*static void moreinfo(); */ /* soviel zu Objektorientiertem Denken ;-) */ + moreinfo(); + } /* if */ + +diff -Naur isdn4k-utils-orig//isdnlog/Makefile.in isdn4k-utils/isdnlog/Makefile.in +--- isdn4k-utils-orig//isdnlog/Makefile.in 2002-07-20 05:03:55.000000000 +1000 ++++ isdn4k-utils/isdnlog/Makefile.in 2010-12-04 20:44:03.730005560 +1000 +@@ -1842,9 +1842,6 @@ + $(INSTALL_DATA) $$f $(DESTDIR)$(DATADIR); \ + echo Installing $(DESTDIR)$(DATADIR)/$$f; \ + done +- @(grep isdnlog $(SERVICEFILE) >/dev/null) || \ +- (echo "";echo "";echo "Add a line to the file $(SERVICEFILE)" ;echo "";echo ""; \ +- echo "isdnlog $(SERV_PORT)/tcp isdnlog" >> $(SERVICEFILE)) + + install-strip: + $(MAKE) INSTALL_BIN='$(INSTALL_BIN) -s' \ +diff -Naur isdn4k-utils-orig//isdnlog/tools/cdb/cdbmake.c isdn4k-utils/isdnlog/tools/cdb/cdbmake.c +--- isdn4k-utils-orig//isdnlog/tools/cdb/cdbmake.c 2002-02-22 21:10:25.000000000 +1000 ++++ isdn4k-utils/isdnlog/tools/cdb/cdbmake.c 2010-12-04 20:44:03.786672226 +1000 +@@ -3,8 +3,6 @@ + #include "freecdbmake.h" + #include <unistd.h> + +-extern char *malloc(); +- + void diesys(why) char *why; { perror(why); exit(111); } + + void writeerror() { diesys("cdbmake: fatal: unable to write"); } +diff -Naur isdn4k-utils-orig//isdnlog/tools/isdnrate.c isdn4k-utils/isdnlog/tools/isdnrate.c +--- isdn4k-utils-orig//isdnlog/tools/isdnrate.c 2001-06-22 02:34:56.000000000 +1000 ++++ isdn4k-utils/isdnlog/tools/isdnrate.c 2010-12-04 20:44:11.096672226 +1000 +@@ -304,7 +304,7 @@ + + static void print_header(void); + +-static char *myname, *myshortname; ++char *myname, *myshortname; + static char options[] = "ab:d:f:h:l:op:st:v::x:CD::G:HLNP:O:S:TUVX::Z"; + static char usage[] = "%s: usage: %s [ -%s ] Destination ...\n"; + +@@ -313,7 +313,7 @@ + static int usestat = 0; + static int duration = LCR_DURATION; + static time_t start; +-static int day, month, year, hour, min, sec; ++int day, month, year, hour, min, sec; + static char ignore[MAXPROVIDER]; + static char *fromarea = 0; + static char wanted_day; +diff -Naur isdn4k-utils-orig//isdnlog/tools/isdnrate.c.orig isdn4k-utils/isdnlog/tools/isdnrate.c.orig +--- isdn4k-utils-orig//isdnlog/tools/isdnrate.c.orig 1970-01-01 10:00:00.000000000 +1000 ++++ isdn4k-utils/isdnlog/tools/isdnrate.c.orig 2001-06-22 02:34:56.000000000 +1000 +@@ -0,0 +1,1806 @@ ++/* $Id: isdnrate.c,v 1.38 2001/03/01 14:59:16 paul Exp $ ++ ++ * ISDN accounting for isdn4linux. (rate evaluation) ++ * ++ * Copyright 1995 .. 2000 by Andreas Kool (akool@isdn4linux.de) ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ++ * $Log: isdnrate.c,v $ ++ * Revision 1.38 2001/03/01 14:59:16 paul ++ * Various patches to fix errors when using the newest glibc, ++ * replaced use of insecure tempnam() function ++ * and to remove warnings etc. ++ * ++ * Revision 1.37 2000/07/17 16:34:23 akool ++ * isdnlog-4.32 ++ * - added new Prefixes 0160 (D1) and 0162 (D2) to "country-de.dat" ++ * - corrected all german mobil phone numbers (many thank's to ++ * Tobias Becker <i4l-projects@talypso.de> for the tool "fix_rates.pl") ++ * - isdnlog/tools/rate.c ... New R:-tag ++ * - isdnlog/tools/isdnrate.c ... print warnings from getRate if verbose ++ * - isdnlog/tools/rate-files.man ... New R:-tag ++ * - isdnlog/tools/NEWS ... New R:-tag ++ * - isdnlog/README ... New R:-tag ++ * - isdnlog/samples/rtest.dat ... example rate-file for testing R: ++ * ++ * Revision 1.36 2000/03/09 18:50:03 akool ++ * isdnlog-4.16 ++ * - isdnlog/samples/isdn.conf.no ... changed VBN ++ * - isdnlog/isdnlog/isdnlog.c .. ciInterval ++ * - isdnlog/isdnlog/processor.c .. ciInterval ++ * - isdnlog/tools/tools.h .. ciInterval, abclcr conf option ++ * - isdnlog/tools/isdnconf.c .. ciInterval, abclcr conf option ++ * - isdnlog/tools/isdnrate.c .. removed a warning ++ * - isdnlog/NEWS ... updated ++ * - isdnlog/README ... updated ++ * - isdnlog/isdnlog/isdnlog.8.in ... updated ++ * - isdnlog/isdnlog/isdnlog.5.in ... updated ++ * - isdnlog/samples/provider ... NEW ++ * ++ * ==> Please run a make clean, and be sure to read isdnlog/NEWS for changes ++ * ==> and new features. ++ * ++ * Revision 1.35 2000/03/06 07:03:21 akool ++ * isdnlog-4.15 ++ * - isdnlog/tools/tools.h ... moved one_call, sum_calls to isdnrep.h ++ * ==> DO A 'make clean' PLEASE ++ * - isdnlog/tools/telnum.c ... fixed a small typo ++ * - isdnlog/isdnrep/rep_main.c ... incl. dest.h ++ * - isdnlog/isdnrep/isdnrep.c ... fixed %l, %L ++ * - isdnlog/isdnrep/isdnrep.h ... struct one_call, sum_calls are now here ++ * ++ * Support for Norway added. Many thanks to Tore Ferner <torfer@pvv.org> ++ * - isdnlog/rate-no.dat ... NEW ++ * - isdnlog/holiday-no.dat ... NEW ++ * - isdnlog/samples/isdn.conf.no ... NEW ++ * - isdnlog/samples/rate.conf.no ... NEW ++ * ++ * Revision 1.34 2000/02/28 19:53:56 akool ++ * isdnlog-4.14 ++ * - Patch from Roland Rosenfeld <roland@spinnaker.de> fix for isdnrep ++ * - isdnlog/tools/rate.c ... epnum ++ * - isdnlog/tools/rate-at.c ... new rates ++ * - isdnlog/rate-at.dat ++ * - isdnlog/tools/rate-files.man ... %.3f ++ * - doc/Configure.help ... unknown cc ++ * - isdnlog/configure.in ... unknown cc ++ * - isdnlog/.Config.in ... unknown cc ++ * - isdnlog/Makefile.in ... unknown cc ++ * - isdnlog/tools/dest/Makefile.in ... LANG => DEST_LANG ++ * - isdnlog/samples/rate.conf.pl ... NEW ++ * - isdnlog/samples/isdn.conf.pl ... NEW ++ * - isdnlog/rate-pl.dat ... NEW ++ * - isdnlog/tools/isdnrate.c ... fixed -P pid_dir, restarts on HUP now ++ * - isdnlog/tools/isdnrate.man ... SIGHUP documented ++ * ++ * Revision 1.33 2000/02/12 16:40:24 akool ++ * isdnlog-4.11 ++ * - isdnlog/Makefile.in ... sep install-targets, installs samples, no isdnconf ++ * - isdnlog/samples/rate.conf.{lu,nl} ... NEW ++ * - isdnlog/samples/isdn.conf.lu ... chg provider ++ * - isdnlog/samples/stop ... chg \d,\d => \d.\d ++ * - isdnlog/samples/isdnlog.isdnctrl0.options ... NEW ++ * - isdnlog/samples/isdnlog.users ... NEW ++ * - isdnlog/country-de.dat ... _DEMF again ++ * - isdnlog/isdnlog/processor.c ... LCR ++ * - isdnlog/tools/isdnrate.c ... fmt of s ++ * ++ * Old config is not installed anymore, to acomplish this do ++ * ++ * make install-old-conf ++ * make install ++ * ++ * A running isdnlog is now HUP-ed not KILL-ed ++ * ++ * Revision 1.32 2000/02/03 18:24:51 akool ++ * isdnlog-4.08 ++ * isdnlog/tools/rate.c ... LCR patch again ++ * isdnlog/tools/isdnrate.c ... LCR patch again ++ * isdnbill enhanced/fixed ++ * DTAG AktivPlus fixed ++ * ++ * Revision 1.31 1999/12/31 13:57:20 akool ++ * isdnlog-4.00 (Millenium-Edition) ++ * - Oracle support added by Jan Bolt (Jan.Bolt@t-online.de) ++ * - resolved *any* warnings against rate-de.dat ++ * - Many new rates ++ * - CREDITS file added ++ * ++ * Revision 1.30 1999/12/24 14:17:05 akool ++ * isdnlog-3.81 ++ * - isdnlog/tools/NEWS ++ * - isdnlog/tools/telrate/info.html.in ... bugfix ++ * - isdnlog/tools/telrate/telrate.cgi.in ... new Service query ++ * - isdnlog/tools/telrate/Makefile.in ... moved tmp below telrate ++ * - isdnlog/samples/rate.conf.at ... fixed ++ * - isdnlog/tools/rate-at.c ... some changes ++ * - isdnlog/rate-at.dat ... ditto ++ * - isdnlog/tools/Makefile ... added path to pp_rate ++ * - isdnlog/tools/rate.{c,h} ... getServiceNames, Date-Range in T:-Tag ++ * - isdnlog/tools/isdnrate.c ... fixed sorting of services, -X52 rets service names ++ * - isdnlog/tools/rate-files.man ... Date-Range in T:-Tag, moved from doc ++ * - isdnlog/tools/isdnrate.man ... moved from doc ++ * - doc/Makefile.in ... moved man's from doc to tools ++ * - isdnlog/Makefile.in ... man's, install isdn.conf.5 ++ * - isdnlog/configure{,.in} ... sed, awk for man's ++ * - isdnlog/tools/zone/Makefile.in ... dataclean ++ * - isdnlog/tools/dest/Makefile.in ... dataclean ++ * - isdnlog/isdnlog/isdnlog.8.in ... upd ++ * - isdnlog/isdnlog/isdn.conf.5.in ... upd ++ * ++ * Revision 1.29 1999/12/17 22:51:55 akool ++ * isdnlog-3.79 ++ * - isdnlog/isdnrep/isdnrep.{c,h} ... error -handling, print_msg ++ * - isdnlog/isdnrep/rep_main.c ++ * - isdnlog/isdnrep/isdnrep.1.in ++ * - isdnlog/tools/rate.c ... dupl entry in rate.conf ++ * - isdnlog/tools/NEWS ++ * - isdnlog/tools/isdnrate.c ++ * - isdnlog/tools/dest/configure{,.in} ++ * - isdnlog/tools/zone/configure{,.in} ++ * ++ * Revision 1.28 1999/12/16 23:08:28 akool ++ * isdnlog-3.78 ++ * - isdnlog/tools/isdnrate.c ... new sOcket option ++ * - isdnlog/tools/NEWS ... new sOcket option ++ * - doc/isdnrate.man ... ditto ++ * - isdnlog/tools/telrate/config.in ... ditto ++ * - isdnlog/tools/telrate/telrate.cgi.in ... ditto ++ * - isdnlog/tools/telrate/README-telrate ditto ++ * ++ * Revision 1.27 1999/12/02 19:28:02 akool ++ * isdnlog-3.73 ++ * - isdnlog/tools/telrate/telrate.cgi.in faster ++ * - doc/isdnrate.man ... -P ++ * - isdnlog/tools/isdnrate.c ... -P ++ * - isdnlog/tools/NEWS ... -P ++ * - isdnlog/tools/rate-at.c ... 194040 ++ * - isdnlog/rate-at.dat ++ * - isdnlog/tools/rate.c ... SIGSEGV ++ * ++ * Revision 1.26 1999/12/01 21:47:25 akool ++ * isdnlog-3.72 ++ * - new rates for 01051 ++ * - next version of isdnbill ++ * ++ * - isdnlog/tools/telnum.c ... cleanup ++ * - isdnlog/tools/isdnrate.c ... -s Service ++ * - isdnlog/tools/rate.{c,h} ... -s ++ * - isdnlog/tools/NEWS ... -s ++ * - doc/isdnrate.man .. updated -o, -s ++ * - doc/rate-files.man ... updated ++ * - isdnlog/tools/dest/README.makedest ... updt. ++ * - isdnlog/isdnlog/isdnlog.8.in .. updt. ++ * ++ * Telrate ++ * - isdnlog/tools/telrate/README-telrate ++ * - isdnlog/tools/telrate/config.in NEW ++ * - isdnlog/tools/telrate/configure NEW ++ * - isdnlog/tools/telrate/Makefile.in NEW ++ * - isdnlog/tools/telrate/index.html.in was index.html ++ * - isdnlog/tools/telrate/info.html.in was info.html ++ * - isdnlog/tools/telrate/telrate.cgi.in was telrate.cgi ++ * - isdnlog/tools/telrate/leo.sample NEW sample config ++ * - isdnlog/tools/telrate/alex.sample NEW sample config ++ * ++ * Revision 1.25 1999/11/08 21:09:41 akool ++ * isdnlog-3.65 ++ * - added "B:" Tag to "rate-xx.dat" ++ * ++ * Revision 1.24 1999/11/07 13:29:28 akool ++ * isdnlog-3.64 ++ * - new "Sonderrufnummern" handling ++ * ++ * Revision 1.22 1999/10/26 18:17:14 akool ++ * isdnlog-3.62 ++ * - many new rates ++ * - next try to fix "Sonderrufnummern" ++ * ++ * isdnlog-3.58 ++ * - big cleanup ( > 1.3 Mb removed!) ++ * - v0.02 of destination support - better, but not perfect ++ * (does't work with gcc-2.7.2.3 yet - use egcs!) ++ * ++ * Revision 1.21 1999/10/25 18:30:03 akool ++ * isdnlog-3.57 ++ * WARNING: Experimental version! ++ * Please use isdnlog-3.56 for production systems! ++ * ++ * Revision 1.20 1999/09/19 14:16:27 akool ++ * isdnlog-3.53 ++ * ++ * Revision 1.19 1999/09/16 20:27:21 akool ++ * isdnlog-3.52 ++ * ++ * Revision 1.18 1999/09/13 09:09:44 akool ++ * isdnlog-3.51 ++ * - changed getProvider() to not return NULL on unknown providers ++ * many thanks to Matthias Eder <mateder@netway.at> ++ * - corrected zone-processing when doing a internal -> world call ++ * ++ * Revision 1.17 1999/09/09 11:21:05 akool ++ * isdnlog-3.49 ++ * ++ * Revision 1.16 1999/08/04 23:06:52 akool ++ * Better codeall for .at ++ * ++ * Revision 1.15 1999/07/31 09:25:36 akool ++ * getRate() speedup ++ * ++ * Revision 1.14 1999/07/26 16:28:41 akool ++ * getRate() speedup from Leo ++ * ++ * Revision 1.13 1999/07/25 15:57:46 akool ++ * isdnlog-3.43 ++ * added "telnum" module ++ * ++ * Revision 1.12 1999/07/24 08:45:17 akool ++ * isdnlog-3.42 ++ * rate-de.dat 1.02-Germany [18-Jul-1999 10:44:21] ++ * better Support for Ackermann Euracom ++ * WEB-Interface for isdnrate ++ * many small fixes ++ * ++ * Revision 1.11 1999/07/15 16:42:04 akool ++ * small enhancement's and fixes ++ * ++ * Revision 1.10 1999/07/07 19:44:07 akool ++ * patches from Michael and Leo ++ * ++ * Revision 1.9 1999/07/04 20:47:05 akool ++ * rate-de.dat V:1.02-Germany [04-Jul-1999 22:56:37] ++ * ++ * Revision 1.8 1999/07/03 10:24:14 akool ++ * fixed Makefile ++ * ++ * Revision 1.7 1999/07/02 19:18:00 akool ++ * rate-de.dat V:1.02-Germany [02-Jul-1999 21:27:20] ++ * ++ * Revision 1.6 1999/07/02 18:20:50 akool ++ * rate-de.dat V:1.02-Germany [02-Jul-1999 20:29:21] ++ * country-de.dat V:1.02-Germany [02-Jul-1999 19:13:54] ++ * ++ * Revision 1.5 1999/07/01 20:40:07 akool ++ * isdnrate optimized ++ * ++ * Revision 1.4 1999/06/30 20:53:28 akool ++ * added "-t" option to "isdnrate" ++ * ++ * Revision 1.3 1999/06/30 17:17:37 akool ++ * isdnlog Version 3.39 ++ * ++ * Revision 1.2 1999/06/29 20:11:25 akool ++ * now compiles with ndbm ++ * (many thanks to Nima <nima_ghasseminejad@public.uni-hamburg.de>) ++ * ++ * Revision 1.1 1999/06/28 19:16:33 akool ++ * isdnlog Version 3.38 ++ * - new utility "isdnrate" started ++ * ++ */ ++ ++#include "isdnlog.h" ++#include "tools/zone.h" ++#include <unistd.h> ++#include "dest.h" ++ ++#define WIDTH 19 ++#define _MAXLAST 20 /* the real max */ ++#define MAXLAST ((best>=_MAXLAST||best<=2)?5:best) ++ ++ ++static void print_header(void); ++ ++static char *myname, *myshortname; ++static char options[] = "ab:d:f:h:l:op:st:v::x:CD::G:HLNP:O:S:TUVX::Z"; ++static char usage[] = "%s: usage: %s [ -%s ] Destination ...\n"; ++ ++static int header = 0, best = MAXPROVIDER, table = 0, explain = 0; ++int verbose = 0; ++static int usestat = 0; ++static int duration = LCR_DURATION; ++static time_t start; ++static int day, month, year, hour, min, sec; ++static char ignore[MAXPROVIDER]; ++static char *fromarea = 0; ++static char wanted_day; ++static int list = 0; ++static char *comment; ++static char **providers = 0; /* incl these */ ++static int n_providers = 0; ++static int business = 0; ++static char **xproviders = 0; /* excl these */ ++static int nx_providers = 0; ++static int xbusiness = 0; ++static int all = 0; ++static int booked = 0; ++static int service = 0; ++ ++#define SOCKNAME "/tmp/isdnrate" ++static int is_daemon = 0; ++static int is_client = 0; ++static int we_are_daemon = 0; ++static int takt = 99999; ++static char sortby; ++static int need_dest; ++static int h_param = 0; ++static int lcr = 0; ++static TELNUM srcnum, destnum; ++static char *pid_dir = 0; ++static char *pid_file = 0; ++static char *socket_file = 0; ++static char **hup_argv; /* args to restart with */ ++ ++typedef struct { ++ int prefix; ++ double rate; ++ char *name; ++ char *explain; ++} SORT; ++ ++typedef struct { ++ int weight; ++ int index; ++} SORT2; ++ ++static SORT sort[MAXPROVIDER]; ++ ++#undef MAXPROVIDER ++#define MAXPROVIDER getNProvider() ++ ++#undef BUFSIZ /* sorry but 8192 is too much for me */ ++#define BUFSIZ 256 ++ ++int print_msg(int Level, const char *fmt,...) ++{ ++ auto va_list ap; ++ auto char String[BUFSIZ * 3]; ++ ++ if ((Level > PRT_ERR && !verbose) || (Level > PRT_WARN && verbose < 2)) ++ return (1); ++ ++ va_start(ap, fmt); ++ (void) vsnprintf(String, BUFSIZ * 3, fmt, ap); ++ va_end(ap); ++ ++ fprintf(stderr, "%s", String); ++ ++ return (0); ++} /* print_msg */ ++ ++ ++static void init() ++{ ++ auto char *version, **message; ++ ++ if (readconfig(myshortname) < 0) ++ exit(1); ++ ++ if (verbose) ++ message = &version; ++ else ++ message = NULL; ++ ++ initHoliday(holifile, message); ++ ++ if (verbose && *version) ++ print_msg(PRT_V, "%s\n", version); ++ initDest(destfile, message); ++ if (verbose && *version) ++ print_msg(PRT_V, "%s\n", version); ++ ++ initRate(rateconf, ratefile, zonefile, message); ++ ++ if (verbose && *version) ++ print_msg(PRT_V, "%s\n", version); ++ ++} /* init */ ++ ++#if 0 ++static void deinit(void) ++{ ++ exitRate(); ++ exitDest(); ++ exitHoliday(); ++} ++#endif ++ ++/* calc a day/time W | E | H */ ++static void get_day(char d) ++{ ++ struct tm *tm; ++ bitfield mask; ++ int what = 0; ++ ++ tm = localtime(&start); /* now */ ++ switch (d) { ++ case 'W': /* we need a normal weekday, so we take ++ today and inc. day if today is ++ holiday */ ++ what = WORKDAY; ++ if (!h_param) ++ hour = 10; ++ break; ++ case 'N': ++ what = WORKDAY; ++ if (!h_param) ++ hour = 23; ++ break; ++ case 'E': ++ what = SUNDAY; ++ if (!h_param) ++ hour = 10; ++ break; ++ } ++ mask = 1 << what; ++ while (isDay(tm, mask, 0) != what) { ++ tm->tm_mday++; ++ } ++ min = sec = 0; ++ day = tm->tm_mday; ++ month = tm->tm_mon + 1; ++ year = tm->tm_year + 1900; ++} ++ ++static void post_init() ++{ ++ ++ clearNum(&srcnum); ++ if (fromarea) { ++ Strncpy(srcnum.area, fromarea, TN_MAX_AREA_LEN); ++ free(fromarea); ++ fromarea = 0; ++ } ++ initNum(&srcnum); ++ ++ if (wanted_day) ++ get_day(wanted_day); ++} /* post_init */ ++ ++static int opts(int argc, char *argv[]) ++{ ++ register int c; ++ register char *p; ++ int x; ++ ++ h_param = 0; ++ ++ optind = 0; /* make it repeatable */ ++ need_dest = 1; ++ while ((c = getopt(argc, argv, options)) != EOF) { ++ switch (c) { ++ case 'a': /* all rates old/newer */ ++ all++; ++ break; ++ case 'b': ++ best = strtol(optarg, NIL, 0); ++ break; ++ ++/* case 'c': country */ ++ break; ++ ++ case 'd': ++ for (p = optarg; *p && isspace(*p); p++) ; ++ if (isdigit(*p)) { ++ wanted_day = '\0'; ++ day = atoi(optarg); ++ if ((p = strchr(optarg, '.'))) { ++ month = atoi(p + 1); ++ if ((p = strchr(p + 1, '.'))) { ++ year = atoi(p + 1); ++ if (year < 50) ++ year += 2000; ++ else if (year < 100) ++ year += 1900; ++ } ++ } ++ } /* isdigit */ ++ else { ++ wanted_day = *p; ++ } ++ break; ++ ++ case 'f': ++ if (optarg) { /* from */ ++ for (p = optarg; (isspace(*p) || *p == '0') && *p; p++) ; ++ fromarea = strdup(p); ++ } ++ break; ++ ++ case 'h': ++ hour = atoi(optarg); ++ h_param++; ++ sec = 0; ++ if ((p = strchr(optarg + 1, ':'))) { ++ min = atoi(p + 1); ++ if ((p = strchr(p + 1, ':'))) ++ sec = atoi(p + 1); ++ } ++ else ++ min = 0; ++ break; ++ ++ case 'l': ++ duration = strtol(optarg, NIL, 0); /* l wie lt */ ++ break; ++ ++ case 'o': /* booked only */ ++ booked++; ++ break; ++ ++ case 's': /* service */ ++ service++; ++ break; ++ ++ case 't': ++ x = strtol(optarg, NIL, 0); ++ if (x > 0) ++ takt = x; ++ break; ++ ++ case 'x': /* eXclude Poviders */ ++ { ++ char *arg = strdup(optarg); ++ ++ p = strtok(arg, ","); ++ while (p) { ++ if (*p == 'B') { /* Business Provider */ ++ xbusiness = 1; ++ p = strtok(0, ","); ++ continue; ++ } ++ xproviders = realloc(xproviders, (nx_providers + 1) * sizeof(char *)); ++ ++ xproviders[nx_providers] = strdup(p); ++ p = strtok(0, ","); ++ nx_providers++; ++ } ++ free(arg); ++ } ++ break; ++ ++ case 'p': /* Providers ... */ ++ { ++ char *arg = strdup(optarg); ++ ++ p = strtok(arg, ","); ++ while (p) { ++ if (*p == 'B') { /* Business Provider */ ++ business = 1; ++ p = strtok(0, ","); ++ continue; ++ } ++ providers = realloc(providers, (n_providers + 1) * sizeof(char *)); ++ ++ providers[n_providers] = strdup(p); ++ p = strtok(0, ","); ++ n_providers++; ++ } ++ free(arg); ++ } ++ break; ++ ++ case 'v': ++ verbose++; ++ if (optarg && (x = atoi(optarg))) ++ verbose = x; ++ break; ++/* Uppercase options are for output format */ ++ ++ case 'C': ++ is_client = 1; ++ break; ++ ++ case 'D': ++ is_daemon = 1; ++ need_dest = 0; ++ if (optarg) { ++ x = atoi(optarg); ++ is_daemon = x; ++ if (we_are_daemon && x == 3) { ++ kill(getppid(), SIGTERM); ++ exit(EXIT_SUCCESS); ++ } ++ } ++ break; ++ ++ case 'G': ++ explain = atoi(optarg); ++ break; ++ case 'H': ++ header++; ++ break; ++ case 'L': ++ list++; ++ explain = 9; ++ break; ++ case 'N': ++ explain = 55; ++ break; ++ case 'P': ++ pid_dir = strdup(optarg); ++ break; ++ case 'O': ++ free(socket_file); ++ socket_file = strdup(optarg); ++ break; ++ case 'S': ++ sortby = *optarg; ++ break; ++ case 'T': ++ table++; ++ break; ++/* Fixme: check/warn illegal kombinations of options */ ++ case 'U': ++ usestat++; ++ break; ++ ++ case 'V': ++ print_version(myshortname); ++ exit(0); ++ ++ case 'X': ++ if (explain == 0) { ++ explain++; ++ if (optarg && isdigit(*optarg) && (x = atoi(optarg))) { ++ explain = x; ++ if (x == 50 || x == 51 || x == 52) ++ need_dest = 0; ++ } ++ else if (optarg) { ++ comment = strdup(optarg); ++ explain = 8; ++ need_dest = 0; ++ } ++ break; ++ } ++ /* fallthrough */ ++ case '?': ++ print_msg(PRT_A, usage, myshortname, myshortname, options); ++ break; ++ ++ case 'Z': ++ lcr++; ++ break; ++ } /* switch */ ++ } /* while */ ++ if (is_client && is_daemon != 3 && is_daemon) { ++ is_daemon = 0; ++ print_msg(PRT_V, "Conflicting options, -D disabled\n"); ++ } ++ if (list && table) { ++ table = 0; ++ print_msg(PRT_V, "Conflicting options, -T disabled\n"); ++ } ++ if (usestat && !table) ++ print_msg(PRT_V, "Conflicting options, -U ignored\n"); ++ if ((list || table) && explain >= 10) { ++ list = table = 0; ++ print_msg(PRT_V, "Conflicting options, -T, -L disabled\n"); ++ } ++ if (best < 1) { ++ best = MAXPROVIDER; ++ print_msg(PRT_V, "Illegal options, -b ignored\n"); ++ } ++ if ((explain == 50 || explain == 51 || explain == 52) && header) { ++ print_msg(PRT_V, "Conflicting options, -H ignored\n"); ++ } ++ if (explain >= 10 && service) { ++ print_msg(PRT_V, "Conflicting options, -s ignored\n"); ++ service = 0; ++ } ++ if (argc > optind) ++ return (optind); ++ else ++ return (0); ++} /* opts */ ++ ++ ++static int (*compare_func) (const void *s1, const void *s2); ++static int compare(const void *s1, const void *s2) ++{ ++ return (((SORT *) s1)->rate > ((SORT *) s2)->rate); ++} /* compare */ ++static int compare_vbn(const void *s1, const void *s2) ++{ ++ return (((SORT *) s1)->prefix > ((SORT *) s2)->prefix); ++} ++static int compare_name(const void *s1, const void *s2) ++{ ++ return strcasecmp(((SORT *) s1)->name, ((SORT *) s2)->name); ++} ++ ++static int compare2(const void *s1, const void *s2) ++{ ++ return (((SORT2 *) s1)->weight < ((SORT2 *) s2)->weight); ++} /* compare2 */ ++ ++char *short_explainRate(RATE * Rate) ++{ ++ ++ static char buffer[BUFSIZ]; ++ char *p = buffer; ++ ++ if (service && Rate->dst[1] && *Rate->dst[1]) ++ p += sprintf(p, "%s, ", Rate->dst[1]); ++ ++ if (Rate->Zone && *Rate->Zone) ++ p += sprintf(p, "%s", Rate->Zone); ++ else ++ p += sprintf(p, "Zone %d", Rate->zone); ++ ++ if (!Rate->domestic && Rate->Country && *Rate->Country) ++ p += sprintf(p, " (%s)", Rate->Country); ++ ++ if (Rate->Day && *Rate->Day) ++ p += sprintf(p, ", %s", Rate->Day); ++ ++ if (Rate->Hour && *Rate->Hour) ++ p += sprintf(p, ", %s", Rate->Hour); ++ ++ return buffer; ++} ++ ++static char *printrate(RATE * Rate) ++{ ++ static char message[BUFSIZ]; ++ ++ if (Rate->Basic > 0) ++ sprintf(message, "%s + %s/%.1fs = %s + %s/Min (%s)", ++ printRate(Rate->Basic), ++ printRate(Rate->Price), ++ Rate->Duration, ++ printRate(Rate->Basic), ++ printRate(60 * Rate->Price / Rate->Duration), ++ short_explainRate(Rate)); ++ else ++ sprintf(message, "%s/%.1fs = %s/Min (%s)", ++ printRate(Rate->Price), ++ Rate->Duration, ++ printRate(60 * Rate->Price / Rate->Duration), ++ short_explainRate(Rate)); ++ ++ return (message); ++} /* printrate */ ++ ++ ++static void buildtime() ++{ ++ auto struct tm tm; ++ ++ tm.tm_sec = sec; ++ tm.tm_min = min; ++ tm.tm_hour = hour; ++ tm.tm_mday = day; ++ tm.tm_mon = month - 1; ++ tm.tm_year = year - 1900; /* ja, ja, ich weiá ;-) */ ++ tm.tm_isdst = -1; ++ ++ start = mktime(&tm); ++} /* buildtime */ ++ ++ ++static void splittime() ++{ ++ auto struct tm *tm; ++ ++ tm = localtime(&start); ++ sec = tm->tm_sec; ++ min = tm->tm_min; ++ hour = tm->tm_hour; ++ day = tm->tm_mday; ++ month = tm->tm_mon + 1; ++ year = tm->tm_year + 1900; ++} /* splittime */ ++ ++static char *Provider(int prefix) ++{ ++ register char *p, *p1; ++ register int l; ++ static char s[BUFSIZ]; ++ char prov[TN_MAX_PROVIDER_LEN]; ++ ++ if (prefix == UNKNOWN) ++ return ("?"); ++ ++ p = getProvider(prefix); ++ ++ l = max(WIDTH, strlen(p)) - strlen(p); ++ ++ p1 = prefix2provider_variant(prefix, prov); ++ ++ l += (8 - strlen(p1)); ++ ++ sprintf(s, "%s:%s%*s", p1, p, l, ""); ++ ++ return (s); ++} /* Provider */ ++ ++static char *takt_str(RATE * Rate) ++{ ++ static char s[BUFSIZ]; ++ ++ if (floor(Rate->Rhythm[0]) == Rate->Rhythm[0]) ++ sprintf(s, "%.0f/", Rate->Rhythm[0]); ++ else ++ sprintf(s, "%.3f/", Rate->Rhythm[0]); ++ if (floor(Rate->Rhythm[1]) == Rate->Rhythm[1]) ++ sprintf(s + strlen(s), "%.0f", Rate->Rhythm[1]); ++ else ++ sprintf(s + strlen(s), "%.3f", Rate->Rhythm[1]); ++ return s; ++} ++ ++static inline char *P_EMPTY(char *s) ++{ ++ char *p = s; ++ ++ return p ? p : ""; ++} ++ ++#define DEL ';' ++static int compute(char *num) ++{ ++ register int i, n = 0; ++ register int low = 0, high = MAXPROVIDER - 1; ++ auto RATE Rate; ++ auto char s[BUFSIZ]; ++ struct tm *tm; ++ char prov[TN_MAX_PROVIDER_LEN]; ++ int first = 1; ++ static char BUSINESS[] = "Business"; /* in C:GT:Tag */ ++ ++ if (destnum.nprovider != UNKNOWN) { ++ low = high = destnum.nprovider; ++ } /* if */ ++ compare_func = compare; ++ switch (sortby) { ++ case 'v': ++ compare_func = compare_vbn; ++ break; ++ case 'n': ++ compare_func = compare_name; ++ break; ++ } ++ ++ buildtime(); ++ if (explain == 98 || explain == 97) { /* Minutenpreis fuer ++ diese Woche */ ++ tm = localtime(&start); ++ tm->tm_hour = 0; ++ tm->tm_min = 1; ++ tm->tm_sec = 0; ++ start = mktime(tm); ++ if (explain == 98) { ++ while (tm->tm_wday) { /* find last monday */ ++ start -= (60 * 60 * 24); ++ tm = localtime(&start); ++ } /* while */ ++ start += (60 * 60 * 24); ++ } ++ } ++ if (service) { ++ num = getServiceNum(num); ++ if (!num || !*num) { ++ return 0; ++ } ++ } ++ do { ++ for (i = low; i <= high; i++) { ++ int found, p; ++ char *t; ++ ++ if (ignore[i]) /* Fixme: */ ++ continue; ++ if (booked && !isProviderBooked(i)) ++ continue; ++ if (!all && !isProviderValid(i, start)) ++ continue; ++ t = getProvider(i); ++ if (!t || t[strlen(t) - 1] == '?') /* UNKNOWN Provider */ ++ continue; ++ ++ t = getComment(i, "GT"); /* get Geb. Text comment */ ++ if (business) { /* only business wanted */ ++ if (t == 0) ++ continue; ++ else if (strstr(t, BUSINESS) == 0) ++ continue; ++ } ++ if (xbusiness) { /* no business wanted */ ++ if (t && strstr(t, BUSINESS) > 0) ++ continue; ++ } ++ found = 0; ++ if (n_providers) { ++ for (p = 0; p < n_providers; p++) ++ if (pnum2prefix_variant(providers[p], start) == i) { ++ found = 1; ++ break; ++ } ++ if (!found) ++ continue; ++ } ++ if (nx_providers) { ++ for (p = 0; p < nx_providers; p++) ++ if (pnum2prefix_variant(xproviders[p], start) == i) { ++ found = 1; ++ break; ++ } ++ if (found) ++ continue; ++ } ++ clearRate(&Rate); ++ Rate.src[0] = srcnum.country; ++ Rate.src[1] = srcnum.area; ++ Rate.src[2] = ""; ++ ++ destnum.nprovider = i; ++ Strncpy(destnum.provider, getProvider(i), TN_MAX_PROVIDER_LEN); ++ if (normalizeNumber(num, &destnum, TN_ALL) == UNKNOWN) { ++ continue; ++ } ++ ++ Rate.dst[0] = destnum.country; ++ Rate.dst[1] = destnum.area; ++ Rate.dst[2] = destnum.msn; ++ /* Rate.Service = "Internet by call"; */ ++ ++ Rate.prefix = i; ++ ++ Rate.start = start; ++ Rate.now = start + duration - 1; ++ if (explain == 99) { ++ int j; ++ double oldCharge = -1.0; ++ ++ if (first && header) ++ print_header(); ++ first = 0; ++ printf("@ %s\n", prefix2provider_variant(Rate.prefix, prov)); ++ Rate.now = start + 1; ++ for (j = 1; j < duration; j++) { ++ if (!getRate(&Rate, NULL) && (Rate.Price != 99.99)) { ++ if (Rate.Charge != oldCharge || j == duration - 1) { ++ printf("%d %.4f\n", j, Rate.Charge); ++ oldCharge = Rate.Charge; ++ } ++ } ++ else ++ break; ++ Rate.now++; ++ } ++ if (Rate.Duration <= takt) ++ printf("@----- %s %s\n", currency, Rate.Provider); ++ } ++ if (explain == 98 || explain == 97) { /* Minutenpreis fuer ++ diese Woche/Tag */ ++ int j; ++ ++ if (first && header) ++ print_header(); ++ first = 0; ++ printf("@ %s\n", prefix2provider_variant(Rate.prefix, prov)); ++ for (j = 0; j < (explain == 98 ? 7 * 24 : 24); j++) { ++ if (!getRate(&Rate, NULL) && (Rate.Price != 99.99)) { ++ printf("%d %.4f\n", j, Rate.Charge); ++ } ++ else ++ break; ++ Rate.now += 3600; ++ Rate.start += 3600; ++ } ++ if (Rate.Duration <= takt) ++ printf("@----- %s %s\n", currency, Rate.Provider); ++ } ++ else if (explain == 50 || explain == 51) { ++ int fi = 1; ++ ++ while (getZoneRate(&Rate, explain - 50, fi) == 0) { ++ double cpm = Rate.Duration > 0 ? 60 * Rate.Price / Rate.Duration : 99.99; ++ ++ if (Rate.Price == 0) ++ cpm = Rate.Basic; ++ ++ fi = 0; ++ if (Rate.Price != 99.99) ++ printf("%s%c%s%c%s%c%.2f%c%.2f%c%s\n", prefix2provider(Rate.prefix, prov), DEL, ++ Rate.Provider, DEL, currency, DEL, Rate.Charge, DEL, cpm, DEL, ++ P_EMPTY(Rate.Country)); ++ free(Rate.Country); ++ } ++ } ++ else { ++ /* kludge to suppress "impossible" Rates */ ++ char **message, *msg; ++ if(verbose) ++ message = &msg; ++ else ++ message = NULL; ++ if (!getRate(&Rate, message) && (Rate.Price != 99.99)) { ++ if (!(Rate.Duration <= takt)) ++ continue; ++ sort[n].prefix = Rate.prefix; ++ sort[n].rate = Rate.Charge; ++ sort[n].name = Rate.Provider; ++ switch (explain) { ++ case 1: ++ if (service) ++ sprintf(s, " (%s, %s)", P_EMPTY(Rate.dst[1]), Rate.Zone); ++ else ++ sprintf(s, " (%s)", Rate.Zone); ++ sort[n].explain = strdup(s); ++ break; ++ case 2: ++ sprintf(s, " (%s)", printrate(&Rate)); ++ sort[n].explain = strdup(s); ++ break; ++ case 8: ++ sort[n].explain = strdup(P_EMPTY(getComment(i, comment))); ++ break; ++ case 9: /* used by list */ ++ { ++ double cpm = Rate.Duration > 0 ? 60 * Rate.Price / Rate.Duration : 99.99; ++ ++ if (Rate.Price == 0) ++ cpm = Rate.Basic; ++ ++ sprintf(s, "%s%c" ++ "%s%c%s%c%s%c%s%c" ++ "%s%c" ++ "%.3f%c%.4f%c%.4f%c%.2f%c%.3f%c" ++ "%s%c%.2f", ++ prefix2provider_variant(Rate.prefix, prov), DEL, ++ Rate.Provider, DEL, P_EMPTY(Rate.Zone), DEL, P_EMPTY(Rate.Day), DEL, P_EMPTY(Rate.Hour), DEL, ++ currency, DEL, /* Fixme: global or per ++ Provider?? wg. EURO */ ++ Rate.Charge, DEL, Rate.Basic, DEL, Rate.Price, DEL, Rate.Duration, DEL, cpm, DEL, ++ takt_str(&Rate), DEL, Rate.Sales); ++ sort[n].explain = strdup(s); ++ } ++ break; ++ default: ++ sort[n].explain = strdup(""); ++ break; ++ } ++ ++ n++; ++ } /* if */ ++ else if(verbose && *msg) ++ print_msg(PRT_V, "%s\n", msg); ++ ++ } /* else 99 */ ++ } /* for i */ ++ if (service) ++ num = getServiceNum(0); /* get next service num */ ++ else ++ num = 0; ++ } while (num && *num); ++ if (explain < 10) { ++ qsort((void *) sort, n, sizeof(SORT), compare_func); ++ if (lcr && n) { ++ RATE Cheap; ++ int res = getLeastCost(&Rate, &Cheap, booked, -1); ++ ++ if (res != UNKNOWN) { ++ sort[n].prefix = Cheap.prefix; ++ sort[n].rate = Cheap.Charge; ++ sort[n].name = Cheap.Provider; ++ sprintf(s, "(Cheapest: %s %s %s %s)", Cheap.dst[0], Cheap.dst[1], Cheap.dst[2], P_EMPTY(Cheap.Zone)); ++ sort[n].explain = strdup(s); ++ n++; ++ } /* res */ ++ } /* lcr */ ++ } /* explain */ ++ return (n); ++} /* compute */ ++ ++static void print_header(void) ++{ ++ printf("Eine %d Sekunden lange Verbindung von %s nach %s kostet am %s\n", ++ duration, formatNumber("%F", &srcnum), formatNumber("%F", &destnum), ++ ctime(&start)); ++} ++ ++static void printList(int n) ++{ ++ int i; ++ ++ if (header) ++ print_header(); ++ if (n > best) ++ n = best; ++ ++ for (i = 0; i < n; i++) ++ printf("%s\n", sort[i].explain); ++} ++ ++static void result(int n) ++{ ++ ++ register int i; ++ ++ if (header) ++ print_header(); ++ ++ if (n > best) ++ n = best; ++ for (i = 0; i < n; i++) ++ printf("%s %s %8.3f %s\n", ++ Provider(sort[i].prefix), currency, sort[i].rate, sort[i].explain); ++} /* result */ ++ ++ ++static void purge(int n) ++{ ++ register int i; ++ ++ for (i = 0; i < n; i++) ++ if (sort[i].explain) ++ free(sort[i].explain); ++} /* purge */ ++ ++/* ++ Werktag ++ Wochenende ++ Ortszone ++ Regionalzone ++ Fernzone ++ Handy ++ Internet ++ 0..23 Uhr ++ */ ++ ++#define STARTHOUR 8 ++ ++static void printTable(char *num) ++{ ++ register int n, d, i, h, lasthour; ++ auto struct tm *tm; ++ auto SORT last[_MAXLAST]; ++ auto int used[MAXPROVIDER]; ++ auto int hours[MAXPROVIDER]; ++ auto int weight[MAXPROVIDER]; ++ auto int useds = 0, maxhour; ++ auto SORT2 wsort[MAXPROVIDER]; ++ static int firsttime = 1; ++ int first; ++ int prefix; ++ ++ memset(used, 0, sizeof(used)); ++ memset(hours, 0, sizeof(hours)); ++ memset(weight, 0, sizeof(weight)); ++ ++ for (d = 0; d < 3; d++) { /* Werktag, Samstag, Sonntag */ ++ last[0].prefix = UNKNOWN; ++ lasthour = UNKNOWN; ++ ++ buildtime(); ++ tm = localtime(&start); ++ ++ if (!d) { /* first time */ ++ while (tm->tm_wday != 5) { /* find next Friday */ ++ start += (60 * 60 * 24); ++ tm = localtime(&start); ++ } /* while */ ++ } ++ else /* erst Samstag, dann */ ++ start += (60 * 60 * 24); /* Sonntag */ ++ ++ splittime(); ++ buildtime(); ++ ++ hour = STARTHOUR; ++ min = 0; ++ ++ first = 1; ++ ++ while (1) { ++ destnum.nprovider = UNKNOWN; ++ if (provider2prefix(num, &prefix)) /* set provider if it is in number */ ++ normalizeNumber(num, &destnum, TN_PROVIDER); ++ n = compute(num); ++ ++ if (header && first && d == 0 && firsttime) ++ print_header(); ++ ++ if (header && first) { ++ switch (d) { ++ case 0 : printf("\nWerktag:\n"); break; ++ case 1 : printf("\nSamstag:\n"); break; ++ case 2 : printf("\nSonntag:\n"); break; ++ } /* switch */ ++ ++ first = 0; ++ } /* if */ ++ ++ if (last[0].prefix == UNKNOWN) { ++ for (i = 0; i < min(n, MAXLAST); i++) { ++ if (sort[i].prefix) { ++ last[i].prefix = sort[i].prefix; ++ last[i].rate = sort[i].rate; ++ last[i].explain = strdup(sort[i].explain); ++ } /* if */ ++ } /* for */ ++ } /* if */ ++ ++ if (lasthour == UNKNOWN) ++ lasthour = hour; ++ ++ if (sort[0].prefix != last[0].prefix) { ++ for (i = 0; i < min(n, MAXLAST); i++) { ++ ++ if (!i) ++ printf(" %02d:00 .. %02d:59 %s = %s %s%s\n", ++ lasthour, hour - 1, Provider(last[i].prefix), ++ currency, ++ double2str(last[i].rate, 5, 3, DEB), ++ last[i].explain); ++ else ++ printf(" %s = %s %s%s\n", ++ Provider(last[i].prefix), ++ currency, ++ double2str(last[i].rate, 5, 3, DEB), ++ last[i].explain); ++ } /* for */ ++ ++ used[last[0].prefix]++; ++ ++ if (lasthour >= hour) ++ h = ((24 - lasthour) + hour); ++ else ++ h = hour - lasthour; ++ ++ hours[last[0].prefix] += h; ++ ++ if ((lasthour > 8) && (lasthour < 21)) ++ h *= 2; ++ ++ weight[last[0].prefix] += h * (d ? 1 : 5); ++ ++ for (i = 0; i < min(n, MAXLAST); i++) { ++ last[i].prefix = sort[i].prefix; ++ last[i].rate = sort[i].rate; ++ last[i].explain = strdup(sort[i].explain); ++ } /* for */ ++ ++ lasthour = hour; ++ } /* if */ ++ ++ purge(n); ++ ++ hour++; ++ ++ if (hour == 24) ++ hour = 0; ++ else if (hour == STARTHOUR) ++ break; ++ } /* while */ ++ ++ for (i = 0; i < min(n, MAXLAST); i++) { ++ ++ if (!i) { ++ if ((lasthour == STARTHOUR) && (hour == STARTHOUR)) ++ printf(" immer %s = %s %s%s\n", ++ Provider(last[i].prefix), ++ currency, ++ double2str(last[i].rate, 5, 3, DEB), ++ last[i].explain); ++ else ++ printf(" %02d:00 .. %02d:59 %s = %s %s%s\n", ++ lasthour, hour - 1, Provider(last[i].prefix), ++ currency, ++ double2str(last[i].rate, 5, 3, DEB), ++ last[i].explain); ++ } ++ else ++ printf(" %s = %s %s%s\n", ++ Provider(last[i].prefix), ++ currency, ++ double2str(last[i].rate, 5, 3, DEB), ++ last[i].explain); ++ } /* for */ ++ ++ used[last[0].prefix]++; ++ ++ if (lasthour >= hour) ++ h = ((24 - lasthour) + hour); ++ else ++ h = hour - lasthour; ++ ++ hours[last[0].prefix] += h; ++ ++ if ((lasthour > 8) && (lasthour < 21)) ++ h *= 2; ++ ++ weight[last[0].prefix] += h * (d ? 1 : 5); ++ ++ } /* for */ ++ ++ if (usestat) { ++ printf("\nProvider(s) used:\n"); ++ ++ maxhour = 9999999; ++ useds = 0; ++ ++ for (i = 0; i < MAXPROVIDER; i++) ++ if (used[i]) { ++ printf("%s %d times, %d hours, weight = %d\n", ++ Provider(i), used[i], hours[i], weight[i]); ++ ++ wsort[useds].weight = weight[i]; ++ wsort[useds].index = i; ++ ++ useds++; ++ ++ if (hours[i] < maxhour) ++ maxhour = hours[i]; ++ } /* if */ ++ ++ if ((best < MAXPROVIDER) && (best < useds)) { ++ printf("Retrying with only %d provider(s), eliminating %d provider(s)\n", best, useds - best); ++ ++ qsort((void *) wsort, useds, sizeof(SORT2), compare2); ++ ++ for (i = 0; i < useds; i++) { ++ printf("%s %d times, %d hours, weight = %d\n", ++ Provider(wsort[i].index), used[wsort[i].index], hours[wsort[i].index], weight[wsort[i].index]); ++ ++ if (i == best - 1) ++ printf("\n"); ++ ++ if (i >= best - 1) ++ ignore[wsort[i].index]++; ++ } /* for */ ++ ++ if (firsttime) ++ printTable(num); ++ ++ firsttime = 0; ++ ++ } /* if */ ++ } /* if */ ++} /* printTable */ ++ ++ ++static void clean_up() ++{ ++ if (providers) ++ free(providers); ++ providers = 0; ++ fromarea = 0; ++ table = list = header = explain = 0; ++ usestat = 0; ++ duration = LCR_DURATION; ++ wanted_day = '\0'; ++ takt = 99999; ++ if (comment) ++ free(comment); ++ comment = 0; ++ sortby = 0; ++ need_dest = 1; ++} ++ ++static char * sub_sp(char *p) ++{ ++ char *o = p; ++ int allupper=1; ++ for (; *p; p++) ++ if(!isupper(*p) && *p != '_' && !isdigit(*p)) { /* e.g. _DEMD1 */ ++ allupper = 0; ++ break; ++ } ++ if (!allupper) ++ for (p = o; *p; p++) ++ if(*p == '_') ++ *p = ' '; ++ return o; ++} ++static void doit(int i, int argc, char *argv[]) ++{ ++ int n; ++ int prefix; ++ char *num; ++ ++ post_init(); ++ memset(ignore, 0, sizeof(ignore)); ++ if (!need_dest && i == 0) { ++ i = 0; ++ argc = 1; ++ argv[0] = "2345"; ++ } ++ while (i < argc) { ++ num = sub_sp(argv[i]); ++ if (explain == 55) { ++ if (n_providers) { ++ destnum.nprovider = pnum2prefix_variant(providers[0], 0); ++ Strncpy(destnum.provider, getProvider(destnum.nprovider), TN_MAX_PROVIDER_LEN); ++ normalizeNumber(num, &destnum, TN_NO_PROVIDER); ++ } ++ else ++ normalizeNumber(num, &destnum, TN_ALL); ++ printf("%s => %s \n", num, formatNumber("%l - %p", &destnum)); ++ i++; ++ continue; ++ } ++ else if (explain == 52) { // enum Servce names ++ ++ int first = 1; ++ char *p; ++ ++ do { ++ p = getServiceNames(first); ++ if (p) ++ printf("%s\n", p); ++ first = 0; ++ } ++ while (p); ++ return; ++ } ++ destnum.nprovider = UNKNOWN; ++ if (provider2prefix(num, &prefix)) /* set provider if it is in ++ number */ ++ normalizeNumber(num, &destnum, TN_PROVIDER); ++ if (table) ++ printTable(num); ++ else { ++ n = compute(num); ++ if (list) ++ printList(n); ++ else if (explain < 10) ++ result(n); ++ purge(n); ++ } ++ i++; ++ } /* while */ ++ clean_up(); ++} ++ ++static void err(char *s) ++{ ++ print_msg(PRT_A, "%s - '%s'\n", s, strerror(errno)); ++ if (is_daemon == 2) ++ kill(getppid(), SIGTERM); ++ exit(2); ++} ++ ++static int handle_client(int fd) ++{ ++ char buffer[BUFSIZ]; ++ int argc, n, i; ++ char **argv; ++ char *p; ++ ++ if ((n = read(fd, buffer, BUFSIZ)) < 0) ++ err("Read"); ++ if (n) { ++ argv = calloc(sizeof(char *), 20); ++ ++ buffer[n] = '\0'; ++ if (verbose) ++ fprintf(stderr, "got '%s'\n", buffer); ++ argc = 0; ++ argv[argc++] = strdup(myname); ++ p = strtok(buffer, "\t\n "); ++ while (p) { ++ argv[argc++] = strdup(p); ++ p = strtok(0, "\t\n "); ++ if (argc >= 20) ++ break; ++ } ++ time(&start); /* set time of call */ ++ splittime(); /* date time my be overridden by opts */ ++ we_are_daemon = 1; ++ if ((i = opts(argc, argv)) || need_dest == 0) { ++ if (shutdown(fd, 0) < 0) /* no read any more */ ++ err("shutdown"); ++ if (dup2(fd, STDOUT_FILENO) < 0) /* stdout to sock */ ++ err("dup"); ++ doit(i, argc, argv); ++ fflush(stdout); ++ fclose(stdout); ++ } ++ for (i = 0; i < argc; i++) ++ free(argv[i]); ++ free(argv); ++ } ++ return n == 0 ? -1 : 0; ++} ++ ++void catch_sig(int sig) ++{ ++ print_msg(PRT_A, "Signal %d\n", sig); ++ unlink(socket_file); ++ if (pid_dir) ++ unlink(pid_file); ++ err("Sig"); ++} ++ ++static void del_sock(void) ++{ ++ if (getppid() > 0) { ++ unlink(socket_file); ++ if (pid_dir) ++ unlink(pid_file); ++ } ++} ++ ++static volatile sig_atomic_t stopped = 0; ++static volatile sig_atomic_t reinit = 0; ++ ++static void catch_term(int sig) ++{ ++ stopped = 1; ++} ++ ++static void catch_hup(int sig) ++{ ++ print_msg(PRT_A, "Signal %d restarting %s\n", sig, myname); ++ del_sock(); ++ execvp(myname, hup_argv); ++ print_msg(PRT_A, "- failed\n"); ++} ++ ++static void do_reinit(void) ++{ ++ /* deinit(), init() doesn't */ ++ reinit=0; ++} ++ ++/* thank's to Jochen Erwied for this: */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) \ ++ ++#endif ++ ++static void setup_daemon() ++{ ++ int sock; ++ struct sockaddr_un sa; ++ struct sockaddr_in client; ++ fd_set active_fd_set, read_fd_set; ++ char *sock_name = socket_file; ++ socklen_t size; ++ struct stat stat_buf; ++ int i; ++ pid_t pid; ++ char pidname[] = "isdnrate.pid"; ++ FILE *fp; ++ ++ if (verbose) ++ fprintf(stderr, "Setup sockets\n"); ++ signal(SIGTERM, catch_term); ++ signal(SIGINT, catch_sig); ++ signal(SIGHUP, catch_hup); ++ ++ if (is_daemon == 2) { /* go background */ ++ ++ fprintf(stderr, "Going background\n"); ++ verbose = 0; ++ pid = fork(); ++ if (pid < 0) ++ err("Going bg failed"); ++ else if (pid > 0) { ++ exit(EXIT_SUCCESS); ++ } ++ } ++ if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) ++ err("Can't open socket"); ++ sa.sun_family = AF_UNIX; ++ strcpy(sa.sun_path, sock_name); ++ size = offsetof(struct sockaddr_un, sun_path) + strlen(sa.sun_path) + 1; ++ ++ if (bind(sock, (struct sockaddr *) &sa, size) < 0) ++ err("Can't bind sock"); ++ ++ stat(sock_name, &stat_buf); ++ chmod(sock_name, stat_buf.st_mode | S_IWOTH | S_IWGRP); ++/* should better have perm wwwrun.nogroup */ ++ ++ if (listen(sock, SOMAXCONN) < 0) ++ err("Can't listen"); ++ if (pid_dir) { ++ pid_file = malloc(strlen(pid_dir) + strlen(pidname) + 2); ++ strcpy(pid_file, pid_dir); ++ if (pid_file[strlen(pid_file) - 1] != '/') ++ strcat(pid_file, "/"); ++ strcat(pid_file, pidname); ++ if ((fp = fopen(pid_file, "w")) == 0) ++ fprintf(stderr, "Can't write %s\n", pid_file); ++ else { ++ fprintf(fp, "%d\n", getpid()); ++ fclose(fp); ++ } ++ } ++ atexit(del_sock); ++ FD_ZERO(&active_fd_set); ++ FD_SET(sock, &active_fd_set); ++ while (!stopped) { ++ if (reinit) ++ do_reinit(); ++ read_fd_set = active_fd_set; ++ if (TEMP_FAILURE_RETRY(select(FD_SETSIZE, &read_fd_set, 0, 0, 0)) < 0) ++ err("select"); ++ for (i = 0; i < FD_SETSIZE; i++) ++ if (FD_ISSET(i, &read_fd_set)) { ++ if (i == sock) { /* request on orig */ ++ int new; ++ ++ size = sizeof(client); ++ if ((new = accept(sock, (struct sockaddr *) &client, &size)) < 0) ++ err("accept"); ++ if (verbose) ++ fprintf(stderr, "Accepted %d\n", new); ++ FD_SET(new, &active_fd_set); ++ } ++ else { /* already connected */ ++ pid_t pid; ++ int status; ++ ++ if (verbose) ++ fprintf(stderr, "Handle client %d\n", i); ++ pid = fork(); ++ if (pid == 0) { ++ handle_client(i); ++ _exit(EXIT_SUCCESS); ++ } ++ else if (pid < 0) ++ err("fork"); ++ else { ++ if (waitpid(pid, &status, 0) != pid) ++ err("waitpid"); ++ close(i); ++ FD_CLR(i, &active_fd_set); ++ } ++ } /* if i */ ++ } /* if ISSET */ ++ } /* while */ ++ del_sock(); ++ exit(EXIT_SUCCESS); ++} ++ ++static int connect_2_daemon(int argc, char *argv[]) ++{ ++ int sock; ++ struct sockaddr_un sa; ++ char *sock_name = socket_file; ++ size_t size; ++ int i, c, len; ++ char *p, *q, buffer[BUFSIZ]; ++ ++ if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) ++ err("Can't open socket"); ++ sa.sun_family = AF_UNIX; ++ strcpy(sa.sun_path, sock_name); ++ size = offsetof(struct sockaddr_un, sun_path) + strlen(sa.sun_path) + 1; ++ ++ if (connect(sock, (struct sockaddr *) &sa, size) < 0) ++ err("Can't connect sock"); ++ p = buffer; ++ optind = 0; /* reinit */ ++ len = 0; ++ while ((c = getopt(argc, argv, options)) != EOF && len < BUFSIZ - 10) { ++ switch (c) { ++ case '?': ++ case 'C': ++ break; ++ case 'D': ++ if (optarg && atoi(optarg) == 3) ; /* goon, kill a running ++ daemon */ ++ else ++ break; ++ default: ++ *p++ = '-'; ++ *p++ = c; ++ len += 3; ++ if (optarg) ++ for (q = optarg; *q && len < BUFSIZ - 10; len++) ++ *p++ = *q++; ++ *p++ = ' '; ++ break; ++ } ++ } ++ for (i = optind; i < argc; i++) { ++ for (q = argv[i]; *q && len < BUFSIZ - 10; len++) ++ *p++ = *q++; ++ *p++ = ' '; ++ len++; ++ } ++ *--p = '\x0'; ++ i = write(sock, buffer, strlen(buffer) + 1); ++ if (i < 0) ++ err("Write sock"); ++ while ((i = read(sock, buffer, BUFSIZ)) > 0) ++ write(1, buffer, i); ++ close(sock); ++ return EXIT_SUCCESS; ++} ++ ++ ++int main(int argc, char *argv[], char *envp[]) ++{ ++ register int i; ++ sigset_t unblock_set; ++ ++ myname = argv[0]; ++ myshortname = basename(myname); ++ ++ time(&start); ++ splittime(); ++ socket_file = strdup(SOCKNAME); ++ /* borrowed from isdnlog.c, thanks */ ++ hup_argv = argv; ++ sigemptyset(&unblock_set); ++ sigaddset(&unblock_set, SIGHUP); ++ sigprocmask(SIG_UNBLOCK, &unblock_set, NULL); ++ ++ if ((i = opts(argc, argv)) || need_dest == 0) { ++ if (is_client) ++ exit(connect_2_daemon(argc, argv)); ++ else ++ init(); ++ if (is_daemon) { ++ clean_up(); ++ setup_daemon(); ++ } ++ else ++ doit(i, argc, argv); ++ } ++ else { ++ print_msg(PRT_A, usage, myshortname, myshortname, options); ++ print_msg(PRT_A, "\n"); ++ print_msg(PRT_A, "\t-a \tall=show old and newer rates (default actual only)\n", MAXPROVIDER); ++ print_msg(PRT_A, "\t-b best\tshow only the first <best> provider(s) (default %d)\n", MAXPROVIDER); ++ print_msg(PRT_A, "\t-d d[.m[.y]] | {W|N|E}\tstart date of call (default now)\n"); ++ print_msg(PRT_A, "\t-f areacode\tyou are calling from <areacode>\n"); ++ print_msg(PRT_A, "\t-h h[:m[:s]]\tstart time of call (default now)\n"); ++ print_msg(PRT_A, "\t-l duration\tduration of call in seconds (default %d seconds)\n", LCR_DURATION); ++ print_msg(PRT_A, "\t-o \t show only booked providers\n"); ++ print_msg(PRT_A, "\t-p prov|B[,prov...]\t show only these providers\n"); ++ print_msg(PRT_A, "\t-s \t consider 'Destination' as a service name\n"); ++ print_msg(PRT_A, "\t-t takt\t\tshow providers if chargeduration<=takt\n"); ++ print_msg(PRT_A, "\t-v [level]\tverbose\n"); ++ print_msg(PRT_A, "\t-x prov|B[,prov...]\t exclude these providers\n"); ++ ++ print_msg(PRT_A, "\tOutput and run options\n"); ++ print_msg(PRT_A, "\t-C\trun as client, connecting to a running daemon\n"); ++ print_msg(PRT_A, "\t-CD3\tkill a running daemon\n"); ++ print_msg(PRT_A, "\t-D\trun as daemon\n"); ++ print_msg(PRT_A, "\t-D2\trun as daemon & go background\n"); ++ print_msg(PRT_A, "\t-G which\tshow raw data\n"); ++ print_msg(PRT_A, "\t-H\tshow a header\n"); ++ print_msg(PRT_A, "\t-L\tshow a detailed list\n"); ++ print_msg(PRT_A, "\t-O sOcket-path\twrite socket to this file (def:tmp/isdnrate)\n"); ++ print_msg(PRT_A, "\t-P pid-dir\twrite own PID to pid-dir/isdnrate.pid\n"); ++ print_msg(PRT_A, "\t-N\tparse the given telefon numbers\n"); ++ print_msg(PRT_A, "\t-S[v|n]\tsort by v=VBN, n=Name, default=Charge\n"); ++ print_msg(PRT_A, "\t-T\tshow a table of day/night week/weekend\n"); ++ print_msg(PRT_A, "\t-U\tshow usage stats for table\n"); ++ print_msg(PRT_A, "\t-V\tshow version info\n"); ++ print_msg(PRT_A, "\t-X\texplain each rate\n"); ++ print_msg(PRT_A, "\t-X2\texplain more\n"); ++ print_msg(PRT_A, "\t-X comment\tprint <comment> from C:tag\n"); ++ print_msg(PRT_A, "\t-Z show entry from getLeastCost\n"); ++ print_msg(PRT_A, "\n\te.g.\t%s -b5 -f30 -TH -t1 Zaire\n", myshortname); ++ } /* else */ ++/* deinit(); Fixme: this SIGSEGVs in exitHoliday */ ++ return (0); ++} /* isdnrate */ +diff -Naur isdn4k-utils-orig//isdnlog/tools/rate.c isdn4k-utils/isdnlog/tools/rate.c +--- isdn4k-utils-orig//isdnlog/tools/rate.c 2002-07-06 09:22:33.000000000 +1000 ++++ isdn4k-utils/isdnlog/tools/rate.c 2010-12-04 20:44:03.786672226 +1000 +@@ -1773,6 +1773,7 @@ + number=realloc(number, numbers*sizeof(int)); + number[numbers-1]=i; + skip: ++ ; + } + + while (isblank(*s)) s++; +@@ -2344,6 +2345,7 @@ + } + return UNKNOWN; + done: ++ ; + } + } + } +diff -Naur isdn4k-utils-orig//lib/libtools.c isdn4k-utils/lib/libtools.c +--- isdn4k-utils-orig//lib/libtools.c 1999-11-04 02:13:36.000000000 +1000 ++++ isdn4k-utils/lib/libtools.c 2010-12-04 20:44:03.786672226 +1000 +@@ -711,6 +711,7 @@ + case 'r': _mode |= R_OK; + break; + default : ++ ; + } + } + +diff -Naur isdn4k-utils-orig//Makefile isdn4k-utils/Makefile +--- isdn4k-utils-orig//Makefile 2002-07-20 05:03:49.000000000 +1000 ++++ isdn4k-utils/Makefile 2010-12-04 20:43:57.890005560 +1000 +@@ -132,12 +132,6 @@ + + install: rootperm + set -e; for i in `echo $(SUBDIRS)`; do $(MAKE) -C $$i install; done +- @if [ -c $(DESTDIR)/dev/isdnctrl0 ] && ls -l $(DESTDIR)/dev/isdnctrl0 | egrep "[[:space:]]45,[[:space:]]+64[[:space:]]" > /dev/null; \ +- then \ +- /bin/echo -e '(some) ISDN devices already exist, not creating them.\nUse scripts/makedev.sh manually if necessary.'; \ +- else \ +- sh scripts/makedev.sh $(DESTDIR) ; \ +- fi + + uninstall: rootperm + set -e; for i in `echo $(SUBDIRS)`; do $(MAKE) -C $$i uninstall; done diff --git a/testing/less/PKGBUILD b/testing/less/PKGBUILD new file mode 100644 index 000000000..15b855a33 --- /dev/null +++ b/testing/less/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 141923 2011-11-03 07:35:28Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=less +pkgver=444 +pkgrel=2 +pkgdesc="A terminal based program for viewing text files" +license=('GPL3') +arch=('i686' 'x86_64') +url="http://www.greenwoodsoftware.com/less" +groups=('base') +depends=('ncurses' 'pcre') +source=(http://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz{,.sig}) +md5sums=('56f9f76ffe13f70155f47f6b3c87d421' + 'd5fafbd94a9cfdeaad0c82143a033fe5') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr --sysconfdir=/etc --with-regex=pcre + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make prefix="${pkgdir}"/usr install + install -dm755 "${pkgdir}"/bin + mv "${pkgdir}"/usr/bin/${pkgname} "${pkgdir}"/bin +} diff --git a/testing/libcap/PKGBUILD b/testing/libcap/PKGBUILD new file mode 100644 index 000000000..fd51da547 --- /dev/null +++ b/testing/libcap/PKGBUILD @@ -0,0 +1,27 @@ +#$Id: PKGBUILD 141933 2011-11-03 09:57:57Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Hugo Doria <hugo@archlinux.org> + +pkgname=libcap +pkgver=2.22 +pkgrel=2 +pkgdesc="POSIX 1003.1e capabilities" +arch=('i686' 'x86_64') +url="http://sites.google.com/site/fullycapable/" +license=('GPL2') +depends=('glibc' 'attr') +source=(http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/${pkgname}-${pkgver}.tar.gz{,.asc}) +md5sums=('b4896816b626bea445f0b3849bdd4077' + '9d0983e25e5a251d098507f9561d2b27') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make prefix=/usr DESTDIR=${pkgdir} LIBDIR=${pkgdir}/lib RAISE_SETFCAP=no install + rm ${pkgdir}/lib/*.a + chmod 755 ${pkgdir}/lib/libcap.so.${pkgver} +} diff --git a/testing/libpcap/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch b/testing/libpcap/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch new file mode 100644 index 000000000..1fce472b7 --- /dev/null +++ b/testing/libpcap/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch @@ -0,0 +1,344 @@ +From bc937fc4ff6715e9bee939041fa02be0755d7d58 Mon Sep 17 00:00:00 2001 +From: Guy Harris <guy@alum.mit.edu> +Date: Sat, 13 Nov 2010 17:42:47 -0800 +Subject: [PATCH] Add support for libnl 2.x, adapted from a newer version of the iw command. + +--- + config.h.in | 3 ++ + configure | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- + configure.in | 40 ++++++++++++++++++---- + pcap-linux.c | 58 ++++++++++++++++++++++++------- + 4 files changed, 184 insertions(+), 25 deletions(-) + +diff --git a/config.h.in b/config.h.in +index f988e8f..3b9ce3c 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -52,6 +52,9 @@ + /* if libnl exists */ + #undef HAVE_LIBNL + ++/* if libnl exists and is version 2.x */ ++#undef HAVE_LIBNL_2_x ++ + /* Define to 1 if you have the <limits.h> header file. */ + #undef HAVE_LIMITS_H + +diff --git a/configure b/configure +index c99c1ab..7338dee 100755 +--- a/configure ++++ b/configure +@@ -7340,7 +7340,93 @@ fi + + + if test x$with_libnl != xno ; then +- { echo "$as_me:$LINENO: checking for nl_handle_alloc in -lnl" >&5 ++ # ++ # Try libnl 2.x first. ++ # ++ { echo "$as_me:$LINENO: checking for nl_socket_alloc in -lnl" >&5 ++echo $ECHO_N "checking for nl_socket_alloc in -lnl... $ECHO_C" >&6; } ++if test "${ac_cv_lib_nl_nl_socket_alloc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_check_lib_save_LIBS=$LIBS ++LIBS="-lnl $LIBS" ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++/* Override any GCC internal prototype to avoid an error. ++ Use char because int might match the return type of a GCC ++ builtin and then its argument prototype would still apply. */ ++#ifdef __cplusplus ++extern "C" ++#endif ++char nl_socket_alloc (); ++int ++main () ++{ ++return nl_socket_alloc (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (ac_try="$ac_link" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_link") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest$ac_exeext && ++ $as_test_x conftest$ac_exeext; then ++ ac_cv_lib_nl_nl_socket_alloc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_lib_nl_nl_socket_alloc=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ ++ conftest$ac_exeext conftest.$ac_ext ++LIBS=$ac_check_lib_save_LIBS ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nl_nl_socket_alloc" >&5 ++echo "${ECHO_T}$ac_cv_lib_nl_nl_socket_alloc" >&6; } ++if test $ac_cv_lib_nl_nl_socket_alloc = yes; then ++ ++ # ++ # Yes, we have libnl 2.x. ++ # ++ LIBS="-lnl-genl -lnl $LIBS" ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_LIBNL 1 ++_ACEOF ++ ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_LIBNL_2_x 1 ++_ACEOF ++ ++ ++else ++ ++ # ++ # No, we don't; do we have libnl 1.x? ++ # ++ { echo "$as_me:$LINENO: checking for nl_handle_alloc in -lnl" >&5 + echo $ECHO_N "checking for nl_handle_alloc in -lnl... $ECHO_C" >&6; } + if test "${ac_cv_lib_nl_nl_handle_alloc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +@@ -7402,18 +7488,30 @@ fi + { echo "$as_me:$LINENO: result: $ac_cv_lib_nl_nl_handle_alloc" >&5 + echo "${ECHO_T}$ac_cv_lib_nl_nl_handle_alloc" >&6; } + if test $ac_cv_lib_nl_nl_handle_alloc = yes; then +- LIBS="-lnl $LIBS" ++ ++ # ++ # Yes. ++ # ++ LIBS="-lnl $LIBS" + + cat >>confdefs.h <<\_ACEOF + #define HAVE_LIBNL 1 + _ACEOF + ++ + else +- if test x$with_libnl = xyes ; then +- { { echo "$as_me:$LINENO: error: libnl support requested but libnl not found" >&5 ++ ++ # ++ # No, we don't have libnl at all. ++ # ++ if test x$with_libnl = xyes ; then ++ { { echo "$as_me:$LINENO: error: libnl support requested but libnl not found" >&5 + echo "$as_me: error: libnl support requested but libnl not found" >&2;} + { (exit 1); exit 1; }; } +- fi ++ fi ++ ++fi ++ + + fi + +diff --git a/configure.in b/configure.in +index 16eadf9..ef801ed 100644 +--- a/configure.in ++++ b/configure.in +@@ -445,13 +445,39 @@ linux) + with_libnl=$withval,,) + + if test x$with_libnl != xno ; then +- AC_CHECK_LIB(nl, nl_handle_alloc, +- LIBS="-lnl $LIBS" +- AC_DEFINE(HAVE_LIBNL,1,[if libnl exists]), +- if test x$with_libnl = xyes ; then +- AC_MSG_ERROR([libnl support requested but libnl not found]) +- fi +- ) ++ # ++ # Try libnl 2.x first. ++ # ++ AC_CHECK_LIB(nl, nl_socket_alloc, ++ [ ++ # ++ # Yes, we have libnl 2.x. ++ # ++ LIBS="-lnl-genl -lnl $LIBS" ++ AC_DEFINE(HAVE_LIBNL,1,[if libnl exists]) ++ AC_DEFINE(HAVE_LIBNL_2_x,1,[if libnl exists and is version 2.x]) ++ ], ++ [ ++ # ++ # No, we don't; do we have libnl 1.x? ++ # ++ AC_CHECK_LIB(nl, nl_handle_alloc, ++ [ ++ # ++ # Yes. ++ # ++ LIBS="-lnl $LIBS" ++ AC_DEFINE(HAVE_LIBNL,1,[if libnl exists]) ++ ], ++ [ ++ # ++ # No, we don't have libnl at all. ++ # ++ if test x$with_libnl = xyes ; then ++ AC_MSG_ERROR([libnl support requested but libnl not found]) ++ fi ++ ]) ++ ]) + fi + + AC_LBL_TPACKET_STATS +diff --git a/pcap-linux.c b/pcap-linux.c +index f8b3f10..deabbc4 100644 +--- a/pcap-linux.c ++++ b/pcap-linux.c +@@ -527,8 +527,37 @@ get_mac80211_phydev(pcap_t *handle, const char *device, char *phydev_path, + return 1; + } + ++#ifndef HAVE_LIBNL_2_x ++/* libnl 2.x compatibility code */ ++ ++#define nl_sock nl_handle ++ ++static inline struct nl_handle * ++nl_socket_alloc(void) ++{ ++ return nl_handle_alloc(); ++} ++ ++static inline void ++nl_socket_free(struct nl_handle *h) ++{ ++ nl_handle_destroy(h); ++} ++ ++static inline int ++__genl_ctrl_alloc_cache(struct nl_handle *h, struct nl_cache **cache) ++{ ++ struct nl_cache *tmp = genl_ctrl_alloc_cache(h); ++ if (!tmp) ++ return -ENOMEM; ++ *cache = tmp; ++ return 0; ++} ++#define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache ++#endif /* !HAVE_LIBNL_2_x */ ++ + struct nl80211_state { +- struct nl_handle *nl_handle; ++ struct nl_sock *nl_sock; + struct nl_cache *nl_cache; + struct genl_family *nl80211; + }; +@@ -536,23 +565,26 @@ struct nl80211_state { + static int + nl80211_init(pcap_t *handle, struct nl80211_state *state, const char *device) + { +- state->nl_handle = nl_handle_alloc(); +- if (!state->nl_handle) { ++ int err; ++ ++ state->nl_sock = nl_socket_alloc(); ++ if (!state->nl_sock) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: failed to allocate netlink handle", device); + return PCAP_ERROR; + } + +- if (genl_connect(state->nl_handle)) { ++ if (genl_connect(state->nl_sock)) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: failed to connect to generic netlink", device); + goto out_handle_destroy; + } + +- state->nl_cache = genl_ctrl_alloc_cache(state->nl_handle); +- if (!state->nl_cache) { ++ err = genl_ctrl_alloc_cache(state->nl_sock, &state->nl_cache); ++ if (err < 0) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, +- "%s: failed to allocate generic netlink cache", device); ++ "%s: failed to allocate generic netlink cache: %s", ++ device, strerror(-err)); + goto out_handle_destroy; + } + +@@ -568,7 +600,7 @@ nl80211_init(pcap_t *handle, struct nl80211_state *state, const char *device) + out_cache_free: + nl_cache_free(state->nl_cache); + out_handle_destroy: +- nl_handle_destroy(state->nl_handle); ++ nl_socket_free(state->nl_sock); + return PCAP_ERROR; + } + +@@ -577,7 +609,7 @@ nl80211_cleanup(struct nl80211_state *state) + { + genl_family_put(state->nl80211); + nl_cache_free(state->nl_cache); +- nl_handle_destroy(state->nl_handle); ++ nl_socket_free(state->nl_sock); + } + + static int +@@ -605,7 +637,7 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + NLA_PUT_STRING(msg, NL80211_ATTR_IFNAME, mondevice); + NLA_PUT_U32(msg, NL80211_ATTR_IFTYPE, NL80211_IFTYPE_MONITOR); + +- err = nl_send_auto_complete(state->nl_handle, msg); ++ err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { + if (err == -ENFILE) { + /* +@@ -626,7 +658,7 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + return PCAP_ERROR; + } + } +- err = nl_wait_for_ack(state->nl_handle); ++ err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { + if (err == -ENFILE) { + /* +@@ -685,7 +717,7 @@ del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + 0, NL80211_CMD_DEL_INTERFACE, 0); + NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, ifindex); + +- err = nl_send_auto_complete(state->nl_handle, msg); ++ err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { + if (err == -ENFILE) { + /* +@@ -706,7 +738,7 @@ del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + return PCAP_ERROR; + } + } +- err = nl_wait_for_ack(state->nl_handle); ++ err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { + if (err == -ENFILE) { + /* +-- +1.7.3.5 + diff --git a/testing/libpcap/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch b/testing/libpcap/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch new file mode 100644 index 000000000..219494200 --- /dev/null +++ b/testing/libpcap/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch @@ -0,0 +1,159 @@ +From 9545ff8e2670db02652f9cf781aafdd6bac58ac4 Mon Sep 17 00:00:00 2001 +From: Guy Harris <guy@alum.mit.edu> +Date: Sun, 14 Nov 2010 13:48:19 -0800 +Subject: [PATCH] Libnl 2.x returns its own error codes, not errnos; handle that. + +While we're at it, don't special-case ENFILE for "delete monitor device" +operations; that's not like "add monitor device", where we want to drive +on if a device with that name already exists. +--- + pcap-linux.c | 76 ++++++++++++++++++++++++++-------------------------------- + 1 files changed, 34 insertions(+), 42 deletions(-) + +diff --git a/pcap-linux.c b/pcap-linux.c +index deabbc4..5d291e9 100644 +--- a/pcap-linux.c ++++ b/pcap-linux.c +@@ -527,7 +527,9 @@ get_mac80211_phydev(pcap_t *handle, const char *device, char *phydev_path, + return 1; + } + +-#ifndef HAVE_LIBNL_2_x ++#ifdef HAVE_LIBNL_2_x ++#define get_nl_errmsg nl_geterror ++#else + /* libnl 2.x compatibility code */ + + #define nl_sock nl_handle +@@ -544,6 +546,8 @@ nl_socket_free(struct nl_handle *h) + nl_handle_destroy(h); + } + ++#define get_nl_errmsg strerror ++ + static inline int + __genl_ctrl_alloc_cache(struct nl_handle *h, struct nl_cache **cache) + { +@@ -584,7 +588,7 @@ nl80211_init(pcap_t *handle, struct nl80211_state *state, const char *device) + if (err < 0) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: failed to allocate generic netlink cache: %s", +- device, strerror(-err)); ++ device, get_nl_errmsg(-err)); + goto out_handle_destroy; + } + +@@ -639,10 +643,17 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + + err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { ++#ifdef HAVE_LIBNL_2_x ++ if (err == -NLE_FAILURE) { ++#else + if (err == -ENFILE) { ++#endif + /* + * Device not available; our caller should just +- * keep trying. ++ * keep trying. (libnl 2.x maps ENFILE to ++ * NLE_FAILURE; it can also map other errors ++ * to that, but there's not much we can do ++ * about that.) + */ + nlmsg_free(msg); + return 0; +@@ -653,17 +664,24 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + */ + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_send_auto_complete failed adding %s interface: %s", +- device, mondevice, strerror(-err)); ++ device, mondevice, get_nl_errmsg(-err)); + nlmsg_free(msg); + return PCAP_ERROR; + } + } + err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { ++#ifdef HAVE_LIBNL_2_x ++ if (err == -NLE_FAILURE) { ++#else + if (err == -ENFILE) { ++#endif + /* + * Device not available; our caller should just +- * keep trying. ++ * keep trying. (libnl 2.x maps ENFILE to ++ * NLE_FAILURE; it can also map other errors ++ * to that, but there's not much we can do ++ * about that.) + */ + nlmsg_free(msg); + return 0; +@@ -674,7 +692,7 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + */ + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_wait_for_ack failed adding %s interface: %s", +- device, mondevice, strerror(-err)); ++ device, mondevice, get_nl_errmsg(-err)); + nlmsg_free(msg); + return PCAP_ERROR; + } +@@ -719,45 +737,19 @@ del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, + + err = nl_send_auto_complete(state->nl_sock, msg); + if (err < 0) { +- if (err == -ENFILE) { +- /* +- * Device not available; our caller should just +- * keep trying. +- */ +- nlmsg_free(msg); +- return 0; +- } else { +- /* +- * Real failure, not just "that device is not +- * available. +- */ +- snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, +- "%s: nl_send_auto_complete failed deleting %s interface: %s", +- device, mondevice, strerror(-err)); +- nlmsg_free(msg); +- return PCAP_ERROR; +- } ++ snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, ++ "%s: nl_send_auto_complete failed deleting %s interface: %s", ++ device, mondevice, get_nl_errmsg(-err)); ++ nlmsg_free(msg); ++ return PCAP_ERROR; + } + err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { +- if (err == -ENFILE) { +- /* +- * Device not available; our caller should just +- * keep trying. +- */ +- nlmsg_free(msg); +- return 0; +- } else { +- /* +- * Real failure, not just "that device is not +- * available. +- */ +- snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, +- "%s: nl_wait_for_ack failed adding %s interface: %s", +- device, mondevice, strerror(-err)); +- nlmsg_free(msg); +- return PCAP_ERROR; +- } ++ snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, ++ "%s: nl_wait_for_ack failed adding %s interface: %s", ++ device, mondevice, get_nl_errmsg(-err)); ++ nlmsg_free(msg); ++ return PCAP_ERROR; + } + + /* +-- +1.7.3.5 + diff --git a/testing/libpcap/PKGBUILD b/testing/libpcap/PKGBUILD new file mode 100644 index 000000000..ee36e3354 --- /dev/null +++ b/testing/libpcap/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 141970 2011-11-03 18:57:47Z thomas $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgname=libpcap +pkgver=1.1.1 +pkgrel=4 +pkgdesc="A system-independent interface for user-level packet capture" +arch=('i686' 'x86_64') +url="http://www.tcpdump.org/" +license=('BSD') +depends=('glibc' 'libnl' 'sh') +makedepends=('flex') +source=(http://www.tcpdump.org/release/libpcap-${pkgver}.tar.gz) + #Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch + #Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch) +sha256sums=('508cca15547e55d1318498b838456a21770c450beb2dc7d7d4a96d90816e5a85') + #'194aa268a3397be3ba406b7102dbdbc14fc16c6e4b535d0a0fab6b04d414563a' + #'f1f31c3e2b064f4c9d0e643e8ed1874a65ec17f770362f8ffa3b3f9ee9dc71bb') +build() { + cd ${srcdir}/${pkgname}-${pkgver} + #patch -p1 -i "${srcdir}"/Add-support-for-libnl-2.x-adapted-from-a-newer-versi.patch + #patch -p1 -i "${srcdir}"/Libnl-2.x-returns-its-own-error-codes-not-errnos-han.patch + ./configure --prefix=/usr --enable-ipv6 + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + install -d -m755 ${pkgdir}/usr/bin + make DESTDIR=${pkgdir} install + # remove static library + rm -rf ${pkgdir}/usr/lib/libpcap.a + + # backwards compatibility, programs often look for net/bpf.h + mkdir -p ${pkgdir}/usr/include/net + cd ${pkgdir}/usr/include/net + ln -s ../pcap-bpf.h bpf.h + + #install the license + install -D -m644 ${srcdir}/$pkgname-$pkgver/LICENSE ${pkgdir}/usr/share/licenses/$pkgname/LICENSE +} diff --git a/testing/librpcsecgss/PKGBUILD b/testing/librpcsecgss/PKGBUILD new file mode 100644 index 000000000..b492e3218 --- /dev/null +++ b/testing/librpcsecgss/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 141978 2011-11-03 20:10:28Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Andrew Krawchyk <krawch_a@denison.edu>, Marco Lima <cipparello gmail com> + +pkgname=librpcsecgss +pkgver=0.19 +pkgrel=7 +pkgdesc="Library for RPCSECGSS support" +arch=('i686' 'x86_64') +url="http://www.citi.umich.edu/projects/nfsv4/linux/" +license=('GPL') +depends=('glibc' 'krb5' 'libgssglue') +makedepends=('pkg-config' 'autoconf') +options=('!libtool') +source=("http://www.citi.umich.edu/projects/nfsv4/linux/${pkgname}/${pkgname}-${pkgver}.tar.gz") +md5sums=('b45ed565bdc3099023aa35830ec92997') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="$pkgdir/" install +} diff --git a/testing/librpcsecgss/librpcsecgss-0.18-heimdal.patch b/testing/librpcsecgss/librpcsecgss-0.18-heimdal.patch new file mode 100644 index 000000000..deb039123 --- /dev/null +++ b/testing/librpcsecgss/librpcsecgss-0.18-heimdal.patch @@ -0,0 +1,33 @@ +diff -NaurwB librpcsecgss-0.18.orig/configure.in librpcsecgss-0.18/configure.in +--- librpcsecgss-0.18.orig/configure.in 2008-04-09 00:05:40.000000000 +0200 ++++ librpcsecgss-0.18/configure.in 2008-06-12 19:05:51.000000000 +0200 +@@ -12,10 +12,15 @@ + AC_PROG_RANLIB + + # Checks for libraries. +-PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1], [], ++PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1], ++ [echo GSSGLUE found; GSSAPI_IMPLEMENTATION=libgssglue], ++ [PKG_CHECK_MODULES([GSSGLUE], [heimdal-gssapi], ++ [echo HEIMDAL found; GSSAPI_IMPLEMENTATION=heimdal-gssapi], + [AC_MSG_ERROR([Unable to locate information required to use libgssglue. + If you have pkgconfig installed, you might try setting environment +- variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])]) ++ variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])])]) ++ ++AC_SUBST([GSSAPI_IMPLEMENTATION]) + + # Checks for header files. + AC_HEADER_STDC +diff -NaurwB librpcsecgss-0.18.orig/librpcsecgss.pc.in librpcsecgss-0.18/librpcsecgss.pc.in +--- librpcsecgss-0.18.orig/librpcsecgss.pc.in 2007-09-06 17:39:04.000000000 +0200 ++++ librpcsecgss-0.18/librpcsecgss.pc.in 2008-06-12 19:06:40.000000000 +0200 +@@ -5,7 +5,7 @@ + + Name: librpcsecgss + Description: Library that implements rpcsec_gss interface. +-Requires: libgssglue ++Requires: @GSSAPI_IMPLEMENTATION@ + Version: @PACKAGE_VERSION@ + Libs: -L@libdir@ -lrpcsecgss + Cflags: -I@includedir@/rpcsecgss diff --git a/testing/libusb-compat/PKGBUILD b/testing/libusb-compat/PKGBUILD new file mode 100644 index 000000000..1e8f2a3d9 --- /dev/null +++ b/testing/libusb-compat/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 142008 2011-11-03 22:50:48Z andrea $ +# Maintainer: +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: arjan <arjan@archlinux.org> + +pkgname=libusb-compat +pkgver=0.1.3 +pkgrel=2 +pkgdesc="Library to enable user space application programs to communicate with USB devices" +arch=('i686' 'x86_64') +depends=('libusb' 'sh') +url="http://libusb.sourceforge.net/" +license=('LGPL') +source=("http://downloads.sourceforge.net/${pkgname%-*}/${pkgname}-${pkgver%.*}/$pkgname-$pkgver/${pkgname}-${pkgver}.tar.bz2") +options=('!libtool') +md5sums=('570ac2ea085b80d1f74ddc7c6a93c0eb') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR=${pkgdir} install +} diff --git a/testing/libusb/PKGBUILD b/testing/libusb/PKGBUILD new file mode 100644 index 000000000..f99afb302 --- /dev/null +++ b/testing/libusb/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 141981 2011-11-03 20:12:06Z tpowa $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +pkgname=libusb +pkgver=1.0.8 +pkgrel=2 +depends=('glibc') +pkgdesc="Library to enable user space application programs to communicate with USB devices." +arch=(i686 x86_64) +url="http://libusb.sourceforge.net/" +license=('LGPL') +source=(http://downloads.sourceforge.net/libusb/libusb-${pkgver}.tar.bz2) +options=(!libtool) +replaces=(libusb1) +md5sums=('37d34e6eaa69a4b645a19ff4ca63ceef') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package () { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/linux-atm/PKGBUILD b/testing/linux-atm/PKGBUILD new file mode 100644 index 000000000..ad76db0b5 --- /dev/null +++ b/testing/linux-atm/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 141992 2011-11-03 20:43:33Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Surain Mallawa Arachchi <mas@crc32.net> + +pkgname=linux-atm +pkgver=2.5.2 +pkgrel=1 +pkgdesc="Drivers and tools to support ATM networking under Linux." +arch=('i686' 'x86_64') +depends=('glibc') +url="http://linux-atm.sourceforge.net/" +license=(GPL) +source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz + man-pages.patch) +options=(!libtool !makeflags) +md5sums=('d49499368c3cf15f73a05d9bce8824a8' + '181390736336cdb615ae32f1ae5acfa6') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i ../man-pages.patch + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/linux-atm/man-pages.patch b/testing/linux-atm/man-pages.patch new file mode 100644 index 000000000..c504cfe87 --- /dev/null +++ b/testing/linux-atm/man-pages.patch @@ -0,0 +1,45 @@ +diff -up linux-atm-2.5.1/src/led/zeppelin.8.fixman linux-atm-2.5.1/src/led/zeppelin.8 +--- linux-atm-2.5.1/src/led/zeppelin.8.fixman 2003-05-02 19:35:04.000000000 +0200 ++++ linux-atm-2.5.1/src/led/zeppelin.8 2010-10-13 12:58:18.000000000 +0200 +@@ -99,7 +99,7 @@ Ring and ATM parts of the ELAN, so using + recommended. Token Ring support has received less testing than its + Ethernet counterpart. + .SH FILES +-.IP \fI/var/run/lec[interface number].pid\fP ++\fI/var/run/lec[interface number].pid\fP + The file containing the process id of zeppelin. + .SH BUGS + John Bonham died 1980 and Led Zeppelin broke. +diff -up linux-atm-2.5.1/src/mpoad/mpcd.8.fixman linux-atm-2.5.1/src/mpoad/mpcd.8 +--- linux-atm-2.5.1/src/mpoad/mpcd.8.fixman 2001-10-10 00:33:07.000000000 +0200 ++++ linux-atm-2.5.1/src/mpoad/mpcd.8 2010-10-13 12:59:14.000000000 +0200 +@@ -28,7 +28,7 @@ mpcd \- ATM MPOA (Multi\-Protocol Over A + .B ]] + .SH DESCRIPTION + MPOA client +-.SM(MPC) is responsible for creating and receiving ++.SM (MPC) is responsible for creating and receiving + internetwork layer shortcuts. Using these shortcuts MPCs forward + unicast internetwork layer packets effectively over ATM without need + for routing protocols. +@@ -43,7 +43,7 @@ accepts shortcuts and packets arriving o + shortcuts is done with the help of + .SM MPOA + server +-.SM(MPS). ++.SM (MPS). + .PP + Just as the Linux + .SM LAN +diff -up linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman linux-atm-2.5.1/src/sigd/atmsigd.conf.4 +--- linux-atm-2.5.1/src/sigd/atmsigd.conf.4.fixman 2001-10-10 00:33:07.000000000 +0200 ++++ linux-atm-2.5.1/src/sigd/atmsigd.conf.4 2010-10-13 12:58:49.000000000 +0200 +@@ -125,7 +125,7 @@ a comment. The `#' character cannot be e + .P + If an option is specified in \fBatmsigd.conf\fP and on the command + line, the command line has priority. +-.COMPATIBILITY ++.SH COMPATIBILITY + Certain options used by past versions of \fBatmsigd\fP but no longer documented + on the man page are still recognized and supported, but they also yield a + warning message. Future versions of \fBatmsigd\fP will not recognize those diff --git a/testing/m4/PKGBUILD b/testing/m4/PKGBUILD new file mode 100644 index 000000000..917fbdad3 --- /dev/null +++ b/testing/m4/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 141937 2011-11-03 10:57:23Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Andreas Radke <andyrtr@archlinux.org> + +pkgname=m4 +pkgver=1.4.16 +pkgrel=2 +pkgdesc="The GNU macro processor" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/m4" +license=('GPL3') +groups=('base-devel') +depends=('glibc' 'bash') +install=m4.install +source=(ftp://ftp.gnu.org/gnu/m4/$pkgname-$pkgver.tar.xz{,.sig} + m4-1.4.16-readlink-einval.patch) +md5sums=('7548ec061a1ba993790159764f522d0e' + 'eebe5c94e74e7551e2e30c5844f1b653' + 'cea138fa9b568d06e46269611cec8dd0') + +build() { + cd ${srcdir}/$pkgname-$pkgver + patch -Np1 -i $srcdir/m4-1.4.16-readlink-einval.patch + ./configure --prefix=/usr + make +} + +check() { + cd ${srcdir}/$pkgname-$pkgver + make check +} + +package() { + cd ${srcdir}/$pkgname-$pkgver + make prefix=${pkgdir}/usr install +} diff --git a/testing/m4/m4-1.4.16-readlink-einval.patch b/testing/m4/m4-1.4.16-readlink-einval.patch new file mode 100644 index 000000000..6a987510d --- /dev/null +++ b/testing/m4/m4-1.4.16-readlink-einval.patch @@ -0,0 +1,12 @@ +diff -up m4-1.4.16/tests/test-readlink.h.orig m4-1.4.16/tests/test-readlink.h +--- m4-1.4.16/tests/test-readlink.h.orig 2011-09-19 12:44:58.745546826 +0200 ++++ m4-1.4.16/tests/test-readlink.h 2011-09-19 12:46:00.079548410 +0200 +@@ -38,7 +38,7 @@ test_readlink (ssize_t (*func) (char con + ASSERT (errno == ENOENT); + errno = 0; + ASSERT (func ("", buf, sizeof buf) == -1); +- ASSERT (errno == ENOENT); ++ ASSERT (errno == ENOENT || errno == EINVAL); + errno = 0; + ASSERT (func (".", buf, sizeof buf) == -1); + ASSERT (errno == EINVAL); diff --git a/testing/m4/m4.install b/testing/m4/m4.install new file mode 100644 index 000000000..be4138170 --- /dev/null +++ b/testing/m4/m4.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(m4.info m4.info-1 m4.info-2) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/testing/mlocate/PKGBUILD b/testing/mlocate/PKGBUILD new file mode 100644 index 000000000..aa7c002f3 --- /dev/null +++ b/testing/mlocate/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 141941 2011-11-03 11:28:39Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: lydgate + +pkgname=mlocate +pkgver=0.24 +pkgrel=2 +pkgdesc="Faster merging drop-in for slocate" +arch=('i686' 'x86_64') +url="http://carolina.mff.cuni.cz/~trmac/blog/mlocate" +license=('GPL') +conflicts=('slocate') +provides=('slocate') +replaces=('slocate') +depends=('glibc' 'coreutils' 'sh') +backup=('etc/updatedb.conf' + 'etc/cron.daily/updatedb') +install=mlocate.install +source=(https://fedorahosted.org/releases/m/l/mlocate/mlocate-$pkgver.tar.xz + updatedb.conf + updatedb.cron.daily) +md5sums=('a9c221e5bc489a2ed710c943990137bd' + 'c374ff223f2e07b5e602ba22359f2335' + 'cde5da81bebad2de556ef2e43d895e13') + +build() { + cd $srcdir/$pkgname-$pkgver + + sed -i '/^groupname /s/mlocate/locate/' Makefile.in + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib + make + +} + +check() { + cd $srcdir/$pkgname-$pkgver + make check +} + +package() { + cd $srcdir/$pkgname-$pkgver + + # Set up a default updatedb.conf and a daily cronjob + install -Dm644 ${srcdir}/updatedb.conf $pkgdir/etc/updatedb.conf + install -Dm744 ${srcdir}/updatedb.cron.daily $pkgdir/etc/cron.daily/updatedb + + # Install Mlocate + make DESTDIR=$pkgdir install + + ln -sv locate $pkgdir/usr/bin/slocate + chgrp -v 21 $pkgdir/usr/bin/locate + chmod -v 2755 $pkgdir/usr/bin/locate + + install -dm755 $pkgdir/var/lib + install -d -m750 -g21 $pkgdir/var/lib/locate +} diff --git a/testing/mlocate/mlocate.install b/testing/mlocate/mlocate.install new file mode 100644 index 000000000..c7b7f9cf7 --- /dev/null +++ b/testing/mlocate/mlocate.install @@ -0,0 +1,18 @@ +post_install() { + post_upgrade "$1" "$1" + echo "mlocate command is technically locate, but slocate is symlinked and still works." + echo "You should run updatedb as root." +} + +post_upgrade() { + # This can be removed after {m,x}locate have both been updated + getent group slocate &>/dev/null && usr/sbin/groupdel slocate &>/dev/null + getent group mlocate &>/dev/null && usr/sbin/groupdel mlocate &>/dev/null + + getent group locate &>/dev/null || usr/sbin/groupadd -g 21 locate &>/dev/null + chown -R root:locate var/lib/mlocate +} + +pre_remove() { + getent group locate &>/dev/null && usr/sbin/groupdel locate &>/dev/null +} diff --git a/testing/mlocate/updatedb.conf b/testing/mlocate/updatedb.conf new file mode 100644 index 000000000..722b04205 --- /dev/null +++ b/testing/mlocate/updatedb.conf @@ -0,0 +1,5 @@ +# directories to exclude from the slocate database: +PRUNEPATHS="/media /mnt /tmp /var/tmp /var/cache /var/lock /var/run /var/spool" + +# filesystems to exclude from the slocate database: +PRUNEFS="afs auto autofs binfmt_misc cifs coda configfs cramfs debugfs devpts devtmpfs ftpfs iso9660 mqueue ncpfs nfs nfs4 proc ramfs securityfs shfs smbfs sshfs sysfs tmpfs udf usbfs vboxsf" diff --git a/testing/mlocate/updatedb.cron.daily b/testing/mlocate/updatedb.cron.daily new file mode 100755 index 000000000..cac9bb063 --- /dev/null +++ b/testing/mlocate/updatedb.cron.daily @@ -0,0 +1,29 @@ +#!/bin/sh + +# nicenesses range from -20 (most favorable scheduling) to 19 (least favorable) +NICE=19 + +# 0 for none, 1 for real time, 2 for best-effort, 3 for idle +IONICE_CLASS=2 + +# 0-7 (for IONICE_CLASS 1 and 2 only), 0=highest, 7=lowest +IONICE_PRIORITY=7 + +UPDATEDB="/usr/bin/updatedb" + +if [ -x /usr/bin/nice ]; then + UPDATEDB="/usr/bin/nice -n ${NICE:-19} ${UPDATEDB}" +fi + +if [ -x /usr/bin/ionice ]; then + UPDATEDB="/usr/bin/ionice -c ${IONICE_CLASS:-2} -n ${IONICE_PRIORITY:-7} ${UPDATEDB}" +fi + +# Update the "locate" database +if [ -x /usr/bin/updatedb ]; then + if [ -f /etc/updatedb.conf ]; then + ${UPDATEDB} + else + ${UPDATEDB} -f proc + fi +fi diff --git a/testing/ncurses/PKGBUILD b/testing/ncurses/PKGBUILD new file mode 100644 index 000000000..1c2df2889 --- /dev/null +++ b/testing/ncurses/PKGBUILD @@ -0,0 +1,74 @@ +# $Id: PKGBUILD 141943 2011-11-03 11:43:21Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=ncurses +pkgver=5.9 +pkgrel=2 +pkgdesc="System V Release 4.0 curses emulation library" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/ncurses/" +license=('MIT') +depends=('glibc') +source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}) +md5sums=('8cb9c412e5f2d96bc6f459aa8c6282a1' + '014ffdbbfec6d41a9a89d6cbe6434638') + +build() { + cd ${srcdir}/ + mkdir ncurses{,w}-build + + cd ${srcdir}/ncursesw-build + ../${pkgname}-${pkgver}/configure --prefix=/usr --mandir=/usr/share/man \ + --with-shared --with-normal --without-debug --without-ada \ + --with-install-prefix=${pkgdir} --enable-widec + # add --enable-ext-colors with next soname bump + make + + # libncurses.so.5 for external binary support + cd ${srcdir}/ncurses-build + [ $CARCH = "x86_64" ] && CONFIGFLAG="--with-chtype=long" + ../${pkgname}-${pkgver}/configure --prefix=/usr \ + --with-shared --with-normal --without-debug --without-ada \ + --with-install-prefix=${pkgdir} $CONFIGFLAG + make +} + +package() { + cd ${srcdir}/ncursesw-build + make install + + # move libraries needed for boot to /lib (we call tput in initscripts) + install -dm755 ${pkgdir}/lib + mv ${pkgdir}/usr/lib/libncursesw.so.5* ${pkgdir}/lib + ln -sf ../../lib/libncursesw.so.5 ${pkgdir}/usr/lib/libncursesw.so + + # Fool packages looking to link to non-wide-character ncurses libraries + for lib in curses ncurses form panel menu; do + rm -f ${pkgdir}/usr/lib/lib${lib}.so + echo "INPUT(-l${lib}w)" >${pkgdir}/usr/lib/lib${lib}.so + ln -sf lib${lib}w.a ${pkgdir}/usr/lib/lib${lib}.a + done + ln -sf libncurses++w.a ${pkgdir}/usr/lib/libncurses++.a + + # install tput to /bin + install -dm755 ${pkgdir}/bin/ + mv ${pkgdir}/usr/bin/tput ${pkgdir}/bin/tput + + # Some packages look for -lcurses during build + rm -f ${pkgdir}/usr/lib/libcursesw.so + echo "INPUT(-lncursesw)" >${pkgdir}/usr/lib/libcursesw.so + ln -sf libncurses.so ${pkgdir}/usr/lib/libcurses.so + ln -sf libncursesw.a ${pkgdir}/usr/lib/libcursesw.a + ln -sf libncurses.a ${pkgdir}/usr/lib/libcurses.a + + # non-widec compatibility library + cd ${srcdir}/ncurses-build + install -Dm755 lib/libncurses.so.${pkgver} ${pkgdir}/usr/lib/libncurses.so.${pkgver} + ln -sf libncurses.so.${pkgver} ${pkgdir}/usr/lib/libncurses.so.5 + + # install license, rip it from the readme + cd ${srcdir}/${pkgname}-${pkgver} + install -dm755 ${pkgdir}/usr/share/licenses/$pkgname + grep -B 100 '$Id' README > ${pkgdir}/usr/share/licenses/${pkgname}/license.txt +} diff --git a/testing/net-tools/PKGBUILD b/testing/net-tools/PKGBUILD new file mode 100644 index 000000000..abd59addb --- /dev/null +++ b/testing/net-tools/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 142002 2011-11-03 21:20:18Z ronald $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=net-tools +pkgver=1.60.20110819cvs +pkgrel=2 +pkgdesc="Configuration tools for Linux networking" +arch=(i686 x86_64) +license=('GPL2') +url="http://www.tazenda.demon.co.uk/phil/net-tools" +depends=('glibc') + +# http://www.tazenda.demon.co.uk/phil/$pkgname/$pkgname-$pkgver.tar.bz2 +# use cvs checkout instead +source=(ftp://ftp.archlinux.org/other/net-tools/net-tools-1.60.20110819cvs.tar.bz2 + net-tools-1.60-miiioctl.patch + net-tools-1.60-nameif_strncpy.patch) +options=(!makeflags) +install=net-tools.install +sha1sums=('02946449191ff279f9f0f7fd7bc65ae21059a2bf' + '654a96bc6575efb4a2e04b49de45d448d240eb6e' + '7888000d8fe867e58b5b00fe2bcf6c3041d716b4') + +build() { + cd $srcdir/$pkgname-$pkgver +# patch -Np1 -i ../net-tools-1.60-miiioctl.patch +# patch -Np1 -i ${srcdir}/net-tools-1.60-nameif_strncpy.patch + yes "" | make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make BASEDIR=$pkgdir update + + # the following is provided by yp-tools + rm "${pkgdir}"/bin/{nis,yp}domainname + rm "${pkgdir}"/usr/share/man/man1/{nis,yp}domainname.1 + + # hostname is provided by inetutils +# rm "${pkgdir}"/bin/{hostname,dnsdomainname,domainname} +# rm -rf "${pkgdir}"/usr/share/man/man1 +} diff --git a/testing/net-tools/gcc340.patch b/testing/net-tools/gcc340.patch new file mode 100644 index 000000000..8089bf217 --- /dev/null +++ b/testing/net-tools/gcc340.patch @@ -0,0 +1,46 @@ +diff -Naur net-tools-1.60-orig/hostname.c net-tools-1.60/hostname.c +--- net-tools-1.60-orig/hostname.c 2001-04-08 10:04:23.000000000 -0700 ++++ net-tools-1.60/hostname.c 2004-05-07 17:22:14.000000000 -0700 +@@ -78,6 +78,7 @@ + fprintf(stderr, _("%s: name too long\n"), program_name); + break; + default: ++ ; + } + exit(1); + } +@@ -98,6 +99,7 @@ + fprintf(stderr, _("%s: name too long\n"), program_name); + break; + default: ++ ; + } + exit(1); + }; +@@ -117,6 +119,7 @@ + fprintf(stderr, _("%s: name too long\n"), program_name); + break; + default: ++ ; + } + exit(1); + }; +@@ -174,6 +177,7 @@ + printf("%s\n", hp->h_name); + break; + default: ++ ; + } + } + +diff -Naur net-tools-1.60-orig/lib/inet_sr.c net-tools-1.60/lib/inet_sr.c +--- net-tools-1.60-orig/lib/inet_sr.c 2000-02-20 13:46:45.000000000 -0800 ++++ net-tools-1.60/lib/inet_sr.c 2004-05-07 17:20:14.000000000 -0700 +@@ -105,6 +105,7 @@ + case 2: + isnet = 0; break; + default: ++ ; + } + + /* Fill in the other fields. */ diff --git a/testing/net-tools/net-tools-1.60-2.6-compilefix.patch b/testing/net-tools/net-tools-1.60-2.6-compilefix.patch new file mode 100644 index 000000000..92ce90128 --- /dev/null +++ b/testing/net-tools/net-tools-1.60-2.6-compilefix.patch @@ -0,0 +1,23 @@ +diff -ruN net-tools-1.60.orig/lib/x25_sr.c net-tools-1.60/lib/x25_sr.c +--- net-tools-1.60.orig/lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200 ++++ net-tools-1.60/lib/x25_sr.c 2003-10-18 20:33:31.927574928 +0200 +@@ -22,6 +22,7 @@ + #include <sys/socket.h> + #include <sys/ioctl.h> + #include <linux/x25.h> ++#include <linux/version.h> + #include <ctype.h> + #include <errno.h> + #include <netdb.h> +@@ -77,7 +78,11 @@ + rt.sigdigits=sigdigits; + + /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0) + memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address)); ++#else ++ memcpy(&rt.address, &sx25.sx25_addr, sizeof(struct x25_address)); ++#endif + + while (*args) { + if (!strcmp(*args,"device") || !strcmp(*args,"dev")) { diff --git a/testing/net-tools/net-tools-1.60-miiioctl.patch b/testing/net-tools/net-tools-1.60-miiioctl.patch new file mode 100644 index 000000000..6c7f0693d --- /dev/null +++ b/testing/net-tools/net-tools-1.60-miiioctl.patch @@ -0,0 +1,17 @@ +--- net-tools-1.60.20110819cvs/include/mii.h 2011-08-19 10:14:00.743873299 +0200 ++++ net-tools-1.60.20110819cvs/include/mii.h.new 2011-08-19 10:28:26.500524160 +0200 +@@ -14,11 +14,9 @@ + /* network interface ioctl's for MII commands */ + #ifndef SIOCGMIIPHY + #warning "SIOCGMIIPHY is not defined by your kernel source" +-#define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */ +-#define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */ +-#define SIOCSMIIREG (SIOCDEVPRIVATE+2) /* Write any PHY register */ +-#define SIOCGPARAMS (SIOCDEVPRIVATE+3) /* Read operational parameters */ +-#define SIOCSPARAMS (SIOCDEVPRIVATE+4) /* Set operational parameters */ ++#define SIOCGMIIPHY 0x8947 /* Read from current PHY */ ++#define SIOCGMIIREG 0x8948 /* Read any PHY register */ ++#define SIOCSMIIREG 0x8949 /* Write any PHY register */ + #endif + + #include <linux/types.h> diff --git a/testing/net-tools/net-tools-1.60-nameif.patch b/testing/net-tools/net-tools-1.60-nameif.patch new file mode 100644 index 000000000..54def00c2 --- /dev/null +++ b/testing/net-tools/net-tools-1.60-nameif.patch @@ -0,0 +1,58 @@ +--- net-tools-1.60/nameif.c.nameif 2000-10-18 19:26:29.000000000 +0200 ++++ net-tools-1.60/nameif.c 2003-03-19 11:02:01.000000000 +0100 +@@ -117,7 +117,8 @@ + } + + struct change { +- struct change *next,**pprev; ++ struct change *next; ++ int found; + char ifname[IFNAMSIZ+1]; + unsigned char mac[6]; + }; +@@ -139,10 +140,7 @@ + ch->ifname, pos); + if (parsemac(p,ch->mac) < 0) + complain(_("cannot parse MAC `%s' at %s"), p, pos); +- if (clist) +- clist->pprev = &ch->next; + ch->next = clist; +- ch->pprev = &clist; + clist = ch; + return 0; + } +@@ -200,7 +198,7 @@ + + void usage(void) + { +- fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}")); ++ fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n")); + exit(1); + } + +@@ -277,21 +275,21 @@ + ch = lookupmac(mac); + if (!ch) + continue; +- +- *ch->pprev = ch->next; ++ ++ ch->found = 1; + if (strcmp(p, ch->ifname)) { + if (setname(p, ch->ifname) < 0) + complain(_("cannot change name of %s to %s: %s"), + p, ch->ifname, strerror(errno)); + } +- free(ch); + } + fclose(ifh); + + while (clist) { + struct change *ch = clist; + clist = clist->next; +- warning(_("interface '%s' not found"), ch->ifname); ++ if (!ch->found) ++ warning(_("interface '%s' not found"), ch->ifname); + free(ch); + } + diff --git a/testing/net-tools/net-tools-1.60-nameif_strncpy.patch b/testing/net-tools/net-tools-1.60-nameif_strncpy.patch new file mode 100644 index 000000000..7568e21a2 --- /dev/null +++ b/testing/net-tools/net-tools-1.60-nameif_strncpy.patch @@ -0,0 +1,13 @@ +--- net-tools-1.60/nameif.c.ncpy 2006-10-03 14:24:21.000000000 +0200 ++++ net-tools-1.60/nameif.c 2006-10-03 14:22:43.000000000 +0200 +@@ -100,8 +100,8 @@ + struct ifreq ifr; + opensock(); + memset(&ifr,0,sizeof(struct ifreq)); +- strcpy(ifr.ifr_name, oldname); +- strcpy(ifr.ifr_newname, newname); ++ strncpy(ifr.ifr_name, oldname, IF_NAMESIZE); ++ strncpy(ifr.ifr_newname, newname, IF_NAMESIZE); + return ioctl(ctl_sk, SIOCSIFNAME, &ifr); + } + diff --git a/testing/net-tools/net-tools.install b/testing/net-tools/net-tools.install new file mode 100644 index 000000000..9eee9e51b --- /dev/null +++ b/testing/net-tools/net-tools.install @@ -0,0 +1,12 @@ +post_upgrade() { + if [ "$(vercmp $2 1.60-16)" -lt 0 ]; then + echo "hostname and {,yp,nis}domainname has moved:" + echo "----------" + echo "hostname is now in coreutils" + echo "domainname is now in yp-tools" + echo "their functionality might have changed slightly" + echo "" + echo "dnsdomainname remains in net-tools" + echo "----------" + fi +} diff --git a/testing/net-tools/net-tools.patch b/testing/net-tools/net-tools.patch new file mode 100644 index 000000000..8af2d2159 --- /dev/null +++ b/testing/net-tools/net-tools.patch @@ -0,0 +1,30 @@ +diff -Naur net-tools-1.60-orig/mii-tool.c net-tools-1.60/mii-tool.c +--- net-tools-1.60-orig/mii-tool.c 2000-05-21 07:31:17.000000000 -0700 ++++ net-tools-1.60/mii-tool.c 2004-05-31 12:35:21.000000000 -0700 +@@ -379,16 +379,16 @@ + /*--------------------------------------------------------------------*/ + + const char *usage = +-"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...] +- -V, --version display version information +- -v, --verbose more verbose output +- -R, --reset reset MII to poweron state +- -r, --restart restart autonegotiation +- -w, --watch monitor for link status changes +- -l, --log with -w, write events to syslog +- -A, --advertise=media,... advertise only specified media +- -F, --force=media force specified media technology +-media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD, ++"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n\ ++ -V, --version display version information\n\ ++ -v, --verbose more verbose output\n\ ++ -R, --reset reset MII to poweron state\n\ ++ -r, --restart restart autonegotiation\n\ ++ -w, --watch monitor for link status changes\n\ ++ -l, --log with -w, write events to syslog\n\ ++ -A, --advertise=media,... advertise only specified media\n\ ++ -F, --force=media force specified media technology\n\ ++media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,\n\ + (to advertise both HD and FD) 100baseTx, 10baseT\n"; + + int main(int argc, char **argv) diff --git a/testing/openldap/PKGBUILD b/testing/openldap/PKGBUILD new file mode 100644 index 000000000..93bc18d02 --- /dev/null +++ b/testing/openldap/PKGBUILD @@ -0,0 +1,96 @@ +# $Id: PKGBUILD 141927 2011-11-03 08:03:29Z eric $ +# Maintainer: + +pkgbase=openldap +pkgname=('libldap' 'openldap') +pkgver=2.4.26 +pkgrel=5 +arch=('i686' 'x86_64') +url="http://www.openldap.org/" +license=('custom') +makedepends=('libfetch' 'libltdl' 'libsasl') +source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz + slapd slapd.default ntlm.patch) +md5sums=('f36f3086031dd56ae94f722ffae8df5e' + '40fdbdd6c343019cbadf4eb26c6189f2' + '6be69f6b7e522cb64cce8703da81ed32' + '4258ddbef923d1f29f2843bc050f8c56') + +build() { + cd "${srcdir}"/${pkgbase}-${pkgver} + patch -Np1 -i "${srcdir}"/ntlm.patch + sed -i 's|-m 644 $(LIBRARY)|-m 755 $(LIBRARY)|' libraries/{liblber,libldap,libldap_r}/Makefile.in + sed -i 's|#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi"|#define LDAPI_SOCK LDAP_DIRSEP "run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi"|' include/ldap_defaults.h + sed -i 's|%LOCALSTATEDIR%/run|/run/openldap|' servers/slapd/slapd.conf + sed -i 's|-$(MKDIR) $(DESTDIR)$(localstatedir)/run|-$(MKDIR) $(DESTDIR)/run/openldap|' servers/slapd/Makefile.in + + LDFLAGS="$LDFLAGS -L\"${pkgdir}\"/libldap/usr/lib" + ./configure --prefix=/usr --mandir=/usr/share/man --libexecdir=/usr/lib \ + --sysconfdir=/etc --localstatedir=/var/lib/openldap \ + --enable-ipv6 --enable-syslog --enable-local \ + --enable-bdb --enable-hdb \ + --enable-crypt --enable-dynamic \ + --with-threads --disable-wrappers \ + --enable-spasswd --with-cyrus-sasl \ + --enable-overlays=mod --enable-modules=yes + make +} + +check() { + cd "${srcdir}"/${pkgbase}-${pkgver} + make test +} + +package_libldap() { + pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries" + depends=('libsasl' 'libfetch') + backup=('etc/openldap/ldap.conf') + options=('!libtool') + + cd "${srcdir}"/${pkgbase}-${pkgver} + for dir in include libraries doc/man/man3 ; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd + done + install -Dm644 doc/man/man5/ldap.conf.5.tmp "${pkgdir}"/usr/share/man/man5/ldap.conf.5 + +# get rid of duplicate default conf files + rm "${pkgdir}"/etc/openldap/*.default + + ln -sf liblber.so "${pkgdir}"/usr/lib/liblber.so.2 + ln -sf libldap.so "${pkgdir}"/usr/lib/libldap.so.2 + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +package_openldap() { + pkgdesc="Lightweight Directory Access Protocol (LDAP) client and server" + depends=("libldap>=${pkgver}" 'libltdl') + backup=('etc/openldap/slapd.conf' 'etc/conf.d/slapd') + options=('!libtool' 'emptydirs') + install=openldap.install + + cd "${srcdir}"/${pkgbase}-${pkgver} + for dir in clients servers doc/man/man{1,5,8} ; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd + done + rm "${pkgdir}"/usr/share/man/man5/ldap.conf.5 + rm -r "${pkgdir}"/run + +# get rid of duplicate default conf files + rm "${pkgdir}"/etc/openldap/*.default + + ln -s ../lib/slapd "${pkgdir}"/usr/sbin/slapd + + chown root:439 "${pkgdir}"/etc/openldap/{slapd.conf,DB_CONFIG.example} + chmod 640 "${pkgdir}"/etc/openldap/{slapd.conf,DB_CONFIG.example} + + install -dm700 -o 439 -g 439 "${pkgdir}"/var/lib/openldap + install -dm700 -o 439 -g 439 "${pkgdir}"/etc/openldap/slapd.d + install -Dm755 "${srcdir}"/slapd "${pkgdir}"/etc/rc.d/slapd + install -Dm644 "${srcdir}"/slapd.default "${pkgdir}"/etc/conf.d/slapd + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/testing/openldap/ntlm.patch b/testing/openldap/ntlm.patch new file mode 100644 index 000000000..6804b610d --- /dev/null +++ b/testing/openldap/ntlm.patch @@ -0,0 +1,230 @@ +Patch from evolution-exchange (2.10.3). The ldap_ntlm_bind function is +actually called by evolution-data-server, checked at version 1.12.2. +Without this patch, the Exchange addressbook integration uses simple binds +with cleartext passwords. + +Russ checked with openldap-software for upstream's opinion on this patch +on 2007-12-21. Upstream had never received it as a patch submission and +given that it's apparently only for older Exchange servers that can't do +SASL and DIGEST-MD5, it's not very appealing. + +Bug#457374 filed against evolution-data-server asking if this support is +still required on 2007-12-21. + +Index: trunk/include/ldap.h +=================================================================== +--- trunk.orig/include/ldap.h ++++ trunk/include/ldap.h +@@ -2461,5 +2461,25 @@ + LDAPControl **ctrls, + LDAPDerefRes **drp )); + ++/* ++ * hacks for NTLM ++ */ ++#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU) ++#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU) ++LDAP_F( int ) ++ldap_ntlm_bind LDAP_P(( ++ LDAP *ld, ++ LDAP_CONST char *dn, ++ ber_tag_t tag, ++ struct berval *cred, ++ LDAPControl **sctrls, ++ LDAPControl **cctrls, ++ int *msgidp )); ++LDAP_F( int ) ++ldap_parse_ntlm_bind_result LDAP_P(( ++ LDAP *ld, ++ LDAPMessage *res, ++ struct berval *challenge)); ++ + LDAP_END_DECL + #endif /* _LDAP_H */ +Index: trunk/libraries/libldap/ntlm.c +=================================================================== +--- /dev/null ++++ trunk/libraries/libldap/ntlm.c +@@ -0,0 +1,138 @@ ++/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */ ++/* ++ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved. ++ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file ++ */ ++ ++/* Mostly copied from sasl.c */ ++ ++#include "portable.h" ++ ++#include <stdlib.h> ++#include <stdio.h> ++ ++#include <ac/socket.h> ++#include <ac/string.h> ++#include <ac/time.h> ++#include <ac/errno.h> ++ ++#include "ldap-int.h" ++ ++int ++ldap_ntlm_bind( ++ LDAP *ld, ++ LDAP_CONST char *dn, ++ ber_tag_t tag, ++ struct berval *cred, ++ LDAPControl **sctrls, ++ LDAPControl **cctrls, ++ int *msgidp ) ++{ ++ BerElement *ber; ++ int rc; ++ ber_int_t id; ++ ++ Debug( LDAP_DEBUG_TRACE, "ldap_ntlm_bind\n", 0, 0, 0 ); ++ ++ assert( ld != NULL ); ++ assert( LDAP_VALID( ld ) ); ++ assert( msgidp != NULL ); ++ ++ if( msgidp == NULL ) { ++ ld->ld_errno = LDAP_PARAM_ERROR; ++ return ld->ld_errno; ++ } ++ ++ /* create a message to send */ ++ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) { ++ ld->ld_errno = LDAP_NO_MEMORY; ++ return ld->ld_errno; ++ } ++ ++ assert( LBER_VALID( ber ) ); ++ ++ LDAP_NEXT_MSGID( ld, id ); ++ rc = ber_printf( ber, "{it{istON}" /*}*/, ++ id, LDAP_REQ_BIND, ++ ld->ld_version, dn, tag, ++ cred ); ++ ++ /* Put Server Controls */ ++ if( ldap_int_put_controls( ld, sctrls, ber ) != LDAP_SUCCESS ) { ++ ber_free( ber, 1 ); ++ return ld->ld_errno; ++ } ++ ++ if ( ber_printf( ber, /*{*/ "N}" ) == -1 ) { ++ ld->ld_errno = LDAP_ENCODING_ERROR; ++ ber_free( ber, 1 ); ++ return ld->ld_errno; ++ } ++ ++ /* send the message */ ++ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber, id ); ++ ++ if(*msgidp < 0) ++ return ld->ld_errno; ++ ++ return LDAP_SUCCESS; ++} ++ ++int ++ldap_parse_ntlm_bind_result( ++ LDAP *ld, ++ LDAPMessage *res, ++ struct berval *challenge) ++{ ++ ber_int_t errcode; ++ ber_tag_t tag; ++ BerElement *ber; ++ ber_len_t len; ++ ++ Debug( LDAP_DEBUG_TRACE, "ldap_parse_ntlm_bind_result\n", 0, 0, 0 ); ++ ++ assert( ld != NULL ); ++ assert( LDAP_VALID( ld ) ); ++ assert( res != NULL ); ++ ++ if ( ld == NULL || res == NULL ) { ++ return LDAP_PARAM_ERROR; ++ } ++ ++ if( res->lm_msgtype != LDAP_RES_BIND ) { ++ ld->ld_errno = LDAP_PARAM_ERROR; ++ return ld->ld_errno; ++ } ++ ++ if ( ld->ld_error ) { ++ LDAP_FREE( ld->ld_error ); ++ ld->ld_error = NULL; ++ } ++ if ( ld->ld_matched ) { ++ LDAP_FREE( ld->ld_matched ); ++ ld->ld_matched = NULL; ++ } ++ ++ /* parse results */ ++ ++ ber = ber_dup( res->lm_ber ); ++ ++ if( ber == NULL ) { ++ ld->ld_errno = LDAP_NO_MEMORY; ++ return ld->ld_errno; ++ } ++ ++ tag = ber_scanf( ber, "{ioa" /*}*/, ++ &errcode, challenge, &ld->ld_error ); ++ ber_free( ber, 0 ); ++ ++ if( tag == LBER_ERROR ) { ++ ld->ld_errno = LDAP_DECODING_ERROR; ++ return ld->ld_errno; ++ } ++ ++ ld->ld_errno = errcode; ++ ++ return( ld->ld_errno ); ++} ++ +Index: trunk/libraries/libldap/Makefile.in +=================================================================== +--- trunk.orig/libraries/libldap/Makefile.in ++++ trunk/libraries/libldap/Makefile.in +@@ -27,7 +27,7 @@ + init.c options.c print.c string.c util-int.c schema.c \ + charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \ + tls2.c tls_o.c tls_g.c tls_m.c \ +- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \ ++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \ + assertion.c deref.c ldif.c fetch.c + + OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \ +@@ -40,7 +40,7 @@ + init.lo options.lo print.lo string.lo util-int.lo schema.lo \ + charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \ + tls2.lo tls_o.lo tls_g.lo tls_m.lo \ +- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \ ++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \ + assertion.lo deref.lo ldif.lo fetch.lo + + LDAP_INCDIR= ../../include +Index: trunk/libraries/libldap_r/Makefile.in +=================================================================== +--- trunk.orig/libraries/libldap_r/Makefile.in ++++ trunk/libraries/libldap_r/Makefile.in +@@ -29,7 +29,7 @@ + init.c options.c print.c string.c util-int.c schema.c \ + charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \ + tls2.c tls_o.c tls_g.c tls_m.c \ +- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \ ++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \ + assertion.c deref.c ldif.c fetch.c + SRCS = threads.c rdwr.c rmutex.c tpool.c rq.c \ + thr_posix.c thr_cthreads.c thr_thr.c thr_lwp.c thr_nt.c \ +@@ -47,7 +47,7 @@ + init.lo options.lo print.lo string.lo util-int.lo schema.lo \ + charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \ + tls2.lo tls_o.lo tls_g.lo tls_m.lo \ +- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \ ++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \ + assertion.lo deref.lo ldif.lo fetch.lo + + LDAP_INCDIR= ../../include diff --git a/testing/openldap/openldap.install b/testing/openldap/openldap.install new file mode 100644 index 000000000..cf3cb9f25 --- /dev/null +++ b/testing/openldap/openldap.install @@ -0,0 +1,20 @@ +post_install(){ + groupadd -g 439 ldap &>/dev/null + useradd -u 439 -g ldap -d /var/lib/openldap -s /bin/false ldap &>/dev/null + chown -R ldap:ldap var/lib/openldap &>/dev/null +} + +post_upgrade(){ + getent group ldap >/dev/null 2>&1 || groupadd -g 439 ldap &>/dev/null + getent passwd ldap >/dev/null 2>&1 || useradd -u 439 -g ldap -d /var/lib/openldap -s /bin/false ldap &>/dev/null + chown -R ldap:ldap var/lib/openldap &>/dev/null +} + +post_remove(){ + if getent passwd ldap >/dev/null 2>&1; then + userdel ldap + fi + if getent group ldap >/dev/null 2>&1; then + groupdel ldap + fi +} diff --git a/testing/openldap/slapd b/testing/openldap/slapd new file mode 100755 index 000000000..4f212da66 --- /dev/null +++ b/testing/openldap/slapd @@ -0,0 +1,49 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +[ -f "/etc/conf.d/slapd" ] && . /etc/conf.d/slapd + +PID=`pidof -o %PPID /usr/sbin/slapd` +case "$1" in + start) + stat_busy "Starting OpenLDAP" + [ ! -d /run/openldap ] && install -d -m755 -o ldap -g ldap /run/openldap + if [ -z "$PID" ]; then + if [ -z "$SLAPD_SERVICES" ]; then + /usr/sbin/slapd -u ldap -g ldap $SLAPD_OPTIONS + else + /usr/sbin/slapd -u ldap -g ldap -h "$SLAPD_SERVICES" $SLAPD_OPTIONS + fi + if [ $? -gt 0 ]; then + stat_fail + else + stat_done + fi + add_daemon slapd + else + stat_fail + fi + ;; + stop) + stat_busy "Stopping OpenLDAP" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm -f /run/openldap/slapd.pid + rm -f /run/openldap/slapd.args + rm_daemon slapd + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/openldap/slapd.default b/testing/openldap/slapd.default new file mode 100644 index 000000000..72ae2a6a7 --- /dev/null +++ b/testing/openldap/slapd.default @@ -0,0 +1,6 @@ +# slapd normally serves ldap only on all TCP-ports 389. slapd can also +# service requests on TCP-port 636 (ldaps) and requests via unix +# sockets. +# Example usage: +#SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///" +SLAPD_OPTIONS="" diff --git a/testing/patch/PKGBUILD b/testing/patch/PKGBUILD new file mode 100644 index 000000000..dcef9714f --- /dev/null +++ b/testing/patch/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: PKGBUILD 141945 2011-11-03 12:04:44Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=patch +pkgver=2.6.1 +pkgrel=3 +pkgdesc="A utility to apply patch files to original sources" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/patch/patch.html" +license=('GPL') +groups=('base-devel') +depends=('glibc') +makedepends=('ed') +optdepends=('ed: Interpret the patch as an ed script; for patch -e functionality(deprecated)') +source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig} + patch-2.6.1-get-arg.patch) +md5sums=('d758eb96d3f75047efc004a720d33daf' + 'f7953f3e472fae5118815e6138372e22' + '45cd5709adbbcdcb3ab95dc43559c07c') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # Fixed argument type for --get + # see https://bugzilla.redhat.com/show_bug.cgi?id=553624 + patch -Np1 -i $srcdir/patch-2.6.1-get-arg.patch + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make prefix=${pkgdir}/usr mandir=${pkgdir}/usr/share/man install +} diff --git a/testing/patch/patch-2.6.1-get-arg.patch b/testing/patch/patch-2.6.1-get-arg.patch new file mode 100644 index 000000000..45f3bc8a5 --- /dev/null +++ b/testing/patch/patch-2.6.1-get-arg.patch @@ -0,0 +1,12 @@ +diff -up patch-2.6.1/src/patch.c.get-arg patch-2.6.1/src/patch.c +--- patch-2.6.1/src/patch.c.get-arg 2010-07-27 18:05:26.217150510 +0100 ++++ patch-2.6.1/src/patch.c 2010-07-27 18:05:47.464150892 +0100 +@@ -558,7 +558,7 @@ static struct option const longopts[] = + {"remove-empty-files", no_argument, NULL, 'E'}, + {"force", no_argument, NULL, 'f'}, + {"fuzz", required_argument, NULL, 'F'}, +- {"get", no_argument, NULL, 'g'}, ++ {"get", required_argument, NULL, 'g'}, + {"input", required_argument, NULL, 'i'}, + {"ignore-whitespace", no_argument, NULL, 'l'}, + #ifdef ENABLE_MERGE diff --git a/testing/pkg-config/PKGBUILD b/testing/pkg-config/PKGBUILD new file mode 100644 index 000000000..a8dd714da --- /dev/null +++ b/testing/pkg-config/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 141947 2011-11-03 12:12:51Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Committer: Judd Vinet <jvinet@zeroflux.org> + +pkgname=pkg-config +pkgver=0.26 +pkgrel=2 +pkgdesc="A system for managing library compile/link flags" +arch=('i686' 'x86_64') +url="http://pkgconfig.freedesktop.org/wiki/" +license=('GPL') +groups=('base-devel') +depends=('glibc' 'popt' 'glib2') +provides=("pkgconfig=${pkgver}") +conflicts=('pkgconfig') +replaces=('pkgconfig') +source=(http://pkgconfig.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz) +md5sums=('47525c26a9ba7ba14bf85e01509a7234') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # Use system popt + ./configure --prefix=/usr --with-installed-popt + + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/pkg-config/autoconf-2.66.patch b/testing/pkg-config/autoconf-2.66.patch new file mode 100644 index 000000000..14cabdf9f --- /dev/null +++ b/testing/pkg-config/autoconf-2.66.patch @@ -0,0 +1,12 @@ +diff -Naur pkg-config-0.25-old//pkg.m4 pkg-config-0.25/pkg.m4 +--- pkg-config-0.25-old//pkg.m4 2009-12-07 06:39:02.000000000 +1000 ++++ pkg-config-0.25/pkg.m4 2010-07-15 14:44:37.466942978 +1000 +@@ -135,7 +135,7 @@ + Consider adjusting the PKG_CONFIG_PATH environment variable if you + installed software in a non-standard prefix. + +-_PKG_TEXT])dnl ++_PKG_TEXT])[]dnl + ]) + elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) diff --git a/testing/ppp/PKGBUILD b/testing/ppp/PKGBUILD new file mode 100644 index 000000000..06940052d --- /dev/null +++ b/testing/ppp/PKGBUILD @@ -0,0 +1,80 @@ +# $Id: PKGBUILD 141972 2011-11-03 19:01:44Z thomas $ +# Maintainer: Thomas Baechler <thomas@archlinux.org> +pkgname=ppp +pkgver=2.4.5 +pkgrel=3 +pkgdesc="A daemon which implements the Point-to-Point Protocol for dial-up networking" +arch=(i686 x86_64) +url="http://www.samba.org/ppp/" +license=('custom:GPL/BSD') +groups=('base') +depends=('glibc' 'libpcap>=1.0.0') +backup=(etc/ppp/{chap-secrets,pap-secrets,options,ip-up,ip-down}) +source=(ftp://ftp.samba.org/pub/ppp/ppp-${pkgver}.tar.gz + options + pon + poff + ppp + plog + pon.1 + ip-up + ip-down + ip-up.d.dns.sh + ip-down.d.dns.sh) +md5sums=('4621bc56167b6953ec4071043fe0ec57' + '7a9259a8f038073eeea7e4552ff1849f' + '48c024f73a80c8b69c4def22f86902cc' + '2d811f8470ccdea3b8c4505a438483e9' + '7561c73b557292d5ba1a9c5dbd270fde' + '86cdaf133f7a79fb464f02d83afc7734' + '44cc662ba9aa61dd9add3ddd4c5ded57' + 'e4beb16ed600b61336d50b2bd2df7cd5' + '2fa0671f40711e69194ccf60979f8b33' + '4a074d74c29625b254a1db720cb87b99' + '8d1be5af8e46393ba6eb273377831e38') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # fix CFLAGS + # -D_GNU_SOURCE is needed for IPv6 to work apparently + export CFLAGS="$CFLAGS -D_GNU_SOURCE" + sed -i "s:-O2 -pipe -Wall -g:${CFLAGS}:" pppd/Makefile.linux + sed -i "s:-g -O2:${CFLAGS}:" pppd/plugins/Makefile.linux + sed -i "s:-O2:${CFLAGS}:" pppstats/Makefile.linux + sed -i "s:-O2 -g -pipe:${CFLAGS}:" chat/Makefile.linux + sed -i "s:-O:${CFLAGS}:" pppdump/Makefile.linux + + # enable active filter + sed -i "s:^#FILTER=y:FILTER=y:" pppd/Makefile.linux + # enable ipv6 support + sed -i "s:^#HAVE_INET6=y:HAVE_INET6=y:" pppd/Makefile.linux + # Enable Microsoft proprietary Callback Control Protocol + sed -i "s:^#CBCP=y:CBCP=y:" pppd/Makefile.linux + + # Fix build error with recent kernels + rm include/linux/if_pppol2tp.h + + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}/usr" install + install -D -m644 ../options "${pkgdir}/etc/ppp/options" + install -D -m755 ../ip-up "${pkgdir}/etc/ppp/ip-up" + install -D -m755 ../ip-down "${pkgdir}/etc/ppp/ip-down" + install -d -m755 "${pkgdir}/etc/ppp/ip-up.d" + install -d -m755 "${pkgdir}/etc/ppp/ip-down.d" + install -m755 ../ip-up.d.dns.sh "${pkgdir}/etc/ppp/ip-up.d/00-dns.sh" + install -m755 ../ip-down.d.dns.sh "${pkgdir}/etc/ppp/ip-down.d/00-dns.sh" + install -D -m755 ../pon "${pkgdir}/usr/bin/pon" + install -D -m755 ../poff "${pkgdir}/usr/bin/poff" + install -D -m755 ../plog "${pkgdir}/usr/sbin/plog" + install -D -m600 etc.ppp/pap-secrets "${pkgdir}/etc/ppp/pap-secrets" + install -D -m600 etc.ppp/chap-secrets "${pkgdir}/etc/ppp/chap-secrets" + install -D -m755 ${srcdir}/ppp "${pkgdir}/etc/rc.d/ppp" + install -D -m644 ${srcdir}/pon.1 "${pkgdir}/usr/share/man/man1/pon.1" + install -d -m755 "${pkgdir}/etc/ppp/peers" + chmod 0755 "${pkgdir}/usr/lib/pppd/${pkgver}"/*.so +} diff --git a/testing/ppp/ip-down b/testing/ppp/ip-down new file mode 100644 index 000000000..301f3ab9b --- /dev/null +++ b/testing/ppp/ip-down @@ -0,0 +1,12 @@ +#!/bin/sh +# +# This script is run by pppd after the connection has ended. +# + +# Execute all scripts in /etc/ppp/ip-up.d/ +for ipdown in /etc/ppp/ip-down.d/*.sh; do + if [ -x $ipdown ]; then + # Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam + $ipdown "$@" + fi +done diff --git a/testing/ppp/ip-down.d.dns.sh b/testing/ppp/ip-down.d.dns.sh new file mode 100644 index 000000000..9e19f7d1b --- /dev/null +++ b/testing/ppp/ip-down.d.dns.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +[ -e /etc/resolv.conf.backup.${IFNAME} ] && mv /etc/resolv.conf.backup.${IFNAME} /etc/resolv.conf diff --git a/testing/ppp/ip-up b/testing/ppp/ip-up new file mode 100644 index 000000000..20473d73a --- /dev/null +++ b/testing/ppp/ip-up @@ -0,0 +1,12 @@ +#!/bin/sh +# +# This script is run by pppd when there's a successful ppp connection. +# + +# Execute all scripts in /etc/ppp/ip-up.d/ +for ipup in /etc/ppp/ip-up.d/*.sh; do + if [ -x $ipup ]; then + # Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam + $ipup "$@" + fi +done diff --git a/testing/ppp/ip-up.d.dns.sh b/testing/ppp/ip-up.d.dns.sh new file mode 100644 index 000000000..f9df543a4 --- /dev/null +++ b/testing/ppp/ip-up.d.dns.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ "$USEPEERDNS" = "1" -a -f /etc/ppp/resolv.conf ]; then + [ -e /etc/resolv.conf ] && mv /etc/resolv.conf /etc/resolv.conf.backup.${IFNAME} + mv /etc/ppp/resolv.conf /etc/resolv.conf + chmod 644 /etc/resolv.conf +fi diff --git a/testing/ppp/options b/testing/ppp/options new file mode 100644 index 000000000..63691842c --- /dev/null +++ b/testing/ppp/options @@ -0,0 +1,352 @@ +# /etc/ppp/options +# +# Originally created by Jim Knoble <jmknoble@mercury.interpath.net> +# Modified for Debian by alvar Bray <alvar@meiko.co.uk> +# Modified for PPP Server setup by Christoph Lameter <clameter@debian.org> +# Modified for ArchLinux by Manolis Tzanidakis <manolis@archlinux.org> +# +# To quickly see what options are active in this file, use this command: +# egrep -v '#|^ *$' /etc/ppp/options + +# Specify which DNS Servers the incoming Win95 or WinNT Connection should use +# Two Servers can be remotely configured +# ms-dns 192.168.1.1 +# ms-dns 192.168.1.2 + +# Specify which WINS Servers the incoming connection Win95 or WinNT should use +# ms-wins 192.168.1.50 +# ms-wins 192.168.1.51 + +# Run the executable or shell command specified after pppd has +# terminated the link. This script could, for example, issue commands +# to the modem to cause it to hang up if hardware modem control signals +# were not available. +#disconnect "chat -- \d+++\d\c OK ath0 OK" + +# async character map -- 32-bit hex; each bit is a character +# that needs to be escaped for pppd to receive it. 0x00000001 +# represents '\x01', and 0x80000000 represents '\x1f'. +asyncmap 0 + +# Require the peer to authenticate itself before allowing network +# packets to be sent or received. +# Please do not disable this setting. It is expected to be standard in +# future releases of pppd. Use the call option (see manpage) to disable +# authentication for specific peers. +auth + +# Use hardware flow control (i.e. RTS/CTS) to control the flow of data +# on the serial port. +crtscts + +# Use software flow control (i.e. XON/XOFF) to control the flow of data +# on the serial port. +#xonxoff + +# Specifies that certain characters should be escaped on transmission +# (regardless of whether the peer requests them to be escaped with its +# async control character map). The characters to be escaped are +# specified as a list of hex numbers separated by commas. Note that +# almost any character can be specified for the escape option, unlike +# the asyncmap option which only allows control characters to be +# specified. The characters which may not be escaped are those with hex +# values 0x20 - 0x3f or 0x5e. +#escape 11,13,ff + +# Don't use the modem control lines. +#local + +# Specifies that pppd should use a UUCP-style lock on the serial device +# to ensure exclusive access to the device. +lock + +# Don't show the passwords when logging the contents of PAP packets. +# This is the default. +hide-password + +# When logging the contents of PAP packets, this option causes pppd to +# show the password string in the log message. +#show-password + +# Use the modem control lines. On Ultrix, this option implies hardware +# flow control, as for the crtscts option. (This option is not fully +# implemented.) +modem + +# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd +# will ask the peer to send packets of no more than <n> bytes. The +# minimum MRU value is 128. The default MRU value is 1500. A value of +# 296 is recommended for slow links (40 bytes for TCP/IP header + 256 +# bytes of data). +#mru 542 + +# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot" +# notation (e.g. 255.255.255.0). +#netmask 255.255.255.0 + +# Disables the default behaviour when no local IP address is specified, +# which is to determine (if possible) the local IP address from the +# hostname. With this option, the peer will have to supply the local IP +# address during IPCP negotiation (unless it specified explicitly on the +# command line or in an options file). +#noipdefault + +# Enables the "passive" option in the LCP. With this option, pppd will +# attempt to initiate a connection; if no reply is received from the +# peer, pppd will then just wait passively for a valid LCP packet from +# the peer (instead of exiting, as it does without this option). +#passive + +# With this option, pppd will not transmit LCP packets to initiate a +# connection until a valid LCP packet is received from the peer (as for +# the "passive" option with old versions of pppd). +#silent + +# Don't request or allow negotiation of any options for LCP and IPCP +# (use default values). +#-all + +# Disable Address/Control compression negotiation (use default, i.e. +# address/control field disabled). +#-ac + +# Disable asyncmap negotiation (use the default asyncmap, i.e. escape +# all control characters). +#-am + +# Don't fork to become a background process (otherwise pppd will do so +# if a serial device is specified). +#-detach + +# Disable IP address negotiation (with this option, the remote IP +# address must be specified with an option on the command line or in +# an options file). +#-ip + +# Disable IPCP negotiation and IP communication. This option should +# only be required if the peer is buggy and gets confused by requests +# from pppd for IPCP negotiation. +#noip + +# Disable magic number negotiation. With this option, pppd cannot +# detect a looped-back line. +#-mn + +# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e. +# 1500). +#-mru + +# Disable protocol field compression negotiation (use default, i.e. +# protocol field compression disabled). +#-pc + +# Require the peer to authenticate itself using PAP. +#+pap + +# Don't agree to authenticate using PAP. +#-pap + +# Require the peer to authenticate itself using CHAP [Cryptographic +# Handshake Authentication Protocol] authentication. +#+chap + +# Don't agree to authenticate using CHAP. +#-chap + +# Disable negotiation of Van Jacobson style IP header compression (use +# default, i.e. no compression). +#-vj + +# Increase debugging level (same as -d). If this option is given, pppd +# will log the contents of all control packets sent or received in a +# readable form. The packets are logged through syslog with facility +# daemon and level debug. This information can be directed to a file by +# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If +# pppd is compiled with extra debugging enabled, it will log messages +# using facility local2 instead of daemon). +#debug + +# Append the domain name <d> to the local host name for authentication +# purposes. For example, if gethostname() returns the name porsche, +# but the fully qualified domain name is porsche.Quotron.COM, you would +# use the domain option to set the domain name to Quotron.COM. +#domain <d> + +# Enable debugging code in the kernel-level PPP driver. The argument n +# is a number which is the sum of the following values: 1 to enable +# general debug messages, 2 to request that the contents of received +# packets be printed, and 4 to request that the contents of transmitted +# packets be printed. +#kdebug n + +# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer +# requests a smaller value via MRU negotiation, pppd will request that +# the kernel networking code send data packets of no more than n bytes +# through the PPP network interface. +#mtu <n> + +# Set the name of the local system for authentication purposes to <n>. +# This is a privileged option. With this option, pppd will use lines in the +# secrets files which have <n> as the second field when looking for a +# secret to use in authenticating the peer. In addition, unless overridden +# with the user option, <n> will be used as the name to send to the peer +# when authenticating the local system to the peer. (Note that pppd does +# not append the domain name to <n>.) +#name <n> + +# Enforce the use of the hostname as the name of the local system for +# authentication purposes (overrides the name option). +#usehostname + +# Set the assumed name of the remote system for authentication purposes +# to <n>. +#remotename <n> + +# Add an entry to this system's ARP [Address Resolution Protocol] +# table with the IP address of the peer and the Ethernet address of this +# system. +proxyarp + +# Use the system password database for authenticating the peer using +# PAP. Note: mgetty already provides this option. If this is specified +# then dialin from users using a script under Linux to fire up ppp wont work. +# login + +# If this option is given, pppd will send an LCP echo-request frame to the +# peer every n seconds. Normally the peer should respond to the echo-request +# by sending an echo-reply. This option can be used with the +# lcp-echo-failure option to detect that the peer is no longer connected. +lcp-echo-interval 30 + +# If this option is given, pppd will presume the peer to be dead if n +# LCP echo-requests are sent without receiving a valid LCP echo-reply. +# If this happens, pppd will terminate the connection. Use of this +# option requires a non-zero value for the lcp-echo-interval parameter. +# This option can be used to enable pppd to terminate after the physical +# connection has been broken (e.g., the modem has hung up) in +# situations where no hardware modem control lines are available. +lcp-echo-failure 4 + +# Set the LCP restart interval (retransmission timeout) to <n> seconds +# (default 3). +#lcp-restart <n> + +# Set the maximum number of LCP terminate-request transmissions to <n> +# (default 3). +#lcp-max-terminate <n> + +# Set the maximum number of LCP configure-request transmissions to <n> +# (default 10). +#lcp-max-configure <n> + +# Set the maximum number of LCP configure-NAKs returned before starting +# to send configure-Rejects instead to <n> (default 10). +#lcp-max-failure <n> + +# Set the IPCP restart interval (retransmission timeout) to <n> +# seconds (default 3). +#ipcp-restart <n> + +# Set the maximum number of IPCP terminate-request transmissions to <n> +# (default 3). +#ipcp-max-terminate <n> + +# Set the maximum number of IPCP configure-request transmissions to <n> +# (default 10). +#ipcp-max-configure <n> + +# Set the maximum number of IPCP configure-NAKs returned before starting +# to send configure-Rejects instead to <n> (default 10). +#ipcp-max-failure <n> + +# Set the PAP restart interval (retransmission timeout) to <n> seconds +# (default 3). +#pap-restart <n> + +# Set the maximum number of PAP authenticate-request transmissions to +# <n> (default 10). +#pap-max-authreq <n> + +# Set the maximum time that pppd will wait for the peer to authenticate +# itself with PAP to <n> seconds (0 means no limit). +#pap-timeout <n> + +# Set the CHAP restart interval (retransmission timeout for +# challenges) to <n> seconds (default 3). +#chap-restart <n> + +# Set the maximum number of CHAP challenge transmissions to <n> +# (default 10). +#chap-max-challenge + +# If this option is given, pppd will rechallenge the peer every <n> +# seconds. +#chap-interval <n> + +# With this option, pppd will accept the peer's idea of our local IP +# address, even if the local IP address was specified in an option. +#ipcp-accept-local + +# With this option, pppd will accept the peer's idea of its (remote) IP +# address, even if the remote IP address was specified in an option. +#ipcp-accept-remote + +# Disable the IPXCP and IPX protocols. +# To let pppd pass IPX packets comment this out --- you'll probably also +# want to install ipxripd, and have the Internal IPX Network option enabled +# in your kernel. /usr/doc/HOWTO/IPX-HOWTO.gz contains more info. +noipx + +# Exit once a connection has been made and terminated. This is the default, +# unless the `persist' or `demand' option has been specified. +#nopersist + +# Do not exit after a connection is terminated; instead try to reopen +# the connection. +#persist + +# Terminate after n consecutive failed connection attempts. +# A value of 0 means no limit. The default value is 10. +#maxfail <n> + +# Initiate the link only on demand, i.e. when data traffic is present. +# With this option, the remote IP address must be specified by the user on +# the command line or in an options file. Pppd will initially configure +# the interface and enable it for IP traffic without connecting to the peer. +# When traffic is available, pppd will connect to the peer and perform +# negotiation, authentication, etc. When this is completed, pppd will +# commence passing data packets (i.e., IP packets) across the link. +#demand + +# Specifies that pppd should disconnect if the link is idle for <n> seconds. +# The link is idle when no data packets (i.e. IP packets) are being sent or +# received. Note: it is not advisable to use this option with the persist +# option without the demand option. If the active-filter option is given, +# data packets which are rejected by the specified activity filter also +# count as the link being idle. +#idle <n> + +# Specifies how many seconds to wait before re-initiating the link after +# it terminates. This option only has any effect if the persist or demand +# option is used. The holdoff period is not applied if the link was +# terminated because it was idle. +#holdoff <n> + +# Wait for up n milliseconds after the connect script finishes for a valid +# PPP packet from the peer. At the end of this time, or when a valid PPP +# packet is received from the peer, pppd will commence negotiation by +# sending its first LCP packet. The default value is 1000 (1 second). +# This wait period only applies if the connect or pty option is used. +#connect-delay <n> + +# Packet filtering: for more information, see pppd(8) +# Any packets matching the filter expression will be interpreted as link +# activity, and will cause a "demand" connection to be activated, and reset +# the idle connection timer. (idle option) +# The filter expression is akin to that of tcpdump(1) +#active-filter <filter-expression> + +# uncomment the line below this if you use PPPoE +#plugin /usr/lib/pppd/plugins/pppoe.so + +# ---<End of File>--- diff --git a/testing/ppp/plog b/testing/ppp/plog new file mode 100644 index 000000000..84d2c7340 --- /dev/null +++ b/testing/ppp/plog @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ -s /var/log/ppp.log ]; then + exec tail "$@" /var/log/ppp.log +else + exec tail "$@" /var/log/syslog | grep ' \(pppd\|chat\)\[' +fi diff --git a/testing/ppp/poff b/testing/ppp/poff new file mode 100644 index 000000000..8b4dffc59 --- /dev/null +++ b/testing/ppp/poff @@ -0,0 +1,103 @@ +#!/bin/sh + +# Written by John Hasler <john@dhh.gt.org> and based on work +# by Phil Hands <phil@hands.com>. Distributed under the GNU GPL + +if [ -x /usr/bin/kill ]; then + KILL="/usr/bin/kill" +else + KILL="/bin/kill" +fi +SIG=TERM +DONE="stopped" +MODE="" + +usage () +{ + cat <<!EOF! +usage: $0 [option] [provider] +options: + -r Cause pppd to drop the line and redial. + -d Toggle the state of pppd's debug option. + -c Cause pppd to renegotiate compression. + -a Stop all pppd's. 'provider' will be ignored. + -h Print this help summary and exit. + -v Print version and exit. + none Stop pppd. + +Options may not be combined. + +If 'provider' is omitted pppd will be stopped or signalled if and only if +there is exactly one running unless the '-a' option was given. If +'provider' is supplied the pppd controlling the connection to that +provider will be stopped or signalled. +!EOF! +} + +# Get option. If there are none replace the "?" that getopts puts in +# FLAG on error with "null". +getopts rdcavh FLAG +if [ "$?" -ne 0 ]; then + FLAG="null" +fi + +# Check for additional options. Should be none. +getopts :rdcavh DUMMY +if [ "$?" -eq 0 ]; then + echo "$0: Illegal option -- ${OPTARG}." + exit 1 +fi + +case $FLAG in + "r") SIG=HUP; DONE=signalled; shift ;; + "d") SIG=USR1; DONE=signalled; shift ;; + "c") SIG=USR2; DONE=signalled; shift ;; + "a") MODE="all"; shift ;; + "v") echo "$0$Revision: 1.1 $_TrickToPrint_RCS_Revision"; exit 0 ;; + "h") usage; exit 0 ;; + "?") exit 1; +esac + +# Get the PIDs of all the pppds running. Could also get these from +# /var/run, but pppd doesn't create .pid files until ppp is up. +PIDS=`pidof pppd` + +# poff is pointless if pppd isn't running. +if test -z "$PIDS"; then + echo "$0: No pppd is running. None ${DONE}." + exit 1 +fi + +# Find out how many pppd's are running. +N=`echo "$PIDS" | wc -w` + +# If there are no arguments we can't do anything if there is more than one +# pppd running. +if test "$#" -eq 0 -a "$N" -gt 1 -a $FLAG != "a" ; then + echo "$0: More than one pppd running and no "-a" option and +no arguments supplied. Nothing ${DONE}." + exit 1 +fi + +# If either there are no arguments or '-a' was specified kill all the +# pppd's. +if test "$#" -eq 0 -o "$MODE" = "all" ; then + $KILL -$SIG $PIDS || { + echo "$0: $KILL failed. None ${DONE}." + exit 1 + } + exit 0 +fi + +# There is an argument, so kill the pppd started on that provider. +PID=`ps axw | grep "[ /]pppd call $1 *\$" | awk '{print $1}'` +if test -n "$PID" ; then + $KILL -$SIG $PID || { + echo "$0: $KILL failed. None ${DONE}." + exit 1 + } +else + echo "$0: I could not find a pppd process for provider '$1'. None ${DONE}." + exit 1 +fi +exit 0 diff --git a/testing/ppp/pon b/testing/ppp/pon new file mode 100644 index 000000000..36885050b --- /dev/null +++ b/testing/ppp/pon @@ -0,0 +1,32 @@ +#!/bin/sh + +case "$1" in + -*) echo " +Usage: pon [provider] [arguments] + +If you specify one argument, a PPP connection will be started using +settings from the appropriate file in the /etc/ppp/peers/ directory, and +any additional arguments supplied will be passed as extra arguments to +pppd. +" + exit 0 + ;; +esac + +if [ -z "$1" -a ! -f /etc/ppp/peers/provider ]; then + echo " +Please configure /etc/ppp/peers/provider or use a command line argument to +use another file in /etc/ppp/peers/ directory. +" + exit 1 +fi + +if [ "$1" -a ! -f "/etc/ppp/peers/$1" ]; then + echo " +The file /etc/ppp/peers/$1 does not exist. +" + exit 1 +fi + +exec /usr/sbin/pppd call ${@:-provider} + diff --git a/testing/ppp/pon.1 b/testing/ppp/pon.1 new file mode 100644 index 000000000..bb3220564 --- /dev/null +++ b/testing/ppp/pon.1 @@ -0,0 +1,121 @@ +.\" This manual is published under the GPL. +.\" All guidelines specified in the GPL apply here. +.\" To get an ascii file: +.\" groff -man -Tascii pon.1 > pon.txt +.\" +.TH PON 1 "July 2000" "Debian Project" "Debian PPPD" +.SH NAME +pon, poff, plog \- starts up, shuts down or lists the log of PPP connections +.SH SYNOPSIS +.B pon +[ isp-name [ options ] ] +.br +.B poff +[ -r ] [ -d ] [ -c ] [ -a ] [ -h ] [ isp-name ] +.br +.B plog +[ arguments ] +.SH DESCRIPTION +This manual page describes the \fBpon\fP, \fBplog\fP and \fBpoff\fP +scripts, which allow users to control PPP connections. +.. +.SS pon +\fBpon\fP, invoked without arguments, runs the \fI/etc/ppp/ppp_on_boot\fP +file, if it exists and is executable. Otherwise, a PPP connection will be +started using configuration from \fI/etc/ppp/peers/provider\fP. +This is the default behaviour unless an \fBisp-name\fP argument is given. +.PP +For instance, to use ISP configuration "myisp" run: +.IP +pon myisp +.PP +\fBpon\fP will then use the options file \fI/etc/ppp/peers/myisp\fP. +You can pass additional \fBoptions\fP after the ISP name, too. +\fBpon\fP can be used to run multiple, simultaneous PPP connections. +.. +.SS poff +\fBpoff\fP closes a PPP connection. If more than one PPP connection exists, +the one named in the argument to \fBpoff\fP will be killed, e.g. +.IP +poff myprovider2 +.PP +will terminate the connection to myprovider2, and leave the PPP connections +to e.g. "myprovider1" or "myprovider3" up and running. +.PP +\fBpoff\fP takes the following command line options: +.RS +.TP +.B "\-r" +causes the connection to be redialed after it is dropped. +.TP +.B "\-d" +toggles the state of pppd's debug option. +.TP +.B "\-c" +causes +.BR pppd (8) +to renegotiate compression. +.TP +.B "\-a" +stops all running ppp connections. If the argument \fBisp-name\fP +is given it will be ignored. +.TP +.B "\-h" +displays help information. +.TP +.B "\-v" +prints the version and exits. +.PP +If no argument is given, \fBpoff\fP will stop or signal pppd if and only +if there is exactly one running. If more than one connection is active, +it will exit with an error code of 1. +.. +.SS plog +\fBplog\fP shows you the last few lines of \fI/var/log/ppp.log\fP. If that +file doesn't exist, it shows you the last few lines of your +\fI/var/log/syslog\fP file, but excluding the lines not generated by pppd. +This script makes use of the +.BR tail (1) +command, so arguments that can be passed to +.BR tail (1) +can also be passed to \fBplog\fP. +.PP +Note: the \fBplog\fP script can only be used by root or another system +administrator in group "adm", due to security reasons. Also, to have all +pppd-generated information in one logfile, that plog can show, you need the +following line in your \fI/etc/syslog.conf\fP file: +.PP +local2.* -/var/log/ppp.log +.RE +.SH FILES +.TP +.I /etc/ppp/options +PPPd system options file. +.TP +.I /etc/ppp/pap-secrets +System PAP passwords file. +.TP +.I /etc/ppp/chap-secrets +System CHAP passwords file. +.TP +.I /etc/ppp/peers/ +Directory holding the peer options files. The default file is called +\fIprovider\fP. +.TP +.I /etc/chatscripts/provider +The chat script invoked from the default \fI/etc/ppp/peers/provider\fP. +.TP +.I /var/log/ppp.log +The default PPP log file. +.SH AUTHORS +The p-commands were written by Christoph Lameter <clameter@debian.org>. +Updated and revised by Philip Hands <phil@hands.com>. +.br +This manual was written by Othmar Pasteka <othmar@tron.at>. Modified +by Rob Levin <lilo@openprojects.net>, with some extensions taken from +the old p-commands manual written by John Hasler <jhasler@debian.org>. +.SH "SEE ALSO" +.BR pppd (8), +.BR chat (8), +.BR tail (1). + diff --git a/testing/ppp/ppp b/testing/ppp/ppp new file mode 100644 index 000000000..16e01bad7 --- /dev/null +++ b/testing/ppp/ppp @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/pppd` +case "$1" in + start) + stat_busy "Starting PPP daemon" + [ -z "$PID" ] && /usr/bin/pon + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon ppp + stat_done + fi + ;; + stop) + stat_busy "Stopping PPP daemon" + [ ! -z "$PID" ] && poff -a &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon ppp + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/readline/PKGBUILD b/testing/readline/PKGBUILD new file mode 100644 index 000000000..f1ebbc270 --- /dev/null +++ b/testing/readline/PKGBUILD @@ -0,0 +1,62 @@ +# $Id: PKGBUILD 141949 2011-11-03 12:23:03Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=readline +_basever=6.2 +_patchlevel=001 #prepare for some patches +pkgver=$_basever.$_patchlevel +pkgrel=3 +pkgdesc="GNU readline library" +arch=('i686' 'x86_64') +url="http://tiswww.case.edu/php/chet/readline/rltop.html" +license=('GPL') +depends=('glibc' 'ncurses') +backup=('etc/inputrc') +options=('!emptydirs') +install=readline.install +source=(http://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig} + inputrc) +if [ $_patchlevel -gt 00 ]; then + for (( p=1; p<=$((10#${_patchlevel})); p++ )); do + source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//./}-$(printf "%03d" $p){,.sig}) + done +fi +md5sums=('67948acb2ca081f23359d0256e9a271c' + '928f7d248320a65e43c2dc427e99582b' + '58d54966c1191db45973cb3191ac621a' + '83287d52a482f790dfb30ec0a8746669' + '8e6a51e2e0e6e45a82752e3692c111ac') + +build() { + cd ${srcdir}/${pkgname}-$_basever + for (( p=1; p<=$((10#${_patchlevel})); p++ )); do + msg "applying patch readline${_basever//./}-$(printf "%03d" $p)" + patch -Np0 -i $srcdir/readline${_basever//./}-$(printf "%03d" $p) + done + + # Remove RPATH from shared objects (FS#14366) + sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf + + # build with -fPIC for x86_64 (FS#15634) + [ $CARCH == "x86_64" ] && CFLAGS="$CFLAGS -fPIC" + + ./configure --prefix=/usr --libdir=/lib + make SHLIB_LIBS=-lncurses +} + +package() { + cd ${srcdir}/${pkgname}-$_basever + make DESTDIR=${pkgdir} install + + install -Dm644 ${srcdir}/inputrc ${pkgdir}/etc/inputrc + + # FHS recommends only shared libs in /lib + install -dm755 $pkgdir/usr/lib + mv $pkgdir/lib/*.a $pkgdir/usr/lib + + # to make the linker find the shared lib and fix compile issues + cd ${pkgdir}/usr/lib + ln -sv /lib/libreadline.so . + ln -sv /lib/libhistory.so . +} diff --git a/testing/readline/inputrc b/testing/readline/inputrc new file mode 100644 index 000000000..fd13a673b --- /dev/null +++ b/testing/readline/inputrc @@ -0,0 +1,36 @@ +# do not bell on tab-completion +#set bell-style none + +set meta-flag on +set input-meta on +set convert-meta off +set output-meta on + +$if mode=emacs + +# for linux console and RH/Debian xterm +"\e[1~": beginning-of-line +"\e[4~": end-of-line +"\e[5~": beginning-of-history +"\e[6~": end-of-history +"\e[7~": beginning-of-line +"\e[3~": delete-char +"\e[2~": quoted-insert +"\e[5C": forward-word +"\e[5D": backward-word +"\e\e[C": forward-word +"\e\e[D": backward-word +"\e[1;5C": forward-word +"\e[1;5D": backward-word + +# for rxvt +"\e[8~": end-of-line + +# for non RH/Debian xterm, can't hurt for RH/DEbian xterm +"\eOH": beginning-of-line +"\eOF": end-of-line + +# for freebsd console +"\e[H": beginning-of-line +"\e[F": end-of-line +$endif diff --git a/testing/readline/readline.install b/testing/readline/readline.install new file mode 100644 index 000000000..06b646f23 --- /dev/null +++ b/testing/readline/readline.install @@ -0,0 +1,17 @@ +infodir=usr/share/info +filelist=(history.info readline.info rluserman.info) + +post_upgrade() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + diff --git a/testing/rpcbind/PKGBUILD b/testing/rpcbind/PKGBUILD new file mode 100644 index 000000000..c7600e76c --- /dev/null +++ b/testing/rpcbind/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 141984 2011-11-03 20:14:20Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> + +pkgname=rpcbind +pkgver=0.2.0 +pkgrel=5 +pkgdesc="portmap replacement which supports RPC over various protocols" +arch=(i686 x86_64) +depends=('bash' 'glibc' 'libtirpc') +url="http://rpcbind.sourceforge.net" +license=('custom') +replaces=('portmap') +source=(http://downloads.sourceforge.net/sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2 + rpcbind-sunrpc.patch + rpcbind) +md5sums=('1a77ddb1aaea8099ab19c351eeb26316' + 'c02ac36a98baac70b8a26190524b7b73' + '78a963654f57cbb209e228884767836e') + +build() { + cd $srcdir/$pkgname-$pkgver + # patch for iana services file + patch -Np1 -i ../rpcbind-sunrpc.patch + ./configure --prefix=/usr + make +} + +check() { + cd $srcdir/$pkgname-$pkgver + make check +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + # install missing man page - https://bugs.archlinux.org/task/21271 + install -m644 man/rpcinfo.8 $pkgdir/usr/share/man/man8/ + # install daemon + install -D -m755 $srcdir/rpcbind $pkgdir/etc/rc.d/rpcbind + # install license + install -D -m644 COPYING $pkgdir/usr/share/licenses/rpcbind/COPYING +} diff --git a/testing/rpcbind/rpcbind b/testing/rpcbind/rpcbind new file mode 100755 index 000000000..87c5b50da --- /dev/null +++ b/testing/rpcbind/rpcbind @@ -0,0 +1,39 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID="$(pidof -o %PPID /usr/bin/rpcbind)" +case "$1" in + start) + stat_busy "Starting rpcbind" + [ -z "$PID" ] && /usr/bin/rpcbind &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + PID=$(pidof -o %PPID /usr/bin/rpcbind) + echo $PID > /var/run/rpcbind.pid + add_daemon rpcbind + stat_done + fi + ;; + stop) + stat_busy "Stopping rpcbind" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/rpcbind.pid + rm_daemon rpcbind + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/rpcbind/rpcbind-sunrpc.patch b/testing/rpcbind/rpcbind-sunrpc.patch new file mode 100644 index 000000000..76cf54ba9 --- /dev/null +++ b/testing/rpcbind/rpcbind-sunrpc.patch @@ -0,0 +1,22 @@ +--- rpcbind-0.1.7/src/rpcbind.c.orig 2008-11-19 14:17:34.000000000 +0100 ++++ rpcbind-0.1.7/src/rpcbind.c 2010-01-07 13:03:37.416632894 +0100 +@@ -114,7 +114,7 @@ + char *udp_uaddr; /* Universal UDP address */ + char *tcp_uaddr; /* Universal TCP address */ + #endif +-static char servname[] = "rpcbind"; ++static char servname[] = "sunrpc"; + static char superuser[] = "superuser"; + + int main __P((int, char *[])); +--- rpcbind-0.1.7/src/rpcinfo.c~ 2010-01-08 16:14:24.592156602 +0000 ++++ rpcbind-0.1.7/src/rpcinfo.c 2010-01-08 16:14:31.578838609 +0000 +@@ -633,7 +633,7 @@ + { + memset (&hints, 0, sizeof hints); + hints.ai_family = AF_INET; +- if ((error = getaddrinfo (host, "rpcbind", &hints, &res)) != 0 && ++ if ((error = getaddrinfo (host, "sunrpc", &hints, &res)) != 0 && + (error = getaddrinfo (host, "portmapper", &hints, &res)) != 0) + { + fprintf (stderr, "rpcinfo: %s: %s\n", diff --git a/testing/sed/PKGBUILD b/testing/sed/PKGBUILD new file mode 100644 index 000000000..1fb61309d --- /dev/null +++ b/testing/sed/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 141951 2011-11-03 13:36:47Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=sed +pkgver=4.2.1 +pkgrel=4 +pkgdesc="GNU stream editor" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/sed" +license=('GPL3') +groups=('base') +depends=('acl' 'sh') +makedepends=('gettext') +install=sed.install +source=(ftp://ftp.gnu.org/pub/gnu/sed/${pkgname}-${pkgver}.tar.gz{,.sig}) +md5sums=('f0fd4d7da574d4707e442285fd2d3b86' + '91871b227dbf0916e019ba1fb0fbfdf3') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr --bindir=/bin --without-included-regex + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/sed/sed.install b/testing/sed/sed.install new file mode 100644 index 000000000..c0524038b --- /dev/null +++ b/testing/sed/sed.install @@ -0,0 +1,20 @@ +infodir=/usr/share/info +filelist=(sed.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/testing/sysfsutils/PKGBUILD b/testing/sysfsutils/PKGBUILD new file mode 100644 index 000000000..fd238c0c4 --- /dev/null +++ b/testing/sysfsutils/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 141986 2011-11-03 20:17:26Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> + +pkgname=sysfsutils +pkgver=2.1.0 +pkgrel=7 +pkgdesc="System Utilities Based on Sysfs" +arch=(i686 x86_64) +license=('GPL' 'LGPL') +url="http://linux-diag.sourceforge.net/Sysfsutils.html" +groups=('base') +depends=('glibc') +source=(http://downloads.sourceforge.net/sourceforge/linux-diag/${pkgname}-${pkgver}.tar.gz) +md5sums=('14e7dcd0436d2f49aa403f67e1ef7ddc') +options=(!libtool) + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --mandir=/usr/share/man + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + cd "${pkgdir}" + mkdir -v lib + mv -v usr/lib/libsysfs.so.2* lib/ + ln -svf ../../lib/libsysfs.so.2 usr/lib/libsysfs.so +} diff --git a/testing/tar/PKGBUILD b/testing/tar/PKGBUILD new file mode 100644 index 000000000..4ebcbd5fd --- /dev/null +++ b/testing/tar/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 141953 2011-11-03 14:13:05Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Andreas Radke <andyrtr@archlinux.org> + +pkgname=tar +pkgver=1.26 +pkgrel=2 +pkgdesc="Utility used to store, backup, and transport files" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/tar/tar.html" +license=('GPL3') +groups=('base') +depends=('glibc' 'sh') +options=('!emptydirs') +install=tar.install +source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} + tar.1) +md5sums=('0ced6f20b9fa1bea588005b5ad4b52c1' + '6618d5fe7785e138c27d7d6a24e998b2' + 'e97e7343f4e23724b4c48bca2f033e38') + +build() { + cd ${srcdir}/$pkgname-$pkgver + + ./configure --prefix=/usr --libexecdir=/usr/lib/tar --bindir=/bin + make +} + +check() { + cd ${srcdir}/$pkgname-$pkgver + make check +} + +package() { + cd ${srcdir}/$pkgname-$pkgver + make DESTDIR=${pkgdir} install + install -Dm644 ${srcdir}/tar.1 ${pkgdir}/usr/share/man/man1/tar.1 +} diff --git a/testing/tar/tar.1 b/testing/tar/tar.1 new file mode 100644 index 000000000..75bbcd38c --- /dev/null +++ b/testing/tar/tar.1 @@ -0,0 +1,367 @@ +.\" generated by script on Fri Aug 19 16:19:30 2011 +.Dd Aug 19, 2011 +.Dt TAR 1 +.Sh NAME +.Nm tar +.Nd The GNU version of the tar archiving utility +.Sh SYNOPSIS +.Nm tar +.Oo Fl Oc Cm A Fl \-catenate \-concatenate Cm \||\| c Fl \-create Cm \||\| d Fl \-diff \-compare Cm \||\| Fl \-delete Cm \||\| r Fl \-append Cm \||\| t Fl \-list Cm \||\| Fl \-test\-label Cm \||\| u Fl \-update Cm \||\| x Fl \-extract \-get +.Op Ar options +.Op Ar pathname ... +.Sh DESCRIPTION +.Nm Tar +stores and extracts files from a tape or disk archive. +.Pp +The first argument to +tar +should be a function; either one of the letters +.Cm Acdrtux , +or one of the long function names. +A function letter need not be prefixed with ``\-'', and may be combined +with other single-letter options. +A long function name must be prefixed with +.Cm \\-\\- . +Some options take a parameter; with the single-letter form +these must be given as separate arguments. +With the long form, they may be given by appending +.Cm = Ns Ar value +to the option. +.Sh FUNCTION LETTERS +Main operation mode: +.Bl -tag -width flag +.It Fl A , Fl \-catenate , Fl \-concatenate +append tar files to an archive +.It Fl c , Fl \-create +create a new archive +.It Fl d , Fl \-diff , Fl \-compare +find differences between archive and file system +.It Fl \-delete +delete from the archive (not on mag tapes!) +.It Fl r , Fl \-append +append files to the end of an archive +.It Fl t , Fl \-list +list the contents of an archive +.It Fl \-test\-label +test the archive volume label and exit +.It Fl u , Fl \-update +only append files newer than copy in archive +.It Fl x , Fl \-extract , Fl \-get +extract files from an archive +.El +.Sh OTHER OPTIONS +Operation modifiers: +.Bl -tag -width flag +.It \-[0\-7][lmh] +specify drive and density +.It Fl a , Fl \-auto\-compress +use archive suffix to determine the compression program +.It Fl \-add\-file Ns \= Ns Ar FILE +add given FILE to the archive (useful if its name starts with a dash) +.It Fl \-anchored +patterns match file name start +.It Fl \-no\-anchored +patterns match after any `/' (default for exclusion) +.It Fl \-atime\-preserve +preserve access times on dumped files, either by restoring the times +.It Fl \-no\-auto\-compress +do not use archive suffix to determine the compression program +.It Fl b , Fl \-blocking\-factor Ar BLOCKS +BLOCKS x 512 bytes per record +.It Fl B , Fl \-read\-full\-records +reblock as we read (for 4.2BSD pipes) +.It Fl \-backup +backup before removal, choose version CONTROL +.It Fl C , Fl \-directory Ar DIR +change to directory DIR +.It Fl \-check\-device +check device numbers when creating incremental archives (default) +.It Fl \-no\-check\-device +do not check device numbers when creating incremental archives +.It Fl \-checkpoint +display progress messages every NUMBERth record (default 10) +.It Fl \-checkpoint\-action Ns \= Ns Ar ACTION +execute ACTION on each checkpoint +.It Fl \-delay\-directory\-restore +delay setting modification times and permissions of extracted +.It Fl \-no\-delay\-directory\-restore +cancel the effect of --delay-directory-restore option +.It Fl \-exclude Ns \= Ns Ar PATTERN +exclude files, given as a PATTERN +.It Fl \-exclude\-backups +exclude backup and lock files +.It Fl \-exclude\-caches +exclude contents of directories containing CACHEDIR.TAG, +.It Fl \-exclude\-caches\-all +exclude directories containing CACHEDIR.TAG +.It Fl \-exclude\-caches\-under +exclude everything under directories containing CACHEDIR.TAG +.It Fl \-exclude\-tag Ns \= Ns Ar FILE +exclude contents of directories containing FILE, except +.It Fl \-exclude\-tag\-all Ns \= Ns Ar FILE +exclude directories containing FILE +.It Fl \-exclude\-tag\-under Ns \= Ns Ar FILE +exclude everything under directories containing FILE +.It Fl \-exclude\-vcs +exclude version control system directories +.It Fl f , Fl \-file Ar ARCHIVE +use archive file or device ARCHIVE +.It Fl F , Fl \-info\-script , Fl \-new\-volume\-script Ar NAME +run script at end of each tape (implies -M) +.It Fl \-force\-local +archive file is local even if it has a colon +.It Fl \-full\-time +print file time to its full resolution +.It Fl g , Fl \-listed\-incremental Ar FILE +handle new GNU-format incremental backup +.It Fl G , Fl \-incremental +handle old GNU-format incremental backup +.It Fl \-group Ns \= Ns Ar NAME +force NAME as group for added files +.It Fl h , Fl \-dereference +follow symlinks; archive and dump the files they point to +.It Fl H , Fl \-format Ar FORMAT +create archive of the given formatFORMAT is one of the following: +.Bl -tag -width flag +.It Fl \-format=gnu +GNU tar 1.13.x format +.It Fl \-format=oldgnu +GNU format as per tar <= 1.12 +.It Fl \-format=pax +POSIX 1003.1-2001 (pax) format +.It Fl \-format=posix +same as pax +.It Fl \-format=ustar +POSIX 1003.1-1988 (ustar) format +.It Fl \-format=v7 +old V7 tar format +.El +.It Fl \-hard\-dereference +follow hard links; archive and dump the files they refer to +.It Fl i , Fl \-ignore\-zeros +ignore zeroed blocks in archive (means EOF) +.It Fl I , Fl \-use\-compress\-program Ar PROG +filter through PROG (must accept -d) +.It Fl \-ignore\-case +ignore case +.It Fl \-no\-ignore\-case +case sensitive matching (default) +.It Fl \-ignore\-command\-error +ignore exit codes of children +.It Fl \-no\-ignore\-command\-error +treat non-zero exit codes of children as error +.It Fl \-ignore\-failed\-read +do not exit with nonzero on unreadable files +.It Fl \-index\-file Ns \= Ns Ar FILE +send verbose output to FILE +.It Fl j , Fl \-bzip2 + +.It Fl J , Fl \-xz + +.It Fl k , Fl \-keep\-old\-files +don't replace existing files when extracting +.It Fl K , Fl \-starting\-file Ar MEMBER-NAME +begin at member MEMBER-NAME in the archive +.It Fl \-keep\-newer\-files +don't replace existing files that are newer than their archive copies +.It Fl l , Fl \-check\-links +print a message if not all links are dumped +.It Fl L , Fl \-tape\-length Ar NUMBER +change tape after writing NUMBER x 1024 bytes +.It Fl \-level Ns \= Ns Ar NUMBER +dump level for created listed-incremental archive +.It Fl \-lzip + +.It Fl \-lzma + +.It Fl \-lzop + +.It Fl m , Fl \-touch +don't extract file modified time +.It Fl M , Fl \-multi\-volume +create/list/extract multi-volume archive +.It Fl \-mode Ns \= Ns Ar CHANGES +force (symbolic) mode CHANGES for added files +.It Fl \-mtime Ns \= Ns Ar DATE-OR-FILE +set mtime for added files from DATE-OR-FILE +.It Fl n , Fl \-seek +archive is seekable +.It Fl N , Fl \-newer , Fl \-after\-date Ar DATE-OR-FILE +only store files newer than DATE-OR-FILE +.It Fl \-newer\-mtime Ns \= Ns Ar DATE +compare date and time when data changed only +.It Fl \-null +-T reads null-terminated names, disable -C +.It Fl \-no\-null +disable the effect of the previous --null option +.It Fl \-numeric\-owner +always use numbers for user/group names +.It Fl O , Fl \-to\-stdout +extract files to standard output +.It Fl \-occurrence +process only the NUMBERth occurrence of each file in the archive; +.It Fl \-old\-archive , Fl \-portability +same as --format=v7 +.It Fl \-one\-file\-system +stay in local file system when creating archive +.It Fl \-overwrite +overwrite existing files when extracting +.It Fl \-overwrite\-dir +overwrite metadata of existing directories when extracting (default) +.It Fl \-no\-overwrite\-dir +preserve metadata of existing directories +.It Fl \-owner Ns \= Ns Ar NAME +force NAME as owner for added files +.It Fl p , Fl \-preserve\-permissions , Fl \-same\-permissions +extract information about file permissions (default for superuser) +.It Fl P , Fl \-absolute\-names +don't strip leading `/'s from file names +.It Fl \-pax\-option Ns \= Ns Ar keyword[[:]=value][,keyword[[:]=value]]... +control pax keywords +.It Fl \-posix +same as --format=posix +.It Fl \-preserve +same as both -p and -s +.It Fl \-quote\-chars Ns \= Ns Ar STRING +additionally quote characters from STRING +.It Fl \-no\-quote\-chars Ns \= Ns Ar STRING +disable quoting for characters from STRING +.It Fl \-quoting\-style Ns \= Ns Ar STYLE +set name quoting style; see below for valid STYLE values +.It Fl R , Fl \-block\-number +show block number within archive with each message +.It Fl \-record\-size Ns \= Ns Ar NUMBER +NUMBER of bytes per record, multiple of 512 +.It Fl \-recursion +recurse into directories (default) +.It Fl \-no\-recursion +avoid descending automatically in directories +.It Fl \-recursive\-unlink +empty hierarchies prior to extracting directory +.It Fl \-remove\-files +remove files after adding them to the archive +.It Fl \-restrict +disable use of some potentially harmful options +.It Fl \-rmt\-command Ns \= Ns Ar COMMAND +use given rmt COMMAND instead of rmt +.It Fl \-rsh\-command Ns \= Ns Ar COMMAND +use remote COMMAND instead of rsh +.It Fl s , Fl \-preserve\-order , Fl \-same\-order +sort names to extract to match archive +.It Fl S , Fl \-sparse +handle sparse files efficiently +.It Fl \-same\-owner +try extracting files with the same ownership as exists in the archive (default for superuser) +.It Fl \-no\-same\-owner +extract files as yourself (default for ordinary users) +.It Fl \-no\-same\-permissions +apply the user's umask when extracting permissions from the archive (default for ordinary users) +.It Fl \-no\-seek +archive is not seekable +.It Fl \-show\-defaults +show tar defaults +.It Fl \-show\-omitted\-dirs +when listing or extracting, list each directory that does not match search criteria +.It Fl \-show\-transformed\-names , Fl \-show\-stored\-names +show file or archive names after transformation +.It Fl \-sparse\-version Ns \= Ns Ar MAJOR[.MINOR] +set version of the sparse format to use (implies --sparse) +.It Fl \-strip\-components Ns \= Ns Ar NUMBER +strip NUMBER leading components from file names on extraction +.It Fl \-suffix Ns \= Ns Ar STRING +backup before removal, override usual suffix ('~' unless overridden by environment variable SIMPLE_BACKUP_SUFFIX) +.It Fl T , Fl \-files\-from Ar FILE +get names to extract or create from FILE +.It Fl \-to\-command Ns \= Ns Ar COMMAND +pipe extracted files to another program +.It Fl \-totals +print total bytes after processing the archive; +.It Fl \-transform , Fl \-xform Ar EXPRESSION +use sed replace EXPRESSION to transform file names +.It Fl U , Fl \-unlink\-first +remove each file prior to extracting over it +.It Fl \-unquote +unquote filenames read with -T (default) +.It Fl \-no\-unquote +do not unquote filenames read with -T +.It Fl \-utc +print file modification times in UTC +.It Fl v , Fl \-verbose +verbosely list files processed +.It Fl V , Fl \-label Ar TEXT +create archive with volume name TEXT; at list/extract time, use TEXT as a globbing pattern for volume name +.It Fl \-volno\-file Ns \= Ns Ar FILE +use/update the volume number in FILE +.It Fl w , Fl \-interactive , Fl \-confirmation +ask for confirmation for every action +.It Fl W , Fl \-verify +attempt to verify the archive after writing it +.It Fl \-warning Ns \= Ns Ar KEYWORD +warning control +.It Fl \-wildcards +use wildcards (default for exclusion) +.It Fl \-wildcards\-match\-slash +wildcards match `/' (default for exclusion) +.It Fl \-no\-wildcards\-match\-slash +wildcards do not match `/' +.It Fl \-no\-wildcards +verbatim string matching +.It Fl X , Fl \-exclude\-from Ar FILE +exclude patterns listed in FILE +.It Fl z , Fl \-gzip , Fl \-gunzip Fl \-ungzip + +.It Fl Z , Fl \-compress , Fl \-uncompress + +.El +.Sh ENVIRONMENT +The behavior of tar is controlled by the following environment variables, +among others: +.Bl -tag -width Ds +.It Ev SIMPLE_BACKUP_SUFFIX +Backup prefix to use when extracting, if +.Fl \-suffix +is not specified. +The backup suffix defaults to `~' if neither is specified. +.It Ev TAR_OPTIONS +Options to prepend to those specified on the command line, separated by +whitespace. Embedded backslashes may be used to escape whitespace or +backslashes within an option. +.It Ev TAPE +Device or file to use for the archive if +.Fl \-file +is not specified. +If this environment variable is unset, use stdin or stdout instead. +.It Ev TAR_LONGLINK_100 +.El +.Sh EXAMPLES +Create archive.tar from files foo and bar. +.Bd -literal -offset indent -compact +tar \-cf archive.tar foo bar +.Ed +List all files in archive.tar verbosely. +.Bd -literal -offset indent -compact +tar \-tvf archive.tar +.Ed +Extract all files from archive.tar. +.Bd -literal -offset indent -compact +tar \-xf archive.tar +.Ed +.Sh SEE ALSO +.\" libarchive +.Xr tar 5 , +.\" man-pages +.Xr symlink 7 , +.Xr rmt 8 +.Sh HISTORY +The +.Nm tar +command appeared in +.At v7 . +.Sh BUGS +The GNU folks, in general, abhor man pages, and create info documents instead. +Unfortunately, the info document describing tar is licensed under the GFDL with +invariant cover texts, which makes it impossible to include any text +from that document in this man page. +Most of the text in this document was automatically extracted from the usage +text in the source. +It may not completely describe all features of the program. diff --git a/testing/tar/tar.install b/testing/tar/tar.install new file mode 100644 index 000000000..8de1f9766 --- /dev/null +++ b/testing/tar/tar.install @@ -0,0 +1,21 @@ +infodir=usr/share/info +filelist=(tar.info tar.info-1 tar.info-2) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + diff --git a/testing/texinfo/PKGBUILD b/testing/texinfo/PKGBUILD new file mode 100644 index 000000000..b5120227e --- /dev/null +++ b/testing/texinfo/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 141955 2011-11-03 14:24:19Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> + +pkgname=texinfo +pkgver=4.13a +pkgrel=6 +pkgdesc="Utilities to work with and produce manuals, ASCII text, and on-line documentation from a single source file" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/texinfo/" +license=('GPL3') +groups=('base') +depends=('ncurses' 'findutils' 'gzip') +install=texinfo.install +source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}) +md5sums=('71ba711519209b5fb583fed2b3d86fcb' + 'db2ca82c831684cd7cef181234017c46') + +build() { + cd ${srcdir}/${pkgname}-4.13 + ./configure --prefix=/usr + make +} + +package() { + cd ${srcdir}/${pkgname}-4.13 + make DESTDIR=${pkgdir} install + + # fix this here as it prevents make from trying to rebuild manual pages + sed -i 's#A-z#A-Za-z#' ${pkgdir}/usr/bin/texi2dvi +} diff --git a/testing/texinfo/texinfo.install b/testing/texinfo/texinfo.install new file mode 100644 index 000000000..f1554e4f4 --- /dev/null +++ b/testing/texinfo/texinfo.install @@ -0,0 +1,21 @@ +infodir=usr/share/info +filelist=(info.info info-stnd.info texinfo texinfo-1 texinfo-2 texinfo-3) + +post_install() { + # Scan *all* info files on install + for file in $(find $infodir -type f ! -name dir); do + install-info $file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/testing/which/PKGBUILD b/testing/which/PKGBUILD new file mode 100644 index 000000000..a5f893aaa --- /dev/null +++ b/testing/which/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 141957 2011-11-03 14:30:48Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Andreas Radke <andyrtr@archlinux.org> + +pkgname=which +pkgver=2.20 +pkgrel=5 +pkgdesc="A utility to show the full path of commands" +arch=('i686' 'x86_64') +url="http://www.xs4all.nl/~carlo17/which" +license=('GPL3') +groups=('base') +depends=('glibc' 'sh') +install=which.install +source=(http://www.xs4all.nl/~carlo17/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('95be0501a466e515422cde4af46b2744') + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/testing/which/which.install b/testing/which/which.install new file mode 100644 index 000000000..167e2506e --- /dev/null +++ b/testing/which/which.install @@ -0,0 +1,20 @@ +infodir=/usr/share/info +filelist=(which.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} diff --git a/testing/xfsprogs/PKGBUILD b/testing/xfsprogs/PKGBUILD new file mode 100644 index 000000000..c062147da --- /dev/null +++ b/testing/xfsprogs/PKGBUILD @@ -0,0 +1,29 @@ +# $Id: PKGBUILD 141990 2011-11-03 20:33:03Z tpowa $ +# Maintainer: Paul Mattal <paul@archlinux.org> +pkgname=xfsprogs +pkgver=3.1.6 +pkgrel=1 +pkgdesc="XFS filesystem utilities" +arch=('i686' 'x86_64') +license=('LGPL') +url="http://oss.sgi.com/projects/xfs/" +groups=('base') +depends=('util-linux-ng>=2.16') +options=('!makeflags' '!libtool') +# We mirror the sources as upstream tends to move them once a new release is out +source=("ftp://ftp.archlinux.org/other/xfsprogs/${pkgname}-${pkgver}.tar.gz") +md5sums=('fbd2c1c5abed4b11047bea6ce53bc6e4') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + export OPTIMIZER="-march=${CARCH/_/-} -O1" + export DEBUG=-DNDEBUG + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DIST_ROOT="${pkgdir}" install install-dev + chown -R root $pkgdir + chgrp -R root $pkgdir +} diff --git a/testing/xinetd/PKGBUILD b/testing/xinetd/PKGBUILD new file mode 100644 index 000000000..5a2935c13 --- /dev/null +++ b/testing/xinetd/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 141988 2011-11-03 20:19:56Z tpowa $ +# Maintainer: +# Contributor: Judd <jvinet@zeroflux.org> + +pkgname=xinetd +pkgver=2.3.14 +pkgrel=8 +pkgdesc="A secure replacement for inetd" +arch=('i686' 'x86_64') +url="http://www.xinetd.org/" +license=('custom') +optdepends=('perl: for xconv.pl script') +backup=('etc/xinetd.conf' 'etc/xinetd.d/servers' 'etc/xinetd.d/services') +source=(http://www.xinetd.org/xinetd-$pkgver.tar.gz + xinetd.conf + xinetd + servers + services) +md5sums=('567382d7972613090215c6c54f9b82d9' + 'f109f699a07bc8cfb5791060f5e87f9e' + 'ea37a2794f202e6b953d9b6956dad16a' + '21f47b4aa20921cfaddddd9f9a407f81' + '9fa2061dc7dd738c8424251deb86f81e') + +build() { + cd $srcdir/$pkgname-$pkgver + sed -i "s#${prefix}/man#${prefix}/share/man#" configure + ./configure --prefix=/usr --without-libwrap + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make prefix=$pkgdir/usr install + + install -Dm755 $srcdir/xinetd $pkgdir/etc/rc.d/xinetd + install -Dm644 $srcdir/xinetd.conf $pkgdir/etc/xinetd.conf + install -Dm644 $srcdir/servers $pkgdir/etc/xinetd.d/servers + install -Dm644 $srcdir/services $pkgdir/etc/xinetd.d/services + + # install license + install -Dm644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/COPYRIGHT +} diff --git a/testing/xinetd/servers b/testing/xinetd/servers new file mode 100644 index 000000000..f064c8d7a --- /dev/null +++ b/testing/xinetd/servers @@ -0,0 +1,10 @@ +service servers +{ + type = INTERNAL UNLISTED + port = 9099 + socket_type = stream + protocol = tcp + wait = no + disable = yes + only_from = 127.0.0.1 +} diff --git a/testing/xinetd/services b/testing/xinetd/services new file mode 100644 index 000000000..4ea304c4f --- /dev/null +++ b/testing/xinetd/services @@ -0,0 +1,10 @@ +service services +{ + type = INTERNAL UNLISTED + port = 9098 + socket_type = stream + protocol = tcp + wait = no + disable = yes + only_from = 127.0.0.1 +} diff --git a/testing/xinetd/xinetd b/testing/xinetd/xinetd new file mode 100755 index 000000000..4b8fa369a --- /dev/null +++ b/testing/xinetd/xinetd @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/xinetd` +case "$1" in + start) + stat_busy "Starting xinetd" + [ -z "$PID" ] && /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid + if [ $? -gt 0 ]; then + stat_fail + else + echo $PID > /var/run/xinetd.pid + add_daemon xinetd + stat_done + fi + ;; + stop) + stat_busy "Stopping xinetd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm -f /var/run/xinetd.pid + rm_daemon xinetd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/xinetd/xinetd.conf b/testing/xinetd/xinetd.conf new file mode 100644 index 000000000..b15d9f649 --- /dev/null +++ b/testing/xinetd/xinetd.conf @@ -0,0 +1,14 @@ +# +# /etc/xinetd.conf +# + +defaults +{ + instances = 60 + log_type = SYSLOG authpriv + log_on_success = HOST PID + log_on_failure = HOST + cps = 25 30 +} + +includedir /etc/xinetd.d diff --git a/~mtjm/h-client/PKGBUILD b/~mtjm/h-client/PKGBUILD index 81b0c0a92..a92c2eb6d 100644 --- a/~mtjm/h-client/PKGBUILD +++ b/~mtjm/h-client/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: MichaÅ‚ MasÅ‚owski <mtjm@mtjm.eu> pkgname=h-client -_pkgver=0.0a0.dev-r26 +_pkgver=0.0a0.dev-r50 pkgver=${_pkgver/-/.} pkgrel=1 pkgdesc="A client for an h-source server (such as http://www.h-node.com)" @@ -12,10 +12,18 @@ depends=('python2' 'python2-distribute' 'python-pycurl' 'pygtk') options=(!emptydirs) # Official source is in SVN, this is made by "python2 setup.py sdist". source=("http://mtjm.eu/releases/hclient-${_pkgver}.tar.gz") -md5sums=('1dee91bbd4f5985b986e21953a05c477') +sha512sums=('fa9c494d32d900bf34d9af1a68e79abbffb29380fbc1812290130e4183b496c1c29f09da216ada7898d69c8ecda58621862507672193cc4fd14ce942dfb7c986') + +check() { + cd "$srcdir/hclient-${_pkgver}" + python2 setup.py test +} package() { cd "$srcdir/hclient-${_pkgver}" + # Remove tests, they aren't useful after installation. + rm -rf {,build/lib/}tests_hclient + rm -rf {,build/lib/}hclient.egg-info python2 setup.py install --root="$pkgdir/" --optimize=1 } |