Я использую pbuilder-dist
для сборки своих пакетов для Debian нестабильной и Ubuntu Precise. Я хочу знать, как запустить lintian
(и, возможно, другие команды) внутри определенного chroot.
У меня Ubuntu 12.04 на моей машине.
Lintian можно запустить внутри cowbuilder
или pbuilder
с помощью крючков. Несколько примеров доступны в /usr/share/doc/pbuilder/examples/
Просто скопируйте нужный хук в каталог:
mkdir ~/pbuilderhooks
cp /usr/share/doc/pbuilder/examples/B90lintian $HOME/pbuilderhooks
Затем скажите pbuilder использовать хуки в этом каталоге:
echo "HOOKDIR=$HOME/pbuilderhooks/" >> ~/.pbuilderrc
И / или:
echo "HOOKDIR=$HOME/pbuilderhooks/" | sudo tee -a /etc/pbuilderrc
Первое необходимо, если вы собираетесь запустить cowbuilder-dist
или pbuilder-dist
без sudo; последний, если вы собираетесь запустить sudo cowbuilder
или sudo pbuilder
. Используйте tee -a, чтобы избежать перезаписи исходного файла / etc / pbuilderrc.
Запуск debuild -S запустит lintian на source.changes для вас, я полагаю. Lintian также запускается для файла .changes во время двоичной сборки. После того, как вы создали бинарный и / или исходный пакет, вы можете вручную запустить lintian для любого файла .changes, например:
mfisch@caprica:~$ lintian libkqueue_1.0.4-2ubuntu1_amd64.changes
или
mfisch@caprica:~$ lintian libkqueue_1.0.4-2ubuntu1_source.changes
ошибки или предупреждения lintian от каждой сборки (исходной и двоичной).
Если вы пытаетесь двигаться быстрее, запустите pbuilder --login, установите build-deps и запустите ваши сборки там, что сэкономит вам время запуска от переустановки deps перед каждой сборкой.