Author: phobos Date: 2013-08-25 11:16:46 +0000 (Sun, 25 Aug 2013) New Revision: 26318
Removed: website/Makefile website/Makefile.common website/Makefile.local.sample website/about/ website/cgi-bin/ website/css/ website/docs/ website/donate/ website/download/ website/eff/ website/en/ website/favicon.ico website/getinvolved/ website/images/ website/include/ website/js/ website/manpages/ website/po2wml.sh website/press/ website/projects/ website/publish website/robots.txt website/torbutton/ website/tordnsel/ website/update-mirrors.pl website/wml2po.sh Log: revert 26317
Deleted: website/Makefile =================================================================== --- website/Makefile 2013-08-24 20:38:20 UTC (rev 26317) +++ website/Makefile 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,52 +0,0 @@ -# Directions for building the website: -# -# 1. Clone the Tor git repository and make TORGIT point to it: -# -# git clone git://git.torproject.org/tor/ tor.git -# -# Note that you will need to point to the actual .git directory. -# 2. Edit include/versions.wmi or others if you like -# 3. Update STABLETAG and DEVTAG below if there is a new git tag -# 4. make -# 5. ./publish - -export STABLETAG=tor-0.2.3.25 -export DEVTAG=tor-0.2.4.16-rc - -WMLBASE=. -SUBDIRS=docs eff projects press about download getinvolved donate torbutton -include $(WMLBASE)/Makefile.local - -include $(WMLBASE)/Makefile.common -all: $(SUBDIRS) - -docs: - $(MAKE) -C "$@" WMLBASE=.. -eff: - $(MAKE) -C "$@" WMLBASE=.. -projects: - $(MAKE) -C "$@" WMLBASE=.. -press: - $(MAKE) -C "$@" WMLBASE=.. -about: - $(MAKE) -C "$@" WMLBASE=.. -download: - $(MAKE) -C "$@" WMLBASE=.. -getinvolved: - $(MAKE) -C "$@" WMLBASE=.. -donate: - $(MAKE) -C "$@" WMLBASE=.. -torbutton: - $(MAKE) -C "$@" WMLBASE=.. -mirrors: - ./update-mirrors.pl -translations: - ./po2wml.sh -qrcode: - qrencode -o $(IMGROOT)/android/orbot-qr-code-latest.png \ - "https://www.torproject.org/dist/android/alpha-orbot-latest.apk" - -# XXX: this also depends on all subs' wmlfiles. How to fix? -#translation-status.html.en: $(LANGS) $(WMIFILES) $(WMLFILES) - -.PHONY: docs eff projects press about download getinvolved donate torbutton
Deleted: website/Makefile.common =================================================================== --- website/Makefile.common 2013-08-24 20:38:20 UTC (rev 26317) +++ website/Makefile.common 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,313 +0,0 @@ -# Directions for adding a new language: -# 1. Add the two-letter code to LANGS below. -# 2. Add a new "%.html.es: es/%.wml en/%.wml" clause below. -# 3. Add a new ".deps/%.html.es.d: es/%.wml .deps/.stamp" clause below. -# 4. mkdir a new two-letter directory. Make sure there's a foot.wmi -# and navigation.wmi. -# 5. Edit include/perl-globals.wmi, add to @LANGUAGES and %LANGUAGES. -# You might find useful %LANGUAGES strings at the bottom of -# http://debian.org/ -# 6. Add a new images/es.png flag image. - -WMLOPT = \ - -I $(WMLBASE)/include \ - -D DOCROOT=$(WMLBASE) \ - -D IMGROOT=$(WMLBASE)/images \ - -D TORGIT=$(TORGIT)\ - -D DEVTAG=$(DEVTAG) \ - -D STABLETAG=$(STABLETAG) - -#LANGS=ar bms cy da de en es et fa fi fr hu id it ja ko nl no pl pt pt-br ru se tr vn zh-cn -LANGS=en - -WMLFILES=$(wildcard $(patsubst %, %/*.wml, $(LANGS))) -WMIFILES=$(wildcard $(patsubst %, %/*.wmi, $(LANGS)) $(WMLBASE)/include/*.wmi ) - -HTMLFILES=$(shell perl -le 's, (.*)/(.*).wml , $$2.html.$$1 ,x, print $$_ for @ARGV' $(WMLFILES)) -DEPFILES=$(shell perl -le 's, (.*)/(.*).wml , .deps/$$2.html.$$1.d ,x, print $$_ for @ARGV' $(WMLFILES)) - - -all: $(HTMLFILES) - -%.html.en: en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.ar: ar/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.bms: bms/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.cy: cy/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.es: es/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.et: et/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.de: de/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.da: da/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.fa: fa/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.id: id/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.it: it/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.fi: fi/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.fr: fr/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.hu: hu/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.ja: ja/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.ko: ko/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.nl: nl/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.no: no/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.pl: pl/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.pt: pt/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.pt-br: pt-br/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.ru: ru/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.se: se/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.tr: tr/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.vi: vi/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.vn: vn/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -%.html.zh-cn: zh-cn/%.wml en/%.wml - lang=`dirname $<` && wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $@ - -.deps/%.html.en.d: en/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.ar.d: ar/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.bms.d: bms/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.cy.d: cy/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.es.d: es/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.et.d: et/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.de.d: de/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.da.d: da/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.id.d: it/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.it.d: it/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.fa.d: fa/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.fi.d: fi/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.fr.d: fr/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.hu.d: hu/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.ja.d: ja/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.ko.d: ko/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.nl.d: nl/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.no.d: no/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.pl.d: pl/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.pt.d: pt/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.pt-br.d: pt-br/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.ru.d: ru/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.se.d: se/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.tr.d: tr/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.vi.d: vi/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.vn.d: vn/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/%.html.zh-cn.d: zh-cn/%.wml .deps/.stamp - tmpfile=`mktemp -t tmp.XXXXXXX` \ - lang=`dirname $<` && \ - OUT=`echo $@ | sed -e 's,.deps/(.*).d$$,\1,'` && \ - wml $(WMLOPT) -I $$lang -I $(WMLBASE)/$$lang -D LANG=$$lang $< -o $$OUT --depend | tee $$tmpfile > $@ && \ - sed -e s',(^[^ ]*):,.deps/\1.d:,' < $$tmpfile >> $@ && \ - rm -f $$tmpfile -.deps/.stamp: - [ -d .deps ] || mkdir .deps - touch "$@" - -dep: $(DEPFILES) -clean: - rm -f *.html.* .deps/*.html.*.d - for sub in $(SUBDIRS); do \ - $(MAKE) -C "$$sub" WMLBASE=../$(WMLBASE) clean; \ - done - -include $(DEPFILES)
Deleted: website/Makefile.local.sample =================================================================== --- website/Makefile.local.sample 2013-08-24 20:38:20 UTC (rev 26317) +++ website/Makefile.local.sample 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,13 +0,0 @@ -# This is a sample for your Makefile.local. -# -# Copy this to Makefile.local and change the path to match your local -# system. -# - -# The path to a clone of the tor source code repository's .git dir. -# Note that if your clone is a non-bare repository that you must not -# leave out the .git part. -# -# e.g.: -# export TORGIT=/home/weasel/projects/tor/tor/.git -export TORGIT=set this to your tor.git path
Deleted: website/favicon.ico =================================================================== (Binary files differ)
Deleted: website/po2wml.sh =================================================================== --- website/po2wml.sh 2013-08-24 20:38:20 UTC (rev 26317) +++ website/po2wml.sh 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,520 +0,0 @@ -#!/bin/bash -# -# Author: Runa Sandvik, runa.sandvik@gmail.com -# Google Summer of Code 2009 -# -# This is Free Software (GPLv3) -# http://www.gnu.org/licenses/gpl-3.0.txt -# -# This script will convert all the translated po files back to wml -# files. -# -# For more information, see the HOWTO and README in -# translation/tools/gsoc09. -# - -### start config ### - -# Location of the wml files -wmldir="$PWD" - -# Location of the po files, -podir="`dirname $wmldir`/translation/projects/website/po" - -# A lot of the wml files have custom tags. These tags have been defined -# in website/include/versions.wmi. Tags that people usually forget to close, -# as well as tags that are not defined in versions.wmi have been added. -# See: https://svn.torproject.org/svn/website/trunk/include/versions.wmi -customtag=`echo $(cat "$wmldir/include/versions.wmi" | awk '{ printf "<%s> " , $2 }' | sed 's/<>//g') "<svnsandbox> <svnwebsite> <svnprojects> <input> <hr> <br> <img> <gitblob>"` - -# We also need to use the nodefault option of po4a; space separated list -# of tags that the module should not try to set by default in any -# category. For now, we only need the input tag. -nodefault='<input>' - -### end config ### - -# Create a lockfile to make sure that only one instance of the script -# can run at any time. -LOCKFILE=po2wml.lock - -if lockfile -! -l 60 -r 3 "$LOCKFILE"; -then - echo "unable to acquire lock" >2 - exit 1 -fi - -trap "rm -f '$PWD/$LOCKFILE'" exit - -# Check if translation/projects/website exist, i.e. has been checked out -if [ ! -d $podir ] -then - echo "Have you remembered to check out translation/projects/website?" - exit 1 -fi - -# cd to the right directory so we can commit the files later -cd "$wmldir" - -# We need to find the po files -po=`find $podir -regex '^'$podir'/.*/.*.po' -type f` - -# For every wml, update po -for file in $po ; do - - # Validate input and write results to a log file - validate_script="`dirname $wmldir`/translation/tools/validate.py" - validate_log="`dirname $wmldir`/validate/website-validate.log" - python "$validate_script" -i "$file" -l "$validate_log" - - # Get the basename of the file we are dealing with - pofile=`basename $file` - - # Strip the file for its original extension and the translation - # priority, and add .wml - wmlfile="`echo $pofile | cut -d . -f 2`.wml" - - # Find out what directory the file is in. - indir=`dirname $file` - - # We also need to know what one directory up is - onedirup=`dirname $indir` - - # We need to find out what subdirectory we are in - subdir=`dirname $file | sed "s#$onedirup/##"` - - # And which language we are dealing with - lang=`dirname $indir | sed "s#$podir/##"` - - # Time to write the translated wml file. - # The translated document is written if 80% or more of the po - # file has been translated. Example: Use '-k 21' to set this - # number down to 21%. Also, po4a-translate will only write the - # translated document if 80% or more has been translated. - # However, it will delete the wml if less than 80% has been - # translated. To avoid having our current, translated wml files - # deleted, convert the po to a temp wml first. If this file was - # actually written, rename it to wml. - - # Convert translations to directories such as website/nb/. - function nosubdir { - # The location of the english wml file - english="$wmldir/en/$wmlfile" - - # Convert the translated file. Note that po4a will write the file and then delete it if less than 80% has been translated - po4a-translate -f wml -m "$english" -p "$file" -l "$wmldir/$subdir/$wmlfile" --master-charset utf-8 -L utf-8 -o customtag="$customtag" -o nodefault="$nodefault" - - # Check to see if the file was written - if [ -e "$wmldir/$subdir/$wmlfile" ] - then - # Remove last three lines in file - sed -i -e :a -e '$d;N;2,3ba' -e 'P;D' "$wmldir/$subdir/$wmlfile" - - # If the file is mirrors.wml, include mirrors-table.wmi - if [ $wmlfile == "mirrors.wml" ] - then - sed -i 's/<!--PO4ASHARPBEGIN/#/' "$wmldir/$subdir/$wmlfile" - sed -i 's/PO4ASHARPEND-->//' "$wmldir/$subdir/$wmlfile" - fi - - # Include the English footer for most of the - # translations - if [[ $subdir != "ar" && $subdir != "pl" && $subdir != "de" && $subdir != "fa" ]] - then - echo '#include "foot.wmi"' >> "$wmldir/$subdir/$wmlfile" - fi - - # If the translation is Polish, include the - # correct header, menu files and footer - if [ $subdir = "pl" ] - then - # Head - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$wmlfile"` - new_head=`echo $orig_head | sed s@head.wmi@pl/head.wmi@` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "pl/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "pl/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$wmlfile" - fi - - # Footer - echo '#include "pl/foot.wmi"' >> "$wmldir/$subdir/$wmlfile" - fi - - # If the translation is German, include the - # correct header, menu files and footer - if [ $subdir = "de" ] - then - # Head - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$wmlfile"` - new_head=`echo $orig_head | sed s@head.wmi@de/head.wmi@` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "de/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "de/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$wmlfile" - fi - - # Footer - echo '#include "de/foot.wmi"' >> "$wmldir/$subdir/$wmlfile" - fi - - # If the translation is Arabic, include the - # correct header, css, menu files and footer - if [ $subdir = "ar" ] - then - # Head - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$wmlfile"` - temp_head=`echo $orig_head | sed s@head.wmi@ar/head.wmi@` - new_head=`echo $temp_head 'STYLESHEET="css/master-rtl.css"'` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "ar/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "ar/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$wmlfile" - fi - - # Footer - echo '#include "ar/foot.wmi"' >> "$wmldir/$subdir/$wmlfile" - fi - - # If the translation is Farsi, include the - # correct header, css, menu files and footer - if [ $subdir = "fa" ] - then - # Head - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$wmlfile"` - temp_head=`echo $orig_head | sed s@head.wmi@fa/head.wmi@` - new_head=`echo $temp_head 'STYLESHEET="css/master-rtl.css"'` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "fa/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "fa/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$wmlfile" - fi - - # Footer - echo '#include "fa/foot.wmi"' >> "$wmldir/$subdir/$wmlfile" - fi - - # If the directory does not include sidenav.wmi, - # copy it from the English directory (only if - # the English directory has this file) - if [[ ! -e "$wmldir/$subdir/sidenav.wmi" && -e "$wmldir/en/sidenav.wmi" ]] - then - cp "$wmldir/en/sidenav.wmi" "$wmldir/$subdir" - fi - fi - } - - # Convert translations to directories such as website/torbrowser/nb/. - # Again, po4a will write the file and then delete it if less than 80% has been translated - function subdir { - # The location of the english wml file - english="$wmldir/$subdir/en/$wmlfile" - - # Convert the files - if [ $wmlfile = "download.wml" ] - then - po4a-translate -f wml -m "$english" -p "$file" -l "$wmldir/$subdir/$lang/$wmlfile" --master-charset utf-8 -L utf-8 -o customtag="$customtag" -o nodefault="$nodefault" -o ontagerror="silent" - else - po4a-translate -f wml -m "$english" -p "$file" -l "$wmldir/$subdir/$lang/$wmlfile" --master-charset utf-8 -L utf-8 -o customtag="$customtag" -o nodefault="$nodefault" - fi - - # Check to see if the file was written - if [ -e "$wmldir/$subdir/$lang/$wmlfile" ] - then - # Remove last three lines in file - sed -i -e :a -e '$d;N;2,3ba' -e 'P;D' "$wmldir/$subdir/$lang/$wmlfile" - - # Remove a specific comment from a specific file - if [ $wmlfile == "download-easy.wml" ] - then - translator_comment="# Translators: please point to the version of TBB in your language, if there is one." - sed -i "s/$translator_comment//" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Fix download.wml - if [ $wmlfile = "download.wml" ] - then - sed -i 's/<!--PO4ASHARPBEGINinclude <lang.wmi>/#include <lang.wmi>/g' "$wmldir/$subdir/$lang/$wmlfile" - sed -i 's/<!--PO4ASHARPBEGINinclude <foot.wmi>//g' "$wmldir/$subdir/$lang/$wmlfile" - sed -i 's/<!--PO4ASHARPBEGIN//g;s/PO4ASHARPEND-->//g' "$wmldir/$subdir/$lang/$wmlfile" - echo "#include <foot.wmi>" >> "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Include the English footer for most of the - # translations - if [[ $lang != "ar" && $lang != "pl" && $lang != "de" && $lang != "fa" ]] - then - echo '#include "foot.wmi"' >> "$wmldir/$subdir/$lang/$wmlfile" - fi - - # If the file is overview.wml, make sure we - # include the correct set of images - if [ $wmlfile = "overview.wml" ] && [[ $lang = "de" || $lang = "es" || $lang = "fr" || - $lang = "ja" || $lang = "nl" || $lang = "no" || $lang = "pl" || $lang = "ru" || - $lang = "zh" ]] - then - sed -i "s/htw1.png/htw1_$lang.png/" "$wmldir/$subdir/$lang/$wmlfile" - sed -i "s/htw2.png/htw2_$lang.png/" "$wmldir/$subdir/$lang/$wmlfile" - sed -i "s/htw3.png/htw3_$lang.png/" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # If the translation is Polish, include the - # correct header, menu files and footer - if [ $lang = "pl" ] - then - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - new_head=`echo $orig_head | sed s@head.wmi@pl/head.wmi@` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$lang/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "pl/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "pl/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Footer - echo '#include "pl/foot.wmi"' >> "$wmldir/$subdir/$lang/$wmlfile" - fi - - # If the translation is German, include the - # correct header, menu files and footer - if [ $lang = "de" ] - then - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - new_head=`echo $orig_head | sed s@head.wmi@de/head.wmi@` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$lang/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "de/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "de/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Footer - echo '#include "de/foot.wmi"' >> "$wmldir/$subdir/$lang/$wmlfile" - - # If the file is tor-doc-windows, make - # sure we include the German video - if [ $wmlfile = "tor-doc-windows.wml" ] - then - orig_video=`grep src="https://media.torproject.org/video/2009-install-and-use-tor.ogv" "$wmldir/$subdir/$lang/$wmlfile"` - translated_video=`echo "<p>Das nachfolgende Video, wurde von SemperVideo erstellt.</p> <p><video id="v1" src="https://media.torproject.org/video/2011-install-and-use-tor-de.ogv%5C" autobuffer="true" controls="controls"></video></p>"` - new_video=`echo "$orig_video $translated_video"` - - sed -i "s@$orig_video@$new_video@" "$wmldir/$subdir/$lang/$wmlfile" - fi - fi - - # If the file is an Arabic translation, include the - # correct header, css, menu files and footer - if [ $lang = "ar" ] - then - # Head - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - temp_head=`echo $orig_head | sed s@head.wmi@ar/head.wmi@` - new_head=`echo $temp_head 'STYLESHEET="css/master-rtl.css"'` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$lang/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "ar/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "ar/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Footer - echo '#include "ar/foot.wmi"' >> "$wmldir/$subdir/$lang/$wmlfile" - fi - - # If the file is a Farsi translation, include the - # correct header, css, menu files and footer - if [ $lang = "fa" ] - then - # Head - orig_head=`grep '#include "head.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - temp_head=`echo $orig_head | sed s@head.wmi@fa/head.wmi@` - new_head=`echo $temp_head 'STYLESHEET="css/master-rtl.css"'` - sed -i "s@$orig_head@$new_head@" "$wmldir/$subdir/$lang/$wmlfile" - - # Side (not all files include this) - orig_side=`grep '#include "side.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_side" ] - then - new_side=`echo '#include "fa/side.wmi"'` - sed -i "s@$orig_side@$new_side@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Info (not all files include this) - orig_info=`grep '#include "info.wmi"' "$wmldir/$subdir/$lang/$wmlfile"` - if [ -n "$orig_info" ] - then - new_info=`echo '#include "fa/info.wmi"'` - sed -i "s@$orig_info@$new_info@" "$wmldir/$subdir/$lang/$wmlfile" - fi - - # Footer - echo '#include "fa/foot.wmi"' >> "$wmldir/$subdir/$lang/$wmlfile" - fi - - # If the directory does not include sidenav.wmi, - # copy it from the English directory (only if - # the English directory has this file) - if [[ ! -e "$wmldir/$subdir/$lang/sidenav.wmi" && -e "$wmldir/$subdir/en/sidenav.wmi" ]] - then - cp "$wmldir/$subdir/en/sidenav.wmi" "$wmldir/$subdir/$lang/" - fi - fi - } - - # If $onedirup is equal to $lang, that means we do not have a - # subdirectory. - if [ $onedirup == $lang ] - then - # If the current directory is "pl_PL" use "pl" instead - if [ $subdir = "pl_PL" ] - then - subdir="pl" - nosubdir - fi - - # If the current directory is "nb" use "no" instead - if [ $subdir = "nb" ] - then - subdir="no" - nosubdir - fi - - # If the current directory is "sv" use "se" instead - if [ $subdir = "sv" ] - then - subdir="se" - nosubdir - fi - - # If the current subdirectory is of the form "xx_XX", - # rename to "xx-xx" instead (except for pl_PL) - if [[ $subdir =~ "_" && $subdir != "pl_PL" ]] - then - subdir="`echo $subdir | sed s/_/-/ | tr '[A-Z]' '[a-z]'`" - nosubdir - fi - - # Convert everything else - if [[ $subdir != "en" && $subdir != "pl_PL" && ! ($subdir =~ "_") && $subdir != "nb" && $subdir != "sv" ]] - then - nosubdir - fi - else - # If the current language is "pl_PL" use "pl" instead - if [ $lang = "pl_PL" ] - then - lang="pl" - subdir - fi - - # If the current language is "nb" use "no" instead - if [ $lang = "nb" ] - then - lang="no" - subdir - fi - - # If the current language is "sv" use "se" instead - if [ $lang = "sv" ] - then - lang="se" - subdir - fi - - # If the current languge is of the form "xx_XX", rename - # to "xx-xx" instead (except for pl_PL) - if [[ $lang =~ "_" && $lang != "pl_PL" ]] - then - lang="`echo $lang | sed s/_/-/ | tr '[A-Z]' '[a-z]'`" - subdir - fi - - # Convert everything else - if [[ $lang != "en" && $lang != "pl_PL" && ! ($lang =~ "_") && $lang != "nb" && $lang != "sv" ]] - then - subdir - fi - fi -done
Deleted: website/publish =================================================================== --- website/publish 2013-08-24 20:38:20 UTC (rev 26317) +++ website/publish 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,41 +0,0 @@ -#!/bin/sh -set -e # stop if we encounter an error - -# pull the latest changes -if [ -e .svn ] ; then - svn update -elif [ -e .git ] ; then - git svn rebase -else - echo 2>&1 "Cannot figure out which version control thing you're using. Skipping update" -fi - -# clean up the working directory -make clean - -# actually build the site -make -j3 - -# don't copy over stuff with permissions that make it useless -chmod -R a+r * -rsync \ - --exclude .DS_Store \ - --exclude .svn \ - --exclude .git \ - --exclude '.*.sw[po]' \ - --exclude .deps \ - --exclude svn \ - --exclude dist \ - --exclude releases \ - --exclude torbutton-current.xpi \ - --exclude project \ - -Prvz --delete . www-master.torproject.org:/srv/www-master.torproject.org/htdocs - -echo "Forcing mirror update" -ssh www-master.torproject.org ' - ( - find /srv/www-master.torproject.org/htdocs ! -perm -444 -print0 | xargs -0 --no-run-if-empty chmod -v a+r || - ( echo >&2 "There are unreadable files in /srv/www-master.torproject.org/htdocs, not triggering mirror run."; exit 1) - ) && - echo "Triggering mirror run" && - /home/mirroradm/bin/trigger-mirrors'
Deleted: website/robots.txt =================================================================== --- website/robots.txt 2013-08-24 20:38:20 UTC (rev 26317) +++ website/robots.txt 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,2 +0,0 @@ -User-Agent: * -Allow: /
Deleted: website/update-mirrors.pl =================================================================== --- website/update-mirrors.pl 2013-08-24 20:38:20 UTC (rev 26317) +++ website/update-mirrors.pl 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,1363 +0,0 @@ -#!/usr/bin/perl -w -use warnings; -use strict; -use LWP::Simple; -use LWP; -use Date::Parse; -use Date::Format; - -# -# A quick hack by Jacob Appelbaum jacob@appelbaum.net -# LWP suggestions by Leigh Honeywell -# This is Free Software (GPLv3) -# http://www.gnu.org/licenses/gpl-3.0.txt -# -# CHANGELOG -# 20091003 Code changes to elimiate the need for a trailing slash in addresses for script runtime -# 20091004 Code changes to increase out of date tolerance to 48 hours -# 20091028 Code changes to increase timout to 30 seconds (attempting to # resolve "unknown" status') -# 20091028 Code changes to change user agent of script -# 20100807 Remove dead mirrors. - -print "Creating LWP agent ($LWP::VERSION)...\n"; -my $lua = LWP::UserAgent->new( - keep_alive => 1, - timeout => 30, - agent => "Tor MirrorCheck Agent" -); - -sub sanitize { - my $taintedData = shift; - my $cleanedData; - my $whitelist = '-a-zA-Z0-9: +'; - - # clean the data, return cleaned data - $taintedData =~ s/[^$whitelist]//go; - $cleanedData = $taintedData; - - return $cleanedData; -} - -sub FetchDate { - my $url = shift; # Base url for mirror - my $trace = "project/trace/www-master.torproject.org"; # this file should always exist - $url = "$url/$trace"; - - print "Fetching possible date from: $url\n"; - - my $request = new HTTP::Request GET => "$url"; - my $result = $lua->request($request); - my $code = $result->code(); - print "Result code $code\n"; - - if ($result->is_success && $code eq "200"){ - my $taint = $result->content; - my $content = sanitize($taint); - if ($content) { - - my $date = str2time($content); - - if ($date) { - print "We've fetched a date $date.\n"; - return $date; - } else { - print "We've haven't fetched a date.\n"; - return "Unknown"; - } - - } else { - print "Unable to fetch date, empty content returned.\n"; - return "Unknown"; - } - - } else { - print "Our request failed, we had no result.\n"; - return "Unknown"; - } - - return "Unknown"; -} - -# This is the list of all known Tor mirrors -# Add new mirrors to the bottom! -my %m = ( - - - mirror000 => { - adminContact => "coralcdn.org", - orgName => "CoralCDN", - isoCC => "INT", - subRegion => "", - region => "INT", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "Yes", - httpWebsiteMirror => "http://www.torproject.org.nyud.net/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://www.torproject.org.nyud.net/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - - mirror001 => { - adminContact => "BarkerJr AT barkerjr DOT net", - orgName => "BarkerJr", - isoCC => "FR", - subRegion => "", - region => "FR", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://www.oignon.net/", - httpsWebsiteMirror => "https://www.oignon.net/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://www.oignon.net/dist/", - httpsDistMirror => "https://www.oignon.net/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - - mirror003 => { - adminContact => "citizen428 AT gmail DOT com", - orgName => "[[:bbs:]]", - isoCC => "DE", - subRegion => "", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "Unknown", - httpWebsiteMirror => "http://tor.blingblingsquad.net/", - httpsWebsiteMirror => "https://tor.blingblingsquad.net/", - ftpWebsiteMirror => "", - rsyncWebsiteMirror => "", - httpDistMirror => "http://tor.blingblingsquad.net/dist/", - httpsDistMirror => "https://tor.blingblingsquad.net/dist/", - rsyncDistMirror => "" - }, - - mirror006 => { - adminContact => "BarkerJr AT barkerjr DOT net", - orgName => "BarkerJr", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://www.torproject.us/", - httpsWebsiteMirror => "https://www.torproject.us/", - rsyncWebsiteMirror => "rsync://rsync.torproject.us/tor", - ftpWebsiteMirror => "", - httpDistMirror => "http://www.torproject.us/dist/", - httpsDistMirror => "https://www.torproject.us/dist/", - rsyncDistMirror => "rsync://rsync.torproject.us/tor/dist", - hiddenServiceMirror => "" - }, - - mirror007 => { - adminContact => "info AT zentrum-der-gesundheit DOT de", - orgName => "Zentrum der Gesundheit", - isoCC => "DK", - subRegion => "", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "Unknown", - httpWebsiteMirror => "http://tor.idnr.ws/", - ftpWebsiteMirror => "", - rsyncWebsiteMirror => "", - httpDistMirror => "http://tor.idnr.ws/dist/", - rsyncDistMirror => "" - }, - - mirror008 => { - adminContact => "root AT amorphis DOT eu", - orgName => "Amorphis", - isoCC => "NL", - subRegion => "", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "Unknown", - httpWebsiteMirror => "http://tor.amorphis.eu/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.amorphis.eu/dist/", - rsyncDistMirror => "" - }, - mirror010 => { - adminContact => "webmaster AT ccc DOT de", - orgName => "CCC", - isoCC => "NL", - subRegion => "", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "Unknown", - httpWebsiteMirror => "http://tor.ccc.de/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.ccc.de/dist/", - rsyncDistMirror => "" - }, - - mirror013 => { - adminContact => "hostmaster AT zombiewerks DOT com", - orgName => "TheOnionRouter", - isoCC => "IS", - subRegion => "", - region => "Iceland", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "Unknown", - httpWebsiteMirror => "http://theonionrouter.com/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://theonionrouter.com/dist/", - httpsDistMirror => "", - rsyncDistMirror => "" - }, - mirror014 => { - adminContact => "tormaster AT xpdm DOT us", - orgName => "Xpdm", - isoCC => "US", - subRegion => "", - region => "North America", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "Unknown", - httpWebsiteMirror => "http://torproj.xpdm.us/", - httpsWebsiteMirror => "https://torproj.xpdm.us/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproj.xpdm.us/dist/", - httpsDistMirror => "https://torproj.xpdm.us/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "http://h3prhz46uktgm4tt.onion/" - }, - mirror016 => { - adminContact => "security AT hostoffice DOT hu", - orgName => "Unknown", - isoCC => "HU", - subRegion => "Hungary", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://mirror.tor.hu/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirror.tor.hu/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror018 => { - adminContact => "", - orgName => "chaos darmstadt", - isoCC => "DE", - subRegion => "Germany", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://mirrors.chaos-darmstadt.de/tor-mirror/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirrors.chaos-darmstadt.de/tor-mirror/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - - mirror019 => { - adminContact => "webmaster AT askapache DOT com", - orgName => "AskApache", - isoCC => "US", - subRegion => "California", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.askapache.com/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.askapache.com/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - - mirror020 => { - adminContact => " mail AT benjamin-meier DOT info ", - orgName => "beme it", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.beme-it.de/", - httpsWebsiteMirror => "https://tor.beme-it.de/", - rsyncWebsiteMirror => "rsync://tor.beme-it.de/tor", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.beme-it.de/dist/", - httpsDistMirror => "https://tor.beme-it.de/dist/", - rsyncDistMirror => "rsync://tor.beme-it.de/tor/dist", - hiddenServiceMirror => "" - }, - - mirror021 => { - adminContact => "", - orgName => "India Tor Fans", - isoCC => "IN", - subRegion => "", - region => "IN", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://www.torproject.org.in/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://www.torproject.org.in/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - - mirror024 => { - adminContact => "", - orgName => "homosu", - isoCC => "SE", - subRegion => "", - region => "SE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.homosu.net/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.homosu.net/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - - mirror025 => { - adminContact => "margus.random at mail.ee", - orgName => "CyberSIDE", - isoCC => "EE", - subRegion => "", - region => "EE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://cyberside.planet.ee/tor/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://cyberside.net.ee/tor/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - - mirror028 => { - adminContact => "", - orgName => "NW Linux", - isoCC => "US", - subRegion => "WA", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.nwlinux.us/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "rsync://nwlinux.us/tor-web", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.nwlinux.us/dist/", - httpsDistMirror => "", - rsyncDistMirror => "rsync://nwlinux.us/tor-dist", - hiddenServiceMirror => "", - }, - mirror029 => { - adminContact => "", - orgName => "LazyTiger", - isoCC => "FR", - subRegion => "", - region => "FR", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.taiga-san.net/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.taiga-san.net/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror030 => { - adminContact => "", - orgName => "searchprivate", - isoCC => "US", - subRegion => "TX", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.searchprivate.com/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.searchprivate.com/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror031 => { - adminContact => "", - orgName => "cyberarmy", - isoCC => "AT", - subRegion => "", - region => "AT", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.cyberarmy.at/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror032 => { - adminContact => "", - orgName => "torproject.is", - isoCC => "IS", - subRegion => "", - region => "IS", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.is/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.is/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror033 => { - adminContact => "", - orgName => "torservers", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://www.torservers.net/mirrors/torproject.org/", - httpsWebsiteMirror => "https://www.torservers.net/mirrors/torproject.org/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://www.torservers.net/mirrors/torproject.org/dist/", - httpsDistMirror => "https://www.torservers.net/mirrors/torproject.org/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "http://hbpvnydyyjbmhx6b.onion/mirrors/torproject.org/", - }, - mirror036 => { - adminContact => "", - orgName => "", - isoCC => "NL", - subRegion => "", - region => "NL", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "", - httpsDistMirror => "https://www.coevoet.nl/tor/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror038 => { - adminContact => "", - orgName => "", - isoCC => "LT", - subRegion => "", - region => "LT", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.vesta.nu/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.vesta.nu/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror045 => { - adminContact => "", - orgName => "", - isoCC => "TN", - subRegion => "", - region => "TN", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.mirror.tn/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.mirror.tn/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror045 => { - adminContact => "", - orgName => "", - isoCC => "TN", - subRegion => "", - region => "TN", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.antagonism.org/", - httpsWebsiteMirror => "https://torproject.antagonism.org/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror048 => { - adminContact => "", - orgName => "", - isoCC => "AT", - subRegion => "", - region => "AT", - ipv4 => "True", - ipv6 => "True", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.dont-know-me.at/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.dont-know-me.at/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror049 => { - adminContact => "IceBear", - orgName => "myRL.net", - isoCC => "IS", - subRegion => "", - region => "IS", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.myrl.net/", - httpsWebsiteMirror => "https://tor.myrl.net/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.myrl.net/dist/", - httpsDistMirror => "https://tor.myrl.net/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror050 => { - adminContact => "", - orgName => "borgmann.tv", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.borgmann.tv/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.borgmann.tv/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror051 => { - adminContact => "", - orgName => "torland", - isoCC => "GB", - subRegion => "", - region => "GB", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://mirror.torland.me/torproject.org/", - httpsWebsiteMirror => "https://mirror.torland.me/torproject.org/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirror.torland.me/torproject.org/dist/", - httpsDistMirror => "https://mirror.torland.me/torproject.org/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror052 => { - adminContact => "", - orgName => "spline", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.spline.de/", - httpsWebsiteMirror => "https://tor.spline.inf.fu-berlin.de/", - rsyncWebsiteMirror => "rsync://ftp.spline.de/tor", - ftpWebsiteMirror => "ftp://ftp.spline.de/pub/tor", - httpDistMirror => "http://tor.spline.de/dist/", - httpsDistMirror => "https://tor.spline.inf.fu-berlin.de/dist/", - rsyncDistMirror => "rsync://ftp.spline.de/tor/dist", - hiddenServiceMirror => "", - }, - mirror053 => { - adminContact => "", - orgName => "", - isoCC => "AT", - subRegion => "", - region => "AT", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.ph3x.at/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.ph3x.at/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror054 => { - adminContact => "", - orgName => "hessmo", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://mirror.hessmo.com/tor/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirror.hessmo.com/tor/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror058 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "True", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.loritsu.com/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.loritsu.com/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror060 => { - adminContact => "", - orgName => "", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.cryptowars.info/", - httpsWebsiteMirror => "https://torproject.cryptowars.info/", - rsyncWebsiteMirror => "rsync://torproject.cryptowars.info/", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.cryptowars.info/dist/", - httpsDistMirror => "https://torproject.cryptowars.info/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror062 => { - adminContact => "", - orgName => "", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.dev-random.de/", - httpsWebsiteMirror => "https://tor.dev-random.de/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.dev-random.de/dist/", - httpsDistMirror => "https://tor.dev-random.de/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror063 => { - adminContact => "", - orgName => "crazyhaze.de", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.crazyhaze.de/", - httpsWebsiteMirror => "https://tor.crazyhaze.de/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.crazyhaze.de/dist/", - httpsDistMirror => "https://tor.crazyhaze.de/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror066 => { - adminContact => "", - orgName => "Lightning-bolt.net", - isoCC => "CZ", - subRegion => "", - region => "CZ", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.lightning-bolt.net/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.lightning-bolt.net/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror067 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.mirrors.whitedholdings.org/", - httpsWebsiteMirror => "https://tor.mirrors.whitedholdings.org/", - rsyncWebsiteMirror => "rsync://mirrors.whitedholdings.org/tor", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.mirrors.whitedholdings.org/dist/", - httpsDistMirror => "https://tor.mirrors.whitedholdings.org/dist/", - rsyncDistMirror => "rsync://tor.mirrors.whitedholdings.org/tor-dist", - hiddenServiceMirror => "", - }, - mirror069 => { - adminContact => "", - orgName => "", - isoCC => "FR", - subRegion => "", - region => "FR", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.mirror.chekanov.net/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.mirror.chekanov.net/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror072 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.minibofh.org/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.minibofh.org/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror073 => { - adminContact => "", - orgName => "", - isoCC => "UA", - subRegion => "", - region => "UA", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torua.reactor-xg.kiev.ua/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torua.reactor-xg.kiev.ua/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror075 => { - adminContact => "", - orgName => "me0w.cc", - isoCC => "RO", - subRegion => "", - region => "RO", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.me0w.cc/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.me0w.cc/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror076 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://mirror.nametoday.me/tor/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirror.nametoday.me/tor/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror077 => { - adminContact => "", - orgName => "", - isoCC => "UK", - subRegion => "", - region => "UK", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.mage.me.uk/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.mage.me.uk/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror078 => { - adminContact => "", - orgName => "", - isoCC => "CH", - subRegion => "", - region => "CH", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.pillo-srv.ch/", - httpsWebsiteMirror => "https://torproject.pillo-srv.ch/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.pillo-srv.ch/dist/", - httpsDistMirror => "https://torproject.pillo-srv.ch/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror079 => { - adminContact => "", - orgName => "", - isoCC => "LU", - subRegion => "", - region => "LU", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.adamas.ai/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.adamas.ai/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror080 => { - adminContact => "", - orgName => "", - isoCC => "FR", - subRegion => "", - region => "FR", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.c3l.lu/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.c3l.lu/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror081 => { - adminContact => "", - orgName => "", - isoCC => "EE", - subRegion => "", - region => "EE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.li/", - httpsWebsiteMirror => "https://tor.li/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.li/dist/", - httpsDistMirror => "https://tor.li/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror082 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "True", - loadBalanced => "No", - httpWebsiteMirror => "http://mirror.nametoday.me/tor/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirror.nametoday.me/tor/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror085 => { - adminContact => "", - orgName => "Soviet Anonymous", - isoCC => "RU", - subRegion => "", - region => "RU", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://creep.im/tor", - httpsWebsiteMirror => "https://creep.im/tor", - rsyncWebsiteMirror => "rsync://creep.im/tor", - ftpWebsiteMirror => "ftp://creep.im/mirrors/tor", - httpDistMirror => "http://creep.im/tor/dist/", - httpsDistMirror => "https://creep.im/tor/dist/", - rsyncDistMirror => "rsync://creep.im/tor-dist", - hiddenServiceMirror => "", - }, - mirror086 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://199.175.55.215/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://199.175.55.215/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror087 => { - adminContact => "", - orgName => "", - isoCC => "DE", - subRegion => "", - region => "DE", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.linuxlounge.net/", - httpsWebsiteMirror => "https://tor.linuxlounge.net/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://tor.linuxlounge.net/dist/", - httpsDistMirror => "https://tor.linuxlounge.net/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror088 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "ftp://mirrors.go-parts.com/tor/", - httpDistMirror => "http://mirrors.go-parts.com/tor/dist/", - httpsDistMirror => "", - rsyncDistMirror => "rsync://mirrors.go-parts.com/mirrors/tor/", - hiddenServiceMirror => "", - }, - mirror089 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://www.netgull.com/torproject/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror090 => { - adminContact => "", - orgName => "", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.guilhem.org/", - httpsWebsiteMirror => "https://torproject.guilhem.org/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.guilhem.org/dist/", - httpsDistMirror => "https://torproject.guilhem.org/dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror091 => { - adminContact => "", - orgName => "", - isoCC => "MX", - subRegion => "", - region => "MX", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://fbnaia.homelinux.net/torproject/", - httpsWebsiteMirror => "https://fbnaia.homelinux.net/torproject/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://fbnaia.homelinux.net/torproject/dist/", - httpsDistMirror => "https://fbnaia.homelinux.net/torproject//dist/", - rsyncDistMirror => "", - hiddenServiceMirror => "", - }, - mirror092 => { - adminContact => "hackthissite.org", - orgName => "HackThisSite.org", - isoCC => "US", - subRegion => "", - region => "US", - ipv4 => "True", - ipv6 => "True", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.hackthissite.org/", - httpsWebsiteMirror => "https://tor.hackthissite.org/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirror.hackthissite.org/tor", - httpsDistMirror => "https://mirror.hackthissite.org/tor", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror093 => { - adminContact => "http://sebastian.pfeifer.or.at/", - orgName => "TechAsk.IT", - isoCC => "AT", - subRegion => "Favoriten", - region => "Wien", - ipv4 => "True", - ipv6 => "True", - loadBalanced => "No", - httpWebsiteMirror => "http://www.unicorncloud.org/public/torproject.org/", - httpsWebsiteMirror => "https://www.unicorncloud.org/public/torproject.org/", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://www.unicorncloud.org/public/torproject.org/dist", - httpsDistMirror => "https://www.unicorncloud.org/public/torproject.org/dist", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror094 => { - adminContact =>"http://www.multinet.no", - orgName => "MultiNet AS", - isoCC => "NO", - subRegion => "Trondheim", - region => "Trondheim", - ipv4 => "True", - ipv6 => "True", - loadBalanced => "No", - httpWebsiteMirror =>"http://tor.multinet.no/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror =>"http://tor.multinet.no/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror095 => { - adminContact => "mirror-admin@linsrv.net", - orgName => "linsrv", - isoCC => "FR", - subRegion => "France", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://mirrors.linsrv.net/torproject/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "mirrors.linsrv.net::pub/torproject", - ftpWebsiteMirror => "ftp://ftp.linsrv.net/pub/torproject/", - httpDistMirror => "http://mirrors.linsrv.net/torproject/dist/", - httpsDistMirror => "", - rsyncDistMirror => "mirrors.linsrv.net::pub/torproject/dist", - hiddenServiceMirror => "" - }, - mirror096 => { - adminContact => "webmaster AT bbln DOT nl", - orgName => "BBLN.nl", - isoCC => "NL", - subRegion => "The Netherlands", - region => "Europe", - ipv4 => "True", - ipv6 => "True", - loadBalanced => "No", - httpWebsiteMirror => "http://mirror.bbln.nl/tor/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://mirror.bbln.nl/tor/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror097 => { - adminContact => "marz.michael at gmail.com", - orgName => "", - isoCC => "DE", - subRegion => "", - region => "", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://tor.taskserver.de/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror098 => { - adminContact => "", - orgName => "", - isoCC => "FR", - subRegion => "", - region => "", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://37.187.0.127/tormirror/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://37.187.0.127/tormirror/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror099 => { - adminContact => "paul at coffswifi.net", - orgName => "CoffsWiFi", - isoCC => "AU", - subRegion => "Australia and New Zealand", - region => "APNIC", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://torproject.coffswifi.net", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://torproject.coffswifi.net/dist", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - }, - mirror100 => { - adminContact => "nsane2307 /AT\ eml /DOT\ cc", - orgName => "", - isoCC => "DE", - subRegion => "Germany", - region => "Europe", - ipv4 => "True", - ipv6 => "False", - loadBalanced => "No", - httpWebsiteMirror => "http://144.76.105.110/mirrors/torproject.org/", - httpsWebsiteMirror => "", - rsyncWebsiteMirror => "", - ftpWebsiteMirror => "", - httpDistMirror => "http://144.76.105.110/mirrors/torproject.org/dist/", - httpsDistMirror => "", - rsyncDistMirror => "", - hiddenServiceMirror => "" - } - -); - -my $count = values %m; -print "We have a total of $count mirrors\n"; -print "Fetching the last updated date for each mirror.\n"; - -my $tortime; -$tortime = FetchDate("https://www.torproject.org/"); -# Adjust offical Tor time by out-of-date offset: number of days * seconds per day -$tortime -= 1 * 172800; -print "The official time for Tor is $tortime. \n"; - -foreach my $server ( keys %m ) { - - print "Attempting to fetch from $m{$server}{'orgName'}\n"; - - if ($m{$server}{'httpWebsiteMirror'}) { - print "Attempt to fetch via HTTP.\n"; - $m{$server}{"updateDate"} = FetchDate("$m{$server}{'httpWebsiteMirror'}"); - } elsif ($m{$server}{'httpsWebsiteMirror'}) { - print "Attempt to fetch via HTTPS.\n"; - $m{$server}{"updateDate"} = FetchDate("$m{$server}{'httpsWebsiteMirror'}"); - } elsif ($m{$server}{'ftpWebsiteMirror'}) { - print "Attempt to fetch via FTP.\n"; - $m{$server}{"updateDate"} = FetchDate("$m{$server}{'ftpWebsiteMirror'}"); - } else { - print "We were unable to fetch or store anything. We still have the following: $m{$server}{'updateDate'}\n"; - } - - print "We fetched and stored the following: $m{$server}{'updateDate'}\n"; - - } - - -print "We sorted the following mirrors by their date of last update: \n"; -foreach my $server ( sort { $m{$b}{'updateDate'} <=> $m{$a}{'updateDate'}} keys %m ) { - - print "\n"; - print "Mirror $m{$server}{'orgName'}: \n"; - - foreach my $attrib ( sort keys %{$m{$server}} ) { - print "$attrib = $m{$server}{$attrib}"; - print "\n"; - }; -} - -my $outFile = "include/mirrors-table.wmi"; -my $html; -open(OUT, "> $outFile") or die "Can't open $outFile: $!"; - -# Here's where we open a file and print some wml include goodness -# This is storted from last known recent update to unknown update times -foreach my $server ( sort { $m{$b}{'updateDate'} <=> $m{$a}{'updateDate'}} keys %m ) { - - my $time; - if ( "$m{$server}{'updateDate'}" ne "Unknown") { - if ( $m{$server}{'updateDate'} > $tortime ) { - $time = "Up to date"; - } else { $time = "DO NOT USE. Out of date."; } - } else { $time = "Unknown"; } -print OUT <<"END"; - \n<tr>\n - <td>$m{$server}{'isoCC'}</td>\n - <td>$m{$server}{'orgName'}</td>\n - <td>$time</td>\n -END - - my %prettyNames = ( - httpWebsiteMirror => "http", - httpsWebsiteMirror => "https", - ftpWebsiteMirror => "ftp", - rsyncWebsiteMirror => "rsync", - httpDistMirror => "http", - httpsDistMirror => "https", - rsyncDistMirror => "rsync", ); - - foreach my $precious ( sort keys %prettyNames ) - { - if ($m{$server}{"$precious"}) { - print OUT " <td><a href="" . $m{$server}{$precious} . "">" . - "$prettyNames{$precious}</a></td>\n"; - } else { print OUT " <td> - </td>\n"; } - } - - print OUT "</tr>\n"; -} - -close(OUT);
Deleted: website/wml2po.sh =================================================================== --- website/wml2po.sh 2013-08-24 20:38:20 UTC (rev 26317) +++ website/wml2po.sh 2013-08-25 11:16:46 UTC (rev 26318) @@ -1,284 +0,0 @@ -#!/bin/bash -# -# Author: Runa Sandvik, runa.sandvik@gmail.com -# Google Summer of Code 2009 -# -# This is Free Software (GPLv3) -# http://www.gnu.org/licenses/gpl-3.0.txt -# -# This script will convert all of the English wml files in -# https://svn.torproject.org/svn/website/trunk/ to pot files, and -# keep them updated. The script will also convert subdirectories that -# exist in the website module. -# -# For more information, see the HOWTO and README in -# translation/tools/gsoc09. -# - -### start config ### - -# Location of the wml files -wmldir="$PWD" - -# Location of the pot files. -# Assuming that the translation directory is relative to the website -podir="`dirname $wmldir`/translation/projects/website/po/templates" - -# Set the copyright holder of the files, -# for example "The Tor Project, Inc" -copyright="The Tor Project, Inc" - -# A lot of the wml files have custom tags. These tags have been defined -# in website/include/versions.wmi. Tags that people usually forget to close, -# as well as tags that are not defined in versions.wmi, have been added. -# See: https://svn.torproject.org/svn/website/trunk/include/versions.wmi -customtag=`echo $(cat "$wmldir/include/versions.wmi" | awk '{ printf "<%s> " , $2 }' | sed 's/<>//g') "<svnsandbox> <svnwebsite> <svnprojects> <input> <hr> <br> <img> <gitblob> <package-androidbundle-alpha> <version-androidbundle-tor> <video controls> <wiki>"` - -# We also need to use the nodefault option of po4a; space separated list -# of tags that the module should not try to set by default in any -# category. For now, we only need the input tag. -nodefault='<input>' - -# The script can write the name of unprocessed files to a log. -# If you want to enable this option, set the logfile here. -logfile="" - -# This is the temp logfile. Leave this line even if you don't want to -# log. This will be deleted when the script is done. -tmplog="`dirname $wmldir`/tmp.log" - -### end config ### - -# Create a lockfile to make sure that only one instance of the script -# can run at any time. -LOCKFILE=wml2po.lock - -if lockfile -! -l 60 -r 3 "$LOCKFILE"; -then - echo "unable to acquire lock" >2 - exit 1 -fi - -trap "rm -f '$PWD/$LOCKFILE'" exit - -# Check if translation/projects/website exist, i.e. has been checked out -if [ ! -d $podir ] -then - echo "Have you remembered to check out translation/projects/website?" - exit 1 -fi - -# If the logfile is set, write the date. -if [ $logfile ] -then - echo `date` > $logfile -fi - -# Create the temp log -touch $tmplog - -# We only need the English wml files, but we do not wish to translate -# the eff documents. -wml=`find $wmldir -regex '^'$wmldir'/.*en/.*.wml' -type f | grep -v '^'$wmldir'/eff'` - -# For every English wml, see if the pot needs to be created or updated -for file in $wml ; do - - # Get the basename of the file we are dealing with - wmlfile=`basename $file` - - # Get the translation priority - priority=`cat $file | grep "# Translation-Priority" | awk '{print $3}'` - - # If the file doesn't have a translation-priority, we can assume - # that it doesn't need to be translated. Skip this file and - # continue on with the next. - if [ ! $priority ] - then - continue - fi - - # Strip the file for its original extension and add .pot - pofile="$priority.${wmlfile%%.*}.pot" - - # Find out what directory the file is in. - # Also, remove the part of the path that is $wmldir - indir=`dirname $file` - - # We need to know what one dir up is - onedirup=`dirname $indir | sed "s#$wmldir/##"` - - # We need to have the correct, full path to the pot - # directory for the file we are working on. - # Also, did the subdirectory exist prior to running this - # script? If not, create it now and add it to the - # repository. - if [ $onedirup = $wmldir ] - then - popath="$podir" - else - - # We need to know if a subdirectory, such as torbutton, - # exist in the translation module. If it does not exist, - # the script will create it in all the directories under - # translation/projects/website (excluding .svn) - subdir=`find "$podir" -maxdepth 1 -type d ! -path "$ppodir" ! -path "*.*"` - - for dir in $subdir ; do - if [ ! -d "$podir/$onedirup" ] - then - svn mkdir "$podir/$onedirup" - fi - done - - # Set the path - popath="$podir/$onedirup" - - fi - - # Check to see if the pot existed prior to running this - # script. If it didn't, check if there any files with the same - # filename, but different priority. If neither of the files - # exist, create with po4a-gettextize. - if [ -e "$popath/$pofile" ] - then - poexist=1 - elif [ `find $popath -type f -name "*.$filename" | wc -l` -gt "0" ] - then - poexist=2 - - # We need to rename the other file - for file in `find $popath -type f -name "*.$filename"` ; do - svn mv "$file" "$popath/$pofile" - echo "$popath/$pofile" > $tmplog - done - - else - poexist=0 - fi - - # If the pot file does not exist, convert it with - # po4a-gettextize, set the right encoding and charset - # and the correct copyright. - if [ $poexist = 0 ] - then - # Do something special for download.wml and its js - if [ $wmlfile = "download.wml" ] - then - po4a-gettextize -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" -o ontagerror="silent" - else - # Convert it - po4a-gettextize -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" - fi - - # Check to see if the file exists - if [ -e "$popath/$pofile" ] - then - # We don't want files without - # content, so check the file first. - content=`cat "$popath/$pofile" | grep '^#[.]' | wc -l` - - # If the file does not have any - # content, delete it. - if [ $content = 0 ] - then - rm -f "$popath/$pofile" - echo "$popath/$pofile" > $tmplog - else - # Set the right encoding and charset, as well - # as the correct copyright holder. - sed -i '0,/ENCODING/ s/ENCODING/8bit/' "$popath/$pofile" - sed -i '0,/CHARSET/ s/CHARSET/utf-8/' "$popath/$pofile" - sed -i "0,/Free Software Foundation, Inc/ s/Free Software Foundation, Inc/$copyright/" "$popath/$pofile" - - # And add it to the repository - svn add "$popath/$pofile" - echo "$popath/$pofile" > $tmplog - fi - - # Remove po4a comments from download.wml - if [ $wmlfile = "download.wml" ] - then - sed -i 's/PO4ASHARPEND-->//g' "$popath/$pofile" - fi - fi - - # Update the file with po4a-updatepo to make the - # word wrapping perfect - if [ $wmlfile = "download.wml" ] - then - po4a-updatepo -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" -o ontagerror="silent" - else - po4a-updatepo -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" - fi - - # Delete the backup - rm -f "$popath/$pofile~" - fi - - # If the pot file does exist, calculate the hash first, - # then update the file, then calculate the hash again. - if [ $poexist = 1 ] - then - # Calculate the hash before we update the file - before=`grep -vE '^("POT-Creation-Date:|#)' "$popath/$pofile" | md5sum | cut -d " " -f1` - - # Update the pot file - if [ $wmlfile = "download.wml" ] - then - po4a-updatepo -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" -o ontagerror="silent" - else - po4a-updatepo -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" - fi - - # Calculate the new hash - after=`grep -vE '^("POT-Creation-Date:|#)' "$popath/$pofile" | md5sum | cut -d " " -f1` - - # Delete the backup - rm -f "$popath/$pofile~" - - # Now we need to compare the before and after - # hash. If they match (i.e. nothing has - # changed), revert the file. - if [ $before = $after ] - then - svn revert "$popath/$pofile" - echo "$popath/$pofile" > $tmplog - else - echo "$popath/$pofile" > $tmplog - - if [ $wmlfile = "download.wml" ] - then - sed -i 's/PO4ASHARPEND-->//g' "$popath/$pofile" - fi - - fi - fi - - # If a file with the same name but different priority - # exist, then rename the file (we have done so already) - # and update it with po4a-updatepo to make sure - # everything else is ok. - if [ $poexist = 2 ] - then - # Update the file - if [ $wmlfile = "download.wml" ] - then - po4a-updatepo -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" -o ontagerror="silent" - else - po4a-updatepo -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault" - fi - fi - - # Write to the logfile - if [ -e $logfile ] - then - if [ `cat $tmplog | grep "$popath/$pofile" | wc -l` -eq "0" ] - then - echo "could not process: " "$file" >> $logfile - fi - fi - - # Delete the temp log - rm -f $tmplog -done
tor-commits@lists.torproject.org