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

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

    <bug>
          <bug_id>39039</bug_id>
          
          <creation_ts>2020-10-05 19:06:05 +0300</creation_ts>
          <short_desc>Конфликтует с python-module-intelhex</short_desc>
          <delta_ts>2020-10-06 13:40: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>python3-module-intelhex</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Антон Мидюков">antohami</reporter>
          <assigned_to name="root@altlinux.org">root</assigned_to>
          <cc>root</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>193029</commentid>
    <comment_count>0</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-10-05 19:06:05 +0300</bug_when>
    <thetext>python3-module-intelhex конфликтует с python-module-intelhex. И там и там опакечен одинаковый %_bindir/*
python-module-intelhex из Сизифа удалён, но проблему конфликта это никак не решает для тех, у кого пакет уже установлен.
Выхода вижу два: назначить Obsoletes: python-module-intelhex, либо переименовать файлы в %_bindir/, заменив окончание .py на .py3

Какой вариант предпочтительнее?

Сдаётся мне, таких пакетов у нас много.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193030</commentid>
    <comment_count>1</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2020-10-05 19:30:49 +0300</bug_when>
    <thetext>У нас таких пакетов много. Предпочтительнее делать conflicts-obsoletes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193031</commentid>
    <comment_count>2</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-10-05 19:50:05 +0300</bug_when>
    <thetext>(Ответ для Grigory Ustinov на комментарий #1)
&gt; У нас таких пакетов много. Предпочтительнее делать conflicts-obsoletes.

А obsoletes разве недостаточно? Нужен ещё и conflicts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193033</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2020-10-05 20:48:27 +0300</bug_when>
    <thetext>На каком основании указываете Obsoletes? Модули python3 ни разу не obsolete для python. Мне кажется корректно указывать только конфликт.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193034</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-10-05 21:45:20 +0300</bug_when>
    <thetext>(Ответ для Alexey Shabalin на комментарий #3)
&gt; На каком основании указываете Obsoletes? Модули python3 ни разу не obsolete
&gt; для python. Мне кажется корректно указывать только конфликт.
В ряде случаев, когда python2-пакет содержал команду, разумно заместить эту команду командой из пакета python3.

&gt; либо переименовать файлы в %_bindir/, заменив окончание .py на .py3
Обычно в bindir кладут файлы без расширения, поэтому я бы всячески боролся с .py3. Если кому-то очень надо, можно .py2 сделать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193035</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2020-10-05 23:36:42 +0300</bug_when>
    <thetext>(Ответ для Vitaly Lipatov на комментарий #4)
&gt; (Ответ для Alexey Shabalin на комментарий #3)
&gt; &gt; На каком основании указываете Obsoletes? Модули python3 ни разу не obsolete
&gt; &gt; для python. Мне кажется корректно указывать только конфликт.
&gt; В ряде случаев, когда python2-пакет содержал команду, разумно заместить эту
&gt; команду командой из пакета python3.
&gt; 

Я придираюсь, но &quot;разумность&quot; тут не то определение :) Удобство, замести мусор под ковер, или что-то аналогичное, но не разумность :)

Представьте, что в каком-то пакете (программе на python2) вручную выставлена зависимость на python-module-foo,которая автоматом не вычисляется (autoreq для python2 не идеален), если вместо него прилетит по зависимости python3-module-foo, то получим нерабочую программу.
Так что для одинаковых бинарников (скриптов в /usr/bin)  будет более честно выставить конфликт.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193038</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-10-06 00:51:48 +0300</bug_when>
    <thetext>(Ответ для Alexey Shabalin на комментарий #5)
&gt; (Ответ для Vitaly Lipatov на комментарий #4)
&gt; &gt; (Ответ для Alexey Shabalin на комментарий #3)
&gt; &gt; &gt; На каком основании указываете Obsoletes? Модули python3 ни разу не obsolete
&gt; &gt; &gt; для python. Мне кажется корректно указывать только конфликт.
&gt; &gt; В ряде случаев, когда python2-пакет содержал команду, разумно заместить эту
&gt; &gt; команду командой из пакета python3.
&gt; &gt; 
&gt; 
&gt; Я придираюсь, но &quot;разумность&quot; тут не то определение :) Удобство, замести
&gt; мусор под ковер, или что-то аналогичное, но не разумность :)
&gt; 
&gt; Представьте, что в каком-то пакете (программе на python2) вручную выставлена
&gt; зависимость на python-module-foo,которая автоматом не вычисляется (autoreq
&gt; для python2 не идеален), если вместо него прилетит по зависимости
&gt; python3-module-foo, то получим нерабочую программу.
&gt; Так что для одинаковых бинарников (скриптов в /usr/bin)  будет более честно
&gt; выставить конфликт.
Возможно, есть путаница с Provides.
Если пакет содержит переиспользуемые модули, Provides там быть не должно.
Но при Obsoletes пакет не прилетит вместо. Он удалит собой python-module-foo. И тот пакет, который его требовал, будет вынужден удалиться тоже.

То есть
Conflicts точно (поскольку есть пересечение по файлам).
Provides — нет
Obsoletes — если мы хотим предложить ту же команду, и заместить старый пакет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193039</commentid>
    <comment_count>7</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-10-06 05:55:28 +0300</bug_when>
    <thetext>Есть же ещё один вариант. Вынести %_bindir/ из пакета в отдельный пакет. И назначить конфликт ему. Это позволит одновременно использовать python3-module, не удаляя старый python-module.

Может стоит поставить вопрос о введении политики запрета упаковки %_bindir в python3-module? Раз модуль, то там должен быть только модуль.

(Ответ для Vitaly Lipatov на комментарий #4)
&gt; Обычно в bindir кладут файлы без расширения, поэтому я бы всячески боролся с
&gt; .py3. Если кому-то очень надо, можно .py2 сделать.

А как вариант с окончанием -py и -py3?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193064</commentid>
    <comment_count>8</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-10-06 13:07:47 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #7)
&gt; Есть же ещё один вариант. Вынести %_bindir/ из пакета в отдельный пакет. И
&gt; назначить конфликт ему. Это позволит одновременно использовать
&gt; python3-module, не удаляя старый python-module.
&gt; 
&gt; Может стоит поставить вопрос о введении политики запрета упаковки %_bindir в
&gt; python3-module? Раз модуль, то там должен быть только модуль.
Хорошее предложение. И надо его совместить с запретом провайдить модули python, если пакет не python3-module. Чтобы разные серверы и программы не провайдили свои потроха, предназначенные для внутреннего использования. Лучше, конечно, не в публичный site-packages их ставить, но я не знаю, как.

&gt; (Ответ для Vitaly Lipatov на комментарий #4)
&gt; &gt; Обычно в bindir кладут файлы без расширения, поэтому я бы всячески боролся с
&gt; &gt; .py3. Если кому-то очень надо, можно .py2 сделать.
&gt; 
&gt; А как вариант с окончанием -py и -py3?
Мне кажется, название команд нельзя менять, их же потом скрипты не найдут. Сейчас python2 в прошлом, и я бы перестал его учитывать. Другое дело, что скоро у нас в пакетах python3-modules- будут лежать модули для 4-го питона :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193065</commentid>
    <comment_count>9</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-10-06 13:08:25 +0300</bug_when>
    <thetext>python3-module-intelhex-2.2.1-alt3 -&gt; sisyphus:

 Tue Oct 06 2020 Grigory Ustinov &lt;grenka@altlinux&gt; 2.2.1-alt3
 - Fix port on python3 (Closes: #39039).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193066</commentid>
    <comment_count>10</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-10-06 13:32:23 +0300</bug_when>
    <thetext>(Ответ для Repository Robot на комментарий #9)
&gt; python3-module-intelhex-2.2.1-alt3 -&gt; sisyphus:
&gt; 
&gt;  Tue Oct 06 2020 Grigory Ustinov &lt;grenka@altlinux&gt; 2.2.1-alt3
&gt;  - Fix port on python3 (Closes: #39039).

Договорились же не делать obsoletes?
http://git.altlinux.org/gears/p/python3-module-intelhex.git?p=python3-module-intelhex.git;a=commitdiff;h=c97b02b48f0d5531e8034837892e04423c918199</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193067</commentid>
    <comment_count>11</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2020-10-06 13:40:46 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #10)
&gt; (Ответ для Repository Robot на комментарий #9)
&gt; &gt; python3-module-intelhex-2.2.1-alt3 -&gt; sisyphus:
&gt; &gt; 
&gt; &gt;  Tue Oct 06 2020 Grigory Ustinov &lt;grenka@altlinux&gt; 2.2.1-alt3
&gt; &gt;  - Fix port on python3 (Closes: #39039).
&gt; 
&gt; Договорились же не делать obsoletes?
&gt; http://git.altlinux.org/gears/p/python3-module-intelhex.git?p=python3-module-
&gt; intelhex.git;a=commitdiff;h=c97b02b48f0d5531e8034837892e04423c918199

Кто договорился? Я делаю так, как делал с другими питоновскими модулями. Я ни с кем ни о чём договаривался.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>