copyright-extractor-l10n.sh revision 13284
10139N/A#!/bin/sh
10139N/A
10139N/APROGNAME=`basename $0`
12198N/APROG_VERSION=0.1
10139N/ACREATE_COPYRIGHT=0
10139N/ATYPE_GNOME=1
10139N/ATYPE_TJDS=2
10139N/ATYPE_DESKTOP_OTHER=3
10139N/ATYPE=$TYPE_GNOME
10139N/AAVAILABLE_TYPES="gnome tjds desktop-other"
10139N/AMERGE_BASE_COPYRIGHT=0
10139N/ALANG=C
10139N/A
14538N/Aexport LANG
10139N/A
10139N/Ainit ()
10139N/A{
10139N/A while [ $# -gt 0 ]
14538N/A do
10139N/A case "$1" in
10139N/A -c|--create)
10139N/A CREATE_COPYRIGHT=1;;
10139N/A -h|--help)
10139N/A usage
10142N/A exit 0;;
10142N/A -m|--merge)
12773N/A MERGE_BASE_COPYRIGHT=1;;
12773N/A -t|--type)
12773N/A shift
10139N/A case "$1" in
10139N/A desktop-other)
10139N/A TYPE=$TYPE_DESKTOP_OTHER;;
10139N/A gnome|GNOME)
10139N/A TYPE=$TYPE_GNOME;;
10139N/A tjds|TJDS)
13269N/A TYPE=$TYPE_TJDS;;
13269N/A *)
13868N/A echo "Unknown type $1" 1>&2
14258N/A echo "Please use the either type $AVAILABLE_TYPES" 1>&2
15166N/A exit 1;;
15166N/A esac
10139N/A ;;
10139N/A *)
10139N/A echo "$PROGNAME: processing error: $1" 1>&2
10139N/A exit 1;;
10139N/A esac
10139N/A shift
10139N/A done
10139N/A}
10139N/A
10139N/Ausage ()
10139N/A{
10139N/A printf "This script makes L10N copyright files from "
10139N/A printf "/usr/share/locale/LANG/LC_MESSAGES/COPYING.foo .\n"
10139N/A printf "\n"
10139N/A printf "usage: $PROGNAME Version $PROG_VERSION -c|-m [OPTIONS...]\n"
10139N/A printf " -c, --create Create l10n copyright files.\n"
10139N/A printf " -m, --merge Merge l10n copyright files with base ones.\n"
10139N/A printf " -h, --help Show this message.\n"
10139N/A printf " This option is used after -c is run.\n"
10139N/A printf "\n"
10139N/A printf "Options:\n"
10139N/A printf " -t, --type TYPE $AVAILABLE_TYPES is available for TYPE.\n"
10139N/A printf " the default is gnome.\n"
10139N/A printf "\n"
10139N/A printf "NOTE: This overrides the copyright files in $HOME/packages/spec-files/copyright/*.\n"
10139N/A}
10139N/A
10139N/A_get_group_copyright ()
10139N/A{
10139N/A rm -f $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A echo "Creating $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright ..."
10139N/A cat $COPY_ORG_DIR/${COPY_ORG}.copyright \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A
10139N/A for LING in $LING_MESSAGE
10139N/A do
10139N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A echo "-------------------------------------------------------------" \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
11461N/A
10139N/A COPY_MESSAGES_DIR=/usr/share/locale/$LING/LC_MESSAGES
10139N/A gzcat $COPY_MESSAGES_DIR/$COPY_MESSAGES \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A done
10139N/A
11461N/A rm -f $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A echo "Creating $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright ..."
10142N/A cat $COPY_ORG_DIR/${COPY_ORG}.copyright \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A
13269N/A for LING in $LING_DOC
11959N/A do
10139N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A echo "-------------------------------------------------------------" \
13653N/A >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
15166N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A
10139N/A COPY_MESSAGES_DIR=/usr/share/gnome/help/copyright/$LING
10139N/A gzcat $COPY_MESSAGES_DIR/$COPY_MESSAGES \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A done
10139N/A}
10139N/A
10139N/A_get_15lang_copyright ()
10139N/A{
10139N/A for LING in cs de es fr hu it ja ko pl pt_BR ru sv zh_CN zh_HK zh_TW
10139N/A do
10139N/A TAG=`echo $LING | sed -e "s/_//"`
10139N/A
10139N/A rm -f $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A echo "Creating $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright ..."
10139N/A cat $COPY_ORG_DIR/${COPY_ORG}.copyright \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
12773N/A echo "-------------------------------------------------------------" \
12773N/A >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
12773N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
12773N/A COPY_MESSAGES_DIR=/usr/share/locale/$LING/LC_MESSAGES
12773N/A gzcat $COPY_MESSAGES_DIR/$COPY_MESSAGES \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-m-$TAG.copyright
10139N/A
10139N/A rm -f $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A echo "Creating $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright ..."
10139N/A cat $COPY_ORG_DIR/${COPY_ORG}.copyright \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A echo "-------------------------------------------------------------" \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A echo "" >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A COPY_MESSAGES_DIR=/usr/share/gnome/help/copyright/$LING
10139N/A gzcat $COPY_MESSAGES_DIR/$COPY_MESSAGES \
10139N/A >> $COPY_ORG_DIR/${COPY_ORG}-d-$TAG.copyright
10139N/A done
10139N/A}
10139N/A
10139N/Acreate_GNOME_copyright ()
10139N/A{
10139N/A COPY_ORG=SUNWgnome-l10nmessages
10139N/A COPY_ORG_DIR=$HOME/packages/spec-files/copyright
10139N/A COPY_MESSAGES=COPYING.gnome.gz
10139N/A _get_15lang_copyright
10139N/A
11461N/A TAG=rtl
10139N/A LING_MESSAGE="ar az az_IR fa he ur ur_PK yi"
11461N/A LING_DOC="ar"
10142N/A _get_group_copyright
10139N/A
10139N/A TAG=extra
10139N/A LING_MESSAGE="bg ca ca@valencia da el et fi hi hr is lt lv mk mt nb nl nn no pt pt_PT ro sk sl sq sr sr@Latn sr@ije sr@latin ta te th tr"
10139N/A LING_DOC="bg ca da el fi mk nl ru sr"
10139N/A _get_group_copyright
10139N/A
10139N/A TAG=noinst
10139N/A LING_MESSAGE="aa af am ang as be be@latin bn bn_IN br bs byn cy dv dz eo eu fo fur ga gez gl gn gu gv haw hy ia id io iu ka kk kl km kn kok ku kw ky li lo mai mg mi ml mn mr ms my_MM nds@NFE ne nso oc om or pa ps rw sa si sid so sw syr tg ti tig tk tl tt ug uk uz uz@cyrillic ve vi wa wal wo xh yo zu"
10139N/A LING_DOC="eu oc pa uk vi"
10139N/A _get_group_copyright
10139N/A}
10139N/A
10139N/Acreate_desktop_other_copyright ()
10139N/A{
10139N/A COPY_ORG=SUNWdesktop-other-l10n
10139N/A COPY_ORG_DIR=$HOME/packages/spec-files-other/copyright
10139N/A COPY_MESSAGES=COPYING.desktop-other.gz
10139N/A _get_15lang_copyright
10139N/A
10139N/A TAG=rtl
10139N/A LING_MESSAGE="ar he"
10139N/A LING_DOC="ar"
10139N/A _get_group_copyright
10139N/A
10139N/A TAG=extra
10139N/A LING_MESSAGE="bg ca da el et fi hi hr lt mk nb nl pt ro sk sl sr ta tr wo"
10139N/A LING_DOC="bg ca da el fi mk nl ru sr"
10139N/A _get_group_copyright
10139N/A
10139N/A TAG=noinst
10139N/A LING_MESSAGE="af bn bs cy gl gu id ka km lo mr pa uk vi xh zu"
10139N/A LING_DOC="eu oc pa uk vi"
10139N/A _get_group_copyright
10139N/A}
10139N/A
10139N/A_merge_base_copyright ()
10139N/A{
10139N/A BASE_COPYRIGHTS_WZ_L10N=
10139N/A
10139N/A for COPYRIGHT in $BASE_ALL_COPYRIGHTS
15166N/A do
15166N/A SPEC=`basename $COPYRIGHT .copyright`.spec
15166N/A if [ ! -f $SPEC_DIR/$SPEC ] ; then
15166N/A continue;
14538N/A fi
14538N/A HAS_L10N_PKG=`grep "%package l10n" $SPEC_DIR/$SPEC`
14258N/A if [ x"$HAS_L10N_PKG" = x ] ; then
14258N/A continue;
14103N/A fi
14103N/A BASE_COPYRIGHTS_WZ_L10N="$BASE_COPYRIGHTS_WZ_L10N $COPYRIGHT"
13964N/A done
13964N/A
13919N/A if [ "$COPY_ORG" = "SUNWtgnome-l10n-ui" ] ; then
13919N/A TAGS="NONE"
13868N/A else
13868N/A TAGS="cs de es fr hu it ja ko pl ptBR ru sv zhCN zhHK zhTW rtl extra noinst"
13868N/A fi
13868N/A
13868N/A for TAG in $TAGS
13817N/A do
13818N/A if [ "$TAG" = "NONE" ] ; then
13818N/A L10N_COPYRIGHT_FILE_GROUP=`ls $COPY_ORG_DIR/${COPY_ORG}.copyright`
13653N/A else
13653N/A L10N_COPYRIGHT_FILE_GROUP=`ls $COPY_ORG_DIR/${COPY_ORG}*-${TAG}.copyright`
13641N/A fi
13641N/A
13429N/A if [ x"$L10N_COPYRIGHT_FILE_GROUP" = x ] ; then
13429N/A continue
13322N/A fi
13322N/A
13269N/A for L10N_COPYRIGHT_FILE in $L10N_COPYRIGHT_FILE_GROUP
13269N/A do
13269N/A echo "Merging $L10N_COPYRIGHT_FILE ..."
13262N/A for COPYRIGHT in $BASE_COPYRIGHTS_WZ_L10N
13262N/A do
13250N/A PKG=`basename $COPYRIGHT .copyright`
13250N/A
13250N/A echo "" >> $L10N_COPYRIGHT_FILE
13058N/A echo "-------------------------------------------------------------" \
13058N/A >> $L10N_COPYRIGHT_FILE
13013N/A echo "Copyright for $PKG" >> $L10N_COPYRIGHT_FILE
13013N/A echo "" >> $L10N_COPYRIGHT_FILE
13013N/A cat $COPY_ORG_DIR/$COPYRIGHT >> $L10N_COPYRIGHT_FILE
12965N/A done
12965N/A done
12813N/A done
12813N/A}
12578N/A
12578N/Amerge_GNOME_base_copyright ()
12480N/A{
12480N/A COPY_ORG=SUNWgnome-l10nmessages
12472N/A COPY_ORG_DIR=$HOME/packages/spec-files/copyright
12472N/A SPEC_DIR=`dirname $COPY_ORG_DIR`
12472N/A BASE_ALL_COPYRIGHTS=`(cd $COPY_ORG_DIR; ls *.copyright |\
12472N/A grep -v "SUNWacroread" |\
12369N/A grep -v "SUNWfirefox-" |\
12369N/A grep -v "SUNWmozilla-" |\
12279N/A grep -v "SUNWmyspell-dictionary" |\
12279N/A grep -v "SUNWtgnome-" |\
12198N/A grep -v "SUNWthunderbird-" |\
12198N/A grep -v "SUNWrealplayer" |\
12078N/A grep -v "$COPY_ORG" )`
12078N/A
11922N/A _merge_base_copyright
11922N/A}
11416N/A
11416N/Amerge_TJDS_base_copyright ()
11314N/A{
11314N/A COPY_ORG=SUNWtgnome-l10n-ui
11258N/A COPY_ORG_DIR=$HOME/packages/spec-files/copyright
11258N/A SPEC_DIR=`dirname $COPY_ORG_DIR`
11190N/A BASE_ALL_COPYRIGHTS=`(cd $COPY_ORG_DIR; ls SUNWtgnome-*.copyright |\
11190N/A grep -v "$COPY_ORG" )`
11070N/A
11070N/A _merge_base_copyright
10979N/A}
10979N/A
10911N/Amerge_desktop_other_base_copyright ()
10911N/A{
10811N/A COPY_ORG=SUNWdesktop-other-l10n
10811N/A COPY_ORG_DIR=$HOME/packages/spec-files-other/copyright
10746N/A SPEC_DIR=$HOME/packages/spec-files-other/core
10746N/A BASE_ALL_COPYRIGHTS=`(cd $COPY_ORG_DIR; ls *.copyright |\
10730N/A grep -v "$COPY_ORG" )`
10730N/A
10631N/A _merge_base_copyright
10631N/A}
10461N/A
10461N/Amain ()
10461N/A{
10285N/A init $@
10285N/A
10199N/A if [ $TYPE -eq $TYPE_DESKTOP_OTHER ] ; then
10208N/A if [ ! -d $HOME/packages/spec-files-other ] ; then
10139N/A echo "spec-files build tree is not dir: $HOME/packages/spec-files-other" 1>&2
10139N/A exit 1
10139N/A fi
10139N/A else
10139N/A if [ ! -d $HOME/packages/spec-files ] ; then
10139N/A echo "spec-files build tree is not dir: $HOME/packages/spec-files" 1>&2
10139N/A exit 1
10139N/A fi
10139N/A fi
10139N/A
10139N/A if [ $CREATE_COPYRIGHT -ne 0 -a $TYPE -eq $TYPE_GNOME ] ; then
10139N/A create_GNOME_copyright
10139N/A elif [ $CREATE_COPYRIGHT -ne 0 -a $TYPE -eq $TYPE_DESKTOP_OTHER ] ; then
10139N/A IS_X86=`uname -p | grep i386`
10139N/A
10139N/A if [ x"$IS_X86" = x ] ; then
10139N/A echo "Please run this script on x86 for desktop-other" 1>&2
10139N/A exit 1
10139N/A fi
10139N/A create_desktop_other_copyright
10139N/A fi
10139N/A if [ $MERGE_BASE_COPYRIGHT -ne 0 -a $TYPE -eq $TYPE_GNOME ] ; then
10139N/A merge_GNOME_base_copyright
10139N/A elif [ $MERGE_BASE_COPYRIGHT -ne 0 -a $TYPE -eq $TYPE_TJDS ] ; then
10139N/A merge_TJDS_base_copyright
10139N/A elif [ $MERGE_BASE_COPYRIGHT -ne 0 -a $TYPE -eq $TYPE_DESKTOP_OTHER ] ; then
10139N/A merge_desktop_other_base_copyright
10139N/A fi
10139N/A}
10139N/A
10139N/Amain $@
10139N/A