Journal kconfig-frontends: un empaquetage de kconfig

Posté par . Licence CC by-sa
Tags : aucun
13
20
mar.
2012

Bonjour, Nal!

Je t'écris pour te faire part d'un tout nouveau petit projet qui vient de voir sa toute première version : kconfig-frontends est maintenant disponible en version 3.3.0-0 !

kconfig-frontends est un empaquetage propre du langage kconfig, utilisé par le noyau Linux. Il propose les 5 frontaux actuels, et une librairie pour le parser :

  • conf, le frontal en-ligne (pour make config, make oldconfig)
  • mconf, le frontal classique basé sur ncurses (make menuconfig)
  • nconf, le nouveau frontal basé sur ncurses (make nconfig)
  • gconf, le frontal basé sur GTK+ (make gconfig)
  • qconf, le frontal basé sur Qt (make xconfig)
  • libkconfigparser, la librairie (dynamique ou statique) contenant le parser

kconfig est un langage de configuration, issu du noyau Linux. La syntaxe et la grammaire sont très simples :

  • nombre limité de types : bool, tristate, string, int (et hex, un int exprimé en hexadécimal)
  • gestion des listes à sélection unique (choice)
  • gestion des dépendances avant (select) et arrière (depends on)
  • localisation L10n (bien que très peu utilisée, il est possible de localiser les entrées de configuration aussi bien que les messages)

Par exemple, ce bout de code de configuration :

config MON_OPTION
    bool
    prompt "Mon option à moi"
    help
      Dites oui!

config Une_Autre_option
    string
    prompt "Votre nom"
    depends on MON_OPTION
    help
      Entrez votre nom.

donnera ce fichier de sortie une fois la configuration établie (si on a choisi de dire 'oui' à la première question) :

MON_OPTION=y
Une_Autre_option="Yann E. MORIN"

Ce fichier peut alors être inclus dans un Makefile, ou dans un script shell. On peut le parser pour générer un fichier d'en-tête (le noyau le fait, pas kconfig-frontends).

De nombreux projets utilisent aujourd'hui kconfig comme langage de configuration, par exemple : busybox buildroot, uClibc, crosstool-NG, etc… Tous ces projets ont un jour dupliqué le code de kconfig par simple copie, et l'ont adapté à leur propre système de compilation. Certains projets se synchronisent avec le code source du noyau Linux, parfois de manière aléatoire, parfois jamais. D'autre divergent sans remonter leurs modifications…

Le paquet kconfig-frontends permet d'intégrer facilement kconfig dans des projets tiers, qui l'utilisent comme langage de configuration. Les évolutions de kconfig continueront à se faire dans les sources du noyau Linux, et kconfig-frontends sera mis à jour à chaque version du noyau.

En fournissant un paquet prêt à l'emploi, il est à espérer que les différents projets se synchroniseront plus facilement et plus régulièrement, et feront partager leurs évolutions vers le upstream du noyau.

Maintenant, les pointeurs !

Le plan d'actions pour le futur :

  • une version de kconfig-frontends pour chaque version majeures (dot-0 release) du noyau Linux (pour la première fois, c'est pour le noyau 3.3)
  • une version de kconfig-frontends si une version mineure (dot-release) corrige un bug du parser kconfig ou d'un frontal
  • une version pour corriger les bugs dans l'empaquetage
  • trouver une vrai maison pour le projet
  • migrer le dépôt vers git (à court terme)
  • faire de la doc ! :-)

Voilà, j'ai fait le tour !

Hop,
Moi.

  • # Dépêche

    Posté par (page perso) . Évalué à 3.

    Trouvant ce journal très intéressant je me suis permis de l'envoyer en modération pour qu'il puisse paraitre en tant que dépêche.
    La prochaine fois n'hésite pas à soumettre directement au lieu de faire un journal !

    • [^] # Re: Dépêche

      Posté par . Évalué à 4.

      Trouvant ce journal très intéressant je me suis permis de l'envoyer en modération pour qu'il puisse paraitre en tant que dépêche.

      De mon point de vue, ça ne valait pas une dépêche. Ce n'est qu'un tout petit bout d'autotools qui encapsule le kconfig du noyau, il n'y avait pas vraiment de quoi s'emballer, à mon avis.

      Mais lire que des gens ( surtout patrick_g ! ) ont trouvé le journal intéressant, bein, c'est pas rien ! ;-)

      Merci !

      Et sinon : s/paraitre/paraître/;  ;-]

      Hop,
      Moi.

    • [^] # Re: Dépêche

      Posté par . Évalué à 6.

      Très intéressant en effet :)
      Mais sans vouloir troller, ça sert à quoi de le copier en dépêche ?
      Encore ce serait un déplacement je veux bien, mais ça arrive trop souvent que des journaux soient copiés en dépêche et tous les commentaires du journal d'origine se retrouvent désynchronisés de ceux de la dépêche…

      Déplacement du journal avec ses commentaires en dépêche sinon rien IMO !

      De plus je porte autant d'intérêt aux journaux qu'aux dépêches donc ça ne change rien pour moi et pour la majorité des gens ici (je pense, c'est une hypothèse)

      • [^] # Re: Dépêche

        Posté par (page perso) . Évalué à 3.

        Encore ce serait un déplacement je veux bien, mais ça arrive trop souvent que des journaux soient copiés en dépêche et tous les commentaires du journal d'origine se retrouvent désynchronisés de ceux de la dépêche…

        Et si le déplacement est trop compliqué à mettre en oeuvre, l'ajout en tête du journal d'un petit bandeau disant qu'il a été promu en dépèche serait déja bien.

        Parce que je commence toujours ma journay dans DaLFP par les petits 'nals.

        * Ils vendront Usenet^W les boites noires quand on aura fini de les remplir.

        • [^] # Re: Dépêche

          Posté par (page perso) . Évalué à 3.

          En fait on s'est aperçu qu'il y avait pas mal de gens qui ne lisaient que les dépêches. Donc la promotion d'un journal en news permet de lui donner de la visibilité auprès de cette catégorie de lecteurs.

          • [^] # Re: Dépêche

            Posté par (page perso) . Évalué à 2.

            la promotion d'un journal en news permet de lui donner de la visibilité

            Parfaitement d'accord, mais j'ai quand même ouvert un suivi, au cas où ça inspirerait nos vaillants DaCodeurs…

            * Ils vendront Usenet^W les boites noires quand on aura fini de les remplir.

        • [^] # Re: Dépêche

          Posté par . Évalué à 2.

          Ou bien fermer les commentaires de la dépêche et ne laisser que ceux du journal.

          • [^] # Re: Dépêche

            Posté par (page perso) . Évalué à 4.

            Le ton des commentaires d'un journal est souvent différent de ceux d'une dépêche, sans compter que le passage en dépêche peut introduire des éléments nouveaux (ou corrigés), ce qui invalide des commentaires du journal (ou l'inverse). Une fusion automatique n'est donc pas forcément une bonne idée.

            « 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

  • # Bonne nouvelle

    Posté par . Évalué à 1.

    J'avais personnellement beaucoup cherché un tel paquet, et me rabattais systématiquement sur les sources du noyau. Merci :-)

    • [^] # Re: Bonne nouvelle

      Posté par . Évalué à 3.

      J'avais personnellement beaucoup cherché un tel paquet[…]. Merci :-)

      Avec plaisir ! :-)

      Es-tu le "kpet" que je connais dans la vraie vie ? ;-)

      Hop,
      Moi.

      • [^] # Re: Bonne nouvelle

        Posté par . Évalué à 1.

        Je pense que oui, à moins que tu en connaisses plusieurs :-)

Suivre le flux des commentaires

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