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

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

    <bug>
          <bug_id>39033</bug_id>
          
          <creation_ts>2020-10-04 16:43:37 +0300</creation_ts>
          <short_desc>Разбить библиотеку ImageMagick на подпакеты для уменьшения количества устанавливаемых пакетов на сервера</short_desc>
          <delta_ts>2023-06-21 18:15:46 +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>libImageMagick6.6</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></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>
          <dependson>34185</dependson>
          <blocked>39214</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Lipatov">lav</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>darktemplaralt</cc>
    
    <cc>evg</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
    
    <cc>vseleznv</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>192994</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-10-04 16:43:37 +0300</bug_when>
    <thetext>Раз уж захотели отдельным багом. По мотивам https://bugzilla.altlinux.org/show_bug.cgi?id=34185#c4


Библиотеки ImageMagick могут использовать на (веб)сервере, например, расширением php7-imagick, при установке которого приезжает libX11.

Конечно, в Ubuntu я вообще не нашёл php7-imagick, но WordPress зачем-то рекомендует его ставить.

--without-x	don&apos;t use the X Window System.

By default, ImageMagick uses the X11 delegate libraries if they are available. When --without-x is specified, use of X11 is disabled. The display, animate, and import sub-commands are not included. The remaining sub-commands have reduced functionality such as no access to X11 fonts (consider using Postscript or TrueType fonts instead).

Разве технически невозможно сделать библиотеки, собранные с X11 и без X11, в двух конфликтующих пакетах?

Оставлю здесь некоторые пакеты, которые собираются с ImageMagick а потом ставятся на сервер, и X11 им там никаким боком:
freeswitch	libImageMagick-devel	6.9.11.28-alt1
gem-rmagick	libImageMagick-devel	6.9.11.28-alt1
pfstools	libImageMagick-devel	6.9.11.28-alt1
php7-imagick	libImageMagick-devel	6.9.11.28-alt1
pstoedit	libImageMagick-devel	6.9.11.28-alt1
python3-module-pythonmagick	libImageMagick-devel	6.9.11.28-alt1
vips	libImageMagick-devel	6.9.11.28-alt1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192995</commentid>
    <comment_count>1</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-10-04 16:50:45 +0300</bug_when>
    <thetext>Удаление libX11 из hasher, куда был установлен php7-imagick:

# apt-get remove libX11
Reading Package Lists...
Building Dependency Tree...
The following packages will be REMOVED:
  libEGL libEGL-mesa libGL libGLX libGLX-mesa libImageMagick6.6 libX11 libXcomposite libXcursor libXdamage libXext libXfixes libXft libXi libXinerama libXpm libXrandr libXrender libXt libXxf86vm libcairo libgd3 libgraphviz libgtk+2 liblasi libpango
  librsvg php7-imagick
0 upgraded, 0 newly installed, 28 removed and 0 not upgraded.
Need to get 0B of archives.
After unpacking 30.3MB disk space will be freed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193743</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-03 16:00:42 +0300</bug_when>
    <thetext>к сожалению, невозможно технически сделать конфликтующие библиотеки, предоставляющие одинаковый интерфейс.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193755</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-03 23:47:46 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #2)
&gt; к сожалению, невозможно технически сделать конфликтующие библиотеки,
&gt; предоставляющие одинаковый интерфейс.
Не очень понял, в чём проблема. Просто собирается несколько вариантов библиотеки с разными параметрами и пакуется в разные пакеты. Конфликтующими будут не библиотеки, а пакеты с ними, и можно будет выбрать, какой устанавливать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193758</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-04 08:07:46 +0300</bug_when>
    <thetext>Т.е. - клиентов тоже собирать несколько вариантов ?
Я подумаю над этой идеей.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193759</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-04 08:29:22 +0300</bug_when>
    <thetext>посмотрел внимательнее, пока не придумал способа собрать параллельно библиотеку так, что бы её имя было каким-то другим. 

В других дистрибутивах предполагаемой схемы упаковки тоже не реализовано и, как правило, все собирают с иксами. Думаю, что оптимально было бы уговорить на такой функционал апстрим.

Задача просматривается такая - возможность одновременной работы и установки в системе библиотек ImageMagick, слинкованных с X11 и без.

Добавить флаг для сборки без иксов можно, как предложено в задании 260912, но большого смысла не видно - всех клиентов этой библиотеки придётся пересобирать для сборки в таком варианте.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193764</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-04 13:32:14 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #5)
&gt; посмотрел внимательнее, пока не придумал способа собрать параллельно
&gt; библиотеку так, что бы её имя было каким-то другим. 
&gt; 
&gt; В других дистрибутивах предполагаемой схемы упаковки тоже не реализовано и,
&gt; как правило, все собирают с иксами. Думаю, что оптимально было бы уговорить
&gt; на такой функционал апстрим.
Им недостаёт там самой малости: загрузки libX11 через dl. Я не смотрел код, может быть они уже и сделали.

&gt; Задача просматривается такая - возможность одновременной работы и установки
&gt; в системе библиотек ImageMagick, слинкованных с X11 и без.
Нужна возможность одновременной сборки, а потом установки одного из вариантов.

&gt; Добавить флаг для сборки без иксов можно, как предложено в задании 260912,
&gt; но большого смысла не видно - всех клиентов этой библиотеки придётся
&gt; пересобирать для сборки в таком варианте.
Я поясню, в чём заблуждение: ABI библиотеки не меняется от того, собрана она с -with-x или без.
Поэтому страдать о пересборке не нужно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193779</commentid>
    <comment_count>7</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-05 08:07:17 +0300</bug_when>
    <thetext>Одновременное существование libImageMagick с разными опциями сборки в составе репозитория приведёт к непредсказуемому результату при попытке поставить пакет &apos;libMagickCore-6.Q16.so.6()(64bit)&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193836</commentid>
    <comment_count>8</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-06 16:10:35 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #7)
&gt; Одновременное существование libImageMagick с разными опциями сборки в
&gt; составе репозитория приведёт к непредсказуемому результату при попытке
&gt; поставить пакет &apos;libMagickCore-6.Q16.so.6()(64bit)&apos;.
Это глупость, результат будет предсказуем: будет установлен пакет с такой библиотекой.
Если кому-то нужен более конкретный пакет, он может указать зависимость на пакет, а не на библиотеку.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193838</commentid>
    <comment_count>9</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-06 18:02:27 +0300</bug_when>
    <thetext>нет, к сожалению обсуждение в devel идёт по правильному пути и да, результат будет действительно не предсказуем.

Если бы у таких пакетов, провайдящих разные библиотеки, можно было задавать веса для автоматического выбора, то можно было бы попробовать.

и сравнение abi Дима правильно предлагает сделать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193839</commentid>
    <comment_count>10</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-06 18:20:39 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #9)
&gt; нет, к сожалению обсуждение в devel идёт по правильному пути и да, результат
&gt; будет действительно не предсказуем.
Ну тебе остаётся выбор:
- забыть про эту багу
- убрать @everybody из ACL
- ждать пакета ImageMagick с другим названием</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193841</commentid>
    <comment_count>11</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-06 19:30:49 +0300</bug_when>
    <thetext>Я пока что снял everybody с пакета, что бы не возникло лишних вопросов, хотя последнее твоё изменения меня в принципе устраивает и его можно выложить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193843</commentid>
    <comment_count>12</comment_count>
    <who name="Vladimir D. Seleznev">vseleznv</who>
    <bug_when>2020-11-06 20:06:11 +0300</bug_when>
    <thetext>Не могу пройти мимо: разве наличие libX11 на сервере -- это такая большая проблема? 4 дополнительные библиотеки, суммарный размер которых -- 3.3 МБ.

$ rpm -qR libX11 
filesystem &gt; 2.3.1-alt1:z
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.26)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.2)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libxcb.so.1()(64bit) &gt;= set:ni0Q79T9m8c8LtIHEZvE2to7CMOpYYJtPQlu1To9g36rmZ7fk1
rpmlib(SetVersions)
rtld(GNU_HASH)
libX11-locales = 3:1.6.12-alt1:sisyphus+256796.100.1.1
rpmlib(PayloadIsLzma)


$ rpm -qR libX11-locales 
rpmlib(PayloadIsLzma)

]$ rpm -qR libxcb
libXau.so.6()(64bit) &gt;= set:ge34k81
rpmlib(SetVersions)
libXdmcp.so.6()(64bit) &gt;= set:jiOzo
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.2)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
rtld(GNU_HASH)
rpmlib(PayloadIsLzma)

$ rpm -qR libXau 
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
rtld(GNU_HASH)
rpmlib(PayloadIsLzma)

$ rpm -qR libXdmcp
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.25)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
rtld(GNU_HASH)
rpmlib(PayloadIsLzma)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193845</commentid>
    <comment_count>13</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-06 22:16:40 +0300</bug_when>
    <thetext>(Ответ для Vitaly Lipatov на комментарий #0)
...
&gt; Оставлю здесь некоторые пакеты, которые собираются с ImageMagick а потом
&gt; ставятся на сервер, и X11 им там никаким боком:
&gt; freeswitch	libImageMagick-devel	6.9.11.28-alt1
&gt; gem-rmagick	libImageMagick-devel	6.9.11.28-alt1
&gt; pfstools	libImageMagick-devel	6.9.11.28-alt1
&gt; php7-imagick	libImageMagick-devel	6.9.11.28-alt1
&gt; pstoedit	libImageMagick-devel	6.9.11.28-alt1
&gt; python3-module-pythonmagick	libImageMagick-devel	6.9.11.28-alt1
&gt; vips	libImageMagick-devel	6.9.11.28-alt1

По собранным пакетам список отличается:
$ epm wd libImageMagick6.6
 $ apt-cache whatdepends libImageMagick6.6
...
  transcode-1.1.7-alt13:sisyphus+250140.2400.12.1@1587564842
  php7-imagick-7.4.12-alt1.3:sisyphus+260638.5100.8.2@1604421253
  libvips-8.10.2-alt1:sisyphus+259804.100.1.1@1602537884
  converseen-0.9.8.1-alt1:sisyphus+251980.200.2.1@1589963931
  ale-0.9.0.3-alt9@1527707468

$ epm wd libImageMagick++6.8
 $ apt-cache whatdepends libImageMagick++6.8
..
python3-module-pythonmagick-0.9.64-alt3:sisyphus+256956.10100.14.2@1599545680
libpstoedit-3.70-alt4@1527708083
pfstools-2.1.0-alt4.1:sisyphus+249867.2600.11.2@1587505178
converseen-0.9.8.1-alt1:sisyphus+251980.200.2.1@1589963931
cuneiform-1.1.0-alt4:sisyphus+226682.100.2.3@1554596896


Получается, что кто-то просто так требует libImageMagick-devel при сборке.
Например, во freeswitch он используется только при сборке модуля mod_imagick, который изначально при добавлении выключен:

commit ecab16ed88e702a909700157948c19183aab119f
Author: Seven Du &lt;dujinfang@gmail.com&gt;
Date:   Fri Apr 10 20:40:24 2015 +0800

    FS-7516: add mod_imagick

+++ b/build/modules.conf.in
...
+#formats/mod_imagick</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193850</commentid>
    <comment_count>14</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-07 02:30:30 +0300</bug_when>
    <thetext>(Ответ для Vladimir D. Seleznev на комментарий #12)
&gt; Не могу пройти мимо: разве наличие libX11 на сервере -- это такая большая
&gt; проблема? 4 дополнительные библиотеки, суммарный размер которых -- 3.3 МБ.
На самом деле вопрос шире, и там 150 мегабайт
https://bugzilla.altlinux.org/show_bug.cgi?id=39204

И ещё есть такое негативное восклицание: Иксы на сервере?!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193852</commentid>
    <comment_count>15</comment_count>
    <who name="Vladimir D. Seleznev">vseleznv</who>
    <bug_when>2020-11-07 02:54:50 +0300</bug_when>
    <thetext>(In reply to Vitaly Lipatov from comment #14)
&gt; (Ответ для Vladimir D. Seleznev на комментарий #12)
&gt; &gt; Не могу пройти мимо: разве наличие libX11 на сервере -- это такая большая
&gt; &gt; проблема? 4 дополнительные библиотеки, суммарный размер которых -- 3.3 МБ.
&gt; На самом деле вопрос шире, и там 150 мегабайт
&gt; https://bugzilla.altlinux.org/show_bug.cgi?id=39204

Вот это всё безобразие libX11 *не* вытягивает.

&gt; И ещё есть такое негативное восклицание: Иксы на сервере?!

Возражу: это не иксы, а всего лишь libX11, библиотека. php, интерпретатор python &apos;а и компилятор на сервере куда опаснее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193880</commentid>
    <comment_count>16</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-07 20:44:51 +0300</bug_when>
    <thetext>На самом деле сборка с --without-x хотя и отключает линковку с libX11, но ничего не меняет, поскольку у libImageMagick есть зависимость на библиотеки, которые тянут
libgraphviz -&gt; librsvg, libgtk+2 -&gt; libpango, libcairo -&gt; libX11, libEGL
libcairo -&gt; libX11, libEGL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193886</commentid>
    <comment_count>17</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-07 22:21:42 +0300</bug_when>
    <thetext>(Ответ для Vitaly Lipatov на комментарий #16)
&gt; На самом деле сборка с --without-x хотя и отключает линковку с libX11, но
&gt; ничего не меняет, поскольку у libImageMagick есть зависимость на библиотеки,
&gt; которые тянут
&gt; libgraphviz -&gt; librsvg, libgtk+2 -&gt; libpango, libcairo -&gt; libX11, libEGL
&gt; libcairo -&gt; libX11, libEGL

Как выяснилось, в ImageMagick отдельно собираются модули (они их называют delegate)
https://lists.altlinux.org/pipermail/devel/2020-November/212346.html

Так вот, чтобы отделить зависимости на libgraphviz, libcairo и libX11, достаточно отдельно упаковать такие delegate
как
pango
svg
dot


К сожалению, сборка с --with-x приводит к тому, что libX11 линкуется со всеми делегатами.

Может быть, нам согласовать сборку подпакетов?
Например, в Fedora вынесен подпакет djvu.
Мы могли бы сделать подпакеты djvu, pango, svg, dot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193933</commentid>
    <comment_count>18</comment_count>
    <who name="Vladimir D. Seleznev">vseleznv</who>
    <bug_when>2020-11-09 04:10:51 +0300</bug_when>
    <thetext>(In reply to Vitaly Lipatov from comment #17)

&gt; Мы могли бы сделать подпакеты djvu, pango, svg, dot.

На самом деле хорошая идея.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193954</commentid>
    <comment_count>19</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-09 12:26:24 +0300</bug_when>
    <thetext>Осталось теперь придумать, как сделать так, что бы при обновлении и установке libImageMagick по зависимостям не потерялся существующий функционал, но при этом была возможность установить минимальный набор плагинов.

Все возникающие идеи опять упираются в то, что придётся как-то объяснить apt&apos;у по apt-get install &apos;libMagickCore-6.Q16.so.6()(64bit)&apos; устанавливать один набор пакетов, а другой по 
apt-get install &apos;libMagickCore-6.Q16.so.6()(64bit)&apos; libImageMagick6.6-plugins-small

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

может быть у Димы есть какие-то идеи ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193960</commentid>
    <comment_count>20</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-11-09 14:11:14 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #19)
&gt; Осталось теперь придумать, как сделать так, что бы при обновлении и
&gt; установке libImageMagick по зависимостям не потерялся существующий
&gt; функционал, но при этом была возможность установить минимальный набор
&gt; плагинов.
&gt; 
&gt; Все возникающие идеи опять упираются в то, что придётся как-то объяснить
&gt; apt&apos;у по apt-get install &apos;libMagickCore-6.Q16.so.6()(64bit)&apos; устанавливать
&gt; один набор пакетов, а другой по 
&gt; apt-get install &apos;libMagickCore-6.Q16.so.6()(64bit)&apos;
&gt; libImageMagick6.6-plugins-small

Первое, что приходит в голову - это переместить саму библиотеку libMagickCore в одноимённый подпакет, плагины тоже запаковать в подпакеты, а нынешний подпакет libImageMagick превратить в пустой с зависимостями на новые подпакеты, чтобы при обновлении ни у кого ничего не потерялось.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193962</commentid>
    <comment_count>21</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-09 14:15:16 +0300</bug_when>
    <thetext>при перемещении библиотеки из одного пакета в другой apt&apos;у, говорят, тоже плохеет. Я попробую такую схему, спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193964</commentid>
    <comment_count>22</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-11-09 14:23:43 +0300</bug_when>
    <thetext>Если пустой пакет со старым именем, где раньше была библиотека, все новые пакеты с библиотеками вытаскивает по зависимостям, обновление не сломается. Я всегда так делаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193967</commentid>
    <comment_count>23</comment_count>
    <who name="Vladimir D. Seleznev">vseleznv</who>
    <bug_when>2020-11-09 15:09:06 +0300</bug_when>
    <thetext>(In reply to Vitaly Lipatov from comment #17)
&gt; Может быть, нам согласовать сборку подпакетов?
&gt; Например, в Fedora вынесен подпакет djvu.
&gt; Мы могли бы сделать подпакеты djvu, pango, svg, dot.

Оффтопик: надо бы подобную разбивку сделать и для graphviz, чтобы он не тащил за собой GTK+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193971</commentid>
    <comment_count>24</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-09 18:27:41 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #22)
&gt; Если пустой пакет со старым именем, где раньше была библиотека, все новые
&gt; пакеты с библиотеками вытаскивает по зависимостям, обновление не сломается.
&gt; Я всегда так делаю.

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

Если же не сделать такую завимисимость, то будет проблема у тех, кто тянет библиотеку через автозависимости - плагины не установятся.
Т.е. - у библиотеки должны быть тем или иным способом зависимости на плагины, т.к. без них она работать не умеет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193980</commentid>
    <comment_count>25</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-09 20:06:42 +0300</bug_when>
    <thetext>(Ответ для Vladimir D. Seleznev на комментарий #23)
&gt; (In reply to Vitaly Lipatov from comment #17)
&gt; &gt; Может быть, нам согласовать сборку подпакетов?
&gt; &gt; Например, в Fedora вынесен подпакет djvu.
&gt; &gt; Мы могли бы сделать подпакеты djvu, pango, svg, dot.
&gt; 
&gt; Оффтопик: надо бы подобную разбивку сделать и для graphviz, чтобы он не
&gt; тащил за собой GTK+.
https://bugzilla.altlinux.org/show_bug.cgi?id=39236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193981</commentid>
    <comment_count>26</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-09 20:09:39 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #21)
&gt; при перемещении библиотеки из одного пакета в другой apt&apos;у, говорят, тоже
&gt; плохеет. Я попробую такую схему, спасибо.

Есть ещё вариант, который я хочу попробовать — просто собрать отдельный ImageMagick для серверных целей. И линковать с ним всё недесктопное. Потому как все эти разбиения на подпакеты — только лишние заморочки, а изначально заявленной цели (не линковаться с X11) всё равно не решит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194007</commentid>
    <comment_count>27</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-10 09:32:22 +0300</bug_when>
    <thetext>Собранный отдельно ImageMagick для серверных целей будет предоставлять те же библиотеки, что и собранный сейчас.
и это приведёт к серьёзным проблемам в репозитории.

А чем не устроил GraphicsMagick ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194009</commentid>
    <comment_count>28</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-11-10 10:28:54 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #24)
&gt; Если пакет с библиотеками будет тащить все подпакеты с плагинами (через
&gt; пустой пакет-заглушку), то тогда мечта Виталика о том, что можно поставить
&gt; частично плагины - не сработает.
Это другой пакет. Не для Виталия. Это пакет для успешного обновления и выкинуть его можно будет тогда, когда из обновлений текущего собираемого пакета исчезнет p9. От этого пакета никто не должен зависеть и при новой установке он в систему попадать не должен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194011</commentid>
    <comment_count>29</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-10 10:46:56 +0300</bug_when>
    <thetext>Это понятно. Но как сделать так, что бы при apt-get install &lt;библиотека&gt; ставился полный набор плагинов ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194013</commentid>
    <comment_count>30</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-11-10 10:55:30 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #29)
&gt; Это понятно. Но как сделать так, что бы при apt-get install &lt;библиотека&gt;
&gt; ставился полный набор плагинов ?
Либо оставить, как есть, либо apt-get install ImageMagick-maxi какой-нибудь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194015</commentid>
    <comment_count>31</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-10 10:57:10 +0300</bug_when>
    <thetext>libMagickCore-6.Q16.so.6()(64bit) часто вообще просто по зависимостям вытягивается, там нет никакого maxi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194016</commentid>
    <comment_count>32</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-11-10 11:03:14 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #31)
&gt; libMagickCore-6.Q16.so.6()(64bit) часто вообще просто по зависимостям
&gt; вытягивается, там нет никакого maxi.
Я и на это тоже отвечал в предыдущем сообщении. Кроме как ручными зависимостями не решить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194017</commentid>
    <comment_count>33</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-10 11:05:05 +0300</bug_when>
    <thetext>В целом всё понятно, спасибо всем за обсуждение, я добавил себе в планы переработать этот пакет и обязательно это сделаю тем или иным способом.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194018</commentid>
    <comment_count>34</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-11-10 11:05:22 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #29)
&gt; Это понятно. Но как сделать так, что бы при apt-get install &lt;библиотека&gt;
&gt; ставился полный набор плагинов ?

Протащить в apt и/или rpm поддержку опциональных зависимостей (suggests/recommends/etc), и позволить как минимум 3 настройки: интерактивно спрашивать у пользователя ставить или нет (и что именно ставить, а что - нет), всегда ставить опциональные зависимости автоматически, никогда не ставить опциональные зависимости автоматически.

Могло бы помочь, если бы такая фича была. Но её нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194019</commentid>
    <comment_count>35</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-11-10 11:06:38 +0300</bug_when>
    <thetext>а в rpm такую фичу уже притащили ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194021</commentid>
    <comment_count>36</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-11-10 11:41:43 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #35)
&gt; а в rpm такую фичу уже притащили ?

Зависит от дистрибутива.

См. пункт &quot;Weak dependencies&quot;:

https://rpm.org/user_doc/dependencies.html

Кажется, в каких-то спеках Федоры я такие зависимости видел.
Вот быстро нагуглил пример:

https://src.fedoraproject.org/rpms/binwalk/blob/master/f/binwalk.spec

По ссылке:

# Optional, for graphs and visualizations
Suggests:       python3-pyqtgraph
# Optional, for --disasm functionality
Suggests:       capstone
# Optional, for automatic extraction/decompression of files and data
Recommends:     mtd-utils gzip bzip2 tar arj p7zip p7zip-plugins cabextract squashfs-tools lzop srecord
Suggests:       sleuthkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194027</commentid>
    <comment_count>37</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-10 12:54:14 +0300</bug_when>
    <thetext>(Ответ для Aleksei Nikiforov на комментарий #34)
&gt; (In reply to Anton Farygin from comment #29)
&gt; &gt; Это понятно. Но как сделать так, что бы при apt-get install &lt;библиотека&gt;
&gt; &gt; ставился полный набор плагинов ?
&gt; 
&gt; Протащить в apt и/или rpm поддержку опциональных зависимостей
&gt; (suggests/recommends/etc), и позволить как минимум 3 настройки: интерактивно
&gt; спрашивать у пользователя ставить или нет (и что именно ставить, а что -
&gt; нет), всегда ставить опциональные зависимости автоматически, никогда не
&gt; ставить опциональные зависимости автоматически.
&gt; 
&gt; Могло бы помочь, если бы такая фича была. Но её нет.
Давайте про это отдельную багу?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194042</commentid>
    <comment_count>38</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-10 16:09:21 +0300</bug_when>
    <thetext>(Ответ для Aleksei Nikiforov на комментарий #36)
&gt; (In reply to Anton Farygin from comment #35)
&gt; &gt; а в rpm такую фичу уже притащили ?
&gt; 
&gt; Зависит от дистрибутива.
&gt; 
&gt; См. пункт &quot;Weak dependencies&quot;:
&gt; 
&gt; https://rpm.org/user_doc/dependencies.html
&gt; 
&gt; Кажется, в каких-то спеках Федоры я такие зависимости видел.
&gt; Вот быстро нагуглил пример:
https://bugzilla.altlinux.org/show_bug.cgi?id=39242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194045</commentid>
    <comment_count>39</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-11-10 16:22:54 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #27)
&gt; Собранный отдельно ImageMagick для серверных целей будет предоставлять те же
&gt; библиотеки, что и собранный сейчас.
Нет, он будет предоставлять другие библиотеки, даже названием они будут отличаться.

&gt; и это приведёт к серьёзным проблемам в репозитории.
Поэтому проблем в репозитории не будет.

&gt; А чем не устроил GraphicsMagick ?
У php7-gmagick другой интерфейс (как минимум название класса). gm convert вместо convert устроила, но
с GraphicsMagick точно такие же проблемы с модулями и зависимостями.

Пока что я увидел, что можно вообще без магии *Magick обойтись.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>