[devel] menu DURING_INSTALL

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Ноя 11 17:57:47 MSK 2008


On Tue, Nov 11, 2008 at 05:07:43PM +0300, Alexey Tourbin wrote:
> On Tue, Nov 11, 2008 at 04:54:18PM +0300, Sergey V Turchin wrote:
> > > Тогда я предлагаю сделать скрипт /usr/sbin/update-menus,
> > Зачем его так называть?
> 
> Как его лучше назвать?
> 
> У нашего меню есть специфика: нужно создавать файл lang.h,
> а фунция "lang()" используется в других пакетах.  То есть его нужно
> обязательно создавать.  Обновление системного меню должно эту специфику
> учитывать.

Я проверил: lang.h обязательно должен быть создан, иначе update-menus
отваливает.  Поэтому нужен какой-то промежуточный скрипт, который перед
вызовом update-menus обязательно проверяет/обновляет lang.h.

$ sudo mv /etc/menu-methods/lang.h /etc/menu-methods/lang.h-
$ sudo update-menus
$ sudo update-menus -N
Unable to open file "/lang.h".
install-menu: /etc/menu-methods/gnome-mime-data-applications: aborting
update-menus[10941]: Script /etc/menu-methods/gnome-mime-data-applications returned error status 1.
Unable to open file "/lang.h".
install-menu: /etc/menu-methods/gnome-mime-data-keys: aborting
update-menus[10941]: Script /etc/menu-methods/gnome-mime-data-keys returned error status 1.
Unable to open file "/lang.h".
install-menu: /etc/menu-methods/xdg-desktop-entry-spec-apps: aborting
update-menus[10941]: Script /etc/menu-methods/xdg-desktop-entry-spec-apps returned error status 1.
Unable to open file "/lang.h".
install-menu: /etc/menu-methods/fluxbox: aborting
update-menus[10941]: Script /etc/menu-methods/fluxbox returned error status 1.
$ 

С пустым lang.h тоже отваливает.

$ sudo touch /etc/menu-methods/lang.h                
$ sudo update-menus -N               
In file "/etc/menu-methods/gnome-mime-data-applications", at (or in the definition that ends at) line 14:
[...]t mime_types=" $mimetypes "\n")    forall(languages(), "lang", "\t Name[" substr($lang, "0", "2") "]=" encode_translate($lang,title(),"utf-8") "\n")
[...]                                                 ^
Unknown function: "languages"
install-menu: /etc/menu-methods/gnome-mime-data-applications: aborting
update-menus[11980]: Script /etc/menu-methods/gnome-mime-data-applications returned error status 1.
In file "/etc/menu-methods/xdg-desktop-entry-spec-apps", at (or in the definition that ends at) line 48:
[...]pty($extra_opt, $extra_opt "\n")   forall(languages(), "lang",         "Name[" substr($lang, "0", "2") "]=" encode_translate($lang,title(), "utf8") "\n")       ifnempty($longtitle,        forall(languages(), "lang",                 "Comment[" substr($lang, "0", "2") "]=" encode_translate($lang,$longtitle, "utf8") "\n"))    ifnempty($genericname,forall(languages(), "lang", "GenericName[" substr($lang, "0", "2") "]=" encode_translate($lang,$genericname,"utf8") "\n"))     ifnempty($window_manager_,          "OnlyShowIn=" $window_manager_ ";\n")
[...]                                                 ^
Unknown function: "languages"
install-menu: /etc/menu-methods/xdg-desktop-entry-spec-apps: aborting
update-menus[11980]: Script /etc/menu-methods/xdg-desktop-entry-spec-apps returned error status 1.
In file "/etc/menu-methods/fluxbox", at (or in the definition that ends at) line 22:
[...](level(), "   ") "[" $command "] (" translate(lang(), title()) ")\n"
[...]                                                 ^
Unknown function: "lang"
install-menu: /etc/menu-methods/fluxbox: aborting
update-menus[11980]: Script /etc/menu-methods/fluxbox returned error status 1.
$ 

Ага, функция "languages()" всё-таки используется.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20081111/2e81f765/attachment.bin>


Подробная информация о списке рассылки Devel