Makepkg (Italiano)

From ArchWiki

Jump to: navigation, search


i18n
English
Italiano
Ελληνικά
简体中文
Русский

makepkg è usato per compilare i nostri pacchetti per poterli usare con Pacman. Usa uno script-base sviluppato su un sistema che può scaricare e verificare i sorgenti dei file, controllare le dipendenze, configurare le impostazioni, creare un pacchetto, installare il pacchetto in una radice temporanea, personalizzare i pacchetti. Come si può vedere makepkg ha molte caratteristiche, le caratteristiche base vengono descritte di seguito.

Contents

Prepararazione

ABS - The Arch Build System

Assicurati dapprima di avere tutti gli strumenti necessari per avviare abs/makepkg e, quindi, compilare il software dai sorgenti:

pacman -Sy base-devel
pacman -S abs

Rispondi 'S' oppure premi Invio.

A questo punto potresti lanciare abs per ottenere tutti i PKGBUILD e i file associati da cui i pacchetti originali di Arch sono stati costruiti:

abs

Ciò ricreerà la CVS hierarchy sotto /var/abs sul tuo hard disk. Per default alcuni repository sono disabilitati; prima dovrai modificare /etc/abs/abs.conf e rimuovere i punti esclamativi.

Dato che /var/abs è normalmente di proprietà dell'utente root (è parte del pacchetto 'filesystem') e la maggior parte delle persone e delle guide presumono di costruire tali pacchetti in /var/abs/local, hai bisogno di permettere al tuo utente di accedervi:

groupadd abs
gpasswd -a $USER abs
chown root:abs /var/abs/local
chmod 775 /var/abs/local

Makepkg

Se vuoi poter installare le dipendenze con makepkg senza essere super-utente (il comando è makepkg -s, vedi sotto) devi installare sudo ed aggiungere il tuo utente al file /etc/sudoers aggiungendo questa riga:

NOME_UTENTE    ALL=(ALL)    NOPASSWD: /usr/bin/pacman

La riga sopra farà in modo che non venga richiesta la password quando usate pacman. Leggi la pagina di Sudo per informazioni dettagliate.

Adesso dovresti decidere dove salvare i pacchetti che hai generato, per esempio puoi salvarli in una sottocartella dedicata all'interno della tua home. Saltando questo passaggio makepkg salva i pacchetti appena crati nella cartella in cui ti trovavi quando lo hai lanciato.

Per creare la cartella:

mkdir /home/$USER/packages

Adesso modifica la variabile PKGDEST in /etc/makepkg.conf inserendo il percorso alla cartella che hai appena creato.

Visto che ci sei, potresti anche dare un'occchiata alle altre variabili presenti in makepkg.conf. Per esempio, puoi modificare PACKAGER, o togliere il ! che è davanti docs nella riga OPTIONS, nel caso in cui tu non voglia che makepkg cancelli la cartella /usr/share/doc/<package>. Per maggiori informazioni makepkg.conf(5).

Compilare un Pacchetto

Per compilare un pacchetto puoi:

Dovresti prestare attenzione ai pacchetti che prendi, e da chi sono stati fatti.

Ipotizziamo che hai trovato un ottimo pacchetto su AUR che vuoi compilare e installare ( in questo esempio useremo "rufus", un client bittorrent basato su Python ). Puoi ottenere il PKGBUILD e tutti i file necessari dalla sua pagina in AUR, clicca su link "Tarball".

cd /percorso/del/file
tar -zxf rufus.tar.gz
cd rufus

Noterai molti file in questa directory, compreso il PKGBUILD, uno script utilizzato per compilare il tuo pacchetto. Per compilare il pacchetto dai (come utente normale):

makepkg

questo comando configura, scarica e prova a compilare il pacchetto, inoltre se non hai tutte le dipendenze installate makepkg ti avvertira' prima di fallire la compilazione. Per compilare e installare le dipendenze usa il comando:

makepkg -s

Nota bene: queste dipendenze devono essere nei repository che hai configurato, altrimenti puoi scaricare i pacchetti utilizzando pacman -Sy dep1 dep2 etc.

Quando hai soddisfatto tutte le dipendenze e il tuo pacchetto e' stato compilato correttamente avrai un file chiamato rufus-0.7.0-1.pkg.tar.gz nella directory da dove hai lanciato makepkg . Per installarlo dai da root:

pacman -U rufus-0.7.0-1.pkg.tar.gz

Installazione direttamente dal solo PKGBUILD

A volte, abbiamo a disposizione solo un PKGBUILD preso da un sito qualsiasi. In questo caso, meglio utilizzare il comando

$ makepkg -p <file>

Congratulazioni! Hai appena installato il tuo pacchetto!

Link Utili

Personal tools