[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