Debian remplace la glibc par eglibc

Posté par  (site web personnel) . Modéré par tuiu pol.
Étiquettes :
36
8
mai
2009
Debian
Les mainteneurs Debian de la bibliothèque standard C ont décidé de passer de la GNU libc (glibc) à eglibc. La migration est déjà effective dans Debian Sid. La « libc » est un élément essentiel dans une distribution étant donné que l'intégralité des applications l'utilise. La décision de migrer a été mûrement réfléchie et découle de plusieurs raisons : relations difficiles avec les développeurs de la glibc, prise en charge incomplète de l'ARM dans la glibc, branche stable non maintenue, etc.

Le projet eglibc a été lancé en août 2006 par Codesourcery et est aujourd'hui soutenu par un consortium (Freescale, MIPS technologies, MontaVista, Wind River). Ce n'est pas à proprement parler un « fork » de la glibc, c'est une collection de patchs visant l'embarqué. Il permet notamment de désactiver certains composants, les locales par exemple, pour diminuer l'empreinte mémoire. La compilation croisée est également améliorée, point important pour l'embarqué. La bibliothèque eglibc est aussi compatible avec d'autres shells que le très classique Bash.

Le projet vise une compatibilité binaire avec la glibc, et pour cela l'arborescence des sources est régulièrement synchronisée. La distribution Linux OpenWrt supporte déjà eglibc (en plus d'uClibc). Une autre raison pour la migration est que Debian contient plus de 200 patchs (ce qui est énorme !) pour la glibc. Une partie est extraite du CVS (étant donné que la glibc ne maintient pas de version stable), une autre petite partie a été remontée à la glibc (mais n'a pas encore été acceptée), mais la grande majorité n'a pas été envoyée (étant données les réactions aux autres patchs). Le mainteneur de la glibc, Ulrich Drepper, est d'ailleurs réputé pour son caractère de cochon. Je vous laisse le loisir de rechercher ses réponses aux rapports de bug (les mots clés « ulrich drepper fuck crap » sont un bon début).

Les développeurs d'eglibc veulent contribuer au maximum avec la glibc. Les contributions à eglibc suivent donc les mêmes critères que pour tous les projets GNU (ex: il faut céder son droit d'auteur à la FSF). Aurélien Jarno a « testé » eglibc depuis un an en envoyant des patchs à eglibc, patchs qui avaient été refusés dans la glibc. Les patchs ont été acceptés et les retours sont positifs.

Bien qu'eglibc vise à conserver la compatibilité binaire, on ne peut s'empêcher de faire le parallèle avec d'autres fork de projets majeurs. Avec le temps, Xorg et Inkscape ont largement dépassé Xfree86 et Sodipodi (logiciels forkés pour des raisons politiques et techniques). Étant donné l'importance de Debian dans le logiciel libre, il est à parier que d'autres distributions suivront le mouvement. Néanmoins, Red Hat finançant le développement de la glibc, Fedora, Red Hat et dérivés (Centos) conserveront sûrement la glibc.

Parmi les autres implémentations libres de la bibliothèque standard C, on peut citer uClibc qui vise également l'embarqué, en particulier les équipements dépourvus d'unité de gestion mémoire (MMU). eglibc ne gère pas ce type d'équipement et chaque bibliothèque vise donc un marché différent.

Aller plus loin

  • # Un billet sur Linux Hater's Blog - Ulrich Drepper est Magique !

    Posté par  (site web personnel) . Évalué à 9.

    Il y a d'ailleurs un billet intéréssant sur le Linux Hater's Blog[1]

    Et d'autre magnifiques messages tel que: "Vie avec"[3], "Je ne vois pas votre nom sur mon bulletin de paie"[2]


    Dr House n'a qu'a bien se tenir il à un beau rival ;-)

    [1] http://linuxhaters.blogspot.com/2009/05/tribute.html
    [2] http://sourceware.org/bugzilla/show_bug.cgi?id=4980
    [3] http://sourceware.org/bugzilla/show_bug.cgi?id=956
  • # Analogie avec XFree / Xorg

    Posté par  . Évalué à 10.

    Bonjour,

    en tant que vieil utilisateur (depuis 10 ans) de Debian (mais pas du tout développeur, donc je ne suis pas sûr que mon opinion soit pertinente), je trouve cette nouvelle d'un grand intérêt et j'essaye de comprendre, tout en conservant une certaine inquiétude.

    Je me demande si l'analogie avec le passage de XFree à Xorg s'applique vraiment. Autant que je me souvienne, les distributions majeures ont décidé ensemble d'un passage coordonné vers Xorg.
    Aujourd'hui, j'ai l'impression que Debian, certainement pour de bonnes raisons la question n'est pas là, part un peu tout seul à l'aventure. En particulier je doute que Red Hat décide de suivre. Et tout ça sur le composant du système le plus de base qui soit, plus que X qui est une surcouche (je connais des systèmes Linux sans X, mais pas sans libc).

    Cordialement,

    Albert
    • [^] # Re: Analogie avec XFree / Xorg

      Posté par  (site web personnel) . Évalué à 5.

      Un peu à l' identique de toi.
      A la diff que moi ça me fait dire "enfin une bonne raison de passer à Debian" :p
      Je me demande ce que va dire -encore- la LSB ... lol

      En tout cas, Debian fait là un joli pari (et j' aime ça). Bien entendu j' ai conscience de ce que cela implique (certainement pas tout) : une fission claire et précise entre les mondes redhat et debian. Les 2 "Linux Majors". (j' ai pas à prendre parti bien entendu, et j' apprécié les deux. Je trouve simplement cela très intéressant.)

      Enfin j' apprécie aussi que cela Debian qui donne ce "la".

      je sens qu' on va se régaler des commentaires ici (ça devient rare, et désolé si moi aussi je participe à 'baisser le niveau' des commentaires linuxfr. C' est dommage quant même de pouvoir lire de moins en moins de commentaires techniques juste parcequ' il y a des plus en plus de commentaires 'utilisabilité')

      Cdlt.
      • [^] # Re: Analogie avec XFree / Xorg

        Posté par  (site web personnel) . Évalué à 8.

        > En tout cas, Debian fait là un joli pari (et j' aime ça).
        > Bien entendu j' ai conscience de ce que cela implique (certainement pas tout) :
        > une fission claire et précise entre les mondes redhat et debian. Les 2 "Linux Majors".

        une fission ?

        Que dalle !

        Déjà, Eglibc a pour but la compatibilité binaire avec la glibc.
        Ensuite, Eglibc suis le développement de la glibc, le but n'est pas de forker mais d'intégrer des patchs important qui sont refusés ou non traités upstream (et c'est expliqué dans le journal et dans la dépêche, ça).

        La "fission" est déja présente et bien plus importante avec RPM/Deb, si tu veux... Même si ça reste du GNU/Linux.

        Pourquoi l'embarqué ? C'est vrai qu'il y a des libc qui sont axées là dessus, donc pourquoi vouloir trainer une lourdeur pareille ?

        Je suppose que quelques fonctionnalités sympa mais non standard sont intégrés à la glibc, et qu'une utilisation importante voir intensive rend le portage d'applications vers une libc "pour embarqué" difficile.

        Si les utilisateurs de glibc-eries peuvent avoir une glibc propre, plus légère et surtout configurable pour l'embarqué, tout bénef pour eux.

        Voici un petit lien sympa pour admirer les excellentes fitures que l'on peut trouver dans la glibc: http://palpatine42.free.fr/blog/post/2008/05/19/les-merveill(...) ...
        C'est beau hein ?
    • [^] # Re: Analogie avec XFree / Xorg

      Posté par  . Évalué à 10.

      je connais des systèmes Linux sans X, mais pas sans libc).
      Sans libc non, sans sans glibc oui :
      la plupart des système embarqué utilise uclibc, android utilise une libc maison basé sur celle des bsd et il existe encore d'autre libc pour linux (newlib, dietlibc, ...).
      • [^] # Re: Analogie avec XFree / Xorg

        Posté par  . Évalué à 4.

        C'est justement sur ce point que mon ignorance provoque mon inquiétude. Toutes les bibliothèques que tu cites, entre autres newlib, dietlibc, le lien vers OpenWrt dans la dépêche, et tout ce que je peux lire sur le sujet, fait référence à des systèmes embarqués.

        L'avenir de Debian, c'est de devenir un OS pour système embarqué ? Je le voyais pas comme ça...
        • [^] # Re: Analogie avec XFree / Xorg

          Posté par  (site web personnel) . Évalué à 2.

          L' avenir est incertain ;)
          Mais ce que semble sûr c' est que penser en premier lieu aux systèmes embarqués est certainement une très bonne chose. (surtout que celle là de libc, à priori ;p avec celle ci, ce qui marche "pour de l' embarqué" marchera aussi "pour du lourd").
          Et puis il n' y a pas que le côté technique, il y a le côté politique : se rendre indépendant de la GlibC (me) semble d' une logique limpide pour Debian (et les autres très peu cités pour le moment :p )
    • [^] # Re: Analogie avec XFree / Xorg

      Posté par  . Évalué à 5.

      Je ne suis pas sur que debian soit seul. Ubuntu devrait suivre, non ? je crois que ubuntu redémarre à partir d'une debian sid à chaque nouvelle version.
      ([http://www.ubuntu.com/community/ubuntustory/debian])

      Et debian + ubuntu ça fait un gros morceau déjà.
  • # Compatibilité à plus ou moins court terme

    Posté par  . Évalué à 9.

    Si la eglibc vise à assurer la compatibilité binaire avec la glibc, ne risque-t-on pas quand même de voir apparaître de nouvelles fonctions (comme strlcpy() et strlcat() ) dans la eglibc ? Des fonctions qui, si elles étaient utilisés dans certains programmes, limiteraient de facto la compatibilité au niveau du code source avec les autres distributions sous linux utilisant la glibc ?
  • # L'évolution demande de prendre des risques

    Posté par  (site web personnel) . Évalué à 9.

    La décision de Debian me semble pleinement jusitifiée. En effet, maintenir un code comme la glibc demande beaucoup de travail mais le faire évoluer c'est encore plus difficile !
    Alors, repartir sur un projet qui présente des bases solides c'est ce qu'il peut arriver de mieux pour le libre même si cela constitue quand même un risque majeur (bien qu'il soit toujours possible de revenir en arrière, ou créer un fork, si le projet eglibc tombe à l'eau !)
    Alors je pense que c'est une excellente nouvelle !
    Bon courage aux développeurs car maintenir un code amont pour Debian cela représente une sacré responsabilité mais c'est aussi l'assurance d'un retour important en matière de bug, trous de sécurité, etc...
    Enfin, je pense que ce choix va permettre de réveiller un peu les distributions dites commerciales qui s'enlisent dans un marché qui semble acquis et qui suffit à certains. Bousculer les habitudes, c'est bien une attitude de libriste non ;) ?
  • # GNU ...

    Posté par  . Évalué à 10.

    gcc maintenant glibc, on dirait que le monopole du projet GNU dans certains domaines est de plus en plus remis en question. Les produits phares d'hier semble souffrir de lacunes et de lenteurs vraiment pénalisantes aujourd'hui. Manquerait plus le Hurd soit abandonné ...
    • [^] # Re: GNU ...

      Posté par  . Évalué à 3.

      Mouais, le vrai OS GNU, emacs, a encore de beau jour devant lui (que The Hurd sorte ou pas)...
  • # on est vendredi

    Posté par  (site web personnel) . Évalué à -6.

    glibc sapuesépresqueplusdansdebian
  • # Sensationalisme ?

    Posté par  . Évalué à 4.

    200 patchs c'est énorme ?

    Combien y en a t-il pour leurs noyaux par exemple ? Plus de 300 pour la branche stable/testing et déja plus de 100 pour la branche instable.

    Combien de ces patchs sont debian-only ? Un exemple sur lequel je suis tombé en jetant un coup d'oeil sur logram : les packagers Debian de phonon le patche pour créer un "magic header" phonon sorti de nul part et qui n'existe absolument pas upstream. Le résultat c'est que logram ne compile pas sur autre chose que Debian et dérivées à moins de patcher...

    Qui est totalitaire ? J'ai un peu l'impression que si tu ne suis pas les désideratas et les points de vue des développeurs Debian, on te met cette étiquette.
    • [^] # Re: Sensationalisme ?

      Posté par  . Évalué à 8.

      Je pense qu'il y a vraiment deux types de patches. Il y a les patches "crades" qui sont là pour faire marcher quelque chose dans le contexte de la distrib (par exemple pour contourner plus facilement un bug difficile à fixer dans un autre paquet). Et puis il y a les patches constructifs, par exemple qui fixent proprement des bugs qui ne sont pas fixés upstream (projet abandonné, peu réactif, wontfix pour raisons politiques/philosophiques, etc).

      J'imagine que les dev Debian savent très bien faire la différence entre les deux types de patches, et sont tout à fait capables de dire quand les 200 patches sont dûs à des problèmes d'intégration propres à Debian (et donc sont des quickfixes qui ne sont pas destinés à sortir de Debian), et quels patches sont trainés de version en version parce qu'upstream glandouille ou méprise les rapports de bug.
      • [^] # Re: Sensationalisme ?

        Posté par  . Évalué à 0.

        Tu pars du principe que les développeurs Debian sont forcément plus compétents que les développeurs upstream, et que quand il y a désaccord ce sont ces derniers qui sont forcément dans leur tord...

        Et j'ai l'impression que seule Debian a un problème avec glibc.
        • [^] # Re: Sensationalisme ?

          Posté par  . Évalué à 3.

          Et j'ai l'impression que seule Debian a un problème avec glibc.

          En même temps, si ta distribution ne tourne que sur du x86, ce qui n'est pas le cas de debian \o/, tu ne vas pas t'offusquer de ce genre de choses: http://sourceware.org/bugzilla/show_bug.cgi?id=5070
          • [^] # Re: Sensationalisme ?

            Posté par  . Évalué à 2.

            En même temps si tu regardes la liste des 200 patchs, la majorité n'est pas spécifique à une architecture moins courante, arm c'est 6 patchs simplement.
            • [^] # Re: Sensationalisme ?

              Posté par  . Évalué à 3.

              Ce sont surtout les réactions du bonhomme qui posent problème, et c'était visible dans sa réponse au bug sur arm lorsqu'il répondait qu'il n'en a rien à faire vu que cela ne concernait que "this crap architecture". Voici d'autres liens pour se faire une idée:
              http://sourceware.org/bugzilla/show_bug.cgi?id=956
              http://sourceware.org/bugzilla/show_bug.cgi?id=4403

              Je peux comprendre que des développeurs en aient assez, d'où eglibc.
              • [^] # Re: Sensationalisme ?

                Posté par  . Évalué à 8.

                D'un autre côté, c'est quand même hallucinant qu'un sociopathe pareil ait pu accéder à de telles responsabilités. La compétence ne s'estime pas seulement sur la technique, mais sur la capacité à mener à bien un projet, ce que ce gars n'est assurément pas capable. Il n'y a personne chez GNU qui aurait pu prendre la responsabilité de le débarquer, plutôt que de laisser le marché à d'éventuels forks?
                • [^] # Re: Sensationalisme ?

                  Posté par  . Évalué à 5.

                  En même temps et d'un autre côté, les attaques ad hominem ça me gêne un peu sur les bords, surtout quand ça sert de support à des choix techniques dont l'impact est non négligeable.
                • [^] # Re: Sensationalisme ?

                  Posté par  (site web personnel) . Évalué à 10.

                  Ben comme ça eglibc va peut-être jouer le rôle de buffer entre Ulrich et le monde extérieur ?
                  Lui pourra continuer à faire ce qu'il sait faire le mieux (la technique) et les gars d'eglibc détourneront vers eux une partie des feature request des utilisateurs (l'interaction avec les gens).
                  Tout le monde sera content.
                • [^] # Re: Sensationalisme ?

                  Posté par  (site web personnel) . Évalué à 1.

                  D'un autre autre côté, sur un projet aussi central que la libc, je pense que la capacité la plus importante, c'est celle de dire « non ». Et pour ça il a l'air très fort. ;-)

                  (Il a l'air aussi assez fort en termes de standards : qu'est-ce que c'est de les respecter, surtout quand ils sont incompatibles, qu'est-ce que c'est que de créer (ou d'éviter de créer) un standard ou une obligation future.)
                  • [^] # Re: Sensationalisme ?

                    Posté par  . Évalué à 10.

                    Savoir dire non est important oui, savoir comment dire non est tout aussi important.

                    On a deja vire des gens excellents techniquement mais avec qui il etait imposible de travailler car ils etaient de veritable sociopathes a la limite de la violence physique.
                    La glibc comme tu le dis est un element critique, un element qui ne peut etre detenu par une seule personne. Partant de la ca doit etre un travail de groupe, si une personne bloque le travail de groupe, menace les gens, ... elle doit etre exclue, point.
                  • [^] # Re: Sensationalisme ?

                    Posté par  . Évalué à 4.

                    Pour ce qui est des standards, la ligne du projet GNU a toujours été claire : merde aux standards non GNU s'ils entravent le GNU.

                    The GNU Project regards standards published by other organizations as suggestions, not orders
                    http://www.gnu.org/prep/standards/standards.html#Non_002dGNU(...)

                    BeOS le faisait il y a 20 ans !

                • [^] # Re: Sensationalisme ?

                  Posté par  . Évalué à 5.

                  Il semble que Stallman en personne soit intervenu pour essayer de débarquer le monsieur en 2001, malheureusement, il s'accroche comme une huitre à son rocher. Lire "And now for some not so nice things." dans le messages suivant :

                  http://sources.redhat.com/ml/libc-announce/2001/msg00000.htm(...)
                  • [^] # Re: Sensationalisme ?

                    Posté par  (site web personnel) . Évalué à 3.

                    Hé hé, cette phrase de Drepper ne manque pas de sel :-)

                    He tried to conspire behind my back and persuade the other main developers to take control so that in the end he is in control and can dictate whatever pleases him.

                    "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

                    • [^] # Re: Sensationalisme ?

                      Posté par  . Évalué à 1.

                      he is in control and can dictate whatever pleases him.
                      Pourtant j'en connaît une qui adore ça :-)
                  • [^] # Re: Sensationalisme ?

                    Posté par  (site web personnel) . Évalué à 10.

                    Enfin ça semblait plutôt être une bataille de « control freaks », hein, parce que Stallman c'est pas un facile non plus. Combien de « ses » projets ont été forkés ?
                • [^] # Commentaire supprimé

                  Posté par  . Évalué à 5.

                  Ce commentaire a été supprimé par l’équipe de modération.

                  • [^] # Re: Sensationalisme ?

                    Posté par  . Évalué à 6.

                    > alors autant Red Hat paye le gars pour faire le boulot que Red Hat lui demande, autant Red Hat a probablement rien a foutre des demandes que le sieur refuse.

                    et euh comment Red Hat peut savoir avec certitude si toto ne refuse pas certaines corrections critiques pour son employeur juste parce qu'il s'est levé du pied gauche ?
        • [^] # Re: Sensationalisme ?

          Posté par  . Évalué à 5.

          Et j'ai l'impression que seule Debian a un problème avec glibc.

          La première URL du bugtracker que j'ai lu ( http://sourceware.org/bugzilla/show_bug.cgi?id=4980 ) fait référence à Suse. Le ton des réponses est exactement le même.
  • # Est-ce que je suis le seul à penser à egcs?

    Posté par  . Évalué à 5.

    L'histoire me fait un peu penser au fork egcs, qui est devenu le nouveau gcc à la fin.

    Quelqu'un se rappelle en détail de ce qui s'était passé?
    • [^] # Re: Est-ce que je suis le seul à penser à egcs?

      Posté par  (site web personnel) . Évalué à 2.

      Après une petite recherche rapide, j'ai retrouvé ça : http://fr.wikipedia.org/wiki/GNU_Compiler_Collection#Histoir(...) (ce qui m'a surtout permis de confirmer qu'il y avait bien eu une histoire similaire avec GCC).
    • [^] # Re: Est-ce que je suis le seul à penser à egcs?

      Posté par  (site web personnel) . Évalué à 9.

      Je pense que tu as parfaitement résumé la chose en une ligne. A l'époque, je me souviens, gcc ne bougeait pas et egcs apportait vraiment du plus a nos programmes. Heureusement, les personnes ont à l'époque réussit à rediscuter et à refusionner pour reformer gcc.

      Cela n'a pas été le cas avec XFree ou Sodipodi qui sont toujours là malgré le fork mais ne doivent plus être très utilisé.

      On verra avec cette libc. Je pense que la FSF suit cela de près et pour l'instant regarde avant de prendre une décision. Il faut voir si les personnes derrière la eglibc sont capable de faire vivre ce projet sur la durée.

      Comme la eglibc a vocation a rester compatible API/ABI avec la glibc, je ne serais pas étonné qu'il y ai fusion à terme des deux projets si l'organisation de la eglibc fonctionne.

      Au final, debian se simplifie la vie et remonte ainsi plus facilement ses bogues pour les partager (cf pb du bogue introduit par debian dans openssl). Par ailleurs, debian ne prends pas tant de risque que cela car le retour sur la glibc me semble toujours possible sans chambouller tout le projet.

      Bref, cela a bien moins d'impact que lors du passage de la libc6 a la glibc2 qui avait foutu un bordel dans toutes les distributions. D'ailleurs, pour ceux qui se rappelle, lors de se passage à la glibc2, cela avait plusieurs fois chauffées entre la glibc et le noyau linux car linus refusait de faire des bidouilles dans le kernel dont le seul but était de contourner des bogues dans la glibc. Au final, la glibc a du corriger ses bogues...
  • # Vous êtes devenus complètement tarré ?

    Posté par  . Évalué à -10.

    C'est quoi ce linchage d'Ulrich Drepper ?
    Ulrich Drepper n'a pas le monopole de la libc. Il n'y a pas que lui qui refuse ces patchs.
    Si vous êtes si balaise et Drepper si mauvais, faites un fork.
    Ulrich Drepper a fait un boulot considérable. Il n'a pas fait que critiquer.
    • [^] # Re: Vous êtes devenus complètement tarré ?

      Posté par  . Évalué à 6.

      Si vous êtes si balaise et Drepper si mauvais, faites un fork.

      Ben, c'est le sujet de la dépêche non?

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: Vous êtes devenus complètement tarré ?

        Posté par  . Évalué à 6.

        ...faites un fork.

        Ben, c'est le sujet de la dépêche non?

        Ben non, le sujet c'est : Debian remplace la glibc par eglibc.
        Et en parlant de eglibc, la dépêche dit : Ce n'est pas à proprement parler un « fork » de la glibc, c'est une collection de patchs visant l'embarqué.

        ok, je sors.
    • [^] # Re: Vous êtes devenus complètement tarré ?

      Posté par  . Évalué à 10.

      Le probleme c'est visiblement pas que drepper soit mauvais, mais qu'il soit un sociopathe qui envoie chier tout le monde et bloque apparement le bon management du projet.

      Et c'est pas parce qu'il est employe par Red Hat que ca doit excuser des "Live with it" et autres "Stop wasting people's time! Nobody cares about this crap. I made a last change
      but it's just too embarasing to even admit that." ou des "If you want explanations pay somebody."

      On est pas loin du "hey, why don't go play hide and fuck yourself?"
      Sur un bugtracker public, ca fait tache.

      Perso je m'en cogne, c'est pas mon pb, mais avec un mec pareil dans mon equipe, ma premiere idee c'est de voir avec le management pour le lourder (ou le faire changer d'attitude, au choix, mais je pense que le monsieur est irrecuperable).
      Et si je bosse avec lui mais pas dans le meme equipe (genre comme debian par ex), le fork parait une idee raisonnable.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.