[devel] menu DURING_INSTALL

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Ноя 11 15:04:20 MSK 2008


On Mon, Sep 22, 2008 at 07:19:58AM +0000, Alexey Tourbin wrote:
> В каких случаях при установке пакетов выставляется DURING_INSTALL?
> 
> Также прошу прокомментировать последнее изменение в пакете menu.
> Почему инициализировать меню надо не в %post-скрипте, а при первой
> загрузке?
> 
> commit e5c0c5f30d097ef18c3c619a51c3cc962742a58c
> Author: Anton Farygin <rider на altlinux>
> Date:   Wed Jun 25 13:07:15 2008 +0400
> 
>     2.1.35-alt5.1
>     
>     - create /etc/menu-methods/lang.h in firsttime script, also don't run post
>       script on system preparing stage (check DURING_INSTALL)
> 
> diff --git a/menu-firsttime b/menu-firsttime
> index 1e8dac3..a677d90 100755
> --- a/menu-firsttime
> +++ b/menu-firsttime
> @@ -5,4 +5,23 @@ WITHOUT_RC_COMPAT=1
>  # Source function library.
>  . /etc/init.d/functions
>  
> +# create languages list
> +if [ -r /etc/sysconfig/i18n ]; then
> +    . /etc/sysconfig/i18n
> +fi
> +PREFERRED_LOCALE=$LANG
> +[ -n "$PREFERRED_LOCALE" ] || PREFERRED_LOCALE=C

Согласно locale(7), в качестве языка для надписей меню надо выбирать
сначала LC_ALL, потом (если LC_ALL пустой) LC_MESSAGES, LANGUAGE, потом
LANG, потом "C".  Почему тут сразу берётся LANG?

> +LANGUAGES_LIST=$SUPPORTED

Откуда берётся переменная SUPPORTED?
Не лучше ли использовать "rpm --eval %_install_langs"?

> +[ -n "$LANGUAGES_LIST" ] || LANGUAGES_LIST=$PREFERRED_LOCALE
> +[ -n "$LANGUAGES_LIST" ] || LANGUAGES_LIST=C
> +
> +if [ "$LANGUAGE" == "all" ]
> +then
> +    LANGUAGES_LIST=`echo /usr/share/locale/*/LC_MESSAGES/menu-messages.mo | sed -e 's@/usr/share/locale/@@g' -e 's@/LC_MESSAGES/menu-messages.mo@@g' -e 's@ @:@g'`
> +fi
> +echo "function lang()=\"$PREFERRED_LOCALE\"" > /etc//menu-methods/lang.h
> +echo "function languages()=\"$LANGUAGES_LIST\"" >> /etc/menu-methods/lang.h

И, главное, где же в меню используется эта функция "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/38eca8d1/attachment.bin>


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