[devel] alternatives

Stanislav Ievlev =?iso-8859-1?q?inger_=CE=C1_altlinux=2Eorg?=
Пн Мар 31 11:29:27 MSD 2003


Ну обо всём по порядку.
On Sat, Mar 29, 2003 at 04:11:57PM +0300, Mikhail Zabaluev wrote:
> Доброго времени суток.
> 
> Сегодня стал знакомиться с alternatives.
> Брови полезли наверх почти сразу.
Согласен, всё достаточно необычно сделано ;)
> 
> >    <group name="candidate">
> >        <option name="link" type="string"  value="/usr/bin/gcc" />
> >        <option name="real" type="string" value="/usr/bin/colorifer" />
> >        <option name="weight" type="number" value="50" />
> 
> Спецификация XML (есть DTD? Schema?)
Будут ;)
>для описания кандидатов
> чересчур громоздка. Зачем все эти <group name="candidate"/>
> и <option name="link" type="string" value="..."/>, когда достаточно:
> <candidate/> и <link file="..."/>
Эта громоздкость позволяет иметь общий формат конфигурационных файлов для разных
программ. При переходе на собственный конфигуратор это позволит облегчить
написание backend к нему.
> 
> >    1. Из-за особенностей кодирования путей к файлам в именах
> >       кадидатов запрещается использование
> >    символа '|'
> 
> Чем изобретать схемы кодирования путей и запрещать символы,
> не лучше ли отобразить иерархию на каталог, где размещаются ссылки?
> И каталог будет выглядеть аккуратно, и в bash эти ссылки
> можно будет набирать, пользуясь автодополнением (попробуйте,
> какой гемор доставляют сейчас "особенности кодирования").
> Сейчас ссылки мешаются с каталогами auto, manual, старыми
> альтернативами и пр. Наверное, лучше спрятать их под
> /etc/alternatives/links, и сделать реальными именами путей,
> повторяющими файловую систему от корня.
Был и такой вариант. Но преимуществ он никаких не несет, короме другого
размещения. А что делать если и каталог и файлы лежащие в нём будут оба
альтернативами?  Зачем использовать автодополнение для служебных ссылок?
Этот каталог можно считать чёрным ящиком и внутреннее его содержимое не
должно беспокоить пользователя.
> 
> Неясно, зачем было завязывать эти маленькие утилиты на C++,
> ставя работоспособность системы в зависимость от колебаний
> C++ ABI. Конечно, у всех разработчиков свои предпочтения,
> а иметь библиотеку имени себя в дистрибутиве -- вообще шик. ;)
Никак не мог придумать название ;)
> Но то, что я вижу в libing, можно было не напрягаясь
> сделать в C, призвав на подмогу glib2 и libxml2.
Не напрягаясь это можно сделать на многих средствах ... так что дискуссия
по этому поводу вряд ли будет конструктивной.
> Там, где не нужны классовые иерархии, C++ есть стрельба
> из пушки по воробьям. Вдобавок, если и дальше пользоваться
> расхожими метафорами, из этой же пушки легко прострелить
> себе ногу.
Ух. Если уж пользоваться метафорами, то "убить можно и простой авторучкой".
> 
> -- 
> Stay tuned,
>   MhZ                                     JID: mhz на altlinux.org
> ___________
> Hodie natus est radici frater.





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