Provided by: devscripts_2.19.6ubuntu1_amd64 bug

BEZEICHNUNG

       cowpoke - baut ein Debian-Quellpaket in einer fernen Cowbuilder-Instanz

ÜBERSICHT

       cowpoke [Optionen] Paketname.dsc

BESCHREIBUNG

       lädt  ein  Debian-Quellpaket  auf  einen  cowbuilder-Rechner  hoch  und baut es, wahlweise
       signiert es außerdem das Ergebnis und lädt es in eine »incoming«-Warteschlange hoch.

OPTIONEN

       Die folgenden Optionen sind verfügbar:

       --arch=Architektur
              gibt die Debian-Architektur(en) an,  für  die  gebaut  wird.  Es  kann  eine  durch
              Leerzeichen  getrennte Liste von Architekturen benutzt werden, um für alle in einem
              einzigen  Durchgang  zu  bauen.  Gültige  Architekturnamen  sind  jene,  die  durch
              dpkg-architecture(1) für DEB_BUILD_ARCH zurückgegeben werden.

       --dist=Distribution
              gibt  die  Debian-Distribution(en)  an,  für  die  gebaut  wird. Es kann eine durch
              Leerzeichen getrennte Liste von Distributionen benutzt werden, um für alle in einem
              einzigen  Durchgang  zu  bauen. Es können entweder Codenamen (wie sid oder squeeze)
              oder Distributionsnamen (wie unstable oder experimental) verwendet werden, aber Sie
              sollten  üblicherweise  durchgehend  dabei  bleiben,  den  einen  oder  anderen  zu
              benutzen, da dieser Name in  Dateipfaden  benutzt  wird  und  um  alte  Pakete  für
              Vergleichsberichte zu orten.

              Es ist nun auch möglich, mit dieser Option lokal definierte Namen zu benutzen, wenn
              sie zusammen mit  der  Option  BASE_DIST  in  einer  Konfigurationsdatei  verwendet
              werden.   Dies   erlaubt   die   Verwaltung  und  Benutzung  eigens  konfigurierter
              Bau-Chroots, die Paketabhängigkeiten aus den Backports-Archiven oder einem  lokalen
              Depot beziehen können. Außerdem sind andere ungewöhnliche Optionszusammenstellungen
              möglich, ohne die Chroots zu verunreinigen, die zum sauberen Bauen und Hochladen in
              die  Hauptdepots  gedacht sind. Lesen Sie die die Beschreibung von BASE_DIST weiter
              unten.

       --buildd=Rechner
              gibt den fernen Rechner an, auf dem gebaut werden soll.

       --buildd-user=Name
              gibt den fernen Benutzernamen an, unter dem gebaut wird.

       --create
              erstellt das ferne cowbuilder-Wurzelverzeichnis, falls  es  noch  nicht  existiert.
              Falls  diese  Option  nicht  übergeben  wird, ist es für die angegebene --dist oder
              --arch ein Fehler, über  kein  existierendes  cowbuilder-Wurzelverzeichnis  an  der
              erwarteten Stelle zu verfügen.

              Der  --buildd-user  muss  das  Recht  haben,  auf  dem Baurechner das RESULT_DIR zu
              erstellen oder ein Administrator mit den nötigen Rechten muss es  zuerst  erstellen
              und  diesem  Benutzer  (oder  einer  Gruppe, der er angehört) Schreibzugriff darauf
              geben, damit diese Option erfolgreich ist.

       --return=[Pfad
              kopiert Ergebnisse des Bauens nach Pfad. Falls Pfad  nicht  angegeben  wurde,  dann
              werden  sie  an  das  aktuelle  Verzeichnis zurückgegeben. Der angegebene Pfad muss
              existieren, er wird nicht erstellt.

       --no-return
              kopiert Ergebnisse des Bauens nicht nach  RETURN_DIR  (setzt  eine  Pfadeinstellung
              hierfür in den Konfigurationsdateien außer Kraft).

       --dpkg-opts='Option1 Option2 …'
              gibt zusätzliche Optionen an, die an dpkg-buildpackage(1) übergeben werden. Mehrere
              Optionen  werden  durch  Leerzeichen  getrennt.  Dies  wird  alle  in  DEBBUILDOPTS
              angegebenen Optionen in der pbuilderrc des Baurechners außer Kraft setzen.

       --create-opts='Cowbuilder-Option'
              gibt zusätzliche Argumente an, die unverändert an Cowbuilder weitergereicht werden,
              wenn eine Chroot zum ersten Mal (mittels der obigen Option --create) erstellt wird.
              Falls  mehrere  Optionen  weitergereicht werden müssen, sollte diese Option separat
              für jede einzelne angegeben werden.

              Z.B. --create-opts "--othermirror" --create-opts "deb http://…"

              Diese Option  wird  jede  für  eine  Chroot  in  den  Cowpoke-Konfigurationsdateien
              angegebene CREATE_OPTS außer Kraft setzen.

       --update-opts='Cowbuilder-Option'
              gibt zusätzliche Argumente an, die unverändert an Cowbuilder weitergereicht werden,
              wenn die Chroot aktualisiert wird. Falls  mehrere  Optionen  weitergereicht  werden
              müssen, sollte diese Option separat für jede einzelne angegeben werden.

              Diese  Option  wird  jede  für  eine  Chroot  in  den Cowpoke-Konfigurationsdateien
              angegebene UPDATE_OPTS außer Kraft setzen.

       --build-opts='Cowbuilder-Option'
              gibt zusätzliche Argumente an, die unverändert an Cowbuilder weitergereicht werden,
              wenn  ein  Paket  gebaut wird. Falls mehrere Optionen weitergereicht werden müssen,
              sollte diese Option separat für jede einzelne angegeben werden.

              Diese Option  wird  jede  für  eine  Chroot  in  den  Cowpoke-Konfigurationsdateien
              angegebene BUILD_OPTS außer Kraft setzen.

       --sign=Schlüsselkennung
              gibt  den Schlüssel an, mit dem Pakete signiert werden. Dies wird jedes SIGN_KEYID,
              das für eine Chroot in den  Cowpoke-Konfigurationsdateien  angegeben  wurde,  außer
              Kraft setzen.

       --upload=Warteschlange
              gibt  die  Dput-Warteschlange  an, in die signierte Pakete hochgeladen werden. Dies
              wird jede UPLOAD_QUEUE, die für eine Chroot  in  den  Cowpoke-Konfigurationsdateien
              angegeben wurde, außer Kraft setzen.

       --help zeigt  eine  kurze  Zusammenfassung  der  verfügbaren  Optionen  und  der aktuellen
              Konfiguration.

       --version
              zeigt die aktuelle Versionsinformation.

KONFIGURATIONSOPTIONEN

       Wenn cowpoke ausgeführt wird, werden die folgenden Optionen von  globalen,  benutzer-  und
       objektbezogenen  Konfigurationsdateien gelesen, falls vorhanden. Dateipfade können absolut
       oder relativ sein, letztere sind zum BUILDD_USER-Home-Verzeichnis relativ.  Da  die  Pfade
       bei   der   Benutzung  typischerweise  in  Anführungszeichen  stehen,  wird  darauf  keine
       Tilde-Expandierung durchgeführt.

   Globale Vorgaben
       Dies gilt für jede Architektur und Distribution in einem einzelnen Cowpoke-Aufruf.

       BUILDD_HOST
              die Netzwerkadresse oder FQDN der Baumaschine auf der cowbuilder konfiguriert  ist.
              Dies könnte durch die Befehlszeilenoption --buildd außer Kraft gesetzt werden.

       BUILDD_USER
              der  nicht privilegierte Benutzername für Operationen auf der Baumaschine. Dies ist
              standardmäßig der lokale  Name  des  Benutzers,  der  cowpoke  ausführt  (oder  ein
              Benutzername,  der  in  der  SSH-Konfiguration für BUILDD_HOST angegeben wurd), und
              kann durch die Befehlszeilenoption --buildd-user außer Kraft gesetzt werden.

       BUILDD_ARCH
              die Debian-Architektur(en), für die gebaut wird. Dies muss  zu  DEB_BUILD_ARCH  der
              benutzten  Bau-Chroot  passen.  Standardmäßig  ist  es  die Architektur des lokalen
              Rechners, auf der cowpoke ausgeführt wird. Sie könnte durch die Befehlszeilenoption
              --arch  außer  Kraft  gesetzt werden. Hier könnte eine durch Kommas getrennte Liste
              (in Anführungszeichen) verwendet werden, um um für alle hieraus in  einem  einzigen
              Durchgang zu bauen.

       BUILDD_DIST
              die  Debian-Distribution(en), für die gebaut wird. Eine durch Leerzeichen getrennte
              Liste von Distributionen (in Anführungszeichen) kann benutzt  werden,  um  alle  in
              einem einzigen Durchgang zu bauen. Dies könnte durch die Befehlszeilenoption --dist
              außer Kraft gesetzt werden.

       INCOMING_DIR
              der Installationspfad auf der Baumaschine, in der das Quellpaket anfangs  platziert
              wird. Dies muss durch den BUILDD_USER schreibbar sein.

       PBUILDER_BASE
              die   Wurzel   des   Dateisystems   für  alle  Pbuilder-COW-  und  Ergebnisdateien.
              Architektur- und distributionsspezifische Unterverzeichnisse  werden  normalerweise
              darunter  erstellt.  Der  APT-Zwischenspeicher  und die temporären Bauverzeichnisse
              werden ebenso unterhalb dieses Pfads liegen.

       SIGN_KEYID
              Falls diese Option gesetzt ist, wird erwartet, dass  sie  die  GPG-Schlüsselkennung
              zur  Übergabe an debsign(1) enthält, falls die Pakete aus der Ferne signiert werden
              sollen. Sie werden um Bestätigung gebeten, ob Sie  die  Pakete  signieren  möchten,
              nachdem  das Bauen aller Pakete abgeschlossen ist. Falls diese Option nicht gesetzt
              oder eine  leere  Zeichenkette  ist,  wird  kein  Versuch  unternommen,  Pakete  zu
              signieren.  Sie  kann  auf  einer Architektur- oder Distributionsspezifischen Basis
              mittels der weiter unten beschriebenen  Option  Architektur_Distribution_SIGN_KEYID
              oder  jeweils  beim  Aufruf  mit der Befehlszeilenoption --sign außer Kraft gesetzt
              werden.

       UPLOAD_QUEUE
              Falls diese Option gesetzt ist, wird erwartet,  dass  sie  eine  »host«-Angabe  für
              dput(1)  enthält,  die  verwendet  wird, um sie nach dem Signieren hochzuladen. Sie
              werden um Bestätigung gebeten, ob Sie  die  Pakete  nach  dem  Signieren  hochladen
              möchten.  Falls  diese  Option nicht gesetzt oder eine leere Zeichenkette ist, wird
              kein Versuch unternommen, diese Pakete hochzuladen. Falls SIGN_KEYID nicht  gesetzt
              ist,  wird  diese  Option  ganz  ignoriert.  Sie  kann  auf einer architektur- oder
              distributionsspezifischen Basis  mittels  der  weiter  unten  beschriebenen  Option
              Architektur_Distribution_UPLOAD_QUEUE    oder   jeweils   beim   Aufruf   mit   der
              Befehlszeilenoption --upload außer Kraft gesetzt werden.

       BUILDD_ROOTCMD
              der Befehl, der zum Erlangen von Root-Rechten auf der  fernen  Baumaschine  benutzt
              wird.  Falls  nicht  gesetzt,  ist  die  Vorgabe  sudo(8).  Dies  ist nur nötig, um
              cowbuilder aufzurufen und ihm zu erlauben,  in  seine  Chroot  zu  gelangen,  daher
              könnten  Sie  diesen  Nutzer  darauf  beschränken,  diesen Befehl mit ausgeweiteten
              Rechten auszuführen. Ein Eintrag wie der folgende in »sudoers« wird es ermöglichen,
              cowbuilder ohne einen zusätzlich nötigen Passworteintrag aufzurufen:

                      Ihrbenutzer ALL = NOPASSWD: /usr/sbin/cowbuilder

              Alternativ  könnten  Sie  SSH mit einem weitergeleiteten Schlüssel oder irgendeinem
              anderen Mechanismus, der Ihrer lokalen  Zugriffsrichtlinie  entspricht,  verwenden.
              Die   Benutzung   von   su   -c   ist   hier   nicht  wirklich  passend,  da  seine
              Maskierungsanforderungen sich etwas vom Rest unterscheiden.

       DEBOOTSTRAP
              das Hilfswerkzeug, das beim Erstellen einer neuen Chroot benutzt wird. Alternativen
              sind debootstrap oder cdebootstrap.

       RETURN_DIR
              Falls  gesetzt,  werden  Paketdateien,  die  Ergebnis  des Bauens sind, in den Pfad
              (lokal oder in der Ferne)  kopiert,  auf  den  dies  gesetzt  ist.  Der  Pfad  muss
              existieren,  er  wird  nicht angelegt. Diese Option ist standardmäßig nicht gesetzt
              und kann mit --return oder --no-return überschrieben werden.

   Architekur- und distributionsspezifische Optionen
       Dies  sind  Variablen   der   Form   $arch_$dist_VAR,   die   nur   für   ein   bestimmtes
       Architektur-/Distributions-Bauziel gelten.

       Architektur_Distribution_RESULT_DIR
              Der  Verzeichnispfad  auf  der  Baumaschine,  in dem die resultierenden (Quell- und
              Binär-)Pakete abgelegt werden und wo ältere Versionen der Pakete, die vorher gebaut
              wurden,  gefunden  werden  können.  Falls  irgendwelche  derartigen  älteren Pakete
              existieren, wird debdiff benutzt, um das neue Paket mit der vorhergehenden  Version
              zu  vergleichen,  nachdem  das  Bauen  abgeschlossen  ist. Das Ergebnis wird in das
              Bauprotokoll  eingefügt.   Dateien   darin   müssen   für   den   BUILDD_USER   für
              Plausibilitätsprüfungen mit lintian(1) und debdiff(1) und das Hochladen mit dput(1)
              lesbar   sein.   Falls   diese   Option   für   irgendwelche    Architektur-    und
              Distributionskombinationen       nicht      angegeben      ist,      dann      wird
              $PBUILDER_BASE/$arch/$dist/result vorgegeben.

       Architektur_Distribution_BASE_PATH
              das Verzeichnis, in dem  die  CoW-Master-Dateien  vorliegen  werden  (oder  erzeugt
              werden, falls die Befehlszeilenoption --create übergeben wurde). Falls diese Option
              für irgendwelche Architekturen und Distributionen nicht angegeben wurde, dann  wird
              $PBUILDER_BASE/$arch/$dist/base.cow vorgegeben.

       Architektur_Distribution_BASE_DIST
              der Codename, der anstelle von Distribution als Option --distribution an Cowbuilder
              übergeben wird. Dies ist nötig, wenn Distribution ein lokal bedeutsamer  Name  ist,
              der   irgendeiner   speziell   konfigurierten   Bau-Chroot  wie  »wheezy_backports«
              zugewiesen wurde und nicht der Debootstrap  bekannte  offizielle  Suite-Name  einer
              Distributionsveröffentlichung  ist.  Diese  Option  kann nicht auf der Befehlszeile
              außer Kraft gesetzt werden, da dies selten, wenn  nicht  sogar  nie,  für  einzelne
              Aufrufe  von  Cowpoke sinnvoll wäre. Falls diese Option nicht für eine Architektur-
              und Distributionskombination angegeben wurde, wird als Voreinstellung  Distribution
              genommen.

       Architektur_Distribution_CREATE_OPTS
              ein  Bash-Feld,  das  zusätzliche  Optionen  enthält, die unverändert an Cowbuilder
              weitergegeben werden,  wenn  diese  Chroot  zum  ersten  Mal  (mittels  der  Option
              --create)  erstellt  wird.  Dies  ist nützlich, wenn Optionen wie --othermirror zum
              Erstellen  spezialisierter  Chroots  wie   »wheezy_backports«   erwünscht   werden.
              Standardmäßig ist dies nicht gesetzt. Alle darin gesetzten Werte werden außer Kraft
              gesetzt, falls auf der Befehlszeile die Option --create-opts übergeben wird.

              Jedes Element dieses Feldes entspricht  einem  einzelnen  Argument  (im  Sinne  von
              ARGV),  das  an  Cowbuilder  übergeben  wird.  Dadurch  wird  sichergestellt,  dass
              Argumente, die Leerräume enthalten oder merkwürdige  Maskierungsanforderungen  oder
              andere Sonderzeichen haben, nicht verwürfelt werden, ehe Cowbuilder sie bekommt.

              Die Initialisierung von Bash-Feldern geschieht in folgender Form:

                  OPTS=( "Arg1" "Arg 2" "--option" "Wert" "--opt=Wert" "etc. etc." )

       Architektur_Distribution_UPDATE_OPTS
              ein  Bash-Feld,  das  zusätzliche  Optionen  enthält,  die jedesmal, wenn die Basis
              dieser Chroot aktualisiert wird, unverändert an Cowbuilder  weitergereicht  werden.
              Es  verhält sich ähnlich der oben beschriebenen CREATE_OPTS-Optionen, außer dass es
              beim Aktualisieren der Chroot tätig wird.

       Architektur_Distribution_BUILD_OPTS
              ein Bash-Feld, das zusätzliche Optionen  enthält,  die  jedesmal,  wenn  in  dieser
              Chroot ein Paket gebaut wird, unverändert an Cowbuilder weitergereicht werden. Dies
              ist nützlich, wenn Sie Optionen wie --twice verwenden, um die  sich  Cowpoke  nicht
              direkt   kümmern  muss.  In  anderen  Fällen  verhält  es  sich  ähnlich  der  oben
              beschriebenen CREATE_OPTS, außer dass es während der Bauphase von Cowbuilder  tätig
              wird.

       Architektur_Distribution_SIGN_KEYID
              ein  optionales  Architektur-  und ein distributionsspezifisches Außer-Kraft-Setzen
              für die globale Option SIGN_KEYID.

       Architektur_Distribution_UPLOAD_QUEUE
              ein optionales Architektur- und  ein  distributionsspezifisches  Außer-Kraft-Setzen
              für die globale Option UPLOAD_QUEUE

KONFIGURATIONSDATEIEN

       /etc/cowpoke.conf
              globale Konfigurationsoptionen; setzen die fest kodierten Vorgaben außer Kraft

       ~/.cowpoke
              Konfigurationsoptionen pro Benutzer; werden jede globale Konfiguration ignorieren

       .cowpoke
              Konfigurationsoptionen  pro  Projekt;  werden  jede Konfiguration pro Benutzer oder
              globale Konfiguration überstimmen, falls cowpoke  aus  dem  Verzeichnis  aufgerufen
              wird, in dem sie existieren.

              Falls  die  Umgebungsvariable  COWPOKE_CONF  gesetzt ist, gibt sie eine zusätzliche
              Konfigurationsdatei an, die alles vorhergehende außer Kraft  setzt.  Optionen,  die
              explizit    auf    der    Befehlszeile    angegeben    werden,    ignorieren   alle
              Konfigurationsdateien.

COWBUILDER-KONFIGURATION

       Um eine cowbuilder-Instanz zu konfigurieren. die mit cowpoke  benutzt  wird,  wird  nichts
       sonderlich  Spezielles  benötigt.  Erstellen  Sie sie einfach in der Variante, die Sie mit
       »cowbuilder --create« gemäß der cowbuilder-Dokumentation benötigen. Dann konfigurieren Sie
       cowpoke mit dem Benutzer, der Architektur und den zum Zugriff benötigten Pfadinformationen
       auf den Rechnern, von denen  Sie  es  aufrufen  wollen  (oder  konfigurieren  Sie  cowpoke
       alternativ  mit  dem  Pfad, der Architektur und der Distributionsinformation und übergeben
       Sie ihm beim ersten Aufruf die Option --create). Der Baurechner, der cowbuilder  ausführt,
       benötigt kein lokal installiertes cowpoke.

       Auf  der Baumaschine sollten die Pakete lintian und devscripts für Plausibilitätsprüfungen
       nach dem  Bauen  installiert  sein.  Nach  Beendigung  werden  das  Bauprotokoll  und  die
       Ergebnisse  der automatischen Prüfungen in INCOMING_DIR aufgezeichnet. Falls Sie signierte
       Pakete hochladen möchten, wird die Baumaschine außerdem erforden, dass dput(1) installiert
       und  für die Benutzung des durch die UPLOAD_QUEUE angegebenen Alias »Rechner« konfiguriert
       ist. Falls rsync(1) sowohl auf der lokalen als auch auf  der  Baumaschine  verfügbar  ist,
       wird es für die Übertragung des Quellpakets benutzt (dies könnte bei einigen Übertragungen
       der orig.tar.* Bandbreite  sparen,  wenn  aufeinander  folgende  Debian-Revisionen  gebaut
       werden).

       Der  Benutzer,  der  cowpoke ausführt, muss SSH-Zugriff auf die Baumschine als BUILDD_USER
       haben. Dieser Benutzer muss in der Lage sein,  cowbuilder  als  Root  durch  Benutzen  von
       BUILDD_ROOTCMD aufzurufen. Zur Installation auf der Baumaschine werden keine Schlüssel zum
       Signieren benötigt (und werden ignoriert, wenn sie dort sind). Falls  das  Paket  signiert
       ist, werden die Schlüssel auf dem Rechner, die cowpoke ausführt, erwartet.

       Wenn   cowpoke  aufgerufen  wird,  wird  es  zuerst  versuchen,  das  cowbuilder-Image  zu
       aktualisieren, falls dies nicht bereits am selben Tag getan wurde.  Dies  wird  durch  das
       Vorhandensein   oder   Fehlen   einer   cowbuilder-$arch-$dist-update-log-$date-Datei   im
       Verzeichnis INCOMING_DIR geprüft. Sie können die Datei  verschieben,  entfernen  oder  mit
       touch  aktualisieren,  falls  Sie  wünschen,  dass das Image außerhalb des üblichen Zyklus
       aktualisiert wird. Ihr  Inhalt  protokolliert  die  Ausgabe  von  cowbuilder  während  des
       Aktualisierens (oder Erstellens) des Bauwurzelverzeichnisses.

ANMERKUNGEN

       Da  cowbuilder  eine  Chroot  erstellt  und  Sie,  um  dies zu tun, Root-Rechte benötigen,
       erfordert cowpoke außerdem zu einem bestimmten Grad Root-Zugriff. Daher  ist  es  denkbar,
       dass   all  die  schrecklichen  Dinge,  die  dabei  schiefgehen  können,  auch  bei  Ihnen
       schiefgehen. cowbuilder war bekannt dafür, versehentlich Dateisysteme, die mit der  Option
       »bind« außerhalb der Chroot eingehängt sind, zu vernichten und es ist leicht möglich, dass
       noch Schlimmeres passiert. Seien Sie daher vorsichtig, bewahren Sie gute Sicherheitskopien
       der  Dinge  auf,  die  Sie nicht auf Ihrer Baumaschine verlieren möchten und verwenden Sie
       cowpoke, um alles auf einem Rechner zu verwahren, die nicht Ihre modernste Entwicklerkiste
       mit Ihren letzten paar Stunden nicht übergebener Arbeit ist.

SIEHE AUCH

       cowbuilder(1), pbuilder(1), ssh-agent(1), sudoers(5)

AUTOR

       cowpoke wurde von Ron <ron@debian.org> geschrieben.

ÜBERSETZUNG

       Diese  Übersetzung wurde mit dem Werkzeug po4a <URL:https://po4a.alioth.debian.org/> durch
       Chris Leick c.leick@vollbio.de im Juli 2012 erstellt und vom deutschen  Debian-Übersetzer-
       Team  korrekturgelesen.  Bitte  melden  Sie alle Fehler in der Übersetzung an debian-l10n-
       german@lists.debian.org oder als Fehlerbericht an das Paket devscripts. Sie können mit dem
       folgenden    Befehl    das    englische    Original   anzeigen   »man   -L   C   Abschnitt
       deutsche_Handbuchseite«.

                                          28. April 2008                               COWPOKE(1)