[devel] %makeinstall и %make DESTDIR=%buildroot install в спеке
Eugene Prokopiev
=?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Чт Июн 14 09:51:31 MSD 2007
Slava Semushin пишет:
> 2007/6/14, Eugene Prokopiev <prokopiev / stc.donpac.ru>:
> [...]
>
>>$ make DESTDIR=~/callweaver-install install
>>
>>создает структуру каталогов с local:
>
>
> Обычно %configure вызывает ./configure скрипт с параметрами для
> установки в /usr. У вас, видимо, это не так. Сам make install не
> виноват -- ему всё равно что создавать и куда ставить.
Вы имеете ввиду --prefix? Сейчас попробовал ./configure
--prefix=/usr/src/callweaver-install и make
DESTDIR=/usr/src/callweaver-install install, результат странный:
$ ls /usr/src/callweaver-install
include lib sbin share usr var
$ ls /usr/src/callweaver-install/sbin/
callweaver callweaver_cli safe_callweaver
$ ls /usr/src/callweaver-install/var/
lib log run spool
пока нормально, но дальше хуже:
$ ls /usr/src/callweaver-install/lib/callweaver/modules/
icd
$ ls
/usr/src/callweaver-install/usr/src/callweaver-install/lib/callweaver/modules/
app_adsiprog.la app_getcpeid.so app_setcdruserfield.la
cdr_odbc.so format_g723_1.la func_moh.so
т.е. то, что должно лежать в /lib/callweaver/modules/, уезжает очень
далеко :(
да, без DESTDIR тоже все плохо, т.к. для установки содержимого /sbin
прав оказывается недостаточно ...
>
> [...]
>
>> if test -z ""; \
>> then \
>> chown callweaver:callweaver ${install_dir}; \
>> fi; \
>> done
>>chown: `callweaver:callweaver': invalid user
>
> [...]
>
> Он пытается устанавливать права в чруте и ему не дают. Я бы запатчил
> Makefile'ы, чтобы они не делали никаких chown'ов и выставил
> аналогичные права на файлы с в секции %files с помощью %attr.
Если бы это был единичный случай, но мне попадались и другие Makefile'ы,
которые посредством %makeinstall пытались делать useradd/groupadd/chown,
а посредством %make DESTDIR=%buildroot install - почему-то нет. Вот
только посреднее средство потихоньку протухает - апстримы на новые
autotools переезжают, что ли?
> PS: Возможно, мой совет неверный :)
Если других идей не будет, придется патчить Makefile'ы, но не хотелось
бы ...
--
С уважением, Прокопьев Евгений
Подробная информация о списке рассылки Devel