Zunächst die Titelfrage: Angenommen, das Debian-Verzeichnis ist bereits vorhanden, befinden Sie sich im Quellverzeichnis (dem Verzeichnis, das das Debian-Verzeichnis enthält) und rufen Sie dpkg-buildpackage auf. Ich möchte es mit folgenden Optionen ausführen:
dpkg-buildpackage -us -uc -nc
was bedeutet, nicht das Ergebnis unterschreiben und nicht reinigen.
Wie kann ich überprüfen, ob ich alle Abhängigkeiten korrekt aufgelistet habe?
Die Abhängigkeiten zu bekommen ist eine schwarze Kunst. Die "offizielle" Methode zum Überprüfen der Build-Abhängigkeit besteht darin, ob das Paket nur mit dem Basissystem, den "Build-Essential" -Paketen und den von Ihnen angegebenen Build-Abhängigkeiten erstellt wird. Ich kenne keine allgemeine Antwort für reguläre Abhängigkeiten, wate einfach rein :)
Wie kann ich verhindern, dass das Update-System bei einem Update die ältere Version im Repo installiert? Wie kann ich verhindern, dass das System eine neuere Version installiert (wenn diese nicht mehr verfügbar ist) und mein benutzerdefiniertes Paket überschreibt?
Mein Wissen ist in diesem Fall möglicherweise veraltet, aber um beides anzusprechen: Verwenden Sie dpkg --set-selections. Angenommen, nullidentd war das Paket, das Sie beibehalten und als root ausführen wollten
echo 'nullidentd hold' | dpkg --set-selections
Alternativ können Sie, da Sie aus dem Quellcode erstellen, eine Epoche verwenden , um die Versionsnummer künstlich hoch einzustellen, und nie wieder gestört werden. Um eine Epoche zu verwenden, fügen Sie der Debian / Changelog-Datei einen neuen Eintrag hinzu und setzen Sie ein 99: vor die Versionsnummer. In meinem nullidentd-Beispiel würde die erste Zeile Ihres aktualisierten Änderungsprotokolls lauten:
nullidentd (99:1.0-4) unstable; urgency=low
Bernards Link ist gut, besonders wenn Sie das Debian-Verzeichnis selbst erstellen müssen - hilfreich sind auch die Entwicklerreferenz und die allgemeine Ressourcenseite . Adams Link sieht auch gut aus, aber ich kenne ihn nicht.