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

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

    <bug>
          <bug_id>51827</bug_id>
          
          <creation_ts>2024-10-25 15:57:19 +0300</creation_ts>
          <short_desc>[4.2] join writers@</short_desc>
          <delta_ts>2026-05-28 15:02:44 +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 name="Artyom">artyomsinyugin</reporter>
          <assigned_to name="Gleb F-Malinovskiy">glebfm</assigned_to>
          <cc>glebfm</cc>
    
    <cc>konevsa</cc>
    
    <cc>ldv</cc>
    
    <cc>rider</cc>
    
    <cc>rx1513</cc>
    
    <cc>shaba</cc>
    
    <cc>writers</cc>
          
          <qa_contact name="Andrey Cherepanov">cas</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253428</commentid>
    <comment_count>0</comment_count>
      <attachid>17052</attachid>
    <who name="Artyom">artyomsinyugin</who>
    <bug_when>2024-10-25 15:57:19 +0300</bug_when>
    <thetext>Created attachment 17052
Ключи rsa и gpg одним архивом

Псевдоним: writers
Текущая почта: sinjuginas@basealt.ru
Ментор: Алексей Шабалин
Цели: 
- создание новых приложений для sisyphus;
- опакечивание полезных и интересных программ.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253774</commentid>
    <comment_count>1</comment_count>
      <attachid>17102</attachid>
    <who name="Artyom">artyomsinyugin</who>
    <bug_when>2024-10-31 20:49:33 +0300</bug_when>
    <thetext>Created attachment 17102
rsa-ключ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253775</commentid>
    <comment_count>2</comment_count>
      <attachid>17103</attachid>
    <who name="Artyom">artyomsinyugin</who>
    <bug_when>2024-10-31 20:50:47 +0300</bug_when>
    <thetext>Created attachment 17103
gpg-ключ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253777</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2024-10-31 21:17:08 +0300</bug_when>
    <thetext>Принимаю кандидата</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254337</commentid>
    <comment_count>4</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2024-11-12 20:57:53 +0300</bug_when>
    <thetext>Ментор есть, ключи в порядке.
T/J/S -&gt; 1.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254502</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2024-11-14 19:28:40 +0300</bug_when>
    <thetext>Кандидат готов к вступлению, прошу
* Создать email alias для кандидата
* Зарегистрировать SSH-ключ кандидата в gitery.alt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254756</commentid>
    <comment_count>6</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2024-11-19 17:57:23 +0300</bug_when>
    <thetext>ssh ключ на gitery.alt зарегистрирован.
Адрес для пересылки создан.

T/J/S -&gt; 2.3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256736</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2024-12-27 11:54:02 +0300</bug_when>
    <thetext>Готов собирать пакеты. Прошу предоставить доступ к сборочнице.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>257223</commentid>
    <comment_count>8</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2025-01-13 20:47:11 +0300</bug_when>
    <thetext>ssh ключ на gyle.alt зарегистрирован.
Пакет alt-gpgkeys обновлён.
Адрес подписан на devel@.

T/J/S -&gt; 3.6.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260050</commentid>
    <comment_count>9</comment_count>
    <who name="Artyom">artyomsinyugin</who>
    <bug_when>2025-02-27 17:16:10 +0300</bug_when>
    <thetext>К настоящему моменту опакетил:
1) grip-grab - https://packages.altlinux.org/ru/tasks/370633/
тест на сборочнице завершился успешно
2) gcli - https://packages.altlinux.org/ru/tasks/370563/
тест на сборочнице завершился успешно
3) oauth2-proxy - https://packages.altlinux.org/ru/tasks/370633/
тест на сборочнице завершился успешно

Обновил три пакета в одном задании (тест сборочницы пройден, одобрено shaba):
1) prometheus
2) prometheus-alertmanager
3) prometheus-snmp_exporter
https://packages.altlinux.org/ru/tasks/375085/

В качестве тренировки обновил пакет haproxy^ в сборочнице собрался для всех архитектур, но получил ошибку Gears inheritance check
https://packages.altlinux.org/ru/tasks/376303/

Прошу дать обратную связь по проделанной работе, чтобы понять, как двигаться дальше в процедуре join.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260063</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2025-02-27 20:54:33 +0300</bug_when>
    <thetext>1) grip-grab
Не надо давать такие URL.
Vcs: git@github.com:alexpasmantier/grip-grab.git
Он подразумевает наличие аккаунта на github.
Надо указывать URL  с анонимным доступом.

2) prometheus-snmp_exporter
Ошибка
Vcs: https://{%import_path}.git

3) haproxy
напутаны commit message и вводят в заблуждение. Доверьте командам
git merge
git commit
самим написать сообщение о комите.

Выдан апрув на gcli, auth2-proxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260123</commentid>
    <comment_count>11</comment_count>
    <who name="Artyom">artyomsinyugin</who>
    <bug_when>2025-02-28 16:00:50 +0300</bug_when>
    <thetext>Поправил:
Vcs:grib-grab https://packages.altlinux.org/ru/tasks/370681/
Vcs:prometheus-snmp_exporter https://packages.altlinux.org/ru/tasks/375085/
Историю коммитов:haproxy https://packages.altlinux.org/ru/tasks/376303/

Также собрал в качестве самообучения mkcert (программа висела в моём личном чек-листе с прошлого года, но Виталий Чикунов опередил меня на несколько месяцев):
https://packages.altlinux.org/tasks/376377
(но сборка для всех архитектур успешна)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260760</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2025-03-10 17:34:48 +0300</bug_when>
    <thetext>haproxy собираем только LTS, поэтому 3.1 пожалуйста не собирай.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265796</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2025-05-27 15:52:26 +0300</bug_when>
    <thetext>(Ответ для Artyom на комментарий #11)
&gt; Поправил:
&gt; Vcs:grib-grab https://packages.altlinux.org/ru/tasks/370681/
&gt; Vcs:prometheus-snmp_exporter https://packages.altlinux.org/ru/tasks/375085/
&gt; Историю коммитов:haproxy https://packages.altlinux.org/ru/tasks/376303/
&gt; 
&gt; Также собрал в качестве самообучения mkcert (программа висела в моём личном
&gt; чек-листе с прошлого года, но Виталий Чикунов опередил меня на несколько
&gt; месяцев):
&gt; https://packages.altlinux.org/tasks/376377
&gt; (но сборка для всех архитектур успешна)

в %build такого делать не надо.
/usr/src/RPM/BUILD/mkcert-1.4.4/.build/bin/mkcert -version

PS: задание можно удалить :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271545</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2025-08-28 13:53:10 +0300</bug_when>
    <thetext>Кандидат готов собирать пакеты в сизиф.
Прошу призвать рецензента.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271587</commentid>
    <comment_count>15</comment_count>
    <who name="Artyom">artyomsinyugin</who>
    <bug_when>2025-08-28 19:55:43 +0300</bug_when>
    <thetext>Обновил четыре пакета:
- influxdb3
- oauth2-proxy
- gcli
- grip-grab
https://packages.altlinux.org/ru/tasks/393465/

Три первых - стандартное обновление версий. 
Четвёртый (grip-grab) решил обновить в связи с обновление rpm-build-rust и странички https://www.altlinux.org/RPM/Rust. Последнюю обновлял при участии @geochip и хочу добавить grip-grab в качестве примера сборки пакета, в котором имя пакета не совпадает с названием бинарника.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271669</commentid>
    <comment_count>16</comment_count>
    <who name="Artyom">artyomsinyugin</who>
    <bug_when>2025-08-29 16:37:40 +0300</bug_when>
    <thetext>Обновил версию prometheus:
https://packages.altlinux.org/ru/tasks/393522/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271947</commentid>
    <comment_count>17</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2025-09-03 18:31:22 +0300</bug_when>
    <thetext>Опакетил дебаггер под x64_86 для разработки на Rust:
https://packages.altlinux.org/ru/tasks/393944/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272222</commentid>
    <comment_count>18</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2025-09-09 23:05:32 +0300</bug_when>
    <thetext>Обновил пакет promu.git
https://packages.altlinux.org/ru/tasks/394486/

Заодно написал руководство по сборке на Golang:
https://www.altlinux.org/RPM/Golang</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272225</commentid>
    <comment_count>19</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2025-09-10 06:24:43 +0300</bug_when>
    <thetext>(In reply to writers@altlinux.org from comment #18)
&gt; Обновил пакет promu.git
&gt; https://packages.altlinux.org/ru/tasks/394486/
&gt; 
&gt; Заодно написал руководство по сборке на Golang:
&gt; https://www.altlinux.org/RPM/Golang

Хорошее руководство. Стоит добавить в него BuildRequires: /proc, потому что без /proc модули не соберутся.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272242</commentid>
    <comment_count>20</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2025-09-10 12:48:02 +0300</bug_when>
    <thetext>10 в(Ответ для Andrey Cherepanov на комментарий #19)
&gt; Хорошее руководство. Стоит добавить в него BuildRequires: /proc, потому что
&gt; без /proc модули не соберутся.

10 августа 2023 года Алексей Шабалин установил в пакете golang зависимость &apos;Requires: /proc&apos;. Таким образом, после этого в пакетах на golang прописывать BuildRequires: /proc не нужно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272244</commentid>
    <comment_count>21</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2025-09-10 13:13:46 +0300</bug_when>
    <thetext>(Ответ для Andrey Cherepanov на комментарий #19)
&gt; без /proc модули не соберутся.

Обновил: добавил раздел &quot;Сборка на локальном компьютере&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>272344</commentid>
    <comment_count>22</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2025-09-11 18:49:19 +0300</bug_when>
    <thetext>Добавляю systemd service и autocomplete для oauth2-proxy:
https://packages.altlinux.org/ru/tasks/394630/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273029</commentid>
    <comment_count>23</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2025-09-24 09:24:57 +0300</bug_when>
    <thetext>Опакечиваю discovery-service-rs, который переписал с Go на Rust для проекта Alt Orchestra:
https://packages.altlinux.org/ru/tasks/395633/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287892</commentid>
    <comment_count>24</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-20 12:10:53 +0300</bug_when>
    <thetext>взял на себя кандидата, начинаю review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287896</commentid>
    <comment_count>25</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-20 12:18:53 +0300</bug_when>
    <thetext>по новой спецификации стадия review = 4.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287899</commentid>
    <comment_count>26</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-20 12:25:43 +0300</bug_when>
    <thetext>Артём, пока я смотрю ваши проекты - соберите пожалуйста какую-то библиотеку в соответствии с SharedLibsPolicy. Можно из FTBFS или новую.
https://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/error/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287900</commentid>
    <comment_count>27</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-20 12:28:00 +0300</bug_when>
    <thetext>https://git.altlinux.org/tasks/414682/gears/200/git?p=git;a=commitdiff;h=94fd5290609d3e0fa52fb249d1b69560bd32b630

непонятно зачем делается такое изменение ? в commit message ничего не написано, а по факту вендоринг бинарей.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287901</commentid>
    <comment_count>28</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-20 12:29:21 +0300</bug_when>
    <thetext>В этом же influexdb в .gear/rules делает дифф:
 3 diff: v@version@:. .

в него попадает всё дерево, надо исключить то, что не должно быть в diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287910</commentid>
    <comment_count>29</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-20 13:27:52 +0300</bug_when>
    <thetext>https://packages.altlinux.org/ru/tasks/417869/
вендоринг лучше таскать тарболлом а не патчем. а в .gear/rules делать exclude для patch для .gear, что бы ваши изменения в проекте были чистые в патче.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287913</commentid>
    <comment_count>30</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-20 13:29:33 +0300</bug_when>
    <thetext>аналогично. думаю что так во всех проектах, предлагаю переделать. присылайте на ревью свои задания, я буду их смотреть и аппрувить.


[00:00:03] + echo &apos;Patch #0 (sops-3.12.1-alt1.patch):&apos;
[00:00:03] Patch #0 (sops-3.12.1-alt1.patch):
[00:00:03] + /usr/bin/patch -p1
[00:00:03] patching file .gear/rules
[00:00:03] patching file .gear/sops.spec
[00:00:03] patching file .gear/tags/731259fd5f7ca60068e9f4211de6d34a9e43d88c
[00:00:03] patching file .gear/tags/list
[00:00:03] patching file .gear/upstream/remotes
[00:00:03] patching file .github/workflows/cli.yml
[00:00:03] patching file .github/workflows/codeql.yml
[00:00:03] patching file .github/workflows/release.yml
[00:00:03] patching file cmd/sops/edit.go
[00:00:03] patching file cmd/sops/encrypt.go
[00:00:03] patching file cmd/sops/main.go
[00:00:03] patching file cmd/sops/set.go
[00:00:03] patching file functional-tests/Cargo.lock
[00:00:03] patching file functional-tests/Cargo.toml
[00:00:03] patching file go.mod
[00:00:03] patching file go.sum
[00:00:03] patching file vendor/cel.dev/expr/.bazelversion
[00:00:03] patching file vendor/cel.dev/expr/.gitattributes
[00:00:03] patching file vendor/cel.dev/expr/.gitignore
[00:00:03] patching file vendor/cel.dev/expr/BUILD.bazel
[00:00:03] patching file vendor/cel.dev/expr/CODE_OF_CONDUCT.md
[00:00:03] patching file vendor/cel.dev/expr/CONTRIBUTING.md
[00:00:03] patching file vendor/cel.dev/expr/GOVERNANCE.md
[00:00:03] patching file vendor/cel.dev/expr/LICENSE
[00:00:03] patching file vendor/cel.dev/expr/MAINTAINERS.md</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288002</commentid>
    <comment_count>31</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-20 19:09:02 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #28)
&gt; В этом же influexdb в .gear/rules делает дифф:
&gt;  3 diff: v@version@:. .
&gt; 
&gt; в него попадает всё дерево, надо исключить то, что не должно быть в diff.

Спасибо за комментарий!
Коротко по каждому пункту:
1. Библиотека с SharedLibPolicy:
https://packages.altlinux.org/ru/tasks/418756/

2. В коммите influxdb3 дал развёрнутый комментарий, почему добавлены бинарники:
https://git.altlinux.org/people/writers/packages/?p=influxdb3.git&amp;a=commit&amp;h=dda32145d13bf3c97e98e4bb42786dec724b0cd2

3. exclude там же добавил, но пока не отправил в gyle, так как хотел посоветоваться. У меня появилась идея сделать так:
tar: v@version@:. exclude=.github/** exclude=docker/** exclude=Dockerfile exclude=Dockerfile.dockerignore exclude=.circleci/** exclude=.cloude/**
diff: v@version@:. . exclude=.gear/**
Это не чересчур? Проверял сборку на x86_64, всё собирается, в tar исключённые каталоги не попадают. 

4. В моих пакетах diff в rules часто существует именно для того, чтобы накатить папку vendor через патч, в Golang и Rust проектах. Кажется, что так делать достаточно удобно. Кроме того, заметил, что по такому же принципу собирается огромное количество пакетов на packages.altlinux.org. Попробовал найти связанные с этим политики, но не нашёл. На размер tar разница в подходах не влияет... Может быть разрешите продолжить такую практику?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288016</commentid>
    <comment_count>32</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-21 08:38:56 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #31)
&gt; (Ответ для Anton Farygin на комментарий #28)
&gt; &gt; В этом же influexdb в .gear/rules делает дифф:
&gt; &gt;  3 diff: v@version@:. .
&gt; &gt; 
&gt; &gt; в него попадает всё дерево, надо исключить то, что не должно быть в diff.
&gt; 
&gt; Спасибо за комментарий!
&gt; Коротко по каждому пункту:
&gt; 1. Библиотека с SharedLibPolicy:
&gt; https://packages.altlinux.org/ru/tasks/418756/

Почти всё хорошо, но вот это:
+Url: https://github.com/google/sentencepiece
+Vcs: %url.git

зачем использовать макросы непонятно.
Парсерам spec придётся делать лишние операции для добывания адреса. И сейчас все парсеры умеют понимать что если URL идёт на github, то Vcs не обязателен. Просто не указывайте его, а если указываете, то без макросов.

&gt; 
&gt; 2. В коммите influxdb3 дал развёрнутый комментарий, почему добавлены
&gt; бинарники:
&gt; https://git.altlinux.org/people/writers/packages/?p=influxdb3.
&gt; git&amp;a=commit&amp;h=dda32145d13bf3c97e98e4bb42786dec724b0cd2

Это очень плохая практика, лучше скачать исходники и собрать их в проекте.

&gt; 
&gt; 3. exclude там же добавил, но пока не отправил в gyle, так как хотел
&gt; посоветоваться. У меня появилась идея сделать так:
&gt; tar: v@version@:. exclude=.github/** exclude=docker/** exclude=Dockerfile
&gt; exclude=Dockerfile.dockerignore exclude=.circleci/** exclude=.cloude/**
&gt; diff: v@version@:. . exclude=.gear/**
&gt; Это не чересчур? Проверял сборку на x86_64, всё собирается, в tar
&gt; исключённые каталоги не попадают. 

Я стараюсь делать так, что бы в тарболл попадало всё апстримное дерево. зачем бороться за мелочи и усложнять rules ?


&gt; 
&gt; 4. В моих пакетах diff в rules часто существует именно для того, чтобы
&gt; накатить папку vendor через патч, в Golang и Rust проектах. Кажется, что так
&gt; делать достаточно удобно. Кроме того, заметил, что по такому же принципу
&gt; собирается огромное количество пакетов на packages.altlinux.org. Попробовал
&gt; найти связанные с этим политики, но не нашёл. На размер tar разница в
&gt; подходах не влияет... Может быть разрешите продолжить такую практику?

Надо зафиксировать политику что так делать плохо. плоха практика тем, что сложнее анализировать сделанные вами изменения, в том числе не только нам но и людям со стороны.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288084</commentid>
    <comment_count>33</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-21 16:19:23 +0300</bug_when>
    <thetext>- sentencepiece пересобрал без Vcs
https://packages.altlinux.org/ru/tasks/418756/

- influxdb3
https://packages.altlinux.org/ru/tasks/414682/
Поправил rules, vendor теперь добавляется через tar. 

Но с бинарниками проблема. Просто скачать исходники datafusion-udf-wasm и собрать их в проекте пока не получится: здесь всё упирается в wasm32-wasip2 - очень проблемную зависимость для rustc, собрать которую для altlinux пока не получилось. 

- насчёт vendor -&gt; tar мысль понял. Но у меня почти все пакеты на Rust и Golang и собраны по принципу накатывания vendor через diff - потихоньку буду пересобирать по новому принципу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288092</commentid>
    <comment_count>34</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-21 17:25:22 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #33)
&gt; - sentencepiece пересобрал без Vcs
&gt; https://packages.altlinux.org/ru/tasks/418756/
&gt; 
&gt; - influxdb3
&gt; https://packages.altlinux.org/ru/tasks/414682/
&gt; Поправил rules, vendor теперь добавляется через tar. 
&gt; 
&gt; Но с бинарниками проблема. Просто скачать исходники datafusion-udf-wasm и
&gt; собрать их в проекте пока не получится: здесь всё упирается в wasm32-wasip2
&gt; - очень проблемную зависимость для rustc, собрать которую для altlinux пока
&gt; не получилось. 

ну я не готов аппрувить такой пакет, надо всё-таки попытаться. а в чём там конкретно проблема ?

&gt; 
&gt; - насчёт vendor -&gt; tar мысль понял. Но у меня почти все пакеты на Rust и
&gt; Golang и собраны по принципу накатывания vendor через diff - потихоньку буду
&gt; пересобирать по новому принципу.

хорошо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288104</commentid>
    <comment_count>35</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-21 18:36:17 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #34)
&gt; ну я не готов аппрувить такой пакет, надо всё-таки попытаться. а в чём там
&gt; конкретно проблема ?

Извиняюсь, неправильно выразился. Здесь скорее речь про трудозатратность, нужно сперва собирать wasi-sdk с рекурсивными зависимостями, а потом лезть в сборку Rust. Я как-то хотел этим заняться, когда были проблемы с плагинами для Zed, но передумал. Очень проблемную здесь скорее в том плане, что в разных проектах иногда всплывает необходимость в пакете wasm32-wasip2, но никто пока за него не взялся.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288112</commentid>
    <comment_count>36</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2026-05-21 19:42:33 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #32)
&gt; +Url: https://github.com/google/sentencepiece
&gt; +Vcs: %url.git
&gt; 
&gt; зачем использовать макросы непонятно.
&gt; Парсерам spec придётся делать лишние операции для добывания адреса. И сейчас
&gt; все парсеры умеют понимать что если URL идёт на github, то Vcs не
&gt; обязателен. Просто не указывайте его, а если указываете, то без макросов.

  Так советовал классик: https://bugzilla.altlinux.org/show_bug.cgi?id=50906#c16</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288144</commentid>
    <comment_count>37</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-22 11:44:22 +0300</bug_when>
    <thetext>(Ответ для Andrew Vasilyev на комментарий #36)
&gt; (Ответ для Anton Farygin на комментарий #32)
&gt; &gt; +Url: https://github.com/google/sentencepiece
&gt; &gt; +Vcs: %url.git
&gt; &gt; 
&gt; &gt; зачем использовать макросы непонятно.
&gt; &gt; Парсерам spec придётся делать лишние операции для добывания адреса. И сейчас
&gt; &gt; все парсеры умеют понимать что если URL идёт на github, то Vcs не
&gt; &gt; обязателен. Просто не указывайте его, а если указываете, то без макросов.
&gt; 
&gt;   Так советовал классик:
&gt; https://bugzilla.altlinux.org/show_bug.cgi?id=50906#c16

Классики тоже иногда ошибаются ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288145</commentid>
    <comment_count>38</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-22 11:52:48 +0300</bug_when>
    <thetext>Очень много классиков и у каждого особое мнение.

Подготовил обновление двух пакетов:
https://packages.altlinux.org/ru/tasks/418882/
https://packages.altlinux.org/ru/tasks/418897/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288164</commentid>
    <comment_count>39</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-22 13:49:49 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #38)
&gt; Очень много классиков и у каждого особое мнение.
&gt; 
&gt; Подготовил обновление двух пакетов:
&gt; https://packages.altlinux.org/ru/tasks/418882/
&gt; https://packages.altlinux.org/ru/tasks/418897/

Спасибо, заапрувил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288165</commentid>
    <comment_count>40</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-22 13:50:34 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #35)
&gt; (Ответ для Anton Farygin на комментарий #34)
&gt; &gt; ну я не готов аппрувить такой пакет, надо всё-таки попытаться. а в чём там
&gt; &gt; конкретно проблема ?
&gt; 
&gt; Извиняюсь, неправильно выразился. Здесь скорее речь про трудозатратность,
&gt; нужно сперва собирать wasi-sdk с рекурсивными зависимостями, а потом лезть в
&gt; сборку Rust. Я как-то хотел этим заняться, когда были проблемы с плагинами
&gt; для Zed, но передумал. Очень проблемную здесь скорее в том плане, что в
&gt; разных проектах иногда всплывает необходимость в пакете wasm32-wasip2, но
&gt; никто пока за него не взялся.

да, но если много где нужно то наверное осмысленно влезть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288167</commentid>
    <comment_count>41</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-22 13:54:52 +0300</bug_when>
    <thetext>в пакете oauth2-proxy

775 для %_localstatedir/%name не слишком ?

  68 %dir %attr(775, root, %name) %_localstatedir/%name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288172</commentid>
    <comment_count>42</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-22 14:51:27 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #41)
&gt; в пакете oauth2-proxy
&gt; 
&gt; 775 для %_localstatedir/%name не слишком ?
&gt; 
&gt;   68 %dir %attr(775, root, %name) %_localstatedir/%name

Погорячился, обновил пакет в задании:
https://packages.altlinux.org/ru/tasks/418931/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288180</commentid>
    <comment_count>43</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-22 15:15:05 +0300</bug_when>
    <thetext>изменение прав на этот каталог - важная информация для пользователей/администраторов. надо обязательно упоминать такие изменения в changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288200</commentid>
    <comment_count>44</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-22 17:29:48 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #43)
&gt; изменение прав на этот каталог - важная информация для
&gt; пользователей/администраторов. надо обязательно упоминать такие изменения в
&gt; changelog

Поправил
https://packages.altlinux.org/tasks/418931</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288243</commentid>
    <comment_count>45</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-24 15:13:04 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #44)
&gt; (Ответ для Anton Farygin на комментарий #43)
&gt; &gt; изменение прав на этот каталог - важная информация для
&gt; &gt; пользователей/администраторов. надо обязательно упоминать такие изменения в
&gt; &gt; changelog
&gt; 
&gt; Поправил
&gt; https://packages.altlinux.org/tasks/418931

спасибо, заапрувил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288255</commentid>
    <comment_count>46</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-25 09:18:24 +0300</bug_when>
    <thetext>prometheus:
1) по умолчанию процесс слушает на всех адресах, это плохо. надо ограничить локалхостом.
2) BuildRequires: golang &gt;= 1.21 но в go.mod требуется golang 1.24 и выше
3) Харденинг в юните можно улучшить.
4) prometheus.tmpfiles d /run/prometheus 0775 root prometheus - непонятно зачем такие широкие права. 0750 prometheus prometheus было бы достаточно по идее
5) права доступа к конфигам, содержащим приватную информацию - слишком широкие.
6) в /var/lib/prometheus тоже с правами слишком вольготно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288274</commentid>
    <comment_count>47</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-25 14:19:13 +0300</bug_when>
    <thetext>судя по https://packages.altlinux.org/ru/tasks/418931/fixes/ надо ещё в p11 обновление закинуть</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288321</commentid>
    <comment_count>48</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-26 08:19:07 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #47)
&gt; судя по https://packages.altlinux.org/ru/tasks/418931/fixes/ надо ещё в p11
&gt; обновление закинуть

В p11 отправил: https://packages.altlinux.org/ru/tasks/419192/
Prometheus в работе</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288457</commentid>
    <comment_count>49</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-28 08:32:32 +0300</bug_when>
    <thetext>Собираю prometheus в задании:
https://packages.altlinux.org/ru/tasks/419241/

Но есть затруднение. Сейчас в проекте создаётся prebuilt frontend, так как нода вендорит архитектурно зависимые бинарники в качестве исходников. После make assets локально у меня появляются каталоги web/ui/node_modules, web/ui/mantine-ui/node_modules, web/ui/react-app/node_modules, web/ui/static

По факту нужен только каталог static. 

Каталоги */node_modules сейчас для сборки в хешере вообще не нужны. Но они сохранены в истории git исторически, когда, наверное, не было в исходниках бинарных файлов и ui собирали в хешере (в upsteam такого нет). 

В связи с этим рассматриваю два варианта:
1) после выполнения make assets вообще удалить каталоги node_modules отдельным коммитом (думаю сделать так);
2) перенести node_modules в отдельные source-tar, но не понимаю, зачем так делать, если эти source-файлы не нужны в сборке (разве только для чистоты истории и некой прозрачности сборки пакетов)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288485</commentid>
    <comment_count>50</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-28 11:02:57 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #49)
&gt; Собираю prometheus в задании:
&gt; https://packages.altlinux.org/ru/tasks/419241/
&gt; 
&gt; Но есть затруднение. Сейчас в проекте создаётся prebuilt frontend, так как
&gt; нода вендорит архитектурно зависимые бинарники в качестве исходников. После
&gt; make assets локально у меня появляются каталоги web/ui/node_modules,
&gt; web/ui/mantine-ui/node_modules, web/ui/react-app/node_modules, web/ui/static

Т.е. - в проекте собирается на какой-то локальной машине web UI и уже собранный перекладывается в RPM ? а можно ли саму сборку делать в hasher на серверной стороне, завендорив только нужные зависимости ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288509</commentid>
    <comment_count>51</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-28 11:51:33 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #50)
&gt; Т.е. - в проекте собирается на какой-то локальной машине web UI и уже
&gt; собранный перекладывается в RPM ? а можно ли саму сборку делать в hasher на
&gt; серверной стороне, завендорив только нужные зависимости ?

Да. Как я понимаю ситуацию, проблема всего npm и nodejs в том, что в зависящих от них проектах вендоринг практически всегда предполагает скачивание архитектурно-зависимых бинарников. Редко когда обходится без них. Поэтому проекты nodejs у нас так не любят. В проектах prometheus и prometheus-alertmanager во время вендоринга скачиваются именно такие бинарники. Без них сборка frontend не проходит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288510</commentid>
    <comment_count>52</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-28 11:55:10 +0300</bug_when>
    <thetext>То есть после такого &quot;вендоринга&quot; сборочница gyle соберёт prometheus и alertmanager только на той архитектуре, на какой делался вендоринг. 

Инструменты npm и их альтернативы не предлагают решение этому, так как разработчики вообще не видят проблемы в таком порядке вещей.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288512</commentid>
    <comment_count>53</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-28 12:09:03 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #52)
&gt; То есть после такого &quot;вендоринга&quot; сборочница gyle соберёт prometheus и
&gt; alertmanager только на той архитектуре, на какой делался вендоринг. 
&gt; 
&gt; Инструменты npm и их альтернативы не предлагают решение этому, так как
&gt; разработчики вообще не видят проблемы в таком порядке вещей.

да, это понятно. но я бы всё-таки завендорил всё по максимум а саму сборку сделал в hasher на girar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288520</commentid>
    <comment_count>54</comment_count>
    <who name="writers@altlinux.org">writers</who>
    <bug_when>2026-05-28 12:36:23 +0300</bug_when>
    <thetext>Стоит ли это того? 

В папке static с собранным фронтэндом все файлы текстовые, за исключением пары ttf и icon. Их легко проверить, прочитать, понять. 

С другой стороны, вендоринг, который из-за мультиархитектурности увеличивает сложность сборки в геометрической прогрессии. В проекте prometheus три папки node_modules, чтобы случайно архитектурные файлы не перетёрли друг друга, желательно делать source под каждую архитектуру. В итоге теоретически получаем девять каталогов для tar source. И это при том, что не факт npm ci с флагом --cpu работает как надо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288523</commentid>
    <comment_count>55</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-28 13:39:40 +0300</bug_when>
    <thetext>Вопрос с воспроизводимостью сборки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288543</commentid>
    <comment_count>56</comment_count>
    <who name="Сергей Жидких">rx1513</who>
    <bug_when>2026-05-28 14:47:03 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #54)
&gt; Стоит ли это того? 
&gt; 
&gt; В папке static с собранным фронтэндом все файлы текстовые, за исключением
&gt; пары ttf и icon. Их легко проверить, прочитать, понять. 
А они являются архитектурно независимыми? Подозреваю, что да, но было бы неплохо явно это доказать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288547</commentid>
    <comment_count>57</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2026-05-28 14:59:54 +0300</bug_when>
    <thetext>(Ответ для writers@altlinux.org на комментарий #52)
&gt; То есть после такого &quot;вендоринга&quot; сборочница gyle соберёт prometheus и
&gt; alertmanager только на той архитектуре, на какой делался вендоринг.

Нет, не обязательно. На машине разработчика в архитектурно зависимой части готовится сборка &quot;сайта&quot; (всякие webpack, sass и тому подобное). Этот собранный .js в общем-то тоже &quot;в исходном&quot; виде, просто склеенный из кучи других js. И он уже позволяет собрать пакет на любых архитектуках, потому-что архитектуро-зависимая часть сборки этого js пропускается.

Я не говорю что это хорошо, используется как обходное решение, потому что красивого, быстрого и удобного на сегодня нет.
 
&gt; 
&gt; Инструменты npm и их альтернативы не предлагают решение этому, так как
&gt; разработчики вообще не видят проблемы в таком порядке вещей.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288548</commentid>
    <comment_count>58</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2026-05-28 15:02:44 +0300</bug_when>
    <thetext>может быть тогда хотя бы хуки для zoryn положить в репозиторий, которые это будут делать при обновлении версии ?

Там есть небольшая изоляция окружения. конечно не панацея, но всё-таки.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17052</attachid>
            <date>2024-10-25 15:57:19 +0300</date>
            <delta_ts>2024-10-31 20:49:33 +0300</delta_ts>
            <desc>Ключи rsa и gpg одним архивом</desc>
            <filename>Ключи rsa и gpg.zip</filename>
            <type>application/zip</type>
            <size>3299</size>
            <attacher name="Artyom">artyomsinyugin</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17102</attachid>
            <date>2024-10-31 20:49:33 +0300</date>
            <delta_ts>2024-10-31 20:49:33 +0300</delta_ts>
            <desc>rsa-ключ</desc>
            <filename>id_rsa.pub</filename>
            <type>application/vnd.ms-publisher</type>
            <size>746</size>
            <attacher name="Artyom">artyomsinyugin</attacher>
            
              <data encoding="base64">c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFDQVFDaXJkdjBZSFBhNDNDaTNNUjhK
MWczNE5wYTkzWGNWbWFKSDd2d1dnV3ptTWxsM212emoyd25hdCtPTnFWb21nN0xxWnAzNmFUVjVX
ZE1UbVZXN0NPZkQ5V3FvSlh5ejZ5UXBRc1ZVbWplRjhlaFY4eW5jMVVsOTBxUGIvazZ1T21ZK2hz
ZWRhd1lKWERiWGQ2a2h2dlZQUmxCcGJyWWxINlNuWm5WSXNUbXc5YzF4dzZjcFJVakdTQm1PSE1N
ckhIOGtYQ1lMU0RnTGNNTk5VWG5xNWN4WGNZZGFoVnpZK1hhaE9TRnN3V2JPN3cxQTZkL2IvSEgz
ZG95QzhTOU9QWkdMNGUrSXhKNk4yQnVoY0FURHY0dDQwTHNuTmpPc0tTdjVFMVArYitBNGdzMVRt
VllKbWxjYnhEQXZyV2VkK0FJbmZhTXFoMDB6MjRWWFM2dXVMdzhBY0JVUW1vUGtEbjNHSXdsanhK
eXJMOGRZM05UZWJ1Y0IvcW93bmdkajZwdjlGclBMbk5FaHlGZmhqaTZtL1NTUXVtMW5vUEtINHJT
RU5mR2RQNFZqZUhiZ1dpekhFd2ZGRGx3SElkZGw1WGs2SnF6NkJXUDBoM0hmKzUwYkZtSVIvM1BZ
eUpyOXkvVS85TVh3YTAybERQWWlmaFNTdVNwWlRFckYvaWxIbVZEZ21NUExPVmltRmFsVGhTakZo
N3R3Q1c4OG45TXNYbGQ2eFRlRHgxU0ZEMit4WExkK253Z3JSTVRzTTduRExaSUdtcEFhRXB6VEZz
M3FSZmtiN2JDOEtJM0lZYWxvWXlHY3FnUEV0U0ozcWNocFkwcVZYMiszUjhIYWliS0xaK0Z3eEtJ
VDNscjlqRUZFenQvakdZWlJZdXQyTHdsTlFnUm5yOUxlNmxYQ3c9PSBhcnR5b21AcGFydGx5MnN1
bmRheQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>17103</attachid>
            <date>2024-10-31 20:50:47 +0300</date>
            <delta_ts>2024-10-31 20:50:47 +0300</delta_ts>
            <desc>gpg-ключ</desc>
            <filename>public.gpg</filename>
            <type>application/pgp-encrypted</type>
            <size>3078</size>
            <attacher name="Artyom">artyomsinyugin</attacher>
            
              <data encoding="base64">LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUlOQkdjV0FwSUJFQURHWENE
TWZoN211L25qNEpKby9YYThXWTFaMm44dklydDczR3RidkRGMnFaRXFJa29pCjlPS0crRW9FbzZm
VHoyL1daYzd2N1I4OXN3cjdIaVBsNUNHL21USzdGK3pybFNXajR4bFpnRGRsYlpvMnBEL2YKdGI4
VTlVRXoyL2llRzB5ckgyRDJ2bzk1ajhMcmgwczFWSTlxMXV0SXNwaWNPODYrUXFKcXZqSmtKUG1Y
amY1VgpmZnpMVXd3V0FTbktxWDJpYTBFSnBCNlFCdEtNc1ZUdDVnNDNiTnVIeVFFRVlNQVNhd1NI
cUZ3QVJYaVhPS0ZSCjZNMHdvSnZOSUlWSDhZYStGM2R1cEZaUkkrSE1CMFhGOE94dEFsTVpxdXgr
UkdDUTVGNnIyMllmOXA2Tmtrb0QKaWtOWHZMVjdIVzlZT0cvWEViQ21EZ0pGNUtDWjBQZHBHTjBI
ZFB1Q2Q2QzgzWVN2M2lRWHJzS2pRQUZIUDI0ZgpIZVFIMXE1MzZKR1VkOGNvTVpRMTNuMHpqaGR3
TWJtOFFZL3RZdWJiWXB2NnduRG9JUzJTRFArNDdXWllpSFo4CjkyMzRxeUl3NG50ZTdEVjJoWVhX
dzNwNEtoS0wrcGY5bkhqQ2g3amFVWmRLUDFuYVdYNFpDd3VFNHN4TFJHSmMKbkRyUWFSMkxxcURu
QmRwSjhLaGpBRGgyaVkyN1RyQW9UTDBGa1FVRXpRcTU3WWFmWUZ6YzdQdEw0cUc3R3FWSQpHM1Na
Z0I3bDdxd24yWnUrU0s0TVFJeWNFNVpQZkY4RDNoTytZTW53a3kxYkczKy9HUFFyMnU4UDZ1VWxi
YW9UCnp6cmRGOFRWUlhuQ0NGTFBQNFFrQkZ3dHB6aXd1VHpwZUkvQUMxN1dDd082TVVoYU42cTNZ
UnJKUFFBUkFRQUIKdENaQmNuUjViMjBnVTJsdWVYVm5hVzRnUEhkeWFYUmxjbk5BWVd4MGJHbHVk
WGd1YjNKblBva0NPQVFUQVFnQQpJZ1VDWnhZQ2tnSWJBd1lMQ1FnSEF3SUdGUWdDQ1FvTEJCWUNB
d0VDSGdFQ0Y0QUFDZ2tRRFRsaHpvZW5zMXZmCllBLytLNVlmV3VzVTMvaG9rUUI1NlN3T21hM1lo
aDdLUVlSOHhFdlhTanlHQngvQ2ZNQVJqYWwxRzlZR01HcTUKMVByZ1RvOVhmaGtrd05xem9VRk5a
YWRYQnlOME5FeG9kUlFsTTRkOUJqWWx0d2lWNndtcjZTTzNOVU11NVZabgpXb0RKQ21tVmdxQVJx
KzN6ZTBIYUhMUGpweWdhNHJleEVQYzhmaWpxWkkvKzBZR1FqMk9tZ2NmSlIzNHJockc1ClR3Ky85
N1kyMXhYRWN5Tm5ydVRPS0ExOUorNVdSQVBoRHVjeHJtd0JRZlM0OHhnNFN3OVM5aWN3R2E5R2Jt
aTAKZ3NsbDI2Qk5tY3IvWlhYY0M2TVRZZTJoUWFwUjdWdUpOWUs2Mk1XaU1sVVZIb1hMYyt0cUFo
dDJ2b2pTMHhtYgppMjJvQnRaUmprV1d6ZkxFU0pZR2lUaURTRURBNWlWTDlPeGQ0a0g3SWkvakcy
aFZWOWdHZ0hUVURmbnBtNzhOCjkrU0pvR09pbnpuV3I1bVIvMERJaW5hVzd5dEtDc3MyR3VjQm9E
VGo1bHhJaUh3UGtLVFcrWmxwUngzM0ZHWGgKakloSGo1SG1qTXBWUUErMStWeU5KUG5xbzYrcFV5
dWlGV2R1MkkrdHkrY2p1bmNXVXAyVm9Zdm5uUGw2ZThHcApzQmdocGM3UHc0U3l0eW01OFNEUStX
c1pvWklmV20vNllwckl1djVyQkNxL0Q5eTEvNEFyT1dLTlNSWE93SnN6Cm40WmlXNTBFa1laaG40
Z3AyeXFUNU9nYkFsNjFDVmVqUDAzcUNTbjJ4VXpLQzlGT1VJNjArZUZYTHNMczgxTnAKRUFUamlu
YytRanJRckhkakVqMW12YWp3eTIvUE1kMGVQdVhrQllrSEphWDBxNnE1QWcwRVp4WUNrZ0VRQU5l
RApWKzA4ckZSLzE1SUxvYlY5Wk5SckVJaDNVVmI3UUJQQStUUFZvcnZ6MTQyMGR2eUdNU0dvRHhR
R0FWeDNtSDUrCjY5ZWZNblVxUURSakdwb0IwYUlzQUpmS1FITEtXeXNpUHh5dk1EKzBKNUMyT0ZK
VEFscG5kTzZ1WHhHYmNDenQKWkNHZ29Cb0pVYjJodk5MUWpMbXlHK3VhbVJYKy9PZlQ0WG1hRnZp
b1lqUmJGUjl5d0pTZFpRRVY1QllhNFYzdgpSTmJUbzFVdzBiSFFOeXBvZlFCQnhQK2FaNk51VXVX
ZjdqaEtrVlhGNVVVSDN4cURXYVd1azJsOGlkNWJvOXZCClJ5WHp5aXlZbjFPdDV2OUJnWHRDUE5n
cUx3R0IvcXNxU3hyL0dGV2ZWTTc5UzhFS3c0aE5kdzBkQmdWNnAzMS8KUnZFV2RFQU40NE9KMjFB
czV3Ny9NRDFvQXU0MkMxUHFUTzUwWFY2ZUNsb2N5eHdsVS85bFo0S2wwR3Q2VnlnRgppV2N3Rjlh
SGFhTW92UkYvdjIwYTd0cjNId3pVMW9La293UllRQWxRTVhNcTdUTDF5aGxLc3Vla0JGWEZ5ZFZZ
CmR1ZXA1bHZjeFM4TVVqS0hsMnh0ckdyNDgxTDgwOEZhTGJBMnBrendNUDBXWE5KaFJjUHFvRit0
cHpXcnZSdk4KM3RyTGhOWWZ3RDVoUkYzZ3M4UGg3WGVGdWQ1RTB2MTRTbi9uMXZxclE0eHlQVGs5
YVBtUUdLNUlxZ3U4SUZFeApQL09pOWxhQWRjSEJmZERzZXVnQW03UkhmNDlpYTFPdjJ3QTJGUXBK
My9vZjBGdlV1cXRKbGhncmtGQTFZU1RvCkJJNHJMSjF6RmthODg0ekY5OFhkYTBBOEdKcUZGWVpa
K25Jd1pOMUJBQkVCQUFHSkFoOEVHQUVJQUFrRkFtY1cKQXBJQ0d3d0FDZ2tRRFRsaHpvZW5zMXNU
aXhBQWpyN2F1ZjN2WlA5TkhIMUZRc3pwbE55WXc3SUJFWVEwK3NkKwovNEozdk9YOTBEdVl6N2sz
N1JiZW4vVldIMWw3MG1sWWlld3ZXemxzM1FqUUwyQnVFdk9qMFhtMldndVJZMVlnCmYxU1QyUFNL
VWNPKzU5TnVqTjcwZUgvRVo5VExjV1MwQWd1ZDFocUVJU05jMzVjT3NRSWprK0lsaEhGd0h2NkUK
NmpLak9mSnJBc05hVEhOUDRxQ0p4dlEvUTg2R0FDSjJxYlc4MDBzWXl5YkJ1TzlYTXI0UG1HUjdl
bUQ2RTR1RwpWZlVSbTVzanJXQlhXVVN2eU4yOGVUZUJVZEpoMFJsWENxOUFpNUZRUlc0WkY4SER1
NEJ2UE9NRWZUQ3lReEpQClg3MzJWVjl0YUZrM0drYW9TOVRscVp1MCszQjFadXNBRWF6MmV3K3Jk
Zzl4UTUzMnFmQzFZaWNYYytaQkZNaDMKL2FmWWdZOTlSaDFRR2lZTVFLM0hKSFBpeVlvOHJyUlhI
NjlXTHpJMWJTTEI5N2E3ZGVPYTlFdjAwUnJaa2d5TApsU1pmcE5YaXpuYmY0bnNFQUF1ejNiT1Vx
OWRnOFdyb3A0a1RCVno5MWtFdXhXQjVoWmwvZU92eExFZWxMSFJ4CmZQdENQZFZtaStDWnovZkFh
UEFySXpRb1pFUWM0TEsrNEEyYUdMRytRNkFOeXlRK3VObEtxbEV2UXpZVm0xSGcKY01rdk5KR0pZ
Yk5FK0E3UkJSUVZDeDdGSlRCczNadjlQcW1yZFhlVHc5VVlneGJRRXIwZVdVOXNMWWlCL21Nagp0
Q2I1ZGYwMVhCWVR0eVp4YUt0aHE0aFJpM1pyQzE2Tk9PL0R1VElZSEs1bUZjV3FjUm15YXJqUUJ2
ODNmY05XCkc2R25DWWc9Cj1wbWVuCi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0K
</data>

          </attachment>
      

    </bug>

</bugzilla>