Voici une autre solution que j'ai piratée ensemble: ce qui a changé .
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
Voilà ce que cela fait:
- Vérifiez s'il y a un candidat de mise à jour; sortir s'il n'y en a pas
- Si un candidat existe, créez des répertoires temporaires et récupérez-y les packages source pour la version installée et le candidat
- Comparez les deux avec
debdiff
et sortie vers stdout (vous voudrez probablement rediriger pour une lecture plus facile)
- Nettoyez les répertoires temporaires.
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é un projet Launchpad pour cela; vous pouvez obtenir la dernière révision du tronc avec bzr branch lp:whatchanged
. N'hésitez pas à signaler des 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:
Cela imprimera toutes les différences entre tous les fichiers dans un format de correctif standard.
la source
Voici une manière UDD (probablement pas optimale) de le faire:
Pull -updates branche pour votre version (en supposant Lucid) qui (supposition ci-dessous) doit contenir la dernière SRU:
Obtenez les modifications introduites par la dernière révision, qui (hypothèse ci-dessous) devrait correspondre à la dernière SRU:
la source
apt-cache show package_name | grep Source:
.<package_name>
ainsi obtenu ne fonctionne pas sur certains packages:bzr branch lp:ubuntu/lucid-updates/$(apt-cache show linux-libc-dev | grep -m 1 Source: | awk "{print \$2}")
=> bzr: ERREUR: URL non valide fournie pour le transport: "bzr + ssh: //bazaar.launchpad.net/+branch/ubuntu/lucid-updates/linux" : aucun programme pris en chargeSi 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.
la source
Il ne s'agit peut-être pas des modifications "exactes", mais
apt-listchanges
répertorie les entrées du journal des modifications pour les modifications apportées depuis la version installée.Il fonctionne en ajoutant une étape après avoir terminé de télécharger les nouveaux packages, mais avant le début de l'installation, où il vous montre l'entrée du journal des modifications pour chaque package sur le point d'être mis à niveau. Vous pouvez ensuite continuer ou annuler. Vous pouvez l'installer avec
puis configurez-le avec
la source