2015-02-05 3 views
1

У меня есть 2 зависимых пакета, которые должны быть размещены в одной и той же цели. Пакет B зависит от упаковки A.Создание пакета RPM: принудительно установить по пути зависимого перемещенного пакета

Пакет A можно переместить в любое другое место. Теперь я хочу, чтобы пакет B был помещен в ту же цель, что и пакет A. Или просто пакет B не должен быть установлен без того же --prefix.

Любые идеи, как уладить это?

Я подумал о том, чтобы поставить сценарий% pre, чтобы проверить это. Но это не полезно, я думаю, поскольку я не могу прочитать данный префикс в этом скрипте - или я могу?

Благодарим за помощь!

+0

Вы знаете способ запросить пакет для префикса он был установлен с вообще? Я не извиняюсь (но я никогда не пробовал). При этом вам не нужно это делать, если вместо этого вы можете просто проверить, имеет ли * ваш * префикс файлы, от которых вы зависите. (На самом деле я задаюсь вопросом, может ли префикс для файла быть затронут данным префиксом.) –

+1

да, это 'rpm -qa --queryformat '% {instprefixes}' NAME_OF_PACKAGE' – Karl

+0

Интересно. Так возник вопрос о получении префикса для пакета * current *? Устанавливается ли '% {DEFAULTPREFIX}' или '% {INSTALLPREFIX}' правильно в '% pre' на основе аргумента? –

ответ

0

Hah. Поэтому я немного поработал с источником и обнаружил, что, по-видимому (по крайней мере, для rpm 4.8.0 я не смотрел на другие версии), переменные окружения RPM_INSTALL_PREFIX и RPM_INSTALL_PREFIX# установлены для %pre (и, возможно, других скриптлетов) на значения (как представляется, макросы %{INSTPREFIXES} и/или %{INSTALLPREFIX}). [source link]

Я бы попробовал их в вашем %pre скрипте. Они выглядят так, как будто они дадут вам то, что вы хотите.

Same code in rpm head.

+0

Но это было бы для установленного пакета, а не для * другого * пакета, который он пытается сопоставить ... –

+0

@ AaronD.Marasco Он может запрашивать 'rpm' для префикса установленного пакета во время'% pre', я предполагаю (или просто ищу префикс текущего пакета для известных файлов, в которых он зависит от другого пакета). –

+0

спасибо, etan! вот что мне нужно! как замечательно: D – Karl

Смежные вопросы