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

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

    <bug>
          <bug_id>47864</bug_id>
          
          <creation_ts>2023-10-06 10:40:42 +0300</creation_ts>
          <short_desc>[4.2] join aibure@</short_desc>
          <delta_ts>2026-02-18 13:43:30 +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>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>https://altlinux.org/Team/Join</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>krasovskiyai</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>ancieg</cc>
    
    <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>234442</commentid>
    <comment_count>0</comment_count>
    <who name="">krasovskiyai</who>
    <bug_when>2023-10-06 10:40:42 +0300</bug_when>
    <thetext></thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234444</commentid>
    <comment_count>1</comment_count>
      <attachid>14679</attachid>
    <who name="">krasovskiyai</who>
    <bug_when>2023-10-06 11:38:44 +0300</bug_when>
    <thetext>Created attachment 14679
ssh и gpg ключи</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234445</commentid>
    <comment_count>2</comment_count>
      <attachid>14680</attachid>
    <who name="">krasovskiyai</who>
    <bug_when>2023-10-06 12:04:40 +0300</bug_when>
    <thetext>Created attachment 14680
публичный gpg ключ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234446</commentid>
    <comment_count>3</comment_count>
      <attachid>14681</attachid>
    <who name="">krasovskiyai</who>
    <bug_when>2023-10-06 12:05:24 +0300</bug_when>
    <thetext>Created attachment 14681
публичный ssh ключ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234447</commentid>
    <comment_count>4</comment_count>
    <who name="">krasovskiyai</who>
    <bug_when>2023-10-06 12:07:14 +0300</bug_when>
    <thetext>Ник: aibure
Цель: Научиться собирать пакеты
Адрес пересылки: aibure@basealt.ru
Ментор: ancieg 
Подписка: ancieg@altlinux.org</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234458</commentid>
    <comment_count>5</comment_count>
    <who name="">krasovskiyai</who>
    <bug_when>2023-10-06 14:41:03 +0300</bug_when>
    <thetext>Ник: aibure
Цель: Научиться собирать пакеты
Адрес пересылки: krasovskiyai@basealt.ru
Ментор: ancieg 
Подписка: ancieg@altlinux.org</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234459</commentid>
    <comment_count>6</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2023-10-06 14:42:30 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #5)
&gt; Ник: aibure
&gt; Цель: Научиться собирать пакеты
&gt; Адрес пересылки: krasovskiyai@basealt.ru
&gt; Ментор: ancieg 
&gt; Подписка: ancieg@altlinux.org
Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237795</commentid>
    <comment_count>7</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2023-11-24 16:53:03 +0300</bug_when>
    <thetext>Ментор есть, ключи в порядке.
T/J/S -&gt; 1.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237801</commentid>
    <comment_count>8</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2023-11-24 17:11:30 +0300</bug_when>
    <thetext>Прошу выдать доступ к gitery.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238640</commentid>
    <comment_count>9</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2023-12-07 22:39:11 +0300</bug_when>
    <thetext>ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -&gt; 2.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240429</commentid>
    <comment_count>10</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2024-01-22 15:30:38 +0300</bug_when>
    <thetext>Прошу выдать доступ к gyle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240444</commentid>
    <comment_count>11</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2024-01-22 17:34:20 +0300</bug_when>
    <thetext>ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -&gt; 3.6.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267341</commentid>
    <comment_count>12</comment_count>
    <who name="Anton Zhukharev">ancieg</who>
    <bug_when>2025-06-17 22:30:42 +0300</bug_when>
    <thetext>Думаю, пора передавать рецензенту.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279478</commentid>
    <comment_count>13</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2025-12-23 17:41:04 +0300</bug_when>
    <thetext>Призван рецензент (arseny@) для независимой оценки готовности кандидата.

T/J/S -&gt; 4.2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279516</commentid>
    <comment_count>14</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2025-12-24 14:57:53 +0300</bug_when>
    <thetext>(In reply to Gleb F-Malinovskiy from comment #13)
&gt; Призван рецензент (arseny@) для независимой оценки готовности кандидата.
&gt; 
&gt; T/J/S -&gt; 4.2.

ACK.

Артём, напишите, плжст, какие сборочные задания или исходные пакеты мне смотреть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279521</commentid>
    <comment_count>15</comment_count>
    <who name="">krasovskiyai</who>
    <bug_when>2025-12-24 16:33:01 +0300</bug_when>
    <thetext>Добрый день!
Список пакетов для проверки:
duckdb (C++) https://git.altlinux.org/gears/d/duckdb.git
gleam (Rust) https://git.altlinux.org/gears/g/gleam.git
git-lfs (Golang) https://git.altlinux.org/gears/g/git-lfs.git
teleport (Golang) https://git.altlinux.org/gears/t/teleport.git
date (C++) https://git.altlinux.org/gears/d/date.git</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280066</commentid>
    <comment_count>16</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 00:34:55 +0300</bug_when>
    <thetext>Дочитал я голанговщину и растишку; можно начинать.

(In reply to krasovskiyai from comment #15)
&gt; duckdb (C++) https://git.altlinux.org/gears/d/duckdb.git
Замечание: у вас в спеке идут обращения к %ninja_install -C &quot;%_cmake__builddir&quot;. В нашем случае, где всеми фазами сборки управляет CMake, это лишний шаг. Для цели `install` там просто написано &quot;исполнить сгенерированный во время configure скрипт, который всё, что надо, поставит&quot;, и от способностей ninja/make толку нет; ни трекер mtime у исходников и артефактов, ни очередь задач не используются.
А цель install для ninja вообще генерируют, если честно, просто для паритета со сложившейся практикой вокруг make(1), чтобы с руки два слова писать. 

Достаточно %cmake_install, а макросы rpm-build-ninja не требуются.

  % rpmbuild --eval &apos;%ninja_install -C &quot;%_cmake__builddir&quot;&apos;
  DESTDIR=/tmp/.private/ar/%{name}-buildroot /usr/bin/ninja -j8 install -C &quot;x86_64-alt-linux&quot;
  % rpmbuild --eval &apos;%cmake_install&apos;               
  DESTDIR=&quot;/tmp/.private/ar/%{name}-buildroot&quot; cmake --install &quot;x86_64-alt-linux&quot; --verbose

Первая раскрытая команда тупо сведётся к последней.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280067</commentid>
    <comment_count>17</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 00:35:27 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #15)
&gt; duckdb (C++) https://git.altlinux.org/gears/d/duckdb.git
Пара вопросов:

* Обоснуйте, чем &quot;ExclusiveArch: пачка&quot; лучше, чем &quot;ExcludeArch: %ix86&quot;. (Bonus points, если обоснуете, чем ExclusiveArch в альтовой практике _хуже_.)

* Что, по-вашему, означает &quot;%autopatch0&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280068</commentid>
    <comment_count>18</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 00:37:05 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #15)
&gt; date (C++) https://git.altlinux.org/gears/d/date.git
Nit: зря у этого исх. пакета название прямо date, это серьёзная заявка на конфликт с чем-нибудь, особенно для пакета с исходниками. :)
  Debian 12 bookworm/main 	howardhinnant-date 	3.0.1 	misc 	andrea@pappacoda.it
  Debian 13 trixie/main 	howardhinnant-date 	3.0.3 	misc 	tachi@debian.org
  nixpkgs stable 25.11 	howard-hinnant-date 	3.0.3 	- 	rtburns@protonmail.com
  nixpkgs unstable 	howard-hinnant-date 	3.0.3 	- 	rtburns@protonmail.com
  Arch Linux extra 	chrono-date 	3.0.4 	- 	-

Ещё мелочь: а почему у вас в секции %build при without check вызов %cmake заканчивается на %nil, а при with check не заканчивается? Хочу увидеть ход мысли.

Более важный вопрос.
Вот у вас в начале спека определено &quot;%soversion 3&quot;. Допустим, выходит новая версия, где несовместимым образом меняется ABI и становится 4. (Мейнтейнеру нужно будет этот макрос соотв. образом бампнуть.) Как вы это определите? Помогут ли вам в этом инструменты упаковки?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280069</commentid>
    <comment_count>19</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 00:38:40 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #15)
&gt; gleam (Rust) https://git.altlinux.org/gears/g/gleam.git
Подготовка завендоренного барахла у нас не автоматизирована, она отдана на совесть мейнтейнера, так что лучше, дабы приблизиться к воспроизводимости, указывать команды, при помощи которых получился vendor-каталог. Как вариант — прямо в commit message.

Больше серьёзных недочётов и ошибок я не заметил.

Вопрос к кандидату: Вот вы благим намерением добавили в gear-репу `.cargo/config.toml`. Как этот файл попадёт в сборочную среду? возымеет ли он желаемый эффект?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280070</commentid>
    <comment_count>20</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 00:41:05 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #15)
&gt; git-lfs (Golang) https://git.altlinux.org/gears/g/git-lfs.git
Добрый совет: берите в &quot;&quot; все подстановки переменных на шелле; лучше перебдеть,
чем огрести потом инъекцию кода или нежелательное раскрытие глоба. К примеру,
  43   manpage=&quot;$(echo &quot;$page&quot; | sed &apos;s/.adoc/.1/&apos;)&quot;
  44   asciidoctor -a reproducible -b manpage -o &quot;$manpage&quot; &quot;$page&quot;

То же самое про вендоринг, что и отн. gleam.
То же касается webassets в пакете teleport и вообще всех неявных заавендориваний.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280071</commentid>
    <comment_count>21</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 00:54:40 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #15)
&gt; teleport (Golang) https://git.altlinux.org/gears/t/teleport.git
Открыл я directory with ALT settings. Автор, как следует из коммита, тоже вы :) так что и вопросы вам.

   9 EnvironmentFile=-/etc/default/teleport
Обоснуйте выбор каталога для этого файла.

  12 ExecReload=/bin/sh -c &quot;exec pkill -HUP -L -F /run/teleport.pid&quot;
Интересно, почему бы здесь и в соседних юнитах сразу не вызвать программу pkill?

  13 PIDFile=/run/teleport.pid
Нужен ли в принципе PIDFile= для службы типа simple?

Ещё: ряд компонентов из состава проекта teleport написаны на rust+cargo, которые вызываются из глубин make-портянки (oh, the irony!). Приходят ли им наши оптфлаги?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280072</commentid>
    <comment_count>22</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 01:08:20 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #15)
&gt; teleport (Golang) https://git.altlinux.org/gears/t/teleport.git
А, вот ещё нехороший момент, касается служебных uid и gid для teleport.

&quot;Teleport user&quot; — отсюда ясно, что записи связаны с этим пакетом, но не ясно, что под ними работает; там же субкомпоненты есть. Прошу при обновлении сделать этому усеру gecos яснее.

Кроме того, у нас служебные (aka системные) имена усеров и групп по соглашению начинаются с `_`. Теперь, конечно, когда пакет уже в сизифе, исправить это в общем случае нелегко; сложность зависит от того, хранит ли оно в системе файлы и каков их жизненный цикл.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280073</commentid>
    <comment_count>23</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-12 01:19:32 +0300</bug_when>
    <thetext>Жду пока ответов на вопросы. Часть из них намекают на лучший вариант, чем сейчас, а иные заданы для того, чтобы было понятнее, как вы рассуждаете при принятии того или иного решения в роли мейнтейнера. :)

В остальном: вижу, что мы научились консистентно обновлять пакеты, умеем пользоваться git, пишем changelog-записи приемлемо, собираем пакеты разной природы. Пока я не увидел ни одного ноарчового пакета; прошу собрать что-нибудь noarch с учётом уже обсуждавшихся недочётов и замечаний.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280171</commentid>
    <comment_count>24</comment_count>
    <who name="">krasovskiyai</who>
    <bug_when>2026-01-13 13:33:27 +0300</bug_when>
    <thetext>(Ответ для Arseny Maslennikov на комментарий #16)
&gt; Дочитал я голанговщину и растишку; можно начинать.
&gt; 
&gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; duckdb (C++) https://git.altlinux.org/gears/d/duckdb.git
&gt; Замечание: у вас в спеке идут обращения к %ninja_install -C
&gt; &quot;%_cmake__builddir&quot;. В нашем случае, где всеми фазами сборки управляет
&gt; CMake, это лишний шаг. Для цели `install` там просто написано &quot;исполнить
&gt; сгенерированный во время configure скрипт, который всё, что надо, поставит&quot;,
&gt; и от способностей ninja/make толку нет; ни трекер mtime у исходников и
&gt; артефактов, ни очередь задач не используются.
&gt; А цель install для ninja вообще генерируют, если честно, просто для паритета
&gt; со сложившейся практикой вокруг make(1), чтобы с руки два слова писать. 
&gt; 
&gt; Достаточно %cmake_install, а макросы rpm-build-ninja не требуются.
&gt; 
&gt;   % rpmbuild --eval &apos;%ninja_install -C &quot;%_cmake__builddir&quot;&apos;
&gt;   DESTDIR=/tmp/.private/ar/%{name}-buildroot /usr/bin/ninja -j8 install -C
&gt; &quot;x86_64-alt-linux&quot;
&gt;   % rpmbuild --eval &apos;%cmake_install&apos;               
&gt;   DESTDIR=&quot;/tmp/.private/ar/%{name}-buildroot&quot; cmake --install
&gt; &quot;x86_64-alt-linux&quot; --verbose
&gt; 
&gt; Первая раскрытая команда тупо сведётся к последней.

Спасибо за замечание, внесу исправления при следующем обновлении пакета.

(Ответ для Arseny Maslennikov на комментарий #17)
&gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; duckdb (C++) https://git.altlinux.org/gears/d/duckdb.git
&gt; Пара вопросов:
&gt; 
&gt; * Обоснуйте, чем &quot;ExclusiveArch: пачка&quot; лучше, чем &quot;ExcludeArch: %ix86&quot;.
&gt; (Bonus points, если обоснуете, чем ExclusiveArch в альтовой практике _хуже_.)
&gt; 
&gt; * Что, по-вашему, означает &quot;%autopatch0&quot;?

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

Насчет %autopatch0. В документации (https://rpm.org/docs/4.19.x/manual/autosetup.html) нашел возможность явно указывать какие патчи применять, решил попробовать воспользоваться в такой форме, что бы и autopatch оставить и показать, что пока я собираюсь применять только патч с номером 0, по логам показалось, что все работает нормально, сейчас перепроверил и понял, что указание 0 ничего не меняет) %autopatch0 так же применяет все патчи. Исправлю на просто %autopatch при обновлении пакета.

(Ответ для Arseny Maslennikov на комментарий #18)
&gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; date (C++) https://git.altlinux.org/gears/d/date.git
&gt; Nit: зря у этого исх. пакета название прямо date, это серьёзная заявка на
&gt; конфликт с чем-нибудь, особенно для пакета с исходниками. :)
&gt;   Debian 12 bookworm/main 	howardhinnant-date 	3.0.1 	misc 
&gt; andrea@pappacoda.it
&gt;   Debian 13 trixie/main 	howardhinnant-date 	3.0.3 	misc 	tachi@debian.org
&gt;   nixpkgs stable 25.11 	howard-hinnant-date 	3.0.3 	- 	rtburns@protonmail.com
&gt;   nixpkgs unstable 	howard-hinnant-date 	3.0.3 	- 	rtburns@protonmail.com
&gt;   Arch Linux extra 	chrono-date 	3.0.4 	- 	-
&gt; 
&gt; Ещё мелочь: а почему у вас в секции %build при without check вызов %cmake
&gt; заканчивается на %nil, а при with check не заканчивается? Хочу увидеть ход
&gt; мысли.
&gt; 
&gt; Более важный вопрос.
&gt; Вот у вас в начале спека определено &quot;%soversion 3&quot;. Допустим, выходит новая
&gt; версия, где несовместимым образом меняется ABI и становится 4. (Мейнтейнеру
&gt; нужно будет этот макрос соотв. образом бампнуть.) Как вы это определите?
&gt; Помогут ли вам в этом инструменты упаковки?

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

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

Какими либо инструментами для определения ABI версии еще не пользовался. Сейчас нагуглил abi-compliance-checker и abi-dumper, пока думаю что Вы имели в виду их. А так я смотрел бы grep&apos;ом по objbump `objdump -p /usr/lib64/libexample.so | grep SONAME`, и то это если сборка уже не упала из-за несоответствия soname.

(Ответ для Arseny Maslennikov на комментарий #19)
&gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; gleam (Rust) https://git.altlinux.org/gears/g/gleam.git
&gt; Подготовка завендоренного барахла у нас не автоматизирована, она отдана на
&gt; совесть мейнтейнера, так что лучше, дабы приблизиться к воспроизводимости,
&gt; указывать команды, при помощи которых получился vendor-каталог. Как вариант
&gt; — прямо в commit message.
&gt; 
&gt; Больше серьёзных недочётов и ошибок я не заметил.
&gt; 
&gt; Вопрос к кандидату: Вот вы благим намерением добавили в gear-репу
&gt; `.cargo/config.toml`. Как этот файл попадёт в сборочную среду? возымеет ли
&gt; он желаемый эффект?

Про указание команд для вендоринга услышал, буду использовать.
.cargo/config.toml попадет в окружение через кумулятивный патч 
Patch: %name-%version-alt.patch
diff: v@version@:. . name=@name@-@version@-alt.patch exclude=vendor/ exclude=.gear/
Полагаю эффект возымеет, как минимум по логам точно применяются rustflags = [&quot;-Copt-level=3&quot;, &quot;-Cdebuginfo=1&quot;]


(Ответ для Arseny Maslennikov на комментарий #20)
&gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; git-lfs (Golang) https://git.altlinux.org/gears/g/git-lfs.git
&gt; Добрый совет: берите в &quot;&quot; все подстановки переменных на шелле; лучше
&gt; перебдеть,
&gt; чем огрести потом инъекцию кода или нежелательное раскрытие глоба. К примеру,
&gt;   43   manpage=&quot;$(echo &quot;$page&quot; | sed &apos;s/.adoc/.1/&apos;)&quot;
&gt;   44   asciidoctor -a reproducible -b manpage -o &quot;$manpage&quot; &quot;$page&quot;
&gt; 
&gt; То же самое про вендоринг, что и отн. gleam.
&gt; То же касается webassets в пакете teleport и вообще всех неявных
&gt; заавендориваний.

Так же спасибо за замечание, приму к сведению.

(Ответ для Arseny Maslennikov на комментарий #21)
&gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; teleport (Golang) https://git.altlinux.org/gears/t/teleport.git
&gt; Открыл я directory with ALT settings. Автор, как следует из коммита, тоже вы
&gt; :) так что и вопросы вам.
&gt; 
&gt;    9 EnvironmentFile=-/etc/default/teleport
&gt; Обоснуйте выбор каталога для этого файла.
&gt; 
&gt;   12 ExecReload=/bin/sh -c &quot;exec pkill -HUP -L -F /run/teleport.pid&quot;
&gt; Интересно, почему бы здесь и в соседних юнитах сразу не вызвать программу
&gt; pkill?
&gt; 
&gt;   13 PIDFile=/run/teleport.pid
&gt; Нужен ли в принципе PIDFile= для службы типа simple?
&gt; 
&gt; Ещё: ряд компонентов из состава проекта teleport написаны на rust+cargo,
&gt; которые вызываются из глубин make-портянки (oh, the irony!). Приходят ли им
&gt; наши оптфлаги?

Unit файл я получил командой: teleport install systemd. Подозрительным он мне не показался.

Rust утилита fdpass-teleport видно собирается с rustflags = [&quot;-Copt-level=3&quot;, &quot;-Cdebuginfo=1&quot;], но игнорирует strip = false из tool/fdpass-teleport/.cargo/config.toml. Пока не нашел причину почему так.



(Ответ для Arseny Maslennikov на комментарий #22)
&gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; teleport (Golang) https://git.altlinux.org/gears/t/teleport.git
&gt; А, вот ещё нехороший момент, касается служебных uid и gid для teleport.
&gt; 
&gt; &quot;Teleport user&quot; — отсюда ясно, что записи связаны с этим пакетом, но не
&gt; ясно, что под ними работает; там же субкомпоненты есть. Прошу при обновлении
&gt; сделать этому усеру gecos яснее.
&gt; 
&gt; Кроме того, у нас служебные (aka системные) имена усеров и групп по
&gt; соглашению начинаются с `_`. Теперь, конечно, когда пакет уже в сизифе,
&gt; исправить это в общем случае нелегко; сложность зависит от того, хранит ли
&gt; оно в системе файлы и каков их жизненный цикл.

Про gecos услышал, сделаю подробнее.
Про соглашение наименования системных имен не знал, впредь буду учитывать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280200</commentid>
    <comment_count>25</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-01-13 18:13:20 +0300</bug_when>
    <thetext>Чуть позже всё прокомментирую.

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

В поле License: в пакете мы последние годы стараемся поддерживать порядок.
Если у лицензии есть общепринятый SPDX-License-Identifier, мы указываем его.
Если у лицензии его нет, то придумываем сами с префиксом &quot;ALT-&quot;; например, ALT-Reticulum, ALT-Zsh. Тогда либо в пакет common-licenses, либо в наш пакет нужно поместить под соотв. именем в каталог /usr/share/license* текст лицензии.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282177</commentid>
    <comment_count>26</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-02-18 13:27:22 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #24)
&gt; (Ответ для Arseny Maslennikov на комментарий #16)
&gt; &gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; &gt; duckdb (C++) https://git.altlinux.org/gears/d/duckdb.git
&gt; &gt; Замечание: у вас в спеке идут обращения к %ninja_install -C
&gt; &gt; &quot;%_cmake__builddir&quot;. В нашем случае, где всеми фазами сборки управляет
&gt; &gt; CMake, это лишний шаг. Для цели `install` там просто написано &quot;исполнить
&gt; &gt; сгенерированный во время configure скрипт, который всё, что надо, поставит&quot;,
&gt; &gt; и от способностей ninja/make толку нет; ни трекер mtime у исходников и
&gt; &gt; артефактов, ни очередь задач не используются.
&gt; &gt; А цель install для ninja вообще генерируют, если честно, просто для паритета
&gt; &gt; со сложившейся практикой вокруг make(1), чтобы с руки два слова писать. 
&gt; &gt; 
&gt; &gt; Достаточно %cmake_install, а макросы rpm-build-ninja не требуются.
&gt; &gt; 
&gt; &gt;   % rpmbuild --eval &apos;%ninja_install -C &quot;%_cmake__builddir&quot;&apos;
&gt; &gt;   DESTDIR=/tmp/.private/ar/%{name}-buildroot /usr/bin/ninja -j8 install -C
&gt; &gt; &quot;x86_64-alt-linux&quot;
&gt; &gt;   % rpmbuild --eval &apos;%cmake_install&apos;               
&gt; &gt;   DESTDIR=&quot;/tmp/.private/ar/%{name}-buildroot&quot; cmake --install
&gt; &gt; &quot;x86_64-alt-linux&quot; --verbose
&gt; &gt; 
&gt; &gt; Первая раскрытая команда тупо сведётся к последней.
&gt; 
&gt; Спасибо за замечание, внесу исправления при следующем обновлении пакета.
OK

(In reply to krasovskiyai from comment #24)
&gt; (Ответ для Arseny Maslennikov на комментарий #19)
&gt; &gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; &gt; gleam (Rust) https://git.altlinux.org/gears/g/gleam.git
&gt; &gt; Подготовка завендоренного барахла у нас не автоматизирована, она отдана на
&gt; &gt; совесть мейнтейнера, так что лучше, дабы приблизиться к воспроизводимости,
&gt; &gt; указывать команды, при помощи которых получился vendor-каталог. Как вариант
&gt; &gt; — прямо в commit message.
&gt; 
&gt; Про указание команд для вендоринга услышал, буду использовать.
OK

&gt; &gt; Больше серьёзных недочётов и ошибок я не заметил.
&gt; &gt; 
&gt; &gt; Вопрос к кандидату: Вот вы благим намерением добавили в gear-репу
&gt; &gt; `.cargo/config.toml`. Как этот файл попадёт в сборочную среду? возымеет ли
&gt; &gt; он желаемый эффект?
&gt; .cargo/config.toml попадет в окружение через кумулятивный патч 
&gt; Patch: %name-%version-alt.patch
&gt; diff: v@version@:. . name=@name@-@version@-alt.patch exclude=vendor/
&gt; exclude=.gear/
&gt; Полагаю эффект возымеет, как минимум по логам точно применяются rustflags =
&gt; [&quot;-Copt-level=3&quot;, &quot;-Cdebuginfo=1&quot;]
OK, объяснили правильно.

Логики совать эти флаги в патч мало (это же не свойство исходников), но
результат один и тот же, да. Не ругаю за такое, ибо это закономерная расплата
сообщества за взваливание подобной суеты на каждого мейнтейнера.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282179</commentid>
    <comment_count>27</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-02-18 13:28:26 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #24)
&gt; (Ответ для Arseny Maslennikov на комментарий #17)
&gt; &gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; &gt; duckdb (C++) https://git.altlinux.org/gears/d/duckdb.git
&gt; &gt; Пара вопросов:
&gt; &gt; 
&gt; &gt; * Обоснуйте, чем &quot;ExclusiveArch: пачка&quot; лучше, чем &quot;ExcludeArch: %ix86&quot;.
&gt; &gt; (Bonus points, если обоснуете, чем ExclusiveArch в альтовой практике _хуже_.)
&gt; &gt; 
&gt; &gt; * Что, по-вашему, означает &quot;%autopatch0&quot;?
&gt; 
&gt; Я считаю что такая пачка лучше из-за явности, сразу видно какие архитектуры
&gt; поддерживаются.
Поддерживаются кем? Апстримом? Пусть он сам за себя думает.
Мы-то обычно хотим, чтобы, если проект на данной архитектуре вообще удалось
собрать, какой-то пакет был. А вот если нельзя — тогда ExcludeArch.

Логику я понял, она валидна, но не убедительна.

&gt; Именно для ALT такая явность в итоге становиться
&gt; ограничением для сборки на догоняющих сборочницах, например с risc-v и для
&gt; включения архитектуры мейнтейнерам приходится редактировать спек.
Ага, я именно это имел в виду. :)

В общем, в случае отсутствия явного ответа на вопрос &quot;работает ли софт на
некоторой архитектуре&quot; — (апстрим не знает, не пробовал) — неявный вывод можно
сделать в две стороны: либо &quot;скорее не работает&quot;, либо &quot;скорее работает&quot;. Мы в
альте (и не только альт) предпочитаем второе.

&gt; Насчет %autopatch0. В документации
&gt; (https://rpm.org/docs/4.19.x/manual/autosetup.html) нашел возможность явно
&gt; указывать какие патчи применять, решил попробовать воспользоваться в такой
&gt; форме, что бы и autopatch оставить и показать, что пока я собираюсь
&gt; применять только патч с номером 0, по логам показалось, что все работает
&gt; нормально, сейчас перепроверил и понял, что указание 0 ничего не меняет)
&gt; %autopatch0 так же применяет все патчи. Исправлю на просто %autopatch при
&gt; обновлении пакета.
Ага. Лучше на такие полусказанности не завязываться; раз autopatch, значит,
autopatch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282181</commentid>
    <comment_count>28</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-02-18 13:31:30 +0300</bug_when>
    <thetext>Теперь директивные замечания.

(In reply to krasovskiyai from comment #24)
&gt; (Ответ для Arseny Maslennikov на комментарий #18)
&gt; &gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; &gt; date (C++) https://git.altlinux.org/gears/d/date.git
&gt; &gt; Ещё мелочь: а почему у вас в секции %build при without check вызов %cmake
&gt; &gt; заканчивается на %nil, а при with check не заканчивается? Хочу увидеть ход
&gt; &gt; мысли.
&gt; &gt; 
&gt; &gt; Более важный вопрос.
&gt; &gt; Вот у вас в начале спека определено &quot;%soversion 3&quot;. Допустим, выходит новая
&gt; &gt; версия, где несовместимым образом меняется ABI и становится 4. (Мейнтейнеру
&gt; &gt; нужно будет этот макрос соотв. образом бампнуть.) Как вы это определите?
&gt; &gt; Помогут ли вам в этом инструменты упаковки?
&gt; 
&gt; Про %nil. Когда только начал собирать пакет, команда сборки была выстроена
&gt; каким-то образом, что не все опции cmake применялись, точно уже не помню или
&gt; вообще сборка падала, тогда %nil помог, в итоге я его оставил, сейчас
&gt; проверил сборку без него - сборка проходит исправно.
Благодарю за ответ.

В общем, %nil ставится в конец такой многострочной, с переносами, команды не
просто так, а чтобы не было значащей пустой строки. У вас она в спеке есть.
Сделайте с этим что-нибудь, pls.

&gt; Какими либо инструментами для определения ABI версии еще не пользовался.
&gt; Сейчас нагуглил abi-compliance-checker и abi-dumper, пока думаю что Вы имели
&gt; в виду их. А так я смотрел бы grep&apos;ом по objbump `objdump -p
&gt; /usr/lib64/libexample.so | grep SONAME`,
Можно и так, да.

&gt; и то это если сборка уже не упала из-за несоответствия soname.
Но она не упадёт, потому что вы упаковываете %_libdir/libdate-tz.so.*. В новой
версии, например, появятся файлы libdate-tz.so.4*, они молча будут упакованы и всё.
Возникновение unmet requirements определит только сборочница.

Как здесь помогут инструменты упаковки, вы не сказали :)
У вас в спеке есть &apos;_unpackaged_files_terminate_build 1&apos;; если передать в
секции files выражения с упоминанием %soversion, то уже rpm-build вам подскажет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282183</commentid>
    <comment_count>29</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-02-18 13:32:30 +0300</bug_when>
    <thetext>(In reply to krasovskiyai from comment #24)
&gt; (Ответ для Arseny Maslennikov на комментарий #21)
&gt; &gt; (In reply to krasovskiyai from comment #15)
&gt; &gt; &gt; teleport (Golang) https://git.altlinux.org/gears/t/teleport.git
&gt; &gt; Открыл я directory with ALT settings. Автор, как следует из коммита, тоже вы
&gt; &gt; :) так что и вопросы вам.
&gt; &gt; 
&gt; &gt;    9 EnvironmentFile=-/etc/default/teleport
&gt; &gt; Обоснуйте выбор каталога для этого файла.
&gt; &gt; 
&gt; &gt;   12 ExecReload=/bin/sh -c &quot;exec pkill -HUP -L -F /run/teleport.pid&quot;
&gt; &gt; Интересно, почему бы здесь и в соседних юнитах сразу не вызвать программу
&gt; &gt; pkill?
&gt; &gt; 
&gt; &gt;   13 PIDFile=/run/teleport.pid
&gt; &gt; Нужен ли в принципе PIDFile= для службы типа simple?
&gt; &gt; 
&gt; &gt; Ещё: ряд компонентов из состава проекта teleport написаны на rust+cargo,
&gt; &gt; которые вызываются из глубин make-портянки (oh, the irony!). Приходят ли им
&gt; &gt; наши оптфлаги?
&gt; 
&gt; Unit файл я получил командой: teleport install systemd. Подозрительным он
&gt; мне не показался.
Тогда об этом надо писать в commit message, мол, &quot;это не я&quot;. :)
Да и исправить за апстримом; мейнтейнеры всё ещё пишут unit-файлы лучше
медианного апстрима, потому что им это важнее.

На мой непристальный взгляд:
- EnvironmentFile, если он вообще нужен, надо положить в sysconfigdir;
- в действии ExecReload интерпретация отдельным shell не нужна, можно просто
  указать слова из команды;
- pidfile не нужен, а в ExecReload надо сослаться на $MAINPID (одна из немногих
  подстановок, которую поддерживает systemd).

&gt; Rust утилита fdpass-teleport видно собирается с rustflags =
&gt; [&quot;-Copt-level=3&quot;, &quot;-Cdebuginfo=1&quot;], но игнорирует strip = false из
&gt; tool/fdpass-teleport/.cargo/config.toml. Пока не нашел причину почему так.
Хорошо, что обратили внимание.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282184</commentid>
    <comment_count>30</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2026-02-18 13:43:30 +0300</bug_when>
    <thetext>В итоге:
- всё ещё жду чего-нибудь ноарчового;
- по итогам прежнего обсуждения жду чего-нибудь ещё бинарного;
- разберитесь с %nil в одном из пакетов;
- поправьте юнит-файл для teleport.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14679</attachid>
            <date>2023-10-06 11:38:44 +0300</date>
            <delta_ts>2023-10-06 12:04:40 +0300</delta_ts>
            <desc>ssh и gpg ключи</desc>
            <filename>keys.txt</filename>
            <type>text/plain</type>
            <size>610</size>
            <attacher>krasovskiyai</attacher>
            
              <data encoding="base64">Z3Bna2V5IC0gbUkwRVpSMFkrUUVFQU5GRkszZGJ6WWdWaFlwU0lIWS9Hc3BIZ1ZnbEFJNm9ieFRQ
TGJvaGhzdDlrdEEwOU9QMgowbWg2TjVKandUYnFFeTRsT3ZSMDJVL0NWYy9IUFcvdlpCZUI3cXBL
amFkWHN4ZFNYTWlCa0wyazR6ZXhUekxJCmxMdkFZMlFZZkt0TE13aHBCUnIrcXdEVkxQRElRSGZM
TGg5bmloanBGT1dvbW9EYVpKSGw1dHpmQUJFQkFBRzAKTUVGeWRHVnRJRXR5WVhOdmRuTnJhWGtn
S0RvdmZpa2dQR3R5WVhOdmRuTnJhWGxoYVVCaVlYTmxZV3gwTG5KMQpQb2k0QkJNQkNBQWlCUUps
SFJqNUFoc0RCZ3NKQ0FjREFnWVZDQUlKQ2dzRUZnSURBUUllQVFJWGdBQUtDUkFlCjRqcTdESDYy
dmg4TEJBRExSeGZaaXExWDRBWDBNQkgwOHNVMWNQRFloQ1RneXdCMmpZdDRwUVZMYUNSR3VnMFUK
K0hZVGpLUGdUeXl1cGNWSVI5STJnVkgyTzlndmJjWlN1Yjk2bm1HbmdWUS9VNzFnVlVUdHNsRGNw
c0hxemlSNAp6RG1wRTFXTjNOeHZtTHZCajFqRys4WEk4WW5jWkRKQ3ZrNUhPM3JiMjVIR0lWVTZv
RmN4THdQL2x3PT0KPWNLaGoKCnNzaGtleSAtIEFBQUFDM056YUMxbFpESTFOVEU1QUFBQUlMNVZm
VGowSUwyMHREbVVVaWNNSlhyenRSNGhDb2x4aXJjczhQZ2hjNTVzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14680</attachid>
            <date>2023-10-06 12:04:40 +0300</date>
            <delta_ts>2023-10-06 12:04:40 +0300</delta_ts>
            <desc>публичный gpg ключ</desc>
            <filename>aibure.gpg</filename>
            <type>application/pgp-encrypted</type>
            <size>3139</size>
            <attacher>krasovskiyai</attacher>
            
              <data encoding="base64">LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkdVZnpIUUJFQURjcjBM
Z2doVzFWZk1mVGVLYjRmMjdHdVFHaCtmUXZiSFBWMWk4MHB0aTc5L1FvYzlkCnJNVDJyRU52R2lO
ZXZOVlBjL3pjbmVlUXlQOTdmVWpDaUhYNjJyZjV4VmI5NzlUdGo5MU1LVWFHOE1rWXZDU2QKa0VQ
bDJoL0VuL0xxN21TMzFYS3F1TXhKeEtKVkx5cFNLWWpUZXluWVltdUlzTXVHU1RJMzdHeWQ4cjhL
RTlCTwpIblRTS1NrUnhMWkVPUTk3YVdPaW5MUlJnTTVqMFdGVXRFR3g4ZURJbXRRRVZjbFRwQ2pI
OWNCS1B5Y0dNYUtuCjkyQzJwUUNud0ZvWEtaeHBjb1Ird09aUlBPYVoyeVV3S2pzMkU4blQxS2Fy
RW1pN2ZWVXVrZDJEb2VodmN4aGkKenJMZ0ZWK0gyZVVOT0JScXpWZVBpbkJ3ZXQwUktBZXZFbU01
OHJFS24vLzk3eXhKM2g5M25FTnloUFBvWGE2YwpXR0xnaXJUZlhOMmVIYlhUNzlVenlEK2hUUVBF
WVd5R3hRWEt3SDJHT1IwaGZMQ1gwV3pJMW43VFZ0TWdlOW1GClJBcXNZMEtSdXJIWU5aNDN6OGRR
ZEl2Vnc3WXFJQUdJQjgzMS92cmcxd01vOG9WdzdCemwweHhQbWx6YnhVeFAKcS9hcWZ0ckFZbWxH
NW82SERudTZrTXlWSWE2Z0JvWVczR1YwL0k0ZVB0dzJwZEl0dFNnMGY1SzBoWEdlMVV5RQpld3FR
U2FKU25WUHp6d3c0NmhLb2xYd0k2UmRSbHM0YVphbGVzTW1KR2E1K2NRbE53TTVqU2N0Mk1DZTVR
RWhMCmxxNDViS3N1akxaT014MXd3NEFCRGZNMHNWNEtGTjNlS3ExNTJENjlER0lXK29lNlBnZG4w
bDV0YVFBUkFRQUIKdENaQmNuUmxiU0JMY21GemIzWnphMmw1SUR4aGFXSjFjbVZBWVd4MGJHbHVk
WGd1YjNKblBva0NUZ1FUQVFnQQpPQlloQk9wZlRvaFk0Nk9XY2Rkb3hvWElMb3hoRi9EMEJRSmxI
OHgwQWhzREJRc0pDQWNDQmhVS0NRZ0xBZ1FXCkFnTUJBaDRCQWhlQUFBb0pFSVhJTG94aEYvRDAw
OVVRQUt2ei9HZGZlcWY1RXRHZGlQUHFici8xaHZ6NFoyeTAKUDhpZVlpK1gwaE1wR2JuWEcyK2hk
UTJRQVVxc1ZPQVFpaGtjZDQvSUZpN0Q2S1ZjdWZxd1BHRHlhTEcvMmhRVApXRWlOU3B6bW0zcGRM
OHFyZVBIcnUwNmVBOTBHRXh3Si9ZUjI3U0dDZjlrcEpTN3FlNFVZWWFZTEQ2YmtuWjZQCjJyWHJa
WHltVUpzRUV0T1loSUZWbkwwNE51RXIwUmlpM0dueldCU0M4bTNDSVNoWm02MmNLbVlYejQ3c1pY
RHEKN3U5cUYzU2JVWU5MZytzWDUwYW8vK1E5c3RaUFo5WkN3d1p0YXJ5THkvSjlCVCt3dHU2Mlc3
aHRka1FDd005bAo3ZmQ4VHdsdjk3Y2dkWE5iTjRvQng1WUFzVFgvOTM1azZRNy9OU3UyYzdlS1cz
akMrY1EvblRFaTQvMDNzL2E4CllOdWxVeVl0WmhvWitjYmJGOWlUWmN0OHBZTEZORWd3SFVvcTVk
OHVwT3d5VTBkUnpFNDNiVW9wMFZjb3R0ZG0KYzVzUSt6djFBQ3ViSnJhV2RwWm9Jdy8vaE5ZcmVE
a1Bqc3RoRTBJVEliaE0vM08wczFMR2REc3FxeVFuODlUNQpBRm1lY0tDN1JBMTNtK2xCa21GQlN5
MGwyWGRNeitJWHFvb2U1MG9nczJ3SitYejlGSFNlQ0svVXFvZHhEOER1CmQ3NU1Fdm96MFkyY3No
TkFHWWZHbWo3eE9UelFnVzNVT1RTUnRMLzE4MmNoYU9FQSs2RnZUQk93aTJLRktpTTMKNGhxcDVX
VGJTV1JnRXVOcUZXTm54cWExTGJ3ck5Sd1hNRUJFUW84TU51RnBGRWNlNmdUWjladjVvYTdDTDZW
Mwp0Y2NUd3RxcGJycjh1UUlOQkdVZnpIUUJFQURMM2F4T25sK2tGOXBGT1oycnBJUzhFQlpkTEpF
UExEcytXd01XCkp1cUFUN0NrcVE1NkJValpva05VREp4VkhNZ1hWbkkyWHNMVGtUV0tMdTdNbUh0
NmZNbmh3bzdxT2lwTVpHZFoKNWpQdnhjSzFpNE1SMGxWazFGR1FqNDFwek02aWNiaUp6aGpvVWNU
d29nL1JiYXpHQWRLVUxacnlFTHFFVHlwSQo4TFZGaFpRVk1oaS8wR2dHK3ZMdTdKdGxqeGUwNDFt
ekRkbElSbU5KYzEwS1QrSG1FaFppSnhjWm5VN0Q5K1lBCnJ2Qm50QVIzN2llT3dPdnQwbXlQZW1q
bXJTdW5XWWliamM4TTBmenRFQXBpUkRhNXNlTEJ0d0ZUbWhxOCtpMWEKUXdJb0JzaHpIZDF6cmNJ
ZVVQanh5bWkveXgreitFUTFkRWNHWnlrR25jUVdUYldkaTlvM2hQbVhtcWxjTFczRgpJVDlhLzcv
VHBBc1g1K1J4MUR2T1FqT3BtdmIyZWJzeXoxUTc3YkNKeklKRTdCSUpLQ0psMzZ2SDQrZVM3NEZs
CkRQdjNlTE1ZRG9kQU1EV2RrM2Q3VXArczEySDgvR2pTME9yYWVvRmN6eGErMUIxK2tnc2R5a3Vo
RnF6Mm1LWFEKRnJPMGc5VG90TFMwaUNjVi9SWXIrTkNLQlcyK2x2Q2dsb0FsUDd3Y3lJVjhORnNH
MEFTL3VaR2E3RkdhWU8wRApLZWtnNTFvZmpUb2c0eXlYd3hIVzc1dTUxeFFIWGh2R3d1NEJzOVR4
emFyU1cyUUt4T0xLR3lSUk50Y3prVGxoCmlZSTNCYnZPN3JkU1UrUTgvbzQwSVE4UW9YNEdOREZO
NUN3ak45Szd6ZXZuTStvdUNTN1dvZGluZ2ovVlJBUWMKa1FpekN3QVJBUUFCaVFJMkJCZ0JDQUFn
RmlFRTZsOU9pRmpqbzVaeDEyakdoY2d1akdFWDhQUUZBbVVmekhRQwpHd3dBQ2drUWhjZ3VqR0VY
OFBRVzZ4QUFobzVGdkphejZ4alRrZ09Bam1KYjJHOXNUbW9FTzlwQmFTcGVwN3MzCnNFSks5OW04
bks5ejByNHlHU2ZlRDZBWDExdlNtVGRzQ01QYmdTbFFJTUpPb1YwY05xSElWUmNoRE9ORlhYUGkK
cjdzbUJJb1kvY1VkeDF0TFdUTU82ZXFIQTUwb2tGYTFhVnBwdDBsSnhGUkp5VUNwUkpYZitmNUt6
QjBFYkJGKwpXQ0FBaGIwUDFYc2phRWRNMGVqRGR2bVZhWTNYVWg4Vks0RS9sbVpXMDZJc1YzVlla
d2NabUdhb0xjOStXenNWCkt3SnB2dktRd2NtV0NzYjhPU2t5cTRyZkIrMU5XWU50R3B3bWx6TUxO
M25MRTVucEdjazluUE9KdytLb2ZqV3MKZFdHSHF2MzNIb01GMm8rQ3RxckxrQkhQSVBlcGYrcEJL
RkdQMzk1UE5MbmgzUHIxY3VJSk1uREZpNVlldldGMAo0Ym4vbFB2RGNRdVV5Z0VzTlowaEpSY29V
U1VScm4xQnBxbGZFU2ovZ3hCT2ZVSFFxQ01ad1FjS2NOUEsvMnB4CmwyMTlIMGdKUmUrNmgvRERU
SWsvdTdEU1pRYmQ2bVZyTjJhamhRaXkyOEszcmF0NE03RTR6OVIyd3lVR3ZPQUcKQ1FDRzJzR2xn
S0p5Q3g2L1pYTTZCb1o5ZDJQbUZZVFVMcWIwOVpPMGUwNDNBb3JQVlpPS21aWlNqWE1lc2R6Qgo4
UmNMQmdrb3ZwQlliaFZzSDg5Zjk4YmJOWm9wa015S0JTL203M0Q5TW5IRWkzQ0J0SGJzK3poZ3I2
VG8zc3pxCnpiRnRzRFpDNG1GZWRCUDQzamRyb0VTY1ZHelBtUFVNQXYveTZVSHNLWXI4bmswMW50
cDFNOUk5cElCOUoyQUUKaGVBPQo9MHBaUgotLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0t
LS0tCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14681</attachid>
            <date>2023-10-06 12:05:24 +0300</date>
            <delta_ts>2023-10-06 12:05:24 +0300</delta_ts>
            <desc>публичный ssh ключ</desc>
            <filename>aibure.ssh</filename>
            <type>text/plain</type>
            <size>97</size>
            <attacher>krasovskiyai</attacher>
            
              <data encoding="base64">c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUw1VmZUajBJTDIwdERtVVVpY01K
WHJ6dFI0aENvbHhpcmNzOFBnaGM1NXMgYWlidXJlQG5vdGVyYWZ0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>