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

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

    <bug>
          <bug_id>42149</bug_id>
          
          <creation_ts>2022-03-16 16:40:05 +0300</creation_ts>
          <short_desc>update-kernel: ошибочно пишет, что установлено самое свежее ядро</short_desc>
          <delta_ts>2022-04-04 11:06:21 +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>rpm</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="Alexey Sheplyakov">asheplyakov</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>at</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>iv</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>208539</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2022-03-16 16:40:05 +0300</bug_when>
    <thetext># apt-cache pkgnames kernel-image-un-def
kernel-image-un-def-debuginfo#1:5.15.28-alt2:p10+296646.140.3.1@1647363290
kernel-image-un-def#1:5.15.28-alt2:p10+296646.140.3.1@1647363290
kernel-image-un-def
kernel-image-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359
kernel-image-un-def-checkinstall#1:5.15.28-alt2:p10+296646.140.3.1@1647363290
kernel-image-un-def-checkinstall
kernel-image-un-def-debuginfo
kernel-image-un-def#1:5.15.25-alt1:p10+295937.40.2.1@1645829159

# update-kernel -t un-def

Ожидаемый результат: устанавливается ядро kernel-image-un-def#1:5.15.28-alt2:p10+296646.140.3.1@1647363290 (и модули к нему).
Наблюдаемый результат: 

Running kernel version: kernel-image-un-def-1:5.15.28-alt2
Checking for available un-def kernel packages...
Latest kernel un-def-1:5.15.28-alt2:p10+296589.100.1.1@1647177359 is already installed on your system.
No upgrade is needed. Use -f for force.

Если сделать, как советуют, и указать ключ -f, ничего не изменяется:

Running kernel version: kernel-image-un-def-1:5.15.28-alt2
Checking for available un-def kernel packages...
Try to install new kernel kernel-image-un-def-1:5.15.28-alt2:p10+296589.100.1.1@1647177359 and update its modules [y]/n? yes
update-kernel: kernel-modules-drm is installed, trying to update...
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия kernel-image-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359 уже установлена.
Последняя версия kernel-modules-drm-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359 уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 35 не будет обновлено.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208540</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Sheplyakov">asheplyakov</who>
    <bug_when>2022-03-16 17:02:01 +0300</bug_when>
    <thetext>update-kernel пытается понять, какая из доступных версий ядра самая свежая [1]
И спотыкается на неожиданном поведении rpmevrcmp

+ kmaxver=
++ echo &apos;kernel-image-un-def#1:5.15.25-alt1:p10+295937.40.2.1@1645829159
kernel-image-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359
kernel-image-un-def#1:5.15.28-alt2:p10+296646.140.3.1@1647363290&apos;
++ grep kernel-image-un-def#
++ sed -e &apos;s,^kernel-image-un-def#,,g&apos;
+ read version
++ rpmevrcmp &apos;&apos; 1:5.15.25-alt1:p10+295937.40.2.1@1645829159
+ comparever=-1
+ &apos;[&apos; -1 -lt 0 &apos;]&apos;
+ kmaxver=1:5.15.25-alt1:p10+295937.40.2.1@1645829159
+ read version
++ rpmevrcmp 1:5.15.25-alt1:p10+295937.40.2.1@1645829159 1:5.15.28-alt2:p10+296589.100.1.1@1647177359
+ comparever=-1
+ &apos;[&apos; -1 -lt 0 &apos;]&apos;
+ kmaxver=1:5.15.28-alt2:p10+296589.100.1.1@1647177359
+ read version
++ rpmevrcmp 1:5.15.28-alt2:p10+296589.100.1.1@1647177359 1:5.15.28-alt2:p10+296646.140.3.1@1647363290
+ comparever=0
+ &apos;[&apos; 0 -lt 0 &apos;]&apos;
+ :

rpmevrcmp 1:5.15.28-alt2:p10+296589.100.1.1@1647177359 1:5.15.28-alt2:p10+296646.140.3.1@1647363290
0

Что очевидно неверно.

[1] http://git.altlinux.org/gears/u/update-kernel.git?p=update-kernel.git;a=blob;f=update_kernel_modules_cetus.sh;h=6912ba4249dceecd0d03ce571b6555c69b64bd8c;hb=c447c1c21f6e2f6addda222e6941899b5483af01#l244</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208544</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2022-03-16 18:26:22 +0300</bug_when>
    <thetext>так давайте и смотреть что там не так с rpmvercmp.
насколько я знаю, disttag им игнорируется.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208549</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Chikunov">vt</who>
    <bug_when>2022-03-16 23:18:55 +0300</bug_when>
    <thetext>$ rpmevrcmp 1-1:3 1-1:4
0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208551</commentid>
    <comment_count>4</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2022-03-17 09:29:08 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #2)
&gt; так давайте и смотреть что там не так с rpmvercmp.
&gt; насколько я знаю, disttag им игнорируется.

И правда. У нас сейчас нет инструмента, который позволил бы из шела сравнивать весь EVRDT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209110</commentid>
    <comment_count>5</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2022-04-04 11:06:21 +0300</bug_when>
    <thetext>update-kernel-0.9.21-alt1 -&gt; sisyphus:

 Mon Apr 04 2022 Vitaly Chikunov &lt;vt@altlinux&gt; 0.9.21-alt1
 - Tools cannot be used under user anymore because sudo sub-invocation is
   removed (call them under root instead).
 - Require explicit yes or enter to start installation (previously any key work
   work except no).
 - Improve package version comparison (ALT#42149).
 - Do not show epoch and disttag in package names.
 - Warn user if installed package (1 month) or APT database (1 day) are stalled.
 - Do not require install of &apos;apt-scripts&apos; for package availability mark in
   list mode.
 - Show package age in list mode.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>