X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=bootstrap;h=a318f68f2c7bd73219faea1a6980f46e40d4a641;hb=7efe3850f6e058d33a46ef17cdc95df0469ed887;hp=c515b0173ff105810214bf9cbaf2ce905cce5423;hpb=28b26242c70fc4db1c9f3e5c82ff72a876a3667d;p=chaz%2Ftar diff --git a/bootstrap b/bootstrap index c515b01..a318f68 100755 --- a/bootstrap +++ b/bootstrap @@ -2,11 +2,11 @@ # 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 -# 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, @@ -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 - 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. @@ -69,24 +69,34 @@ checkout() { 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 - 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 @@ -108,8 +118,9 @@ gnulib_files= # 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(/{ @@ -221,33 +232,35 @@ get_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 && - - $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 - 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 ":" } - ' | WGET_COMMAND="$WGET_COMMAND" sh;; + ' | WGET_COMMAND="$WGET_COMMAND" sh + ;; esac && ls "$subdir"/*.po 2>/dev/null | sed 's|.*/||; s|\.po$||' >"$subdir/LINGUAS" && @@ -336,28 +349,6 @@ copy_files() { 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 @@ -369,6 +360,12 @@ esac 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 @@ -385,6 +382,7 @@ symlink_to_gnulib() test -f "$dst" && cmp -s "$src" "$dst" || { echo "$0: cp -fp $src $dst" && + ensure_dir_exists $dst && cp -fp "$src" "$dst" } else @@ -407,6 +405,7 @@ symlink_to_gnulib() esac echo "$0: ln -fs $dot_dots$src $dst" && + ensure_dir_exists $dst && ln -fs "$dot_dots$src" "$dst" } fi @@ -478,7 +477,7 @@ slurp() { done if test $file = Makefile.am; then copied=$copied${sep}gnulib.mk; sep=$nl - remove_intl='/^[^#].*\/intl/s/^/#/' + remove_intl='/^[^#].*\/intl/s/^/#/;'"s,/$bt,,g" sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/gnulib.mk || { echo "$0: Copying $1/$dir/$file to $dir/gnulib.mk ..." && rm -f $dir/gnulib.mk && @@ -589,6 +588,28 @@ slurp $bt2 $bt || 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.