[Xfce4-commits] <xfce-utils:xfce-4.6> Automate the LINGUAS parsing.

Nick Schermer noreply at xfce.org
Tue May 18 21:30:04 CEST 2010


Updating branch refs/heads/xfce-4.6
         to f6b0ab5be821faa290049e6639570d74deefad47 (commit)
       from ca7d5ef4f6b3f4d327baf23107339fa7ac7809ad (commit)

commit f6b0ab5be821faa290049e6639570d74deefad47
Author: Nick Schermer <nick at xfce.org>
Date:   Tue May 18 21:29:12 2010 +0200

    Automate the LINGUAS parsing.

 autogen.sh |   70 +++++++++++++++++++++++++++++++++++++++--------------------
 po/LINGUAS |    2 -
 2 files changed, 46 insertions(+), 26 deletions(-)

diff --git a/autogen.sh b/autogen.sh
index 7d21af8..ba1a279 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,11 +1,6 @@
 #!/bin/sh
 #
-# $Id$
-#
-# Copyright (c) 2002-2005
-#         The Xfce development team. All rights reserved.
-#
-# Written for Xfce by Benedikt Meurer <benny at xfce.org>.
+# Copyright (c) 2002-2010 Xfce Development Team
 #
 
 (type xdt-autogen) >/dev/null 2>&1 || {
@@ -18,31 +13,58 @@ EOF
   exit 1
 }
 
-# verify that po/LINGUAS is present
-(test -f po/LINGUAS) >/dev/null 2>&1 || {
-  cat >&2 <<EOF
-autogen.sh: The file po/LINGUAS could not be found. Please check your snapshot
-            or try to checkout again.
-EOF
+# portability for awk
+awk_tests="gawk mawk nawk awk"
+if test -z "$AWK"; then
+  for a in $awk_tests; do
+    if type $a >/dev/null 2>&1; then
+      AWK=$a
+      break
+    fi
+  done
+else
+  if ! type $AWK >/dev/null 2>/dev/null; then
+    unset AWK
+  fi
+fi
+if test -z "$AWK"; then
+  echo "autogen.sh: The 'awk' program (one of $awk_tests) is" >&2
+  echo "            required, but cannot be found." >&2
   exit 1
-}
+fi
 
-# substitute revision and linguas
-linguas=`sed -e '/^#/d' po/LINGUAS`
-if [ -d .git/svn ]; then
-  revision=$(git svn find-rev trunk 2>/dev/null ||
-             git svn find-rev origin/trunk 2>/dev/null ||
-             git svn find-rev HEAD 2>/dev/null ||
-             git svn find-rev master 2>/dev/null)
-elif [ -d .svn ]; then
-  revision=$(LC_ALL=C svn info $0 | awk '/^Revision: /{ printf "%05d\n", $2; }')
-else
-  revision=UNKNOWN
+# substitute revision
+if test -d .git/svn; then
+    revision=`git svn find-rev trunk 2>/dev/null ||
+              git svn find-rev origin/trunk 2>/dev/null ||
+              git svn find-rev HEAD 2>/dev/null ||
+              git svn find-rev master 2>/dev/null`
+elif test -d .git; then
+    revision=`git rev-parse --short HEAD`
+elif test -d .svn; then
+    revision=`LC_ALL=C svn info $0 | $AWK '/^Revision: / {printf "%05d\n", $2}'`
 fi
+if test "x$revision" = "x"; then
+    revision="UNKNOWN"
+fi
+
+# substitute the linguas
+linguas=`cd "po" 2>/dev/null && ls *.po 2>/dev/null | $AWK 'BEGIN { FS="."; ORS=" " } { print $1 }'`
+if test "x$linguas" = "x"; then
+    echo "autogen.sh: No po files were found, aborting." >&2
+    exit 1
+fi
+
 sed -e "s/@LINGUAS@/${linguas}/g" \
     -e "s/@REVISION@/${revision}/g" \
     < "configure.in.in" > "configure.in"
 
 exec xdt-autogen $@
 
+# xdt-autogen clean does not remove all generated files
+(test x"clean" = x"$1") && {
+  rm -f configure.in
+  rm -f INSTALL
+} || true
+
 # vi:set ts=2 sw=2 et ai:
diff --git a/po/LINGUAS b/po/LINGUAS
deleted file mode 100644
index 8f88ed8..0000000
--- a/po/LINGUAS
+++ /dev/null
@@ -1,2 +0,0 @@
-# set of available languages (in alphabetic order)
-af am ar ast az be bg bn_IN ca cs da de dz el en_GB eo es es_MX et eu fa fi fr gl gu he hi hu hy id it ja ka ko ku lt lv mk mr ms nb nl pa pl pt_BR pt ro ru si sk sq sv ta tr uk ur ur_PK vi zh_CN zh_TW



More information about the Xfce4-commits mailing list