On Tue, Nov 11, 2008 at 04:14:52PM +0300, Sergey V Turchin wrote: > On Tuesday 11 November 2008, Alexey Tourbin wrote: > > [...] > > > ok, только без LANGUAGE > > > К тому же, его нет в нашем /etc/sysconfig/i18n > > Что значит нету? Это же конфиг, напишу и будет. > Ее использовать там смысла не имеет. > Либо в ней до первого двоеточия будет написан LC_ALL/LANG, либо ее > содержимое не нужно. > > > А существует ли в меню дефолтная функция "lang()", если не > > определять её в /etc/menu-methods/lang.h? > Нет. Только в этом файле. Тогда я предлагаю сделать скрипт /usr/sbin/update-menus, примерно такого содержания: #/bin/sh -e # User. if [ $UID -gt 0 ]; then exec /usr/bin/update-menus "$@" fi # Update /etc/menu-methods/lang.h. if [ /etc/sysconfig/i18n -nt /etc/menu-methods/lang.h ]; then unset LC_ALL LC_MESSAGES LANG . /etc/sysconfig/i18n lang=${LC_ALL:-${LC_MESSAGES:-${LANG}}} # Maybe set languages # write /etc/menu-methods/lang.h fi # Update menus. exec /usr/bin/update-menus "$@" Это устраняет дублирование кода: скрипт можно будет использовать в %post-скрипте, в firsttime скрипте и в триггере. А также это в принципе сделает ненужным логику DURING_INSTALL (из-за условия -nt).