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
- Убрана жесткая зависимость от версии основного пакета
- Исправлена ошибка с неправильными владельцами директорий
openSUSE Build Service is sponsored by