File firefox-kde-nightly-l10n-ru.spec of Package firefox-kde-nightly-l10n-ru
%global debug_package %{nil}
%define program firefox
%define type kde-nightly
%define l10n ru
# Получаем параметры сборки из переменных окружения
%define today %{?_build_date:%_build_date}%{!?_build_date:%(date +"%Y%m%d")}
%define nightly_build %{?_build_number:%_build_number}%{!?_build_number:1}
# Версия и релиз для нашего пакета
Version: %{today}
Release: %{nightly_build}
Name: %{program}-%{type}-l10n-%{l10n}
Summary: Russian language pack for Firefox KDE Nightly with spell checking
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
URL: https://www.mozilla.org/%{program}
# Динамические URL исходников
Source0: ru.xpi
Source1: ru_RU.dic
Source2: ru_RU.aff
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-build
BuildArch: noarch
BuildRequires: unzip
# Работаем с любой версией основного пакета
Requires: %{program}-%{type}
Requires: hunspell
#Requires: hunspell-ru
%description
Russian language pack for Firefox KDE Nightly builds with spell checking support.
Includes Russian dictionary for Hunspell spell checker.
%prep
umask 022
# Проверяем наличие исходников
for file in ru.xpi ru_RU.dic ru_RU.aff; do
if [ ! -f "%{_sourcedir}/$file" ]; then
echo "ERROR: Source file $file not found!"
exit 1
fi
done
mkdir -p "%{_builddir}/%{name}"
cp "%{_sourcedir}/ru.xpi" "%{_builddir}/%{name}/"
cp "%{_sourcedir}/ru_RU.dic" "%{builddir}/%{name}/"
cp "%{_sourcedir}/ru_RU.aff" "%{builddir}/%{name}/"
%install
umask 022
# Создаем директории
mkdir -p "%{buildroot}%{_libexecdir}/%{program}-%{type}/browser/extensions"
mkdir -p "%{buildroot}%{_libexecdir}/%{program}-%{type}/browser/defaults/preferences"
mkdir -p "%{buildroot}%{_libexecdir}/%{program}-%{type}/defaults/pref"
mkdir -p "%{buildroot}%{_datadir}/hunspell"
# Устанавливаем языковой пакет
install -m644 "%{_builddir}/%{name}/ru.xpi" \
"%{buildroot}%{_libexecdir}/%{program}-%{type}/browser/extensions/langpack-%{l10n}@%{program}.mozilla.org.xpi"
# Устанавливаем словари
install -m644 "%{_builddir}/%{name}/ru_RU.dic" "%{buildroot}%{_datadir}/hunspell/"
install -m644 "%{_builddir}/%{name}/ru_RU.aff" "%{buildroot}%{_datadir}/hunspell/"
# Создаем файлы настроек языка
cat > "%{buildroot}%{_libexecdir}/%{program}-%{type}/browser/defaults/preferences/locale.ini" << EOF
[Global]
locale=ru
EOF
cat > "%{buildroot}%{_libexecdir}/%{program}-%{type}/defaults/pref/lang.js" << EOF
// Принудительная установка русского языка
pref("intl.locale.requested", "ru");
pref("general.useragent.locale", "ru");
pref("intl.accept_languages", "ru, en-US, en");
pref("intl.regional_prefs.use_os_locales", true);
EOF
%files
%dir %{_libexecdir}/%{program}-%{type}
%dir %{_libexecdir}/%{program}-%{type}/browser
%dir %{_libexecdir}/%{program}-%{type}/browser/extensions
%{_libexecdir}/%{program}-%{type}/browser/extensions/langpack-%{l10n}@%{program}.mozilla.org.xpi
%dir %{_libexecdir}/%{program}-%{type}/browser/defaults
%dir %{_libexecdir}/%{program}-%{type}/browser/defaults/preferences
%{_libexecdir}/%{program}-%{type}/browser/defaults/preferences/locale.ini
%dir %{_libexecdir}/%{program}-%{type}/defaults
%dir %{_libexecdir}/%{program}-%{type}/defaults/pref
%{_libexecdir}/%{program}-%{type}/defaults/pref/lang.js
%dir %{_datadir}/hunspell
%{_datadir}/hunspell/ru_RU.dic
%{_datadir}/hunspell/ru_RU.aff
%changelog
* %(date +"%a %b %d %Y") Your Name <your.email@example.com>
- Добавлены все промежуточные директории в секцию %files
- Убрана жесткая зависимость от версии основного пакета
- Исправлена ошибка с неправильными владельцами директорий