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

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

    <bug>
          <bug_id>20451</bug_id>
          
          <creation_ts>2009-06-15 09:38:15 +0400</creation_ts>
          <short_desc>incompatible change in version script handling</short_desc>
          <delta_ts>2009-09-14 13:05:46 +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>binutils</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>P3</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>20450</blocked>
    
    <blocked>20496</blocked>
    
    <blocked>21187</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rinat Bikov">bikr</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>Andrey.Chichak</cc>
    
    <cc>algor</cc>
    
    <cc>boris</cc>
    
    <cc>dk</cc>
    
    <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>grizlik78</cc>
    
    <cc>ktirf</cc>
    
    <cc>swi</cc>
    
    <cc>vsu</cc>
    
    <cc>vvk</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>93061</commentid>
    <comment_count>0</comment_count>
    <who name="Rinat Bikov">bikr</who>
    <bug_when>2009-06-15 09:38:15 +0400</bug_when>
    <thetext>&gt; Судя по всему в C++ части бибилиотеки поменялся API, но ни в soname, ни
&gt; в vesrioning script это не отражено.
(c) ns@

codeblocks-8.02-alt10 с библиотекой
wxGTK-2.8.9-alt1 запускается нормально, при запуске же его с
wxGTK-2.8.9-alt2 выдаётся следующая ошибка:
codeblocks: relocation error: /usr/lib/libcodeblocks.so.0: symbol _Z18wxSafeConvertWX2MBPKw, version WXU_2.8.2 not defined in file libwx_baseu-2.8.so.0 with link time reference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93070</commentid>
    <comment_count>1</comment_count>
    <who name="algor">algor</who>
    <bug_when>2009-06-15 11:55:06 +0400</bug_when>
    <thetext>это NOTABUG, собственно. пересоберите codeblocks. поскольку версия wxGTK не изменилась, SONAME и все прочие пироги не изменились тоже.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93072</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-06-15 12:19:44 +0400</bug_when>
    <thetext>API мог и не измениться, а вот ABI явно изменился.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93077</commentid>
    <comment_count>3</comment_count>
    <who name="algor">algor</who>
    <bug_when>2009-06-15 12:32:38 +0400</bug_when>
    <thetext>тогда вопрос в том, что вызвало смену ABI в данном случае.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93090</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2009-06-15 14:44:13 +0400</bug_when>
    <thetext>Поздравляю, у нас сломан binutils.

В wxGTK используется version-script.in следующего вида:

@WX_VERSION_TAG@.2 {
    global:
        # wxFileHistory::Set/GetBaseId()
        *wxFileHistory*etBaseId*;
        *wxSafeConvert*;
        *wxSearchCtrl*SetDescriptiveText*;
        *wxSearchCtrl*GetDescriptiveText*;
        *wxSizerFlags*Bottom*;
        *wxSizerFlags*FixedMinSize*;
        *wxSizerFlags*Shaped*;
        *wxSizerFlags*Top*;
        *wxToolBar*SetToolNormalBitmap;
        *wxToolBar*SetToolDisabledBitmap;
};
...
@WX_VERSION_TAG@ {
    global:
        *;
};

Т.е., части символов присваиваются версии вида WXU_2.8.2 (но при этом эти символы указываются через glob, чтобы не писать C++ mangled name), а для всех остальных через global: * указывается версия WXU_2.8. Однако где-то между binutils-2.18.50.0.9-alt5 и 2.19.51.0.2-alt2 этот механизм сломался - теперь все символы получают версию WXU_2.8 (хотя в таблицу версий WXU_2.8.2 всё-таки попадает, поэтому provides у пакета не отвалились).

Testcase:

$ cat libtest.c
int test(void) 
{
        return 1;
}

int test_new(void)
{
        return 2;
}

$ cat libtest.version 
TEST_1.0.1 {
        *new*;
};

TEST_1.0 {
        global: *;
};

$ gcc -c -fPIC libtest.c
$ ld -shared -o libtest.so -version-script libtest.version libtest.o

Со старой версией binutils получается:

$ objdump -T libtest.so |grep &apos;\&lt;test&apos;
00000230 g    DF .text  0000000a  TEST_1.0    test
0000023a g    DF .text  0000000a  TEST_1.0.1  test_new

С новой версией:

$ LD_LIBRARY_PATH=./lib ./bin/ld -shared -o libtest.so -version-script libtest.version libtest.o
vsu@center4 ~/tmp/11 $ objdump -T libtest.so |grep &apos;\&lt;test&apos;                                                          
00000230 g    DF .text  0000000a  TEST_1.0    test
0000023a g    DF .text  0000000a  TEST_1.0    test_new</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93092</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2009-06-15 15:40:26 +0400</bug_when>
    <thetext>Похоже, это побочный эффект исправления
http://sourceware.org/bugzilla/show_bug.cgi?id=7047

Теперь логика обработки glob pattern в version script изменилась - если имя символа соответствует нескольким шаблонам, раньше, похоже, брался первый из них, а теперь берётся последний (однако соответствия global более приоритетны, чем local, а точное соответствие имени (без glob) в любом случае имеет максимальный приоритет). В документации точное поведение ld в этом случае вновь обошли молчанием, добавив рекомендацию не использовать шаблоны в подобном случае:

| When the linker finds a symbol defined in a library which is not
| specifically bound to a version node, it will effectively bind it to an
| unspecified base version of the library.  You can bind all otherwise
| unspecified symbols to a given version node by using @samp{global: *;}
| somewhere in the version script.  Note that it&apos;s slightly crazy to use
| wildcards in a global spec except on the last version node.  Global
| wildcards elsewhere run the risk of accidentally adding symbols to the
| set exported for an old version.  That&apos;s wrong since older versions
| ought to have a fixed set of symbols.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93173</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-06-17 01:16:50 +0400</bug_when>
    <thetext>(In reply to comment #5)
&gt; Похоже, это побочный эффект исправления
&gt; http://sourceware.org/bugzilla/show_bug.cgi?id=7047

Да, это именно он и есть.

&gt; Теперь логика обработки glob pattern в version script изменилась - если имя
&gt; символа соответствует нескольким шаблонам, раньше, похоже, брался первый из
&gt; них, а теперь берётся последний (однако соответствия global более приоритетны,
&gt; чем local, а точное соответствие имени (без glob) в любом случае имеет
&gt; максимальный приоритет). В документации точное поведение ld в этом случае вновь
&gt; обошли молчанием,

Alan Modra написал про это изменение следующее:
I don&apos;t try to provide any ordering between two matching wildcards, except that a match in a global specification has higher precedence than a local spec.  Otherwise, the last matching wildcard in the script wins.

Оборот речи &quot;I don&apos;t try to provide any ordering&quot; говорит о том, что поведение зависит от реализации и может измениться, если кто-нибудь ещё что-нибудь там исправит.

&gt; добавив рекомендацию не использовать шаблоны в подобном
&gt; случае:
&gt; 
&gt; | When the linker finds a symbol defined in a library which is not
&gt; | specifically bound to a version node, it will effectively bind it to an
&gt; | unspecified base version of the library.  You can bind all otherwise
&gt; | unspecified symbols to a given version node by using @samp{global: *;}
&gt; | somewhere in the version script.  Note that it&apos;s slightly crazy to use
&gt; | wildcards in a global spec except on the last version node.  Global
&gt; | wildcards elsewhere run the risk of accidentally adding symbols to the
&gt; | set exported for an old version.  That&apos;s wrong since older versions
&gt; | ought to have a fixed set of symbols.

Ну что, будем жаловаться &quot;наверх&quot; на incompatible change, или будем фиксить скрипты?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93187</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2009-06-17 12:40:30 +0400</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; Ну что, будем жаловаться &quot;наверх&quot; на incompatible change, или будем фиксить
&gt; скрипты?

И как в данном случае это фиксить, чтобы результат работал и со старыми, и с новыми версиями binutils, и при этом не приходилось прибивать в скрипте все имена гвоздями (что в данном случае проблемно из-за C++ - насколько надёжно работает extern &quot;C++&quot; в version script с учётом возможности использования разных версий gcc?)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96600</commentid>
    <comment_count>8</comment_count>
    <who name="algor">algor</who>
    <bug_when>2009-08-17 09:16:30 +0400</bug_when>
    <thetext>отцы, так есть уже официально рекомендованный способ решения данной проблемы ? wxGTK и то, что от него зависит висит в разваленном состоянии.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96602</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-08-17 10:32:03 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; (В ответ на комментарий №6)
&gt; &gt; Ну что, будем жаловаться &quot;наверх&quot; на incompatible change, или будем фиксить
&gt; &gt; скрипты?
&gt; 
&gt; И как в данном случае это фиксить, чтобы результат работал и со старыми, и с
&gt; новыми версиями binutils, и при этом не приходилось прибивать в скрипте все
&gt; имена гвоздями (что в данном случае проблемно из-за C++ - насколько надёжно
&gt; работает extern &quot;C++&quot; в version script с учётом возможности использования
&gt; разных версий gcc?)?

Похоже что такой результат недостижим.  Либо со старыми версиями binutils, либо с новыми, либо поддерживать две версии скрипта и проверять binutils во время сборки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96614</commentid>
    <comment_count>10</comment_count>
      <attachid>3743</attachid>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2009-08-17 12:50:07 +0400</bug_when>
    <thetext>Created attachment 3743
ld_shared_wrapper.pl

Раз в binutils ничего не делается, видимо, придётся делать объезд со стороны wxGTK - например, подстановкой при сборке библиотек вместо g++ приложенного скрипта, который делает следующее:

1) Собирает библиотеку обычным образом во временный файл.
2) Извлекает из полученного временного файла список глобальных символов.
3) Используя этот список, заменяет шаблоны в version script на точный список символов, которые им соответствуют (остаётся в виде шаблона только &quot;*&quot;, а также те шаблоны, для которых не найдено соответствий - иначе для некоторых версий могут получиться пустые секции, что ld считает ошибкой).
4) Собирает окончательный вариант библиотеки, используя модифицированный version script (кладётся в файл *.versions рядом с собранной библиотекой для проверки результатов работы).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96615</commentid>
    <comment_count>11</comment_count>
      <attachid>3744</attachid>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2009-08-17 12:51:23 +0400</bug_when>
    <thetext>Created attachment 3744
wxGTK-2.8.9-alt3.src.rpm.diff

Изменения в wxGTK.spec для использования приложенного скрипта.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97163</commentid>
    <comment_count>12</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2009-08-24 12:44:35 +0400</bug_when>
    <thetext>wxGTK-2:2.8.10-alt2 -&gt; sisyphus:

* Mon Aug 24 2009 Boris Savelev &lt;boris@altlinux&gt; 2:2.8.10-alt2

- Add workaround for new version script handling in binutils:
  expand symbol patterns in version scripts manually instead of relying on
  unstable binutins behavior (Sergey Vlasov) (closes #20451).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97164</commentid>
    <comment_count>13</comment_count>
    <who name="Denis Kirienko">dk</who>
    <bug_when>2009-08-24 12:49:34 +0400</bug_when>
    <thetext>А можно получить пояснения, нуждается ли теперь в пересборке софт, слинкованный с wxGTK, который

а) перестал работать в результате этого бага?

б) перестал работать, но был пересобран с новой wxGTK, с тех пор работает?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97172</commentid>
    <comment_count>14</comment_count>
    <who name="algor">algor</who>
    <bug_when>2009-08-24 13:33:37 +0400</bug_when>
    <thetext>(In reply to comment #13)
&gt; А можно получить пояснения, нуждается ли теперь в пересборке софт, слинкованный
&gt; с wxGTK, который

нуждается. весь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97174</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey Vlasov">vsu</who>
    <bug_when>2009-08-24 13:39:12 +0400</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt;   unstable binutins behavior (Sergey Vlasov) (closes #20451).
Эх, опечатка пролезла :(

(В ответ на комментарий №13)
&gt; А можно получить пояснения, нуждается ли теперь в пересборке софт,
&gt; слинкованный с wxGTK, который
&gt; 
&gt; а) перестал работать в результате этого бага?
Не нуждается - теперь версии символов вернулись в первоначальное состояние. Я сравнивал символы wxGTK-2.8.9-alt1 и сборки со своим патчем - GLOBAL совпадают полностью, WEAK совпадают по версиям, но набор их поменялся (однако копии этих функций в любом случае будут и в бинарниках, реально их использующих, так что проблем из-за этого быть не должно).

&gt; б) перестал работать, но был пересобран с новой wxGTK, с тех пор работает?
Вот это придётся опять пересобирать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97175</commentid>
    <comment_count>16</comment_count>
    <who name="Denis Kirienko">dk</who>
    <bug_when>2009-08-24 13:41:15 +0400</bug_when>
    <thetext>Гм. Значит я все прошедшие выходные копаюсь с переводом codeblocks, поскольку в
понедельник предполагают сделать RC школьного дистрибутива, а тут в Сизиф
въезжает бомба, ломающая весь wxGTK-софт, да?

Тогда либо нужно собирать RC сейчас, пока wxGTK не доехало до Сизифа, либо
пересобирать сразу же все пакеты...

В общем, прошу обратить внимание на проблему пересборки в свете предполагаемого
выхода RC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97222</commentid>
    <comment_count>17</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-08-24 22:19:10 +0400</bug_when>
    <thetext>(In reply to comment #16)
&gt; Гм. Значит я все прошедшие выходные копаюсь с переводом codeblocks, поскольку в
&gt; понедельник предполагают сделать RC школьного дистрибутива, а тут в Сизиф
&gt; въезжает бомба, ломающая весь wxGTK-софт, да?

Не ломающая, а исправляющая.  Сломано было немного раньше.

&gt; Тогда либо нужно собирать RC сейчас, пока wxGTK не доехало до Сизифа, либо
&gt; пересобирать сразу же все пакеты...

RC лучше выпускать после изменения ABI, иначе релиз будет бинарно несовместим с RC по этим пакетам.

&gt; В общем, прошу обратить внимание на проблему пересборки в свете предполагаемого
&gt; выхода RC.

Давайте составим список пакетов, которые нужно пересобрать как можно быстрее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97223</commentid>
    <comment_count>18</comment_count>
    <who name="Denis Kirienko">dk</who>
    <bug_when>2009-08-24 22:26:40 +0400</bug_when>
    <thetext>&gt; Не ломающая, а исправляющая.  Сломано было немного раньше.

Не суть - главное, что тот софт, который успели за последние 2,5 месяца пересобрать со сломанной wxGTK больше не работает.

&gt; Давайте составим список пакетов, которые нужно пересобрать как можно быстрее.

codeblocks
poedit

Это из числа того, что отражено в зависимостях от этого бага.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97224</commentid>
    <comment_count>19</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-08-24 22:31:08 +0400</bug_when>
    <thetext>(In reply to comment #18)
&gt; &gt; Не ломающая, а исправляющая.  Сломано было немного раньше.
&gt; 
&gt; Не суть - главное, что тот софт, который успели за последние 2,5 месяца
&gt; пересобрать со сломанной wxGTK больше не работает.

Поскольку 2.5+ месяца назад софт тоже существовал, разнца всё же есть.

&gt; &gt; Давайте составим список пакетов, которые нужно пересобрать как можно быстрее.
&gt; 
&gt; codeblocks
&gt; poedit
&gt; 
&gt; Это из числа того, что отражено в зависимостях от этого бага.

Можно попросить мантейнеров этих пакетов просто отправить пакеты на сборку?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97225</commentid>
    <comment_count>20</comment_count>
    <who name="Denis Kirienko">dk</who>
    <bug_when>2009-08-24 22:39:08 +0400</bug_when>
    <thetext>codeblocks я могу отправить на пересборку прямо сейчас, наверное, надо
выставить requires на wxGTK &gt;= 2.8.10-alt2

Нужно ли дожидаться, пока wxGTK доедет до сизифа, или можно отправить пакет
прямо сейчас вот с таким вот requires?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97226</commentid>
    <comment_count>21</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-08-24 22:43:48 +0400</bug_when>
    <thetext>(In reply to comment #20)
&gt; codeblocks я могу отправить на пересборку прямо сейчас, наверное, надо
&gt; выставить requires на wxGTK &gt;= 2.8.10-alt2

Да, пожалуй.

&gt; Нужно ли дожидаться, пока wxGTK доедет до сизифа, или можно отправить пакет
&gt; прямо сейчас вот с таким вот requires?

Уже доехал:
http://git.altlinux.org/tasks/11283/task/log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97227</commentid>
    <comment_count>22</comment_count>
    <who name="Denis Kirienko">dk</who>
    <bug_when>2009-08-24 22:53:10 +0400</bug_when>
    <thetext>&gt; Да, пожалуй.

codeblocks-8.02-alt17 ушел в incoming

&gt; Уже доехал:
&gt; http://git.altlinux.org/tasks/11283/task/log

Это до вас может быть доехал, а до меня, т.е. до публичных серверов - еще не доехал. Вот я сейчас src.rpm собирал с ключом --nodeps, у меня то нового wxGTK пока нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97241</commentid>
    <comment_count>23</comment_count>
    <who name="Boris Savelev">boris</who>
    <bug_when>2009-08-25 09:23:24 +0400</bug_when>
    <thetext>вот эта проблема
http://lists.altlinux.org/pipermail/devel/2009-July/173326.html
возможно тоже из-за binutils?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97299</commentid>
    <comment_count>24</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-08-25 18:02:11 +0400</bug_when>
    <thetext>(In reply to comment #17)
&gt; Давайте составим список пакетов, которые нужно пересобрать как можно быстрее.

Вот список всех пострадавших пакетов:
Aug 22 14:27 poedit-1.4.2-alt3.src.rpm
Aug 18 03:26 dvdstyler-1.7.3-alt2.src.rpm
Aug 11 23:48 wxMaxima-0.8.3-alt1.src.rpm
Jul 29 07:46 hugin-0.8.0-alt2.1.src.rpm
Jul 22 01:31 bacula-3.0.2-alt1.src.rpm
Jul  5 16:31 python-module-wx-2.8.9-alt1.src.rpm
Jul  1 21:31 scalasca-1.1-alt5.src.rpm
Jun 25 06:47 scummvm-tools-0.13.0-alt2.src.rpm
Jun 18 16:58 xchm-1.17-alt1.src.rpm
May 25 11:22 flamerobin-0.9.0-alt2.src.rpm
May 18 01:35 aMule-2.2.5-alt1.src.rpm
May 13 18:11 tintii-2.1.0-alt1.src.rpm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97352</commentid>
    <comment_count>25</comment_count>
    <who name="Andrey Chichak">Andrey.Chichak</who>
    <bug_when>2009-08-26 15:42:04 +0400</bug_when>
    <thetext>(В ответ на комментарий №24)
&gt; (In reply to comment #17)
&gt; &gt; Давайте составим список пакетов, которые нужно пересобрать как можно быстрее.
&gt; 
&gt; Вот список всех пострадавших пакетов:

я бы добавил pgadmin3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97355</commentid>
    <comment_count>26</comment_count>
    <who name="algor">algor</who>
    <bug_when>2009-08-26 16:17:02 +0400</bug_when>
    <thetext>&gt; я бы добавил pgadmin3

Его уже нет в репозитории, по причине несобираемости. Правда, вроде как есть люди, желающие реанимировать.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3743</attachid>
            <date>2009-08-17 12:50:07 +0400</date>
            <delta_ts>2009-08-17 12:50:07 +0400</delta_ts>
            <desc>ld_shared_wrapper.pl</desc>
            <filename>ld_shared_wrapper.pl</filename>
            <type>text/plain</type>
            <size>2966</size>
            <attacher name="Sergey Vlasov">vsu</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9wZXJsCiMKIyAkKExEX1NIQVJFRF9DWFgpIHdyYXBwZXIgZm9yIHd4R1RLIHRv
IGhhbmRsZSBzeW1ib2wgdmVyc2lvbmluZwojCgp1c2UgRmlsZTo6VGVtcDsKdXNlIHN0cmljdDsK
dXNlIHdhcm5pbmdzOwoKc2NhbGFyKEBBUkdWKSA+IDAgb3IgZGllICJubyBhcmd1bWVudHMiOwoK
bXkgQGxkX2FyZ3NfMTsKbXkgQGxkX2FyZ3NfMiA9IEBBUkdWOwp3aGlsZSAoc2NhbGFyKEBsZF9h
cmdzXzIpIGFuZCAkbGRfYXJnc18yWzBdIG5lICctbycpIHsKCXB1c2ggQGxkX2FyZ3NfMSwgc2hp
ZnQoQGxkX2FyZ3NfMik7Cn0Kc2NhbGFyKEBsZF9hcmdzXzIpID49IDIgb3IgZGllICJtaXNzaW5n
ICctbyA8ZmlsZT4nIG9wdGlvbiI7CnB1c2ggQGxkX2FyZ3NfMSwgc2hpZnQoQGxkX2FyZ3NfMik7
CSMgJy1vJwpteSAkb3JpZ19vdXRwdXRfZmlsZSA9IHNoaWZ0KEBsZF9hcmdzXzIpOwoKbXkgJHRt
cGRpciA9IEZpbGU6OlRlbXAtPm5ld2RpcigpOwoKbXkgJG9yaWdfdmVyc2lvbl9zY3JpcHQ7Cm15
ICR0bXBfdmVyc2lvbl9zY3JpcHQgPSAiJG9yaWdfb3V0cHV0X2ZpbGUudmVyc2lvbnMiOwpteSBA
ZmluYWxfbGRfYXJnc18yID0gQGxkX2FyZ3NfMjsKZm9yIChAZmluYWxfbGRfYXJnc18yKSB7Cgkv
Xi1XbCwtLXZlcnNpb24tc2NyaXB0LCguKikkLyAmJiBkbyB7CgkJJG9yaWdfdmVyc2lvbl9zY3Jp
cHQgPSAkMTsKCQkkXyA9ICItV2wsLS12ZXJzaW9uLXNjcmlwdCwkdG1wX3ZlcnNpb25fc2NyaXB0
IjsKCQlsYXN0OwoJfQp9CgppZiAobm90IGRlZmluZWQgJG9yaWdfdmVyc2lvbl9zY3JpcHQpIHsK
CWV4aXQodmVyYm9zZV9zeXN0ZW0oQGxkX2FyZ3NfMSwgJG9yaWdfb3V0cHV0X2ZpbGUsIEBsZF9h
cmdzXzIpKTsKfQoKIyBGaXJzdCBsaW5rIGF0dGVtcHQsIHdyaXRpbmcgdG8gYSB0ZW1wb3Jhcnkg
ZmlsZQpteSAkdG1wX2xpYiA9ICIkdG1wZGlyL3RtcC5zbyI7Cm15ICRyYyA9IHZlcmJvc2Vfc3lz
dGVtKEBsZF9hcmdzXzEsICR0bXBfbGliLCBAbGRfYXJnc18yKTsKZXhpdCgkcmMpIGlmICRyYyAh
PSAwOwoKIyBSZWFkIGdsb2JhbCBzeW1ib2xzIGZyb20gdGhlIGxpbmsgcmVzdWx0Cm15ICVzeW1i
b2xzOwpvcGVuKG15ICRubV9vdXRwdXQsICctfCcsICdubScsICctRCcsICctLWRlZmluZWQtb25s
eScsICR0bXBfbGliKQoJb3IgZGllICJnZXQgbm0gb3V0cHV0OiAkISI7CndoaWxlICg8JG5tX291
dHB1dD4pIHsKCWNob21wOwoJL15bWzp4ZGlnaXQ6XV0qXHMrW1s6dXBwZXI6XV1ccysoXFMrKSQv
ICYmIGRvIHsKCQkkc3ltYm9sc3skMX0gPSAxOwoJfQp9CmNsb3NlKCRubV9vdXRwdXQpCglvciBk
aWUgJCEgPyAiZXJyb3IgY2xvc2luZyBubSBvdXRwdXQ6ICQhIgoJCTogIm5tOiBleGl0ZWQgd2l0
aCBzdGF0dXMgJD8iOwoKIyBVc2luZyBnbG9iYWwgc3ltYm9sIGxpc3QsIGV4cGFuZCBzeW1ib2wg
cGF0dGVybnMgaW4gdmVyc2lvbiBzY3JpcHQKb3BlbihteSAkdnNfaW4sICc8JywgJG9yaWdfdmVy
c2lvbl9zY3JpcHQpCglvciBkaWUgIm9wZW4gJyRvcmlnX3ZlcnNpb25fc2NyaXB0JzogJCEiOwpv
cGVuKG15ICR2c19vdXQsICc+JywgJHRtcF92ZXJzaW9uX3NjcmlwdCkKCW9yIGRpZSAib3BlbiAn
JHRtcF92ZXJzaW9uX3NjcmlwdCc6ICQhIjsKd2hpbGUgKDwkdnNfaW4+KSB7CgljaG9tcDsKCS9e
XHMqKFteWzpzcGFjZTpdI3t9O10rKTtccyokLyAmJiBkbyB7CgkJZXhwYW5kX3N5bWJvbCgkdnNf
b3V0LCAkXywgJDEpOwoJCW5leHQ7Cgl9OwoJcHJpbnQgJHZzX291dCAiJF9cbiI7Cn0KY2xvc2Uo
JHZzX291dCkgb3IgZGllICJlcnJvciBjbG9zaW5nICckdG1wX3ZlcnNpb25fc2NyaXB0JzogJCEi
OwpjbG9zZSgkdnNfaW4pIG9yIGRpZSAiZXJyb3IgY2xvc2luZyAnJG9yaWdfdmVyc2lvbl9zY3Jp
cHQnOiAkISI7CgojIEZpbmFsIGxpbmssIHVzaW5nIHRoZSBtb2RpZmllZCB2ZXJzaW9uIHNjcmlw
dApleGl0KHZlcmJvc2Vfc3lzdGVtKEBsZF9hcmdzXzEsICRvcmlnX291dHB1dF9maWxlLCBAZmlu
YWxfbGRfYXJnc18yKSk7CgoKCnN1YiBleHBhbmRfc3ltYm9sCnsKCW15ICgkdnNfb3V0LCAkbGlu
ZSwgJGdsb2IpID0gQF87CgoJIyBLZWVwICcqJyBhcyBpcwoJaWYgKCRnbG9iIGVxICcqJykgewoJ
CXByaW50ICR2c19vdXQgIiRsaW5lXG4iOwoJCXJldHVybjsKCX0KCgkjIENvbnZlcnQgc2hlbGwg
cGF0dGVybiB0byByZWdleHAgKGN1cnJlbnRseSBvbmx5ICcqJyBpcyBoYW5kbGVkKS4KCWlmICgk
Z2xvYiA9fiAvW15bOmFsbnVtOl1fKl0vKSB7CgkJZGllICJ1bmFibGUgdG8gaGFuZGxlIHN5bWJv
bCBwYXR0ZXJuICckZ2xvYiciOwoJfQoJbXkgJHJlID0gJGdsb2I7CgkkcmUgPX4gcy9cKi8uKi9n
OwoJaWYgKCRyZSBlcSAkZ2xvYikgewoJCSMgZXhhY3QgbWF0Y2ggLSBrZWVwIGFzIGlzCgkJcHJp
bnQgJHZzX291dCAiJGxpbmVcbiI7CgkJcmV0dXJuOwoJfQoJJHJlID0gcXIvXiRyZSQvOwoKCW15
ICRmaXJzdCA9IDE7Cglmb3IgbXkgJHN5bSAoZ3JlcCB7IG0vJHJlLyB9IGtleXMgJXN5bWJvbHMp
IHsKCQlpZiAoJGZpcnN0KSB7CgkJCSRmaXJzdCA9IDA7CgkJCXByaW50ICR2c19vdXQgIiMjJGxp
bmVcbiI7CgkJfQoJCXByaW50ICR2c19vdXQgIlx0JHN5bTtcbiI7CgkJZGVsZXRlICRzeW1ib2xz
eyRzeW19OwoJfQoJaWYgKCRmaXJzdCkgewoJCSMgS2VlcCB1bm1hdGNoZWQgcGF0dGVybnMgdG8g
YXZvaWQgZW1wdHkgc2VjdGlvbnMKCQlwcmludCAkdnNfb3V0ICIkbGluZVxuIjsKCX0gZWxzZSB7
CgkJcHJpbnQgJHZzX291dCAiXG4iOwoJfQp9CgpzdWIgdmVyYm9zZV9zeXN0ZW0KewoJcHJpbnQg
IisgIiAuIGpvaW4oJyAnLCBAXykgLiAiXG4iOwoJbXkgJHJjID0gc3lzdGVtIHsgJF9bMF0gfSBA
XzsKCWlmICgkcmMgPT0gLTEpIHsKCQlkaWUgInN5c3RlbTogJCEiOwoJfQoJZWxzaWYgKCRyYyAm
IDEyNykgewoJCXJldHVybiAoJHJjICYgMTI3KSB8IDEyODsKCX0KCXJldHVybiAkcmMgPj4gODsK
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3744</attachid>
            <date>2009-08-17 12:51:23 +0400</date>
            <delta_ts>2009-08-17 12:51:23 +0400</delta_ts>
            <desc>wxGTK-2.8.9-alt3.src.rpm.diff</desc>
            <filename>wxGTK-2.8.9-alt3.src.rpm.diff</filename>
            <type>text/plain</type>
            <size>1287</size>
            <attacher name="Sergey Vlasov">vsu</attacher>
            
              <data encoding="base64">LS0tIHd4R1RLLTIuOC45LWFsdDIvd3hHVEsuc3BlYwkyMDA5LTA2LTExIDA3OjQzOjA3ICswMDAw
CisrKyB3eEdUSy0yLjguOS1hbHQzL3d4R1RLLnNwZWMJMjAwOS0wOC0xNyAwODowMzozNyArMDAw
MApAQCAtOCw3ICs4LDcgQEAKIAogTmFtZTogd3hHVEsKIFZlcnNpb246ICV3eGJyYW5jaC45Ci1S
ZWxlYXNlOiBhbHQyCitSZWxlYXNlOiBhbHQzCiBTZXJpYWw6CTIKIAogU3VtbWFyeTogVGhlIEdU
SysgcG9ydCBvZiB0aGUgd3hXaWRnZXRzIGxpYnJhcnkKQEAgLTE3LDYgKzE3LDcgQEAgR3JvdXA6
IFN5c3RlbS9MaWJyYXJpZXMKIFVybDogaHR0cDovL3d4d2lkZ2V0cy5vcmcKIAogU291cmNlOiAl
bmFtZS0ldmVyc2lvbi50YXIuZ3oKK1NvdXJjZTI6IGxkX3NoYXJlZF93cmFwcGVyLnBsCiBQYXRj
aDoJY2hhbmdlc2V0X3I2MDg3NS5kaWZmCiBQYXRjaDE6CWNoYW5nZXNldF9yNjA4NzYuZGlmZgog
I1NvdXJjZTogJW5hbWUtMjAwNy0wMS0zMS50YXIuYnoyCkBAIC0xMjUsOSArMTI2LDkgQEAgSGVh
ZGVyIGZpbGVzIGZvciB3eFdpZGdldHMgb2JqZWN0IGdyYXBoaQogCSAgIC0td2l0aC1zZGwgXAog
CSAgIC0td2l0aC1yZWdleD1zeXMKIAotJW1ha2VfYnVpbGQKKyVtYWtlX2J1aWxkIFNIQVJFRF9M
RF9DWFg9J3BlcmwgJVNPVVJDRTIgJChDWFgpIC1zaGFyZWQgLWZQSUMgLW8nCiBjZCBjb250cmli
L3NyYwotJW1ha2VfYnVpbGQKKyVtYWtlX2J1aWxkIFNIQVJFRF9MRF9DWFg9J3BlcmwgJVNPVVJD
RTIgJChDWFgpIC1zaGFyZWQgLWZQSUMgLW8nCiAKICVpbnN0YWxsCiAlbWFrZWluc3RhbGwKQEAg
LTI0Myw2ICsyNDQsMTEgQEAgY2QgY29udHJpYi9zcmMKICVfZGF0YWRpci93eC9leGFtcGxlcwog
CiAlY2hhbmdlbG9nCisqIE1vbiBBdWcgMTcgMjAwOSBTZXJnZXkgVmxhc292IDx2c3VAYWx0bGlu
dXgucnU+IDI6Mi44LjktYWx0MworLSBBZGQgd29ya2Fyb3VuZCBmb3IgbmV3IHZlcnNpb24gc2Ny
aXB0IGhhbmRsaW5nIGluIGJpbnV0aWxzICgjMjA0NTEpOgorICBleHBhbmQgc3ltYm9sIHBhdHRl
cm5zIGluIHZlcnNpb24gc2NyaXB0cyBtYW51YWxseSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24KKyAg
dW5zdGFibGUgYmludXRpbnMgYmVoYXZpb3IuCisKICogVGh1IEp1biAxMSAyMDA5IEFsZXggR29y
YmFjaGVua28gKGFnZW50XzAwNykgPGFsZ29yQGFsdGxpbnV4LnJ1PiAyOjIuOC45LWFsdDIKIC0g
IGZpeCAjMjAzMjguCiAKRW5kIG9mIGRpZmYKCkZpbGVzIG5vdCBjb21wYXJlZCBpbiB3eEdUSy0y
LjguOS1hbHQzOgpsZF9zaGFyZWRfd3JhcHBlci5wbAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>