Bug 1946
| Summary: | Yelp отказывается показывать что-либо из \'Дополнительных документов\' (руководства, info) | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | bloodmary <bloodmary> |
| Component: | yelp | Assignee: | Yuri N. Sedunov <aris> |
| Status: | REOPENED --- | QA Contact: | |
| Severity: | major | ||
| Priority: | P4 | CC: | aris, ildar, mike |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
fixed in yelp-2.1.5-alt1 fixed in yelp-2.1.5-alt1 Ошибка вернулась. 1. хотя man:man показывает, но его нет на корневой странице. 2. info вообще не видно. Переоткроем? (In reply to comment #3) > Ошибка вернулась. > 1. хотя man:man показывает, но его нет на корневой странице. > 2. info вообще не видно. > Переоткроем? Ещё актуально? актуально. Хотелось бы иметь "читалку" для info-файлов, а yelp подвёл. info:ЧТО-НИБУДЬ перекидывает на man:ОНО_ЖЕ. К примеру, info:info Разобрался, почему info: не работает, а перекидывает на man: (симптом из комментария 6). 1) libyelp/yelp-uri.c, infosuffix[]: перечислены .info, .info.gz, .info.bz2, .info.lzma, .gz, .bz2, .lzma — нет .xz. В Сизифе info-страницы сжаты xz (/usr/share/info/*.info.xz), поэтому resolve_info_uri() не находит файл никогда и уходит в fallback "не нашли info — переписываем URI в man:" (yelp-uri.c, ветка else после цикла поиска). 2) libyelp/yelp-magic-decompressor.c, yelp_magic_decompressor_choose(): декодер выбирается по magic-байтам, известны только BZ (bz2), ']''\0' (legacy lzma) и 1F 8B (gzip). Магия xz (FD '7zXZ') не распознаётся, хотя сам lzma-декодер (yelp-lzma-decompressor.c) построен на lzma_auto_decoder и xz уже умеет. Фикс — два хука: добавить ".info.xz", ".xz" в infosuffix[] и проверку xz-магии (inbuf[0]==0xFD && inbuf[1]=='7') с выбором yelp_lzma_decompressor_new() в magic-decompressor. Пригодно и для отправки в апстрим — там та же проблема для любых дистрибутивов с xz-сжатием info. |

Description
bloodmary 2003-01-15 12:55:18 MSK