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

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

    <bug>
          <bug_id>36325</bug_id>
          
          <creation_ts>2019-03-21 09:55:22 +0300</creation_ts>
          <short_desc>Паразитные зависимости</short_desc>
          <delta_ts>2019-04-03 15:55:09 +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>rpm-build-ruby</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>blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>36362</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey V Turchin">zerg</reporter>
          <assigned_to name="majioa@altlinux.org">majioa</assigned_to>
          <cc>3aHyga</cc>
    
    <cc>admsasha</cc>
    
    <cc>aen</cc>
    
    <cc>at</cc>
    
    <cc>cas</cc>
    
    <cc>evg</cc>
    
    <cc>iv</cc>
    
    <cc>ldv</cc>
    
    <cc>majioa</cc>
    
    <cc>mike</cc>
    
    <cc>nbr</cc>
    
    <cc>pav</cc>
    
    <cc>rider</cc>
    
    <cc>shaba</cc>
    
    <cc>thatman</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>179668</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-03-21 09:55:22 +0300</bug_when>
    <thetext>При сборке у меня стали в разных пакетах появляться новые зависимости на несуществующий пакет вида: пакет pkg-devel хочет pkg.

Достаточно просто пересобрать пакет без изменений http://git.altlinux.org/tasks/225168/logs/events.1.1.log

Приходится городить http://git.altlinux.org/people/zerg/packages/?p=kde5-libkdcraw.git;a=commitdiff;h=913ab4fcb2a35c35569d7030f1a6ba42446bf852
А сколько таких зависимостей напихалось незаметно -- хз.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179675</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-03-21 10:43:39 +0300</bug_when>
    <thetext>В общем, у меня вся сборка встала. :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179679</commentid>
    <comment_count>2</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2019-03-21 11:08:00 +0300</bug_when>
    <thetext>http://git.altlinux.org/tasks/225168/build/100/x86_64/log :

&gt; Ruby requires detection for qt5-webkit-devel
&gt; Require calculation results:
&gt; qt5-webkit = 5.212.0-alt10
&gt; ruby(2.5.0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179683</commentid>
    <comment_count>3</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2019-03-21 11:12:07 +0300</bug_when>
    <thetext>Да, это rpm-build-ruby.

http://git.altlinux.org/gears/r/rpm-build-ruby.git?p=rpm-build-ruby.git;a=blob;f=ruby.req;h=d42e0650609f572c95cd2e43659f15819496e775;hb=c691655fd8cc63d061aa904e696e4341b868654f#l83

&gt; def pkgname
&gt;     ENV[&apos;RPM_SUBPACKAGE_NAME&apos;].gsub(/(-doc|-devel)$/, &apos;&apos;)
&gt; end</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179684</commentid>
    <comment_count>4</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2019-03-21 11:17:31 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; Да, это rpm-build-ruby.
&gt; 

nbr с сегодняшнего дня в отпуске на неделю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179686</commentid>
    <comment_count>5</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2019-03-21 11:33:09 +0300</bug_when>
    <thetext>(In reply to comment #4)
&gt; (В ответ на комментарий №3)
&gt; &gt; Да, это rpm-build-ruby.
&gt; &gt; 
&gt; 
&gt; nbr с сегодняшнего дня в отпуске на неделю.

Автор этого волшебного скрипта, похоже, всё таки Pavel Skrylev &lt;majioa@altlinux.org&gt;:

http://git.altlinux.org/gears/r/rpm-build-ruby.git?p=rpm-build-ruby.git;a=commit;h=8380213a8681d72a342d569e97e44a28af734393

Похоже, любой пакет, в сборочный чрут которого попадает rpm-build-ruby, получает зависимость на ruby(2.5.0) и такой вот pkgname:

&gt; ENV[&apos;RPM_SUBPACKAGE_NAME&apos;].gsub(/(-doc|-devel)$/, &apos;&apos;)

Вообще любой. В числе невинно пострадавших, например, libwebkit2gtk и perl-prelude.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179687</commentid>
    <comment_count>6</comment_count>
    <who name="Малъ Скрылевъ">3aHyga</who>
    <bug_when>2019-03-21 11:38:57 +0300</bug_when>
    <thetext>&gt; Похоже, любой пакет, в сборочный чрут которого попадает rpm-build-ruby,
&gt; получает зависимость на ruby(2.5.0) и такой вот pkgname:
&gt; 
&gt; &gt; ENV[&apos;RPM_SUBPACKAGE_NAME&apos;].gsub(/(-doc|-devel)$/, &apos;&apos;)
&gt; 

Не в любой, а тот, который был оформлен как руби и тот, который содержит исполняемые библиотеки (.so), которые собственно и крепятся к ruby.

а зачем в нерубишных пакетах rpm-build-ruby?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179688</commentid>
    <comment_count>7</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-03-21 11:43:56 +0300</bug_when>
    <thetext>2ldv: эту проблему надо решать каким-то другим способом, например включив автору сего чудного пакета жёсткий ревью всех его изменений.

Павел, вы не делаете разницы между ruby и не-ruby в своём rpm-build-ruby. Мало ли зачем прилетит rpm-build-ruby в систему - причин может быть множество и одна из них - сборка пакетов на ruby. НО зачем при этом ломать зависимости других, не имеющих отношения к ruby пакетов ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179689</commentid>
    <comment_count>8</comment_count>
    <who name="Малъ Скрылевъ">3aHyga</who>
    <bug_when>2019-03-21 11:46:51 +0300</bug_when>
    <thetext>(In reply to comment #7)
&gt; 2ldv: эту проблему надо решать каким-то другим способом, например включив
&gt; автору сего чудного пакета жёсткий ревью всех его изменений.
&gt; 
&gt; Павел, вы не делаете разницы между ruby и не-ruby в своём rpm-build-ruby. Мало
&gt; ли зачем прилетит rpm-build-ruby в систему - причин может быть множество и одна
&gt; из них - сборка пакетов на ruby. НО зачем при этом ломать зависимости других,
&gt; не имеющих отношения к ruby пакетов ?

Антон, вы за языком следите иногда или нет?)

У меня в рубишных пакетах все норм, зачем вставлять в нерубишные пакеты rpm-build-ruby мне не известно по сю пору.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179690</commentid>
    <comment_count>9</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-03-21 11:50:55 +0300</bug_when>
    <thetext>Павел, ну сделайте тогда так, что бы rpm-build-ruby нельзя было поставить в систему, в которой он не нужен.

Не забудьте только при этом о существовании пакетов, в которых есть код как на ruby, так и на других языках программирования.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179691</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-03-21 11:54:47 +0300</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; а зачем в нерубишных пакетах rpm-build-ruby?
Например, есть src-пакет pkg, из которого собираются pkg-ruby-scripts, libpkg и pkg-devel, при этом бинарного пакета pkg нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179692</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-03-21 11:56:28 +0300</bug_when>
    <thetext>(В ответ на комментарий №8)
&gt; зачем вставлять в нерубишные пакеты rpm-build-ruby мне не известно по сю пору.
Это не важно. Ваш пакет не должен никому мешать даже при сборке на локальной системе с всегда установленным rpm-build-ruby.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179693</commentid>
    <comment_count>12</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2019-03-21 12:23:44 +0300</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Похоже, любой пакет, в сборочный чрут которого попадает rpm-build-ruby,
&gt; &gt; получает зависимость на ruby(2.5.0) и такой вот pkgname:
&gt; &gt; 
&gt; &gt; &gt; ENV[&apos;RPM_SUBPACKAGE_NAME&apos;].gsub(/(-doc|-devel)$/, &apos;&apos;)
&gt; &gt; 
&gt; 
&gt; Не в любой, а тот, который был оформлен как руби и тот, который содержит
&gt; исполняемые библиотеки (.so), которые собственно и крепятся к ruby.

Действительно, я погорячился. Зависимость на ruby(&lt;version&gt;) получает любой пакет, в сборочной среде которого есть rpm-build-ruby, а в пакете -- хоть один файл с расширением `.so`.

Павел, я прошу Вас признать баг и сообщить, какие шаги будут предприняты для его исправления. Также сообщите, если Вам нужна помощь. Спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179700</commentid>
    <comment_count>13</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2019-03-21 13:01:44 +0300</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #6)
&gt; &gt; &gt; Похоже, любой пакет, в сборочный чрут которого попадает rpm-build-ruby,
&gt; &gt; &gt; получает зависимость на ruby(2.5.0) и такой вот pkgname:
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; ENV[&apos;RPM_SUBPACKAGE_NAME&apos;].gsub(/(-doc|-devel)$/, &apos;&apos;)
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; Не в любой, а тот, который был оформлен как руби и тот, который содержит
&gt; &gt; исполняемые библиотеки (.so), которые собственно и крепятся к ruby.
&gt; 
&gt; Действительно, я погорячился. Зависимость на ruby(&lt;version&gt;) получает любой
&gt; пакет, в сборочной среде которого есть rpm-build-ruby, а в пакете -- хоть один
&gt; файл с расширением `.so`.
&gt; 
&gt; Павел, я прошу Вас признать баг и сообщить, какие шаги будут предприняты для
&gt; его исправления. Также сообщите, если Вам нужна помощь. Спасибо.

Для сравнения пример python3.req.files http://git.altlinux.org/gears/r/rpm-build-python3.git?p=rpm-build-python3.git;a=blob;f=rpm-build-python3/python3.req.files;h=662da46a519d6dcab1dfa3f165f029f7e072a996;hb=HEAD#l47

Рассматриваются только *.so в особых питоновских путях:

	is_python3_path &quot;$f&quot; ||
		continue
	case &quot;$t&quot; in
		# shortcut for possible python3 extensions
		*ELF*&quot; shared object&quot;*)
		        echo &quot;$f&quot;
			continue ;;
	esac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179701</commentid>
    <comment_count>14</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-03-21 13:08:19 +0300</bug_when>
    <thetext>(В ответ на комментарий №13)
&gt; Рассматриваются только *.so в особых питоновских путях:
Так же это всё равно не повод ставить зависимость на отсутствующий пакет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179703</commentid>
    <comment_count>15</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-03-21 13:34:49 +0300</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #6)
&gt; &gt; &gt; Похоже, любой пакет, в сборочный чрут которого попадает rpm-build-ruby,
&gt; &gt; &gt; получает зависимость на ruby(2.5.0) и такой вот pkgname:
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; ENV[&apos;RPM_SUBPACKAGE_NAME&apos;].gsub(/(-doc|-devel)$/, &apos;&apos;)
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; Не в любой, а тот, который был оформлен как руби и тот, который содержит
&gt; &gt; исполняемые библиотеки (.so), которые собственно и крепятся к ruby.
&gt; 
&gt; Действительно, я погорячился. Зависимость на ruby(&lt;version&gt;) получает любой
&gt; пакет, в сборочной среде которого есть rpm-build-ruby, а в пакете -- хоть один
&gt; файл с расширением `.so`.
&gt; 
&gt; Павел, я прошу Вас признать баг и сообщить, какие шаги будут предприняты для
&gt; его исправления. Также сообщите, если Вам нужна помощь. Спасибо.

Павел, исправьте это, пожалуйста, незамедлительно. Спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179732</commentid>
    <comment_count>16</comment_count>
    <who name="Малъ Скрылевъ">3aHyga</who>
    <bug_when>2019-03-21 23:54:10 +0300</bug_when>
    <thetext>Если в пакете нет надобности в сборке руинов, мягко говоря, добавлять туда его сборочный пакет неумно. Это касается и пакета qt5-webkit, который у меня заняв хешерницу на весь день успешно собрался и без оного пакета.

Что касается пакета rpm-build-ruby, так если он добавлен, то он думает, что нужно сопроводителю как-то анализировать файлы на предмет руби зависимостей. Хотя сегодняшнею сборкою rpm-build-ruby я и поправил это автодобавление. Однако, я все ещё считаю, что сопроводителям, не следует добвалять абы что в свои сборочные зависимости, хотя бы потому, что это добавляет мусора, которого во множестве спеков и сборок и так предостаточно.

Но в ближайшее время я вообще выпилю из него анализ пакетов не имеющих отношение к руби подсистеме, почти целиком переписав определялку рубинозависимых пакетов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179733</commentid>
    <comment_count>17</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-03-22 00:06:17 +0300</bug_when>
    <thetext>Добавлять в пакет A-devel зависимость на несуществующий пакет A неправильно в любом случае, вне зависимости от ruby.
Поскольку у вас нет возможности узнать, существует ли пакет A, то не добавляйте такую зависимость.
Вы, наверное, не хотите, чтобы я резал пакет rpm-build-ruby скальпелем, поэтому, пожалуйста, сделайте это самостоятельно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179734</commentid>
    <comment_count>18</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-03-22 00:25:45 +0300</bug_when>
    <thetext>На данный момент попадание пакета rpm-build-ruby в сборочную среду нижеперечисленных исходных пакетов приводит к добавлению паразитной зависимости на несуществующие пакеты:

ImageMagick
allegro4.4
bro
cal3d
clamav
googletest
hiredis
icu
itpp
kde4-python
kf5-kconfigwidgets
kf5-kiconthemes
kf5-kjs
kf5-kjsembed
libcangjie
libevent2.1
libfltk13
libgcrypt
libgloox
libgphoto2
libjemalloc2
libpcap
libpng16
libredblack
librtmidi
libsixel
mariadb
mnogosearch
mono
oniguruma
opencdk
openssl1.1
pcre
perl
pympi
qt5-base
qt5-declarative
qt5-webengine
qt5-xmlpatterns
rasqal
scorep
smokegen
torque
unixODBC
wayland

Например, при пересборке пакета pcre у пакета libpcre-devel появляется зависимость на несуществующий пакет libpcre.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179735</commentid>
    <comment_count>19</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2019-03-22 00:49:24 +0300</bug_when>
    <thetext>rpm-build-ruby-1:1.0.0-alt4 -&gt; sisyphus:

Thu Mar 21 2019 Dmitry V. Levin &lt;ldv@altlinux&gt; 1:1.0.0-alt4
- NMU.
- Removed injection of parasite dependencies (closes: #36325).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179736</commentid>
    <comment_count>20</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-03-22 07:27:11 +0300</bug_when>
    <thetext>У ImageMagick, кстати, нет прямой сборочной зависимости на rpm-build-ruby.
Да и 
$ curl -s http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/success/ImageMagick-6.9.10.33-alt1|grep -i ruby

Ничего не показывает. 
Но зависимость на rpm-build-ruby есть у libruby-devel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179737</commentid>
    <comment_count>21</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-03-22 07:37:28 +0300</bug_when>
    <thetext>(In reply to comment #20)
&gt; У ImageMagick, кстати, нет прямой сборочной зависимости на rpm-build-ruby.

Это хорошо.  У pcre тоже нет.
Я просто привёл (неполный) список исходных пакетов, которые получили бы анметы, если бы rpm-build-ruby попал к ним в сборочную среду.

По результатам последней тестовой пересборки rpm-build-ruby попадал в сборочную среду следующих пакетов, не считая *ruby* и gem-*:

$ echo rpm-build-ruby | join -11 -22 -o2.1 - /beehive/stats/Sisyphus-x86_64/ufb-2 |grep -Ev &apos;^gem-|ruby&apos;
alexandria
asciidoctor
calligra
chef
chef-zero
erubis
fluentd
flvtool2
fog
foreman
geos
github2spec
gwyddion
kde4-amarok
kde4webdev
kde5-kaddressbook
kde5-libkdcraw
kf5-plasma-framework
libcaca
libdmtx
libprelude
libstfl0
libwebkitgtk4
maruku
mustache
nokogiri-gemspec
obexftp
ohai
opennebula
opennebula-context
pcs
perl-Devel-Cover
puma
puppet
puppetdb
puppetserver
qt4-webkit
qt5-webkit
rake-compiler
rdiscount
redcloth
rhc
ronn
sdoc
sprockets
swig
taskjuggler
thor
unicorn
userblocker
vim
voodoo
weechat
xapian-bindings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179738</commentid>
    <comment_count>22</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-03-22 07:44:14 +0300</bug_when>
    <thetext>Из этого списка надо получить список пакетов, собранных после появления нового rpm-build-ruby в репозитории и отправить их на простую пересборку.

Но лучше, конечно, пересмотреть список сборочных зависимостей этих пакетов. наверняка в ряде случаев данная зависимость является паразитной и её удаление не приведёт к ошибкам сборки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180356</commentid>
    <comment_count>23</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2019-04-03 15:55:09 +0300</bug_when>
    <thetext>(В ответ на комментарий №21)
&gt; (In reply to comment #20)
&gt; &gt; У ImageMagick, кстати, нет прямой сборочной зависимости на rpm-build-ruby.
&gt; 
&gt; Это хорошо.  У pcre тоже нет.
&gt; Я просто привёл (неполный) список исходных пакетов, которые получили бы анметы,
&gt; если бы rpm-build-ruby попал к ним в сборочную среду.
&gt; 
&gt; По результатам последней тестовой пересборки rpm-build-ruby попадал в сборочную
&gt; среду следующих пакетов, не считая *ruby* и gem-*:

На самом деле уже попало в сизиф, например libwebkitgtk4.
Можно ли вычислить это в сизифе и отправить на пересборку?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>