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

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

    <bug>
          <bug_id>50974</bug_id>
          
          <creation_ts>2024-07-24 14:38:48 +0300</creation_ts>
          <short_desc>[3.6] join kiper@</short_desc>
          <delta_ts>2025-09-27 12:08:18 +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>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></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>kiper</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>glebfm</cc>
    
    <cc>iv</cc>
    
    <cc>ldv</cc>
    
    <cc>liannnix</cc>
    
    <cc>liannnix</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>249232</commentid>
    <comment_count>0</comment_count>
      <attachid>16475</attachid>
    <who name="">kiper</who>
    <bug_when>2024-07-24 14:38:48 +0300</bug_when>
    <thetext>Created attachment 16475
Открытый gpg

Ник: kiper
Почта: Gedert Korney &lt;kiper@altlinux.org&gt;
Адрес пересылки почты: korney3g1@yandex.ru

Цель: Научиться и собирать пакеты</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249233</commentid>
    <comment_count>1</comment_count>
      <attachid>16476</attachid>
    <who name="">kiper</who>
    <bug_when>2024-07-24 14:39:34 +0300</bug_when>
    <thetext>Created attachment 16476
Открытый ssh</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249242</commentid>
    <comment_count>2</comment_count>
    <who name="">kiper</who>
    <bug_when>2024-07-24 15:46:39 +0300</bug_when>
    <thetext>Ментор: Андрей Лимачко &lt;liannnix@altlinux.org&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249243</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2024-07-24 15:48:59 +0300</bug_when>
    <thetext>Менторство подтверждаю</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249244</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2024-07-24 15:55:21 +0300</bug_when>
    <thetext>В gpg ключе uid должен быть вида &quot;Имя Фамилия &lt;ник@altlinux.org&gt;&quot;.
Gpg ключ лучше делать бессрочным.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249252</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2024-07-24 17:31:37 +0300</bug_when>
    <thetext>Кандидат предложил на рассмотрение репозиторий с предварительно подготовленным репозиторием для сборки пакета abnfc:
https://github.com/kiper220-alt/abnfc/tree/alt_spec

По содержанию у меня возникли следующие замечания:
1. Зачем вот этот коммит? https://github.com/kiper220-alt/abnfc/commit/8207c8d9c56a3d001dbbe09cf258de05792aa720
Файл .gitignore никак не влияет на сборку, а его наличие и содержимое, на мой взгляд, вопрос апстрима. Добавлять его в gear-репозиторий не нужно.
2. По спеку https://github.com/kiper220-alt/abnfc/commit/69033add39a454b530c27cf858d8b0d1515acc8c :
Нужно добавить VCS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249340</commentid>
    <comment_count>6</comment_count>
    <who name="">kiper</who>
    <bug_when>2024-07-26 17:08:29 +0300</bug_when>
    <thetext>Всё исправил. Заново сгенерированный GPG ключ пришлю чуть попозже.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249795</commentid>
    <comment_count>7</comment_count>
      <attachid>16586</attachid>
    <who name="">kiper</who>
    <bug_when>2024-08-07 12:34:12 +0300</bug_when>
    <thetext>Created attachment 16586
Новый открытый gpg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249830</commentid>
    <comment_count>8</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2024-08-07 15:48:04 +0300</bug_when>
    <thetext>Прошу перевести кандидата сразу на этап 2.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251026</commentid>
    <comment_count>9</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2024-09-02 17:56:47 +0300</bug_when>
    <thetext>Ментор есть, ключи в порядке.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251053</commentid>
    <comment_count>10</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2024-09-02 19:17:51 +0300</bug_when>
    <thetext>ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -&gt; 2.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257906</commentid>
    <comment_count>11</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-01-23 10:29:16 +0300</bug_when>
    <thetext>Пакет asn1c: https://git.altlinux.org/people/kiper/packages/asn1c.git
tag подписан и готов к сборке. Хотелось бы получить доступ к сборочнице.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259100</commentid>
    <comment_count>12</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-02-12 15:19:24 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #11)
&gt; Пакет asn1c: https://git.altlinux.org/people/kiper/packages/asn1c.git
&gt; tag подписан и готов к сборке. Хотелось бы получить доступ к сборочнице.

Пакет к сборке не готов.

1. URL должен указывать на homepage.
2. Зачем в зависимостях autoconf-common?
3. Нужно включить тесты
4. Для компиляции уже скопилированного asn1c кода на C требуются поставляемые с компилятором исходники и headers, которые лучше паковать отдельно, к примеру, в asn1c-devel подпакет.
5. Не упакованы маны, доки, examples, и ещё длинный список всего. Нужно разобраться так, чтобы _unpackaged_files_terminate_build 1 не срабатывал.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260671</commentid>
    <comment_count>13</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-03-09 13:52:55 +0300</bug_when>
    <thetext>(Ответ для Andrey Limachko на комментарий #12)
&gt; (Ответ для kiper на комментарий #11)
&gt; &gt; Пакет asn1c: https://git.altlinux.org/people/kiper/packages/asn1c.git
&gt; &gt; tag подписан и готов к сборке. Хотелось бы получить доступ к сборочнице.
&gt; 
&gt; Пакет к сборке не готов.
&gt; 
&gt; 1. URL должен указывать на homepage.
&gt; 2. Зачем в зависимостях autoconf-common?
&gt; 3. Нужно включить тесты
&gt; 4. Для компиляции уже скопилированного asn1c кода на C требуются
&gt; поставляемые с компилятором исходники и headers, которые лучше паковать
&gt; отдельно, к примеру, в asn1c-devel подпакет.
&gt; 5. Не упакованы маны, доки, examples, и ещё длинный список всего. Нужно
&gt; разобраться так, чтобы _unpackaged_files_terminate_build 1 не срабатывал.

Большое спасибо за правки!
1. Теперь URL указывает на homepage, а VCS на оригинальный репозиторий.
2. BuildRequires устанавливал из соображение минимально установленной системы. Если ориентироваться на gear-hsh, в котором, действительно, autoconf-common прописывать не нужно, то вашу мысль понял. Я убрал BuildRequires :)
3. Тесты проект не проходит, потому решил откатить его к тэгу, на котором тесты проходят. Изначально тесты проглядел из-за своей невнимательности.
4. Моё упущение. Исправил! Часть изменений, вроде `*.h` и `*.c` файлов в пакете asn1c-devel, а часть, вроде asn1c заголовков и конфигов, которые нужны при компиляции в пакете asn1c. Также в asn1c упаковываются маны и доки.
5. см. п.4 :)

Насчёт example-ов идей нет, как упаковать. Если только положить сами исходники. 
Сборка через gear-hsh проходит успешно. Собирается 3 пакета: asn1c, asn1c-devel и asn1c-debuginfo.

Tag: https://git.altlinux.org/people/kiper/packages/?p=asn1c.git;a=tag;h=refs/tags/0.9.28-alt1
Commit: https://git.altlinux.org/people/kiper/packages/?p=asn1c.git;a=commit;h=93e40aace766eb3d872329f81ae912b47a85b2a7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260785</commentid>
    <comment_count>14</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-03-10 20:38:54 +0300</bug_when>
    <thetext>Вцелом, нормально.

examples можно положить &quot;как есть&quot; в пакет вида asn1c-examples.

А так все норм. Поправь экзамплы и можно отправлять на сборку.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260786</commentid>
    <comment_count>15</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-03-10 20:40:40 +0300</bug_when>
    <thetext>Кандидат готов отправлять пакеты на сборочницу. Прошу перевести его на 
этап 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261294</commentid>
    <comment_count>16</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2025-03-18 14:36:51 +0300</bug_when>
    <thetext>ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -&gt; 3.6.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261752</commentid>
    <comment_count>17</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-03-25 11:15:59 +0300</bug_when>
    <thetext>(Ответ для Andrey Limachko на комментарий #14)
&gt; Вцелом, нормально.
&gt; 
&gt; examples можно положить &quot;как есть&quot; в пакет вида asn1c-examples.
&gt; 
&gt; А так все норм. Поправь экзамплы и можно отправлять на сборку.

examples положил как есть в каталоге `%_libdir/%name`.
Произвёл тестовую сборку на gyle в задаче #379178.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262169</commentid>
    <comment_count>18</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-03-31 17:38:19 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #17)
&gt; (Ответ для Andrey Limachko на комментарий #14)
&gt; &gt; Вцелом, нормально.
&gt; &gt; 
&gt; &gt; examples можно положить &quot;как есть&quot; в пакет вида asn1c-examples.
&gt; &gt; 
&gt; &gt; А так все норм. Поправь экзамплы и можно отправлять на сборку.
&gt; 
&gt; examples положил как есть в каталоге `%_libdir/%name`.
&gt; Произвёл тестовую сборку на gyle в задаче #379178.

С `%_libdir/%name` я немного погорячился...
Сейчас examples лежат в `%buildroot%_datadir/%name/`.
Помимо всего поправил пути, и вместо asn1c используется макрос `%name`
Произвёл тестовую сборку исправленной версии на gyle в задаче #379814.

---

В задаче #379814 заметил warning по поводу того, что подпакеты examples и devel могут быть noarch. Уже поправил и собрал тестовую сборку в задаче #379820.

P.S. Прошу простить, в следующий раз буду внимательнее!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262405</commentid>
    <comment_count>19</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-04-03 17:51:35 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #18)
&gt; (Ответ для kiper на комментарий #17)
&gt; &gt; (Ответ для Andrey Limachko на комментарий #14)
&gt; &gt; &gt; Вцелом, нормально.
&gt; &gt; &gt; 
&gt; &gt; &gt; examples можно положить &quot;как есть&quot; в пакет вида asn1c-examples.
&gt; &gt; &gt; 
&gt; &gt; &gt; А так все норм. Поправь экзамплы и можно отправлять на сборку.
&gt; &gt; 
&gt; &gt; examples положил как есть в каталоге `%_libdir/%name`.
&gt; &gt; Произвёл тестовую сборку на gyle в задаче #379178.
&gt; 
&gt; С `%_libdir/%name` я немного погорячился...
&gt; Сейчас examples лежат в `%buildroot%_datadir/%name/`.
&gt; Помимо всего поправил пути, и вместо asn1c используется макрос `%name`
&gt; Произвёл тестовую сборку исправленной версии на gyle в задаче #379814.
&gt; 
&gt; ---
&gt; 
&gt; В задаче #379814 заметил warning по поводу того, что подпакеты examples и
&gt; devel могут быть noarch. Уже поправил и собрал тестовую сборку в задаче
&gt; #379820.
&gt; 
&gt; P.S. Прошу простить, в следующий раз буду внимательнее!!!

Зачем в spec&apos;е заявлен пакет asn1c-devel, если в него, по итогу сборки, ничего не попадает?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262415</commentid>
    <comment_count>20</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-04-03 20:01:50 +0300</bug_when>
    <thetext>(Ответ для Andrey Limachko на комментарий #19)
&gt; (Ответ для kiper на комментарий #18)
&gt; &gt; (Ответ для kiper на комментарий #17)
&gt; &gt; &gt; (Ответ для Andrey Limachko на комментарий #14)
&gt; &gt; &gt; &gt; Вцелом, нормально.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; examples можно положить &quot;как есть&quot; в пакет вида asn1c-examples.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; А так все норм. Поправь экзамплы и можно отправлять на сборку.
&gt; &gt; &gt; 
&gt; &gt; &gt; examples положил как есть в каталоге `%_libdir/%name`.
&gt; &gt; &gt; Произвёл тестовую сборку на gyle в задаче #379178.
&gt; &gt; 
&gt; &gt; С `%_libdir/%name` я немного погорячился...
&gt; &gt; Сейчас examples лежат в `%buildroot%_datadir/%name/`.
&gt; &gt; Помимо всего поправил пути, и вместо asn1c используется макрос `%name`
&gt; &gt; Произвёл тестовую сборку исправленной версии на gyle в задаче #379814.
&gt; &gt; 
&gt; &gt; ---
&gt; &gt; 
&gt; &gt; В задаче #379814 заметил warning по поводу того, что подпакеты examples и
&gt; &gt; devel могут быть noarch. Уже поправил и собрал тестовую сборку в задаче
&gt; &gt; #379820.
&gt; &gt; 
&gt; &gt; P.S. Прошу простить, в следующий раз буду внимательнее!!!
&gt; 
&gt; Зачем в spec&apos;е заявлен пакет asn1c-devel, если в него, по итогу сборки,
&gt; ничего не попадает?

Всё, нашёлся -devel пакет. Больше вопросов, вроде бы, нету. Аппрувлю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267795</commentid>
    <comment_count>21</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-06-25 15:40:21 +0300</bug_when>
    <thetext>Мне захотелось собрать пакет wasmtime, т.к. пакет довольно интересный и к тому же написан на Rust. Можно собрать интересный пакет и посмотреть, как собирается Rust :)

Подготовил репозиторий на gitery: https://git.altlinux.org/people/kiper/packages/wasmtime.git

Попытался собрать, однако сборка падает на i586, задачи: #388106 #388124.

Буду пытаться разобраться!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267870</commentid>
    <comment_count>22</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-06-26 15:11:15 +0300</bug_when>
    <thetext>По wasmtime пока не разобрался, однако параллельно с этим собрал другой пакет.

У нас в репозитории есть интересный пакет: re2c, однако последний раз он собирался 5 апреля 2022, версия 2.2-alt1. Я склонировал себе репу, обновил до версии 4.2-alt1 и произвёл тестовую сборку. Обновлял, как и текущий сопровождающий.

Хотел бы уточнить, нужно ли обновить Url(https://re2c.org/) и добавить Vcs(https://github.com/skvadrik/re2c)?

Задание сборочницы: #388260
Репозиторий: https://git.altlinux.org/people/kiper/packages/re2c.git</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268246</commentid>
    <comment_count>23</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-07-02 18:00:47 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #22)
&gt; По wasmtime пока не разобрался, однако параллельно с этим собрал другой
&gt; пакет.
&gt; 
&gt; У нас в репозитории есть интересный пакет: re2c, однако последний раз он
&gt; собирался 5 апреля 2022, версия 2.2-alt1. Я склонировал себе репу, обновил
&gt; до версии 4.2-alt1 и произвёл тестовую сборку. Обновлял, как и текущий
&gt; сопровождающий.
&gt; 
&gt; Хотел бы уточнить, нужно ли обновить Url(https://re2c.org/) и добавить
&gt; Vcs(https://github.com/skvadrik/re2c)?
&gt; 
&gt; Задание сборочницы: #388260
&gt; Репозиторий: https://git.altlinux.org/people/kiper/packages/re2c.git

Задачу #388319 одобрил. re2c и wasmtime уже попали в sisyphus.

&gt; Хотел бы уточнить, нужно ли обновить Url(https://re2c.org/) и добавить
&gt; Vcs(https://github.com/skvadrik/re2c)?
Да, нужно, но уже поздно :)
Два дня назад вышла новая версия re2c. Стоит обновить, а заодно и поправить Url с Vcs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268289</commentid>
    <comment_count>24</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-07-03 14:15:53 +0300</bug_when>
    <thetext>(Ответ для Andrey Limachko на комментарий #23)
&gt; (Ответ для kiper на комментарий #22)
&gt; &gt; Хотел бы уточнить, нужно ли обновить Url(https://re2c.org/) и добавить
&gt; &gt; Vcs(https://github.com/skvadrik/re2c)?
&gt; Да, нужно, но уже поздно :)
&gt; Два дня назад вышла новая версия re2c. Стоит обновить, а заодно и поправить
&gt; Url с Vcs.

Произвёл обновление в задаче #388803. Обновил Url с Vcs. Помимо re2c произвёл тестовую пересборку зависящих от re2c пакетов в той же задаче.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269953</commentid>
    <comment_count>25</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-07-28 13:33:33 +0300</bug_when>
    <thetext>Обновил wasmtime с 34.0.1-alt1 до 35.0.0-alt1.
В EPERM.
задача: #391011.
Ожидаю апрув.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270021</commentid>
    <comment_count>26</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-07-29 13:52:44 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #25)
&gt; Обновил wasmtime с 34.0.1-alt1 до 35.0.0-alt1.
&gt; В EPERM.
&gt; задача: #391011.
&gt; Ожидаю апрув.

Зачем так делать?
&gt; %files examples
&gt; %dir %_datadir/%name
&gt; %dir %_datadir/%name/examples
&gt; %_datadir/%name/examples/*

Дочтаточно так:
&gt; %files examples
&gt; %dir %_datadir/%name
&gt; %_datadir/%name/examples

Так можно и явно указать на владение %_datadir/%name и положить в пакет содержимое %_datadir/%name/examples.

Можно было бы сделать и ещё проще: %_datadir/%name. Но так лучше не делать. В таком случае в пакет wasmtime-examples попадёт вся директория %_datadir/%name, в последующих обновлениях в ней может появиться что-то другое, отличное от examples, о чём мы просто так уже не узнаем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270023</commentid>
    <comment_count>27</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-07-29 14:07:41 +0300</bug_when>
    <thetext>(Ответ для Andrey Limachko на комментарий #26) 
&gt; Зачем так делать?
&gt; &gt; %files examples
&gt; &gt; %dir %_datadir/%name
&gt; &gt; %dir %_datadir/%name/examples
&gt; &gt; %_datadir/%name/examples/*
&gt; 
&gt; Дочтаточно так:
&gt; &gt; %files examples
&gt; &gt; %dir %_datadir/%name
&gt; &gt; %_datadir/%name/examples

Исправил и собрал в той же задачи в EPERM!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270024</commentid>
    <comment_count>28</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-07-29 14:15:53 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #27)
&gt; (Ответ для Andrey Limachko на комментарий #26) 
&gt; &gt; Зачем так делать?
&gt; &gt; &gt; %files examples
&gt; &gt; &gt; %dir %_datadir/%name
&gt; &gt; &gt; %dir %_datadir/%name/examples
&gt; &gt; &gt; %_datadir/%name/examples/*
&gt; &gt; 
&gt; &gt; Дочтаточно так:
&gt; &gt; &gt; %files examples
&gt; &gt; &gt; %dir %_datadir/%name
&gt; &gt; &gt; %_datadir/%name/examples
&gt; 
&gt; Исправил и собрал в той же задачи в EPERM!

Уехало в sisyphus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270776</commentid>
    <comment_count>29</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-08-12 14:53:41 +0300</bug_when>
    <thetext>Собрал пакет litecli и cli_helpers(зависимость) в задаче #392269.
Хотелось бы понять, а как правильно готовить python3.

Например в https://git.altlinux.org/people/slev/public/?p=python_spec.git&amp;a=blob&amp;f=python_latest.spec&amp;h=314116952ebe1d11e68acfe448eb30914eb65497&amp;hb=main показано, что нужно указать `%def_with check`, но не совсем понятно, что это делает, потому у себя не прописал.

Не совсем понятно, имеет ли `pypi_name` и `mod_name` какое-то особое значение?

Также не совсем понятно, во что превращается `@NAME@` и в чём разница между `%patch -p1` и `%autopatch -p1`.

Хотелось бы понять что означают некоторые макросы, т.к. не получается найти информацию по этому поводу, а `rpm --eval` молчит :)

P.S. Задача test-only и будет правиться, но если что-то не так, говорите! Буду рад любым правкам.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270791</commentid>
    <comment_count>30</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-08-12 17:38:03 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #29)
&gt; Собрал пакет litecli и cli_helpers(зависимость) в задаче #392269.
&gt; Хотелось бы понять, а как правильно готовить python3.
&gt; 
&gt; Например в
&gt; https://git.altlinux.org/people/slev/public/?p=python_spec.
&gt; git&amp;a=blob&amp;f=python_latest.
&gt; spec&amp;h=314116952ebe1d11e68acfe448eb30914eb65497&amp;hb=main показано, что нужно
&gt; указать `%def_with check`, но не совсем понятно, что это делает, потому у
&gt; себя не прописал.
Макрос `%def_with check` включает тесты, а именно то, что обёрнуто макросом %if_with check ... %endif

&gt; 
&gt; Не совсем понятно, имеет ли `pypi_name` и `mod_name` какое-то особое
&gt; значение?
pypi_name - имя модуля из pypi.
mod_name - имя каталога с модулем в site-packages.

&gt; 
&gt; Также не совсем понятно, во что превращается `@NAME@` и в чём разница между
@NAME@ в данном случае подразумевает подстановку pypi имени пакета. По ссылке же приводится шаблон спека, который нужно подгонять под конкретный пакет.

&gt; `%patch -p1` и `%autopatch -p1`.
`%patch -p1` к конкретному патчу. `%patch -p1` равен `%patch1 -p1`. Для других патчей нужно указывать как-то так: `%patch1 -p1`, `%patch2 -p1` и т.д.
`%autopatch -p1` применяет все имеющиеся патчи автоматом, без явного перечисления.

&gt; 
&gt; Хотелось бы понять что означают некоторые макросы, т.к. не получается найти
&gt; информацию по этому поводу, а `rpm --eval` молчит :)
Берём пакет rpm-macros-&lt;что-то&gt; и смотрим его содержимое. Затем находим, к примеру, файлик `/usr/lib/rpm/macros.d/pyproject` и смотрим. Если повезёт, то там даже будут комментарии.

&gt; 
&gt; P.S. Задача test-only и будет правиться, но если что-то не так, говорите!
&gt; Буду рад любым правкам.

По python3-module-cli_helpers:
1. pypi_name (cli_helpers) не соответствует реальному имени из pypi (https://pypi.org/project/cli-helpers/).
2. В качестве Url для python3 модулей, желательно использовать ссылку на pypi.
3. Почему закомментированы тесты?

По litecli:
1. %description не должен содержать строк длиннее 72 символов.
2. Желательно разделить пакет на два подпакеты: litecli и python3-module-litecli. В одном лежит %_bindir/%pypi_name, а в другом - содердимое %python3_sitelibdir/.

По обоим пакетам:
1. В патчах, видимо, выпиливаются тесты, которые по каким то причинам не отрабатывают во время сборки. Желательно, если есть возможность, отключать их в spec&apos;e опциями %pyproject_run_pytest, а не патчить код.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270793</commentid>
    <comment_count>31</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-08-12 17:46:32 +0300</bug_when>
    <thetext>В следующем python3 модуле желательно попробовать другую схему сборки, с макросами rpm-macros-pyproject. Подробнее по ссылке https://www.altlinux.org/Management_of_Python_dependencies_sources. В сообществе бытуют разные мнения о том, стоит ли использовать эту схему или нет. Я предпочитаю использовать.

В любом случае, кандидату полезно познакомиться с обоими схемами.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270951</commentid>
    <comment_count>32</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-08-15 13:56:54 +0300</bug_when>
    <thetext>(Ответ для Andrey Limachko на комментарий #30)
&gt; Макрос `%def_with check` включает тесты, а именно то, что обёрнуто макросом
&gt; %if_with check ... %endif
&gt; pypi_name - имя модуля из pypi.
&gt; mod_name - имя каталога с модулем в site-packages.
&gt; `%patch -p1` к конкретному патчу. `%patch -p1` равен `%patch1 -p1`. Для
&gt; других патчей нужно указывать как-то так: `%patch1 -p1`, `%patch2 -p1` и т.д.
&gt; `%autopatch -p1` применяет все имеющиеся патчи автоматом, без явного
&gt; перечисления.

понял.

(Ответ для Andrey Limachko на комментарий #30)
&gt; Берём пакет rpm-macros-&lt;что-то&gt; и смотрим его содержимое. Затем находим, к
&gt; примеру, файлик `/usr/lib/rpm/macros.d/pyproject` и смотрим. Если повезёт,
&gt; то там даже будут комментарии.

хорошо.

(Ответ для Andrey Limachko на комментарий #30)
&gt; По python3-module-cli_helpers:
&gt; 1. pypi_name (cli_helpers) не соответствует реальному имени из pypi

Исправил, добавил `Provides: python3-module-%{pep503_name %pypi_name} = %EVR`.

(Ответ для Andrey Limachko на комментарий #30)
&gt; (https://pypi.org/project/cli-helpers/).
&gt; 2. В качестве Url для python3 модулей, желательно использовать ссылку на
&gt; pypi.

Исправил.

(Ответ для Andrey Limachko на комментарий #30)
&gt; 3. Почему закомментированы тесты?

Пытался понять, кто их вызывает(вызывал `%pyproject_install`). Т.к. то была тестовая сборка, комментарий не убрал.


(Ответ для Andrey Limachko на комментарий #30)
&gt; По litecli:
&gt; 1. %description не должен содержать строк длиннее 72 символов.

Почему-то мне запомнилось про 80... Исправил!

&gt; 2. Желательно разделить пакет на два подпакеты: litecli и
&gt; python3-module-litecli. В одном лежит %_bindir/%pypi_name, а в другом -
&gt; содердимое %python3_sitelibdir/.

Разделил


&gt; По обоим пакетам:
&gt; 1. В патчах, видимо, выпиливаются тесты, которые по каким то причинам не
&gt; отрабатывают во время сборки. Желательно, если есть возможность, отключать
&gt; их в spec&apos;e опциями %pyproject_run_pytest, а не патчить код.

Исправил. 


(Ответ для Andrey Limachko на комментарий #31)
&gt; В следующем python3 модуле желательно попробовать другую схему сборки, с
&gt; макросами rpm-macros-pyproject. Подробнее по ссылке
&gt; https://www.altlinux.org/Management_of_Python_dependencies_sources. В
&gt; сообществе бытуют разные мнения о том, стоит ли использовать эту схему или
&gt; нет. Я предпочитаю использовать.
&gt; 
&gt; В любом случае, кандидату полезно познакомиться с обоими схемами.

Применил в сборке `litecli`. Кроме исправлений, сборку `cli_helpers` не менял.

Собрал в той же самой задаче(пока тестовая): #392457.

P.S. Имя пакета `python3-module-cli_helpers` не менял связи с таковым именованием её автором, но добавил provides для python3-module-%{pep503_name %pypi_name}, как это показано в https://git.altlinux.org/people/slev/public/?p=python_spec.git&amp;a=blob&amp;f=python_latest.spec&amp;hb=main.
`%pep503_name` как раз возвращает нормализованное pypi имя пакета.

P.P.S Не ясно, стоит ли добавлять отдельный provides для `python3(%{pep503_name %pypi_name})`, т.к. он в основном используется при автоматическом поиске зависимостей, где подставляется имя модуля, а имя модуля как раз `cli_helpers`...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270952</commentid>
    <comment_count>33</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-08-15 13:58:41 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #32)
&gt; Пытался понять, кто их вызывает(вызывал `%pyproject_install`). Т.к. то была
&gt; тестовая сборка, комментарий не убрал.
Ошибся. Перепроверил пока писал комментарий и забыл убрать :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270999</commentid>
    <comment_count>34</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-08-18 12:55:59 +0300</bug_when>
    <thetext>Собрал 3 задачи в eperm:
392269 - 2 питоновских пакета. litecli + зависимость в виде cli_helpers. litecli содержит патч, вырезающий часть функционала связи с отсутствующим собранным python3(llm) (конкретно функционал, связанный с данной библиотекой), т.к. зависимость не опциональна. Пакеты новые.
392292 - утилита на golang для произведении ping разными методами. Пакет новый.
392457 - wasmtime. В данной задачи исправления по сборке пакета. 

P.S. в случае wasmtime теперь используются soname, который также является частью названия бинарных пакетов, связи с чем возникает вопрос, а нужно ли прописывать Provides, например: libwasmtime для libwasmtime1? Данный вопрос почему-то у меня возник только сейчас...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271196</commentid>
    <comment_count>35</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-08-21 14:09:53 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #32)
&gt; (Ответ для Andrey Limachko на комментарий #30)
&gt; &gt; По python3-module-cli_helpers:
&gt; &gt; 1. pypi_name (cli_helpers) не соответствует реальному имени из pypi
&gt; 
&gt; Исправил, добавил `Provides: python3-module-%{pep503_name %pypi_name} =
&gt; %EVR`.
&gt; 
&gt; (Ответ для Andrey Limachko на комментарий #30)
&gt; &gt; (https://pypi.org/project/cli-helpers/).
&gt; &gt; 2. В качестве Url для python3 модулей, желательно использовать ссылку на
&gt; &gt; pypi.
&gt; 
&gt; Исправил.
Это всё хорошо, только наоборот. PyPi имя модуля - cli-helper. https://pypi.org/project/cli-helpers/. А вот имя модуля, которое применяется при  импорте в python - как раз cli_helper. Так что модуль, репозиторий и SRPM должны называться python3-module-cli-helper.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271220</commentid>
    <comment_count>36</comment_count>
    <who name="Andrey Limachko">liannnix</who>
    <bug_when>2025-08-21 16:25:18 +0300</bug_when>
    <thetext>(Ответ для kiper на комментарий #34)
&gt; Собрал 3 задачи в eperm:
&gt; 392269 - 2 питоновских пакета. litecli + зависимость в виде cli_helpers.
&gt; litecli содержит патч, вырезающий часть функционала связи с отсутствующим
&gt; собранным python3(llm) (конкретно функционал, связанный с данной
&gt; библиотекой), т.к. зависимость не опциональна. Пакеты новые.
По хорошему, в таких случаях не выпиливают функционал, а собирают недостающие либы. Для alt1 нормально, но потом нужно сделать alt2 сборку с llm.

&gt; 392292 - утилита на golang для произведении ping разными методами. Пакет
&gt; новый.
Выглядит хорошо. Уехало в sisyphus.

&gt; 392457 - wasmtime. В данной задачи исправления по сборке пакета. 
&gt; 
&gt; P.S. в случае wasmtime теперь используются soname, который также является
&gt; частью названия бинарных пакетов, связи с чем возникает вопрос, а нужно ли
&gt; прописывать Provides, например: libwasmtime для libwasmtime1? Данный вопрос
&gt; почему-то у меня возник только сейчас...
По wasmtime. Выглядит вроде нормально, но полной уверенности нет. Прошу взглянуть iv@ и оценить, пожалуйста.
Замечания:
1. Зачем для лицензии делать отдельный пакет common? Достаточно использовать макрос %doc. Он и создаст директорию с нужным именем и версией.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271786</commentid>
    <comment_count>37</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2025-09-01 12:56:12 +0300</bug_when>
    <thetext>&gt; Прошу взглянуть iv@ и оценить, пожалуйста.

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

В целом, было бы проще поревьювить эти изменения, если бы они были разбиты на отдельные коммиты, как это принято в разработке.

В плане внедрения Shared Libs Policy я вижу одну проблему, которая делает всю проделанную работу достаточно бессмысленной -- это зависимость вида

+%package -n lib%name%soversion
[...]
+Requires: %name-common = %EVR

Если мы хотим, чтобы следующий lib%name%soversion стоял в одной системе с этим пакетом, нужно, чтобы в этой зависимости было &apos;&gt;= %EVR&apos; например.

У других пакетов можно оставить &apos;=&apos;.


А ещё нумерацию выдуманных здесь soname&apos;ов я бы начал всё-таки с нуля.


&gt; а нужно ли прописывать Provides, например: libwasmtime для libwasmtime1? 

Думаю нет.


Ещё несколько мыслей по поводу изменений спека.

Комментарий

# Set textrel=relaxed for i586, i686

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


Использование patchelf для выставления soname это, на мой взгляд, слишком сурово. patchelf сам по себе иногда приводит к очень странным последствиям (моя личная травма это #48494). К тому же, если апстрим однажды всё-таки начнёт выставлять soname, patchelf его спокойно перетрёт это может очень легко остаться незамеченным. У патча на какой-нибудь CMakeLists.txt (или куда там) гораздо больше шансов своевременно отвалиться.


&gt; +- fix: issue https://bugzilla.altlinux.org/55586.

Лучше всё-таки описать суть изменений, а ссылку на багу привести в формате, описанном тут: https://www.altlinux.org/Руководство_по_написанию_changelog#Автозакрытие_багов</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273332</commentid>
    <comment_count>38</comment_count>
    <who name="">kiper</who>
    <bug_when>2025-09-27 12:08:18 +0300</bug_when>
    <thetext>Собрал новую версию wasmtime 37.0.0-alt1 в задании #392457 (eperm).
Внёс все предложенные изменения, но мог что-то упустить или не правильно понять, так что прошу взглянуть на всякий случай.

P.S. В соответствии с обновлением https://www.altlinux.org/RPM/Rust явное создание .cargo/config.toml было заменено на использование макроса %rust_prep.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16475</attachid>
            <date>2024-07-24 14:38:48 +0300</date>
            <delta_ts>2024-08-07 12:34:12 +0300</delta_ts>
            <desc>Открытый gpg</desc>
            <filename>gpg</filename>
            <type>application/pgp-keys</type>
            <size>3090</size>
            <attacher>kiper</attacher>
            
              <data encoding="base64">LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkdhWGdwb0JFQUN3QTdw
Q0FoZ1dJWlQrZDR2VEJ5dnpYTkptaS8ybEEyUzJvWmF3WnEzNzBYcXBJMGhOCkMxWXR2ditySU5U
di93MXUzT3Y5VWJWVmdpNW9pT3AxWTZ1Y2RxdWo4QWtGeUxUYkprYnVGNDV5Q01KcmFwUlUKdmEz
VzhhclNqOHVFRk9ySjNwVS96c3lSTFdST3QvZThLN0FrNytNaEEvMnNCZ2FIVEZ4QW13cTRYWTh6
dTBnUgoxYVdBUllhQVNMTnhCTlphZ0dOTVFIZ0NCSEZaMnVDdDlyb0pKYUdlM2UybWdsd0ZTNjdG
VHFEVTMyWXNlZldGCnZseFFUdS9tM2lESVhVcENteUFMK3lBakROY3lrclZJMTVXVzFWMEVRN1lu
eWh3WldUTjBBZGdSVFJUcEhRa2wKWTdCS2hNZmkzOWpUd3J1ek92MzUyaFkwMXArbjl1RzYzaTRm
Q0JmZWc0UnpwQkFKUitlZjhNMExJNkcwNDJJWQpKRGlwTDU5T2dobmpZK3BlYmhjaHV6YzFRUlBv
SEh0bnFPUDJvMmVSdVBhdWZ5VTdUMHRTUGgvRkxDKytRVnpxCnAxZGM0MG41Rk5XM09jbU14ZG1P
bDVzZVFCYnhHNk4wZ21JbFpqWDNYY2NBcXAvdFF5UERpNi9WN1pMTTdna3MKZ1kvcWlrRkNZZC9l
Y2FGYTlVc1JSZFlNVHh4ZFBMT0NkS09URERUbi92bFJBeVdhcE1rOHJ2UElxdU5JTXNaUgp0Szhh
R3ozYVFHNlYydHhvR1Y3b2I3YS9DUGVGWktaQ0hNVjZKSkVrYWEvKy8xaGhJZ0VpOUU3UGRXUWxi
WnNQClY4Wm8vUENkMzZQaEtkZUM1ZUdVQTVZdDYybzNGUGZlRlg5V0gxamxRdDdiUThxMlMvQWdt
aTBsclFBUkFRQUIKdENKSFpXUmxjblFnUzI5eWJtVjVJRHhyYVhCbGNrQmhiSFJzYVc1MWVDNXZj
bWMraVFJK0JCTUJDQUFvQlFKbQpsNEthQWhzREJRa0paZ0dBQmdzSkNBY0RBZ1lWQ0FJSkNnc0VG
Z0lEQVFJZUFRSVhnQUFLQ1JCQkQ1NVJObUI1ClpMblhELzBmUW1lTHdDL3c1Sm9POUhjUlZYajl2
NlRjNWFzMjBGSEUvUG9NOVhIT0NVY05QRFh1c05ScWwybkkKOUMwQ2R0bE9Ca1NnQkxoMjV1bzdp
MStQdFBuazdNN2xucnNBbXpubldIZng3Y2V1RUlOcEJoM2RwcmQvNEdFawpNK2hLK3kxU3FLMjlT
clo4Yi9xVE0xYTMxUm5ka2JsVXV1cTZtTzFTOEZ3VE5zYm9qRnd5WVpUdi81V1YyNTAvCitEWUFa
Z2o2Y0dnWHJaQTN2Sm1WZmNWYU5KeThTZVZYYUNwMkdha05FUllQeEFVU2JqMXZhbFlVU01HWlVH
UUMKMmdZTWJBZ3FvOTlzWFFuZ3Yxa1JvZG9pVGpRaS9nL3V3eTEvd1NyKzVvNkNCZ1ErNzB1Zmpm
S2JOY2FOcDFkcgpWSjJkL1BXZGUzVDNJTHg1Njg3b0cxSE8zS1NvREowRzdFbVNoTTFNaVNPT2FL
RG5Qcm5ROVlFemJmc1V1Qyt5CmRUMm5lUVh6cTI4QmxQUnc5V0pRZm9XdkthMDR2K3hqTkIvellp
Tkp5SllVVVN5ODB0eTNHRzZoVldodnRDU1UKYVpjbGVCYkVGZzlOOGh0bm1aVFhuaHJxb3ZCWkFi
R0Nwc0dhT1BhaGdMcTVqU3ZWaEZUUndOdTU4WG5zcVRlRgpzM29oZkNUTWd2VS9HT2NEYWxYQlR6
dGxKWmZiNzczU3AvWFBwS0JkNEtIUzRmQmlBbEhaVGpEaWQyclV6dnVkCi9kWCt3cGpsTDBBcHpX
ZTk5a3NuUVZpdS9RMVRONHpPM2xKMVFIR2h0TFl2eEVncktra1huMXpreE91a1YrcEMKU0NJclc3
eklWTkx1Y2syQXQvdFc4YytMYzYrOFlsMmNOS1krZHVUK1d5cisyUk56anJrQ0RRUm1sNEthQVJB
QQowUENHa3R6dlNhb1V5eHdOQXNLdFBoM1V1bUhUcFFsWHBRRWtsK21kSzZndmZ4WXNaRGpSU1NU
NVRuRVBoamViClhFdmM5YlNQSTBRNWhac1E5cU9LbDhGVjY3YWNPRHZhSUpadlREdkhaaUE4dGhN
R2NBTFdlVXNPazZxbUVwd28KaXdNa2lYTkNaaDV5N1NmeWViMFUvZzk1QnpjcHkwWWJod2N0eTV4
WTlIZnNGR2lqZmd6TmRtbWdCWS8vQ21HOApCTkVZV0tMN2FlRjl4bktHZ0N4Y0MxMCtHNUxPT2lh
ekhHNWZwbjIwVWJUTXU2dEpwY2lyRWtCWHFRZE9nOWRRClAxODMvVWljTzJPdHdKVmxrOE1tcXBM
SFZUaU5xZ3B4VUtveVJiYnVQS0dWbU9veDNIUFc0eHA1Mkx5c2puRzIKTGdSaUlQUGNCQ2MzOE8z
U01BUUhXYXhLbTFWVGZTZ1dpNjZhZU9yOUxkVmYvVXgyMmI4WHVoNjJPL2xZRitaSQpSSHJhdUZu
TWxvWEZJMzBGZ0VQWHpNRDNvRUxZWk8wcGpvSldSeW1mT21GUjlxTm0xdFlQdXhtLzZwRm12MFdZ
CjBQRXYwZDlFNW95QXJMZlcxK0pPK2hoZGFiTks0UjNnSjFqTkZaSVZDRG1IK1Vmdlc0blVKakti
SUNtVlZ1b2sKSS9jVjBEdkVBOEJEZUlHa2g3R2hOclRIZ1V3S281dXZEck1jdDV2Y0FQRzU1Sldw
MDkvbUtBR0ZEbkRLaXdkawpvRjNaZXIydURVRDF1cFBXYzhtOFFMSjM3bDJXTk56R3Fjamdrb0Zl
bTl2aVhhVzZLUi9CMlhoUkZVMURSUzNjCko3cDZncmJKbkc0aDl6U3NPbG9DSC9Od0pwcVVrblBR
bytHS0tKS0ZHd1VBRVFFQUFZa0NKUVFZQVFnQUR3VUMKWnBlQ21nSWJEQVVKQ1dZQmdBQUtDUkJC
RDU1Uk5tQjVaS2J6RC85K0VvelRmaEF1dWNYYVlYbEo2N2VoQ1VCTwplQ0F5TnB4eXNndWNVYXdG
RU9EZVgxMmltcGszWTNGK1pCZzdRMTRreFNUa3ZsYzM1c1FGWFYvY2NQdVFLSzZsCmV4Z2syd2ZD
UXgrWWMxRThLSGsyZzgvd3NHeFJIK0FDWWlyQUFiZW55VkprUVJhczFnbW04QzVuajZXWnZjVlkK
YVBoeXRnL25wK0ZWZThPdkZFaktjMytWSFA2RXVqdy9uUFVyb1cyUmx4eDg2TlVLRzNpbDJ5ekpp
bTQ1ZzYxVwpESVpRdmdTV2R0ZW8vWHBleWcrMzBWdEp2eWdEbFIrSjdKdlVsUFdhL2JJYm16M0dH
S3FJVjlyYkl1dHlqTERwCkVGWml6QVhWWi8vL3JneS9mcDlpaU9oeENFRHNHREwwZGRFUVk5OUc3
ZTJ3NVZHUVpkNjVGdGpFT3FuNENrdk0KSGY0S1ZmL0FpQUF0ZFdoQ3pnb3lwR2FUc2JxVjlmRjNv
dGlqMUMzVjBXYWhqUHRWVlJyZ2wxWU02STd5U1M0YwpHblVqUVhZbTdGK3pXTUdHK21WYjJTbXZZ
RmlYTm0wMllEaHN3S1Q5MGdjdFlvbHFzUVIzK2hyc2o0dzJkell6CmlPWEIwOUc0ME8wSU53S0V4
MDZNUEM2QkNUTFd1M2RGaVhYcHBoK2dxdFlaYlc0c01SdldUYytTVlI1MzRJWlIKQTVqV3RiZTU0
dmZ5SjJrSjMvTVhWMzB5bkR4dEpDTm4wbjZiaVc0Mng5UTA1WW13ejlLSUN3b1l4YnZoNlNSagoz
aUh5RzV2TERCSDE0a2w5amtWQmZpajlwR0tQWmJobHhhV05wV1dNSHhzeUtrNzd3YTJpSjd3TnY1
TUp6bXBXCjV3V3YxKy9jeVhGSEI5YjZzdz09Cj1EMWFTCi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZ
IEJMT0NLLS0tLS0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16476</attachid>
            <date>2024-07-24 14:39:34 +0300</date>
            <delta_ts>2024-07-24 14:39:34 +0300</delta_ts>
            <desc>Открытый ssh</desc>
            <filename>id_ed25519.pub</filename>
            <type>application/vnd.ms-publisher</type>
            <size>118</size>
            <attacher>kiper</attacher>
            
              <data encoding="base64">c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUtxNFN5UVBXUnRaZ2xIbWtOejFv
RkgwajhHY3djMHd0YXhDOGRycXdPYmYgZ2VkZXJ0a2pAbGVub3ZvLTAxMDk5LnNtYi5iYXNlYWx0
LnJ1Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>16586</attachid>
            <date>2024-08-07 12:34:12 +0300</date>
            <delta_ts>2024-08-07 12:34:12 +0300</delta_ts>
            <desc>Новый открытый gpg</desc>
            <filename>gpg</filename>
            <type>application/pgp-keys</type>
            <size>3074</size>
            <attacher>kiper</attacher>
            
              <data encoding="base64">LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkdhelBwb0JFQUN2TkdE
SzJuZUh2VVlaOSsxNnA5TTVQLzl4d2VaSmNjVDduU1BJWmNmY3dacGhUVXhLClNQUmUyaC9zMEpw
L0g3SFl4RUJBWFNTRTVNRFoyU011ekxtTkkrMUdZSmVpRWVXWnA4OW9ldmt4VG9rbVoyMHYKOU54
T2o5eUxIYWFmdXFtM0NRNHRjdTlwVEFvWk1Jdld0Rk56ZkJOcHB1SzZ4bTRXT0NubFB6UG90a1RP
U0ZycApqSkRiOFowSUZaZjFYWkJ6UkNqYnljRlpxdnk0VWFtSmNHRXpPSkRwMitST2V5cGJ6cG1G
a0xtdjh2Mi9VaW5NCnBJVzBsdS8zMk5HTWc3VXdKdzBXMS8wdFVwblRRTEpKdGFpa29KTVhUMllO
YVBkejFaL2pEdlY5eXV1dk44Q2cKMVFPWDVhbDUxR3h3Y0NOM3RzaUF4dVRNVVVQTUxsdGhIbHo3
MTJQdk0weVVGblFiY2xqZTJpYUJubFJJZXYzQgpYZ21SR0FVOVhkK2JTYVQ1MzBxK3ZqeGVHZU9U
YVlpa1VQdkkwb3ZLaXJyV3RuTCthTXRIYjVrSVdSNWJPQlZXCjlTdTZ2QTduTXoxdjBLOTFXNVV5
dk9uUDlSZ2tpNjVOaHppK2g3RVlydGs0bnc2d2JCTC84UUZoL1ovYzVSTkwKZ1NGQ2hQejFhUmU0
QUg3Y0lWeHFSTTlEMVZrNkVybEZEOHJrOGVoam91dUJqaytsSGxCT0oxMlltWmlRTThxaQpCWVdN
YVdSVHFMSldTU1JoTm10Y2ZFd3JmTlZrU0hxS2M4WW5KU0drMVRydGFGQTdXTDczdktPM3FSL3lx
RXJ0CjZkNUsyVDh5N1FlVUJJVFN2cm15UERtVGlkRGRtUVkwZjVwU2FhNzF5Y3RQSnovak9zczJT
QWlld1FBUkFRQUIKdENKTGIzSnVaWGtnUjJWa1pYSjBJRHhyYVhCbGNrQmhiSFJzYVc1MWVDNXZj
bWMraVFJNEJCTUJDQUFpQlFKbQpzejZhQWhzREJnc0pDQWNEQWdZVkNBSUpDZ3NFRmdJREFRSWVB
UUlYZ0FBS0NSQWZsa1NlWkdBMVJOZ2dELzk2CktsM2RHaFRqbWZUQjhYZFNJdEhLem1oSEkxenZ0
S3BLZmZ6eHVqVVp3bXI1RHAvL2xiZERrSURqL3l3UFlUaTMKRXovTkdKYkNLUXU5NUdrVk94Nk5l
Uy90b1NkZkgzWVJxYzVMeGRNUy9YMVp2eVZKak02WFdTT1dKa0x6blA4UgorNzVycTMrODJtMC9j
S0NaK2FrZXFzV2RIQUtoNVFRdVhLY2xCWEk5Ym5ub0s4NytHdDk3QnF2N1BvLzNUdzlMClVhdWVI
b0lxa2ZxNTJqNDBFQjBYUS92Ykt3Q1VGcjAxODZ4QlNBL0lod3BsWTF5RnJ0NFkzeS8vV25HaG9I
TGwKOWZyaEhRdmQ1bFZZekh4VFVXR2pvRWd1aURUNERaUTNFVjh6djNVQnpqUXI2dVM3N1hyajVk
QVVyNG4wdHk0bApVOGlVOUFPNWg1MWxNcVg4YkI4enU2OUo5V25nUTV6ZERobjBZZE5zaHc5YnpV
dVFiY2RKT2Q0VnQ5YnB4L0lzCkpwdHgwWThMRUVVZ0FENHphd0E4TjdNcXZvc01XWFVrcG9RUjNV
QWgyZTN6bEFYc1dCZlRrdjI3OGJwbkxaaTAKd1JYdUZ3ak5qaE0rV0xlUHlXN0c2RmVnNXl4UVUr
Y1hURXI0aUJOK1RlZFVZRnFlQ3BjZkRhMi82YlhnbEpXaQpGMXlPRzdTTllwbkNieUZNQ1Fjbkd0
SXlsTENaa2NUK0pVWVU5MGkrZEhYVWVXZUVMZzltdTY3dExOUTN4b1YzCnBJV1djVUVsMVB0ODRh
Sk9sanBnWWJoVGxkeGRLZnd1RSszWE5ITHFNYlJna3pEUXordWRFWFB0Z0Y3MXhERGsKVDM3VW9J
RE9Md3lUYVBJMnRGWW1EeUxEV1JmUzFFc2ZrVGR6aHh6L0w3a0NEUVJtc3o2YUFSQUF1NDh2WHg0
ZQpaMDlQYkJzRmF6KzlYdWtyMW1RQ2VVYjdva2VSV083eVphSmFHTFhDNnI5ZTA5RjBxK1hybjcx
WFcyM29PRUcvCmhicjJDa3BKaXpxanM2bi9peldkWlFyUmJXbzh0YzNKZGgwdUlFU3ErSExQb09C
U3FhQW42SDIxdENJOVp0MFAKVHJ6dmoyMSt1SXVlcG1LZ09BTVFFSG1CTTRTc0ZES3U2TnBPYkQx
SE8rOG85azJDeTVMdXVFNTVSOUJLc09wbwpEWCtVelovVnl0allKTWNoR2lPZGxLaGF0L2RFV21h
S015ZVZmd05nRFQvQSt3WDk3MVFOd3Jid1c4eUR2YnBhClRlZFQxVkpRajR3UEhVa2d6aWU1dWpk
TDluZmVhZ3NwS1A0M2szSkVmbmVZbFY3SzdIRWl3eW5JNjg3NHltcnoKdmttcDZqQkFJY2lLS00z
dE53V2pCVVg2WW9DY01Fazc3cFpvMlZFekVta29qSnJoNzlHZWltMnFtMXM1V25BbwozbVM5Wi93
L0txRDJKeXpnUUd2MEt4eFdNRnl0b3hZaTJUMTJYNHA1M0dVWmV0aWc4V2ttdkVud0hKTFZvRnh2
Ck5TQWY5SEZSOXEyKzNSNldEazc5U3QySFphaFd6by9FcklHbDg5a0NUMUZiT3RIazdDVlY0WGJJ
bldVRElWeVEKRUs4ZmNjTTl3ZzlieFZOMUR4emhtZThsL3NmSDFjcWFlVmhpdktxK3VRQXRHT1l4
ZGRFQjVpT3NKUVlPVjNLbAp4WUV1aG9XRnp0SkxkRkxRYU9PTndkTmMxL0V1SEwrS0lDbmo2UjE1
ZHRHZGR2ZkFXYTd6d1dRRjNWQk5HNW5mCmZ2MHhyZUlkVVRnZnFmM1dCUjhZOXhIQ2pieDZncmU5
Z2hjQUVRRUFBWWtDSHdRWUFRZ0FDUVVDWnJNK21nSWIKREFBS0NSQWZsa1NlWkdBMVJLZVJELzlI
ODE0cWRlLy9OSStKNEF4ZXFiSjNGRGNZZEdBK1VlUFpMc2ljbjVQOQoyRjZBNzBqTlRpaHVJMTdz
b1lyLzNBQVl2RlNiWEpTdHFodUN6SGsycThlbmNHalpZdnlvTGpDN2FSVlgvRk5EClRCOWsxUW83
WnNlOXk0SGtIUmtDU0JTckhEcnRvSUhpbVBtbHpIMUxjVkxoMzRMRnllcDFEZnVXODdvall4ekYK
cHZwM1psRlIvcE5ZdjdqZFgyTTdScHZmWjVlT01MeWYweHJ2YnIyaTJsNG5rZGRpRVorNVRDNTVB
a1BjcU1lcQp5WGdGSXI5c1dMTFhVcmN3cFhQMkdLb2VJOHRJRFVqSmZCQ25zdjRodVgzSmpGM2JM
Ym9iVVJGdUdmZTNVZGNnCnBpZW85OU1SdlR3eVY0SkVQVmVtZHZ1NEIzbUp0QU0yRlVEeEw5UTAz
WjQzSFQxUWpzL095MmY1YXRtdFZ4Q00KQUxNNUlTT3pyOHRoZHh4VTdLZWJxZEM0OTF3UkV3RVVB
ZDBFdDFyTVF3K1B0dWNQcWtydmE0SU8zbU1XUlB6MgpKUFBHODc3eWZ3cGxjWEVKd25FZTI3ejF6
ZG1KRTl6RGhUTmZHd0VlSHhxNjBIUWRyVUZnSTk2ZlhLRVZ4RXE0CmhUbmFvOUd1KzZ2WDlmLzZL
c0wrMUY0a1pkYU5uU0lmK1l2QkJYRU9LRjBxOTh1UDdTTGZlbjFCZmJZd3JxQXcKbWFjbHl2UlVC
eHFFNmVwRENuSkRzbW1mNitIK3JNMThXQkJrV04xb21URC84VjBGTGVlRDlITnZoMGtrVTNtTwp1
MGpYVGZibDlSWEhPUkJFUTFFbG9CNEFqRVN2cjFyT3BNZWNHTm1yOFVhS1VlalhkMzlmYXZZSytV
cXhNc2lVClFBPT0KPW9sd20KLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>