[Comment] Générer des progiciels et dérivés Arch Linux

L'une des choses que j'aime le plus dans Arch Linux et ses dérivés est le formidable facilité pour créer des packages à installer ultérieurement sur le système, contrairement à ceux connus . Deb de Debian / Ubuntu / Linux Mint / etc c'est un chaos (et si ce sont des bibliothèques, je ne vous le dis même pas).

Un modèle de base serait le suivant:

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

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

Maintenant, je vais expliquer chaque paramètre:

  • # Mainteneur: On y met le nom du mainteneur du paquet
  • nom_paquet : Le nom du package. Il ne peut contenir que des lettres, des chiffres, -, _ et +
  • pkver : version du package. pe 1.0.0
  • pkgrel : examen du programme ou du package. pe 1
  • pkgdesc : description du paquet.
  • cambre: l'architecture du programme: il peut s'agir de any (pour tout le monde), i686 et x86_64, étant quelconque pour les paquets qui ne nécessitent pas de compilation, comme les programmes bash ou python. Si c'est un programme qui en a besoin (par exemple, des programmes en C ou C ++), vous devez indiquer i686 si c'est pour 32 bits ou x86_64 pour 64 bits. En général, s'il est compatible avec les deux, il est défini (i686, x86_64)
  • url: l'url de la page officielle du programme. Il est conseillé de le mettre.
  • licence: la licence du programme. par exemple GPL3
  • groupes: les groupes auxquels appartient le package. groupes = ('système')
  • dépend: nous y indiquons les paquets nécessaires à l'exécution du programme. pependens = ('python2' 'pygtk')
  • la marque dépend : les dépendances qui ne sont nécessaires que pour compiler le package. Si le code doit être téléchargé depuis un gestionnaire de versions, il est conseillé de le mettre. pe: makedepends = ('git')
  • la source: nous y indiquons les fichiers nécessaires à la création du package. En règle générale, c'est l'url du package qui contient le code, un patch, un fichier .desktopt, des icônes, etc. pe: source = (pacsyu.desktop)
  • md5sums : voici les sommes md5 des fichiers indiqués dans la source. Pour savoir lesquels nous exécutons à partir d'un terminal dans le dossier où se trouve PKGBUILD (après avoir écrit les chemins des fichiers dans la source) makepkg -g et les sommes apparaîtront à l'écran.
    Il est également possible d'utiliser d'autres sommes comme sh1.
  • construire: dans cette fonction nous mettrons le commandes nécessaires pour procéder à la compilation du logiciel. S'il n'est pas nécessaire de compiler, seule la fonction suivante est nécessaire)
  • package: dans cette autre fonction, les commandes d'installation du programme iront. Par exemple, si nous compilons du code C ici, le make install ira.

Et pour finir, il suffit d'exécuter makepkg pour vérifier que le package est généré.
Comme vous pouvez le voir, c'est difficile pour nous. Ensuite, je vous laisse avec quelques paramètres supplémentaires de makepkg :

  • -je: Demande à makepkg d'installer le package après sa création.
  • -s : Installez les dépendances de package si elles se trouvent dans les référentiels.
  • -F: S'il existe déjà un package avec ce nom, cette version et cette révision avec ce paramètre, nous vous demandons de l'écraser.
  • -c : Nettoyez les dossiers de travail (pkg et source) une fois terminé.
  • -R : Reconditionnez le package sans avoir à recompiler.

Je recommande de voir plus de fichiers PKGBUILD pour voir plus d'exemples, exécutez la commande makepkg -h pour voir le reste des paramètres du programme, en plus de voir le documentation officielle de makepkg sur Arch Linux Wiki que peux-tu trouver ici !


14 commentaires, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   jamin samuel dit

    Trop bien …

    Pouvez-vous faire gérer (compiler) un package .exe vers un package Arch?

    Comme par exemple le célèbre gestionnaire de téléchargement Mipony ??

    1.    correct dit

      Pour autant que je sache, ce n'est pas possible, rappelez-vous que les .exe sont des binaires et non du code source. Mais il y a JDownloader.

    2.    v3on dit

      quelqu'un utilise Linux et manque Myponi… jijijijiji

      jDownloader est en java, et il est bien connu de tous que java cause le cancer du poumon ...

  2.   laiteux28 dit

    intéressant, il faudrait tester des packages je pense que je serai enclin à faire celui de qbittorrent hahaha il existe déjà à yaourt mais avoir sa propre version ne sera pas mal à tester, merci pour les informations, salutations.

  3.   msx dit

    Bonne entrée, +1
    Je veux ajouter qu'ils sont également plus faciles à créer et à maintenir que les ebuilds Gentoo!

    En ce qui concerne Debian, je pense que cette distribution augmenterait énormément son handicap simplement en modernisant ou en migrant vers un système de gestion de paquets et de paquets plus moderne, je ne sais pas quand la dernière mise à jour de l'ensemble dpkg / apt sera mais le concept devrait déjà ont facilement 15 ans et la vérité est qu'aujourd'hui est anachronique.

  4.   Pourritures87 dit

    Merci beaucoup, je l'ai récemment cherché dans le wiki et je n'avais pas compris la structure (je voulais mettre à jour celui de PlayonLinux) mais j'ai quand même abandonné ... il y a des choses dans lesquelles j'aimerais avoir un assistant ou quelque chose comme ça (ne me tire pas dessus) mais quand même ... en l'absence d'outils avec le temps je verrai si j'en crée

    1.    msx dit

      Grâce à votre guide, j'ai commencé à créer le PKGBUILD de Zeya (http://web.psung.name/zeya/), dès que je le termine, je le télécharge sur l'AUR 🙂

  5.   hypersayan_x dit

    contrairement au .deb bien connu de Debian / Ubuntu / Linux Mint / etc qui est un gâchis

    Tout à fait d'accord, il y a quelque temps, j'ai essayé de créer un package pour Ubuntu et il m'était impossible de trouver des informations compréhensibles sur la façon d'en créer un, à la fin j'ai abandonné et installé le programme à peu près.
    Le même programme pour Arch m'a pris moins de 5 minutes pour assembler le package.
    Et je ne suis pas sûr, mais je pense que RPM est légèrement plus facile à faire que DEB, mais plus difficile que Arch.

  6.   pirate informatique775 dit

    Très bien et facile, et comme pour le .deb ce n'est pas si difficile, enfin que pour iOS

    salutations

  7.   Carlos dit

    Je pense que cela m'aurait servi il y a quelque temps lorsque j'ai téléchargé mon premier PKGBUILD sur AUR 🙂

  8.   Clerafel dit

    Quelqu'un peut-il m'expliquer ce que c'est, je suis nouveau, et je ne sais pas si cela m'aide à installer un paquet .deb mais localement dans manjaro, un jeu pour être exact. Oui cela fonctionne?