Archlinux: créer des packages multiplateformes et à partir de packages .deb

Il y a environ un an, j'ai expliqué comment créer des packages pour Archlinux. Eh bien, aujourd'hui, je vais vous expliquer comment les créer à partir de packages . Deb, ceux utilisés dans Debian / Mint / Ubuntu / etc.
Cet article est survenu après avoir lu une question de l'utilisateur dans le forum jorgegc parce que je n'ai pas pu installer un package d'AUR, principalement parce qu'il est obsolète et utilisé une version interrompu du PKGBUILD (heureusement, j'ai déjà créé des packages de cette manière), je vais également expliquer comment créer des packages de programmes qui nécessitent Bibliothèques 32 bits, du code fermé o déjà compilé et qu'il a différents packages à télécharger.

La base du PKGBUILD est la même, avec quelques modifications seulement.
Le premier changement sera l'utilisation d'une phrase si elif par Bash


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

Dans cet exemple, une variable a été définie qui sera utilisée ultérieurement pour modifier le URL où est le package (dans ce cas, l'architecture du package à télécharger).
De plus, selon l'architecture, le Sommes MD5 nous allons donc les remplacer par les correspondants.

Lorsque vous utilisez makepkg -g pour générer le MD5sommes Cela ne générera que celle correspondant à l'architecture que vous utilisez. Pour connaître la somme MD5 de l'autre package, téléchargez-le et utilisez la commande md5sum file.deb connaître le vôtre

Enfin, nous voyons que dans l'exemple, nous modifions les dépendances. Dans certains programmes 64 bits, il est nécessaire d'installer Versions 32 bits de certaines bibliothèques nous devons donc les indiquer. S'ils ne sont pas nécessaires, définissez simplement la variable de la manière habituelle.

Maintenant, pour les packages .deb, nous n'aurons besoin que des lignes suivantes dans la fonction paquet ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

Comme vous pouvez le voir, dans ce cas, nous n'avons besoin que de 3 lignes pour générer le package. Si quelque chose d'autre est nécessaire (par exemple, copier un fichier qui n'est pas fourni avec le package, ou en modifier le contenu), il vous suffit de le mettre comme avec n'importe quel autre package.

La même chose pourrait s'appliquer (avec quelques modifications) si au lieu d'un .deb nous allons utiliser des packages rpm ou d'autres types de colis. La fonction construire () n'est pas nécessaire, nous n'avons donc pas besoin de l'ajouter.

Et voila, nous avons déjà un package multilib ou créé à partir d'un package deb prêt à l'emploi.
J'espère que vous l'aimez et que cela m'a bien expliqué 😀


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.   ulysse dit

    N'est-il pas plus simple d'utiliser checkinstall?

  2.   Luciano Lagassa dit

    Salut. J'ai quelques scripts bash. Un pour générer les dossiers et fichiers de base pour un package deb. Et le dernier à générer le package à partir de tous les fichiers et dossiers. Si vous êtes intéressé, je peux le partager.

    1.    jorgecg dit

      Bien sûr, ça m'intéresse ... du moins pour moi.

      Maintenant que je suis avec Manjaro, j'apprécie toutes les informations possibles.

  3.   jorgecg dit

    Comme vous êtes génial, partenaire.

    J'allais vous avoir dit dans le forum que si vous pouviez m'expliquer comment compiler des paquets .deb et je ne vous ai rien dit pour ne pas abuser de votre générosité…. et je vais sur la page et je vois que vous avez téléchargé un article expliquant l'ensemble du processus.

    Cela montre que vous êtes une personne généreuse.

    J'ai dit, tu es un crack.

    salutations

  4.   Anibal dit

    C'est un grand ami, une fois que j'ai essayé un logiciel dont je ne me souviens plus du nom qui a converti de .deb en .rpm, mais cela n'a pas bien fonctionné pour moi.

    Quelqu'un avec arch peut-il tester si ce logiciel est bien passé à rpm et que l'installation s'ouvre bien?

    http://www.justcloud.com/download/linux-64

    C'est pour sauvegarder dans le cloud, j'ai déjà payé depuis un moment et j'ai plus de 40gb dans le cloud =)

  5.   Inspiron dit

    Génial! Je me suis toujours dit qu'un jour je voulais faire un colis, même si c'est pour savoir comment c'est fait :).

    Dans ces types de messages, j'apprécierais la possibilité d'ajouter des entrées comme celle-ci dans les "favoris" sur mon compte.

    1.    chinois dit

      Tout à fait d'accord, je l'ai planté, mais rien 🙂
      Ce serait aussi bien de pouvoir suivre certains utilisateurs

  6.   Rabba dit

    Grand vieil homme, j'utilise manjaro depuis quelques jours et pour les études, je dois installer packet tracer de Cisco mais il n'a qu'un package .deb de la dernière version et le ke est dans AUR me donne toujours une erreur lors de la compilation, J'espère qu'avec ces étapes je pourrai l'installer car j'utilise de force linux mint, merci beaucoup

  7.   mitco dit

    pour voir si quelqu'un ose mettre dans AUR Multisystem

    dépend des bibliothèques deb qui ne sont pas dans arch

    Mais si cela fonctionne, sa fonction est de créer des clés USB multi ISO avec grub2 mieux qu'unetbootin qui n'en fait qu'une.

    Pour le moment, j'ai une ISO ubuntu à l'intérieur qui me permet d'ajouter des images si je veux en démarrant à partir de celle-ci sur l'USB lui-même

    mais si personne n'ose enregistrer mon billet

  8.   mitco dit

    Désolé, il existe déjà un multisystème, et je ne pense pas

    1.    mitco dit

      En multisystème ...

      mais fatresize puisque le yaourt donne des problèmes, et ils l'ont mis en option

  9.   cadres dit

    Super 😀 pour approuver avec "Purrr" un programme pour renommer des fichiers en masse.

  10.   Apr4xas dit

    Cordialement,

    Actuellement dans AUR, ils suppriment les paquets qui n'ont pas la fonction package (), comment puis-je savoir quelles lignes y mettre? C'est-à-dire que j'ai plusieurs paquets et je l'ai fait de cette façon mais je ne sais pas si ça va https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD ce que j'ai vraiment fait, c'est de passer ce qui était dans build () à package () mais comme je l'ai dit, je ne sais pas si ça va ... Pouvez-vous me donner vos commentaires et suggestions?

    Merci 😀

  11.   Azazel dit

    Merci pour les informations que je vais mettre en signet pour référence future.

  12.   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?

    Je cherche et ils me disent d'installer le paquet deb2targz mais j'obtiens une erreur lors de l'installation à partir du terminal, et puis je ne sais pas si cela peut être

    1.    ghermain dit

      La même chose m'arrive; J'ai besoin d'installer Kademar qui est basé sur Arch; quelques paquets que je reçois uniquement en .deb
      Est-ce que quelqu'un peut m'aider?

      1.    valdo dit

        Si vous voulez dire un échec dans l'installation de deb2targz, je viens de terminer l'installation avec la commande yaourt -S deb2targz. Bien sûr, dans ArchLinux.

  13.   Stockage cloud gratuit dit

    Message très instructif. Merci d'avoir partagé.

  14.   Angry Birds dit

    Bon message. Merci de partager cette information utile.

  15.   Applications pour PC dit

    Merci pour cet article utile. Cela va beaucoup aider.

  16.   Jacob dit

    salut, pouvez-vous laisser le script pour la conversion et comment l'utiliser? C'est que dans certaines parties ça déroute un peu, j'ai déjà le deb que je veux convertir et je sais que c'est possible car le google chrome d'AUR est un deb mais je ne sais pas comment faire "MAKEPKG SI" avec un autre deb 🙁