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

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

    <bug>
          <bug_id>37313</bug_id>
          <alias>python2</alias>
          <creation_ts>2019-10-08 14:14:03 +0300</creation_ts>
          <short_desc>[META] Удалить модули python2 из репозитория</short_desc>
          <delta_ts>2023-07-29 19:40:14 +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>python</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>METABUG</keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>32478</dependson>
    
    <dependson>36974</dependson>
    
    <dependson>37286</dependson>
    
    <dependson>37289</dependson>
    
    <dependson>37290</dependson>
    
    <dependson>37312</dependson>
    
    <dependson>37390</dependson>
    
    <dependson>38253</dependson>
    
    <dependson>38255</dependson>
    
    <dependson>38271</dependson>
    
    <dependson>39165</dependson>
    
    <dependson>39169</dependson>
    
    <dependson>39170</dependson>
    
    <dependson>39171</dependson>
    
    <dependson>39173</dependson>
    
    <dependson>39194</dependson>
    
    <dependson>39207</dependson>
    
    <dependson>39216</dependson>
    
    <dependson>39246</dependson>
    
    <dependson>39730</dependson>
    
    <dependson>39737</dependson>
    
    <dependson>39854</dependson>
    
    <dependson>39982</dependson>
    
    <dependson>40366</dependson>
    
    <dependson>40376</dependson>
    
    <dependson>40626</dependson>
    
    <dependson>40681</dependson>
    
    <dependson>40691</dependson>
    
    <dependson>40692</dependson>
    
    <dependson>40722</dependson>
    
    <dependson>40730</dependson>
    
    <dependson>40732</dependson>
    
    <dependson>40736</dependson>
    
    <dependson>40738</dependson>
    
    <dependson>40739</dependson>
    
    <dependson>40741</dependson>
    
    <dependson>40742</dependson>
    
    <dependson>40755</dependson>
    
    <dependson>40756</dependson>
    
    <dependson>40757</dependson>
    
    <dependson>40758</dependson>
    
    <dependson>47069</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Lipatov">lav</reporter>
          <assigned_to name="Ivan Zakharyaschev">imz</assigned_to>
          <cc>cow</cc>
    
    <cc>george</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>iv</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>mcpain</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>184816</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2019-10-08 14:14:03 +0300</bug_when>
    <thetext>В связи с окончанием срока жизни python 2 нам предстоит удалить интерпретатор и все модули python2 из репозитория.

Здесь можно отслеживать, какие нерешённые задачи этому мешают.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184830</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2019-10-09 11:12:23 +0300</bug_when>
    <thetext>Задача сформулирована неправильно, поскольку окончание официальной поддержки апстримом не приведёт к удалению python2 из репозитория.
Тем не менее, все проекты, которые можно перевести с python2 на python3, следует перевести, а все неиспользуемые модули python2 следует удалить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184831</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-10-09 12:11:11 +0300</bug_when>
    <thetext>Да, всё верно - нужно сделать так, что бы интерпретатор остался, но им никто не пользовался.

Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7.

Но это последнее, что надо будет чинить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184832</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-10-09 12:19:08 +0300</bug_when>
    <thetext>(В ответ на комментарий №1)

&gt; следует перевести, а все неиспользуемые модули python2 следует удалить.

С неиспользуемым модулями есть нюанс. У нас сейчас часто всё, что написано на python - называется python-module, хотя в них содержатся не только библиотеки python, то и бинарники в /usr/bin

Пример тому - python3-module-sphinx, который в общем то и модулем не является.

Надо, по хорошему, изменить политику и добавить разделение - прикладное ПО на python (например python-sphinx) и библиотека python (наприме python-module-sphinx). 

А ещё у нас всё, что .py во всём репозитории - считается rpm-build&apos;ом как python2. И это тоже приводит к непритносям при сборке python3 пакетов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184834</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2019-10-09 12:53:48 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
...
&gt; Надо, по хорошему, изменить политику и добавить разделение - прикладное ПО на
&gt; python (например python-sphinx) и библиотека python (наприме
&gt; python-module-sphinx). 
Я считаю, что это бага упаковки, когда программа лежит в python-module.
Но и префикс python добавлять не нужно к программам — кому какое дело, на чём она написана. А то так мы будем к каждой программе на go, ruby, python, tcl дописывать префикс. Можно начать с программ на C++ :) Тем более что программа может несколько языков использовать. Например, netdata.

&gt; А ещё у нас всё, что .py во всём репозитории - считается rpm-build&apos;ом как
&gt; python2. И это тоже приводит к непритносям при сборке python3 пакетов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191618</commentid>
    <comment_count>5</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2020-07-28 10:51:00 +0300</bug_when>
    <thetext>&gt; Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7.

А кстати зачем эта зависимость в rpmbuild? Легаси^WТрадиции?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191619</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-07-28 10:53:33 +0300</bug_when>
    <thetext>(In reply to Ivan A. Melnikov from comment #5)
&gt; &gt; Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7.
&gt; 
&gt; А кстати зачем эта зависимость в rpmbuild? Легаси^WТрадиции?

Они самые.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193679</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2020-10-31 17:51:21 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #1)
&gt; Задача сформулирована неправильно, поскольку окончание официальной поддержки
&gt; апстримом не приведёт к удалению python2 из репозитория.

Более того, в случае выполнения изначально означенной задачи к p10 он бы оказался для части пользователей сразу критически хуже CentOS 6/7/8: http://www.opennet.ru/opennews/art.shtml?num=39565

Бывают обезумевшие апстримы, пытающиеся сожрать себя сами вместо разумного пути развития и обновления плода своих трудов.  Так убивали Apache 1.3, KDE 3.5, затем вот Python 2.7 (и пытались убить Perl 5) -- при полностью непригодных к собственно эксплуатации &quot;новых версиях&quot; (в Apache 2.0 дырки долго чинили чуть ли не еженедельно, KDE4 стал притчей во языцех, с Python 2 явно уже никогда не мигрирует огромное количество того же научного софта).

Не понимаю, зачем нам-то поддаваться такому безумию.  Надо опять научиться выносить ещё работающие, но не поддерживаемые пакеты в contrib (от которого не должно зависеть ничто в основном сизифе/бранче) -- либо вернуться к main, от которого зависит примерно весь остальной репозиторий, но где мы можем себе позволить выписать то, что мы, собственно, берёмся обещать и ожидаем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193680</commentid>
    <comment_count>8</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2020-10-31 18:30:14 +0300</bug_when>
    <thetext>
(Ответ для Michael Shigorin на комментарий #7)
&gt; (Ответ для Dmitry V. Levin на комментарий #1)
&gt; &gt; Задача сформулирована неправильно, поскольку окончание официальной поддержки
&gt; &gt; апстримом не приведёт к удалению python2 из репозитория.
Да, лучше уточнить, что задача только в удалении всех модули python2 из репозитория. Пока python2 не перестанет пересобираться, вряд ли его кто-то решит удалять.
Более того, как я понимаю, в репозитории сейчас 1,5 тысячи пакетов используют python2 при сборке.

&gt; Более того, в случае выполнения изначально означенной задачи к p10 он бы
&gt; оказался для части пользователей сразу критически хуже CentOS 6/7/8:
&gt; http://www.opennet.ru/opennews/art.shtml?num=39565
Надеюсь, к p10 означенную задачу мы осилим.

&gt; Бывают обезумевшие апстримы, пытающиеся сожрать себя сами вместо разумного
&gt; пути развития и обновления плода своих трудов.  Так убивали Apache 1.3, KDE
&gt; 3.5, затем вот Python 2.7 (и пытались убить Perl 5) -- при полностью
&gt; непригодных к собственно эксплуатации &quot;новых версиях&quot; (в Apache 2.0 дырки
&gt; долго чинили чуть ли не еженедельно, KDE4 стал притчей во языцех, с Python 2
&gt; явно уже никогда не мигрирует огромное количество того же научного софта).
Я не знаю, как называются программные луддиты, которые продолжают использовать gtk1 и qt3.
 
&gt; Не понимаю, зачем нам-то поддаваться такому безумию.  Надо опять научиться
&gt; выносить ещё работающие, но не поддерживаемые пакеты в contrib (от которого
&gt; не должно зависеть ничто в основном сизифе/бранче) -- либо вернуться к main,
&gt; от которого зависит примерно весь остальной репозиторий, но где мы можем
&gt; себе позволить выписать то, что мы, собственно, берёмся обещать и ожидаем.
Обозначь цель, пожалуйста. А то не ясно, что ты предлагаешь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197411</commentid>
    <comment_count>9</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2021-03-31 00:05:19 +0300</bug_when>
    <thetext>(Ответ для Ivan A. Melnikov на комментарий #5)
&gt; &gt; Сейчас rpm-build зависит от python-2.7 через rpm-build-python и, соответственно, все пакеты в репозитории по сборке тянут python-2.7.
&gt; 
&gt; А кстати зачем эта зависимость в rpmbuild? Легаси^WТрадиции?

https://bugzilla.altlinux.org/show_bug.cgi?id=34308</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201608</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2021-08-16 12:49:30 +0300</bug_when>
    <thetext>Хозяйке на заметку:

---
Позвольте добавление. Astra на Debian 9.12. Из более новых версий выброшены Python 2.7 и вся обвязка. Поэтому исходя из требований прикладного ПО (не нашей разработки) мы не сможем перейти на более новые версии, в том числе Debian-а и деривативов. В Alt данные версии сохранены, и наше ПО работает в любой версии Альт. Просьба прокомментировать, если можно.
--- http://www.opennet.ru/openforum/vsluhforumID3/125028.html#170</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201609</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2021-08-16 12:57:17 +0300</bug_when>
    <thetext>chromium использует для сборки python2. Процесс миграции у них идёт, но полностью не завершён ещё. Причём в коде используются вот такие скрипты, чтобы умники не подменяли шебанг: 

http://git.altlinux.org/gears/c/chromium.git?p=chromium.git;a=blob;f=build/util/python2_action.py;h=609665b002795a6f6ffb4e72bc7ad9afef3240bf;hb=2314b04363d25339815c4ead9da917420dcc21ce

В текущем релизе chromium я бытался выкинуть python2, но без страшных хаков это сделать нельзя.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>