Есть ли способ получить исходные различия между локально установленным пакетом и его обновленным?
Например, предположим, что в вашей системе установлен пакет linux-libc-dev и
sudo apt-get update && sudo apt-get upgrade
показывает
The following packages will be upgraded:
linux-libc-dev
, но вы хотите проверить перед его обновлением точные изменения, которые были сделаны по сравнению с вашей локальной версией одного и того же пакета.
Как мы можем сделайте это?
Вот еще одно решение, которое я взломал вместе: whatchanged.
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./whatchanged python_papyon
Это то, что он делает:
Проверьте, есть ли кандидат на обновление; exit, если нет. Если кандидат существует, создайте временные каталоги и выберите исходные пакеты как для установленной версии, так и для кандидата в них. Сравните два с debdiff и выведите на stdout (вы, вероятно, захотите перенаправить для более легкого чтения) Очистите временные каталоги.Вероятно, нужно лучше справляться с некоторыми вещами, которые могут возникнуть неправильно во время извлечения источника, управление потоком, вероятно, немного выключено, и должны быть более элегантные способы проверки версий, но он отлично работал в моих ограниченных до сих пор. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на pastebin, я начал whatchanged ! d1]; вы можете получить последнюю версию сундука с помощью bzr branch lp:whatchanged. Не стесняйтесь сообщать об ошибках, вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged.
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./whatchanged python_papyon
Это то, что он делает:
Проверьте, есть ли кандидат на обновление; exit, если нет. Если кандидат существует, создайте временные каталоги и выберите исходные пакеты как для установленной версии, так и для кандидата в них. Сравните два с debdiff и выведите на stdout (вы, вероятно, захотите перенаправить для более легкого чтения) Очистите временные каталоги.Вероятно, нужно лучше справляться с некоторыми вещами, которые могут возникнуть неправильно во время извлечения источника, управление потоком, вероятно, немного выключено, и должны быть более элегантные способы проверки версий, но он отлично работал в моих ограниченных до сих пор. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на pastebin, я начал whatchanged ! d1]; вы можете получить последнюю версию сундука с помощью bzr branch lp:whatchanged. Не стесняйтесь сообщать об ошибках, вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged.
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./whatchanged python_papyon
Это то, что он делает:
Проверьте, есть ли кандидат на обновление; exit, если нет. Если кандидат существует, создайте временные каталоги и выберите исходные пакеты как для установленной версии, так и для кандидата в них. Сравните два с debdiff и выведите на stdout (вы, вероятно, захотите перенаправить для более легкого чтения) Очистите временные каталоги.Вероятно, нужно лучше справляться с некоторыми вещами, которые могут возникнуть неправильно во время извлечения источника, управление потоком, вероятно, немного выключено, и должны быть более элегантные способы проверки версий, но он отлично работал в моих ограниченных до сих пор. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на pastebin, я начал whatchanged ! d1]; вы можете получить последнюю версию сундука с помощью bzr branch lp:whatchanged. Не стесняйтесь сообщать об ошибках, вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged.
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./whatchanged python_papyon
Это то, что он делает:
Проверьте, есть ли кандидат на обновление; exit, если нет. Если кандидат существует, создайте временные каталоги и выберите исходные пакеты как для установленной версии, так и для кандидата в них. Сравните два с debdiff и выведите на stdout (вы, вероятно, захотите перенаправить для более легкого чтения) Очистите временные каталоги.Вероятно, нужно лучше справляться с некоторыми вещами, которые могут возникнуть неправильно во время извлечения источника, управление потоком, вероятно, немного выключено, и должны быть более элегантные способы проверки версий, но он отлично работал в моих ограниченных до сих пор. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на pastebin, я начал whatchanged ! d1]; вы можете получить последнюю версию сундука с помощью bzr branch lp:whatchanged. Не стесняйтесь сообщать об ошибках, вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged .
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./ whatchanged python_papyon
Это то, что он делает:
debdiff [ ! d4] и вывод в stdout (вы, вероятно, захотите переадресовать для упрощения чтения)
Вероятно, нужно лучше обработать определенные вещи, которые могут пойти не так во время поиска источника, управление потоком, вероятно, немного не работает, и должны быть более элегантные способы проверки версий, но в то же время он отлично работал в моем ограниченном тестировании. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на пастебине, я запустил Launchpad, и я запустил его в репозиторий bzr и / или создаю проект Launchpad, если он полезен для нескольких человек. проект ; вы можете получить последнюю версию сундука с помощью bzr branch lp: whatchanged
. Не стесняйтесь сообщать об ошибках , вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged .
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./ whatchanged python_papyon
Это то, что он делает:
debdiff [ ! d4] и вывод в stdout (вы, вероятно, захотите переадресовать для упрощения чтения)
Вероятно, нужно лучше обработать определенные вещи, которые могут пойти не так во время поиска источника, управление потоком, вероятно, немного не работает, и должны быть более элегантные способы проверки версий, но в то же время он отлично работал в моем ограниченном тестировании. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на пастебине, я запустил Launchpad, и я запустил его в репозиторий bzr и / или создаю проект Launchpad, если он полезен для нескольких человек. проект ; вы можете получить последнюю версию сундука с помощью bzr branch lp: whatchanged
. Не стесняйтесь сообщать об ошибках , вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged .
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./ whatchanged python_papyon
Это то, что он делает:
debdiff [ ! d4] и вывод в stdout (вы, вероятно, захотите переадресовать для упрощения чтения)
Вероятно, нужно лучше обработать определенные вещи, которые могут пойти не так во время поиска источника, управление потоком, вероятно, немного не работает, и должны быть более элегантные способы проверки версий, но в то же время он отлично работал в моем ограниченном тестировании. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на пастебине, я запустил Launchpad, и я запустил его в репозиторий bzr и / или создаю проект Launchpad, если он полезен для нескольких человек. проект ; вы можете получить последнюю версию сундука с помощью bzr branch lp: whatchanged
. Не стесняйтесь сообщать об ошибках , вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged .
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./ whatchanged python_papyon
Это то, что он делает:
debdiff [ ! d4] и вывод в stdout (вы, вероятно, захотите переадресовать для упрощения чтения)
Вероятно, нужно лучше обработать определенные вещи, которые могут пойти не так во время поиска источника, управление потоком, вероятно, немного не работает, и должны быть более элегантные способы проверки версий, но в то же время он отлично работал в моем ограниченном тестировании. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на пастебине, я запустил Launchpad, и я запустил его в репозиторий bzr и / или создаю проект Launchpad, если он полезен для нескольких человек. проект ; вы можете получить последнюю версию сундука с помощью bzr branch lp: whatchanged
. Не стесняйтесь сообщать об ошибках , вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged .
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./ whatchanged python_papyon
Это то, что он делает:
debdiff [ ! d4] и вывод в stdout (вы, вероятно, захотите переадресовать для упрощения чтения)
Вероятно, нужно лучше обработать определенные вещи, которые могут пойти не так во время поиска источника, управление потоком, вероятно, немного не работает, и должны быть более элегантные способы проверки версий, но в то же время он отлично работал в моем ограниченном тестировании. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на пастебине, я запустил Launchpad, и я запустил его в репозиторий bzr и / или создаю проект Launchpad, если он полезен для нескольких человек. проект ; вы можете получить последнюю версию сундука с помощью bzr branch lp: whatchanged
. Не стесняйтесь сообщать об ошибках , вставлять их, переписывать в Perl и т. Д.
Вот еще одно решение, которое я взломал вместе: whatchanged .
В качестве единственного аргумента требуется имя интересующего вас двоичного пакета. Чтобы использовать недавний SRU в качестве примера:
./ whatchanged python_papyon
Это то, что он делает:
debdiff [ ! d4] и вывод в stdout (вы, вероятно, захотите переадресовать для упрощения чтения)
Вероятно, нужно лучше обработать определенные вещи, которые могут пойти не так во время поиска источника, управление потоком, вероятно, немного не работает, и должны быть более элегантные способы проверки версий, но в то же время он отлично работал в моем ограниченном тестировании. Пока, подумайте, что это быстрый хак, который работает, и улучшения наиболее приветствуются.
Редактировать: вместо того, чтобы позволить ему гнить на пастебине, я запустил Launchpad, и я запустил его в репозиторий bzr и / или создаю проект Launchpad, если он полезен для нескольких человек. проект ; вы можете получить последнюю версию сундука с помощью bzr branch lp: whatchanged
. Не стесняйтесь сообщать об ошибках , вставлять их, переписывать в Perl и т. Д.
Afaik - единственный способ сделать это, чтобы получить источник и сделать diff своим. Вы можете получить фактический источник, используемый для компиляции пакетов с помощью 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/
Это приведет к распечатке всех различий между всеми файлами в стандартном формате патча.
Вот один (возможно, не оптимальный) способ UDD:
Pull -updates branch для вашего релиза (предположим, Lucid), что (предположение следует) должно содержать последний SRU:
[ f1]Получить изменения, внесенные в последнюю редакцию, которые (предположение следует) должны соответствовать последнему SRU:
bzr diff -c`bzr revno`
Если вы хотите увидеть различия в файлах в архивах пакетов, извлеките их файлы md5sums, отсортируйте их и откройте их, а затем сможете сузить список фактических файлов, чтобы сравнить их.
Не могут быть «точные» изменения, но apt-listchanges перечисляет записи изменений для изменений, которые были сделаны с установленной версии.
Он работает, добавляя шаг после того, как вы закончите загрузку новые пакеты, но до начала установки, где он показывает вам запись изменений для каждого пакета, который должен быть обновлен. Затем вы можете продолжить или отменить. Вы можете установить его с помощью
sudo apt-get install apt-listchanges
, а затем установить его с помощью
sudo dpkg-reconfigure apt-listchanges
Afaik - единственный способ сделать это, чтобы получить источник и сделать diff своим. Вы можете получить фактический источник, используемый для компиляции пакетов с помощью 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/
Это приведет к распечатке всех различий между всеми файлами в стандартном формате патча.
Вот один (возможно, не оптимальный) способ UDD:
Pull -updates branch для вашего релиза (предположим, Lucid), что (предположение следует) должно содержать последний SRU:
bzr branch lp:ubuntu/lucid-updates/package_name
Получить изменения, внесенные в последнюю редакцию, которые (предположение следует) должны соответствовать последнему SRU:
bzr diff -c`bzr revno`
Если вы хотите увидеть различия в файлах в архивах пакетов, извлеките их файлы md5sums, отсортируйте их и откройте их, а затем сможете сузить список фактических файлов, чтобы сравнить их.
Не могут быть «точные» изменения, но apt-listchanges перечисляет записи изменений для изменений, которые были сделаны с установленной версии.
Он работает, добавляя шаг после того, как вы закончите загрузку новые пакеты, но до начала установки, где он показывает вам запись изменений для каждого пакета, который должен быть обновлен. Затем вы можете продолжить или отменить. Вы можете установить его с помощью
sudo apt-get install apt-listchanges
, а затем установить его с помощью
sudo dpkg-reconfigure apt-listchanges
Afaik - единственный способ сделать это, чтобы получить источник и сделать diff своим. Вы можете получить фактический источник, используемый для компиляции пакетов с помощью 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/
Это приведет к распечатке всех различий между всеми файлами в стандартном формате патча.
Вот один (возможно, не оптимальный) способ UDD:
Pull -updates branch для вашего релиза (предположим, Lucid), что (предположение следует) должно содержать последний SRU:
bzr branch lp:ubuntu/lucid-updates/package_name
Получить изменения, внесенные в последнюю редакцию, которые (предположение следует) должны соответствовать последнему SRU:
bzr diff -c`bzr revno`
Если вы хотите увидеть различия в файлах в архивах пакетов, извлеките их файлы md5sums, отсортируйте их и откройте их, а затем сможете сузить список фактических файлов, чтобы сравнить их.
Не могут быть «точные» изменения, но apt-listchanges перечисляет записи изменений для изменений, которые были сделаны с установленной версии.
Он работает, добавляя шаг после того, как вы закончите загрузку новые пакеты, но до начала установки, где он показывает вам запись изменений для каждого пакета, который должен быть обновлен. Затем вы можете продолжить или отменить. Вы можете установить его с помощью
sudo apt-get install apt-listchanges
, а затем установить его с помощью
sudo dpkg-reconfigure apt-listchanges
Afaik - единственный способ сделать это, чтобы получить источник и сделать diff своим. Вы можете получить фактический источник, используемый для компиляции пакетов с помощью 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/
Это приведет к распечатке всех различий между всеми файлами в стандартном формате патча.
Вот один (возможно, не оптимальный) способ UDD:
Pull -updates branch для вашего релиза (предположим, Lucid), что (предположение следует) должно содержать последний SRU:
bzr branch lp:ubuntu/lucid-updates/package_name
Получить изменения, внесенные в последнюю редакцию, которые (предположение следует) должны соответствовать последнему SRU:
bzr diff -c`bzr revno`
Если вы хотите увидеть различия в файлах в архивах пакетов, извлеките их файлы md5sums, отсортируйте их и откройте их, а затем сможете сузить список фактических файлов, чтобы сравнить их.
Не могут быть «точные» изменения, но apt-listchanges перечисляет записи изменений для изменений, которые были сделаны с установленной версии.
Он работает, добавляя шаг после того, как вы закончите загрузку новые пакеты, но до начала установки, где он показывает вам запись изменений для каждого пакета, который должен быть обновлен. Затем вы можете продолжить или отменить. Вы можете установить его с помощью
sudo apt-get install apt-listchanges
, а затем установить его с помощью
sudo dpkg-reconfigure apt-listchanges
Не могут быть «точные» изменения, но apt-listchanges
перечисляет записи изменений для изменений, которые были сделаны с установленной версии.
Он работает, добавляя шаг после того, как вы закончите загрузку новых пакетов, но до начала установки, где он показывает вам запись изменений для каждого пакета, который должен быть обновлен. Затем вы можете продолжить или отменить. Вы можете установить его с помощью
sudo apt-get install apt-listchanges
, а затем установить его с помощью
sudo dpkg-reconfigure apt-listchanges
Если вы хотите увидеть различия в файлах в архивах пакетов, извлеките их файлы md5sums, отсортируйте их и откройте их, а затем сможете сузить список фактических файлов, чтобы сравнить их.
Afaik единственный способ сделать это - получить источник и сделать diff своим. Вы можете получить фактический источник, используемый для компиляции пакетов с помощью 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 /
[ ! d3]Это выведет все различия между всеми файлами в стандартном формате патча.
Вот один (возможно, не оптимальный) способ UDD :
Pull-updates ветвь для вашей версии (предполагая Lucid), что (предположение следует) должно содержать последние SRU:
bzr branch lp: ubuntu / lucid-updates / имя_пакета
Получить изменения, внесенные в последнюю редакцию, которые (предположение следует) должны соответствовать к последнему SRU:
bzr diff -c`bzr revno`