diff options
Diffstat (limited to 'testing')
205 files changed, 12519 insertions, 11 deletions
diff --git a/testing/alsa-plugins/PKGBUILD b/testing/alsa-plugins/PKGBUILD new file mode 100644 index 000000000..d99886d38 --- /dev/null +++ b/testing/alsa-plugins/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 142131 2011-11-05 11:37:29Z ibiru $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: Daniel Ehlers <danielehlers@mindeye.net> + +pkgname=alsa-plugins +pkgver=1.0.24 +pkgrel=3 +pkgdesc="Extra alsa plugins" +arch=(i686 x86_64) +url="http://www.alsa-project.org" +license=(GPL) +depends=(alsa-lib) +makedepends=(libpulse jack ffmpeg) +optdepends=('libpulse: PulseAudio plugin' + 'jack: Jack plugin' + 'ffmpeg: libavcodec resampling plugin' + 'libsamplerate: libsamplerate resampling plugin' + 'speex: libspeexdsp resampling plugin') +options=('!libtool') +source=("ftp://ftp.alsa-project.org/pub/plugins/$pkgname-$pkgver.tar.bz2") +md5sums=('e4d4c90e11ab9d1a117afbbc1edd2b16') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + mkdir -p "$pkgdir/usr/share/doc/$pkgname" + install -m644 doc/README* doc/*.txt "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/testing/amarok/PKGBUILD b/testing/amarok/PKGBUILD new file mode 100644 index 000000000..7de2e8563 --- /dev/null +++ b/testing/amarok/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 142133 2011-11-05 11:37:31Z ibiru $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: damir <damir@archlinux.org> + +pkgname=amarok +replaces=('amarok-base' 'amarok-engine-xine' 'amarok-base-mysqlfree') +pkgver=2.4.3 +pkgrel=2 +pkgdesc="The powerful music player for KDE" +arch=("i686" "x86_64") +url="http://amarok.kde.org" +license=('GPL2' 'LGPL2.1' 'FDL') +depends=('kdebase-runtime' 'mysql' 'qtscriptgenerator' 'taglib-extras' + 'liblastfm' 'ffmpeg' 'libofa' 'qjson') +makedepends=('pkgconfig' 'automoc4' 'cmake' 'libgpod' 'libmtp' 'loudmouth' + 'libmygpo-qt') +optdepends=("libgpod: support for Apple iPod audio devices" + "libmtp: support for portable media devices" + "loudmouth: backend needed by mp3tunes for syncing" + "ifuse: support for Apple iPod Touch and iPhone" + "libmygpo-qt: gpodder.net Internet Service") +install="${pkgname}.install" +source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2") +md5sums=('24e8141bcbd065448911fa872c50197d') + +build() { + cd "${srcdir}" + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr + make +} + +package(){ + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install +} diff --git a/testing/amarok/amarok.install b/testing/amarok/amarok.install new file mode 100644 index 000000000..81ce5c4b0 --- /dev/null +++ b/testing/amarok/amarok.install @@ -0,0 +1,12 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/avidemux/PKGBUILD b/testing/avidemux/PKGBUILD new file mode 100644 index 000000000..1878008b1 --- /dev/null +++ b/testing/avidemux/PKGBUILD @@ -0,0 +1,120 @@ +# $Id: PKGBUILD 142119 2011-11-05 11:37:15Z ibiru $ +# Maintainer: Eric BĂ©langer <eric@archlinux.org> + +pkgbase=avidemux +pkgname=('avidemux-cli' 'avidemux-gtk' 'avidemux-qt') +pkgver=2.5.5 +pkgrel=5 +arch=('i686' 'x86_64') +license=('GPL') +url="http://fixounet.free.fr/avidemux/" +makedepends=('cmake' 'libxslt' 'gtk2' 'qt' 'jack' 'libvorbis' 'sdl' 'libxv' \ + 'alsa-lib' 'lame' 'xvidcore' 'faad2' 'faac' 'x264' 'libsamplerate' \ + 'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse') +source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz + avidemux-2.5.4-x264-build115.patch) +md5sums=('33bbe210c6826cea1987ed18a41d57a7' + '24a18b53a58b678b9e87d30566985751') + +build() { + cd "${srcdir}/${pkgbase}_${pkgver}" + + patch -Np1 -i "${srcdir}/avidemux-2.5.4-x264-build115.patch" + + mkdir build + cd build + cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_RPATH=ON -D GTK=1 -D QT4=1 .. + make + +# plugin build expects libraries to be already installed; we fake a prefix +# in build/ by symlinking all libraries to build/lib/ + mkdir -p lib + cd lib + find ../avidemux -name '*.so*' | xargs ln -sft . + cd ../../plugins + mkdir build + cd build + cmake -D CMAKE_INSTALL_PREFIX=/usr -D AVIDEMUX_SOURCE_DIR="${srcdir}/avidemux_${pkgver}" \ + -D AVIDEMUX_CORECONFIG_DIR="${srcdir}/avidemux_${pkgver}/build/config" \ + -D AVIDEMUX_INSTALL_PREFIX="${srcdir}/avidemux_${pkgver}/build" \ + -D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_RPATH=ON .. + make +} + +package_avidemux-cli() { + pkgdesc="A graphical tool to edit video (filter/re-encode/split)" + depends=('libxml2' 'sdl' 'fontconfig' 'libvpx') + optdepends=('lame: for the corresponding audio encoder plugin' + 'faac: for the corresponding audio encoder plugin' + 'faad2: for the corresponding audio decoder plugin' + 'opencore-amr: for the corresponding audio decoder plugin' + 'jack: for the corresponding audio device plugin' + 'libpulse: for the corresponding audio device plugin' + 'sdl: for the corresponding audio device plugin' + 'x264: for the corresponding video encoder plugin' + 'xvidcore: for the corresponding video encoder plugin') + provides=('avidemux') + conflicts=('avidemux') + replaces=('avidemux') + + cd "${srcdir}/${pkgbase}_${pkgver}/build" + make DESTDIR="${pkgdir}" install + + cd "${srcdir}/${pkgbase}_${pkgver}/plugins/build" + make DESTDIR="${pkgdir}" install + rm -r "${pkgdir}"/usr/share/avidemux + rm "${pkgdir}"/usr/bin/avidemux2_{gtk,qt4} + rm "${pkgdir}"/usr/lib/*{_gtk,_qt4,Gtk,QT4}.so + rm "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/x264/*{Gtk,Qt}.so + rm "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/xvid/*{Gtk,Qt}.so + rm "${pkgdir}"/usr/lib/ADM_plugins/videoFilter/*{_gtk,_qt4}.so + + ln -s /usr/lib/ADM_plugins/videoEncoder/libADM_vidEnc_xvid.so "${pkgdir}/usr/lib/libADM_vidEnc_xvid.so" + ln -s /usr/lib/ADM_plugins/videoEncoder/libADM_vidEnc_x264.so "${pkgdir}/usr/lib/libADM_vidEnc_x264.so" + + install -D -m644 ../../avidemux_icon.png "${pkgdir}/usr/share/pixmaps/avidemux.png" + install -D -m644 ../../man/avidemux.1 "${pkgdir}/usr/share/man/man1/avidemux.1" +} + +package_avidemux-gtk() { + pkgdesc="A graphical tool to edit video (filter/re-encode/split) - GTK GUI" + depends=("avidemux-cli=${pkgver}" 'gtk2' 'libxv' 'desktop-file-utils') + install=avidemux.install + + cd "${srcdir}/${pkgbase}_${pkgver}" + install -D -m755 build/avidemux/avidemux2_gtk "${pkgdir}/usr/bin/avidemux2_gtk" + + install -d "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/{x264,xvid} + install -d "${pkgdir}"/usr/lib/ADM_plugins/videoFilter + + install -D -m755 build/lib/*{_gtk,Gtk}.so "${pkgdir}/usr/lib" + install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_x264/gtk/*Gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/x264" + install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_xvid/gtk/*Gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/xvid" + install -D -m755 plugins/build/ADM_videoFilters/*/*_gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoFilter" + + install -D -m644 avidemux2-gtk.desktop "${pkgdir}/usr/share/applications/avidemux-gtk.desktop" + sed -i "s|\[\$e\]||" "${pkgdir}/usr/share/applications/avidemux-gtk.desktop" +} + +package_avidemux-qt() { + pkgdesc="A graphical tool to edit video (filter/re-encode/split) - QT GUI" + depends=("avidemux-cli=${pkgver}" 'qt') + install=avidemux.install + + cd "${srcdir}/${pkgbase}_${pkgver}" + install -D -m755 build/avidemux/avidemux2_qt4 "${pkgdir}/usr/bin/avidemux2_qt4" + install -d "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/{x264,xvid} + install -d "${pkgdir}"/usr/lib/ADM_plugins/videoFilter + + install -D -m755 build/lib/*{_qt4,QT4}.so "${pkgdir}/usr/lib" + install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_x264/qt4/*Qt.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/x264" + install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_xvid/qt4/*Qt.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/xvid" + install -D -m755 plugins/build/ADM_videoFilters/*/*_qt4.so "${pkgdir}/usr/lib/ADM_plugins/videoFilter" + + install -d "${pkgdir}/usr/share/avidemux/i18n" + install -D -m644 build/po/*.qm "${pkgdir}/usr/share/avidemux/i18n" + + install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-qt.desktop" + sed -i 's/Name=avidemux2/Name=avidemux (QT)/' "${pkgdir}/usr/share/applications/avidemux-qt.desktop" + sed -i 's/avidemux2_gtk/avidemux2_qt4/' "${pkgdir}/usr/share/applications/avidemux-qt.desktop" +} diff --git a/testing/avidemux/avidemux-2.5.4-x264-build115.patch b/testing/avidemux/avidemux-2.5.4-x264-build115.patch new file mode 100644 index 000000000..c627667ec --- /dev/null +++ b/testing/avidemux/avidemux-2.5.4-x264-build115.patch @@ -0,0 +1,45 @@ +diff -ru avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp +--- avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp 2011-04-28 22:35:36.000000000 +0200 ++++ avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/encoder.cpp 2011-04-28 22:40:26.000000000 +0200 +@@ -488,8 +488,10 @@ + printf("[x264] analyse.b_transform_8x8 = %d\n", x264Param->analyse.b_transform_8x8);
+ printf("[x264] analyse.inter = %d\n", x264Param->analyse.inter);
+ printf("[x264] b_cabac = %d\n", x264Param->b_cabac);
+-#if X264_BUILD > 101
++#if X264_BUILD > 101 && X264_BUILD < 115
+ printf("[x264] i_open_gop = %d\n", x264Param->i_open_gop);
++#elif X264_BUILD > 114
++ printf("[x264] b_open_gop = %d\n", x264Param->b_open_gop);
+ #endif
+ printf("[x264] b_interlaced = %d\n", x264Param->b_interlaced);
+ #if X264_BUILD > 88
+diff -ru avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp +--- avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2011-04-28 22:35:36.000000000 +0200 ++++ avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2011-04-28 22:43:36.000000000 +0200 +@@ -417,7 +417,7 @@ + _param.b_cabac = cabac;
+ }
+
+-#if X264_BUILD > 101
++#if X264_BUILD > 101 && X264_BUILD < 115
+ unsigned int x264Options::getOpenGopMode(void)
+ {
+ return _param.i_open_gop;
+@@ -428,6 +428,17 @@ + if (openGopMode < 3)
+ _param.i_open_gop = openGopMode;
+ }
++#elif X264_BUILD > 114
++unsigned int x264Options::getOpenGopMode(void)
++{
++ return _param.b_open_gop;
++}
++
++void x264Options::setOpenGopMode(unsigned int openGopMode)
++{
++ if (openGopMode < 3)
++ _param.b_open_gop = openGopMode;
++}
+ #endif
+
+ unsigned int x264Options::getInterlaced(void)
diff --git a/testing/avidemux/avidemux.install b/testing/avidemux/avidemux.install new file mode 100644 index 000000000..e111ef946 --- /dev/null +++ b/testing/avidemux/avidemux.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} 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/blender/PKGBUILD b/testing/blender/PKGBUILD new file mode 100644 index 000000000..d23728377 --- /dev/null +++ b/testing/blender/PKGBUILD @@ -0,0 +1,93 @@ +# $Id: PKGBUILD 142137 2011-11-05 11:37:38Z ibiru $ +# Contributor: John Sowiak <john@archlinux.org> +# Maintainer: tobias <tobias@archlinux.org> + +# Apparently, the blender guys refuse to release source tarballs for +# intermediate releases that deal mainly with binaries but incorporate tiny +# minor changes from svn. Since I'm sick and tired of the urges of users that +# look for release numbers only, we make a messy PKGBUILD that can checkout svn +# release if necessary. + +#_svn=true +_svn=false + +pkgname=blender +pkgver=2.60a +pkgrel=2 +epoch=3 +pkgdesc="A fully integrated 3D graphics creation suite" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.blender.org" +depends=('libpng' 'libtiff' 'openexr' 'python' 'desktop-file-utils' \ + 'shared-mime-info' 'hicolor-icon-theme' 'xdg-utils' 'glew' \ + 'freetype2' 'openal' 'libsndfile' 'ffmpeg') +makedepends=('cmake') +install=blender.install +if [ $_svn = false ]; then + source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz) + md5sums=('cc7e4a56c9f7941c33c958ff0338f9a6') +else + source=(ftp://ftp.archlinux.org/other/${pkgname}/$pkgname-$pkgver.tar.xz) + md5sums=('7579d1139d0d6025df8afcfca64a65c4') +fi + +# source PKGBUILD && mksource +mksource() { + [[ -x /usr/bin/svn ]] || (echo "svn not found. Install subversion." && return 1) + _svnver=38016 + _svntrunk="https://svn.blender.org/svnroot/bf-blender/trunk/blender" + _svnmod="$pkgname-$pkgver" + mkdir ${pkgname}-$pkgver + pushd ${pkgname}-$pkgver + svn co $_svntrunk --config-dir ./ -r $_svnver $_svnmod + find . -depth -type d -name .svn -exec rm -rf {} \; + tar -cJf ../${pkgname}-$pkgver.tar.xz ${pkgname}-$pkgver/* + popd +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + mkdir build + cd build + + [[ $CARCH == i686 ]] && ENABLESSE2="-DSUPPORT_SSE2_BUILD:BOOL=OFF" + + cmake .. \ + -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DWITH_INSTALL_PORTABLE:BOOL=OFF \ + -DWITH_PYTHON_INSTALL:BOOL=OFF \ + -DWITH_OPENCOLLADA:BOOL=OFF \ + -DWITH_GAMEENGINE:BOOL=ON \ + -DWITH_PLAYER:BOOL=ON \ + -DWITH_BUILTIN_GLEW:BOOL=OFF \ + -DWITH_CODEC_FFMPEG:BOOL=ON \ + -DWITH_CODEC_SNDFILE:BOOL=ON \ + -DPYTHON_VERSION:STRING=3.2 \ + -DPYTHON_LIBPATH:STRING=/usr/lib \ + -DPYTHON_LIBRARY:STRING=python3.2mu \ + -DPYTHON_INCLUDE_DIRS:STRING=/usr/include/python3.2mu \ + $ENABLESSE2 + + make $MAKEFLAGS + + cp -rf "$srcdir"/${pkgname}-$pkgver/release/plugins/* \ + "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/ + cd "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi + chmod 755 bmake + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver/build" + make DESTDIR="${pkgdir}" install + python -m compileall "${pkgdir}/usr/share/blender" + +# install plugins + install -d -m755 "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/{sequence,texture} + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/sequence/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/sequence/ + cp "$srcdir"/${pkgname}-$pkgver/source/blender/blenpluginapi/texture/*.so \ + "$pkgdir"/usr/share/blender/${pkgver%[a-z]}/plugins/texture/ +} diff --git a/testing/blender/blender.install b/testing/blender/blender.install new file mode 100644 index 000000000..724bfce00 --- /dev/null +++ b/testing/blender/blender.install @@ -0,0 +1,13 @@ +post_install() { + update-desktop-database -q + update-mime-database usr/share/mime &> /dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} 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/cmus/PKGBUILD b/testing/cmus/PKGBUILD new file mode 100644 index 000000000..15cc1fd2e --- /dev/null +++ b/testing/cmus/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 142139 2011-11-05 11:37:41Z ibiru $ +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Contributor: dorphell <dorphell@archlinux.org> + +pkgname=cmus +pkgver=2.4.2 +pkgrel=2 +pkgdesc="A very feature-rich ncurses-based music player" +arch=('i686' 'x86_64') +url="http://cmus.sourceforge.net/" +license=('GPL') +depends=('ncurses') +makedepends=('libao' 'libmpcdec' 'ffmpeg' 'flac' 'libmad' 'faad2' 'libmodplug' + 'libvorbis' 'libpulse' 'wavpack' 'libmp4v2') +optdepends=('alsa-lib: for ALSA output plugin support' + 'libao: for AO output plugin support' + 'libpulse: for PulseAudio output plugin support' + 'ffmpeg: for ffmpeg input plugin support' + 'libmodplug: for modplug input plugin support' + 'faad2: for input AAC plugin support' + 'libmad: for mp3 input plugin support' + 'libmpcdec: for musepack input plugin support' + 'wavpack: for wavpack input plugin support' + 'libvorbis: for vorbis input plugin support' + 'flac: for flac input plugin support' + 'libmp4v2: for mp4 input plugin support') +source=("http://downloads.sourceforge.net/$pkgname/$pkgname-v$pkgver.tar.bz2") +md5sums=('f3ed7f14db20344ad7386aef48b98a4c') +sha1sums=('12573e96e03435eca9b8a4aaeeb13a2da66f40a4') + +build() { + cd "$srcdir/$pkgname-v$pkgver" + ./configure prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-v$pkgver" + make DESTDIR="$pkgdir" install + install -D -m 644 contrib/_cmus "$pkgdir/usr/share/zsh/site-functions/_cmus" +} 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/db/PKGBUILD b/testing/db/PKGBUILD new file mode 100644 index 000000000..7577ca553 --- /dev/null +++ b/testing/db/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 142046 2011-11-04 22:40:39Z stephane $ +# Maintainer: StĂ©phane Gaudreault <stephane@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: Andreas Radke <andyrtr@archlinux.org> + +pkgname=db +pkgver=5.2.36 +pkgrel=2 +pkgdesc="The Berkeley DB embedded database system" +arch=('i686' 'x86_64') +url="http://www.oracle.com/technology/software/products/berkeley-db/index.html" +license=('custom') +depends=('gcc-libs' 'sh') +options=('!libtool') +install=db.install +source=(http://download.oracle.com/berkeley-db/db-${pkgver}.tar.gz) +sha1sums=('1a7997e5bcdf504a439f90d9eaed63864806ed5f') + +build() { + cd "${srcdir}/$pkgname-${pkgver}/build_unix" + ../dist/configure --prefix=/usr --enable-compat185 \ + --enable-shared --enable-static --enable-cxx --enable-dbm + make LIBSO_LIBS=-lpthread +} + +package() { + cd "${srcdir}/$pkgname-${pkgver}/build_unix" + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/usr/docs + install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE \ + "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/testing/db/db.install b/testing/db/db.install new file mode 100644 index 000000000..03b64042d --- /dev/null +++ b/testing/db/db.install @@ -0,0 +1,5 @@ +post_upgrade() { + if [ "$(vercmp $2 5.1)" -lt 0 ]; then + echo " >> Major version update. Consider running db_upgrade on Berkeley DB databases." + fi +} diff --git a/testing/dhcpcd/PKGBUILD b/testing/dhcpcd/PKGBUILD new file mode 100644 index 000000000..422486a8e --- /dev/null +++ b/testing/dhcpcd/PKGBUILD @@ -0,0 +1,54 @@ +# $Id: PKGBUILD 142023 2011-11-04 06:51:06Z 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=3 +pkgdesc="RFC2131 compliant DHCP client daemon" +url="http://roy.marples.name/dhcpcd/" +arch=('i686' 'x86_64') +license=('BSD') +groups=('base') +depends=('glibc' 'sh' 'inetutils' 'iproute2') +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' 'remove_ifconfig.patch') +sha1sums=('27378a251705c7888332e6d60eea7805d1f8aeb5' + 'b67b9ce6a2faaca75fea356966a16be2283b7db0' + 'de3e14a24b479b2832c6671ba12586444bd86ebe') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + # remove ifconfig call but use ip (iproute2) instead + patch -Np0 -i ${srcdir}/remove_ifconfig.patch + + # 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/dhcpcd/remove_ifconfig.patch b/testing/dhcpcd/remove_ifconfig.patch new file mode 100644 index 000000000..5bcc4a68f --- /dev/null +++ b/testing/dhcpcd/remove_ifconfig.patch @@ -0,0 +1,20 @@ +--- dhcpcd-hooks/10-mtu.orig 2011-11-04 07:45:46.477712667 +0100 ++++ dhcpcd-hooks/10-mtu 2011-11-04 07:46:38.964379550 +0100 +@@ -7,7 +7,7 @@ + elif [ -n "$new_interface_mtu" ] && $if_up; then + # The smalled MTU dhcpcd can work with is 576 + if [ "$new_interface_mtu" -ge 576 ]; then +- if ifconfig "$interface" mtu "$new_interface_mtu"; then ++ if ip link set "$interface" mtu "$new_interface_mtu"; then + syslog info "$interface: MTU set to $new_interface_mtu" + # Save the MTU so we can restore it later + if [ ! -e "$mtu_dir/$interface" ]; then +@@ -21,7 +21,7 @@ + # No MTU in this state, so restore the prior MTU + mtu=$(cat "$mtu_dir/$interface") + syslog info "$interface: MTU restored to $mtu" +- ifconfig "$interface" mtu "$mtu" ++ ip link set "$interface" mtu "$new_interface_mtu" + rm "$mtu_dir/$interface" + fi + fi diff --git a/testing/dialog/PKGBUILD b/testing/dialog/PKGBUILD new file mode 100644 index 000000000..e1f83a78f --- /dev/null +++ b/testing/dialog/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 142048 2011-11-04 22:42:38Z stephane $ +# Maintainer: StĂ©phane Gaudreault <stephane@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: Andreas Radke <andyrtr@archlinux.org> + +pkgname=dialog +pkgver=1.1_20111020 +pkgrel=1 +pkgdesc="A tool to display dialog boxes from shell scripts" +arch=('i686' 'x86_64') +url="http://invisible-island.net/dialog/" +license=('LGPL2.1') +depends=('ncurses') +source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver/_/-}.tgz) +sha1sums=('ddabc0950275db4e9cef382a862ff3b20746e843') + +build() { + cd "${srcdir}/$pkgname-${pkgver/_/-}" + ./configure --prefix=/usr --mandir=/usr/share/man \ + --with-ncursesw --enable-nls + make +} + +package() { + cd "${srcdir}/$pkgname-${pkgver/_/-}" + make DESTDIR="${pkgdir}" install install-lib +} diff --git a/testing/dnsutils/PKGBUILD b/testing/dnsutils/PKGBUILD new file mode 100644 index 000000000..a159d301b --- /dev/null +++ b/testing/dnsutils/PKGBUILD @@ -0,0 +1,55 @@ +# $Id: PKGBUILD 142025 2011-11-04 07:03:15Z bisson $ +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Contributor: kevin <kevin@archlinux.org> +# Contributor: mario <mario_vazq@hotmail.com> + +pkgname=dnsutils + +# Use a period and not a hyphen before the patch level for proper versioning. +pkgver=9.8.1 +_pkgver=9.8.1 +pkgrel=2 + +pkgdesc='DNS utilities: dig host nslookup' +url='http://www.isc.org/software/bind/' +license=('custom:ISC') +arch=('i686' 'x86_64') +options=('!makeflags') +depends=('openssl' 'krb5' 'idnkit') +source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz" + 'remove-bind.patch') +sha1sums=('7e6ed6ebc896b1de33a9f440233066c60539de4c' + 'b465ef6160b004838f04de9978fe1be8422af777') + +replaces=('bind-tools' 'host') + +build() { + cd "${srcdir}/bind-${_pkgver}" + + patch -p1 -i ../remove-bind.patch + export STD_CDEFINES='-DDIG_SIGCHASE' + + # hack to remove unused bloat from the binaries + CFLAGS+=' -fdata-sections -ffunction-sections' + LDFLAGS+=' -Wl,--gc-sections' + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --disable-linux-caps \ + --with-openssl \ + --with-idn \ + + make +} + +package() { + cd "${srcdir}/bind-${_pkgver}" + + install -Dm644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + + cd bin + make DESTDIR="${pkgdir}" install +} diff --git a/testing/dnsutils/remove-bind.patch b/testing/dnsutils/remove-bind.patch new file mode 100644 index 000000000..19d650964 --- /dev/null +++ b/testing/dnsutils/remove-bind.patch @@ -0,0 +1,25 @@ +diff -aur old/bin/Makefile.in new/bin/Makefile.in +--- old/bin/Makefile.in 2009-10-05 05:07:08.000000000 -0700 ++++ new/bin/Makefile.in 2011-08-28 19:16:17.245495043 -0700 +@@ -19,8 +19,7 @@ + VPATH = @srcdir@ + top_srcdir = @top_srcdir@ + +-SUBDIRS = named rndc dig dnssec tests tools nsupdate \ +- check confgen @PKCS11_TOOLS@ ++SUBDIRS = dig + TARGETS = + + @BIND9_MAKE_RULES@ +diff -aur old/lib/Makefile.in new/lib/Makefile.in +--- old/lib/Makefile.in 2007-06-19 16:47:13.000000000 -0700 ++++ new/lib/Makefile.in 2011-08-28 19:17:50.828688599 -0700 +@@ -23,7 +23,7 @@ + # Attempt to disable parallel processing. + .NOTPARALLEL: + .NO_PARALLEL: +-SUBDIRS = isc isccc dns isccfg bind9 lwres tests ++SUBDIRS = isc dns isccfg bind9 lwres + TARGETS = + + @BIND9_MAKE_RULES@ 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/ffmpeg/PKGBUILD b/testing/ffmpeg/PKGBUILD new file mode 100644 index 000000000..97d25fe08 --- /dev/null +++ b/testing/ffmpeg/PKGBUILD @@ -0,0 +1,55 @@ +# $Id: PKGBUILD 142121 2011-11-05 11:37:18Z ibiru $ +# Maintainer : Ionut Biru <ibiru@archlinux.org> +# Contributor: Tom Newsom <Jeepster@gmx.co.uk> +# Contributor: Paul Mattal <paul@archlinux.org> + +pkgname=ffmpeg +pkgver=20111105 +pkgrel=1 +pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" +arch=('i686' 'x86_64') +url="http://ffmpeg.org/" +license=('GPL') +depends=('bzip2' 'lame' 'sdl' 'libvorbis' 'xvidcore' 'zlib' 'x264' 'libtheora' 'opencore-amr' 'alsa-lib' 'libvdpau' 'libxfixes' 'schroedinger' 'libvpx' 'libva' 'openjpeg' 'rtmpdump') +makedepends=('yasm' 'git') +#git clone git://git.videolan.org/ffmpeg.git +source=(ftp://ftp.archlinux.org/other/ffmpeg/${pkgname}-${pkgver}.tar.xz) +md5sums=('d1889c07a929cd0efaf7f486ff2f55e0') + +build() { + cd "$srcdir/$pkgname" + + ./configure \ + --prefix=/usr \ + --enable-libmp3lame \ + --enable-libvorbis \ + --enable-libxvid \ + --enable-libx264 \ + --enable-libvpx \ + --enable-libtheora \ + --enable-postproc \ + --enable-shared \ + --enable-x11grab \ + --enable-libopencore_amrnb \ + --enable-libopencore_amrwb \ + --enable-libschroedinger \ + --enable-libopenjpeg \ + --enable-librtmp \ + --enable-gpl \ + --enable-version3 \ + --enable-runtime-cpudetect \ + --disable-debug \ + --disable-static + + make + make tools/qt-faststart + make doc/ff{mpeg,play,server}.1 +} + +package() { + cd "$srcdir/$pkgname" + make DESTDIR="$pkgdir" install install-man + install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart" +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/ffmpegthumbnailer/PKGBUILD b/testing/ffmpegthumbnailer/PKGBUILD new file mode 100644 index 000000000..3fed7aae2 --- /dev/null +++ b/testing/ffmpegthumbnailer/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 23110 2010-08-06 11:01:51Z rvanharen $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: boromil@gmail.com + +pkgname=ffmpegthumbnailer +pkgver=2.0.7 +pkgrel=2 +pkgdesc="Lightweight video thumbnailer that can be used by file managers." +url="http://code.google.com/p/ffmpegthumbnailer/" +license=('GPL2') +arch=('i686' 'x86_64') +depends=('ffmpeg' 'libjpeg' 'libpng') +optdepends=('gvfs: support for gio uris') +source=("http://ffmpegthumbnailer.googlecode.com/files/$pkgname-$pkgver.tar.gz" + 'ffmpegthumbnailer.desktop') +options=('!libtool') +sha1sums=('b8f5371aa995fefd1fb75e306e8cd76e8c9f3a73' + 'bdd3ae35a5c6f0e1f4b0c7926f72b3429b2eaa53') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr --enable-gio + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # FS#24105: Generate thumbnails in nautilus + install -Dm644 ${srcdir}/ffmpegthumbnailer.desktop \ + ${pkgdir}/usr/share/thumbnailers/ffmpegthumbnailer.desktop +} diff --git a/testing/ffmpegthumbnailer/ffmpegthumbnailer.desktop b/testing/ffmpegthumbnailer/ffmpegthumbnailer.desktop new file mode 100644 index 000000000..79203e5bc --- /dev/null +++ b/testing/ffmpegthumbnailer/ffmpegthumbnailer.desktop @@ -0,0 +1,4 @@ +[Thumbnailer Entry] +TryExec=ffmpegthumbnailer +Exec=ffmpegthumbnailer -s %s -i %u -o %o -c png -f -t 10 +MimeType=video/flv;video/webm;video/mkv;video/mp4;video/mpeg;video/avi;video/ogg;video/quicktime;video/x-avi;video/x-flv;video/x-mp4;video/x-mpeg;video/x-webm;video/x-mkv;application/x-extension-webm;video/x-matroska;video/x-ms-wmv;video/x-msvideo;video/x-msvideo/avi;video/x-theora/ogg;video/x-theora/ogv;video/x-ms-asf;video/x-m4v; 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/gdbm/PKGBUILD b/testing/gdbm/PKGBUILD new file mode 100644 index 000000000..b56c4a3b0 --- /dev/null +++ b/testing/gdbm/PKGBUILD @@ -0,0 +1,59 @@ +# $Id: PKGBUILD 142050 2011-11-04 22:53:48Z stephane $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=gdbm +pkgver=1.8.3 +pkgrel=9 +pkgdesc="GNU database library" +url="http://www.gnu.org/software/gdbm/gdbm.html" +license=('GPL') +arch=('i686' 'x86_64') +depends=('glibc' 'sh') +source=(ftp://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz + gdbm-1.8.3-zeroheaders.patch + gdbm-1.8.3-fhs.patch) +options=('!libtool' '!makeflags') +install=gdbm.install +md5sums=('1d1b1d5c0245b1c00aff92da751e9aa1' + 'a2ed344be9258775bd718074cf2e4ec6' + '66a7c235416c136dc89efc7d03352514') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Prevent gdbm from storing uninitialized memory content + # to database files. This patch improves security, as the + # uninitialized memory might contain sensitive informations + # from other applications. + # https://bugzilla.redhat.com/show_bug.cgi?id=4457 + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=208927 + patch -Np1 -i ../gdbm-1.8.3-zeroheaders.patch + + # Make gdbm buildable. + patch -Np1 -i ../gdbm-1.8.3-fhs.patch + + libtoolize --force --copy + aclocal + autoconf + + ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info + + # flock does not work on nfs, we use fcntl instead + # https://bugzilla.redhat.com/show_bug.cgi?id=477300 + echo "/* We use fcntl locking (POSIX) instead of flock (BSD) */" >> autoconf.h + echo "#undef HAVE_FLOCK" >> autoconf.h + + make prefix=/usr +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make prefix=$pkgdir/usr \ + manprefix=$pkgdir/usr/share/man \ + man3dir=$pkgdir/usr/share/man/man3 \ + infodir=$pkgdir/usr/share/info \ + install install-compat + + ln -sf gdbm/gdbm.h $pkgdir/usr/include +} diff --git a/testing/gdbm/gdbm-1.8.3-fhs.patch b/testing/gdbm/gdbm-1.8.3-fhs.patch new file mode 100644 index 000000000..58ce4de0b --- /dev/null +++ b/testing/gdbm/gdbm-1.8.3-fhs.patch @@ -0,0 +1,138 @@ +diff -up gdbm-1.8.3/Makefile.in.fhs gdbm-1.8.3/Makefile.in +--- gdbm-1.8.3/Makefile.in.fhs 2002-10-08 18:09:12.000000000 +0200 ++++ gdbm-1.8.3/Makefile.in 2010-03-10 15:41:01.516025096 +0100 +@@ -1,7 +1,7 @@ + #### Start of system configuration section. #### + + srcdir = @srcdir@ +-top_builddir = . ++top_builddir = @top_builddir@ + VPATH = @srcdir@ + + CC = @CC@ +@@ -14,17 +14,13 @@ INSTALL = @INSTALL@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ + +-# File ownership and group +-BINOWN = bin +-BINGRP = bin +- + MAKEINFO = makeinfo + TEXI2DVI = texi2dvi + +-DEFS = ++DEFS = @DEFS@ + + # Where the system [n]dbm routines are... +-LIBS = @LIBS@ -lc ++LIBS = @LIBS@ + + CFLAGS = @CFLAGS@ + LDFLAGS = @LDFLAGS@ +@@ -32,16 +28,17 @@ LDFLAGS = @LDFLAGS@ + # Common prefix for installation directories + prefix = @prefix@ + exec_prefix = @exec_prefix@ +-binprefix = $(exec_prefix) +-manprefix = $(prefix) ++datarootdir = @datarootdir@ + + # Directory in which to put libgdbm.a. + libdir = @libdir@ + # The include directory for gdbm.h and dbm.h. + includedir = @includedir@ ++pkgincludedir = $(includedir)/gdbm + # Info and man directories. + infodir = @infodir@ +-man3dir = @mandir@/man3 ++mandir = @mandir@ ++man3dir = $(mandir)/man3 + manext = 3 + + #### End of system configuration section. #### +@@ -57,7 +54,7 @@ manext = 3 + + SHELL = /bin/sh + +-PROGS = libgdbm.la testgdbm testdbm testndbm tndbm tdbm conv2gdbm ++PROGS = libgdbm.la testgdbm testdbm testndbm conv2gdbm + + DBM_CF = dbminit.c delete.c fetch.c store.c seq.c close.c + +@@ -127,26 +124,17 @@ all: libgdbm.la libgdbm_compat.la + progs: $(PROGS) + + install: libgdbm.la gdbm.h gdbm.info +- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \ +- $(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \ +- $(INSTALL_ROOT)$(infodir) +- $(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la +- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \ +- $(INSTALL_ROOT)$(includedir)/gdbm.h +- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \ +- $(INSTALL_ROOT)$(man3dir)/gdbm.3 +- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \ +- $(INSTALL_ROOT)$(infodir)/gdbm.info ++ $(srcdir)/mkinstalldirs $(libdir) $(pkgincludedir) $(man3dir) $(infodir) ++ $(LIBTOOL) install install libgdbm.la $(libdir)/libgdbm.la ++ $(INSTALL_DATA) gdbm.h $(pkgincludedir)/gdbm.h ++ $(INSTALL_DATA) $(srcdir)/gdbm.3 $(man3dir)/gdbm.3 ++ $(INSTALL_DATA) $(srcdir)/gdbm.info $(infodir)/gdbm.info + + install-compat: +- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \ +- $(INSTALL_ROOT)$(includedir) +- $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \ +- $(INSTALL_ROOT)$(libdir)/libgdbm_compat.la +- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \ +- $(INSTALL_ROOT)$(includedir)/dbm.h +- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \ +- $(INSTALL_ROOT)$(includedir)/ndbm.h ++ $(srcdir)/mkinstalldirs $(libdir) $(pkgincludedir) ++ $(LIBTOOL) install install libgdbm_compat.la $(libdir)/libgdbm_compat.la ++ $(INSTALL_DATA) $(srcdir)/dbm.h $(pkgincludedir)/dbm.h ++ $(INSTALL_DATA) $(srcdir)/ndbm.h $(pkgincludedir)/ndbm.h + + #libgdbm.a: $(OBJS) gdbm.h + # rm -f libgdbm.a +@@ -161,7 +149,7 @@ libgdbm.la: $(LOBJS) gdbm.h + libgdbm_compat.la: $(C_LOBJS) gdbm.h + rm -f libgdbm_compat.la + $(LIBTOOL) --mode=link $(CC) -o libgdbm_compat.la -rpath $(libdir) \ +- -version-info $(SHLIB_VER) $(C_LOBJS) ++ -version-info $(SHLIB_VER) $(C_LOBJS) -lgdbm + + gdbm.h: gdbm.proto gdbmerrno.h gdbm.proto2 + rm -f gdbm.h +@@ -172,10 +160,10 @@ gdbm.h: gdbm.proto gdbmerrno.h gdbm.prot + chmod -w gdbm.h + + testgdbm: testgdbm.o libgdbm.la @LIBOBJS@ +- $(LIBTOOL) $(CC) $(LDFLAGS) -o testgdbm testgdbm.o libgdbm.la @LIBOBJS@ ++ $(LIBTOOL) link $(CC) $(LDFLAGS) -o testgdbm testgdbm.o libgdbm.la @LIBOBJS@ + + testdbm: testdbm.o libgdbm.la libgdbm_compat.la +- $(LIBTOOL) $(CC) $(LDFLAGS) -o testdbm testdbm.o libgdbm.la libgdbm_compat.la ++ $(LIBTOOL) link $(CC) $(LDFLAGS) -o testdbm testdbm.o $(LIBS) libgdbm_compat.la + + tdbm: testdbm.o + $(CC) $(LDFLAGS) -o tdbm testdbm.o $(LIBS) +@@ -184,7 +172,7 @@ testndbm.o: testndbm.c + $(CC) -c -I. -I$(srcdir) $(CFLAGS) $(DEFS) -DGNU $(srcdir)/testndbm.c + + testndbm: testndbm.o libgdbm.la libgdbm_compat.la +- $(LIBTOOL) $(CC) $(LDFLAGS) -o testndbm testndbm.o libgdbm.la libgdbm_compat.la ++ $(LIBTOOL) link $(CC) $(LDFLAGS) -o testndbm testndbm.o libgdbm_compat.la + + tndbm.o: testndbm.c + cp $(srcdir)/testndbm.c ./tndbm.c +@@ -195,7 +183,7 @@ tndbm: tndbm.o + $(CC) $(LDFLAGS) -o tndbm tndbm.o $(LIBS) + + conv2gdbm: conv2gdbm.o libgdbm.la @LIBOBJS@ +- $(LIBTOOL) $(CC) $(LDFLAGS) -o conv2gdbm conv2gdbm.o $(LIBS) libgdbm.la @LIBOBJS@ ++ $(LIBTOOL) link $(CC) $(LDFLAGS) -o conv2gdbm conv2gdbm.o $(LIBS) libgdbm_compat.la @LIBOBJS@ + + lintgdbm: + lint $(DEFS) $(LFLAGS) $(DBM_CF) $(NDBM_CF) $(GDBM_CF) testgdbm.c diff --git a/testing/gdbm/gdbm-1.8.3-zeroheaders.patch b/testing/gdbm/gdbm-1.8.3-zeroheaders.patch new file mode 100644 index 000000000..088956aef --- /dev/null +++ b/testing/gdbm/gdbm-1.8.3-zeroheaders.patch @@ -0,0 +1,44 @@ +02_zero-headers.patch by Jeff Johnson <jbj@redhat.com> and Colin Watson <cjwatson@debian.org> + +diff -urNad a/falloc.c b/falloc.c +--- a/falloc.c 2001-02-28 06:52:33.000000000 +0000 ++++ b/falloc.c 2003-09-08 23:58:43.000000000 +0100 +@@ -272,7 +272,7 @@ + + + /* Split the header block. */ +- temp = (avail_block *) malloc (av_size); ++ temp = (avail_block *) calloc (1, av_size); + if (temp == NULL) _gdbm_fatal (dbf, "malloc error"); + /* Set the size to be correct AFTER the pop_avail_block. */ + temp->size = dbf->header->avail.size; +diff -urNad a/gdbmopen.c b/gdbmopen.c +--- a/gdbmopen.c 2003-09-08 23:58:01.000000000 +0100 ++++ b/gdbmopen.c 2003-09-08 23:58:43.000000000 +0100 +@@ -212,7 +212,7 @@ + file_block_size = block_size; + + /* Get space for the file header. */ +- dbf->header = (gdbm_file_header *) malloc (file_block_size); ++ dbf->header = (gdbm_file_header *) calloc (1, file_block_size); + if (dbf->header == NULL) + { + gdbm_close (dbf); +@@ -256,7 +256,7 @@ + (dbf->header->block_size - sizeof (hash_bucket)) + / sizeof (bucket_element) + 1; + dbf->header->bucket_size = dbf->header->block_size; +- dbf->bucket = (hash_bucket *) malloc (dbf->header->bucket_size); ++ dbf->bucket = (hash_bucket *) calloc (1, dbf->header->bucket_size); + if (dbf->bucket == NULL) + { + gdbm_close (dbf); +@@ -420,7 +420,7 @@ + for(index = 0; index < size; index++) + { + (dbf->bucket_cache[index]).ca_bucket +- = (hash_bucket *) malloc (dbf->header->bucket_size); ++ = (hash_bucket *) calloc (1, dbf->header->bucket_size); + if ((dbf->bucket_cache[index]).ca_bucket == NULL) + { + gdbm_errno = GDBM_MALLOC_ERROR; diff --git a/testing/gdbm/gdbm.install b/testing/gdbm/gdbm.install new file mode 100644 index 000000000..2d1ce2c5a --- /dev/null +++ b/testing/gdbm/gdbm.install @@ -0,0 +1,21 @@ +infodir=/usr/share/info +filelist=(gdbm.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/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 + usr/bin/install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} + diff --git a/testing/gegl/0.1.6-ffmpeg.patch b/testing/gegl/0.1.6-ffmpeg.patch new file mode 100644 index 000000000..51fb95d28 --- /dev/null +++ b/testing/gegl/0.1.6-ffmpeg.patch @@ -0,0 +1,33 @@ +diff -urN gegl-0.1.6.old//operations/external/ff-load.c gegl-0.1.6/operations/external/ff-load.c +--- gegl-0.1.6.old//operations/external/ff-load.c 2011-01-24 19:03:30.000000000 -0300 ++++ gegl-0.1.6/operations/external/ff-load.c 2011-05-04 09:59:48.910379742 -0300 +@@ -69,17 +69,17 @@ + { + switch (err) + { +- case AVERROR_NUMEXPECTED: ++ case AVERROR(EDOM): + g_warning ("%s: Incorrect image filename syntax.\n" + "Use '%%d' to specify the image number:\n" + " for img1.jpg, img2.jpg, ..., use 'img%%d.jpg';\n" + " for img001.jpg, img002.jpg, ..., use 'img%%03d.jpg'.\n", + filename); + break; +- case AVERROR_INVALIDDATA: ++ case AVERROR(EINVAL): + g_warning ("%s: Error while parsing header\n", filename); + break; +- case AVERROR_NOFMT: ++ case AVERROR(EILSEQ): + g_warning ("%s: Unknown format\n", filename); + break; + default: +@@ -278,7 +278,7 @@ + for (i = 0; i< p->ic->nb_streams; i++) + { + AVCodecContext *c = p->ic->streams[i]->codec; +- if (c->codec_type == CODEC_TYPE_VIDEO) ++ if (c->codec_type == AVMEDIA_TYPE_VIDEO) + { + p->video_st = p->ic->streams[i]; + p->video_stream = i; diff --git a/testing/gegl/PKGBUILD b/testing/gegl/PKGBUILD new file mode 100644 index 000000000..cdae0afcc --- /dev/null +++ b/testing/gegl/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 142143 2011-11-05 11:37:45Z ibiru $ +# Maintainer: Eric BĂ©langer <eric@archlinux.org> + +pkgname=gegl +pkgver=0.1.6 +pkgrel=2 +pkgdesc="Graph based image processing framework" +arch=('i686' 'x86_64') +url="http://www.gegl.org/" +license=('GPL3' 'LGPL3') +depends=('babl' 'gtk2') +makedepends=('ruby' 'lua' 'openexr' 'ffmpeg' 'librsvg' 'jasper' 'exiv2') +optdepends=('openexr: for using the openexr plugin' \ + 'ffmpeg: for using the ffmpeg plugin' \ + 'librsvg: for using the svg plugin' \ + 'jasper: for using the jasper plugin') +options=('!libtool') +source=(ftp://ftp.gimp.org/pub/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2 \ + 0.1.6-ffmpeg.patch) +sha1sums=('27bedcfd077da7a6913b82966dbec904b22c121d' + 'd62d4987f1c0fc256f5968271fc65cce0cc4c195') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/0.1.6-ffmpeg.patch" + ./configure --prefix=/usr --with-sdl --with-openexr --with-librsvg \ + --with-libavformat --with-jasper --disable-docs + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gettext/PKGBUILD b/testing/gettext/PKGBUILD new file mode 100644 index 000000000..3bd769036 --- /dev/null +++ b/testing/gettext/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 142033 2011-11-04 11:47:22Z tpowa $ +# Maintainer: + +pkgname=gettext +pkgver=0.18.1.1 +pkgrel=4 +pkgdesc="GNU internationalization library" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/gettext/" +license=('GPL') +groups=('base') +depends=('gcc-libs' 'acl' 'sh' 'glib2') +optdepends=('cvs: for autopoint tool') +options=(!libtool !docs) +install=gettext.install +source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz) +md5sums=('3dd55b952826d2b32f51308f2f91aa89') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i -e 's/libexpat.so.0/libexpat.so.1/' gettext-tools/src/x-glade.c + ./configure --prefix=/usr --enable-csharp + make +} + +#check() { +# cd "${srcdir}/${pkgname}-${pkgver}" +# make check +#} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/gettext/gettext.install b/testing/gettext/gettext.install new file mode 100644 index 000000000..0ff52942f --- /dev/null +++ b/testing/gettext/gettext.install @@ -0,0 +1,22 @@ +infodir=/usr/share/info +filelist=(gettext.info.gz autosprintf.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 +} + +# vim:set ts=2 sw=2 et: 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/gstreamer0.10-ugly/PKGBUILD b/testing/gstreamer0.10-ugly/PKGBUILD new file mode 100644 index 000000000..6f355ef8a --- /dev/null +++ b/testing/gstreamer0.10-ugly/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 142123 2011-11-05 11:37:20Z ibiru $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgbase=gstreamer0.10-ugly +pkgname=('gstreamer0.10-ugly' 'gstreamer0.10-ugly-plugins') +pkgver=0.10.18 +pkgrel=4 +arch=('i686' 'x86_64') +license=('LGPL') +makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libid3tag' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') +url="http://gstreamer.freedesktop.org/" +options=(!libtool) +source=(${url}/src/gst-plugins-ugly/gst-plugins-ugly-${pkgver}.tar.bz2) +md5sums=('04a7009a4efea2844075949c111f5e4d') + +build() { + cd "${srcdir}/gst-plugins-ugly-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --disable-static --enable-experimental \ + --with-package-name="GStreamer Ugly Plugins (Archlinux)" \ + --with-package-origin="http://www.archlinux.org/" + make + sed -e 's/gst-libs gst ext/gst-libs gst/' -i Makefile +} + +package_gstreamer0.10-ugly() { + pkgdesc="GStreamer Multimedia Framework Ugly plugin libraries" + depends=('gstreamer0.10-base>=0.10.34') + + cd "${srcdir}/gst-plugins-ugly-${pkgver}" + make DESTDIR="${pkgdir}" install +} + +package_gstreamer0.10-ugly-plugins() { + pkgdesc="GStreamer Multimedia Framework Ugly Plugins (gst-plugins-ugly)" + depends=("gstreamer0.10-ugly=${pkgver}" 'libdvdread' 'lame' 'libmpeg2' 'a52dec' 'libid3tag' 'libmad' 'libsidplay' 'libcdio' 'x264' 'opencore-amr') + groups=('gstreamer0.10-plugins') + replaces=('gstreamer0.10-dvdread' 'gstreamer0.10-mpeg2dec' 'gstreamer0.10-mad' 'gstreamer0.10-lame' 'gstreamer0.10-sidplay' 'gstreamer0.10-a52dec') + conflicts=('gstreamer0.10-dvdread' 'gstreamer0.10-mpeg2dec' 'gstreamer0.10-mad' 'gstreamer0.10-lame' 'gstreamer0.10-sidplay' 'gstreamer0.10-a52dec') + + cd "${srcdir}/gst-plugins-ugly-${pkgver}" + make -C ext DESTDIR="${pkgdir}" install +} 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/heirloom-mailx/PKGBUILD b/testing/heirloom-mailx/PKGBUILD new file mode 100644 index 000000000..eaa3bdddc --- /dev/null +++ b/testing/heirloom-mailx/PKGBUILD @@ -0,0 +1,64 @@ +# $Id: PKGBUILD 142042 2011-11-04 20:49:22Z stephane $ +# Maintainer: StĂ©phane Gaudreault <stephane@archlinux.org> +# Contributor: Sergej Pupykin <pupykin.s@arch@gmail.com> +# Contributor: Andreas Wagner <Andreas.Wagner@em.uni-frankfurt.de> + +pkgname=heirloom-mailx +pkgver=12.5 +pkgrel=3 +pkgdesc="A commandline utility for sending and receiving email" +arch=('i686' 'x86_64') +url="http://heirloom.sourceforge.net/mailx.html" +license=('custom') +groups=('base') +depends=('openssl' 'krb5') +optdepends=('smtp-forwarder: for sending mail') +replaces=('mailx' 'mailx-heirloom') +provides=('mailx' 'mailx-heirloom') +conflicts=('mailx' 'mailx-heirloom') +backup=(etc/mail.rc) +source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.xz) +sha1sums=('1998dd6168a68400e533712ae7163c72b6a7c056') +options=('!makeflags') # Does not build with MAKEFLAGS=-jX, X>1 + +# source PKGBUILD && mksource +mksource() { + export CVSROOT=:pserver:anonymous@nail.cvs.sourceforge.net:/cvsroot/nail + D=nail + [ -d "${D}" ] && cvs up "${D}" || cvs co "${D}" + + _dirname=${pkgname}-${pkgver} + mv $D ${_dirname} + tar -cJv --exclude=CVS -f ${_dirname}.tar.xz ${_dirname} + rm -rf ${_dirname} +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i 's|/etc/nail.rc|/etc/mail.rc|g' mailx.1 + + # For Linux and BSD, this should be set. + echo "set bsdcompat" >> nail.rc + + sed -i "s/pg/less/" cmd1.c + + echo PREFIX=/usr \ + MAILRC=/etc/mail.rc \ + SENDMAIL=/usr/sbin/sendmail \ + MAILSPOOL=/var/spool/mail \ + UCBINSTALL=/bin/install > makeflags + + make `cat makeflags` IPv6=-DHAVE_IPv6_FUNCS +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" `cat makeflags` install + + # For compatibility with the old mailx program + ln -sf mailx "${pkgdir}"/usr/bin/mail + ln -sf mailx.1.gz "${pkgdir}"/usr/share/man/man1/mail.1.gz + + install -D -m0644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} 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/k3b/PKGBUILD b/testing/k3b/PKGBUILD new file mode 100644 index 000000000..9bdef9769 --- /dev/null +++ b/testing/k3b/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: PKGBUILD 142145 2011-11-05 11:37:47Z ibiru $ +# Maintainer: Eric BĂ©langer <eric@archlinux.org> +# Contributor: damir <damir@archlinux.org> + +pkgname=k3b +pkgver=2.0.2 +pkgrel=3 +pkgdesc="Feature-rich and easy to handle CD burning application" +arch=('i686' 'x86_64') +url="http://k3b.org/" +license=('GPL') +depends=('kdebase-runtime' 'kdemultimedia-kioslave' 'libsamplerate' + 'ffmpeg' 'taglib' 'libmpcdec' 'libdvdread' 'cdrdao' 'cdrkit' 'libxft') +makedepends=('cmake' 'automoc4' 'docbook-xml') +optdepends=('dvd+rw-tools: for dvd burning support' + 'vcdimager: for vcd burning support' + 'transcode: for advanced mpeg conversion support' + 'emovix: for bootable multimedia cd/dvd support') +options=('!libtool') +install=k3b.install +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 \ + k3b-2.0.2-ffmpeg.patch) +sha1sums=('8b30a4d07942e82559b01bc07dea6bcf2defd532' + '8120c0e22e6c41ea285ca6060be13723ed91c52b') + +build() { + cd "${srcdir}" + (cd ${pkgname}-${pkgver}; patch -p1 -i "${srcdir}/k3b-2.0.2-ffmpeg.patch") + mkdir build + cd build + cmake ../${pkgname}-${pkgver} \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/k3b/k3b-2.0.2-ffmpeg.patch b/testing/k3b/k3b-2.0.2-ffmpeg.patch new file mode 100644 index 000000000..2878b1edc --- /dev/null +++ b/testing/k3b/k3b-2.0.2-ffmpeg.patch @@ -0,0 +1,96 @@ +commit 61ca30beb978f68e72257408777c6433f33129bd +Author: Michal Malek <michalm@jabster.pl> +Date: Sun Aug 28 20:18:53 2011 +0200 + + Fixed compilation with new FFMPEG + + BUG: 274817 + FIXED-IN: 2.0.3 + +diff --git a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp +index 0ad59fc..0c5f366 100644 +--- a/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp ++++ b/plugins/decoder/ffmpeg/k3bffmpegwrapper.cpp +@@ -109,7 +109,13 @@ bool K3bFFMpegFile::open() + #else + ::AVCodecContext* codecContext = d->formatContext->streams[0]->codec; + #endif +- if( codecContext->codec_type != CODEC_TYPE_AUDIO ) { ++ if( codecContext->codec_type != ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ AVMEDIA_TYPE_AUDIO) ++#else ++ CODEC_TYPE_AUDIO) ++#endif ++ { + kDebug() << "(K3bFFMpegFile) not a simple audio stream: " << m_filename; + return false; + } +@@ -225,8 +231,11 @@ QString K3bFFMpegFile::typeComment() const + QString K3bFFMpegFile::title() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->title[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->title ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "TITLE", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -235,8 +244,11 @@ QString K3bFFMpegFile::title() const + QString K3bFFMpegFile::author() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->author[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->author ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "ARTIST", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -245,8 +257,11 @@ QString K3bFFMpegFile::author() const + QString K3bFFMpegFile::comment() const + { + // FIXME: is this UTF8 or something?? +- if( d->formatContext->comment[0] != '\0' ) +- return QString::fromLocal8Bit( d->formatContext->comment ); ++ AVDictionaryEntry *ade = av_dict_get( d->formatContext->metadata, "COMMENT", NULL, 0 ); ++ if( ade == NULL ) ++ return QString(); ++ if( ade->value != '\0' ) ++ return QString::fromLocal8Bit( ade->value ); + else + return QString(); + } +@@ -309,8 +324,13 @@ int K3bFFMpegFile::fillOutputBuffer() + #if LIBAVCODEC_VERSION_MAJOR < 52 + int len = ::avcodec_decode_audio( + #else ++ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ int len = ::avcodec_decode_audio3( ++ #else + int len = ::avcodec_decode_audio2( ++ #endif + #endif ++ + #ifdef FFMPEG_BUILD_PRE_4629 + &d->formatContext->streams[0]->codec, + #else +@@ -318,7 +338,11 @@ int K3bFFMpegFile::fillOutputBuffer() + #endif + (short*)d->alignedOutputBuffer, + &d->outputBufferSize, ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52, 64, 0) ++ &d->packet ); ++#else + d->packetData, d->packetSize ); ++#endif + + if( d->packetSize <= 0 || len < 0 ) + ::av_free_packet( &d->packet ); diff --git a/testing/k3b/k3b.install b/testing/k3b/k3b.install new file mode 100644 index 000000000..413ad60f7 --- /dev/null +++ b/testing/k3b/k3b.install @@ -0,0 +1,13 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-mime-database usr/share/mime &> /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/kdemultimedia/PKGBUILD b/testing/kdemultimedia/PKGBUILD new file mode 100644 index 000000000..f9d57749e --- /dev/null +++ b/testing/kdemultimedia/PKGBUILD @@ -0,0 +1,109 @@ +# $Id: PKGBUILD 142147 2011-11-05 11:37:50Z ibiru $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgbase=kdemultimedia +pkgname=('kdemultimedia-dragonplayer' + 'kdemultimedia-ffmpegthumbs' + 'kdemultimedia-juk' + 'kdemultimedia-kioslave' + 'kdemultimedia-kmix' + 'kdemultimedia-kscd' + 'kdemultimedia-mplayerthumbs') +pkgver=4.7.3 +pkgrel=2 +arch=('i686' 'x86_64') +url='http://www.kde.org' +license=('GPL' 'LGPL' 'FDL') +groups=('kde' 'kdemultimedia') +makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdelibs' 'tunepimp' + 'ffmpeg' 'mplayer' 'pulseaudio' 'libmusicbrainz3') +source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" + 'mplayerthumbs.config') +sha1sums=('4db44494e6a2ef886e3513b6a2eb4e526741a6ff' + 'ba016fa2563c14ffcba852c62506b66bfc6ee683') + +build() { + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Xine=OFF + make +} + +package_kdemultimedia-dragonplayer() { + pkgdesc='Video Player' + depends=('kdebase-runtime') + url="http://kde.org/applications/multimedia/dragonplayer/" + install='kdemultimedia.install' + cd $srcdir/build/dragonplayer + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/dragonplayer + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-ffmpegthumbs() { + pkgdesc='Video Files (ffmpegthumbs)' + depends=('kdebase-runtime' 'ffmpeg') + install='kdemultimedia.install' + cd $srcdir/build/ffmpegthumbs + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-juk() { + pkgdesc='Music Player' + depends=('kdebase-runtime' 'tunepimp') + url="http://kde.org/applications/multimedia/juk" + install='kdemultimedia.install' + cd $srcdir/build/juk + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/juk + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-kioslave() { + pkgdesc='Audio CD Browser' + depends=('kdelibs' 'libmusicbrainz3' 'cdparanoia') + conflicts=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc') + replaces=('kdemultimedia-libkcddb' 'kdemultimedia-libkcompactdisc') + for i in kioslave doc/kioslave libkcddb libkcompactdisc; do + cd $srcdir/build/${i} + make DESTDIR=$pkgdir install + done +} + +package_kdemultimedia-kmix() { + pkgdesc='Sound Mixer' + depends=('kdebase-runtime') + url="http://kde.org/applications/multimedia/kmix" + install='kdemultimedia.install' + cd $srcdir/build/kmix + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kmix + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-kscd() { + pkgdesc='CD Player' + depends=('kdebase-runtime' 'libmusicbrainz3') + url="http://kde.org/applications/multimedia/kscd" + install='kdemultimedia.install' + cd $srcdir/build/kscd + make DESTDIR=$pkgdir install + cd $srcdir/build/doc/kcontrol/cddbretrieval + make DESTDIR=$pkgdir install +} + +package_kdemultimedia-mplayerthumbs() { + pkgdesc='Video Files (MPlayerThumbs)' + depends=('kdebase-runtime' 'mplayer') + replaces=('mplayerthumbs') + conflicts=('mplayerthumbs') + cd $srcdir/build/mplayerthumbs + make DESTDIR=$pkgdir install + install -D -m644 $srcdir/mplayerthumbs.config $pkgdir/usr/share/config/mplayerthumbs +} diff --git a/testing/kdemultimedia/kdemultimedia.install b/testing/kdemultimedia/kdemultimedia.install new file mode 100644 index 000000000..e70c054ec --- /dev/null +++ b/testing/kdemultimedia/kdemultimedia.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/kdemultimedia/mplayerthumbs.config b/testing/kdemultimedia/mplayerthumbs.config new file mode 100644 index 000000000..761a17953 --- /dev/null +++ b/testing/kdemultimedia/mplayerthumbs.config @@ -0,0 +1,2 @@ +[MPlayerThumbsCfg] +backend=0 diff --git a/testing/keyutils/PKGBUILD b/testing/keyutils/PKGBUILD new file mode 100644 index 000000000..97486239a --- /dev/null +++ b/testing/keyutils/PKGBUILD @@ -0,0 +1,24 @@ +# $Id: PKGBUILD 142044 2011-11-04 20:54:48Z stephane $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +pkgname=keyutils +pkgver=1.5.2 +pkgrel=2 +pkgdesc="Linux Key Management Utilities" +arch=(i686 x86_64) +url="http://www.kernel.org" +license=('GPL2' 'LGPL2.1') +depends=('glibc' 'sh') +backup=(etc/request-key.conf) +source=(http://people.redhat.com/~dhowells/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +md5sums=('19811ee31f683058a9aae3e6a3a23a7f') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed -i "s|/lib64|/lib|g" Makefile + make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/kradio/PKGBUILD b/testing/kradio/PKGBUILD new file mode 100644 index 000000000..b73b80c90 --- /dev/null +++ b/testing/kradio/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 142149 2011-11-05 11:37:56Z ibiru $ +# Maintainer : Tobias Powalowski <tpowa@archlinux.org> + +pkgname=kradio +pkgver=4.0.2 +pkgrel=2 +arch=('i686' 'x86_64') +license=('GPL2') +pkgdesc="A comfortable KDE radio application" +url="http://kradio.sourceforge.net/" +depends=('kdebase-runtime' 'lirc-utils' 'libmms' 'ffmpeg') +makedepends=('pkg-config' 'automoc4' 'cmake') +install=kradio.install +source=(http://downloads.sourceforge.net/sourceforge/kradio/kradio4-$pkgver.tar.bz2{,.asc} kradio-ffmpeg.diff) +options=(!libtool) + +build() { + cd "$srcdir" + (cd ${pkgname}4-$pkgver ; patch -p1 -i "$srcdir/kradio-ffmpeg.diff") + mkdir build + cd build + cmake ../${pkgname}4-$pkgver -DCMAKE_SKIP_RPATH=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release + make +} + +package() { + cd "$srcdir/build" + make DESTDIR="$pkgdir" install +} +md5sums=('18fea3e2bc7100882075187c6a89f7bd' + '5f407eb75536f39e79c77a70613e8704' + '7d31a4f54602bc109f39cc0a7a1dc50c') diff --git a/testing/kradio/kradio-ffmpeg.diff b/testing/kradio/kradio-ffmpeg.diff new file mode 100644 index 000000000..27d224fec --- /dev/null +++ b/testing/kradio/kradio-ffmpeg.diff @@ -0,0 +1,34 @@ +X-Git-Url: http://kradio.git.sourceforge.net/git/gitweb.cgi?p=kradio%2Fkradio;a=blobdiff_plain;f=plugins%2Finternetradio%2Fdecoder_thread.cpp;h=c74d6e20578faf3b5dee877aa6de0c9269f49ad9;hp=4cd6cc0543200e9e274e38fa8badb63556a419c3;hb=4f4ec44f49d83b85702bb002455a57374245d825;hpb=c5dea0c01bf5cc16f49cf3d58b837b2fab02d988 + +diff --git a/plugins/internetradio/decoder_thread.cpp b/plugins/internetradio/decoder_thread.cpp +index 4cd6cc0..c74d6e2 100644 +--- a/plugins/internetradio/decoder_thread.cpp ++++ b/plugins/internetradio/decoder_thread.cpp +@@ -373,7 +373,6 @@ void InternetRadioDecoder::openAVStream(const QString &stream, bool warningsNotE + + //av_log_set_level(255); + m_av_pFormatCtx = avformat_alloc_context(); +- memset(m_av_pFormatCtx, 0, sizeof(*m_av_pFormatCtx)); + m_av_pFormatCtx->probesize = m_maxProbeSize; + m_av_pFormatCtx->max_analyze_duration = m_maxAnalyzeTime * AV_TIME_BASE; + +@@ -475,7 +474,6 @@ void InternetRadioDecoder::openAVStream(const QString &stream, bool warningsNotE + m_av_pFormatCtx_opened = true; + } + else { +- + // IErrorLogClient::staticLogDebug("InternetRadioDecoder::openAVStream: av_open_input_file start"); + if (av_open_input_file(&m_av_pFormatCtx, stream.toUtf8(), iformat, 0, &av_params) != 0) { + if (warningsNotErrors) { +@@ -535,7 +533,11 @@ void InternetRadioDecoder::openAVStream(const QString &stream, bool warningsNotE + m_av_audioStream = -1; + for (unsigned int i = 0; i < m_av_pFormatCtx->nb_streams; i++) { + // if (m_av_pFormatCtx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO && m_av_audioStream < 0) { ++#if LIBAVCODEC_VERSION_MAJOR < 53 + if (m_av_pFormatCtx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO) { // take last stream ++#else ++ if (m_av_pFormatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) { // take last stream ++#endif + m_av_audioStream = i; + break; + } diff --git a/testing/kradio/kradio.install b/testing/kradio/kradio.install new file mode 100644 index 000000000..af52669f5 --- /dev/null +++ b/testing/kradio/kradio.install @@ -0,0 +1,11 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null +} + +post_upgrade() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null +} diff --git a/testing/krb5/PKGBUILD b/testing/krb5/PKGBUILD new file mode 100644 index 000000000..0ba2538c2 --- /dev/null +++ b/testing/krb5/PKGBUILD @@ -0,0 +1,83 @@ +# $Id: PKGBUILD 142052 2011-11-04 23:20:14Z stephane $ +# Maintainer: StĂ©phane Gaudreault <stephane@archlinux.org> + +pkgname=krb5 +pkgver=1.9.2 +pkgrel=1 +pkgdesc="The Kerberos network authentication system" +arch=('i686' 'x86_64') +url="http://web.mit.edu/kerberos/" +license=('custom') +depends=('e2fsprogs' 'libldap' 'keyutils') +makedepends=('perl') +provides=('heimdal') +replaces=('heimdal') +conflicts=('heimdal') +backup=('etc/krb5.conf' 'var/lib/krb5kdc/kdc.conf') +source=(http://web.mit.edu/kerberos/dist/${pkgname}/1.9/${pkgname}-${pkgver}-signed.tar + krb5-kadmind + krb5-kdc + krb5-kpropd + krb5-1.9.1-config-script.patch) +sha1sums=('aa06f778ee1f9791cd4c5cf4c9e9465769ffec92' + '2aa229369079ed1bbb201a1ef72c47bf143f4dbe' + '77d2312ecd8bf12a6e72cc8fd871a8ac93b23393' + '7f402078fa65bb9ff1beb6cbbbb017450df78560' + '7342410760cf44bfa01bb99bb4c49e12496cb46f') +options=('!emptydirs') + +build() { + tar zxvf ${pkgname}-${pkgver}.tar.gz + cd "${srcdir}/${pkgname}-${pkgver}/src" + + # - Make krb5-config suppress CFLAGS output when called with --libs + # cf https://bugzilla.redhat.com/show_bug.cgi?id=544391 + # + # - Omit extra libraries because their interfaces are not exposed to applications + # by libkrb5, unless do_deps is set to 1, which indicates that the caller + # wants the whole list. + # + # Patch from upstream : + # http://anonsvn.mit.edu/viewvc/krb5/trunk/src/krb5-config.in?r1=23662&r2=25236 + patch -Np2 -i ${srcdir}/krb5-1.9.1-config-script.patch + + # FS#25384 + sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4 + + export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all" + export CPPFLAGS+=" -I/usr/include/et" + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --localstatedir=/var/lib \ + --enable-shared \ + --with-system-et \ + --with-system-ss \ + --disable-rpath \ + --without-tcl \ + --enable-dns-for-realm \ + --with-ldap + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}/src" + make DESTDIR="${pkgdir}" EXAMPLEDIR="/usr/share/doc/${pkgname}/examples" install + + # Sample KDC config file + install -dm 755 "${pkgdir}"/var/lib/krb5kdc + install -pm 644 config-files/kdc.conf "${pkgdir}"/var/lib/krb5kdc/kdc.conf + + # Default configuration file + install -dm 755 "${pkgdir}"/etc + install -pm 644 config-files/krb5.conf "${pkgdir}"/etc/krb5.conf + + install -dm 755 "${pkgdir}"/etc/rc.d + install -m 755 ../../krb5-kdc "${pkgdir}"/etc/rc.d + install -m 755 ../../krb5-kadmind "${pkgdir}"/etc/rc.d + install -m 755 ../../krb5-kpropd "${pkgdir}"/etc/rc.d + + install -dm 755 "${pkgdir}"/usr/share/aclocal + install -m 644 util/ac_check_krb5.m4 "${pkgdir}"/usr/share/aclocal + + install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/testing/krb5/krb5-1.9.1-2011-006.patch b/testing/krb5/krb5-1.9.1-2011-006.patch new file mode 100644 index 000000000..05a22caf5 --- /dev/null +++ b/testing/krb5/krb5-1.9.1-2011-006.patch @@ -0,0 +1,75 @@ +diff --git a/src/plugins/kdb/db2/lockout.c b/src/plugins/kdb/db2/lockout.c +index b473611..50c60b7 100644 +--- a/src/plugins/kdb/db2/lockout.c ++++ b/src/plugins/kdb/db2/lockout.c +@@ -169,6 +169,9 @@ krb5_db2_lockout_audit(krb5_context context, + return 0; + } + ++ if (entry == NULL) ++ return 0; ++ + if (!db_ctx->disable_lockout) { + code = lookup_lockout_policy(context, entry, &max_fail, + &failcnt_interval, &lockout_duration); +@@ -176,6 +179,15 @@ krb5_db2_lockout_audit(krb5_context context, + return code; + } + ++ /* ++ * Don't continue to modify the DB for an already locked account. ++ * (In most cases, status will be KRB5KDC_ERR_CLIENT_REVOKED, and ++ * this check is unneeded, but in rare cases, we can fail with an ++ * integrity error or preauth failure before a policy check.) ++ */ ++ if (locked_check_p(context, stamp, max_fail, lockout_duration, entry)) ++ return 0; ++ + /* Only mark the authentication as successful if the entry + * required preauthentication, otherwise we have no idea. */ + if (status == 0 && (entry->attributes & KRB5_KDB_REQUIRES_PRE_AUTH)) { +diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c +index 552e39a..c2f44ab 100644 +--- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c ++++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c +@@ -105,6 +105,7 @@ krb5_ldap_get_principal(krb5_context context, krb5_const_principal searchfor, + CHECK_LDAP_HANDLE(ldap_context); + + if (is_principal_in_realm(ldap_context, searchfor) != 0) { ++ st = KRB5_KDB_NOENTRY; + krb5_set_error_message (context, st, "Principal does not belong to realm"); + goto cleanup; + } +diff --git a/src/plugins/kdb/ldap/libkdb_ldap/lockout.c b/src/plugins/kdb/ldap/libkdb_ldap/lockout.c +index a218dc7..fd164dd 100644 +--- a/src/plugins/kdb/ldap/libkdb_ldap/lockout.c ++++ b/src/plugins/kdb/ldap/libkdb_ldap/lockout.c +@@ -165,6 +165,9 @@ krb5_ldap_lockout_audit(krb5_context context, + return 0; + } + ++ if (entry == NULL) ++ return 0; ++ + if (!ldap_context->disable_lockout) { + code = lookup_lockout_policy(context, entry, &max_fail, + &failcnt_interval, +@@ -173,9 +176,16 @@ krb5_ldap_lockout_audit(krb5_context context, + return code; + } + +- entry->mask = 0; ++ /* ++ * Don't continue to modify the DB for an already locked account. ++ * (In most cases, status will be KRB5KDC_ERR_CLIENT_REVOKED, and ++ * this check is unneeded, but in rare cases, we can fail with an ++ * integrity error or preauth failure before a policy check.) ++ */ ++ if (locked_check_p(context, stamp, max_fail, lockout_duration, entry)) ++ return 0; + +- assert (!locked_check_p(context, stamp, max_fail, lockout_duration, entry)); ++ entry->mask = 0; + + /* Only mark the authentication as successful if the entry + * required preauthentication, otherwise we have no idea. */ diff --git a/testing/krb5/krb5-1.9.1-canonicalize-fallback.patch b/testing/krb5/krb5-1.9.1-canonicalize-fallback.patch new file mode 100644 index 000000000..e5a38498f --- /dev/null +++ b/testing/krb5/krb5-1.9.1-canonicalize-fallback.patch @@ -0,0 +1,58 @@ +diff -Naur krb5-1.9.1.ori/src/lib/krb5/krb/get_creds.c krb5-1.9.1/src/lib/krb5/krb/get_creds.c +--- krb5-1.9.1.ori/src/lib/krb5/krb/get_creds.c 2011-02-09 16:55:36.000000000 -0500 ++++ krb5-1.9.1/src/lib/krb5/krb/get_creds.c 2011-09-26 18:42:01.465190278 -0400 +@@ -470,13 +470,10 @@ + + /***** STATE_REFERRALS *****/ + +-/* +- * Possibly retry a request in the fallback realm after a referral request +- * failure in the local realm. Expects ctx->reply_code to be set to the error +- * from a referral request. +- */ ++/* Possibly try a non-referral request after a referral request failure. ++ * Expects ctx->reply_code to be set to the error from a referral request. */ + static krb5_error_code +-try_fallback_realm(krb5_context context, krb5_tkt_creds_context ctx) ++try_fallback(krb5_context context, krb5_tkt_creds_context ctx) + { + krb5_error_code code; + char **hrealms; +@@ -485,9 +482,10 @@ + if (ctx->referral_count > 1) + return ctx->reply_code; + +- /* Only fall back if the original request used the referral realm. */ ++ /* If the request used a specified realm, make a non-referral request to ++ * that realm (in case it's a KDC which rejects KDC_OPT_CANONICALIZE). */ + if (!krb5_is_referral_realm(&ctx->req_server->realm)) +- return ctx->reply_code; ++ return begin_non_referral(context, ctx); + + if (ctx->server->length < 2) { + /* We need a type/host format principal to find a fallback realm. */ +@@ -500,10 +498,10 @@ + if (code != 0) + return code; + +- /* Give up if the fallback realm isn't any different. */ ++ /* If the fallback realm isn't any different, use the existing TGT. */ + if (data_eq_string(ctx->server->realm, hrealms[0])) { + krb5_free_host_realm(context, hrealms); +- return ctx->reply_code; ++ return begin_non_referral(context, ctx); + } + + /* Rewrite server->realm to be the fallback realm. */ +@@ -540,9 +538,9 @@ + krb5_error_code code; + const krb5_data *referral_realm; + +- /* Possibly retry with the fallback realm on error. */ ++ /* Possibly try a non-referral fallback request on error. */ + if (ctx->reply_code != 0) +- return try_fallback_realm(context, ctx); ++ return try_fallback(context, ctx); + + if (krb5_principal_compare(context, ctx->reply_creds->server, + ctx->server)) { diff --git a/testing/krb5/krb5-1.9.1-config-script.patch b/testing/krb5/krb5-1.9.1-config-script.patch new file mode 100644 index 000000000..a72a75edf --- /dev/null +++ b/testing/krb5/krb5-1.9.1-config-script.patch @@ -0,0 +1,27 @@ +diff -Naur krb5-1.9.1.ori/src/krb5-config.in krb5-1.9.1/src/krb5-config.in +--- krb5-1.9.1.ori/src/krb5-config.in 2010-01-19 13:44:57.000000000 -0500 ++++ krb5-1.9.1/src/krb5-config.in 2011-09-26 18:27:09.018487087 -0400 +@@ -186,7 +186,7 @@ + -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \ + -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \ + -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \ +- -e 's#\$(CFLAGS)#'"$CFLAGS"'#'` ++ -e 's#\$(CFLAGS)##'` + + if test $library = 'kdb'; then + lib_flags="$lib_flags -lkdb5 $KDB5_DB_LIB" +@@ -214,9 +214,13 @@ + fi + + if test $library = 'krb5'; then +- lib_flags="$lib_flags -lkrb5 -lk5crypto -lcom_err $GEN_LIB $LIBS $DL_LIB" ++ lib_flags="$lib_flags -lkrb5 -lk5crypto -lcom_err" + fi + ++ # If we ever support a flag to generate output suitable for static ++ # linking, we would output "-lkrb5support $GEN_LIB $LIBS $DL_LIB" ++ # here. ++ + echo $lib_flags + fi + diff --git a/testing/krb5/krb5-kadmind b/testing/krb5/krb5-kadmind new file mode 100644 index 000000000..04df0dcff --- /dev/null +++ b/testing/krb5/krb5-kadmind @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/kadmind` +case "$1" in + start) + stat_busy "Starting Kerberos Admin Daemon" + if [ -z "$PID" ]; then + /usr/sbin/kadmind + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon krb5-kadmind + stat_done + fi + ;; + stop) + stat_busy "Stopping Kerberos Admin Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon krb5-kadmind + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 diff --git a/testing/krb5/krb5-kdc b/testing/krb5/krb5-kdc new file mode 100644 index 000000000..05a03411e --- /dev/null +++ b/testing/krb5/krb5-kdc @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/krb5kdc` +case "$1" in + start) + stat_busy "Starting Kerberos Authentication" + if [ -z "$PID" ]; then + /usr/sbin/krb5kdc + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon krb5-kdc + stat_done + fi + ;; + stop) + stat_busy "Stopping Kerberos Authentication" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon krb5-kdc + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 diff --git a/testing/krb5/krb5-kpropd b/testing/krb5/krb5-kpropd new file mode 100644 index 000000000..a0077d68e --- /dev/null +++ b/testing/krb5/krb5-kpropd @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/kpropd` +case "$1" in + start) + stat_busy "Starting Kerberos Database Propagation Daemon" + if [ -z "$PID" ]; then + /usr/sbin/kpropd -S + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon kpropd + stat_done + fi + ;; + stop) + stat_busy "Stopping Kerberos Database Propagation Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon kpropd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 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/mediastreamer/PKGBUILD b/testing/mediastreamer/PKGBUILD new file mode 100644 index 000000000..e1a2b09f3 --- /dev/null +++ b/testing/mediastreamer/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 142151 2011-11-05 11:38:00Z ibiru $ +# Maintainer: +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor: AdriĂ Arrufat <swiftscythe@gmail.com> + +pkgname=mediastreamer +pkgver=2.7.3 +pkgrel=4 +pkgdesc="A library written in C that allows you to create and run audio and video streams" +arch=('i686' 'x86_64') +url="http://www.linphone.org/" +license=('GPL') +depends=('ortp' 'speex' 'v4l-utils' 'ffmpeg') +makedepends=('cmake' 'automoc4') +source=("http://download-mirror.savannah.gnu.org/releases/linphone/${pkgname}/${pkgname}-${pkgver}.tar.gz" + "disable-v4l1.patch") +md5sums=('5213307f557d86aa648f1a53a885138c' + '7ee15689eed1adbdcf0ddab8fadca34a') +options=('!libtool') + +build() { + cd "${srcdir}"/$pkgname-$pkgver/ + patch -p2 -i "${srcdir}"/disable-v4l1.patch + + ./configure --prefix=/usr \ + --libexecdir=/usr/lib/mediastreamer/ + make +} + +package() { + cd "${srcdir}"/$pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/testing/mediastreamer/disable-v4l1.patch b/testing/mediastreamer/disable-v4l1.patch new file mode 100644 index 000000000..9f6cb84d4 --- /dev/null +++ b/testing/mediastreamer/disable-v4l1.patch @@ -0,0 +1,50 @@ +diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.am linphone-3.4.3.my/mediastreamer2/src/Makefile.am +--- linphone-3.4.3/mediastreamer2/src/Makefile.am 2011-02-09 08:43:11.000000000 +0000 ++++ linphone-3.4.3.my/mediastreamer2/src/Makefile.am 2011-04-01 14:54:04.000000000 +0000 +@@ -117,7 +117,7 @@ + endif + + if BUILD_V4L +-libmediastreamer_la_SOURCES+=msv4l.c msv4l2.c ++libmediastreamer_la_SOURCES+=msv4l2.c + endif + + if BUILD_WIN32 +diff -wbBur linphone-3.4.3/mediastreamer2/src/Makefile.in linphone-3.4.3.my/mediastreamer2/src/Makefile.in +--- linphone-3.4.3/mediastreamer2/src/Makefile.in 2011-03-28 18:34:07.000000000 +0000 ++++ linphone-3.4.3.my/mediastreamer2/src/Makefile.in 2011-04-01 14:55:00.000000000 +0000 +@@ -54,7 +54,7 @@ + @BUILD_MACAQSND_TRUE@am__append_12 = aqsnd.c + @BUILD_PULSEAUDIO_TRUE@am__append_13 = pulseaudio.c + @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__append_14 = msv4m.m +-@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l.c msv4l2.c ++@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__append_15 = msv4l2.c + @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__append_16 = msdscap-mingw.cc drawdib-display.c + @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__append_17 = theora.c + @BUILD_FFMPEG_TRUE@@BUILD_VIDEO_TRUE@am__append_18 = videoenc.c \ +@@ -135,7 +135,7 @@ + audiostream.c msspeex.c speexec.c gsm.c winsnd3.c \ + msfileplayer_win.c msfilerec_win.c msfileplayer.c msfilerec.c \ + msresample.c alsa.c oss.c arts.c pasnd.c macsnd.c msiounit.c \ +- aqsnd.c pulseaudio.c msv4m.m msv4l.c msv4l2.c msdscap-mingw.cc \ ++ aqsnd.c pulseaudio.c msv4m.m msv4l2.c msdscap-mingw.cc \ + drawdib-display.c theora.c videoenc.c videodec.c pixconv.c \ + sizeconv.c nowebcam.c nowebcam.h swscale.h ffmpeg-priv.h \ + h264dec.c jpegwriter.c videoout.c x11video.c rfc2429.h \ +@@ -156,7 +156,7 @@ + @BUILD_MACAQSND_TRUE@am__objects_12 = aqsnd.lo + @BUILD_PULSEAUDIO_TRUE@am__objects_13 = pulseaudio.lo + @BUILD_MACOSX_TRUE@@BUILD_VIDEO_TRUE@am__objects_14 = msv4m.lo +-@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l.lo msv4l2.lo ++@BUILD_V4L_TRUE@@BUILD_VIDEO_TRUE@am__objects_15 = msv4l2.lo + @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@am__objects_16 = msdscap-mingw.lo \ + @BUILD_VIDEO_TRUE@@BUILD_WIN32_TRUE@ drawdib-display.lo + @BUILD_THEORA_TRUE@@BUILD_VIDEO_TRUE@am__objects_17 = theora.lo +@@ -600,7 +600,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mssndcard.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msspeex.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msticker.Plo@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4l2.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msv4m.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msvideo.Plo@am__quote@ diff --git a/testing/miro/PKGBUILD b/testing/miro/PKGBUILD new file mode 100644 index 000000000..7219c5476 --- /dev/null +++ b/testing/miro/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 142153 2011-11-05 11:38:04Z ibiru $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> + +pkgname=miro +pkgver=4.0.3 +pkgrel=2 +pkgdesc="The free and open source internet TV platform" +arch=('i686' 'x86_64') +url="http://www.getmiro.com" +license=('GPL2') +depends=('dbus-python' 'pyrex' 'pygtk' 'gstreamer0.10' 'python2-gconf' + 'python-pysqlite' 'pywebkitgtk' 'shared-mime-info' + 'desktop-file-utils' 'gstreamer0.10' 'hicolor-icon-theme' + 'gstreamer0.10-python' 'python-notify' 'libtorrent-rasterbar' + 'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'python-pycurl' + 'gstreamer0.10-ffmpeg' 'ffmpeg' 'mutagen') +makedepends=('pkg-config') +install=miro.install +options=('!makeflags') +source=("http://ftp.osuosl.org/pub/pculture.org/${pkgname}/src/${pkgname}-${pkgver}.tar.gz" + 'ffmpeg.patch') +sha1sums=('b08cd09d514d1af0b2403ab8dcd725b8c5d4b840' + 'f0c851d51318c0e0be8b91463ef901625d2587a9') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/ffmpeg.patch" + cd linux + + python2 setup.py install --root="${pkgdir}" + + # fix miro startup script so --debug works with python2 + sed -i "s|which python|which python2|" "${pkgdir}/usr/bin/miro" + sed -i "s|./miro.real|/usr/bin/miro.real|" "${pkgdir}/usr/bin/miro" +} diff --git a/testing/miro/ffmpeg.patch b/testing/miro/ffmpeg.patch new file mode 100644 index 000000000..edf378459 --- /dev/null +++ b/testing/miro/ffmpeg.patch @@ -0,0 +1,95 @@ +diff -urN miro-4.0.old/linux/miro-segmenter.c miro-4.0/linux/miro-segmenter.c +--- miro-4.0.old/linux/miro-segmenter.c 2011-05-25 15:58:21.000000000 +0200 ++++ miro-4.0/linux/miro-segmenter.c 2011-05-25 16:09:41.000000000 +0200 +@@ -60,7 +60,7 @@ + } + + switch (input_codec_context->codec_type) { +- case CODEC_TYPE_AUDIO: ++ case AVMEDIA_TYPE_AUDIO: + output_codec_context->channel_layout = input_codec_context->channel_layout; + output_codec_context->sample_rate = input_codec_context->sample_rate; + output_codec_context->channels = input_codec_context->channels; +@@ -72,7 +72,7 @@ + output_codec_context->block_align = input_codec_context->block_align; + } + break; +- case CODEC_TYPE_VIDEO: ++ case AVMEDIA_TYPE_VIDEO: + output_codec_context->pix_fmt = input_codec_context->pix_fmt; + output_codec_context->width = input_codec_context->width; + output_codec_context->height = input_codec_context->height; +@@ -154,7 +154,7 @@ + exit(1); + } + +- ofmt = guess_format("mpegts", NULL, NULL); ++ ofmt = av_guess_format("mpegts", NULL, NULL); + if (!ofmt) { + fprintf(stderr, "Could not find MPEG-TS muxer\n"); + exit(1); +@@ -174,12 +174,12 @@ + + for (i = 0; i < ic->nb_streams && (video_index < 0 || audio_index < 0); i++) { + switch (ic->streams[i]->codec->codec_type) { +- case CODEC_TYPE_VIDEO: ++ case AVMEDIA_TYPE_VIDEO: + video_index = i; + ic->streams[i]->discard = AVDISCARD_NONE; + video_st = add_output_stream(oc, ic->streams[i]); + break; +- case CODEC_TYPE_AUDIO: ++ case AVMEDIA_TYPE_AUDIO: + audio_index = i; + ic->streams[i]->discard = AVDISCARD_NONE; + audio_st = add_output_stream(oc, ic->streams[i]); +@@ -195,7 +195,7 @@ + exit(1); + } + +- dump_format(oc, 0, input, 1); ++ av_dump_format(oc, 0, input, 1); + + if (video_st) { + codec = avcodec_find_decoder(video_st->codec->codec_id); +@@ -208,7 +208,7 @@ + } + } + +- if (url_fopen(&oc->pb, output_filename, URL_WRONLY) < 0) { ++ if (avio_open(&oc->pb, output_filename, URL_WRONLY) < 0) { + fprintf(stderr, "Could not open '%s'\n", output_filename); + exit(1); + } +@@ -234,7 +234,7 @@ + break; + } + +- if (packet.stream_index == video_index && (packet.flags & PKT_FLAG_KEY)) { ++ if (packet.stream_index == video_index && (packet.flags & AV_PKT_FLAG_KEY)) { + segment_time = (double)video_st->pts.val * video_st->time_base.num / video_st->time_base.den; + } + else if (video_index < 0) { +@@ -245,10 +245,10 @@ + } + + if (segment_time - prev_segment_time >= segment_duration) { +- put_flush_packet(oc->pb); +- url_fclose(oc->pb); ++ avio_flush(oc->pb); ++ avio_close(oc->pb); + +- if (url_fopen(&oc->pb, output_filename, URL_WRONLY) < 0) { ++ if (avio_open(&oc->pb, output_filename, URL_WRONLY) < 0) { + fprintf(stderr, "Could not open '%s'\n", output_filename); + break; + } +@@ -278,7 +278,7 @@ + av_freep(&oc->streams[i]); + } + +- url_fclose(oc->pb); ++ avio_close(oc->pb); + av_free(oc); + + return 0; diff --git a/testing/miro/miro.install b/testing/miro/miro.install new file mode 100644 index 000000000..a5ee228aa --- /dev/null +++ b/testing/miro/miro.install @@ -0,0 +1,17 @@ +post_install() { + update-desktop-database -q + xdg-icon-resource forceupdate --theme hicolor + update-mime-database usr/share/mime > /dev/null +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + update-desktop-database -q + xdg-icon-resource forceupdate --theme hicolor + update-mime-database usr/share/mime > /dev/null +} + + 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/moc/PKGBUILD b/testing/moc/PKGBUILD new file mode 100644 index 000000000..e7412df83 --- /dev/null +++ b/testing/moc/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 142155 2011-11-05 11:38:06Z ibiru $ +# Maintainer: Eric BĂ©langer <eric@archlinux.org> + +pkgname=moc +pkgver=20110528 +pkgrel=4 +pkgdesc="An ncurses console audio player with support for the mp3, ogg, and wave formats" +arch=('i686' 'x86_64') +url="http://moc.daper.net/" +license=('GPL') +depends=('libmad' 'libid3tag' 'jack' 'curl' 'libltdl' 'file') +makedepends=('speex' 'ffmpeg' 'taglib' 'libmpcdec' 'wavpack' 'libmodplug') +optdepends=('speex: for using the speex plugin' + 'ffmpeg: for using the ffmpeg plugin' + 'taglib: for using the musepack plugin' + 'libmpcdec: for using the musepack plugin' + 'wavpack: for using the wavpack plugin' + 'libmodplug: for using the modplug plugin') +options=('!libtool') +source=(ftp://ftp.archlinux.org/other/moc/${pkgname}-${pkgver}.tar.xz \ + gcc-undefined-symbols.diff moc-ffmpeg.patch) +sha1sums=('f79049136ce6616bfd6af2f5e08246a5921441cf' + 'a811a4ac7e049914aab528d3f06a6be6634c2720' + 'f7e8eb17a89fea1c08c8a68f5afd1ffdc641ce9d') + +build() { + cd "${srcdir}/${pkgname}" + patch -p0 -i ../gcc-undefined-symbols.diff + patch -p0 -i ../moc-ffmpeg.patch + +# Disabling aac to use the external ffmpeg to play them (FS#13164) + ./autogen.sh + ./configure --prefix=/usr --without-rcc --without-aac \ + --with-oss --with-alsa --with-jack --with-mp3 \ + --with-musepack --with-vorbis --with-flac --with-wavpack \ + --with-sndfile --with-modplug --with-ffmpeg --with-speex \ + --with-samplerate --with-curl --disable-debug + make +} + +package() { + cd "${srcdir}/${pkgname}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/moc/gcc-undefined-symbols.diff b/testing/moc/gcc-undefined-symbols.diff new file mode 100644 index 000000000..09e9b8bda --- /dev/null +++ b/testing/moc/gcc-undefined-symbols.diff @@ -0,0 +1,12 @@ +--- decoder.c~ 2011-05-08 09:28:28.077137883 +0200 ++++ decoder.c 2011-05-10 21:40:48.887941968 +0200 +@@ -259,6 +259,9 @@ + for (i = 0; i < plugins_num; i++) + if (plugins[i].decoder->destroy) + plugins[i].decoder->destroy (); ++ for (i = 0; i < plugins_num; i++) ++ if (plugins[i].handle) ++ lt_dlclose(plugins[i].handle); + + if (lt_dlexit()) + logit ("lt_exit() failed: %s", lt_dlerror()); diff --git a/testing/moc/moc-ffmpeg.patch b/testing/moc/moc-ffmpeg.patch new file mode 100644 index 000000000..7554ea14e --- /dev/null +++ b/testing/moc/moc-ffmpeg.patch @@ -0,0 +1,26 @@ +Index: decoder_plugins/ffmpeg/ffmpeg.c +=================================================================== +--- decoder_plugins/ffmpeg/ffmpeg.c (revision 2307) ++++ decoder_plugins/ffmpeg/ffmpeg.c (working copy) +@@ -28,12 +28,6 @@ + #include <ffmpeg/avformat.h> + #endif + +-/* libavformat's API will be changing at version 53, but at present there +- * appears to be no guidance on what will replace the deprecated fields. */ +-#ifndef FF_API_OLD_METADATA +-#define FF_API_OLD_METADATA (LIBAVFORMAT_VERSION_MAJOR < 53) +-#endif +- + /* FFmpeg also likes common names, without that, our common.h and log.h + * would not be included. */ + #undef COMMON_H +@@ -137,7 +131,7 @@ + av_read_play (data->ic); + for (i = 0; i < data->ic->nb_streams; i++) { + data->enc = data->ic->streams[i]->codec; +- if (data->enc->codec_type == CODEC_TYPE_AUDIO) { ++ if (data->enc->codec_type == AVMEDIA_TYPE_AUDIO) { + audio_index = i; + break; + } diff --git a/testing/module-init-tools/PKGBUILD b/testing/module-init-tools/PKGBUILD new file mode 100644 index 000000000..587af1307 --- /dev/null +++ b/testing/module-init-tools/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 142090 2011-11-05 00:45:30Z dreisner $ +# Maintainer: Dave Reisner <dreisner@archlinux.org> +# Maintainer: Aaron Griffin <aaron@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=module-init-tools +pkgver=3.16 +pkgrel=2 +pkgdesc="Utilities needed by Linux systems for managing loadable kernel modules" +arch=('i686' 'x86_64') +url="https://modules.wiki.kernel.org" +license=('GPL') +depends=('glibc') +makedepends=('docbook2x') +backup=('etc/modprobe.d/modprobe.conf') +source=("http://www.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar.bz2" + modprobe.conf + docfix.patch) +md5sums=('bc44832c6e41707b8447e2847d2019f5' + '325657db471b3190f685e5a89c9b90e3' + '4320d19902ded43bed55c804b065cdc7') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # fix headers in SGML manpage sources and an XML typo + patch -Np0 < "$srcdir/docfix.patch" + + ./configure --prefix=/usr --exec-prefix=/ --enable-zlib + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR=$pkgdir install + + # extra modprobe.d conf dir + install -dm755 "$pkgdir/lib/modprobe.d" + + # Install our custom (read: empty) modprobe.conf + install -Dm644 "$srcdir/modprobe.conf" "$pkgdir/etc/modprobe.d/modprobe.conf" +} diff --git a/testing/module-init-tools/docfix.patch b/testing/module-init-tools/docfix.patch new file mode 100644 index 000000000..0151ca3f1 --- /dev/null +++ b/testing/module-init-tools/docfix.patch @@ -0,0 +1,90 @@ +--- doc/depmod.conf.sgml.orig 2011-06-25 10:07:15.897805024 -0400 ++++ doc/depmod.conf.sgml 2011-06-25 10:07:48.810805020 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +--- doc/depmod.sgml.orig 2011-06-25 10:07:15.898805024 -0400 ++++ doc/depmod.sgml 2011-06-25 10:07:56.636805021 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +@@ -52,7 +52,7 @@ + <arg><option>-n</option></arg> + <arg><option>-v</option></arg> + <arg><option>-P <replaceable>prefix</replaceable></option></arg> +- <arg><option>-w</option><arg> ++ <arg><option>-w</option></arg> + <arg><option><replaceable>version</replaceable></option></arg> + <arg rep='repeat'><option><replaceable>filename</replaceable></option></arg> + </cmdsynopsis> +--- doc/insmod.sgml.orig 2011-06-25 10:07:15.899805024 -0400 ++++ doc/insmod.sgml 2011-06-25 10:07:59.228805019 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +--- doc/lsmod.sgml.orig 2011-06-25 10:07:15.899805024 -0400 ++++ doc/lsmod.sgml 2011-06-25 10:08:04.804805020 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +--- doc/modinfo.sgml.orig 2011-06-25 10:07:15.900805024 -0400 ++++ doc/modinfo.sgml 2011-06-25 10:08:07.630805019 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +--- doc/modprobe.conf.sgml.orig 2011-06-25 10:07:15.901805024 -0400 ++++ doc/modprobe.conf.sgml 2011-06-25 10:08:10.173805018 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +--- doc/modprobe.sgml.orig 2011-06-25 10:07:15.902805024 -0400 ++++ doc/modprobe.sgml 2011-06-25 10:08:13.623805019 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +--- doc/modules.dep.sgml.orig 2011-06-25 10:07:15.903805024 -0400 ++++ doc/modules.dep.sgml 2011-06-25 10:08:19.323805019 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> +--- doc/rmmod.sgml.orig 2011-06-25 10:07:15.904805024 -0400 ++++ doc/rmmod.sgml 2011-06-25 10:08:27.691805017 -0400 +@@ -1,4 +1,5 @@ +-<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ ++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN" ++ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ + <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> + <!ENTITY docbook "<productname>DocBook</productname>"> + <!ENTITY sgml "<abbrev>SGML</abbrev>"> diff --git a/testing/module-init-tools/modprobe.conf b/testing/module-init-tools/modprobe.conf new file mode 100644 index 000000000..551bdfbdf --- /dev/null +++ b/testing/module-init-tools/modprobe.conf @@ -0,0 +1,3 @@ +# +# /etc/modprobe.d/modprobe.conf +# diff --git a/testing/mpd/ChangeLog b/testing/mpd/ChangeLog new file mode 100644 index 000000000..40ba5e4e7 --- /dev/null +++ b/testing/mpd/ChangeLog @@ -0,0 +1,9 @@ +2011-09-03 Angel Velasquez <angvp@archlinux.org> + * Version bump to 0.16.4 + * Removed the patch mpd-0.16.3_ffmpeg_sigsegv.patch since is included upstream + +2011-06-25 Angel Velasquez <angvp@archlinux.org> + * Added a patch for bug with ffmpeg FS#24839 + + +# vim: set ft=changelog ts=4 sw=4 et: diff --git a/testing/mpd/PKGBUILD b/testing/mpd/PKGBUILD new file mode 100644 index 000000000..5621f15db --- /dev/null +++ b/testing/mpd/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 142157 2011-11-05 11:38:08Z ibiru $ +# Maintainer: Angel Velasquez <angvp@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Damir Perisa <damir.perisa@bluewin.ch> +# Contributor: Ben <ben@benmazer.net> + +pkgname=mpd +pkgver=0.16.5 +pkgrel=2 +pkgdesc="Music daemon that plays MP3, FLAC, and Ogg Vorbis files" +arch=('i686' 'x86_64') +license=('GPL') +url="http://mpd.wikia.com/wiki/Server" +depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2' + 'sqlite3' 'jack' 'libmms' 'wavpack' 'libmpcdec' 'avahi' 'libid3tag' + 'libpulse') +makedepends=('pkgconfig' 'doxygen') +install=${pkgname}.install +changelog=ChangeLog +source=("http://downloads.sourceforge.net/musicpd/$pkgname-$pkgver.tar.bz2" +'mpd') +md5sums=('f7564cff12035f6a1112cce770655df7' + 'e5669c2bff4031928531e52475addeb1') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-lastfm \ + --enable-jack \ + --enable-pulse \ + --enable-documentation \ + --disable-libwrap \ + --disable-cue \ + --disable-sidplay \ + --with-systemdsystemunitdir=/lib/systemd/system + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + + # set our dirs in mpd.conf file + sed -i 's|^music_directory.*$|#music_directory "path_to_your_music_collection"|1' doc/mpdconf.example + sed -i 's|playlist_directory.*$|playlist_directory "/var/lib/mpd/playlists"|1' doc/mpdconf.example + sed -i 's|db_file.*$|db_file "/var/lib/mpd/mpd.db"|1' doc/mpdconf.example + sed -i 's|log_file.*$|log_file "/var/log/mpd/mpd.log"|1' doc/mpdconf.example + sed -i 's|error_file.*$|error_file "/var/log/mpd/mpd.error"|1' doc/mpdconf.example + sed -i 's|#pid_file.*$|pid_file "/var/run/mpd/mpd.pid"|1' doc/mpdconf.example + sed -i 's|#state_file.*$|state_file "/var/lib/mpd/mpdstate"|1' doc/mpdconf.example + sed -i 's|#user.*$|user "mpd"|1' doc/mpdconf.example + + install -Dm644 "doc/mpdconf.example" "$pkgdir/usr/share/mpd/mpd.conf.example" + + install -Dm755 "$srcdir/mpd" "$pkgdir/etc/rc.d/mpd" + install -d "$pkgdir"/var/{lib/mpd/playlists,log/mpd} +} diff --git a/testing/mpd/mpd b/testing/mpd/mpd new file mode 100755 index 000000000..6134e2ed4 --- /dev/null +++ b/testing/mpd/mpd @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting Music Player Daemon" + [ ! -d /var/run/mpd ] && install -d -g 45 -o 45 /var/run/mpd + /usr/bin/mpd /etc/mpd.conf &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon mpd + stat_done + fi + ;; + stop) + stat_busy "Stopping Music Player Daemon" + /usr/bin/mpd --kill /etc/mpd.conf &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon mpd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/mpd/mpd.install b/testing/mpd/mpd.install new file mode 100644 index 000000000..885505a07 --- /dev/null +++ b/testing/mpd/mpd.install @@ -0,0 +1,18 @@ +post_install() { + post_upgrade + echo "==> Create a configuration file /etc/mpd.conf before using MPD (example: /usr/share/mpd/mpd.conf.example)" +} + +post_upgrade() { + getent group "mpd" &>/dev/null || groupadd -r -g 45 mpd 1>/dev/null + getent passwd "mpd" &>/dev/null || useradd -r -u 45 -g mpd -d "/var/lib/mpd" -s "/bin/true" -G "audio" mpd 1>/dev/null + for dir in /var/{lib,log}/mpd; do + chown -R mpd:mpd "$dir" 1>/dev/null + done +} + +post_remove() { + getent passwd "mpd" &>/dev/null && userdel mpd 1>/dev/null + getent group "mpd" &>/dev/null && groupdel mpd 1>/dev/null + [ -f etc/mpd.conf ] && mv etc/mpd.conf etc/mpd.conf.pacsave 1>/dev/null +} 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..24e6c701e --- /dev/null +++ b/testing/net-tools/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 142021 2011-11-04 06:41:37Z ronald $ +# Maintainer: Ronald van Haren <ronald.archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=net-tools +pkgver=1.60.20110819cvs +pkgrel=3 +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/opal/PKGBUILD b/testing/opal/PKGBUILD new file mode 100644 index 000000000..3adf672a4 --- /dev/null +++ b/testing/opal/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 142127 2011-11-05 11:37:25Z ibiru $ +# Maintainer: Jan de Groot <jan@archlinux.org> +# Contributor: Tom K <tomk@runbox.com> +pkgname=opal +pkgver=3.10.2 +pkgrel=3 +pkgdesc="Open Phone Abstraction Library" +arch=(i686 x86_64) +url="http://www.ekiga.org" +license=('GPL') +depends=('ptlib' 'libtheora' 'x264' 'speex') +makedepends=('ffmpeg') +options=(!makeflags) +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('8e227978263c07502b2bc4c9de0e71be1b95d673fe858bfd907910adfb2eb205') + +build() { + cd "${srcdir}/opal-${pkgver}" + CXXFLAGS="$CXXFLAGS -fpermissive" \ + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + make +} + +package() { + cd "${srcdir}/opal-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/opencv/PKGBUILD b/testing/opencv/PKGBUILD new file mode 100644 index 000000000..6ffc4a7a5 --- /dev/null +++ b/testing/opencv/PKGBUILD @@ -0,0 +1,110 @@ +# $Id: PKGBUILD 142159 2011-11-05 11:38:11Z ibiru $ +# Maintainer: Ray Rashif <schiv@archlinux.org> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> + +pkgbase=opencv +pkgname=('opencv' 'opencv-docs' 'opencv-samples') +_realname=OpenCV +pkgver=2.3.1 +pkgrel=2 +pkgdesc="Open Source Computer Vision Library" +arch=('i686' 'x86_64') +license=('BSD') +url="http://opencv.willowgarage.com/" +depends=('jasper' 'gstreamer0.10-base' 'openexr' 'ffmpeg>=20111030' + 'gtk2' 'xine-lib' 'libdc1394' 'v4l-utils') +makedepends=('pkg-config' 'cmake' 'python2-numpy' 'eigen2') +optdepends=('python2-numpy: Python 2.x interface' + 'eigen2') +options=('!libtool') +source=("http://downloads.sourceforge.net/opencvlibrary/$_realname-$pkgver.tar.bz2") +md5sums=('827c9f8aa14384c531c73aa165f9b777') + +_cmakeopts=('-D CMAKE_BUILD_TYPE=Release' + '-D CMAKE_INSTALL_PREFIX=/usr' + '-D CMAKE_SKIP_RPATH=ON' + '-D BUILD_TESTS=OFF' + '-D ENABLE_SSE=ON' + '-D ENABLE_SSE2=ON' + '-D ENABLE_SSE3=OFF' + '-D ENABLE_SSSE3=OFF' + '-D ENABLE_SSE41=OFF' + '-D ENABLE_SSE42=OFF' + '-D BUILD_EXAMPLES=ON' + '-D INSTALL_C_EXAMPLES=ON' + '-D INSTALL_PYTHON_EXAMPLES=ON' + '-D WITH_XINE=ON' + '-D WITH_QT=OFF' + '-D WITH_QT_OPENGL=OFF' + '-D WITH_UNICAP=OFF' + '-D WITH_PVAPI=OFF' + '-D WITH_OPENNI=OFF' + '-D WITH_TBB=OFF' + '-D WITH_IPP=OFF' + '-D WITH_CUDA=OFF' + '-D USE_FAST_MATH=ON') + +build() { + cd "$srcdir/$_realname-$pkgver" + + # x64, i.e "Athlon64" and upwards, can use SSE3 + [ $CARCH = x86_64 ] && \ + _cmakeopts=${_cmakeopts[@]/ENABLE_SSE3=OFF/ENABLE_SSE3=ON} + + cmake ${_cmakeopts[@]} . + + make +} + +package_opencv() { + install=$pkgname.install + + cd "$srcdir/$_realname-$pkgver" + + make DESTDIR="$pkgdir" install + + # install license file + install -Dm644 "$srcdir/$_realname-$pkgver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + cd "$pkgdir/usr/share" + + # prepare FSH-friendly dirs + if [ -d OpenCV ]; then + mv opencv/samples OpenCV/ + rm -r opencv + mv OpenCV opencv + fi + + # separate docs package; also be -R friendly + [ -d opencv/doc ] && mv opencv/doc "$srcdir/opencv-doc" + + # separate samples package + [ -d opencv/samples ] && mv opencv/samples "$srcdir/opencv-samples" +} + +package_opencv-docs() { + pkgdesc+=" (documentation)" + depends=() + optdepends=() + options=('docs') + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/doc" + cp -r opencv-doc "$pkgdir/usr/share/doc/opencv" +} + +package_opencv-samples() { + pkgdesc+=" (samples)" + depends=() + optdepends=() + options=() + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/opencv" + cp -r opencv-samples "$pkgdir/usr/share/opencv/samples" +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/opencv/opencv.install b/testing/opencv/opencv.install new file mode 100644 index 000000000..ae3f50d5c --- /dev/null +++ b/testing/opencv/opencv.install @@ -0,0 +1,11 @@ +post_install() { + echo " Documentation and samples are in separate packages:" + echo " * opencv-docs" + echo " * opencv-samples" +} + +post_upgrade() { + post_install +} + +# vim:set ts=2 sw=2 et: 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/popt/PKGBUILD b/testing/popt/PKGBUILD new file mode 100644 index 000000000..fc6688a4f --- /dev/null +++ b/testing/popt/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 142031 2011-11-04 09:28:13Z stephane $ +# Maintainer: StĂ©phane Gaudreault <stephane@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: dorphell <dorphell@archlinux.org> +# Contributor: Judd Vinet <jvinet@zeroflux.org> +# Contributor: John Proctor <jproctor@prium.net> + +pkgname=popt +pkgver=1.16 +pkgrel=4 +pkgdesc="A commandline option parser" +arch=('i686' 'x86_64') +url="http://rpm5.org" +license=('custom') +depends=('glibc') +options=('!libtool') +source=(http://rpm5.org/files/${pkgname}/${pkgname}-${pkgver}.tar.gz) +md5sums=('3743beefa3dd6247a73f8f7a32c14c33') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # move libs in /lib + install -Dm755 "${pkgdir}"/usr/lib/libpopt.so.0.0.0 \ + ${pkgdir}/lib/libpopt.so.0.0.0 + + rm "${pkgdir}"/usr/lib/libpopt.so* + ln -sf /lib/libpopt.so "${pkgdir}"/usr/lib/libpopt.so + ln -sf libpopt.so.0 "${pkgdir}"/lib/libpopt.so + ln -sf libpopt.so.0.0.0 "${pkgdir}"/lib/libpopt.so.0 + + # install license + install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} 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/pptpclient/PKGBUILD b/testing/pptpclient/PKGBUILD new file mode 100644 index 000000000..1cb05b6f8 --- /dev/null +++ b/testing/pptpclient/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 142106 2011-11-05 10:12:06Z pierre $ +# Maintainer: Daniel Isenmann <daniel @ archlinux.org> +# Contributor: Mark Nikkel <mnikkel@gmail.com> + +pkgname=pptpclient +pkgver=1.7.2 +pkgrel=4 +pkgdesc="Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP." +arch=('i686' 'x86_64') +url="http://pptpclient.sourceforge.net/" +license=('GPL') +depends=('ppp' 'iproute2') +backup=('etc/ppp/options.pptp') +source=("http://downloads.sourceforge.net/sourceforge/pptpclient/pptp-$pkgver.tar.gz") +md5sums=('4c3d19286a37459a632c7128c92a9857') + +build() { + cd $srcdir/pptp-$pkgver + + # use our CFLAGS and LDFLAGS + sed -i -e "/CFLAGS =/ c\CFLAGS = ${CFLAGS}" Makefile + sed -i -e "/LDFLAGS =/ c\LDFLAGS = ${LDFLAGS}" Makefile + + # adjust ip path + sed -i 's#/bin/ip#/usr/sbin/ip#' routing.c + + make +} + +package() { + cd $srcdir/pptp-$pkgver + make DESTDIR=$pkgdir install +} 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/reiserfsprogs/PKGBUILD b/testing/reiserfsprogs/PKGBUILD new file mode 100644 index 000000000..0caddd355 --- /dev/null +++ b/testing/reiserfsprogs/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 142096 2011-11-05 09:21:11Z pierre $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=reiserfsprogs +pkgver=3.6.21 +pkgrel=4 +pkgdesc="Reiserfs utilities" +arch=('i686' 'x86_64') +url="http://www.kernel.org/" +license=('GPL') +groups=('base') +depends=('util-linux-ng') +source=("ftp://ftp.archlinux.org/other/reiserfsprogs/reiserfsprogs-${pkgver}.tar.bz2") +md5sums=('0639cefac8f8150536cfa7531c2aa2d2') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sbindir=/sbin + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + ln -s reiserfsck "${pkgdir}/sbin/fsck.reiserfs" + ln -s mkreiserfs "${pkgdir}/sbin/mkfs.reiserfs" +} diff --git a/testing/rfkill/60-rfkill.rules b/testing/rfkill/60-rfkill.rules new file mode 100644 index 000000000..bc98a3bef --- /dev/null +++ b/testing/rfkill/60-rfkill.rules @@ -0,0 +1 @@ +KERNEL=="rfkill", GROUP="rfkill", MODE="0664" diff --git a/testing/rfkill/PKGBUILD b/testing/rfkill/PKGBUILD new file mode 100644 index 000000000..68d7ec070 --- /dev/null +++ b/testing/rfkill/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 142056 2011-11-04 23:31:12Z stephane $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> + +pkgname=rfkill +pkgver=0.4 +pkgrel=3 +pkgdesc="A tool for enabling and disabling wireless devices" +arch=('i686' 'x86_64') +url="http://linuxwireless.org/en/users/Documentation/rfkill" +license=('custom') +depends=('glibc' 'filesystem>=2010.01') +source=(http://wireless.kernel.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2 + 60-rfkill.rules + rfkill.conf.d + rfkill.rc.d) +backup=(etc/conf.d/rfkill) +md5sums=('727892c0fb35c80ee3849fbe89b45350' + '63f9bf9264911242e430867a41e8918c' + '398e7cadf023e05e3e0c323aa33575b9' + '793f0510e26547eb2632efce7d16e50e') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + # License + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + # Udev rule + install -Dm644 "${srcdir}/60-rfkill.rules" "${pkgdir}/lib/udev/rules.d/60-rfkill.rules" + # Init script + install -Dm644 "${srcdir}/rfkill.conf.d" "${pkgdir}/etc/conf.d/rfkill" + install -Dm755 "${srcdir}/rfkill.rc.d" "${pkgdir}/etc/rc.d/rfkill" +} diff --git a/testing/rfkill/rfkill.conf.d b/testing/rfkill/rfkill.conf.d new file mode 100644 index 000000000..4483da26c --- /dev/null +++ b/testing/rfkill/rfkill.conf.d @@ -0,0 +1,20 @@ +# +# /etc/conf.d/rfkill +# Configuration for the rfkill startup script +# + +# List of devices to block on startup (space-separated) +RFKILL_BLOCK="" + +# List of devices to unblock on startup (space-separated) +RFKILL_UNBLOCK="all" + +# Supported device names are: all, wifi, bluetooth, umb, wimax, wwan, gps and specific device names like phy0, hci0, ... +# See "rfkill list" for available devices +# Examples: +# +# Block all bluetooth devices: +# RFKILL_BLOCK="bluetooth" +# +# Unblock the phy0 wifi device and all wwan devices: +# RFKILL_UNBLOCK="phy0 wwan" diff --git a/testing/rfkill/rfkill.rc.d b/testing/rfkill/rfkill.rc.d new file mode 100755 index 000000000..ce90ee150 --- /dev/null +++ b/testing/rfkill/rfkill.rc.d @@ -0,0 +1,38 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/rfkill + +case "$1" in + start) + for device in ${RFKILL_BLOCK}; do + stat_busy "Blocking rfkill device: ${device}" + /usr/sbin/rfkill block ${device} + if [ $? -eq 0 ]; then + stat_done + else + stat_fail + fi + done + for device in ${RFKILL_UNBLOCK}; do + stat_busy "Unblocking rfkill device: ${device}" + /usr/sbin/rfkill unblock ${device} + if [ $? -eq 0 ]; then + stat_done + else + stat_fail + fi + done + ;; + stop) + ;; + restart) + $0 start + ;; + *) + echo "usage: $0 {start}" + exit 1 + ;; +esac +exit 0 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/sox/PKGBUILD b/testing/sox/PKGBUILD new file mode 100644 index 000000000..ebe832d53 --- /dev/null +++ b/testing/sox/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 142161 2011-11-05 11:38:13Z ibiru $ +# Maintainer: Eric BĂ©langer <eric@archlinux.org> + +pkgname=sox +pkgver=14.3.2 +pkgrel=4 +pkgdesc="The Swiss Army knife of sound processing tools" +arch=('i686' 'x86_64') +url="http://sox.sourceforge.net/" +license=('GPL' 'LGPL') +depends=('libltdl' 'file' 'libsndfile' 'libpng' 'lame' 'opencore-amr') +makedepends=('ffmpeg' 'libao' 'libmad' 'libid3tag' 'wavpack' 'libpulse') +optdepends=('libao: for ao plugin' + 'ffmpeg: for ffmpeg plugin' + 'libmad: for mp3 plugin' + 'libid3tag: for mp3 plugin' + 'wavpack: for wavpack plugin' + 'libpulse: for pulse plugin') +options=('!libtool') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 + sox-14.3.2-ffmpeg.patch) +sha1sums=('026636c90d7accba76225a2821aaa2ffa6fe41a3' + '86caa6aa86a0bf7a048522114d4efd11acbbda70') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/sox-14.3.2-ffmpeg.patch" + sed -i 's|man1/sox.1 soxeffect.7|man1/sox.1.gz soxeffect.7.gz|' Makefile.am + ./configure --prefix=/usr --sysconfdir=/etc \ + --with-dyn-default --with-distro="Arch Linux" + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/sox/sox-14.3.2-ffmpeg.patch b/testing/sox/sox-14.3.2-ffmpeg.patch new file mode 100644 index 000000000..5289b9b47 --- /dev/null +++ b/testing/sox/sox-14.3.2-ffmpeg.patch @@ -0,0 +1,40 @@ +Index: sox-14.3.2/src/ffmpeg.c +=================================================================== +--- sox-14.3.2.orig/src/ffmpeg.c ++++ sox-14.3.2/src/ffmpeg.c +@@ -91,7 +91,7 @@ static int stream_component_open(priv_t + + if (!codec || avcodec_open(enc, codec) < 0) + return -1; +- if (enc->codec_type != CODEC_TYPE_AUDIO) { ++ if (enc->codec_type != AVMEDIA_TYPE_AUDIO) { + lsx_fail("ffmpeg CODEC %x is not an audio CODEC", enc->codec_type); + return -1; + } +@@ -182,7 +182,7 @@ static int startread(sox_format_t * ft) + /* Find audio stream (FIXME: allow different stream to be selected) */ + for (i = 0; (unsigned)i < ffmpeg->ctxt->nb_streams; i++) { + AVCodecContext *enc = ffmpeg->ctxt->streams[i]->codec; +- if (enc->codec_type == CODEC_TYPE_AUDIO && ffmpeg->audio_index < 0) { ++ if (enc->codec_type == AVMEDIA_TYPE_AUDIO && ffmpeg->audio_index < 0) { + ffmpeg->audio_index = i; + break; + } +@@ -273,7 +273,7 @@ static AVStream *add_audio_stream(sox_fo + + c = st->codec; + c->codec_id = codec_id; +- c->codec_type = CODEC_TYPE_AUDIO; ++ c->codec_type = AVMEDIA_TYPE_AUDIO; + + /* put sample parameters */ + c->bit_rate = 256000; /* FIXME: allow specification */ +@@ -423,7 +423,7 @@ static size_t write_samples(sox_format_t + av_init_packet(&pkt); + pkt.size = avcodec_encode_audio(c, ffmpeg->audio_buf_aligned, AVCODEC_MAX_AUDIO_FRAME_SIZE, ffmpeg->samples); + pkt.pts = av_rescale_q(c->coded_frame->pts, c->time_base, ffmpeg->audio_st->time_base); +- pkt.flags |= PKT_FLAG_KEY; ++ pkt.flags |= AV_PKT_FLAG_KEY; + pkt.stream_index = ffmpeg->audio_st->index; + pkt.data = ffmpeg->audio_buf_aligned; + 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/transcode/PKGBUILD b/testing/transcode/PKGBUILD new file mode 100644 index 000000000..e0ef88386 --- /dev/null +++ b/testing/transcode/PKGBUILD @@ -0,0 +1,78 @@ +# $Id: PKGBUILD 142163 2011-11-05 11:38:15Z ibiru $ +# Maintainer: +# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> +# Contributor: roberto <roberto@archlinux.org> + +pkgname=transcode +_sripver=0.3-4 +pkgver=1.1.5 +pkgrel=7 +pkgdesc="A video/DVD ripper and encoder for the terminal/console" +arch=('i686' 'x86_64') +url="http://tcforge.berlios.de/" +license=('GPL') +depends=('gawk' 'imagemagick' 'lzo2' 'libdvdread' 'ffmpeg' 'mjpegtools' + 'libmpeg2' 'libxaw' 'libxml2' 'libxv' 'a52dec') +makedepends=('nasm') +options=('!libtool' '!makeflags') +source=(http://download2.berlios.de/tcforge/${pkgname}-${pkgver}.tar.bz2 + http://downloads.sourceforge.net/sourceforge/subtitleripper/subtitleripper-${_sripver}.tgz + transcode-1.1.5-jpeg-7.patch transcode-1.1.5-mpa.patch transcode-1.1.5-ffmpeg.patch) +sha1sums=('48c36e06ca0cd1cdc1a9c6a241e231f896eefd26' + 'd93ff3578dd5f722c8f4ef16bc0903eec5781a0d' + '9e380c00a3b31725dc3ec483fa7bf5e3d8a8a977' + '6f45d9167c3aa15a83cb29545749f55eb1f1e5a2' + '2d3bb4486394ee55540e772f134e193874e5c2b4') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p0 < ../transcode-1.1.5-jpeg-7.patch + patch -p1 < ../transcode-1.1.5-mpa.patch + patch -p1 < ../transcode-1.1.5-ffmpeg.patch + + # building from here + ./configure --prefix=/usr \ + --enable-sse=no --enable-sse2=no --enable-altivec=no --enable-mmx \ + --enable-lame --enable-ogg --enable-vorbis --enable-theora \ + --enable-libdv --enable-libxml2 --enable-v4l \ + --enable-imagemagick --enable-libjpeg --enable-lzo --enable-mjpegtools \ + --enable-sdl --enable-freetype2 --enable-a52 --enable-libpostproc \ + --enable-xvid --enable-x264 --enable-alsa \ + --enable-libmpeg2 --enable-libmpeg2convert \ + --with-libxml2-prefix=/usr \ + --with-mjpegtools-prefix=/usr \ + --with-imagemagick-prefix=/usr \ + --with-libdv-includes=/usr \ + --with-libpostproc-includes=/usr/include/libpostproc \ + --with-ogg-prefix=/usr \ + --with-lame-libs=/usr \ + --with-lzo-libs=/usr/lib \ + --with-libavcodec-prefix=/usr \ + --with-libavcodec-includes=/usr/include \ + --with-libavcodec-libs=/usr/lib + + make + ############################################################################## + # this imports the latest subtitleripper sources and replaces the internal + mkdir contrib + mv "${srcdir}/subtitleripper" contrib/subrip + # removes dependency on libppm, make it dependend on netpbm just failed, argh... + cd contrib/subrip + sed -e 's|^\(.*lppm.*\)$|#\1|' \ + -e 's|^\(.*D_HAVE_LIB_PPM.*\)$|#\1|' \ + -e 's/DEFINES :=/DEFINES = -DHAVE_GETLINE/' \ + -i Makefile + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + cd contrib/subrip + install -m 755 pgm2txt "${pkgdir}/usr/bin/" + install -m 755 srttool "${pkgdir}/usr/bin/" + install -m 755 subtitle2pgm "${pkgdir}/usr/bin/" + install -m 755 subtitle2vobsub "${pkgdir}/usr/bin/" + install -m 755 vobsub2pgm "${pkgdir}/usr/bin/" +} diff --git a/testing/transcode/transcode-1.1.5-ffmpeg.patch b/testing/transcode/transcode-1.1.5-ffmpeg.patch new file mode 100644 index 000000000..86e8272e9 --- /dev/null +++ b/testing/transcode/transcode-1.1.5-ffmpeg.patch @@ -0,0 +1,124 @@ +Index: transcode-1.1.5/encode/encode_lavc.c +=================================================================== +--- transcode-1.1.5.orig/encode/encode_lavc.c ++++ transcode-1.1.5/encode/encode_lavc.c +@@ -955,8 +955,6 @@ static void tc_lavc_config_defaults(TCLa + /* + * context *transcode* (not libavcodec) defaults + */ +- pd->ff_vcontext.mb_qmin = 2; +- pd->ff_vcontext.mb_qmax = 31; + pd->ff_vcontext.max_qdiff = 3; + pd->ff_vcontext.max_b_frames = 0; + pd->ff_vcontext.me_range = 0; +@@ -1116,8 +1114,6 @@ static int tc_lavc_read_config(TCLavcPri + // handled by transcode core + // { "vqmax", PCTX(qmax), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 60 }, + // handled by transcode core +- { "mbqmin", PCTX(mb_qmin), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 60 }, +- { "mbqmax", PCTX(mb_qmax), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 60 }, + { "lmin", PAUX(lmin), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 }, + { "lmax", PAUX(lmax), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 }, + { "vqdiff", PCTX(max_qdiff), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31 }, +Index: transcode-1.1.5/export/aud_aux.c +=================================================================== +--- transcode-1.1.5.orig/export/aud_aux.c ++++ transcode-1.1.5/export/aud_aux.c +@@ -347,7 +347,7 @@ static int tc_audio_init_ffmpeg(vob_t *v + //-- set parameters (bitrate, channels and sample-rate) -- + //-------------------------------------------------------- + memset(&mpa_ctx, 0, sizeof(mpa_ctx)); // default all +- mpa_ctx.codec_type = CODEC_TYPE_AUDIO; ++ mpa_ctx.codec_type = AVMEDIA_TYPE_AUDIO; + mpa_ctx.bit_rate = vob->mp3bitrate * 1000; // bitrate dest. + mpa_ctx.channels = vob->dm_chan; // channels + mpa_ctx.sample_rate = vob->a_rate; +Index: transcode-1.1.5/export/export_ffmpeg.c +=================================================================== +--- transcode-1.1.5.orig/export/export_ffmpeg.c ++++ transcode-1.1.5/export/export_ffmpeg.c +@@ -643,8 +643,6 @@ MOD_init + + lavc_venc_context->bit_rate = vob->divxbitrate * 1000; + lavc_venc_context->bit_rate_tolerance = lavc_param_vrate_tolerance * 1000; +- lavc_venc_context->mb_qmin = lavc_param_mb_qmin; +- lavc_venc_context->mb_qmax = lavc_param_mb_qmax; + lavc_venc_context->lmin= (int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5); + lavc_venc_context->lmax= (int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5); + lavc_venc_context->max_qdiff = lavc_param_vqdiff; +Index: transcode-1.1.5/import/decode_lavc.c +=================================================================== +--- transcode-1.1.5.orig/import/decode_lavc.c ++++ transcode-1.1.5/import/decode_lavc.c +@@ -261,8 +261,12 @@ void decode_lavc(decode_t *decode) + + //tc_log_msg(__FILE__, "SIZE: (%d) MP4(%d) blen(%d) BUF(%d) read(%ld)", len, mp4_size, buf_len, READ_BUFFER_SIZE, bytes_read); + do { +- len = avcodec_decode_video(lavc_dec_context, &picture, +- &got_picture, buffer+buf_len, mp4_size-buf_len); ++ AVPacket pkt; ++ av_init_packet( &pkt ); ++ pkt.data = buffer+buf_len; ++ pkt.size = mp4_size-buf_len; ++ len = avcodec_decode_video2(lavc_dec_context, &picture, ++ &got_picture, &pkt); + + if (len < 0) { + tc_log_error(__FILE__, "frame decoding failed"); +Index: transcode-1.1.5/import/probe_ffmpeg.c +=================================================================== +--- transcode-1.1.5.orig/import/probe_ffmpeg.c ++++ transcode-1.1.5/import/probe_ffmpeg.c +@@ -47,7 +47,7 @@ static void translate_info(const AVForma + for (i = 0; i < ctx->nb_streams; i++) { + st = ctx->streams[i]; + +- if (st->codec->codec_type == CODEC_TYPE_VIDEO) { ++ if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { + info->bitrate = st->codec->bit_rate / 1000; + info->width = st->codec->width; + info->height = st->codec->height; +@@ -65,7 +65,7 @@ static void translate_info(const AVForma + for (i = 0; i < ctx->nb_streams; i++) { + st = ctx->streams[i]; + +- if (st->codec->codec_type == CODEC_TYPE_AUDIO ++ if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO + && j < TC_MAX_AUD_TRACKS) { + info->track[j].format = 0x1; /* known wrong */ + info->track[j].chan = st->codec->channels; +Index: transcode-1.1.5/export/ffmpeg_cfg.c +=================================================================== +--- transcode-1.1.5.orig/export/ffmpeg_cfg.c ++++ transcode-1.1.5/export/ffmpeg_cfg.c +@@ -34,8 +34,6 @@ int lavc_param_vme = 4; + //int lavc_param_vqscale = 0; + //int lavc_param_vqmin = 2; + //int lavc_param_vqmax = 31; +-int lavc_param_mb_qmin = 2; +-int lavc_param_mb_qmax = 31; + int lavc_param_lmin = 2; + int lavc_param_lmax = 31; + int lavc_param_vqdiff = 3; +@@ -140,8 +138,6 @@ TCConfigEntry lavcopts_conf[]={ + // {"vqscale", &lavc_param_vqscale, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31}, + // {"vqmin", &lavc_param_vqmin, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31}, + // {"vqmax", &lavc_param_vqmax, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31}, +- {"mbqmin", &lavc_param_mb_qmin, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31}, +- {"mbqmax", &lavc_param_mb_qmax, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31}, + {"lmin", &lavc_param_lmin, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0}, + {"lmax", &lavc_param_lmax, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0}, + {"vqdiff", &lavc_param_vqdiff, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31}, +Index: transcode-1.1.5/export/ffmpeg_cfg.h +=================================================================== +--- transcode-1.1.5.orig/export/ffmpeg_cfg.h ++++ transcode-1.1.5/export/ffmpeg_cfg.h +@@ -13,8 +13,6 @@ extern int lavc_param_vme; + //extern int lavc_param_vqscale; + //extern int lavc_param_vqmin; + //extern int lavc_param_vqmax; +-extern int lavc_param_mb_qmin; +-extern int lavc_param_mb_qmax; + extern int lavc_param_lmin; + extern int lavc_param_lmax; + extern int lavc_param_vqdiff; diff --git a/testing/transcode/transcode-1.1.5-jpeg-7.patch b/testing/transcode/transcode-1.1.5-jpeg-7.patch new file mode 100644 index 000000000..288932a61 --- /dev/null +++ b/testing/transcode/transcode-1.1.5-jpeg-7.patch @@ -0,0 +1,16 @@ +http://bugs.gentoo.org/show_bug.cgi?id=294488 + +Patch by: Salah Coronya + +Fix segmentation fault with jpeg-7 and above where dinfo.do_fancy_upsampling isn't set by default to FALSE anymore. + +--- export/export_jpg.c ++++ export/export_jpg.c +@@ -91,6 +91,7 @@ + + jpeg_set_quality(&encinfo, quality, TRUE); + encinfo.raw_data_in = TRUE; ++ encinfo.do_fancy_downsampling = FALSE; + encinfo.in_color_space = JCS_YCbCr; + + encinfo.comp_info[0].h_samp_factor = 2; diff --git a/testing/transcode/transcode-1.1.5-mpa.patch b/testing/transcode/transcode-1.1.5-mpa.patch new file mode 100644 index 000000000..e7fb0fc1c --- /dev/null +++ b/testing/transcode/transcode-1.1.5-mpa.patch @@ -0,0 +1,10 @@ +--- transcode-1.1.5-old/export/aud_aux.c 2010-07-04 12:44:31.867550180 -0500 ++++ transcode-1.1.5/export/aud_aux.c 2010-07-04 13:41:01.253292529 -0500 +@@ -347,6 +347,7 @@ + //-- set parameters (bitrate, channels and sample-rate) -- + //-------------------------------------------------------- + memset(&mpa_ctx, 0, sizeof(mpa_ctx)); // default all ++ mpa_ctx.codec_type = CODEC_TYPE_AUDIO; + mpa_ctx.bit_rate = vob->mp3bitrate * 1000; // bitrate dest. + mpa_ctx.channels = vob->dm_chan; // channels + mpa_ctx.sample_rate = vob->a_rate; diff --git a/testing/vi/PKGBUILD b/testing/vi/PKGBUILD new file mode 100644 index 000000000..3262ba0fb --- /dev/null +++ b/testing/vi/PKGBUILD @@ -0,0 +1,47 @@ +# $Id: PKGBUILD 142054 2011-11-04 23:27:15Z stephane $ +# Maintainer: tobias [ tobias at archlinux org ] + +pkgname=vi +pkgver=050325 +pkgrel=2 +epoch=1 +pkgdesc='The original ex/vi text editor.' +arch=('i686' 'x86_64') +url='http://ex-vi.sourceforge.net/' +license=('custom:ex') +depends=('ncurses') +optdepends=('mailx: used by the preserve command for notification') +groups=('base') +options=(strip !libtool emptydirs) +source=(http://downloads.sourceforge.net/sourceforge/ex-vi/ex-${pkgver}.tar.bz2 + exrc.sample + navkeys.patch + increase-tube.patch + preserve_dir.patch) +md5sums=('e668595254233e4d96811083a3e4e2f3' + 'd3b483c994d859232ce369b82a4b5668' + 'aac133930047eafa4f28736cfaf976b3' + 'e596e05a00a24187b576e389fa1de45d' + '419a8755e0dd16e95542bc107e6d2b24') + +build() { + cd "${srcdir}/ex-${pkgver}" + + # apply patches + patch -Np1 -i ../navkeys.patch + patch -Np0 -i ../increase-tube.patch + # FS#20653 + patch -Np1 -i ../preserve_dir.patch + + make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \ + 'FEATURES=-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8' TERMLIB=ncurses +} + +package() { + cd "${srcdir}/ex-${pkgver}" + + make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex INSTALL=/bin/install \ + DESTDIR="$pkgdir" install + + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/testing/vi/exrc.sample b/testing/vi/exrc.sample new file mode 100644 index 000000000..44b3045fd --- /dev/null +++ b/testing/vi/exrc.sample @@ -0,0 +1,5 @@ +" A sample .exrc file. Copy it to your home dir as ~/.exrc in order to work. +set showmode +set noflash +set autoindent +set shiftwidth=2 diff --git a/testing/vi/increase-tube.patch b/testing/vi/increase-tube.patch new file mode 100644 index 000000000..5010798ce --- /dev/null +++ b/testing/vi/increase-tube.patch @@ -0,0 +1,13 @@ +--- config.h 2005-02-19 05:25:39.000000000 -0500 ++++ config.h.fixed 2010-01-04 22:02:01.000000000 -0500 +@@ -95,8 +95,8 @@ + #define TUBESIZE 6000 /* Maximum screen size for visual */ + #else /* VMUNIX */ + #define TUBELINES 100 +-#define TUBECOLS 160 +-#define TUBESIZE 16000 ++#define TUBECOLS 320 ++#define TUBESIZE 32000 + #endif /* VMUNIX */ + + /* diff --git a/testing/vi/navkeys.patch b/testing/vi/navkeys.patch new file mode 100644 index 000000000..46924379c --- /dev/null +++ b/testing/vi/navkeys.patch @@ -0,0 +1,55 @@ +diff -ru ex-050325/ex_tty.c ex-050325-du/ex_tty.c +--- ex-050325/ex_tty.c 2005-03-04 13:42:58.000000000 +0100 ++++ ex-050325-du/ex_tty.c 2009-06-25 20:06:57.000000000 +0200 +@@ -132,7 +132,8 @@ + &ED, &EI, &F0, &F1, &F2, &F3, &F4, &F5, &F6, &F7, &F8, &F9, + &HO, &IC, &IM, &IP, &KD, &KE, &KH, &KL, &KR, &KS, &KU, &LL, &ND, &xNL, + &xPC, &RC, &SC, &SE, &SF, &SO, &SR, &TA, &TE, &TI, &UP, &VB, &VS, &VE, +- &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM ++ &AL_PARM, &DL_PARM, &UP_PARM, &DOWN_PARM, &LEFT_PARM, &RIGHT_PARM, ++ &kI, &kD, &kh, &at7, &kP, &kN + }; + bool *sflags[] = { + &AM, &BS, &DA, &DB, &EO, &HC, +@@ -170,7 +171,12 @@ + addmac1(KD, "j", "down", arrows, 1); + addmac1(KL, "h", "left", arrows, 1); + addmac1(KR, "l", "right", arrows, 1); +- addmac1(KH, "H", "home", arrows, 1); ++ addmac1(kI, "i", "insert", arrows, 1); ++ addmac1(kD, "x", "delete", arrows, 1); ++ addmac1(kh, "^", "home", arrows, 1); ++ addmac1(at7, "$", "end", arrows, 1); ++ addmac1(kP, "", "pgup", arrows, 1); ++ addmac1(kN, "", "pgdn", arrows, 1); + + /* + * Handle funny termcap capabilities +@@ -341,7 +347,7 @@ + *(*fp++) = flag; + namp += 2; + } while (*namp); +- namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERI"; ++ namp = "albcbtcdceclcmcrcsdcdldmdoedeik0k1k2k3k4k5k6k7k8k9hoicimipkdkekhklkrkskullndnlpcrcscsesfsosrtatetiupvbvsveALDLUPDOLERIkIkDkh@7kPkN"; + sp = sstrs; + do { + string = tgetstr(namp, &aoftspace); +diff -ru ex-050325/ex_tty.h ex-050325-du/ex_tty.h +--- ex-050325/ex_tty.h 2004-12-01 19:21:06.000000000 +0100 ++++ ex-050325-du/ex_tty.h 2009-06-25 20:06:05.000000000 +0200 +@@ -183,6 +183,15 @@ + var bool XX; /* Tektronix 4025 insert line */ + /* X? is reserved for severely nauseous glitches */ + /* If there are enough of these we may need bit masks! */ ++/* ++ * Insert, Delete, Home, End, PgUp an PgDown keys ++ */ ++var char *kI; ++var char *kD; ++var char *kh; ++var char *at7; ++var char *kP; ++var char *kN; + + /* + * From the tty modes... diff --git a/testing/vi/preserve_dir.patch b/testing/vi/preserve_dir.patch new file mode 100644 index 000000000..5209f7b02 --- /dev/null +++ b/testing/vi/preserve_dir.patch @@ -0,0 +1,81 @@ +diff -Naur ex-050325.ori/ex.1 ex-050325/ex.1 +--- ex-050325.ori/ex.1 2005-02-17 07:39:36.000000000 -0500 ++++ ex-050325/ex.1 2011-02-01 16:21:51.496666674 -0500 +@@ -1950,7 +1950,7 @@ + .B /var/tmp/Rx\fInnnnnnnnnn\fP + named buffer temporary + .TP +-.B /var/preserve ++.B /var/lib/ex + preservation directory + .SH DOCUMENTATION + The document +diff -Naur ex-050325.ori/expreserve.c ex-050325/expreserve.c +--- ex-050325.ori/expreserve.c 2005-03-04 07:44:46.000000000 -0500 ++++ ex-050325/expreserve.c 2011-02-01 16:22:06.583333342 -0500 +@@ -272,7 +272,7 @@ + #ifdef notdef + char pattern[] = "/usr/preserve/Exaa`XXXXX"; + #else +-char pattern[] = "/var/preserve/Exa`XXXXXXXXXX"; ++char pattern[] = "/var/lib/ex/Exa`XXXXXXXXXX"; + #endif + + /* +@@ -296,7 +296,7 @@ + timestamp = ctime(&time); + timestamp[16] = 0; /* blast from seconds on */ + putenv("MAILRC=/dev/null"); +- sprintf(cmd, "/bin/mail %s", pp->pw_name); ++ sprintf(cmd, "/usr/bin/mail %s", pp->pw_name); + setuid(getuid()); + mf = popen(cmd, "w"); + if (mf == NULL) +diff -Naur ex-050325.ori/exrecover.c ex-050325/exrecover.c +--- ex-050325.ori/exrecover.c 2005-03-04 07:44:46.000000000 -0500 ++++ ex-050325/exrecover.c 2011-02-01 16:21:51.496666674 -0500 +@@ -167,7 +167,7 @@ + #ifdef notdef + char mydir[] = "/usr/preserve"; + #else +-char mydir[] = "/var/preserve"; ++char mydir[] = "/var/lib/ex"; + #endif + + /* +diff -Naur ex-050325.ori/ex.spec ex-050325/ex.spec +--- ex-050325.ori/ex.spec 2005-03-24 18:50:09.000000000 -0500 ++++ ex-050325/ex.spec 2011-02-01 16:21:51.496666674 -0500 +@@ -20,7 +20,7 @@ + %define libexecdir %{prefix}/5lib + %define mandir %{prefix}/share/man/5man + +-%define preservedir /var/preserve ++%define preservedir /var/lib/ex + + # install command + %define ucbinstall install +diff -Naur ex-050325.ori/Makefile ex-050325/Makefile +--- ex-050325.ori/Makefile 2005-03-24 18:50:09.000000000 -0500 ++++ ex-050325/Makefile 2011-02-01 16:21:51.496666674 -0500 +@@ -83,7 +83,7 @@ + BINDIR = $(PREFIX)/bin + LIBEXECDIR = $(PREFIX)/libexec + MANDIR = $(PREFIX)/share/man +-PRESERVEDIR = /var/preserve ++PRESERVEDIR = /var/lib/ex + + # + # DESTDIR is prepended to the installation paths. It is mostly useful +diff -Naur ex-050325.ori/vi.1 ex-050325/vi.1 +--- ex-050325.ori/vi.1 2005-02-17 07:39:36.000000000 -0500 ++++ ex-050325/vi.1 2011-02-01 16:21:51.496666674 -0500 +@@ -979,7 +979,7 @@ + .B /var/tmp/Rx\fInnnnnnnnnn\fP + named buffer temporary + .TP +-.B /var/preserve ++.B /var/lib/ex + preservation directory + .SH SEE ALSO + ex(1), diff --git a/testing/vlc/PKGBUILD b/testing/vlc/PKGBUILD new file mode 100644 index 000000000..eb810befb --- /dev/null +++ b/testing/vlc/PKGBUILD @@ -0,0 +1,74 @@ +# $Id: PKGBUILD 142129 2011-11-05 11:37:27Z ibiru $ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> +# Contributor: Martin Sandsmark <martin.sandsmark@kde.org> + +pkgname=vlc +pkgver=1.1.12 +pkgrel=2 +pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" +arch=('i686' 'x86_64') +url="http://www.videolan.org/vlc/" +license=('GPL') +depends=('a52dec' 'fluidsynth' 'libmtp' 'libdvbpsi' 'libxpm' 'libcdio' + 'libdca' 'qt' 'libproxy' 'sdl_image' 'libdvdnav' 'mesa' + 'lua' 'v4l-utils' 'libcddb' 'smbclient' 'libmatroska' 'zvbi' + 'taglib' 'sysfsutils' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp' + 'libshout' 'libmad' 'fribidi' 'libmpeg2' 'libmodplug' + 'ttf-freefont' 'libxv' 'libass' 'xdg-utils' 'desktop-file-utils') +makedepends=('avahi' 'pkgconfig' 'live-media' 'libnotify' + 'flac' 'libtheora' 'alsa-lib' 'jack' 'kdelibs' 'udev' + 'libraw1394' 'libdc1394' 'libavc1394' 'libva' 'libpulse' + 'lirc-utils' 'gnutls' 'libcaca') +optdepends=('avahi: for service discovery using bonjour protocol' + 'libnotify: for notification plugin' + 'ncurses: for ncurses interface support' + 'libdvdcss: for decoding encrypted DVDs' + 'lirc-utils: for lirc plugin' + 'libavc1394: for devices using the 1394ta AV/C' + 'libdc1394: for IEEE 1394 plugin' + 'kdelibs: KDE Solid hardware integration' + 'libpulse: PulseAudio support' + 'vdpau-video: vdpau back-end for nvidia' + 'libva-driver-intel: back-end for intel cards') +conflicts=('vlc-plugin') +replaces=('vlc-plugin') +backup=('usr/share/vlc/http/.hosts' + 'usr/share/vlc/http/dialogs/.hosts' + 'usr/share/vlc/lua/http/.hosts' + 'usr/share/vlc/lua/http/dialogs/.hosts') +options=('!libtool') +install=vlc.install +source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2") +md5sums=('91de1ad308c947e35380f9d747ff5713') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i -e 's:truetype/freefont:TTF:g' modules/misc/freetype.c + + ./configure --prefix=/usr \ + --disable-rpath \ + --enable-faad \ + --enable-v4l \ + --enable-snapshot \ + --enable-dbus-control \ + --enable-nls \ + --enable-lirc \ + --enable-pvr \ + --enable-ncurses \ + --with-live555-tree=/usr/lib/live \ + --enable-upnp \ + --enable-realrtsp + make +} +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}/" install + + for res in 16 32 48 128; do + install -D -m644 "${srcdir}/vlc-${pkgver}/share/icons/${res}x${res}/vlc.png" \ + "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png" + done +} diff --git a/testing/vlc/vlc.install b/testing/vlc/vlc.install new file mode 100644 index 000000000..4a1091bc5 --- /dev/null +++ b/testing/vlc/vlc.install @@ -0,0 +1,18 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + usr/lib/vlc/vlc-cache-gen -f usr/lib/vlc/plugins + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +pre_remove() { + rm -f usr/lib/vlc/plugins/plugins-*.dat +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} 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/wpa_actiond/PKGBUILD b/testing/wpa_actiond/PKGBUILD new file mode 100644 index 000000000..ff374f5c5 --- /dev/null +++ b/testing/wpa_actiond/PKGBUILD @@ -0,0 +1,25 @@ +# $Id: PKGBUILD 142088 2011-11-05 00:43:25Z thomas $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> +pkgname=wpa_actiond +pkgver=1.1 +pkgrel=3 +pkgdesc="Daemon that connects to wpa_supplicant and handles connect and disconnect events" +arch=('i686' 'x86_64') +url="http://projects.archlinux.org/wpa_actiond.git/" +license=('GPL') +depends=('glibc' 'wpa_supplicant') +source=(ftp://ftp.archlinux.org/other/wpa_actiond/${pkgname}-${pkgver}.tar.xz) +sha256sums=('d50a49cb5d56c31345d18e58f017b4ff923e8959a7e4e709abd156744f1668c3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make CFLAGS="${CFLAGS}" +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + install -D -m755 wpa_actiond "${pkgdir}/usr/sbin/wpa_actiond" +} +# vim:set ts=2 sw=2 et: diff --git a/testing/wpa_supplicant/PKGBUILD b/testing/wpa_supplicant/PKGBUILD new file mode 100644 index 000000000..34ddb9427 --- /dev/null +++ b/testing/wpa_supplicant/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 142085 2011-11-05 00:39:35Z thomas $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgname=wpa_supplicant +pkgver=0.7.3 +pkgrel=4 +pkgdesc="A utility providing key negotiation for WPA wireless networks" +url="http://hostap.epitest.fi/wpa_supplicant" +arch=('i686' 'x86_64') +depends=('openssl' 'dbus-core>=1.2.4' 'readline>=6.0' 'libnl') +optdepends=('wpa_supplicant_gui: wpa_gui program') +license=('GPL') +groups=('base') +backup=('etc/wpa_supplicant.conf') +source=(http://hostap.epitest.fi/releases/wpa_supplicant-$pkgver.tar.gz + config dbus.patch) +sha256sums=('d0cd50caa85346ccc376dcda5ed3c258eef19a93b3cade39d25760118ad59443' + '6a0837f18e5ff179ccd6954f7952dfc2e6aa69f353194ee4cb29c1ed2ef68c5d' + '13effa9ed6a1bb940ffc056a3eabcf64c8cc057069eca5cc1822b98ed769812a') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}" + # Required by NetworkManager 0.8.995 + patch -Np2 -i "$srcdir/dbus.patch" + cp "${srcdir}/config" ./.config + sed -i 's@/usr/local@$(PREFIX)@g' Makefile + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}" + make PREFIX=/usr DESTDIR="${pkgdir}" install + install -m755 -d "${pkgdir}/etc" + install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant.conf" + install -d -m755 "${pkgdir}/usr/share/man/man"{5,8} + install -m644 doc/docbook/*.5 "${pkgdir}/usr/share/man/man5/" + install -m644 doc/docbook/*.8 "${pkgdir}/usr/share/man/man8/" + rm -f "${pkgdir}/usr/share/man/man8/wpa_"{priv,gui}.8 + + install -m755 -d "${pkgdir}/usr/share/dbus-1/system-services" + install -m644 dbus/{fi.epitest.hostap.WPASupplicant.service,fi.w1.wpa_supplicant1.service} "${pkgdir}/usr/share/dbus-1/system-services/" + sed -e 's/sbin/usr\/sbin/' -i "${pkgdir}/usr/share/dbus-1/system-services/"*.service + install -m755 -d "${pkgdir}/etc/dbus-1/system.d" + install -m644 dbus/dbus-wpa_supplicant.conf "${pkgdir}/etc/dbus-1/system.d/wpa_supplicant.conf" +} diff --git a/testing/wpa_supplicant/config b/testing/wpa_supplicant/config new file mode 100644 index 000000000..192e338f2 --- /dev/null +++ b/testing/wpa_supplicant/config @@ -0,0 +1,404 @@ +# Example wpa_supplicant build time configuration +# +# This file lists the configuration options that are used when building the +# hostapd binary. All lines starting with # are ignored. Configuration option +# lines must be commented out complete, if they are not to be included, i.e., +# just setting VARIABLE=n is not disabling that variable. +# +# This file is included in Makefile, so variables like CFLAGS and LIBS can also +# be modified from here. In most cases, these lines should use += in order not +# to override previous values of the variables. + + +# Uncomment following two lines and fix the paths if you have installed OpenSSL +# or GnuTLS in non-default location +#CFLAGS += -I/usr/local/openssl/include +#LIBS += -L/usr/local/openssl/lib + +# Some Red Hat versions seem to include kerberos header files from OpenSSL, but +# the kerberos files are not in the default include path. Following line can be +# used to fix build issues on such systems (krb5.h not found). +#CFLAGS += -I/usr/include/kerberos + +# Example configuration for various cross-compilation platforms + +#### sveasoft (e.g., for Linksys WRT54G) ###################################### +#CC=mipsel-uclibc-gcc +#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc +#CFLAGS += -Os +#CPPFLAGS += -I../src/include -I../../src/router/openssl/include +#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl +############################################################################### + +#### openwrt (e.g., for Linksys WRT54G) ####################################### +#CC=mipsel-uclibc-gcc +#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc +#CFLAGS += -Os +#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \ +# -I../WRT54GS/release/src/include +#LIBS = -lssl +############################################################################### + + +# Driver interface for Host AP driver +#CONFIG_DRIVER_HOSTAP=y + +# Driver interface for Agere driver +#CONFIG_DRIVER_HERMES=y +# Change include directories to match with the local setup +#CFLAGS += -I../../hcf -I../../include -I../../include/hcf +#CFLAGS += -I../../include/wireless + +# Driver interface for madwifi driver +# Deprecated; use CONFIG_DRIVER_WEXT=y instead. +#CONFIG_DRIVER_MADWIFI=y +# Set include directory to the madwifi source tree +#CFLAGS += -I../../madwifi + +# Driver interface for ndiswrapper +# Deprecated; use CONFIG_DRIVER_WEXT=y instead. +#CONFIG_DRIVER_NDISWRAPPER=y + +# Driver interface for Atmel driver +#CONFIG_DRIVER_ATMEL=y + +# Driver interface for old Broadcom driver +# Please note that the newer Broadcom driver ("hybrid Linux driver") supports +# Linux wireless extensions and does not need (or even work) with the old +# driver wrapper. Use CONFIG_DRIVER_WEXT=y with that driver. +#CONFIG_DRIVER_BROADCOM=y +# Example path for wlioctl.h; change to match your configuration +#CFLAGS += -I/opt/WRT54GS/release/src/include + +# Driver interface for Intel ipw2100/2200 driver +# Deprecated; use CONFIG_DRIVER_WEXT=y instead. +#CONFIG_DRIVER_IPW=y + +# Driver interface for Ralink driver +#CONFIG_DRIVER_RALINK=y + +# Driver interface for generic Linux wireless extensions +CONFIG_DRIVER_WEXT=y + +# Driver interface for Linux drivers using the nl80211 kernel interface +CONFIG_DRIVER_NL80211=y + +# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) +#CONFIG_DRIVER_BSD=y +#CFLAGS += -I/usr/local/include +#LIBS += -L/usr/local/lib +#LIBS_p += -L/usr/local/lib +#LIBS_c += -L/usr/local/lib + +# Driver interface for Windows NDIS +#CONFIG_DRIVER_NDIS=y +#CFLAGS += -I/usr/include/w32api/ddk +#LIBS += -L/usr/local/lib +# For native build using mingw +#CONFIG_NATIVE_WINDOWS=y +# Additional directories for cross-compilation on Linux host for mingw target +#CFLAGS += -I/opt/mingw/mingw32/include/ddk +#LIBS += -L/opt/mingw/mingw32/lib +#CC=mingw32-gcc +# By default, driver_ndis uses WinPcap for low-level operations. This can be +# replaced with the following option which replaces WinPcap calls with NDISUIO. +# However, this requires that WZC is disabled (net stop wzcsvc) before starting +# wpa_supplicant. +# CONFIG_USE_NDISUIO=y + +# Driver interface for development testing +#CONFIG_DRIVER_TEST=y + +# Include client MLME (management frame processing) for test driver +# This can be used to test MLME operations in hostapd with the test interface. +# space. +#CONFIG_CLIENT_MLME=y + +# Driver interface for wired Ethernet drivers +CONFIG_DRIVER_WIRED=y + +# Driver interface for the Broadcom RoboSwitch family +#CONFIG_DRIVER_ROBOSWITCH=y + +# Driver interface for no driver (e.g., WPS ER only) +#CONFIG_DRIVER_NONE=y + +# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is +# included) +CONFIG_IEEE8021X_EAPOL=y + +# EAP-MD5 +CONFIG_EAP_MD5=y + +# EAP-MSCHAPv2 +CONFIG_EAP_MSCHAPV2=y + +# EAP-TLS +CONFIG_EAP_TLS=y + +# EAL-PEAP +CONFIG_EAP_PEAP=y + +# EAP-TTLS +CONFIG_EAP_TTLS=y + +# EAP-FAST +# Note: Default OpenSSL package does not include support for all the +# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, +# the OpenSSL library must be patched (openssl-0.9.8d-tls-extensions.patch) +# to add the needed functions. +#CONFIG_EAP_FAST=y + +# EAP-GTC +CONFIG_EAP_GTC=y + +# EAP-OTP +CONFIG_EAP_OTP=y + +# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used) +#CONFIG_EAP_SIM=y + +# EAP-PSK (experimental; this is _not_ needed for WPA-PSK) +#CONFIG_EAP_PSK=y + +# EAP-PAX +#CONFIG_EAP_PAX=y + +# LEAP +CONFIG_EAP_LEAP=y + +# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used) +#CONFIG_EAP_AKA=y + +# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used). +# This requires CONFIG_EAP_AKA to be enabled, too. +#CONFIG_EAP_AKA_PRIME=y + +# Enable USIM simulator (Milenage) for EAP-AKA +#CONFIG_USIM_SIMULATOR=y + +# EAP-SAKE +#CONFIG_EAP_SAKE=y + +# EAP-GPSK +#CONFIG_EAP_GPSK=y +# Include support for optional SHA256 cipher suite in EAP-GPSK +#CONFIG_EAP_GPSK_SHA256=y + +# EAP-TNC and related Trusted Network Connect support (experimental) +#CONFIG_EAP_TNC=y + +# Wi-Fi Protected Setup (WPS) +CONFIG_WPS=y + +# EAP-IKEv2 +#CONFIG_EAP_IKEV2=y + +# PKCS#12 (PFX) support (used to read private key and certificate file from +# a file that usually has extension .p12 or .pfx) +CONFIG_PKCS12=y + +# Smartcard support (i.e., private key on a smartcard), e.g., with openssl +# engine. +CONFIG_SMARTCARD=y + +# PC/SC interface for smartcards (USIM, GSM SIM) +# Enable this if EAP-SIM or EAP-AKA is included +#CONFIG_PCSC=y + +# Development testing +#CONFIG_EAPOL_TEST=y + +# Select control interface backend for external programs, e.g, wpa_cli: +# unix = UNIX domain sockets (default for Linux/*BSD) +# udp = UDP sockets using localhost (127.0.0.1) +# named_pipe = Windows Named Pipe (default for Windows) +# y = use default (backwards compatibility) +# If this option is commented out, control interface is not included in the +# build. +CONFIG_CTRL_IFACE=y + +# Include support for GNU Readline and History Libraries in wpa_cli. +# When building a wpa_cli binary for distribution, please note that these +# libraries are licensed under GPL and as such, BSD license may not apply for +# the resulting binary. +CONFIG_READLINE=y + +# Remove debugging code that is printing out debug message to stdout. +# This can be used to reduce the size of the wpa_supplicant considerably +# if debugging code is not needed. The size reduction can be around 35% +# (e.g., 90 kB). +#CONFIG_NO_STDOUT_DEBUG=y + +# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save +# 35-50 kB in code size. +#CONFIG_NO_WPA=y + +# Remove WPA2 support. This allows WPA to be used, but removes WPA2 code to +# save about 1 kB in code size when building only WPA-Personal (no EAP support) +# or 6 kB if building for WPA-Enterprise. +#CONFIG_NO_WPA2=y + +# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support +# This option can be used to reduce code size by removing support for +# converting ASCII passphrases into PSK. If this functionality is removed, the +# PSK can only be configured as the 64-octet hexstring (e.g., from +# wpa_passphrase). This saves about 0.5 kB in code size. +#CONFIG_NO_WPA_PASSPHRASE=y + +# Disable scan result processing (ap_mode=1) to save code size by about 1 kB. +# This can be used if ap_scan=1 mode is never enabled. +#CONFIG_NO_SCAN_PROCESSING=y + +# Select configuration backend: +# file = text file (e.g., wpa_supplicant.conf; note: the configuration file +# path is given on command line, not here; this option is just used to +# select the backend that allows configuration files to be used) +# winreg = Windows registry (see win_example.reg for an example) +CONFIG_BACKEND=file + +# Remove configuration write functionality (i.e., to allow the configuration +# file to be updated based on runtime configuration changes). The runtime +# configuration can still be changed, the changes are just not going to be +# persistent over restarts. This option can be used to reduce code size by +# about 3.5 kB. +#CONFIG_NO_CONFIG_WRITE=y + +# Remove support for configuration blobs to reduce code size by about 1.5 kB. +#CONFIG_NO_CONFIG_BLOBS=y + +# Select program entry point implementation: +# main = UNIX/POSIX like main() function (default) +# main_winsvc = Windows service (read parameters from registry) +# main_none = Very basic example (development use only) +#CONFIG_MAIN=main + +# Select wrapper for operatins system and C library specific functions +# unix = UNIX/POSIX like systems (default) +# win32 = Windows systems +# none = Empty template +#CONFIG_OS=unix + +# Select event loop implementation +# eloop = select() loop (default) +# eloop_win = Windows events and WaitForMultipleObject() loop +# eloop_none = Empty template +#CONFIG_ELOOP=eloop + +# Select layer 2 packet implementation +# linux = Linux packet socket (default) +# pcap = libpcap/libdnet/WinPcap +# freebsd = FreeBSD libpcap +# winpcap = WinPcap with receive thread +# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y) +# none = Empty template +#CONFIG_L2_PACKET=linux + +# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) +CONFIG_PEERKEY=y + +# IEEE 802.11w (management frame protection) +# This version is an experimental implementation based on IEEE 802.11w/D1.0 +# draft and is subject to change since the standard has not yet been finalized. +# Driver support is also needed for IEEE 802.11w. +#CONFIG_IEEE80211W=y + +# Select TLS implementation +# openssl = OpenSSL (default) +# gnutls = GnuTLS (needed for TLS/IA, see also CONFIG_GNUTLS_EXTRA) +# internal = Internal TLSv1 implementation (experimental) +# none = Empty template +#CONFIG_TLS=openssl + +# Whether to enable TLS/IA support, which is required for EAP-TTLSv1. +# You need CONFIG_TLS=gnutls for this to have any effect. Please note that +# even though the core GnuTLS library is released under LGPL, this extra +# library uses GPL and as such, the terms of GPL apply to the combination +# of wpa_supplicant and GnuTLS if this option is enabled. BSD license may not +# apply for distribution of the resulting binary. +#CONFIG_GNUTLS_EXTRA=y + +# If CONFIG_TLS=internal is used, additional library and include paths are +# needed for LibTomMath. Alternatively, an integrated, minimal version of +# LibTomMath can be used. See beginning of libtommath.c for details on benefits +# and drawbacks of this option. +#CONFIG_INTERNAL_LIBTOMMATH=y +#ifndef CONFIG_INTERNAL_LIBTOMMATH +#LTM_PATH=/usr/src/libtommath-0.39 +#CFLAGS += -I$(LTM_PATH) +#LIBS += -L$(LTM_PATH) +#LIBS_p += -L$(LTM_PATH) +#endif +# At the cost of about 4 kB of additional binary size, the internal LibTomMath +# can be configured to include faster routines for exptmod, sqr, and div to +# speed up DH and RSA calculation considerably +#CONFIG_INTERNAL_LIBTOMMATH_FAST=y + +# Include NDIS event processing through WMI into wpa_supplicant/wpasvc. +# This is only for Windows builds and requires WMI-related header files and +# WbemUuid.Lib from Platform SDK even when building with MinGW. +#CONFIG_NDIS_EVENTS_INTEGRATED=y +#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib" + +# Add support for old DBus control interface +# (fi.epitest.hostap.WPASupplicant) +CONFIG_CTRL_IFACE_DBUS=y + +# Add support for new DBus control interface +# (fi.w1.hostap.wpa_supplicant1) +CONFIG_CTRL_IFACE_DBUS_NEW=y + +# Add introspection support for new DBus control interface +CONFIG_CTRL_IFACE_DBUS_INTRO=y + +# Add support for loading EAP methods dynamically as shared libraries. +# When this option is enabled, each EAP method can be either included +# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn). +# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to +# be loaded in the beginning of the wpa_supplicant configuration file +# (see load_dynamic_eap parameter in the example file) before being used in +# the network blocks. +# +# Note that some shared parts of EAP methods are included in the main program +# and in order to be able to use dynamic EAP methods using these parts, the +# main program must have been build with the EAP method enabled (=y or =dyn). +# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries +# unless at least one of them was included in the main build to force inclusion +# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included +# in the main build to be able to load these methods dynamically. +# +# Please also note that using dynamic libraries will increase the total binary +# size. Thus, it may not be the best option for targets that have limited +# amount of memory/flash. +#CONFIG_DYNAMIC_EAP_METHODS=y + +# IEEE Std 802.11r-2008 (Fast BSS Transition) +#CONFIG_IEEE80211R=y + +# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) +CONFIG_DEBUG_FILE=y + +# Enable privilege separation (see README 'Privilege separation' for details) +#CONFIG_PRIVSEP=y + +# Enable mitigation against certain attacks against TKIP by delaying Michael +# MIC error reports by a random amount of time between 0 and 60 seconds +#CONFIG_DELAYED_MIC_ERROR_REPORT=y + +# Enable tracing code for developer debugging +# This tracks use of memory allocations and other registrations and reports +# incorrect use with a backtrace of call (or allocation) location. +#CONFIG_WPA_TRACE=y +# For BSD, comment out these. +#LIBS += -lexecinfo +#LIBS_p += -lexecinfo +#LIBS_c += -lexecinfo + +# Use libbfd to get more details for developer debugging +# This enables use of libbfd to get more detailed symbols for the backtraces +# generated by CONFIG_WPA_TRACE=y. +#CONFIG_WPA_TRACE_BFD=y +# For BSD, comment out these. +#LIBS += -lbfd -liberty -lz +#LIBS_p += -lbfd -liberty -lz +#LIBS_c += -lbfd -liberty -lz diff --git a/testing/wpa_supplicant/dbus.patch b/testing/wpa_supplicant/dbus.patch new file mode 100644 index 000000000..4c5002003 --- /dev/null +++ b/testing/wpa_supplicant/dbus.patch @@ -0,0 +1,61 @@ +From b80b5639935d37b95d00f86b57f2844a9c775f57 Mon Sep 17 00:00:00 2001 +From: Dan Williams <dcbw@redhat.com> +Date: Fri, 17 Dec 2010 15:56:01 +0200 +Subject: [PATCH] dbus: Emit property changed events when adding/removing BSSes + +The supplicant was not emitting property changed events when the BSSs +property changed. + +Signed-off-by: Dan Williams <dcbw@redhat.com> +(cherry picked from commit 1e6288df6b07a353a9246b77e0de2a840b5f2c72) +--- + wpa_supplicant/dbus/dbus_new.c | 6 ++++++ + wpa_supplicant/dbus/dbus_new.h | 1 + + 2 files changed, 7 insertions(+), 0 deletions(-) + +diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c +index bdfbbac..c66640a 100644 +--- a/wpa_supplicant/dbus/dbus_new.c ++++ b/wpa_supplicant/dbus/dbus_new.c +@@ -691,6 +691,10 @@ void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s, + wpas_dbus_getter_current_network; + prop = "CurrentNetwork"; + break; ++ case WPAS_DBUS_PROP_BSSS: ++ getter = (WPADBusPropertyAccessor) wpas_dbus_getter_bsss; ++ prop = "BSSs"; ++ break; + default: + wpa_printf(MSG_ERROR, "dbus: %s: Unknown Property value %d", + __func__, property); +@@ -1199,6 +1203,7 @@ int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s, + } + + wpas_dbus_signal_bss_removed(wpa_s, bss_obj_path); ++ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_BSSS); + + return 0; + } +@@ -1263,6 +1268,7 @@ int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s, + } + + wpas_dbus_signal_bss_added(wpa_s, bss_obj_path); ++ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_BSSS); + + return 0; + +diff --git a/wpa_supplicant/dbus/dbus_new.h b/wpa_supplicant/dbus/dbus_new.h +index 80ea98c..9cdefcb 100644 +--- a/wpa_supplicant/dbus/dbus_new.h ++++ b/wpa_supplicant/dbus/dbus_new.h +@@ -30,6 +30,7 @@ enum wpas_dbus_prop { + WPAS_DBUS_PROP_STATE, + WPAS_DBUS_PROP_CURRENT_BSS, + WPAS_DBUS_PROP_CURRENT_NETWORK, ++ WPAS_DBUS_PROP_BSSS, + }; + + enum wpas_dbus_bss_prop { +-- +1.7.4-rc1 + diff --git a/testing/x264/PKGBUILD b/testing/x264/PKGBUILD new file mode 100644 index 000000000..a823788f5 --- /dev/null +++ b/testing/x264/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 142171 2011-11-05 11:41:36Z ibiru $ +# Maintainer : Ionut Biru <ibiru@archlinux.org> +# Contributor: damir <damir@archlinux.org> +# Contributor: Paul Mattal <paul@archlinux.org> + +pkgname=x264 +pkgver=20111030 +pkgrel=1 +pkgdesc="free library for encoding H264/AVC video streams" +arch=('i686' 'x86_64') +url="http://www.videolan.org/developers/x264.html" +license=('GPL') +depends=('glibc') +makedepends=('yasm') +source=(ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-$pkgver-2245.tar.bz2) +md5sums=('fa52ad09dcb7d4e1a66adcaa2dab26bc') + +build() { + cd "$srcdir/$pkgname-snapshot-$pkgver-2245" + + ./configure --enable-shared + + make + make DESTDIR="$pkgdir" \ + bindir=/usr/bin \ + libdir=/usr/lib \ + includedir=/usr/include \ + install +} + +# vim:set ts=2 sw=2 et: 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/xine-lib/PKGBUILD b/testing/xine-lib/PKGBUILD new file mode 100644 index 000000000..e3cb8d8a5 --- /dev/null +++ b/testing/xine-lib/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 142165 2011-11-05 11:38:18Z ibiru $ +# Maintainer: Eric BĂ©langer <eric@archlinux.org> + +pkgname=xine-lib +pkgver=1.1.19 +pkgrel=6 +pkgdesc="A multimedia playback engine" +arch=('i686' 'x86_64') +url="http://www.xine-project.org" +license=('LGPL' 'GPL') +depends=('libxvmc' 'flac' 'ffmpeg' 'libxinerama' 'libmodplug') +makedepends=('wavpack' 'faad2' 'libmng' 'imagemagick' 'smbclient' 'mesa' + 'v4l-utils' 'vcdimager' 'jack' 'gdk-pixbuf2' 'libpulse' 'speex' 'aalib') +optdepends=('imagemagick: for using the imagemagick plugin' \ + 'smbclient: for using the smb plugin' \ + 'jack: for using the jack plugin' \ + 'vcdimager: for using the vcd plugin' \ + 'gdk-pixbuf2: for using the gdk-pixbuf plugin' \ + 'mesa: for using the opengl plugin' \ + 'libpulse: for using the pulseaudio plugin' \ + 'speex: for using the speex plugin' \ + 'v4l-utils: for using the v4l plugin' \ + 'wavpack: for using the wavpack plugin' \ + 'faad2: for using the faad plugin' \ + 'libmng: for using the mng plugin' \ + 'aalib: for using the aalib plugin') +options=('!libtool') +source=(http://downloads.sourceforge.net/sourceforge/xine/${pkgname}-${pkgver}.tar.xz + xine-lib-1.1.1-configure-no-mcpu-march.patch xine-lib-1.1.19-xvmc.patch + xine-lib-1.1.19-ffmpeg.patch) +sha1sums=('f65f762d2e16adf04b9d715c91ee0bc02c322a7d' + '121a8358d7919b2e51067412373f52848290338a' + '920bf27e6e3523dfe4cc9c802ff713e9688a3f34' + 'd70f14c3dbb59b65c581575fa1fe13aeeb38f1b1') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p0 -i "${srcdir}/xine-lib-1.1.1-configure-no-mcpu-march.patch" + patch -p0 -i "${srcdir}/xine-lib-1.1.19-xvmc.patch" + patch -p1 -i "${srcdir}/xine-lib-1.1.19-ffmpeg.patch" + sed -i 's|linux/videodev.h|libv4l1-videodev.h|' \ + configure.ac src/input/input_v4l.c src/video_out/video_out_syncfb.h + + libtoolize --force --copy + aclocal -I m4 + autoconf + automake --add-missing + + ./configure --prefix=/usr --with-wavpack --with-external-ffmpeg --with-external-libfaad + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/xine-lib/xine-lib-1.1.1-configure-no-mcpu-march.patch b/testing/xine-lib/xine-lib-1.1.1-configure-no-mcpu-march.patch new file mode 100644 index 000000000..4b6ba9e35 --- /dev/null +++ b/testing/xine-lib/xine-lib-1.1.1-configure-no-mcpu-march.patch @@ -0,0 +1,13 @@ +--- m4/optimizations.m4.orig 2005-11-27 01:20:08.000000000 +0100 ++++ m4/optimizations.m4 2005-11-27 01:22:56.000000000 +0100 +@@ -161,10 +161,6 @@ + ;; + + esac +- if test x"$archopt_val" != x; then +- CFLAGS="$sarchopt=$archopt_val $CFLAGS" +- DEBUG_CFLAGS="$sarchopt=$archopt_val $DEBUG_CFLAGS" +- fi + fi + else + dnl we have the Intel compiler diff --git a/testing/xine-lib/xine-lib-1.1.19-ffmpeg.patch b/testing/xine-lib/xine-lib-1.1.19-ffmpeg.patch new file mode 100644 index 000000000..6817aa989 --- /dev/null +++ b/testing/xine-lib/xine-lib-1.1.19-ffmpeg.patch @@ -0,0 +1,380 @@ +diff -r 717450d734f7 src/combined/ffmpeg/ff_audio_decoder.c +--- a/src/combined/ffmpeg/ff_audio_decoder.c Mon May 16 15:49:02 2011 +0100 ++++ b/src/combined/ffmpeg/ff_audio_decoder.c Mon May 16 19:46:49 2011 -0400 +@@ -46,6 +46,12 @@ + + #define AUDIOBUFSIZE (64 * 1024) + ++#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32) ++# define AVAUDIO 3 ++#else ++# define AVAUDIO 2 ++#endif ++ + typedef struct { + audio_decoder_class_t decoder_class; + } ff_audio_class_t; +@@ -255,6 +261,9 @@ + buf->decoder_info[2]); + + } else if (!(buf->decoder_flags & BUF_FLAG_SPECIAL)) { ++#if AVAUDIO > 2 ++ AVPacket avpkt; ++#endif + + if( !this->decoder_ok ) { + if ( ! this->context || ! this->codec ) { +@@ -286,11 +295,21 @@ + if (!this->output_open) { + if (!this->audio_bits || !this->audio_sample_rate || !this->audio_channels) { + decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; ++#if AVAUDIO > 2 ++ av_init_packet (&avpkt); ++ avpkt.data = (uint8_t *)&this->buf[0]; ++ avpkt.size = this->size; ++ avpkt.flags = AV_PKT_FLAG_KEY; ++ avcodec_decode_audio3 (this->context, ++ (int16_t *)this->decode_buffer, ++ &decode_buffer_size, &avpkt); ++#else + avcodec_decode_audio2 (this->context, + (int16_t *)this->decode_buffer, + &decode_buffer_size, + &this->buf[0], + this->size); ++#endif + this->audio_bits = this->context->bits_per_sample; + this->audio_sample_rate = this->context->sample_rate; + this->audio_channels = this->context->channels; +@@ -311,12 +330,21 @@ + offset = 0; + while (this->size>0) { + decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; ++#if AVAUDIO > 2 ++ av_init_packet (&avpkt); ++ avpkt.data = (uint8_t *)&this->buf[offset]; ++ avpkt.size = this->size; ++ avpkt.flags = AV_PKT_FLAG_KEY; ++ bytes_consumed = avcodec_decode_audio3 (this->context, ++ (int16_t *)this->decode_buffer, ++ &decode_buffer_size, &avpkt); ++#else + bytes_consumed = avcodec_decode_audio2 (this->context, + (int16_t *)this->decode_buffer, + &decode_buffer_size, + &this->buf[offset], + this->size); +- ++#endif + if (bytes_consumed<0) { + xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, + "ffmpeg_audio_dec: error decompressing audio frame\n"); +diff -r 717450d734f7 src/combined/ffmpeg/ff_video_decoder.c +--- a/src/combined/ffmpeg/ff_video_decoder.c Mon May 16 15:49:02 2011 +0100 ++++ b/src/combined/ffmpeg/ff_video_decoder.c Mon May 16 19:46:49 2011 -0400 +@@ -58,6 +58,14 @@ + + #define ENABLE_DIRECT_RENDERING + ++#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR >= 32) ++# define AVVIDEO 2 ++#else ++# define AVVIDEO 1 ++# define pp_context pp_context_t ++# define pp_mode pp_mode_t ++#endif ++ + /* reordered_opaque appeared in libavcodec 51.68.0 */ + #define AVCODEC_HAS_REORDERED_OPAQUE + #if LIBAVCODEC_VERSION_INT < 0x334400 +@@ -116,8 +124,8 @@ + + int pp_quality; + int pp_flags; +- pp_context_t *pp_context; +- pp_mode_t *pp_mode; ++ pp_context *our_context; ++ pp_mode *our_mode; + + /* mpeg-es parsing */ + mpeg_parser_t *mpeg_parser; +@@ -444,23 +452,23 @@ + this->pp_quality = this->class->pp_quality; + + if(this->pp_available && this->pp_quality) { +- if(!this->pp_context && this->context) +- this->pp_context = pp_get_context(this->context->width, this->context->height, ++ if(!this->our_context && this->context) ++ this->our_context = pp_get_context(this->context->width, this->context->height, + this->pp_flags); +- if(this->pp_mode) +- pp_free_mode(this->pp_mode); ++ if(this->our_mode) ++ pp_free_mode(this->our_mode); + +- this->pp_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a", ++ this->our_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a", + this->pp_quality); + } else { +- if(this->pp_mode) { +- pp_free_mode(this->pp_mode); +- this->pp_mode = NULL; ++ if(this->our_mode) { ++ pp_free_mode(this->our_mode); ++ this->our_mode = NULL; + } + +- if(this->pp_context) { +- pp_free_context(this->pp_context); +- this->pp_context = NULL; ++ if(this->our_context) { ++ pp_free_context(this->our_context); ++ this->our_context = NULL; + } + } + } +@@ -1055,12 +1063,26 @@ + } + + /* skip decoding b frames if too late */ ++#if AVVIDEO > 1 ++ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : AVDISCARD_DEFAULT; ++#else + this->context->hurry_up = (this->skipframes > 0); ++#endif + + lprintf("avcodec_decode_video: size=%d\n", this->mpeg_parser->buffer_size); ++#if AVVIDEO > 1 ++ AVPacket avpkt; ++ av_init_packet(&avpkt); ++ avpkt.data = (uint8_t *)this->mpeg_parser->chunk_buffer; ++ avpkt.size = this->mpeg_parser->buffer_size; ++ avpkt.flags = AV_PKT_FLAG_KEY; ++ len = avcodec_decode_video2 (this->context, this->av_frame, ++ &got_picture, &avpkt); ++#else + len = avcodec_decode_video (this->context, this->av_frame, + &got_picture, this->mpeg_parser->chunk_buffer, + this->mpeg_parser->buffer_size); ++#endif + lprintf("avcodec_decode_video: decoded_size=%d, got_picture=%d\n", + len, got_picture); + len = current - buf->content - offset; +@@ -1112,7 +1134,13 @@ + + } else { + +- if (this->context->hurry_up) { ++ if ( ++#if AVVIDEO > 1 ++ this->context->skip_frame != AVDISCARD_DEFAULT ++#else ++ this->context->hurry_up ++#endif ++ ) { + /* skipped frame, output a bad frame */ + img = this->stream->video_out->get_frame (this->stream->video_out, + this->bih.biWidth, +@@ -1304,13 +1332,25 @@ + got_picture = 0; + } else { + /* skip decoding b frames if too late */ ++#if AVVIDEO > 1 ++ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : AVDISCARD_DEFAULT; ++#else + this->context->hurry_up = (this->skipframes > 0); +- ++#endif + lprintf("buffer size: %d\n", this->size); ++#if AVVIDEO > 1 ++ AVPacket avpkt; ++ av_init_packet(&avpkt); ++ avpkt.data = (uint8_t *)&chunk_buf[offset]; ++ avpkt.size = this->size; ++ avpkt.flags = AV_PKT_FLAG_KEY; ++ len = avcodec_decode_video2 (this->context, this->av_frame, ++ &got_picture, &avpkt); ++#else + len = avcodec_decode_video (this->context, this->av_frame, + &got_picture, &chunk_buf[offset], + this->size); +- ++#endif + #ifdef AVCODEC_HAS_REORDERED_OPAQUE + /* reset consumed pts value */ + this->context->reordered_opaque = ff_tag_pts(this, 0); +@@ -1432,7 +1472,7 @@ + img->base, img->pitches, + img->width, img->height, + this->av_frame->qscale_table, this->av_frame->qstride, +- this->pp_mode, this->pp_context, ++ this->our_mode, this->our_context, + this->av_frame->pict_type); + + } else if (!this->av_frame->opaque) { +@@ -1676,11 +1716,11 @@ + free(this->buf); + this->buf = NULL; + +- if(this->pp_context) +- pp_free_context(this->pp_context); ++ if(this->our_context) ++ pp_free_context(this->our_context); + +- if(this->pp_mode) +- pp_free_mode(this->pp_mode); ++ if(this->our_mode) ++ pp_free_mode(this->our_mode); + + mpeg_parser_dispose(this->mpeg_parser); + +@@ -1721,8 +1761,8 @@ + this->aspect_ratio = 0; + + this->pp_quality = 0; +- this->pp_context = NULL; +- this->pp_mode = NULL; ++ this->our_context = NULL; ++ this->our_mode = NULL; + + this->mpeg_parser = NULL; + +diff -r 717450d734f7 src/post/planar/pp.c +--- a/src/post/planar/pp.c Mon May 16 15:49:02 2011 +0100 ++++ b/src/post/planar/pp.c Mon May 16 19:46:49 2011 -0400 +@@ -35,6 +35,12 @@ + # include <libpostproc/postprocess.h> + #endif + ++#if LIBPOSTPROC_VERSION_MAJOR < 52 ++# define pp_context pp_context_t ++# define pp_mode pp_mode_t ++# define PP_PARAMETERS_T ++#endif ++ + #define PP_STRING_SIZE 256 /* size of pp mode string (including all options) */ + + /* plugin class initialization function */ +@@ -76,14 +82,15 @@ + + /* libpostproc specific stuff */ + int pp_flags; +- pp_context_t *pp_context; +- pp_mode_t *pp_mode; ++ pp_context *our_context; ++ pp_mode *our_mode; + + pthread_mutex_t lock; + }; + + + static int set_parameters (xine_post_t *this_gen, void *param_gen) { ++#ifdef PP_PARAMETERS_T + post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen; + pp_parameters_t *param = (pp_parameters_t *)param_gen; + +@@ -92,17 +99,18 @@ + memcpy( &this->params, param, sizeof(pp_parameters_t) ); + + pthread_mutex_unlock (&this->lock); +- ++#endif + return 1; + } + + static int get_parameters (xine_post_t *this_gen, void *param_gen) { ++#ifdef PP_PARAMETERS_T + post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen; + pp_parameters_t *param = (pp_parameters_t *)param_gen; + + + memcpy( param, &this->params, sizeof(pp_parameters_t) ); +- ++#endif + return 1; + } + +@@ -202,8 +210,8 @@ + if(cpu_caps & MM_ACCEL_X86_3DNOW) + this->pp_flags |= PP_CPU_CAPS_3DNOW; + +- this->pp_mode = NULL; +- this->pp_context = NULL; ++ this->our_mode = NULL; ++ this->our_context = NULL; + + pthread_mutex_init (&this->lock, NULL); + +@@ -248,13 +256,13 @@ + post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen; + + if (_x_post_dispose(this_gen)) { +- if(this->pp_mode) { +- pp_free_mode(this->pp_mode); +- this->pp_mode = NULL; ++ if(this->our_mode) { ++ pp_free_mode(this->our_mode); ++ this->our_mode = NULL; + } +- if(this->pp_context) { +- pp_free_context(this->pp_context); +- this->pp_context = NULL; ++ if(this->our_context) { ++ pp_free_context(this->our_context); ++ this->our_context = NULL; + } + free(this); + } +@@ -304,7 +312,7 @@ + + pthread_mutex_lock (&this->lock); + +- if( !this->pp_context || ++ if( !this->our_context || + this->frame_width != yv12_frame->width || + this->frame_height != yv12_frame->height ) { + +@@ -312,32 +320,32 @@ + this->frame_height = yv12_frame->height; + pp_flags = this->pp_flags; + +- if(this->pp_context) +- pp_free_context(this->pp_context); ++ if(this->our_context) ++ pp_free_context(this->our_context); + +- this->pp_context = pp_get_context(frame->width, frame->height, pp_flags); ++ this->our_context = pp_get_context(frame->width, frame->height, pp_flags); + +- if(this->pp_mode) { +- pp_free_mode(this->pp_mode); +- this->pp_mode = NULL; ++ if(this->our_mode) { ++ pp_free_mode(this->our_mode); ++ this->our_mode = NULL; + } + } + +- if(!this->pp_mode) +- this->pp_mode = pp_get_mode_by_name_and_quality(this->params.mode, ++ if(!this->our_mode) ++ this->our_mode = pp_get_mode_by_name_and_quality(this->params.mode, + this->params.quality); + +- if(this->pp_mode) ++ if(this->our_mode) + pp_postprocess(yv12_frame->base, yv12_frame->pitches, + out_frame->base, out_frame->pitches, + (frame->width+7)&(~7), frame->height, + NULL, 0, +- this->pp_mode, this->pp_context, ++ this->our_mode, this->our_context, + 0 /*this->av_frame->pict_type*/); + + pthread_mutex_unlock (&this->lock); + +- if(this->pp_mode) { ++ if(this->our_mode) { + skip = out_frame->draw(out_frame, stream); + _x_post_frame_copy_up(frame, out_frame); + } else { diff --git a/testing/xine-lib/xine-lib-1.1.19-xvmc.patch b/testing/xine-lib/xine-lib-1.1.19-xvmc.patch new file mode 100644 index 000000000..bef8b0bac --- /dev/null +++ b/testing/xine-lib/xine-lib-1.1.19-xvmc.patch @@ -0,0 +1,17 @@ +Quoting ChangeLog of X11's videoproto package: +vldXvMC.h: stop uselessly including XvMClib.h + +--- src/video_out/xxmc.h ++++ src/video_out/xxmc.h +@@ -77,10 +77,10 @@ + #include <X11/extensions/XShm.h> + #include <X11/extensions/Xv.h> + #include <X11/extensions/Xvlib.h> ++#include <X11/extensions/XvMClib.h> + #ifdef HAVE_VLDXVMC + #include <X11/extensions/vldXvMC.h> + #else +- #include <X11/extensions/XvMClib.h> + #include <X11/extensions/XvMC.h> + #endif + 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 |