Bug 13742

Summary: неверная обработка docinfo
Product: Sisyphus Reporter: Artem Zolochevskiy <azol>
Component: alt-docs-genextrasAssignee: kirill <kirill>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: azol, boyarsh, cas, kirill
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
docinfo
none
index.html none

Description Artem Zolochevskiy 2007-12-18 11:23:20 MSK
 
Comment 1 Artem Zolochevskiy 2007-12-18 11:26:40 MSK
Если в docinfo выпуска Title начинается с "русских" буковок, то генерация 
соответствующей секции в /usr/share/doc/alt-docs/index.html происходит 
некорректно
- Title нет вовсе (не создаётся ссылка на соответсвующий выпуск)
- всё, что видно, это:
. Описание
Comment 2 kirill 2007-12-18 12:15:56 MSK
(In reply to comment #1)
> Если в docinfo выпуска Title начинается с "русских" буковок, то генерация 
> соответствующей секции в /usr/share/doc/alt-docs/index.html происходит 
> некорректно
> - Title нет вовсе (не создаётся ссылка на соответсвующий выпуск)
> - всё, что видно, это:
> . Описание

Приложи, пожалуйста, пример некорректно обрабатываемого docinfo
Comment 3 Artem Zolochevskiy 2007-12-18 12:33:39 MSK
Created attachment 2330 [details]
docinfo

docinfo
Comment 4 kirill 2007-12-19 14:32:35 MSK
(In reply to comment #3)
> Created an attachment (id=2330) [edit]
> docinfo

Уточняющий вопрос: у тебя docinfo в кодировке UTF-8? 
Второй уточняющий вопрос: каким браузером смотрел результат с отсутствующим текс
том?

Рабочая гипотеза: ошибка в кодировках docinfo и index.html, в который
вставляются данные из docinfo.

Файл /usr/share/doc/alt-docs/index.html из пакета alt-docs-main -- в кодировке
koi8-r.
Скрипт alt-docs-genextras -- не имеет понятия "кодировка docinfo" и "кодировка
index.html", и просто вставляет данные из docinfo в index.html as is.
Отсюда результат в твоем случае -- смешанное кодирование данных в одном файле,
что браузер (какой?) предпочел вовсе не отображать.

Т.е. сейчас существует фактическое требование, чтобы docinfo выпусков были в
koi8-r. Само это требование -- следствие системной ошибки с неучитыванием кодировок.
Comment 5 Artem Zolochevskiy 2007-12-19 14:43:19 MSK
(In reply to comment #4)
> (In reply to comment #3)
> > Created an attachment (id=2330) [edit] [edit]
> > docinfo
> 
> Уточняющий вопрос: у тебя docinfo в кодировке UTF-8? 
> Второй уточняющий вопрос: каким браузером смотрел результат с отсутствующим 
текс
> том?
> 
> Рабочая гипотеза: ошибка в кодировках docinfo и index.html, в который
> вставляются данные из docinfo.
> 
> Файл /usr/share/doc/alt-docs/index.html из пакета alt-docs-main -- в 
кодировке
> koi8-r.
> Скрипт alt-docs-genextras -- не имеет понятия "кодировка docinfo" 
и "кодировка
> index.html", и просто вставляет данные из docinfo в index.html as is.
> Отсюда результат в твоем случае -- смешанное кодирование данных в одном 
файле,
> что браузер (какой?) предпочел вовсе не отображать.
> 
> Т.е. сейчас существует фактическое требование, чтобы docinfo выпусков были в
> koi8-r. Само это требование -- следствие системной ошибки с неучитыванием 
кодировок.
> 

(In reply to comment #4)
> (In reply to comment #3)
> > Created an attachment (id=2330) [edit] [edit]
> > docinfo
> 
> Уточняющий вопрос: у тебя docinfo в кодировке UTF-8? 
> Второй уточняющий вопрос: каким браузером смотрел результат с отсутствующим 
текс
> том?
> 
> Рабочая гипотеза: ошибка в кодировках docinfo и index.html, в который
> вставляются данные из docinfo.
> 
> Файл /usr/share/doc/alt-docs/index.html из пакета alt-docs-main -- в 
кодировке
> koi8-r.
> Скрипт alt-docs-genextras -- не имеет понятия "кодировка docinfo" 
и "кодировка
> index.html", и просто вставляет данные из docinfo в index.html as is.
> Отсюда результат в твоем случае -- смешанное кодирование данных в одном 
файле,
> что браузер (какой?) предпочел вовсе не отображать.
> 
> Т.е. сейчас существует фактическое требование, чтобы docinfo выпусков были в
> koi8-r. Само это требование -- следствие системной ошибки с неучитыванием 
кодировок.
> 

Создаётся впечатление, что мой docinfo не видно.
Вот же он, чуть выше
https://bugzilla.altlinux.org/attachment.cgi?id=2330

Да, он в koi.
Comment 6 kirill 2007-12-19 15:37:43 MSK
(In reply to comment #5)
> Создаётся впечатление, что мой docinfo не видно.
> Вот же он, чуть выше
> https://bugzilla.altlinux.org/attachment.cgi?id=2330
> 
> Да, он в koi.

Видно, просто при копировании он у меня стал в utf-8. 
Гм, раз в koi, тогда мне нужно еще посмотреть на получившийся твой
index.html с ошибкой. 
Comment 7 Artem Zolochevskiy 2007-12-19 19:37:51 MSK
Created attachment 2331 [details]
index.html

index.html
Comment 8 Artem Zolochevskiy 2007-12-19 19:39:20 MSK
вот мой index.html

PS
Кирилл, я много раз всё проверил, и про формат docinfo читал и про кодировки 
тоже знаю ;)
Comment 9 Artem Zolochevskiy 2008-04-16 00:12:27 MSD
Значит так. Проблема вовсе не в русских буковках, а в наличии точек. Кажется 
так.

Более того. ОЧЕНЬ внимательно взгляни на функцию fmt_descr() 
в /usr/bin/alt-docs-genextras. Именно там, что-то, как мне кажется, происходит 
неверно. Именно эта функция отвечает за вставку ссылок в страничку.

Дополнительная и для мне пока необъяснимая, видимо из-за не столь хорошего 
владения sed, информация:
Генерация страничкт происходит совершенно корректно при ru_RU.KOI8-R. Т.е. если 
в начало /usr/bin/alt-docs-genextras вставить export LC_ALL=ru_RU.KOI8-R, то 
баг исчезает. Я понимаю, что это не решение, но может как временная мера и 
имеет шанс на жизнь. А то всё вкривь идёт, если в docinfo есть "."

Comment 10 kirill 2008-04-17 20:44:57 MSD
fixed in alt-docs-genextras-0.3-alt5

Там на самом деле было две разных ошибки: 
одна -- проглоченный пробел в названии (не обязательно при наличии ".")
вторая -- исчезновение названия при выполнении скрипта в локали utf-8 
Подробности см. в git log
http://git.altlinux.org/people/kirill/packages/alt-docs-genextras.git?p=alt-docs-genextras.git;a=commitdiff;h=01aa3c68792091f5d67fff08c25f47dde670c2c8
Comment 11 kirill 2008-04-17 20:45:57 MSD
change to FIXED
Comment 12 Artem Zolochevskiy 2008-04-21 12:48:47 MSD
Похоже поведение нормализовалось.
Закрываем.