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

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

    <bug>
          <bug_id>39087</bug_id>
          
          <creation_ts>2020-10-16 16:39:54 +0300</creation_ts>
          <short_desc>На сборочнице в качестве llvm-devel гвоздями прибита 10 версия вместо 11</short_desc>
          <delta_ts>2021-06-21 01:33:54 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Infrastructure</classification>
          <product>Infrastructure</product>
          <component>girar</component>
          <version>unspecified</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="Aleksei Nikiforov">darktemplaralt</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>iv</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>shrek</cc>
    
    <cc>vseleznv</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>193301</commentid>
    <comment_count>0</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-10-16 16:39:54 +0300</bug_when>
    <thetext>$subj

Скорее всего это связано с https://bugzilla.altlinux.org/show_bug.cgi?id=38791#c13 и https://bugzilla.altlinux.org/show_bug.cgi?id=38791#c21

Лог ошибки:
http://git.altlinux.org/tasks/259989/build/200/x86_64/srpm.log

В нём есть следующая строка:
&lt;13&gt;Oct 16 11:46:14 rpmi: llvm10.0-devel-10.0.1-alt2 sisyphus+256264.100.7.1 1598863527 installed

Вместо llvm10.0-devel ожидается llvm11.0-devel.

При локальной сборке через hasher проблема не воспроизводится. Проблема проявляется исключительно на сборочнице.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193340</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-10-19 17:09:28 +0300</bug_when>
    <thetext>Честно говоря, я не в курсе, как сейчас на сборочнице обстоят дела с llvm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193354</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-10-20 13:38:22 +0300</bug_when>
    <thetext>К сожалению, при действующей схеме упаковки llvm дефолтная версия llvm вынужденно прибита гвоздями прямо в сборочной системе и влияет сразу на все репозитории.  Исправить это можно только одним способом: перейти на схему упаковки llvm, используемую для gcc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193358</commentid>
    <comment_count>3</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-10-20 14:32:02 +0300</bug_when>
    <thetext>Поскольку над заданием 259989 я продолжаю работать, документирую другой способ воспроизведения проблемы.

http://git.altlinux.org/gears/c/castxml.git?p=castxml.git;a=blob;f=.gear/castxml.spec;h=87a7c818fdc62dbe0c60bde5cb3330ef68b86367;hb=0c4e80cbd9afff5dc0d653be5bb4022dc7510576#l15

Здесь указано llvm-devel без явной версии.

В логе ежедневной пересборки:

http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/success/castxml-0.3.6-alt1

&lt;13&gt;Oct 20 05:41:20 rpmi: llvm10.0-devel-10.0.1-alt2 sisyphus+256264.100.7.1 1598863527 installed

Ожидается, аналогично примеру выше, llvm11.0-devel на текущий момент.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193359</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-10-20 14:36:26 +0300</bug_when>
    <thetext>В тестовой пересборке, как и в основной, следующие пакеты прибиты гвоздями:

  clang10.0
  clang10.0-analyzer
  clang10.0-devel
  clang10.0-devel-static
  clang10.0-doc
  clang10.0-libs
  lld10.0
  lld10.0-devel
  lld10.0-doc
  llvm10.0
  llvm10.0-devel
  llvm10.0-devel-static
  llvm10.0-doc
  llvm10.0-libs

Гвозди по сути одинаковые, но прибиты в двух разных местах.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193360</commentid>
    <comment_count>5</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-10-20 14:49:23 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #2)
&gt; К сожалению, при действующей схеме упаковки llvm дефолтная версия llvm
&gt; вынужденно прибита гвоздями прямо в сборочной системе и влияет сразу на все
&gt; репозитории.  Исправить это можно только одним способом: перейти на схему
&gt; упаковки llvm, используемую для gcc.

Тут дело не только в схеме сборки llvm, но и в выборе виртуального пакета llvm-devel и других таких пакетов через виртуальные provide с помощью hasher, который в свою очередь использует для этого apt.

Например, сейчас в p9 есть llvm10.0-devel-10.0.0-alt0.1.p9 с виртуальным provide &quot;llvm-devel = 10.0.0-alt0.1.p9&quot; и llvm7.0-devel-7.0.1-alt4.rel с виртуальным provide &quot;llvm-devel = 7.0.1-alt4.rel&quot;.

Насколько я помню, из-за кривого алгоритма сравнения, т.е. фактически посимвольного сравнения, в apt версия 7.0.1-alt4.rel внезапно оказывается &quot;выше&quot; чем 10.0.0-alt0.1.p9, поскольку &quot;7 &gt; 1&quot;, и выбирается на самом деле более старая версия llvm-devel.

&gt; Исправить это можно только одним способом: ...

Если это сравнение версий исправить, то костыли в сборочнице больше не будут нужны. Что-то мешает исправлению данной проблемы через исправление связки hasher+apt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193375</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-10-21 09:30:27 +0300</bug_when>
    <thetext>(In reply to Aleksei Nikiforov from comment #5)
&gt; Что-то мешает исправлению данной проблемы через исправление связки
&gt; hasher+apt?

Оставляя в стороне ваш анализ ситуации с выбором пакетов, могу заметить, что hasher к выбору пакетов отношения не имеет.

Что касается каких-либо нетривиальных изменений в apt, то их намертво заблокировал packagekit, за что вам отдельное спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193380</commentid>
    <comment_count>7</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-10-21 10:43:11 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #6)
&gt; (In reply to Aleksei Nikiforov from comment #5)
&gt; &gt; Что-то мешает исправлению данной проблемы через исправление связки
&gt; &gt; hasher+apt?
&gt; 
&gt; Оставляя в стороне ваш анализ ситуации с выбором пакетов, могу заметить, что
&gt; hasher к выбору пакетов отношения не имеет.
&gt; 

hasher делегирует резолвинг пакетов и их версий apt-у, т.е. косвенно участвует в этом процессе.

&gt; Что касается каких-либо нетривиальных изменений в apt, то их намертво
&gt; заблокировал packagekit, за что вам отдельное спасибо.

И это заявление тоже не соответствует действительности.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193388</commentid>
    <comment_count>8</comment_count>
    <who name="Vladimir D. Seleznev">vseleznv</who>
    <bug_when>2020-10-21 13:40:03 +0300</bug_when>
    <thetext>(In reply to Aleksei Nikiforov from comment #5)
&gt; Насколько я помню, из-за кривого алгоритма сравнения, т.е. фактически
&gt; посимвольного сравнения, в apt версия 7.0.1-alt4.rel внезапно оказывается
&gt; &quot;выше&quot; чем 10.0.0-alt0.1.p9, поскольку &quot;7 &gt; 1&quot;, и выбирается на самом деле
&gt; более старая версия llvm-devel.

Нет, apt использует rpmvercmp() из librpm, поэтому 7.0.1-alt4.rel должно быть меньше, чем 10.0.0-alt0.1.p9. Или я неправильно понял проблему?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193391</commentid>
    <comment_count>9</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-10-21 14:17:16 +0300</bug_when>
    <thetext>(Ответ для Vladimir D. Seleznev на комментарий #8)
&gt; (In reply to Aleksei Nikiforov from comment #5)
&gt; &gt; Насколько я помню, из-за кривого алгоритма сравнения, т.е. фактически
&gt; &gt; посимвольного сравнения, в apt версия 7.0.1-alt4.rel внезапно оказывается
&gt; &gt; &quot;выше&quot; чем 10.0.0-alt0.1.p9, поскольку &quot;7 &gt; 1&quot;, и выбирается на самом деле
&gt; &gt; более старая версия llvm-devel.
&gt; 
&gt; Нет, apt использует rpmvercmp() из librpm, поэтому 7.0.1-alt4.rel должно
&gt; быть меньше, чем 10.0.0-alt0.1.p9. Или я неправильно понял проблему?

Возможно, где-то и используется, но похоже не везде.

Воспроизведение этой проблемы в apt (и hasher) простое.

Берём виртуалку (или реальную машину) с p9, полностью обновлённую, без установленных пакетов llvm*-devel.

# apt-get install llvm-devel
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Виртуальный пакет llvm-devel предоставляется следующими пакетами:
  llvm7.0-devel p9+229920.100.1.1@1558623861
  llvm10.0-devel p9+251708.500.4.1@1589910711
Необходимо точно указать, какой из пакетов должен быть установлен.
E: Виртуальный пакет llvm-devel предоставляется многими пакетами.

Можно заметить, что llvm7.0-devel стоит выше, чем llvm10.0-devel. hasher вызывает примерно такую-же команду, но с какими-то дополнительными опциями или настройками чтобы apt не выходил с ошибкой, а устанавливал самую свежую версию (верхнюю из такого списка).

Та же самая команда на свежем Сизифе:
# apt-get install llvm-devel
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Виртуальный пакет llvm-devel предоставляется следующими пакетами:
  llvm11.0-devel sisyphus+259849.100.1.1@1602620070
  llvm10.0-devel sisyphus+256264.100.7.1@1598863527
Необходимо точно указать, какой из пакетов должен быть установлен.
E: Виртуальный пакет llvm-devel предоставляется многими пакетами.

Можно убедиться в описаном выше предположении. Поставил на эту же машину с p9 hasher и добавил пользователю нужные настройки через hasher-useradd и перелогинился.

$ hsh --initroot-only
$ hsh-install llvm-devel

В выводе будет llvm7.0-devel, а не llvm10.0-devel.

Из-за этой проблемы, похоже, на сборочницу был вкорячен костыль для выбора llvm10.0 вместо llvm9.0 или llvm7.0, и теперь он даёт о себе знать, выбирая на сборочнице llvm10.0 вместо llvm11.0. А локально всё в порядке.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193396</commentid>
    <comment_count>10</comment_count>
    <who name="Vladimir D. Seleznev">vseleznv</who>
    <bug_when>2020-10-21 15:34:07 +0300</bug_when>
    <thetext>(In reply to Aleksei Nikiforov from comment #9)
&gt; (Ответ для Vladimir D. Seleznev на комментарий #8)
&gt; &gt; (In reply to Aleksei Nikiforov from comment #5)
&gt; &gt; &gt; Насколько я помню, из-за кривого алгоритма сравнения, т.е. фактически
&gt; &gt; &gt; посимвольного сравнения, в apt версия 7.0.1-alt4.rel внезапно оказывается
&gt; &gt; &gt; &quot;выше&quot; чем 10.0.0-alt0.1.p9, поскольку &quot;7 &gt; 1&quot;, и выбирается на самом деле
&gt; &gt; &gt; более старая версия llvm-devel.
&gt; &gt; 
&gt; &gt; Нет, apt использует rpmvercmp() из librpm, поэтому 7.0.1-alt4.rel должно
&gt; &gt; быть меньше, чем 10.0.0-alt0.1.p9. Или я неправильно понял проблему?
&gt; 
&gt; Возможно, где-то и используется, но похоже не везде.
&gt; 
&gt; Воспроизведение этой проблемы в apt (и hasher) простое.
&gt; 
&gt; Берём виртуалку (или реальную машину) с p9, полностью обновлённую, без
&gt; установленных пакетов llvm*-devel.
&gt; 
&gt; # apt-get install llvm-devel
&gt; Чтение списков пакетов... Завершено
&gt; Построение дерева зависимостей... Завершено
&gt; Виртуальный пакет llvm-devel предоставляется следующими пакетами:
&gt;   llvm7.0-devel p9+229920.100.1.1@1558623861
&gt;   llvm10.0-devel p9+251708.500.4.1@1589910711
&gt; Необходимо точно указать, какой из пакетов должен быть установлен.
&gt; E: Виртуальный пакет llvm-devel предоставляется многими пакетами.
&gt; 
&gt; Можно заметить, что llvm7.0-devel стоит выше, чем llvm10.0-devel. hasher
&gt; вызывает примерно такую-же команду, но с какими-то дополнительными опциями
&gt; или настройками чтобы apt не выходил с ошибкой, а устанавливал самую свежую
&gt; версию (верхнюю из такого списка).
&gt; 
&gt; Та же самая команда на свежем Сизифе:
&gt; # apt-get install llvm-devel
&gt; Чтение списков пакетов... Завершено
&gt; Построение дерева зависимостей... Завершено
&gt; Виртуальный пакет llvm-devel предоставляется следующими пакетами:
&gt;   llvm11.0-devel sisyphus+259849.100.1.1@1602620070
&gt;   llvm10.0-devel sisyphus+256264.100.7.1@1598863527
&gt; Необходимо точно указать, какой из пакетов должен быть установлен.
&gt; E: Виртуальный пакет llvm-devel предоставляется многими пакетами.
&gt; 
&gt; Можно убедиться в описаном выше предположении. Поставил на эту же машину с
&gt; p9 hasher и добавил пользователю нужные настройки через hasher-useradd и
&gt; перелогинился.
&gt; 
&gt; $ hsh --initroot-only
&gt; $ hsh-install llvm-devel
&gt; 
&gt; В выводе будет llvm7.0-devel, а не llvm10.0-devel.

Попробовал на Сизифе. Не воспроизвелось:

$ hsh --ini
[...skip...]
$ hsh-install llvm-devel
&lt;13&gt;Oct 21 12:06:31 rpmi: llvm11.0-libs-11.0.0-alt1 sisyphus+259849.100.1.1 1602620070 installed
&lt;13&gt;Oct 21 12:06:37 rpmi: clang11.0-libs-11.0.0-alt1 sisyphus+259849.100.1.1 1602620070 installed
&lt;13&gt;Oct 21 12:06:38 rpmi: llvm11.0-11.0.0-alt1 sisyphus+259849.100.1.1 1602620070 installed
&lt;13&gt;Oct 21 12:06:39 rpmi: llvm11.0-devel-11.0.0-alt1 sisyphus+259849.100.1.1 1602620070 installed

Попробовал ещё три раза после этого: результат такой же.

Для репозитория p9 действительно hsh-install llvm-devel устанавливает llvm7.0-devel. Очень странно, надо исследовать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193397</commentid>
    <comment_count>11</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2020-10-21 15:41:58 +0300</bug_when>
    <thetext>(Ответ для Vladimir D. Seleznev на комментарий #10)
&gt; Попробовал на Сизифе. Не воспроизвелось:
&gt; 

Релевантный отрывок из https://bugzilla.altlinux.org/show_bug.cgi?id=39087#c9:

&gt; теперь он даёт о себе знать, выбирая на сборочнице llvm10.0 вместо llvm11.0. А локально всё в порядке.

Акцентирую: &quot;А локально всё в порядке.&quot;

&gt; $ hsh --ini
&gt; [...skip...]
&gt; $ hsh-install llvm-devel
&gt; &lt;13&gt;Oct 21 12:06:31 rpmi: llvm11.0-libs-11.0.0-alt1 sisyphus+259849.100.1.1
&gt; 1602620070 installed
&gt; &lt;13&gt;Oct 21 12:06:37 rpmi: clang11.0-libs-11.0.0-alt1 sisyphus+259849.100.1.1
&gt; 1602620070 installed
&gt; &lt;13&gt;Oct 21 12:06:38 rpmi: llvm11.0-11.0.0-alt1 sisyphus+259849.100.1.1
&gt; 1602620070 installed
&gt; &lt;13&gt;Oct 21 12:06:39 rpmi: llvm11.0-devel-11.0.0-alt1 sisyphus+259849.100.1.1
&gt; 1602620070 installed
&gt; 
&gt; Попробовал ещё три раза после этого: результат такой же.
&gt; 
&gt; Для репозитория p9 действительно hsh-install llvm-devel устанавливает
&gt; llvm7.0-devel. Очень странно, надо исследовать.

А на сборочнице вместо llvm7.0-devel в p9 будет llvm10.0-devel, скорее всего.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193641</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-10-30 15:16:58 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #4)
&gt; В тестовой пересборке, как и в основной, следующие пакеты прибиты гвоздями:
&gt; 
&gt;   clang10.0
&gt;   clang10.0-analyzer
&gt;   clang10.0-devel
&gt;   clang10.0-devel-static
&gt;   clang10.0-doc
&gt;   clang10.0-libs
&gt;   lld10.0
&gt;   lld10.0-devel
&gt;   lld10.0-doc
&gt;   llvm10.0
&gt;   llvm10.0-devel
&gt;   llvm10.0-devel-static
&gt;   llvm10.0-doc
&gt;   llvm10.0-libs
&gt; 
&gt; Гвозди по сути одинаковые, но прибиты в двух разных местах.

В качестве &quot;временного&quot; решения можно добавить в этот список аналогичные имена с 11.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195300</commentid>
    <comment_count>13</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2021-01-07 13:59:54 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #2)
&gt; К сожалению, при действующей схеме упаковки llvm дефолтная версия llvm
&gt; вынужденно прибита гвоздями прямо в сборочной системе и влияет сразу на все
&gt; репозитории.  Исправить это можно только одним способом: перейти на схему
&gt; упаковки llvm, используемую для gcc.

Задание http://webery.altlinux.org/263468, помимо своих прочих преимуществ, призвано разрешить эту багу для мажорных версий llvm &gt;= 11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196172</commentid>
    <comment_count>14</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-02-11 12:19:58 +0300</bug_when>
    <thetext>Тем временем 1-го ноября были добавлены коммиты (girar 0fdadcc20a0e9d83102a87aae06646b2a1dcc3df, beehive d09ca702ea5adbcbb3da7469f60e4dc5d21789ce) с говздями про clang11/llvm11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196173</commentid>
    <comment_count>15</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2021-02-11 12:25:38 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #14)
&gt; Тем временем 1-го ноября были добавлены коммиты (girar
&gt; 0fdadcc20a0e9d83102a87aae06646b2a1dcc3df, beehive
&gt; d09ca702ea5adbcbb3da7469f60e4dc5d21789ce) с говздями про clang11/llvm11.
И похоже это не сработало:

http://git.altlinux.org/tasks/266163/build/100/x86_64/srpm.log

&lt;13&gt;Feb 11 07:23:34 rpmi: clang10.0-10.0.1-alt2 sisyphus+256264.100.7.1 1598863527 installed
&lt;13&gt;Feb 11 07:23:34 rpmi: clang10.0-devel-10.0.1-alt2 sisyphus+256264.100.7.1 1598863527 installed
&lt;13&gt;Feb 11 07:23:35 rpmi: llvm10.0-10.0.1-alt2 sisyphus+256264.100.7.1 1598863527 installed
&lt;13&gt;Feb 11 07:23:35 rpmi: llvm10.0-devel-10.0.1-alt2 sisyphus+256264.100.7.1 1598863527 installed

http://git.altlinux.org/tasks/266163/gears/100/git?p=git;a=blob;f=.gear/castxml.spec;h=46e76ca884ce5264cf8fe2d32b4bbe384e214d62;hb=ba8a08ae66c9897db8bf3fcb52a0ba15c846be89#l15

  15 BuildRequires: llvm-devel lld
  16 # The llvm cmake files get confused if the static libraries are
  17 # not present even though we don&apos;t link against them.
  18 BuildRequires: llvm-devel-static
  19 BuildRequires: clang-devel
  20 # Required clang libraries are built statically at the moment
  21 BuildRequires: clang-devel-static</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196174</commentid>
    <comment_count>16</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2021-02-11 12:44:14 +0300</bug_when>
    <thetext>Отмечу, что только что ещё раз взял и проверил локальную сборку. На текущем Сизифе и локально приезжает llvm10.0...

Стал проверять и заметил следующее:

При использовании архива за 2020/10/15 с llvm11.0-11.0.0-alt1 локально приезжает llvm11.0-devel/clang11.0-devel.

При использовании архива за 2020/01/10 с llvm11.0-11.0.0-alt2 локально уже приезжает llvm10.0-devel/clang10.0-devel.

С учётом того, что теперь проблема воспроизводится локально, нельзя определить точно есть ли проблема на сборочнице. Вполне возможно, что указанные ранее коммиты поправили её. Также есть небольшая вероятность, что сборка llvm11.0-11.0.0-alt2 могла вновь внести эту проблему и на сборочницу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196175</commentid>
    <comment_count>17</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2021-02-11 12:46:00 +0300</bug_when>
    <thetext>(Ответ для Aleksei Nikiforov на комментарий #16)
&gt; При использовании архива за 2020/01/10 с llvm11.0-11.0.0-alt2 локально уже
&gt; приезжает llvm10.0-devel/clang10.0-devel.

2020/01/10 -&gt; 2021/01/10</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196204</commentid>
    <comment_count>18</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-02-12 02:54:25 +0300</bug_when>
    <thetext>Так, с появлением llvm-common-* старые гвозди стали мешать.
Осталось понять, достаточно ли их просто удалить, или теперь вместо них надо прибить гвоздями llvm-common-*?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196207</commentid>
    <comment_count>19</comment_count>
    <who name="Aleksei Nikiforov">darktemplaralt</who>
    <bug_when>2021-02-12 10:37:11 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #18)
&gt; Так, с появлением llvm-common-* старые гвозди стали мешать.
&gt; Осталось понять, достаточно ли их просто удалить, или теперь вместо них надо
&gt; прибить гвоздями llvm-common-*?

Я думаю, лучшим вариантом было бы сначала решить проблему при локальной сборке, а уже затем смотреть надо ли что-либо дополнительно делать на стороне сборочницы. Эта бага была мной создана именно из-за расхождения поведения на сборке локально и на сборочнице. Сейчас такого расхождения не видно на Сизифе.

Ещё, если бы Вы об этих изменениях на сборочнице сообщили раньше, можно было бы все пакеты уже давно без проблем пересобрать с llvm11.0 и при отсутствии необходимости - удалить llvm10.0 из Сизифа. Или же Вы могли сами пересобрать эти пакеты. Я уверен, что почти для всех достаточно было сделать пересборку без всяких изменений. К сожалению, возможность была упущена, а у меня самостоятельно узнать о том, что на сборочнице данная проблема была исправлена, возможности не было.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196219</commentid>
    <comment_count>20</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-02-12 14:05:31 +0300</bug_when>
    <thetext>Поменял гвозди, результат:

$ echo clang10.0 |join -11 -22 -o2.1 - /beehive/stats/Sisyphus-x86_64/ufb-2 |join -t$&apos;\t&apos; - /ALT/acl/list.packages.sisyphus 
bcc	vt @everybody
bpftrace	vt @everybody
deepin-draw	lvol @everybody
firefox-esr	cas @everybody
ispc	vt @everybody
llvm10.0	shrek
python3-module-llvmlite	grenka @python</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196254</commentid>
    <comment_count>21</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2021-02-16 00:57:38 +0300</bug_when>
    <thetext>Я тут наворотил вот такое задание:

http://webery.altlinux.org/log/sisyphus/tested/266316/logs/events.1.1.log

#100 llvm-common 11.0.1-alt1 -&gt; 11.0.1-alt2
 Sun Feb 14 2021 Arseny Maslennikov &lt;arseny@altlinux&gt; 11.0.1-alt2
 - Obsolete the Sisyphus LLVM packages that do not use llvm-alt-tool-wrappers.

% git diff 11.0.1-alt1..@^
diff --git a/llvm-common.spec b/llvm-common.spec
index fe75248..8de6698 100644
--- a/llvm-common.spec
+++ b/llvm-common.spec
@@ -15,6 +15,20 @@ Source: llvm-alt-tool-wrapper.c
 Source1: alt-packaging-wrap-cmake-script
 Source2: alt-packaging-produce-rpm-macros-llvm-common
 
+# We want to have these obsoletions to win apt&apos;s generic provider selection
+# against pre-wrapped llvm packages.
+Obsoletes: clang              &lt;= 11.0.0-alt1
+Obsoletes: clang-devel        &lt;= 11.0.0-alt1
+Obsoletes: clang-devel-static &lt;= 11.0.0-alt1
+Obsoletes: clang-doc          &lt;= 11.0.0-alt1
+Obsoletes: lld                &lt;= 11.0.0-alt1
+Obsoletes: lld-devel          &lt;= 11.0.0-alt1
+Obsoletes: lld-doc            &lt;= 11.0.0-alt1
+Obsoletes: llvm               &lt;= 11.0.0-alt1
+Obsoletes: llvm-devel         &lt;= 11.0.0-alt1
+Obsoletes: llvm-devel-static  &lt;= 11.0.0-alt1
+Obsoletes: llvm-doc           &lt;= 11.0.0-alt1
+
 %define _libexecdir /usr/libexec
 
 %package -n rpm-macros-%name

Возможно, это изменение способно заменить гвозди.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196255</commentid>
    <comment_count>22</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-02-16 01:35:48 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #21)
&gt; Я тут наворотил вот такое задание:
&gt; 
&gt; http://webery.altlinux.org/log/sisyphus/tested/266316/logs/events.1.1.log
&gt; 
&gt; #100 llvm-common 11.0.1-alt1 -&gt; 11.0.1-alt2
&gt;  Sun Feb 14 2021 Arseny Maslennikov &lt;arseny@altlinux&gt; 11.0.1-alt2
&gt;  - Obsolete the Sisyphus LLVM packages that do not use
&gt; llvm-alt-tool-wrappers.
[...]
&gt; Возможно, это изменение способно заменить гвозди.

Боюсь, что мы это узнаем не раньше, чем оно будет закоммичено.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196268</commentid>
    <comment_count>23</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2021-02-16 11:56:11 +0300</bug_when>
    <thetext>(In reply to Dmitry V. Levin from comment #22)
&gt; (In reply to Arseny Maslennikov from comment #21)
&gt; &gt; Я тут наворотил вот такое задание:
&gt; &gt; 
&gt; &gt; http://webery.altlinux.org/log/sisyphus/tested/266316/logs/events.1.1.log
&gt; &gt; Возможно, это изменение способно заменить гвозди.
&gt; 
&gt; Боюсь, что мы это узнаем не раньше, чем оно будет закоммичено.

Ну ладно, засунул в сизиф.
[#266316] DONE (try 2) llvm-common.git=11.0.1-alt2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199325</commentid>
    <comment_count>24</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-06-21 01:33:54 +0300</bug_when>
    <thetext>После коммита 175105ed3117a4a14b512007a2c89c5b4b0c80af версия llvm больше не прибита гвоздями.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>