[Howto] Generieren Sie Arch Linux-Softwarepakete und -Derivate

Eines der Dinge, die ich an Arch Linux und seinen Derivaten am meisten mag, ist das enorme Leichtigkeit um Pakete zu erstellen, die später auf dem System installiert werden sollen, im Gegensatz zu den bekannten . Deb von Debian / Ubuntu / Linux Mint / etc ist das ein Chaos (und wenn es sich um Bibliotheken handelt, sage ich es Ihnen nicht).

Eine Basisvorlage wäre folgende:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

Jetzt werde ich jeden Parameter erklären:

  • # Betreuer: Darin wird der Name des Betreuers des Pakets angegeben
  • Paketname: Der Name des Pakets. Es kann nur Buchstaben, Zahlen, -, _ und + enthalten
  • pkver: Paketversion. pe 1.0.0
  • Packungsinhalt: Überprüfung des Programms oder Pakets. pe 1
  • pkgdesc: Paketbeschreibung.
  • Bogen: Die Architektur des Programms: Es kann eine beliebige (für alle) sein, i686 und x86_64, und zwar für Pakete, die nicht kompiliert werden müssen, wie z. B. Bash- oder Python-Programme. Wenn es sich um ein Programm handelt, das es benötigt (z. B. Programme in C oder C ++), müssen Sie i686 angeben, wenn es sich um 32 Bit oder x86_64 um 64 Bit handelt. Wenn es mit beiden kompatibel ist, wird es im Allgemeinen festgelegt (i686, x86_64).
  • url: die URL zur offiziellen Seite des Programms. Es ist ratsam, es auszudrücken.
  • Lizenz: die Programmlizenz. zB GPL3
  • Gruppen: die Gruppen, zu denen das Paket gehört. Gruppen = ('System')
  • hängt davon ab: Darin geben wir die Pakete an, die für die Ausführung des Programms benötigt werden. pependens = ('python2' 'pygtk')
  • abhängig machen: die Abhängigkeiten, die nur zum Kompilieren des Pakets erforderlich sind. Wenn der Code von einem Versionsmanager heruntergeladen werden soll, ist es ratsam, ihn einzufügen. pe: makedepends = ('git')
  • Quelle: Darin geben wir die Dateien an, die für die Erstellung des Pakets erforderlich sind. In der Regel enthält die URL des Pakets den Code, einen Patch, eine Desktopt-Datei, Symbole usw. pe: source = (pacsyu.desktop)
  • md5sums: Hier sind die MD5-Summen der in der Quelle angegebenen Dateien. Um zu wissen, welche von einem Terminal in dem Ordner ausgeführt werden, in dem sich das PKGBUILD befindet (nachdem die Dateipfade in den Quellcode geschrieben wurden) makepkg-g und die Summen werden auf dem Bildschirm angezeigt.
    Es ist auch möglich, andere Summen wie sh1 zu verwenden.
  • bauen: In diese Funktion setzen wir die Befehle, die zum Kompilieren der Software erforderlich sind. Wenn es nicht notwendig ist, nur die folgende Funktion zu kompilieren, ist erforderlich)
  • Paket: In dieser anderen Funktion werden die Programminstallationsbefehle ausgeführt. Wenn wir zum Beispiel hier C-Code kompilieren, würde die make-Installation gehen.

Und um fertig zu werden, müssen wir nur noch ausführen makepkg um zu überprüfen, ob das Paket generiert wurde.
Wie Sie sehen, ist es für uns schwierig. Dann überlasse ich Ihnen einige zusätzliche Parameter von makepkg:

  • -ich: Weist makepkg an, das Paket nach seiner Erstellung zu installieren.
  • -S: Installieren Sie die Paketabhängigkeiten, wenn sie sich in den Repositorys befinden.
  • -F: Wenn es bereits ein Paket mit diesem Namen, dieser Version und dieser Version mit diesem Parameter gibt, empfehlen wir Ihnen, es zu überschreiben.
  • -C: Bereinigen Sie die Arbeitsordner (Paket und Quelle), sobald Sie fertig sind.
  • -EIN: Packen Sie das Paket neu, ohne es neu kompilieren zu müssen.

Ich empfehle, mehr PKGBUILD-Dateien anzuzeigen, um weitere Beispiele anzuzeigen. Führen Sie den Befehl aus makepkg -h um den Rest der Programmparameter zu sehen, zusätzlich zu den makepkg offizielle Dokumentation im Arch Linux Wiki was kannst du finden hier


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   jamin samuel sagte

    Sehr gut …

    Können Sie ein .exe-Paket dazu bringen, ein Arch-Paket zu verwalten (kompilieren)?

    Wie zum Beispiel der berühmte Download Manager Mipony ??

    1.    ordnungsgemäße sagte

      Soweit ich weiß, ist dies nicht möglich. Denken Sie daran, dass es sich bei der EXE-Datei um Binärdateien und nicht um Quellcode handelt. Aber es gibt JDownloader.

    2.    v3on sagte

      jemand benutzt Linux und vermisst Myponi… jijijijiji

      jDownloader ist in Java und es ist allen bekannt, dass Java Lungenkrebs verursacht ...

  2.   milchig28 sagte

    Interessant, wir müssten Pakete testen. Ich denke, ich werde geneigt sein, das von qbittorrent zu machen. hahaha existiert bereits in yaourt, aber eine eigene Version zu haben wird nicht schlecht zu testen sein, danke für die Informationen, Grüße.

  3.   MSX sagte

    Gute Eingabe, +1
    Ich möchte hinzufügen, dass sie auch einfacher zu erstellen und zu warten sind als Gentoo-Ebuilds!

    In Bezug auf Debian denke ich, dass diese Distribution ihr Handicap enorm erhöhen würde, wenn sie nur auf ein moderneres Paket und Paketverwaltungssystem modernisiert oder migriert würde. Ich weiß nicht, wann das letzte Update des dpkg / apt-Sets sein wird, aber das Konzept sollte es bereits sein haben leicht 15 Jahre und die Wahrheit ist, dass heute anachronistisch ist.

  4.   rots87 sagte

    Vielen Dank, ich habe ein wenig im Wiki danach gesucht und die Struktur nicht verstanden (ich wollte die PlayonLinux-Version aktualisieren), aber ich habe trotzdem aufgegeben ... es gibt Dinge, in denen ich gerne möchte Ich habe einen Assistenten oder ähnliches (erschieß mich nicht), aber trotzdem ... da ich im Laufe der Zeit keine Werkzeuge habe, werde ich sehen, ob ich welche erstelle

    1.    MSX sagte

      Dank Ihres Leitfadens habe ich begonnen, Zeyas PKGBUILD zu erstellen (http://web.psung.name/zeya/), sobald ich fertig bin, lade ich es auf die AUR 🙂 hoch

  5.   hypersayan_x sagte

    im Gegensatz zu der bekannten .deb von Debian / Ubuntu / Linux Mint / etc, die ein Chaos ist

    Völlig einverstanden, vor einiger Zeit habe ich versucht, ein Paket für Ubuntu zu erstellen, und es war mir unmöglich, verständliche Informationen darüber zu finden, wie man eines erstellt. Am Ende habe ich das Programm grob aufgegeben und installiert.
    Das gleiche Programm für Arch dauerte weniger als 5 Minuten, um das Paket zusammenzustellen.
    Ich bin mir nicht sicher, aber ich denke, RPM ist etwas einfacher als DEB, aber schwieriger als Arch.

  6.   Hackloper775 sagte

    Sehr gut und einfach, und was die .deb betrifft, ist es nicht so schwierig, auch nicht für iOS

    Grüße

  7.   Carlos sagte

    Ich denke, das hätte mir vor einiger Zeit geholfen, als ich mein erstes PKGBUILD auf AUR 🙂 hochgeladen habe

  8.   Clerafel sagte

    Kann mir jemand erklären, was es ist, ich bin neu und ich weiß nicht, ob mir das hilft, ein .deb-Paket zu installieren, aber lokal in Manjaro, einem Spiel, um genau zu sein. Ja es funktioniert?