[devel] Java autoreq/autoprov draft
Alexey Tourbin
at на altlinux.ru
Чт Фев 15 12:55:29 MSK 2007
On Thu, Feb 15, 2007 at 12:34:41PM +0300, Damir Shayhutdinov wrote:
> > > Для этого надо сначала пройтись по всем .jar файлам в /usr/share/java
> > > и составить списки всех .class файлов находящихся в них.
> >
> > То есть предлагается ставить только такие зависимости Requires, которые
> > заведомо удовлетворены в сборочной среде? Сомнительно.
> Угу, я тоже об этом думал. К сожалению, если хочется делать
> зависимости на уровне .jar - это единственный выход.
Здесь выполняется (причем не совсем корректно) часть работы, которую rpm
должен выполнять при установке пакетов: соединять названия пакетов по
виртуальным зависимостям и решать, удовлетворены виртуальные зависимости
или нет. Т.е. зависимости на уровне jar -- это в таком случае
получается что-то среднее между названиями пакетов и "настоящими"
виртуальными зависимостями.
Когда нужный jar файл из /usr/share/java/* найден, тогда вместо
виртуальной зависимости java($jar) можно ставить зависимость просто
на /usr/share/java/$jar.jar или даже `rpm -qf /usr/share/java/$jar.jar'.
Т.е. виртуальные зависимости специального вида -- не самоцель;
предполагается, что, по сравнению с именами пакетов, они более точно
описывают внутреннюю структуру "настоящих" зависимостей.
> Впрочем, если забить на разбухание базы - то у меня на гит в
> rpm-build-java лежит файл java.req, в котором в качестве
> промежуточного результата используется список классов, который
> использует пакет. Если этот список в текущем виде сконвертировать в
> Java(имя класса) и представить как Requires - то получится все очень
> хорошо. Только тогда еще надо рисовать скрипт java.prov, который будет
> вытаскивать из .jar имена классов и предоставлять их как Provides.
Если я правильно понимаю, что *.jar -- это просто архивы *.class файлов,
причем "на самом деле" зависимости существуют именно между *.class
файлами; то, по-моему, лучше делать зависимости на уровне class-файлов.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20070215/97ac210f/attachment.bin
Подробная информация о списке рассылки Devel