Bug 46824

Summary: epm play генерирует зависимости из bashrc
Product: Sisyphus Reporter: Alexander Makeenkov <amakeenk>
Component: eepmAssignee: Vitaly Lipatov <lav>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: lav
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
лог epm play yandex-browser none

Description Alexander Makeenkov 2023-07-09 19:26:34 MSK
Created attachment 13754 [details]
лог epm play yandex-browser

Версия пакета:
eepm-3.57.12-alt1

Содержимое bashrc пользователя:
$ cat .bashrc 
if [ -r /etc/bashrc ]; then
        . /etc/bashrc
fi

if [ -r /etc/testfile ]; then
        . /etc/testfile
fi

Подключается какой-либо файл, допустим /etc/testfile, но его на самом деле нет.

Выполнение epm play yandex-browser завершается ошибкой вида:

Следующие пакеты имеют неудовлетворенные зависимости:
  yandex-browser-stable: Depends: /etc/testfile но пакет не может быть установлен
E: Извините, `битые' пакеты

Полный лог во вложении.

Такая же проблема с codium.
С telegram и discord такого нет, остальные не пробовал.
Comment 1 Vitaly Lipatov 2023-07-12 22:24:48 MSK
Я не понял вашего предложения.
Сделать
AutoReq:yes,noshell
по умолчанию?

Или бага про конкректно yandex-browser?
Но там нет никакого /etc/testfile:
$ grep testfile /opt/yandex/browser/compiz.sh
Comment 2 Alexander Makeenkov 2023-07-13 09:47:10 MSK
(Ответ для Vitaly Lipatov на комментарий #1)
> Но там нет никакого /etc/testfile:
> $ grep testfile /opt/yandex/browser/compiz.sh

Хорошо, давайте так:

1. Чистая система ALT Workstation K 10.1 x86_64, актуальный p10

2. Добавить в bashrc пользователя строки:

$ cat >> ~/.bashrc <<EOF
if [ -r /etc/testfile ]; then
        . /etc/testfile
fi
EOF

3. Пробуем установить яндекс браузер:

$ epm play yandex-browser

4. Получаем ошибку:

Следующие пакеты имеют неудовлетворенные зависимости:
  yandex-browser-stable: Depends: /etc/testfile но пакет не может быть установлен
E: Извините, `битые' пакеты
Comment 3 Vitaly Lipatov 2023-07-13 15:50:48 MSK
(Ответ для Alexander Makeenkov на комментарий #2)
> (Ответ для Vitaly Lipatov на комментарий #1)
> > Но там нет никакого /etc/testfile:
> > $ grep testfile /opt/yandex/browser/compiz.sh
> 
> Хорошо, давайте так:
> 
> 1. Чистая система ALT Workstation K 10.1 x86_64, актуальный p10
> 
> 2. Добавить в bashrc пользователя строки:
> 
> $ cat >> ~/.bashrc <<EOF
> if [ -r /etc/testfile ]; then
>         . /etc/testfile
> fi
> EOF
А, дошло, спасибо.

Зависимости ищет
 $ rpm -qf /usr/lib/rpm/shell.req
rpm-build-4.0.4-alt170.2.x86_64

мне кажется, что это проблема там, раз при поиске зависимостей пакета берётся что-то из ~/.bashrc

более этого, это же условная конструкция, но она зачем-то попадает в зависимости:
if [ -r /etc/testfile ]; then
        . /etc/testfile
fi

По поиску зависимостей это предмет отдельной баги.

Возможно, вы про то, чтобы сборка выполнялась в отдельном изолированном пользователе? Могу проверить, чтобы это был отдельный HOME. Тащить hasher пока не хочется.