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

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

    <bug>
          <bug_id>7412</bug_id>
          
          <creation_ts>2005-07-21 15:02:12 +0400</creation_ts>
          <short_desc>mkisofs не работает в локали ru_RU.UTF-8</short_desc>
          <delta_ts>2007-10-23 15:17:37 +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>mkisofs</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>7079</blocked>
    
    <blocked>7371</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</assigned_to>
          <cc>lakostis</cc>
    
    <cc>lav</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>27507</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-07-21 15:02:13 +0400</bug_when>
    <thetext>Вот вывод от k3b:
Devices
-----------------------
_NEC DVD_RW ND-3520A 1.04 (/dev/cdroms/cdwriter0, ) at /media/cdrom [CD-R;
CD-RW; CD-ROM; DVD-ROM; DVD-R; DVD-RW; DVD+R; DVD+RW] [DVD-ROM; Продолжение
DVD-R; Ограниченная перезапись DVD-RW; DVD-RW с продолжением; DVD+RW; DVD+R;
DVD+R Double Layer; CD-ROM; CD-R; CD-RW] [SAO; TAO; RAW; RAW/R96R]

System
-----------------------
K3b Version: 0.11.24
KDE Version: 3.4.1
QT Version:  3.3.4
Kernel:      2.6.12-std26-up-alt1

mkisofs
-----------------------
Unknown charset
Known charsets are:
cp10081
cp10079
cp10029
cp10007
cp10006
cp10000
koi8-u
koi8-r
cp1251
cp1250
cp874
cp869
cp866
cp865
cp864
cp863
cp862
cp861
cp860
cp857
cp855
cp852
cp850
cp775
cp737
cp437
iso8859-15
iso8859-14
iso8859-9
iso8859-8
iso8859-7
iso8859-6
iso8859-5
iso8859-4
iso8859-3
iso8859-2
iso8859-1


Предлагаю оторвать чего-нить автору natspec

Говорят что natspec крив по определению, смотрит не на те переменные, не туда и
не в том месте.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27508</commentid>
    <comment_count>1</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2005-07-21 15:06:38 +0400</bug_when>
    <thetext>мало ли что говорят, я вот не вижу в списке допустимых кодировок utf8. 
Приведите пример командной строки с явным указанием utf8-кодировки для 
mkisofs, который работает. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27509</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-07-21 15:16:17 +0400</bug_when>
    <thetext>про переменные:

согласно коду natspec:
tmp = getenv (&quot;LANGUAGE&quot;); - LANGUAGE для опеределения кодировок - это труба.
Нужно смотреть на LANG


natspec_get_system_locale() - get_from_system_i18n(&quot;LANG&quot;); - это конечно все
правильно, но зачем тогда брать пользовательскую LANGUAGE, где черт знает что
может быть написано ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27511</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2005-07-21 15:47:21 +0400</bug_when>
    <thetext>1. Тестируется след. версия natspec, где анализ LANGUAGE убран, поскольку он 
относится только к выводу сообщения. 
 
2. 
Вот весь патч к mkisofs, который был: 
+#ifdef HAVE_NATSPEC 
+       nls = load_nls(natspec_get_filename_encoding(&quot;&quot;)); 
+#else 
        nls = load_nls(&quot;iso8859-1&quot;); 
+#endif 
То есть влияет только на кодировку по умолчанию. Если iso8859-1 в UTF системе 
незаметно подменяется на utf8 где-то дальше, то это бага mkisofs, я готов 
помочь с поиском/исправлением. 
 
Судя по ругани k3b, которая приведена в баге, mkisofs вызывается с явно 
указанной кодировкой. 
 
Хотелось бы видеть,  
1) что k3b выводит в консоль про запуск mkisofs при попытке создания образа 
2) Если есть вопросы к natspec, то что говорит в локали UTF8 
$ natspec -fv 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27515</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-07-21 15:58:51 +0400</bug_when>
    <thetext>$ natspec -fv 
System locale: ru_RU.UTF-8
Filename encoding in iconv/nls form: utf8


При этом явно сказано, что mkisofs не поддерживает utf8.

Т.е. - для него не надо заводить такую перекодировку.

Т.е. - в этом случае:
+#ifdef HAVE_NATSPEC 
+       nls = load_nls(natspec_get_filename_encoding(&quot;&quot;)); 
+#else 
        nls = load_nls(&quot;iso8859-1&quot;); 
+#endif 

nls получается равным utf8, которого нет в списке, в итоге вылетает ошибка
Тут нужно или убирать natspec вообще, или делать проверку на наличие полученной
кодировки в списке поддерживаемых mkisofs&apos;ом.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27525</commentid>
    <comment_count>5</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2005-07-21 16:16:07 +0400</bug_when>
    <thetext>Предлагается применить патч, чтобы mkisofs узнал что такое utf8: 
 
--- nls_base.c.o    2001-01-21 00:18:33 +0300 
+++ libunls/nls_base.c  2005-07-21 16:08:48 +0400 
@@ -113,6 +113,8 @@ 
    int ret; 
 #endif 
 
+   if (!strcmp(charset,&quot;utf8&quot;)) 
+       charset = &quot;iso8859-1&quot;; 
    nls = find_nls(charset); 
    if (nls) { 
        nls-&gt;inc_use_count(); </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27540</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2005-07-21 17:20:03 +0400</bug_when>
    <thetext>(In reply to comment #5) 
&gt; +   if (!strcmp(charset,&quot;utf8&quot;))  
&gt; +       charset = &quot;iso8859-1&quot;;  
Т.к. по-умолчанию у нас будет &quot;iso8859-1&quot;, то natspec получается не нужен :-( </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27542</commentid>
    <comment_count>7</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2005-07-21 17:23:28 +0400</bug_when>
    <thetext>(In reply to comment #6) 
&gt; (In reply to comment #5)  
&gt; &gt; +   if (!strcmp(charset,&quot;utf8&quot;))   
&gt; &gt; +       charset = &quot;iso8859-1&quot;;   
&gt; Т.к. по-умолчанию у нас будет &quot;iso8859-1&quot;, то natspec получается не 
нужен :-(  
По умолчанию будет utf8 
 </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27557</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2005-07-21 17:58:15 +0400</bug_when>
    <thetext>&gt; Предлагаю оторвать чего-нить автору natspec
Человек решает проблемы.  А то, что новые вылазят на последних стадиях
тестирования -- проблема организации оного тестирования.

Предлагаю одуматься.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27585</commentid>
    <comment_count>9</comment_count>
      <attachid>1010</attachid>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2005-07-22 01:52:30 +0400</bug_when>
    <thetext>Created attachment 1010
Обновлённый патч для natspec

Я добавил распознавание utf8 к основному патчу, пакет нужно просто пересобрать
с новым патчем. На всякий случай выложил пакеты с исправленными исходным
пакетом и бинарниками на ftp://ftp.altlinux.ru/pub/people/lav/cdrtools</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28021</commentid>
    <comment_count>10</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2005-08-03 20:04:25 +0400</bug_when>
    <thetext>Кто-нить проверял сборки, которые выложил Виталий? Собственно, я могу просто
пересобрать cdrtools с новым libnatspec, т.к. уникодного окружения у меня нет. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28057</commentid>
    <comment_count>11</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-08-04 11:51:41 +0400</bug_when>
    <thetext>пересобери, плз.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28072</commentid>
    <comment_count>12</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-08-04 12:22:38 +0400</bug_when>
    <thetext>Кстати, насколько я понял - пересобирать надо с новым патчем, а не с новым
libnatspec.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28117</commentid>
    <comment_count>13</comment_count>
    <who name="Roman Medyakov">merv</who>
    <bug_when>2005-08-04 14:05:42 +0400</bug_when>
    <thetext>Проверил сборки Виталия - вроде всё работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30191</commentid>
    <comment_count>14</comment_count>
    <who name="Konstantin A Lepikhov (L.A. Kostis)">lakostis</who>
    <bug_when>2005-09-07 00:43:46 +0400</bug_when>
    <thetext>раз ничего не сломалось, закрываю.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1010</attachid>
            <date>2005-07-22 01:52:30 +0400</date>
            <delta_ts>2005-07-22 01:52:30 +0400</delta_ts>
            <desc>Обновлённый патч для natspec</desc>
            <filename>cdrtools-2.01-natspec.patch</filename>
            <type>text/plain</type>
            <size>3445</size>
            <attacher name="Vitaly Lipatov">lav</attacher>
            
              <data encoding="base64">IyBBZGRzIGxpYm5hdHNwZWMgc3VwcG9ydAojIEZJWE1FOiBjaGVjayBzaG9ydG5hbWUgc3VwcG9y
dAojIFZpdGFseSBMaXBhdG92IDxsYXZAZXRlcnNvZnQucnU+Ci0tLSAvaG9tZS9sYXYvd29yay9i
dWlsZC9CVUlMRC9jZHJ0b29scy0yLjAxL21raXNvZnMvTWFrZWZpbGUJMjAwNC0wMi0yMiAxODox
Mzo0MyArMDMwMAorKysgbWtpc29mcy9NYWtlZmlsZQkyMDA1LTAyLTIzIDAxOjQyOjA1ICswMzAw
CkBAIC0zMyw3ICszMyw3IEBACiBDUFBPUFRTICs9CS1ERFZEX1ZJREVPCiBDUFBPUFRTICs9CS1E
U09SVElORwogQ1BQT1BUUyArPQktSS4uL2xpYmhmc19pc28vCi1DUFBPUFRTCSs9CS1ESEFWRV9D
T05GSUdfSCAtRFVTRV9MSUJTQ0hJTFkgLURVU0VfU0NHIFwKK0NQUE9QVFMJKz0JLURIQVZFX0NP
TkZJR19IIC1EVVNFX0xJQlNDSElMWSAtRFVTRV9TQ0cgLURIQVZFX05BVFNQRUMgXAogCQknLURB
UFBJRF9ERUZBVUxUPSJNS0lTT0ZTIElTTyA5NjYwL0hGUyBGSUxFU1lTVEVNIEJVSUxERVIgJiBD
RFJFQ09SRCBDRC1SL0RWRCBDUkVBVE9SIChDKSAxOTkzIEUuWU9VTkdEQUxFIChDKSAxOTk3IEou
UEVBUlNPTi9KLlNDSElMTElORyInIFwKIAkJLUkuLi9jZHJlY29yZAogQ0ZJTEVTPQkJbWtpc29m
cy5jIHRyZWUuYyB3cml0ZS5jIGhhc2guYyByb2NrLmMgdWRmLmMgbXVsdGkuYyBcCkBAIC01MSw3
ICs1MSw3IEBACiAJCWlmb19yZWFkLmggZHZkX2ZpbGUuaCBkdmRfcmVhZGVyLmggYnN3YXAuaCBp
Zm9fdHlwZXMuaCBcCiAJCS4uL2NkcmVjb3JkL2RlZmF1bHRzLmgKIAotTElCUz0JCS1saGZzIC1s
ZmlsZSAtbHVubHMgLWxyc2NnIC1sc2NnICQoTElCX1ZPTE1HVCkgLWxkZWZsdCAtbHNjaGlseSAk
KFNDU0lMSUIpICQoTElCX1NPQ0tFVCkKK0xJQlM9CQktbGhmcyAtbGZpbGUgLWx1bmxzIC1scnNj
ZyAtbHNjZyAkKExJQl9WT0xNR1QpIC1sZGVmbHQgLWxzY2hpbHkgJChTQ1NJTElCKSAkKExJQl9T
T0NLRVQpIC1sbmF0c3BlYwogWE1LX0ZJTEU9CU1ha2VmaWxlLm1hbiBoeWJyaWRtYW4ubWsKIAog
LS0tIC9ob21lL2xhdi93b3JrL2J1aWxkL0JVSUxEL2NkcnRvb2xzLTIuMDEvbWtpc29mcy9kaWFn
L2lzb2luZm8ubWsJMjAwNC0wNi0wMSAxNDo1MDo1OSArMDQwMAorKysgbWtpc29mcy9kaWFnL2lz
b2luZm8ubWsJMjAwNS0wMi0yMyAwMjoxMDozMiArMDMwMApAQCAtMjUsMTEgKzI1LDExIEBACiBD
UFBPUFRTICs9CS1EVVNFX0xBUkdFRklMRVMKIENQUE9QVFMgKz0JLURVU0VfU0NHCiBDUFBPUFRT
ICs9CS1JLi4KLUNQUE9QVFMgKz0JLUkuLi8uLi9jZHJlY29yZAorQ1BQT1BUUyArPQktSS4uLy4u
L2NkcmVjb3JkIC1ESEFWRV9OQVRTUEVDCiBDRklMRVM9CQlpc29pbmZvLmMgXAogCQlzY3NpLmMg
c2NzaV9jZHIuYyBjZF9taXNjLmMgbW9kZXMuYyBcCiAJCWRlZmF1bHRzLmMgZ2V0bnVtLmMKLUxJ
QlM9CQktbHVubHMgLWxyc2NnIC1sc2NnICQoTElCX1ZPTE1HVCkgLWxkZWZsdCAtbHNjaGlseSAk
KFNDU0lMSUIpICQoTElCX1NPQ0tFVCkKK0xJQlM9CQktbHVubHMgLWxyc2NnIC1sc2NnICQoTElC
X1ZPTE1HVCkgLWxkZWZsdCAtbHNjaGlseSAkKFNDU0lMSUIpICQoTElCX1NPQ0tFVCkgLWxuYXRz
cGVjCiBYTUtfRklMRT0JTWFrZWZpbGUubWFuCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwoKLS0tIC9ob21lL2xhdi93b3JrL2J1aWxkL0JVSUxEL2NkcnRvb2xzLTIu
MDEvbWtpc29mcy9ta2lzb2ZzLmMJMjAwNC0wNy0xOCAwMDo0MjoxNCArMDQwMAorKysgbWtpc29m
cy9ta2lzb2ZzLmMJMjAwNS0wMi0yMiAwMzoxOToyNCArMDMwMApAQCAtNDMsNiArNDMsMTAgQEAK
ICNpbmNsdWRlICJ1ZGYuaCIKICNlbmRpZgogCisjaWZkZWYgSEFWRV9OQVRTUEVDCisjaW5jbHVk
ZSA8bmF0c3BlYy5oPgorI2VuZGlmCisKICNpZmRlZglORUVEX09fQklOQVJZCiAjaW5jbHVkZSA8
aW8uaD4JCQkJCS8qIGZvciBzZXRtb2RlKCkgcHJvdG90eXBlICovCiAjZW5kaWYKQEAgLTIzMzgs
OCArMjM0MiwxMiBAQAogI2lmCShkZWZpbmVkKF9fQ1lHV0lOMzJfXykgfHwgZGVmaW5lZChfX0NZ
R1dJTl9fKSB8fCBkZWZpbmVkKF9fREpHUFBfXykpICYmICFkZWZpbmVkKElTX0NZR1dJTl8xKQog
CQlpbl9ubHMgPSBsb2FkX25scygiY3A0MzciKTsKICNlbHNlCisjaWZkZWYgSEFWRV9OQVRTUEVD
CisJCWluX25scyA9IGxvYWRfbmxzKG5hdHNwZWNfZ2V0X2ZpbGVuYW1lX2VuY29kaW5nKCIiKSk7
CisjZWxzZQogCQlpbl9ubHMgPSBsb2FkX25scygiaXNvODg1OS0xIik7CiAjZW5kaWYKKyNlbmRp
ZgogCX0gZWxzZSB7CiAJCWlmIChzdHJjbXAoaWNoYXJzZXQsICJkZWZhdWx0IikgPT0gMCkKIAkJ
CWluX25scyA9IGxvYWRfbmxzX2RlZmF1bHQoKTsKCi0tLSAvaG9tZS9sYXYvd29yay9idWlsZC9C
VUlMRC9jZHJ0b29scy0yLjAxL21raXNvZnMvZGlhZy9pc29pbmZvLmMJMjAwNC0wNi0wMSAxNzo1
MDo1OCArMDQwMAorKysgbWtpc29mcy9kaWFnL2lzb2luZm8uYwkyMDA1LTAyLTIyIDAzOjE5OjU4
ICswMzAwCkBAIC01Nyw2ICs1NywxMCBAQAogI2luY2x1ZGUgIi4uL3Njc2kuaCIKICNpbmNsdWRl
ICIuLi8uLi9jZHJlY29yZC9kZWZhdWx0cy5oIgogCisjaWZkZWYgSEFWRV9OQVRTUEVDCisjaW5j
bHVkZSA8bmF0c3BlYy5oPgorI2VuZGlmCisKICNpbmNsdWRlIDx1bmxzLmg+CiAKICNpZglkZWZp
bmVkKF9fQ1lHV0lOMzJfXykgfHwgZGVmaW5lZChfX0VNWF9fKSB8fCBkZWZpbmVkKF9fREpHUFBf
XykKQEAgLTg5NSw3ICs4OTksMTEgQEAKICNpZgkoZGVmaW5lZChfX0NZR1dJTjMyX18pIHx8IGRl
ZmluZWQoX19DWUdXSU5fXykgfHwgZGVmaW5lZChfX0RKR1BQX18pKSAmJiAhZGVmaW5lZChJU19D
WUdXSU5fMSkKIAkJbmxzID0gbG9hZF9ubHMoImNwNDM3Iik7CiAjZWxzZQorI2lmZGVmIEhBVkVf
TkFUU1BFQworCQlubHMgPSBsb2FkX25scyhuYXRzcGVjX2dldF9maWxlbmFtZV9lbmNvZGluZygi
IikpOworI2Vsc2UKIAkJbmxzID0gbG9hZF9ubHMoImlzbzg4NTktMSIpOworI2VuZGlmCiAjZW5k
aWYKIAl9IGVsc2UgewogCQlpZiAoc3RyY21wKGNoYXJzZXQsICJkZWZhdWx0IikgPT0gMCkKCi0t
LSBubHNfYmFzZS5jLm8JMjAwMS0wMS0yMSAwMDoxODozMyArMDMwMAorKysgbGlidW5scy9ubHNf
YmFzZS5jCTIwMDUtMDctMjEgMTY6MDg6NDggKzA0MDAKQEAgLTExMyw2ICsxMTMsOCBAQAogCWlu
dCByZXQ7CiAjZW5kaWYKIAorCWlmICghc3RyY21wKGNoYXJzZXQsInV0ZjgiKSkKKwkJY2hhcnNl
dCA9ICJpc284ODU5LTEiOwogCW5scyA9IGZpbmRfbmxzKGNoYXJzZXQpOwogCWlmIChubHMpIHsK
IAkJbmxzLT5pbmNfdXNlX2NvdW50KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>