Aquí hay otra solución que pirateé juntos: lo que cambió .
Toma el nombre del paquete binario que le interesa como único argumento. Para usar una SRU reciente como ejemplo:
./whatchanged python_papyon
Esto es lo que hace:
- Compruebe si hay un candidato de actualización; salir si no hay ninguno
- Si existe un candidato, cree directorios temporales y obtenga los paquetes fuente tanto para la versión instalada como para el candidato.
- Compare los dos con
debdiff
y salida a stdout (probablemente desee redirigir para una lectura más fácil)
- Limpia los directorios temporales.
Probablemente necesite manejar mejor ciertas cosas que pueden salir mal durante la recuperación de la fuente, el control de flujo probablemente esté un poco apagado y debe haber formas más elegantes para verificar la versión, pero funcionó bien en mis pruebas limitadas hasta ahora. Por ahora, considérelo un truco rápido que funciona, y las mejoras son bienvenidas. Lo enviaré a un repositorio bzr y / o crearé un proyecto de Launchpad si es útil para algunas personas.
Editar : en lugar de dejar que se pudra en pastebin, comencé un proyecto de Launchpad para ello; puede obtener la última revisión de troncal con bzr branch lp:whatchanged
. Siéntase libre de reportar errores, bifurcarlo, reescribirlo en Perl, etc.
Afaik, la única forma de hacerlo es obtener la fuente y hacer que las diferencias sean tuyas. Puede obtener la fuente real utilizada para compilar los paquetes con apt-get. fx:
Esto imprimirá todas las diferencias entre todos los archivos en un formato de parche estándar.
fuente
Aquí hay una forma UDD (probablemente no óptima) de hacerlo:
Tire de la rama de actualizaciones para su lanzamiento (suponiendo que Lucid) que (se supone a continuación) debe contener la última SRU:
Obtenga los cambios introducidos por la última revisión, que (se supone) debe corresponder a la última SRU:
fuente
apt-cache show package_name | grep Source:
.<package_name>
así obtenido no funciona en algunos paquetes:bzr branch lp:ubuntu/lucid-updates/$(apt-cache show linux-libc-dev | grep -m 1 Source: | awk "{print \$2}")
=> bzr: ERROR: URL no válida suministrada para el transporte: "bzr + ssh: //bazaar.launchpad.net/+branch/ubuntu/lucid-updates/linux" : no hay esquemas compatiblesSi desea ver las diferencias de archivos en los archivos del paquete, extraiga sus archivos md5sums, ordénelos y difúndalos, y luego puede reducir la lista de archivos reales para compararlos dramáticamente.
fuente
Puede que no sean los cambios "exactos", pero
apt-listchanges
enumera las entradas del registro de cambios para los cambios que se han realizado desde la versión instalada.Funciona agregando un paso después de que termine de descargar los nuevos paquetes, pero antes de que comience la instalación, donde le muestra la entrada del registro de cambios para cada paquete que se va a actualizar. Luego puede continuar o cancelar. Puedes instalarlo con
luego configúrelo con
fuente