Bug 32889

Summary: не отрабатывает wms.filetrigger
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: xinitrcAssignee: placeholder <placeholder>
Status: CLOSED DUPLICATE QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: evg, glebfm, ldv, placeholder, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 31259, 32890    
Bug Blocks:    

Description Michael Shigorin 2016-12-13 16:17:34 MSK
/usr/lib/rpm/wms.filetrigger перестал отрабатывать после перехода на rpm-4.13:

https://lists.altlinux.org/pipermail/devel/2016-December/202080.html
https://lists.altlinux.org/pipermail/devel/2016-December/202090.html

...что приводит к отсутствию /etc/lightdm/sessions/default.desktop,
хотя ручной запуск update_wms либо в случае проявляющей такое поведение
сборки regular-cinnamon-20161213-i586.iso (среди других):

# ls /etc/lightdm/sessions/
# rpm -ql cinnamon-session | grep -i cinnamon2d
/etc/X11/wmsession.d/02Cinnamon2D
/usr/bin/startcinnamon2d
/usr/share/cinnamon-session/sessions/cinnamon2d.session
/usr/share/xsessions/cinnamon2d.desktop
# rpm -ql cinnamon-session | sh -x /usr/lib/rpm/wms.filetrigger
+ egrep -qs '^/etc/X11/(wmsession.d|wms-methods.d)/'
+ /usr/sbin/update_wms
# ls /etc/lightdm/sessions/
Cinnamon.desktop  Cinnamon2D.desktop  default.desktop
# _

Возможно, причина в каких-либо обстоятельствах времени сборки образа, смотрим.
Comment 1 Michael Shigorin 2016-12-13 18:09:12 MSK
Похоже, что не запускается /etc/X11/wms-methods.d/lightdm -- если его пригвоздить в wms.filetrigger, собравшийся образ содержит искомый
/etc/lightdm/sessions/default.desktop; проблема вот здесь:

[ -z "${RPM_INSTALL_NAME-}" ] || exit 0

В случае запуска с трассировкой при сборке образа наблюдаю:

+ egrep -qs '^/etc/X11/(wmsession.d|wms-methods.d)/'
+ sh -x /usr/sbin/update_wms
+ '[' -z glibc-locales ']'
+ exit 0
Comment 2 Gleb F-Malinovskiy 2016-12-13 18:12:09 MSK
(В ответ на комментарий №1)
> Похоже, что не запускается /etc/X11/wms-methods.d/lightdm -- если его
> пригвоздить в wms.filetrigger, собравшийся образ содержит искомый
> /etc/lightdm/sessions/default.desktop; проблема вот здесь:
> 
> [ -z "${RPM_INSTALL_NAME-}" ] || exit 0
> 
> В случае запуска с трассировкой при сборке образа наблюдаю:
> 
> + egrep -qs '^/etc/X11/(wmsession.d|wms-methods.d)/'
> + sh -x /usr/sbin/update_wms
> + '[' -z glibc-locales ']'
> + exit 0

Очевидно, задумка была в том, чтобы update_wms ничего не делал в случае, если его вызвали из обычного триггера (типа %post).  А не из файлового.
А теперь файловые триггеры запускаются через тот же интерфейс и тоже имеют переменную RPM_INSTALL_NAME, хоть и выставленную в незнамо что.
Comment 3 Gleb F-Malinovskiy 2016-12-13 18:28:20 MSK
(В ответ на комментарий №2)
> А теперь файловые триггеры запускаются через тот же интерфейс и тоже имеют
> переменную RPM_INSTALL_NAME, хоть и выставленную в незнамо что.

Нет, не так.  Там неоткуда взять имя пакета и переменной такой, соответственно, просто-напросто нет.
Comment 4 Michael Shigorin 2016-12-13 23:09:31 MSK
> rpm-4.13.0-alt4 -> sisyphus:
> * Tue Dec 13 2016 Gleb F-Malinovskiy <glebfm@altlinux> 4.13.0-alt4
[...]
> - Define RPM_INSTALL_{NAME,ARG1,ARG2} env variables only for per-package
>  scripts (ALT#32890).

Теперь опять отрабатывает.
Comment 5 Dmitry V. Levin 2016-12-13 23:14:46 MSK

*** This bug has been marked as a duplicate of bug 32890 ***