bts
Befehlszeilenschnittstelle der Entwickler zum BTS
- Provided by: devscripts (Version: 2.17.12ubuntu1.1)
- Report a bug
Befehlszeilenschnittstelle der Entwickler zum BTS
bts [Optionen] Befehl [Argumente] [#Kommentar] [.|, Befehl [Argumente] [#Kommentar]] …
Dies ist eine Befehlszeilenschnittstelle zur Debian-Fehlerdatenbank (BTS), die hauptsächlich für den Gebrauch durch Entwickler gedacht ist. Sie ermöglicht die Manipulation des BTS durch einfache Befehle, die an der Eingabeaufforderung oder in einem Skript ausgeführt werden können, führt verschiedene Plausibilitätsprüfungen der Eingabe durch und konstruiert und sendet E-Mails für Sie an die BTS-Steueradresse. Außerdem kann ein lokaler Zwischenspeicher von Webseiten und E-Mails vom BTS erzeugt und aktualisiert werden.
Im Allgemeinen ist die Befehlszeilenschnittstelle das, was Sie in einer Mail an control@bugs.debian.org schreiben würden, nur mit vorangestelltem »bts«. Zum Beispiel:
% bts severity 69042 normal % bts merge 69042 43233 % bts retitle 69042 blah blah
Für Ihren Komfort wurden ein paar zusätzliche Befehle hinzugefügt und dieses Programm ist ist weniger strikt in dem, was eine gültige Fehlernummer darstellt. Beispielsweise wird »severity Bug#85942 normal« wie auch »severity #85942 normal« verstanden. (Allerdings könnte Ihre Shell »#« als Kommentarzeichen ansehen, weswegen Sie es maskieren müssen!)
Außerdem ermöglicht Ihnen dieses Programm zu Ihrer Annehmlichkeit Befehle auf die kleinste eindeutige Teilzeichenkette abzukürzen (ähnlich wie Sie CVS Befehle abkürzen lässt). So versteht es Dinge wie »bts cl 85942«.
Es ist ebenfalls möglich, der E-Mail an das BTS einen Kommentar beizufügen. Falls Ihre Shell nicht den Kommentar in einem Befehl wie »bts severity 30321 normal #inflated severity« streicht, dann ist dieses Programm schlau genug herauszufinden, wo der Kommentar ist und ihn in die E-Mail einzufügen. Beachten Sie, dass die meisten Shells solche Kommentare streichen, bevor sie beim Programm ankommen, es sei denn, der Kommentar ist maskiert. (Etwas wie »bts severity #85942 normal« wird nicht als Kommentar angesehen!)
Sie können mehrere Befehle angeben, indem Sie sie durch einen einzelnen Punkt trennen, ungefähr wie update-rc.d; ein einzelnes Komma könnte auch benutzt werden; alle die Befehle werden in einer einzigen E-Mail gesandt. Es ist wichtig, dass der Punkt/das Komma von Leerzeichen umgeben ist, damit es nicht als Teil des Befehls missverstanden wird. Zum Beispiel (wo nötig maskieren, so dass bts den Kommentar sieht):
% bts severity 95672 normal , merge 95672 95673 \#sie sind identisch!
Die Abkürzung »it« könnte benutzt werden, um auf die zuletzt erwähnte Fehlernummer Bezug zu nehmen, daher können Sie schreiben:
% bts severity 95672 wishlist , retitle it "bts: please add a --foo option"
Bitte benutzen Sie dieses Programm verantwortungsvoll und berücksichtigen Sie unsere Anwender.
bts durchsucht die devscripts-Konfigurationsdateien wie oben beschrieben. Befehlszeilenoptionen setzen jedoch die Einstellungen der Konfigurationsdatei außer Kr.
Beachten Sie, dass $DEBEMAIL oder $EMAIL in der Umgebung gesetzt sein müssen, um mutt zum Senden von E-Mails zu verwenden.
Dem Rechnername könnte ein Doppelpunkt (»:«) und eine Port-Nummer folgen, um einen anderen Port als den vorgegebenen zu benutzen, Er könnte außerdem mit »ssmtp://« oder »ssmtps://« beginnen, um anzuzeigen, dass SMTPS benutzt werden soll.
If SMTPS not specified, bts will still try to use STARTTLS if it's advertised by the SMTP host.
Beachten Sie, dass $DEBEMAIL oder $EMAIL in der Umgebung gesetzt sein müssen, um direkte SMTP-Verbindungen zum Senden von E-Mails zu verwenden.
Beachten Sie, wenn Sie direkt über einen SMTP-Rechner senden, dass die Angabe von Adressen in --cc-addr oder BTS_DEFAULT_CC, für die der SMTP-Rechner keine Weiterleitung durchführt, dazu führt, dass der SMTP-Rechner die ganze E-Mail abweist.
Beachten Sie außerdem, dass die Benutzung des Befehls reassign, wenn entweder der Modus --interactive oder --force-interactive aktiviert ist, dazu führen kann, dass ein Cc an $newpackage@packages.debian.org hinzugefügt wird. In diesen Fällen findet der Hinweis oben bezüglich Weiterleitung Anwendung. Die Übertragungsschnittstelle (Port 587) auf reportbug.debian.org unterstützt keine Weiterleitung und sollte als solche nicht als SMTP-Server für bts unter den in diesem Absatz beschriebenen Umständen genutzt werden.
Falls ein Benutzername aber kein Passwort angegeben wurde, wird bts vor dem Senden der E-Mail nach dem Passwort fragen.
Beachten Sie, dass einige STMP-Server die Benutzung eines HELO möglicherweise abweisen, die sie entweder nicht auflösen oder die nicht zum benutzenden Rechner gehören.
Sämtliche Einzelheiten über die Befehle finden Sie in der BTS-Dokumentation. <https://www.debian.org/Bugs/server-control>
Optionen könnten nach dem Befehl bugs zusätzlich oder anstelle von Optionen am Anfang der Befehlszeile angegeben werden: An diesem Punkt erkannte Optionen sind: -o/--offline/--online, -m/--mbox, --mailreader und --[no-]cache. Diese wurden an früherer Stelle in dieser Handbuchseite beschrieben. Falls Sie entweder die Option -o oder --offline benutzt haben oder es bereits eine aktuelle Kopie des lokalen Zwischenspeichers gibt, wird die zwischengespeicherte Version benutzt.
Die möglichen Argumente haben folgende Bedeutung:
Nach dem Argument, das spezifiziert, was angezeigt wird, können Sie wahlweise Optionen angeben, um die Seite zu formatieren oder um zu ändern, was angezeigt wird. Diese werden in der heruntergeladenen URL an das BTS übergeben. Übergeben Sie zum Beispiel »dist=stable«, um Fehler zu sehen, die die stabile Version des Pakets beeinflussen, »version=1.0«, um Fehler zu sehen, die diese Version des Pakets beeinflussen oder »reverse=yes«, um die neuesten Nachrichten im Fehlerprotokoll zuerst zu sehen.
Falls Zwischenspeicherung aktiviert wurde (sprich --no-cache wurde nicht benutzt und BTS_CACHE wurde nicht auf no gesetzt), dann wird automatisch jede durch bts show angeforderte Seite zwischengespeichert und danach offline verfügbar sein. Seiten, die automatisch auf diese Weise zwischengespeichert wurden, werden bei nachfolgenden Aufrufen von »bts show|bugs|cache« gelöscht, falls nicht innerhalb von 30 Tagen darauf zugegriffen wurde. Warnung: Auf einem Dateisystem, das mit der Option »noatime« eingehängt wurde, aktualisiert die Ausführung von »bts show|bugs« nicht die Zugriffszeiten der Zwischenspeicherdateien; ein zwischengespeicherter Fehler wird dann Gegenstand der automatischen Bereinigung 30 Tage nach seinem anfänglichen Herunterladen, sogar dann, wenn auf ihn in der Zwischenzeit zugegriffen wurde.
Alle anderen bts-Befehle, die dieser Befehlszeile folgen, werden nach dem Beenden des Browsers ausgeführt.
Der gewünschte Browser kann durch Setzen der Umgebungsvariable BROWSER angegeben und konfiguriert werden. Die Konventionen folgen denen, die Eric Raymond auf http://www.catb.org/~esr/BROWSER/ definiert hat; hier wird der maßgebliche Teil wiedergegeben.
Der Wert von BROWSER kann aus einer Reihe von durch Doppelpunkt getrennten Browser-Befehlsteilen bestehen. Diese sollten nacheinander durchprobiert werden, bis einer erfolgreich ist. Jeder Befehlsteil kann optional die Zeichenkette %s enthalten; ist dies der Fall, wird die URL, die betrachtet werden soll, dort ersetzt. Falls der Befehlsteil kein %s enthält, wird der Browser gestartet, als ob die URL als sein erstes Argument bereitgestellt worden wäre. Die Zeichenkette %% muss durch ein einzelnes % ersetzt werden.
Begründung: Es muss möglich sein, mehrere Browser-Befehle anzugeben, damit Programme, die dieser Konvention folgen, in X- oder Konsolenumgebungen das Richtige tun können. Dabei wird X zuerst probiert. Die Angabe mehrerer Befehle kann außerdem für Leute nützlich sein, die Dateien wie .profile über mehrere Systeme hinweg gemeinsam benutzen. %s wird benötigt, da einige populäre Browser eine Aufrufsyntax aus der Ferne haben, die dies erfordern. Falls %% nicht auf % verkürzt würde, wäre es unmöglich, ein Buchstabensymbol %s in der Zeichenkette zu haben.
Auf den meisten Linux-Systemen wäre zum Beispiel Folgendes ein gute Sache:
BROWSER='mozilla -raise -remote "openURL(%s,new-window)":links'
Die folgenden Schlüssel sind erlaubt und können mehrmals abgegeben werden.
Um zum Beispiel die Sammlung von Fehlern auszuwählen, die von jrandomdeveloper@example.com versandt und mit wontfix markiert würde, könnte Folgendes benutzt werden:
bts select submitter:jrandomdeveloper@example.com tag:wontfix
Falls ein Schlüssel mehrfach benutzt wird, dann enthält die ausgewählte Fehlerzusammenstellung jene, die auf einen der bereitgestellten Werte passen, zum Beispiel gibt
bts select package:foo severity:wishlist severity:minor
alle Fehler des Pakets Foo zurück, die entweder den Schweregrad »wishlist« oder »minor« haben.
Standardmäßig werden alle ausgefüllten Felder für einen Fehler angezeigt.
Falls verbose angegeben ist, werden außerdem leere Felder angezeigt.
Falls fields angegeben ist, werden nur diese Felder angezeigt. Es wird keine Gültigkeitsprüfung für irgendwelche angegebenen Felder durchgeführt.
Falls keine Nachrichtennummer angegeben ist, wird die Zusammenfassung geleert.
Dies ist gleichbedeutend mit der Abfolge der Befehle »found Fehler Version«, »notfound Fehler Version«.
bts tags <Fehler> =
alle Markierungen vom angegebenen Fehler entfernen wird.
Das Hinzufügen/Entfernen der security-Markierung wird der Cc-Liste der Steuerungs-E-Mail »team\@security.debian.org« hinzufügen.
The list of valid tags and their significance is available at <https://www.debian.org/Bugs/Developer#tags>. The current valid tags are:
patch, wontfix, moreinfo, unreproducible, help, newcomer, pending, security, upstream, confirmed, fixed, fixed-upstream, fixed-in-experimental, d-i, ipv6, lfs, l10n, a11y
There is also a tag for each release of Debian since "potato". Note that this list may be out of date, see the website for the most up to date source.
bts affects <Fehler> =
alle Hinweise entfernt, dass Fehler andere Pakete beeinflusst.
bts usertags <Fehler> =
alle Benutzermarkierungen vom angegebenen Fehler entfernt.
Falls kein Anspruch angegeben wurde, wird die Umgebungsvariable DEBEMAIL oder EMAIL (in dieser Reihenfolge geprüft) benutzt.
Falls kein Anspruch angegeben wurde, wird die Umgebungsvariable DEBEMAIL oder EMAIL (in dieser Reihenfolge geprüft) benutzt.
Um zum Beispiel die Zusammenstellung von Fehlern, die von nachfolgenden Steuerbefehlen beeinflusst werden, auf diejenigen zu beschränken, die von jrandomdeveloper@example.com versandt und mit wontfix markiert wurden, könnte Folgendes verwendet werden:
bts limit submitter:jrandomdeveloper@example.com tag:wontfix
Falls ein Schlüssel mehrfach benutzt wird, dann enthält die ausgewählte Fehlerzusammenstellung jene, die auf einen der bereitgestellten Werte passen, zum Beispiel gibt
bts limit package:foo severity:wishlist severity:minor
wird nur auf nachfolgende Steuerbefehle für Fehler des Pakets Foo angewandt, die entweder den Schweregrad wishlist oder minor aufweisen.
Der Besitzer eines Fehlers akzeptiert die Verantwortung, ihn zu erledigen.
Nach der Ausführung dieses Befehls wird ihnen eine Abonnement-Bestätigung gesandt, auf die Sie antworten müssen. Wenn Sie einen Fehlerbericht abonniert haben, erhalten Sie alle relevanten E-Mails und Benachrichtigungen, Benutzen Sie den Befehl unsubscribe, um das Abonnement zu beenden.
Nach der Ausführung dieses Befehls wird Ihnen eine Bestätigung für das Beenden des Abonnements gesandt, auf die Sie antworten müssen. Benutzen Sie zum Abonnieren den Befehl subscribe.
Sie können die zwischengespeicherten Fehler mit dem Schalter -o verwenden. Zum Beispiel:
bts -o bugs
bts -o show 12345
Außerdem wird bts die Dateien darin auf unsystematische Weise aktualisieren, da es Informationen von der Fehlerdatenbank unter Benutzung des Befehls show herunterlädt. Sie könnten daher den Zwischenspeicher einrichten, indem Sie die automatischen Zwischenspeicheraktualisierungen die Fehler aktualisieren lassen, auf die Sie häufig während der Woche Bezug nehmen.
Einige Optionen beeinflussen das Verhalten des Befehls cache. Die erste ist die Einstellung von --cache-mode, die steuert, wieviel bts von den referenzierten Verweisen von der Fehlerseite herunterlädt, einschließlich langweiliger Teile, wie den Bestätigungs-E-Mails, E-Mails an den Steuer-Bot und der Mbox-Version des Fehlerberichts. Sie kann drei Werte annehmen: min (das Minimum), mbox (das Minimum plus der Mbox-Version des Fehlerberichts herunterladen) oder full (alles). Die zweite ist --force-refresh oder -f. Sie erzwingt das Herunterladen sogar dann, wenn der zwischengespeicherte Fehler aktuell ist. Die Option --include-resolved zeigt an, ob Fehlerberichte, die als behoben markiert sind, während des Zwischenspeicherns heruntergeladen werden sollen.
Jedes davon ist, wie nachfolgend beschrieben, in der Konfigurationsdatei einstellbar. Dies könnte außerdem nach dem Befehl cache, ebenso wie am Anfang der Befehlszeile angegeben werden.
Schlussendlich wird -q oder --quiet Nachrichten darüber, ob der Zwischenspeicher aktuell ist, unterdrücken. Wird diese Option zweimal angegeben, werden alle Zwischenspeichernachrichten (mit Ausnahme von Fehlermeldungen) unterdrückt.
Vorsicht allerdings beim Zwischenspeichern von RC-Fehlern: Es wird LANGE dauern! (Mit über 1000 RC-Fehlern und einer Verzögerung von fünf Sekunden zwischen Fehlern, sehen Sie sich mindestens 1,5 Stunden und wahrscheinlich bedeutend mehr als dem gegenüber.)
Die beiden Konfigurationsdateien /etc/devscripts.conf und ~/.devscripts werden in dieser Reihenfolge durch eine Shell eingelesen, um Konfigurationsvariablen zu setzen. Befehlszeilenoptionen können benutzt werden, um Einstellungen aus Konfigurationsdateien außer Kraft zu setzen. Einstellungen aus Umgebungsvariablen werden zu diesem Zweck ignoriert. Die derzeit bekannten Variablen sind:
Beachten Sie, dass diese Option eine höhere Priorität hat als BTS_SENDMAIL_COMMAND, falls beide gesetzt sind, außer wenn die Option --sendmail verwendet wird.
Bitte lesen Sie <https://www.debian.org/Bugs/server-control>, um weitere Einzelheiten zu erhalten, wie die Fehlerdatenbank unter Benutzung von E-Mails gesteuert wird und <https://www.debian.org/Bugs/>, um weitere Informationen über die Fehlerdatenbank zu erhalten.
querybts(1), reportbug(1), pts-subscribe(1), devscripts.conf(5)
Dieses Programm unterliegt dem Copyright (C) 2001-2003 von Joey Hess <joeyh@debian.org>. Es wurden viele Änderungen vorgenommen unter dem Copyright (C) 2002-2005 von Julian Gilbey <jdg@debian.org> und dem Copyright (C) 2007 von Josh Triplett <josh@freedesktop.org>.
Es ist lizensiert unter den Bedingungen der GPL, entweder Version 2 der Lizenz oder (nach Ihrer Wahl) irgendeiner späteren Version.