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

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

    <bug>
          <bug_id>44811</bug_id>
          
          <creation_ts>2023-01-05 13:00:05 +0300</creation_ts>
          <short_desc>Please build and package --with-abi-version=6 libraries</short_desc>
          <delta_ts>2023-08-23 10:35:10 +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>ncurses</component>
          <version>unstable</version>
          <rep_platform>x86_64</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>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46625</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Zhukharev">ancieg</reporter>
          <assigned_to name="Fr. Br. George">george</assigned_to>
          <cc>george</cc>
    
    <cc>ldv</cc>
    
    <cc>n.strelkov</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>219712</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2023-01-05 13:00:05 +0300</bug_when>
    <thetext>В Sisyphus версия пакета 6.3.20220618-alt1 предоставляет библиотеки:

ancieg@dell ~ Σ rpm -ql libtinfo
/lib64/libtinfo.so.5
/lib64/libtinfo.so.5.9

Хотелось бы видеть (по аналогии с Debian) разбивку на две библиотеки.
В Debian 11 Bullseye это выглядит так (версия пакета: 6.2+20201114-2 - кстати,
версия более старая):

libtinfo5: /lib/x86_64-linux-gnu/libtinfo.so.5
           /lib/x86_64-linux-gnu/libtinfo.so.5.9

libtinfo6: /lib/x86_64-linux-gnu/libtinfo.so.6
           /lib/x86_64-linux-gnu/libtinfo.so.6.2

при этом devel-пакет у них один: libtinfo-dev.

--------------------------------------------------------------------------------

Вообще, у них в принципе ncurses разбита на ncurses5 и ncurses6...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219716</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2023-01-05 15:35:47 +0300</bug_when>
    <thetext>(In reply to Anton Zhukharev from comment #0)
&gt; В Sisyphus версия пакета 6.3.20220618-alt1 предоставляет библиотеки:
&gt; 
&gt; ancieg@dell ~ Σ rpm -ql libtinfo
&gt; /lib64/libtinfo.so.5
&gt; /lib64/libtinfo.so.5.9

Это одна библиотека.

&gt; Хотелось бы видеть (по аналогии с Debian) разбивку на две библиотеки.
&gt; В Debian 11 Bullseye это выглядит так (версия пакета: 6.2+20201114-2 -
&gt; кстати,
&gt; версия более старая):
&gt; 
&gt; libtinfo5: /lib/x86_64-linux-gnu/libtinfo.so.5
&gt;            /lib/x86_64-linux-gnu/libtinfo.so.5.9
&gt; 
&gt; libtinfo6: /lib/x86_64-linux-gnu/libtinfo.so.6
&gt;            /lib/x86_64-linux-gnu/libtinfo.so.6.2

А чем они отличаются, и, главное, зачем нам две библиотеки вместо одной?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219718</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2023-01-05 20:41:39 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #1)
&gt; А чем они отличаются, и, главное, зачем нам две библиотеки вместо одной?
Честно говоря: понятия не имею чем они отличаются.

Но из-за того, что разработчики некоторых программ (конкретнее: свежих игр
для проприетарного Steam), видимо, из-за своей недальновидности в UNIX-системах
линкуют свои продукты именно с libtinfo.so.6 (не знаю зачем, а как вариант:
просто потому что ничего кроме Debian и Ubuntu не используют), и в них
по-умолчанию используется именно libtinfo.so.6 (но я не уверен - Debian или
Ubuntu не пользуюсь), то и возникает такая проблема.

Вообще, конкретно для этих игр (если интересно с какими столкнулся я (и не
только я - потому и написал) то вот: Victoria 3, Crusader Kings 3) - в системах
ALT создание символической ссылки libtinfo.so.6 -&gt; libtinfo.so.5.9 решает
возникающую проблему - но неизвестно насколько такое решение верное и надёжное.

Возможно, что временно можно добавить бинарный пакет, который содержит
эту символическую ссылку - до первых проблем, и если что-то будет не так,
то уже и думать что делать (если проблемы, конечно, вообще возникнут).

Считаю, что мы не хуже всяких там Debian&apos;ов и можем себе позволить себе
решить эту проблему (хоть и совершенно не масштабную), создав бинарный
пакет для совместимости ради того, чтобы &quot;работало из коробки&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227222</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolay Strelkov">n.strelkov</who>
    <bug_when>2023-06-07 16:07:03 +0300</bug_when>
    <thetext>Проблема актуальна если судить по форуму https://forum.altlinux.org/index.php?topic=47638.msg382331#msg382331 .

В Debian 11 пакетов два

* libtinfo.so.5 содержится в libtinfo5 (см. https://packages.debian.org/search?suite=bullseye&amp;arch=amd64&amp;mode=path&amp;searchon=contents&amp;keywords=libtinfo.so.5 )
* libtinfo.so.6 содержится в libtinfo6 (см. https://packages.debian.org/search?suite=bullseye&amp;arch=amd64&amp;mode=path&amp;searchon=contents&amp;keywords=libtinfo.so.6 )

Наверное и в ALT нужно сделать также.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227235</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2023-06-07 17:03:10 +0300</bug_when>
    <thetext>(In reply to Nikolay Strelkov from comment #3)
&gt; Проблема актуальна если судить по форуму
&gt; https://forum.altlinux.org/index.php?topic=47638.msg382331#msg382331 .
&gt; 
&gt; В Debian 11 пакетов два
&gt; 
&gt; * libtinfo.so.5 содержится в libtinfo5 (см.
&gt; https://packages.debian.org/
&gt; search?suite=bullseye&amp;arch=amd64&amp;mode=path&amp;searchon=contents&amp;keywords=libtinf
&gt; o.so.5 )
&gt; * libtinfo.so.6 содержится в libtinfo6 (см.
&gt; https://packages.debian.org/
&gt; search?suite=bullseye&amp;arch=amd64&amp;mode=path&amp;searchon=contents&amp;keywords=libtinf
&gt; o.so.6 )
&gt; 
&gt; Наверное и в ALT нужно сделать также.

А чем эти библиотеки отличаются внутри?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227248</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolay Strelkov">n.strelkov</who>
    <bug_when>2023-06-07 19:27:55 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #4)
&gt; (In reply to Nikolay Strelkov from comment #3)
&gt; [...]
&gt; А чем эти библиотеки отличаются внутри?

Судя по 
https://packages.debian.org/source/bullseye/ncurses, https://packages.debian.org/bullseye/amd64/libtinfo5/filelist, https://packages.debian.org/bullseye/amd64/libtinfo6/filelist

5-я и 6-я версия собраны отдельно как уже выше писал Антон.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227249</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2023-06-07 19:30:36 +0300</bug_when>
    <thetext>(In reply to Nikolay Strelkov from comment #5)
&gt; (In reply to Dmitry V. Levin from comment #4)
&gt; &gt; (In reply to Nikolay Strelkov from comment #3)
&gt; &gt; [...]
&gt; &gt; А чем эти библиотеки отличаются внутри?
&gt; 
&gt; Судя по 
&gt; https://packages.debian.org/source/bullseye/ncurses,
&gt; https://packages.debian.org/bullseye/amd64/libtinfo5/filelist,
&gt; https://packages.debian.org/bullseye/amd64/libtinfo6/filelist
&gt; 
&gt; 5-я и 6-я версия собраны отдельно как уже выше писал Антон.

Там разные версии исходного кода?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227251</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolay Strelkov">n.strelkov</who>
    <bug_when>2023-06-07 19:41:08 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #6)
&gt; (In reply to Nikolay Strelkov from comment #5)
&gt; &gt; (In reply to Dmitry V. Levin from comment #4)
&gt; &gt; &gt; (In reply to Nikolay Strelkov from comment #3)
&gt; &gt; &gt; [...]
&gt; &gt; &gt; А чем эти библиотеки отличаются внутри?
&gt; &gt; 
&gt; &gt; Судя по 
&gt; &gt; https://packages.debian.org/source/bullseye/ncurses,
&gt; &gt; https://packages.debian.org/bullseye/amd64/libtinfo5/filelist,
&gt; &gt; https://packages.debian.org/bullseye/amd64/libtinfo6/filelist
&gt; &gt; 
&gt; &gt; 5-я и 6-я версия собраны отдельно как уже выше писал Антон.
&gt; 
&gt; Там разные версии исходного кода?

Код может быть и один, но симлинков там явно не видно - см. https://salsa.debian.org/debian/ncurses/-/blob/master/debian/rules#L37 в отличие от Росы ( https://abf.io/import/libtinfo/blob/rosa2021.1/libtinfo.spec#lc-46 ) и OpenMandriva ( https://github.com/OpenMandrivaAssociation/libtinfo/blob/master/libtinfo.spec#L47 ).

Подумайте, как правильно сделать libtinfo.so.6 доступным в Альте.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227252</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2023-06-07 20:02:28 +0300</bug_when>
    <thetext>(In reply to Nikolay Strelkov from comment #7)
&gt; Подумайте, как правильно сделать libtinfo.so.6 доступным в Альте.

В первую очередь тем, кому понадобилась libtinfo.so.6, следует внятно сформулировать, что это такое, и чем она должна отличаться от libtinfo.so.5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227261</commentid>
    <comment_count>9</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2023-06-07 23:02:44 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #8)
&gt; (In reply to Nikolay Strelkov from comment #7)
&gt; &gt; Подумайте, как правильно сделать libtinfo.so.6 доступным в Альте.
&gt; 
&gt; В первую очередь тем, кому понадобилась libtinfo.so.6, следует внятно
&gt; сформулировать, что это такое, и чем она должна отличаться от libtinfo.so.5.
Судя по всему, это более новая версия (и ABI где-то, видимо - по стандартной схеме, - отличается).

Более того, считаю, что эта ошибка - дубликат ошибки #44631.

В спеке в строках 359 и 396 захардкодена версия 5: https://git.altlinux.org/gears/n/ncurses.git?p=ncurses.git;a=blob;f=ncurses.spec;h=29ff531ae7b8cf626cb4febd3656d3fecb93f0d2;hb=c9c424b64acdc23ade16f3ebfaed6b674c6e540e#l359

В Fedora 6-ой версии пакуют (мажорная версия исходников ncurses соответствует версии собираемого ABI; спек из апстрима): https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blob;f=package/ncurses.spec;h=212cbc80f2ea60dff83580e38c71a187f9869e6e;hb=38586db6a67a76451d06b129676b8ec6727c9521#l88

Думаю, что смело можно ставить вопрос: а почему у нас вообще 5.9, а не 6.3 (несоответствие версий; опять таки к ошибке #44631)? В таком случае и две библиотеки делать не нужно - оставить одну с версией ABI=6.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227263</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2023-06-07 23:21:16 +0300</bug_when>
    <thetext>FWiW, в Федоре были вынуждены собирать оба набора библиотек:
https://bugzilla.redhat.com/show_bug.cgi?id=2129865</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227264</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolay Strelkov">n.strelkov</who>
    <bug_when>2023-06-07 23:50:34 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #10)
&gt; FWiW, в Федоре были вынуждены собирать оба набора библиотек:
&gt; https://bugzilla.redhat.com/show_bug.cgi?id=2129865

Вот и в Debian обе версии сосуществуют.
Ниже список обратных зависимостей из 11 стабильного и 12 тестируемого:

```
# lsb_release -cs
bullseye
# apt-cache rdepends libtinfo5 | grep &quot;^  &quot; | wc -l
5
# apt-cache rdepends libtinfo6 | grep &quot;^  &quot; | wc -l
606
```

```
# lsb_release -cs
No LSB modules are available.
bookworm
# apt-cache rdepends libtinfo5 | grep &quot;^  &quot; | wc -l
5
# apt-cache rdepends libtinfo6 | grep &quot;^  &quot; | wc -l
613
# 
```

Т.е. 5 пакетам Debian нужна libtinfo5, а остальному большинству (606/613) libtinfo6.

---

Стимовские бинарные игрушки типа Crusader Kings 3 ищут libtinfo.so.6, которого пока нет в ALT ни в виде файла, ни в виде символической ссылки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231814</commentid>
    <comment_count>12</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2023-08-23 10:35:10 +0300</bug_when>
    <thetext>ncurses-6.3.20220618-alt2 -&gt; sisyphus:

 Thu Jul 27 2023 Fr. Br. George &lt;george@altlinux&gt; 6.3.20220618-alt2
 - Separate API5 and API6 versions (Closes: #44811)
 - Provide semi-automatic package spec generators</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>