SpecTips/makeinstall
%make_install и %makeinstall
%make_install используется для установки пакета наиболее простым способом. Чаще всего используется запись
%make_install DESTDIR=%buildroot install
, обобщаемая до
%make_install DESTDIR=%buildroot %_make_install_target
Обратите внимание, что %make_install требует обязательного указания цели.
В отличие от %make_install, %makeinstall — это макрос типа «всё в одном», рассчитанный на применение без дополнительных параметров. Если вы используете %makeinstall, вы не должны переопределять DESTDIR, так как пути, соответствующие будущим %_{bin,lib,data}dir, задаются без него и если вы передадите ещё и DESTDIR=%buildroot, вы получите удвоенный %buildroot в готовых путях. Если вам нужно задать какие-то дополнительные пути, следует пользоваться формой
%makeinstall somefancydir=%buildroot/fancy/dir
, где /fancy/dir с большой вероятностью будет начинаться на %_{bin,lib,data,man,var,whatever}dir.
также...
Если DESTDIR работает, пользоваться %makeinstall нет нужды. Этот макрос был явно создан с расчетом на не-autotooled makefiles. Каждая неучтенная в нем переменная инсталляции должна быть явно добавлена в параметры.
(mhz@ с поправкой raorn@)