<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>16795</bug_id>
          
          <creation_ts>2008-08-21 09:51:50 +0400</creation_ts>
          <short_desc>неправильное перекодирование man-страниц</short_desc>
          <delta_ts>2009-08-08 20:27:12 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>yelp</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="ildar">ildar</reporter>
          <assigned_to name="Yuri N. Sedunov">aris</assigned_to>
          <cc>aris</cc>
    
    <cc>dottedmag</cc>
    
    <cc>php-coder</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>75912</commentid>
    <comment_count>0</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-08-21 09:51:50 +0400</bug_when>
    <thetext>в yelp открываю man-страницу zcat
вижу следующее:
GZIP(1)
îáú÷áîéå

gzip, gunzip, zcat - ÓÖÁÔØ ÉÌÉ ÒÁÓÐÁËÏ×ÁÔØ ÆÁÊÌÙ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76008</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2008-08-22 13:18:17 +0400</bug_when>
    <thetext>yelp ожидает увидеть UTF-8.
а наши руские man-pages в koi8-r
наш man не поддерживает параметра для преобразования на лету (как в debian например). Я сам на это давно наткнулся, но багу что-то не повесил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76009</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail Gusarov">dottedmag</who>
    <bug_when>2008-08-22 13:19:42 +0400</bug_when>
    <thetext>Тут чинят: bug 16680
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76010</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-08-22 13:33:04 +0400</bug_when>
    <thetext>Так и запишем - зависит от бага 16680 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76011</commentid>
    <comment_count>4</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-08-22 13:40:17 +0400</bug_when>
    <thetext>Я не понимаю, как баг про неверное отображение кавычки может блокировать баг с неправильным перекодированием страниц в yelp?

После исправления bug #16680 yelp сам не починится. IMHO вам нужно патчить yelp, чтобы он перекодировал в UTF8, либо тогда все маны нужно конвертировать в юникод.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76013</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-08-22 13:41:58 +0400</bug_when>
    <thetext>Yelp использует man для показа страниц внутри себя. Дальше объяснять?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76015</commentid>
    <comment_count>6</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-08-22 13:45:45 +0400</bug_when>
    <thetext>(In reply to comment #5)
&gt; Yelp использует man для показа страниц внутри себя. Дальше объяснять?

Да, желательно.

Насколько я понимаю всё эту кухню, man возвращает текст в кодироке пользователя. Если я прав, то у Ильдара, должно быть, однобитная локаль.

2ildar@: у вас локаль какая?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76017</commentid>
    <comment_count>7</comment_count>
    <who name="Mikhail Gusarov">dottedmag</who>
    <bug_when>2008-08-22 13:48:22 +0400</bug_when>
    <thetext>yelp&apos;у нужно будет лишь объяснить, что нужно выставить требуемую кодировку. Однострочный патч. Ты уже в этом баге про yelp написал больше, чем объём этого патча.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76019</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-08-22 13:53:04 +0400</bug_when>
    <thetext>yelp никуда не возвращает текст, он его просто показывает, поэтому вопрос о кодировке стоит не здесь. Просто man сейчас возвращает русские man&apos;ы в KOI8-R, а yelp считает, что ему дают уже готовый уникод. Можно исправить yelp, чтобы он узнал, что это KOI8-R, но лучше исправить man в сторону поддержки кодировок и затем исправить yelp так, чтобы он объяснял man&apos;у, что ему нужен уникод.
Теперь понятнее?
Я только что на ru_RU.UTF-8 у себя воспроизвёл этот баг.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76020</commentid>
    <comment_count>9</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-08-22 13:55:17 +0400</bug_when>
    <thetext>однобитная - это Вы хватили. Остановимся на однобайтной.
нет, у меня UTF-8
Я не стал уточнять детали, т.к. посчитал, что ошибка легко проверяется.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76022</commentid>
    <comment_count>10</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2008-08-22 13:59:57 +0400</bug_when>
    <thetext>(In reply to comment #8)
&gt; yelp никуда не возвращает текст, он его просто показывает, поэтому вопрос о
&gt; кодировке стоит не здесь. Просто man сейчас возвращает русские man&apos;ы в KOI8-R, а yelp
&gt; считает, что ему дают уже готовый уникод. Можно исправить yelp, чтобы он узнал,
&gt; что это KOI8-R, но лучше исправить man в сторону поддержки кодировок и затем
&gt; исправить yelp так, чтобы он объяснял man&apos;у, что ему нужен уникод.
&gt; Теперь понятнее?
&gt; Я только что на ru_RU.UTF-8 у себя воспроизвёл этот баг.
&gt; 

Кажется, не всё так просто -- попробуйте перекодировать к-н русскую ман-страницу в utf-8. Этот &quot;готовый уникод&quot; yelp покажет не лучше, чем koi8-r.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76023</commentid>
    <comment_count>11</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-08-22 14:00:13 +0400</bug_when>
    <thetext>(In reply to comment #8)
&gt; Просто man сейчас возвращает русские man&apos;ы в KOI8-R

Нет, man должен возвращать текст в локали пользователя, бишь если у вас ru_RU.UTF8, то и текст в ней должен приходить.

Например:

[c0der@xxx ~]$ man test &gt;test.man
[c0der@xxx ~]$ file test.man
test.man: UTF-8 Unicode text, with overstriking

У вас не так?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76061</commentid>
    <comment_count>12</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2008-08-22 19:18:48 +0400</bug_when>
    <thetext>Кто б сказал, кто тут самый виноватый
=============================================================================
$ head -3 /home/aris/temp/gzip.1
.\&quot; Перевод выполнен: 28.12.2000, Роман Медяков &lt;merv@utb.ru&gt;
.\&quot; Последнее обновление: 11.07.2003 Александр Блохин &lt;sass@altlinux.ru&gt;
.TH &quot;GZIP&quot; &quot;1&quot; &quot;&quot; &quot;&quot; &quot;Файловые утилиты GNU&quot;
===============================================================================
$ less /home/aris/temp/gzip.1
GZIP(1)                 Ð¤Ð°Ð¹Ð»Ð¾Ð²ÑÐµ ÑÑÐ¸Ð»Ð¸ÑÑ GNU                 GZIP(1)



ÐÐÐÐÐÐÐÐ
       gzip, gunzip, zcat - ÑÐ¶Ð°ÑÑ Ð¸Ð»Ð¸ ÑÐ°ÑÐ¿Ð°ÐºÐ¾Ð²Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ

Ð¡ÐÐÐ¢ÐÐÐ¡ÐÐ¡
       gzip [ -acdfhlLnNrtvV19 ] [ -S ÑÑÑÑÐ¸ÐºÑ ] [ ÑÐ°Ð¹Ð» ... ]
       gunzip [ -acfhlLnNrtvV ] [ -S ÑÑÑÑÐ¸ÐºÑ ] [ ÑÐ°Ð¹Ð» ... ]
       zcat [ -fhLV ] [ ÑÐ°Ð¹Ð» ... ]
.....

==========================================================================
$ man /home/aris/temp/gzip.1
GZIP(1)                                  Файлов&lt;D1&gt;е &lt;D1&gt;&lt;D1&gt;или&lt;D1&gt;&lt;D1&gt; GNU                                  GZIP(1)

&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;
       gzip, gunzip, zcat - &lt;D1&gt;жа&lt;D1&gt;&lt;D1&gt; или &lt;D1&gt;а&lt;D1&gt;пакова&lt;D1&gt;&lt;D1&gt; &lt;D1&gt;айл&lt;D1&gt;

&lt;D0&gt;^H&lt;A1&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^HТ^H&lt;A2&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;A1&gt;&lt;D0&gt;^H&lt;D0&gt;&lt;D0&gt;^H&lt;A1&gt;
       gzip [ -acdfhlLnNrtvV19 ] [ -S &lt;D1&gt;^H&lt;D1&gt;&lt;D1&gt;^H&lt;D1&gt;&lt;D1&gt;^H&lt;D1&gt;&lt;D1&gt;^H&lt;D1&gt;&lt;D0&gt;^H&lt;B8&gt;&lt;D0&gt;^Hк^H&lt;BA&gt;&lt;D1&gt;^H&lt;D1&gt; ] [ &lt;D1&gt;&lt;D0&gt;
&lt;B0&gt;&lt;D0&gt;&lt;B9&gt;&lt;D0&gt;&lt;BB&gt; ... ]
       gunzip [ -acfhlLnNrtvV ] [ -S &lt;D1&gt;^H&lt;D1&gt;&lt;D1&gt;^H&lt;D1&gt;&lt;D1&gt;^H&lt;D1&gt;&lt;D1&gt;^H&lt;D1&gt;&lt;D0&gt;^H&lt;B8&gt;&lt;D0&gt;^Hк^H&lt;BA&gt;&lt;D1&gt;^H&lt;D1&gt; ] [ &lt;D1&gt;&gt;^H
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76115</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-08-23 05:02:51 +0400</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #8)
&gt; &gt; Просто man сейчас возвращает русские man&apos;ы в KOI8-R
&gt; 
&gt; Нет, man должен возвращать текст в локали пользователя, бишь если у вас ru_RU.UTF8,
&gt; то и текст в ней должен приходить.
&gt; 
&gt; Например:
&gt; 
&gt; [c0der@xxx ~]$ man test &gt;test.man
&gt; [c0der@xxx ~]$ file test.man
&gt; test.man: UTF-8 Unicode text, with overstriking
&gt; 
&gt; У вас не так?
Однако так... Пойду-ка я в исходники yelp погляжу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76116</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-08-23 05:13:39 +0400</bug_when>
    <thetext>Господи, да там же открытым текстом всё написано.
    /* FIXME: get the language */
    language = &quot;C&quot;;

    /* default encoding if the language doesn&apos;t match below */
    encoding = g_getenv(&quot;MAN_ENCODING&quot;);
    if (encoding == NULL)
	encoding = &quot;ISO-8859-1&quot;;

В общем, yelp вход от man воспринимает даже не как UTF-8, а как ISO-8859-1. В принципе, к этому уже можно писать патчи. Возможно, кстати, стоит взглянуть на natspec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76118</commentid>
    <comment_count>15</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-08-23 09:25:27 +0400</bug_when>
    <thetext>Т.о. bug #16680 не мешает исправлению этого бага.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76718</commentid>
    <comment_count>16</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2008-08-31 23:19:17 +0400</bug_when>
    <thetext>(In reply to comment #14)
&gt; Господи, да там же открытым текстом всё написано.
&gt;     /* FIXME: get the language */
&gt;     language = &quot;C&quot;;
&gt; 
&gt;     /* default encoding if the language doesn&apos;t match below */
&gt;     encoding = g_getenv(&quot;MAN_ENCODING&quot;);
&gt;     if (encoding == NULL)
&gt;         encoding = &quot;ISO-8859-1&quot;;
&gt; 
&gt; В общем, yelp вход от man воспринимает даже не как UTF-8, а как ISO-8859-1. В принципе, к
&gt; этому уже можно писать патчи. Возможно, кстати, стоит взглянуть на natspec.

Yelp не использует man, а парсит файлы самостоятельно, и взять их кодировку ему неоткуда. 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76767</commentid>
    <comment_count>17</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2008-09-01 14:16:06 +0400</bug_when>
    <thetext>fixed in 2.23.1-alt3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76927</commentid>
    <comment_count>18</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-09-03 08:42:39 +0400</bug_when>
    <thetext>Мну... я понимаю, работа проделана большая.. Но:
bash(1):

  ОПЦИИ
  Помимо однобуквенных опций командного интерпретатора, представленных
  в описании встроенной команды set, bash 
  интерпретирует при вызове следующие опции:
  -c ������

а в терминале вижу:
  -c строка</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76932</commentid>
    <comment_count>19</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2008-09-03 09:33:31 +0400</bug_when>
    <thetext>(In reply to comment #18)
&gt; Мну... я понимаю, работа проделана большая.. Но:
&gt; bash(1):

Пока работы было на три строчки.

&gt;   ОПЦИИ
&gt;   Помимо однобуквенных опций командного интерпретатора, представленных
&gt;   в описании встроенной команды set, bash 
&gt;   интерпретирует при вызове следующие опции:
&gt;   -c ������
&gt; 
&gt; а в терминале вижу:
&gt;   -c строка
&gt; 
Это вы уже придираетесь.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76933</commentid>
    <comment_count>20</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-09-03 09:38:35 +0400</bug_when>
    <thetext>может и придираюсь :-) но я не нарочно ;)
Давайте не будем пока закрывать в таком состоянии, а?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76934</commentid>
    <comment_count>21</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2008-09-03 09:45:44 +0400</bug_when>
    <thetext>(In reply to comment #20)
&gt; может и придираюсь :-) но я не нарочно ;)
&gt; Давайте не будем пока закрывать в таком состоянии, а?
&gt; 
Разумеется.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78206</commentid>
    <comment_count>22</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2008-09-20 20:03:12 +0400</bug_when>
    <thetext>исправлено в yelp-2.23.91-alt1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78472</commentid>
    <comment_count>23</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-09-23 09:31:42 +0400</bug_when>
    <thetext>Согласен</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79587</commentid>
    <comment_count>24</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-10-13 20:59:49 +0400</bug_when>
    <thetext>предлагаю переоткрыть:

страница convert(1) (пакет ImageMagic): 
SEE-ALSO
       ImageMagick(1)

в yelp видно только 
       (1)

Вообще страница выглядит иначе (виноват новый man?): раньше, кажется, опции оканчивались разрывом абзаца, а сейчас это какая-то мешанина.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85436</commentid>
    <comment_count>25</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2009-02-05 21:12:23 +0300</bug_when>
    <thetext>почти четыре месяца - ни одного возражения. Переоткрываю. Причина - комент №24</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91752</commentid>
    <comment_count>26</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2009-05-25 09:55:16 +0400</bug_when>
    <thetext>man qemu-img в разделе &quot;fmt&quot; вообще не показывает то, что в двойных кавычках:
&quot;raw&quot;, &quot;qcow2&quot;, &quot;qcow&quot; и т.д.

Кто прокомментирует - где проблема? man2html с задачей справляется лучше.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95932</commentid>
    <comment_count>27</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-08-08 15:33:39 +0400</bug_when>
    <thetext>Передаю мейнтейнеру, который по этому багу уже сделал больше меня.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95940</commentid>
    <comment_count>28</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2009-08-08 15:44:21 +0400</bug_when>
    <thetext>(In reply to comment #27)
&gt; Передаю мейнтейнеру, который по этому багу уже сделал больше меня.

Я не уверен, что смогу найти багу в yelp&apos;овском парсере.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95953</commentid>
    <comment_count>29</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2009-08-08 20:27:12 +0400</bug_when>
    <thetext>Посоветуетесь с апстримом?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>