Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

Accès à la 2° partie : Gentoo - MAO et overlay Proaudio arrow





1. Présentation

Gentoo est une distribution de Linux qui offre quelques originalités :

  • L'installation se fait à la main en suivant des documentations très précises et en français qui se trouvent sur le site http://www.gentoo.org (dans la partie Docs, choisir la rubrique french).
  • L'installation de base ne contient pas grand chose et donc vous n'installez que ce dont vous avez besoin au fur et à mesure au moyen d'une commande qui s'appelle emerge et qui nécessite que vous soyez connectés. La philosophie de cette distribution est en effet de laisser le plus grand choix possible à l'utilisateur en ne lui imposant que le strict minimum.
  • C'est une distribution qui compile tout ce que vous installez, donc si vous avez bien réglé votre fichier de configuration /etc/make.conf au plus près de votre système (microprocesseur, carte graphique, etc.) et de votre environnement logiciel (environnement graphique, serveur de son, etc.), vous exploiterez au mieux votre matériel et obtiendrez des programmes pas forcément compilés pour les vieux processeurs i386 comme c'est parfois le cas dans les autres distributions. Et en musique quelques millièmes de secondes c'est précieux !
  • Le passage d'une version de Gentoo à une autre est sans douleur ce qui n'est pas le cas des autres distributions.
  • Tous les packages musicaux sont disponibles, donc on n'a pratiquement rien d'autre à faire que de lancer quelques commandes emerge qui installent ce qui est nécessaire.
  • Les packages Gentoo sont très proches de fichiers source ; ainsi, si vous fabriquez en quelques secondes un fichier ebuild à partir d'un "tgz", Gentoo sera capable de maintenir les évolutions de votre fichier même si celui-ci ne fera jamais partie de la distribution Gentoo.

Les inconvénients de Gentoo sont :
  • La nécessité de faire une première installation à la main.
  • Chaque installation demande une compilation des programmes donc les installations sont un peu plus longues (il existe cependant un certain nombre de programmes également disponibles sous forme précompilée).
  • L'installation de base est assez minimaliste : il vous faut savoir quels programmes vous souhaitez installer ensuite (environnement graphique, serveur son, système de journalisation, chargeur de démarrage, etc.). Cela nécessite donc une certaine connaissance préalable des logiciels qui existent sous Linux.
  • de longues heures de compilation sur un portable peuvent être source d'échauffement et d'usure prématurée. Gentoo n'est donc pas à conseiller sur un portable bas de gamme (à moins d'utiliser distcc pour distribuer les compilations à travers un réseau).
  • Il faut s'y connaître un minimum, difficile à aborder comme première distribution car il n'y a pas d'outil graphique pour installer les logiciels.

Les avantages de Gentoo sont :
  • Les programmes tirent parti de votre matériel et sont donc plus rapides.
  • Les upgrades se font sans problème.
  • Vous pouvez profiter des toutes dernières versions des programmes juste un ou deux jour après leur sortie.
  • L'installation de base est assez minimaliste : c'est aussi un avantage ! Vous aurez en effet la possibilité d'installer un système parfaitement adapté à VOS besoins et optimisé en fonction de VOS choix. Pour la MAO en particulier, vous pourrez opter pour une interface graphique légère, en compilant vos programmes pour qu'ils n'utilisent que Jack (au lieu d'arts ou esd qui sont souvent installés par défaut dans d’autres distributions), et en désactivant tout ce qui n'est pas indispensable.
  • Gentoo vous permet d'être à jour en permanence, ce qui vous évite d'avoir à recommencer votre installation tous les 6 mois à la sortie d'une nouvelle version.
arrow Et surtout, avantage premier, l'overlay Proaudio permet d'en faire une distribution Audio extrêmement à jour.



2. Aide au sujet de Gentoo


2.1 La documentation officielle


Complète, détaillée et traduite en français ! Inutile de préciser que sa lecture est fortement conseillée avant de se lancer dans l'aventure. Celle-ci est d'ailleurs consultable même pendant l'installation, comme indiqué dans le guide d'installation .

Quelques liens:
La documentation sur le site officiel .Image
Le guide de localisation de Gentoo Image (pour franciser votre système).
Le site non-officiel Gentoo Francophone .Image


2.2 Sur IRC


Si vous êtes perdu plusieurs centaines de personnes vous aideront en ligne, en direct et en français sur le canal IRC : #gentoofr @ irc.freenode.net Image

Pour se servir d'IRC, si vous ne connaissez pas, faire :
# emerge xchat

pour l'installer, puis demander une connexion avec une pseudo sur le serveur irc.freenode.net port 6667
Ensuite taper dans xchat :
/join #gentoofr


2.3 Sur les wiki


Google est ton ami et si tu tapes "gentoo jack" ou "gentoo ardour", tu arriveras sur des pages wiki d'aide. Une partie de ces pages n'est malheureusement pas traduite en français, avis aux volontaires !
Le site Gentoo Linux Wiki : http://gentoo-wiki.com/Main_Page


2.4 Autres sources


La consultation des forums peut également s'avérer instructive :
Forum anglophone : http://forums.gentoo.org
Forum francophone : http://forums.gentoo.org/viewforum-f-35.html
Consultez en particulier sur ce forum le "how-to" musique sous gentoo .
De plus, si vous disposez d'un lecteur de News, vous pouvez utilement consulter les forums "alt.os.linux.gentoo" (anglophone) et "linux.gentoo.user.fr" (francophone).


2.5 A consulter en particulier


Sur le forum francophone gentoo : le "How-To musique sous Gentoo" qui traite de la musique assistée par ordinateur sous Gentoo. Vous y trouverez sensiblement les mêmes informations que par ici, mais présentées de façon différente et "pas-à-pas" wink.

Sur le wiki francophone gentoo : le "How-To Optimiser et accélérer votre système" . Vous y trouverez toutes les informations concernant l'optimisation de votre système, ainsi que des présentations d'outils très pratiques (voire indispensables pour certains) : ccache, eix, genlop, etc.


3. Configuration de Gentoo


3.1 Le fichier /etc/make.conf


Ce fichier contient les options générales de compilation de votre système et notamment celles concernant votre microprocesseur. Elles seront appliquées à tous les programmes installés ensuite par la commande "emerge". C’est donc un fichier essentiel qui déterminera l’optimisation de votre système. La consultation de la documentation officielle est indispensable. Une autre page de présentation du fichier make.conf (en français) : http://www.gentoofr.org/article19.html .



3.1.1 La variable USE

Cette variable est fondamentale, elle définit les modules/fonctionnalités qui seront activés dans un programme lors de sa compilation (installation). Elle se compose d'une série de drapeaux précédés ou non du signe "-". Un drapeau précédé du signe "-" indiquera la désactivation de la fonction correspondante, tandis qu’un drapeau sans signe indiquera une fonction activée. Ainsi si vous dites "je veux que tous les évènements sonores et tous les programmes utilisent ALSA et pas OSS", alors il faut mettre "alsa ?oss". De la même façon, si vous n’utilisez pas l’environnement Gnome, vous intègrerez le drapeau "-gnome", et si vous n’utilisez pas Kde vous intègrerez les drapeaux "-kde -kdeenablefinal".

Vous trouverez facilement des descriptifs des différents drapeaux disponibles (USE FLAGS en anglais). Par exemple :

Il est impossible de donner une règle absolue pour l’utilisation de ces drapeaux. Cela dépendra en effet de votre matériel et des logiciels que vous souhaitez installer. Gardez également à l’esprit que chaque programme ne dispose que d’un certain nombre de ces drapeaux.
Pour connaître la liste des drapeaux disponibles et (dés)activés avant d’installer un programme, utilisez la commande :
# emerge -pv programme

Cela vous permettra d’activer ou de désactiver les fonctions supportées par ce programme en adéquation avec VOS besoins. C’est ça la grande force de Gentoo : inutile d’activer le support d’Arts dans vos programmes si vous ne l’utilisez pas !
Enfin, pour intégrer vos modifications aux programmes déjà installés, vous utiliserez la commande magique :
# emerge -auvND world

Pour ce qui concerne la MAO, vous porterez une attention particulière aux drapeaux suivants :

3.1.1.1 Drapeaux relatifs au système

  • "X" : active la prise en charge du serveur graphique (vous pensiez à autre chose ?). Indispensable.
  • "qt", "gtk" et "gtk2" : bibliothèques logicielles utilisées dans de nombreuses interfaces graphiques (qt pour rosegarden, qjacktl, gtk pour Ardour…). Indispensables (bien que longues à compiler).
  • "cdrom", "dvd", "cdr", "dvdr" : prise en charge des lecteur/graveurs cd ou dvd. A adapter à votre configuration.
  • "symlink" : drapeau spécifique au noyau (kernel) : crée automatiquement le lien symbolique "/usr/src/linux" lors de l’installation d’un noyau. Utile.
  • "realtime-lsm" : spécifique aux "rt-sources" (voir Pro Audio Applications Overlay, plus bas). Active "realtime-lsm" en tant que module du noyau.
  • "doc" : active la documentation supplémentaire. A vous de voir...
  • "kde" et "kdeenablefinal" : à désactiver si vous n’utilisez pas l’environnement graphique KDE.
  • "gnome" : à désactiver si vous n’utilisez pas l’environnement graphique Gnome.
  • "bash-completion" : active l’auto-completion (utilisez la touche TAB pour compléter automatiquement une commande). Utile.
  • "3dnow", "3dnowext", "mmx", "sse", "sse2", etc. : optimisations à activer si votre processeur est compatible avec ces instructions.
  • "dri", "dga", "matrox", etc. : optimisations à activer en fonction de votre carte graphique.

3.1.1.2 Musique/MAO

  • "alsa" : support d’ALSA (Advanced Linux Sound Architecture). Indispensable. Voir également la partie correspondante ALSA ainsi que le guide ALSA pour Gentoo .
  • "fluidsynth" : support pour fluidsynth utile par exemple pour certaines versions du séquenceur Muse (museseq).
  • "freebob" : active le support de freebob dans Jack et installe les dépendances nécessaires pour les cartes firewire (libfreebob, etc.).
  • "jack" : support de JACK Audio Connection Kit. Indispensable. Voir également la partie correspondante Jack.
  • "jackmidi" : active le support midi dans jack. Utile dans certaines versions de ZynAddSubFx. A activer.
  • "jack-tmpfs" : à activer pour de meilleures performances de Jack.
  • "ladcca" : support pour LADCCA (Linux Audio Developer's Configuration and Connection API support). Obsolète, à remplacer par LASH.
  • "lash" : support pour LASH (LASH Audio Session Handler). Très utile pour sauvegarder vos sessions LASH.
  • "oss" : support d’OSS (Open Sound System). Système son obsolète de Linux, remplacé par Alsa. A désactiver.
  • "dssi" : support DSSI utile pour les dernières versions de Rosegarden.
  • "vst" : support des plugins VST dans certaines versions d'Ardour.

L’idéal en MAO étant de n’utiliser que Jack (pour profiter de ses performances temps réel), il peut être intéressant de désactiver les autres "Systèmes Son" existants :
  • "arts" : support d’Arts (système son de KDE).
  • "esd" : support d’esd (Enlightenment Sound Daemon).

3.1.1.3 Autres drapeaux intéressants

  • "cdparanoia" : support de cdparanoia (ripper de CD audio).
  • "gstreamer" : active le support de gstreamer (Streaming media).
  • "portaudio" : active le support pour la bibliothèque audio portaudio.
  • "sox" : support du convertisseur audio SoX (Sound eXchange).
  • "xmms" : support du lecteur multimédia XMMS (X MultiMedia System).

En fonction de vos besoins, vous activerez aussi les différents drapeaux des codecs qui vous intéressent :
  • "aac" : support pour le format MPEG-4 AAC Audio.
  • "flac" : codec de compression sans perte de qualité (peu connu mais très utile, en particulier pour faire des sauvegardes).
  • "lame" : support pour l'encoder mp3 LAME (LAME Ain't an MP3 Encoder).
  • "mad" : support du decodeur mp3 MAD (Mpeg Audio Decoder).
  • "mp3" : vous connaissez sans doute.
  • "musepack" : support du format Musepack.
  • "ogg" : support du format conteneur Ogg.
  • "vorbis" : support du format OggVorbis (dont la qualité est souvent meilleure que le mp3).

Cette liste restera incomplète : certaines fonctions deviennent obsolètes, d’autres apparaissent en fonction de l’évolution des logiciels… signe du dynamisme du monde du logiciel libre !

3.1.1.4 Exemples de variable USE

USE=".......X -oss jack alsa gtk2 gtk dvd jack-tmpfs"

La dernière option nécessite que vous ayez ajouté la ligne /etc/fstab
shmfs /dev/shm tmpfs defaults 0 0


3.1.2 Les variables CFLAGS, CHOST, et CXXFLAGS

Vous permettent d’adapter le système à votre architecture (pentium, etc.). S’agissant d’options critiques pour votre système, il ne faudra modifier que ce dont vous êtes parfaitement sûrs … une longue consultation des différentes documentations en ligne sera indispensable : en effet, il n’est malheureusement pas possible de donner ici des exemples précis, puisque les choix dépendront de votre configuration ! Enfin, il est beaucoup plus simple de modifier ces paramètres au moment de l’installation de votre Gentoo, car sinon, il vous faudra recompiler l’ensemble de tous les paquets installés pour prendre en compte les modifications (avec une commande du type "emerge -e world" qui risque d’occuper votre PC pendant de longues heures … voire plusieurs jours (!)

De plus, le comportement de certains CFLAGS peut changer avec différentes versions de GCC, certains CFLAGS surs peuvent devenir non surs, ou l'inverse. De même, certains CFLAGS peuvent bien fonctionner avec un certain code source et mal fonctionner avec un autre code source. Ceci implique que pour être absolument sur, il faut utiliser un profiler comme valgrind pour chaque programme et lors de chaque update. Je ne connais personne qui ait le temps de faire cela.

Heureusement, il y a une autre solution et elle est beaucoup plus simple : utiliser les CFLAGS recommandés dans le handbook (la documentation principale) de gentoo. Ceux-ci sont surs et bien testés. Ils sont aussi utilisés par les développeurs de gentoo.

Vous avez été avertis. Ne venez pas vous plaindre si tout le système est planté si vous avez utilisé d'autres CFLAGS, ou si certains programmes se comportent de façon si bizarre qu'il est impossible de trouver la raison de leur mal-fonctionnement.

D’une façon générale, vous laisserez la variable CHOST à sa valeur actuelle (vous l’avez en réalité choisie à l’installation). Vous devriez donc avoir quelque chose du type :
CHOST="i686-pc-linux-gnu"
ou
CHOST="i586-pc-linux-gnu".

De la même façon, vous laisserez simplement la variable CXXFLAGS (drapeaux de C++) inchangée:
CXXFLAGS="${CFLAGS}"

La variable que vous pouvez plus facilement compléter est en fait CFLAGS (drapeaux de C) : vous pourrez y ajouter des drapeaux spécifiques à votre processeur (ex : "-march=athlon-xp", etc.) ainsi que quelques options générales de compilation (ex : "-pipe -fomit-frame-pointer"):
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"

Une autre solution est d'utiliser "-march=native". Cela dit à gcc de mettre automatiquement les flags qui correspondent au processeur. Attention, cela ne fonctionnera qui si la machine dans laquelle vous compilez est la même que celle dans laquelle les programmes sont installés. Nous nous retrouvons avec:
CFLAGS="-march=native -O2 -pipe"


3.1.3 Autres paramètres intéressants

Le fichier /etc/make.conf contient d’autres options intéressantes, sans être exhaustif (pour pourrez consulter le fichier /etc/make.conf.example pour plus de renseignements), citons par exemple :

ACCEPT_KEYWORDS : vous permet de choisir votre architecture et de passer votre Gentoo dans la branche de test. Il est préférable d'utiliser le fichier "/etc/portage/package.keywords" (voir plus bas) pour garder un système basé sur la branche "stable"auquel on ajoutera les programmes "instables" souhaités (ardour…).

PORTDIR_OVERLAY : indique où se situent les ebuilds qui ne font pas partie de l’arbre portage officiel (voir plus bas).

Les variables VIDEO_CARDS et ALSA_CARDS sont également utilisées lors de certaines compilations (ex: alsa-tools dont le mixeur "envy24control" ne sera compilé que si ALSA_CARDS="ice1712").

Exemple :
ACCEPT_KEYWORDS="x86" (branche stable pour processeurs x86 - pentiums, athlons 32 bits, etc.)
ou
ACCEPT_KEYWORDS="~x86" (branche de test pour processeurs x86)
ou
ACCEPT_KEYWORDS="~amd64" (branche de test pour processeurs 64 bits)

PORTDIR_OVERLAY="/usr/local/portage"

VIDEO_CARDS="nvidia"
ALSA_CARDS="via82xx"


3.2 Les fichiers /etc/portage/package.xxxxx


Si vous souhaitez apporter des options spécifiques à certains programmes, il vous faudra modifier (ou créer s’il n’existent pas) les fichiers suivants. Notez d'ailleurs que pour chacun de ces trois fichiers /etc/portage/package.xxxxx, il s'agira au choix
  • d'un fichier comprenant tous les paramètres,
  • où d'un répertoire contenant autant de fichiers différents que vous le souhaitez, ce qui vous permettra d'organiser et trier vos paramètres selon vos choix.


3.2.1 /etc/portage/package.use

Vous intègrerez dans ce fichier/répertoire les drapeaux (USE FLAGS) spécifiques à certains logiciels que vous ne voulez pas appliquer à l’ensemble du système.
Exemple :
media-sound/rosegarden dssi
sys-kernel/vanilla-sources symlink -doc

3.2.2 /etc/portage/package.unmask

Vous permet de démasquer des programmes masqués car très très instables (hard masked). A utiliser avec beaucoup de précautions.
Exemple :
media-libs/glitz

3.2.3 /etc/portage/package.mask

Vous permet de masquer certains programmes. Utile si vous souhaitez conserver certaines versions de programmes.
Exemple (masquera toutes les versions de musescore supérieures à la 0.1) :
>media-sound/musescore-0.1


3.2.4 /etc/portage/package.keywords

Le plus important de tous ! Vous permet d’installer des versions divergeant de la branche stable. Indispensable en MAO car certains programmes (ardour par exemple) n’ont pas encore intégré la branche stable. Vous permet aussi d’obtenir les dernières versions de programmes (qui possèdent souvent à la fois une version stable et une version de test plus récente). Ce fichier vous permettra donc de tester une version récente sans mettre en péril votre système (qui restera, lui, en branche stable). Notez enfin que les problèmes sont rares même avec des programmes qui n'ont pas encore été largement testés. Si vous constatez des bugs, n’hésitez surtout pas à les faire remonter, car c’est ainsi que le logiciel libre s’améliore biggrin.

Rappels :
  • La branche de test est notée par le symbole ~ suivi de l'architecture concernée
    • Si votre architecture est x86, la branche de test est ~x86
    • Si votre architecture est amd64, la branche de test est ~amd64
    • etc.
  • Certains paquets n'ont encore été testés sur aucune architecture, il faudra les démasquer par le symbole **

Exemple :
media-sound/ardour ~x86
media-sound/hydrogen ~x86
media-sound/qjackctl ~x86
media-sound/rosegarden ~x86
media-sound/canorus **
etc...


Conseil
A moins que vous n'utilisiez ACCEPT_KEYWORDS="~...", ce fichier risque de grandir assez vite. Pour faciliter sa maintenance, une bonne habitude et d'y classer les programmes par ordre alphabétique de catégorie (media-libs/... avant media-sound/...) et de programme (media-sound/alsaplayer avant media-sound/ardour).

3.3 autres réglages du système


3.3.1 le dossier /etc/conf.d/


3.3.2 Gentoo en français


Pour pouvoir utiliser certaines applications (comme QJackCtl) en français, il faut attribuer à la variable $LANG la valeur "fr_FR.UTF-8 UTF-8"
On peut faire ceci de manière locale (propre à un utilisateur), ou globale (propre au système entier, donc à tous les utilisateurs)
  • définir $LANG localement :
    éditez le fichier ~.bashrc :
    nano ~.bashrc

    ajoutez :
    export LANG="fr_FR.UTF-8 UTF-8"
  • ou définir $LANG globalement (en root) :
    éditez le fichier /etc/env.d/02locale
    nano /etc/env.d/02locale

    ajoutez :
    LANG="fr_FR.UTF-8 UTF-8"
  • Pour finir, mettez à jour vos changements :
    env-update && source /etc/profile


4. Rappels de la commande emerge


"emerge" est la commande qui installe les programmes en se chargeant d'aller chercher tous les composants utiles à cette installation (Gentoo gère automatiquement les dépendances nécessaires à l'installation d'un programme). La commande "emerge" possède un grand nombre d'options que vous consulterez en tapant dans un terminal :
$ emerge -h
ou bien
$ man emerge


4.1 Installation et désinstallation d'un programme


Pour installer un programme (ici audacious) et toutes ses dépendances :
# emerge audacious

Pour le désinstaller :
# emerge -C audacious
ou
# emerge --unmerge audacious

Pour installer plusieurs programmes (ici audacious, ses plugins ainsi que ses skins) :
# emerge audacious audacious-plugins audacious-themes


Remarque :
Afin de connaître à l'avance les programmes qui seront (dés)installés ainsi que les options de compilation qui seront appliquées, il est préférable (et même recommandé) de combiner au préalable ces commandes avec les options suivantes :
-p (ou pretend) affiche ce qui serait (dés)installé. Cette option peut être remplacée par -a (ou ask) qui demandera ensuite une confirmation (Yes/No) avant de poursuivre.
-v (ou --verbose) pour activer le mode détaillé et afficher un maximum d'informations.
Ainsi, pour installer xmms, on conseillera plutôt "emerge -av xmms" (ou "emerge -pv xmms") et pour une désinstallation "emerge -avC xmms" (ou "emerge -pvC xmms"). Cette précaution vous évitera quelques mauvaises surprises et vous permettra de connaître à l'avance les drapeaux activés (voir ci-dessus)...

Pour rechercher un programme contenant "jack" (pratique quand on ne connaît pas le nom exact) :
# emerge -s jack
ou
# emerge --search jack



4.2 Mise à jour de votre Gentoo


Vous constaterez que les mainteneurs de cette distribution sont très actifs, et que vous aurez régulièrement des mises à jour proposées pour les différentes applications installées. Le site http://www.gentoo-portage.com vous donnera la liste des applications disponibles.

La mise à jour se fait en plusieurs étapes.

Télécharger la liste de paquets disponibles la plus récente :
# emerge --sync

Mettre à jour les programmes formant le coeur de votre Gentoo :
# emerge -auvND system

Mettre à jour le reste :
# emerge -auvND world


Et c'est tout ! Dans ces commandes, vous retrouverez :
  • L'option "u" pour "update";
  • L'option "D" pour "Deep", c'est à dire mise à jour en profondeur
  • L'option "-N" pour "--newuse". Elle permet d’intégrer les modifications apportées à vos "USE Flags" (make.conf, package.use, etc.). Après une modification de ces fichiers, vous lancerez donc la commande:
# emerge -avND world


Note :
Vous aurez parfois après une (dés)installation ou une mise à jour un message du type "IMPORTANT: 2 config files in /etc need updating". Il vous faudra alors simplement lancer la commande "etc-update" pour mettre à jour les fichiers de configuration concernés.

Finalisation de la mise à jour :
Il faut encore, comme indiqué dans le Handbook, lancer 2 commandes. Pour effacer les dépendances obsolètes :
# emerge --depclean

Pour contrôler la cohérence du système et réinstaller tout programme qui aurait été cassé par la mise à jour de ses dépendances :
# revdep-rebuild

5. Installer des programmes pas (encore) intégrés dans portage


5.1 Problématique


Avec une distibution Linux traditionnelle vous allez utiliser des paquetages, deb ou rpm qui permettront des mises à jour régulières. Mais lorsque vous installez un fichier de type tgz et que vous l'installez à partir des syntaxes configure, make et make install, vous mettez la panique dans votre installation.

Avec gentoo vous allez bénéficier d'une fonctionnalité intéressante, celle de fabriquer un fichier ebuild qui présente plusieurs avantages :

  • si le fichier tgz que vous installez ainsi vient à rejoindre la distribution gentoo, c'est le plus récent qui prendra le relais

  • vous n'avez pas besoin de faire un configure, un make et un make install, emerge va le faire pour vous, vous n'avez même pas besoin de télécharger le fichier depuis le site où se trouve le fichier tgz à télécharger.


5.2 Exemple de création d'un ebuild pernonnel


Prenons l'exemple du tuner de guitare fmit, c'est un programme qui utilise kde qui se trouve à l'adresse
http://home.gna.org/fmit et qui s'appelle fmit.
Le mieux au début est de partir d'un fichier ebuild existant, de le pacer au bon endroit, de le renommer et de l'éditer. Par exemple, pour fmit, on ne part pas d'un ebuild pour un lociel gtk mais de celui d'un logiciel kde.


5.2.1 Fabrication du fichier ebuild

Dans le répertoire /usr/local/portage/media-sound/fmit (que l'on aura pris soin de créer) on édite un fichier qui contiendra les lignes suivantes :

# Copyright 1999-2005 Gentoo Foundation 
 # Distributed under the terms of the GNU General Public License v2

 inherit kde-functions virtualx eutils toolchain-funcs
 need-qt 3

 MY_P=${P/fmit} 
 MY_P=${MY_P/_/}

 DESCRIPTION="Free Music Instrument Tuner"
 SRC_URI="http://download.gna.org/fmit/fmit${MY_P}.tar.bz2"
 HOMEPAGE="http://home.gna.org/fmit/"

 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64 ~sparc ~x86"
 IUSE="alsa doc jack ladcca debug"

 DEPEND=">=x11-libs/qt-3.2.0
  alsa? ( media-libs/alsa-lib )
  >=media-libs/libsndfile-1.0.1
  >=media-libs/libsamplerate-0.1.0
  >=media-sound/jack-audio-connection-kit-0.98.0
  ladcca?     ( >=media-libs/ladcca-0.4.0 )"

 src_compile() {
    cd ${WORKDIR}/${MY_P}
    local myconf
    myconf="--disable-suid-build" # instead, use CONFIG_RTC and realtime-lsm
    use ladcca      || myconf="${myconf} --disable-ladcca"
    use debug       && myconf="${myconf} --enable-debug"
    export LD="$(tc-getLD)"    Xeconf ${myconf} || die "configure failed"
    emake || die
 }

 src_install() {
    cd ${WORKDIR}/${MY_P}
    make DESTDIR=${D} install || die "install failed"
    dodoc AUTHORS ChangeLog INSTALL NEWS README SECURITY README.*
    mv ${D}/usr/bin/fmit
 }

 pkg_postinst() {
    einfo "You must have the realtime module loaded to use fmit"
    einfo "Additionally, configure your Linux Kernel for non-generic"
    einfo "Real Time Clock support enabled or loaded as a module."
    einfo "User must have read/write access to /dev/misc/rtc device."
    einfo "Realtime LSM: http://sourceforge.net/projects/realtime-lsm/"
 }


Ne vous en faites pas on recopie toujours le même fichier que l'on modifie.


5.2.2 Vérifications

Vérifier que votre fichier /etc/make.conf contient une ligne de la forme :
PORTDIR_OVERLAY="/usr/local/portage"
Cela dit au système d'aller voir dans le répertoire /usr/local/portage si des fchiers ebuild sont présents

Ensuite dans votre fichier /etc/portage/package.keywords

il faut entrer la ligne
sound-media/fmit ~x86 

Ceci indique qu'on accepte d'installer fmit même s'il n'est pas dans la distribution officielle.


5.2.3 Quelques commandes

Une fois le fichier ebuid constuit est placé dans le bon répertoire, il faut fabriquer une mini arborescence par la simple commande :
# ebuild fmit-0.95.0.ebuild digest

Vous pouvez alors faire un :
# emerge fmit

Vous verrez fmit se télécharger et s'installer.


5.2.4 Suivre les versions de votre logiciel

Si vous apprenez qu'une nouvelle version du logiciel fmit est sortie vous n'avez pratiquement rien à faire !
  • copier le fichier fmit-0.95.0.ebuild vers fmit-0.96.0.ebuild
  • faire une ebuild fmit-0.96.0.ebuild digest
  • faire un emerge -u world ou emerge -u fmit

5.3 Ebuilds non officiels

Vous trouverez sur le net différents ebuilds concernant des programmes qui ne sont pas (encore) inclus dans l'arbre portage officiel. Vous en trouverez par exemple ici : http://bugs.gentoo.org/
Ces ebuilds peuvent facilement être intégrés dans votre système, qui, là encore, vous permettra une mise à jour transparente si des versions plus récentes finissent par être intégrées dans l'arbre officiel. Certains de ces ebuilds ont été regroupés (par thématique par exemple) pour former ce que l'on appelle un "overlay" ("surcouche").

Un overlay sous Gentoo est l'équivalent d'un dépôt additionnel pour les autres distributions. L'avantage des overlays par rapport aux dépôts multiples se fait sentir lors des mises à jour :
Gentoo : portage se charge de réinstaller les programmes pour qu'ils continuent à fonctionner quand leurs dépendances sont mises à jour et qu'une nouvelle compilation est nécessaire.
Autres distributions : il y aura tôt ou tard une incapacité à effectuer des mises à jour en raison de conflits de dépendances.

Il est donc toujours utile de vérifier si un logiciel figure sur le bugzilla ou dans un overlay. Cela évite de refaire un travail qui a déjà été fait. Il est aussi très utile de contribuer ses ebuilds personnels sur le bugzilla ou dans un overlay: C'est comme cela que gentoo avance: tout commence sur le bugzilla et dans les overlays.


5.3.1 Gestion des overlays


Un overlay est un ensemble d'ebuilds non-officiels qui viennent se rajouter a l'arbre portage. Vous pouvez utiliser ce mecanisme pour rajouter vos propres ebuilds. Par convention vos ebuilds doivent être placé dans le répertoire /var/lib/layman, ou anciennement /usr/local/portage.
Pour être pris en compte par la commande emerge ce répertoire doit être renseigné dans le fichier de configuration /etc/portage/make.conf (anciennement /etc/make.conf) par la variable PORTDIR_OVERLAY
PORTDIR_OVERLAY="/var/lib/layman"

Il existe également des packs overlay complets disponibles sur la toile. Ils sont regroupés par thématique (audio, xgl...). Il est fortement conseillé de placer chaque overlay et vos ebuilds perso dans des répertoires différents.
Vous pouvez par exemple placer vos ebuilds perso dans le sous répertoire /var/lib/layman/perso et l'overlay proaudio dans /var/lib/layman/proaudio

Portage peut tout à fait gérer plusieurs répertoires PORTAGE_OVERLAY, à condition de les indiquer dans /etc/portage/make.conf :
Ex :
PORTDIR_OVERLAY="/var/lib/layman/perso /var/lib/layman/proaudio"


Un des overlay les plus importants pour la MAO, l'overlay "Pro Audio Applications" est présenté plus en détail dans la seconde partie du guide Gentoo.


5.3.1 Layman

Il existe plusieurs outils pour faciliter la gestion des différents overlays, un des plus connu étant sans doute Layman. Layman est une petite application (écrite en Python) qui permet d'utiliser et synchroniser facilement un ou plusieurs "overlays". On l'installe classiquement :
# emerge layman

On peut télécharger la liste des répertoires/overlays disponibles :
# layman -f

Pour afficher cette liste :
# layman -l

Pour utiliser (au hasard) - et installer - l'overlay "pro-audio" détaillé page suivante :
# layman -a pro-audio

puis on indique dans le fichier "/etc/make.conf" la liste des overlays supportés par layman (il est important de faire cette étape après avoir installé l'overlay) :
# echo "source /usr/local/portage/layman/make.conf" >> /etc/make.conf

Enfin pour synchroniser tous les répertoires :
# layman -s ALL


Une fois un overlay activé, les ebuilds qui proposent seront directement accessibles lors d'une utilisation classique de la commande emerge. En cas de présence d'ebuilds provenant de différents overlays, portage vous indiquera également leurs sources respectives (utilisez une commande du type "emerge -av mon_programme" pour afficher ces informations).

Pour plus de détails, voir aussi les liens suivants :

Un progamme très utile : mc

Midnight Commander est un programme très utile pour travailler avec portage. C'est un gestionnaire de fichier pour la console. Son avantage principal sur les interfaces graphique est sa rapidité. Il est aussi très flexible et il peut être adapté à n'importe quel usage. Enfin presque, il ne fait pas le café twisted

Pour le travail avec portage, la touche F4 permet d'ouvrir le fichier courant dans un éditeur interne simple d'emploi, mais suffisant pour du travail d'administration système.

Une fois dans cet éditeur, F2 permet de sauver le fichier, F3 (ou la souris) de sélectionner du texte, F5 de copier le texte sélectionné, F6 de le déplacer à l'endroit du curseur, F10 de quitter l'éditeur. Il est très pratique pour éditer les fichiers de configuration de portage (et de gentoo en général).

Ce programme comporte encore bien d'autres fonctions, comme la possibilité de lancer automatiquement les fichiers dans leurs applications associées, la possibilité d'éditer directement ses menus et les associations de fichiers, la possibilité de naviguer dans des archives, de lancer des commandes sur des fichiers, de créer ses propres commandes, etc. Il possède également une aide intégrée.

Une fonction utile est Ctrl-O qui permet d'accéder à la console. La même touche permet de revenir à mc.

Un deux mots : un must !

Pour l'installer :
# emerge mc



Accès à la deuxième partie : Gentoo - MAO et overlay Proaudio arrow



Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]


Mégaphone [Afficher / Cacher]

r1, 19:51, sam. 19 Aug 2017: @sub26nico : cool merci :-)
sub26nico, 10:38, sam. 19 Aug 2017: L'éditorial du mois d'Août 2017 est publié !
sub26nico, 10:26, sam. 19 Aug 2017: Salut et bienvenue à Scorpi4 et be1 :-)
sub26nico, 10:17, sam. 19 Aug 2017: @be1, n'hésites pas à créer une page pour ton greffon, ça lui donnera plus de visibilité et tu peux ouvrir un fil de forum pour ta demande
be1, 01:55, sam. 19 Aug 2017: hello, j'ai fait un plugin LV2 de spacialisation stéréo d'une source (bi-)mono. Si ça intéresse des testeurs, me faire un message perso...
sub26nico, 18:45, jeu. 17 Aug 2017: Salut et bienvenue à sebos et Schmorgluck :-)
sub26nico, 20:31, mer. 16 Aug 2017: Ardour 5.11 est disponible [Lien]
sub26nico, 16:58, mer. 16 Aug 2017: Salut et bienvenue à Seb56Os :-)
zebassprophet, 15:17, mer. 16 Aug 2017: yep et j'en suis désolé sri_raoul. Des bouchons en Bretagne alors que anne de Bretagne a tant fait pour les autoroutes gratuites, un comble bref je m'organiserais mieux l'an prochain ;)
sub26nico, 14:08, mar. 15 Aug 2017: Salut et bienvenue à RoYmasta et Zulaan :-)
brigitte, 10:35, dim. 13 Aug 2017: Salut à tout le monde. Je débute en mao mais je joue du clavier depuis longtemps. J'ai installé Librazik studio. Je suis un peu perdu mais je plonge . Merci pour ce site sans lequel je ne pourrai pas imaginer avoir accès à tout ce savoir
sub26nico, 01:34, dim. 13 Aug 2017: Salut et bienvenue à charlhenri :-)