other versions
- wheezy 2.12.6+deb7u2
- wheezy-backports 2.14.11~bpo70+1
- jessie 2.15.3+deb8u1
- jessie-backports 2.17.5~bpo8+1
- testing 2.17.6
- unstable 2.17.6
COWPOKE(1) | General Commands Manual | COWPOKE(1) |
BESCHREIBUNG¶
cowpoke - baut ein Debian-Quellpaket in einer fernen Cowbuilder-InstanzÜBERSICHT¶
cowpoke [Optionen] Paketname.dscBESCHREIBUNG¶
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.
- --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.
- --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.
- --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 wurden. Sie werden um Bestätigung gebeten, ob Sie die Pakete signieren möchten, nachdem das Bauen abgeschlossen ist. Falls diese Option nicht gesetzt oder eine leere Zeichenkette ist, wird kein Versuch unternommen, Pakete zu signieren.
- 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.
- 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.
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.
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.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.28. April 2008 |