[sisyphus] qa-robot 0.1

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Авг 4 02:01:14 MSD 2005


On Wed, Aug 03, 2005 at 11:02:07PM +0400, Alexey M. Tourbin wrote:
> qa-robot - Simple notification system
> * Wed Aug 03 2005 Alexey Tourbin <at на altlinux> 0.1-alt1
> - initial revision

NAME
    qa-robot - simple notification system

SYNOPSIS
    qa-robot [-d *workdir*] [-j] [-n] [-m *mailto*] [-h] *cmd* [*args*]

DESCRIPTION
    qa-robot reports various state changes, in terms of new, old, and
    (possibly) updated entries. *cmd* must be a shell script which, whenever
    sourced or executed, dumps its current state to "stdout", one line per
    entry; the script may also provide its custom formatting routines.

OPTIONS
    -d *workdir*
        Use *workdir* working directory. Save *cmd* state under *workdir*.
        Default working directory is "$HOME/.qa-robot/$(basename *cmd*)".

    -j  Enable join mode; join records on the first field. Fields must be
        separated by tabs.

    -n  Do not finally replace the old *cmd* state with the new one. Useful
        for test runs.

    -m *mailto*
        Suppress normal output. Send email notification to *mailto*
        address(es) instead. Messages larger than 32K are sent as gzipped
        attachments. Messages larger than 1024K produce a fatal error.

    -h  Display this help and exit.

FILES
  Files in use under the working directory
    dump.new, dump.old
        Current and previous *cmd* state files.

    comm.plus, comm.minus
        Comparison between dump.new and dump.old. comm.plus has lines unique
        to the current state, while comm.minus has lines unique to the
        previous state.

    join.new, join.old, join.updated
        In join mode, comm.plus and comm.minus' lines are treated as
        records, whose fields are separated by tabs. The first field must be
        a primary key. comm.plus and comm.minus are then joined on the first
        field.

        Thus join.new has records unique to comm.plus (i.e. lines in
        comm.plus unpairable with those in comm.minus), join.old has records
        unique to comm.minus, and join.updated contains pairable records
        joined on the first field.

    lock
        Semaphore file, to guard against simultaneous runs.

    message
        The report is saved to this file.

    signature
        When email message is sent, this file, should it exist, is appended
        to the message (except when sending gzipped attachments).

  Other files
    $PATH, /usr/share/qa-robot
        Default *cmd* script location.

    $HOME/.qa-robot/$(basename *cmd*)
        Default working directory.

FORMATTING
  Variables
    noun
        A countable noun that describes the entries, in the singular number.

    subj
        The message subject.

  Functions
    fmt_start
        Executed when formatting is started.

    fmt_plus, fmt_minus
        Main formatting routines, for displaying new and old entries;
        executed only when the entries have actually been found. Calling
        convention for these routines is as follows:

                fmt_$s $n $noun <comm.$s

        where $n is the number of entries, $noun is the noun that describes
        the entries (in the proper number, according to $n), and "comm.$s"
        is the appropriate file, connected to "stdin", with $n entries in
        it.

    fmt_new, fmt_old, fmt_updated
        Alternative formatting routines for join mode (similar to fmt_plus
        and fmt_minus).

    fmt_total
        Formatting routine for the total number of entries.

                fmt_total $n $noun <dump.new

EXAMPLES
    qa-robot comes with a few real-world components used by ALT QA Team to
    notify subscribers of ALT Linux mailing lists:

    unmets
        Reports new and resolved unmet dependencies. Creates aptbox to
        distance the host system setup.

    bugs [*URL*]
        Bugzilla watchdog. Reports new and resolved bugs (whether a bug has
        been resolved is subject to specific bugzilla conventions), along
        with the total number of pending (i.e. unresolved) bugs.

        The *URL* specifies base Bugzilla URL. The default base URL is
        <https://bugzilla.altlinux.org>.

    packages [*DIR*]
        Reports new, old (removed), and updated rpm packages under *DIR*
        directory. Last changelog entry is listed for new and updated
        packages.

        The default *DIR* is "$sisyphus/files/SRPMS", where $sisyphus is
        vendor-specific location.

BUGS
    qa-robot is executed in "noglob" and "errexit" mode, so is the *cmd*
    sciprt.

    After *cmd* script is sourced, the current working directory is set to
    *workdir* and may not be changed by formatting routines.

    The locale is set to "LC_ALL=C".

AUTHOR
    Written by Alexey Tourbin <at на altlinux.org>.

COPYING
    Copyright (c) 2005 Alexey Tourbin, ALT Linux Team.

    This 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 of the License, or (at your
    option) any later version.

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050804/3e7abdee/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus