Bug 52908 - epmsf не может скачать 32-х битный contents_index и выполнить поиск соответствующих файлов
Summary: epmsf не может скачать 32-х битный contents_index и выполнить поиск соответст...
Status: REOPENED
Alias: None
Product: Sisyphus
Classification: Development
Component: eepm (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-02 18:12 MSK by Nikolay Strelkov
Modified: 2025-05-28 23:39 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikolay Strelkov 2025-02-02 18:12:15 MSK
Воспроизводимые шаги для повторения:

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

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

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

* принадлежность файла /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 -- "(/usr/share/applications/PlayOnLinux.desktop)"
 # 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 && zgrep /usr/share/applications/PlayOnLinux.desktop contents_index.gz 
/usr/share/applications/PlayOnLinux.desktop	playonlinux
```
Comment 1 Vitaly Lipatov 2025-05-28 11:52:17 MSK
Индексы для репозитория x86_64-i586 не предоставлены поставщиком, а замена его на i586 некорректна, потому что состав файлов там отличается.
Мне кажется, проще не использовать 32-битные пакеты.
Comment 2 Nikolay Strelkov 2025-05-28 12:36:33 MSK
> Мне кажется, проще не использовать 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 'playonlinux'
# 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.

Посмотрите, пожалуйста, что можно сделать кроме закрытия бага без реального исправления.
Comment 3 Vitaly Lipatov 2025-05-28 23:39:28 MSK
(Ответ для Nikolay Strelkov на комментарий #2)
...
> Посмотрите, пожалуйста, что можно сделать кроме закрытия бага без реального
> исправления.
Но это же актуально только для нескольких пакетов:
steam и playonlinux

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

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