Existe-t-il un moyen d'obtenir des différences de source entre un package installé localement et son package mis à jour? Cela sera utile pour vérifier exactement quelles pièces ont été corrigées, modifiées ou ajoutées.
Par exemple, supposons que le package linux-libc-dev soit installé sur votre système et
Sudo apt-get update && Sudo apt-get upgrade
spectacles
The following packages will be upgraded:
linux-libc-dev
mais vous souhaitez vérifier, avant de le mettre à niveau, les modifications exactes qui ont été apportées par rapport à votre version locale du même package.
Comment pouvons-nous le faire?
Voici une autre solution que j'ai piratée ensemble: whatchanged .
Il prend le nom du package binaire qui vous intéresse comme seul argument. Pour utiliser une SRU récente comme exemple:
./whatchanged python_papyon
C'est ce que ça fait:
debdiff
et sortez vers stdout (vous voudrez probablement rediriger pour une lecture plus facile)Il doit probablement mieux gérer certaines choses qui peuvent mal se passer lors de la récupération de la source, le contrôle de flux est probablement un peu désactivé et il doit y avoir des moyens plus élégants pour la vérification de la version, mais cela a bien fonctionné jusqu'à présent dans mes tests limités. Pour l'instant, considérez-le comme un hack rapide qui fonctionne et les améliorations sont les bienvenues. Je vais le pousser vers un dépôt bzr et/ou créer un projet Launchpad s'il est utile à quelques personnes.
Edit : Plutôt que de le laisser pourrir sur Pastebin, j'ai commencé n projet Launchpad pour cela; vous pouvez obtenir la dernière révision du tronc avec bzr branch lp:whatchanged
. N'hésitez pas à signaler les bugs, à les ramifier, à les réécrire en Perl, etc.
Afaik la seule façon de le faire est d'obtenir la source et de faire soi-même la différence. Vous pouvez obtenir la source réelle utilisée pour compiler les packages avec apt-get. fx:
apt-get source gwibber=2.30.2-0ubuntu3 gwibber=2.30.0.1-0ubuntu1
diff -rupN gwibber-2.30.0.1/ gwibber-2.30.2/
Cela imprimera toutes les différences entre tous les fichiers dans un format de correctif standard.
En voici une (probablement pas optimale) UDD façon de le faire:
Pull -updates branche pour votre version (en supposant Lucid) qui (supposition ci-dessous) doit contenir la dernière SRU:
bzr branch lp:ubuntu/lucid-updates/package_name
Obtenez les modifications introduites par la dernière révision, qui (hypothèse ci-dessous) devrait correspondre à la dernière SRU:
bzr diff -c`bzr revno`
Si vous souhaitez voir les différences de fichiers dans les archives du package, extrayez leurs fichiers md5sums, triez et différez-les, puis vous pouvez restreindre la liste des fichiers réels à comparer de manière spectaculaire.