Hallo,
mir liegt C Quelltext in einem git Repo vor. Ich kann es Anpassen/Umstrukturieren wenn ich möchte.
Es soll aus dem Repo heraus rpm und dpkg erstellt werden können.
Da ich jahrelang nur Python gemacht habe, bin ich hier nicht auf der Höhe der Zeit.
Wie strukturiert man das git-Repo am besten?
Gibt es da etablierte Vorgaben, oder verscriptet das jeder auf seine eigene Weise?
Etwas die gleiche Frage habe ich gestellt:
https://stackoverflow.com/questions/51496251/create-rpm-dpkg-from-c
Gruß, Thomas
Thomas Güttler guettliml@thomas-guettler.de (Di 24 Jul 2018 12:30:16 CEST):
Es soll aus dem Repo heraus rpm und dpkg erstellt werden können.
Für meine eigenen Zwecke mache ich mir da gerne einen jeweils eigenen Branch, in den ich die Mainline dann merge. Hat den Vorteil, dass die Paketierungrelevanten Dinge halt beisammen sind und nicht den Hauptentwicklunszweig verschmutzen.
Und immer wieder, wenn ein neues Paket „geschnitten“ werden soll, dann wieder ein Merge in den debian bzw. RPM branch und dort das Paket machen.
Ob das Stand der Technik ist, weiß ich nicht.
-- Heiko
Hallo Heiko,
verschiedene Branches für dpkg/rpm? Ich kann das nicht mit Argumenten begründen, aber irgendwie fühlt sich das komisch an für mich.
Vielleicht finde ich noch die passenden Worte, dann melde ich mich.
Gruß,
Thomas
Am 25.07.2018 um 22:16 schrieb Heiko Schlittermann:
Thomas Güttler guettliml@thomas-guettler.de (Di 24 Jul 2018 12:30:16 CEST):
Es soll aus dem Repo heraus rpm und dpkg erstellt werden können.
Für meine eigenen Zwecke mache ich mir da gerne einen jeweils eigenen Branch, in den ich die Mainline dann merge. Hat den Vorteil, dass die Paketierungrelevanten Dinge halt beisammen sind und nicht den Hauptentwicklunszweig verschmutzen.
Und immer wieder, wenn ein neues Paket „geschnitten“ werden soll, dann wieder ein Merge in den debian bzw. RPM branch und dort das Paket machen.
Ob das Stand der Technik ist, weiß ich nicht.
-- Heiko
Hallo,
als notorischer Dünnbrettbohrer habe ich etwas hin und her überlegt, wie man mit geringstem Aufwand das löst.
Ich erstelle erst nur ein RPM. Die nötigen Infos dazu sind mit im git gespeichert. Das DPKG wird dann mit dem Tool "alien" erstellt. Das reicht in diesem Fall aus.
Alternative Lösungen, mit ggf noch weniger Aufwand sind willkommen.
Gruß, Thomas
Am 24.07.2018 um 12:30 schrieb Thomas Güttler:
Hallo,
mir liegt C Quelltext in einem git Repo vor. Ich kann es Anpassen/Umstrukturieren wenn ich möchte.
Es soll aus dem Repo heraus rpm und dpkg erstellt werden können.
Da ich jahrelang nur Python gemacht habe, bin ich hier nicht auf der Höhe der Zeit.
Wie strukturiert man das git-Repo am besten?
Gibt es da etablierte Vorgaben, oder verscriptet das jeder auf seine eigene Weise?
Etwas die gleiche Frage habe ich gestellt:
https://stackoverflow.com/questions/51496251/create-rpm-dpkg-from-c
Gruß, Thomas
Hallo,
Endlich mal ein Thema zu dem Ich etwas beitragen kann! Geschrieben habe ich auf der Liste noch nichts, aber lese schon seit etwa einem halben Jahr mit. Oder ganz Formal: Hallo in die Runde; Ich heiße Hannes und mag Linux.
Da Dünnbrettboren für dich eine Option ist, hier noch eine Empfehlung falls du ohnehin schon CMake als Build-Tool benutzt: CPack [1].
Benutzung ist relativ simpel, einfach ein paar Variablen hinten an die CMakeLists.txt hintendran und fertsch, Paket(e) aller Geschmacksrichtungen (deb, rpm, tar gz, ... [2]) werden dann mit
mkdir build && cd build cmake .. make # bis hierher Normaler Ablauf mit CMake make package # für CPack
direkt gebaut. Falls du CMake nicht als Buildsystem benutzt könnte man CPack zwar theoretsch auch Einsetzen, das habe ich aber noch nie probiert.
Aber auch CPack ist nicht frei von Fallstricken, wenn z.B. Dateien nicht mit dem install()-Kommando von CMake installiert werden übersieht CPack die gerne. Und ein weiterer großer Knackpunkt: Mit dem Verfahren bekommt man Pakete nicht auf z.B. Launchpad, weil dort ein Paketbau mit dh_make vorgeschrieben ist.
Beispiel zum Anschauen [3] habe ich unten drangepappt.
Grüße Hannes
[1]: https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/Packaging-With-CP... [2]: https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/PackageGenerators [3]: https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/examples/linux/DE...
Am 27.07.2018 um 15:50 schrieb Thomas Güttler:
Hallo,
als notorischer Dünnbrettbohrer habe ich etwas hin und her überlegt, wie man mit geringstem Aufwand das löst.
Ich erstelle erst nur ein RPM. Die nötigen Infos dazu sind mit im git gespeichert. Das DPKG wird dann mit dem Tool "alien" erstellt. Das reicht in diesem Fall aus.
Alternative Lösungen, mit ggf noch weniger Aufwand sind willkommen.
Gruß, Thomas
Am 24.07.2018 um 12:30 schrieb Thomas Güttler:
Hallo,
mir liegt C Quelltext in einem git Repo vor. Ich kann es Anpassen/Umstrukturieren wenn ich möchte.
Es soll aus dem Repo heraus rpm und dpkg erstellt werden können.
Da ich jahrelang nur Python gemacht habe, bin ich hier nicht auf der Höhe der Zeit.
Wie strukturiert man das git-Repo am besten?
Gibt es da etablierte Vorgaben, oder verscriptet das jeder auf seine eigene Weise?
Etwas die gleiche Frage habe ich gestellt:
https://stackoverflow.com/questions/51496251/create-rpm-dpkg-from-c
Gruß, Thomas
Am 27.07.2018 um 18:55 schrieb Hannes T.:
Hallo,
Endlich mal ein Thema zu dem Ich etwas beitragen kann! Geschrieben habe ich auf der Liste noch nichts, aber lese schon seit etwa einem halben Jahr mit. Oder ganz Formal: Hallo in die Runde; Ich heiße Hannes und mag Linux.
Da Dünnbrettboren für dich eine Option ist, hier noch eine Empfehlung falls du ohnehin schon CMake als Build-Tool benutzt: CPack [1].
Benutzung ist relativ simpel, einfach ein paar Variablen hinten an die CMakeLists.txt hintendran und fertsch, Paket(e) aller Geschmacksrichtungen (deb, rpm, tar gz, ... [2]) werden dann mit
mkdir build && cd build cmake .. make # bis hierher Normaler Ablauf mit CMake make package # für CPack
direkt gebaut. Falls du CMake nicht als Buildsystem benutzt könnte man CPack zwar theoretsch auch Einsetzen, das habe ich aber noch nie probiert.
Aber auch CPack ist nicht frei von Fallstricken, wenn z.B. Dateien nicht mit dem install()-Kommando von CMake installiert werden übersieht CPack die gerne. Und ein weiterer großer Knackpunkt: Mit dem Verfahren bekommt man Pakete nicht auf z.B. Launchpad, weil dort ein Paketbau mit dh_make vorgeschrieben ist.
Danke für die Infos. Aktuell habe ich einen Weg, aber beim nächsten mal kann ich einen Blick auf CPack werfen.
Gruß, Thomas
lug-dd@mailman.schlittermann.de