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

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

    <bug>
          <bug_id>47318</bug_id>
          
          <creation_ts>2023-08-22 14:25:06 +0300</creation_ts>
          <short_desc>Пакет libqt6-svg не включает в себя плагины</short_desc>
          <delta_ts>2024-08-14 17:04:41 +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>libqt6-svg</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>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Антон Мидюков">antohami</reporter>
          <assigned_to name="Sergey V Turchin">zerg</assigned_to>
          <cc>arbars</cc>
    
    <cc>iv</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>231781</commentid>
    <comment_count>0</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-08-22 14:25:06 +0300</bug_when>
    <thetext>Пакет libqt6-svg не включает в себя плагины, они в пакете qt6-svg. Если qt6-svg не установлен в приложениях не отображаются иконки. Проблема состоит в том, что у приложений не возникает зависимость на qt6-svg. Прописывать в спеке у каждого пакета с приложением на qt6 зависимость мне не кажется хорошей идеей.
Вот libqt5-svg включает в себя плагины, и проблемы такой нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232244</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-08-31 14:15:27 +0300</bug_when>
    <thetext>Я решил, что в Qt6 это будет хорошей идеей. Т.е. все qt6-пакеты так паковать буду.

Упаковка &quot;libqt5-чтото&quot; и добавления туда &quot;Provides: qt5-чтото&quot; себя не оправдала. Зависимость всё равно ставили _вручную_ на &quot;libqt5-чтото&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235367</commentid>
    <comment_count>2</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-10-23 09:13:07 +0300</bug_when>
    <thetext>Прописывать в спеке у каждого пакета с приложением на qt6 эту зависимость хорошая идея?
Не понимаю, при чём тут это:

(Ответ для Sergey V Turchin на комментарий #1)
&gt; Упаковка &quot;libqt5-чтото&quot; и добавления туда &quot;Provides: qt5-чтото&quot; себя не
&gt; оправдала. Зависимость всё равно ставили _вручную_ на &quot;libqt5-чтото&quot;.

?

Почему не сделать qt6-svg пакет, который будет провайдить libqt6-svg?
libqt6-svg по зависимостям устанавливается, а qt6-svg не устанавливается.
Своим решением не исправлять проблему вынуждаешь ставить зависимость вручную на qt6-svg у всё возрастающего множества пакетов, зависящих от libqt6-svg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235383</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 11:17:40 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #2)
&gt; Почему не сделать qt6-svg пакет, который будет провайдить libqt6-svg?
Потому, что на qt5-sql-sqlite никто зависимостей не ставил.
Только что ходил и исправлял пакеты, которые наставили зависимстей на qt5-sql-sqlite(подпакет akonadi).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235384</commentid>
    <comment_count>4</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-10-23 11:19:28 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #3)
&gt; (Ответ для Антон Мидюков на комментарий #2)
&gt; &gt; Почему не сделать qt6-svg пакет, который будет провайдить libqt6-svg?
&gt; Потому, что на qt5-sql-sqlite никто зависимостей не ставил.
&gt; Только что ходил и исправлял пакеты, которые наставили зависимстей на
&gt; qt5-sql-sqlite(подпакет akonadi).

Я опять не понимаю связь одного с другим.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235397</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 12:21:55 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #3)
&gt; Только что ходил и исправлял пакеты, которые наставили зависимстей на
&gt; qt5-sql-sqlite(подпакет akonadi).
Ошибся. qt5-sql-sqlite3 -- подпакет из akonadi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235398</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 12:22:28 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #4)
&gt; Я опять не понимаю связь одного с другим.
То же самое, только имена другие.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235413</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 14:32:46 +0300</bug_when>
    <thetext>Заново перепишу:
Только что ходил и исправлял пакеты, которые наставили зависимостей на qt5-sql-sqlite3(подпакет akonadi), хотя надо qt5-sql-sqlite, который внутри libqt5-sql и провайдится им.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235414</commentid>
    <comment_count>8</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-10-23 14:36:54 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #7)
&gt; Заново перепишу:
&gt; Только что ходил и исправлял пакеты, которые наставили зависимостей на
&gt; qt5-sql-sqlite3(подпакет akonadi), хотя надо qt5-sql-sqlite, который внутри
&gt; libqt5-sql и провайдится им.

А что есть пакет qt6-svg3?
Есть другое решение проблемы, перенести плагины в libqt6-svg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235415</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 14:38:13 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #2)
&gt; Прописывать в спеке у каждого пакета с приложением на qt6 эту зависимость
&gt; хорошая идея?
Таких хороших идей много(см. пакет jami) и я не могу их всех запихать в библиотеки.
Иногда бывает даже так, что непонятно, к какой библиотеке их припаковать.

P.S.
Если QML, то можно взять пакет rpm-build-qml6, которым можно худо-бедно вычислить зависимости, но его лучше выключить перед конечной упаковкой и переписать вручную.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235416</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 14:39:33 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #8)
&gt; А что есть пакет qt6-svg3?
Приманка для мантейнера с головной болью.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235417</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 14:41:30 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #8)
&gt; Есть другое решение проблемы, перенести плагины в libqt6-svg.
Погоди! Я думал, что ты это и предлагал.
Не! Как раз это я и не хочу.
Тогда ещё раз сформулируй, пожалуйста.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235419</commentid>
    <comment_count>12</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-10-23 14:50:40 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #11)
&gt; (Ответ для Антон Мидюков на комментарий #8)
&gt; &gt; Есть другое решение проблемы, перенести плагины в libqt6-svg.
&gt; Погоди! Я думал, что ты это и предлагал.
&gt; Не! Как раз это я и не хочу.
&gt; Тогда ещё раз сформулируй, пожалуйста.

Тоже самое, но наоборот. Перенести библиотеки в qt6-svg и провайдить libqt6-svg пакетом qt6-svg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235426</commentid>
    <comment_count>13</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 15:15:39 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #12)
&gt; Перенести библиотеки в qt6-svg и провайдить libqt6-svg пакетом qt6-svg.
Ой! До такого я бы и догадаться не смог. Это совсем не вариант.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235427</commentid>
    <comment_count>14</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-10-23 15:21:21 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #13)
&gt; (Ответ для Антон Мидюков на комментарий #12)
&gt; &gt; Перенести библиотеки в qt6-svg и провайдить libqt6-svg пакетом qt6-svg.
&gt; Ой! До такого я бы и догадаться не смог. Это совсем не вариант.

Тогда нужно научить rpmbuild находить зависимости на плагины.
У приложений нет иконок, пока не установишь qt6-svg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235432</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 16:09:59 +0300</bug_when>
    <thetext>Я не вижу проблемы ставить зависимость на qt6-svg. Всё равно в большинстве случаев нужно искать, чего ещё не хватает пакету.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235436</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 16:29:47 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #15)
&gt; Я не вижу проблемы ставить зависимость на qt6-svg. Всё равно в большинстве
&gt; случаев нужно искать, чего ещё не хватает пакету.
Например bug#47112 -- фиг куда запакуешь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235439</commentid>
    <comment_count>17</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2023-10-23 16:39:28 +0300</bug_when>
    <thetext>&gt; Пакет libqt6-svg не включает в себя плагины, они в пакете qt6-svg. 

Мне кажется, тут стоило пояснить.

Плагины из пакета qt6-svg -- это не плагины к libqt6-svg, это плагины к основному Qt 6, добавляющие в него поддержку иконок и просто картинок (QImage и все дела) в формате SVG.

Это значит, что приложению не обязательно линковаться с libQt6Svg.so для того, чтобы эти пакеты были ему полезны. Я тут потыкал простейший пример, использующий QImage и QLabel, чтобы показать картинку из файла.

$ ldd qimage | grep -i qt
        libQt6Widgets.so.6 =&gt; /usr/lib64/libQt6Widgets.so.6 (0x00007f6d71a00000)
        libQt6Gui.so.6 =&gt; /usr/lib64/libQt6Gui.so.6 (0x00007f6d71200000)
        libQt6Core.so.6 =&gt; /usr/lib64/libQt6Core.so.6 (0x00007f6d70c00000)
        libQt6DBus.so.6 =&gt; /usr/lib64/libQt6DBus.so.6 (0x00007f6d702d8000)

Установка qt6-svg добавляет даже такому примеру (сверх)способность загружать и показывать картинки в формате svg.

То есть, если в приложении есть иконки в SVG, то ему нужна зависимость на qt6-svg, а если нет, то не нужна; а линкуется ли в этом приложении что-то с libQt6Svg.so -- дело ортогональное.

Так что, учитывая распространённость иконок в SVG, скорее нужна зависимость libqt6-gui (или где там теперь qimage) от qt6-svg, но это кажется слишком жестко.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235445</commentid>
    <comment_count>18</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-23 17:07:59 +0300</bug_when>
    <thetext>Я ж говорю, qt6-imageformats -- пример, который просто так никуда не прилепишь и не припакуешь.

В каком-нибудь kde6-runtime я конечно поставлю зависимость, как сейчас в kde5-runtime.

И qt6-sql-* пихать все в libqt6-sql так же слишком жирно.

P.S.
Для qt5-sql-sqlite у меня есть исключение, но оно обернулось тем, что некоторые навешали зависимостей на неправильный qt5-sql-sqlite3(в сизифе удалил недавно).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235450</commentid>
    <comment_count>19</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-10-23 19:21:23 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #18)
&gt; Я ж говорю, qt6-imageformats -- пример, который просто так никуда не
&gt; прилепишь и не припакуешь.
&gt; 
&gt; В каком-нибудь kde6-runtime я конечно поставлю зависимость, как сейчас в
&gt; kde5-runtime.
&gt; 

А почему бы не сделать qt6-runtime?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235473</commentid>
    <comment_count>20</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-10-24 10:55:48 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #19)
&gt; А почему бы не сделать qt6-runtime?
Разве что, отдельный пакет городить не хочется.
Можно будет его присоседить к kde6-runtime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238498</commentid>
    <comment_count>21</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2023-12-06 10:44:50 +0300</bug_when>
    <thetext>Прошу убрать у libqt6-svg:
Provides: %name = %EVR

Думаю, из-за этого у пакетов и не возникает зависимость на qt6-svg.
Кроме того из-за этого было бессмысленно делать у пакетов и:
Requires: qt6-svg

Так что и ошибку обойти никак нельзя сейчас.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238500</commentid>
    <comment_count>22</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-12-06 10:54:07 +0300</bug_when>
    <thetext>Ой, блин. Ща.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238507</commentid>
    <comment_count>23</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2023-12-06 11:23:09 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #19)
&gt; А почему бы не сделать qt6-runtime?
Пока что я у qt6-imageformats поставил зависимость на qt6-svg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238723</commentid>
    <comment_count>24</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2023-12-08 18:47:54 +0300</bug_when>
    <thetext>qt6-svg-6.6.1-alt2 -&gt; sisyphus:

 Wed Dec 06 2023 Sergey V Turchin &lt;zerg@altlinux&gt; 6.6.1-alt2
 - fix provides (closes: 47318)
 Tue Dec 05 2023 Sergey V Turchin &lt;zerg@altlinux&gt; 6.6.1-alt1
 - new version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250044</commentid>
    <comment_count>25</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2024-08-14 17:04:41 +0300</bug_when>
    <thetext>В общем, я наигрался и в следующей версии буду запихивать всё подряд в пакеты с библиотеками. Нигде никаких изменений не потребуется.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>