8.2.5 Верификация собранных пакетов

После сборки пакета для его проверки может быть использована процедура верификации. Кроме того, с помощью опции -bl можно проверить список файлов пакета. Например:

$ rpmbuild -bl /usr/src/redhat/SPECS/jikes.spec

Processing files: jikes-1.17-1

error: File not found: /tmp/jikesrpm/usr/bin/jikes

error: File not found:

/tmp/jikesrpm/usr/doc/jikes-1.17/license.htm

error: File not found by glob:

/tmp/jikesrpm/usr/man/man1/jikes.1*

Provides: jikes

RPM build errors:

File not found: /tmp/jikesrpm/usr/bin/jikes

File not found: /tmp/jikesrpm/usr/doc/jikes-1.17/license.htm

File not found by glob: /tmp/jikesrpm/usr/man/man1/jikes.1*

В этом примере показан вывод диагностики некоторого количества ошибок. Опция -bl проверяет список всех необходимых файлов пакета, расположенных в директории сборки. Из вывода ясно, что пакет не собрался правильно.

В ситуациях, подобных этой, существует два подхода: можно собирать пакет сначала, выполняя все операции, либо воспользоваться опцией --short-circuit для того, чтобы начать сборку с определенной стадии. Это поможет пропустить секции, в которых нет ошибок.

Для верификации полностью собранного пакета используют следующий синтаксис:

$ rpm -Vp /usr/src/redhat/RPMS/i386/jikes-1.17-1.i386.rpm

S.5....T /usr/bin/jikes

.......T d /usr/doc/jikes-1.17/license.htm

..5....T d /usr/man/man1/jikes.1.gz

В выводе команды верификации видно, что имеются различия в контрольных суммах MD5 и времени создания некоторых файлов, что может указывать, например, на тот факт, что оригинальный пакет был собран на другой системе с более старой версией дистрибутива Red Hat. В случае, если файлы пакета были изменены вручную после его установки, вывод ошибок будет похожий.

Далее - Раздел 9. Работа со spec-файлом
Назад - Сборка пакета с помощью утилиты rpmbuild
Содержание