Provided by: devscripts_2.25.5_all 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.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)