[Howto] Genera pacchetti software e derivati ​​Arch Linux

Una delle cose che mi piacciono di più di Arch Linux e dei suoi derivati ​​è il file enorme facilità per creare pacchetti da installare successivamente sul sistema, a differenza di quelli conosciuti . Deb di Debian / Ubuntu / Linux Mint / ecc che è un caos (e se sono librerie non te lo dico nemmeno).

Un modello di base sarebbe questo:

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

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

Ora spiegherò ogni parametro:

  • # Manutentore: In esso è inserito il nome del manutentore del pacchetto
  • nomepacchetto: Il nome del pacchetto. Può contenere solo lettere, numeri, -, _ e +
  • pkver: versione del pacchetto. pe 1.0.0
  • pacchetto: revisione del programma o del pacchetto. pe 1
  • pacchettodesc: descrizione del pacchetto.
  • arco: l'architettura del programma: può essere qualsiasi (per tutti), i686 e x86_64, essendo qualsiasi per i pacchetti che non richiedono compilazione, come i programmi in bash o python. Se è un programma che ne ha bisogno (ad esempio, programmi in C o C ++), è necessario indicare i686 se è per 32 bit o x86_64 per 64 bit. In generale, se è compatibile con entrambi, viene impostato (i686, x86_64)
  • URL: l'url alla pagina ufficiale del programma. Si consiglia di metterlo.
  • licenza: la licenza del programma. ad esempio GPL3
  • gruppi: i gruppi a cui appartiene il pacchetto. gruppi = ('sistema')
  • dipende: in esso indichiamo i pacchetti necessari per l'esecuzione del programma. pependens = ('python2' 'pygtk')
  • dipende: le dipendenze necessarie solo per compilare il pacchetto. Se il codice deve essere scaricato da un gestore di versioni, è consigliabile inserirlo. pe: makedepends = ('git')
  • fonte: in esso indichiamo i file necessari alla creazione del pacchetto. Come regola generale, è l'URL del pacchetto che contiene il codice, una patch, un file .desktopt, icone, ecc. pe: source = (pacsyu.desktop)
  • somme md5: ecco le somme md5 dei file indicati in source. Per sapere quali eseguiamo da un terminale nella cartella in cui si trova il PKGBUILD (dopo aver scritto i percorsi dei file nel sorgente) makepkg -g e le somme appariranno sullo schermo.
    È anche possibile utilizzare altre somme come sh1.
  • costruire: in questa funzione metteremo il file comandi necessari per procedere alla compilazione del software. Se non è necessario compilare è necessaria solo la seguente funzione)
  • pacchetto: in quest'altra funzione andranno i comandi di installazione del programma. Ad esempio, se stiamo compilando codice C qui, il make install andrebbe.

E per finire non ci resta che eseguire makepkg per verificare che il pacchetto venga generato.
Come puoi vedere, è difficile per noi. Quindi vi lascio con alcuni parametri extra di confezione:

  • -io: Indica a makepkg di installare il pacchetto dopo che è stato creato.
  • -S: Installa le dipendenze del pacchetto se si trovano nei repository.
  • -F: Se esiste già un pacchetto con quel nome, versione e revisione con questo parametro ti diciamo di sovrascriverlo.
  • -C: Pulisci le cartelle di lavoro (pkg e sorgente) una volta terminato.
  • -UN: Reimballare il pacchetto senza dover ricompilare.

Consiglio di vedere più file PKGBUILD per vedere più esempi, eseguire il comando makepkg -h per vedere il resto dei parametri del programma, oltre a vedere il file documentazione ufficiale di makepkg su Arch Linux Wiki cosa puoi trovare qui


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   jamin samuele suddetto

    Molto buona …

    Puoi fare in modo che un pacchetto .exe gestisca (compili) un pacchetto Arch?

    Come ad esempio il famoso download manager Mipony ??

    1.    corretto suddetto

      Per quanto ne so non è possibile, ricorda che i file .exe sono binari e non codice sorgente. Ma c'è JDownloader.

    2.    v3on suddetto

      qualcuno usa Linux e manca Myponi… jijijijiji

      jDownloader è in java, ed è ben noto a tutti che java provoca il cancro ai polmoni ...

  2.   latteo28 suddetto

    interessante, dovremmo testare i pacchetti penso che sarò propenso a fare quello da qbittorrent hahaha esiste già in te ma avere una tua versione non sarà male da testare, grazie per le informazioni, saluti.

  3.   msx suddetto

    Buon input, +1
    Voglio aggiungere che sono anche più facili da creare e mantenere rispetto agli ebuild di Gentoo!

    Per quanto riguarda Debian, penso che questa distro aumenterebbe enormemente il suo handicap semplicemente modernizzando o migrando a un pacchetto e un sistema di gestione dei pacchetti più moderno, non so quando sarà l'ultimo aggiornamento del set dpkg / apt ma il concetto dovrebbe già essere facilmente 15 anni e la verità è che oggi è anacronistico.

  4.   marcisce87 suddetto

    Grazie mille, solo di recente, lo cercavo nel wiki e non avevo capito la struttura (volevo aggiornare quello di PlayonLinux) ma ho comunque rinunciato ... ci sono cose in cui mi piacerebbe avere un assistente o qualcosa del genere (non spararmi) ma comunque ... in assenza di strumenti nel tempo vedrò se ne creo

    1.    msx suddetto

      Grazie alla tua guida ho iniziato a creare il PKGBUILD di Zeya (http://web.psung.name/zeya/), non appena lo finisco, lo carico su AUR 🙂

  5.   hypersayan_x suddetto

    a differenza del noto .deb di Debian / Ubuntu / Linux Mint / ecc, che è un casino

    Totalmente d'accordo, tempo fa ho provato a creare un pacchetto per Ubuntu ed era impossibile per me trovare informazioni comprensibili su come realizzarne uno, alla fine ho rinunciato e ho installato il programma più o meno.
    Lo stesso programma per Arch mi ha richiesto meno di 5 minuti per mettere insieme il pacchetto.
    E non ne sono sicuro, ma penso che gli RPM siano leggermente più facili da fare rispetto ai DEB, ma più difficili di Arch.

  6.   hacker775 suddetto

    Molto buono e facile, e per quanto riguarda il .deb non è poi così difficile, beh quello per iOS

    saluti

  7.   Carlos suddetto

    Penso che questo mi sarebbe servito qualche tempo fa quando ho caricato il mio primo PKGBUILD su AUR 🙂

  8.   clerafel suddetto

    Qualcuno può dirmi di cosa si tratta, sono nuovo e non so se questo mi aiuta a installare un pacchetto .deb ma localmente in manjaro, un gioco per la precisione. Sì funziona?