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

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

    <bug>
          <bug_id>39763</bug_id>
          
          <creation_ts>2021-03-05 16:08:23 +0300</creation_ts>
          <short_desc>kernel-image require modules-drm</short_desc>
          <delta_ts>2021-03-16 12:59:52 +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>kernel-image-un-def</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>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey V Turchin">zerg</reporter>
          <assigned_to name="Vitaly Chikunov">vt</assigned_to>
          <cc>asheplyakov</cc>
    
    <cc>iv</cc>
    
    <cc>kernelbot</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196731</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-05 16:08:23 +0300</bug_when>
    <thetext># depinfo -k 5.10.19-un-def-alt1 rmi_core
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/input/rmi4/rmi_core.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-v4l2.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-common.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/mc/mc.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/v4l2-core/videodev.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-vmalloc.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-memops.ko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196757</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-09 07:25:44 +0300</bug_when>
    <thetext>Разбиение модулей на подпакеты давно [1] уже не соответствует зависимостям между модулями.

Например

$ depinfo drm_kms_helper
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/gpu/drm/drm_kms_helper.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/gpu/drm/drm.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/cec/core/cec.ko
module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/rc/rc-core.ko

Разработчики ядра выделили реализацию Consumer Electronics Control [2] в отдельный модуль,
и используют его везде, где потребуется (например, в драйверах hdmi). И никого не волнует,
что мы когда-то решили, что между drivers/gpu и drivers/media нет и не может быть зависимостей.

Поскольку ядро - единое целое (см. stable api nonsense), то нет никакой гарантии, что такие
&quot;неожиданные&quot; зависимости не появятся вновь. Скорее наоборот - любое разбиение модулей ядра
на подпакеты гарантировано приведет к тому, что либо

1) все подпакеты (с модулями) будут зависеть друг от друга (уже произошло для modules-drm и modules-v4l)
2) часть модулей подпакета будет неработоспособна из-за отсутствующих зависимостей,
   (которые &quot;счастливые&quot; пользователи должны будут найти вручную). До недавнего времени
   такая ситуация была с kernel-modules-drm-std-def: модуль dw_hdmi.ko не грузился,
   если не установлен пакет kernel-modules-v4l-def


Поэтому считаю, что

1) Все (in-tree) модули нужно паковать в пакет kernel-image
2) Те, кто боится, что на его любимом сервере загрузится drm.ko, могут внести его в blacklist.
   В &quot;серверные&quot; образы такой blacklist можно включить по умолчанию.  
3) Для экономии дискового пространства/траффика использовать сжатие модулей (CONFIG_MODULE_COMPRESS=y, CONFIG_MODULE_COMPRESS_XZ=y),
   kmod уже собран с поддержкой сжатых модулей


[1] Как минимум со времен ядра 4.9, но на x86 это было не так заметно
[2] https://en.wikipedia.org/wiki/Consumer_Electronics_Control</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196759</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 10:58:14 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #1)
&gt; $ depinfo drm_kms_helper
Я уже напоролся с amdgpu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196764</commentid>
    <comment_count>3</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-09 11:55:00 +0300</bug_when>
    <thetext>Есть ещё одно решение -- написать генератор rpm зависимостей между модулями ядра, задача не то, чтоб выглядит сложной, но никто пока не взялся. И, соответственно, менять раскладку модулей в соответствии с результатами работы этого генератора...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196771</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-09 13:00:18 +0300</bug_when>
    <thetext>(In reply to Anton V. Boyarshinov from comment #3)
&gt; Есть ещё одно решение -- написать генератор rpm зависимостей между модулями
&gt; ядра, задача не то, чтоб выглядит сложной, но никто пока не взялся. И,
&gt; соответственно, менять раскладку модулей в соответствии с результатами
&gt; работы этого генератора...


1) Как быть с обновлениями? &quot;Жил&quot; себе модуль в kernel-image, и тут мы решили его
   перенести в modules-v4l. Пользователь, у которого не был установлен modules-v4l,
   после update-kernel получит тыкву.

2) Что делать с циклическими зависимостями (вроде modules-v4l/modules-drm)?


&quot;Все нужное - не сложно, все сложное - не нужно&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196772</commentid>
    <comment_count>5</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-09 13:23:53 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #1)
&gt; Разбиение модулей на подпакеты давно [1] уже не соответствует зависимостям
&gt; между модулями.
&gt; 
&gt; $ depinfo drm_kms_helper
&gt; module
&gt; /lib/modules/5.10.19-un-def-alt1/kernel/drivers/gpu/drm/drm_kms_helper.ko
&gt; module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/gpu/drm/drm.ko
&gt; module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/cec/core/cec.ko
&gt; module /lib/modules/5.10.19-un-def-alt1/kernel/drivers/media/rc/rc-core.ko

Это учтено уже некоторое время как.

&gt; Разработчики ядра выделили реализацию Consumer Electronics Control [2] в
&gt; отдельный модуль,
&gt; и используют его везде, где потребуется (например, в драйверах hdmi). И
&gt; никого не волнует,
&gt; что мы когда-то решили, что между drivers/gpu и drivers/media нет и не может
&gt; быть зависимостей.
&gt; 
&gt; Поскольку ядро - единое целое (см. stable api nonsense), то нет никакой
&gt; гарантии, что такие
&gt; &quot;неожиданные&quot; зависимости не появятся вновь. Скорее наоборот - любое
&gt; разбиение модулей ядра
&gt; на подпакеты гарантировано приведет к тому, что либо
&gt; 
&gt; 1) все подпакеты (с модулями) будут зависеть друг от друга (уже произошло
&gt; для modules-drm и modules-v4l)
Вообще говоря, добавление части модулей из v4l в drm, как эта проблема решалась раньше, не создаёт такой зависимости.

&gt; 2) часть модулей подпакета будет неработоспособна из-за отсутствующих
&gt; зависимостей,
По хорошему, нужна автгенерация и автопоиск зависимостей..

&gt; 3) Для экономии дискового пространства/траффика использовать сжатие модулей
&gt; (CONFIG_MODULE_COMPRESS=y, CONFIG_MODULE_COMPRESS_XZ=y),

К сожалению, сжатые модули оказались несовместимы с EMA/EVM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196776</commentid>
    <comment_count>6</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2021-03-09 13:46:23 +0300</bug_when>
    <thetext>разбивать kernel-image на модули просто несусветная глупость. там не такой большой объем что бы на этом экономить</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196783</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2021-03-09 14:04:47 +0300</bug_when>
    <thetext>https://bugzilla.altlinux.org/show_bug.cgi?id=25852
https://bugzilla.altlinux.org/show_bug.cgi?id=28926
мы эти кактусы смакуем уже очень давно.
идею перестать выделять in-tree модули в подпакеты нахожу здравой.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196786</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 14:46:04 +0300</bug_when>
    <thetext>(Ответ для Sergey Bolshakov на комментарий #7)
&gt; идею перестать выделять in-tree модули в подпакеты нахожу здравой.
+1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196787</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 14:57:52 +0300</bug_when>
    <thetext>(Ответ для Anton V. Boyarshinov на комментарий #3)
&gt; Есть ещё одно решение -- написать генератор rpm зависимостей между модулями
&gt; ядра, задача не то, чтоб выглядит сложной, но никто пока не взялся. И,
&gt; соответственно, менять раскладку модулей в соответствии с результатами
&gt; работы этого генератора...
Т.е. генератор будет делать новый набор подпакетов с каждой минорной версией ядра.
В результате после нескольких обновлений минора при помощи update-kernel машина остаётся вообще без каких-либо kernel-modules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196788</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 14:59:11 +0300</bug_when>
    <thetext>Как вариант -- оставить 2 пакета: kernel-image и kernel-modules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196789</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 15:01:59 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #10)
&gt; Как вариант -- оставить 2 пакета: kernel-image и kernel-modules.
А их уже автогенератором делИть.
Например, давая ему список необходимых в kernel-image модулей, чтоб остальное по возможности отбрасывалось в kernel-modules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196791</commentid>
    <comment_count>12</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-09 15:54:35 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #4)
&gt; (In reply to Anton V. Boyarshinov from comment #3)
&gt; &gt; Есть ещё одно решение -- написать генератор rpm зависимостей между модулями
&gt; &gt; ядра, задача не то, чтоб выглядит сложной, но никто пока не взялся. И,
&gt; &gt; соответственно, менять раскладку модулей в соответствии с результатами
&gt; &gt; работы этого генератора...
&gt; 
&gt; 
&gt; 1) Как быть с обновлениями? &quot;Жил&quot; себе модуль в kernel-image, и тут мы
&gt; решили его
&gt;    перенести в modules-v4l. Пользователь, у которого не был установлен

В эту сторону переносов пока не было. Кроме того, ничто не мешает файлу быть одновременно в нескольких подпакетах.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196792</commentid>
    <comment_count>13</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-09 15:55:47 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #9)
&gt; (Ответ для Anton V. Boyarshinov на комментарий #3)
&gt; &gt; Есть ещё одно решение -- написать генератор rpm зависимостей между модулями
&gt; &gt; ядра, задача не то, чтоб выглядит сложной, но никто пока не взялся. И,
&gt; &gt; соответственно, менять раскладку модулей в соответствии с результатами
&gt; &gt; работы этого генератора...
&gt; Т.е. генератор будет делать новый набор подпакетов с каждой минорной версией
&gt; ядра.
&gt; В результате после нескольких обновлений минора при помощи update-kernel
&gt; машина остаётся вообще без каких-либо kernel-modules.

Генератор зависимостей, а не подпакетов. Который делал бы зависимости между модулями зависимостями между пакетами, которые мы умеем отслеживать лучше.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196793</commentid>
    <comment_count>14</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2021-03-09 16:14:29 +0300</bug_when>
    <thetext>внимание вопрос! какую задачу вы решаете выделяя какие то модули из kernel-image в kernel-modeles?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196798</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 17:11:03 +0300</bug_when>
    <thetext>(Ответ для Anton V. Boyarshinov на комментарий #13)
&gt; Генератор зависимостей, а не подпакетов.
Все будут тупо друг от друга зависеть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196799</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 17:12:08 +0300</bug_when>
    <thetext>(Ответ для Valery Inozemtsev на комментарий #14)
&gt; какую задачу вы решаете
Разве не SUBJ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196801</commentid>
    <comment_count>17</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2021-03-09 17:27:26 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #16)
&gt; (Ответ для Valery Inozemtsev на комментарий #14)
&gt; &gt; какую задачу вы решаете
&gt; Разве не SUBJ?

ни разу ни SUBJ. поставлю вопрос по другому. ЗАЧЕМ разбивать kernel-image на подпакеты?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196802</commentid>
    <comment_count>18</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-09 17:33:42 +0300</bug_when>
    <thetext>(Ответ для Valery Inozemtsev на комментарий #17)
&gt; ЗАЧЕМ разбивать kernel-image на подпакеты?
Это тема другой баги, хоть её тут уже слегка и обсуждали.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196804</commentid>
    <comment_count>19</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2021-03-09 17:41:33 +0300</bug_when>
    <thetext>вот это и надо обсуждать, а не изобретать &lt;strike&gt;велосипедные велосипеды&lt;/strike&gt; генератор зависимостей</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196812</commentid>
    <comment_count>20</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-10 10:46:26 +0300</bug_when>
    <thetext>(Ответ для Valery Inozemtsev на комментарий #17)
&gt; (Ответ для Sergey V Turchin на комментарий #16)
&gt; &gt; (Ответ для Valery Inozemtsev на комментарий #14)
&gt; &gt; &gt; какую задачу вы решаете
&gt; &gt; Разве не SUBJ?
&gt; 
&gt; ни разу ни SUBJ. поставлю вопрос по другому. ЗАЧЕМ разбивать kernel-image на
&gt; подпакеты?

Хотя бы для того, чтоб не ставить сомнительный код из дерева staging без крайней необходимости.

Есть вовсе ненулевое число людей, которые не хотят видеть на своих серверах модули drm ни в каком виде (blacklst это отлично, но его надо регулярно обновлять).

Способ переключения между nvidia и noveau через установку пакетов лично мне представляется удобнее других. А вот radeon больше не на что переключать и подпакет -radeon стоит включить в drm.

Подпакет -drm-ancient был выделен, по настоятельной просьбе кого-то в офисе, кажется shrek@

Подпакет v4l я во вчерашней сборке целиком включил в подпакет drm, так что данную багу можно считать исправленной.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196853</commentid>
    <comment_count>21</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2021-03-10 16:39:05 +0300</bug_when>
    <thetext>&gt; Подпакет v4l я во вчерашней сборке целиком включил в подпакет drm,
rmi_core тоже?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196856</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-10 17:13:21 +0300</bug_when>
    <thetext>
&gt; &gt; ни разу ни SUBJ. поставлю вопрос по другому. ЗАЧЕМ разбивать kernel-image на
&gt; &gt; подпакеты?
&gt; 
&gt; Хотя бы для того, чтоб не ставить сомнительный код из дерева staging без
&gt; крайней необходимости.

1) blacklist по умолчанию всего staging
2) kernel-modules-staging, и проблемы с зависимостями нет: обычные модули от staging не зависят
 

&gt; Есть вовсе ненулевое число людей, которые не хотят видеть на своих серверах
&gt; модули drm ни в каком виде (blacklst это отлично, но его надо регулярно
&gt; обновлять).

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

А те, кто знают, что такое drm, и &quot;не хотят его видеть&quot;, наверное знают про rm,
rpm --excludepath, blacklist, и прочее.


&gt; Способ переключения между nvidia и noveau через установку пакетов лично мне
&gt; представляется удобнее других.

Это все равно, что переключаться между vim и emacs через установку пакетов. Неудобно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196857</commentid>
    <comment_count>23</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-10 17:16:26 +0300</bug_when>
    <thetext>$ depinfo -k 5.10.22-un-def-alt1 rmi_core
module /lib/modules/5.10.22-un-def-alt1/kernel/drivers/input/rmi4/rmi_core.ko
module /lib/modules/5.10.22-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-v4l2.ko
module /lib/modules/5.10.22-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-common.ko
module /lib/modules/5.10.22-un-def-alt1/kernel/drivers/media/mc/mc.ko
module /lib/modules/5.10.22-un-def-alt1/kernel/drivers/media/v4l2-core/videodev.ko
module /lib/modules/5.10.22-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-vmalloc.ko
module /lib/modules/5.10.22-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-memops.ko

$ rpm -q --whatprovides /lib/modules/5.10.22-un-def-alt1/kernel/drivers/input/rmi4/rmi_core.ko
kernel-image-un-def-5.10.22-alt1.aarch64
$ rpm -q --whatprovides /lib/modules/5.10.22-un-def-alt1/kernel/drivers/media/common/videobuf2/videobuf2-v4l2.ko
kernel-modules-drm-un-def-5.10.22-alt1.aarch64

Для работы модуля из kernel-image-un-def по-прежнему требуется модуль из пакета kernel-modules-drm-un-def.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196859</commentid>
    <comment_count>24</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-10 17:23:47 +0300</bug_when>
    <thetext>(In reply to Anton V. Boyarshinov from comment #12)

&gt; &gt; 1) Как быть с обновлениями? &quot;Жил&quot; себе модуль в kernel-image, и тут мы
&gt; &gt; решили его
&gt; &gt;    перенести в modules-v4l. Пользователь, у которого не был установлен
&gt; 
&gt; В эту сторону переносов пока не было. 

&quot;Теперь будут&quot;. Вот прямо сейчас модуль rmi_core может внезапно переехать в какой-нибудь подпакет.

&gt; Кроме того, ничто не мешает файлу быть одновременно в нескольких подпакетах.

А зачем в таком случае было делить на подпакеты?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196860</commentid>
    <comment_count>25</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-10 17:29:31 +0300</bug_when>
    <thetext>(In reply to Sergey V Turchin from comment #11)
&gt; (Ответ для Sergey V Turchin на комментарий #10)
&gt; &gt; Как вариант -- оставить 2 пакета: kernel-image и kernel-modules.
&gt; А их уже автогенератором делИть.
&gt; Например, давая ему список необходимых в kernel-image модулей, чтоб
&gt; остальное по возможности отбрасывалось в kernel-modules.

Вопрос о том, какие модули считать необходимыми, сильно зависит от архитектуры и (что хуже всего) личных предпочтений.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196877</commentid>
    <comment_count>26</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-11 10:49:15 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #23)

&gt; Для работы модуля из kernel-image-un-def по-прежнему требуется модуль из
&gt; пакета kernel-modules-drm-un-def.

Упс, я всё это время неправильно понимал в чём проблема, привычно интерпретировав её как новую зависимость drm от v4l, хотя всё было совершенно не так, спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196878</commentid>
    <comment_count>27</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-11 11:02:05 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #22)
&gt; &gt; &gt; ни разу ни SUBJ. поставлю вопрос по другому. ЗАЧЕМ разбивать kernel-image на
&gt; &gt; &gt; подпакеты?
&gt; &gt; 
&gt; &gt; Хотя бы для того, чтоб не ставить сомнительный код из дерева staging без
&gt; &gt; крайней необходимости.
&gt; 
&gt; 1) blacklist по умолчанию всего staging
Ммм.. там ведь, кажется, никакие маски не поддерживаются, так что список будет немаленький (понятно, что сгенерировать можно список любого размера)

&gt; 2) kernel-modules-staging, и проблемы с зависимостями нет: обычные модули от
&gt; staging не зависят
Случаи такие бывали, но как правило это действительно так.

&gt; &gt; Есть вовсе ненулевое число людей, которые не хотят видеть на своих серверах
&gt; &gt; модули drm ни в каком виде (blacklst это отлично, но его надо регулярно
&gt; &gt; обновлять).
&gt; 
&gt; Не понятно, почему дистрибутив должен быть по умолчанию заточен под желания
&gt; именно этой группы людей.

&quot;Дистрибутив по умолчанию&quot; и &quot;разбиение на пакеты&quot; это немного разные истории. На дистрибутив по умолчанию больше влияет не разбиение на пакеты как таковое, а то, какие пакеты мы в него кладём. И если относительно мелкая нарезка на пакеты позволяет такой выбор делать, то её отсутствие -- не позволяет.

И не учитывать при нарезке пакетов мнение ldv@ и glebfm@ для меня было бы довольно странно.

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

&gt; А те, кто знают, что такое drm, и &quot;не хотят его видеть&quot;, наверное знают про
&gt; rm,
&gt; rpm --excludepath, blacklist, и прочее.
rm для файлов из пакетов и rpm --excludepath у нас не является рекомендуемым способом использования системы.

А относительно мелкая нарезка пакетов -- является. И пока вы не убедите ldv@ в том, что ядро больше не надо нарезать на подпакеты (а он потом -- меня), меня убеждать бесполезно.

&gt; 
&gt; 
&gt; &gt; Способ переключения между nvidia и noveau через установку пакетов лично мне
&gt; &gt; представляется удобнее других.
&gt; 
&gt; Это все равно, что переключаться между vim и emacs через установку пакетов.

В рамках формирования дистрибутива именно этот метод и используется. В том числе , для переключения между vim и emacs, который, последнее время, обычно просто не попадает в дистрибутивы (и таки да, кому надо -- поставит).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196879</commentid>
    <comment_count>28</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-03-11 11:05:26 +0300</bug_when>
    <thetext>вообще весь ваш диалог похоже, сводится к тому, что нужно кому-то сесть и написать генератор межпакетных зависимостей, основанный на зависимостях между модулями.

при этом можно будет считать ошибкой зависимость ядра на пакет с модулями.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196882</commentid>
    <comment_count>29</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-11 11:42:45 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #28)
&gt; вообще весь ваш диалог похоже, сводится к тому, что нужно кому-то сесть и
&gt; написать генератор межпакетных зависимостей, основанный на зависимостях
&gt; между модулями.

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

&gt; при этом можно будет считать ошибкой зависимость ядра на пакет с модулями.
Да, пожалуй. Что-нибудь вроде &quot;kernel-image не должен иметь файловых завимостей в /lib/modules&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196883</commentid>
    <comment_count>30</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-11 12:29:25 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #28)
&gt; вообще весь ваш диалог похоже, сводится к тому, что нужно кому-то сесть и
&gt; написать генератор межпакетных зависимостей, основанный на зависимостях
&gt; между модулями.

Нет. Во-первых, кому-то надо сесть и сформулировать, зачем нужно in-tree модули разбивать на подпакеты. Для решения какой *технической* проблемы это нужно. Пока что я видел - &quot;чтобы уважаемые люди (TM) не расстроились&quot;. Но это не техническая проблема.

А во-вторых, все упорно забывают про обновления. Кроме &quot;генератора зависимостей&quot; надо еще &quot;немного&quot; доработать update-kernel, чтобы, например, ничего не ломалось  при обновлении с 5.4 на 5.10. 

&gt; при этом можно будет считать ошибкой зависимость ядра на пакет с модулями.

И что делать в случае такой ошибки? Вот модуль rmi_core из kernel-image завист от modules-drm. Дальше что?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196884</commentid>
    <comment_count>31</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2021-03-11 12:38:38 +0300</bug_when>
    <thetext>(Ответ для Alexey Sheplyakov на комментарий #30)
&gt; надо еще &quot;немного&quot; доработать update-kernel, чтобы, например,
&gt; ничего не ломалось  при обновлении с 5.4 на 5.10.

Как доработать?

ps. Про update-kernel у меня ещё мысль, запишу её хотя бы здесь - если при апгрейде нет нужного модуля (скажем, он не собрался и его удалили), тем более загруженного, то выводить предупреждение пользователю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196885</commentid>
    <comment_count>32</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-11 13:10:56 +0300</bug_when>
    <thetext>(In reply to Anton V. Boyarshinov from comment #27)

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

А после update-kernel получат тыкву

&gt; И не учитывать при нарезке пакетов мнение ldv@ и glebfm@ для меня было бы
&gt; довольно странно.

Вот заставить бы этих прекрасных людей ездить к клиентам и починить последствия update-kernel.
Или собирать образы для каких-нибудь чудесных arm/mips плат.
И понаблюдать за их мнением. Мечты, мечты...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196887</commentid>
    <comment_count>33</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-11 13:27:52 +0300</bug_when>
    <thetext>(In reply to Vitaly Chikunov from comment #31)
&gt; (Ответ для Alexey Sheplyakov на комментарий #30)
&gt; &gt; надо еще &quot;немного&quot; доработать update-kernel, чтобы, например,
&gt; &gt; ничего не ломалось  при обновлении с 5.4 на 5.10.
&gt; 
&gt; Как доработать?
&gt; 
&gt; ps. Про update-kernel у меня ещё мысль, запишу её хотя бы здесь - если при
&gt; апгрейде нет нужного модуля (скажем, он не собрался и его удалили), тем
&gt; более загруженного, то выводить предупреждение пользователю.

Набор &quot;нужных&quot; модулей зависит от версии ядра.
Например в 5.4.x (на x86) drm_kms_helper.ko не зависел от cec.ko, а в 5.10 ВНЕЗАПНО уже зависит.

А еще бывает, что раньше модуль поддерживал железяку с pci id NNNN, а потом поддержку этой железяки &quot;занялся&quot; другой драйвер (например, драйвер &quot;переехал&quot; из staging и по пути поменял имя)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196907</commentid>
    <comment_count>34</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2021-03-11 16:33:57 +0300</bug_when>
    <thetext>(In reply to Alexey Sheplyakov from comment #33)
&gt; (In reply to Vitaly Chikunov from comment #31)
&gt; &gt; (Ответ для Alexey Sheplyakov на комментарий #30)
&gt; &gt; &gt; надо еще &quot;немного&quot; доработать update-kernel, чтобы, например,
&gt; &gt; &gt; ничего не ломалось  при обновлении с 5.4 на 5.10.
&gt; &gt; 
&gt; &gt; Как доработать?
&gt; &gt; 
&gt; &gt; ps. Про update-kernel у меня ещё мысль, запишу её хотя бы здесь - если при
&gt; &gt; апгрейде нет нужного модуля (скажем, он не собрался и его удалили), тем
&gt; &gt; более загруженного, то выводить предупреждение пользователю.
&gt; 
&gt; Набор &quot;нужных&quot; модулей зависит от версии ядра.
&gt; Например в 5.4.x (на x86) drm_kms_helper.ko не зависел от cec.ko, а в 5.10
&gt; ВНЕЗАПНО уже зависит.
&gt; 
&gt; А еще бывает, что раньше модуль поддерживал железяку с pci id NNNN, а потом
&gt; поддержку этой железяки &quot;занялся&quot; другой драйвер (например, драйвер
&gt; &quot;переехал&quot; из staging и по пути поменял имя)

Еще пример: разделение efivars на собственно efivars и efivarfs (в 5.10). Без efivarfs нет /sys/firmware/efi/efivars, и не работает efibootmgr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196985</commentid>
    <comment_count>35</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2021-03-16 12:59:52 +0300</bug_when>
    <thetext>в 5.10.23 данные (и ещё некоторые) модули перенесены в kernel-image, зависимости между модулями ядра теперь контролируются автоматически.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>