LinuxForum.Fans
Тема

Локализованное описание rpm-пакетов

Автор: Vascom 21 сообщений 1758 просмотров
#370507

Некоторые rpm-пакеты помимо обязательного описания на английском языке могут содержать дополнительные описания на других языках.
Как можно посмотреть это локализованное описание через yum или rpm?

#370553

Про встроенные опции у rpm для работы с "локализированным описанием" я никогда не слышал. Такие разве вообще имеются?

Правильно ли я понял задачу, необходимо посмотреть описание rpm-пакета, но не целиком, а только ту часть, что НЕ на английском языке. Так?

Самое простое, что пришло в голову
[console]rpm -qpi pkg.rpm | grep "[А-Яа-яЁё]"[/console]
Выдаст только те строки, что содержат символы русского алфавита, т.е. как раз строки с "локализированным описанием пакета" :)
Естественно, это подразумевает, что язык искомого не-английского описания должен быть заранее известен.

#370556

Нет, не так.
spec-файлы могут содержать локализованное описание Summary(ru) и decsription -l ru. И если локаль русская, то выводиться должны эти строки, а не английские.
Сейчас я вижу эту проблему в Федоре 20. В консоли по Ctrl+Alt+F2 yum и rpm выводят всё правильно, а в konsole КДЕ - неправильно.
И ещё yum для неустановленных пакетов тоже неправильно выводит.

Пример - пакет libzen.

#370559

Vascom, а вот оно что.
Может с LANG или LC_CTYPE перед rpm явно указать, не пробовал?

#370560

Всё пробовал, и вручную тоже, не помогает. Вот вывод locale

text
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
#370568

Vascom,
Изменить кнопку запуска Konsole на:

text
LANGUAGE=ru:en konsole

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

#370570

Vascom, locale выполняли от рута, или от пользователя? А запрос описания?

#370588
"yars" написал:
locale выполняли от рута, или от пользователя?

Без разницы (особенно если выводы везде одинаковые и типа верные)
Это кеды тупят.

#370589

Выполнение глобального:

text
export LANGUAGE=ru:en

негативно влияет на GTK-приложения.(становятся английскими)
Надо что-то покрутить.

#370599

Тогда, для исключения влияния Konsole, я бы попробовал через xterm или другой эмулятор терминала.

#370605
"yars" написал:
Тогда, для исключения влияния Konsole, я бы попробовал через xterm или другой эмулятор терминала.

Везде, кроме кед, всё нормально.

#370609

Проверил у Себя...
Команды которые использовал:
rpm -qi rpm
zypper if rpm

zypper - выводит сводку на русском языке.
rpm - выводит на английском.... (пункт summary)

Изучив содержимое пакета RPM видно вроде как локализованные файлы в нем содержаться.
Выполняем просто RPM видим что Локаль имеется...

Показать
[console]home@mozgfx:/home> rpm
RPM версия 4.11.1
Авторские права © 1998-2002 - Red Hat, Inc.
Эту программу можно свободно распространять на условиях GNU GPL


Использование: rpm [вырезано][/console]

Выполняю zypper для пакета aspell-ru (все на русском):

Показать
[console]home@mozgfx:~> zypper if aspell-ru
Загрузка данных о репозиториях...
Чтение установленных пакетов...


Сведения — пакет aspell-ru:
---------------------------
Репозиторий: openSUSE-13.1-Oss
Имя: aspell-ru
Версия: 0.99.f7.1-42.1.2
Архитектура: x86_64
Производитель: openSUSE
Установлен: Да
Состояние: актуален
Размер после установки: 5,6 MiB
Сводка: Русский словарь для Aspell
Описание:
Русский словарь для проверки правописания в Aspell.

[/console]

Выполняю ту же команду но с помощью RPM..., все плачевно хотя файл локали имеется...

Показать
[console]rpm -qi aspell-ru
Name : aspell-ru
Version : 0.99.f7.1
Release : 42.1.2
Architecture: x86_64
Install Date: Вт 19 ноя 2013 22:49:53
Group : Productivity/Text/Spell
Size : 5913778
License : GPL-2.0+ and LGPL-2.1+ and SUSE-Permissive-Modify-By-Patch
Signature : RSA/SHA256, Сб 28 сен 2013 03:36:38, Key ID b88b2fd43dbdc284
Source RPM : aspell-dictionaries-0.50.6-42.1.2.src.rpm
Build Date : Сб 28 сен 2013 03:26:55
Build Host : cloud137
Relocations : (not relocatable)
Packager : http://bugs.opensuse.org
Vendor : openSUSE
URL : http://aspell.net/
Summary : Russian Dictionary for Aspell
Description :
A Russian dictionary for the aspell spell checker.
Distribution: openSUSE 13.1
[/console]
#370611

В "LANGUAGE=ru:en konsole"

Показать
[console]verg@localhost:~> rpm -qi libzen
Name : libzen
Version : 0.4.29
Release : 1.fc20.R
Architecture: i686
Install Date: Чт 06 мар 2014 21:58:45
Group : System Environment/Libraries
Size : 310769
License : zlib
Signature : DSA/SHA1, Пн 03 июн 2013 16:44:42, Key ID 8318be83dbb6c70d
Source RPM : libzen-0.4.29-1.fc20.R.src.rpm
Build Date : Пт 31 май 2013 11:47:32
Build Host : koji.russianfedora.ru
Relocations : (not relocatable)
Packager : koji.russianfedora.ru
Vendor : Russian Fedora Team
URL : http://sourceforge.net/projects/zenlib
Summary : Разделяемая библиотека для libmediainfo and medianfo*
Description :
Файлы разделяемой библиотеки для libmediainfo and medianfo-*.
Distribution: RFRemix[/console]

Просто konsole:

Показать
[console]verg@localhost:~> rpm -qi libzen
Name : libzen
Version : 0.4.29
Release : 1.fc20.R
Architecture: i686
Install Date: Чт 06 мар 2014 21:58:45
Group : System Environment/Libraries
Size : 310769
License : zlib
Signature : DSA/SHA1, Пн 03 июн 2013 16:44:42, Key ID 8318be83dbb6c70d
Source RPM : libzen-0.4.29-1.fc20.R.src.rpm
Build Date : Пт 31 май 2013 11:47:32
Build Host : koji.russianfedora.ru
Relocations : (not relocatable)
Packager : koji.russianfedora.ru
Vendor : Russian Fedora Team
URL : http://sourceforge.net/projects/zenlib
Summary : Shared library for libmediainfo and medianfo*
Description :
Files shared library for libmediainfo and medianfo-*.
Distribution: RFRemix[/console]
#370612

И там, и там %description английское. В спеке точно все на месте? А в метаданных готового пакета? Плюс, русских локалей больше одной.

#370613

mozgfx,
Vascom имел ввиду содержимое:

text
Summary    
Description

zypper if libzen:

Показать
[console]verg@localhost:~> zypper if libzen
Загрузка данных о репозиториях...
Чтение установленных пакетов...


Сведения — пакет libzen:
------------------------
Репозиторий: @System
Имя: libzen
Версия: 0.4.29-1.fc20.R
Архитектура: i686
Производитель: Russian Fedora Team
Установлен: Да
Состояние: актуален
Размер после установки: 303,5 KiB
Сводка: Shared library for libmediainfo and medianfo*
Описание:
Files shared library for libmediainfo and medianfo-*.[/console]
#370616
verg написал:
Это кеды тупят.

Да и я давно это обнаружил...
Локализация деградирует иногда... не знаю как в других дистрибутивах в openSUSe как минимум у двух форумчан была обнаружена проблема...
Я долго рыл и копал причину, а в итоге надоело и грохнул весь профиль KDE проблема исчезла.
Если повторится придется дорыться до сути ещё раз.

#370619

verg,

"verg" написал:
mozgfx,
Vascom имел ввиду содержимое:

Неудачный пакет взял за пример... у него (у пакета с именем RPM) оно изначально на английском.... поэтому и в моих выводах там на английском в обеих вариантах... сейчас найду более красивый пакет... ))

UPD:
Исправил в качестве примера пакет ASPELL-RU

#370683

Да, через "LANGUAGE=ru:en konsole" правильно показывает. Значит проблема КДЕ...
Надо подумать.

#370701

Написано, что баг решён. Или нет на самом деле?

Войдите или зарегистрируйтесь, чтобы ответить.