eepm icon indicating copy to clipboard operation
eepm copied to clipboard

Inability to delete Steam from the repository using epm

Open Rirusha opened this issue 1 year ago • 1 comments

[rirusha@sakura ~]$ epmi steam
sudo: a password is required
Please enter sudo user password to use sudo in the current session.
[sudo] password for rirusha:
 $ sudo apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true install steam
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting i586-steam.32bit for 'steam'
i586-steam.32bit is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.
[rirusha@sakura ~]$ epme steam
 $ sudo rpm -ev --noscripts steam
error: package steam is not installed

Version: EPM package manager version 3.62.13-alt1 Telegram: https://t.me/useepm https://wiki.etersoft.ru/Epm Running on ALTLinux/Sisyphus ('apt-rpm' package manager uses 'rpm' package format) Copyright (c) Etersoft 2012-2024 This program may be freely redistributed under the terms of the GNU AGPLv3.

I can delete steam via play --remove, but I believe that an application installed via epm install should not be deleted only via play.

Rirusha avatar Aug 24 '24 15:08 Rirusha

Пакет steam в репозитории называется i586-steam. Вы указывали неверное название. Чтобы не закладываться на это, можно использовать epm play --remove steam Он выберет правильное название пакета для системы.

vitlav avatar Sep 15 '24 20:09 vitlav

Оказывается, суть issue в том, что apt-get remove умеет удалять по провайдсам пакета:

# rpm -ev python3(libxml2)
error: package python3(libxml2) is not installed

# apt-get remove "python3(libxml2)"
Выбрано python3-module-libxml2 для 'python3(libxml2)'

Пример с dnf:

[lav@fedora64 ~]$ epm prov python3-steam
 $ rpm -q --provides python3-steam
python-steam = 1.4.4-7.fc41
python3-steam = 1.4.4-7.fc41
python3.13-steam = 1.4.4-7.fc41
python3.13dist(steam) = 1.4.4
python3dist(steam) = 1.4.4

[lav@fedora64 ~]$ epme python-stream
 $ sudo rpm -ev python-stream
error: package python-stream is not installed

[lav@fedora64 ~]$ sudo dnf remove python-stream
Нет пакетов на удаление для аргумента: python-stream

Нечего делать.

Пример с apt-get в Ubuntu:

# epm prov info
 $ dpkg -s info
 info-browser

$ epme info-browser
 $ sudo dpkg -P info-browser
dpkg: warning: ignoring request to remove info-browser which isn't installed

# apt-get remove info-browser
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Virtual packages like 'info-browser' can't be removed

Таким образом, мы имеем уникальное поведение apt в Альте, которое стоит поддержать, даже ценой дополнительных действий.

Добавлю проверку на наличие пакета или переход на уровень выше, если ошибка удаления.

vitlav avatar Mar 10 '25 09:03 vitlav

До:

$ epme steam
 $ sudo rpm -ev --noscripts steam
error: package steam is not installed

После:

$ epme steam
 $ sudo rpm -ev steam
ошибка: пакет steam не установлен
 $ sudo apt-get remove steam
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано i586-steam.32bit для 'steam'
Следующие пакеты будут УДАЛЕНЫ:
  i586-steam.32bit

И короткое удаление при наличии пакета:

$ epme i586-steam
 $ sudo rpm -ev i586-steam
Подготовка пакетов...
i586-steam-1.0.0.82-alt2.i586

vitlav avatar Mar 10 '25 09:03 vitlav