* [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 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: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: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: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: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: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: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 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: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: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 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 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 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
[parent not found: <200811121636.57291.zerg@altlinux.org>]
* 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