Makepkg (Italiano)

From ArchWiki

Jump to: navigation, search
Summary
Piccola presentazione dell'utility ufficiale per creare pacchetti in Arch Linux.
Related
Arch Build System (Italiano)
Arch User Repository (Italiano)
Creating Packages (Italiano)
makepkg.conf (Italiano)
pacman (Italiano)
PKGBUILD (Italiano)
Risorse
AUR
makepkg(8) Manual Page

makepkg è usato per compilare i nostri pacchetti per poterli usare con Pacman. Usa uno script di 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.

makepkg è incluso nel pacchetto pacman.

Contents

Configurazione

/etc/makepkg.conf è il principale file di configurazione di makepkg. La maggior parte degli utenti vorrà personalizzare il file di configurazione di makepkg prima di iniziare a compilare qualsiasi pacchetto. (Ad esempio, impostare le variabili MAKEFLAGS per sistemi SMP in modo da ottenere una riduzione dei tempi di compilazione, oppure modificare la variabile PACKAGER per personalizzare i pacchetti.) Consultare makepkg.conf per maggiori informazioni in merito.

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 creati nella cartella in cui ti trovavi quando lo hai lanciato.

Per creare la cartella:

$ mkdir /home/$UTENTE/packages

Adesso sarà necessario modificare la variabile PKGDEST in /etc/makepkg.conf inserendo il percorso della cartella appena creata.

fakeroot

fakeroot dà semplicemente i permessi ad un utente normale di creare dei pacchetti nell'ambiente di compilazione senza poter modificare il sistema in alcuno modo. Se il processo di compilazione tenta di fare delle modifiche esterne all'ambiente in cui viene compilato, il processo di compilazione verrà immediatamente interrotto - è un meccanismo molto utile per controllare la qualità\integrità\sicurezza dei PKGBUILD. Di default, fakeroot è abilitato tramite /etc/makepkg.conf; gli utenti possono disabilitare l'opzione anteponendo un ! nell'array BUILDENV.

Utilizzo

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

# pacman -S base-devel
Note: Prima di lamentarsi di eventuali mancanze di (make)dipendenze, ricordate che si assume che il gruppo di pacchetti "base" sia correttamente installato sul sistema. Il gruppo "base-devel" è fondamentale per poter compilare e creare pacchetti con makepkg.

Per creare un pacchetto, dovete innanzitutto creare un PKGBUILD, ossia uno script di compilazione, così come descritto in Creating Packages, oppure ottenerne uno dall'albero ABS, dall'AUR, o da altre fonti.

Warning: Compilate ed installate pacchetti solo da fonti sicure.

Una volta in possesso di un PKGBUILD, spostatevi nella cartella dove lo avete posizionato e usate il seguente comando per creare il pacchetto del questo stesso PKGBUILD contiente tutte le informazioni:

makepkg

Ciò configurerà, scaricherà e proverà a compilare il pacchetto; inoltre se non verranno rilevate tutte le dipendenze installate makepkg avvertirà di ciò prima di fallire la compilazione. Per compilare e installare le dipendenze sarà necessario il comando

makepkg -s

Nota bene: queste dipendenze devono essere nei repository che hai configurato: vedere pacman#Repositories per i dettagli; altrimenti si potrà scaricare i pacchetti utilizzando pacman -S dep1 dep2.

Quando saranno soddisfatto tutte le dipendenze e il vostro pacchetto sarà stato compilato correttamente, avremo creato un file pkgname-pkgver.pkg.tar.gz nella directory da dove avremo lanciato makepkg in precedenza. Per installarlo useremo il comando (da root)

# pacman -U pkgname-pkgver.pkg.tar.gz

Congratulazioni! Avete appena installato il pacchetto!

Link Utili

Personal tools