summaryrefslogtreecommitdiffstats
path: root/abs/extra-testing/gconf/gconf-merge-schema
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra-testing/gconf/gconf-merge-schema')
-rwxr-xr-xabs/extra-testing/gconf/gconf-merge-schema22
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