Gibt es ein Equivalent zu den PKGBUILDs für Debian?
PKGBUILD Equivalent
![]() Anmeldungsdatum: Beiträge: 172 |
|
Supporter
![]() Anmeldungsdatum: Beiträge: 52312 |
Jein. Der Paketbau unter Debian ist "leicht" komplizierter und die Konfiguration wird hier über mehrere Dateien geregelt. |
Ehemalige
Anmeldungsdatum: Beiträge: 7723 |
Hi Danton, und hier der Grundlagenartikel in unserem Wiki: Grundlagen der Paketerstellung Gruss Lasall |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 172 |
Kann mir jemand bitte einen vergleich zum PKGBUILD System gegenüber dem Debian Package System, was habe gegenüber Pacman zu beachten? EDIT: Habs nun geschafft (mal abgesehen vom Signieren)und habe es auch geschafft das ganze so weit zu automatisieren das ich den debian Ordner für jedes Release verwenden kann und die build Scripts unabhängig vom Paketbau-System zu verwenden sind (ich baue das Programm für Arch und für Debian). Doch man mir jemand die Unterschiede zwischen den beiden Paket Systemen erklären und erklären warum es so ist? |
Ehemalige
Anmeldungsdatum: Beiträge: 7723 |
Hi Danton, du schriebst:
Siehe die Manpage von debsign.
Warum das so ist? - Ich zitiere aus Wikipedia zu Arch Linux:
Kurz: Die Philosophie ist anders. Auf der einen Seite KISS und auf der anderen Seite ein komplexes hochkonfigurierbares Buildsystem. Die Unterschiede zwischen ABS und dem Debian build toolchain sind bezogen auf die Erstellung von einzelnen Quellpaketen unter anderem Folgende:
Tl;dr, Fazit: Das Debian build toolchain ermöglicht einen erheblichen Einfluss des Maintainers auf den Build/Installationsprozess, wie es mit dem ABS nicht oder nur mit erheblichen Aufwand möglich ist. Ich sehe die User Experience mit dem Debian-Ansatz deutlich besser vertreten, zudem sind die einzelnen Schritte/Tools/Systeme sehr gut dokumentiert. Gruss Lasall |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 172 |
Changelogs hat Pacman auch und sind nicht erforderlich genauso wie bei Debian auch (habe erst mal keine eingesetzt)
Das mag sein diese helfen auch nicht das Distrubtion Spezifische zu umgehen und es zu automatisieren. Ich habe diesen Prozess so weit es geht von diesen Systemen abgeschirmt und in Scripte gepackt so das dass meiste Distrubtion unspezifisch ist (mal abgesehen von den Paketinformationen im Kopf der PKGBUILD bzw in debian/control).
Wie kann ein Maintainer schlechter einen Einfluss auf den Build/Installationsprozess nehmen wenn er das ABS nutzt?
Wo durch?
Das ABS ist auch sehr gut Dokumentiert und ermöglicht dem User viel einfacher Pakete zu bauen etwas was auch bei unerfahrenen User sehr von Vorteil sein kann, ich meine so schlau bin ich auch nicht ich bin auch nur eine Schüler in der ITA Ausbildung und finde das Arch gerade bei solchen Dingen viel einfacher ist da es simpler ist.
Grüße Auch Bearbeitet von Lasall: Fullquote der besseren Lesbarkeit halber entfernt. |
Ehemalige
Anmeldungsdatum: Beiträge: 7723 |
Hi Danton, du schriebst:
Sie sind im ABS nicht erforderlich. Bei Debian sind sie es nach der Policy. Man kann Debianpakete auf verschiedene Art und Weise erstellen (z.B. auch direkt aus der Verzeichnisstrukutr), ich spreche nur von der Policy konformen Variante.
Hooks und Trigger sind sehr wohl distributionsspezifisch.
Z.B.: debconf
Dadurch, dass der Debianmaintainer nicht nur die Upstreamsoftware paketiert, sondern das Paket passend für die Distribution anpasst (und zwar in einer Weise, die nicht dem KISS Prinzip entspricht): Konfiguration, Flags, Abhängigkeiten, debconf, Trigger, usw.
Ich habe nicht ausgeschlossen, dass das ABS gut dokumentiert ist (ist ja nicht so viel zum Dokumentieren 😉 ). Gruss Lasall |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 172 |
Was meinst du hier mit?
Abhängigkeiten und Optionale Pakete kann das ABS auch (und sind auch bei 99% der Pakete vorhanden) , bei Konfigurations-Dateien überschreibt dieses die alten (meist) nicht sondern installiert diese mit dem .pacnew bzw. pacsave (nur in Sonderfällen). Bearbeitet von Lasall: Fullquote der besseren Lesbarkeit halber entfernt. |
Ehemalige
Anmeldungsdatum: Beiträge: 7723 |
Hi Danton, du schriebst:
Hooks sind die Maintainerskripte vor/nach/mitten Installation und Deinstallation (Entpacken und Konfigurieren). Trigger sind Aktionen (postinst-Skripte), die ausgeführt werden, wenn ein oder mehrere bestimmtes Verzeichnisse verändert werden. Trigger können vom Maintainer erzwungen werden.
Komplexe Abhängigkeiten sind mit der Paketverwaltung von Arch nicht möglich, Stichwort "Logische Operatoren". Btw.: Bitte verwende keine Fullquotes. Gruss Lasall |
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 172 |
Das kann das ABS auch PKGBUILD
Ok das mag sein obwohl || oder && in den Abhängigkeiten schön wären und nicht wirklich nicht KISS wären. BTW: Es gibt für Pakete im ABS auch Guidlines. |
Ehemalige
Anmeldungsdatum: Beiträge: 7723 |
Hi Danton, du schriebst:
Jein und nein. Die Hooks müssen beim PKGBUILD immer manuell geschrieben werden. Und die Trigger werden immer von dritten Pakete ausgeführt. Gruss Lasall |