Blame findlang.diff

Bernhard M. Wiedemann eb41fd
--- ./scripts/find-lang.sh.orig	2019-09-09 07:56:53.377788842 +0000
Bernhard M. Wiedemann eb41fd
+++ ./scripts/find-lang.sh	2019-10-02 11:12:53.774861485 +0000
Bernhard M. Wiedemann 1250f9
@@ -22,11 +22,11 @@ the top of the tree containing the files
Bernhard M. Wiedemann 1250f9
 PACKAGE_NAME is the %{name} of the package. This should also be
Bernhard M. Wiedemann 1250f9
 the basename of the .mo files.  the output is written to
Bernhard M. Wiedemann 1250f9
 PACKAGE_NAME.lang unless \$3 is given in which case output is written
Bernhard M. Wiedemann 1250f9
-to \$3.
Bernhard M. Wiedemann 1250f9
+to \$3 (note that \$3 is appended to if given).
Bernhard M. Wiedemann 1250f9
 Additional options:
Bernhard M. Wiedemann 1250f9
-  --with-gnome		find GNOME help files
Bernhard M. Wiedemann 1250f9
+  --without-gnome	do not find GNOME help files
Bernhard M. Wiedemann 1250f9
   --with-mate		find MATE help files
Bernhard M. Wiedemann 1250f9
-  --with-kde		find KDE help files
Bernhard M. Wiedemann 1250f9
+  --without-kde		do not find KDE help files
Bernhard M. Wiedemann 1250f9
   --with-qt		find Qt translation files
Bernhard M. Wiedemann 1250f9
   --with-html		find HTML files
Bernhard M. Wiedemann 1250f9
   --with-man		find localized man pages
Bernhard M. Wiedemann 1250f9
@@ -50,9 +50,9 @@ else NAMES[0]=$1
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
 shift
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
-GNOME=#
Bernhard M. Wiedemann 1250f9
+GNOME=
Bernhard M. Wiedemann 1250f9
 MATE=#
Bernhard M. Wiedemann 1250f9
-KDE=#
Bernhard M. Wiedemann 1250f9
+KDE=
Bernhard M. Wiedemann 1250f9
 QT=#
Bernhard M. Wiedemann 1250f9
 MAN=#
Bernhard M. Wiedemann 1250f9
 HTML=#
Bernhard M. Wiedemann 1250f9
@@ -74,6 +74,14 @@ while test $# -gt 0 ; do
Bernhard M. Wiedemann 1250f9
 		KDE=
Bernhard M. Wiedemann 1250f9
 		shift
Bernhard M. Wiedemann 1250f9
 		;;
Bernhard M. Wiedemann 1250f9
+	--without-gnome )
Bernhard M. Wiedemann 1250f9
+  		GNOME=#
Bernhard M. Wiedemann 1250f9
+		shift
Bernhard M. Wiedemann 1250f9
+		;;
Bernhard M. Wiedemann 1250f9
+	--without-kde )
Bernhard M. Wiedemann 1250f9
+		KDE=#
Bernhard M. Wiedemann 1250f9
+		shift
Bernhard M. Wiedemann 1250f9
+		;;
Bernhard M. Wiedemann 1250f9
 	--with-qt )
Bernhard M. Wiedemann 1250f9
 		QT=
Bernhard M. Wiedemann 1250f9
 		shift
Bernhard M. Wiedemann 1250f9
@@ -103,11 +111,13 @@ while test $# -gt 0 ; do
Bernhard M. Wiedemann 1250f9
 		shift
Bernhard M. Wiedemann 1250f9
 		;;
Bernhard M. Wiedemann 1250f9
     esac
Bernhard M. Wiedemann 1250f9
-done    
Bernhard M. Wiedemann 1250f9
+done
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
-if [ -f $MO_NAME ]; then
Bernhard M. Wiedemann 1250f9
-    rm $MO_NAME
Bernhard M. Wiedemann 1250f9
+if ! test -s $MO_NAME ; then
Bernhard M. Wiedemann 1250f9
+	echo "%defattr (644, root, root, 755)" > $MO_NAME
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
+MO_NAME_NEW=$MO_NAME.tmp.$$
Bernhard M. Wiedemann 1250f9
+rm -f $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 for NAME in ${NAMES[@]}; do
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
@@ -117,7 +127,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type d|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
@@ -125,27 +135,27 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$GNOME"'s:\(.*/share/help/\)\([^/_]\+\)\([^/]*\)\(/[a-zA-Z0-9.\_\-]\+\)$:%lang(\2) %doc \1\2\3\4/:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type d|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1:
Bernhard M. Wiedemann 1250f9
+'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir %doc \1:
Bernhard M. Wiedemann 1250f9
 '"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\)::
Bernhard M. Wiedemann 1250f9
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) \1\2:
Bernhard M. Wiedemann 1250f9
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
Bernhard M. Wiedemann 1250f9
+'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) %doc \1\2:
Bernhard M. Wiedemann 1250f9
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir %doc \1:
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\)::
Bernhard M. Wiedemann 1250f9
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) \1\2:
Bernhard M. Wiedemann 1250f9
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) %doc \1\2:
Bernhard M. Wiedemann 1250f9
 s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*::
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type d|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'$\):%dir \1:
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type f|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
@@ -153,7 +163,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1:
Bernhard M. Wiedemann 1250f9
 s:^[^%].*::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find $TOP_DIR -type d|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
@@ -166,14 +176,14 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 s:%lang(.*) .*/mate/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*::
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type d|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$NO_ALL_NAME$MATE"'s:\(.*/omf/'"$NAME"'$\):%dir \1:
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$MATE"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type f|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
@@ -181,7 +191,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$MATE"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1:
Bernhard M. Wiedemann 1250f9
 s:^[^%].*::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 KDE3_HTML=`kde-config --expandvars --install html 2>/dev/null`
Bernhard M. Wiedemann eb41fd
 if [ x"$KDE3_HTML" != x ] && [ -d "$TOP_DIR$KDE3_HTML" ]; then
Bernhard M. Wiedemann 1250f9
@@ -193,7 +203,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 KDE4_HTML=`kde4-config --expandvars --install html 2>/dev/null`
Bernhard M. Wiedemann 1250f9
@@ -206,7 +216,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 KF5_HTML=`kf5-config --expandvars --install html 2>/dev/null`
Bernhard M. Wiedemann 1250f9
@@ -219,7 +229,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type d|sed '
Bernhard M. Wiedemann 1250f9
@@ -230,7 +240,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type f -o -type l|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
@@ -243,7 +253,7 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1:
Bernhard M. Wiedemann 1250f9
 s:^[^%].*::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type d|sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
@@ -251,19 +261,24 @@ s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1*:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 find "$TOP_DIR" -type f -o -type l|sed -r 's/\.(bz2|gz|xz|lzma|Z)$//g' | sed '
Bernhard M. Wiedemann 1250f9
 s:'"$TOP_DIR"'::
Bernhard M. Wiedemann 1250f9
 '"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*:
Bernhard M. Wiedemann 1250f9
 s:^\([^%].*\)::
Bernhard M. Wiedemann 1250f9
 s:%lang(C) ::
Bernhard M. Wiedemann 1250f9
-/^$/d' >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+/^$/d' >> $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
 done # for NAME in ${NAMES[@]}
Bernhard M. Wiedemann 1250f9
 
Bernhard M. Wiedemann 1250f9
-if ! grep -q / $MO_NAME; then
Bernhard M. Wiedemann 1250f9
-	echo "No translations found for ${NAME} in ${TOP_DIR}"
Bernhard M. Wiedemann 1250f9
+if ! grep -q / $MO_NAME_NEW; then
Bernhard M. Wiedemann 1250f9
+	echo "No translations found for ${NAMES[*]} in ${TOP_DIR}"
Bernhard M. Wiedemann 1250f9
+	rm -f $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
 	exit 1
Bernhard M. Wiedemann 1250f9
 fi
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
+sort -u $MO_NAME_NEW >> $MO_NAME
Bernhard M. Wiedemann 1250f9
+rm -f $MO_NAME_NEW
Bernhard M. Wiedemann 1250f9
+
Bernhard M. Wiedemann 1250f9
 exit 0