[devel] [POLICY] A-[plugin]->B

Mikhail Yakshin =?iso-8859-1?q?greycat_=CE=C1_altlinux=2Eru?=
Сб Янв 3 01:07:13 MSK 2004


Michael Shigorin пишет:

>>ladspa_sdk - пакет довольно странно упакован и, по-моему должен быть
>>разбит и поименован примерно так:
>>libladspa - /etc/profile.d
>>libladspa-devel - *.h, все имеющее отношение к сборке и макросы
>>libladspa-doc - вся документация, возможно, ее можно включить в -devel
>>libladspa-utils - утилиты типа listplugins, возможно, их можно включить
>>в libladspa

> Я бы (с низким приоритетом) высказался за ladspa-common или даже
> просто ladspa; вынос "всего имеющего отношения к сборке" в какой
> (lib)?ladspa-devel еще может быть осмыслен -- но вот разносить
> копеечные утилиты и документацию по отдельным пакетам -- IMCO
> бессмысленно.

> В общем, спорим, не подеретесь. :)

Я могу еще раз объяснить вышеприведенные пожелания с точки зрения 
различных сценариев использования пакета.

1. Конечный пользователь. Ставит себе libladspa на несколько килобайт и 
успокаивается.

2. Пытливый конечный пользователь. Ставит себе в придачу к 1 еще 
libladspa-utils.

3. Сборщик софта, требующего LADSPA. Ставит себе libladspa + 
libladspa-devel и больше ему ничего не нужно.

4. Разработчик самих плагинов - ставит себе полный набор - вместе с 
документацией, вместе с libladspa-devel и утилитами.

Какие из этих классов можно приравнять друг к другу - большой вопрос. В 
моем представлении, можно объединить 1 и 2, сильно спорно - 3 и 4.

>>Для пакета, видимо, стоит все-таки определить целевую аудиторию
>>и каким-то образом побить его. Я, конечно, понимаю, что он и
>>так маленький, но в данном случае речь идет даже не о размере,
>>а о закладывании базиса для цивилизованной упаковки в пакеты...

> А цивилизованная упаковка для пакетов по два кило без кошмарных
> зависимостей бессмысленна.  Грузите апельсины бочками, и все тут.

Я более-менее выше объяснил, какие могут быть классы пользователей и что 
им ставить. Зависимости по-моему тривиально ясны:

libladspa-utils requires libladspa
libladspa-devel requires libladspa
libladspa-doc require libladspa, может быть еще libladspa-devel
Любой конечный плагин requires libladspa

>>Дальше, сам суффиксы -plugins мне категорически не нравится
> 
> Даже без множественного числа навешивание *и* префикса, *и*
> суффикса выглядит действительно чуточку ой.  Это да.

На самом деле на эту тему в сизифе творится вообще полный бардак IMHO. 
Достаточно сделать apt-cache search plugin и посмотреть :(

>>Вообще, может быть тут стоит провести некую локальную революцию
> 
> Это называется cleanup.  (в сторону: ну там .la cleanup... ;)

Ну да, ну да ;)

>>в Сизифе на эту тему и описать такое каким-то образом в
>>полиси?..
> 
> Бесспорно.  Не хотите пройтись по e.g. Debian policy [1],
> существующему ALT Packaging HOWTO [2] и недостающее во втором
> написать и прислать в docs@ ?

В ALT Packaging HOWTO ничего про плагинные сборки вообще я ничего не 
нахожу, в Debian policy - хорошо, спасибо за ссылку, посмотрю.

> Как вариант -- можете подключиться к созданию [3], но это по
> большей части моя отсебятина.

Оно же вроде бы умерло? www.linux-os.ru сейчас или что там у нас?..

>>xmms вот сейчас переходит на префиксную схему, но там, см.
>>выше, есть из-за чего - там схема "xmms-название", разумеется,
>>не годится
> 
> Разумеется, годится.  Просто без разделения плагинов по "кучкам" 
> общая куча нарастала как-то совсем неправильно, и это при том,
> что неопакеченных (и стоящих того) еще есть.

Ну, а еще пакеты можно просто понумеровать. И быстрее будет работать, и 
вообще более тру. Фразы в стиле 12892 пакет requires 9273 %) Или там MD5 
от названия чего-нибудь взять и в качестве имени пакета... %)

Мы говорим сейчас не о том, что "годится" в смысле минимальных 
требований для выживания, а о хорошей базе на будущее...

> Кстати, пока у темы: есть предложение зафиксировать рекомендацию:
> 
> 	При ситуации "исходный пакет A дает подключаемый модуль
> 	(плагин) для использования с пакетом B" (модули к xmms,
> 	multisync, ...) следует использовать название пакета с
> 	таким модулем в виде B-A, т.е. отталкиваясь от "пункта
> 	назначения", с целью группирования пакетов по названию
> 	около: 1) необходимого; 2) базового; 3) того, "для"
> 	которого будет востребована добавляемая функциональность.
> 
> 	Если пакет с оригинальным названием существовал
> 	(существует) в Sisyphus или широко распространен в виде
> 	сторонних сборок, следует добавить в spec-файл тег
> 	"Obsoletes: старое_название".
> 
> 	При этом несоответствие названия в upstream не должно
> 	быть препятствием; например, возможно переименовать imms
> 	в xmms-imms или synce-multisync_plugin в multisync-synce.

Я - за.

WBR, GreyCat.




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