[HELP WANTED] Script de création sources.list / preferences

[quote=“MisterFreez”]
Je suis un chieur mais il me semble que ce qui correspond le mieux à ce cas c’est un formulaire web[…][/quote]
+1
mais la question est de savoir si ce +1 est pour le coté “chieur” ou pour l’idée du formulaire :laughing:

Plus sérieusement, je te suis pour le formulaire, car outre l’aspect technique, j’y vois les aspects suivants :

  • cela peut devenir un “service” du site debian-fr.org et donc un atout
  • la correction de “bugs” est plus “largement” diffusée (tout comme la diffusion de bugs d’ailleurs)
  • la maintenabilité en est simplifiée si il s’agit d’un service du site. En effet il n’y aurait qu’une seule version centralisée et non autant de version téléchargées et potentiellement modifiées par l’utilisateur.

J’ai uploadé (dans le premier message) une gribouille qui ne fait que poser des questions et calculer les dépôts nécessaires sans toucher à rien sur le système. Plusieurs remarques :

  • c’est loin d’être complet (ça ne génère pas réellement de sources.list / preferences, juste une liste de dépôts + priorités, et aucune gestion des miroirs)
  • j’ai mis des « (recommandé) » dans l’optique de guider un débutant complet, pas forcément d’être au top du top. Par exemple, je recommande d’inclure les backports sur une stable, comme ça c’est dispo dès le départ (et ça mange pas de pain vu qu’il faut une manip spéciale pour installer un backport). Forcément c’est discutable, alors discutez. :stuck_out_tongue:
  • de même, j’ai fait les pinnings en fonction de ce qui me semble le plus logique et des contraintes des divers dépôts, à discuter encore une fois
  • pas utile de faire des remarques sur l’implémentation proprement dite pour le moment, vu que ça va sûrement changer beaucoup (je sais, c’est crade et rempli de bashismes…)

Y’a pas non plus 36 millions de combinaisons possibles, et sachant que les .deb ne seront pas bien gros c’est pas la fin du monde de tout cacher à la volée en base de données (cache complètement effacé lors d’une mise à jour du script of course). Ça va bouffer quoi ? 1 Mo à tout casser…
Cela dit je vous laisse vous battre avec vos histoires de .deb et d’interface web, moi je m’occupe de faire un script fonctionnel ça sera déjà pas mal… :mrgreen:

[quote=“Totor”]- la correction de “bugs” est plus “largement” diffusée (tout comme la diffusion de bugs d’ailleurs)

  • la maintenabilité en est simplifiée si il s’agit d’un service du site. En effet il n’y aurait qu’une seule version centralisée et non autant de version téléchargées et potentiellement modifiées par l’utilisateur.[/quote]
    Ça c’est clairement un ÉNORME plus, d’autant que le script sera forcément amené à évoluer régulièrement (changements dans les dépôts mozilla, changement de stable, …).

L’exemple donné en astuce fait 2^27 combinaison, le nombre maximal de fichier pour un système de fichier ext4 c’est 4*10^9. Il faudrait donc utiliser un cache en btrfs (il permet 2^64 fichiers).

Bien sûr si on arrive à avoir 2^27 requête avant disons décembre 2013 (date éventuelle de sortie de la prochaine version) 2^27/14/30 (disons qu’un moi fait 30 jours) ça voudrait dire que le script génère 320 000 demandes par jours (différentes je ne compte que des combinaisons de demandes différentes). Ça fait 220 connexion à la minute, je pense que le site web tombera avant le système de fichier.

Donc oui on peut tout mettre en cache si ça peut faire plaisir.

Pour ce qui est de l’interface web j’avais penser à un couple nginx/tornado. Nginx distribue tout ce qui est statique (le formulaire et tout ce qui va avec et le paquet) et tornado pour lancer le script et renvoyer une page avec le lien pour télécharger le paquet (et un petit descriptif sur l’installation de celui-ci.

Histoire de se simplifier la tache on peut, peut être, oublier le paquet pour le moment histoire de voir comment le tout peut se faire. Je bosserais là dessus ce week end, je pense.

Ah oui quand même… :mrgreen:
Je crois comprendre pourquoi j’ai jamais été bon en maths : arrivé à 100, « ça fait beaucoup mais il doit plus en rester tant que ça après ». :icon-lol:

[quote=“MisterFreez”]dotdeb.org je ne connais pas mais leu slogan c’est :

C’est bien un dépôt qui backport des versions de serveurs pour pouvoir faire un web avec Debian ?[/quote]

Yes ! Voilà une interview de son mainteneur (Guillaume Plessis) qui présente bien le projet :
http://www.dotdeb.org/2010/01/20/dotdeb-interviewed-by-php-tv/

Pour info, Guillaume a été employé pendant près de 10ans par un gros hébergeur pro (Nexen, devenu AlterWayHosting depuis…) qui utilise en interne Dotdeb sur ses serveurs. Un gage de qualité :slightly_smiling:

Pour revenir sur ces deux points:

  • formulaire sur un serveur Web: Oui, c’est ce qu’il y a de mieux. Un script qui se ballade, c’est plus risqué (à moins d’avoir un système comme smxi: qui vérifie à chaque lancement s’il est à jour)

  • Le deb: Moi ça me chagrine un peu de ne pas avoir le contrôle…

  • J’aime bien mes fichiers list et preferences dans les dossiers ad-hoc (les .d)
  • Dans le cas ou l’on a déjà un fichier préférences (c’est le cas de beaucoup, notamment à cause de - grace à - apt-listbugs)

Bref… ça impose, il me semble, de prendre en compte des configuration très diverses, avec les risques que ça comporte.

Mon opposition n’est pas “de principe”, et c’est très cool de la part de ceux qui savent coder de se pencher sur ce sujet! :023

Pas très compliqué à mettre en place, faut juste y penser (ce qui est fait maintenant :006).

Où en est-on du support de ces dossiers ? La dernière fois que j’ai essayé (y’a longtemps) aptitude ne les gérait pas correctement. Quid de Synaptic et autres bidules exotiques ?
Faudrait valider que tout ça fonctionne sur Squeeze (quelqu’un en a une sous la main pour tester ?).

Tout chez moi en en Squeeze. Je testerais ce soir.

Je repasse ici pour continuer la discussion commencée là, pas besoin de polluer le sujet de Grhim plus qu’il ne l’est déjà…

Euh… il est pas du tout fini, pour le moment il ne génère rien (mis à part l’affichage des variables utilisées dans le script, mais faut voir ça comme du code de débogage). :blush:
Pour être honnête, je l’avais un peu oublié (ça m’arrive, j’ai toujours dix mille trucs en cours en même temps et des fois y’en a qui passent à la trappe pendant un moment jusqu’à ce que je m’en rappelle). Maintenant qu’on me l’a remis en mémoire je vais voir ce que je peux y faire, ça devrait pas être trop compliqué niveau code.

Pour faire avancer les choses, je pense que je vais oublier l’histoire des .d pour le moment, on pourra toujours adapter après.

Parfait.
Si tu arrive à faire un “truc” qui fonctionne, je veux bien m’occuper du php/html pour le mettre en ligne. :wink: