[devel] Java autoreq/autoprov draft

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Фев 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-файлов.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070215/97ac210f/attachment-0001.bin>


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