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