ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] menu DURING_INSTALL
@ 2008-09-22  7:19 Alexey Tourbin
  2008-09-22  8:21 ` Anton Farygin
                   ` (2 more replies)
  0 siblings, 3 replies; 36+ messages in thread
From: Alexey Tourbin @ 2008-09-22  7:19 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2408 bytes --]

В каких случаях при установке пакетов выставляется 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
+
+LANGUAGES_LIST=$SUPPORTED
+[ -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
+
+
 action "Updating application menus:" /usr/bin/update-menus
diff --git a/menu.spec b/menu.spec
index c74e1c4..fc4c777 100644
--- a/menu.spec
+++ b/menu.spec
@@ -3,7 +3,7 @@
 
 Name: menu
 Version: 2.1.35
-Release: alt5
+Release: alt5.1
 
 Group: System/Base
 Summary: Menu system
@@ -153,6 +153,8 @@ mkdir -p %buildroot/%_sysconfdir/xdg/menus/
 
 %post
 # create languages list
+[ -z "$DURING_INSTALL" ] || exit 0
+
 if [ -r %_sysconfdir/sysconfig/i18n ]; then
     . %_sysconfdir/sysconfig/i18n
 fi
@@ -204,6 +206,10 @@ fi
 %doc doc/{*html,README*,BUGS,menu.txt*} AUTHORS debian/changelog debian/copyright examples
 
 %changelog
+* Wed Jun 25 2008 Anton Farygin <rider@altlinux> 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)
+
 * Tue Oct 23 2007 Sergey V Turchin <zerg at altlinux dot org> 2.1.35-alt5
 - improve desktop categories translation file
 

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-09-22  7:19 [devel] menu DURING_INSTALL Alexey Tourbin
@ 2008-09-22  8:21 ` Anton Farygin
  2008-09-22  8:25 ` Stanislav Ievlev
  2008-11-11 12:04 ` Alexey Tourbin
  2 siblings, 0 replies; 36+ messages in thread
From: Anton Farygin @ 2008-09-22  8:21 UTC (permalink / raw)
  To: ALT Linux Team development discussions

DURING_INSTALL выставляется программой установки на первой и второй 
стадии инсталятора.

Проинициализировав меню в %post скрипте мы получаем меню на английском в 
свежеустановленной системе (в icewm для примера).

Происходит это из-за того, что меню для инициализации требуется файл 
/etc/sysconfig/i18n, а инсталятор этот файл создаёт после установки 
базовой системы. Соответственно, если какой-то пакет в %post скриптах 
работает с /etc/sysconfig/i18n и устанавливается сразу после разбивки 
диска, то его конфигурация будет нарушена.


Alexey Tourbin пишет:
> В каких случаях при установке пакетов выставляется DURING_INSTALL?
> 
> Также прошу прокомментировать последнее изменение в пакете menu.
> Почему инициализировать меню надо не в %post-скрипте, а при первой
> загрузке?
> 


^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-09-22  7:19 [devel] menu DURING_INSTALL Alexey Tourbin
  2008-09-22  8:21 ` Anton Farygin
@ 2008-09-22  8:25 ` Stanislav Ievlev
  2008-09-22  8:37   ` Anton Farygin
  2008-11-11 12:04 ` Alexey Tourbin
  2 siblings, 1 reply; 36+ messages in thread
From: Stanislav Ievlev @ 2008-09-22  8:25 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Лучше бы конечно делать при первом старте.

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
> +
> +LANGUAGES_LIST=$SUPPORTED
> +[ -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
> +
> +
>  action "Updating application menus:" /usr/bin/update-menus
> diff --git a/menu.spec b/menu.spec
> index c74e1c4..fc4c777 100644
> --- a/menu.spec
> +++ b/menu.spec
> @@ -3,7 +3,7 @@
>  
>  Name: menu
>  Version: 2.1.35
> -Release: alt5
> +Release: alt5.1
>  
>  Group: System/Base
>  Summary: Menu system
> @@ -153,6 +153,8 @@ mkdir -p %buildroot/%_sysconfdir/xdg/menus/
>  
>  %post
>  # create languages list
> +[ -z "$DURING_INSTALL" ] || exit 0
> +
>  if [ -r %_sysconfdir/sysconfig/i18n ]; then
>      . %_sysconfdir/sysconfig/i18n
>  fi
> @@ -204,6 +206,10 @@ fi
>  %doc doc/{*html,README*,BUGS,menu.txt*} AUTHORS debian/changelog debian/copyright examples
>  
>  %changelog
> +* Wed Jun 25 2008 Anton Farygin <rider@altlinux> 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)
> +
>  * Tue Oct 23 2007 Sergey V Turchin <zerg at altlinux dot org> 2.1.35-alt5
>  - improve desktop categories translation file
>  



> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-09-22  8:25 ` Stanislav Ievlev
@ 2008-09-22  8:37   ` Anton Farygin
  2008-09-22 11:22     ` Sergey V Turchin
  0 siblings, 1 reply; 36+ messages in thread
From: Anton Farygin @ 2008-09-22  8:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Stanislav Ievlev пишет:
> Лучше бы конечно делать при первом старте.
> 
> On Mon, Sep 22, 2008 at 07:19:58AM +0000, Alexey Tourbin wrote:
>> В каких случаях при установке пакетов выставляется DURING_INSTALL?
>>
>> Также прошу прокомментировать последнее изменение в пакете menu.
>> Почему инициализировать меню надо не в %post-скрипте, а при первой
>> загрузке?

При первом старте тоже будет не совсем корректно, ибо update-menus 
запускается из post-скриптов устанавливаемых приложений.



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-09-22  8:37   ` Anton Farygin
@ 2008-09-22 11:22     ` Sergey V Turchin
  0 siblings, 0 replies; 36+ messages in thread
From: Sergey V Turchin @ 2008-09-22 11:22 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 363 bytes --]

On Monday 22 September 2008, Anton Farygin wrote:

[...]
> При первом старте тоже будет не совсем корректно, ибо
> update-menus запускается из post-скриптов устанавливаемых
> приложений.
update-menus отваливает, если увидит DURING_INSTALL

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-09-22  7:19 [devel] menu DURING_INSTALL Alexey Tourbin
  2008-09-22  8:21 ` Anton Farygin
  2008-09-22  8:25 ` Stanislav Ievlev
@ 2008-11-11 12:04 ` Alexey Tourbin
  2008-11-11 12:35   ` Sergey V Turchin
                     ` (3 more replies)
  2 siblings, 4 replies; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-11 12:04 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 2016 bytes --]

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()"?
Никак не могу найти, и никак не могу понять, зачем составлять список
всех поддерживаемых локалей.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 12:04 ` Alexey Tourbin
@ 2008-11-11 12:35   ` Sergey V Turchin
  2008-11-11 12:39   ` Alexey I. Froloff
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-11 12:35 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 784 bytes --]

On Tuesday 11 November 2008, Alexey Tourbin wrote:

[...]
> Откуда берётся переменная SUPPORTED?
Из переименования в нее LANGUAGE

> И, главное, где же в меню используется эта функция "languages()"?
В KDE раньше использовалась для перевода на несколько языков сразу.

> Никак не могу найти, и никак не могу понять, зачем составлять
> список всех поддерживаемых локалей.
Для перевода на несколько языков сразу.

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 12:04 ` Alexey Tourbin
  2008-11-11 12:35   ` Sergey V Turchin
@ 2008-11-11 12:39   ` Alexey I. Froloff
  2008-11-11 12:56     ` Alexey Tourbin
  2008-11-12 12:51   ` Stanislav Ievlev
    3 siblings, 1 reply; 36+ messages in thread
From: Alexey I. Froloff @ 2008-11-11 12:39 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1266 bytes --]

* Alexey Tourbin <at@> [081111 15:21]:
> Согласно locale(7), в качестве языка для надписей меню надо выбирать
> сначала LC_ALL, потом (если LC_ALL пустой) LC_MESSAGES, LANGUAGE, потом
> LANG, потом "C".
LANGUAGE - GNU'тое расширение, и в locale(7) про него ни слова не
написано.  man-pages-3.09-alt1.

Во-первых там список, во вторых оно таки игнорирует LC_ALL,
LC_xxx и LANG, если локаль не C.

http://www.gnu.org/software/automake/manual/gettext/The-LANGUAGE-variable.html

This is done through a different environment variable, called
LANGUAGE. GNU gettext gives preference to LANGUAGE over LC_ALL
and LANG for the purpose of message handling, but you still need
to have LANG (or LC_ALL) set to the primary language; this is
required by other parts of the system libraries. For example,
some Swedish users who would rather read translations in German
than English for when Swedish is not available, set LANGUAGE to
'sv:de' while leaving LANG to 'sv_SE'.

Note: The variable LANGUAGE is ignored if the locale is set to
'C'. In other words, you have to first enable localization, by
setting LANG (or LC_ALL) to a value other than 'C', before you
can use a language priority list through the LANGUAGE variable. 

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 12:39   ` Alexey I. Froloff
@ 2008-11-11 12:56     ` Alexey Tourbin
  2008-11-11 13:00       ` Sergey V Turchin
  2008-11-11 13:25       ` Alexey I. Froloff
  0 siblings, 2 replies; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-11 12:56 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 3194 bytes --]

On Tue, Nov 11, 2008 at 03:39:36PM +0300, Alexey I. Froloff wrote:
> * Alexey Tourbin <at@> [081111 15:21]:
> > Согласно locale(7), в качестве языка для надписей меню надо выбирать
> > сначала LC_ALL, потом (если LC_ALL пустой) LC_MESSAGES, LANGUAGE, потом
> > LANG, потом "C".
> LANGUAGE - GNU'тое расширение, и в locale(7) про него ни слова не
> написано.  man-pages-3.09-alt1.

       LC_MESSAGES
	      changes  the  language messages are displayed in and what
	      an affirmative or negative answer looks like.  The GNU
	      C-library contains the gettext(3), ngettext(3), and
	      rpmatch(3) functions to ease the use of  these
	      information.  The GNU gettext family of functions also
	      obey the environment variable LANGUAGE.

...

       If  the second argument to setlocale(3) is empty string, "", for
       the default locale, it is determined using the follow‐ ing steps:

       1.     If there is a non-null environment variable LC_ALL, the
       value of LC_ALL is used.

       2.     If an environment variable with the same name as one of
       the categories above exists and is non-null,  its  value is used
       for that category.

       3.     If there is a non-null environment variable LANG, the
       value of LANG is used.

Если следовать этому алгоритму выбора дефолтной локали, тогда надо:
в силу 1 смотреть LC_ALL; далее в силу 2 смотреть LC_MESSAGES (категория
надписей); далее в силу дополнения к LC_MESSAGES смотреть LANGUAGE;
в силу 3 смотреть LANG.

Как, имея на руках /etc/sysconfig/i18n, прописать язык в
/etc/menu/methods/lang.h?

У меня пока получается так:

	unset LC_ALL LC_MESSAGES LANGUAGE LANG
	. /etc/sysconfig/i18n
	lang=${LC_ALL:-${LC_MESSAGES:-${LANGUAGE:-${LANG:-"C"}}}}

Предлагайте исправленный вариант.

> Во-первых там список, во вторых оно таки игнорирует LC_ALL,
> LC_xxx и LANG, если локаль не C.
> 
> http://www.gnu.org/software/automake/manual/gettext/The-LANGUAGE-variable.html
> 
> This is done through a different environment variable, called
> LANGUAGE. GNU gettext gives preference to LANGUAGE over LC_ALL
> and LANG for the purpose of message handling, but you still need
> to have LANG (or LC_ALL) set to the primary language; this is
> required by other parts of the system libraries. For example,
> some Swedish users who would rather read translations in German
> than English for when Swedish is not available, set LANGUAGE to
> 'sv:de' while leaving LANG to 'sv_SE'.
> 
> Note: The variable LANGUAGE is ignored if the locale is set to
> 'C'. In other words, you have to first enable localization, by
> setting LANG (or LC_ALL) to a value other than 'C', before you
> can use a language priority list through the LANGUAGE variable. 


[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 12:56     ` Alexey Tourbin
@ 2008-11-11 13:00       ` Sergey V Turchin
  2008-11-11 13:03         ` Alexey Tourbin
  2008-11-11 13:25       ` Alexey I. Froloff
  1 sibling, 1 reply; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-11 13:00 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

On Tuesday 11 November 2008, Alexey Tourbin wrote:

[...]
> 	unset LC_ALL LC_MESSAGES LANGUAGE LANG
> 	. /etc/sysconfig/i18n
> 	lang=${LC_ALL:-${LC_MESSAGES:-${LANGUAGE:-${LANG:-"C"}}}}
ok, только без LANGUAGE
К тому же, его нет в нашем /etc/sysconfig/i18n

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:00       ` Sergey V Turchin
@ 2008-11-11 13:03         ` Alexey Tourbin
  2008-11-11 13:14           ` Sergey V Turchin
  2008-11-12 12:51           ` Stanislav Ievlev
  0 siblings, 2 replies; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-11 13:03 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 548 bytes --]

On Tue, Nov 11, 2008 at 04:00:45PM +0300, Sergey V Turchin wrote:
> On Tuesday 11 November 2008, Alexey Tourbin wrote:
> 
> [...]
> > 	unset LC_ALL LC_MESSAGES LANGUAGE LANG
> > 	. /etc/sysconfig/i18n
> > 	lang=${LC_ALL:-${LC_MESSAGES:-${LANGUAGE:-${LANG:-"C"}}}}
> ok, только без LANGUAGE
> К тому же, его нет в нашем /etc/sysconfig/i18n

Что значит нету?  Это же конфиг, напишу и будет.

А существует ли в меню дефолтная функция "lang()", если не
определять её в /etc/menu-methods/lang.h?  Надо ещё подумать,
как всё это работает.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:03         ` Alexey Tourbin
@ 2008-11-11 13:14           ` Sergey V Turchin
  2008-11-11 13:28             ` Alexey Tourbin
  2008-11-12 12:51           ` Stanislav Ievlev
  1 sibling, 1 reply; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-11 13:14 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 797 bytes --]

On Tuesday 11 November 2008, Alexey Tourbin wrote:

[...]
> > ok, только без LANGUAGE
> > К тому же, его нет в нашем /etc/sysconfig/i18n
> Что значит нету?  Это же конфиг, напишу и будет.
Ее использовать там смысла не имеет.
Либо в ней до первого двоеточия будет написан LC_ALL/LANG, либо ее 
содержимое не нужно.

> А существует ли в меню дефолтная функция "lang()", если не
> определять её в /etc/menu-methods/lang.h?
Нет. Только в этом файле.

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 12:56     ` Alexey Tourbin
  2008-11-11 13:00       ` Sergey V Turchin
@ 2008-11-11 13:25       ` Alexey I. Froloff
  2008-11-11 14:01         ` Led
  1 sibling, 1 reply; 36+ messages in thread
From: Alexey I. Froloff @ 2008-11-11 13:25 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 750 bytes --]

* Alexey Tourbin <at@> [081111 16:10]:
> 	      information.  The GNU gettext family of functions also
> 	      obey the environment variable LANGUAGE.
гг.

    The  GNU gettext family of functions also obey the environment variable LA
    GUAGE.

У меня "LANGUAGE" оказался покоцаным ;-)

> надписей); далее в силу дополнения к LC_MESSAGES смотреть LANGUAGE;
Неправильно.  Мануал на gettext предлагает другой алгоритм.

> 	unset LC_ALL LC_MESSAGES LANGUAGE LANG
> 	. /etc/sysconfig/i18n
> 	lang=${LC_ALL:-${LC_MESSAGES:-${LANGUAGE:-${LANG:-"C"}}}}
> Предлагайте исправленный вариант.

lang="${LC_ALL:-${LC_MESSAGES:-${LANG:-"C"}}}"
[ "$lang" = "C" -o "$lang" = "POSIX" ] || lang="${LANGUAGE:-$lang}"

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:14           ` Sergey V Turchin
@ 2008-11-11 13:28             ` Alexey Tourbin
  2008-11-11 13:54               ` Sergey V Turchin
  0 siblings, 1 reply; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-11 13:28 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1265 bytes --]

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).

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:28             ` Alexey Tourbin
@ 2008-11-11 13:54               ` Sergey V Turchin
  2008-11-11 14:07                 ` Alexey Tourbin
  2008-11-11 14:34                 ` Alexey Tourbin
  0 siblings, 2 replies; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-11 13:54 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 985 bytes --]

On Tuesday 11 November 2008, Alexey Tourbin wrote:

[...]
> Тогда я предлагаю сделать скрипт /usr/sbin/update-menus,
Зачем его так называть?

> 	if [ /etc/sysconfig/i18n
Это ж конфиг. Его можно и удалить ;-)

[...]
> Это устраняет дублирование кода:
Не вижу особой проблемы.

> скрипт можно будет использовать
> в %post-скрипте, в firsttime скрипте и в триггере.
Оно и так вроде неплохо.

> А также это в
> принципе сделает ненужным логику DURING_INSTALL (из-за условия
> -nt).
Не понимаю, как оно не будет грузить систему генерацией меню при 
установке?

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:25       ` Alexey I. Froloff
@ 2008-11-11 14:01         ` Led
  2008-11-11 14:11           ` Alexey Gladkov
  0 siblings, 1 reply; 36+ messages in thread
From: Led @ 2008-11-11 14:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday, 11 November 2008 15:25:56 Alexey I. Froloff wrote:
> * Alexey Tourbin <at@> [081111 16:10]:
> > 	      information.  The GNU gettext family of functions also
> > 	      obey the environment variable LANGUAGE.
>
> гг.
>
>     The  GNU gettext family of functions also obey the environment variable
> LA GUAGE.
>
> У меня "LANGUAGE" оказался покоцаным ;-)

Сейчас практически все маны "покоцаны". Т.н. "эпоха покоцаных манов" началась 
в Sisyphus (и сотни нераскрытых отображённых тэгов на страницу) :(

-- 
Led

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:54               ` Sergey V Turchin
@ 2008-11-11 14:07                 ` Alexey Tourbin
  2008-11-11 14:35                   ` Sergey V Turchin
  2008-11-11 14:57                   ` Alexey Tourbin
  2008-11-11 14:34                 ` Alexey Tourbin
  1 sibling, 2 replies; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-11 14:07 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1477 bytes --]

On Tue, Nov 11, 2008 at 04:54:18PM +0300, Sergey V Turchin wrote:
> > Тогда я предлагаю сделать скрипт /usr/sbin/update-menus,
> Зачем его так называть?

Как его лучше назвать?

У нашего меню есть специфика: нужно создавать файл lang.h,
а фунция "lang()" используется в других пакетах.  То есть его нужно
обязательно создавать.  Обновление системного меню должно эту специфику
учитывать.

> > 	if [ /etc/sysconfig/i18n
> Это ж конфиг. Его можно и удалить ;-)

У /etc/sysconfig/i18n нету атрибута missingok.

Нужно сформулировать общее условие обновления /etc/menu-methods/lang.h,
желательно без привязки к DURING_INSTALL.  Условие, наверное, должно
быть таким: 1) если файл /etc/menu-methods/lang.h пустой, то его нужно
обновить (потому что обязательно должна быть функция "lang()"); 2) если
[ /etc/sysconfig/i18n -nt /etc/menu-methods/lang.h ], то изменилась
системная локаль, и lang.h тоже нужно обновить.

> > скрипт можно будет использовать
> > в %post-скрипте, в firsttime скрипте и в триггере.
> Оно и так вроде неплохо.

Так плохо.

> > А также это в
> > принципе сделает ненужным логику DURING_INSTALL (из-за условия
> > -nt).
> Не понимаю, как оно не будет грузить систему генерацией меню при 
> установке?

По-моему, нежелательно проводить такую политику, что отдельные части
системы заработают только после перезагрузки.

Но я ещё сделаю posttrans trigger.  То есть в обычных пакетах
update-menus вызываться вообще не должно.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:01         ` Led
@ 2008-11-11 14:11           ` Alexey Gladkov
  2008-11-11 14:17             ` Led
  0 siblings, 1 reply; 36+ messages in thread
From: Alexey Gladkov @ 2008-11-11 14:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Led wrote:
> Сейчас практически все маны "покоцаны". Т.н. "эпоха покоцаных манов" началась 
> в Sisyphus (и сотни нераскрытых отображённых тэгов на страницу) :(

Сотни?! Номер бага?

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:11           ` Alexey Gladkov
@ 2008-11-11 14:17             ` Led
  2008-11-11 14:18               ` Mikhail Gusarov
  2008-11-11 14:23               ` Alexey Gladkov
  0 siblings, 2 replies; 36+ messages in thread
From: Led @ 2008-11-11 14:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday, 11 November 2008 16:11:53 Alexey Gladkov wrote:
> Led wrote:
> > Сейчас практически все маны "покоцаны". Т.н. "эпоха покоцаных манов"
> > началась в Sisyphus (и сотни нераскрытых отображённых тэгов на страницу)
> > :(
>
> Сотни?! Номер бага?

Я не утверждал, что это баги. Это фичи:) Баги - это у меня в системе: 
например, у меня локаль не с UTF-8.

-- 
Led

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:17             ` Led
@ 2008-11-11 14:18               ` Mikhail Gusarov
  2008-11-11 14:23               ` Alexey Gladkov
  1 sibling, 0 replies; 36+ messages in thread
From: Mikhail Gusarov @ 2008-11-11 14:18 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 461 bytes --]

Twas brillig at 16:17:15 11.11.2008 UTC+02 when ledest@gmail.com did gyre and gimble:

 L> Я не утверждал, что это баги. Это фичи:) Баги - это у меня в
 L> системе: например, у меня локаль не с UTF-8.

Это всё равно баги. Повесь, плз, баг, что в <какая-там-у-тебя-локаль>
маны рендерятся неправильно.

-- 

[-- Attachment #2: Type: application/pgp-signature, Size: 196 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:17             ` Led
  2008-11-11 14:18               ` Mikhail Gusarov
@ 2008-11-11 14:23               ` Alexey Gladkov
  2008-11-11 14:35                 ` Led
  1 sibling, 1 reply; 36+ messages in thread
From: Alexey Gladkov @ 2008-11-11 14:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Led wrote:
> Я не утверждал, что это баги. Это фичи:) Баги - это у меня в системе: 
> например, у меня локаль не с UTF-8.

Тем более интересно какие ман-страницы устарели и какие нужно 
исправлять. Для начала вешай баги на man... а потом я перекину если 
это не его проблема.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:54               ` Sergey V Turchin
  2008-11-11 14:07                 ` Alexey Tourbin
@ 2008-11-11 14:34                 ` Alexey Tourbin
  2008-11-11 14:59                   ` Sergey V Turchin
  1 sibling, 1 reply; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-11 14:34 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 448 bytes --]

On Tue, Nov 11, 2008 at 04:54:18PM +0300, Sergey V Turchin wrote:
> > Это устраняет дублирование кода:
> Не вижу особой проблемы.
> 
> > скрипт можно будет использовать
> > в %post-скрипте, в firsttime скрипте и в триггере.
> Оно и так вроде неплохо.

Короче, выкладывай новую версию menu в сизиф.
Я тогда подготовлю свои предложения.

Всё равно файлтриггер надо делать, а старая версия menu
не собирается.  А новой в сизифе пока нет.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:07                 ` Alexey Tourbin
@ 2008-11-11 14:35                   ` Sergey V Turchin
  2008-11-11 14:57                   ` Alexey Tourbin
  1 sibling, 0 replies; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-11 14:35 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 377 bytes --]

On Tuesday 11 November 2008, Alexey Tourbin wrote:

[...]
> Но я ещё сделаю posttrans trigger.  То есть в обычных пакетах
> update-menus вызываться вообще не должно.
Да, это самое то.

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:23               ` Alexey Gladkov
@ 2008-11-11 14:35                 ` Led
  2008-11-11 14:48                   ` Alexey Gladkov
  0 siblings, 1 reply; 36+ messages in thread
From: Led @ 2008-11-11 14:35 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday, 11 November 2008 16:23:36 Alexey Gladkov wrote:
> Led wrote:
> > Я не утверждал, что это баги. Это фичи:) Баги - это у меня в системе:
> > например, у меня локаль не с UTF-8.
>
> Тем более интересно какие ман-страницы устарели и какие нужно
> исправлять. Для начала вешай баги на man... а потом я перекину если
> это не его проблема.

Ещё раз: я не уверен, что это баги именно утилиты man(1). Например, ещё пару 
недель назад было много "сьеденных" символов в мануалах к git (сейчас пока не 
замечаю или не те странички просматриваю).
Из "сегодняшего" - scons(1): во-первых, какие-то макросы не раскрывает, а 
во-вторых, начиная с 10% посмотрите на страничку - там невозможно не 
заметить:)
Но, опять же, возможно мне просто кривые ман-странички последнее время 
попадаются (причём, они стали попадатся последние месяца три). Почти ка в 
анекдоте: маны я читаю всё реже и реже, а они всё хуже и хуже:)

-- 
Led

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:35                 ` Led
@ 2008-11-11 14:48                   ` Alexey Gladkov
  0 siblings, 0 replies; 36+ messages in thread
From: Alexey Gladkov @ 2008-11-11 14:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Led wrote:
> Ещё раз: я не уверен, что это баги именно утилиты man(1).

Ещё раз :)

Вешайте баги на man(1) если видите неправильную страницу. С указанием 
что за страница, из какого пакета и под какой локалью проявилось. Не 
беспокойтесь, я закрою багу если это не ошибка вообще и перевешу её на 
соответствующий пакет если это ошибка на странице, а не в man (как это 
было с git).

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:07                 ` Alexey Tourbin
  2008-11-11 14:35                   ` Sergey V Turchin
@ 2008-11-11 14:57                   ` Alexey Tourbin
  2008-11-11 15:05                     ` Sergey V Turchin
  1 sibling, 1 reply; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-11 14:57 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 3570 bytes --]

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()" всё-таки используется.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:34                 ` Alexey Tourbin
@ 2008-11-11 14:59                   ` Sergey V Turchin
  0 siblings, 0 replies; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-11 14:59 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 541 bytes --]

On Tuesday 11 November 2008, Alexey Tourbin wrote:

[...]
> Короче, выкладывай новую версию menu в сизиф.
> Я тогда подготовлю свои предложения.
>
> Всё равно файлтриггер надо делать, а старая версия menu
> не собирается.  А новой в сизифе пока нет.
Вчера отправил.

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 14:57                   ` Alexey Tourbin
@ 2008-11-11 15:05                     ` Sergey V Turchin
  0 siblings, 0 replies; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-11 15:05 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 469 bytes --]

On Tuesday 11 November 2008, Alexey Tourbin wrote:

[...]
> Я проверил: lang.h обязательно должен быть создан, иначе
> update-menus отваливает.
Отваливает не update-menus, а конкретный menu-method(install-menu), 
использующий lang() или langiages()

[...]

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 13:03         ` Alexey Tourbin
  2008-11-11 13:14           ` Sergey V Turchin
@ 2008-11-12 12:51           ` Stanislav Ievlev
  1 sibling, 0 replies; 36+ messages in thread
From: Stanislav Ievlev @ 2008-11-12 12:51 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Nov 11, 2008 at 04:03:37PM +0300, Alexey Tourbin wrote:
> On Tue, Nov 11, 2008 at 04:00:45PM +0300, Sergey V Turchin wrote:
> > On Tuesday 11 November 2008, Alexey Tourbin wrote:
> > 
> > [...]
> > > 	unset LC_ALL LC_MESSAGES LANGUAGE LANG
> > > 	. /etc/sysconfig/i18n
> > > 	lang=${LC_ALL:-${LC_MESSAGES:-${LANGUAGE:-${LANG:-"C"}}}}
> > ok, только без LANGUAGE
> > К тому же, его нет в нашем /etc/sysconfig/i18n
> 
> Что значит нету?  Это же конфиг, напишу и будет.
В дистрибутивах для установки LANGUAGE используется
/etc/sysconfig/langmap, так что в большинстве случаев в
/etc/sysconfig/i18n эта переменная будет пуста.


^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-11 12:04 ` Alexey Tourbin
  2008-11-11 12:35   ` Sergey V Turchin
  2008-11-11 12:39   ` Alexey I. Froloff
@ 2008-11-12 12:51   ` Stanislav Ievlev
  2008-11-12 13:00     ` Alexey Tourbin
    3 siblings, 1 reply; 36+ messages in thread
From: Stanislav Ievlev @ 2008-11-12 12:51 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Nov 11, 2008 at 03:04:20PM +0300, Alexey Tourbin wrote:
> 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"?
Сейчас %_install_langs устанавливается в all ;)



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-12 12:51   ` Stanislav Ievlev
@ 2008-11-12 13:00     ` Alexey Tourbin
  2008-11-12 13:02       ` Stanislav Ievlev
  0 siblings, 1 reply; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-12 13:00 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 473 bytes --]

On Wed, Nov 12, 2008 at 03:51:57PM +0300, Stanislav Ievlev wrote:
> > > +LANGUAGES_LIST=$SUPPORTED
> > 
> > Откуда берётся переменная SUPPORTED?
> > Не лучше ли использовать "rpm --eval %_install_langs"?
> Сейчас %_install_langs устанавливается в all ;)

Но именн %_install_langs влияет на *.mo файлы, которые rpm устанавливает
в систему.  А "all" можно обрабатывать в скрипте отдельно.
http://git.altlinux.org/people/at/packages/menu.git?a=commitdiff;h=d86b2271

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-12 13:00     ` Alexey Tourbin
@ 2008-11-12 13:02       ` Stanislav Ievlev
  0 siblings, 0 replies; 36+ messages in thread
From: Stanislav Ievlev @ 2008-11-12 13:02 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Nov 12, 2008 at 04:00:15PM +0300, Alexey Tourbin wrote:
> On Wed, Nov 12, 2008 at 03:51:57PM +0300, Stanislav Ievlev wrote:
> > > > +LANGUAGES_LIST=$SUPPORTED
> > > 
> > > Откуда берётся переменная SUPPORTED?
> > > Не лучше ли использовать "rpm --eval %_install_langs"?
> > Сейчас %_install_langs устанавливается в all ;)
> 
> Но именн %_install_langs влияет на *.mo файлы, которые rpm устанавливает
> в систему.  А "all" можно обрабатывать в скрипте отдельно.
> http://git.altlinux.org/people/at/packages/menu.git?a=commitdiff;h=d86b2271
Я не против, это я просто для информации ;)



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  @ 2008-11-25 10:37     ` Alexey Tourbin
  2008-11-25 11:05       ` Igor Vlasenko
  2008-11-25 11:32       ` Sergey V Turchin
  0 siblings, 2 replies; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-25 10:37 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1135 bytes --]

On Wed, Nov 12, 2008 at 04:36:52PM +0300, Sergey V Turchin wrote:
> On Tuesday 11 November 2008, Alexey Tourbin wrote:
> 
> [...]
> > Не лучше ли использовать "rpm --eval %_install_langs"?
> В нет требования указания кодировки.
> В нет требования указания локали.
> Отсутствие указания кодировки в локалях SUPPORTED - баг.

По-моему, в списке languages() кодировки указывать не надо.
Вот пример использования languages():

/etc/menu-methods/xdg-desktop-entry-spec-apps:
    41          forall(languages(), "lang",
    42              "Name[" substr($lang, "0", "2") "]=" encode_translate($lang,title(), "utf8") "\n")

/etc/menu-methods/gnome-mime-data-applications:
    14          forall(languages(), "lang", "\t Name[" substr($lang, "0", "2") "]=" encode_translate($lang,title(),"utf-8") "\n") 

То есть в languages() должно быть только название поддерживаемых языков,
а функция перевода encode_translate() берёт кодировку для перевода
в виде последнего аргумента.  Как правило это должна быть кодировка utf-8,
то есть в этих двух примерах в результате должно получиться
	
	Name=foo
	Name[ru]=фуу

и т.п.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-25 10:37     ` Alexey Tourbin
@ 2008-11-25 11:05       ` Igor Vlasenko
  2008-11-25 11:32         ` Alexey Tourbin
  2008-11-25 11:32       ` Sergey V Turchin
  1 sibling, 1 reply; 36+ messages in thread
From: Igor Vlasenko @ 2008-11-25 11:05 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Nov 25, 2008 at 01:37:34PM +0300, Alexey Tourbin wrote:
> По-моему, в списке languages() кодировки указывать не надо.

Но кодировки нужно указывать в langs(), 
чтобы не сломать рабочие системы :(

Например, в
/etc/menu-methods/icewm:
[...]
  x11=  "  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" 
" $command"\n"
[...]

$ cat /etc/menu-methods/lang.h
function lang()="ru_RU.CP1251"
function languages()="ru_RU"

(У меня локаль пользователей - ru_RU.CP1251).

Проблема в том, что, например, icewm не поддерживает кодировок,
что видит, то и поет (хоть бНОПНЯ, хоть РєРСРs).

На примере 
/etc/menu-methods/xdg-desktop-entry-spec-apps
эта проблема не видна, так как для .desktop файлов 
конечная кодировка (utf-8) задана заранее
и не зависит от системной локали.

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-25 11:05       ` Igor Vlasenko
@ 2008-11-25 11:32         ` Alexey Tourbin
  0 siblings, 0 replies; 36+ messages in thread
From: Alexey Tourbin @ 2008-11-25 11:32 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2562 bytes --]

On Tue, Nov 25, 2008 at 01:05:15PM +0200, Igor Vlasenko wrote:
> On Tue, Nov 25, 2008 at 01:37:34PM +0300, Alexey Tourbin wrote:
> > По-моему, в списке languages() кодировки указывать не надо.
> 
> Но кодировки нужно указывать в langs(), 
> чтобы не сломать рабочие системы :(

lang() будет работать как и раньше.

> Например, в
> /etc/menu-methods/icewm:
> [...]
>   x11=  "  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" 
> " $command"\n"
> [...]
> 
> $ cat /etc/menu-methods/lang.h
> function lang()="ru_RU.CP1251"
> function languages()="ru_RU"
> 
> (У меня локаль пользователей - ru_RU.CP1251).
> 
> Проблема в том, что, например, icewm не поддерживает кодировок,
> что видит, то и поет (хоть бНОПНЯ, хоть РєРСРs).

Вот как это будет работать.

$ hsh --init && hsh-install menu
...
<13>Nov 25 11:26:26 rpmi: sox-14.0.1-alt3 installed
<13>Nov 25 11:26:26 rpmi: sound_handler-0.3.1-alt1 installed
<13>Nov 25 11:26:26 rpmi: libao-alsa-0.8.8-alt1.13239 installed
<13>Nov 25 11:26:26 rpmi: menu-2.1.41-alt3 installed
$ echo LC_MESSAGES=ru_RU.CP1251 |hsh-run --rooter -- sort -o /etc/sysconfig/i18n
$ hsh-run --rooter /usr/sbin/update-menus
$ hsh-run cat /etc/menu-methods/lang.h   
# Generated by /usr/sbin/update-menus.
function lang()="ru_RU.CP1251"
function languages()="af:am:ar:az:be:bg:br:bs:ca:cs:cy:da:de:el:eo:es:et:eu:fa:fi:fr:ga:gl:he:hi:hr:hu:id:is:it:ja:ka:ko:lt:lv:mi:mk:mn:ms:mt:nb:nl:nn:oc:pl:pt:pt_BR:ro:ru:sk:sl:sq:sr:sr@Latn:sv:ta:tg:th:tr:uk:uz:uz@Cyrl:vi:wa:xh:zh_CN:zh_TW"
$ 

(Далее.)

$ hsh-install icewm
...
<13>Nov 25 11:28:41 rpmi: xinitrc-2.4.31-alt1 installed
<13>Nov 25 11:28:41 rpmi: icewm-light-1:1.2.36-alt1 installed
WARNING: icewm-light uses obsolete alternatives interface
<13>Nov 25 11:28:41 rpmi: design-icewm-1.0-alt5 installed
<13>Nov 25 11:28:41 rpmi: icewm-1:1.2.36-alt1 installed
$ hsh-run cat /etc/X11/icewm/menu |iconv -f cp1251
prog "Terminal" xterm xvt
menu "Сессия" "windowmanager_section" {
menu "Оконные менеджеры" "windowmanager_section" {
  restart "IceWM" "icewm" icewm
}
}
menu "Терминалы" "terminals_section" {
  prog "UXTerm" "xterm-color_48x48" uxterm
  prog "XTerm" "xterm-color_48x48" xterm -name XTerm
}
$

> На примере 
> /etc/menu-methods/xdg-desktop-entry-spec-apps
> эта проблема не видна, так как для .desktop файлов 
> конечная кодировка (utf-8) задана заранее
> и не зависит от системной локали.

lang() всегда соответсвует LC_MESSAGES (или LC_ALL), и поэтому,
как правило, там всегда есть кодировка.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [devel] menu DURING_INSTALL
  2008-11-25 10:37     ` Alexey Tourbin
  2008-11-25 11:05       ` Igor Vlasenko
@ 2008-11-25 11:32       ` Sergey V Turchin
  1 sibling, 0 replies; 36+ messages in thread
From: Sergey V Turchin @ 2008-11-25 11:32 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]

On Tuesday 25 November 2008, Alexey Tourbin wrote:

[...]
> По-моему, в списке languages() кодировки указывать не надо.
Надо.
Там может быть "ru_RU.UTF-8:ru_RU.CP1251", т.е. результат в 2-х 
кодировки сразу.

[...]
> перевода в виде последнего аргумента.  Как правило это должна
> быть кодировка utf-8, то есть в этих двух примерах в результате
> должно получиться
>
> 	Name=foo
> 	Name[ru]=фуу
Name[ru_RU.CP1251]=бНЯ
тоже возможен, но вышеописанный пример лишь конкретный menu-method.
Т.е., что будет на выходе, зависит от конкретного menu-метода
Хоть mega-name(foo(ru:фуу;ru_RU.CP1251:бНЯ))

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2008-11-25 11:32 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-22  7:19 [devel] menu DURING_INSTALL Alexey Tourbin
2008-09-22  8:21 ` Anton Farygin
2008-09-22  8:25 ` Stanislav Ievlev
2008-09-22  8:37   ` Anton Farygin
2008-09-22 11:22     ` Sergey V Turchin
2008-11-11 12:04 ` Alexey Tourbin
2008-11-11 12:35   ` Sergey V Turchin
2008-11-11 12:39   ` Alexey I. Froloff
2008-11-11 12:56     ` Alexey Tourbin
2008-11-11 13:00       ` Sergey V Turchin
2008-11-11 13:03         ` Alexey Tourbin
2008-11-11 13:14           ` Sergey V Turchin
2008-11-11 13:28             ` Alexey Tourbin
2008-11-11 13:54               ` Sergey V Turchin
2008-11-11 14:07                 ` Alexey Tourbin
2008-11-11 14:35                   ` Sergey V Turchin
2008-11-11 14:57                   ` Alexey Tourbin
2008-11-11 15:05                     ` Sergey V Turchin
2008-11-11 14:34                 ` Alexey Tourbin
2008-11-11 14:59                   ` Sergey V Turchin
2008-11-12 12:51           ` Stanislav Ievlev
2008-11-11 13:25       ` Alexey I. Froloff
2008-11-11 14:01         ` Led
2008-11-11 14:11           ` Alexey Gladkov
2008-11-11 14:17             ` Led
2008-11-11 14:18               ` Mikhail Gusarov
2008-11-11 14:23               ` Alexey Gladkov
2008-11-11 14:35                 ` Led
2008-11-11 14:48                   ` Alexey Gladkov
2008-11-12 12:51   ` Stanislav Ievlev
2008-11-12 13:00     ` Alexey Tourbin
2008-11-12 13:02       ` Stanislav Ievlev
2008-11-25 10:37     ` Alexey Tourbin
2008-11-25 11:05       ` Igor Vlasenko
2008-11-25 11:32         ` Alexey Tourbin
2008-11-25 11:32       ` Sergey V Turchin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git