Как просмотреть список изменений для пакета в PPA?
Я понимаю что как apt-get changelog <package>
получает свои журналы изменений от changelog.ubuntu.com
выполнение этой команды не работает для получения журнала изменений для пакета в PPA, и единственный реальный способ, который я нашел, это apt-get source <package>
а потом заглянуть в debian/changelog
, Есть ли более эффективный способ просмотра журнала изменений пакета, который находится в PPA в терминале?
1 ответ
Последние изменения в пакете PPA можно увидеть на
https://launchpad.net/~<ppa_user_name>/+archive/ubuntu/<PPA_name>/+files/<package_name>_<package_version>_source.changes
Вы можете написать простой скрипт, который будет извлекать эти данные.
Сценарий может быть таким
#!/bin/sh
wget -q -O - https://launchpad.net/~$1/+archive/ubuntu/$2/+files/$3_$4_source.changes | \
awk '/Changes:/{f=1;next}/Checksums/{f=0}flag'
Запустите это так:
./changelog.sh <ppa_user_name> <ppa_name> <package_name> <package_version>
например
./changelog.sh hanipouspilot rtlwifi rtlwifi-new-dkms 0.5
Если вам нужен полный журнал изменений, а не только последняя запись, вам нужно скачать и извлечь исходный код. Это также может быть сделано с помощью сценария.
Еще один скрипт, который проверяет журнал изменений установленного пакета
#!/bin/bash
data=`apt-cache policy $1 | awk '/\*\*\*/ {print $2} f{print $2;f=0} /\*\*\*/{f=1}'`
version=`echo $data | awk '{print $1}'`
version=`echo $version | sed -r s/^[0-9]+://`
URL=`echo $data | awk '{print $2}'`
if [ -z `echo $URL | grep ppa` ]; then
echo "The package is not installed from PPA"
exit
else
user=`echo $URL | cut -d / -f 4`
name=`echo $URL | cut -d / -f 5`
wget -q -O - https://launchpad.net/~$user/+archive/ubuntu/$name/+files/$1_${version}_source.changes | \
awk '/Changes:/{f=1;next}/Checksums/{f=0}f'
fi
Может управляться
./changelog.sh <package_name>