[sisyphus] Konversation-0.17 & кривость spec-файла
Drool
=?iso-8859-1?q?drool_=CE=C1_rambler=2Eru?=
Чт Апр 14 12:24:31 MSD 2005
> --- Drool 2005-04-13 14:41:54 +0300
> +++ php-coder 2005-04-13 22:31:24 +0700
>
> Я тут в ваш спек заглянул ;))
>
> Вот, что на мой взгляд лучше изменить:
>
> - BuildRequires лучше генерировать при помощи программы buildreq из
> пакета rpm-utils, потому что, если писать самому, то можно
> какую-нибудь зависимость не учесть
Я вообще не претендую на прямость рук :-) Да и спеки пишу на 90% по интуиции,
т.к. я практически в этом ничего не смыслю. О существовании buildreq, к примеру,
я даже и не подозревал :-) Вопрос - а как она определит зависимости на пакеты,
которых нет в моем АЛМ-2.4? Или я отстал и софт научился вычислять это опираясь
на свё ту же интуицию? ;-))
>
> -subst "s/\.la/.so/g" configure
> +%__subst "s/\.la/.so/g"
configure опущен для краткости или данное выражение по умолчанию настроено
именно на него? Подробнее, будь-ласка...Что дает "%__"
>
> -mkdir -p %buildroot%_docdir/%name-%version
> -cp AUTHORS ChangeLog COPYING INSTALL README TODO VERSION
> %buildroot%_docdir/%name-%version
>
> Это нужно в секции %files делать... Пример:
>
> %files
> %doc AUTHORS ChangeLog COPYING INSTALL
> %doc README TODO VERSION
Дельно...
> -command=%name
> +command="%_bindir/%name"
> Вдруг у пользователя в /usr/local установлена вторая копия программы?
И то правда...
>
> -%clean
> -rm -rf %buildroot
>
> "Перед выполнением секции %install и по окончании выполнения секции
> %clean RPM автоматически очищает BuildRoot с помощью макроса
> %clean_buildroot. Это значит, что больше не нужно использовать эти
> ужасные rm -rf $RPM_BUILD_ROOT. Секция %clean вообще может (и должна)
> быть опущена, если в ней не содержится ничего, кроме этого _rm_."
> -- http://docs.altlinux.ru/alt/devel/ch01s02.html
Век живи - век учись :-)
>
> ;-)
>
> -%_menudir
> -%_bindir
> -%_datadir
> +%_menudir/*
> +%_bindir/*
> +%_datadir/*
>
> Это AFAIK очень серьезная ошибка! После этого, к примеру, каталог /usr/bin
> будет принадлежать вашему пакету!! И, кстати, мне кажется, что нужно
> писАть не %_datadir/*, а %_datadir/%name, потому что в /usr/share,
> вроде бы, программы так просто файлы не кидают, они их держат в
> соответствующих каталогах. Проверьте у себя это...
При сборке файлы выкладываются в %buildroot с полной структурой папок. Поэтому
выражение %_datadir/* загребает всю папку со всеми подкаталогами и файлами в том
виде, в котором они там сложены. Получается корректно. А вот в плане прав на
каталоги... Кто подскажет? Если в name.rpm папка /usr/bin будет с отличными от
системной /usr/bin правами - при установке этого пакета системные папки изменят
свои права? Просветите чайника...
> Удачи!
Дякую!
>
> P.S. Я тут еще со своими комментариями к чужим спекам никого не
> достал? ;)
Переживем. Знания имеют свою цену ;-)
Подробная информация о списке рассылки Sisyphus