From 0a7ef4aa1b338a6c23dccd0db15086596f05a22a Mon Sep 17 00:00:00 2001 From: Florent Villard Date: Fri, 4 Aug 2006 16:45:06 +0000 Subject: imported initial version of youri svn --- etc/bash_completion.d/youri | 141 +++++++++++++++++++++ etc/check.conf | 300 ++++++++++++++++++++++++++++++++++++++++++++ etc/upload.conf | 139 ++++++++++++++++++++ 3 files changed, 580 insertions(+) create mode 100644 etc/bash_completion.d/youri create mode 100644 etc/check.conf create mode 100644 etc/upload.conf (limited to 'etc') diff --git a/etc/bash_completion.d/youri b/etc/bash_completion.d/youri new file mode 100644 index 0000000..55e285d --- /dev/null +++ b/etc/bash_completion.d/youri @@ -0,0 +1,141 @@ +# youri tools completion +# $Id$ + +_youri-check() +{ + + local cur prev config i mode + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + --config) + _filedir + return 0 + ;; + --skip-plugin) + _find_config check.conf + if [ -n "$config" ]; then + # try to guess mode + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" != -* ]]; then + mode=${COMP_WORDS[i]} + break + fi + done + + if [ -n $mode ]; then + COMPREPLY=( $( awk -F= '/^'$mode's/ {print $2}' $config \ + | grep "^$cur" ) ) + fi + fi + return 0 + ;; + --skip-media) + _find_config check.conf + if [ -n "$config" ]; then + COMPREPLY=( $( awk -F= '/^medias/ {print $2}' $config \ + | grep "^$cur" ) ) + fi + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--config --skip-plugin --skip-media -h \ + --help -t --test -v --verbose' -- $cur ) ) + else + _count_args + case $args in + 1) + COMPREPLY=( $( compgen -W 'input output' -- $cur ) ) + ;; + esac + fi + +} +complete -F _youri-check youri-check + +_youri-upload() +{ + + local cur prev config + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + --config) + _filedir + return 0 + ;; + --skip-check) + _find_config upload.conf + if [ -n "$config" ]; then + COMPREPLY=( $( awk -F= '/^checks/ {print $2}' $config \ + | grep "^$cur" ) ) + fi + return 0 + ;; + --skip-action) + _find_config upload.conf + if [ -n "$config" ]; then + COMPREPLY=( $( awk -F= '/^actions/ {print $2}' $config \ + | grep "^$cur" ) ) + fi + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--config --skip-check --skip-action \ + --define -h --help -t --test -v --verbose' -- $cur ) ) + else + _count_args + case $args in + 1) + _find_config upload.conf + if [ -n "$config" ]; then + COMPREPLY=( $( awk -F= '/^targets/ {print $2}' $config \ + | grep "^$cur" ) ) + fi + ;; + *) + _filedir + ;; + esac + fi + +} +complete -F _youri-upload youri-upload + +_find_config() +{ + local name i + + name=$1 + + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == --config ]]; then + config=${COMP_WORDS[i+1]} + break + fi + done + if [ -f "$config" ]; then + return 0 + fi + + if [ -f "$HOME/.youri/$name" ]; then + config=$HOME/.youri/$name + return 0 + fi + + if [ -f "/etc/youri/$name" ]; then + config=/etc/youri/$name + return 0 + fi + +} diff --git a/etc/check.conf b/etc/check.conf new file mode 100644 index 0000000..cf595e4 --- /dev/null +++ b/etc/check.conf @@ -0,0 +1,300 @@ +# youri-check sample configuration file +# $Id: check.conf 919 2006-06-15 16:13:11Z pterjan $ + +# resolver declaration +resolver = cgi + +# preferences declaration +preferences = file_pref + +# resultset declaration +resultset = dbi + +# input plugins declaration +inputs = rpmlint \ + age \ + updates \ + build \ + conflicts \ + dependencies \ + missing \ + orphans + +# output plugins declaration +outputs = file mail + +# medias declaration +medias = main.i586 \ + main.x86_64 \ + main.sources \ + contrib.i586 \ + contrib.x86_64 \ + contrib.sources \ + free \ + non-free \ + free.sources \ + non-free.sources + +# helper variables +mirror = ftp://ftp.free.fr/pub/Distributions_Linux/Mandrakelinux/devel/cooker +mirror_i586 = $mirror/i586/media +mirror_x86_64 = $mirror/x86_64/media + +# resolver definition +[cgi] +class = Youri::Check::Maintainer::Resolver::CGI +url = http://plf.zarb.org/cgi-bin/maintainers.cgi + +# preferences definition +[file_pref] +class = Youri::Check::Maintainer::Preferences::File + +# resultset definition +[dbi] +class = Youri::Check::Resultset::DBI +driver = mysql +host = localhost +base = plf_youri +user = plf +pass = s3kr3t + +# checks definitions +[updates] +class = Youri::Check::Input::Updates +aliases = <$' +distribution: '^Mandriva Linux$' +vendor: '^Penguin Liberation Front$' +EOF + +[recency] +class = Youri::Upload::Check::Recency + +[history] +class = Youri::Upload::Check::History + +[precedence] +class = Youri::Upload::Check::Precedence +target = cooker + +[type] +class = Youri::Upload::Check::Type +type = binary + +# actions definitions +[sign] +class = Youri::Upload::Action::Sign +name = plf@zarb.org +path = ${HOME}/.gnupg +passphrase = s3kr3t + +[install] +class = Youri::Upload::Action::Install + +[link] +class = Youri::Upload::Action::Link + +[archive] +class = Youri::Upload::Action::Archive + +[clean] +class = Youri::Upload::Action::Clean + +[mail] +class = Youri::Upload::Action::Mail +mta = /usr/sbin/sendmail +to = plf-announce@zarb.org +reply_to = plf-discuss@zarb.org +from = plf@zarb.org +prefix = RPM +cc = <