То, как связаться, Требует к BuildRequires в спецификации об/мин?

Переменные, экспортируемые как этот, являются только эффективными при Вашей текущей оболочке и любых дочерних процессах. Если бы Вы не сохранили те команды в своем профиле или емкостно-резистивном оболочкой файле, то любые новые оболочки, которые начинают, должны иметь исходное значение снова.

Закрытие Вашей текущей оболочки и запуск нового являются самым простым способом получить значимый набор env переменные назад.

3
09.06.2012, 12:19
3 ответа

Легкий ответ должен определить макрос, которым заменяют в оба места.

%define my_common_requires package-1, package-2, package-3

BuildRequires: %{my_common_requires}
Requires:      %{my_common_requires}

Это также позволяет Вам вручную определить что-то, что должно быть в одной из этих двух строк, но не обоих.

7
27.01.2020, 21:08
  • 1
    Время от времени неловко видеть такое "очевидное" решение и пропустить его самостоятельно ;-) Большое спасибо! –  greenoldman 22.12.2012, 17:30
  • 2
    Как использовать это, если пакеты имеют версии также? Например. package-1 = 1.0 –  RedBaron 14.10.2015, 12:29
  • 3
    тот же путь: %define my_common_requires package-1 = 1.0, package-2 > 1.3, package-3 –  Shishire 20.01.2016, 19:45

Позволить

  1. P будьте названием своего пакета;
  2. R1, R2, ..., Rn будьте, Требует
  3. RB1, RB2, ..., RBm будьте некоторым его BuildRequires и R1, R2, ..., Rn будьте другим, Требует.

Теперь Вы можете

  1. Создайте пакет PA с Требует R1, R2, ..., Rn это в других отношениях пусто.
  2. Править P так, чтобы Потребовал, PA и его BuildRequires PA, RB1, RB2, ..., RBm

Я не убежден, что это - хорошая идея.

MyUsefulPackage
Requires: gcc
BuildRequires: gcc

становится

MyUsefulPackage
Requires: MyUsefulRequires
BuildRequires: MyUsefulRequires

и

MyUsefulRequires
Requires: gcc

Если я хочу добавить другой пакет make затем это становится: MyUsefulPackage Требует: MyUsefulRequires BuildRequires: MyUsefulRequires

и

MyUsefulRequires
Requires: gcc
Requires: make

Не необходимо измениться, зависит требования MyUsefulPackage. Я могу внести всего одно изменение в MyUsefulRequires.

1
27.01.2020, 21:08
  • 1
    . После того как у Вас есть один Rx больше, необходимо добавить RBx также. Таким образом, Вы на самом деле сделали ситуацию хуже, чем прежде - не, только требования динамично не связаны, но и теперь я должен иметь дело с 2 спецификациями. –  greenoldman 11.06.2012, 11:37
  • 2
    я не думаю так. Я обеспечил пример –  emory 11.06.2012, 17:55
  • 3
    OK, Вы правы относительно единственной точки зависимости, но поскольку Вы сказали, "Я не убежден, что это - хорошая идея". и я могу сказать это также ;-) Таким образом, я буду ожидать точного решения. –  greenoldman 12.06.2012, 17:09
  • 4
    , я подразумевал, что не думаю, связывая зависимости, хорошая идея (следовательно, мой ответ является также не хорошей идеей). Это действительно что трудно вручную отредактировать файл спецификации? Что, если Вы удаляете Потребовать зависимость, но она все еще необходима для BuildRequire? –  emory 13.06.2012, 08:00
  • 5
    , Это было просто примером - на самом деле я связываюсь наоборот, независимо от того, что находится в BuildRequires, в котором я хотел бы быть, Требует также. Редактирование не состоит в том что трудно, но легкий пропустить что-то, и в конце концов - почему бы НЕ спросить? Возможно, существует решение и этот способ, которым я буду установлен в течение времени жизни. И соединение зависимостей в этом конкретном контексте является очень хорошей идеей, по моему скромному мнению, :-) –  greenoldman 13.06.2012, 19:31
[1183598] Кажется, что

"просто работает" -- по крайней мере, на RHEL6, где RPM версии 4.8.0[1183601].

5
27.01.2020, 21:08

Теги

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