staging.inyokaproject.org

pBuilder

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Archiv/pBuilder.

Elektranox

Avatar von Elektranox

Anmeldungsdatum:
19. Juli 2005

Beiträge: 417

pBuilder
Quelle: PbuilderHowto

Einleitung[/u]
Dieses Dokument beschreibt Schritt für Schritt wie man ein pBuilder Chroot System bastelt, mit dem man Ubuntu Pakete erstellt. Es ist für Ubuntu Maintainer und jeden, der Pakete für Ubuntu erstellen will geeignet.
Du kannst Pakete ohne pbuilder basteln, aber du musst die Abhängigkeiten des Paketes das du bauen willst auf deinem System schon installiert haben.
Es folgt die Anleitung für "breezy". Wenn du eins für "hoary" oder "dapper" haben willst ändere das "breezy".
Installation[/u]

sudo apt-get install pbuilder

Bearbeite "/etc/pbuilder/pbuilderrc" und ändere wie folgt:

MIRRORSITE=http://archive.ubuntu.com/ubuntu
DISTRIBUTION=breezy

Wenn pBuilder sich über unbestätigte Pakete beschwert, musst du diese Erlauben. Dies durch bearbeiten von "/etc/pbuilder/pbuilderrc":

APTCONFDIR="/etc/pbuilder/apt.config/"

Nun musst du benötigte Dateien von /etc/apt in pBuilder Verzeichnis kopieren:

sudo mkdir /etc/pbuilder/apt.config/
sudo cp -ar /etc/apt/* /etc/pbuilder/apt.config/
sudo touch /etc/pbuilder/apt.config/apt.conf.d/allow-unauthenticated

und die folgende Zeile zu Datei "/etc/pbuilder/apt.config/apt.conf.d/allow-unauthenticated" hinzufügen:

APT::Get::AllowUnauthenticated 1;

Anmerkung: Gehe sicher, dass du "99update-notifier" von "/etc/pbuilder/apt.config/apt.conf.d/" entfernt hast. Wenn du es im letzten Schritt mit kopiert hast. Es könnte spätere Updates im pBuilder Chroot verhindern. Speichere die Datei und führe den folgenden Befehl aus um das breezy Chroot zu bauen:

sudo pbuilder create --distribution breezy

Ein Paket neu neu kompilieren[/u] Wenn du diesen Punkt erreicht hast, ist dein Breety Chroot schon an der Position /var/cache/pbuilder fertig, um ein Paket zu erstellen. Wir werden nun ein Debian Source Paket vom Ubuntu Reposity laden und das Breezy Chroot testen. Um zu testen ob du Source Pakete laden kann muss du eine unkomentierte Zeile in /etc/apt/sources.list haben, die das folgende enthält:
{{{ deb-src http://archive.ubuntu.com/ubuntu breezy main restricted }}} Falls die obere Zeile existiert, aber als Kommentar, bearbeite sie so, dass sie kein Kommentar ist. Stelle sicher, dass dein Paket Index dazu passt. Dazu einfach das ausführen:
{{{ sudo apt-get update }}} Wir werden nun "bc", einen einfachen Taschenrechner, neu aus den Sourcen erstellen. Als erstes laden wir das Source Paket:
{{{ sudo apt-get source bc }}} Das Paket kannst du in deinem Breezy chroot so erstellen:
{{{ sudo pbuilder build *.dsc }}} Zum Schluss liegen Binary und Sourcen im folgenden Verzeichnes: "/var/cache/pbuilder/result/"
Das Chroot Updaten[/u]
Du solltest das Chroot vor jedem neuen Paket, das du baust updaten:

sudo pbuilder update

Universe support[/u]
Wenn du ein Paket aus dem Universe Zweig, oder ein neues bauen willst, das Pakete aus dem Main Zweig benötigt, musst du erneut die "/etc/pbuilderrc" öffnen, und das folgende ändern:
{{{ OTHERMIRROR="deb http://archive.ubuntu.com/ubuntu breezy universe multiverse" }}}
Außerdem musst du das Chroot mit den neuen Einstellungen updaten:
{{{ sudo pbuilder update --distribution breezy --override-config }}}
Upgrading to Latest Development Release[/u] Wenn du dich am aktuellen Release beteiligen willst, benötigst du ein Dapper Chroot. Manchmal könnte es sein, dass die Development Version nicht direkt installierbar ist. In diesem Fall, musst du erst das letzte Release installieren und das Chroot dann erst Updaten.

1. ändere jedes Auftreten von "breezy" in der Datei "/etc/pbuilderrc" und "/etc/pbuilder/apt.config/" zu "dapper"

2. führe den Befehl "sudo pbuilder update --override-config" aus.

3. benutze den "--override-config" bei jedem Update, das du machst.

Anmerkung:
Wenn du Fehler, dass die Datei "/etc/shadow" nicht im Chroot liegt, liegt der Debian Fehler #338976 vor. Ändere deine "/usr/lib/pbuilder/pbuilder-buildpackage-funcs", wie der Patch am Ende des Bug Reports über diesen Fehler sagt und warte auf pbuilder 0.139.

droebbel Team-Icon

Anmeldungsdatum:
19. Oktober 2004

Beiträge: 5388

Hui, das fehlt uns wirklich noch. Willst Du das nicht auch gleich noch ins Wiki übertragen? So schwierig ist die Syntax nicht, und in Wiki/Artikel_schreiben ist für Einsteiger alles Nötige erklärt (für Dich nur noch ab Punkt 2. relevant).

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

Dies:
Elektranox hat geschrieben:

Nun musst du benötigte Dateien von /etc/apt in pBuilder Verzeichnis kopieren:

sudo mkdir /etc/pbuilder/apt.config/
sudo cp -ar /etc/apt/* /etc/pbuilder/apt.config/
sudo touch /etc/pbuilder/apt.config/apt.conf.d/allow-unauthenticated

und die folgende Zeile zu Datei "/etc/pbuilder/apt.config/apt.conf.d/allow-unauthenticated" hinzufügen:

APT::Get::AllowUnauthenticated 1;

könnte man vereinfachen zu:

sudo mkdir /etc/pbuilder/apt.config/
sudo cp -ar /etc/apt/* /etc/pbuilder/apt.config/
sudo echo "APT::Get::AllowUnauthenticated 1;" > /etc/pbuilder/apt.config/apt.conf.d/allow-unauthenticated


oder?

umarmung Team-Icon

Avatar von umarmung

Anmeldungsdatum:
26. Oktober 2004

Beiträge: 5632

Das geht nicht, sudo erlaubt keine Ausgabe Umleitung.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

Ich habe keinerlei paketbuild-Erfahrung, daher folgende Fragen:

a) bevor ich apt-get source bc ausführe - wechsle ich da in ein bestimmtes Verzeichnis?
b) was ist mein Breezy chroot
c) rufe ich zwischenzeitlich chroot auf, oder macht das ein Programm, oder wieso heißt es chroot?

d) Sehe ich das richtig, daß der Haupteinsatzzweck das ändern von Debian- in Ubuntu-Pakete ist?
Ich habe ein paar Projekte bei freshmeat rumliegen, aber nie ein .deb erzeugt, da die meisten ohnehin in Java geschrieben sind, und ich keine Ahnung habe, wie ich dafür ein .deb-Paket erstelle, und andererseits habe ich mal für ein kleines c/c++ - Projekt mit den autoconf/ automake - utils rumprobiert, und habe dadurch mein 250 kb Projekt auf 1 MB aufgeblasen.
In DSL-Zeiten sind solche Dateigrößen (ungepackt) natürlich keine echte Katastrophe, obwohl man bedenken sollte, daß in Dtld. erst 10% der Haushalte über DSL verfügen.
Nun ja, der User benötigt gcc und ko, und ncurses - nicht wirklich viele Abhängigkeiten, nur bedeutet das Pflegen der Installation mehr Arbeit, als das Programmieren selbst, und es ist so unsäglich öde... ☺

Langes Klagen, kurze Frage: Um ein Paket von Scratch zu erzeugen benötige ich weit mehr?
Insbesondere welches Tutorial?

Elektranox

(Themenstarter)
Avatar von Elektranox

Anmeldungsdatum:
19. Juli 2005

Beiträge: 417

Der Sinn und Zweck ist nicht aus Debian Ubuntu Files zu machen, sondern einfach aus den Fertigen Programmen im Sourcecode *.debs zu machen. Also so wie "make; make-checkinstall". Dabei achtet der auf Abhängigkeiten usw.. Google hat für mich folgende Seite gefunden:
Debian Anwender Buch: Paket erstellen

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

Danke, Elektranox, hab's schon mal gebookmarkt.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

Hallo Elektranox,

Fast hätte ich übersehen, daß Du die anderen Fragen durch Änderungen im Ursprungspost beantwortet hast.
Danke.

Allerdings sind mir viele kleine, sprachliche Fehler aufgefallen - könntest Du es nochmal Korrekturlesen?

Elektranox

(Themenstarter)
Avatar von Elektranox

Anmeldungsdatum:
19. Juli 2005

Beiträge: 417

mh ich hab gar nichts editiert 😲 nur direkt nach dem Posten hab ich die Überschriften noch unterstrichen aber sonst nichts 😕

Ich hab das mal zu MoinMoin Code "Formatiert" und ins Wiki eingetragen:
pBuilder

Die Fehler könnte jem. anders entfernen ich muss noch für die letzten Arbeiten in diesem Jahr lernen ☹

Matthias Team-Icon

Avatar von Matthias

Anmeldungsdatum:
25. Juni 2006

Beiträge: 1257

Ich glaube es hat sich schon mittlerweile einiges geändert seit Dapper, z.B. die Lage der Konfigurationsdateien und was man so reinschreibt. Soll diese Anleitung für Dapper archiviert oder mit aktuellen Veränderungen einfach überschrieben werden?

Philipp_B Team-Icon

Supporter
Avatar von Philipp_B

Anmeldungsdatum:
22. Juli 2005

Beiträge: 8555

kommt drauf an wie umfangreich deine geplanten änderungen ausfallen werden.

Matthias Team-Icon

Avatar von Matthias

Anmeldungsdatum:
25. Juni 2006

Beiträge: 1257

Vielleicht sollte ich im Vorfeld sagen, dass ich ein Paketbau-Anfänger bin und bei dem Artikel schonmal Hilfe brauche. Ansonsten würde ich wahrscheinlich das englische HowTo übersetzen und ubuntuusers.de-spezifisch anpassen wie das zu Dapper-Zeiten wohl getan wurde. Die Übersetzung würde dann jedoch unter der GFDL stehen wie das Original vgl. https://wiki.ubuntu.com/DocumentationTeam/License und Lizenzfragen: Urheberrecht und Originaltext.

Philipp_B Team-Icon

Supporter
Avatar von Philipp_B

Anmeldungsdatum:
22. Juli 2005

Beiträge: 8555

dann leg doch mal dein artikel in der baustelle an und dann schaun mer mal ☺

noisefloor Team-Icon

Ehemaliger
Avatar von noisefloor

Anmeldungsdatum:
6. Juni 2006

Beiträge: 28316

Hallo,

wenn sich wirklich so gut wie alles komplett ändert ist IMHO Archiv + neuer Artikel besser.

Gruß, noisefloor

Matthias Team-Icon

Avatar von Matthias

Anmeldungsdatum:
25. Juni 2006

Beiträge: 1257

So, jetzt habe ich das HowTo fertig übersetzt. Es hat sich viel geändert und es ist auch eine Menge hinzugekommen. Ich würde vorschlagen die vier Jahre alte Version zu archivieren.

Antworten |