Oto inne rozwiązanie, które razem zhackowałem : zmieniłem .
Jako jedyny argument przyjmuje nazwę interesującego Cię pakietu binarnego. Aby użyć najnowszej wersji SRU jako przykładu:
./whatchanged python_papyon
Oto, co robi:
- Sprawdź, czy jest kandydat na aktualizację; wyjdź, jeśli nie ma
- Jeśli kandydat istnieje, utwórz katalogi tymczasowe i pobierz do nich pakiety źródłowe dla zainstalowanej wersji i kandydata
- Porównaj dwa z
debdiff
wyjściem na standardowe wyjście (prawdopodobnie będziesz chciał przekierować dla łatwiejszego czytania)
- Oczyść katalogi tymczasowe.
Prawdopodobnie musi lepiej radzić sobie z niektórymi rzeczami, które mogą się nie udać podczas pobierania źródła, kontrola przepływu jest prawdopodobnie trochę wyłączona i muszą być bardziej eleganckie sposoby sprawdzania wersji, ale jak dotąd działało dobrze w moich ograniczonych testach. Na razie rozważ to szybki hack, który działa, a ulepszenia są mile widziane. Przepchnę go do repozytorium bzr i / lub utworzę projekt Launchpad, jeśli jest przydatny dla kilku osób.
Edycja : Zamiast pozwolić, aby gniło na pastebin, rozpocząłem dla niego projekt Launchpad ; możesz uzyskać najnowszą wersję pnia za pomocą bzr branch lp:whatchanged
. Możesz zgłaszać błędy, rozgałęziać je, przepisywać w Perlu itp.
Afaik jedynym sposobem na zrobienie tego jest zdobycie źródła i uczynienie diff sobą. Możesz pobrać rzeczywiste źródło używane do kompilacji pakietów za pomocą apt-get. FX:
Spowoduje to wydrukowanie wszystkich różnic między wszystkimi plikami w standardowym formacie poprawki.
źródło
Oto jeden (prawdopodobnie nie optymalny) sposób UDD :
Pull-updates gałąź dla twojego wydania (zakładając Lucid), że (założenie jest następujące) powinien zawierać najnowszy SRU:
Uzyskaj zmiany wprowadzone przez najnowszą wersję, która (założenie jest następujące) powinna odpowiadać najnowszej wersji SRU:
źródło
apt-cache show package_name | grep Source:
.<package_name>
tak uzyskane nie działa na niektórych pakietach:bzr branch lp:ubuntu/lucid-updates/$(apt-cache show linux-libc-dev | grep -m 1 Source: | awk "{print \$2}")
=> bzr: ERROR: Podano nieprawidłowy adres URL do transportu: "bzr + ssh: //bazaar.launchpad.net/+branch/ubuntu/lucid-updates/linux" : brak obsługiwanych programówJeśli chcesz zobaczyć różnice w plikach w archiwach pakietów, wypakuj ich pliki md5sums, posortuj je i różnicuj, a następnie możesz zawęzić listę rzeczywistych plików, aby je dramatycznie porównać.
źródło
Może nie być to „dokładne” zmiany, ale
apt-listchanges
zawiera listę wpisów w dzienniku zmian dla zmian, które zostały wprowadzone od czasu zainstalowania wersji.Działa, dodając krok po zakończeniu pobierania nowych pakietów, ale przed rozpoczęciem instalacji, gdzie pokazuje pozycję dziennika zmian dla każdego pakietu, który ma zostać zaktualizowany. Następnie możesz kontynuować lub anulować. Możesz go zainstalować za pomocą
następnie skonfiguruj za pomocą
źródło