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