From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ivan Zakharyaschev To: Subject: Re: [devel] Russian man-pages In-Reply-To: <3A2042C4.520A9A7D@logic.ru> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0beta6 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: http://www.logic.ru/pipermail/devel/ X-Original-Date: Sun, 26 Nov 2000 23:34:23 +0300 (MSK) Date: Sun, 26 Nov 2000 23:34:23 +0300 (MSK) Archived-At: List-Archive: List-Post: Добрый вечер! 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