]> Dogcows Code - chaz/tar/blobdiff - bootstrap
* NEWS: Update.
[chaz/tar] / bootstrap
index 90e9206fff7b2db45687febca3f5f2faa35a951b..a318f68f2c7bd73219faea1a6980f46e40d4a641 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -2,11 +2,11 @@
 
 # Bootstrap this package from CVS.
 
 
 # Bootstrap this package from CVS.
 
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
 # any later version.
 
 # This program is distributed in the hope that it will be useful,
 # any later version.
 
 # This program is distributed in the hope that it will be useful,
@@ -51,7 +51,7 @@ Options:
  --skip-po                Do not download po files.
  --update-po[=LANG]       Update po file(s) and exit.
  --cvs-user=USERNAME      Set the CVS username to be used when accessing
  --skip-po                Do not download po files.
  --update-po[=LANG]       Update po file(s) and exit.
  --cvs-user=USERNAME      Set the CVS username to be used when accessing
-                          the gnulib repository.
+                          the paxutils repository.
 
 If the file bootstrap.conf exists in the current working directory, its
 contents are read as shell variables to configure the bootstrap.
 
 If the file bootstrap.conf exists in the current working directory, its
 contents are read as shell variables to configure the bootstrap.
@@ -69,24 +69,34 @@ checkout() {
   if [ ! -d $1 ]; then
     echo "$0: getting $1 files..."
 
   if [ ! -d $1 ]; then
     echo "$0: getting $1 files..."
 
-    case ${CVS_AUTH-pserver} in
-    pserver)
-      CVS_PREFIX=':pserver:anonymous@';;
-    ssh)
-      CVS_PREFIX="$CVS_USER${CVS_USER+@}";;
-    *)
-      echo "$0: $CVS_AUTH: Unknown CVS access method" >&2
-      exit 1;;
-    esac
+    case $1 in
+    paxutils)
+      case ${CVS_AUTH-pserver} in
+      pserver)
+        CVS_PREFIX=':pserver:anonymous@';;
+      ssh)
+        CVS_PREFIX="$CVS_USER${CVS_USER+@}";;
+      *)
+        echo "$0: $CVS_AUTH: Unknown CVS access method" >&2
+        exit 1;;
+      esac
+
+      case $CVS_RSH in
+      '') CVS_RSH=ssh; export CVS_RSH;;
+      esac
 
 
-    case $CVS_RSH in
-    '') CVS_RSH=ssh; export CVS_RSH;;
+      CVSURL=${CVS_PREFIX}cvs.savannah.gnu.org:/cvsroot/"$1"
+      ;;
+      
+    gnulib)
+      CVSURL=:pserver:anonymous@pserver.git.sv.gnu.org:/gnulib.git
+      ;;
+      
     esac
 
     trap "cleanup $1" 1 2 13 15
 
     esac
 
     trap "cleanup $1" 1 2 13 15
 
-    cvs -z3 -q -d ${CVS_PREFIX}cvs.savannah.gnu.org:/cvsroot/"$1" co $1 ||
-      cleanup $1
+    cvs -z3 -q -d $CVSURL co $1 || cleanup $1
 
     trap - 1 2 13 15
   fi
 
     trap - 1 2 13 15
   fi
@@ -108,8 +118,9 @@ gnulib_files=
 
 # Translation Project URL, for the registry of all projects
 # and for the translation-team master directory.
 
 # Translation Project URL, for the registry of all projects
 # and for the translation-team master directory.
-TP_URL='http://www.iro.umontreal.ca/translation/registry.cgi?domain='
-TP_PO_URL='http://www.iro.umontreal.ca/translation/teams/PO/'
+tp_url() {
+       echo "http://translationproject.org/domain/$1.html"
+}
 
 extract_package_name='
   /^AC_INIT(/{
 
 extract_package_name='
   /^AC_INIT(/{
@@ -221,33 +232,35 @@ get_translations() {
   '')
     echo "$0: wget not available; skipping translations";;
   ?*)
   '')
     echo "$0: wget not available; skipping translations";;
   ?*)
-    echo "$0: getting ${po_file:-translations} into $subdir for $domain..."  &&
+    url=`tp_url $domain`
+    baseurl=`expr "$url" : '\(.*\)/.*'`
+    echo "$0: getting translations into $subdir for $domain..." &&
     case $po_file in
     '') (cd $subdir && rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'`);;
     esac &&
     case $po_file in
     '') (cd $subdir && rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'`);;
     esac &&
-  
-    $WGET_COMMAND -O "$subdir/$domain.html" "$TP_URL$domain" &&
-
-    sed -n 's|.*"http://[^"]*/translation/teams/PO/\([^/"]*\)/'"$domain"'-\([^/"]*\)\.[^."]*\.po".*|\1.\2|p' <"$subdir/$domain.html" |
-    sort -k 1,1 -k 2,2n -k2,2 -k3,3n -k3,3 -k4,4n -k4,4 -k5,5n -k5.5 |
-    awk -F. '
-      { if (lang && $1 != lang) print lang, ver }
-      { lang = $1; ver = substr($0, index($0, ".") + 1) }
-      END { if (lang) print lang, ver }
-    ' | awk -v domain="$domain" -v po_file="$po_file" -v subdir="$subdir" '
+
+    $WGET_COMMAND -O "$subdir/$domain.html" "$url" &&
+
+    sed -n 's|.*href="\(.*\)/\([^/][^/]*\)/'"$domain"'-\([^/"]*\)\.[^."]*\.po".*|\2:\3:\1|p' <"$subdir/$domain.html" |
+    sort -t: -k 1,1 -k 2,2n -k2,2 -k3,3n -k3,3 -k4,4n -k4,4 -k5,5n -k5.5 |
+    awk -F: '
+      { if (lang && $1 != lang) print lang, ver, $3 }
+      { lang = $1; ver = $2 }
+      END { if (lang) print lang, ver, $3 }
+    ' | awk -v domain="$domain" -v baseurl="$baseurl" -v subdir="$subdir" \
+            -v po_file="$po_file" '
       {
        lang = $1
         if (po_file && po_file != (lang ".po")) next
       {
        lang = $1
         if (po_file && po_file != (lang ".po")) next
-       
        ver = $2
        ver = $2
-       urlfmt = ""
-       printf "{ $WGET_COMMAND -O %s/%s.po '\'"$TP_PO_URL"'/%s/%s-%s.%s.po'\'' &&\n", subdir, lang, lang, domain, ver, lang
+       printf "{ $WGET_COMMAND -O %s/%s.po %s/%s/%s/%s-%s.%s.po &&\n", subdir, lang, baseurl, $3, lang, domain, ver, lang
        printf "  msgfmt -c -o /dev/null %s/%s.po || {\n", subdir, lang
        printf "    echo >&2 '\'"$0"': omitting translation for %s'\''\n", lang
        printf "    rm -f %s/%s.po; }; } &&\n", subdir, lang
       }
       END { print ":" }
        printf "  msgfmt -c -o /dev/null %s/%s.po || {\n", subdir, lang
        printf "    echo >&2 '\'"$0"': omitting translation for %s'\''\n", lang
        printf "    rm -f %s/%s.po; }; } &&\n", subdir, lang
       }
       END { print ":" }
-    ' | WGET_COMMAND="$WGET_COMMAND" sh;;
+    ' | WGET_COMMAND="$WGET_COMMAND" sh 
+    ;;
   esac &&
   ls "$subdir"/*.po 2>/dev/null |
     sed 's|.*/||; s|\.po$||' >"$subdir/LINGUAS" &&
   esac &&
   ls "$subdir"/*.po 2>/dev/null |
     sed 's|.*/||; s|\.po$||' >"$subdir/LINGUAS" &&
@@ -336,28 +349,6 @@ copy_files() {
   done
 }
 
   done
 }
 
-copy_files ${PAXUTILS_SRCDIR}/m4 m4
-echo "$0: Creating m4/paxutils.m4"
-(echo "# This file is generated automatically. Please, do not edit."
- echo "#"
- echo "AC_DEFUN([${package}_PAXUTILS],["
- cat ${PAXUTILS_SRCDIR}/m4/DISTFILES | sed '/^#/d;s/\(.*\)\.m4/pu_\1/' | tr a-z A-Z
- echo "])") > ./m4/paxutils.m4
-ignorefile m4 paxutils.m4
-
-if [ -d rmt ]; then
-   :
-else
-   mkdir rmt
-fi
-
-for dir in doc rmt lib tests
-do
-       copy_files ${PAXUTILS_SRCDIR}/$dir $dir
-done
-
-copy_files ${PAXUTILS_SRCDIR}/paxlib lib pax
-
 # Get gnulib files.
 
 case ${GNULIB_SRCDIR--} in
 # Get gnulib files.
 
 case ${GNULIB_SRCDIR--} in
@@ -369,6 +360,12 @@ esac
 gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
 <$gnulib_tool || exit
 
 gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
 <$gnulib_tool || exit
 
+ensure_dir_exists()
+{
+  d=`dirname $dst`
+  test -d "$d" || mkdir -p -- "$d"
+}
+
 symlink_to_gnulib()
 {
   src=$GNULIB_SRCDIR/$1
 symlink_to_gnulib()
 {
   src=$GNULIB_SRCDIR/$1
@@ -385,6 +382,7 @@ symlink_to_gnulib()
       test -f "$dst" &&
       cmp -s "$src" "$dst" || {
        echo "$0: cp -fp $src $dst" &&
       test -f "$dst" &&
       cmp -s "$src" "$dst" || {
        echo "$0: cp -fp $src $dst" &&
+       ensure_dir_exists $dst &&
        cp -fp "$src" "$dst"
       }
     else
        cp -fp "$src" "$dst"
       }
     else
@@ -407,6 +405,7 @@ symlink_to_gnulib()
        esac
 
        echo "$0: ln -fs $dot_dots$src $dst" &&
        esac
 
        echo "$0: ln -fs $dot_dots$src $dst" &&
+       ensure_dir_exists $dst &&
        ln -fs "$dot_dots$src" "$dst"
       }
     fi
        ln -fs "$dot_dots$src" "$dst"
       }
     fi
@@ -589,6 +588,28 @@ slurp $bt2 $bt || exit
 
 rm -fr $bt $bt2 || exit
 
 
 rm -fr $bt $bt2 || exit
 
+# Import from paxutils
+copy_files ${PAXUTILS_SRCDIR}/m4 m4
+echo "$0: Creating m4/paxutils.m4"
+(echo "# This file is generated automatically. Please, do not edit."
+ echo "#"
+ echo "AC_DEFUN([${package}_PAXUTILS],["
+ cat ${PAXUTILS_SRCDIR}/m4/DISTFILES | sed '/^#/d;s/\(.*\)\.m4/pu_\1/' | tr a-z A-Z
+ echo "])") > ./m4/paxutils.m4
+ignorefile m4 paxutils.m4
+
+if [ -d rmt ]; then
+   :
+else
+   mkdir rmt
+fi
+
+for dir in doc rmt lib tests
+do
+       copy_files ${PAXUTILS_SRCDIR}/$dir $dir
+done
+
+copy_files ${PAXUTILS_SRCDIR}/paxlib lib pax
 
 # Reconfigure, getting other files.
 
 
 # Reconfigure, getting other files.
 
This page took 0.025557 seconds and 4 git commands to generate.