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

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

    <bug>
          <bug_id>46681</bug_id>
          
          <creation_ts>2023-06-28 11:36:25 +0300</creation_ts>
          <short_desc>iproute2 version update</short_desc>
          <delta_ts>2024-02-10 17:17:06 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>iproute2</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46625</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Arseny Maslennikov">arseny</reporter>
          <assigned_to name="Arseny Maslennikov">arseny</assigned_to>
          <cc>aen</cc>
    
    <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>vt</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>228481</commentid>
    <comment_count>0</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2023-06-28 11:36:25 +0300</bug_when>
    <thetext>https://lore.kernel.org/netdev/20230626093137.2f302acc@hermes.local/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228485</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2023-06-28 11:54:33 +0300</bug_when>
    <thetext>Feel free to update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237088</commentid>
    <comment_count>2</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2023-11-14 15:36:48 +0300</bug_when>
    <thetext>Решил, что некуда дальше откладывать:
https://packages.altlinux.org/en/tasks/334324/

Прошу посмотреть и одобрить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237134</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2023-11-14 20:38:54 +0300</bug_when>
    <thetext>1. Думаю кандидат готов обновлять пакеты самостоятельно.

2. С другой стороны, если те коммиты делались для review, то вот пригоршня вопросов:

- https://git.altlinux.org/tasks/334324/gears/300/git?p=git;a=commitdiff;h=2abcd87a884b00febebabf8944ccebeb019df26c

откуда это &quot;looks&quot;?

- зачем 1 убирание libnetlink сделано в виде трех коммитов - 1 до (еще и revert) merge + 2 после. Думаю, не обязательно при удалении ревертить все коммиты затрагивавшие libnetlink за все 11 лет, ведь это не была какая-то ошибка и теперь её откат.

- зачем оставлены пустые пакеты libnetlink и libnetlink-devel (с 1 man страницей)?

- https://git.altlinux.org/tasks/334324/gears/300/git?p=git;a=commitdiff;h=c1bb677dad05a2cdb1e6a574272c0372a256f1b4

зачем дополнительные аргументы make, если это &quot;upstream decision&quot;?

- как насчет добавить
  %define _stripped_files_terminate_build 1
  %set_verify_elf_method strict,unresolved=relaxed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237156</commentid>
    <comment_count>4</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2023-11-15 02:35:49 +0300</bug_when>
    <thetext>(In reply to Vitaly Chikunov from comment #3)
&gt; 1. Думаю кандидат готов обновлять пакеты самостоятельно.
&gt; 
&gt; 2. С другой стороны, если те коммиты делались для review, то вот пригоршня
&gt; вопросов:

Ну раз уж требуется ревью, почему бы его и не провести, да.
Благодарю за заданные вопросы! ^^

&gt; -
&gt; https://git.altlinux.org/tasks/334324/gears/300/git?p=git;a=commitdiff;
&gt; h=2abcd87a884b00febebabf8944ccebeb019df26c
&gt; 
&gt; откуда это &quot;looks&quot;?

Я об это споткнулся, потому что возникал merge-конфликт при попытке смёржить v6.6.0. Выяснилось, что в апстриме из q_prio.c получается просто q_prio.o, который далее входит в программу tc, и зачем плагин — непонятно. Это я и обозвал &quot;looks like&quot;.

&gt; - зачем 1 убирание libnetlink сделано в виде трех коммитов - 1 до (еще и
&gt; revert) merge + 2 после. Думаю, не обязательно при удалении ревертить все
&gt; коммиты затрагивавшие libnetlink за все 11 лет, ведь это не была какая-то
&gt; ошибка и теперь её откат.

2 коммита после меняют спек, а не исходники iproute2. Для кого как, конечно, но для меня разница важна.
Их можно было и склеить, просто разные коммиты проще читать впервые.
Если не ревёртить наши чудесные изобретения, а затмевать их новыми явными коммитами, которые вдобавок ещё что-нибудь меняют, то в такой истории проще потеряться и сложнее отделить наши оставшиеся чудесные изобретения от кода iproute2. git diff v6.6.0 &quot;$@&quot; покажет отличия, но не покажет их контекста, + спек так расположен, что его трудно выбросить из вывода git diff.

Будь моя воля, я бы предпочёл tcpdump-подобную схему упаковки: коммит апстрима, unrolled patches поверх (в пакете iproute2 их пока 0), merge в ветку с релизными коммитами каким-нибудь способом, имеющим смысл. Но ради одного обновления iproute2, первого из сделанных моими руками, менять gear-схему — это уже перебор.

&gt; - зачем оставлены пустые пакеты libnetlink и libnetlink-devel (с 1 man
&gt; страницей)?

Ман-страницу, наверное, надо куда-то положить. libnetlink-devel нужен как раз ради этой ман-страницы. Существование пакета libnetlink-devel без пакета libnetlink мне показалось странным.
Если ман-страницу не стоит упаковывать вообще или стоит засунуть в iproute2-devel, то и эти два пакета ни к чему.
А ты как думаешь, нужна ли она вообще? Это же устаревший интерфейс, с которым ничего не собрано и с которым нет никакой нужды собираться чему-либо внешнему.

&gt; -
&gt; https://git.altlinux.org/tasks/334324/gears/300/git?p=git;a=commitdiff;
&gt; h=c1bb677dad05a2cdb1e6a574272c0372a256f1b4
&gt; 
&gt; зачем дополнительные аргументы make, если это &quot;upstream decision&quot;?

Чтобы на 64-битных архитектурах файлы не попадали в %_libdir.
Иными словами, апстрим решил отделить CONF_USR_DIR от CONF_ETC_DIR и устанавливать эти файлы в CONF_USR_DIR, по умолчанию лежащий под %_libdir; а я вмешался, чтобы они попадали в /usr/lib, по моде[1] проекта systemd. (Мне эта мода не то чтобы очень нравится[•], но %_libdir хуже)
[1] https://www.freedesktop.org/software/systemd/man/254/file-hierarchy.html

&gt; - как насчет добавить
&gt;   %define _stripped_files_terminate_build 1
&gt;   %set_verify_elf_method strict,unresolved=relaxed

Об этом вообще не думал.
А зачем unresolved=relaxed? Неужели затем, чтобы простить пакету вот это:
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: show_stats
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: print_nl
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: matches
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: addattr_nest_end
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: addattr_l
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: get_u32
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: print_tm
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: parse_rtattr_flags
[00:00:38] verify-elf: WARNING: ./usr/lib64/tc/m_xt.so: undefined symbol: addattr_nest
Полагаю, лучше это видеть; я именно из-за сообщений verify-elf про undefined symbols на псевдо-libnetlink внимание обратил; этот объект получил зависимости прямо на символы из ip(8).

____
[•] Будь у нас %_libdir по-дебиановски, с арч-триплетом, каталог /usr/lib как место для комплектной вендорской конфигурации выглядел бы лучше, но слишком много на это нужно сил. Системдоиды приняли неудачное решение.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237659</commentid>
    <comment_count>5</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2023-11-22 18:44:42 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #2)
&gt; Решил, что некуда дальше откладывать:
&gt; https://packages.altlinux.org/en/tasks/334324/
&gt; 
&gt; Прошу посмотреть и одобрить.

Обновил это задание:
- %define _stripped_files_terminate_build 1;
- dropped libnetlink* package altogether.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238704</commentid>
    <comment_count>6</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2023-12-08 15:42:21 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #5)
&gt; (In reply to Arseny Maslennikov from comment #2)
&gt; &gt; Решил, что некуда дальше откладывать:
&gt; &gt; https://packages.altlinux.org/en/tasks/334324/
&gt; &gt; 
&gt; &gt; Прошу посмотреть и одобрить.
&gt; 
&gt; Обновил это задание:
&gt; - добавил %define _stripped_files_terminate_build 1;
&gt; - окончательно выбросил пакеты libnetlink*.

Всё ещё прошу посмотреть и одобрить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240155</commentid>
    <comment_count>7</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-01-14 14:47:38 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #4)
&gt; Иными словами, апстрим решил отделить CONF_USR_DIR от CONF_ETC_DIR и устанавливать эти файлы в CONF_USR_DIR, по умолчанию лежащий под %_libdir; а я вмешался, чтобы они попадали в /usr/lib, по моде[1] проекта systemd. (Мне эта мода не то чтобы очень нравится[•], но %_libdir хуже)
&gt; Системдоиды приняли неудачное решение.

Пришёл небезызвестный bluca и сделал CONF_USR_DIR по умолчанию под datadir:
https://lore.kernel.org/netdev/20231106001410.183542-1-luca.boccassi@gmail.com/
Вот и хорошо, сделаем так же.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240156</commentid>
    <comment_count>8</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-01-14 15:29:46 +0300</bug_when>
    <thetext>(In reply to Arseny Maslennikov from comment #6)
&gt; (In reply to Arseny Maslennikov from comment #5)
&gt; &gt; (In reply to Arseny Maslennikov from comment #2)
&gt; &gt; &gt; Решил, что некуда дальше откладывать:
&gt; &gt; &gt; https://packages.altlinux.org/en/tasks/334324/
&gt; &gt; &gt; 
&gt; &gt; &gt; Прошу посмотреть и одобрить.
&gt; &gt; 
&gt; &gt; Обновил это задание:
&gt; &gt; - добавил %define _stripped_files_terminate_build 1;
&gt; &gt; - окончательно выбросил пакеты libnetlink*.
&gt; 
&gt; Всё ещё прошу посмотреть и одобрить.

Обновил это задание:
- поместил значения для файлов из /etc/iproute2 по умолчанию под /usr/share.

Всё ещё прошу посмотреть и одобрить. Задание отложено из-за https://packages.altlinux.org/tasks/333513, но пакеты собрались, а исходники доступны; обсуждать можно уже сейчас.

Более того, с тех пор успела выйти ещё и 6.7.0:
https://packages.altlinux.org/tasks/338134
Но её имеет смысл готовить после одобрения 6.6.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240586</commentid>
    <comment_count>9</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-01-24 19:14:03 +0300</bug_when>
    <thetext>2024-Jan-19 04:47:03 :: task #334324 for sisyphus EPERM
Судя по всему, задание всех устраивает, и его можно пропускать в репозиторий. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240590</commentid>
    <comment_count>10</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-01-24 22:54:26 +0300</bug_when>
    <thetext>&gt; Dear Arseny Maslennikov!
&gt; 
&gt; Gleb Fotengauer-Malinovskiy has added an approval of subtask #1000 of task #334324:
&gt; 1000:iproute2.git=6.6.0-alt1
&gt; 
&gt; The text of approval follows:
&gt; 
&gt; lgtm

Благодарю! :)

Новое задание c iproute2 6.7.0-alt1 на очереди:
&gt; 2024-Jan-24 19:31:29 :: task #338134 for sisyphus EPERM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240617</commentid>
    <comment_count>11</comment_count>
    <who name="Gleb F-Malinovskiy">glebfm</who>
    <bug_when>2024-01-25 13:56:19 +0300</bug_when>
    <thetext>Закоммитилось же?  Этот баг закрываю.

FYI
https://lore.altlinux.org/sisyphus-cybertalk/ZbHuQQRoyD%2Ff6aG6@beehive.mskdc.altlinux.org/
&gt; ch341prog-20170517ba1a8306-alt1
&gt; Building Dependency Tree...
&gt; E: Couldn&apos;t find package libnetlink-devel
&gt; hsh-install: Failed to calculate package file list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240624</commentid>
    <comment_count>12</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-01-25 14:31:17 +0300</bug_when>
    <thetext>(In reply to Gleb F-Malinovskiy from comment #11)
&gt; FYI
&gt; https://lore.altlinux.org/sisyphus-cybertalk/ZbHuQQRoyD%2Ff6aG6@beehive.
&gt; mskdc.altlinux.org/
&gt; &gt; ch341prog-20170517ba1a8306-alt1
&gt; &gt; Building Dependency Tree...
&gt; &gt; E: Couldn&apos;t find package libnetlink-devel
&gt; &gt; hsh-install: Failed to calculate package file list.

Ух ты, спасибо.

Но если бы там действительно была зависимость на эту псевдобиблиотеку, возник бы анмет.
Судя по исходникам, там BR: libnetlink-devel* и передача -lnetlink — паразитные.
Сейчас локально смог пересобрать пакет без них.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240628</commentid>
    <comment_count>13</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2024-01-25 14:37:36 +0300</bug_when>
    <thetext>Блок снимать не надо. В соотв. ошибке будет видно, что эту исправили.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240633</commentid>
    <comment_count>14</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-01-25 15:15:21 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #13)
&gt; Блок снимать не надо. В соотв. ошибке будет видно, что эту исправили.

Письма о закрытии пришли тем, кому интересно и кто был подписан на bug 46625.

Но я снял блок не поэтому; считаю, что наличие этой закрытой баги в зависимостях у bug 46625 сейчас вводит читателя в заблуждение, потому что причина открытия баги не устранена: пока мы одобряли одну версию, вышла другая.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240635</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2024-01-25 15:26:33 +0300</bug_when>
    <thetext>(Ответ для Arseny Maslennikov на комментарий #14)
&gt; пока мы одобряли одну версию, вышла другая.
Т.е. баг не исправлен?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240637</commentid>
    <comment_count>16</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-01-25 15:32:17 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #15)
&gt; (Ответ для Arseny Maslennikov на комментарий #14)
&gt; &gt; пока мы одобряли одну версию, вышла другая.
&gt; Т.е. баг не исправлен?

Именно так.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240640</commentid>
    <comment_count>17</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2024-01-25 15:43:47 +0300</bug_when>
    <thetext>Ааа, ну тогда и в #46625 всё отобразится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241386</commentid>
    <comment_count>18</comment_count>
    <who name="Arseny Maslennikov">arseny</who>
    <bug_when>2024-02-10 17:17:06 +0300</bug_when>
    <thetext>* Sat Jan 13 2024 Arseny Maslennikov &lt;arseny@altlinux.org&gt; 6.7.0-alt1
- 6.6.0 -&gt; 6.7.0.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>