ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Ivan Zakharyaschev <vanyaz@mccme.ru>
To: <devel@linux.iplabs.ru>
Subject: Re: [devel] Russian man-pages
Date: Sun, 26 Nov 2000 23:34:23 +0300 (MSK)
Message-ID: <Pine.LNX.4.30L.0011262226490.902-100000@zephyrous.ru> (raw)
In-Reply-To: <3A2042C4.520A9A7D@logic.ru>

	Добрый вечер!

On Sun, 26 Nov 2000, Aleksey Novodvorsky wrote:

> В связи с планируемой полной поддержкой CP1251, русские man-pages
> придется держать в двух экземплярах. К сожалению, патч man для
> перекодировки на лету мало что даст, так как независимые парсеры man
> встроены в kde, gnome и не только.

Проблему можно решать на одном из этапов:
- распространение man-pages
- установка
- хранение
- доступность в разных кодировках.

В принципе, если на одном из этих этапов есть man-page в только одной
кодировке, то на следующем всегда можно получить ее в нескольких.

В чем же трудности решений на каждом из этапов?

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

Ограничения, связанные с распространением, это размер/кол-во пакетов.
Распространять несколько вариантов одно и того же, увеличивая тем самым
размер пакетов или добавляя еще один пакет (который нужно maintain'ить),
тоже нехорошо. Помимо ограничений, связанных непосредственно с
распространением, решения на этом этапе влекут столкновения с
ограничениями на следующих этапах (например, если распространять в двух
вариантах, то и хранить в двух).

Ограничения на этапе хранения: двойное занимаемое место и синхронизация
вариантов. Т.к. man-pages врфд ли будут изменяться местными
администраторами, то вторая проблема синхронизации в нашем случае
отпадает. 25 лишних мегабайт, я думаю, ни для какой машины не проблема
(тем более Mandrake для машин с процессором не ниже Pentium).

Теперь то, что можно условно назвать проблемами во время установки (или
конфигурации системы).

Устанвливать русские man-pages в двух вариантах не всегда нужно: на
каких-то машинах может использоваться только одна кодировка. Или мы хотим
сделать так, чтобы каждый пользователь мог выбрать себе одну из кодировок
по своему предпочтению?  Используемая кодировка -- это свойство всей
системы или отдельных account'ов? На консоли, по-моему, с отдельными
account'ами плохо -- там консольный шрифт ставится сразу для всех. Но
впрочем это и не так важно: сразу несколько человек за консолью работать
не будут.

В любом случае, это дело администратора, в каких кодировках иметь
man-pages, и для него должен быть простой способ управлять этим.

Ограничения на следующем этапе не очень существенны, поэтому установка --
самое подходящее место для раздвоения потока man-страниц. Конкретные
реализации уже были предложены.


Файловую систему можно рассматривать как базу данных (но не со всеми
свойствами). (Идея из анонса к докладу Райзера.)

man-pages демонстрируют то, что все свойства БД важны. Вот последние
этапы, связанные с man-pages:

- хранение
- доступность в разных вариантах.

Это же делают и БД: хранят и предоставляют доступ к данным, причем каждый
пользователь может по-своему видеть одни и те же данные (разные варианты).
У нас проблемы с реализацией этой возможности.


В БД же это осуществляется за счет нескольких уровней:
- физическое хранение
-----
- внутреннее абстрактное представление
- внешнее общее представление
- внешнее представление для конкретного пользователя.

(По толстой Петиной книжке, термины неточные.)

В файловой системе в обычном представлении не все эти уровни разделены
(точнее файловая система нами привычно рассматривается как внутреннее
абстрактное представление данных компьютером, которое одновременно и
внешнее), поэтому если решение нашей проблемы видеть в реализации работы с
man-pages по той же схеме, что и с БД, то одним из решений было бы
создание сервера man-pages, а другим -- усовершенствование файловой
системы. Под усовершенствованием файловой системы я понимаю создание
модулей для ядра наподобие тех, которые позволяют иметь зашифрованные
файлы (с этим знаком только понаслышке): в man/ru_RU.KOI8-R и
man/ru_RU.CP1251 монтируется один тот же физический раздел, но с разными
опциями к драйверу: в какой кодировке предоставлять файлы при доступе.
Физический раздел можно заменить на "виртуальный" -- основывающийся на
каталоге man/ru в имеющейся файловой системе.

-- 
Best regards,
      Ivan Z.

_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


      parent reply	other threads:[~2000-11-26 20:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-25 22:52 Aleksey Novodvorsky
2000-11-25 23:44 ` Dmitry V. Levin
2000-11-26 11:26   ` Alexey Voinov
2000-11-26 19:25     ` Ivan Zakharyaschev
2000-11-26 11:27   ` Aleksey Novodvorsky
2000-11-26  9:47 ` Mikhail Zabaluev
2000-11-27  2:22   ` aen
2000-11-27  0:18     ` Dmitry V. Levin
2000-11-27  5:03       ` aen
2000-11-28  0:37         ` Dmitry V. Levin
2000-11-26 20:34 ` Ivan Zakharyaschev [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.30L.0011262226490.902-100000@zephyrous.ru \
    --to=vanyaz@mccme.ru \
    --cc=devel@linux.iplabs.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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