[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