Skip to main content
Seb's blog

En quoi une gentoo-like peut devenir intéressante?

gentoo

J'ai toujours et ce depuis longtemps, pensé que les distributions sources dataient d'une autre époque, ou du moins étaient réservées à une élite qui avait du temps à perdre pour gagner des millièmes de secondes par ci ou là...

Autant que je peux comprendre l’intérêt des rollings à la Archlinux ou openSUSE, autant que j'approuve les fixeds à la sauce Debian, mais autant que je vois pas l’intérêt des distributions ne gérant pas les dépendances comme Slackware surtout en 2021, ni des distributions sources que je trouve trop lentes pour installer des logiciels ou faire des mises-à-jour.

Je ment à peine en disant que les gentoo-likes ont toujours eu cette attirance sur moi; je sais pas trop pourquoi, je pense que c'est le meilleur des mondes, une recette et hop on installe en compilant directement sur sa machine via la même commande pour gérer les applications du système.

En fait c'est non, une distribution que ce soit fixed ou rolling, est intéressante en binaire pour tout utilisateur classique, qui se contentera de ce qui a sur les dépôts sans vouloir plus. Je m'explique, en tant que simple utilisateur sans vouloir me prendre la tête, je pense clairement que les distributions binaires que sont Arch, Debian, Fedora, Mageia, openSUSE,...; sont parfaites. Notamment, pour une personne qui veut juste que ça marche sans jamais participer et contribuer en retour, je trouve Debian ou Fedora parfaite, pourquoi et bien simplement que c'est assez compliqué d'y participer. C'est ouvert mais pas tant que ça, faut devenir packageur, pour ça faut montrer qu'on en est capable... On aura plus facilement fait des paquets pour sa pomme que apte à être poussé dans les dépôts des dites distributions.

Je peux partir de mon constat, étant utilisateur, contributeur de Debian et mainteneur de paquet pour celle-ci, sans jamais être ni Développeur Debian (DD) ou Mainteneur Debian (MD). Je n'ai pas fait la demande pour l'être, je pense que mon niveau est bien en dessous de ce qu'il faut pour le devenir, puis aussi je pense qu'il faut un garde fou pour vérifier le travail une dernière fois derrière moi. Je pense aussi que chez Debian, on utilise que trop peu le dépôt backport, on pourrait l'utiliser bien plus pour les jeux entre autres choses. C'est dans ce constat que je me tape une obligation de faire des rétro-portages de pas mal de paquets, en plus de paquets qui ne sont pas si bien maintenues dans les archives, sans cracher un exemple concret est "Pelican", le moteur de ce site qui est resté longtemps en version 4.0.1 alors qu'on était en 4.7.1... J'en ai parlé dans le billet "Je tente pour le coup de contribuer sur un paquet ayant besoin de soin chez Debian", ça a été ensuite poussé par un Développeur Debian en incorporant mon travail pour la 4.7.1 mais ce fut quand même bien hasardeux. C'est comme ça que je me retrouve avec un peu plus de 10 GO de paquets en plus des sources de ceux-ci, j'ai du Wesnoth 1.16 toujours pas dans Sid, du Claws-mail en 4.0.0 qui lui est dans experimental, ou encore le jeu Cataclysm en version 0.F-2-1 qui lui vient de Sid, j'ai pour le moment 229 paquets qui représentent 69 logiciels... Vous comprenez aisément que c'est con de maintenir ça que pour moi mais c'est ce que je fais car mes demandes de backport auprès de certains Dieux, pardon Développeurs Debian sont restés muettes. Je pourrais me faire un serveur/dépôt comme celui de deb.multimedia mais je n'ai pas un nom aussi bien connue que Christian Marillat dans l'hémisphère Debian. J'ai proposé aussi de faire ça en groupe, avec un site d'entraide fr bien populaire pour Debian mais ça n'a pas laissé de chaudes réactions.

Mon constat est tout autrement chez openSUSE où là je suis réellement mainteneur de paquets, il faut un compte sur le OBS (build du projet) et se lancer. si on veut vraiment contribuer et ne plus être un simple utilisateur, si on veut être actif et non passif, c'est vraiment simple, on prends un logiciel qu'on utilise, on regarde si il est à jour dans les dépôts et donc dans OBS, sinon on forks le travail, on fait les changements et ajoute les nouvelles sources et on fait une demande pour soumettre les changements, et c'est tout!!! Donc si on veut vraiment contribuer et pas garder pour soi les paquets qu'on fait, c'est le top. C'est la distribution parmi les grosses écuries qui est la plus ouverte pour tout et qui facilite la contribution à ce point.

Tout ce pavé et je n'ai pas parlé de ce qui est dans le titre, à savoir Gentoo. Je vais en parler mais avant, je parlerais des distributions du type binaire. Quand je fais un paquet pour ma Debian, j'utilise les moyens les plus aptes à faire ce travail comme si je le faisais pour l'inclure dans Debian, donc je n'utilise pas de compilation directement depuis mon OS, mais j'utilise un chroot et une Debian reconstruite à chaque fois avec le minimal, en fait j'utilise la méthode pbuilder, donc faire un paquet (mais c'est pareil pour retro-porter depuis sid) revient à:

1/ Rapatrier les sources de Debian Sid:

apt-get source pelican

2/ Changer la version en rajoutant la version et le changement voir le fichier changelog:

dch -r

3/ Créer le fichier .dsc et les sources:

dpkg-source -b nom-du-dossier/ 

4/ Compiler et créer le paquet .deb:

pbuilder-stable build pelican_4.6.0+schav-1.dsc

5/ Signer son paquet:

debsign openboard_1.5.4+dfsg1-schav1_amd64.changes

6/ Envoyer le tout sur les serveur de Debian ou sur mon local:

dput openboard_1.5.4+dfsg1-schav1_amd64.changes

7/ Ranger les fichiers obtenus pour en faire un dépôt Debian:

mini-dinstall -b

8/ Signer le dépôt:

gpg -abs -o Release.gpg Release 

9/ Penser avant tout d'ajouter notre clé dans APT:

apt-key add '/home/sebastien/.gnupg/cle-debian.gpg'

Ça en fait des choses, surtout que je compile le programme pour le transformer en paquet que je vais installer par la suite, la seule chose de bon dans ceci c'est que mon paquet sera disponible par la suite. Par contre toutes les étapes sont à refaire pour chaque nouvelle version amont.

C'est là où j'ai vu l'intérêt pour moi des distributions du type Gentoo. Puisque de toute façon je ne contribue pas, que ces paquets sont pour ma gueule, que c'est trop de ressources de proposer mes paquets sur un serveur que je n'ai de toute façon pas, pourquoi ne pas faire ça avec une Gentoo? La compilation est obligatoire de toute façon mais au moins c'est directement pour l'installer.

Voila le principal intérêt pour moi de Gentoo, j'ai commencé par quelques programmes, Pelican qui est en 4.5.3 au lieu de 4.7.1, Ghostwriter en 2.0.2 au lieu de 2.1.0, Wesnoth en 1.14 au lieu de 1.16.1 et pour finir Aisleriot qui n'est plus dans l'archive.

Je suis pas fou, j'ai une famille, donc la compilation et l'installation d'une vraie Gentoo n'est pas possible, surtout que je ne pense pas comprendre tout de tout ni de savoir vraiment personnaliser mes useflags. J'ai voulu tenter une approche avec une Funtoo, mais la aussi, je pense qu'il faut du temps et un niveau que je n'ai pas ni envie d'avoir (prenant trop de temps sur ma vie perso), je suis donc parti d'une Calculate linux. Au passage la 22 est sortie.

calculate

On doit juste récupérer une recette depuis les serveurs Gentoo, les fameux ebuilds, signer les différents fichiers et sources et lancer emerge qui va compiler et installer le paquet directement.

Télécharger le fichier ebuild:

wget https://gitweb.gentoo.org/repo/gentoo.git/plain/app-text/pelican/pelican-4.5.3.ebuild

On modifie juste le nom du fichier en changeant la version de pelican, ici 4.5.3 en 4.7.1. On regarde si tout est bon, comme ajouter des dépendances, ici je rajoute seulement "dev-python/rich[${PYTHON_USEDEP}]".

Faire le fichier manifest (vérification des sources):

ebuild pelican-4.7.1.ebuild manifest

Lancer la compilation et l'installation du programme:

emerge -Aqv pelican-4.7.1.ebuild

C'est tout.

L'autre intérêt, c'est les options de compilation, je m'explique, si je prends le logiciel de P2P MlDonkey, on peut ajouter des réseaux, c'est de moins en moins vrai car lui qui supportait pas mal de réseaux n'en supporte désormais que deux ou trois officiellement, edonkey, overnet, kad, bittorrent. J'avais tendance à ajouter gnutella 1&2 et maintenant j'ai tendance à ne garder que les réseaux edonkey, du coup sur ma Debian je builde mon paquet avec bittorrent de désactivé. Pour le coup ça va car c'est un programme qui bouge peu ou pas mais admettons que ce n'est pas le cas, que mensuellement ils nous pondent une version ou plus, je devrais refaire mon paquet et donc les étapes plus haut mensuellement. Sous Gentoo, je vais utiliser les USEflags pour garder en mémoire mes options de compilation, du coup ça se fera automatiquement!

Commencer la discussion: Venez écrire un commentaire dans le forum