ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] alternatives
@ 2003-03-29 13:11 Mikhail Zabaluev
  2003-03-29 16:24 ` [devel] alternatives, security issues of Mikhail Zabaluev
                   ` (5 more replies)
  0 siblings, 6 replies; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-03-29 13:11 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1846 bytes --]

Доброго времени суток.

Сегодня стал знакомиться с 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="..."/>

>    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.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] alternatives, security issues of
  2003-03-29 13:11 [devel] alternatives Mikhail Zabaluev
@ 2003-03-29 16:24 ` Mikhail Zabaluev
  2003-03-29 16:46   ` Ivan Zakharyaschev
  2003-03-29 19:15   ` [devel] " Alexey Voinov
  2003-03-29 17:56 ` [devel] alternatives Alexander Bokovoy
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-03-29 16:24 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1610 bytes --]

Hello devel,

Некоторые мысли вслед.

On Sat, Mar 29, 2003 at 04:11:57PM +0300, Mikhail Zabaluev wrote:
>
> >    1. Из-за особенностей кодирования путей к файлам в именах
> >       кадидатов запрещается использование
> >    символа '|'
> 
> Чем изобретать схемы кодирования путей и запрещать символы,
> не лучше ли отобразить иерархию на каталог, где размещаются ссылки?
> И каталог будет выглядеть аккуратно, и в bash эти ссылки
> можно будет набирать, пользуясь автодополнением (попробуйте,
> какой гемор доставляют сейчас "особенности кодирования").
> Сейчас ссылки мешаются с каталогами auto, manual, старыми
> альтернативами и пр. Наверное, лучше спрятать их под
> /etc/alternatives/links, и сделать реальными именами путей,
> повторяющими файловую систему от корня.

У существующей схемы есть ещё и недостаток с точки зрения
безопасности: в /etc/alternatives видны все линки, тогда
как некоторые из sources и targets могут быть в скрытых
каталогах. Если вместе со структурой каталогов
копировать в /etc/alternatives/links и права на них, 
сокрытие не будет нарушено.

Вообще имеется вопрос, зачем пропускать ссылки через
промежуточную стадию в /etc/alternatives? Оно, конечно,
сразу даёт пользователю понять, что тут не всё просто
и просто перекидывать ссылки не рекомендуется.
Но если вся конфигурация записана в XML-файлах,
что мешает ссылаться прямо на target, при возможности
восстановить порушенные ссылки в случае необходимости?

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
Knowledge is power -- knowledge shared is power lost.
		-- Aleister Crowley

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] alternatives, security issues of
  2003-03-29 16:24 ` [devel] alternatives, security issues of Mikhail Zabaluev
@ 2003-03-29 16:46   ` Ivan Zakharyaschev
  2003-03-29 21:34     ` [devel] " Mikhail Zabaluev
  2003-03-29 19:15   ` [devel] " Alexey Voinov
  1 sibling, 1 reply; 29+ messages in thread
From: Ivan Zakharyaschev @ 2003-03-29 16:46 UTC (permalink / raw)
  To: devel

	Hello, Mikhail!

On Sat, 29 Mar 2003, Mikhail Zabaluev wrote:

> Вообще имеется вопрос, зачем пропускать ссылки через
> промежуточную стадию в /etc/alternatives? Оно, конечно,

Это вроде объяснялось ещё в старых alternatives: так изменение
варианта не требует изменений нигде в файловой системе, кроме
/etc -- как и положено для действия по конфигурированию системы.
Например, /usr (и /usr/bin) может быть на несколько систем один
(и смонтирован ro), а альтернативы выбраны по-разному.

> сразу даёт пользователю понять, что тут не всё просто
> и просто перекидывать ссылки не рекомендуется.
> Но если вся конфигурация записана в XML-файлах,
> что мешает ссылаться прямо на target, при возможности
> восстановить порушенные ссылки в случае необходимости?

-- 
С наилучшими пожеланиями,
Иван Захарьящев, Москва

JID: imz at altlinux.org


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] alternatives
  2003-03-29 13:11 [devel] alternatives Mikhail Zabaluev
  2003-03-29 16:24 ` [devel] alternatives, security issues of Mikhail Zabaluev
@ 2003-03-29 17:56 ` Alexander Bokovoy
  2003-03-29 19:41 ` Alexey Voinov
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 29+ messages in thread
From: Alexander Bokovoy @ 2003-03-29 17:56 UTC (permalink / raw)
  To: devel

On Sat, Mar 29, 2003 at 04:11:57PM +0300, Mikhail Zabaluev wrote:
> >    <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="..."/>
Поддерживаю. Не надо плодить слишком формализованный синтаксис для решения
вообщем-то достаточно простой задачи.

> 
> >    1. Из-за особенностей кодирования путей к файлам в именах
> >       кадидатов запрещается использование
> >    символа '|'
> 
> Чем изобретать схемы кодирования путей и запрещать символы,
> не лучше ли отобразить иерархию на каталог, где размещаются ссылки?
> И каталог будет выглядеть аккуратно, и в bash эти ссылки
> можно будет набирать, пользуясь автодополнением (попробуйте,
> какой гемор доставляют сейчас "особенности кодирования").
> Сейчас ссылки мешаются с каталогами auto, manual, старыми
> альтернативами и пр. Наверное, лучше спрятать их под
> /etc/alternatives/links, и сделать реальными именами путей,
> повторяющими файловую систему от корня.
Здравая идея.


> Неясно, зачем было завязывать эти маленькие утилиты на C++,
> ставя работоспособность системы в зависимость от колебаний
> C++ ABI. Конечно, у всех разработчиков свои предпочтения,
> а иметь библиотеку имени себя в дистрибутиве -- вообще шик. ;)
> Но то, что я вижу в libing, можно было не напрягаясь
> сделать в C, призвав на подмогу glib2 и libxml2.
> Там, где не нужны классовые иерархии, C++ есть стрельба
> из пушки по воробьям. Вдобавок, если и дальше пользоваться
> расхожими метафорами, из этой же пушки легко прострелить
> себе ногу.
Не будем стреляться, но все же и мне кажется, что использование в данном
случае C++ не обосновано реальными требованиями.


-- 
/ Alexander Bokovoy
---
Oh, give me a home,
Where the buffalo roam,
And I'll show you a house with a really messy kitchen.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] alternatives, security issues of
  2003-03-29 16:24 ` [devel] alternatives, security issues of Mikhail Zabaluev
  2003-03-29 16:46   ` Ivan Zakharyaschev
@ 2003-03-29 19:15   ` Alexey Voinov
  1 sibling, 0 replies; 29+ messages in thread
From: Alexey Voinov @ 2003-03-29 19:15 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 705 bytes --]

Mikhail Zabaluev wrote
> Вообще имеется вопрос, зачем пропускать ссылки через
> промежуточную стадию в /etc/alternatives? Оно, конечно,
> сразу даёт пользователю понять, что тут не всё просто
> и просто перекидывать ссылки не рекомендуется.
> Но если вся конфигурация записана в XML-файлах,
> что мешает ссылаться прямо на target, при возможности
> восстановить порушенные ссылки в случае необходимости?
Предположим, что /usr смонтирована в readonly...

-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins@voins.program.ru
vns@altlinux.ru


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] alternatives
  2003-03-29 13:11 [devel] alternatives Mikhail Zabaluev
  2003-03-29 16:24 ` [devel] alternatives, security issues of Mikhail Zabaluev
  2003-03-29 17:56 ` [devel] alternatives Alexander Bokovoy
@ 2003-03-29 19:41 ` Alexey Voinov
  2003-03-29 21:27   ` [devel] alternatives Mikhail Zabaluev
  2003-03-30 20:01 ` [devel] alternatives Igor Tertishny
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 29+ messages in thread
From: Alexey Voinov @ 2003-03-29 19:41 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1765 bytes --]

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="..."/>
Я бы сказал, что над этим ведётся работа. :) Если есть конкретные
предложения, думаю никто не будет против, если они буду здесь высказаны.

> Неясно, зачем было завязывать эти маленькие утилиты на C++,
> ставя работоспособность системы в зависимость от колебаний
> C++ ABI. Конечно, у всех разработчиков свои предпочтения,
> а иметь библиотеку имени себя в дистрибутиве -- вообще шик. ;)
> Но то, что я вижу в libing, можно было не напрягаясь
> сделать в C, призвав на подмогу glib2 и libxml2.
> Там, где не нужны классовые иерархии, C++ есть стрельба
> из пушки по воробьям. Вдобавок, если и дальше пользоваться
> расхожими метафорами, из этой же пушки легко прострелить
> себе ногу.
Как бы это помягче сказать....
Я правильно понял, что предложение заключается в замене libstdc++ (716578)
на glib2 (1207356) и переходе на менее удобный (для того, кто это пишет)
синтаксис? :)

В чём преимущество предложенного?

-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins@voins.program.ru
vns@altlinux.ru


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-03-29 19:41 ` Alexey Voinov
@ 2003-03-29 21:27   ` Mikhail Zabaluev
  2003-03-30  7:44     ` Alexey Voinov
  0 siblings, 1 reply; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-03-29 21:27 UTC (permalink / raw)
  To: devel; +Cc: Alexey Voinov

[-- Attachment #1: Type: text/plain, Size: 1640 bytes --]

Hello Alexey,

On Sat, Mar 29, 2003 at 10:41:29PM +0300, Alexey Voinov wrote:
>
> > Спецификация XML (есть DTD? Schema?) для описания кандидатов
> > чересчур громоздка. Зачем все эти <group name="candidate"/>
> > и <option name="link" type="string" value="..."/>, когда достаточно:
> > <candidate/> и <link file="..."/>
> Я бы сказал, что над этим ведётся работа. :) Если есть конкретные
> предложения, думаю никто не будет против, если они буду здесь высказаны.

Если взять пример, приведённый в README.RUS, и переработать:

<?xml version="1.0"?>
<link name="/usr/bin/gcc"
      target="/usr/bin/colorifer"
      priority="50">
  <slave name="/usr/bin/g++" target="/usr/bin/colorifer" />
  <slave name="/usr/bin/gcj" target="/usr/bin/colorifer" />
</link>


> Я правильно понял, что предложение заключается в замене libstdc++ (716578)
> на glib2 (1207356) и

Нужно учесть ещё накладные расходы на порождение кода из шаблонов.
std::map<foo, bar> вряд ли даётся бесплатно.

> переходе на менее удобный (для того, кто это пишет)
> синтаксис? :)

Более удобно -- это там, где опасным и неинтуитивным образом
переопределяются операторы непонятно для чего? ;)

> В чём преимущество предложенного?

В том, что не надо думать, каким компилятором собраны
библиотека и приложение. У нас сейчас полно головной
боли из-за gcc 2.96 и gcc 3.2. А если кто-нибудь,
не дай бог, захочет использовать компилятор Intel?
Стандартный ABI уже есть, но он молод и недостаточно
отлажен, не говоря уж о реализациях.

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
Remember -- only 10% of anything can be in the top 10%.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives, security issues of
  2003-03-29 16:46   ` Ivan Zakharyaschev
@ 2003-03-29 21:34     ` Mikhail Zabaluev
  0 siblings, 0 replies; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-03-29 21:34 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 833 bytes --]

Hello Ivan,

On Sat, Mar 29, 2003 at 07:46:31PM +0300, Ivan Zakharyaschev wrote:
>
> > Вообще имеется вопрос, зачем пропускать ссылки через
> > промежуточную стадию в /etc/alternatives? Оно, конечно,
> 
> Это вроде объяснялось ещё в старых alternatives: так изменение
> варианта не требует изменений нигде в файловой системе, кроме
> /etc -- как и положено для действия по конфигурированию системы.

Если ссылки не существовало, изменить файловую систему всё-таки
придётся. Но в целом...

> Например, /usr (и /usr/bin) может быть на несколько систем один
> (и смонтирован ro), а альтернативы выбраны по-разному.

... я понял (не в первый раз). Спасибо.

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
The world really isn't any worse.  It's just that the news coverage
is so much better.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] Re: alternatives
  2003-03-29 21:27   ` [devel] alternatives Mikhail Zabaluev
@ 2003-03-30  7:44     ` Alexey Voinov
  2003-03-30 11:35       ` Mikhail Zabaluev
  0 siblings, 1 reply; 29+ messages in thread
From: Alexey Voinov @ 2003-03-30  7:44 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2481 bytes --]

Mikhail Zabaluev wrote
> > > Спецификация XML (есть DTD? Schema?) для описания кандидатов
> > > чересчур громоздка. Зачем все эти <group name="candidate"/>
> > > и <option name="link" type="string" value="..."/>, когда достаточно:
> > > <candidate/> и <link file="..."/>
> > Я бы сказал, что над этим ведётся работа. :) Если есть конкретные
> > предложения, думаю никто не будет против, если они буду здесь высказаны.
> Если взять пример, приведённый в README.RUS, и переработать:
> 
> <?xml version="1.0"?>
> <link name="/usr/bin/gcc"
>       target="/usr/bin/colorifer"
>       priority="50">
>   <slave name="/usr/bin/g++" target="/usr/bin/colorifer" />
>   <slave name="/usr/bin/gcj" target="/usr/bin/colorifer" />
> </link>

> > Я правильно понял, что предложение заключается в замене libstdc++ (716578)
> > на glib2 (1207356) и
> Нужно учесть ещё накладные расходы на порождение кода из шаблонов.
> std::map<foo, bar> вряд ли даётся бесплатно.
Всё решается во время компиляции.

Пример простого шаблона:
template <int i>
	struct f { static const int r = i * f<i-1>::r; };

template <>
	struct f<0> { static const int r = 1; };

Так вот, f<5>::r при компиляции заменяется костантой 120, а
f<10>::r --- 3628800. Где накладные расходы от шаблонов?
Я не вижу.


> > переходе на менее удобный (для того, кто это пишет)
> > синтаксис? :)
> Более удобно -- это там, где опасным и неинтуитивным образом
> переопределяются операторы непонятно для чего? ;)
Конкретный пример можно? Оператор [] у std::map переопределён
неинтуитивно?

> > В чём преимущество предложенного?
> В том, что не надо думать, каким компилятором собраны
> библиотека и приложение. У нас сейчас полно головной
> боли из-за gcc 2.96 и gcc 3.2. А если кто-нибудь,
> не дай бог, захочет использовать компилятор Intel?
> Стандартный ABI уже есть, но он молод и недостаточно
> отлажен, не говоря уж о реализациях.
Не надо думать. У нас стандартный компилятор gcc3.2.
Исходники alternatives досупны, так что перекомпилировать можно
без проблем в любой момент.

Я скажу так: я начал делать свой вариант альтернатив на C (и без glib2),
но потом решил, что продуктивнее будет слать патчи к тому, что уже есть.
Постепенно это можно довести до очень неплохого состояния.

-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins@voins.program.ru
vns@altlinux.ru


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-03-30  7:44     ` Alexey Voinov
@ 2003-03-30 11:35       ` Mikhail Zabaluev
  2003-04-01  7:44         ` Stanislav Ievlev
  0 siblings, 1 reply; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-03-30 11:35 UTC (permalink / raw)
  To: devel; +Cc: Alexey Voinov

[-- Attachment #1: Type: text/plain, Size: 2717 bytes --]

Hello Alexey,

On Sun, Mar 30, 2003 at 11:44:31AM +0400, Alexey Voinov wrote:
>
> > > на glib2 (1207356) и

Без GObject и пр. имеем:

-rwxr-xr-x    1 root     root       435172 Фев  5 07:42 /usr/lib/libglib-2.0.so.0.200.1

Сам пакет большой, но в runtime это довольно компактная библиотека.

> > Нужно учесть ещё накладные расходы на порождение кода из шаблонов.
> > std::map<foo, bar> вряд ли даётся бесплатно.
> Всё решается во время компиляции.
> 
> Пример простого шаблона:
> template <int i>
> 	struct f { static const int r = i * f<i-1>::r; };
> 
> template <>
> 	struct f<0> { static const int r = 1; };
> 
> Так вот, f<5>::r при компиляции заменяется костантой 120, а
> f<10>::r --- 3628800. Где накладные расходы от шаблонов?
> Я не вижу.

Я говорил об std::map и других не вполне тривиальных классах.

> > > переходе на менее удобный (для того, кто это пишет)
> > > синтаксис? :)
> > Более удобно -- это там, где опасным и неинтуитивным образом
> > переопределяются операторы непонятно для чего? ;)
> Конкретный пример можно? Оператор [] у std::map переопределён
> неинтуитивно?

Класс Ing::FileSystem переопределяет * и ++ явно в целях
конспирации. Правильный operator++ должен возвращать отнюдь не bool.
Кстати, если уж переопределять ++, принято ещё и постфиксную форму
предоставлять.
Непонятно, почему вообще немудрёный итератор
по файловым деревьям назван FileSystem.
И почему у него семантика линейного итератора. Мне известны
как минимум два способа обхода дерева, см параметры утилиты
file. Файловые ссылки добавляют неопределённости.
Негибкий этот класс и в других отношениях: всегда делает fstat,
нужно это или нет (тем более что fts_* вроде бы предоставляют
и эти данные). В-общем, я не увидел здесь _полезного_
использования C++.

> > > В чём преимущество предложенного?
> > В том, что не надо думать, каким компилятором собраны
> > библиотека и приложение. У нас сейчас полно головной
> > боли из-за gcc 2.96 и gcc 3.2. А если кто-нибудь,
> > не дай бог, захочет использовать компилятор Intel?
> > Стандартный ABI уже есть, но он молод и недостаточно
> > отлажен, не говоря уж о реализациях.
> Не надо думать. У нас стандартный компилятор gcc3.2.

Разработчики GCC пока не дали гарантии, что C++ ABI версии 3.2
окончательный.

> Я скажу так: я начал делать свой вариант альтернатив на C (и без glib2),
> но потом решил, что продуктивнее будет слать патчи к тому, что уже есть.
> Постепенно это можно довести до очень неплохого состояния.

Да, вероятно.
Можно было бы постепенно сводить классы к их заменам на C.
В отсутствие наследования это будет нетрудно.

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
Sinners can repent, but stupid is forever.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] alternatives
  2003-03-29 13:11 [devel] alternatives Mikhail Zabaluev
                   ` (2 preceding siblings ...)
  2003-03-29 19:41 ` Alexey Voinov
@ 2003-03-30 20:01 ` Igor Tertishny
  2003-03-30 20:20   ` [devel] alternatives Mikhail Zabaluev
  2003-03-31  7:29 ` [devel] alternatives Stanislav Ievlev
  2003-04-02  6:55 ` Michael Shigorin
  5 siblings, 1 reply; 29+ messages in thread
From: Igor Tertishny @ 2003-03-30 20:01 UTC (permalink / raw)
  To: devel

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 564 bytes --]

29 Март 2003 13:11, Mikhail Zabaluev написал:
> Доброго времени суток.
>
> Сегодня стал знакомиться с alternatives.
> Брови полезли наверх почти сразу.
>

Я тоже несколько часов пытался разобраться в новых alternatives настроить 
простейшую вещь - замену automake, autocong, без чего не работает kdevelop. 
Ничего не смог сделать. информации никакой нет. man и info alternatives 
ничего не дают. Прошу подсказать где найти хоть какую инфу по их настройке, 
по добавлению новых альтернатив, вообще по работе с ними. Нужно срочно, 
работа стоит. Заранее благодарен.

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-03-30 20:01 ` [devel] alternatives Igor Tertishny
@ 2003-03-30 20:20   ` Mikhail Zabaluev
  2003-03-30 22:07     ` Dmitry V. Levin
  0 siblings, 1 reply; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-03-30 20:20 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 833 bytes --]

Hello Igor,

On Sun, Mar 30, 2003 at 08:01:40PM +0000, Igor Tertishny wrote:
>
> Я тоже несколько часов пытался разобраться в новых alternatives настроить 
> простейшую вещь - замену automake, autocong, без чего не работает kdevelop. 

?? Вам нужно определённые версии выставить? Это в ALT Linux нынче делается
через переменные окружения.

> Ничего не смог сделать. информации никакой нет. man и info alternatives 
> ничего не дают. Прошу подсказать где найти хоть какую инфу по их настройке, 
> по добавлению новых альтернатив, вообще по работе с ними. Нужно срочно, 
> работа стоит. Заранее благодарен.

Hint: man 8 update-alternatives

Это не очень прогрессивное средство будет работать ещё какое-то время. 

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
People humiliating a salami!

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] Re: alternatives
  2003-03-30 20:20   ` [devel] alternatives Mikhail Zabaluev
@ 2003-03-30 22:07     ` Dmitry V. Levin
  0 siblings, 0 replies; 29+ messages in thread
From: Dmitry V. Levin @ 2003-03-30 22:07 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 579 bytes --]

On Mon, Mar 31, 2003 at 12:20:22AM +0400, Mikhail Zabaluev wrote:
> On Sun, Mar 30, 2003 at 08:01:40PM +0000, Igor Tertishny wrote:
> >
> > Я тоже несколько часов пытался разобраться в новых alternatives настроить 
> > простейшую вещь - замену automake, autocong, без чего не работает kdevelop. 
> 
> ?? Вам нужно определённые версии выставить? Это в ALT Linux нынче делается
> через переменные окружения.

Для automake - через альтернативу /usr/bin/automake-default, которая
используется в случае, если переменная AUTOMAKE_VERSION не определена.
Аналогично с autoconf.


--
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] alternatives
  2003-03-29 13:11 [devel] alternatives Mikhail Zabaluev
                   ` (3 preceding siblings ...)
  2003-03-30 20:01 ` [devel] alternatives Igor Tertishny
@ 2003-03-31  7:29 ` Stanislav Ievlev
  2003-03-31 23:09   ` [devel] alternatives Mikhail Zabaluev
                     ` (2 more replies)
  2003-04-02  6:55 ` Michael Shigorin
  5 siblings, 3 replies; 29+ messages in thread
From: Stanislav Ievlev @ 2003-03-31  7:29 UTC (permalink / raw)
  To: devel

Ну обо всём по порядку.
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.




^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-03-31  7:29 ` [devel] alternatives Stanislav Ievlev
@ 2003-03-31 23:09   ` Mikhail Zabaluev
  2003-04-01  7:37     ` Stanislav Ievlev
  2003-04-01 10:36   ` [devel] no black box (was: alternatives) Michael Shigorin
  2003-04-01 12:00   ` [devel] Re: alternatives Vitaly Ostanin
  2 siblings, 1 reply; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-03-31 23:09 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2336 bytes --]

Hello Stanislav,

On Mon, Mar 31, 2003 at 11:29:27AM +0400, Stanislav Ievlev wrote:
>
> > >    <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 к нему.

Не стоит ради упрощения одного инструмента создавать проблемы всем
разработчикам, которым эти файлы предстоит писать.
Если так уж необходимо приведение к общему формату, можно гонять
туда-обратно при помощи XSLT.

> > >    1. Из-за особенностей кодирования путей к файлам в именах
> > >       кадидатов запрещается использование
> > >    символа '|'
> > 
> > Чем изобретать схемы кодирования путей и запрещать символы,
> > не лучше ли отобразить иерархию на каталог, где размещаются ссылки?
> > И каталог будет выглядеть аккуратно, и в bash эти ссылки
> > можно будет набирать, пользуясь автодополнением (попробуйте,
> > какой гемор доставляют сейчас "особенности кодирования").
> > Сейчас ссылки мешаются с каталогами auto, manual, старыми
> > альтернативами и пр. Наверное, лучше спрятать их под
> > /etc/alternatives/links, и сделать реальными именами путей,
> > повторяющими файловую систему от корня.
> Был и такой вариант. Но преимуществ он никаких не несет, короме другого
> размещения.

В другом письме я говорил о проблеме безопасности: все ссылки видны.

> А что делать если и каталог и файлы лежащие в нём будут оба
> альтернативами?

Это безумие не будет надёжно работать при любой организации,
если не отслеживать префиксные отношения различных ссылок.
Я считаю, это должно быть явно запрещено: более чем
одномерные системы альтернатив вряд ли встретятся
на практике.

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
Harrison's Postulate:
	For every action, there is an equal and opposite criticism.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] Re: alternatives
  2003-03-31 23:09   ` [devel] alternatives Mikhail Zabaluev
@ 2003-04-01  7:37     ` Stanislav Ievlev
  2003-04-01 12:14       ` Mikhail Zabaluev
  2003-04-01 19:26       ` Mikhail Zabaluev
  0 siblings, 2 replies; 29+ messages in thread
From: Stanislav Ievlev @ 2003-04-01  7:37 UTC (permalink / raw)
  To: devel

Привет!

On Tue, Apr 01, 2003 at 03:09:43AM +0400, Mikhail Zabaluev wrote:
> > программ. При переходе на собственный конфигуратор это позволит облегчить
> > написание backend к нему.
> 
> Не стоит ради упрощения одного инструмента создавать проблемы всем
> разработчикам, которым эти файлы предстоит писать.
> Если так уж необходимо приведение к общему формату, можно гонять
> туда-обратно при помощи XSLT.
Я уже думал и про это. Во-первых формат не слишком сложен чтобы
разработчикам его использовать (это конечно же субъективно, сделай
короткий вариант, найдется кто-нибудь кому и это будет неудобно, xml сам
по себе достаточно громоздок), да и не надо его использовать каждый день. 
Во-вторых, я конечно же думал сделать специализированные 
форматы с перегонкой на общий через XSLT, но не могу
никак себя убедить что проще иметь десяток разных обработчиков +
транслятор, чем изначально один обработчик . Я
предпочитаю наблюдать все баги в одном месте, а не десяти.

... Тем не менее любую помощь и предложения по формату принимаю. Я не
хотел бы спешить и быстро сейчас всё перекручивать. Всё подлежит
длительному обдумыванию. Именно поэтому новая версия сделана чтобы жить
совместно со старой ;)
> 
> > > >    1. Из-за особенностей кодирования путей к файлам в именах
> > > >       кадидатов запрещается использование
> > > >    символа '|'
> > > 
> > > Чем изобретать схемы кодирования путей и запрещать символы,
> > > не лучше ли отобразить иерархию на каталог, где размещаются ссылки?
> > > И каталог будет выглядеть аккуратно, и в bash эти ссылки
> > > можно будет набирать, пользуясь автодополнением (попробуйте,
> > > какой гемор доставляют сейчас "особенности кодирования").
> > > Сейчас ссылки мешаются с каталогами auto, manual, старыми
> > > альтернативами и пр. Наверное, лучше спрятать их под
> > > /etc/alternatives/links, и сделать реальными именами путей,
> > > повторяющими файловую систему от корня.
> > Был и такой вариант. Но преимуществ он никаких не несет, короме другого
> > размещения.
> 
> В другом письме я говорил о проблеме безопасности: все ссылки видны.
Ну и что, принадлежат ведь они руту. security by obsсurity?
Они и так и так будут видны как не крути ;)
> 
> > А что делать если и каталог и файлы лежащие в нём будут оба
> > альтернативами?
> 
> Это безумие не будет надёжно работать при любой организации,
Ну почему же, вот например сейчас уже работает vi. У которого есть
альтернатива vim-X11, которая в свою очередь тоже является альтернативой
;))
И это не моё изобретение ;)))
> если не отслеживать префиксные отношения различных ссылок.
> Я считаю, это должно быть явно запрещено: более чем
> одномерные системы альтернатив вряд ли встретятся
> на практике.
Ну а если они одномерные то тогда тем более не пойму зачем городить огород
из каталогов.
> 
> -- 
> Stay tuned,
>   MhZ                                     JID: mhz@altlinux.org
> ___________
> Harrison's Postulate:
> 	For every action, there is an equal and opposite criticism.




^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] Re: alternatives
  2003-03-30 11:35       ` Mikhail Zabaluev
@ 2003-04-01  7:44         ` Stanislav Ievlev
  0 siblings, 0 replies; 29+ messages in thread
From: Stanislav Ievlev @ 2003-04-01  7:44 UTC (permalink / raw)
  To: devel

> > > > синтаксис? :)
> > > Более удобно -- это там, где опасным и неинтуитивным образом
> > > переопределяются операторы непонятно для чего? ;)
> > Конкретный пример можно? Оператор [] у std::map переопределён
> > неинтуитивно?
> 
> Класс Ing::FileSystem переопределяет * и ++ явно в целях
> конспирации. Правильный operator++ должен возвращать отнюдь не bool.
Ну это бабушка надвое сказала, нигде не определены жесткие правила перегрузки
опрераторов, другое дело, что это может быть общепринято.
> Кстати, если уж переопределять ++, принято ещё и постфиксную форму
> предоставлять.
> Непонятно, почему вообще немудрёный итератор
> по файловым деревьям назван FileSystem.
> И почему у него семантика линейного итератора. Мне известны
> как минимум два способа обхода дерева, см параметры утилиты
> file. Файловые ссылки добавляют неопределённости.
> Негибкий этот класс и в других отношениях: всегда делает fstat,
> нужно это или нет (тем более что fts_* вроде бы предоставляют
> и эти данные). В-общем, я не увидел здесь _полезного_
> использования C++.
fts-то конечно предоставляет fstat, но типичный TOCTOU race остается. Если Вы
внимательно посмотрели, то там вся фишка не столько в fstat, сколько в
open.

А вот мысль по поводу интерфейса мне показалась разумной. Наверное лучше
сделать его больше похожим на поток, так будет ближе к сути ... да и к fts
тоже. Михаил, как считаете?

--
С наилучшими пожеланиями
Станислав Иевлев.



^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] no black box (was: alternatives)
  2003-03-31  7:29 ` [devel] alternatives Stanislav Ievlev
  2003-03-31 23:09   ` [devel] alternatives Mikhail Zabaluev
@ 2003-04-01 10:36   ` Michael Shigorin
  2003-04-01 12:00   ` [devel] Re: alternatives Vitaly Ostanin
  2 siblings, 0 replies; 29+ messages in thread
From: Michael Shigorin @ 2003-04-01 10:36 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 758 bytes --]

On Mon, Mar 31, 2003 at 11:29:27AM +0400, Stanislav Ievlev wrote:
> Зачем использовать автодополнение для служебных ссылок?

Затем, что это может быть удобно.

> Этот каталог можно считать чёрным ящиком и внутреннее его
> содержимое не должно беспокоить пользователя.

Нет!  Мне и так хватает того, что /boot и /lib/modules
замаскированы разрешениями.  За черноящичьем идет чернокнижие.

Т.е. лично _мне_ [ :) ] хотелось бы видеть дистрибутив остающимся
_прозрачным_ -- в конце концов, спросите support@, какую проблему
будет легче отлавливать -- ту, где на той стороне могут что-то
понять и рассказать сами, или ту, где придется ехать к этому
ящику с кайлом.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-03-31  7:29 ` [devel] alternatives Stanislav Ievlev
  2003-03-31 23:09   ` [devel] alternatives Mikhail Zabaluev
  2003-04-01 10:36   ` [devel] no black box (was: alternatives) Michael Shigorin
@ 2003-04-01 12:00   ` Vitaly Ostanin
  2 siblings, 0 replies; 29+ messages in thread
From: Vitaly Ostanin @ 2003-04-01 12:00 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 726 bytes --]

On Mon, 31 Mar 2003 11:29:27 +0400
Stanislav Ievlev <inger@altlinux.org> wrote:

<skipped/>

> > >    <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?)
> Будут ;)

IMHO:
Очень жаль. Известны случаи, когда разработка велась по конфигу,
структура которого не была продумана и определена в DTD - jabber,
yank - получалось... не очень. А структура конфига влияет и на
саму программу.

<skipped/>

-- 
Regards, Vyt
mailto:  vyt@vzljot.ru
JID:     vyt@vzljot.ru

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-04-01  7:37     ` Stanislav Ievlev
@ 2003-04-01 12:14       ` Mikhail Zabaluev
  2003-04-01 13:00         ` Dmitry V. Levin
  2003-04-01 19:26       ` Mikhail Zabaluev
  1 sibling, 1 reply; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-04-01 12:14 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2569 bytes --]

Hello Stanislav,

On Tue, Apr 01, 2003 at 11:37:04AM +0400, Stanislav Ievlev wrote:
>
> > > > >    1. Из-за особенностей кодирования путей к файлам в именах
> > > > >       кадидатов запрещается использование
> > > > >    символа '|'
> > > > 
> > > > Чем изобретать схемы кодирования путей и запрещать символы,
> > > > не лучше ли отобразить иерархию на каталог, где размещаются ссылки?
> > > > И каталог будет выглядеть аккуратно, и в bash эти ссылки
> > > > можно будет набирать, пользуясь автодополнением (попробуйте,
> > > > какой гемор доставляют сейчас "особенности кодирования").
> > > > Сейчас ссылки мешаются с каталогами auto, manual, старыми
> > > > альтернативами и пр. Наверное, лучше спрятать их под
> > > > /etc/alternatives/links, и сделать реальными именами путей,
> > > > повторяющими файловую систему от корня.
> > > Был и такой вариант. Но преимуществ он никаких не несет, короме другого
> > > размещения.
> > 
> > В другом письме я говорил о проблеме безопасности: все ссылки видны.
> Ну и что, принадлежат ведь они руту. security by obsсurity?
> Они и так и так будут видны как не крути ;)

Нет, если ссылка и адресат находятся в закрытых каталогах, получается,
мы раскрываем информацию о содержимом каталогов.

> > 
> > > А что делать если и каталог и файлы лежащие в нём будут оба
> > > альтернативами?
> > 
> > Это безумие не будет надёжно работать при любой организации,
> Ну почему же, вот например сейчас уже работает vi. У которого есть
> альтернатива vim-X11, которая в свою очередь тоже является альтернативой
> ;))

Насколько я понял, это одномерная цепочка ссылок и она вполне
реализуема предложенным мной образом.
Подумайте, как поддержать наличие альтернативы /foo/bar/baz, если
каталог /foo/bar сам является альтернативой и может переключаться
между различными вариантами. Эта конструкция будет расползаться
от неосторожного вздоха и доставлять всем головную боль,
пропорциональную произведению кратности одной альтернативы
на кратность другой :)

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

Суммирую по пунктам:
- отсутствие необходимости в кривых схемах кодирования;
- закрытость конфигурации ссылок такая же, как закрытость имён самих ссылок;
- более рациональное использование файловой системы.

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
You will hear good news from one you thought unfriendly to you.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] Re: alternatives
  2003-04-01 12:14       ` Mikhail Zabaluev
@ 2003-04-01 13:00         ` Dmitry V. Levin
  2003-04-01 19:13           ` Mikhail Zabaluev
  0 siblings, 1 reply; 29+ messages in thread
From: Dmitry V. Levin @ 2003-04-01 13:00 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 167 bytes --]

On Tue, Apr 01, 2003 at 04:14:30PM +0400, Mikhail Zabaluev wrote:
> - закрытость конфигурации ссылок такая же, как закрытость имён самих ссылок;

Неочевидно.


--
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-04-01 13:00         ` Dmitry V. Levin
@ 2003-04-01 19:13           ` Mikhail Zabaluev
  2003-04-01 19:59             ` Dmitry V. Levin
  0 siblings, 1 reply; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-04-01 19:13 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 533 bytes --]

Hello Dmitry,

On Tue, Apr 01, 2003 at 05:00:47PM +0400, Dmitry V. Levin wrote:
>
> On Tue, Apr 01, 2003 at 04:14:30PM +0400, Mikhail Zabaluev wrote:
> > - закрытость конфигурации ссылок такая же, как закрытость имён самих ссылок;
> 
> Неочевидно.

Если ставить права на каталоги в конфигурационном древе
такими же, как на их прообразы -- разве неочевидно?
Тогда давайте контрпример :)

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
A long memory is the most subversive idea in America.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-04-01  7:37     ` Stanislav Ievlev
  2003-04-01 12:14       ` Mikhail Zabaluev
@ 2003-04-01 19:26       ` Mikhail Zabaluev
  1 sibling, 0 replies; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-04-01 19:26 UTC (permalink / raw)
  To: devel


[-- Attachment #1.1: Type: text/plain, Size: 1739 bytes --]

Hello Stanislav,

On Tue, Apr 01, 2003 at 11:37:04AM +0400, Stanislav Ievlev wrote:
>
> Привет!
> 
> On Tue, Apr 01, 2003 at 03:09:43AM +0400, Mikhail Zabaluev wrote:
> > > программ. При переходе на собственный конфигуратор это позволит облегчить
> > > написание backend к нему.
> > 
> > Не стоит ради упрощения одного инструмента создавать проблемы всем
> > разработчикам, которым эти файлы предстоит писать.
> > Если так уж необходимо приведение к общему формату, можно гонять
> > туда-обратно при помощи XSLT.
> Я уже думал и про это. Во-первых формат не слишком сложен чтобы
> разработчикам его использовать (это конечно же субъективно, сделай
> короткий вариант, найдется кто-нибудь кому и это будет неудобно, xml сам
> по себе достаточно громоздок), да и не надо его использовать каждый день. 
> Во-вторых, я конечно же думал сделать специализированные 
> форматы с перегонкой на общий через XSLT, но не могу
> никак себя убедить что проще иметь десяток разных обработчиков +
> транслятор, чем изначально один обработчик . Я
> предпочитаю наблюдать все баги в одном месте, а не десяти.

Я бы обратил логику: транслятор/обработчик пишется и отлаживается
один раз, а файлы создаются и редактируются постоянно. Где
будут чаще всего возникать ошибки?

К тому же, если всё-таки соберётесь делать schema,
замучаетесь с определением валидности каждого из приложений
общего формата. Со специализированным форматом это сделать
гораздо проще.

Короче, приложены два XSL-преобразования для перегонки
между обсуждаемыми форматами в обе стороны.
Надеюсь, это поможет продвинуться на Истинном Пути XML :)

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
filesystem not big enough for Jumbo Kernel Patch

[-- Attachment #1.2: alternatives-bloat.xsl --]
[-- Type: text/xml, Size: 1254 bytes --]

<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	       version="1.0">

<!-- Transform alternatives file from the proposed brief format to 
     the "common" bloated configuration format -->

<xsl:output method="xml" indent="yes"/>

<xsl:template match="/link">
  <group name="candidate">
    <option name="link" type="string">
      <xsl:attribute name="value">
        <xsl:value-of select="@name"/>
      </xsl:attribute>
    </option>
    <option name="real" type="string">
      <xsl:attribute name="value">
        <xsl:value-of select="@target"/>
      </xsl:attribute>
    </option>
    <option name="weight" type="number">
      <xsl:attribute name="value">
        <xsl:value-of select="@priority"/>
      </xsl:attribute>
    </option>
    <xsl:apply-templates select="slave"/>
  </group>
</xsl:template>

<xsl:template match="slave">
  <group name="slave">
    <option name="link" type="string">
      <xsl:attribute name="value">
        <xsl:value-of select="@name"/>
      </xsl:attribute>
    </option>
    <option name="real" type="string">
      <xsl:attribute name="value">
        <xsl:value-of select="@target"/>
      </xsl:attribute>
    </option>
  </group>
</xsl:template>

</xsl:transform>

[-- Attachment #1.3: alternatives-debloat.xsl --]
[-- Type: text/xml, Size: 1080 bytes --]

<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	       version="1.0">

<!-- Transform alternatives file from the "common"
     bloated configuration format to the proposed brief format -->

<xsl:output method="xml" indent="yes"/>

<xsl:template match="/group[@name='candidate']">
  <link>
    <xsl:attribute name="name">
      <xsl:value-of select="option/@value[../@name='link']"/>
    </xsl:attribute>
    <xsl:attribute name="target">
      <xsl:value-of select="option/@value[../@name='real']"/>
    </xsl:attribute>
    <xsl:attribute name="priority">
      <xsl:value-of select="option/@value[../@name='weight']"/>
    </xsl:attribute>
    <xsl:apply-templates select="group"/>
  </link>
</xsl:template>

<xsl:template match="group[@name='slave']">
  <slave>
    <xsl:attribute name="name">
      <xsl:value-of select="option/@value[../@name='link']"/>
    </xsl:attribute>
    <xsl:attribute name="target">
      <xsl:value-of select="option/@value[../@name='real']"/>
    </xsl:attribute>
  </slave>
</xsl:template>

</xsl:transform>

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] Re: alternatives
  2003-04-01 19:13           ` Mikhail Zabaluev
@ 2003-04-01 19:59             ` Dmitry V. Levin
  2003-04-01 20:16               ` Mikhail Zabaluev
  2003-04-02  6:57               ` Michael Shigorin
  0 siblings, 2 replies; 29+ messages in thread
From: Dmitry V. Levin @ 2003-04-01 19:59 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 558 bytes --]

On Tue, Apr 01, 2003 at 11:13:06PM +0400, Mikhail Zabaluev wrote:
> > > - закрытость конфигурации ссылок такая же, как закрытость имён самих ссылок;
> > 
> > Неочевидно.
> 
> Если ставить права на каталоги в конфигурационном древе
> такими же, как на их прообразы -- разве неочевидно?
> Тогда давайте контрпример :)

Какая разница с точки зрения obscurity, будет
$ readlink /usr/bin/automake-default
/etc/alternatives/|usr|bin|automake-default
или, скажем,
/etc/alternatives/usr/bin/automake-default
если сделать
# chmod -R go-r /etc/alternatives
?


--
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-04-01 19:59             ` Dmitry V. Levin
@ 2003-04-01 20:16               ` Mikhail Zabaluev
  2003-04-01 20:23                 ` Mikhail Zabaluev
  2003-04-01 20:30                 ` Dmitry V. Levin
  2003-04-02  6:57               ` Michael Shigorin
  1 sibling, 2 replies; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-04-01 20:16 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 842 bytes --]

Hello Dmitry,

On Tue, Apr 01, 2003 at 11:59:36PM +0400, Dmitry V. Levin wrote:
>
> On Tue, Apr 01, 2003 at 11:13:06PM +0400, Mikhail Zabaluev wrote:
> > > > - закрытость конфигурации ссылок такая же, как закрытость имён самих ссылок;
> > > 
> > > Неочевидно.
> > 
> > Если ставить права на каталоги в конфигурационном древе
> > такими же, как на их прообразы -- разве неочевидно?
> > Тогда давайте контрпример :)
> 
> Какая разница с точки зрения obscurity, будет
> $ readlink /usr/bin/automake-default
> /etc/alternatives/|usr|bin|automake-default
> или, скажем,
> /etc/alternatives/usr/bin/automake-default
> если сделать
> # chmod -R go-r /etc/alternatives
> ?

Поздравляю, вы закрыли всем доступ ко всем ссылкам.

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
A rolling disk gathers no MOS.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-04-01 20:16               ` Mikhail Zabaluev
@ 2003-04-01 20:23                 ` Mikhail Zabaluev
  2003-04-01 20:30                 ` Dmitry V. Levin
  1 sibling, 0 replies; 29+ messages in thread
From: Mikhail Zabaluev @ 2003-04-01 20:23 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 637 bytes --]

Hello ALT,

On Wed, Apr 02, 2003 at 12:16:28AM +0400, Mikhail Zabaluev wrote:
>
> > Какая разница с точки зрения obscurity, будет
> > $ readlink /usr/bin/automake-default
> > /etc/alternatives/|usr|bin|automake-default
> > или, скажем,
> > /etc/alternatives/usr/bin/automake-default
> > если сделать
> > # chmod -R go-r /etc/alternatives
> > ?
> 
> Поздравляю, вы закрыли всем доступ ко всем ссылкам.

Вру, если доступ будет 711, действительно будет то, что надо.

-- 
Stay tuned,
  MhZ                                     JID: mhz@altlinux.org
___________
Blue paint today.
		[Funny to Jack Slingwine, Guy Harris and Hal Pierson.  Ed.]

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [devel] Re: alternatives
  2003-04-01 20:16               ` Mikhail Zabaluev
  2003-04-01 20:23                 ` Mikhail Zabaluev
@ 2003-04-01 20:30                 ` Dmitry V. Levin
  1 sibling, 0 replies; 29+ messages in thread
From: Dmitry V. Levin @ 2003-04-01 20:30 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 883 bytes --]

On Wed, Apr 02, 2003 at 12:16:28AM +0400, Mikhail Zabaluev wrote:
> On Tue, Apr 01, 2003 at 11:59:36PM +0400, Dmitry V. Levin wrote:
> > On Tue, Apr 01, 2003 at 11:13:06PM +0400, Mikhail Zabaluev wrote:
> > > > > - закрытость конфигурации ссылок такая же, как закрытость имён самих ссылок;
> > > > 
> > > > Неочевидно.
> > > 
> > > Если ставить права на каталоги в конфигурационном древе
> > > такими же, как на их прообразы -- разве неочевидно?
> > > Тогда давайте контрпример :)
> > 
> > Какая разница с точки зрения obscurity, будет
> > $ readlink /usr/bin/automake-default
> > /etc/alternatives/|usr|bin|automake-default
> > или, скажем,
> > /etc/alternatives/usr/bin/automake-default
> > если сделать
> > # chmod -R go-r /etc/alternatives
> > ?
> 
> Поздравляю, вы закрыли всем доступ ко всем ссылкам.

Вы же именно этого хотели?
Работать - пожалуйста, смотреть - нет.


--
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-03-29 13:11 [devel] alternatives Mikhail Zabaluev
                   ` (4 preceding siblings ...)
  2003-03-31  7:29 ` [devel] alternatives Stanislav Ievlev
@ 2003-04-02  6:55 ` Michael Shigorin
  5 siblings, 0 replies; 29+ messages in thread
From: Michael Shigorin @ 2003-04-02  6:55 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1006 bytes --]

On Sat, Mar 29, 2003 at 04:11:57PM +0300, Mikhail Zabaluev wrote:
> Спецификация XML (есть DTD? Schema?) для описания кандидатов
> чересчур громоздка.

Я могу показаться ренегатом, но по здравом размышлении у меня
появилось подозрение, что alternatives -- вообще достаточно
_базовое_ средство для того, чтобы не пытаться интегрировать его
с конфигуратором, "общим форматом конфигов" etc.

Например, можно "улучшить" /bin/bash до хранения *rc etc в XML,
но стоит ли?

"За" я вижу один довод -- модуль в конфигуратор, позволяющий
"поставить галочку" напротив (скажем) версии gcc.

"Против" -- то, что это утяжеление слишком низкоуровневой
компоненты, которая IMCO должна быть дергаемой конфигуратором, но
не интегрированной и дотянутой до его уровня.  Конфигуратор и его
вес не должны быть обязательными в минимальной системе, не так ли?

PS: это все handwaving, а не code, поэтому может быть
проигнорировано.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [devel] Re: alternatives
  2003-04-01 19:59             ` Dmitry V. Levin
  2003-04-01 20:16               ` Mikhail Zabaluev
@ 2003-04-02  6:57               ` Michael Shigorin
  1 sibling, 0 replies; 29+ messages in thread
From: Michael Shigorin @ 2003-04-02  6:57 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 652 bytes --]

On Tue, Apr 01, 2003 at 11:59:36PM +0400, Dmitry V. Levin wrote:
> Какая разница с точки зрения obscurity, будет
[snip]
> если сделать
> # chmod -R go-r /etc/alternatives
> ?

Такая, что последний метод является кувалдометрическим.

Вообще мне пока как-то смутно видятся преимущества
параноидального подхода к alternatives.  Разве что у нас
/usr/sbin/pop3d будет таким, но в это слабо верится по ряду
других причин, которые важнее, чем путь к конкретно используемому
бинарнику (например, аргументы и вообще стиль использования --
standalone vs wrapped).

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2003-04-02  6:57 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-29 13:11 [devel] alternatives Mikhail Zabaluev
2003-03-29 16:24 ` [devel] alternatives, security issues of Mikhail Zabaluev
2003-03-29 16:46   ` Ivan Zakharyaschev
2003-03-29 21:34     ` [devel] " Mikhail Zabaluev
2003-03-29 19:15   ` [devel] " Alexey Voinov
2003-03-29 17:56 ` [devel] alternatives Alexander Bokovoy
2003-03-29 19:41 ` Alexey Voinov
2003-03-29 21:27   ` [devel] alternatives Mikhail Zabaluev
2003-03-30  7:44     ` Alexey Voinov
2003-03-30 11:35       ` Mikhail Zabaluev
2003-04-01  7:44         ` Stanislav Ievlev
2003-03-30 20:01 ` [devel] alternatives Igor Tertishny
2003-03-30 20:20   ` [devel] alternatives Mikhail Zabaluev
2003-03-30 22:07     ` Dmitry V. Levin
2003-03-31  7:29 ` [devel] alternatives Stanislav Ievlev
2003-03-31 23:09   ` [devel] alternatives Mikhail Zabaluev
2003-04-01  7:37     ` Stanislav Ievlev
2003-04-01 12:14       ` Mikhail Zabaluev
2003-04-01 13:00         ` Dmitry V. Levin
2003-04-01 19:13           ` Mikhail Zabaluev
2003-04-01 19:59             ` Dmitry V. Levin
2003-04-01 20:16               ` Mikhail Zabaluev
2003-04-01 20:23                 ` Mikhail Zabaluev
2003-04-01 20:30                 ` Dmitry V. Levin
2003-04-02  6:57               ` Michael Shigorin
2003-04-01 19:26       ` Mikhail Zabaluev
2003-04-01 10:36   ` [devel] no black box (was: alternatives) Michael Shigorin
2003-04-01 12:00   ` [devel] Re: alternatives Vitaly Ostanin
2003-04-02  6:55 ` Michael Shigorin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git