Bug 3944

Summary: 1.2.1-alt1 не отображается в меню после установки
Product: Sisyphus Reporter: Andrei Bulava <abulava>
Component: anjutaAssignee: Vital Khilko <vk>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: minor    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 4228    
Bug Blocks:    

Description Andrei Bulava 2004-04-08 19:50:33 MSD
Причин сразу две:

1) в составе пакета отсутствует %_menudir/%name (/usr/lib/menu/anjuta). Наличие
/usr/share/applications/anjuta.desktop никак не сказывается на отображении в
меню WM, не поддерживающих стандарт меню freedesktop.org ;-(

2) в спеке пакета отсутствуют %post / %postun скрипты, отвечающие за
перегенерацию меню.

Решение тривиально:

1)Цитирую драфт Menu Packaging Howto, опубликованный zerg@ в devel@: "Файл в
формате menu можно получить конвертацией из файла .desktop при помощи программы
freedesktop2menu.pl из пакета menu-devel."

Добавьте в спек вызов команды
freedesktop2menu.pl \
    %name \
    Applications/Development \
    %buildroot/%_datadir/applications/%name.desktop \
    %buildroot/%_menudir/%name

Не забудьте добавить %_menudir/%name в секции %files ;-)

2) Добавьте в спек следующие строчки (я обычно ставлю их перед секцией %changelog):

%post
%update_menus

%postun
%clean_menus
Comment 1 Vital Khilko 2004-04-23 10:01:16 MSD
исправлено в 1.2.2-alt1 
Comment 2 Andrei Bulava 2004-04-28 09:53:36 MSD
Осталась маленькая проблемка с отображением пиктограммы в меню icewm.

1) /usr/share/icons/mini - исторически сложившееся местоположение пиктограмм,
общеупотребительное до публикации Menu Packaging Howto от zerg@. Чтоб облегчить
написание секции %files, был заведён макрос %_miconsdir, знакомый мне ещё по
ALM22 и применяемый, например, в спеке vim.

2) /usr/share/icons/hicolor/16x16/apps - новое местоположение пиктограмм
согласно моему пониманию Menu Packaging Howto от zerg@.

Оба этих местоположения, - и 1), и 2), - поддерживаются /etc/menu-methods/icewm
из icewm-light. А пиктограмма anjuta (1.2.2-alt1) - в /usr/share/icons и не
попадает в меню icewm.

Решение: поместить пиктограмму anjuta _размером 16х16 точек_ в 1) или 2).
Требование насчёт размера - чтоб wm не был обречён каждый раз масштабировать
пиктограмму.
Comment 3 Vital Khilko 2004-04-28 12:21:25 MSD
извиняйте, проверялось в меню Gnome, он всё прекрасно видел :-\ так что спасибо
за  сообщение. Что ж сейчас переупакую со значками %_miconsdir и %_liconsdir
(мало ли кто и им пользуеться).
Comment 4 Vital Khilko 2004-06-02 18:24:30 MSD
не могу перепаковать по причине #4228
Comment 5 Vital Khilko 2004-07-12 12:04:13 MSD
исправлено в 1.2.2-alt3