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

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

    <bug>
          <bug_id>38287</bug_id>
          
          <creation_ts>2020-03-27 15:45:41 +0300</creation_ts>
          <short_desc>Задать жёсткую зависимость на версию openssl у бинарного пакета ntp</short_desc>
          <delta_ts>2020-04-04 16:16:35 +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>ntp</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vera Blagoveschenskaya">vercha</reporter>
          <assigned_to name="Sergey Y. Afonin">asy</assigned_to>
          <cc>asy</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>mcpain</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
    
    <cc>sotor</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>188882</commentid>
    <comment_count>0</comment_count>
    <who name="Vera Blagoveschenskaya">vercha</who>
    <bug_when>2020-03-27 15:45:41 +0300</bug_when>
    <thetext># rpm -qa | grep ntp
ntp-4.2.8p13-alt1.x86_64
ntpdate-4.2.8p13-alt1.x86_64
ntpq-4.2.8p13-alt1.x86_64
ntp-doc-4.2.8p13-alt1.noarch
ntpd-4.2.8p13-alt1.x86_64
ntp-aux-4.2.8p13-alt1.noarch
ntp-utils-4.2.8p13-alt1.x86_64

Тестовые стенды:
server-9-x86-64
workstation-9-x86-64

При выполнении команды ntp-keygen ошибка:
OpenSSL version mismatch. Built against 101000af, you have 1010104f
Built against OpenSSL OpenSSL 1.1.0j  20 Nov 2018, using version OpenSSL 1.1.1d  10 Sep 2019
Using host server-9-x86-64-office group server-9-x86-64-office
Generating RSA keys (512 bits)...
RSA 0 36 38     1 26 54                         3 1 2
Generating new host file and link
ntpkey_host_server-9-x86-64-office-&gt;ntpkey_RSAhost_server-9-x86-64-office.3794299580
Using host key as sign key
Generating new certificate server-9-x86-64-office RSA-MD5
X509v3 Basic Constraints: critical,CA:TRUE
X509v3 Key Usage: digitalSignature,keyCertSign
Verify RSA-MD5 certificate fails
error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message digest algorithm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188900</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-27 20:34:03 +0300</bug_when>
    <thetext>Что-то тут не так.

Вот это

OpenSSL version mismatch. Built against 101000af, you have 1010104f
Built against OpenSSL OpenSSL 1.1.0j  20 Nov 2018, using version OpenSSL 1.1.1d  10 Sep 2019

у меня воспроизводится. Причина понятна: после обновления OpenSSL не пересобрали ntp. Вопрос сразу к ldv@: а такие неочевидные штуки сборочница как-то может ловить?

А вот с ntp из задания 248359 это не воспроизводится у меня. В итоге простой запуск ntp-keygen всё равно даёт ошибку (error:0909006C:PEM routines:get_name:no start line), но на несоответствие версий OpenSSL не ругается уже.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188902</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-27 21:11:00 +0300</bug_when>
    <thetext>(In reply to Vera Blagoveschenskaya from comment #0)

&gt; При выполнении команды ntp-keygen ошибка:
&gt; OpenSSL version mismatch. Built against 101000af, you have 1010104f

Это, всё же, только предупреждение. Но почему и с p14 на стенде вылезло я по прежнему не понимаю.

&gt; Verify RSA-MD5 certificate fails
&gt; error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message
&gt; digest algorithm

А это последствие того, что в новом OpenSSL отключили MD5. Надо пока использовать &quot;-c RSA-SHA1&quot; например.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188904</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-27 21:41:55 +0300</bug_when>
    <thetext>Оказывается у них есть баг про MD5: https://bugs.ntp.org/show_bug.cgi?id=2518
Я немного дописал.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188936</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-30 10:31:56 +0300</bug_when>
    <thetext>(In reply to Vera Blagoveschenskaya from comment #0)

&gt; При выполнении команды ntp-keygen ошибка:
&gt; OpenSSL version mismatch. Built against 101000af, you have 1010104f
&gt; Built against OpenSSL OpenSSL 1.1.0j  20 Nov 2018, using version OpenSSL
&gt; 1.1.1d  10 Sep 2019

Это проблема сборочницы. Вероятно enhancement, если это вообще исправимо.

&gt; Verify RSA-MD5 certificate fails
&gt; error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message
&gt; digest algorithm

По этому поводу завёл Bug 38300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188947</commentid>
    <comment_count>5</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2020-03-30 11:46:18 +0300</bug_when>
    <thetext>(Ответ для Sergey Y. Afonin на комментарий #4)
&gt; (In reply to Vera Blagoveschenskaya from comment #0)
&gt; 
&gt; &gt; При выполнении команды ntp-keygen ошибка:
&gt; &gt; OpenSSL version mismatch. Built against 101000af, you have 1010104f
&gt; &gt; Built against OpenSSL OpenSSL 1.1.0j  20 Nov 2018, using version OpenSSL
&gt; &gt; 1.1.1d  10 Sep 2019
&gt; 
&gt; Это проблема сборочницы. Вероятно enhancement, если это вообще исправимо.

А при чём тут сборочница?  Это ntp сам по себе решил, что версия не совпала, set:versions так не посчитали -- кто-то из них неправ.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188956</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-30 13:37:11 +0300</bug_when>
    <thetext>(In reply to Gleb F-Malinovskiy from comment #5)

&gt; &gt; Это проблема сборочницы. Вероятно enhancement, если это вообще исправимо.
&gt; 
&gt; А при чём тут сборочница?  Это ntp сам по себе решил, что версия не совпала,
&gt; set:versions так не посчитали -- кто-то из них неправ.

Я пока не знаю, зачем ntp это проверяет и выдаёт предупреждение. Но может в сборочнице можно сделать какой-то список явных зависимостей на тему, что требуется пересобирать? На самом деле есть минимум ещё один кандидат, который просто так не ловится. Оказалось, что при обновлении gpsd до 3.19 надо было явно пересобрать gqrx. Но это отдел тестирования на пересборке репозитория отловил правда. Не знаю пока, это что-то разовое было, или всегда так будет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188958</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-30 13:44:22 +0300</bug_when>
    <thetext>(In reply to Vera Blagoveschenskaya from comment #0)

&gt; При выполнении команды ntp-keygen ошибка:

&gt; OpenSSL version mismatch. Built against 101000af, you have 1010104f
&gt; Built against OpenSSL OpenSSL 1.1.0j  20 Nov 2018, using version OpenSSL
&gt; 1.1.1d  10 Sep 2019

Ну это просто древний баг в пакете ntp.

(In reply to Sergey Y. Afonin from comment #6)
&gt; Я пока не знаю, зачем ntp это проверяет и выдаёт предупреждение. Но может в
&gt; сборочнице можно сделать какой-то список явных зависимостей на тему, что
&gt; требуется пересобирать?

Если вы знаете, чтобы между пакетами были противоестественные зависимости, просто запишите их в спек-файле.  А мы потом покритикуем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188959</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-30 13:45:13 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #7)
&gt; Если вы знаете,

Если вы хотите, конечно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188965</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-30 14:27:36 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #7)

&gt; &gt; Я пока не знаю, зачем ntp это проверяет и выдаёт предупреждение. Но может в
&gt; &gt; сборочнице можно сделать какой-то список явных зависимостей на тему, что
&gt; &gt; требуется пересобирать?
&gt; 
&gt; Если вы знаете, чтобы между пакетами были противоестественные зависимости,
&gt; просто запишите их в спек-файле.  А мы потом покритикуем.

А что, в спек-файле есть такие зависимости, которые говорят, что &quot;вон тот пакет надо непременно всегда пересобрать если я пересобрался&quot;? :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188966</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-30 14:29:10 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #9)
&gt; (In reply to Dmitry V. Levin from comment #7)
&gt; 
&gt; &gt; &gt; Я пока не знаю, зачем ntp это проверяет и выдаёт предупреждение. Но может в
&gt; &gt; &gt; сборочнице можно сделать какой-то список явных зависимостей на тему, что
&gt; &gt; &gt; требуется пересобирать?
&gt; &gt; 
&gt; &gt; Если вы знаете, чтобы между пакетами были противоестественные зависимости,
&gt; &gt; просто запишите их в спек-файле.  А мы потом покритикуем.
&gt; 
&gt; А что, в спек-файле есть такие зависимости, которые говорят, что &quot;вон тот
&gt; пакет надо непременно всегда пересобрать если я пересобрался&quot;? :-)

В точности наоборот: в &quot;том пакете&quot; можно указать жёсткую зависимость.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188967</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-30 14:46:27 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #10)

&gt; &gt; А что, в спек-файле есть такие зависимости, которые говорят, что &quot;вон тот
&gt; &gt; пакет надо непременно всегда пересобрать если я пересобрался&quot;? :-)
&gt; 
&gt; В точности наоборот: в &quot;том пакете&quot; можно указать жёсткую зависимость.

А как? Requires: name = %EVR очевидно же, что не годится. Нужна логика вида Requires: name (and rebuild if %EVR changed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188968</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-30 14:59:43 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #11)
&gt; (In reply to Dmitry V. Levin from comment #10)
&gt; 
&gt; &gt; &gt; А что, в спек-файле есть такие зависимости, которые говорят, что &quot;вон тот
&gt; &gt; &gt; пакет надо непременно всегда пересобрать если я пересобрался&quot;? :-)
&gt; &gt; 
&gt; &gt; В точности наоборот: в &quot;том пакете&quot; можно указать жёсткую зависимость.
&gt; 
&gt; А как? Requires: name = %EVR очевидно же, что не годится.

Почему не годится?

&gt; Нужна логика вида Requires: name (and rebuild if %EVR changed).

Что значит rebuild в Requires?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188970</commentid>
    <comment_count>13</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-30 15:15:42 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #12)

&gt; &gt; А как? Requires: name = %EVR очевидно же, что не годится.
&gt; 
&gt; Почему не годится?

Я может не очень понятно написал в 6-ом комментарии. Речь не про привязку к конкретной версии, а про пересборку с любой новой версией. Практически то же самое, что делает set version (не даёт пропустить задание без, как минимум, пересборки зависимого пакета), но в ситуации, котогда set version не срабатывает ввиду других причин необходимости, отличных от проверяемых set version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188973</commentid>
    <comment_count>14</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-30 16:54:24 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #13)
&gt; (In reply to Dmitry V. Levin from comment #12)
&gt; 
&gt; &gt; &gt; А как? Requires: name = %EVR очевидно же, что не годится.
&gt; &gt; 
&gt; &gt; Почему не годится?
&gt; 
&gt; Я может не очень понятно написал в 6-ом комментарии. Речь не про привязку к
&gt; конкретной версии, а про пересборку с любой новой версией. Практически то же
&gt; самое, что делает set version (не даёт пропустить задание без, как минимум,
&gt; пересборки зависимого пакета), но в ситуации, котогда set version не
&gt; срабатывает ввиду других причин необходимости, отличных от проверяемых set
&gt; version.

Повторю ещё раз:
- эта проверка в ntp очевидно неправильная;
- в пакетах бывают (возможно, зря, но бывают) жёсткие привязки к версиям других пакетов.  Посмотрите, например, gvfs.spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188974</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-30 17:07:25 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #14)

&gt; Повторю ещё раз:
&gt; - эта проверка в ntp очевидно неправильная;

При чём тут конкретно ntp? Во-первых я уже привёл один пример другого пакета. Во-вторых зачем-то же сделали копирование пересборкой, а не оставили просто копирование.

&gt; - в пакетах бывают (возможно, зря, но бывают) жёсткие привязки к версиям
&gt; других пакетов.  Посмотрите, например, gvfs.spec

Привязка к версии в данном случае не рассматривается.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188992</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 09:17:54 +0300</bug_when>
    <thetext>И всё же это фичереквест для сборочничы, а не для какого-то конкретного пакета. Если он не может быть реализован, либо нужность его переоценена, надо закрыть, как WONTFIX.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188995</commentid>
    <comment_count>17</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-31 12:29:17 +0300</bug_when>
    <thetext>Пожалуйста, не надо перевешивать ошибки, найденные в конкретном пакете, на инфраструктуру.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188996</commentid>
    <comment_count>18</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 12:57:26 +0300</bug_when>
    <thetext>Пожалуйста не надо перевешивать на пакет заявку на фичу на инфраструктуру, которая иллюстрируется НЕ ошибкой на пакете.

Данное сообщение на пакете ntp НЕ ЯВЛЯЕТСЯ ОШИБКОЙ и НЕ ВЛИЯЕТ НА РАБОТОСПОСОБНОСТЬ!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188997</commentid>
    <comment_count>19</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 13:01:38 +0300</bug_when>
    <thetext>Если кто-то ещё не понял, настоящей ошибкой на ntp тут было

Verify RSA-MD5 certificate fails
error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message digest 

Оно не имеет абсолютно никакого отношения к ПРЕДУПРЕЖДЕНИЮ про версию SSL и это Bug 38300.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188999</commentid>
    <comment_count>20</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-31 13:27:59 +0300</bug_when>
    <thetext>Если вы не хотите понимать, что я вам написал, то я не буду больше тратить на это время.  Внепакетных зависимостей не бывает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189000</commentid>
    <comment_count>21</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 13:38:24 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #20)

&gt; Если вы не хотите понимать, что я вам написал,

Я хорошо понимаю, что хотите сказать Вы, а вот Вы, очевидно, не понимаете, что хочу сказать я. Понятно только, что мы совершенно про разное.

&gt; то я не буду больше тратить на это время.  Внепакетных зависимостей не бывает.

Хорошо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189001</commentid>
    <comment_count>22</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-03-31 13:44:03 +0300</bug_when>
    <thetext>на girar уже есть данные о том, какие пакеты что используют в runtime и при сборке.

В принципе технически отправить на пересборку не должно быть сложным. Но - если у содержимого пакета есть runtime зависимость на версию другого пакета, а в rpm пакете такая зависимость не зафиксирована, то это ошибка.

Нужно просто прописать у ntp более жёстку зависимость на версию openssl, с которой он собрался.

В этом случае при сборке следующей версии openssl его сразу пересоберут.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189002</commentid>
    <comment_count>23</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 14:20:21 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #22)

&gt; В принципе технически отправить на пересборку не должно быть сложным. Но -
&gt; если у содержимого пакета есть runtime зависимость на версию другого пакета,
&gt; а в rpm пакете такая зависимость не зафиксирована, то это ошибка.
&gt; 
&gt; Нужно просто прописать у ntp более жёстку зависимость на версию openssl, с
&gt; которой он собрался.
&gt; 
&gt; В этом случае при сборке следующей версии openssl его сразу пересоберут.

Как это сделать, не залезая в спек?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189003</commentid>
    <comment_count>24</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 14:32:00 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #23)

&gt; &gt; В этом случае при сборке следующей версии openssl его сразу пересоберут.
&gt; 
&gt; Как это сделать, не залезая в спек?

Другими словами, есть ли в rpm макрос, который определяет что-то аналогичное %EVR, но для пакета из BuildRequires? Если есть, то я тогда не прав. А если нет, то тогда это фичереквест для сборочницы. Или rpm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189005</commentid>
    <comment_count>25</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-31 15:08:58 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #14)
&gt; Повторю ещё раз:
&gt; - эта проверка в ntp очевидно неправильная;
&gt; - в пакетах бывают (возможно, зря, но бывают) жёсткие привязки к версиям
&gt; других пакетов.  Посмотрите, например, gvfs.spec

Есть и другие примеры, помимо gvfs.spec:

$ git grep &apos;^Requires: [^=]* = %{get_SVR&apos;
j/javazi/javazi.spec:Requires: tzdata = %{get_SVR tzdata}

$ git grep -Fw &apos;%{get_dep&apos;
f/fuse-7z/fuse-7z.spec:Requires: %{get_dep fuse}
g/gvfs/gvfs.spec:Requires: %{get_dep fuse3}
i/itest/itest.spec:Requires:	%{get_dep libqt4-core}
k/kde4-basket/basket.spec:Requires: %{get_dep kde4libs}
p/polkit-qt-1/policykit-qt.spec:Requires: %{get_dep libqt4-core}
s/sawfish/sawfish.spec:Requires: %{get_dep rep-gtk}

Зависит от требуемой степени жёсткости.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189006</commentid>
    <comment_count>26</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 15:23:17 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #25)

&gt; &gt; других пакетов.  Посмотрите, например, gvfs.spec

Тут почти всё задано жёстко. Есть get_dep(), но на общем объёме не заметно.

&gt; Есть и другие примеры, помимо gvfs.spec:
&gt; 
&gt; $ git grep &apos;^Requires: [^=]* = %{get_SVR&apos;
&gt; j/javazi/javazi.spec:Requires: tzdata = %{get_SVR tzdata}

А вот это то самое, да.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189007</commentid>
    <comment_count>27</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-03-31 15:29:23 +0300</bug_when>
    <thetext>$ git grep &apos;^Requires: [^%]*%{get_version&apos;
a/attica/attica.spec:Requires: libqt4-core &gt;= %{get_version libqt4-core}
k/kde4-kmldonkey/kmldonkey.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
k/kde4-smb4k/smb4k.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
k/kdevplatform/kdevplatform.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
k/kdevplatform/kdevplatform.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
k/kdevplatform/kdevplatform.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
k/kdevplatform/kdevplatform.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
k/kdevplatform/kdevplatform.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
l/libtag-extras/libtag-extras.spec:Requires: libtag &gt;= %{get_version libtag}
l/licq/licq.spec:Requires: kde4libs &gt;= %{get_version kde4libs}
l/licq/licq.spec:Requires: libqt4-core &gt;= %{get_version libqt4-core}
p/phonon/phonon.spec:Requires: libqt4-core &gt;= %{get_version libqt4-core}
p/polkit-qt-1/policykit-qt.spec:Requires: libqt4-core &gt;= %{get_version libqt4-core}
q/qimageblitz/qimageblitz.spec:Requires: libqt4-core &gt;= %{get_version libqt4-core}

В общем, много есть разных примеров.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189008</commentid>
    <comment_count>28</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-03-31 15:44:07 +0300</bug_when>
    <thetext>Достаточно было grep &quot;^%get_&quot; /usr/lib/rpm/x86_64-linux/macros
но спасибо. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189058</commentid>
    <comment_count>29</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-04-03 22:29:51 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #28)

&gt; Достаточно было grep &quot;^%get_&quot; /usr/lib/rpm/x86_64-linux/macros

Но что-то не получается...

Requires: libcrypto = %{get_version libssl-devel}

Локально это работает, но вот в сборочнице не очень:
error: line 51: Version required: Requires: libcrypto =

Я правильно понимаю, что не работать это может только по причине отсутствия libssl-devel на момент исполнения? Но зависимость на libssl-devel уже и через BuildPreReq описал. Сейчас в последней итерации попробовал в get_version написать libcrypto1.1, то же самое.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189059</commentid>
    <comment_count>30</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-04-03 22:40:22 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #29)
&gt; (In reply to Sergey Y. Afonin from comment #28)
&gt; 
&gt; &gt; Достаточно было grep &quot;^%get_&quot; /usr/lib/rpm/x86_64-linux/macros
&gt; 
&gt; Но что-то не получается...
&gt; 
&gt; Requires: libcrypto = %{get_version libssl-devel}
&gt; 
&gt; Локально это работает, но вот в сборочнице не очень:
&gt; error: line 51: Version required: Requires: libcrypto =

В дополнение ко всему, пакета libcrypto ещё и нет.  Попробуйте

%(rpmquery --qf &apos;Requires: %%{NAME} = %%{VERSION}&apos; libcrypto1.1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189060</commentid>
    <comment_count>31</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2020-04-03 23:33:25 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #30)

&gt; &gt; Requires: libcrypto = %{get_version libssl-devel}
&gt; &gt; 
&gt; &gt; Локально это работает, но вот в сборочнице не очень:
&gt; &gt; error: line 51: Version required: Requires: libcrypto =
&gt; 
&gt; В дополнение ко всему, пакета libcrypto ещё и нет.  Попробуйте

Так ругается же на отсутствие версии, а не пакета. По поводу пакета: в openssl есть &quot;Provides: libcrypto = %version-%release&quot;.
 
&gt; %(rpmquery --qf &apos;Requires: %%{NAME} = %%{VERSION}&apos; libcrypto1.1)

Так работает. А
Requires: libcrypto1.1 = %{get_version libcrypto1.1}
не работает тоже, хотя я не очень понимаю разницу в этом случае.

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

%(rpmquery --qf &apos;Requires: libcrypto = %%{VERSION}&apos; libssl-devel)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189061</commentid>
    <comment_count>32</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-04-04 00:37:03 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #31)
&gt; Вообще привязка к версии в имени - это то что хочется избежать как раз. В
&gt; принципе вот это тоже сработало, и вроде бы как пока задумано:
&gt; 
&gt; %(rpmquery --qf &apos;Requires: libcrypto = %%{VERSION}&apos; libssl-devel)

libcrypto - это версионированный provides, так что по идее тоже должно работать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189068</commentid>
    <comment_count>33</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-04-04 16:16:35 +0300</bug_when>
    <thetext>ntp-4.2.8p14-alt2 -&gt; sisyphus:

 Sat Apr 04 2020 Sergey Y. Afonin &lt;asy@altlinux&gt; 4.2.8p14-alt2
 - updated License tag to SPDX syntax, changed to GPL-3.0-or-later
 - added ntp-4.2.8p14-MD5-to-SHA1-default.patch (ALT #38300)
 - added libcrypto with build version to Requires (ALT #38287)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>