X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm-find-lang;h=e1293fbadd5194796794c9003a1c83f27b76d9ad;hb=061807a3c9a6d794eed9f538c533c2080075372a;hp=39ddefa4c194141e04938dab08ac1b61f3e9ca9a;hpb=6350f6d2ef7e63d380322eacae0791513b790099;p=packages%2Frpm.git diff --git a/rpm-find-lang b/rpm-find-lang index 39ddefa..e1293fb 100644 --- a/rpm-find-lang +++ b/rpm-find-lang @@ -42,9 +42,9 @@ PACKAGE_NAME.lang unless \$3 is given in which case output is written to \$3. Additional options: --with-gnome find GNOME help files - --with-kde find KDE help files (not implemented yet) - --all-name support for KDE - --without-mo not find locales files + --with-kde find KDE help files + --all-name match all package/domain names + --without-mo skip *.mo locale files EOF exit 1 } @@ -95,38 +95,38 @@ while test $# -gt 0 ; do esac done -find $TOP_DIR -type f|sed ' -1i\ -%defattr (644, root, root, 755) +echo '%defattr(644,root,root,755)' > $MO_NAME + +find $TOP_DIR -type f -name \*.mo | xargs -r file | egrep -v ', 1 messages$' |\ +sed ' +s/:.*// s:'"$TOP_DIR"':: '"$ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3: '"$NO_ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3: s:^\([^%].*\):: s:%lang(C) :: -s:^\$::' > $MO_NAME +s:^\$::' | egrep -v '^$' >> $MO_NAME find $TOP_DIR -type d|sed ' s:'"$TOP_DIR"':: '"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1: -'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9\_\-]/.\+\):: +'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\):: '"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/]\+\):%lang(\2) \1\2: -'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9\_\-]\+$\):%dir \1: -'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9\_\-]\+/[a-zA-Z0-9\_\-]/.\+\):: -'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9\_\-]\+\/\)\([^/]\+\):%lang(\2) \1\2: -s:%lang(.*) .*/gnome/help/[a-zA-Z0-9\_\-]\+/[a-zA-Z0-9\_\-]\+/.*:: -'#'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1: -'#'s:\(.*/gnome/help/'"$NAME"'/\)\([^/]\+\):%dir %lang(\2) \1\2: +'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir \1: +'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\):: +'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/]\+\):%lang(\2) \1\2: +s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*:: s:^\([^%].*\):: -s:%lang(C) ::' >> $MO_NAME +s:%lang(C) ::' | egrep -v '^$' >> $MO_NAME find $TOP_DIR -type d|sed ' s:'"$TOP_DIR"':: '"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\):: -'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\):%lang(\2) \1\2\3: -'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9\_\-]\+/\):: -'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9\_\-]\+$\):%lang(\2) \1\2\3: +'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3: +'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\):: +'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3: s:^\([^%].*\):: -s:%lang(C) ::' >> $MO_NAME +s:%lang(C) ::' | egrep -v '^$' >> $MO_NAME if [ "$(cat $MO_NAME | egrep -v '(^%defattr|^$)' | wc -l)" -le 0 ]; then echo 'Error: international files not found !'