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

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

    <bug>
          <bug_id>52908</bug_id>
          
          <creation_ts>2025-02-02 18:12:15 +0300</creation_ts>
          <short_desc>epmsf не может скачать 32-х битный contents_index и выполнить поиск соответствующих файлов</short_desc>
          <delta_ts>2025-05-28 23:39:28 +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>eepm</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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="Nikolay Strelkov">n.strelkov</reporter>
          <assigned_to name="Vitaly Lipatov">lav</assigned_to>
          <cc>lav</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>258465</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolay Strelkov">n.strelkov</who>
    <bug_when>2025-02-02 18:12:15 +0300</bug_when>
    <thetext>Воспроизводимые шаги для повторения:

1. Иметь установленный Docker
2. Выполнить команду по установке eepm, rsync и поиску файла из 32-х битного пакета в репозитории ALT Sisyphus

```
docker run -it --rm alt:sisyphus bash -c &quot;apt-get update &amp;&amp; apt-get dist-upgrade -y &amp;&amp; apt-get install -y eepm rsync &amp;&amp; epm update &amp;&amp; reset &amp;&amp; epmsf /usr/share/applications/PlayOnLinux.desktop&quot;
```

Ожидаемый результат:

* принадлежность файла /usr/share/applications/PlayOnLinux.desktop установлена - он содержится в пакете playonlinux (и/или i586-playonlinux), как указано в результатах поиска по адресу https://packages.altlinux.org/en/sisyphus/files/?q=%2Fusr%2Fshare%2Fapplications%2FPlayOnLinux.desktop .

Полученный результат (вывод команды `epmsf /usr/share/applications/PlayOnLinux.desktop`) :

```
 # mkdir -p /var/cache/eepm/contents_index
 # chmod a+rw /var/cache/eepm/contents_index
 # truncate -s0 /var/cache/eepm/contents_index/contents_index_list
 # chmod a+rw /var/cache/eepm/contents_index/contents_index_list
Retrieving contents_index ...
 # rsync --partial --inplace -a rsync://download.etersoft.ru/pub/ALTLinux/contents_index/Sisyphus/x86_64/base/contents_index.gz /var/cache/eepm/contents_index/ALTLinux/Sisyphus/x86_64/contents_index.gz
WARNING: rsync://download.etersoft.ru/pub/ALTLinux/contents_index/Sisyphus/x86_64-i586/base/contents_index.gz is not accessible via rsync, skipping contents index update...
 # rsync --partial --inplace -a rsync://download.etersoft.ru/pub/ALTLinux/contents_index/Sisyphus/noarch/base/contents_index.gz /var/cache/eepm/contents_index/ALTLinux/Sisyphus/noarch/contents_index.gz
Searching for /usr/share/applications/PlayOnLinux.desktop... 
 # $ cat contents_index  | grep -E -i --color -- &quot;(/usr/share/applications/PlayOnLinux.desktop)&quot;
 # gunzip -c /var/cache/eepm/contents_index/ALTLinux/Sisyphus/noarch/contents_index.gz
 # gunzip -c /var/cache/eepm/contents_index/ALTLinux/Sisyphus/x86_64/contents_index.gz
```

комментарий к выводу команды `epmsf /usr/share/applications/PlayOnLinux.desktop` выше - epm вывел WARNING и не смог скачать 32-х битный contents_index.gz с адреса rsync://download.etersoft.ru/pub/ALTLinux/contents_index/Sisyphus/x86_64-i586/base/contents_index.gz . 

Следует изменить адрес для 32-х битного contents_index.gz на правильный -rsync://download.etersoft.ru/pub/ALTLinux/contents_index/Sisyphus/i586/base/contents_index.gz , т.к. в нем нужный файл содержится, см. ниже:

```
$ rsync --partial --inplace -a -q rsync://download.etersoft.ru/pub/ALTLinux/contents_index/Sisyphus/i586/base/contents_index.gz &amp;&amp; zgrep /usr/share/applications/PlayOnLinux.desktop contents_index.gz 
/usr/share/applications/PlayOnLinux.desktop	playonlinux
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265879</commentid>
    <comment_count>1</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2025-05-28 11:52:17 +0300</bug_when>
    <thetext>Индексы для репозитория x86_64-i586 не предоставлены поставщиком, а замена его на i586 некорректна, потому что состав файлов там отличается.
Мне кажется, проще не использовать 32-битные пакеты.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265891</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolay Strelkov">n.strelkov</who>
    <bug_when>2025-05-28 12:36:33 +0300</bug_when>
    <thetext>&gt; Мне кажется, проще не использовать 32-битные пакеты.

Это не всегда получается.
А использование https://packages.altlinux.org из браузера тоже не всегда удобно. Особенно из консольного браузера, который не пройдет антибот-проверку.

Если бы речь шла про Debian (хоть стабильный, хоть готовящийся к релизу trixie), то там порядок действий был бы такой:

```
# apt-get update
# apt-get install apt-file
# apt-file update
# apt-file search /usr/share/applications/PlayOnLinux.desktop
playonlinux: /usr/share/applications/PlayOnLinux.desktop
# apt-cache policy playonlinux
playonlinux:
  Installed: 4.3.4-3
  Candidate: 4.3.4-3
  Version table:
 *** 4.3.4-3 500
        500 http://deb.debian.org/debian bookworm/contrib amd64 Packages
        500 http://deb.debian.org/debian bookworm/contrib i386 Packages
        100 /var/lib/dpkg/status
```

и как можно видеть он закончился однозначным успехом.

Для Сизифа есть apf, он находит соответствующий файлу пакет:

```
# apt-get update
# apt-get install -y apf
# apf update
# apf search /usr/share/applications/PlayOnLinux.desktop
playonlinux
# apt-cache search playonlinux
i586-playonlinux - Play your Windows games on Linux
# apt-get install -s i586-playonlinux | grep ^Selecting
Selecting i586-playonlinux.32bit for &apos;playonlinux&apos;
# apt-cache policy i586-playonlinux.32bit
i586-playonlinux.32bit:
  Installed: (none)
  Candidate: 4.4-alt2:sisyphus+315379.300.3.1@1676658047
  Version Table:
     4.4-alt2:sisyphus+315379.300.3.1@1676658047 0
        500 http://ftp.altlinux.org ALTLinux/Sisyphus/x86_64-i586/classic pkglist
```

и это хорошо.

А вот в стабильных версиях p10 и p11 на мой взгляд все-таки желательно реализовать эту функциональность в eepm.

Посмотрите, пожалуйста, что можно сделать кроме закрытия бага без реального исправления.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265951</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2025-05-28 23:39:28 +0300</bug_when>
    <thetext>(Ответ для Nikolay Strelkov на комментарий #2)
...
&gt; Посмотрите, пожалуйста, что можно сделать кроме закрытия бага без реального
&gt; исправления.
Но это же актуально только для нескольких пакетов:
steam и playonlinux

Зачем это вам потребовалось?

&gt; # apf search /usr/share/applications/PlayOnLinux.desktop
&gt; playonlinux
&gt; # apt-cache search playonlinux
&gt; i586-playonlinux - Play your Windows games on Linux
Ну то есть apf неверное название пакета даёт. Зачем нам это надо?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>