Come creare un profilo di portage personale in Gentoo

Ciao a tutti!

Oggi vi parlerò, come da titolo, di come creare un proprio profilo in emerge. Probabilmente avrete giò installato Gentoo seguendo l’ottima guida sul Gentoo Handbook, come ho fatto io ad esempio, o qualche altra guida, ma in ogni caso sarete capitati nel dover dare l’eselect profile list.

Nel mio caso avevo dato desktop/plasma/systemd, in modo appunto da avere plasma, ma poi mi sono accorto che per il mio PC non volevo il multilib, così mi sono ingegnato per creare un profilo adatto a me che avesse sì plasma e systemd, ma senza il multilib, di cui personalmente non me ne faccio nulla.

Da dove partire

Bene, dopo la premessa, partiamo!

Per prima cosa andremo a creare il file /etc/portage/repos.conf/local.conf e dentro metteremo il seguente codice:

[local]
location = /var/db/repos/local

Esso indicherà ad emerge dove andare a cercare le impostazioni necessarie.

In seguito andremo a creare la cartelle /var/db/repos/local/metadata e /var/db/repos/local/profiles

# mkdir -p /var/db/repos/local/metadata
# mkdir -p /var/db/repos/local/profiles/nomulti # Rinominate nomulti a piacere

Entrate in /var/db/repos/local/metadata e create un file layout.conf, nel quale andremo a scrivere:

masters = gentoo
profile-formats = portage-2

Questo indica a portage di usare come profilo base quello di gentoo e che quindi non è un repository a se. Fatto questo entrate dentro ../profiles e create i file profiles.desc e repo_name.

In profiles.desc inserite il seguente codice

amd64 nomulti stable # Al posto di nomulti indicate il nome che avete usato prima per la cartella

E in repo_name

local

Entrate nella cartella nomulti e create i files EAPI e parents. In EAPI dovrete scrivere unicamente 7!

Nel file parent invece andrete a scrivere quali sono i profili che volete “fondere” per create il vostro profilo personale, nel mio caso sono:

gentoo:default/linux/amd64/17.1/desktop/plasma/systemd
gentoo:default/linux/amd64/17.1/no-multilib

CONSIGLIO: indicate i profili nell’ordine che vengono presentati su eselect, quindi prima desktop/plasma/systemd e poi no-multilib!

E ora?

Ora lanciate il comando eselect profile list, se avete fatto tutto bene vi comparirà in fondo del tutto un nuovo profilo, quindi date il comando eselect profile set xy (nel mio caso è 36). Voilà, nuovo profilo creato!

Mi raccomando! Se passate da un profilo multilib a uno no-multilib (o viceversa) date il seguente comando! FONDAMENTALE!

# emerge --sync && emerge -v1 glibc && emerge -v1 gcc && emerge -v1 libtool && emerge -vuDN @world

Questo perché nel passaggio da multilib a no-multilib se non compilate per primi gcc, glibc e libtool sandbox fallirà nella sua compilazione e sappiamo benissimo (lo sappiamo?) che sandbox è fondamentale per portage.

Conclusioni

Bene, ora che avete il vostro profilo creato secondo le vostre esigenze! Fatemi sapere nei commenti com’è andata, eventuali dubbi o problemi riscontrati. Ciao!

NDR: Passare dal multilib a no-multilib è semplice, l’inverso no.

Rispondi