Bug 28575

Summary: Не обновляется меню после установки altlinux-freedesktop-menu-nested-menu
Product: Sisyphus Reporter: Slava Dubrovskiy <dubrsl>
Component: altlinux-freedesktop-menu-nested-menuAssignee: viy <viy>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: mike, viy
Version: unstable   
Hardware: all   
OS: Linux   

Description Slava Dubrovskiy 2013-02-19 12:23:08 MSK
Сизиф. КДЕ4.
[root@dubrwork slava]# rpm -qa | grep freedesktop
altlinux-freedesktop-menu-kde4-0.59-alt1
sound-theme-freedesktop-0.7-alt1
altlinux-freedesktop-menu-common-0.59-alt1
wm-common-freedesktop-1.3-alt1
altlinux-freedesktop-menu-generic-0.59-alt1
altlinux-freedesktop-menu-nested-menu-0.59-alt1
altlinux-freedesktop-menu-icon-theme-default-0.0.24-alt1


Установил altlinux-freedesktop-menu-nested-menu и удалил altlinux-freedesktop-menu-shallow-menu

Все равно меню не поменялось.

Нашел
http://lists.altlinux.org/pipermail/sisyphus/2011-May/353925.html
Это отработало.

[root@dubrwork slava]# /usr/bin/kbuildsycoca4
kbuildsycoca4 running...
kbuildsycoca4(7352) KConfigGroup::readXdgListEntry: List entry Keywords in "plasma-applet-batterymonitor.desktop" is not compliant with XDG standard (missing trailing semicolon). 
kbuildsycoca4(7352) KConfigGroup::readXdgListEntry: List entry Keywords in "plasma-applet-opendesktop.desktop" is not compliant with XDG standard (missing trailing semicolon). 
kbuildsycoca4(7352) KConfigGroup::readXdgListEntry: List entry Keywords in "plasma-applet-microblog.desktop" is not compliant with XDG standard (missing trailing semicolon). 
kbuildsycoca4(7352) KConfigGroup::readXdgListEntry: List entry Keywords in "plasma-applet-opendesktop-activities.desktop" is not compliant with XDG standard (missing trailing semicolon). 
kbuildsycoca4(7352) KConfigGroup::readXdgListEntry: List entry Keywords in "plasma-applet-lockout.desktop" is not compliant with XDG standard (missing trailing semicolon). 

Куда еще копать?
Comment 1 viy 2013-02-19 21:46:23 MSK
там надо kbuildsycoca4 --noincremental, чтобы оно кеш перезаписало поверх.
Comment 2 Slava Dubrovskiy 2013-02-20 00:10:36 MSK
(В ответ на комментарий №1)
> там надо kbuildsycoca4 --noincremental, чтобы оно кеш перезаписало поверх.
Наверно. Исправилось после установки пакета с меню. Т.е. наверно триггер нужно добавить в post и т.д.
Comment 3 viy 2013-02-20 00:15:07 MSK
(В ответ на комментарий №2)
> Наверно. Исправилось после установки пакета с меню. Т.е. наверно триггер нужно
> добавить в post и т.д.

да, таки надо. Спсаибо за подсказку, сделаю.
Comment 4 viy 2013-02-21 03:44:56 MSK
Нарисовался вот такой скриптик для вызова его из post,
----------------------------------
#!/bin/sh
shopt -s nullglob
for kdedir in /var/tmp/kdecache-*/; do
    user=`echo $kdedir|sed -e 's,^/var/tmp/kdecache-,,;s,/$,,'`
    if [ -e "$kdedir/ksycoca4" ]; then
	su -s /bin/sh -c '/usr/bin/kbuildsycoca4 --noincremental' $user
    fi
    if [ -e "$kdedir/ksycoca" ]; then
	su -s /bin/sh -c '/usr/bin/kbuildsycoca --noincremental' $user
    fi
done
touch /etc/xdg/menus/*applications.menu
Comment 5 viy 2013-02-21 22:39:52 MSK
уточненный вариант
---------------
#!/bin/sh
shopt -s nullglob
for kdedir in /var/tmp/kdecache-*/; do
    user=`echo $kdedir|sed -e 's,^/var/tmp/kdecache-,,;s,/$,,'`
    if [ -e "$kdedir/ksycoca4" ]; then
	su -l -s /bin/sh -c '/usr/bin/kbuildsycoca4 --noincremental' $user >/dev/null 2>&1
    fi
    if [ -e "$kdedir/ksycoca" ]; then
	su -l -s /bin/sh -c '/usr/bin/kbuildsycoca --noincremental' $user >/dev/null 2>&1
    fi
done
touch /etc/xdg/menus/*applications.menu
Comment 6 viy 2013-03-14 04:33:48 MSK
добавил в 0.60 filetrigger