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

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

    <bug>
          <bug_id>13577</bug_id>
          
          <creation_ts>2007-12-04 01:11:56 +0300</creation_ts>
          <short_desc>Custom version scripts support</short_desc>
          <delta_ts>2008-03-10 01:45:19 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>libtool_1.5</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>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13337</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Rusakov">ktirf</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>58941</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2007-12-04 01:12:00 +0300</bug_when>
    <thetext>На данный момент в /usr/share/libtool-1.5/aclocal/libtool.m4 содержится такой
вот кусок кода:

	if test $supports_anon_versioning = yes; then
	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=&apos;$echo &quot;{ global:&quot; &gt;
$output_objdir/$libname.ver~
  cat $export_symbols | sed -e &quot;s/\(.*\)/\1;/&quot; &gt;&gt; $output_objdir/$libname.ver~
  $echo &quot;local: *; };&quot; &gt;&gt; $output_objdir/$libname.ver~
	  $CC -shared&apos;&quot;$tmp_addflag&quot;&apos; $libobjs $deplibs $compiler_flags ${wl}-soname
$wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib&apos;
	fi

В результате, всякий раз когда мы сталкиваемся с использованием version scripts
апстримом, приходится патчить мейкфайлы либо вставлять в вызов make в спекфайле
неочевидные добавки типа LIBTOOL_EXPORT_OPTIONS=symver.map или что-то
аналогичное. Не слишком удобно.
Предлагается создать в нашем libtool некий вариант &quot;точки входа&quot;, который бы
позволял при наличии привнесённых version script&apos;ов использовать их, а не
генерировать заглушки, как сейчас. Один из вариантов изменения воспоследует.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58948</commentid>
    <comment_count>1</comment_count>
      <attachid>2306</attachid>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2007-12-04 09:30:38 +0300</bug_when>
    <thetext>Created attachment 2306
Allow custom version scripts

То же самое скоро будет у меня в git.alt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59014</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2007-12-05 14:09:52 +0300</bug_when>
    <thetext>С предлагаемым патчем не всё хорошо, если в каком-то пакете обнаружится
&quot;забытый&quot; или намеренно положенный $libname.ver как раз в том месте, в котором
патч ожидает увидеть. Возможно, стоит назвать подкладываемые файлы
$libname-custom.ver, например, и при копировании в .libs менять имя.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59319</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2007-12-11 00:41:11 +0300</bug_when>
    <thetext>(In reply to comment #2)
&gt; С предлагаемым патчем не всё хорошо, если в каком-то пакете обнаружится
&gt; &quot;забытый&quot; или намеренно положенный $libname.ver как раз в том месте, в котором
&gt; патч ожидает увидеть.

Именно.  Поскольку в оригинале этот файл всегда создаётся заново, затирая
одноимённый файл, менять это поведение рискованно.
Наверное, лучше завести ещё какой-нибудь переключатель в libtool, с помощью
которого можно было бы управлять этим поведением (создавать заново или
пропускать), по умолчанию оставив нынешнее поведение.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60992</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-01-13 21:12:44 +0300</bug_when>
    <thetext>Какие будут мнения?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61816</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-01-24 09:01:58 +0300</bug_when>
    <thetext>Смотрю, какой переключатель можно придумать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>62387</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-01-31 17:23:28 +0300</bug_when>
    <thetext>Так и не придумал, как продать это в апстрим. Исправленный патч скоро выложу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65033</commentid>
    <comment_count>7</comment_count>
      <attachid>2473</attachid>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-03-04 14:08:44 +0300</bug_when>
    <thetext>Created attachment 2473
Обновлённый патч

Я решил, что трудно придумать что-то лучше, чем суффикс -altlinux, для охраны
наших version scripts от причуд апстримов. Предлагаю на этом и остановиться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65055</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-03-05 04:37:15 +0300</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=2473) [edit]
&gt; Обновлённый патч

Этот патч меняет поведение libtool по умолчанию, затирая
$output_objdir/$libname.ver, чего нынешний libtool почему-то не делает.
Стоит ли так делать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65056</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2008-03-05 05:21:18 +0300</bug_when>
    <thetext>Не делает?
_LT_AC_TAGVAR(archive_expsym_cmds, $1)=&apos;$echo &quot;{ global:&quot; &gt;
$output_objdir/$libname.ver~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65288</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-03-08 03:37:42 +0300</bug_when>
    <thetext>(In reply to comment #9)
&gt; Не делает?

Делает.  Я не туда посмотрел.

Я сделал однострочную версию этого патча и приложил её в 1.5.26-alt2

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2306</attachid>
            <date>2007-12-04 09:30:38 +0300</date>
            <delta_ts>2008-03-04 14:08:44 +0300</delta_ts>
            <desc>Allow custom version scripts</desc>
            <filename>libtool-1.5.22-alt-custom-version-scripts.patch</filename>
            <type>text/plain</type>
            <size>1031</size>
            <attacher name="Alexey Rusakov">ktirf</attacher>
            
              <data encoding="base64">LS0tIGxpYnRvb2wvbGlidG9vbC5tNAkyMDA3LTEyLTA0IDAxOjEwOjQzICswMzAwCisrKyBsaWJ0
b29sL2xpYnRvb2wubTQuZml4ZWQJMjAwNy0xMi0wNCAwMjoyNDo1NyArMDMwMApAQCAtNTU1MCw5
ICs1NTUwLDEzIEBACiAJX0xUX0FDX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFy
ZWQnIiR0bXBfYWRkZmxhZyInICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3ds
fS1zb25hbWUgJHdsJHNvbmFtZSAtbyAkbGliJwogCiAJaWYgdGVzdCAkc3VwcG9ydHNfYW5vbl92
ZXJzaW9uaW5nID0geWVzOyB0aGVuCi0JICBfTFRfQUNfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2Nt
ZHMsICQxKT0nJGVjaG8gInsgZ2xvYmFsOiIgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+
Ci0gIGNhdCAkZXhwb3J0X3N5bWJvbHMgfCBzZWQgLWUgInMvXCguKlwpL1wxOy8iID4+ICRvdXRw
dXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KLSAgJGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1
dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgX0xUX0FDX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9j
bWRzLCAkMSk9J2lmIHRlc3QgLXIgJGxpYm5hbWUudmVyOyB0aGVuCisgIGNwICRsaWJuYW1lLnZl
ciAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXI7CisgIGVsc2UKKyAgJGVjaG8gInsgZ2xvYmFs
OiIgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXI7CisgIGNhdCAkZXhwb3J0X3N5bWJvbHMg
fCBzZWQgLWUgInMvXCguKlwpL1wxOy8iID4+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnZlcjsK
KyAgJGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUudmVyOwor
ICBmaTsKIAkgICRDQyAtc2hhcmVkJyIkdG1wX2FkZGZsYWciJyAkbGlib2JqcyAkZGVwbGlicyAk
Y29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUgJHt3bH0tdmVyc2lvbi1zY3Jp
cHQgJHt3bH0kb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXIgLW8gJGxpYicKIAlmaQogICAgICAg
ZWxzZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2473</attachid>
            <date>2008-03-04 14:08:44 +0300</date>
            <delta_ts>2008-03-04 14:08:44 +0300</delta_ts>
            <desc>Обновлённый патч</desc>
            <filename>libtool-1.5.22-alt-custom-version-scripts.patch</filename>
            <type>text/plain</type>
            <size>1049</size>
            <attacher name="Alexey Rusakov">ktirf</attacher>
            
              <data encoding="base64">LS0tIGxpYnRvb2wvbGlidG9vbC5tNAkyMDA3LTEyLTA0IDAxOjEwOjQzICswMzAwCisrKyBsaWJ0
b29sL2xpYnRvb2wubTQuZml4ZWQJMjAwNy0xMi0wNCAwMjoyNDo1NyArMDMwMApAQCAtNTU1MCw5
ICs1NTUwLDEzIEBACiAJX0xUX0FDX1RBR1ZBUihhcmNoaXZlX2NtZHMsICQxKT0nJENDIC1zaGFy
ZWQnIiR0bXBfYWRkZmxhZyInICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAke3ds
fS1zb25hbWUgJHdsJHNvbmFtZSAtbyAkbGliJwogCiAJaWYgdGVzdCAkc3VwcG9ydHNfYW5vbl92
ZXJzaW9uaW5nID0geWVzOyB0aGVuCi0JICBfTFRfQUNfVEFHVkFSKGFyY2hpdmVfZXhwc3ltX2Nt
ZHMsICQxKT0nJGVjaG8gInsgZ2xvYmFsOiIgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXJ+
Ci0gIGNhdCAkZXhwb3J0X3N5bWJvbHMgfCBzZWQgLWUgInMvXCguKlwpL1wxOy8iID4+ICRvdXRw
dXRfb2JqZGlyLyRsaWJuYW1lLnZlcn4KLSAgJGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1
dF9vYmpkaXIvJGxpYm5hbWUudmVyfgorCSAgX0xUX0FDX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9j
bWRzLCAkMSk9J2lmIHRlc3QgLXIgJGxpYm5hbWUtYWx0bGludXgudmVyOyB0aGVuCisgIGNwICRs
aWJuYW1lLWFsdGxpbnV4LnZlciAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXI7CisgIGVsc2UK
KyAgJGVjaG8gInsgZ2xvYmFsOiIgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXI7CisgIGNh
dCAkZXhwb3J0X3N5bWJvbHMgfCBzZWQgLWUgInMvXCguKlwpL1wxOy8iID4+ICRvdXRwdXRfb2Jq
ZGlyLyRsaWJuYW1lLnZlcjsKKyAgJGVjaG8gImxvY2FsOiAqOyB9OyIgPj4gJG91dHB1dF9vYmpk
aXIvJGxpYm5hbWUudmVyOworICBmaTsKIAkgICRDQyAtc2hhcmVkJyIkdG1wX2FkZGZsYWciJyAk
bGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR3bCRzb25hbWUg
JHt3bH0tdmVyc2lvbi1zY3JpcHQgJHt3bH0kb3V0cHV0X29iamRpci8kbGlibmFtZS52ZXIgLW8g
JGxpYicKIAlmaQogICAgICAgZWxzZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>