• [^] # Re: Pinning

    Posté par . En réponse au lien Le cauchemar de l'empaquetage: côté distrib. Évalué à 6.

    En tant que dev, j’ai des ressources limitées et je peux pas garantir que mon code est compatible avec toutes les versions d’une bibliothèque externe.

    Donc... si dans tes dépendances, ou les dépendances de tes dépendances, il y a une dépendance stricte à la version 1.2.3 d'une libfoo qui a un trou de sécurité, alors qu'une libfoo 1.2.4 est dispo... tout le monde doit attendre que l'info de la faille remonte toute la chaîne de dépendance jusqu'à ce que tu mettes en ligne une nouvelle version ?
    Mettons que cela ne prenne que 2 jours par dépendance. Si ton appli marcel dépend de libbar qui dépend de libfoo, on est déjà à 4 jours d'une faille béante, possiblement exploitée...
    Je conçois que l'on mette une dépendance sur une version minimale d'une dépendance, mais une version stricte, j'ai beaucoup plus de mal. Par ailleurs, comment garantis-tu que ton code soit pleinement compatible avec la version X, puis quand une X+1 est disponible, compatible avec cette X+1 ? Un ensemble de tests unitaires ?

    Et du coup, question bonus : si libfoo 1.2.4 casse un programme conçu avec libfoo 1.2.3, n'est-ce-pas la faute de libfoo d'avoir rompu une règle élémentaire de compatibilité entre les versions mineures ?