Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

simplification du modèle : délétion des repository #14

Open
gzoumix opened this issue Nov 12, 2013 · 1 comment
Open

simplification du modèle : délétion des repository #14

gzoumix opened this issue Nov 12, 2013 · 1 comment
Assignees

Comments

@gzoumix
Copy link
Contributor

gzoumix commented Nov 12, 2013

J'avais proposé, dans un mail précédent, de changer dans le modèle le status de repository comme simple package. Cela a plein d'avantages, avec le seul inconvénient que ce n'est pas trop intuitif du côté utilisateur, car un ensemble de paquets n'est pas un paquet. En fait, on n'est pas obligé d'enlever la notion de repository de zephyrus : on garde les déclarations de repository comme elles sont actuellement, on ajoute seulement la possibilité d'avoir des conflits et des dépendences qui mentionne des repository. De plus, on met la déclaration du repository d'une location dans son ensemble de paquets (ce qui permet à une machine de ne pas avoir de repository => bien plus simple de déclarer une configuration vide). En interne, les repository sont transformés en paquets avec les bonnes dépendences, et tout fonctionne bien : y'a pas de repository dans le modèle, et l'utilisateur est content car il en a, avec toute la flexibilité des paquets.

@rdicosmo
Copy link
Member

Je reviens sur cette proposition d'encoder les repositories comme des paquets.

Il peut evidemment etre attractif de l'adopter pour permettre a l'utilisateur
d'exprimer des relations comme debian contrib --> debian main.

Par contre, il faut faire tres tres attention a comment on traite les conflits
entre repositories: ajouter simplement ces dependences dans la soupe des
contraintes est extremement dangereux

  • si tous les paquets d'un repertoire R dependent sur le pseudopaquet pR
    qui represente le repertoire R, et pR est en conflit avec pR', sur lequel
    dependent tous les paquets d'un repertoire R', alors l'algorithme de
    simplification de coinst devient completement inefficace; je pourrais
    vous expliquer pourquoi au tableau si vous voulez
  • il faudrait donc d'abord passer coinst sur chaque repertoire, et seulement
    apres ajouter les pseudopaquets; cela reglerait les conflits, mais il est
    moins claire que cela serait efficace pour les implications type debian contrib --> debian main
  • reste aussi a voir comment se comportent les solveurs quand on leur passe
    une soupe de contrainte dans laquelle on a implicitement ajoute des dizaines
    ou centaines de milliers de conflits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants