From owner-svn-src-user@FreeBSD.ORG Sun Sep 13 11:50:09 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B22431065743; Sun, 13 Sep 2009 11:50:08 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A0D638FC0C; Sun, 13 Sep 2009 11:50:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8DBo8qR020299; Sun, 13 Sep 2009 11:50:08 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8DBo8ra020297; Sun, 13 Sep 2009 11:50:08 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909131150.n8DBo8ra020297@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 13 Sep 2009 11:50:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197160 - user/edwin/locale/share X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2009 11:50:09 -0000 Author: edwin Date: Sun Sep 13 11:50:08 2009 New Revision: 197160 URL: http://svn.freebsd.org/changeset/base/197160 Log: Redo the calculation of the SYMLINKS. Modified: user/edwin/locale/share/Makefile.def.inc Modified: user/edwin/locale/share/Makefile.def.inc ============================================================================== --- user/edwin/locale/share/Makefile.def.inc Sun Sep 13 11:45:31 2009 (r197159) +++ user/edwin/locale/share/Makefile.def.inc Sun Sep 13 11:50:08 2009 (r197160) @@ -18,25 +18,21 @@ ICONV_hi_IN.ISCII-DEV= bsdiconv # All charactermaps CMS=UTF-8 .for ccln in ${CCLN} -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} -. if ${CMS:M${cm}} == "" +. for cm in ${CMS_${ccln}} +. if ${CMS:M${cm}} == "" CMS+= ${cm} -. endif -. endfor -. endif +. endif +. endfor .endfor # All files generated and their locations ALLFILES= ${CCLN:S/$/.UTF-8/} .for ccln in ${CCLN} FILESDIR_${ccln}.UTF-8.out= ${LOCALEDIR}/${ccln}.UTF-8 -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} +. for cm in ${CMS_${ccln}} ALLFILES+= ${ccln}.${cm} FILESDIR_${ccln}.${cm}.out= ${LOCALEDIR}/${ccln}.${cm} -. endfor -. endif +. endfor .endfor FILES= ${ALLFILES:S/$/.out/} @@ -47,93 +43,215 @@ CLEANFILES+= ${CCLN:S/$/.src/} FILESNAME= ${LCTYPE} # All links -SYMLINKS= +# +# CMS_ca_ES= ISO8859-1 +# CMSLINK_ca_ES= ISO8859-2 +# CMSLINK_ca_ES.ISO8859-1= ISO8859-15 +# CCLNLINK_ca_ES= ca_FR +# CCLNLINK_ca_ES.UTF-8= ca_IT.UTF-8 +# LEGLINK_ca_ES= ca_CA +# +# First create the direct CMSLINK symlinks: +# +# foreach cm in CMSLINK_ca_ES +# ca_ES.cm -> ca_ES.UTF-8 +# endfor +# foreach cm in CMS +# if defined(CMSLINK_ca_ES.cm) +# foreach cmi in CMSLINK_ca_ES.cm +# ca_ES.cmi -> ca_ES.cm +# endfor +# endif +# endfor +# +# Next create the direct CCNLNLINK symlinks: +# +# foreach ccln in CCLNLINK_ca_ES +# foreach cm in CMSLINK_ca_ES +# ccln.cm -> ca_ES.UTF-8 +# endfor +# endfor +# foreach ccln in CCLNLINK_ca_ES +# foreach cm in CMS +# if defined(CMSLINK_ca_ES.cm) +# foreach cmi in CMSLINK_ca_ES.cm +# ccln.cmi -> ca_ES.cm +# endfor +# endif +# endfor +# endfor +# +# And the per-charactermap CCNLNLINK symlinks: +# +# foreach ccln in CCLN +# foreach cm in CMS +# if defined(CCLNLINK_ccln.cm) +# foreach cclncm in CCLNLINK_ccln.cm +# cclncm -> ccln.cm +# endfor +# endif +# endfor +# endfor +# +# af_ZA.UTF-8 +# af_ZA.ISO8859-1 +# af_ZA.ISO8859-15 -> af_ZA.ISO8859-1 +# af_ZA.ISO8859-2 -> af_ZA.UTF-8 +# +# af_ZB.UTF-8 -> af_ZA.UTF-8 +# af_ZB.ISO8859-1 -> af_ZA.ISO8859-1 +# af_ZB.ISO8859-15 -> af_ZB.ISO8895-1 +# af_ZB.ISO8859-2 -> af_ZB.UTF-8 +# +# af_ZC.UTF-8 -> af_ZA.UTF-8 +# +# af_ZD.UTF-8 -> af_ZA.UTF-8 +# af_ZD.ISO8859-1 -> af_ZA.ISO8859-1 +# af_ZD.ISO8859-15 -> af_ZD.ISO8895-1 +# af_ZD.ISO8859-2 -> af_ZD.UTF-8 +# + +# LEGLINK_xxXX is nothing more than a CCLNLINK_xxXX .for ccln in ${CCLN} -. if defined(CMSLINK_${ccln}) -. for cm in ${CMSLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${ccln}.${cm} -. endfor -. endif +. for _ccln in ${LEGLINK_${ccln}} +CCLNLINK_${ccln}+= ${_ccln} +. endfor . for cm in ${CMS} -. if defined(CMSLINK_${ccln}.${cm}) -. for cclncm in ${CMSLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor +. ifdef LEGLINK_${ccln}.${cm} +CCLNLINK_${ccln}.${cm}+= ${LEGLINK_${ccln}.${cm}} . endif . endfor .endfor +# +# First create the direct CMSLINK symlinks: +# +# foreach cm in CMSLINK_ca_ES +# ca_ES.cm -> ca_ES.UTF-8 +# endfor .for ccln in ${CCLN} +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${ccln}.${cm} +. endfor +.endfor -. if defined(LEGLINK_${ccln}) -. for _ccln in ${LEGLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} -. endfor -. endif - -. if defined(CMSLINK_${ccln}) -. for cm in ${CMSLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} -. endfor -. endif - -. for cm in ${CMS} -. if defined(CMSLINK_${ccln}.${cm}) -. for cclncm in ${CMSLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor -. endif -. endfor -. endfor -. endif - +# foreach cm in CMS +# if defined(CMSLINK_ca_ES.cm) +# foreach cmi in CMSLINK_ca_ES.cm +# ca_ES.cmi -> ca_ES.cm +# endfor +# endif +# endfor +.for ccln in ${CCLN} . for cm in ${CMS} -. if defined(LEGLINK_${ccln}.${cm}) -. for cclncm in ${LEGLINK_${ccln}.${cm}} +. ifdef CMSLINK_${ccln}.${cm} +. for cclncm in ${CMSLINK_${ccln}.${cm}} SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} . endfor . endif . endfor +.endfor -. if defined(CCLNLINK_${ccln}) -. for _ccln in ${CCLNLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.UTF-8 -. if defined(CMS_${ccln}) -. for cm in ${CMS_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} -. endfor -. endif - -. if defined(CMSLINK_${ccln}) -. for cm in ${CMSLINK_${ccln}} -SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${_ccln}.${cm} +# +# Next create the direct CCNLNLINK symlinks: +# +# foreach ccln in CCLNLINK_ca_ES +# ccln.UTF-8 -> ca_ES.UTF-8 +# foreach cm in CMSLINK_ca_ES +# ccln.cm -> ca_ES.UTF-8 +# endfor +# endfor +.for ccln in ${CCLN} +. for cclni in ${CCLNLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${cclni}.UTF-8 +. for cm in ${CMS_${ccln}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclni}.${cm} +. endfor +. for cm in ${CMSLINK_${ccln}} +SYMLINKS+= ../${ccln}.UTF-8/${LCTYPE} ${LOCALEDIR}/${cclni}.${cm} +. endfor +. endfor +.endfor +# foreach ccln in CCLNLINK_ca_ES +# foreach cm in CMS +# if defined(CMSLINK_ca_ES.cm) +# foreach cclncmi in CMSLINK_ca_ES.cm +# cclncmi(ca_ES -> ccln) -> ca_ES.cm +# endfor +# endif +# endfor +# endfor +.for ccln in ${CCLN} +. for cclni in ${CCLNLINK_${ccln}} +. for cm in ${CMS} +. ifdef CMSLINK_${ccln}.${cm} +. for cclncmi in ${CMSLINK_${ccln}.${cm}} +SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncmi:S/${ccln}/${cclni}/} . endfor . endif - -. for cm in ${CMS} -. if defined(CMSLINK_${ccln}.${cm}) -. for cclncm in ${CMSLINK_${ccln}.${cm}} -SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -. endfor -. endif -. endfor . endfor -. endif +. endfor +.endfor +# +# And the per-charactermap CCNLNLINK symlinks: +# +# foreach ccln in CCLN +# foreach cm in CMS +# if defined(CCLNLINK_ccln.cm) +# foreach cclncm in CCLNLINK_ccln.cm +# cclncm -> ccln.cm +# endfor +# endif +# endfor +# endfor +.for ccln in ${CCLN} . for cm in ${CMS} -. if defined(CCLNLINK_${ccln}.${cm}) +. ifdef CCLNLINK_${ccln}.${cm} . for cclncm in ${CCLNLINK_${ccln}.${cm}} SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} . endfor . endif . endfor +.endfor + +## CMSLINK_xxXX=cm is nothing more than CMSLINK_xxXX.UTF-8=cm +#.for ccln in ${CCLN} +#.warning 0: ${ccln} +#CMSLINK_${ccln}.UTF-8+= ${CMSLINK_${ccln}:S/^/${ccln}./} +#.endfor +# +## CCLNLINK_xxXX=yyYY is nothing more than CCLNLINK_xxXX.(CMS_xxXX + CMSLINK_xxXX)=yyYY.(CMS) +#.for ccln in ${CCLN} +#. for cm in ${CMS_${ccln}} +#.warning 1ccln: ${ccln} +#.warning 1cm: ${cm} +#CCLNLINK_${ccln}.${cm}+= ${CCLNLINK_${ccln}:S/$/.${cm}/} +#. endfor +#. for cm in ${CMS} +#.warning 2cm: ${cm} +#. for cclncm in ${CMSLINK_${ccln}.${cm}} +#.warning 2cclncm: ${cclncm} +#CCLNLINK_${ccln}.${cm}+= ${cclncm} +#. endfor +#. endfor +#.endfor +# +#SYMLINKS= +## Now join all symlinks +#.for ccln in ${CCLN} +#. for cm in ${CMS} +#. for cclncm in ${CCLNLINK_${ccln}.${cm}} +#SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} +#. endfor +#. endfor +#.endfor + # # Fill in the ICONV_ variables with the default values. # +.for ccln in ${CCLN} . if defined(CMS_${ccln}) . for cms in ${CMS_${ccln}} . if !defined(ICONV_${ccln}.${cms}) @@ -141,7 +259,6 @@ ICONV_${ccln}.${cms}= ${ICONV} . endif . endfor . endif - .endfor .for cm in ${CMS} @@ -180,7 +297,7 @@ ${ccln}.UTF-8.out: ${ccln}.src . if defined(CMS_${ccln}) . for cms in ${CMS_${ccln}} -${ccln}.${cms}.out: ${ccln}.src +${ccln}.${cms}.out: ${ccln}.UTF-8.out cat ${.ALLSRC} \ ${_TRANSLATION_${cms}} | \ ${ICONV_${ccln}.${cms}} \ From owner-svn-src-user@FreeBSD.ORG Sun Sep 13 11:52:16 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B557106566C; Sun, 13 Sep 2009 11:52:16 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 09A048FC15; Sun, 13 Sep 2009 11:52:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8DBqF1E020390; Sun, 13 Sep 2009 11:52:15 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8DBqF8p020382; Sun, 13 Sep 2009 11:52:15 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909131152.n8DBqF8p020382@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 13 Sep 2009 11:52:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197161 - in user/edwin/locale/share: monetdef numericdef timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2009 11:52:16 -0000 Author: edwin Date: Sun Sep 13 11:52:15 2009 New Revision: 197161 URL: http://svn.freebsd.org/changeset/base/197161 Log: Fixes from the new way to calculate SYMLINKS. Added: user/edwin/locale/share/monetdef/zh_Hans_CN.unicode - copied unchanged from r196846, user/edwin/locale/share/monetdef/zh_CN.unicode user/edwin/locale/share/monetdef/zh_Hant_HK.unicode - copied unchanged from r196846, user/edwin/locale/share/monetdef/zh_HK.unicode user/edwin/locale/share/monetdef/zh_Hant_TW.unicode - copied unchanged from r196846, user/edwin/locale/share/monetdef/zh_TW.unicode user/edwin/locale/share/numericdef/zh_Hans_CN.unicode - copied unchanged from r196817, user/edwin/locale/share/numericdef/zh_CN.unicode Deleted: user/edwin/locale/share/monetdef/zh_CN.unicode user/edwin/locale/share/monetdef/zh_HK.unicode user/edwin/locale/share/monetdef/zh_TW.unicode user/edwin/locale/share/numericdef/zh_CN.unicode Modified: user/edwin/locale/share/monetdef/Makefile user/edwin/locale/share/numericdef/Makefile user/edwin/locale/share/timedef/Makefile Modified: user/edwin/locale/share/monetdef/Makefile ============================================================================== --- user/edwin/locale/share/monetdef/Makefile Sun Sep 13 11:50:08 2009 (r197160) +++ user/edwin/locale/share/monetdef/Makefile Sun Sep 13 11:52:15 2009 (r197161) @@ -7,7 +7,7 @@ CCLN= af_ZA am_ET be_BY bg_BG hi_IN hr_HR hu_HU hy_AM is_IS it_IT ja_JP kk_KZ \ ko_KR lt_LT mn_MN nl_BE nl_NL no_NO pl_PL pt_BR \ pt_PT ro_RO ru_RU sk_SK sl_SI sr_Cyrl_RS sr_Latn_RS \ - sv_SE tr_TR uk_UA zh_CN zh_HK zh_TW + sv_SE tr_TR uk_UA zh_Hans_CN zh_Hant_HK zh_Hant_TW # For these locales, beside creating the UTF-8 map also create these # charactermaps. @@ -83,7 +83,8 @@ TRANSLATION_ISO8859-1= E282AC:455552 # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP LEGLINK_zh_Hans_CN= zh_CN -LEGLINK_zh_Hant_TW= zh_TW zh_HK +LEGLINK_zh_Hant_TW= zh_TW +LEGLINK_zh_Hant_HK= zh_HK LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK Copied: user/edwin/locale/share/monetdef/zh_Hans_CN.unicode (from r196846, user/edwin/locale/share/monetdef/zh_CN.unicode) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/zh_Hans_CN.unicode Sun Sep 13 11:52:15 2009 (r197161, copy of r196846, user/edwin/locale/share/monetdef/zh_CN.unicode) @@ -0,0 +1,36 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) + +# currency_symbol + +# mon_decimal_point + +# mon_thousands_sep + +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign + +# int_frac_digits +0 +# frac_digits +0 +# p_cs_precedes +1 +# p_sep_by_space +0 +# n_cs_precedes +1 +# n_sep_by_space +0 +# p_sign_posn +1 +# n_sign_posn +4 +# EOF Copied: user/edwin/locale/share/monetdef/zh_Hant_HK.unicode (from r196846, user/edwin/locale/share/monetdef/zh_HK.unicode) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/zh_Hant_HK.unicode Sun Sep 13 11:52:15 2009 (r197161, copy of r196846, user/edwin/locale/share/monetdef/zh_HK.unicode) @@ -0,0 +1,36 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) + +# currency_symbol + +# mon_decimal_point + +# mon_thousands_sep + +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign + +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +1 +# p_sep_by_space +0 +# n_cs_precedes +1 +# n_sep_by_space +0 +# p_sign_posn +1 +# n_sign_posn +0 +# EOF Copied: user/edwin/locale/share/monetdef/zh_Hant_TW.unicode (from r196846, user/edwin/locale/share/monetdef/zh_TW.unicode) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/zh_Hant_TW.unicode Sun Sep 13 11:52:15 2009 (r197161, copy of r196846, user/edwin/locale/share/monetdef/zh_TW.unicode) @@ -0,0 +1,36 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) + +# currency_symbol + +# mon_decimal_point + +# mon_thousands_sep + +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign + +# int_frac_digits +0 +# frac_digits +0 +# p_cs_precedes +1 +# p_sep_by_space +0 +# n_cs_precedes +1 +# n_sep_by_space +0 +# p_sign_posn +1 +# n_sign_posn +4 +# EOF Modified: user/edwin/locale/share/numericdef/Makefile ============================================================================== --- user/edwin/locale/share/numericdef/Makefile Sun Sep 13 11:50:08 2009 (r197160) +++ user/edwin/locale/share/numericdef/Makefile Sun Sep 13 11:52:15 2009 (r197161) @@ -6,7 +6,7 @@ CCLN= af_ZA am_ET be_BY bg_BG fr_FR hi_IN hr_HR hu_HU hy_AM is_IS it_IT ja_JP \ kk_KZ ko_KR lt_LT mn_MN nl_NL no_NO pl_PL pt_BR \ pt_PT ro_RO ru_RU sk_SK sl_SI sr_Cyrl_RS sr_Latn_RS \ - sv_SE tr_TR uk_UA zh_CN + sv_SE tr_TR uk_UA zh_Hans_CN # For these locales, beside creating the UTF-8 map also create these # charactermaps. @@ -58,19 +58,18 @@ CMSLINK_zh_Hans_CN= GB18030 GB2312 GBK e # For these locales, also create symlinks to the main locale. CCLNLINK_ca_ES= ca_AD ca_FR ca_IT CCLNLINK_de_DE= de_AT -CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 +CCLNLINK_en_US.UTF-8= en_IE.UTF-8 CCLNLINK_en_US= en_AU en_CA en_GB en_NZ CCLNLINK_en_US.UTF-8= he_IL.UTF-8 CCLNLINK_fr_BE= nl_BE CCLNLINK_fr_FR= fr_CA fr_CH CCLNLINK_it_IT= it_CH CCLNLINK_no_NO= nb_NO nn_NO -CCLNLINK_zh_HK.UTF-8= zh_Hant_HK.Big5HKSCS zh_Hant_HK.UTF-8 zh_Hant_TW.Big5 zh_Hant_TW.UTF-8 +CCLNLINK_zh_Hans_HK.UTF-8= zh_Hant_HK.Big5HKSCS zh_Hant_HK.UTF-8 zh_Hant_TW.Big5 zh_Hant_TW.UTF-8 # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP -LEGLINK_zh_Hans_CN= zh_CN -LEGLINK_zh_Hant_TW= zh_TW zh_HK +LEGLINK_zh_Hans_CN= zh_CN zh_TW zh_HK LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK Copied: user/edwin/locale/share/numericdef/zh_Hans_CN.unicode (from r196817, user/edwin/locale/share/numericdef/zh_CN.unicode) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/numericdef/zh_Hans_CN.unicode Sun Sep 13 11:52:15 2009 (r197161, copy of r196817, user/edwin/locale/share/numericdef/zh_CN.unicode) @@ -0,0 +1,12 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# decimal_point + +# thousands_sep + +# grouping, separated by ; +3;3 +# EOF Modified: user/edwin/locale/share/timedef/Makefile ============================================================================== --- user/edwin/locale/share/timedef/Makefile Sun Sep 13 11:50:08 2009 (r197160) +++ user/edwin/locale/share/timedef/Makefile Sun Sep 13 11:52:15 2009 (r197161) @@ -57,14 +57,13 @@ CMS_zh_Hant_TW= Big5 # For these locales, link the following charactermaps to the UTF-8 map. # (unless the origin charactermap is defined) -CMSLINK_af_ZA= ISO8859-1 ISO8859-15 CMSLINK_ca_ES.ISO8859-1= ca_ES.ISO8859-15 -CMSLINK_da_DK.ISO8859-1= ca_ES.ISO8859-15 +CMSLINK_da_DK.ISO8859-1= da_DK.ISO8859-15 CMSLINK_de_AT.ISO8859-1= de_AT.ISO8859-15 CMSLINK_de_DE.ISO8859-1= de_DE.ISO8859-15 CMSLINK_en_GB= ISO8859-1 ISO8859-15 US-ASCII CMSLINK_en_US= ISO8859-1 ISO8859-15 US-ASCII -CMSLINK_es_ES= ISO8859-1 +CMSLINK_es_ES= ISO8859-15 CMSLINK_eu_ES= ISO8859-1 ISO8859-15 CMSLINK_fi_FI.ISO8859-1= fi_FI.ISO8859-15 CMSLINK_fr_FR.ISO8859-1= fr_FR.ISO8859-15 @@ -81,10 +80,12 @@ CMSLINK_zh_Hans_CN.GB2312= zh_Hans_CN.GB # For these locales, also create symlinks to the main locale. CCLNLINK_en_US.UTF-8= af_ZA.UTF-8 -CCLNLINK_ca_ES= ca_AD ca_IT ca_IT +CCLNLINK_en_US.ISO8859-1= af_ZA.ISO8859-1 +CCLNLINK_en_US.ISO8859-15= af_ZA.ISO8859-15 +CCLNLINK_ca_ES= ca_AD ca_FR ca_IT CCLNLINK_de_DE= de_CH CCLNLINK_en_GB= en_AU en_CA en_NZ -CCLNLINK_en_IE.UTF-8= en_GB.UTF-8 +CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 CCLNLINK_fr_FR= fr_BE fr_CA fr_CH CCLNLINK_it_IT= it_CH CCLNLINK_nl_NL= nl_BE From owner-svn-src-user@FreeBSD.ORG Sun Sep 13 21:51:13 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8F93106568F; Sun, 13 Sep 2009 21:51:13 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A87B08FC15; Sun, 13 Sep 2009 21:51:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8DLpDsM032741; Sun, 13 Sep 2009 21:51:13 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8DLpDBO032739; Sun, 13 Sep 2009 21:51:13 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909132151.n8DLpDBO032739@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 13 Sep 2009 21:51:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197179 - user/edwin/locale/share X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2009 21:51:13 -0000 Author: edwin Date: Sun Sep 13 21:51:13 2009 New Revision: 197179 URL: http://svn.freebsd.org/changeset/base/197179 Log: For this project only, remove the un-changed stuff from the build Modified: user/edwin/locale/share/Makefile Modified: user/edwin/locale/share/Makefile ============================================================================== --- user/edwin/locale/share/Makefile Sun Sep 13 21:51:01 2009 (r197178) +++ user/edwin/locale/share/Makefile Sun Sep 13 21:51:13 2009 (r197179) @@ -5,7 +5,9 @@ # Do not include `info' in the SUBDIR list, it is handled separately. -SUBDIR= ${_colldef} \ +SUBDIR= msgdef numericdef timedef monetdef + +_SUBDIR= ${_colldef} \ ${_dict} \ ${_doc} \ ${_examples} \ From owner-svn-src-user@FreeBSD.ORG Sun Sep 13 21:52:36 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFB85106566B; Sun, 13 Sep 2009 21:52:36 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF5C08FC16; Sun, 13 Sep 2009 21:52:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8DLqaO5032805; Sun, 13 Sep 2009 21:52:36 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8DLqa7R032803; Sun, 13 Sep 2009 21:52:36 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909132152.n8DLqa7R032803@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 13 Sep 2009 21:52:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197180 - user/edwin/locale/share X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2009 21:52:37 -0000 Author: edwin Date: Sun Sep 13 21:52:36 2009 New Revision: 197180 URL: http://svn.freebsd.org/changeset/base/197180 Log: Not only take the list of charactermaps from the CMS_xx variables, but also from the CMSLINK_xx variables. Modified: user/edwin/locale/share/Makefile.def.inc Modified: user/edwin/locale/share/Makefile.def.inc ============================================================================== --- user/edwin/locale/share/Makefile.def.inc Sun Sep 13 21:51:13 2009 (r197179) +++ user/edwin/locale/share/Makefile.def.inc Sun Sep 13 21:52:36 2009 (r197180) @@ -23,6 +23,11 @@ CMS=UTF-8 CMS+= ${cm} . endif . endfor +. for cm in ${CMSLINK_${ccln}} +. if ${CMS:M${cm}} == "" +CMS+= ${cm} +. endif +. endfor .endfor # All files generated and their locations From owner-svn-src-user@FreeBSD.ORG Sun Sep 13 21:54:00 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F54F106566B; Sun, 13 Sep 2009 21:54:00 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F2D838FC08; Sun, 13 Sep 2009 21:53:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8DLrxiR032863; Sun, 13 Sep 2009 21:53:59 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8DLrxRO032861; Sun, 13 Sep 2009 21:53:59 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909132153.n8DLrxRO032861@svn.freebsd.org> From: Edwin Groothuis Date: Sun, 13 Sep 2009 21:53:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197181 - user/edwin/locale/share/numericdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2009 21:54:00 -0000 Author: edwin Date: Sun Sep 13 21:53:59 2009 New Revision: 197181 URL: http://svn.freebsd.org/changeset/base/197181 Log: fix regressions in numericdef Modified: user/edwin/locale/share/numericdef/Makefile Modified: user/edwin/locale/share/numericdef/Makefile ============================================================================== --- user/edwin/locale/share/numericdef/Makefile Sun Sep 13 21:52:36 2009 (r197180) +++ user/edwin/locale/share/numericdef/Makefile Sun Sep 13 21:53:59 2009 (r197181) @@ -28,6 +28,7 @@ CMSLINK_es_ES= ISO8859-1 ISO8859-15 CMSLINK_et_EE= ISO8859-15 CMSLINK_eu_ES= ISO8859-1 ISO8859-15 CMSLINK_fi_FI= ISO8859-1 ISO8859-15 +CMSLINK_fr_BE= ISO8859-1 ISO8859-15 CMSLINK_fr_FR= ISO8859-1 ISO8859-15 CMSLINK_hi_IN= ISCII-DEV CMSLINK_hr_HR= ISO8859-2 @@ -58,9 +59,8 @@ CMSLINK_zh_Hans_CN= GB18030 GB2312 GBK e # For these locales, also create symlinks to the main locale. CCLNLINK_ca_ES= ca_AD ca_FR ca_IT CCLNLINK_de_DE= de_AT -CCLNLINK_en_US.UTF-8= en_IE.UTF-8 CCLNLINK_en_US= en_AU en_CA en_GB en_NZ -CCLNLINK_en_US.UTF-8= he_IL.UTF-8 +CCLNLINK_en_US.UTF-8= en_IE.UTF-8 he_IL.UTF-8 CCLNLINK_fr_BE= nl_BE CCLNLINK_fr_FR= fr_CA fr_CH CCLNLINK_it_IT= it_CH @@ -69,7 +69,10 @@ CCLNLINK_zh_Hans_HK.UTF-8= zh_Hant_HK.Bi # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP -LEGLINK_zh_Hans_CN= zh_CN zh_TW zh_HK +LEGLINK_zh_Hans_CN= zh_CN +LEGLINK_zh_Hans_CN.Big5HKSCS= zh_HK.Big5HKSCS +LEGLINK_zh_Hans_CN.Big5= zh_HK.Big5 zh_TW.Big5 +LEGLINK_zh_Hans_CN.UTF-8= zh_HK.UTF-8 zh_TW.UTF-8 LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK From owner-svn-src-user@FreeBSD.ORG Mon Sep 14 07:56:05 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 164F61065672; Mon, 14 Sep 2009 07:56:05 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 05DC28FC08; Mon, 14 Sep 2009 07:56:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8E7u5fb044617; Mon, 14 Sep 2009 07:56:05 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8E7u44k044608; Mon, 14 Sep 2009 07:56:04 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909140756.n8E7u44k044608@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 14 Sep 2009 07:56:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197186 - in user/edwin/locale/share: . monetdef msgdef numericdef timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Sep 2009 07:56:05 -0000 Author: edwin Date: Mon Sep 14 07:56:04 2009 New Revision: 197186 URL: http://svn.freebsd.org/changeset/base/197186 Log: Merged: r196814 | ache | 2009-09-04 16:26:40 +1000 (Fri, 04 Sep 2009) | 5 lines r196813 | ache | 2009-09-04 16:19:37 +1000 (Fri, 04 Sep 2009) | 5 lines r196812 | ache | 2009-09-04 15:54:45 +1000 (Fri, 04 Sep 2009) | 5 lines r196792 | ache | 2009-09-04 03:37:23 +1000 (Fri, 04 Sep 2009) | 2 lines r196651 | ume | 2009-08-30 20:47:00 +1000 (Sun, 30 Aug 2009) | 4 lines Added: user/edwin/locale/share/mfc user/edwin/locale/share/monetdef/lv_LV.unicode user/edwin/locale/share/msgdef/lv_LV.unicode user/edwin/locale/share/timedef/lv_LV.unicode Modified: user/edwin/locale/share/monetdef/Makefile user/edwin/locale/share/msgdef/Makefile user/edwin/locale/share/numericdef/Makefile user/edwin/locale/share/timedef/Makefile user/edwin/locale/share/timedef/ja_JP.unicode Added: user/edwin/locale/share/mfc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/mfc Mon Sep 14 07:56:04 2009 (r197186) @@ -0,0 +1,46 @@ +------------------------------------------------------------------------ +MERGED +r196814 | ache | 2009-09-04 16:26:40 +1000 (Fri, 04 Sep 2009) | 5 lines +Changed paths: + M /head/share/timedef/Makefile + A /head/share/timedef/lv_LV.ISO8859-13.src + A /head/share/timedef/lv_LV.UTF-8.src + +Add lv_LV + +------------------------------------------------------------------------ +MERGED +r196813 | ache | 2009-09-04 16:19:37 +1000 (Fri, 04 Sep 2009) | 5 lines +Changed paths: + M /head/share/msgdef/Makefile + A /head/share/msgdef/lv_LV.ISO8859-13.src + A /head/share/msgdef/lv_LV.UTF-8.src + +Add lv_LV + +------------------------------------------------------------------------ +MERGED +r196812 | ache | 2009-09-04 15:54:45 +1000 (Fri, 04 Sep 2009) | 5 lines +Changed paths: + M /head/share/monetdef/Makefile + A /head/share/monetdef/lv_LV.ISO8859-13.src + +Add lv_LV + +------------------------------------------------------------------------ +MERGED +r196792 | ache | 2009-09-04 03:37:23 +1000 (Fri, 04 Sep 2009) | 2 lines +Changed paths: + M /head/share/numericdef/Makefile + +Add lv_LV + +------------------------------------------------------------------------ +MERGED +r196651 | ume | 2009-08-30 20:47:00 +1000 (Sun, 30 Aug 2009) | 4 lines +Changed paths: + M /head/share/timedef/ja_JP.UTF-8.src + +AM/PM date format for ja_JP.eucJP and ja_JP.SJIS were +localized by r193869. However, ja_JP.UTF-8 wasn't. +So, reflect it to ja_JP.UTF-8 as well. Modified: user/edwin/locale/share/monetdef/Makefile ============================================================================== --- user/edwin/locale/share/monetdef/Makefile Mon Sep 14 05:38:03 2009 (r197185) +++ user/edwin/locale/share/monetdef/Makefile Mon Sep 14 07:56:04 2009 (r197186) @@ -5,7 +5,7 @@ CCLN= af_ZA am_ET be_BY bg_BG de_CH de_DE el_GR en_AU en_CA en_GB en_IE en_NZ \ en_US es_ES et_EE fi_FI fr_BE fr_CA fr_FR he_IL \ hi_IN hr_HR hu_HU hy_AM is_IS it_IT ja_JP kk_KZ \ - ko_KR lt_LT mn_MN nl_BE nl_NL no_NO pl_PL pt_BR \ + ko_KR lt_LT lv_LV mn_MN nl_BE nl_NL no_NO pl_PL pt_BR \ pt_PT ro_RO ru_RU sk_SK sl_SI sr_Cyrl_RS sr_Latn_RS \ sv_SE tr_TR uk_UA zh_Hans_CN zh_Hant_HK zh_Hant_TW @@ -54,6 +54,7 @@ CMSLINK_it_IT= ISO8859-1 ISO8859-15 CMSLINK_ja_JP.eucJP= ja_JP.SJIS CMSLINK_ko_KR.eucKR= ko_KR.CP949 CMSLINK_lt_LT= ISO8859-4 ISO8859-13 +CMSLINK_lv_LV= ISO8859-13 CMSLINK_nl_BE= ISO8859-1 ISO8859-15 CMSLINK_nl_NL= ISO8859-1 ISO8859-15 CMSLINK_no_NO= ISO8859-1 ISO8859-15 @@ -78,7 +79,7 @@ CCLNLINK_no_NO= nb_NO nn_NO # Some locales are not fully one-on-one, therefore need to be # translated manually. TRANSLATION_eucKR= E282A9:5C -TRANSLATION_ISO8859-1= E282AC:455552 +TRANSLATION_ISO8859-1= E282AC:4575 # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP Added: user/edwin/locale/share/monetdef/lv_LV.unicode ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/lv_LV.unicode Mon Sep 14 07:56:04 2009 (r197186) @@ -0,0 +1,36 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) + +# currency_symbol + +# mon_decimal_point + +# mon_thousands_sep + +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign + +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Mon Sep 14 05:38:03 2009 (r197185) +++ user/edwin/locale/share/msgdef/Makefile Mon Sep 14 07:56:04 2009 (r197186) @@ -4,7 +4,7 @@ CCLN= af_ZA am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_DE \ el_GR en_CA en_GB en_US es_ES et_EE eu_ES fi_FI \ fr_BE fr_CH fr_FR he_IL hi_IN hr_HR hu_HU hy_AM is_IS \ - it_IT ja_JP kk_KZ ko_KR lt_LT mn_MN nl_NL no_NO \ + it_IT ja_JP kk_KZ ko_KR lt_LT lv_LV mn_MN nl_NL no_NO \ pl_PL pt_PT ro_RO ru_RU sl_SI sr_Cyrl_RS sr_Latn_RS \ sv_SE tr_TR uk_UA zh_Hans_CN zh_Hant_TW @@ -18,6 +18,7 @@ CMS_hy_AM= ARMSCII-8 CMS_ja_JP= SJIS eucJP CMS_kk_KZ= PT154 CMS_ko_KR= eucKR +CMS_lv_LV= ISO8859-13 CMS_ru_RU= CP1251 CP866 ISO8859-5 KOI8-R CMS_sr_Cyrl_RS= ISO8859-5 CMS_sr_Latn_RS= ISO8859-2 Added: user/edwin/locale/share/msgdef/lv_LV.unicode ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/msgdef/lv_LV.unicode Mon Sep 14 07:56:04 2009 (r197186) @@ -0,0 +1,14 @@ +# $FreeBSD$ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# yesexpr +^[]* +# noexpr +^[]* +# yesstr + +# nostr + +# EOF Modified: user/edwin/locale/share/numericdef/Makefile ============================================================================== --- user/edwin/locale/share/numericdef/Makefile Mon Sep 14 05:38:03 2009 (r197185) +++ user/edwin/locale/share/numericdef/Makefile Mon Sep 14 07:56:04 2009 (r197186) @@ -64,6 +64,7 @@ CCLNLINK_en_US.UTF-8= en_IE.UTF-8 he_IL. CCLNLINK_fr_BE= nl_BE CCLNLINK_fr_FR= fr_CA fr_CH CCLNLINK_it_IT= it_CH +CCLNLINK_lt_LT= lv_LV CCLNLINK_no_NO= nb_NO nn_NO CCLNLINK_zh_Hans_HK.UTF-8= zh_Hant_HK.Big5HKSCS zh_Hant_HK.UTF-8 zh_Hant_TW.Big5 zh_Hant_TW.UTF-8 Modified: user/edwin/locale/share/timedef/Makefile ============================================================================== --- user/edwin/locale/share/timedef/Makefile Mon Sep 14 05:38:03 2009 (r197185) +++ user/edwin/locale/share/timedef/Makefile Mon Sep 14 07:56:04 2009 (r197186) @@ -4,7 +4,7 @@ CCLN= am_ET be_BY bg_BG ca_ES cs_CZ da_DK de_AT de_DE \ el_GR en_GB en_US es_ES et_EE eu_ES fi_FI fr_FR \ he_IL hi_IN hr_HR hu_HU hy_AM is_IS \ - it_IT ja_JP kk_KZ ko_KR la_LN lt_LT mn_MN nb_NO \ + it_IT ja_JP kk_KZ ko_KR la_LN lt_LT lv_LV mn_MN nb_NO \ nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK \ sl_SI sr_Cyrl_RS sr_Latn_RS sv_SE tr_TR uk_UA \ zh_Hans_CN zh_Hant_TW @@ -37,6 +37,7 @@ CMS_kk_KZ= PT154 CMS_ko_KR= eucKR CMS_la_LN= ISO8859-1 CMS_lt_LT= ISO8859-4 ISO8859-13 +CMS_lv_LV= ISO8859-13 CMS_nb_NO= ISO8859-1 CMS_nl_NL= ISO8859-1 CMS_nn_NO= ISO8859-1 Modified: user/edwin/locale/share/timedef/ja_JP.unicode ============================================================================== --- user/edwin/locale/share/timedef/ja_JP.unicode Mon Sep 14 05:38:03 2009 (r197185) +++ user/edwin/locale/share/timedef/ja_JP.unicode Mon Sep 14 07:56:04 2009 (r197186) @@ -68,13 +68,11 @@ # # am # -#午前 - + # # pm # -#午後 - + # # date_fmt # Added: user/edwin/locale/share/timedef/lv_LV.unicode ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/timedef/lv_LV.unicode Mon Sep 14 07:56:04 2009 (r197186) @@ -0,0 +1,101 @@ +# $FreeBSD$ +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# Short month names +# + + + + + + + + + + + + +# +# Long month names +# + + + + + + + + + + + + +# +# Short weekday names +# + + + + + + + +# +# Long weekday names +# + + + + + + + +# +# X_fmt +# +%H%M%S +# +# x_fmt +# +%d%m%Y +# +# c_fmt +# %A, %Y m. %B %e d. %T +%e%b%Y%X +# +# am +# + +# +# pm +# + +# +# date_fmt +# +%A%Y%e%B%T%Z +# +# Long month names in alternative form +# + + + + + + + + + + + + +# +# md_order +# +md +# +# ampm_fmt +# + +# EOF From owner-svn-src-user@FreeBSD.ORG Mon Sep 14 08:04:49 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 649651065679; Mon, 14 Sep 2009 08:04:49 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3BBCA8FC21; Mon, 14 Sep 2009 08:04:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8E84nsV044816; Mon, 14 Sep 2009 08:04:49 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8E84n8c044813; Mon, 14 Sep 2009 08:04:49 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909140804.n8E84n8c044813@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 14 Sep 2009 08:04:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197187 - in user/edwin/locale/share: monetdef timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Sep 2009 08:04:49 -0000 Author: edwin Date: Mon Sep 14 08:04:48 2009 New Revision: 197187 URL: http://svn.freebsd.org/changeset/base/197187 Log: Fix failed UTF-8 conversions. Modified: user/edwin/locale/share/monetdef/hi_IN.unicode user/edwin/locale/share/timedef/sr_Latn_RS.unicode Modified: user/edwin/locale/share/monetdef/hi_IN.unicode ============================================================================== --- user/edwin/locale/share/monetdef/hi_IN.unicode Mon Sep 14 07:56:04 2009 (r197186) +++ user/edwin/locale/share/monetdef/hi_IN.unicode Mon Sep 14 08:04:48 2009 (r197187) @@ -6,11 +6,7 @@ # int_curr_symbol (last character always SPACE) # currency_symbol - ---CFDEC8-- - ---DEC8AC-- - + # mon_decimal_point # mon_thousands_sep Modified: user/edwin/locale/share/timedef/sr_Latn_RS.unicode ============================================================================== --- user/edwin/locale/share/timedef/sr_Latn_RS.unicode Mon Sep 14 07:56:04 2009 (r197186) +++ user/edwin/locale/share/timedef/sr_Latn_RS.unicode Mon Sep 14 08:04:48 2009 (r197187) @@ -39,9 +39,7 @@ - ---E86574-- - + # @@ -51,9 +49,7 @@ - ---E86574-- - + # From owner-svn-src-user@FreeBSD.ORG Wed Sep 16 08:38:48 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80C9C106566B; Wed, 16 Sep 2009 08:38:48 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 570608FC16; Wed, 16 Sep 2009 08:38:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8G8cmJ0017218; Wed, 16 Sep 2009 08:38:48 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8G8clOg017214; Wed, 16 Sep 2009 08:38:47 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909160838.n8G8clOg017214@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 16 Sep 2009 08:38:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197249 - in user/edwin/locale/share: monetdef msgdef timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Sep 2009 08:38:48 -0000 Author: edwin Date: Wed Sep 16 08:38:47 2009 New Revision: 197249 URL: http://svn.freebsd.org/changeset/base/197249 Log: Fix several of the locale definitions. - lv_LV: add space - sr_Cyrl_RS: add no regexp - ja_JP: fix am Modified: user/edwin/locale/share/monetdef/lv_LV.unicode user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode user/edwin/locale/share/timedef/ja_JP.unicode Modified: user/edwin/locale/share/monetdef/lv_LV.unicode ============================================================================== --- user/edwin/locale/share/monetdef/lv_LV.unicode Wed Sep 16 07:55:02 2009 (r197248) +++ user/edwin/locale/share/monetdef/lv_LV.unicode Wed Sep 16 08:38:47 2009 (r197249) @@ -4,7 +4,7 @@ # WARNING: empty lines are essential too # # int_curr_symbol (last character always SPACE) - + # currency_symbol # mon_decimal_point @@ -16,7 +16,7 @@ # positive_sign # negative_sign - + # int_frac_digits 2 # frac_digits Modified: user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode ============================================================================== --- user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Wed Sep 16 07:55:02 2009 (r197248) +++ user/edwin/locale/share/msgdef/sr_Cyrl_RS.unicode Wed Sep 16 08:38:47 2009 (r197249) @@ -4,11 +4,11 @@ # WARNING: empty lines are essential too # # yesexpr -^[].* +^[].* # noexpr -^[].* +^[].* # yesstr -::: + # nostr -::: + # EOF Modified: user/edwin/locale/share/timedef/ja_JP.unicode ============================================================================== --- user/edwin/locale/share/timedef/ja_JP.unicode Wed Sep 16 07:55:02 2009 (r197248) +++ user/edwin/locale/share/timedef/ja_JP.unicode Wed Sep 16 08:38:47 2009 (r197249) @@ -68,7 +68,7 @@ # # am # - + # # pm # From owner-svn-src-user@FreeBSD.ORG Wed Sep 16 12:17:46 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D14A1065676; Wed, 16 Sep 2009 12:17:46 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 32D848FC31; Wed, 16 Sep 2009 12:17:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8GCHjxm023895; Wed, 16 Sep 2009 12:17:45 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8GCHjwm023894; Wed, 16 Sep 2009 12:17:45 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909161217.n8GCHjwm023894@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 16 Sep 2009 12:17:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197252 - user/edwin/locale/share/msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Sep 2009 12:17:46 -0000 Author: edwin Date: Wed Sep 16 12:17:45 2009 New Revision: 197252 URL: http://svn.freebsd.org/changeset/base/197252 Log: This is now sr_Xxxx_RS.unicode. Deleted: user/edwin/locale/share/msgdef/sr_YU.unicode From owner-svn-src-user@FreeBSD.ORG Wed Sep 16 12:22:19 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9DFB7106566C; Wed, 16 Sep 2009 12:22:19 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8C7EC8FC08; Wed, 16 Sep 2009 12:22:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8GCMJC0024120; Wed, 16 Sep 2009 12:22:19 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8GCMJkB024115; Wed, 16 Sep 2009 12:22:19 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909161222.n8GCMJkB024115@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 16 Sep 2009 12:22:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197253 - in user/edwin/locale/share: monetdef msgdef numericdef timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Sep 2009 12:22:19 -0000 Author: edwin Date: Wed Sep 16 12:22:19 2009 New Revision: 197253 URL: http://svn.freebsd.org/changeset/base/197253 Log: Final adjustments for legacy links towards zh_XX. Modified: user/edwin/locale/share/monetdef/Makefile user/edwin/locale/share/msgdef/Makefile user/edwin/locale/share/numericdef/Makefile user/edwin/locale/share/timedef/Makefile Modified: user/edwin/locale/share/monetdef/Makefile ============================================================================== --- user/edwin/locale/share/monetdef/Makefile Wed Sep 16 12:17:45 2009 (r197252) +++ user/edwin/locale/share/monetdef/Makefile Wed Sep 16 12:22:19 2009 (r197253) @@ -21,10 +21,12 @@ CMS_hy_AM= ARMSCII-8 CMS_ja_JP= eucJP CMS_kk_KZ= PT154 CMS_ko_KR= eucKR +CMS_lv_LV= ISO8859-13 CMS_pl_PL= ISO8859-2 CMS_pt_PT= ISO8859-1 ISO8859-15 CMS_ru_RU= CP1251 CP866 ISO8859-5 KOI8-R CMS_uk_UA= CP1251 ISO8859-5 KOI8-U +CMS_sr_Cyrl_RS= ISO8859-5 CMS_zh_Hans_CN= GB18030 GB2312 eucCN # For these locales, link the following charactermaps to the UTF-8 map. @@ -54,7 +56,6 @@ CMSLINK_it_IT= ISO8859-1 ISO8859-15 CMSLINK_ja_JP.eucJP= ja_JP.SJIS CMSLINK_ko_KR.eucKR= ko_KR.CP949 CMSLINK_lt_LT= ISO8859-4 ISO8859-13 -CMSLINK_lv_LV= ISO8859-13 CMSLINK_nl_BE= ISO8859-1 ISO8859-15 CMSLINK_nl_NL= ISO8859-1 ISO8859-15 CMSLINK_no_NO= ISO8859-1 ISO8859-15 @@ -63,7 +64,6 @@ CMSLINK_ro_RO= ISO8859-2 CMSLINK_sk_SK= ISO8859-2 CMSLINK_sl_SI= ISO8859-2 CMSLINK_sr_Latn_RS= ISO8859-2 -CMSLINK_sr_Cyrl_RS= ISO8859-5 CMSLINK_sv_SE= ISO8859-1 ISO8859-15 CMSLINK_tr_TR= ISO8859-9 CMSLINK_zh_Hans_CN.GB2312= zh_Hans_CN.GBK @@ -77,17 +77,17 @@ CCLNLINK_de_CH= fr_CH it_CH CCLNLINK_no_NO= nb_NO nn_NO # Some locales are not fully one-on-one, therefore need to be -# translated manually. -TRANSLATION_eucKR= E282A9:5C -TRANSLATION_ISO8859-1= E282AC:4575 +# translated manually (multiple allowed) +TRANSLATION_eucKR= E282A9:5C # Won sign +TRANSLATION_ISO8859-1= E282AC:4575 # Euro sign # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP +LEGLINK_sr_Latn_RS.UTF-8= sr_YU.UTF-8 sr_YU.ISO8859-2 +LEGLINK_sr_Cyrl_RS.ISO8859-5= sr_YU.ISO8859-5 LEGLINK_zh_Hans_CN= zh_CN LEGLINK_zh_Hant_TW= zh_TW LEGLINK_zh_Hant_HK= zh_HK -LEGLINK_sr_Cyrl_RS= sr_YU -LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK # Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Wed Sep 16 12:17:45 2009 (r197252) +++ user/edwin/locale/share/msgdef/Makefile Wed Sep 16 12:22:19 2009 (r197253) @@ -57,8 +57,8 @@ CMSLINK_ro_RO= ISO8859-2 CMSLINK_sl_SI= ISO8859-2 CMSLINK_sv_SE= ISO8859-1 ISO8859-15 CMSLINK_tr_TR= ISO8859-9 -CMSLINK_zh_Hans_CN= GBK -CMSLINK_zh_Hant_TW= Big5HKSCS +CMSLINK_zh_Hans_CN.GB2312= zh_Hans_CN.GBK +CMSLINK_zh_Hant_TW.Big5= zh_Hant_HK.Big5HKSCS # For these locales, also create symlinks to the main locale. CCLNLINK_ca_ES= ca_AD ca_FR ca_IT @@ -79,7 +79,6 @@ LEGLINK_zh_Hans_CN= zh_CN LEGLINK_zh_Hant_TW= zh_TW zh_HK LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 -LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK # # In theory there are no parts after here which should be touched when adding Modified: user/edwin/locale/share/numericdef/Makefile ============================================================================== --- user/edwin/locale/share/numericdef/Makefile Wed Sep 16 12:17:45 2009 (r197252) +++ user/edwin/locale/share/numericdef/Makefile Wed Sep 16 12:22:19 2009 (r197253) @@ -64,15 +64,16 @@ CCLNLINK_en_US.UTF-8= en_IE.UTF-8 he_IL. CCLNLINK_fr_BE= nl_BE CCLNLINK_fr_FR= fr_CA fr_CH CCLNLINK_it_IT= it_CH -CCLNLINK_lt_LT= lv_LV +CCLNLINK_lt_LT.ISO8859-13= lv_LV.ISO8859-13 +CCLNLINK_lt_LT.UTF-8= lv_LV.UTF-8 CCLNLINK_no_NO= nb_NO nn_NO CCLNLINK_zh_Hans_HK.UTF-8= zh_Hant_HK.Big5HKSCS zh_Hant_HK.UTF-8 zh_Hant_TW.Big5 zh_Hant_TW.UTF-8 # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP LEGLINK_zh_Hans_CN= zh_CN -LEGLINK_zh_Hans_CN.Big5HKSCS= zh_HK.Big5HKSCS -LEGLINK_zh_Hans_CN.Big5= zh_HK.Big5 zh_TW.Big5 +LEGLINK_zh_Hans_CN.eucCN= zh_HK.Big5HKSCS zh_TW.Big5 +LEGLINK_zh_Hans_CN.Big5= zh_HK.Big5 LEGLINK_zh_Hans_CN.UTF-8= zh_HK.UTF-8 zh_TW.UTF-8 LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 Modified: user/edwin/locale/share/timedef/Makefile ============================================================================== --- user/edwin/locale/share/timedef/Makefile Wed Sep 16 12:17:45 2009 (r197252) +++ user/edwin/locale/share/timedef/Makefile Wed Sep 16 12:22:19 2009 (r197253) @@ -64,7 +64,7 @@ CMSLINK_de_AT.ISO8859-1= de_AT.ISO8859-1 CMSLINK_de_DE.ISO8859-1= de_DE.ISO8859-15 CMSLINK_en_GB= ISO8859-1 ISO8859-15 US-ASCII CMSLINK_en_US= ISO8859-1 ISO8859-15 US-ASCII -CMSLINK_es_ES= ISO8859-15 +CMSLINK_es_ES.ISO8859-1= es_ES.ISO8859-15 CMSLINK_eu_ES= ISO8859-1 ISO8859-15 CMSLINK_fi_FI.ISO8859-1= fi_FI.ISO8859-15 CMSLINK_fr_FR.ISO8859-1= fr_FR.ISO8859-15 @@ -97,6 +97,7 @@ CCLNLINK_zh_Hant_TW= zh_Hant_HK LEGLINK_ja_JP= jp_JP LEGLINK_zh_Hans_CN= zh_CN LEGLINK_zh_Hant_TW= zh_TW zh_HK +LEGLINK_zh_Hant_TW.UTF-8= zh_HK.Big5HKSCS LEGLINK_sr_Cyrl_RS= sr_YU LEGLINK_sr_Latn_RS.ISO8859-2= sr_YU.ISO8859-2 LEGLINK_zh_Hans_CN.GBK2312= zh_CN.GBK From owner-svn-src-user@FreeBSD.ORG Wed Sep 16 13:11:37 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B4E6106566B; Wed, 16 Sep 2009 13:11:37 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7FDB78FC0A; Wed, 16 Sep 2009 13:11:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8GDBbqc025288; Wed, 16 Sep 2009 13:11:37 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8GDBbvE025284; Wed, 16 Sep 2009 13:11:37 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909161311.n8GDBbvE025284@svn.freebsd.org> From: Edwin Groothuis Date: Wed, 16 Sep 2009 13:11:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197254 - in user/edwin/locale/share: . monetdef msgdef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Sep 2009 13:11:37 -0000 Author: edwin Date: Wed Sep 16 13:11:37 2009 New Revision: 197254 URL: http://svn.freebsd.org/changeset/base/197254 Log: I can't find any way to tell libiconv to stay away from 0x2E (.) alone, therefor we implement a after-the-iconv-translation map for this. Modified: user/edwin/locale/share/Makefile.def.inc user/edwin/locale/share/monetdef/Makefile user/edwin/locale/share/msgdef/Makefile Modified: user/edwin/locale/share/Makefile.def.inc ============================================================================== --- user/edwin/locale/share/Makefile.def.inc Wed Sep 16 12:22:19 2009 (r197253) +++ user/edwin/locale/share/Makefile.def.inc Wed Sep 16 13:11:37 2009 (r197254) @@ -271,11 +271,17 @@ ICONV_${ccln}.${cms}= ${ICONV} CMALIAS_${cm}= ${cm} . endif -. if !defined(TRANSLATION_${cm}) -TRANSLATION_${cm}= +. if !defined(TRANSLATIONBEFORE_${cm}) +TRANSLATIONBEFORE_${cm}= . endif -. for TR in ${TRANSLATION_${cm}} -_TRANSLATION_${cm}+= | awk '{ gsub("${TR:C/:.*//:C/([0-9a-fA-F][0-9a-fA-F])/\\\\x\1/g}", "${TR:C/^.*://:C/([0-9a-fA-F][0-9a-fA-F])/\\\\x\1/g}"); print }' +. if !defined(TRANSLATIONAFTER_${cm}) +TRANSLATIONAFTER_${cm}= +. endif +. for TR in ${TRANSLATIONBEFORE_${cm}} +_TRANSLATIONBEFORE_${cm}+= | awk '{ gsub("${TR:C/:.*//:C/([0-9a-fA-F][0-9a-fA-F])/\\\\x\1/g}", "${TR:C/^.*://:C/([0-9a-fA-F][0-9a-fA-F])/\\\\x\1/g}"); print }' +. endfor +. for TR in ${TRANSLATIONAFTER_${cm}} +_TRANSLATIONAFTER_${cm}+= | awk '{ gsub("${TR:C/:.*//:C/([0-9a-fA-F][0-9a-fA-F])/\\\\x\1/g}", "${TR:C/^.*://:C/([0-9a-fA-F][0-9a-fA-F])/\\\\x\1/g}"); print }' . endfor .endfor @@ -304,10 +310,11 @@ ${ccln}.UTF-8.out: ${ccln}.src ${ccln}.${cms}.out: ${ccln}.UTF-8.out cat ${.ALLSRC} \ - ${_TRANSLATION_${cms}} | \ + ${_TRANSLATIONBEFORE_${cms}} | \ ${ICONV_${ccln}.${cms}} \ -f UTF-8 \ -t ${CMALIAS_${cms}} \ + ${_TRANSLATIONAFTER_${cms}} \ > ${.TARGET} \ || rm ${.TARGET} && exit 0 Modified: user/edwin/locale/share/monetdef/Makefile ============================================================================== --- user/edwin/locale/share/monetdef/Makefile Wed Sep 16 12:22:19 2009 (r197253) +++ user/edwin/locale/share/monetdef/Makefile Wed Sep 16 13:11:37 2009 (r197254) @@ -78,8 +78,8 @@ CCLNLINK_no_NO= nb_NO nn_NO # Some locales are not fully one-on-one, therefore need to be # translated manually (multiple allowed) -TRANSLATION_eucKR= E282A9:5C # Won sign -TRANSLATION_ISO8859-1= E282AC:4575 # Euro sign +TRANSLATIONBEFORE_eucKR= E282A9:5C # Won sign +TRANSLATIONBEFORE_ISO8859-1= E282AC:4575 # Euro sign # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP Modified: user/edwin/locale/share/msgdef/Makefile ============================================================================== --- user/edwin/locale/share/msgdef/Makefile Wed Sep 16 12:22:19 2009 (r197253) +++ user/edwin/locale/share/msgdef/Makefile Wed Sep 16 13:11:37 2009 (r197254) @@ -73,6 +73,9 @@ CCLNLINK_pt_PT= pt_BR CCLNLINK_zh_Hant_TW= zh_Hant_HK CCLNLINK_en_GB.UTF-8= en_IE.UTF-8 +# +TRANSLATIONAFTER_ARMSCII-8= 5DA9:5D2E # ]. fixing + # For these locales, create symlinks to the main locale for historical reasons. LEGLINK_ja_JP= jp_JP LEGLINK_zh_Hans_CN= zh_CN From owner-svn-src-user@FreeBSD.ORG Thu Sep 17 12:27:08 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9FFA106566C; Thu, 17 Sep 2009 12:27:08 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9F8D18FC21; Thu, 17 Sep 2009 12:27:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8HCR8Op056458; Thu, 17 Sep 2009 12:27:08 GMT (envelope-from fabient@svn.freebsd.org) Received: (from fabient@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8HCR7UM056457; Thu, 17 Sep 2009 12:27:07 GMT (envelope-from fabient@svn.freebsd.org) Message-Id: <200909171227.n8HCR7UM056457@svn.freebsd.org> From: Fabien Thomas Date: Thu, 17 Sep 2009 12:27:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197268 - user/fabient X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2009 12:27:08 -0000 Author: fabient Date: Thu Sep 17 12:27:06 2009 New Revision: 197268 URL: http://svn.freebsd.org/changeset/base/197268 Log: Create my user directory Added: user/fabient/ From owner-svn-src-user@FreeBSD.ORG Thu Sep 17 12:57:36 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2685210656A3; Thu, 17 Sep 2009 12:57:36 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F190E8FC1E; Thu, 17 Sep 2009 12:57:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8HCvZiq057433; Thu, 17 Sep 2009 12:57:35 GMT (envelope-from fabient@svn.freebsd.org) Received: (from fabient@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8HCvZXS057432; Thu, 17 Sep 2009 12:57:35 GMT (envelope-from fabient@svn.freebsd.org) Message-Id: <200909171257.n8HCvZXS057432@svn.freebsd.org> From: Fabien Thomas Date: Thu, 17 Sep 2009 12:57:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197272 - user/fabient/svctest X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2009 12:57:36 -0000 Author: fabient Date: Thu Sep 17 12:57:35 2009 New Revision: 197272 URL: http://svn.freebsd.org/changeset/base/197272 Log: VC Test branch Added: user/fabient/svctest/ (props changed) - copied from r197271, head/ From owner-svn-src-user@FreeBSD.ORG Thu Sep 17 13:03:45 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 107F4106568D; Thu, 17 Sep 2009 13:03:45 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E810F8FC18; Thu, 17 Sep 2009 13:03:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8HD3iDZ057616; Thu, 17 Sep 2009 13:03:44 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8HD3ik3057614; Thu, 17 Sep 2009 13:03:44 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909171303.n8HD3ik3057614@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Thu, 17 Sep 2009 13:03:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197273 - user/des/fmerge X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2009 13:03:45 -0000 Author: des Date: Thu Sep 17 13:03:44 2009 New Revision: 197273 URL: http://svn.freebsd.org/changeset/base/197273 Log: Rename a bunch of variables to clarify their purpose. Modified: user/des/fmerge/fmerge.pl Modified: user/des/fmerge/fmerge.pl ============================================================================== --- user/des/fmerge/fmerge.pl Thu Sep 17 12:57:35 2009 (r197272) +++ user/des/fmerge/fmerge.pl Thu Sep 17 13:03:44 2009 (r197273) @@ -35,8 +35,13 @@ our $already; our $debug; our $pretend; -our $branch = "head"; -our $target = "."; +our $src_branch = "head"; # where we merge from +our $src_path; +our $src_url; # source URL +our $tgt_branch; # where we merge to +our $tgt_path; +our $tgt_dir = "."; # target directory + our %revs = (0 => 0); our @ranges; @@ -99,13 +104,13 @@ sub svn_catch(@) { } sub examine() { - my $fh = svn_catch("info", $target); + my $fh = svn_catch("info", $tgt_dir); while (<$fh>) { chomp(); my ($key, $value) = split(/:\s+/, $_, 2); next unless $key && $value; if ($key eq 'Path') { - svn_check($value eq $target, "path mismatch: $value != $target"); + svn_check($value eq $tgt_dir, "path mismatch: $value != $tgt_dir"); } elsif ($key eq 'URL') { $svn_url = $value; } elsif ($key eq 'Repository Root') { @@ -118,11 +123,11 @@ sub examine() { $svn_path = $1; debug("guessing merge source / target directory"); - $fh = svn_catch('propget', 'svn:mergeinfo', $target); + $fh = svn_catch('propget', 'svn:mergeinfo', $tgt_dir); while (<$fh>) { chomp(); - debug("'$_' =~ m\@^\Q/$branch\E((?:/[\\w.-]+)*):\@"); - next unless m@^\Q/$branch\E((?:/[\w.-]+)*):@; + debug("'$_' =~ m\@^\Q/$src_branch\E((?:/[\\w.-]+)*):\@"); + next unless m@^\Q/$src_branch\E((?:/[\w.-]+)*):@; my $subdir = $1; debug("'$svn_path' =~ m\@^((?:/[\\w.-]+)+)\Q$subdir\E\$\@"); next unless $svn_path =~ m@^((?:/[\w.-]+)+)\Q$subdir\E$@; @@ -146,6 +151,7 @@ sub examine() { sub addrevs($$) { my ($m, $n) = @_; + debug("adding range r$m:$n"); if ($m > $n) { for (my $i = $m; $i > $n; --$i) { $revs{$i} = -1; @@ -179,6 +185,7 @@ sub revs2ranges() { $m = $n = $i; } } + debug(join("\n ", "ranges:", map { "r$_->[0]:$_->[1]" } @ranges)); } sub printranges($) { @@ -200,7 +207,7 @@ sub printranges($) { sub fmerge() { if (!@ranges) { - svn_merge("$svn_root/$branch/$svn_path", $target); + svn_merge("$svn_root/$src_branch/$svn_path", $tgt_dir); } foreach my $range (@ranges) { my ($m, $n) = @{$range}; @@ -212,7 +219,7 @@ sub fmerge() { } else { $spec = "-r$m:$n"; } - svn_merge($spec, "$svn_root/$branch/$svn_path", $target); + svn_merge($spec, "$svn_root/$src_branch/$svn_path", $tgt_dir); } } @@ -269,16 +276,16 @@ MAIN:{ if (@ARGV < 1) { usage(); } - $branch = $ARGV[0]; + $src_branch = $ARGV[0]; shift; } elsif ($ARGV[0] eq 'into') { shift; if (@ARGV < 1) { usage(); } - $target = $ARGV[0]; + $tgt_dir = $ARGV[0]; shift; - if (!-d $target) { + if (!-d $tgt_dir) { usage(); } } else { From owner-svn-src-user@FreeBSD.ORG Thu Sep 17 13:33:40 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B96F41065703; Thu, 17 Sep 2009 13:33:40 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A85EB8FC1C; Thu, 17 Sep 2009 13:33:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8HDXepK058554; Thu, 17 Sep 2009 13:33:40 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8HDXeuD058552; Thu, 17 Sep 2009 13:33:40 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909171333.n8HDXeuD058552@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Thu, 17 Sep 2009 13:33:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197279 - user/des/fmerge X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2009 13:33:40 -0000 Author: des Date: Thu Sep 17 13:33:40 2009 New Revision: 197279 URL: http://svn.freebsd.org/changeset/base/197279 Log: Do a real svn --dry-run when $pretend. Modified: user/des/fmerge/fmerge.pl Modified: user/des/fmerge/fmerge.pl ============================================================================== --- user/des/fmerge/fmerge.pl Thu Sep 17 13:31:39 2009 (r197278) +++ user/des/fmerge/fmerge.pl Thu Sep 17 13:33:40 2009 (r197279) @@ -69,8 +69,9 @@ sub svn_check($@) { sub svn_do(@) { my @argv = @_; + unshift(@argv, '--dry-run') + if $pretend; info('svn', @argv); - return if $pretend; my $pid = fork(); if ($pid == -1) { die("fork(): $!\n"); From owner-svn-src-user@FreeBSD.ORG Thu Sep 17 18:39:54 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BED61065676; Thu, 17 Sep 2009 18:39:54 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 02C158FC17; Thu, 17 Sep 2009 18:39:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8HIdrKG066576; Thu, 17 Sep 2009 18:39:53 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8HIdrMP066575; Thu, 17 Sep 2009 18:39:53 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200909171839.n8HIdrMP066575@svn.freebsd.org> From: Kip Macy Date: Thu, 17 Sep 2009 18:39:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197296 - user/kmacy/releng_8_fcs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2009 18:39:54 -0000 Author: kmacy Date: Thu Sep 17 18:39:53 2009 New Revision: 197296 URL: http://svn.freebsd.org/changeset/base/197296 Log: 8.0 branch for integrating local improvements Added: user/kmacy/releng_8_fcs/ (props changed) - copied from r197295, stable/8/ From owner-svn-src-user@FreeBSD.ORG Fri Sep 18 08:02:57 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7112B1065672; Fri, 18 Sep 2009 08:02:57 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5E0188FC15; Fri, 18 Sep 2009 08:02:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8I82vnc082682; Fri, 18 Sep 2009 08:02:57 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8I82vcc082662; Fri, 18 Sep 2009 08:02:57 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <200909180802.n8I82vcc082662@svn.freebsd.org> From: Edwin Groothuis Date: Fri, 18 Sep 2009 08:02:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197305 - in user/edwin/locale/share: . colldef monetdef msgdef numericdef timedef X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Sep 2009 08:02:57 -0000 Author: edwin Date: Fri Sep 18 08:02:56 2009 New Revision: 197305 URL: http://svn.freebsd.org/changeset/base/197305 Log: # # All targets for TARGET_CHARACTERMAP # # .unicode -> utf-8.src -> utf-8.out # \__ iso8859-1.src -> iso8859-1.out # <----1---><--2---><------3--------><----4-----> # # 1. The files .unicode are stored in the SCM and are the source # for the whole further system # 2. The Perl script converts the .unicode files and the Unicode # CLDR database into UTF-8 code # 3. The UTF-8 gets converted by libiconv or bsdiconv in the specific # charactermap. # 4. Get rid of the comments. # # As long as there is no bsdiconv, the files with the extension # .unicode and .src must be stored in the SCM and will not be # generated as part of the build process. # Added: user/edwin/locale/share/monetdef/af_ZA.UTF-8.src user/edwin/locale/share/monetdef/am_ET.UTF-8.src user/edwin/locale/share/monetdef/be_BY.CP1131.src user/edwin/locale/share/monetdef/be_BY.CP1251.src user/edwin/locale/share/monetdef/be_BY.ISO8859-5.src user/edwin/locale/share/monetdef/be_BY.UTF-8.src user/edwin/locale/share/monetdef/bg_BG.CP1251.src user/edwin/locale/share/monetdef/bg_BG.UTF-8.src user/edwin/locale/share/monetdef/ca_ES.UTF-8.src user/edwin/locale/share/monetdef/cs_CZ.ISO8859-2.src user/edwin/locale/share/monetdef/cs_CZ.UTF-8.src user/edwin/locale/share/monetdef/da_DK.UTF-8.src user/edwin/locale/share/monetdef/de_AT.UTF-8.src user/edwin/locale/share/monetdef/de_CH.UTF-8.src user/edwin/locale/share/monetdef/de_DE.UTF-8.src user/edwin/locale/share/monetdef/el_GR.UTF-8.src user/edwin/locale/share/monetdef/en_AU.UTF-8.src user/edwin/locale/share/monetdef/en_CA.UTF-8.src user/edwin/locale/share/monetdef/en_GB.ISO8859-1.src user/edwin/locale/share/monetdef/en_GB.UTF-8.src user/edwin/locale/share/monetdef/en_IE.UTF-8.src user/edwin/locale/share/monetdef/en_NZ.UTF-8.src user/edwin/locale/share/monetdef/en_US.UTF-8.src user/edwin/locale/share/monetdef/es_ES.UTF-8.src user/edwin/locale/share/monetdef/et_EE.UTF-8.src user/edwin/locale/share/monetdef/fi_FI.UTF-8.src user/edwin/locale/share/monetdef/fr_BE.UTF-8.src user/edwin/locale/share/monetdef/fr_CA.UTF-8.src user/edwin/locale/share/monetdef/fr_FR.UTF-8.src user/edwin/locale/share/monetdef/he_IL.UTF-8.src user/edwin/locale/share/monetdef/hi_IN.ISCII-DEV.src user/edwin/locale/share/monetdef/hi_IN.UTF-8.src user/edwin/locale/share/monetdef/hr_HR.UTF-8.src user/edwin/locale/share/monetdef/hu_HU.UTF-8.src user/edwin/locale/share/monetdef/hy_AM.ARMSCII-8.src user/edwin/locale/share/monetdef/hy_AM.UTF-8.src user/edwin/locale/share/monetdef/is_IS.UTF-8.src user/edwin/locale/share/monetdef/it_IT.UTF-8.src user/edwin/locale/share/monetdef/ja_JP.UTF-8.src user/edwin/locale/share/monetdef/ja_JP.eucJP.src user/edwin/locale/share/monetdef/kk_KZ.PT154.src user/edwin/locale/share/monetdef/kk_KZ.UTF-8.src user/edwin/locale/share/monetdef/ko_KR.UTF-8.src user/edwin/locale/share/monetdef/ko_KR.eucKR.src user/edwin/locale/share/monetdef/lt_LT.UTF-8.src user/edwin/locale/share/monetdef/lv_LV.ISO8859-13.src user/edwin/locale/share/monetdef/lv_LV.UTF-8.src user/edwin/locale/share/monetdef/mn_MN.UTF-8.src user/edwin/locale/share/monetdef/nl_BE.UTF-8.src user/edwin/locale/share/monetdef/nl_NL.UTF-8.src user/edwin/locale/share/monetdef/no_NO.UTF-8.src user/edwin/locale/share/monetdef/pl_PL.ISO8859-2.src user/edwin/locale/share/monetdef/pl_PL.UTF-8.src user/edwin/locale/share/monetdef/pt_BR.UTF-8.src user/edwin/locale/share/monetdef/pt_PT.ISO8859-1.src user/edwin/locale/share/monetdef/pt_PT.ISO8859-15.src user/edwin/locale/share/monetdef/pt_PT.UTF-8.src user/edwin/locale/share/monetdef/ro_RO.UTF-8.src user/edwin/locale/share/monetdef/ru_RU.CP1251.src user/edwin/locale/share/monetdef/ru_RU.CP866.src user/edwin/locale/share/monetdef/ru_RU.ISO8859-5.src user/edwin/locale/share/monetdef/ru_RU.KOI8-R.src user/edwin/locale/share/monetdef/ru_RU.UTF-8.src user/edwin/locale/share/monetdef/sk_SK.UTF-8.src user/edwin/locale/share/monetdef/sl_SI.UTF-8.src user/edwin/locale/share/monetdef/sr_Cyrl_RS.ISO8859-5.src user/edwin/locale/share/monetdef/sr_Cyrl_RS.UTF-8.src user/edwin/locale/share/monetdef/sr_Latn_RS.UTF-8.src user/edwin/locale/share/monetdef/sv_SE.UTF-8.src user/edwin/locale/share/monetdef/tr_TR.UTF-8.src user/edwin/locale/share/monetdef/uk_UA.CP1251.src user/edwin/locale/share/monetdef/uk_UA.ISO8859-5.src user/edwin/locale/share/monetdef/uk_UA.KOI8-U.src user/edwin/locale/share/monetdef/uk_UA.UTF-8.src user/edwin/locale/share/monetdef/zh_Hans_CN.GB18030.src user/edwin/locale/share/monetdef/zh_Hans_CN.GB2312.src user/edwin/locale/share/monetdef/zh_Hans_CN.UTF-8.src user/edwin/locale/share/monetdef/zh_Hans_CN.eucCN.src user/edwin/locale/share/monetdef/zh_Hant_HK.UTF-8.src user/edwin/locale/share/monetdef/zh_Hant_TW.UTF-8.src user/edwin/locale/share/msgdef/af_ZA.UTF-8.src user/edwin/locale/share/msgdef/am_ET.UTF-8.src user/edwin/locale/share/msgdef/be_BY.CP1131.src user/edwin/locale/share/msgdef/be_BY.CP1251.src user/edwin/locale/share/msgdef/be_BY.ISO8859-5.src user/edwin/locale/share/msgdef/be_BY.UTF-8.src user/edwin/locale/share/msgdef/bg_BG.CP1251.src user/edwin/locale/share/msgdef/bg_BG.UTF-8.src user/edwin/locale/share/msgdef/ca_ES.UTF-8.src user/edwin/locale/share/msgdef/cs_CZ.UTF-8.src user/edwin/locale/share/msgdef/da_DK.UTF-8.src user/edwin/locale/share/msgdef/de_DE.UTF-8.src user/edwin/locale/share/msgdef/el_GR.ISO8859-7.src user/edwin/locale/share/msgdef/el_GR.UTF-8.src user/edwin/locale/share/msgdef/en_CA.UTF-8.src user/edwin/locale/share/msgdef/en_GB.UTF-8.src user/edwin/locale/share/msgdef/en_US.UTF-8.src user/edwin/locale/share/msgdef/es_ES.UTF-8.src user/edwin/locale/share/msgdef/et_EE.UTF-8.src user/edwin/locale/share/msgdef/eu_ES.UTF-8.src user/edwin/locale/share/msgdef/fi_FI.UTF-8.src user/edwin/locale/share/msgdef/fr_BE.UTF-8.src user/edwin/locale/share/msgdef/fr_CH.UTF-8.src user/edwin/locale/share/msgdef/fr_FR.UTF-8.src user/edwin/locale/share/msgdef/he_IL.UTF-8.src user/edwin/locale/share/msgdef/hi_IN.ISCII-DEV.src user/edwin/locale/share/msgdef/hi_IN.UTF-8.src user/edwin/locale/share/msgdef/hr_HR.UTF-8.src user/edwin/locale/share/msgdef/hu_HU.UTF-8.src user/edwin/locale/share/msgdef/hy_AM.ARMSCII-8.src user/edwin/locale/share/msgdef/hy_AM.UTF-8.src user/edwin/locale/share/msgdef/is_IS.UTF-8.src user/edwin/locale/share/msgdef/it_IT.UTF-8.src user/edwin/locale/share/msgdef/ja_JP.SJIS.src user/edwin/locale/share/msgdef/ja_JP.UTF-8.src user/edwin/locale/share/msgdef/ja_JP.eucJP.src user/edwin/locale/share/msgdef/kk_KZ.PT154.src user/edwin/locale/share/msgdef/kk_KZ.UTF-8.src user/edwin/locale/share/msgdef/ko_KR.UTF-8.src user/edwin/locale/share/msgdef/ko_KR.eucKR.src user/edwin/locale/share/msgdef/lt_LT.UTF-8.src user/edwin/locale/share/msgdef/lv_LV.ISO8859-13.src user/edwin/locale/share/msgdef/lv_LV.UTF-8.src user/edwin/locale/share/msgdef/mn_MN.UTF-8.src user/edwin/locale/share/msgdef/nl_NL.UTF-8.src user/edwin/locale/share/msgdef/no_NO.UTF-8.src user/edwin/locale/share/msgdef/pl_PL.UTF-8.src user/edwin/locale/share/msgdef/pt_PT.UTF-8.src user/edwin/locale/share/msgdef/ro_RO.UTF-8.src user/edwin/locale/share/msgdef/ru_RU.CP1251.src user/edwin/locale/share/msgdef/ru_RU.CP866.src user/edwin/locale/share/msgdef/ru_RU.ISO8859-5.src user/edwin/locale/share/msgdef/ru_RU.KOI8-R.src user/edwin/locale/share/msgdef/ru_RU.UTF-8.src user/edwin/locale/share/msgdef/sl_SI.UTF-8.src user/edwin/locale/share/msgdef/sr_Cyrl_RS.ISO8859-5.src user/edwin/locale/share/msgdef/sr_Cyrl_RS.UTF-8.src user/edwin/locale/share/msgdef/sr_Latn_RS.ISO8859-2.src user/edwin/locale/share/msgdef/sr_Latn_RS.UTF-8.src user/edwin/locale/share/msgdef/sv_SE.UTF-8.src user/edwin/locale/share/msgdef/tr_TR.UTF-8.src user/edwin/locale/share/msgdef/uk_UA.CP1251.src user/edwin/locale/share/msgdef/uk_UA.ISO8859-5.src user/edwin/locale/share/msgdef/uk_UA.KOI8-U.src user/edwin/locale/share/msgdef/uk_UA.UTF-8.src user/edwin/locale/share/msgdef/zh_Hans_CN.GB18030.src user/edwin/locale/share/msgdef/zh_Hans_CN.GB2312.src user/edwin/locale/share/msgdef/zh_Hans_CN.UTF-8.src user/edwin/locale/share/msgdef/zh_Hans_CN.eucCN.src user/edwin/locale/share/msgdef/zh_Hant_TW.Big5.src user/edwin/locale/share/msgdef/zh_Hant_TW.UTF-8.src user/edwin/locale/share/numericdef/af_ZA.UTF-8.src user/edwin/locale/share/numericdef/am_ET.UTF-8.src user/edwin/locale/share/numericdef/be_BY.UTF-8.src user/edwin/locale/share/numericdef/bg_BG.UTF-8.src user/edwin/locale/share/numericdef/ca_ES.UTF-8.src user/edwin/locale/share/numericdef/cs_CZ.UTF-8.src user/edwin/locale/share/numericdef/da_DK.UTF-8.src user/edwin/locale/share/numericdef/de_CH.UTF-8.src user/edwin/locale/share/numericdef/de_DE.UTF-8.src user/edwin/locale/share/numericdef/el_GR.UTF-8.src user/edwin/locale/share/numericdef/en_US.UTF-8.src user/edwin/locale/share/numericdef/es_ES.UTF-8.src user/edwin/locale/share/numericdef/et_EE.UTF-8.src user/edwin/locale/share/numericdef/eu_ES.UTF-8.src user/edwin/locale/share/numericdef/fi_FI.UTF-8.src user/edwin/locale/share/numericdef/fr_BE.UTF-8.src user/edwin/locale/share/numericdef/fr_FR.UTF-8.src user/edwin/locale/share/numericdef/hi_IN.UTF-8.src user/edwin/locale/share/numericdef/hr_HR.UTF-8.src user/edwin/locale/share/numericdef/hu_HU.UTF-8.src user/edwin/locale/share/numericdef/hy_AM.UTF-8.src user/edwin/locale/share/numericdef/is_IS.UTF-8.src user/edwin/locale/share/numericdef/it_IT.UTF-8.src user/edwin/locale/share/numericdef/ja_JP.UTF-8.src user/edwin/locale/share/numericdef/kk_KZ.UTF-8.src user/edwin/locale/share/numericdef/ko_KR.UTF-8.src user/edwin/locale/share/numericdef/lt_LT.UTF-8.src user/edwin/locale/share/numericdef/mn_MN.UTF-8.src user/edwin/locale/share/numericdef/nl_NL.UTF-8.src user/edwin/locale/share/numericdef/no_NO.UTF-8.src user/edwin/locale/share/numericdef/pl_PL.UTF-8.src user/edwin/locale/share/numericdef/pt_BR.UTF-8.src user/edwin/locale/share/numericdef/pt_PT.UTF-8.src user/edwin/locale/share/numericdef/ro_RO.UTF-8.src user/edwin/locale/share/numericdef/ru_RU.UTF-8.src user/edwin/locale/share/numericdef/sk_SK.UTF-8.src user/edwin/locale/share/numericdef/sl_SI.UTF-8.src user/edwin/locale/share/numericdef/sr_Cyrl_RS.UTF-8.src user/edwin/locale/share/numericdef/sr_Latn_RS.UTF-8.src user/edwin/locale/share/numericdef/sv_SE.UTF-8.src user/edwin/locale/share/numericdef/tr_TR.UTF-8.src user/edwin/locale/share/numericdef/uk_UA.UTF-8.src user/edwin/locale/share/numericdef/zh_Hans_CN.UTF-8.src user/edwin/locale/share/timedef/am_ET.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/be_BY.CP1131.src (contents, props changed) user/edwin/locale/share/timedef/be_BY.CP1251.src (contents, props changed) user/edwin/locale/share/timedef/be_BY.ISO8859-5.src (contents, props changed) user/edwin/locale/share/timedef/be_BY.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/bg_BG.CP1251.src user/edwin/locale/share/timedef/bg_BG.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/ca_ES.ISO8859-1.src user/edwin/locale/share/timedef/ca_ES.UTF-8.src user/edwin/locale/share/timedef/cs_CZ.ISO8859-2.src user/edwin/locale/share/timedef/cs_CZ.UTF-8.src user/edwin/locale/share/timedef/da_DK.ISO8859-1.src user/edwin/locale/share/timedef/da_DK.UTF-8.src user/edwin/locale/share/timedef/de_AT.ISO8859-1.src user/edwin/locale/share/timedef/de_AT.UTF-8.src user/edwin/locale/share/timedef/de_DE.ISO8859-1.src user/edwin/locale/share/timedef/de_DE.UTF-8.src user/edwin/locale/share/timedef/el_GR.ISO8859-7.src (contents, props changed) user/edwin/locale/share/timedef/el_GR.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/en_GB.ISO8859-1.src user/edwin/locale/share/timedef/en_GB.UTF-8.src user/edwin/locale/share/timedef/en_US.ISO8859-1.src user/edwin/locale/share/timedef/en_US.UTF-8.src user/edwin/locale/share/timedef/es_ES.ISO8859-1.src user/edwin/locale/share/timedef/es_ES.UTF-8.src user/edwin/locale/share/timedef/et_EE.ISO8859-15.src user/edwin/locale/share/timedef/et_EE.UTF-8.src user/edwin/locale/share/timedef/eu_ES.ISO8859-1.src user/edwin/locale/share/timedef/eu_ES.UTF-8.src user/edwin/locale/share/timedef/fi_FI.ISO8859-1.src user/edwin/locale/share/timedef/fi_FI.UTF-8.src user/edwin/locale/share/timedef/fr_FR.ISO8859-1.src user/edwin/locale/share/timedef/fr_FR.UTF-8.src user/edwin/locale/share/timedef/he_IL.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/hi_IN.ISCII-DEV.src (contents, props changed) user/edwin/locale/share/timedef/hi_IN.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/hr_HR.ISO8859-2.src user/edwin/locale/share/timedef/hr_HR.UTF-8.src user/edwin/locale/share/timedef/hu_HU.ISO8859-2.src user/edwin/locale/share/timedef/hu_HU.UTF-8.src user/edwin/locale/share/timedef/hy_AM.ARMSCII-8.src (contents, props changed) user/edwin/locale/share/timedef/hy_AM.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/is_IS.ISO8859-1.src user/edwin/locale/share/timedef/is_IS.UTF-8.src user/edwin/locale/share/timedef/it_IT.ISO8859-1.src user/edwin/locale/share/timedef/it_IT.UTF-8.src user/edwin/locale/share/timedef/ja_JP.SJIS.src user/edwin/locale/share/timedef/ja_JP.UTF-8.src user/edwin/locale/share/timedef/ja_JP.eucJP.src user/edwin/locale/share/timedef/kk_KZ.PT154.src user/edwin/locale/share/timedef/kk_KZ.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/ko_KR.UTF-8.src user/edwin/locale/share/timedef/ko_KR.eucKR.src user/edwin/locale/share/timedef/la_LN.ISO8859-1.src user/edwin/locale/share/timedef/la_LN.UTF-8.src user/edwin/locale/share/timedef/lt_LT.ISO8859-13.src user/edwin/locale/share/timedef/lt_LT.ISO8859-4.src user/edwin/locale/share/timedef/lt_LT.UTF-8.src user/edwin/locale/share/timedef/lv_LV.ISO8859-13.src user/edwin/locale/share/timedef/lv_LV.UTF-8.src user/edwin/locale/share/timedef/mn_MN.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/nb_NO.ISO8859-1.src user/edwin/locale/share/timedef/nb_NO.UTF-8.src user/edwin/locale/share/timedef/nl_NL.ISO8859-1.src user/edwin/locale/share/timedef/nl_NL.UTF-8.src user/edwin/locale/share/timedef/nn_NO.ISO8859-1.src user/edwin/locale/share/timedef/nn_NO.UTF-8.src user/edwin/locale/share/timedef/pl_PL.ISO8859-2.src user/edwin/locale/share/timedef/pl_PL.UTF-8.src user/edwin/locale/share/timedef/pt_BR.ISO8859-1.src user/edwin/locale/share/timedef/pt_BR.UTF-8.src user/edwin/locale/share/timedef/pt_PT.ISO8859-1.src user/edwin/locale/share/timedef/pt_PT.UTF-8.src user/edwin/locale/share/timedef/ro_RO.ISO8859-2.src user/edwin/locale/share/timedef/ro_RO.UTF-8.src user/edwin/locale/share/timedef/ru_RU.CP1251.src (contents, props changed) user/edwin/locale/share/timedef/ru_RU.CP866.src (contents, props changed) user/edwin/locale/share/timedef/ru_RU.ISO8859-5.src (contents, props changed) user/edwin/locale/share/timedef/ru_RU.KOI8-R.src (contents, props changed) user/edwin/locale/share/timedef/ru_RU.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/sk_SK.ISO8859-2.src user/edwin/locale/share/timedef/sk_SK.UTF-8.src user/edwin/locale/share/timedef/sl_SI.ISO8859-2.src user/edwin/locale/share/timedef/sl_SI.UTF-8.src user/edwin/locale/share/timedef/sr_Cyrl_RS.ISO8859-5.src user/edwin/locale/share/timedef/sr_Cyrl_RS.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/sr_Latn_RS.ISO8859-2.src user/edwin/locale/share/timedef/sr_Latn_RS.UTF-8.src user/edwin/locale/share/timedef/sv_SE.ISO8859-1.src user/edwin/locale/share/timedef/sv_SE.UTF-8.src user/edwin/locale/share/timedef/tr_TR.ISO8859-9.src user/edwin/locale/share/timedef/tr_TR.UTF-8.src user/edwin/locale/share/timedef/uk_UA.CP1251.src (contents, props changed) user/edwin/locale/share/timedef/uk_UA.ISO8859-5.src (contents, props changed) user/edwin/locale/share/timedef/uk_UA.KOI8-U.src (contents, props changed) user/edwin/locale/share/timedef/uk_UA.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/zh_Hans_CN.GB18030.src user/edwin/locale/share/timedef/zh_Hans_CN.GB2312.src user/edwin/locale/share/timedef/zh_Hans_CN.UTF-8.src (contents, props changed) user/edwin/locale/share/timedef/zh_Hans_CN.eucCN.src user/edwin/locale/share/timedef/zh_Hant_TW.Big5.src user/edwin/locale/share/timedef/zh_Hant_TW.UTF-8.src Modified: user/edwin/locale/share/Makefile user/edwin/locale/share/Makefile.def.inc user/edwin/locale/share/colldef/Makefile Modified: user/edwin/locale/share/Makefile ============================================================================== --- user/edwin/locale/share/Makefile Fri Sep 18 07:07:34 2009 (r197304) +++ user/edwin/locale/share/Makefile Fri Sep 18 08:02:56 2009 (r197305) @@ -5,7 +5,7 @@ # Do not include `info' in the SUBDIR list, it is handled separately. -SUBDIR= msgdef numericdef timedef monetdef +SUBDIR= msgdef numericdef timedef monetdef # colldef _SUBDIR= ${_colldef} \ ${_dict} \ Modified: user/edwin/locale/share/Makefile.def.inc ============================================================================== --- user/edwin/locale/share/Makefile.def.inc Fri Sep 18 07:07:34 2009 (r197304) +++ user/edwin/locale/share/Makefile.def.inc Fri Sep 18 08:02:56 2009 (r197305) @@ -220,39 +220,6 @@ SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${ . endfor .endfor -## CMSLINK_xxXX=cm is nothing more than CMSLINK_xxXX.UTF-8=cm -#.for ccln in ${CCLN} -#.warning 0: ${ccln} -#CMSLINK_${ccln}.UTF-8+= ${CMSLINK_${ccln}:S/^/${ccln}./} -#.endfor -# -## CCLNLINK_xxXX=yyYY is nothing more than CCLNLINK_xxXX.(CMS_xxXX + CMSLINK_xxXX)=yyYY.(CMS) -#.for ccln in ${CCLN} -#. for cm in ${CMS_${ccln}} -#.warning 1ccln: ${ccln} -#.warning 1cm: ${cm} -#CCLNLINK_${ccln}.${cm}+= ${CCLNLINK_${ccln}:S/$/.${cm}/} -#. endfor -#. for cm in ${CMS} -#.warning 2cm: ${cm} -#. for cclncm in ${CMSLINK_${ccln}.${cm}} -#.warning 2cclncm: ${cclncm} -#CCLNLINK_${ccln}.${cm}+= ${cclncm} -#. endfor -#. endfor -#.endfor -# -#SYMLINKS= -## Now join all symlinks -#.for ccln in ${CCLN} -#. for cm in ${CMS} -#. for cclncm in ${CCLNLINK_${ccln}.${cm}} -#SYMLINKS+= ../${ccln}.${cm}/${LCTYPE} ${LOCALEDIR}/${cclncm} -#. endfor -#. endfor -#.endfor - - # # Fill in the ICONV_ variables with the default values. # @@ -286,29 +253,58 @@ _TRANSLATIONAFTER_${cm}+= | awk '{ gsub .endfor # -# All targets +# Target selection # - -.for ccln in ${CCLN} +TARGET_LC_MESSAGES= TARGET_CHARACTERMAP +TARGET_LC_MONETARY= TARGET_CHARACTERMAP +TARGET_LC_NUMERIC= TARGET_CHARACTERMAP +TARGET_LC_TIME= TARGET_CHARACTERMAP +TARGET_LC_COLLDEF= TARGET_COLLDEF +.if !defined(TARGET_${LCTYPE}) +.error unknown LCTYPE (${LCTYPE}) or not set. +.endif +TARGET= ${TARGET_${LCTYPE}} + +# +# All targets for TARGET_CHARACTERMAP +# +# .unicode -> utf-8.src -> utf-8.out +# \__ iso8859-1.src -> iso8859-1.out +# <----1---><--2---><------3--------><----4-----> +# +# 1. The files .unicode are stored in the SCM and are the source +# for the whole further system +# 2. The Perl script converts the .unicode files and the Unicode +# CLDR database into UTF-8 code +# 3. The UTF-8 gets converted by libiconv or bsdiconv in the specific +# charactermap. +# 4. Get rid of the comments. +# +# As long as there is no bsdiconv, the files with the extension +# .unicode and .src must be stored in the SCM and will not be +# generated as part of the build process. +# +.if ${TARGET} == "TARGET_CHARACTERMAP" +. for ccln in ${CCLN} # Normal makes don't need to convert from .unicode to .src -. if defined(FULL) -${ccln}.src: ${ccln}.unicode +. if defined(FULL) +${ccln}.UTF-8.src: ${ccln}.unicode ../../cldr/tools/unicode2src.pl \ --cldr=/home/edwin/unicode/cldr/1.7.1 \ --unidata=/home/edwin/unicode/UNIDATA/5.1.0/ \ --input=${.ALLSRC} \ --output=${.TARGET} -. endif +. endif -${ccln}.UTF-8.out: ${ccln}.src +${ccln}.UTF-8.out: ${ccln}.UTF-8.src grep -v '^#' < ${.ALLSRC} > ${.TARGET} -. if defined(CMS_${ccln}) -. for cms in ${CMS_${ccln}} +. if defined(CMS_${ccln}) +. for cms in ${CMS_${ccln}} -${ccln}.${cms}.out: ${ccln}.UTF-8.out +${ccln}.${cms}.src: ${ccln}.UTF-8.src cat ${.ALLSRC} \ ${_TRANSLATIONBEFORE_${cms}} | \ ${ICONV_${ccln}.${cms}} \ @@ -318,9 +314,13 @@ ${ccln}.${cms}.out: ${ccln}.UTF-8.out > ${.TARGET} \ || rm ${.TARGET} && exit 0 -. endfor -. endif -.endfor +${ccln}.${cms}.out: ${ccln}.${cms}.src + grep -v '^#' < ${.ALLSRC} > ${.TARGET} + +. endfor +. endif +. endfor +.endif beforeinstall: .for f in ${FILES:S/.out//} Modified: user/edwin/locale/share/colldef/Makefile ============================================================================== --- user/edwin/locale/share/colldef/Makefile Fri Sep 18 07:07:34 2009 (r197304) +++ user/edwin/locale/share/colldef/Makefile Fri Sep 18 08:02:56 2009 (r197305) @@ -1,114 +1,189 @@ # $FreeBSD$ -LOCALES= bg_BG.CP1251 \ - be_BY.CP1131 \ - be_BY.CP1251 \ - be_BY.ISO8859-5 \ - ca_ES.ISO8859-1 \ - ca_ES.ISO8859-15 \ - cs_CZ.ISO8859-2 \ - de_DE.ISO8859-1 \ - de_DE.ISO8859-15 \ - el_GR.ISO8859-7 \ - es_ES.ISO8859-1 \ - es_ES.ISO8859-15 \ - et_EE.ISO8859-15 \ - hi_IN.ISCII-DEV \ - hr_HR.ISO8859-2 \ - hy_AM.ARMSCII-8 \ - is_IS.ISO8859-1 \ - is_IS.ISO8859-15 \ - kk_KZ.PT154 \ - la_LN.ISO8859-1 \ - la_LN.ISO8859-15 \ - la_LN.ISO8859-2 \ - la_LN.ISO8859-4 \ - la_LN.US-ASCII \ - no_NO.ISO8859-1 \ - no_NO.ISO8859-15 \ - lt_LT.ISO8859-4 \ - lt_LT.ISO8859-13 \ - pl_PL.ISO8859-2 \ - ru_RU.CP1251 \ - ru_RU.CP866 \ - ru_RU.ISO8859-5 \ - ru_RU.KOI8-R \ - sl_SI.ISO8859-2 \ - sr_YU.ISO8859-5 \ - sv_SE.ISO8859-1 \ - sv_SE.ISO8859-15 \ - tr_TR.ISO8859-9 \ - uk_UA.CP1251 \ - uk_UA.ISO8859-5 \ - uk_UA.KOI8-U +CCLN= be_BY bg_BG ca_ES cs_CZ de_DE el_GR es_ES et_EE \ + hi_IN hr_HR hy_AM is_IS kk_KZ la_LN lt_LT no_NO pl_PL \ + ru_RU sl_SI sr_Cyrl_RS sv_SE tr_TR uk_UA + +# For these locales, beside creating the UTF-8 map also create these +# charactermaps. +CMS_be_BY= CP1131 CP1251 ISO8859-5 +CMS_bg_BG= CP1251 +CMS_ca_ES= ISO8859-1 ISO8859-15 +CMS_cs_CZ= ISO8859-2 +CMS_de_DE= ISO8859-1 ISO8859-15 +CMS_el_GR= ISO8859-7 +CMS_es_ES= ISO8859-1 ISO8859-15 +CMS_et_EE= ISO8859-15 +CMS_hi_IN= ISCII-DEV +CMS_hr_HR= ISO8859-2 +CMS_hy_AM= ARMSCII-8 +CMS_is_IS= ISO8859-1 ISO8859-15 +CMS_kk_KZ= CP154 +CMS_la_LN= ISO8859-1 ISO8859-2 ISO8859-4 ISO8859-13 ISO8859-15 US-ASCII +CMS_lt_LT= ISO8859-4 +CMS_no_NO= ISO8859-1 ISO8859-15 +CMS_pl_PL= ISO8859-2 +CMS_ru_RU= CP1251 CP866 ISO8859-5 KOI8-R +CMS_sl_SI= ISO8859-2 +CMS_sr_Cyrl_RS= ISO8859-5 +CMS_sv_SE= ISO8859-1 ISO8859-15 +CMS_tr_TR= ISO8859-9 +CMS_uk_UA= CP1251 ISO8859-5 KOI8-U + +# For these locales, link the following charactermaps to the UTF-8 map. +# (unless the origin charactermap is defined) +CMSLINK_be_BY= cm +CMSLINK_ca_ES.ISO8859-1= ca_AD.ISO8859-1 ca_FR.ISO8859-1 ca_IT.ISO8859-1 +CMSLINK_ca_ES.ISO8859-15= ca_AD.ISO8859-15 ca_FR.ISO8859-15 ca_IT.ISO8859-15 +CMSLINK_ca_CZ.ISO8859-2= sk_SK.ISO8859-2 +CMSLINK_de_DE.ISO8859-1= de_AT.ISO8859-1 de_CH.ISO8859-1 +CMSLINK_de_DE.ISO8859-15= de_AT.ISO8859-15 de_CH.ISO8859-15 +CMSLINK_is_IS.ISO8859-1= zh_Hant_TW.Big5 +CMSLINK_no_NO.ISO8859-1= nb_NO.ISO8859-1 nn_NO.ISO8859-1 +CMSLINK_no_NO.ISO8859-15= nb_NO.ISO8859-15 nn_NO.ISO8859-15 +CMSLINK_pt_PT.ISO8859-1= pt_BR.ISO8859-1 +CMSLINK_la_LN.ISO8859-1= af_ZA.ISO8859-1/LC_COLLATE da_DK.ISO8859-1/LC_COLLATE en_AU.ISO8859-1/LC_COLLATE en_CA.ISO8859-1/LC_COLLATE en_GB.ISO8859-1/LC_COLLATE en_NZ.ISO8859-1/LC_COLLATE en_US.ISO8859-1/LC_COLLATE eu_ES.ISO8859-1/LC_COLLATE fi_FI.ISO8859-1/LC_COLLATE fr_BE.ISO8859-1/LC_COLLATE fr_CA.ISO8859-1/LC_COLLATE fr_CH.ISO8859-1/LC_COLLATE fr_FR.ISO8859-1/LC_COLLATE it_CH.ISO8859-1/LC_COLLATE it_IT.ISO8859-1/LC_COLLATE nl_BE.ISO8859-1/LC_COLLATE nl_NL.ISO8859-1/LC_COLLATE pt_PT.ISO8859-1/LC_COLLATE +CMSLINK_la_LN.ISO8859-2= hu_HU.ISO8859-2 ro_RO.ISO8859-2 sr_YU.ISO8859-2 +CMSLINK_la_LN.ISO8859-13= lt_LT.ISO8859-13 lv_LV.ISO8859-13 +CMSLINK_la_LN.ISO8859-15= af_ZA.ISO8859-15/LC_COLLATE da_DK.ISO8859-15/LC_COLLATE en_AU.ISO8859-15/LC_COLLATE en_CA.ISO8859-15/LC_COLLATE en_GB.ISO8859-15/LC_COLLATE en_NZ.ISO8859-15/LC_COLLATE en_US.ISO8859-15/LC_COLLATE eu_ES.ISO8859-15/LC_COLLATE fi_FI.ISO8859-15/LC_COLLATE fr_BE.ISO8859-15/LC_COLLATE fr_CA.ISO8859-15/LC_COLLATE fr_CH.ISO8859-15/LC_COLLATE fr_FR.ISO8859-15/LC_COLLATE it_CH.ISO8859-15/LC_COLLATE it_IT.ISO8859-15/LC_COLLATE nl_BE.ISO8859-15/LC_COLLATE nl_NL.ISO8859-15/LC_COLLATE pt_PT.ISO8859-15/LC_COLLATE +CMSLINK_la_LN.US-ASCII= af_ZA.UTF-8/LC_COLLATE am_ET.UTF-8/LC_COLLATE be_BY.UTF-8/LC_COLLATE bg_BG.UTF-8/LC_COLLATE ca_AD.UTF-8/LC_COLLATE ca_ES.UTF-8/LC_COLLATE ca_FR.UTF-8/LC_COLLATE ca_IT.UTF-8/LC_COLLATE cs_CZ.UTF-8/LC_COLLATE da_DK.UTF-8/LC_COLLATE de_AT.UTF-8/LC_COLLATE de_CH.UTF-8/LC_COLLATE de_DE.UTF-8/LC_COLLATE el_GR.UTF-8/LC_COLLATE en_AU.US-ASCII/LC_COLLATE en_AU.UTF-8/LC_COLLATE en_CA.US-ASCII/LC_COLLATE en_CA.UTF-8/LC_COLLATE en_GB.US-ASCII/LC_COLLATE en_GB.UTF-8/LC_COLLATE en_IE.UTF-8/LC_COLLATE en_NZ.US-ASCII/LC_COLLATE en_NZ.UTF-8/LC_COLLATE en_US.US-ASCII/LC_COLLATE en_US.UTF-8/LC_COLLATE es_ES.UTF-8/LC_COLLATE et_EE.UTF-8/LC_COLLATE eu_ES.UTF-8/LC_COLLATE fi_FI.UTF-8/LC_COLLATE fr_BE.UTF-8/LC_COLLATE fr_CA.UTF-8/LC_COLLATE fr_CH.UTF-8/LC_COLLATE fr_FR.UTF-8/LC_COLLATE he_IL.UTF-8/LC_COLLATE hr_HR.UTF-8/LC_COLLATE hu_HU.UTF-8/LC_COLLATE hy_AM.UTF-8/LC_COLLATE is_IS.UTF-8/LC_COLLATE it_CH.UTF-8/LC_COLLATE it_IT.UTF-8/LC_COLLATE ja_JP.SJIS/LC_COLLATE ja_JP.U TF-8/LC_COLLATE ja_JP.eucJP/LC_COLLATE kk_KZ.UTF-8/LC_COLLATE ko_KR.CP949/LC_COLLATE ko_KR.UTF-8/LC_COLLATE ko_KR.eucKR/LC_COLLATE lt_LT.UTF-8/LC_COLLATE lv_LV.UTF-8/LC_COLLATE mn_MN.UTF-8/LC_COLLATE nb_NO.UTF-8/LC_COLLATE nl_BE.UTF-8/LC_COLLATE nl_NL.UTF-8/LC_COLLATE nn_NO.UTF-8/LC_COLLATE no_NO.UTF-8/LC_COLLATE pl_PL.UTF-8/LC_COLLATE pt_BR.UTF-8/LC_COLLATE pt_PT.UTF-8/LC_COLLATE ro_RO.UTF-8/LC_COLLATE ru_RU.UTF-8/LC_COLLATE sk_SK.UTF-8/LC_COLLATE sl_SI.UTF-8/LC_COLLATE sr_YU.UTF-8/LC_COLLATE sv_SE.UTF-8/LC_COLLATE tr_TR.UTF-8/LC_COLLATE uk_UA.UTF-8/LC_COLLATE zh_CN.GB18030/LC_COLLATE zh_CN.GB2312/LC_COLLATE zh_CN.GBK/LC_COLLATE zh_CN.UTF-8/LC_COLLATE zh_CN.eucCN/LC_COLLATE zh_HK.Big5HKSCS/LC_COLLATE zh_HK.UTF-8/LC_COLLATE zh_TW.UTF-8/LC_COLLATE + +# For these locales, also create symlinks to the main locale. +#CCLNLINK_ccln= ccnln +# None! + +# For these locales, create symlinks to the main locale for historical reasons. +#LEGLINK_ccln= ccln + +# +# In theory there are no parts after here which should be touched when adding +# or removing locales and charactermaps. +# +# Required variables +LCTYPE= LC_COLLDEF LOCALEDIR= /usr/share/locale -.SUFFIXES: .src .out - -.src.out: - colldef -I ${.CURDIR} -o ${.TARGET} ${.IMPSRC} - -FILES= ${LOCALES:S/$/.out/} -FILESNAME= LC_COLLATE - -.for locale in ${LOCALES} -FILESDIR_${locale}.out= ${LOCALEDIR}/${locale} -.if exists(${.CURDIR}/map.${locale:E}) -${locale}.out: map.${locale:E} -.endif -.endfor - -CLEANFILES= ${FILES} - -ENCODINGS= Big5 Big5HKSCS CP949 eucCN eucJP eucKR GB18030 GB2312 GBK \ - ISO8859-1 ISO8859-2 ISO8859-15 SJIS US-ASCII UTF-8 - -ISO8859-1_Big5= is_IS:zh_TW -ISO8859-1_ISO8859-1= ${ISO8859-15_ISO8859-15} pt_PT:pt_BR - -LATIN1LINKS= af_ZA da_DK en_AU en_CA en_GB en_NZ en_US eu_ES fi_FI \ - fr_BE fr_CA fr_CH fr_FR it_CH it_IT nl_BE nl_NL pt_PT -ISO8859-15_ISO8859-15= \ - ca_ES:ca_AD ca_ES:ca_FR ca_ES:ca_IT \ - de_DE:de_AT de_DE:de_CH \ - no_NO:nb_NO no_NO:nn_NO \ - ${LATIN1LINKS:C/^/la_LN:/} - -LATIN2LINKS= hu_HU ro_RO sr_YU -ISO8859-2_ISO8859-2= ${LATIN2LINKS:C/^/la_LN:/} cs_CZ:sk_SK - -US-ASCII_Big5HKSCS= la_LN:zh_HK -US-ASCII_CP949= la_LN:ko_KR -US-ASCII_eucCN= la_LN:zh_CN -US-ASCII_eucJP= la_LN:ja_JP -US-ASCII_eucKR= la_LN:ko_KR -US-ASCII_GB18030= la_LN:zh_CN -US-ASCII_GB2312= la_LN:zh_CN -US-ASCII_GBK= la_LN:zh_CN -US-ASCII_SJIS= la_LN:ja_JP - -ASCIILINKS= en_AU en_CA en_GB en_NZ en_US -US-ASCII_US-ASCII= ${ASCIILINKS:C/^/la_LN:/} - -UTF8LINKS= af_ZA am_ET be_BY bg_BG ca_AD ca_ES ca_FR ca_IT cs_CZ \ - da_DK de_AT de_CH de_DE \ - el_GR en_AU en_CA en_GB en_IE en_NZ en_US es_ES et_EE eu_ES \ - fi_FI fr_BE fr_CA fr_CH fr_FR he_IL hr_HR hu_HU hy_AM \ - is_IS it_CH it_IT ja_JP kk_KZ ko_KR lt_LT mn_MN \ - nb_NO nl_BE nl_NL nn_NO no_NO pl_PL pt_BR pt_PT \ - ro_RO ru_RU sk_SK sl_SI sr_YU sv_SE tr_TR uk_UA zh_CN zh_HK \ - zh_TW -US-ASCII_UTF-8= ${UTF8LINKS:C/^/la_LN:/} - -SYMLINKS= -.for enc1 in ${ENCODINGS} -.for enc2 in ${ENCODINGS} -.for lang_terr in ${${enc1}_${enc2}} -SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} -.endfor -.endfor -.endfor +# For testing only +DESTDIR= /home/edwin/locale/new/ +SHAREOWN= edwin +SHAREGRP= edwin + +# DONE +# +# All variables +# + +#LOCALES= bg_BG.CP1251 \ +# be_BY.CP1131 \ +# be_BY.CP1251 \ +# be_BY.ISO8859-5 \ +# ca_ES.ISO8859-1 \ +# ca_ES.ISO8859-15 \ +# cs_CZ.ISO8859-2 \ +# de_DE.ISO8859-1 \ +# de_DE.ISO8859-15 \ +# el_GR.ISO8859-7 \ +# es_ES.ISO8859-1 \ +# es_ES.ISO8859-15 \ +# et_EE.ISO8859-15 \ +# hi_IN.ISCII-DEV \ +# hr_HR.ISO8859-2 \ +# hy_AM.ARMSCII-8 \ +# is_IS.ISO8859-1 \ +# is_IS.ISO8859-15 \ +# kk_KZ.PT154 \ +# la_LN.ISO8859-1 \ +# la_LN.ISO8859-15 \ +# la_LN.ISO8859-2 \ +# la_LN.ISO8859-4 \ +# la_LN.US-ASCII \ +# no_NO.ISO8859-1 \ +# no_NO.ISO8859-15 \ +# lt_LT.ISO8859-4 \ +# lt_LT.ISO8859-13 \ +# pl_PL.ISO8859-2 \ +# ru_RU.CP1251 \ +# ru_RU.CP866 \ +# ru_RU.ISO8859-5 \ +# ru_RU.KOI8-R \ +# sl_SI.ISO8859-2 \ +# sr_YU.ISO8859-5 \ +# sv_SE.ISO8859-1 \ +# sv_SE.ISO8859-15 \ +# tr_TR.ISO8859-9 \ +# uk_UA.CP1251 \ +# uk_UA.ISO8859-5 \ +# uk_UA.KOI8-U +# +#LOCALEDIR= /usr/share/locale +# +#.SUFFIXES: .src .out +# +#.src.out: +# colldef -I ${.CURDIR} -o ${.TARGET} ${.IMPSRC} +# +#FILES= ${LOCALES:S/$/.out/} +#FILESNAME= LC_COLLATE +# +#.for locale in ${LOCALES} +#FILESDIR_${locale}.out= ${LOCALEDIR}/${locale} +#.if exists(${.CURDIR}/map.${locale:E}) +#${locale}.out: map.${locale:E} +#.endif +#.endfor +# +#CLEANFILES= ${FILES} +# +#ENCODINGS= Big5 Big5HKSCS CP949 eucCN eucJP eucKR GB18030 GB2312 GBK \ +# ISO8859-1 ISO8859-2 ISO8859-15 SJIS US-ASCII UTF-8 +# +#ISO8859-1_Big5= is_IS:zh_TW +#ISO8859-1_ISO8859-1= ${ISO8859-15_ISO8859-15} pt_PT:pt_BR +# +#LATIN1LINKS= af_ZA da_DK en_AU en_CA en_GB en_NZ en_US eu_ES fi_FI \ +# fr_BE fr_CA fr_CH fr_FR it_CH it_IT nl_BE nl_NL pt_PT +#ISO8859-15_ISO8859-15= \ +# ca_ES:ca_AD ca_ES:ca_FR ca_ES:ca_IT \ +# de_DE:de_AT de_DE:de_CH \ +# no_NO:nb_NO no_NO:nn_NO \ +# ${LATIN1LINKS:C/^/la_LN:/} +# +#LATIN2LINKS= hu_HU ro_RO sr_YU +#ISO8859-2_ISO8859-2= ${LATIN2LINKS:C/^/la_LN:/} cs_CZ:sk_SK +# +#US-ASCII_Big5HKSCS= la_LN:zh_HK +#US-ASCII_CP949= la_LN:ko_KR +#US-ASCII_eucCN= la_LN:zh_CN +#US-ASCII_eucJP= la_LN:ja_JP +#US-ASCII_eucKR= la_LN:ko_KR +#US-ASCII_GB18030= la_LN:zh_CN +#US-ASCII_GB2312= la_LN:zh_CN +#US-ASCII_GBK= la_LN:zh_CN +#US-ASCII_SJIS= la_LN:ja_JP +# +#ASCIILINKS= en_AU en_CA en_GB en_NZ en_US +#US-ASCII_US-ASCII= ${ASCIILINKS:C/^/la_LN:/} +# +#UTF8LINKS= af_ZA am_ET be_BY bg_BG ca_AD ca_ES ca_FR ca_IT cs_CZ \ +# da_DK de_AT de_CH de_DE \ +# el_GR en_AU en_CA en_GB en_IE en_NZ en_US es_ES et_EE eu_ES \ +# fi_FI fr_BE fr_CA fr_CH fr_FR he_IL hr_HR hu_HU hy_AM \ +# is_IS it_CH it_IT ja_JP kk_KZ ko_KR lt_LT mn_MN \ +# nb_NO nl_BE nl_NL nn_NO no_NO pl_PL pt_BR pt_PT \ +# ro_RO ru_RU sk_SK sl_SI sr_YU sv_SE tr_TR uk_UA zh_CN zh_HK \ +# zh_TW +#US-ASCII_UTF-8= ${UTF8LINKS:C/^/la_LN:/} +# +#SYMLINKS= +#.for enc1 in ${ENCODINGS} +#.for enc2 in ${ENCODINGS} +#.for lang_terr in ${${enc1}_${enc2}} +#SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ +# ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} +#.endfor +#.endfor +#.endfor +.include "../Makefile.def.inc" .include Added: user/edwin/locale/share/monetdef/af_ZA.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/af_ZA.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/af_ZA.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +ZAR +# currency_symbol +R +# mon_decimal_point +, +# mon_thousands_sep +. +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +1 +# p_sep_by_space +0 +# n_cs_precedes +1 +# n_sep_by_space +0 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/am_ET.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/am_ET.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/am_ET.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +ETB +# currency_symbol +$ +# mon_decimal_point +. +# mon_thousands_sep +, +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +1 +# p_sep_by_space +0 +# n_cs_precedes +1 +# n_sep_by_space +0 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/be_BY.CP1131.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/be_BY.CP1131.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,35 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/be_BY.unicode 196846 2009-09-04 23:11:59Z edwin $ +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +BYR +# currency_symbol +. +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/be_BY.CP1251.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/be_BY.CP1251.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,35 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/be_BY.unicode 196846 2009-09-04 23:11:59Z edwin $ +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +BYR +# currency_symbol +. +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/be_BY.ISO8859-5.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/be_BY.ISO8859-5.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,35 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/be_BY.unicode 196846 2009-09-04 23:11:59Z edwin $ +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +BYR +# currency_symbol +. +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/be_BY.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/be_BY.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,35 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/be_BY.unicode 196846 2009-09-04 23:11:59Z edwin $ +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +BYR +# currency_symbol +руб. +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/bg_BG.CP1251.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/bg_BG.CP1251.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/bg_BG.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +BGN +# currency_symbol +. +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/bg_BG.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/bg_BG.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/bg_BG.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +BGN +# currency_symbol +лв. +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/ca_ES.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/ca_ES.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/ca_ES.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +EUR +# currency_symbol +Eu +# mon_decimal_point +, +# mon_thousands_sep +. +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +0 +# frac_digits +0 +# p_cs_precedes +1 +# p_sep_by_space +1 +# n_cs_precedes +1 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/cs_CZ.ISO8859-2.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/cs_CZ.ISO8859-2.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/cs_CZ.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +CZK +# currency_symbol +K +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/cs_CZ.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/cs_CZ.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/cs_CZ.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +CZK +# currency_symbol +Kč +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +0 +# p_sep_by_space +1 +# n_cs_precedes +0 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/da_DK.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/da_DK.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/da_DK.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +DKK +# currency_symbol +kr +# mon_decimal_point +, +# mon_thousands_sep +. +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +1 +# p_sep_by_space +2 +# n_cs_precedes +1 +# n_sep_by_space +2 +# p_sign_posn +4 +# n_sign_posn +4 +# EOF Added: user/edwin/locale/share/monetdef/de_AT.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/de_AT.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/de_AT.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +EUR +# currency_symbol +Eu +# mon_decimal_point +, +# mon_thousands_sep + +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +1 +# p_sep_by_space +1 +# n_cs_precedes +1 +# n_sep_by_space +1 +# p_sign_posn +1 +# n_sign_posn +1 +# EOF Added: user/edwin/locale/share/monetdef/de_CH.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/de_CH.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/de_CH.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +CHF +# currency_symbol +Fr. +# mon_decimal_point +. +# mon_thousands_sep +' +# mon_grouping, separated by ; +3;3 +# positive_sign + +# negative_sign +- +# int_frac_digits +2 +# frac_digits +2 +# p_cs_precedes +1 +# p_sep_by_space +1 +# n_cs_precedes +1 +# n_sep_by_space +1 +# p_sign_posn +4 +# n_sign_posn +4 +# EOF Added: user/edwin/locale/share/monetdef/de_DE.UTF-8.src ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/edwin/locale/share/monetdef/de_DE.UTF-8.src Fri Sep 18 08:02:56 2009 (r197305) @@ -0,0 +1,36 @@ +# $FreeBSD: user/edwin/locale/share/monetdef/de_DE.unicode 196846 2009-09-04 23:11:59Z edwin $ +# +# WARNING: spaces may be essential at the end of lines +# WARNING: empty lines are essential too +# +# int_curr_symbol (last character always SPACE) +EUR +# currency_symbol +Eu +# mon_decimal_point +, +# mon_thousands_sep +. +# mon_grouping, separated by ; +3;3 +# positive_sign + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri Sep 18 21:40:00 2009 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65C68106568F; Fri, 18 Sep 2009 21:40:00 +0000 (UTC) (envelope-from fabient@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 543D68FC1B; Fri, 18 Sep 2009 21:40:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8ILdxXO001892; Fri, 18 Sep 2009 21:39:59 GMT (envelope-from fabient@svn.freebsd.org) Received: (from fabient@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8ILdxHi001887; Fri, 18 Sep 2009 21:39:59 GMT (envelope-from fabient@svn.freebsd.org) Message-Id: <200909182139.n8ILdxHi001887@svn.freebsd.org> From: Fabien Thomas Date: Fri, 18 Sep 2009 21:39:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197319 - user/fabient/svctest/usr.sbin/pmcstat X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Sep 2009 21:40:00 -0000 Author: fabient Date: Fri Sep 18 21:39:59 2009 New Revision: 197319 URL: http://svn.freebsd.org/changeset/base/197319 Log: git branch to svn Added: user/fabient/svctest/usr.sbin/pmcstat/pmcstat_logct.c Modified: user/fabient/svctest/usr.sbin/pmcstat/Makefile user/fabient/svctest/usr.sbin/pmcstat/pmcstat.c user/fabient/svctest/usr.sbin/pmcstat/pmcstat.h Modified: user/fabient/svctest/usr.sbin/pmcstat/Makefile ============================================================================== --- user/fabient/svctest/usr.sbin/pmcstat/Makefile Fri Sep 18 20:35:05 2009 (r197318) +++ user/fabient/svctest/usr.sbin/pmcstat/Makefile Fri Sep 18 21:39:59 2009 (r197319) @@ -10,6 +10,6 @@ LDADD= -lelf -lkvm -lpmc -lm WARNS?= 6 -SRCS= pmcstat.c pmcstat.h pmcstat_log.c +SRCS= pmcstat.c pmcstat.h pmcstat_log.c pmcstat_logct.c .include Modified: user/fabient/svctest/usr.sbin/pmcstat/pmcstat.c ============================================================================== --- user/fabient/svctest/usr.sbin/pmcstat/pmcstat.c Fri Sep 18 20:35:05 2009 (r197318) +++ user/fabient/svctest/usr.sbin/pmcstat/pmcstat.c Fri Sep 18 21:39:59 2009 (r197319) @@ -494,6 +494,7 @@ pmcstat_show_usage(void) "\t -D path\t create profiles in directory \"path\"\n" "\t -E\t\t (toggle) show counts at process exit\n" "\t -G file\t write a system-wide callgraph to \"file\"\n" + "\t -f type\t set output format (calltree|callgraph) for system-wide callgraph\n" "\t -M file\t print executable/gmon file map to \"file\"\n" "\t -N\t\t (toggle) capture callchains\n" "\t -O file\t send log output to \"file\"\n" @@ -594,7 +595,7 @@ main(int argc, char **argv) } while ((option = getopt(argc, argv, - "CD:EG:M:NO:P:R:S:Wc:dgk:m:n:o:p:qr:s:t:vw:z:")) != -1) + "CD:EG:M:NO:P:R:S:Wc:dgk:m:n:o:p:qr:s:t:vw:z:f:")) != -1) switch (option) { case 'C': /* cumulative values */ use_cumulative_counts = !use_cumulative_counts; @@ -633,6 +634,11 @@ main(int argc, char **argv) graphfilename = optarg; break; + case 'f': /* output system-wide callgraph in calltree format (KCachegrind) */ + if (strcasecmp(optarg, "calltree") == 0) + args.pa_flags |= FLAG_DO_CALLTREE; + break; + case 'g': /* produce gprof compatible profiles */ args.pa_flags |= FLAG_DO_GPROF; break; @@ -1012,6 +1018,17 @@ main(int argc, char **argv) if ((args.pa_flags & FLAG_DO_ANALYSIS) == 0) args.pa_flags |= FLAG_DO_PRINT; + if (args.pa_flags & FLAG_DO_CALLTREE) { + pmcstat_ct_initialize_logging(&args); + args.pa_logfd = pmcstat_ct_open_log(args.pa_inputpath, + PMCSTAT_OPEN_FOR_READ); + if ((args.pa_logparser = pmclog_open(args.pa_logfd)) == NULL) + err(EX_OSERR, "ERROR: Cannot create parser"); + pmcstat_ct_process_log(&args); + pmcstat_ct_shutdown_logging(&args); + exit(EX_OK); + } + pmcstat_initialize_logging(&args); args.pa_logfd = pmcstat_open_log(args.pa_inputpath, PMCSTAT_OPEN_FOR_READ); Modified: user/fabient/svctest/usr.sbin/pmcstat/pmcstat.h ============================================================================== --- user/fabient/svctest/usr.sbin/pmcstat/pmcstat.h Fri Sep 18 20:35:05 2009 (r197318) +++ user/fabient/svctest/usr.sbin/pmcstat/pmcstat.h Fri Sep 18 21:39:59 2009 (r197319) @@ -50,6 +50,7 @@ #define FLAG_DO_CALLGRAPHS 0x00004000 /* -G */ #define FLAG_DO_ANALYSIS 0x00008000 /* -g or -G */ #define FLAG_WANTS_MAPPINGS 0x00010000 /* -m */ +#define FLAG_DO_CALLTREE 0x00020000 /* -f calltree */ #define DEFAULT_SAMPLE_COUNT 65536 #define DEFAULT_WAIT_INTERVAL 5.0 @@ -136,19 +137,24 @@ void pmcstat_cleanup(struct pmcstat_args void pmcstat_clone_event_descriptor(struct pmcstat_args *_a, struct pmcstat_ev *_ev, uint32_t _cpumask); int pmcstat_close_log(struct pmcstat_args *_a); +int pmcstat_ct_close_log(struct pmcstat_args *_a); void pmcstat_create_process(struct pmcstat_args *_a); void pmcstat_find_targets(struct pmcstat_args *_a, const char *_arg); void pmcstat_initialize_logging(struct pmcstat_args *_a); +void pmcstat_ct_initialize_logging(struct pmcstat_args *_a); void pmcstat_kill_process(struct pmcstat_args *_a); int pmcstat_open_log(const char *_p, int _mode); +int pmcstat_ct_open_log(const char *_p, int _mode); void pmcstat_print_counters(struct pmcstat_args *_a); void pmcstat_print_headers(struct pmcstat_args *_a); void pmcstat_print_pmcs(struct pmcstat_args *_a); void pmcstat_show_usage(void); void pmcstat_shutdown_logging(struct pmcstat_args *_a); +void pmcstat_ct_shutdown_logging(struct pmcstat_args *_a); void pmcstat_start_pmcs(struct pmcstat_args *_a); void pmcstat_start_process(void); int pmcstat_process_log(struct pmcstat_args *_a); +int pmcstat_ct_process_log(struct pmcstat_args *_a); uint32_t pmcstat_get_cpumask(const char *_a); #endif /* _PMCSTAT_H_ */ Added: user/fabient/svctest/usr.sbin/pmcstat/pmcstat_logct.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/fabient/svctest/usr.sbin/pmcstat/pmcstat_logct.c Fri Sep 18 21:39:59 2009 (r197319) @@ -0,0 +1,2022 @@ +/*- + * Copyright (c) 2005-2007, Joseph Koshy + * Copyright (c) 2007 The FreeBSD Foundation + * All rights reserved. + * + * Portions of this software were developed by A. Joseph Koshy under + * sponsorship from the FreeBSD Foundation and Google, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Transform a hwpmc(4) log into human readable form, and into + * gprof(1) compatible profiles. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "pmcstat.h" + +#define min(A,B) ((A) < (B) ? (A) : (B)) +#define max(A,B) ((A) > (B) ? (A) : (B)) + +#define PMCSTAT_ALLOCATE 1 + +#define PMCSTAT_PC_RESERVED 0 + +/* + * PUBLIC INTERFACES + * + * pmcstat_ct_initialize_logging() initialize this module, called first + * pmcstat_ct_shutdown_logging() orderly shutdown, called last + * pmcstat_ct_open_log() open an eventlog for processing + * pmcstat_ct_process_log() print/convert an event log + * pmcstat_ct_close_log() finish processing an event log + * + * IMPLEMENTATION NOTES + * + * We correlate each 'callchain' or 'sample' entry seen in the event + * log back to an executable object in the system. Executable objects + * include: + * - program executables, + * - shared libraries loaded by the runtime loader, + * - dlopen()'ed objects loaded by the program, + * - the runtime loader itself, + * - the kernel and kernel modules. + * + * Each process that we know about is treated as a set of regions that + * map to executable objects. Processes are described by + * 'pmcstat_process' structures. Executable objects are tracked by + * 'pmcstat_image' structures. The kernel and kernel modules are + * common to all processes (they reside at the same virtual addresses + * for all processes). Individual processes can have their text + * segments and shared libraries loaded at process-specific locations. + * + * A given executable object can be in use by multiple processes + * (e.g., libc.so) and loaded at a different address in each. + * pmcstat_pcmap structures track per-image mappings. + * + * The sample log could have samples from multiple PMCs; we + * generate one 'gmon.out' profile per PMC. + * + */ + +typedef const void *pmcstat_interned_string; + +/* + * 'pmcstat_pmcrecord' is a mapping from PMC ids to human-readable + * names. + */ + +struct pmcstat_pmcrecord { + LIST_ENTRY(pmcstat_pmcrecord) pr_next; + pmc_id_t pr_pmcid; + pmcstat_interned_string pr_pmcname; + unsigned int pr_index; +}; + +static unsigned int pmcstat_npmcs = 0; +static LIST_HEAD(,pmcstat_pmcrecord) pmcstat_pmcs = LIST_HEAD_INITIALIZER(&pmcstat_pmcs); +static int pmcstat_mergepmc = 1; + +/* + * A 'pmcstat_image' structure describes an executable program on + * disk. 'pi_execpath' is a cookie representing the pathname of + * the executable. 'pi_start' and 'pi_end' are the least and greatest + * virtual addresses for the text segments in the executable. + * 'pi_gmonlist' contains a linked list of gmon.out files associated + * with this image. + */ + +enum pmcstat_image_type { + PMCSTAT_IMAGE_UNKNOWN = 0, /* never looked at the image */ + PMCSTAT_IMAGE_INDETERMINABLE, /* can't tell what the image is */ + PMCSTAT_IMAGE_ELF32, /* ELF 32 bit object */ + PMCSTAT_IMAGE_ELF64, /* ELF 64 bit object */ + PMCSTAT_IMAGE_AOUT /* AOUT object */ +}; + +struct pmcstat_image { + LIST_ENTRY(pmcstat_image) pi_next; /* hash link */ + TAILQ_ENTRY(pmcstat_image) pi_lru; /* LRU list */ + pmcstat_interned_string pi_execpath; /* cookie */ + pmcstat_interned_string pi_samplename; /* sample path name */ + pmcstat_interned_string pi_fullpath; /* path to FS object */ + pmcstat_interned_string pi_name; /* file name */ + enum pmcstat_image_type pi_type; /* executable type */ + + /* + * Executables have pi_start and pi_end; these are zero + * for shared libraries. + */ + uintfptr_t pi_start; /* start address (inclusive) */ + uintfptr_t pi_end; /* end address (exclusive) */ + uintfptr_t pi_entry; /* entry address */ + uintfptr_t pi_vaddr; /* virtual address where loaded */ + int pi_isdynamic; /* whether a dynamic object */ + int pi_iskernelmodule; + pmcstat_interned_string pi_dynlinkerpath; /* path in .interp */ + + /* All symbols associated with this object. */ + struct pmcstat_symbol *pi_symbols; + size_t pi_symcount; + +}; + +/* + * All image descriptors are kept in a hash table. + */ +static LIST_HEAD(,pmcstat_image) pmcstat_image_hash[PMCSTAT_NHASH]; + +/* + * A 'pmcstat_pcmap' structure maps a virtual address range to an + * underlying 'pmcstat_image' descriptor. + */ +struct pmcstat_pcmap { + TAILQ_ENTRY(pmcstat_pcmap) ppm_next; + uintfptr_t ppm_lowpc; + uintfptr_t ppm_highpc; + struct pmcstat_image *ppm_image; +}; + +/* + * A 'pmcstat_process' structure models processes. Each process is + * associated with a set of pmcstat_pcmap structures that map + * addresses inside it to executable objects. This set is implemented + * as a list, kept sorted in ascending order of mapped addresses. + * + * 'pp_pid' holds the pid of the process. When a process exits, the + * 'pp_isactive' field is set to zero, but the process structure is + * not immediately reclaimed because there may still be samples in the + * log for this process. + */ + +struct pmcstat_process { + LIST_ENTRY(pmcstat_process) pp_next; /* hash-next */ + pid_t pp_pid; /* associated pid */ + int pp_isactive; /* whether active */ + uintfptr_t pp_entryaddr; /* entry address */ + TAILQ_HEAD(,pmcstat_pcmap) pp_map; /* address range map */ +}; + +/* + * All process descriptors are kept in a hash table. + */ +static LIST_HEAD(,pmcstat_process) pmcstat_process_hash[PMCSTAT_NHASH]; + +static struct pmcstat_process *pmcstat_kernproc; /* kernel 'process' */ + +/* + * Each function symbol tracked by pmcstat(8). + */ + +struct pmcstat_symbol { + pmcstat_interned_string ps_name; + uint64_t ps_start; + uint64_t ps_end; +}; + +static pmcstat_interned_string pmcstat_previous_filename_printed; + +struct pmcstat_ctnode; + +struct pmcstat_ctarc { + uint32_t pcta_child_count_c; + uint32_t *pcta_child_count; + struct pmcstat_ctnode *pcta_child; +}; + +/* + * Each call tree node is tracked by a pmcstat_ctnode struct. + */ +struct pmcstat_ctnode { + struct pmcstat_image *pct_image; + uintfptr_t pct_func; + uint32_t pct_self_count_c; + uint32_t *pct_self_count; + + uint32_t pct_narc; + uint32_t pct_arc_c; + struct pmcstat_ctarc *pct_arc; +}; + +struct pmcstat_ctnode_hash { + struct pmcstat_ctnode *pch_ctnode; + LIST_ENTRY(pmcstat_ctnode_hash) pch_next; +}; + +/* + * All nodes indexed by function/image name are placed in a hash table. + */ +static LIST_HEAD(,pmcstat_ctnode_hash) pmcstat_ctnode_hash[PMCSTAT_NHASH]; + +/* Misc. statistics */ +static struct pmcstat_stats { + int ps_exec_aout; /* # a.out executables seen */ + int ps_exec_elf; /* # elf executables seen */ + int ps_exec_errors; /* # errors processing executables */ + int ps_exec_indeterminable; /* # unknown executables seen */ + int ps_samples_total; /* total number of samples processed */ + int ps_samples_skipped; /* #samples filtered out for any reason */ + int ps_samples_unknown_offset; /* #samples of rank 0 not in a map */ + int ps_samples_indeterminable; /* #samples in indeterminable images */ + int ps_callchain_dubious_frames;/* #dubious frame pointers seen */ + int ps_callchain_single_frames; /* #single frame seen */ + /* TODO: add stats for specific calltree error + */ +} pmcstat_stats; + + +/* + * Prototypes + */ + +static void pmcstat_image_determine_type(struct pmcstat_image *_image, + struct pmcstat_args *_a); +static struct pmcstat_image *pmcstat_image_from_path(pmcstat_interned_string + _path, int _iskernelmodule); +static void pmcstat_image_get_aout_params(struct pmcstat_image *_image, + struct pmcstat_args *_a); +static void pmcstat_image_get_elf_params(struct pmcstat_image *_image, + struct pmcstat_args *_a); +static void pmcstat_image_link(struct pmcstat_process *_pp, + struct pmcstat_image *_i, uintfptr_t _lpc); + +static void pmcstat_pmcid_add(pmc_id_t _pmcid, pmcstat_interned_string _name); +static void pmcstat_process_aout_exec(struct pmcstat_process *_pp, + struct pmcstat_image *_image, uintfptr_t _entryaddr, + struct pmcstat_args *_a); +static void pmcstat_process_elf_exec(struct pmcstat_process *_pp, + struct pmcstat_image *_image, uintfptr_t _entryaddr, + struct pmcstat_args *_a); +static void pmcstat_process_exec(struct pmcstat_process *_pp, + pmcstat_interned_string _path, uintfptr_t _entryaddr, + struct pmcstat_args *_ao); +static struct pmcstat_process *pmcstat_process_lookup(pid_t _pid, + int _allocate); +static struct pmcstat_pcmap *pmcstat_process_find_map( + struct pmcstat_process *_p, uintfptr_t _pc); + +static int pmcstat_string_compute_hash(const char *_string); +static void pmcstat_string_initialize(void); +static pmcstat_interned_string pmcstat_string_intern(const char *_s); +static pmcstat_interned_string pmcstat_string_lookup(const char *_s); +static int pmcstat_string_lookup_hash(pmcstat_interned_string _is); +static void pmcstat_string_shutdown(void); +static const char *pmcstat_string_unintern(pmcstat_interned_string _is); + + +/* + * A simple implementation of interned strings. Each interned string + * is assigned a unique address, so that subsequent string compares + * can be done by a simple pointer comparision instead of using + * strcmp(). This speeds up hash table lookups and saves memory if + * duplicate strings are the norm. + */ +struct pmcstat_string { + LIST_ENTRY(pmcstat_string) ps_next; /* hash link */ + int ps_len; + int ps_hash; + char *ps_string; +}; + +static LIST_HEAD(,pmcstat_string) pmcstat_string_hash[PMCSTAT_NHASH]; + + +/* + * Block realloc items + */ +static void +pmcstat_growit(uint32_t item, uint32_t *count, uint32_t size, void **items) +{ +#define GROWIT_BLOCKSIZE 4 + uint32_t new_count; + + if (item < *count) + return; + + new_count = *count + max(item + 1 - *count, GROWIT_BLOCKSIZE); + *items = realloc(*items, new_count * size); +. if (*items == NULL) + errx(EX_SOFTWARE, "ERROR: out of memory"); + bzero((char *)*items + *count * size, (new_count - *count) * size); + *count = new_count; +} + +/* + * Compute a 'hash' value for a string. + */ + +static int +pmcstat_string_compute_hash(const char *s) +{ + int hash; + + for (hash = 0; *s; s++) + hash ^= *s; + + return (hash & PMCSTAT_HASH_MASK); +} + +/* + * Intern a copy of string 's', and return a pointer to the + * interned structure. + */ + +static pmcstat_interned_string +pmcstat_string_intern(const char *s) +{ + struct pmcstat_string *ps; + const struct pmcstat_string *cps; + int hash, len; + + if ((cps = pmcstat_string_lookup(s)) != NULL) + return (cps); + + hash = pmcstat_string_compute_hash(s); + len = strlen(s); + + if ((ps = malloc(sizeof(*ps))) == NULL) + err(EX_OSERR, "ERROR: Could not intern string"); + ps->ps_len = len; + ps->ps_hash = hash; + ps->ps_string = strdup(s); + LIST_INSERT_HEAD(&pmcstat_string_hash[hash], ps, ps_next); + return ((pmcstat_interned_string) ps); +} + +static const char * +pmcstat_string_unintern(pmcstat_interned_string str) +{ + const char *s; + + s = ((const struct pmcstat_string *) str)->ps_string; + return (s); +} + +static pmcstat_interned_string +pmcstat_string_lookup(const char *s) +{ + struct pmcstat_string *ps; + int hash, len; + + hash = pmcstat_string_compute_hash(s); + len = strlen(s); + + LIST_FOREACH(ps, &pmcstat_string_hash[hash], ps_next) + if (ps->ps_len == len && ps->ps_hash == hash && + strcmp(ps->ps_string, s) == 0) + return (ps); + return (NULL); +} + +static int +pmcstat_string_lookup_hash(pmcstat_interned_string s) +{ + const struct pmcstat_string *ps; + + ps = (const struct pmcstat_string *) s; + return (ps->ps_hash); +} + +/* + * Initialize the string interning facility. + */ + +static void +pmcstat_string_initialize(void) +{ + int i; + + for (i = 0; i < PMCSTAT_NHASH; i++) + LIST_INIT(&pmcstat_string_hash[i]); +} + +/* + * Destroy the string table, free'ing up space. + */ + +static void +pmcstat_string_shutdown(void) +{ + int i; + struct pmcstat_string *ps, *pstmp; + + for (i = 0; i < PMCSTAT_NHASH; i++) + LIST_FOREACH_SAFE(ps, &pmcstat_string_hash[i], ps_next, + pstmp) { + LIST_REMOVE(ps, ps_next); + free(ps->ps_string); + free(ps); + } +} + +/* + * Determine whether a given executable image is an A.OUT object, and + * if so, fill in its parameters from the text file. + * Sets image->pi_type. + */ + +static void +pmcstat_image_get_aout_params(struct pmcstat_image *image, + struct pmcstat_args *a) +{ + int fd; + ssize_t nbytes; + struct exec ex; + const char *path; + char buffer[PATH_MAX]; + + path = pmcstat_string_unintern(image->pi_execpath); + assert(path != NULL); + + if (image->pi_iskernelmodule) + errx(EX_SOFTWARE, "ERROR: a.out kernel modules are " + "unsupported \"%s\"", path); + + (void) snprintf(buffer, sizeof(buffer), "%s%s", + a->pa_fsroot, path); + + if ((fd = open(buffer, O_RDONLY, 0)) < 0 || + (nbytes = read(fd, &ex, sizeof(ex))) < 0) { + warn("WARNING: Cannot determine type of \"%s\"", path); + image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; + if (fd != -1) + (void) close(fd); + return; + } + + (void) close(fd); + + if ((unsigned) nbytes != sizeof(ex) || + N_BADMAG(ex)) + return; + + image->pi_type = PMCSTAT_IMAGE_AOUT; + + /* TODO: the rest of a.out processing */ + + return; +} + +/* + * Helper function. + */ + +static int +pmcstat_symbol_compare(const void *a, const void *b) +{ + const struct pmcstat_symbol *sym1, *sym2; + + sym1 = (const struct pmcstat_symbol *) a; + sym2 = (const struct pmcstat_symbol *) b; + + if (sym1->ps_end <= sym2->ps_start) + return (-1); + if (sym1->ps_start >= sym2->ps_end) + return (1); + return (0); +} + +/* + * Map an address to a symbol in an image. + */ + +static struct pmcstat_symbol * +pmcstat_symbol_search(struct pmcstat_image *image, uintfptr_t addr) +{ + struct pmcstat_symbol sym; + + if (image->pi_symbols == NULL) + return (NULL); + + sym.ps_name = NULL; + sym.ps_start = addr; + sym.ps_end = addr + 1; + + return (bsearch((void *) &sym, image->pi_symbols, + image->pi_symcount, sizeof(struct pmcstat_symbol), + pmcstat_symbol_compare)); +} + +/* + * Add the list of symbols in the given section to the list associated + * with the object. + */ +static void +pmcstat_image_add_symbols(struct pmcstat_image *image, Elf *e, + Elf_Scn *scn, GElf_Shdr *sh) +{ + int firsttime; + size_t n, newsyms, nshsyms, nfuncsyms; + struct pmcstat_symbol *symptr; + char *fnname; + GElf_Sym sym; + Elf_Data *data; + + if ((data = elf_getdata(scn, NULL)) == NULL) + return; + + /* + * Determine the number of functions named in this + * section. + */ + + nshsyms = sh->sh_size / sh->sh_entsize; + for (n = nfuncsyms = 0; n < nshsyms; n++) { + if (gelf_getsym(data, (int) n, &sym) != &sym) + return; + if (GELF_ST_TYPE(sym.st_info) == STT_FUNC) + nfuncsyms++; + } + + if (nfuncsyms == 0) + return; + + /* + * Allocate space for the new entries. + */ + firsttime = image->pi_symbols == NULL; + symptr = realloc(image->pi_symbols, + sizeof(*symptr) * (image->pi_symcount + nfuncsyms)); + if (symptr == image->pi_symbols) /* realloc() failed. */ + return; + image->pi_symbols = symptr; + + /* + * Append new symbols to the end of the current table. + */ + symptr += image->pi_symcount; + + for (n = newsyms = 0; n < nshsyms; n++) { + if (gelf_getsym(data, (int) n, &sym) != &sym) + return; + if (GELF_ST_TYPE(sym.st_info) != STT_FUNC) + continue; + + if (!firsttime && pmcstat_symbol_search(image, sym.st_value)) + continue; /* We've seen this symbol already. */ + + if ((fnname = elf_strptr(e, sh->sh_link, sym.st_name)) + == NULL) + continue; + + symptr->ps_name = pmcstat_string_intern(fnname); + symptr->ps_start = sym.st_value - image->pi_vaddr; + symptr->ps_end = symptr->ps_start + sym.st_size; + symptr++; + + newsyms++; + } + + image->pi_symcount += newsyms; + + assert(newsyms <= nfuncsyms); + + /* + * Return space to the system if there were duplicates. + */ + if (newsyms < nfuncsyms) + image->pi_symbols = realloc(image->pi_symbols, + sizeof(*symptr) * image->pi_symcount); + + /* + * Keep the list of symbols sorted. + */ + qsort(image->pi_symbols, image->pi_symcount, sizeof(*symptr), + pmcstat_symbol_compare); + + /* + * Deal with function symbols that have a size of 'zero' by + * making them extend to the next higher address. These + * symbols are usually defined in assembly code. + */ + for (symptr = image->pi_symbols; + symptr < image->pi_symbols + (image->pi_symcount - 1); + symptr++) + if (symptr->ps_start == symptr->ps_end) + symptr->ps_end = (symptr+1)->ps_start; +} + +/* + * Examine an ELF file to determine the size of its text segment. + * Sets image->pi_type if anything conclusive can be determined about + * this image. + */ + +static void +pmcstat_image_get_elf_params(struct pmcstat_image *image, + struct pmcstat_args *a) +{ + int fd; + size_t i, nph, nsh; + const char *path, *elfbase; + uintfptr_t minva, maxva; + Elf *e; + Elf_Scn *scn; + GElf_Ehdr eh; + GElf_Phdr ph; + GElf_Shdr sh; + enum pmcstat_image_type image_type; + char buffer[PATH_MAX], *p, *q; + + assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); + + image->pi_start = minva = ~(uintfptr_t) 0; + image->pi_end = maxva = (uintfptr_t) 0; + image->pi_type = image_type = PMCSTAT_IMAGE_INDETERMINABLE; + image->pi_isdynamic = 0; + image->pi_dynlinkerpath = NULL; + image->pi_vaddr = 0; + + path = pmcstat_string_unintern(image->pi_execpath); + assert(path != NULL); + + /* + * Look for kernel modules under FSROOT/KERNELPATH/NAME, + * and user mode executable objects under FSROOT/PATHNAME. + */ + if (image->pi_iskernelmodule) + (void) snprintf(buffer, sizeof(buffer), "%s%s/%s", + a->pa_fsroot, a->pa_kernel, path); + else + (void) snprintf(buffer, sizeof(buffer), "%s%s", + a->pa_fsroot, path); + + e = NULL; + if ((fd = open(buffer, O_RDONLY, 0)) < 0 || + (e = elf_begin(fd, ELF_C_READ, NULL)) == NULL || + (elf_kind(e) != ELF_K_ELF)) { + warnx("WARNING: Cannot determine the type of \"%s\".", + buffer); + goto done; + } + + if (gelf_getehdr(e, &eh) != &eh) { + warnx("WARNING: Cannot retrieve the ELF Header for " + "\"%s\": %s.", buffer, elf_errmsg(-1)); + goto done; + } + + if (eh.e_type != ET_EXEC && eh.e_type != ET_DYN && + !(image->pi_iskernelmodule && eh.e_type == ET_REL)) { + warnx("WARNING: \"%s\" is of an unsupported ELF type.", + buffer); + goto done; + } + + image_type = eh.e_ident[EI_CLASS] == ELFCLASS32 ? + PMCSTAT_IMAGE_ELF32 : PMCSTAT_IMAGE_ELF64; + + /* + * Determine the virtual address where an executable would be + * loaded. Additionally, for dynamically linked executables, + * save the pathname to the runtime linker. + */ + if (eh.e_type == ET_EXEC) { + if (elf_getphnum(e, &nph) == 0) { + warnx("WARNING: Could not determine the number of " + "program headers in \"%s\": %s.", buffer, + elf_errmsg(-1)); + goto done; + } + for (i = 0; i < eh.e_phnum; i++) { + if (gelf_getphdr(e, i, &ph) != &ph) { + warnx("WARNING: Retrieval of PHDR entry #%ju " + "in \"%s\" failed: %s.", (uintmax_t) i, + buffer, elf_errmsg(-1)); + goto done; + } + switch (ph.p_type) { + case PT_DYNAMIC: + image->pi_isdynamic = 1; + break; + case PT_INTERP: + if ((elfbase = elf_rawfile(e, NULL)) == NULL) { + warnx("WARNING: Cannot retrieve the " + "interpreter for \"%s\": %s.", + buffer, elf_errmsg(-1)); + goto done; + } + image->pi_dynlinkerpath = + pmcstat_string_intern(elfbase + + ph.p_offset); + break; + case PT_LOAD: + if (ph.p_offset == 0) + image->pi_vaddr = ph.p_vaddr; + break; + } + } + } + + /* + * Get the min and max VA associated with this ELF object. + */ + if (elf_getshnum(e, &nsh) == 0) { + warnx("WARNING: Could not determine the number of sections " + "for \"%s\": %s.", buffer, elf_errmsg(-1)); + goto done; + } + + for (i = 0; i < nsh; i++) { + if ((scn = elf_getscn(e, i)) == NULL || + gelf_getshdr(scn, &sh) != &sh) { + warnx("WARNING: Could not retrieve section header " + "#%ju in \"%s\": %s.", (uintmax_t) i, buffer, + elf_errmsg(-1)); + goto done; + } + if (sh.sh_flags & SHF_EXECINSTR) { + minva = min(minva, sh.sh_addr); + maxva = max(maxva, sh.sh_addr + sh.sh_size); + } + if (sh.sh_type == SHT_SYMTAB || sh.sh_type == SHT_DYNSYM) + pmcstat_image_add_symbols(image, e, scn, &sh); + } + + image->pi_start = minva; + image->pi_end = maxva; + image->pi_type = image_type; + image->pi_fullpath = pmcstat_string_intern(buffer); + + for (p = q = buffer; *p ; p++) { + if ( *p == '\\' || *p == '/' ) + q = p; + } + image->pi_name = pmcstat_string_intern(q); + done: + (void) elf_end(e); + if (fd >= 0) + (void) close(fd); + return; +} + +/* + * Given an image descriptor, determine whether it is an ELF, or AOUT. + * If no handler claims the image, set its type to 'INDETERMINABLE'. + */ + +static void +pmcstat_image_determine_type(struct pmcstat_image *image, + struct pmcstat_args *a) +{ + assert(image->pi_type == PMCSTAT_IMAGE_UNKNOWN); + + /* Try each kind of handler in turn */ + if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) + pmcstat_image_get_elf_params(image, a); + if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) + pmcstat_image_get_aout_params(image, a); + + /* + * Otherwise, remember that we tried to determine + * the object's type and had failed. + */ + if (image->pi_type == PMCSTAT_IMAGE_UNKNOWN) + image->pi_type = PMCSTAT_IMAGE_INDETERMINABLE; +} + +/* + * Locate an image descriptor given an interned path, adding a fresh + * descriptor to the cache if necessary. This function also finds a + * suitable name for this image's sample file. + * + * We defer filling in the file format specific parts of the image + * structure till the time we actually see a sample that would fall + * into this image. + */ + +static struct pmcstat_image * +pmcstat_image_from_path(pmcstat_interned_string internedpath, + int iskernelmodule) +{ + int hash; + struct pmcstat_image *pi; + + hash = pmcstat_string_lookup_hash(internedpath); + + /* First, look for an existing entry. */ + LIST_FOREACH(pi, &pmcstat_image_hash[hash], pi_next) + if (pi->pi_execpath == internedpath && + pi->pi_iskernelmodule == iskernelmodule) + return (pi); + + /* + * Allocate a new entry and place it at the head of the hash + * and LRU lists. + */ + pi = malloc(sizeof(*pi)); + if (pi == NULL) + return (NULL); + + pi->pi_type = PMCSTAT_IMAGE_UNKNOWN; + pi->pi_execpath = internedpath; + pi->pi_start = ~0; + pi->pi_end = 0; + pi->pi_entry = 0; + pi->pi_vaddr = 0; + pi->pi_isdynamic = 0; + pi->pi_iskernelmodule = iskernelmodule; + pi->pi_dynlinkerpath = NULL; + pi->pi_symbols = NULL; + pi->pi_symcount = 0; + + LIST_INSERT_HEAD(&pmcstat_image_hash[hash], pi, pi_next); + + return (pi); +} + +/* + * Record the fact that PC values from 'start' to 'end' come from + * image 'image'. + */ + +static void +pmcstat_image_link(struct pmcstat_process *pp, struct pmcstat_image *image, + uintfptr_t start) +{ + struct pmcstat_pcmap *pcm, *pcmnew; + uintfptr_t offset; + + assert(image->pi_type != PMCSTAT_IMAGE_UNKNOWN && + image->pi_type != PMCSTAT_IMAGE_INDETERMINABLE); + + if ((pcmnew = malloc(sizeof(*pcmnew))) == NULL) + err(EX_OSERR, "ERROR: Cannot create a map entry"); + + /* + * Adjust the map entry to only cover the text portion + * of the object. + */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***