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

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

    <bug>
          <bug_id>48091</bug_id>
          
          <creation_ts>2023-10-20 14:23:33 +0300</creation_ts>
          <short_desc>apt_rpm не обновляет пакеты</short_desc>
          <delta_ts>2023-12-11 15:46:14 +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>ansible</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="Anton Shevtsov">shevtsov.anton</reporter>
          <assigned_to name="Andrey Cherepanov">cas</assigned_to>
          <cc>amakeenk</cc>
    
    <cc>cas</cc>
    
    <cc>evg</cc>
    
    <cc>iv</cc>
    
    <cc>shevtsov.anton</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>235272</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-10-20 14:23:33 +0300</bug_when>
    <thetext>В системе стоит пакет foo версии 1.0, в репозитории есть пакет foo версии 2.0.
При попытке его установить = выводится Nothing to install

Алгоритм воспроизведения

1. Создадим пакет-пустышку (fakepkg) с версией 1.0 и с версией 2.0 (см. аттачи)
2. Создадим локальный репо и положим туда наши файлы
# mkdir -p /opt/rpm/x86_64/RPMS.fake/
# cp fakepkg*.rpm /opt/rpm/x86_64/RPMS.fake/

3. Создадим описание этого репо
# echo &apos;rpm-dir file:/opt/rpm x86_64 fake&apos; &gt;&gt; /etc/apt/sources.list

4. Проверим
# apt-repo  | grep fake
rpm-dir file:/opt/rpm x86_64 fake

5. установим версию 1.0 нашего пакет
# apt-get install fakepkg=1.0

6. проверим
# rpm -q fakepkg
fakepkg-1.0-alt1.x86_64

7. Установим ansible, и создадим простой плейбук с содержанием 
# cat /tmp/apt_rpm.yml
---

- name: Playbook
  connection: local
  gather_facts: false
  hosts: localhost
  tasks:


  - name: Ensure fakepkg rpm present
    apt_rpm:
      pkg: fakepkg
      update_cache: true
      state: present

8. Попробуем применить
# ansible-playbook -v -c local /tmp/apt_rpm.yml
Using /etc/ansible/ansible.cfg as config file
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match &apos;all&apos;

PLAY [Playbook] ***********************************

TASK [Ensure fakepkg rpm present] *****************************************
ok: [localhost] =&gt; {&quot;changed&quot;: false, &quot;msg&quot;: &quot;Nothing to install&quot;}

PLAY RECAP ************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   


Можно поиграть с детализацией ansible-playbook -vvvv -c local /tmp/apt_rpm.yml
Но суть та же.

apt-get install fakepkg=2.0 , равно как и dist-upgrade
устанавливает без проблем</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235273</commentid>
    <comment_count>1</comment_count>
      <attachid>14832</attachid>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-10-20 14:23:50 +0300</bug_when>
    <thetext>Created attachment 14832
fakepkg 1.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235274</commentid>
    <comment_count>2</comment_count>
      <attachid>14833</attachid>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-10-20 14:24:09 +0300</bug_when>
    <thetext>Created attachment 14833
fakepkg 2.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235275</commentid>
    <comment_count>3</comment_count>
      <attachid>14834</attachid>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-10-20 14:25:12 +0300</bug_when>
    <thetext>Created attachment 14834
spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235276</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-10-20 14:25:52 +0300</bug_when>
    <thetext>Воспроизводится в p10, c10f1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235278</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-10-20 14:44:10 +0300</bug_when>
    <thetext>https://github.com/ansible-collections/community.general/issues/7414
продублировал в апстрим</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235380</commentid>
    <comment_count>6</comment_count>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-10-23 10:50:42 +0300</bug_when>
    <thetext>Неправильно заполняется строка packages из массива package, проверяется только имя, но не версия. Как грязный хак, на первое время можно убрать проверку вообще

--- /usr/lib/python3/site-packages/ansible/modules/packaging/os/apt_rpm.py      2023-03-03 12:26:05.000000000 +0500
+++ /root/apt_rpm.py    2023-10-23 12:47:54.503459007 +0500
@@ -189,8 +189,8 @@
 
     packages = &quot;&quot;
     for package in pkgspec:
-        if not query_package_provides(module, package):
-            packages += &quot;&apos;%s&apos; &quot; % package
+        #if not query_package_provides(module, package):
+        packages += &quot;&apos;%s&apos; &quot; % package
 
     if len(packages) != 0:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236523</commentid>
    <comment_count>7</comment_count>
    <who name="Alexander Makeenkov">amakeenk</who>
    <bug_when>2023-11-07 17:51:04 +0300</bug_when>
    <thetext>Воспроизводится как с ansible, так и с ansible-core.

(Ответ для Anton Shevtsov на комментарий #0)
&gt; В системе стоит пакет foo версии 1.0, в репозитории есть пакет foo версии
&gt; 2.0.
&gt; При попытке его установить = выводится Nothing to install
&gt; 
&gt; Алгоритм воспроизведения
&gt; 
&gt; 1. Создадим пакет-пустышку (fakepkg) с версией 1.0 и с версией 2.0 (см.
&gt; аттачи)
&gt; 2. Создадим локальный репо и положим туда наши файлы
&gt; # mkdir -p /opt/rpm/x86_64/RPMS.fake/
&gt; # cp fakepkg*.rpm /opt/rpm/x86_64/RPMS.fake/
&gt; 
&gt; 3. Создадим описание этого репо
&gt; # echo &apos;rpm-dir file:/opt/rpm x86_64 fake&apos; &gt;&gt; /etc/apt/sources.list

Можно проще, например, добавить задание с новой версией какого-либо пакета, и он тоже не обновится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238252</commentid>
    <comment_count>8</comment_count>
    <who name="Anton Shevtsov">shevtsov.anton</who>
    <bug_when>2023-12-02 23:27:38 +0300</bug_when>
    <thetext>пофиксено - https://github.com/ansible-collections/community.general/issues/7414
https://github.com/ansible-collections/community.general/pull/7577</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238787</commentid>
    <comment_count>9</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2023-12-11 15:46:14 +0300</bug_when>
    <thetext>ansible-core-2.16.1-alt1 -&gt; sisyphus:

 Mon Dec 11 2023 Andrey Cherepanov &lt;cas@altlinux&gt; 2.16.1-alt1
 - New version.
 - Update apt_repo and apt_rpm from community.general 8.1.0 (ALT #48091).
 Fri Dec 01 2023 Andrey Cherepanov &lt;cas@altlinux&gt; 2.16.0-alt2
 - Excluded python3 library to python3-module-ansible.
 - Fixed build with ansible from python3-module-ansible-collections.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14832</attachid>
            <date>2023-10-20 14:23:50 +0300</date>
            <delta_ts>2023-10-20 14:23:50 +0300</delta_ts>
            <desc>fakepkg 1.0</desc>
            <filename>fakepkg-1.0-alt1.x86_64.rpm</filename>
            <type>application/x-rpm</type>
            <size>1651</size>
            <attacher name="Anton Shevtsov">shevtsov.anton</attacher>
            
              <data encoding="base64">7avu2wMAAAAAAWZha2Vwa2ctMS4wLWFsdDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAABAAUAAAAAAAAAAAAAAAAAAAAAjq3oAQAAAAAAAAAEAAAAUAAA
AD4AAAAHAAAAQAAAABAAAAENAAAABgAAAAAAAAABAAAD6AAAAAQAAAAsAAAAAQAAA+wAAAAHAAAA
MAAAABA2MDE0YWE2ZDMwMjg1NTM1MjBlZTNmNDFlMjE5MjU3MGUxMzliZjgwAAAAAAAABXOleDVP
/gP+BsU9WzlK7YNyAAAAPgAAAAf////AAAAAEI6t6AEAAAAAAAAAMQAAAd0AAAA/AAAABwAAAc0A
AAAQAAAAZAAAAAgAAAAAAAAAAQAAA+gAAAAGAAAAAgAAAAEAAAPpAAAABgAAAAoAAAABAAAD6gAA
AAYAAAAOAAAAAQAAA+wAAAAJAAAAEwAAAAEAAAPtAAAACQAAACYAAAABAAAD7gAAAAQAAAA0AAAA
AQAAA+8AAAAGAAAAOAAAAAEAAAPxAAAABAAAAEQAAAABAAAD8gAAAAYAAABIAAAAAQAAA/MAAAAG
AAAATAAAAAEAAAP2AAAABgAAAFsAAAABAAAD+AAAAAkAAABhAAAAAQAAA/wAAAAGAAAAZwAAAAEA
AAP9AAAABgAAAHkAAAABAAAD/gAAAAYAAAB/AAAAAQAABAQAAAAEAAAAiAAAAAEAAAQGAAAAAwAA
AIwAAAABAAAECQAAAAMAAACOAAAAAQAABAoAAAAEAAAAkAAAAAEAAAQLAAAACAAAAJQAAAABAAAE
DAAAAAgAAAC1AAAAAQAABA0AAAAEAAAAuAAAAAEAAAQPAAAACAAAALwAAAABAAAEEAAAAAgAAADB
AAAAAQAABBQAAAAGAAAAxgAAAAEAAAQVAAAABAAAAOAAAAABAAAEFgAAAAQAAADkAAAAAQAABBcA
AAAIAAAA6AAAAAEAAAQYAAAABAAAAPAAAAACAAAEGQAAAAgAAAD4AAAAAgAABBoAAAAIAAABEQAA
AAIAAAQoAAAABgAAARMAAAABAAAEOAAAAAQAAAEcAAAAAQAABDkAAAAIAAABIAAAAAEAAAQ6AAAA
CAAAAVMAAAABAAAERwAAAAQAAAFgAAAAAQAABEgAAAAEAAABZAAAAAEAAARJAAAACAAAAWgAAAAB
AAAEWAAAAAQAAAFsAAAAAQAABFkAAAAIAAABcAAAAAEAAARcAAAABAAAAXwAAAABAAAEXQAAAAgA
AAGAAAAAAQAABF4AAAAIAAABjAAAAAEAAARiAAAABgAAAZgAAAABAAAEZAAAAAYAAAHBAAAAAQAA
BGUAAAAGAAABxgAAAAEAAARmAAAABgAAAcsAAAABQwBmYWtlcGtnADEuMABhbHQxAEZha2UgcGtn
IGZvciB0ZXN0cwBGYWtlIHBhY2thZ2UAAGUyTlZob3N0LWMxMGYxAAAAAAAMQUxUAEFMVCBMaW51
eCBUZWFtAEdQTHYzAE90aGVyAGh0dHA6Ly9iYXNlYWx0LnJ1AGxpbnV4AHg4Nl82NAAAAAAAAAyB
pAAAZTJOU2IxZmU1YjYzMDllYTM4Yjk1Y2VmYWZhYzA0ODMzM2I3AAAAAAAAAAByb290AHJvb3QA
ZmFrZXBrZy0xLjAtYWx0MS5zcmMucnBtAAD/////AAABEGZha2Vwa2cAAAAAAAEAAEBzaABycG1s
aWIoUGF5bG9hZElzTHptYSkAAAA0LjAuNAAAAABlMd8gQW50b24gU2hldnRzb3YgPHNoZXZ0c292
LmFudG9uQGdtYWlsLmNvbT4gMS4wLWFsdDEALSBJbml0IGJ1aWxkAAAAAAEAAAABAAAAAAAAAAgx
LjAtYWx0MQAAAAAAAAAAZmFrZXBrZy50eHQAL3Vzci9zaGFyZS8ALXBpcGUgLWZyZWNvcmQtZ2Nj
LXN3aXRjaGVzIC1XYWxsIC1nIC1PMgBjcGlvAGx6bWEAMgAAAAA/AAAAB////PAAAAAQXQAAIAD/
/////////wAYDd0EYjL31CiZ9Mn/bAAWJuOoB8/hm892veSLD/wnOrOqXApM0mW6pxy2MHuA5Wzd
H0LyTBjJY7cigTJuwbYiR42sA8NIlqm3TcD6IVD5eg7p4JwNlJDun1wXxPw/LG4ASB//8w9QgA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14833</attachid>
            <date>2023-10-20 14:24:09 +0300</date>
            <delta_ts>2023-10-20 14:24:09 +0300</delta_ts>
            <desc>fakepkg 2.0</desc>
            <filename>fakepkg-2.0-alt1.x86_64.rpm</filename>
            <type>application/x-rpm</type>
            <size>1650</size>
            <attacher name="Anton Shevtsov">shevtsov.anton</attacher>
            
              <data encoding="base64">7avu2wMAAAAAAWZha2Vwa2ctMi4wLWFsdDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAABAAUAAAAAAAAAAAAAAAAAAAAAjq3oAQAAAAAAAAAEAAAAUAAA
AD4AAAAHAAAAQAAAABAAAAENAAAABgAAAAAAAAABAAAD6AAAAAQAAAAsAAAAAQAAA+wAAAAHAAAA
MAAAABAyYThlOGUzZTdkNmRjNWQwYTU1MmQ0NDRkM2FjMDM4ODEwZmM2OWVkAAAAAAAABXLM0K5U
EygFoNthdddsM5d5AAAAPgAAAAf////AAAAAEI6t6AEAAAAAAAAAMQAAAd0AAAA/AAAABwAAAc0A
AAAQAAAAZAAAAAgAAAAAAAAAAQAAA+gAAAAGAAAAAgAAAAEAAAPpAAAABgAAAAoAAAABAAAD6gAA
AAYAAAAOAAAAAQAAA+wAAAAJAAAAEwAAAAEAAAPtAAAACQAAACYAAAABAAAD7gAAAAQAAAA0AAAA
AQAAA+8AAAAGAAAAOAAAAAEAAAPxAAAABAAAAEQAAAABAAAD8gAAAAYAAABIAAAAAQAAA/MAAAAG
AAAATAAAAAEAAAP2AAAABgAAAFsAAAABAAAD+AAAAAkAAABhAAAAAQAAA/wAAAAGAAAAZwAAAAEA
AAP9AAAABgAAAHkAAAABAAAD/gAAAAYAAAB/AAAAAQAABAQAAAAEAAAAiAAAAAEAAAQGAAAAAwAA
AIwAAAABAAAECQAAAAMAAACOAAAAAQAABAoAAAAEAAAAkAAAAAEAAAQLAAAACAAAAJQAAAABAAAE
DAAAAAgAAAC1AAAAAQAABA0AAAAEAAAAuAAAAAEAAAQPAAAACAAAALwAAAABAAAEEAAAAAgAAADB
AAAAAQAABBQAAAAGAAAAxgAAAAEAAAQVAAAABAAAAOAAAAABAAAEFgAAAAQAAADkAAAAAQAABBcA
AAAIAAAA6AAAAAEAAAQYAAAABAAAAPAAAAACAAAEGQAAAAgAAAD4AAAAAgAABBoAAAAIAAABEQAA
AAIAAAQoAAAABgAAARMAAAABAAAEOAAAAAQAAAEcAAAAAQAABDkAAAAIAAABIAAAAAEAAAQ6AAAA
CAAAAVMAAAABAAAERwAAAAQAAAFgAAAAAQAABEgAAAAEAAABZAAAAAEAAARJAAAACAAAAWgAAAAB
AAAEWAAAAAQAAAFsAAAAAQAABFkAAAAIAAABcAAAAAEAAARcAAAABAAAAXwAAAABAAAEXQAAAAgA
AAGAAAAAAQAABF4AAAAIAAABjAAAAAEAAARiAAAABgAAAZgAAAABAAAEZAAAAAYAAAHBAAAAAQAA
BGUAAAAGAAABxgAAAAEAAARmAAAABgAAAcsAAAABQwBmYWtlcGtnADIuMABhbHQxAEZha2UgcGtn
IGZvciB0ZXN0cwBGYWtlIHBhY2thZ2UAAGUyTn5ob3N0LWMxMGYxAAAAAAAMQUxUAEFMVCBMaW51
eCBUZWFtAEdQTHYzAE90aGVyAGh0dHA6Ly9iYXNlYWx0LnJ1AGxpbnV4AHg4Nl82NAAAAAAAAAyB
pAAAZTJOemQ3YjhmYzYzNWQxZjY1NjRjN2E2MTBmNzNmNWFhZGY3AAAAAAAAAAByb290AHJvb3QA
ZmFrZXBrZy0yLjAtYWx0MS5zcmMucnBtAAD/////AAABEGZha2Vwa2cAAAAAAAEAAEBzaABycG1s
aWIoUGF5bG9hZElzTHptYSkAAAA0LjAuNAAAAABlMd8gQW50b24gU2hldnRzb3YgPHNoZXZ0c292
LmFudG9uQGdtYWlsLmNvbT4gMi4wLWFsdDEALSBJbml0IGJ1aWxkAAAAAAEAAAABAAAAAAAAAAgy
LjAtYWx0MQAAAAAAAAAAZmFrZXBrZy50eHQAL3Vzci9zaGFyZS8ALXBpcGUgLWZyZWNvcmQtZ2Nj
LXN3aXRjaGVzIC1XYWxsIC1nIC1PMgBjcGlvAGx6bWEAMgAAAAA/AAAAB////PAAAAAQXQAAIAD/
/////////wAYDd0EYjL31slQ9SrLLzPQExkPvnfHmkTfIZdXoVC+NyKRN0Vq4mVjJ1ZPbpfXh6gY
cMlIhx0kV7ktOZhAqp1RaZWaGMdLbmsZcdvO7LKC0oAkXbGst1EM+prVLsLYJU78RP/+uFzg
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14834</attachid>
            <date>2023-10-20 14:25:12 +0300</date>
            <delta_ts>2023-10-20 14:25:12 +0300</delta_ts>
            <desc>spec</desc>
            <filename>fakepg.spec</filename>
            <type>text/x-rpm-spec</type>
            <size>405</size>
            <attacher name="Anton Shevtsov">shevtsov.anton</attacher>
            
              <data encoding="base64">TmFtZTogZmFrZXBrZwpWZXJzaW9uOiAyLjAKUmVsZWFzZTogYWx0MQpHcm91cDogT3RoZXIKTGlj
ZW5zZTogR1BMdjMKVXJsOiBodHRwOi8vYmFzZWFsdC5ydQojU291cmNlOiAKClJlcXVpcmVzOiBz
aApTdW1tYXJ5OiBGYWtlIHBrZyBmb3IgdGVzdHMKCiVkZXNjcmlwdGlvbgpGYWtlIHBhY2thZ2UK
CiVwcmVwCiMlc2V0dXAKCiVpbnN0YWxsCm1rZGlyIC1wICVidWlsZHJvb3QvJV9kYXRhZGlyCmVj
aG8gImZha2Vwa2cgJXZlcnNpb24iID4gJWJ1aWxkcm9vdC8lX2RhdGFkaXIvJW5hbWUudHh0Cgol
ZmlsZXMKJV9kYXRhZGlyLyVuYW1lLnR4dAoKJWNoYW5nZWxvZwoqIEZyaSBPY3QgMjAgMjAyMyBB
bnRvbiBTaGV2dHNvdiA8c2hldnRzb3YuYW50b25AZ21haWwuY29tPiAyLjAtYWx0MQotIEluaXQg
YnVpbGQK
</data>

          </attachment>
      

    </bug>

</bugzilla>