[devel] WM resources packaging proposal
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Сен 19 14:50:12 MSD 2008
On Fri, Sep 19, 2008 at 12:30:01PM +0300, Igor Vlasenko wrote:
> On Fri, Sep 19, 2008 at 08:59:59AM +0000, Alexey Tourbin wrote:
> > > Если сказать по другому, то зависимость wm-common
> > > на update-desktop-db по существу.
> >
> > Сомнительно. Получается, что wm-common -- это фантомный пакет,
> > который содержит набор зависимостей для некоторых "десктопных" wm.
>
> В споре рождается истина :)
> (Подумав). Действительно, неправильно позиционировать этот
> список как wm-common. Но этот список есть реальная сущность.
>
> Теперь я наверное сам понял.
> Этот список стандартных фич согласно freedesktop.org.
> Его правильно назвать freedesktop-common.
А сколько всего таких десктопов есть?
На ум приходят три штуки: gnome, kde и xfce.
> Этот список открыт, поскольку freedesktop.org постоянно
> добавляет стандарты.
>
> Список этих зависимостей должен стоять у каждого DE/WM/FM,
> который грозится быть freedesktop compliant.
Зависимости должны быть конкретны. Я даже исхожу из того, что все
зависимости по сути конкретны. Например, если кто-то слинковался с
библиотекой libfoo, то будет конкретная зависимость на libfoo.so.0,
а если кто-то требует файл /foo/bar, то можно указать зависимость на
/foo/bar (зависимость на имя пакета уже является менее конкретной).
Так вот, все зависимости конкретны, но не все зависимости прозрачны,
и не все зависимости поддаются автоматическому поиску. Зависимости
на menu прозрачны, а зависимости на update-desktop-db уже непрозрачны.
Но зависимости на update-desktop-db всё ещё можно считать конкретными.
Что на самом деле нужно WM/DE? Ему нужен этот самый desktop db, а этот
desktop db существует в виде конкретных файлов. Так что можно
проставить зависимость на /usr/share/applications/mimeinfo.cache.
(Остаётся правильно сгруппировать файлы "на другом конце", чтобы
эта связка хорошо работала.) То есть какой-то бинарик в WM/DE загружает
этот mimeinfo.cache, просто такую зависимость очень трудно вытянуть из
бинарика автоматически.
А freedesktop-common уже не является конкретной зависимостью,
он, наоборот, является "фантомным" пакетом (нельзя получить естественную
зависимость на freedesktop-common, исходя из содержимого этого пакета).
Он предлагает механизм переходных зависимостей: пакет A по сути требует
пакет C, но эта зависимость непрозрачна; вместо этого пакет A требует
пакет B, который в свою очередь требует C (то есть в пакете B
перечислены все непрозрачные зависимости пакета A).
> > Получается, что, вообще говоря, разные window manager'ы могут
> > поддерживать разные списки desktop фич. Зависимости должны быть
> > прозрачными и поддаваться автоматическому поиску, а если непрозрачны
> > и не поддаются автоматическому поиску, то нужно их гранулированно
> > указывать вручную
>
> IMHO, freedesktop-common правильнее, чем гранулированно
> указывать вручную, так как бульдозер прогресса тащит все эти
> DE/WM/FM к поддержке всего списка.
С одной стороны, все зависимости по сути являются конкретными,
и тогда переходных зависимостей быть не должно (и тогда никаких
"реальных сущностей" тоже нет :).
С другой стороны, не все зависимости прозрачны; если freedesktop-common
в этом отношении окажется полезным в энном количестве случаев, тогда
надо его сделать. Только в понятие полезности нужно заранее заложить
минимальное значение N.
> Они обязаны (стандарт требует) поддерживать все,
> и если даже чего-то не далают, то быстро начнут.
>
> А майнтайнер может элементарно проморгать, что в релизе X.Y
> поддержки такой-то не было, а в релизе X.Y+1 уже
> появилась.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080919/6f5275b2/attachment-0002.bin>
Подробная информация о списке рассылки Devel