]> git.pld-linux.org Git - packages/opera.git/commitdiff
use find lang to package locale files
authorElan Ruusamäe <glen@delfi.ee>
Sun, 6 Sep 2015 08:31:34 +0000 (11:31 +0300)
committerElan Ruusamäe <glen@delfi.ee>
Sun, 6 Sep 2015 08:31:34 +0000 (11:31 +0300)
find-lang.sh [new file with mode: 0755]
opera.spec

diff --git a/find-lang.sh b/find-lang.sh
new file mode 100755 (executable)
index 0000000..6762c18
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/sh
+PROG=${0##*/}
+if [ $# = 2 ]; then
+       # for using same syntax as rpm own find-lang
+       RPM_BUILD_ROOT=$1
+       shift
+fi
+dir=$RPM_BUILD_ROOT@localedir@
+langfile=$1
+tmp=$(mktemp) || exit 1
+rc=0
+
+find $dir -name '*.pak' > $tmp
+
+echo '%defattr(644,root,root,755)' > $langfile
+while read file; do
+       lang=${file##*/}
+       lang=${lang%.pak}
+       case "$lang" in
+       zh-TW)
+               lang=zh_TW
+       ;;
+       zh-CN)
+               lang=zh_CN
+       ;;
+       en-US|en-GB)
+               lang=en
+       ;;
+       pt-BR)
+               lang=pt_BR
+       ;;
+       fr-CA)
+               lang=fr_CA
+       ;;
+       pt-PT)
+               lang=pt
+       ;;
+       es-419)
+               lang=es_LA
+       ;;
+       *-*)
+               echo >&2 "ERROR: Need mapping for $lang!"
+               rc=1
+       ;;
+       esac
+       echo "%lang($lang) ${file#$RPM_BUILD_ROOT}" >> $langfile
+done < $tmp
+
+if [ "$(grep -Ev '(^%defattr|^$)' $langfile | wc -l)" -le 0 ]; then
+       echo >&2 "$PROG: Error: international files not found!"
+       rc=1
+fi
+
+rm -f $tmp
+exit $rc
index 647941fd7e4192a1bb8a85d9194475017f913179..d028676afa77faaec765355e51d837c30820a542 100644 (file)
@@ -14,13 +14,14 @@ Summary(hu.UTF-8):  A világ leggyorsabb webböngészője
 Summary(pl.UTF-8):     Najszybsza przeglądarka WWW na świecie
 Name:          opera
 Version:       31.0.1889.174
-Release:       0.7
+Release:       0.8
 Epoch:         2
 License:       Distributable
 Group:         X11/Applications/Networking
 Source10:      ftp://ftp.opera.com/pub/opera/desktop/%{version}/linux/%{name}-stable_%{version}_amd64.deb
 # Source10-md5:        71d13017ca60bbf4619dc3faf58fd94e
 Source1:       %{name}.sh
+Source2:       find-lang.sh
 Patch1:                %{name}-desktop.patch
 Patch2:                pepper_flash_config.patch
 URL:           http://www.opera.com/
@@ -37,6 +38,8 @@ Obsoletes:    opera-i18n
 ExclusiveArch: %{x8664}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                find_lang       sh find-lang.sh %{buildroot}
+
 %define                _enable_debug_packages  0
 %define                no_install_post_strip   1
 
@@ -77,7 +80,8 @@ mv usr/share/doc/opera-stable/* .
 %patch1 -p1
 %patch2 -p1
 
-sed -e 's#/usr/lib/opera#%{_libdir}/opera#g' %{_sourcedir}/%{name}.sh > %{name}.sh
+%{__sed} -e 's#/usr/lib/opera#%{_libdir}/opera#g' %{_sourcedir}/%{name}.sh > %{name}.sh
+%{__sed} -e 's,@localedir@,%{_datadir}/%{name}/localization,' %{_sourcedir}/find-lang.sh > find-lang.sh
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -103,6 +107,11 @@ install -p %{name}.sh $RPM_BUILD_ROOT%{_bindir}/%{name}
 cp -p %{name}.desktop $RPM_BUILD_ROOT%{_desktopdir}
 cp -a icons/* $RPM_BUILD_ROOT%{_iconsdir}
 
+# find locales
+%find_lang %{name}.lang
+# always package en-US
+%{__sed} -i -e '/en-US.pak/d' %{name}.lang
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -118,7 +127,7 @@ if [ "$1" = 0 ]; then
        %update_browser_plugins
 fi
 
-%files
+%files -f %{name}.lang
 %defattr(644,root,root,755)
 %doc copyright
 %{_browserpluginsconfdir}/browsers.d/%{name}.*
@@ -134,7 +143,8 @@ fi
 %{_datadir}/%{name}/resources/*.json
 %{_datadir}/%{name}/resources/dictionaries.xml
 %{_datadir}/%{name}/resources/inspector
-%{_datadir}/%{name}/localization
+%dir %{_datadir}/%{name}/localization
+%{_datadir}/%{name}/localization/en-US.pak
 
 %dir %{_libdir}/%{name}
 %{_libdir}/%{name}/icudtl.dat
This page took 0.353541 seconds and 4 git commands to generate.