[devel] perl packages [JT]

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Вс Дек 21 15:31:07 MSK 2008


On Wed, Dec 17, 2008 at 10:53:21PM +0300, Vitaly Lipatov wrote:
> > 	- изменить BuildRequires на java5
> > 	- добавить к вызовам ant -source 1.4, -target 1.4
> > 	- добавить к вызовам maven -source 1.4, -target 1.4
> Я вот считаю, что необходимость этих изменений - в неправильно 
> оформленном спеке. Такие вещи должны быть заменены макросами, 
> определёнными для текущей версии окружения.
> А так это всё равно что в каждом пакете указывать gcc4.1, а  
> потом автоматом это всё перезаписывать на gcc4.3 :)

Этот пример не из реальной жизни :) Он специально упрощен,
для наглядности тезиса.

Что касается ant, это хороший вопрос. 
Он уже не раз задавался,
и хотелось бы на него ответить с занесением в FAQ.

Q: будут ли еще какие-либо макросы для сборки с помощью 
ant, кроме %ant ?

A: Нет, к сожалению, универсальные макросы для %ant 
не возможны по самой природе ant.
файлы build.xml по своей природе подобны
самописанным Makefile.
По той же причине для make не существует универсальных
макросов, кроме %make.

Хорошей иллюстрацией к сказанному служат наши макросы
%make_install, %makeinstall_std... итд.

Эти макросы возможны потому, что большинство пакетов
собирается autotools. Поэтому у них Makefile генерированы,
а у генерированных Makefile, в отличие от самописанных 
Makefile, соблюдаются определенные соглашения, 
что и позволяет создавать дополнительные макросы.
Эти дополнительные макросы с самописанной системой сборки
работать не будут. Другое дело, что для С в большинстве своем
самописанные системы сборки вымерли :)

файлы build.xml у нас в основном не генерируются,
и соблюдения каких-либо доп. соглашений от них ожидать нельзя.



-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



Подробная информация о списке рассылки Devel