diff options
Diffstat (limited to 'abs/extra-testing/gconf/gconf-merge-schema')
-rwxr-xr-x | abs/extra-testing/gconf/gconf-merge-schema | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/abs/extra-testing/gconf/gconf-merge-schema b/abs/extra-testing/gconf/gconf-merge-schema index 323e0ec..992c162 100755 --- a/abs/extra-testing/gconf/gconf-merge-schema +++ b/abs/extra-testing/gconf/gconf-merge-schema @@ -1,22 +1,34 @@ -#!/bin/sh +#!/bin/bash if [ ! "$1" -a ! "$2" ]; then - echo "Usage: $0 output.schemas file1.schemas [file2.schemas [...]]" + echo "Usage: $0 output.schemas [--domain gettextdomain] file1.schemas [file2.schemas [...]]" exit 1 fi OUTFILE="$1" +DOMAIN="" shift +if [ "$1" = "--domain" ]; then + shift + DOMAIN=$1 + shift +fi + echo '<?xml version="1.0"?>' > "$OUTFILE" echo '<gconfschemafile><schemalist>' >> "$OUTFILE" while [ "$1" ]; do if [ -f "$1" ]; then - sed -e '/<?xml/d' -e 's|<gconfschemafile>||g' -e 's|</gconfschemafile>||g' \ - -e 's|<schemalist>||g' -e 's|</schemalist>||g' \ - "$1" >> "$OUTFILE" + sed -e '/<?xml/d' \ + -e 's|<gconfschemafile>||g' \ + -e 's|</gconfschemafile>||g' \ + -e 's|<schemalist>||g' \ + -e 's|</schemalist>||g' "$1" >> "$OUTFILE" fi shift done echo '</schemalist></gconfschemafile>' >> "$OUTFILE" +if [ "$DOMAIN" != "" ]; then + sed -ri "s/^([[:space:]]*)(<locale name=\"C\">)/\1<gettext_domain>$DOMAIN<\/gettext_domain>\n\1\2/; /^[[:space:]]*<locale name=\"[^C]/,/^[[:space:]]*<\/locale>[[:space:]]*\$/ d; /^$/d; s/<\/schema>$/&\n/" "$OUTFILE" +fi |