e2b schrieb:
Vielen Dank trotzdem schonmal für deine Mitarbeit.
Du schreibst manchmal die Zuweisung der Umgebungsvariable sowie die Initialisierung von Prevu in eine Zeile, manchmal schreibst du aber die beiden "Befehle" in getrennte Zeilen. Was ist den nun richtig?
Ich muss es noch genau ausprobieren, aber die Scripte prevu, prevu-update und prevu-init werten die Umgebungsvariable DIST aus. DIST bestimmt das Ziel für das der Backport erstellt wird. Schreibt man DIST=<Ubuntu-Version> prevu...
dann gilt die Umgebungsvariable nur für diese eines Zeile und damit auch nur für diesen einen Befehl. Gebe ich DIST=<Ubuntu-Version>
in einer separaten Zeile ein, dann gilt die Zuweisung solange bis DIST einen anderen Wert zugewiesen bekommt oder das Terminalfenster wieder geschlossen wird.
Möchte man dauerhaft für eine anderes Ziel als der eigenen Ubuntu-Version arbeiten kann man also DIST einmalig in einer Zeile einen Wert zuweisen, dann darf man das aber nicht vergessen. Es wird zwar bei der Ausgabe der Scripte angezeigt für welche Version die jeweilige Aktion ausgeführt wird. Das ist aber nur eine Zeile und die ist schnell vorbeigehuscht. Die Angabe von DIST zusammen mit dem Befehl in einer Zeile ist sicherer weil man immer weiß für welche Ubuntu-Version der Befehl jeweils gilt, aber man muss es immer angeben und darf es nicht vergessen und es ist mehr Tipparbeit.
Ich wollte das mit den Beispielen verdeutlichen. Das gehört zwar eigentlich zum Artikel Umgebungsvariablen aber dort ist es nur ganz kurz am Ende erklärt und das auch nicht so richtig (finde ich). Für das Arbeiten mit prevu im Zusammenhang mit DIST ist es aber wichtig genau zu verstehen wie die Umgebungsvariable funktioniert.
Vielleicht sind meine Beispiele nicht besonders glücklich gewählt. Es steht zwar im Artikel das er ist für Fortgeschrittene ist aber ich bin der Meinung das man die Dinge über die (vermutlich) viele Leute stolpern werden so erklären sollte das sie sie verstehen.
Grüße aus Berlin
PS: Die Sache mit prevu <Paketname>/<Ubuntu-Version>
funktioniert erst ab Hardy (muss ich allerdings auch nochmal ausprobieren damit ich mir wirklich sicher sein kann)
PS2: Kommando zurück: Ich probiere gerade in meiner Intrepid VM einen Backport von ERIC für mein Gutsy zu erstellen.
Ich habe also DIST=gutsy sudo -E prevu-init
ausgeführt was auch funktioniert hat. Danach habe ich DIST=gutsy
eingegeben und mit echo $DIST
überprüft das die Umgebungsvariabel den richtigen Wert ("gutsy") hat uns schließlich prevu eric
.
Das hat allerdings nicht funktioniert. Der Fehler besagte sinngemäß das prevu nicht bereit ist und man DISTRO=intrepid sudo prevu-init
ausführen soll.
Das hat mich stutzig gemacht. DISTRO=gutsy
hat allerdings auch nicht funktioniert. Auch DISTRO=gutsy prevu eric
funktioniert nicht. Nur DIST=gutsy prevu eric
funktioniert.
Warum DIST=gutsy
und danach prevu eric
als zwei getrennte Befehle nicht funktioniert DIST=gutsy prevu eric
jedoch schon ist mir nicht klar. Allerdings sollte man den Fehler melden das er Fehlermeldungstext beim Aufrufen von prevu (ohne das vorher prevu-init aufgerufen wurde) angepasst werden muss. Nicht DISTRO=<Ubuntu-Version> sudo previ-init sondern DIST=<Ubuntu-Version> sudo -E prevu-init muss ausgegeben werden. Nachtrag: Wie ich sehe ist das schon passiert (siehe https://launchpad.net/ubuntu/+source/prevu die Version 1:0.5.1-0ubuntu1)
Ich werde gleich mal den Artikel abändern.