packages: roundcubemail/roundcubemail.spec, roundcubemail/find-lang.sh (NEW...
glen
glen at pld-linux.org
Fri Oct 8 09:43:52 CEST 2010
Author: glen Date: Fri Oct 8 07:43:52 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- add find lang script
- script packaging plugins
---- Files affected:
packages/roundcubemail:
roundcubemail.spec (1.104 -> 1.105) , find-lang.sh (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/roundcubemail/roundcubemail.spec
diff -u packages/roundcubemail/roundcubemail.spec:1.104 packages/roundcubemail/roundcubemail.spec:1.105
--- packages/roundcubemail/roundcubemail.spec:1.104 Tue Oct 5 13:33:13 2010
+++ packages/roundcubemail/roundcubemail.spec Fri Oct 8 09:43:46 2010
@@ -21,7 +21,7 @@
Summary(pl.UTF-8): RoundCube Webmail - poczta przez WWW
Name: roundcubemail
Version: 0.4
-Release: 4
+Release: 5
License: GPL v2
Group: Applications/Mail
Source0: http://downloads.sourceforge.net/roundcubemail/%{name}-%{version}.tar.gz
@@ -31,6 +31,7 @@
Source3: %{name}-lighttpd.conf
Source4: http://nejc.skoberne.net/wp-content/uploads/2008/11/rcpfa-105.tgz
# Source4-md5: dc23bcd894f693db74fce53b09ab58d6
+Source5: find-lang.sh
Patch0: %{name}-config.patch
Patch1: %{name}-spam.patch
Patch2: %{name}-postfixadmin-pl_locales.patch
@@ -85,6 +86,8 @@
%define _applogdir /var/log/roundcube
%define _archivelogdir /var/log/archive/roundcube
+%define find_lang sh %{SOURCE5} %{buildroot}
+
# bad depsolver
%define _noautopear pear
@@ -200,6 +203,9 @@
# unknown MDB2 version (newer than released 2.5.0b2, or modified by rc)
#rm program/lib/MDB2.php
+# pear package junk
+rm -v plugins/*/package.xml
+
mv config/db.inc.php.dist config/db.inc.php
mv config/main.inc.php.dist config/main.inc.php
%if %{with postfixadmin}
@@ -258,6 +264,32 @@
cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+# find locales
+%find_lang %{name}.lang
+# sed -ne 's/%lang(\([^)]\+\).*/\1/p' %{name}.lang | sort -u | grep _
+
+# now package plugins using filelist as well, as due lang tagging the files
+# section will go unmanageable
+for p in $RPM_BUILD_ROOT%{_appdir}/plugins/*; do
+ echo "%dir ${p#$RPM_BUILD_ROOT}"
+ for p in $p/*; do
+ d=${p##*/}
+ p=${p#$RPM_BUILD_ROOT}
+ case "$d" in
+ localization)
+ continue
+ ;;
+ README | Changelog | config.inc.php.dist)
+ echo "%doc $p"
+ ;;
+ *)
+ echo "$p"
+ ;;
+ esac
+ done
+done > plugins.lang
+cat plugins.lang >> %{name}.lang
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -306,7 +338,7 @@
%triggerun -- lighttpd
%webapp_unregister lighttpd %{_webapp}
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
%doc CHANGELOG INSTALL README UPGRADING
%dir %attr(750,root,http) %{_sysconfdir}
@@ -327,78 +359,9 @@
%{_appdir}/program/js
%{_appdir}/program/lib
%{_appdir}/program/steps
-%dir %{_appdir}/program/localization
%{_appdir}/program/localization/index.inc
-%{_appdir}/plugins
-%lang(ar_SA) %{_appdir}/program/localization/ar_SA
-%lang(ast) %{_appdir}/program/localization/ast
-%lang(az) %{_appdir}/program/localization/az_AZ
-%lang(bg) %{_appdir}/program/localization/bg_BG
-%lang(bn_BD) %{_appdir}/program/localization/bn_BD
-%lang(br) %{_appdir}/program/localization/br
-%lang(bs) %{_appdir}/program/localization/bs_BA
-%lang(ca) %{_appdir}/program/localization/ca_ES
-%lang(cs) %{_appdir}/program/localization/cs_CZ
-%lang(cy) %{_appdir}/program/localization/cy_GB
-%lang(da) %{_appdir}/program/localization/da_DK
-%lang(de) %{_appdir}/program/localization/de_DE
-%lang(de_CH) %{_appdir}/program/localization/de_CH
-%lang(el) %{_appdir}/program/localization/el_GR
-%lang(en_GB) %{_appdir}/program/localization/en_GB
-%lang(en_US) %{_appdir}/program/localization/en_US
-%lang(eo) %{_appdir}/program/localization/eo
-%lang(es) %{_appdir}/program/localization/es_ES
-%lang(es_AR) %{_appdir}/program/localization/es_AR
-%lang(et) %{_appdir}/program/localization/et_EE
-%lang(eu) %{_appdir}/program/localization/eu_ES
-%lang(fa) %{_appdir}/program/localization/fa
-%lang(fa_AF) %{_appdir}/program/localization/fa_AF
-%lang(fi) %{_appdir}/program/localization/fi_FI
-%lang(fr) %{_appdir}/program/localization/fr_FR
-%lang(ga) %{_appdir}/program/localization/ga_IE
-%lang(gl) %{_appdir}/program/localization/gl_ES
-%lang(he) %{_appdir}/program/localization/he_IL
-%lang(hi) %{_appdir}/program/localization/hi_IN
-%lang(hr) %{_appdir}/program/localization/hr_HR
-%lang(hu) %{_appdir}/program/localization/hu_HU
-%lang(hy) %{_appdir}/program/localization/hy_AM
-%lang(id) %{_appdir}/program/localization/id_ID
-%lang(is) %{_appdir}/program/localization/is_IS
-%lang(it) %{_appdir}/program/localization/it_IT
-%lang(ja) %{_appdir}/program/localization/ja_JP
-%lang(ka) %{_appdir}/program/localization/ka_GE
-%lang(ko) %{_appdir}/program/localization/ko_KR
-%lang(ku) %{_appdir}/program/localization/ku
-%lang(lt) %{_appdir}/program/localization/lt_LT
-%lang(lv) %{_appdir}/program/localization/lv_LV
-%lang(mk) %{_appdir}/program/localization/mk_MK
-%lang(mr) %{_appdir}/program/localization/mr_IN
-%lang(ms) %{_appdir}/program/localization/ms_MY
-%lang(nb) %{_appdir}/program/localization/nb_NO
-%lang(ne) %{_appdir}/program/localization/ne_NP
-%lang(nl) %{_appdir}/program/localization/nl_NL
-%lang(nl_BE) %{_appdir}/program/localization/nl_BE
-%lang(nn) %{_appdir}/program/localization/nn_NO
-%lang(pl) %{_appdir}/program/localization/pl_PL
-%lang(ps) %{_appdir}/program/localization/ps
-%lang(pt) %{_appdir}/program/localization/pt_PT
-%lang(pt_BR) %{_appdir}/program/localization/pt_BR
-%lang(ro) %{_appdir}/program/localization/ro_RO
-%lang(ru) %{_appdir}/program/localization/ru_RU
-%lang(si) %{_appdir}/program/localization/si_LK
-%lang(sk) %{_appdir}/program/localization/sk_SK
-%lang(sl) %{_appdir}/program/localization/sl_SI
-%lang(sq) %{_appdir}/program/localization/sq_AL
-%lang(sr) %{_appdir}/program/localization/sr_CS
-%lang(sv) %{_appdir}/program/localization/sv_SE
-%lang(ta_IN) %{_appdir}/program/localization/ta_IN
-%lang(th) %{_appdir}/program/localization/th_TH
-%lang(tr) %{_appdir}/program/localization/tr_TR
-%lang(uk) %{_appdir}/program/localization/uk_UA
-%lang(vn) %{_appdir}/program/localization/vi_VN
-%lang(zh_CN) %{_appdir}/program/localization/zh_CN
-%lang(zh_TW) %{_appdir}/program/localization/zh_TW
+%dir %{_appdir}/plugins
%dir %{_appdir}/skins
%dir %attr(770,root,http) %{_applogdir}
@@ -428,6 +391,10 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.105 2010/10/08 07:43:46 glen
+- add find lang script
+- script packaging plugins
+
Revision 1.104 2010/10/05 11:33:13 glen
- apply shared folders patch
================================================================
Index: packages/roundcubemail/find-lang.sh
diff -u /dev/null packages/roundcubemail/find-lang.sh:1.1
--- /dev/null Fri Oct 8 09:43:52 2010
+++ packages/roundcubemail/find-lang.sh Fri Oct 8 09:43:46 2010
@@ -0,0 +1,111 @@
+#!/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/usr/share/roundcube
+langfile=$1
+tmp=$(mktemp) || exit 1
+rc=0
+
+lang_alias() {
+ local lang=$1 l
+ l=$(awk -F: -vl=$lang '$2 == l {print $1}' $0)
+ echo ${l:-$lang}
+}
+
+find $dir -type d -name localization > $tmp
+
+echo '%defattr(644,root,root,755)' > $langfile
+while read dir; do
+ echo "%dir ${dir#$RPM_BUILD_ROOT}" >> $langfile
+ for path in $dir/*; do
+ if [ -d "$path" ]; then
+ lang=${path##*/}
+ path=${path#$RPM_BUILD_ROOT}
+ else
+ lang=${path##*/}
+ lang=${lang%.inc}
+ path=${path#$RPM_BUILD_ROOT}
+ fi
+
+ lang=$(lang_alias "$lang")
+
+ case "$lang" in
+ index) # ignore
+ continue
+ ;;
+ *.*)
+ echo >&2 "ERROR: bad match: $lang"
+ rc=1
+ ;;
+ *-*)
+ echo >&2 "ERROR: Need mapping for $lang!"
+ rc=1
+ ;;
+ esac
+ echo "%lang($lang) ${path}" >> $langfile
+ done
+done < $tmp
+
+if [ "$(egrep -v '(^%defattr|^$)' $langfile | wc -l)" -le 0 ]; then
+ echo >&2 "$PROG: Error: international files not found!"
+ rc=1
+fi
+
+rm -f $tmp
+exit $rc
+
+# LANGMAP
+az:az_AZ
+bg:bg_BG
+bs:bs_BA
+ca:ca_ES
+cs:cs_CZ
+cy:cy_GB
+da:da_DK
+de:de_DE
+el:el_GR
+es:es_ES
+et:et_EE
+eu:eu_ES
+fi:fi_FI
+fr:fr_FR
+ga:ga_IE
+gl:gl_ES
+he:he_IL
+hi:hi_IN
+hr:hr_HR
+hu:hu_HU
+hy:hy_AM
+id:id_ID
+is:is_IS
+it:it_IT
+ja:ja_JP
+ka:ka_GE
+ko:ko_KR
+lt:lt_LT
+lv:lv_LV
+mk:mk_MK
+mr:mr_IN
+ms:ms_MY
+nb:nb_NO
+ne:ne_NP
+nl:nl_NL
+nn:nn_NO
+pl:pl_PL
+pt:pt_PT
+ro:ro_RO
+ru:ru_RU
+si:si_LK
+sk:sk_SK
+sl:sl_SI
+sq:sq_AL
+sr:sr_CS
+sv:sv_SE
+th:th_TH
+tr:tr_TR
+uk:uk_UA
+vn:vi_VN
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/roundcubemail/roundcubemail.spec?r1=1.104&r2=1.105&f=u
More information about the pld-cvs-commit
mailing list