регистр библиотеки rpmbuild для 'требует'

if the-command | grep '^'; then
  echo the-command output was not empty
fi

(обратите внимание, что поведение будет варьироваться через grep реализации, если вывод the-command не текст (содержит символы NUL, не заканчивается в символе новой строки или имеет неправильно длинные линии).

Также проверять статус выхода the-command, Вы могли использовать pipefail опция, доступная во многих оболочках (удар, ksh93, zsh, yash, mksh, по крайней мере):

if (set -o pipefail; the-command | grep '^'); then
  echo the-command was successful and its output was not empty
fi

Для работы с нетекстовыми данными можно заменить grep '^' с:

PERLIO=:unix perl -pe 'BEGIN{$/=\65536} END{exit!$.}'

Обратите внимание на те некоторые изменения команд их поведение вывода, когда их stdout не является оконечным устройством (здесь измененный на канал), так, чтобы мог все еще иметь эффект на вывод.

2
27.11.2013, 20:02
1 ответ

Вы пытаетесь автоматически добавить soname Oracle библиотека как Provide: этого пакета?

Самый простой способ - просто ввести в Provides: прямо в файле * .spec.

Если вы хотите автоматизировать извлечение, вы можете использовать rpmdeps для извлеките зависимости soname следующим образом:

$ echo /lib64/libpopt.so.0.0.0 | /usr/lib/rpm/rpmdeps -P
libpopt.so.0()(64bit)
libpopt.so.0(LIBPOPT_0)(64bit)

Выполните указанное выше в канале% (…), как это в вашем файле * .spec:

Provides: %(echo /lib64/libpopt.so.0.0.0 | /usr/lib/rpm/rpmdeps -P)

Измените пути к вашим библиотекам Oracle соответствующим образом.

3
27.01.2020, 22:06

Теги

Похожие вопросы