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

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

    <bug>
          <bug_id>39613</bug_id>
          
          <creation_ts>2021-01-27 12:12:14 +0300</creation_ts>
          <short_desc>[5.0] join neurofreak@</short_desc>
          <delta_ts>2021-07-11 10:31:35 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Team Accounts</product>
          <component>join</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>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="neurofreak-alt@yandex.ru">neurofreak-alt</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>antohami</cc>
    
    <cc>bircoph</cc>
    
    <cc>glebfm</cc>
    
    <cc>grenka</cc>
    
    <cc>ldv</cc>
    
    <cc>m</cc>
    
    <cc>mike</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195772</commentid>
    <comment_count>0</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-01-27 12:12:14 +0300</bug_when>
    <thetext>Псевдоним участника: neurofreak
Адрес почты: neurofreak-alt@yandex.ru
Имя ментора: Mikhail Novosyolov &lt;mikhailnov@altlinux.org&gt;
Цель: Освоить git.alt на примере сборки пакета bookworm, есть мысли по сборке других пакетов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195773</commentid>
    <comment_count>1</comment_count>
      <attachid>9159</attachid>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-01-27 12:15:49 +0300</bug_when>
    <thetext>Created attachment 9159
Публичная часть SSH-ключа</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195774</commentid>
    <comment_count>2</comment_count>
      <attachid>9160</attachid>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-01-27 12:16:40 +0300</bug_when>
    <thetext>Created attachment 9160
Публичная часть GPG-ключа</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195775</commentid>
    <comment_count>3</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-01-27 12:21:30 +0300</bug_when>
    <thetext>Ментор подтверждает менторство</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195776</commentid>
    <comment_count>4</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-01-27 12:29:38 +0300</bug_when>
    <thetext>Там есть готовый к отправке в сизиф пакет, можно сразу права на сборку в сборочнице дать, т.к. кандидат умеет собирать локально, теперь нужно в сборочнице.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195906</commentid>
    <comment_count>5</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2021-02-01 14:40:45 +0300</bug_when>
    <thetext>(Ответ для mikhailnov на комментарий #3)
&gt; Ментор подтверждает менторство
(Ответ для neurofreak-alt@yandex.ru на комментарий #1)
&gt; Создано вложение 9159 [подробности]
&gt; Публичная часть SSH-ключа
(Ответ для neurofreak-alt@yandex.ru на комментарий #2)
&gt; Создано вложение 9160 [подробности]
&gt; Публичная часть GPG-ключа

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195912</commentid>
    <comment_count>6</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-02-01 15:13:11 +0300</bug_when>
    <thetext>А 1.2 означает какой пункт из https://www.altlinux.org/Team/Join/Secretary ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195931</commentid>
    <comment_count>7</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2021-02-01 18:43:31 +0300</bug_when>
    <thetext>(Ответ для mikhailnov на комментарий #6)
&gt; А 1.2 означает какой пункт из https://www.altlinux.org/Team/Join/Secretary ?

Было бы странно, если бы 1.2 значило какой-то другой пункт кроме 1.2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195934</commentid>
    <comment_count>8</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-02-01 18:48:33 +0300</bug_when>
    <thetext>&gt; Ожидать решения ментора о готовности кандидата.

Кандидат готов к тестовым сборкам в сборочнице без прав коммита в сизиф, о чем писал выше, поэтому уточнил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195936</commentid>
    <comment_count>9</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2021-02-01 19:14:02 +0300</bug_when>
    <thetext>ssh ключ на gitery.alt зарегистрирован.
ssh ключ на gyle.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -&gt; 2.4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195938</commentid>
    <comment_count>10</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-02-02 06:46:42 +0300</bug_when>
    <thetext>(Ответ для Gleb F-Malinovskiy на комментарий #9)
&gt; ssh ключ на gitery.alt зарегистрирован.
&gt; ssh ключ на gyle.alt зарегистрирован.
&gt; Адрес для пересылки создан.
&gt; 
&gt; T/J/S -&gt; 2.4.

Благодарю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196582</commentid>
    <comment_count>11</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-02-28 11:02:05 +0300</bug_when>
    <thetext>Кандидат подготовил пакет,подписал тег, прошу перевести на следующий этапи добавить GPG-ключ в сборочницу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196705</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2021-03-04 20:41:34 +0300</bug_when>
    <thetext>Гриш, можешь глянуть с прищуром на предмет .gear/rules?

http://git.altlinux.org/people/neurofreak/packages/bookworm.git
http://git.altlinux.org/people/neurofreak/packages/minigalaxy.git

Евгений, по http://git.altlinux.org/people/neurofreak/packages/minigalaxy.git?p=minigalaxy.git;a=commitdiff;h=adad54a387b5f55dc1e36d66d2d94455ca6c940e отмечу, что сам стараюсь создание/правки .gear/rules коммитить отдельно, чтобы не усложнять cherry-pick при необходимости впоследствии; исключение -- когда обрисовал создание патча или копирование исходника и в правилах, и в спеке (но не меняя в спеке что-либо ещё, особенно Version/Release -- опять же ради cherry-pick&apos;ов, мало ли, понадобится что).

В целом в minigalaxy.spec я бы какие-то строчки поменял местами или чуть иначе написал, но это по большей части вкусовщина уже.

Мне тоже кажется, что можно переходить к п. 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196709</commentid>
    <comment_count>13</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-03-05 03:56:05 +0300</bug_when>
    <thetext>&gt; Евгений, по
&gt; http://git.altlinux.org/people/neurofreak/packages/minigalaxy.
&gt; git?p=minigalaxy.git;a=commitdiff;h=adad54a387b5f55dc1e36d66d2d94455ca6c940e
&gt; отмечу, что сам стараюсь создание/правки .gear/rules коммитить отдельно,
&gt; чтобы не усложнять cherry-pick при необходимости впоследствии; исключение --
&gt; когда обрисовал создание патча или копирование исходника и в правилах, и в
&gt; спеке (но не меняя в спеке что-либо ещё, особенно Version/Release -- опять
&gt; же ради cherry-pick&apos;ов, мало ли, понадобится что).

Спасибо, Миш, учту на будущее. Правда по поводу сборки minigalaxy сомнения - надо ли такое в репозиторий? Склоняюсь к мысли, что оставлю это у себя в packages/... Авось кому пригодится.
Будем считать это тренировкой оформления git-репозитория в alt.git ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196723</commentid>
    <comment_count>14</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2021-03-05 14:06:09 +0300</bug_when>
    <thetext>Пакет alt-gpgkeys обновлён.

T/J/S -&gt; 3.4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197190</commentid>
    <comment_count>15</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-23 20:47:07 +0300</bug_when>
    <thetext>Кандидат на данный момент собрал уже 2 пакета, оба из которых уже не только в сизифе, но и в p9:
1) bookworm (https://packages.altlinux.org/ru/sisyphus/srpms/bookworm)
2) ksnip (https://packages.altlinux.org/ru/sisyphus/srpms/ksnip)

Освоил сборку с применением gear, наследованием апстримного git, git cherry-pick необходимых изменений из апстрима и кумулятивным патчем.

При работе над пакетами тщательно вникает в тему, старается глубоко изучить используемые механизмы. Хорошо относится к получаемым замечаниям.

Кандидат изучил основы механизма компиляции и основы работы RPM, в т.ч. ознакомлен с особенностями правильного указания владельца каталогов и подкаталогов (%dir в ksnip) для предотвращения наличия ничейных каталогов, понимает назначения флагов компилятора -I и -L, основы работы компилятора и линковщика.

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

Также понимает основы организации работы ALT Linux Team.

Кандидату разъяснена необходимость тщательно следить за Provides собираемых им пакетов для предотвращения случайного разлома репозитория.

Пакеты с разделяемыми библиотеками пока что не собирал, т.е. строго соблюдать политику упаковку библиотек еще не обучен, но при необходимости ознакомится с ней и обратится за помощью.
------

Считаю кандидата готовым к самостоятельному сопровождению пакетов и переходу к пп. 4-5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197203</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2021-03-24 11:23:44 +0300</bug_when>
    <thetext>Собственно, пора в team; предлагаю переходить к п.5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197204</commentid>
    <comment_count>17</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-03-24 11:36:08 +0300</bug_when>
    <thetext>Благодарю всех за оказанное доверие!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197205</commentid>
    <comment_count>18</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-03-24 11:38:25 +0300</bug_when>
    <thetext>И спасибо за науку!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197289</commentid>
    <comment_count>19</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2021-03-26 17:32:34 +0300</bug_when>
    <thetext>Попробую позвать ещё одного человека (bircoph@) для независимой оценки готовности кандидата.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197293</commentid>
    <comment_count>20</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-26 19:36:12 +0300</bug_when>
    <thetext>Посмотрел ksnip — там всё хорошо, работа аккуратная.

Посмотрел bookworm — пришёл в ужас:

# add python3 support fix
sed -i &apos;s|#!.*python2$|#!/usr/bin/python3|&apos; $(grep -Rl &apos;#!.*python2$&apos; *)

python2 там используется для работы с *.mobi форматом:
  data/scripts/mobi_lib/mobi_*.py

И там заведомо есть конструкции, которые не будут работать в python3 без модификации, например, mobi_unpack.py:1089:
        print &apos;Unpacking Book...&apos;

В python3 это заведомо нерабочий код.

По-видимому, автор не проверял ни работоспособность для формата mobi (что действительно не обязательно, т.к. сложно все форматы проверить), ни корректность работы питоновского кода, после добавленного им «исправления» для питона, что уже безответственно.

Пока что не могу подтвердить готовность кандидата — это весьма грубая ошибка.

Мало того, это безобразие попало в p9, что поднимает вопрос о качестве тестирования и проверки пакетов для p9.

Евгений, пожалуйста, исправьте эту проблему надлежащим образом. У апстрима в гите уже есть поддержка python3 и если Вы туда посмотрите, там очень нетривиальные изменения:
https://github.com/babluboy/bookworm/tree/master/data/scripts/mobi_lib
https://github.com/babluboy/bookworm/commit/c7c3643760caea4bd26b1d56ed033a52f6e34124#diff-529fdbb170eb21629749b3e8ef4f58a151520b6b79be2295fc6f4dd759471682</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197294</commentid>
    <comment_count>21</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-26 21:34:33 +0300</bug_when>
    <thetext>А какой в Альте штатный способ произвести byte-компиляцию кода внутри /usr/share, где этот лежит, чтобы подобное отлавливать и как минимум в уведомительном порядке видеть в логе сборки?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197295</commentid>
    <comment_count>22</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-26 21:39:50 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #20)
&gt; 
&gt; По-видимому, автор не проверял ни работоспособность для формата mobi (что
&gt; действительно не обязательно, т.к. сложно все форматы проверить), ни
&gt; корректность работы питоновского кода, после добавленного им «исправления»
&gt; для питона, что уже безответственно.
&gt; 
&gt; Пока что не могу подтвердить готовность кандидата — это весьма грубая ошибка.

Автор был предупрежден о возможной неработоспособности кода после просто смены шебанга, но автор проверил работу программы, видимо, не очень тщательно.

Думаю, не стоит считать проявление безответственности, просто недостаточно тщательная проверка и отсутствие должного опыта работы с питонопакетами, чтобы в должностей степени опасаться подобных исправлений шебангов.

А сборочница могла бы в email прислать кусок лога сборки с ошибками байткомпиляции, такого не было, насколько я знаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197296</commentid>
    <comment_count>23</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-26 22:54:47 +0300</bug_when>
    <thetext>(In reply to mikhailnov from comment #21)
&gt; А какой в Альте штатный способ произвести byte-компиляцию кода внутри
&gt; /usr/share, где этот лежит, чтобы подобное отлавливать и как минимум в
&gt; уведомительном порядке видеть в логе сборки?

Я бы предложил не класть байткомпилируемый код в /usr/share, а использовать для этого стандартный питоньий путь: /usr/lib/python3/site-packages/$name.

Приложение дёргает mobi в одном-единственном месте, так что не сложно поправить всё.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197297</commentid>
    <comment_count>24</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-26 23:02:01 +0300</bug_when>
    <thetext>(In reply to mikhailnov from comment #22)
&gt; Автор был предупрежден о возможной неработоспособности кода после просто
&gt; смены шебанга, но автор проверил работу программы, видимо, не очень
&gt; тщательно.

Возможной? Кроме отдельных уникальных случаев и очень простых участков кода она гарантирована. Там py2 скриптов на 150 КБ.
 
&gt; Думаю, не стоит считать проявление безответственности, просто недостаточно
&gt; тщательная проверка и отсутствие должного опыта работы с питонопакетами,
&gt; чтобы в должностей степени опасаться подобных исправлений шебангов.

Их не то, что опасаться, их никогда не следует делать, кроме нескольких уникальных ситуаций.

&gt; А сборочница могла бы в email прислать кусок лога сборки с ошибками
&gt; байткомпиляции, такого не было, насколько я знаю.

Конечно не было, потому что байткомпиляции не было. Скрипты лежат там, где не должны быть, поэтому прошли мимо и компиляции, и проверок.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197298</commentid>
    <comment_count>25</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2021-03-26 23:10:27 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #20)
&gt; И там заведомо есть конструкции, которые не будут работать в python3 без
&gt; модификации, например, mobi_unpack.py:1089:
&gt;         print &apos;Unpacking Book...&apos;
&gt; 
&gt; В python3 это заведомо нерабочий код.

2to3 бы такое поправил?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197299</commentid>
    <comment_count>26</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-26 23:29:54 +0300</bug_when>
    <thetext>(In reply to Michael Shigorin from comment #25)
&gt; (Ответ для Andrew Savchenko на комментарий #20)
&gt; &gt; И там заведомо есть конструкции, которые не будут работать в python3 без
&gt; &gt; модификации, например, mobi_unpack.py:1089:
&gt; &gt;         print &apos;Unpacking Book...&apos;
&gt; &gt; 
&gt; &gt; В python3 это заведомо нерабочий код.
&gt; 
&gt; 2to3 бы такое поправил?

Именно процитированный пример — да. Весь имеющийся код — нет. Апстрим уже проделал всю работу, я дал выше ссылку на патч, можешь посмотреть, что там и сколько там работы.

2to3 — это всего лишь вспомогательный инструмент для облегчения портирования с py2 на py3. Но, к сожалению, некоторые люди его воспринимают как средство сделать из py2 py3 код без лишних хлопот.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197300</commentid>
    <comment_count>27</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-26 23:30:23 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #23)
&gt; (In reply to mikhailnov from comment #21)
&gt; &gt; А какой в Альте штатный способ произвести byte-компиляцию кода внутри
&gt; &gt; /usr/share, где этот лежит, чтобы подобное отлавливать и как минимум в
&gt; &gt; уведомительном порядке видеть в логе сборки?
&gt; 
&gt; Я бы предложил не класть байткомпилируемый код в /usr/share, а использовать
&gt; для этого стандартный питоньий путь: /usr/lib/python3/site-packages/$name.
&gt; 
&gt; Приложение дёргает mobi в одном-единственном месте, так что не сложно
&gt; поправить всё.

Это будет, конечно, правильнее, но потребует серьезной переработки приложения, что чревато ошибки, и желательно при взаимодействии с апстримом. Питонокод в /usr/share встречается весьма часто, думаю, байткод в /usr/share поставлять премлемо, т.к. байткод не зависит от архитектуры процессора.

Но вопрос был, каков аналог в Альте
%py_compile %{buildroot}%{_datadir} ?

В rosa2019.1 это раскрывается так:

[user@rosa2019 ~]$ rpm -E &apos;%py_compile %{buildroot}%{_datadir}&apos;

find /home/user/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64/usr/share -name &apos;*.pyc&apos; -exec rm -f {} \; 
echo &apos;&apos; -c &quot;import sys, os, compileall; br=&apos;/home/user/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64&apos;; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+&apos;/&apos;) or None)&quot; /home/user/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64/usr/share 

Это можно делать и вне %install / %__spec_install_*, чтобы результат байткомпилирования не попадал в пакет, если он там не нужен, но чтобы выдавало ошибку при необходимости.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197301</commentid>
    <comment_count>28</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-03-26 23:37:26 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #20)
&gt; Посмотрел ksnip — там всё хорошо, работа аккуратная.

Спасибо за оценку ksnip, для начинающего сборщика rpm-пакетов приятно слышать.

&gt; Посмотрел bookworm — пришёл в ужас:
&gt; 
&gt; # add python3 support fix
&gt; sed -i &apos;s|#!.*python2$|#!/usr/bin/python3|&apos; $(grep -Rl &apos;#!.*python2$&apos; *)
&gt; 
&gt; python2 там используется для работы с *.mobi форматом:
&gt;   data/scripts/mobi_lib/mobi_*.py
&gt; 
&gt; И там заведомо есть конструкции, которые не будут работать в python3 без
&gt; модификации, например, mobi_unpack.py:1089:
&gt;         print &apos;Unpacking Book...&apos;
&gt; 
&gt; В python3 это заведомо нерабочий код.

По поводу bookworm, признаю, допустил оплошность по причине незнания специфики python-пакетов. Опыт мне на будущее. 

&gt; Евгений, пожалуйста, исправьте эту проблему надлежащим образом.

Работа bookworm будет исправлена.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197302</commentid>
    <comment_count>29</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-26 23:39:16 +0300</bug_when>
    <thetext>В общем здесь вопрос в целом общий и не про конкретно этот пакет, пакетов  с подобными проблемами, я уверен, воз и маленькая тележка, было бы неплохо выработать методику контроля такого в пакетной (сборочной) системе автоматически. Например, байт-компилировать весь питонокод, возможно, без добавления результата компиляции в пакет, а ошибки считать фатальными, если не задано что-то типа %_fatal_py_bytecompile_error 0 осознанно внутри спека.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197303</commentid>
    <comment_count>30</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-26 23:44:02 +0300</bug_when>
    <thetext>Также neurogreak@ собрал вариант пакета вообще без правок шебанга и в Requires автоматически получил /usr/bin/env, что было создано автоматически из &quot;#!/usr/bin/env python&quot;, то есть RPM нормально относится к тому, что в пакет закладывается мина замедленного действия, которая сработает, когда поменяется назначение симлинка /usr/bin/python, не говоря о пропуске нужной зависимости от /usr/bin/python2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197304</commentid>
    <comment_count>31</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-26 23:52:33 +0300</bug_when>
    <thetext>(In reply to mikhailnov from comment #27)
&gt; (Ответ для Andrew Savchenko на комментарий #23)
&gt; &gt; (In reply to mikhailnov from comment #21)
&gt; &gt; &gt; А какой в Альте штатный способ произвести byte-компиляцию кода внутри
&gt; &gt; &gt; /usr/share, где этот лежит, чтобы подобное отлавливать и как минимум в
&gt; &gt; &gt; уведомительном порядке видеть в логе сборки?
&gt; &gt; 
&gt; &gt; Я бы предложил не класть байткомпилируемый код в /usr/share, а использовать
&gt; &gt; для этого стандартный питоньий путь: /usr/lib/python3/site-packages/$name.
&gt; &gt; 
&gt; &gt; Приложение дёргает mobi в одном-единственном месте, так что не сложно
&gt; &gt; поправить всё.
&gt; 
&gt; Это будет, конечно, правильнее, но потребует серьезной переработки
&gt; приложения, что чревато ошибки, и желательно при взаимодействии с апстримом.

На первый взгляд там в одном месте изменить строку в vala и поправить meson по установке файлов. Но детально не изучал — я не мейнтенер этого пакета :)

&gt; Питонокод в /usr/share встречается весьма часто, думаю, байткод в /usr/share
&gt; поставлять премлемо, т.к. байткод не зависит от архитектуры процессора.
&gt; 
&gt; Но вопрос был, каков аналог в Альте
&gt; %py_compile %{buildroot}%{_datadir} ?

%add_python3_compile_include %_datadir

Вообще, настоятельно рекомендую использовать в качестве справочника &quot;как NNN делается в Альте&quot; http://git.altlinux.org/people/specbot/public/specs.git — это единый git со всеми спеками всех пакетов. Простой git grep даёт быстрый ответ на этот и подобные вопросы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197305</commentid>
    <comment_count>32</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-26 23:59:09 +0300</bug_when>
    <thetext>(In reply to mikhailnov from comment #29)
&gt; В общем здесь вопрос в целом общий и не про конкретно этот пакет, пакетов  с
&gt; подобными проблемами, я уверен, воз и маленькая тележка, было бы неплохо
&gt; выработать методику контроля такого в пакетной (сборочной) системе
&gt; автоматически. Например, байт-компилировать весь питонокод, возможно, без
&gt; добавления результата компиляции в пакет, а ошибки считать фатальными, если
&gt; не задано что-то типа %_fatal_py_bytecompile_error 0 осознанно внутри спека.

Я не мейнтенер питона или сборочницы в Альте. Если Вы считаете, что нужно байт-компилировать весь код, поднимите этот вопрос в списке рассылки в devel — там Вам ответят ответственные лица и все им сочувствующие. Я не могу решать за всё сообщество как лучше сделать.

В рамках данного бага моя претензия была не в отсутствии байт-компиляции, а в том, что портирование кода не выполнялось вовсе, а просто был запатчен shebang. Так нельзя. Мейнтенер пакета меня услышал, так что ждём доработки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197306</commentid>
    <comment_count>33</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-27 00:00:13 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #31)
&gt; (In reply to mikhailnov from comment #27)
&gt; &gt; (Ответ для Andrew Savchenko на комментарий #23)
&gt; &gt; &gt; (In reply to mikhailnov from comment #21)
&gt; &gt; &gt; &gt; А какой в Альте штатный способ произвести byte-компиляцию кода внутри
&gt; &gt; &gt; &gt; /usr/share, где этот лежит, чтобы подобное отлавливать и как минимум в
&gt; &gt; &gt; &gt; уведомительном порядке видеть в логе сборки?
&gt; &gt; &gt; 
&gt; &gt; &gt; Я бы предложил не класть байткомпилируемый код в /usr/share, а использовать
&gt; &gt; &gt; для этого стандартный питоньий путь: /usr/lib/python3/site-packages/$name.
&gt; &gt; &gt; 
&gt; &gt; &gt; Приложение дёргает mobi в одном-единственном месте, так что не сложно
&gt; &gt; &gt; поправить всё.
&gt; &gt; 
&gt; &gt; Это будет, конечно, правильнее, но потребует серьезной переработки
&gt; &gt; приложения, что чревато ошибки, и желательно при взаимодействии с апстримом.
&gt; 
&gt; На первый взгляд там в одном месте изменить строку в vala и поправить meson
&gt; по установке файлов. Но детально не изучал — я не мейнтенер этого пакета :)

Мейнтейнер распереживался, у него глубокая ночь, пусть спит пока, а потом вдумчиво правит пакет )) Там GUI не на python, значит, думаю, пока что вполне нормально оставить python-часть на python2, не наткнувшись на проблемы выкидывания поддержки py2 из апстримом многих связанных с GUI апстримов. Пока в апстриме bookworm не сделали релиз с py3, лучше проверенный код на py2 без внешних зависимостей (я внимательно не смотрел, но вроде бы их там нет), чем непроверенный на py3.

&gt; 
&gt; &gt; Питонокод в /usr/share встречается весьма часто, думаю, байткод в /usr/share
&gt; &gt; поставлять премлемо, т.к. байткод не зависит от архитектуры процессора.
&gt; &gt; 
&gt; &gt; Но вопрос был, каков аналог в Альте
&gt; &gt; %py_compile %{buildroot}%{_datadir} ?
&gt; 
&gt; %add_python3_compile_include %_datadir
&gt; 
&gt; Вообще, настоятельно рекомендую использовать в качестве справочника &quot;как NNN
&gt; делается в Альте&quot; http://git.altlinux.org/people/specbot/public/specs.git —
&gt; это единый git со всеми спеками всех пакетов. Простой git grep даёт быстрый
&gt; ответ на этот и подобные вопросы.

Спасибо. У меня есть локальное зеркало https://github.com/vt-alt/specs.git , но тут не очень очевидно было, что грепать, а в rpm-build-python3 сходу не нашел за пару минут.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197307</commentid>
    <comment_count>34</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-27 00:10:12 +0300</bug_when>
    <thetext>(In reply to mikhailnov from comment #30)
&gt; Также neurogreak@ собрал вариант пакета вообще без правок шебанга и в
&gt; Requires автоматически получил /usr/bin/env, что было создано автоматически
&gt; из &quot;#!/usr/bin/env python&quot;,

Я не понимаю о чём речь, т.к. в апстримных исходниках (по состоянию на commit 01f5c7dc04741a8e3a0893d6ec373e23cd25741d, что последний для mobi_lib) указано:
#!/usr/bin/env python2
и никаких python без номера там нет

Если считаете, что в rpm или python в Альте есть ошибка, откройте баг или напишите на devel. Замечу, что на мой взгляд как таковой rpm здесь вообще ни при чём, т.к. скрипты (и байткомпиляции, и всех проверок) идут из отдельных пакетов: rpm-build-python и python[23]-base.

Но, по-моему, в контексте данного бага нужно обновить bookworm до python3. Как это лучше сделать — утащить отдельный коммит (или коммиты) или обновиться до git HEAD — пусть решает мейнтейнер, это его право, я не знаю, как ему будет удобнее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197308</commentid>
    <comment_count>35</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-27 00:18:03 +0300</bug_when>
    <thetext>(In reply to mikhailnov from comment #33)
&gt; (Ответ для Andrew Savchenko на комментарий #31)
&gt; &gt; (In reply to mikhailnov from comment #27)
&gt; &gt; &gt; (Ответ для Andrew Savchenko на комментарий #23)
&gt; &gt; &gt; &gt; (In reply to mikhailnov from comment #21)
&gt; &gt; &gt; &gt; &gt; А какой в Альте штатный способ произвести byte-компиляцию кода внутри
&gt; &gt; &gt; &gt; &gt; /usr/share, где этот лежит, чтобы подобное отлавливать и как минимум в
&gt; &gt; &gt; &gt; &gt; уведомительном порядке видеть в логе сборки?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Я бы предложил не класть байткомпилируемый код в /usr/share, а использовать
&gt; &gt; &gt; &gt; для этого стандартный питоньий путь: /usr/lib/python3/site-packages/$name.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Приложение дёргает mobi в одном-единственном месте, так что не сложно
&gt; &gt; &gt; &gt; поправить всё.
&gt; &gt; &gt; 
&gt; &gt; &gt; Это будет, конечно, правильнее, но потребует серьезной переработки
&gt; &gt; &gt; приложения, что чревато ошибки, и желательно при взаимодействии с апстримом.
&gt; &gt; 
&gt; &gt; На первый взгляд там в одном месте изменить строку в vala и поправить meson
&gt; &gt; по установке файлов. Но детально не изучал — я не мейнтенер этого пакета :)
&gt; 
&gt; Мейнтейнер распереживался,

Не стоит, я же не со зла. Просто есть проблемы, которые нужно решить и вопросы, которым следует научиться.

&gt; у него глубокая ночь, пусть спит пока, а потом
&gt; вдумчиво правит пакет )) Там GUI не на python, значит, думаю, пока что
&gt; вполне нормально оставить python-часть на python2, не наткнувшись на
&gt; проблемы выкидывания поддержки py2 из апстримом многих связанных с GUI
&gt; апстримов.

Там py2 нужен только для одного вызова mobi_unpack.py для чтения mobi файлов. По идее, этот mobi вообще можно в отдельный подпакет вынести — но это уже дело вкуса, я не настаиваю.

&gt; Пока в апстриме bookworm не сделали релиз с py3, лучше
&gt; проверенный код на py2 без внешних зависимостей (я внимательно не смотрел,
&gt; но вроде бы их там нет), чем непроверенный на py3.

py2 не поддерживается апстримом и там никто не исследует и не исправляет уязвимости, поэтому его отовсюду и выкидывают. Я бы предпочёл утащить mobi_lib на py3, т.к. кроме самого mobi — который сейчас по факту и так поломан и в Сизифе, и в p9 — он ни на что другое не влияет.

&gt; &gt; &gt; Питонокод в /usr/share встречается весьма часто, думаю, байткод в /usr/share
&gt; &gt; &gt; поставлять премлемо, т.к. байткод не зависит от архитектуры процессора.
&gt; &gt; &gt; 
&gt; &gt; &gt; Но вопрос был, каков аналог в Альте
&gt; &gt; &gt; %py_compile %{buildroot}%{_datadir} ?
&gt; &gt; 
&gt; &gt; %add_python3_compile_include %_datadir
&gt; &gt; 
&gt; &gt; Вообще, настоятельно рекомендую использовать в качестве справочника &quot;как NNN
&gt; &gt; делается в Альте&quot; http://git.altlinux.org/people/specbot/public/specs.git —
&gt; &gt; это единый git со всеми спеками всех пакетов. Простой git grep даёт быстрый
&gt; &gt; ответ на этот и подобные вопросы.
&gt; 
&gt; Спасибо. У меня есть локальное зеркало https://github.com/vt-alt/specs.git ,
&gt; но тут не очень очевидно было, что грепать, а в rpm-build-python3 сходу не
&gt; нашел за пару минут.

Ну я сделал первое, что пришло в голову:
  git grep -i &quot;python.*compile&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197309</commentid>
    <comment_count>36</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-27 00:31:14 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #35)

&gt; Там py2 нужен только для одного вызова mobi_unpack.py для чтения mobi
&gt; файлов. По идее, этот mobi вообще можно в отдельный подпакет вынести — но
&gt; это уже дело вкуса, я не настаиваю.

Если перенести из /usr/share в %python3_sitelibdir_noarch и оформить как именно python-модуль, то смысл вынести в отдельный пакет будет. Внутри /usr/share, думаю, не стоит делать отдельный пакет. т.к. его нельзя будет использовать как python-модуль без как минимум манипуляций с $PYTHONPATH или аналогом.

&gt; 
&gt; &gt; Пока в апстриме bookworm не сделали релиз с py3, лучше
&gt; &gt; проверенный код на py2 без внешних зависимостей (я внимательно не смотрел,
&gt; &gt; но вроде бы их там нет), чем непроверенный на py3.
&gt; 
&gt; py2 не поддерживается апстримом и там никто не исследует и не исправляет
&gt; уязвимости, поэтому его отовсюду и выкидывают. Я бы предпочёл утащить
&gt; mobi_lib на py3, т.к. кроме самого mobi — который сейчас по факту и так
&gt; поломан и в Сизифе, и в p9 — он ни на что другое не влияет.

Согласен, разумно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197310</commentid>
    <comment_count>37</comment_count>
    <who name="Grigory Ustinov">grenka</who>
    <bug_when>2021-03-27 02:02:32 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #32)
Дядь, забирай камень обратно! Молодец. Тебе говорят, что человек всё знает и понимает, а ты придираешься. Почувствуй себя злым ментором тоже=))

2neurofreak: FYI: https://github.com/babluboy/bookworm/pull/346</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197311</commentid>
    <comment_count>38</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-03-27 02:08:08 +0300</bug_when>
    <thetext>(Ответ для Grigory Ustinov на комментарий #37)

&gt; 2neurofreak: FYI: https://github.com/babluboy/bookworm/pull/346

-print &quot;     - fixed by injecting empty start tag &quot;, tname
+print(&apos;     - fixed by injecting empty start tag &apos;, tname)

Значит мои опасения о непротестированности py3-кода были не напрасны.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197312</commentid>
    <comment_count>39</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-27 02:13:39 +0300</bug_when>
    <thetext>(In reply to mikhailnov from comment #38)
&gt; (Ответ для Grigory Ustinov на комментарий #37)
&gt; 
&gt; &gt; 2neurofreak: FYI: https://github.com/babluboy/bookworm/pull/346
&gt; 
&gt; -print &quot;     - fixed by injecting empty start tag &quot;, tname
&gt; +print(&apos;     - fixed by injecting empty start tag &apos;, tname)
&gt; 
&gt; Значит мои опасения о непротестированности py3-кода были не напрасны.

Это в коде обработки ошибок. Видимо, только на битых файлах проявляется. Разумеется, этот PR тоже нужно забрать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197313</commentid>
    <comment_count>40</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-27 02:15:46 +0300</bug_when>
    <thetext>(In reply to Grigory Ustinov from comment #37)
&gt; (Ответ для Andrew Savchenko на комментарий #32)
&gt; Дядь, забирай камень обратно! Молодец. Тебе говорят, что человек всё знает и
&gt; понимает, а ты придираешься. Почувствуй себя злым ментором тоже=))

Ну к мелочам я стараюсь не придираться, но тут на самом деле серьёзная проблема вылезла. Если бы новый член team такое закоммитил, ты бы крик в devel и поднял.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197314</commentid>
    <comment_count>41</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-03-27 10:50:11 +0300</bug_when>
    <thetext>Евгений, по minigalaxy:

1) Некорректно указана лицензия: вместо CC-BY нужно CC-BY-3.0
См. THIRD-PARTY-LICENSES.md в исходниках и /usr/share/licenses для списка допустимых обозначений лицензий.

2) Мне непонятно, зачем:
%add_python3_req_skip gi.repository.GdkPixbuf

Я не утверждаю, что это некорректно, но причина мне не ясна и данная строка вызывает подозрения.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197315</commentid>
    <comment_count>42</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-03-27 12:06:50 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #41)
&gt; Евгений, по minigalaxy:
&gt; 
&gt; 1) Некорректно указана лицензия: вместо CC-BY нужно CC-BY-3.0
&gt; См. THIRD-PARTY-LICENSES.md в исходниках и /usr/share/licenses для списка
&gt; допустимых обозначений лицензий.
&gt; 
&gt; 2) Мне непонятно, зачем:
&gt; %add_python3_req_skip gi.repository.GdkPixbuf
&gt; 
&gt; Я не утверждаю, что это некорректно, но причина мне не ясна и данная строка
&gt; вызывает подозрения.

Андрей, добрый день.
Я не планирую minigalaxy и notepadqq посылать на сборку в репозиторий, но спасибо за то, что нашли время посмотреть и оценить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197316</commentid>
    <comment_count>43</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-03-27 12:16:15 +0300</bug_when>
    <thetext>Замечания принял к сведению.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197763</commentid>
    <comment_count>44</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-04-10 05:53:17 +0300</bug_when>
    <thetext>
(Ответ для Andrew Savchenko на комментарий #32)
&gt; Мейнтенер пакета меня услышал, так что ждём доработки.

Пакет исправлен с учётом всех замечаний, что тут прозвучали. Спасибо за советы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197771</commentid>
    <comment_count>45</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-04-10 14:52:56 +0300</bug_when>
    <thetext>(In reply to neurofreak-alt@yandex.ru from comment #44)
&gt; (Ответ для Andrew Savchenko на комментарий #32)
&gt; &gt; Мейнтенер пакета меня услышал, так что ждём доработки.
&gt; 
&gt; Пакет исправлен с учётом всех замечаний, что тут прозвучали. Спасибо за
&gt; советы.

Уже лучше, но байт-компиляция питоновского кода не осуществляется. Удалите *.pyc из репозитория и посмотрите на результат. Да и по логам сборки видно.

Проблема решается не сложно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197773</commentid>
    <comment_count>46</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2021-04-10 18:30:24 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #45)
&gt; Уже лучше, но байт-компиляция питоновского кода не осуществляется. Удалите
&gt; *.pyc из репозитория и посмотрите на результат. Да и по логам сборки видно.
&gt; Проблема решается несложно.
Так подскажи, как решается или куда читать, раз знаешь :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197774</commentid>
    <comment_count>47</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-04-10 18:41:04 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #41)
&gt; Евгений, по minigalaxy:
&gt; 
&gt; 1) Некорректно указана лицензия: вместо CC-BY нужно CC-BY-3.0
&gt; См. THIRD-PARTY-LICENSES.md в исходниках и /usr/share/licenses для списка
&gt; допустимых обозначений лицензий.
&gt; 
&gt; 2) Мне непонятно, зачем:
&gt; %add_python3_req_skip gi.repository.GdkPixbuf
&gt; 
&gt; Я не утверждаю, что это некорректно, но причина мне не ясна и данная строка
&gt; вызывает подозрения.

Андрей, добрый день.
Я не планирую minigalaxy и notepadqq посылать на сборку в репозиторий, но спасибо за то, что нашли время посмотреть и оценить.(Ответ для Michael Shigorin на комментарий #46)
&gt; (Ответ для Andrew Savchenko на комментарий #45)
&gt; &gt; Уже лучше, но байт-компиляция питоновского кода не осуществляется. Удалите
&gt; &gt; *.pyc из репозитория и посмотрите на результат. Да и по логам сборки видно.
&gt; &gt; Проблема решается несложно.
&gt; Так подскажи, как решается или куда читать, раз знаешь :-)

Андрей написал. Удалить файлы .pyc из исходников в секции %prep. Попробую.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197776</commentid>
    <comment_count>48</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-04-10 18:55:50 +0300</bug_when>
    <thetext>(In reply to Michael Shigorin from comment #46)
&gt; (Ответ для Andrew Savchenko на комментарий #45)
&gt; &gt; Уже лучше, но байт-компиляция питоновского кода не осуществляется. Удалите
&gt; &gt; *.pyc из репозитория и посмотрите на результат. Да и по логам сборки видно.
&gt; &gt; Проблема решается несложно.
&gt; Так подскажи, как решается или куда читать, раз знаешь :-)

По-моему, я и так слишком многое рассказал по связанным с питоном вопросам. Всё же для самостоятельной работы в Сизифе важно посмотреть на самостоятельную работу кандидата.

Я проверил, что проблема решается. Начало её решения описал, но это не всё решение.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198367</commentid>
    <comment_count>49</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-05-06 05:00:11 +0300</bug_when>
    <thetext>Прошу прощения за долгое отсутствие. Пришлось основательно перелопатить информации,
да и работа навалилась. Добился я в итоге байткомпиляции скриптов.
Прошу оценить результат:

[1] http://git.altlinux.org/people/neurofreak/packages/bookworm.git
[2] http://git.altlinux.org/tasks/271250/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198378</commentid>
    <comment_count>50</comment_count>
    <who name="Andrew Savchenko">bircoph</who>
    <bug_when>2021-05-07 13:33:25 +0300</bug_when>
    <thetext>Добрый день!

(In reply to neurofreak-alt@yandex.ru from comment #49)
&gt; Прошу прощения за долгое отсутствие.

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

&gt; Пришлось основательно перелопатить информации,
&gt; да и работа навалилась. Добился я в итоге байткомпиляции скриптов.
&gt; Прошу оценить результат:
&gt; 
&gt; [1] http://git.altlinux.org/people/neurofreak/packages/bookworm.git
&gt; [2] http://git.altlinux.org/tasks/271250/

Байт-компиляция так действительно работает.

Я бы решил проблему чуть иначе, т.к. все манипуляции с +x на *.py нужны из-за того, что по-умолчанию у нас /usr/lib/rpm/python3.compileall.py запускается с --skip-x (см. /usr/lib/rpm/macros.d/python3), что отключает байт-компиляцию исполняемых файлов. Такое поведение можно инвертировать с помощью макроса rpm, так что достаточно сделать так:

+%add_python3_compile_include %_datadir
+%undefine _python3_compile_skip_x

И тогда ни изменения прав доступа, ни ручной запуск python3 -m compileall будут не нужны.

Но Ваше решение тоже вполне жизнеспособно. Просто многие проблемы можно решить по-разному.


Товарищ секретарь, за сим считаю, что кандидат действительно готов к самостоятельной работе в Сизифе.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198485</commentid>
    <comment_count>51</comment_count>
    <who name="neurofreak-alt@yandex.ru">neurofreak-alt</who>
    <bug_when>2021-05-14 16:30:54 +0300</bug_when>
    <thetext>А тем временем ksnip-1.8.2-alt1 готов:

[1] http://git.altlinux.org/people/neurofreak/packages/?p=ksnip.git;a=tag;h=5311dccb2411f2a56cd4111fc6d0eea044cabc2a

[2] http://git.altlinux.org/tasks/271830/

А без ментора в сизиф не могу послать :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198559</commentid>
    <comment_count>52</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2021-05-18 15:57:26 +0300</bug_when>
    <thetext>(Ответ для Andrew Savchenko на комментарий #50)
&gt; Товарищ секретарь, за сим считаю, что кандидат действительно готов к
&gt; самостоятельной работе в Сизифе.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198560</commentid>
    <comment_count>53</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2021-05-18 16:01:31 +0300</bug_when>
    <thetext>Адрес подписан на devel@.
Пользователь добавлен в группу мейнтейнеров.

Желаю удачного мейнтейнерства!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198568</commentid>
    <comment_count>54</comment_count>
    <who name="mikhailnov">m</who>
    <bug_when>2021-05-18 22:01:06 +0300</bug_when>
    <thetext>Поздравляю! Багу, наверное, нужно сделать RESOLVED FIXED?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200252</commentid>
    <comment_count>55</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2021-07-11 10:31:35 +0300</bug_when>
    <thetext>Закрыто.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9159</attachid>
            <date>2021-01-27 12:15:49 +0300</date>
            <delta_ts>2021-01-27 12:15:49 +0300</delta_ts>
            <desc>Публичная часть SSH-ключа</desc>
            <filename>id_ed25519.pub</filename>
            <type>application/vnd.ms-publisher</type>
            <size>119</size>
            <attacher name="neurofreak-alt@yandex.ru">neurofreak-alt</attacher>
            
              <data encoding="base64">c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUIzbkYwMXVSbTdtdWMxU1lFWG1R
YUZIR2NNOVhEb1I1QUh2emY3aEU2YW4gbmV1cm9mcmVha0Bjb21wLWNvcmUtaTctMzYxMHFtLTQ3
M2RjOQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9160</attachid>
            <date>2021-01-27 12:16:40 +0300</date>
            <delta_ts>2021-01-27 12:16:40 +0300</delta_ts>
            <desc>Публичная часть GPG-ключа</desc>
            <filename>gpgpublic.txt</filename>
            <type>text/plain</type>
            <size>3086</size>
            <attacher name="neurofreak-alt@yandex.ru">neurofreak-alt</attacher>
            
              <data encoding="base64">LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkdBUklTc0JFQURPdnVz
UkR3dTRvaWtOcjVZRzBCRHY5MWxJeHl2bTc2OWdzWEVPQzQ3OEZxQktlS2NqCjFzSzdTd3RGa0dv
ZWh0bVFFdEFNQVZmRlpZTzJ1TmNPblhiL1ptY0RiNW9sTXp3RTRkbmJBWjEwZU05dUIreFYKOWM1
MHNkNmJBQUVTOU9va2ZHWHhxbkZRN3dBbW1hWHh1WXVKNUM1VFkxRWtSUTlDYW03bU55QjY4U1hx
cjZMbQpnbEpJckI4Y3c3MXVwTmlHSXYxck1MRHRQZ2ttNXdwRjJ0MG5USkIycm9lSmdpWW9VSllT
cXNQb1A0RDVVUG8vCmxGWS8vajFacVJBZTQrbUFXT1l4cUxaQnQ2cUZVTG1xZjVwVHdCMzhqMVlZ
TFEvUVNiMWQ4MFp1dmYrU0RqeFEKYXVQVE0yQXl2My9lWVRqUkFVT1YxeUNwMjl4MTdsTjFHdTBM
cDFGUVFRS3REUjV5RDFvUE9HUitHZy9QLytlZgpCb0pEaEc2ZHhzTFh3eE9kOGIrZHBLL3NlVUZE
YWVmb1pRV0tISjNmUlJYWkhOYUU5a3U5SFVpNWd1TW5KU2JUClRBS21Jd1ZKMjUwbm5wdEZubkpS
Ni9JR1ZkT3NjdnpnNERMRHBZa0c1NUFLR3pxd1haOGVTTnYzN3Brd2I1WTIKR1VLMWNZMFg0Z3hp
VmcxUDRRL1pIY2dBd0ZSV0lUcXBGemYyNGN5OC9XVXk4Vi9SZ2F6M3FCN2NjRlpSZVVwWQpPV0kw
RUhDRzJKSHlCNTZjWTQvWTdzVnQ4a2VnNGxzZ1dVWWZEOHZ1N3l3aGg4ekh1R29SNFZjWFZiaEtU
dmVNCk8xNWpCaVZ2b3NhQkt5Q0M3YUdQR2JOZGJ3cGw4aklXZTZxenlhclF4cURYSHFFZFU1WVNL
aUQyUVFBUkFRQUIKdEN0RmRtZGxibWw1SUV0MWEyaDBhVzV2ZGlBOGJtVjFjbTltY21WaGEwQmhi
SFJzYVc1MWVDNXZjbWMraVFJNApCQk1CQWdBaUJRSmdFU0VyQWhzREJnc0pDQWNEQWdZVkNBSUpD
Z3NFRmdJREFRSWVBUUlYZ0FBS0NSQW9LRnNQCkxLYkcvWTJQRC80OXo2M2lxTjdKYlkzNE1PVmZQ
ZDl1OWcxMmxNUk5iS2k2ZTZYcVo0a0VUMDVKRnU2K3FLVGoKdWFqU0JaNVg3eXZJZ3AwUlJGc2hC
b1FrTWZvSFE3aEE5cmI1dVN2UWluczRpWHBBT0EzTEhUa2NTWGFJMlR6ago3MnN3UW5Gc1pyeVNK
RnV0YkNjY1JGbzlhdnNrellpQVl5bUtVUVp3SkN6VVdsalRtNktvN3JpWDZZb0tOWGFSClU1RmVZ
NUJqUkVBM3hnY3k2aVNpNzVKY0dPUUZlZ3Y4UkhrNDNnUDdSc0dFZ1dkdWtpTFRHL3ZmM2dIK3JV
aTMKL0JuL01EYnRCdE8xTm8rWUF6ZCtKMGpxMmZiejRhd2hGQnZHOHF4MEtPQlN3SWNtQUlZYnV6
QzhYZ2dqTlJOSgpXL2FuK3pWVVNQK2tmTXQ1ZGpSQjJuTi9sZXU5T0Fqa1pWSVZnWkdlMkxNc08z
SVJGaHRRNkxJQk9XOVpHM0gyCmd4MXRTOG8rS00yeUtLZ05zSlFyeElQdjNYMlBZUGNQdkcydVZY
UE4rT2pqaEIzRU5FczVZdUVPclhZL01XdWUKa3V2ek5SbGRZb09BMnljSm9XYi8vTDNpcVhpRmts
WUhjUU9OT3RiOEhpTi9raWdXTk9VNlZ0MGxsS2w3ODVMTgpxOC9TOG9qd2JOanZscUxYeU1DMEM4
MjI2V1ZRNU41MWg1OTNLRmFGRHlheHNYc0NRSlRYeHUxU25Gb2RqTlBuCmh4VGlNeHEwWnR6YXNs
aXNtc0ZaQlJpcWZnYTFFMG83Zklaek1oNmV0eENabnp1SVZtZHF2ZzhUa2VaRWZzVzAKK1NXWlhj
NU9EcUlWS25zdWVMOTZ4dDdmcXU3RVVqZ1dMaEk2Y2pLWksxN05zNXRuRzhia3Vya0NEUVJnRVNF
cgpBUkFBc0tMaWw5NFlPR3BTVXJ3OWRkSkozWjVZbW1KQXBzZWp6T2dMRXhoMGxuM21vRHFMbnhE
T21IWVJiNzRMCmxMTTR0aHFYd0UzbCtUMkt2SDJLNzZDU2xNem9zRmk4Sk1BUDBxUEE0UXE2V2Y2
SEY2NjFOYWY4cm1aUDQvaVUKY0JTOEplVVRWNEo1b1d1WXVKb2VmOTRzSmFMT002NVR1anRWZStP
T3ZzdEw0TnBuTDhodXdPb2ZHNTBvNUZrcwpBRDNJR1hFWUNRbmxRcUVIWDhyZmRIK3E5UDBYQ21R
T3h3dUFBelFZbFYxUk5mVjhWMCsvQzdlMW5MYTFnZzhxCjc0eVQreHprVWJGejNZSkdIQ2MxdlRr
aXZtSW5XTGxqQTFQQndHL0lqTGNlYTBIaS9xOFhGdDNqeE9XQmlhaEgKUWpESU9vWVprWVdzRmc1
dlVndnFiaGJ1YnlkL20zdzF4RkxocFlISVZyeW4xUmZ5eTM2V2VqWTJzNSt1U09GbwpiWEl1NTQw
a1RiTFFnQ08zQzlNd0pOK0M4cEVxRlhEc3FBN1NRb0tOVUtiOWpvUmFDNk00ZFJ0ZlhZSjhIb1A2
ClEwV2QraFg0cy81dkIzb0JxZUxIQ1gyVXFrSGR4Tk5Da2lXZTF1UTV5YUpiRXhLdXN2Qkpaclcr
aWZpV3pwU3YKREpKcWlKR21OZXhHSlpYME1YQ0hZWDVCZ3l0Rm9QY0ZTQ2ZyYStScnl2ZEt6dU9w
dnRWcWxoTXdJQzN0bmsxTgpQRTBrd2pPZSt2clJsRmQvWVdVd3k3WkVLbWJQcFNoeEw4VFdLQlNS
WXBRb0d2b0lvVVFuYjRkSTNUd1FsQUduClFqeXRmTFhtN3UzaXFpMFNJaC84MCswOVRWeWpOUmNU
aTdUcjhYRzBsYjJnRnQ4QUVRRUFBWWtDSHdRWUFRSUEKQ1FVQ1lCRWhLd0liREFBS0NSQW9LRnNQ
TEtiRy9WMGZELzkxdXJIaFlNK3FRT05lZ3VZbjJ4YzhoL3N5MTNLdwpPRyt2bmhrRnVaaHpDRXFE
Ukx5WUJtK296Q1dHR3pVZmhVU3JWbG5OOHIwUkJCRUZrazlHZDRrRjFKTmFOTUNNClBhRFFBSkd2
SDN2WUY5dk42eG5KN0p6R2ZURmNNamVIS1lTUnlPZFVPdmNJVlVwQ29nTSsrS2FxOTV3aEgrVWYK
ZS9KOFNETys4VllQcWtSUVh4YXZzcjBUMlAzQnFmNkdFK0t2RllMQ1VLNzlmOWxNeGZqUks5WEt1
b0lFVithUQpTdmlWUEdWNTUzTEY2eUQzbWdreUlONnZqVmFqU0trb3FJb2lUb0I3ZWxXZmw3WFNs
TUg3aVZyOWhhZjFFaVFKCmhsZWlZTEo0TDNGb05rSnBkVlRRZHVFSWJJdSszWFJyT3lKcGxJbGpk
Wk5icVgvUCtjeXYxMDVRSnh0c3hqSk4KR1ZCSTF5YUIzYlJma3kvOHVsQy85alFvOHpvOFk1TG94
bEtQVXdjeDZrUXFyTVVvaUd5cWpuT0JMUUVHYUx1bApLNEVWSHNBTmhNL1BkY0I2Q2pvaUJtMncx
VWs2c2IyNmJVTmhxWEdFVFlabHlzYUE3U3RKdGM5QjkycFhDOU5PCmVKZlc1Y29Qd0FzV0xPK1dk
Vitpb0dXY0dnbWpkL05jeDFRS1MxK2RhQjFtekJFaDlseXVTVWI5eWJnOFBuV04KTWQ4QTJkY0Vy
b3ZzSGtLa1BJRURIejNBVWwrTG42T1ZONElsLzMvWW1uZkt3aklYclZFTCtNeVdJMFVsMU9peQox
T0pJSFkvQmhsRHpLM1VXSWQweVM1bStmQ3hteG9MK2V1U0licmlhU2pHYzZFaVBOa2Q4bEs1TytP
LzV2dGpRCjh6WmxNQ3VZOGd5bk5nPT0KPWM5eGcKLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxP
Q0stLS0tLQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>