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

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

    <bug>
          <bug_id>38772</bug_id>
          
          <creation_ts>2020-07-31 17:32:14 +0300</creation_ts>
          <short_desc>update-kernel неправильно вычисляет последнюю версию модуля</short_desc>
          <delta_ts>2020-08-03 17:52:01 +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>update-kernel</component>
          <version>unstable</version>
          <rep_platform>all</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="Valery Sinelnikov">greh</reporter>
          <assigned_to name="Sergey Novikov">sotor</assigned_to>
          <cc>aas</cc>
    
    <cc>boyarsh</cc>
    
    <cc>evg</cc>
    
    <cc>lav</cc>
    
    <cc>mike</cc>
    
    <cc>sin</cc>
    
    <cc>sotor</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>191645</commentid>
    <comment_count>0</comment_count>
    <who name="Valery Sinelnikov">greh</who>
    <bug_when>2020-07-31 17:32:14 +0300</bug_when>
    <thetext>При обновлении модулей virtualbox версия 6.1.8 сменилась версией 6.1.12a.
Но при установке модулей с помощью update-kernel выбирается более старая версия.

Проблема выглядит следующим образом:

# update-kernel -n -f
Running kernel version: kernel-image-std-def-1:5.4.51-alt1
Checking for available kernel packages...
Try to install new kernel kernel-image-std-def-1:5.4.51-alt1:p9+254734.100.2.1@1594405455 and update its modules [y]/n? yes
ALLMODULES=  kernel-modules-accel-ppp-std-def#1.12.0-alt1.328755.1:p9+254734.300.2.1@1594405549
  kernel-modules-acpi_call-std-def#0.1-alt5.k.328755.1:p9+254734.400.2.1@1594405578
  kernel-modules-bbswitch-std-def#0.8-alt1.k.328755.1:p9+254734.500.2.1@1594405607
  kernel-modules-bcmwl-std-def#6.30.223.248-alt17.328755.1:p9+254734.600.2.1@1594405641
  kernel-modules-ch34x-std-def#20180821-alt1.328755.1:p9+254734.700.2.1@1594405672
  kernel-modules-dm-secdel-std-def#1:1.0.7-alt2.328755.1:p9+254734.1000.2.1@1594405700
  kernel-modules-drbd9-std-def#1:9.0.23-alt1.328755.1:p9+254734.1100.2.1@1594405770
  kernel-modules-drm-ancient-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
  kernel-modules-drm-nouveau-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
  kernel-modules-drm-radeon-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
  kernel-modules-drm-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
  kernel-modules-e1000e-std-def#3.4.2.1-alt2.328755.1:p9+254734.1200.2.2@1594410299
  kernel-modules-ide-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
  kernel-modules-ipset-std-def#7.5-alt1.328755.1:p9+254734.1300.2.1@1594405873
  kernel-modules-ipt_netflow-std-def#2.5-alt1.k.328755.1:p9+254734.1600.2.1@1594405996
  kernel-modules-ipt-ratelimit-std-def#0.3.1-alt1.328755.1:p9+254734.1400.2.1@1594405903
  kernel-modules-ipt-so-std-def#1.0-alt4.328755.1:p9+254734.1500.2.2@1594410387
  kernel-modules-kvdo-std-def#6.2.2.117-alt1.328755.1:p9+254734.1700.2.1@1594406064
  kernel-modules-LiME-std-def#1.8.1-alt1.328755.1:p9+254734.200.2.1@1594405516
  kernel-modules-linux-gpib-std-def#4.3.0-alt3.328755.1:p9+254734.2000.2.1@1594406113
  kernel-modules-lsadrv-std-def#1:1.2.3-alt4.328755.1:p9+254734.2100.2.1@1594406143
  kernel-modules-ndpi-std-def#2.6-alt2.328755.1:p9+254734.2200.2.1@1594406215
  kernel-modules-nvidia-std-def#450.57-alt1.328755.1:p9+255451.600.1.1@1595858236
  kernel-modules-nxp-pn71xx-getmobit-std-def#1.4-alt1.328755.1:p9+254734.2400.2.1@1594406367
  kernel-modules-r8168-std-def#8.048.02-alt1.k.328755.1:p9+254734.2500.2.1@1594406409
  kernel-modules-rtl8723de-std-def#5.1.1.8-alt15.328755.1:p9+254734.2600.2.1@1594406498
  kernel-modules-rtl8821ce-std-def#5.5.2-alt1.328755.1:p9+254734.2700.2.1@1594406533
  kernel-modules-staging-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
  kernel-modules-tripso-std-def#1.1-alt1.328755.1:p9+254734.3000.2.1@1594406564
  kernel-modules-v4l-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
  kernel-modules-vhba-std-def#20190410-alt1.k.328755.1:p9+254734.3100.2.1@1594406593
  kernel-modules-virtualbox-addition-guest-std-def#6.1.12a-alt1.328755.1:p9+255196.500.2.1@1595497973
  kernel-modules-virtualbox-addition-guest-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
  kernel-modules-virtualbox-addition-std-def#6.1.12a-alt1.328755.1:p9+255196.500.2.1@1595497973
  kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
  kernel-modules-virtualbox-addition-video-std-def#6.1.12a-alt1.328755.1:p9+255196.500.2.1@1595497973
  kernel-modules-virtualbox-addition-video-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
  kernel-modules-virtualbox-std-def#6.1.12a-alt2.328755.1:p9+255196.400.2.1@1595497914
  kernel-modules-virtualbox-std-def#6.1.8-alt1.328755.1:p9+254734.3300.2.1@1594406713
  kernel-modules-wireguard-std-def#1.0.20200712-alt1.328755.1:p9+254957.200.1.1@1594810985
  kernel-modules-xtables-addons-std-def#3.9-alt1.328755.1:p9+254734.3500.2.1@1594406795
  kernel-modules-zfs-std-def#0.8.4-alt1.328755.1:p9+254734.3600.2.1@1594406883
update-kernel: kernel-modules-bcmwl is installed, trying to update...
module=  kernel-modules-bcmwl-std-def#6.30.223.248-alt17.328755.1:p9+254734.600.2.1@1594405641
update-kernel: kernel-modules-drm-ancient is installed, trying to update...
module=  kernel-modules-drm-ancient-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
update-kernel: kernel-modules-drm-nouveau is installed, trying to update...
module=  kernel-modules-drm-nouveau-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
update-kernel: kernel-modules-drm-radeon is installed, trying to update...
module=  kernel-modules-drm-radeon-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
update-kernel: kernel-modules-drm is installed, trying to update...
module=  kernel-modules-drm-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
update-kernel: kernel-modules-e1000e is installed, trying to update...
module=  kernel-modules-e1000e-std-def#3.4.2.1-alt2.328755.1:p9+254734.1200.2.2@1594410299
update-kernel: kernel-modules-rtl8723de is installed, trying to update...
module=  kernel-modules-rtl8723de-std-def#5.1.1.8-alt15.328755.1:p9+254734.2600.2.1@1594406498
update-kernel: kernel-modules-rtl8821ce is installed, trying to update...
module=  kernel-modules-rtl8821ce-std-def#5.5.2-alt1.328755.1:p9+254734.2700.2.1@1594406533
update-kernel: kernel-modules-staging is installed, trying to update...
module=  kernel-modules-staging-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
update-kernel: kernel-modules-v4l is installed, trying to update...
module=  kernel-modules-v4l-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161
update-kernel: kernel-modules-virtualbox-addition-guest is installed, trying to update...
module=  kernel-modules-virtualbox-addition-guest-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
update-kernel: kernel-modules-virtualbox-addition-guest is installed, trying to update...
module=  kernel-modules-virtualbox-addition-guest-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
update-kernel: kernel-modules-virtualbox-addition is installed, trying to update...
module=  kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
update-kernel: kernel-modules-virtualbox-addition is installed, trying to update...
module=  kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
update-kernel: kernel-modules-virtualbox-addition-video is installed, trying to update...
module=  kernel-modules-virtualbox-addition-video-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
update-kernel: kernel-modules-virtualbox-addition-video is installed, trying to update...
module=  kernel-modules-virtualbox-addition-video-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
update-kernel: kernel-modules-virtualbox is installed, trying to update...
module=  kernel-modules-virtualbox-std-def#6.1.8-alt1.328755.1:p9+254734.3300.2.1@1594406713
update-kernel: kernel-modules-virtualbox is installed, trying to update...
module=  kernel-modules-virtualbox-std-def#6.1.8-alt1.328755.1:p9+254734.3300.2.1@1594406713
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия kernel-image-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405455 уже установлена.
Последняя версия kernel-modules-bcmwl-std-def#6.30.223.248-alt17.328755.1:p9+254734.600.2.1@1594405641 уже установлена.
Последняя версия kernel-modules-drm-ancient-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161 уже установлена.
Последняя версия kernel-modules-drm-nouveau-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161 уже установлена.
Последняя версия kernel-modules-drm-radeon-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161 уже установлена.
Последняя версия kernel-modules-drm-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161 уже установлена.
Последняя версия kernel-modules-e1000e-std-def#3.4.2.1-alt2.328755.1:p9+254734.1200.2.2@1594410299 уже установлена.
Последняя версия kernel-modules-rtl8723de-std-def#5.1.1.8-alt15.328755.1:p9+254734.2600.2.1@1594406498 уже установлена.
Последняя версия kernel-modules-rtl8821ce-std-def#5.5.2-alt1.328755.1:p9+254734.2700.2.1@1594406533 уже установлена.
Последняя версия kernel-modules-staging-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161 уже установлена.
Последняя версия kernel-modules-v4l-std-def#1:5.4.51-alt1:p9+254734.100.2.1@1594405161 уже установлена.
Последняя версия kernel-modules-virtualbox-std-def#6.1.8-alt1.328755.1:p9+254734.3300.2.1@1594406713 уже установлена.
Последняя версия kernel-modules-virtualbox-std-def#6.1.8-alt1.328755.1:p9+254734.3300.2.1@1594406713 уже установлена.
Следующие пакеты будут УДАЛЕНЫ:
  kernel-modules-virtualbox-addition-guest-std-def#6.1.12a-alt1.328755.1:p9+255196.500.2.1@1595497973
  kernel-modules-virtualbox-addition-std-def#6.1.12a-alt1.328755.1:p9+255196.500.2.1@1595497973
  kernel-modules-virtualbox-addition-video-std-def#6.1.12a-alt1.328755.1:p9+255196.500.2.1@1595497973
Следующие НОВЫЕ пакеты будут установлены:
  kernel-modules-virtualbox-addition-guest-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
  kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
  kernel-modules-virtualbox-addition-video-std-def#6.1.8-alt1.328755.1:p9+254734.3200.2.1@1594406648
0 будет обновлено, 3 новых установлено, 3 пакетов будет удалено и 6 не будет обновлено.
Необходимо получить 0B/205kB архивов.
После распаковки будет освобождено 176B дискового пространства.
Скачивание пакетов завершено в режиме &apos;только скачать&apos;.


Причина состоит в том что имена файлов с версиями сортируются в лексикографическом порядке:

# grep &quot;sort -r -u&quot; /usr/sbin/update-kernel 
	module=$(echo &quot;$ALLMODULES&quot; | grep &quot;^[[:space:]]*${module_pkgname}-${kernel_flavour}#&quot; | sort -r -u | head -1)

# echo -e &quot;kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+255196.500.2.1@1595497973\nkernel-modules-virtualbox-addition-std-def#6.1.12a-alt1.328755.1:p9+254734.3200.2.1@1594406648&quot;
kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+255196.500.2.1@1595497973
kernel-modules-virtualbox-addition-std-def#6.1.12a-alt1.328755.1:p9+254734.3200.2.1@1594406648

# echo -e &quot;kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+255196.500.2.1@1595497973\nkernel-modules-virtualbox-addition-std-def#6.1.12a-alt1.328755.1:p9+254734.3200.2.1@1594406648&quot; | grep &quot;^[[:space:]]*${module_pkgname}-${kernel_flavour}#&quot; | sort -r -u | head -1
kernel-modules-virtualbox-addition-std-def#6.1.8-alt1.328755.1:p9+255196.500.2.1@1595497973</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191646</commentid>
    <comment_count>1</comment_count>
    <who name="Valery Sinelnikov">greh</who>
    <bug_when>2020-07-31 17:41:39 +0300</bug_when>
    <thetext>Воспроизвести проблему можно на этой таске:

#255196 EPERM #3 p9 virtualbox.git=6.1.12a-alt2 kernel-modules.git=sisyphus/kernel-modules-virtualbox-addition-un-def-6.1.12a-alt1 kernel-modules.git=sisyphus/kernel-modules-virtualbox-un-def-6.1.12a-alt2 kernel-modules.git=sisyphus/kernel-modules-virtualbox-std-def-6.1.12a-alt2 kernel-modules.git=sisyphus/kernel-modules-virtualbox-addition-std-def-6.1.12a-alt1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191673</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey Novikov">sotor</who>
    <bug_when>2020-08-03 13:57:22 +0300</bug_when>
    <thetext>(Ответ для Valery Sinelnikov на комментарий #1)
&gt; Воспроизвести проблему можно на этой таске:
&gt; 
&gt; #255196 EPERM #3 p9 virtualbox.git=6.1.12a-alt2

Пересоберите таск, пожалуйста, так как в p9 обновилось ядро и проблема не воспроизводится (не удается установить модуль kernel-modules-virtualbox-addition-guest-std-def#6.1.12a)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191677</commentid>
    <comment_count>3</comment_count>
    <who name="Valery Sinelnikov">greh</who>
    <bug_when>2020-08-03 15:54:07 +0300</bug_when>
    <thetext>(Ответ для Sergey Novikov на комментарий #2)
&gt; (Ответ для Valery Sinelnikov на комментарий #1)
&gt; &gt; Воспроизвести проблему можно на этой таске:
&gt; &gt; 
&gt; &gt; #255196 EPERM #3 p9 virtualbox.git=6.1.12a-alt2
&gt; 
&gt; Пересоберите таск, пожалуйста, так как в p9 обновилось ядро и проблема не
&gt; воспроизводится (не удается установить модуль
&gt; kernel-modules-virtualbox-addition-guest-std-def#6.1.12a)

Таска успешно пересобралась.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191678</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Novikov">sotor</who>
    <bug_when>2020-08-03 16:14:21 +0300</bug_when>
    <thetext>Предлагаю заменить:
$(echo &quot;$ALLMODULES&quot; | grep &quot;^[[:space:]]*${module_pkgname}-${kernel_flavour}#&quot; | sort -r -u | head -1)
на:
$(echo &quot;$ALLMODULES&quot; | grep &quot;^[[:space:]]*${module_pkgname}-${kernel_flavour}#&quot; | sort -r -u -V | head -1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191679</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey Novikov">sotor</who>
    <bug_when>2020-08-03 17:01:45 +0300</bug_when>
    <thetext>Починил в таске #255802 просьба заапрувить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191681</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2020-08-03 17:41:17 +0300</bug_when>
    <thetext>(Ответ для Sergey Novikov на комментарий #5)
&gt; Починил в таске #255802 просьба заапрувить.
Готово.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191682</commentid>
    <comment_count>7</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2020-08-03 17:52:01 +0300</bug_when>
    <thetext>update-kernel-0.9.19-alt1 -&gt; sisyphus:

 Mon Aug 03 2020 Sergey Novikov &lt;sotor@altlinux&gt; 0.9.19-alt1
 - update-kernel: fix incorrect comparison of versions of duplicate modules
   (closes: #38772)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>