Переменные, экспортируемые как этот, являются только эффективными при Вашей текущей оболочке и любых дочерних процессах. Если бы Вы не сохранили те команды в своем профиле или емкостно-резистивном оболочкой файле, то любые новые оболочки, которые начинают, должны иметь исходное значение снова.
Закрытие Вашей текущей оболочки и запуск нового являются самым простым способом получить значимый набор env
переменные назад.
Легкий ответ должен определить макрос, которым заменяют в оба места.
%define my_common_requires package-1, package-2, package-3
BuildRequires: %{my_common_requires}
Requires: %{my_common_requires}
Это также позволяет Вам вручную определить что-то, что должно быть в одной из этих двух строк, но не обоих.
Позволить
P
будьте названием своего пакета;R1
, R2
, ..., Rn
будьте, ТребуетRB1
, RB2
, ..., RBm
будьте некоторым его BuildRequires и R1
, R2
, ..., Rn
будьте другим, Требует.Теперь Вы можете
PA
с Требует R1
, R2
, ..., Rn
это в других отношениях пусто.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.
"просто работает" -- по крайней мере, на RHEL6, где RPM версии 4.8.0[1183601].
package-1 = 1.0
– RedBaron 14.10.2015, 12:29%define my_common_requires package-1 = 1.0, package-2 > 1.3, package-3
– Shishire 20.01.2016, 19:45