Build report
- Start time:
- 2024-11-19 15:19:01 (UTC)
- End time:
- 2024-11-19 15:21:39 (UTC)
- Duration:
- 2 minutes 38 seconds
- Termination Status:
- Success
Previous builds
GIT changes: at 2024-11-19 15:19:04 (UTC)
Updating 00664b9a88..4f3fcf884f Fast-forward fsfe.org/news/podcast/episode-26.en.xhtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)checked
Phase 1: 1 minute 3 seconds
[15:19:04] Starting phase 1 [15:19:04] * Spawning 4 processes [15:19:05] * Indexing 5425 files [15:19:20] * Indexation done in 15 seconds! [15:19:20] * Written index to /srv/www/fsfe.org_git/fsfe.org/search/index.js [15:19:20] * Creating search index [15:19:20] * Updating XSL stylesheets [15:19:20] * Preparing subdirectory fsfe.org/news [15:19:20] * Generating podcast/.episode-26.en.xml [15:19:20] * Preparing subdirectory fsfe.org/events [15:19:20] * Updating default stylesheets [15:19:21] * Updating local menus [15:19:22] * Generating tag maps [15:19:51] * Updating tag lists [15:19:57] * Updating XML lists [15:20:03] * Checking contents of XML lists [15:20:04] * Touching fsfe.org/activities/publiccode/.publiccode.xmllist [15:20:04] * Touching fsfe.org/.index.xmllist [15:20:05] * Touching fsfe.org/news/.news.xmllist [15:20:05] * Touching fsfe.org/news/.podcast-opus.xmllist [15:20:05] * Touching fsfe.org/news/.podcast.xmllist [15:20:06] * Touching fsfe.org/tags/.tagged-front-page.xmllist [15:20:06] * Touching fsfe.org/tags/.tagged-highlights.xmllist [15:20:06] * Touching fsfe.org/tags/.tagged-ngi.xmllist [15:20:07] * Touching fsfe.org/tags/.tagged-pmpc.xmllist [15:20:07] * Touching fsfe.org/tags/.tagged-podcast.xmllist [15:20:07] Finishing phase 1
Phase 2 Makefile: 0 minutes 1 second
# ----------------------------------------------------------------------------- # Makefile for FSFE website build, phase 2 # ----------------------------------------------------------------------------- .PHONY: all .DELETE_ON_ERROR: .SECONDEXPANSION: PROCESSOR = "/srv/www/fsfe.org_git/build/process_file.sh" PROCFLAGS = --build-env "fsfe.org" --source "/srv/www/fsfe.org_git" INPUTDIR = /srv/www/fsfe.org_git OUTPUTDIR = /srv/www/fsfe.org_stage STATUSDIR = /srv/www/fsfe.org/status.fsfe.org/fsfe.org/data LANGUAGES = ar bg bs ca cs da de el en es et fa fi fr hr hu it ja mk nb nl nn pl pt ro ru sk sl sq sr sv tr uk zh # ----------------------------------------------------------------------------- # Build .html files from .xhtml sources # ----------------------------------------------------------------------------- # All .xhtml source files HTML_SRC_FILES := $(shell find "$(INPUTDIR)" -name '*.??.xhtml' -not -path '$(INPUTDIR)/.git/*' ) # All basenames of .xhtml source files (without .<lang>.xhtml ending) # Note: $(sort ...) is used to remove duplicates HTML_SRC_BASES := $(sort $(basename $(basename $(HTML_SRC_FILES)))) # All directories containing .xhtml source files HTML_SRC_DIRS := $(sort $(dir $(HTML_SRC_BASES))) # The same as above, but moved to the output directory HTML_DST_BASES := $(patsubst $(INPUTDIR)/%,$(OUTPUTDIR)/%,$(HTML_SRC_BASES)) # List of .<lang>.html files to build HTML_DST_FILES := $(foreach base,$(HTML_DST_BASES),$(foreach lang,$(LANGUAGES),$(base).$(lang).html)) # .xmllist file used to build a html file XMLLIST_DEP = $(wildcard $(INPUTDIR)/$(dir $*).$(notdir $*).xmllist) # .xsl file used to build a html file XSL_DEP = $(firstword $(wildcard $(INPUTDIR)/$*.xsl) $(INPUTDIR)/$(dir $*).default.xsl) all: $(HTML_DST_FILES) $(filter %.ar.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.ar.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.ar.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.ar.xml echo "* Building $*.ar.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ar.xhtml" > "$@" $(filter %.bg.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.bg.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.bg.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.bg.xml echo "* Building $*.bg.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.bg.xhtml" > "$@" $(filter %.bs.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.bs.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.bs.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.bs.xml echo "* Building $*.bs.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.bs.xhtml" > "$@" $(filter %.ca.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.ca.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.ca.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.ca.xml echo "* Building $*.ca.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ca.xhtml" > "$@" $(filter %.cs.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.cs.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.cs.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.cs.xml echo "* Building $*.cs.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.cs.xhtml" > "$@" $(filter %.da.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.da.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.da.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.da.xml echo "* Building $*.da.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.da.xhtml" > "$@" $(filter %.de.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.de.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.de.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.de.xml echo "* Building $*.de.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.de.xhtml" > "$@" $(filter %.el.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.el.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.el.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.el.xml echo "* Building $*.el.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.el.xhtml" > "$@" $(filter %.en.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.en.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.en.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.en.xml echo "* Building $*.en.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.en.xhtml" > "$@" $(filter %.es.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.es.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.es.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.es.xml echo "* Building $*.es.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.es.xhtml" > "$@" $(filter %.et.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.et.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.et.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.et.xml echo "* Building $*.et.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.et.xhtml" > "$@" $(filter %.fa.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.fa.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.fa.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.fa.xml echo "* Building $*.fa.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fa.xhtml" > "$@" $(filter %.fi.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.fi.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.fi.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.fi.xml echo "* Building $*.fi.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fi.xhtml" > "$@" $(filter %.fr.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.fr.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.fr.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.fr.xml echo "* Building $*.fr.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fr.xhtml" > "$@" $(filter %.hr.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.hr.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.hr.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.hr.xml echo "* Building $*.hr.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.hr.xhtml" > "$@" $(filter %.hu.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.hu.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.hu.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.hu.xml echo "* Building $*.hu.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.hu.xhtml" > "$@" $(filter %.it.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.it.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.it.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.it.xml echo "* Building $*.it.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.it.xhtml" > "$@" $(filter %.ja.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.ja.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.ja.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.ja.xml echo "* Building $*.ja.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ja.xhtml" > "$@" $(filter %.mk.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.mk.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.mk.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.mk.xml echo "* Building $*.mk.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.mk.xhtml" > "$@" $(filter %.nb.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.nb.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.nb.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.nb.xml echo "* Building $*.nb.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nb.xhtml" > "$@" $(filter %.nl.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.nl.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.nl.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.nl.xml echo "* Building $*.nl.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nl.xhtml" > "$@" $(filter %.nn.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.nn.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.nn.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.nn.xml echo "* Building $*.nn.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nn.xhtml" > "$@" $(filter %.pl.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.pl.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.pl.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.pl.xml echo "* Building $*.pl.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.pl.xhtml" > "$@" $(filter %.pt.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.pt.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.pt.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.pt.xml echo "* Building $*.pt.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.pt.xhtml" > "$@" $(filter %.ro.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.ro.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.ro.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.ro.xml echo "* Building $*.ro.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ro.xhtml" > "$@" $(filter %.ru.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.ru.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.ru.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.ru.xml echo "* Building $*.ru.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ru.xhtml" > "$@" $(filter %.sk.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.sk.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.sk.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.sk.xml echo "* Building $*.sk.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sk.xhtml" > "$@" $(filter %.sl.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.sl.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.sl.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.sl.xml echo "* Building $*.sl.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sl.xhtml" > "$@" $(filter %.sq.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.sq.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.sq.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.sq.xml echo "* Building $*.sq.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sq.xhtml" > "$@" $(filter %.sr.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.sr.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.sr.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.sr.xml echo "* Building $*.sr.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sr.xhtml" > "$@" $(filter %.sv.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.sv.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.sv.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.sv.xml echo "* Building $*.sv.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sv.xhtml" > "$@" $(filter %.tr.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.tr.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.tr.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.tr.xml echo "* Building $*.tr.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.tr.xhtml" > "$@" $(filter %.uk.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.uk.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.uk.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.uk.xml echo "* Building $*.uk.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.uk.xhtml" > "$@" $(filter %.zh.html,$(HTML_DST_FILES)): $(OUTPUTDIR)/%.zh.html: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $$(XSL_DEP) $(INPUTDIR)/global/data/texts/.texts.zh.xml $(INPUTDIR)/global/data/texts/texts.en.xml $(INPUTDIR)/global/data/topbanner/.topbanner.zh.xml echo "* Building $*.zh.html" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.zh.xhtml" > "$@" # ----------------------------------------------------------------------------- # Create index.* symlinks # ----------------------------------------------------------------------------- # All .xhtml source files with the same name as their parent directory INDEX_SRC_FILES := $(wildcard $(foreach directory,$(HTML_SRC_DIRS),$(directory)$(notdir $(directory:/=)).??.xhtml)) # All basenames of .xhtml source files with the same name as their parent # directory INDEX_SRC_BASES := $(sort $(basename $(basename $(INDEX_SRC_FILES)))) # All directories containing .xhtml source files with the same name as their # parent directory (that is, all directories in which index files should be # created) INDEX_SRC_DIRS := $(dir $(INDEX_SRC_BASES)) # The same as above, but moved to the output directory INDEX_DST_DIRS := $(patsubst $(INPUTDIR)/%,$(OUTPUTDIR)/%,$(INDEX_SRC_DIRS)) # List of index.<lang>.html symlinks to create INDEX_DST_LINKS := $(foreach base,$(INDEX_DST_DIRS),$(foreach lang,$(LANGUAGES),$(base)index.$(lang).html)) all: $(INDEX_DST_LINKS) $(filter %/index.ar.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.ar.html: echo "* Creating symlink $*/index.ar.html" ln -sf "$(notdir $*).ar.html" "$@" $(filter %/index.bg.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.bg.html: echo "* Creating symlink $*/index.bg.html" ln -sf "$(notdir $*).bg.html" "$@" $(filter %/index.bs.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.bs.html: echo "* Creating symlink $*/index.bs.html" ln -sf "$(notdir $*).bs.html" "$@" $(filter %/index.ca.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.ca.html: echo "* Creating symlink $*/index.ca.html" ln -sf "$(notdir $*).ca.html" "$@" $(filter %/index.cs.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.cs.html: echo "* Creating symlink $*/index.cs.html" ln -sf "$(notdir $*).cs.html" "$@" $(filter %/index.da.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.da.html: echo "* Creating symlink $*/index.da.html" ln -sf "$(notdir $*).da.html" "$@" $(filter %/index.de.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.de.html: echo "* Creating symlink $*/index.de.html" ln -sf "$(notdir $*).de.html" "$@" $(filter %/index.el.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.el.html: echo "* Creating symlink $*/index.el.html" ln -sf "$(notdir $*).el.html" "$@" $(filter %/index.en.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.en.html: echo "* Creating symlink $*/index.en.html" ln -sf "$(notdir $*).en.html" "$@" $(filter %/index.es.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.es.html: echo "* Creating symlink $*/index.es.html" ln -sf "$(notdir $*).es.html" "$@" $(filter %/index.et.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.et.html: echo "* Creating symlink $*/index.et.html" ln -sf "$(notdir $*).et.html" "$@" $(filter %/index.fa.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.fa.html: echo "* Creating symlink $*/index.fa.html" ln -sf "$(notdir $*).fa.html" "$@" $(filter %/index.fi.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.fi.html: echo "* Creating symlink $*/index.fi.html" ln -sf "$(notdir $*).fi.html" "$@" $(filter %/index.fr.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.fr.html: echo "* Creating symlink $*/index.fr.html" ln -sf "$(notdir $*).fr.html" "$@" $(filter %/index.hr.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.hr.html: echo "* Creating symlink $*/index.hr.html" ln -sf "$(notdir $*).hr.html" "$@" $(filter %/index.hu.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.hu.html: echo "* Creating symlink $*/index.hu.html" ln -sf "$(notdir $*).hu.html" "$@" $(filter %/index.it.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.it.html: echo "* Creating symlink $*/index.it.html" ln -sf "$(notdir $*).it.html" "$@" $(filter %/index.ja.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.ja.html: echo "* Creating symlink $*/index.ja.html" ln -sf "$(notdir $*).ja.html" "$@" $(filter %/index.mk.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.mk.html: echo "* Creating symlink $*/index.mk.html" ln -sf "$(notdir $*).mk.html" "$@" $(filter %/index.nb.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.nb.html: echo "* Creating symlink $*/index.nb.html" ln -sf "$(notdir $*).nb.html" "$@" $(filter %/index.nl.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.nl.html: echo "* Creating symlink $*/index.nl.html" ln -sf "$(notdir $*).nl.html" "$@" $(filter %/index.nn.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.nn.html: echo "* Creating symlink $*/index.nn.html" ln -sf "$(notdir $*).nn.html" "$@" $(filter %/index.pl.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.pl.html: echo "* Creating symlink $*/index.pl.html" ln -sf "$(notdir $*).pl.html" "$@" $(filter %/index.pt.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.pt.html: echo "* Creating symlink $*/index.pt.html" ln -sf "$(notdir $*).pt.html" "$@" $(filter %/index.ro.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.ro.html: echo "* Creating symlink $*/index.ro.html" ln -sf "$(notdir $*).ro.html" "$@" $(filter %/index.ru.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.ru.html: echo "* Creating symlink $*/index.ru.html" ln -sf "$(notdir $*).ru.html" "$@" $(filter %/index.sk.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.sk.html: echo "* Creating symlink $*/index.sk.html" ln -sf "$(notdir $*).sk.html" "$@" $(filter %/index.sl.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.sl.html: echo "* Creating symlink $*/index.sl.html" ln -sf "$(notdir $*).sl.html" "$@" $(filter %/index.sq.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.sq.html: echo "* Creating symlink $*/index.sq.html" ln -sf "$(notdir $*).sq.html" "$@" $(filter %/index.sr.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.sr.html: echo "* Creating symlink $*/index.sr.html" ln -sf "$(notdir $*).sr.html" "$@" $(filter %/index.sv.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.sv.html: echo "* Creating symlink $*/index.sv.html" ln -sf "$(notdir $*).sv.html" "$@" $(filter %/index.tr.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.tr.html: echo "* Creating symlink $*/index.tr.html" ln -sf "$(notdir $*).tr.html" "$@" $(filter %/index.uk.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.uk.html: echo "* Creating symlink $*/index.uk.html" ln -sf "$(notdir $*).uk.html" "$@" $(filter %/index.zh.html,$(INDEX_DST_LINKS)): $(OUTPUTDIR)/%/index.zh.html: echo "* Creating symlink $*/index.zh.html" ln -sf "$(notdir $*).zh.html" "$@" # ----------------------------------------------------------------------------- # Create symlinks from file.<lang>.html to file.html.<lang> # ----------------------------------------------------------------------------- # List of .html.<lang> symlinks to create HTML_DST_LINKS := $(foreach base,$(HTML_DST_BASES) $(addsuffix index,$(INDEX_DST_DIRS)),$(foreach lang,$(LANGUAGES),$(base).html.$(lang))) all: $(HTML_DST_LINKS) $(OUTPUTDIR)/%.html.ar: echo "* Creating symlink $*.html.ar" ln -sf "$(notdir $*).ar.html" "$@" $(OUTPUTDIR)/%.html.bg: echo "* Creating symlink $*.html.bg" ln -sf "$(notdir $*).bg.html" "$@" $(OUTPUTDIR)/%.html.bs: echo "* Creating symlink $*.html.bs" ln -sf "$(notdir $*).bs.html" "$@" $(OUTPUTDIR)/%.html.ca: echo "* Creating symlink $*.html.ca" ln -sf "$(notdir $*).ca.html" "$@" $(OUTPUTDIR)/%.html.cs: echo "* Creating symlink $*.html.cs" ln -sf "$(notdir $*).cs.html" "$@" $(OUTPUTDIR)/%.html.da: echo "* Creating symlink $*.html.da" ln -sf "$(notdir $*).da.html" "$@" $(OUTPUTDIR)/%.html.de: echo "* Creating symlink $*.html.de" ln -sf "$(notdir $*).de.html" "$@" $(OUTPUTDIR)/%.html.el: echo "* Creating symlink $*.html.el" ln -sf "$(notdir $*).el.html" "$@" $(OUTPUTDIR)/%.html.en: echo "* Creating symlink $*.html.en" ln -sf "$(notdir $*).en.html" "$@" $(OUTPUTDIR)/%.html.es: echo "* Creating symlink $*.html.es" ln -sf "$(notdir $*).es.html" "$@" $(OUTPUTDIR)/%.html.et: echo "* Creating symlink $*.html.et" ln -sf "$(notdir $*).et.html" "$@" $(OUTPUTDIR)/%.html.fa: echo "* Creating symlink $*.html.fa" ln -sf "$(notdir $*).fa.html" "$@" $(OUTPUTDIR)/%.html.fi: echo "* Creating symlink $*.html.fi" ln -sf "$(notdir $*).fi.html" "$@" $(OUTPUTDIR)/%.html.fr: echo "* Creating symlink $*.html.fr" ln -sf "$(notdir $*).fr.html" "$@" $(OUTPUTDIR)/%.html.hr: echo "* Creating symlink $*.html.hr" ln -sf "$(notdir $*).hr.html" "$@" $(OUTPUTDIR)/%.html.hu: echo "* Creating symlink $*.html.hu" ln -sf "$(notdir $*).hu.html" "$@" $(OUTPUTDIR)/%.html.it: echo "* Creating symlink $*.html.it" ln -sf "$(notdir $*).it.html" "$@" $(OUTPUTDIR)/%.html.ja: echo "* Creating symlink $*.html.ja" ln -sf "$(notdir $*).ja.html" "$@" $(OUTPUTDIR)/%.html.mk: echo "* Creating symlink $*.html.mk" ln -sf "$(notdir $*).mk.html" "$@" $(OUTPUTDIR)/%.html.nb: echo "* Creating symlink $*.html.nb" ln -sf "$(notdir $*).nb.html" "$@" $(OUTPUTDIR)/%.html.nl: echo "* Creating symlink $*.html.nl" ln -sf "$(notdir $*).nl.html" "$@" $(OUTPUTDIR)/%.html.nn: echo "* Creating symlink $*.html.nn" ln -sf "$(notdir $*).nn.html" "$@" $(OUTPUTDIR)/%.html.pl: echo "* Creating symlink $*.html.pl" ln -sf "$(notdir $*).pl.html" "$@" $(OUTPUTDIR)/%.html.pt: echo "* Creating symlink $*.html.pt" ln -sf "$(notdir $*).pt.html" "$@" $(OUTPUTDIR)/%.html.ro: echo "* Creating symlink $*.html.ro" ln -sf "$(notdir $*).ro.html" "$@" $(OUTPUTDIR)/%.html.ru: echo "* Creating symlink $*.html.ru" ln -sf "$(notdir $*).ru.html" "$@" $(OUTPUTDIR)/%.html.sk: echo "* Creating symlink $*.html.sk" ln -sf "$(notdir $*).sk.html" "$@" $(OUTPUTDIR)/%.html.sl: echo "* Creating symlink $*.html.sl" ln -sf "$(notdir $*).sl.html" "$@" $(OUTPUTDIR)/%.html.sq: echo "* Creating symlink $*.html.sq" ln -sf "$(notdir $*).sq.html" "$@" $(OUTPUTDIR)/%.html.sr: echo "* Creating symlink $*.html.sr" ln -sf "$(notdir $*).sr.html" "$@" $(OUTPUTDIR)/%.html.sv: echo "* Creating symlink $*.html.sv" ln -sf "$(notdir $*).sv.html" "$@" $(OUTPUTDIR)/%.html.tr: echo "* Creating symlink $*.html.tr" ln -sf "$(notdir $*).tr.html" "$@" $(OUTPUTDIR)/%.html.uk: echo "* Creating symlink $*.html.uk" ln -sf "$(notdir $*).uk.html" "$@" $(OUTPUTDIR)/%.html.zh: echo "* Creating symlink $*.html.zh" ln -sf "$(notdir $*).zh.html" "$@" # ----------------------------------------------------------------------------- # Build .rss files from .xhtml sources # ----------------------------------------------------------------------------- # All .rss.xsl scripts which can create .rss output RSS_SRC_SCRIPTS := $(shell find "$(INPUTDIR)" -name '*.rss.xsl' -not -path '$(INPUTDIR)/.git/*' ) # All basenames of .xhtml source files from which .rss files should be built RSS_SRC_BASES := $(sort $(basename $(basename $(RSS_SRC_SCRIPTS)))) # The same as above, but moved to the output directory RSS_DST_BASES := $(patsubst $(INPUTDIR)/%,$(OUTPUTDIR)/%,$(RSS_SRC_BASES)) # List of .<lang>.rss files to build RSS_DST_FILES := $(foreach base,$(RSS_DST_BASES),$(foreach lang,$(LANGUAGES),$(base).$(lang).rss)) all: $(RSS_DST_FILES) $(OUTPUTDIR)/%.ar.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.ar.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ar.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ar.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.bg.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.bg.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.bg.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.bg.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.bs.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.bs.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.bs.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.bs.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.ca.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.ca.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ca.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ca.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.cs.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.cs.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.cs.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.cs.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.da.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.da.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.da.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.da.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.de.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.de.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.de.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.de.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.el.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.el.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.el.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.el.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.en.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.en.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.en.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.en.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.es.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.es.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.es.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.es.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.et.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.et.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.et.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.et.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.fa.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.fa.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.fa.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fa.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.fi.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.fi.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.fi.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fi.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.fr.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.fr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.fr.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fr.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.hr.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.hr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.hr.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.hr.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.hu.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.hu.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.hu.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.hu.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.it.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.it.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.it.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.it.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.ja.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.ja.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ja.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ja.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.mk.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.mk.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.mk.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.mk.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.nb.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.nb.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.nb.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nb.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.nl.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.nl.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.nl.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nl.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.nn.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.nn.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.nn.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nn.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.pl.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.pl.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.pl.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.pl.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.pt.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.pt.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.pt.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.pt.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.ro.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.ro.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ro.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ro.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.ru.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.ru.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ru.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ru.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.sk.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.sk.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sk.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sk.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.sl.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.sl.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sl.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sl.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.sq.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.sq.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sq.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sq.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.sr.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.sr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sr.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sr.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.sv.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.sv.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sv.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sv.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.tr.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.tr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.tr.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.tr.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.uk.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.uk.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.uk.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.uk.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" $(OUTPUTDIR)/%.zh.rss: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.rss.xsl $(INPUTDIR)/global/data/texts/.texts.zh.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.zh.rss" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.zh.xhtml" "$(INPUTDIR)/$*.rss.xsl" > "$@" # ----------------------------------------------------------------------------- # Build .ics files from .xhtml sources # ----------------------------------------------------------------------------- # All .ics.xsl scripts which can create .ics output ICS_SRC_SCRIPTS := $(shell find "$(INPUTDIR)" -name '*.ics.xsl' -not -path '$(INPUTDIR)/.git/*' ) # All basenames of .xhtml source files from which .ics files should be built ICS_SRC_BASES := $(sort $(basename $(basename $(ICS_SRC_SCRIPTS)))) # The same as above, but moved to the output directory ICS_DST_BASES := $(patsubst $(INPUTDIR)/%,$(OUTPUTDIR)/%,$(ICS_SRC_BASES)) # List of .<lang>.ics files to build ICS_DST_FILES := $(foreach base,$(ICS_DST_BASES),$(foreach lang,$(LANGUAGES),$(base).$(lang).ics)) all: $(ICS_DST_FILES) $(OUTPUTDIR)/%.ar.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.ar.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ar.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ar.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.bg.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.bg.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.bg.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.bg.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.bs.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.bs.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.bs.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.bs.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.ca.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.ca.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ca.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ca.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.cs.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.cs.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.cs.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.cs.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.da.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.da.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.da.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.da.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.de.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.de.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.de.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.de.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.el.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.el.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.el.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.el.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.en.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.en.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.en.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.en.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.es.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.es.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.es.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.es.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.et.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.et.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.et.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.et.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.fa.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.fa.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.fa.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fa.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.fi.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.fi.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.fi.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fi.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.fr.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.fr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.fr.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.fr.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.hr.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.hr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.hr.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.hr.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.hu.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.hu.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.hu.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.hu.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.it.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.it.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.it.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.it.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.ja.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.ja.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ja.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ja.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.mk.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.mk.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.mk.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.mk.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.nb.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.nb.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.nb.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nb.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.nl.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.nl.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.nl.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nl.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.nn.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.nn.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.nn.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.nn.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.pl.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.pl.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.pl.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.pl.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.pt.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.pt.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.pt.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.pt.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.ro.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.ro.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ro.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ro.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.ru.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.ru.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.ru.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.ru.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.sk.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.sk.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sk.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sk.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.sl.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.sl.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sl.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sl.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.sq.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.sq.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sq.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sq.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.sr.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.sr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sr.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sr.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.sv.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.sv.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.sv.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.sv.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.tr.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.tr.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.tr.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.tr.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.uk.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.uk.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.uk.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.uk.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" $(OUTPUTDIR)/%.zh.ics: $(INPUTDIR)/%.*.xhtml $$(XMLLIST_DEP) $(INPUTDIR)/%.ics.xsl $(INPUTDIR)/global/data/texts/.texts.zh.xml $(INPUTDIR)/global/data/texts/texts.en.xml echo "* Building $*.zh.ics" ${PROCESSOR} ${PROCFLAGS} process_file "$(INPUTDIR)/$*.zh.xhtml" "$(INPUTDIR)/$*.ics.xsl" > "$@" # ----------------------------------------------------------------------------- # Copy images, docments etc # ----------------------------------------------------------------------------- # All files which should just be copied over COPY_SRC_FILES := $(shell find -L "$(INPUTDIR)" -type f -regex "$(INPUTDIR)/[a-z\.]+\.[a-z]+/.*" -not -name '.drone.yml' -not -name '.gitignore' -not -name 'README*' -not -name 'Makefile' -not -name '*.sources' -not -name "*.xmllist" -not -name '*.xhtml' -not -name '*.xml' -not -name '*.xsl' -not -name '*.nix' ) $(INPUTDIR)/fsfe.org/order/data/items.en.xml # The same as above, but moved to the output directory COPY_DST_FILES := $(sort $(patsubst $(INPUTDIR)/%,$(OUTPUTDIR)/%,$(COPY_SRC_FILES))) all: $(COPY_DST_FILES) $(COPY_DST_FILES): $(OUTPUTDIR)/%: $(INPUTDIR)/% echo "* Copying file $*" rsync -l "$<" "$@" # ----------------------------------------------------------------------------- # Clean up excess files in target directory # ----------------------------------------------------------------------------- ALL_DST := $(HTML_DST_FILES) $(INDEX_DST_LINKS) $(HTML_DST_LINKS) $(RSS_DST_FILES) $(ICS_DST_FILES) $(COPY_DST_FILES) $(SOURCE_DST_FILES) .PHONY: clean all: clean clean: # Write all destination filenames into "manifest" file, one per line $(file >$(STATUSDIR)/manifest) $(foreach filename,$(ALL_DST),$(file >>$(STATUSDIR)/manifest,$(filename))) sort "$(STATUSDIR)/manifest" > "$(STATUSDIR)/manifest.sorted" find -L "$(OUTPUTDIR)" -type f -path "$(STATUSDIR)" -prune \ | sort \ | diff - "$(STATUSDIR)/manifest.sorted" \ | sed -rn 's;^< ;;p' \ | while read file; do echo "* Deleting $${file}"; rm "$${file}"; done # -----------------------------------------------------------------------------
Phase 2: 1 minute 18 seconds
[15:20:08] Starting phase 2 [15:20:14] * Building fsfe.org/activities/publiccode/publiccode.ar.html [15:20:14] * Building fsfe.org/activities/publiccode/publiccode.bg.html [15:20:14] * Building fsfe.org/activities/publiccode/publiccode.bs.html [15:20:14] * Building fsfe.org/activities/publiccode/publiccode.ca.html [15:20:15] * Building fsfe.org/activities/publiccode/publiccode.cs.html [15:20:15] * Building fsfe.org/activities/publiccode/publiccode.da.html [15:20:15] * Building fsfe.org/activities/publiccode/publiccode.de.html [15:20:15] * Building fsfe.org/activities/publiccode/publiccode.el.html [15:20:16] * Building fsfe.org/activities/publiccode/publiccode.en.html [15:20:16] * Building fsfe.org/activities/publiccode/publiccode.es.html [15:20:16] * Building fsfe.org/activities/publiccode/publiccode.et.html [15:20:16] * Building fsfe.org/activities/publiccode/publiccode.fa.html [15:20:17] * Building fsfe.org/activities/publiccode/publiccode.fi.html [15:20:17] * Building fsfe.org/activities/publiccode/publiccode.fr.html [15:20:17] * Building fsfe.org/activities/publiccode/publiccode.hr.html [15:20:17] * Building fsfe.org/activities/publiccode/publiccode.hu.html [15:20:18] * Building fsfe.org/activities/publiccode/publiccode.it.html [15:20:18] * Building fsfe.org/activities/publiccode/publiccode.ja.html [15:20:18] * Building fsfe.org/activities/publiccode/publiccode.mk.html [15:20:18] * Building fsfe.org/activities/publiccode/publiccode.nb.html [15:20:19] * Building fsfe.org/activities/publiccode/publiccode.nl.html [15:20:19] * Building fsfe.org/activities/publiccode/publiccode.nn.html [15:20:19] * Building fsfe.org/activities/publiccode/publiccode.pl.html [15:20:19] * Building fsfe.org/activities/publiccode/publiccode.pt.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.ro.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.ru.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.sk.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.sl.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.sq.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.sr.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.sv.html [15:20:20] * Building fsfe.org/activities/publiccode/publiccode.tr.html [15:20:21] * Building fsfe.org/activities/publiccode/publiccode.uk.html [15:20:21] * Building fsfe.org/activities/publiccode/publiccode.zh.html [15:20:22] * Building fsfe.org/index.ar.html [15:20:22] * Building fsfe.org/index.bg.html [15:20:23] * Building fsfe.org/index.bs.html [15:20:23] * Building fsfe.org/index.ca.html [15:20:24] * Building fsfe.org/index.cs.html [15:20:24] * Building fsfe.org/index.da.html [15:20:24] * Building fsfe.org/index.de.html [15:20:24] * Building fsfe.org/index.el.html [15:20:25] * Building fsfe.org/index.en.html [15:20:25] * Building fsfe.org/index.es.html [15:20:26] * Building fsfe.org/index.et.html [15:20:26] * Building fsfe.org/index.fa.html [15:20:27] * Building fsfe.org/index.fi.html [15:20:27] * Building fsfe.org/index.fr.html [15:20:28] * Building fsfe.org/index.hr.html [15:20:28] * Building fsfe.org/index.hu.html [15:20:29] * Building fsfe.org/index.it.html [15:20:29] * Building fsfe.org/index.ja.html [15:20:30] * Building fsfe.org/index.mk.html [15:20:30] * Building fsfe.org/index.nb.html [15:20:31] * Building fsfe.org/index.nl.html [15:20:31] * Building fsfe.org/index.nn.html [15:20:32] * Building fsfe.org/index.pl.html [15:20:32] * Building fsfe.org/index.pt.html [15:20:33] * Building fsfe.org/index.ro.html [15:20:33] * Building fsfe.org/index.ru.html [15:20:33] * Building fsfe.org/index.sk.html [15:20:33] * Building fsfe.org/index.sl.html [15:20:34] * Building fsfe.org/index.sq.html [15:20:34] * Building fsfe.org/index.sr.html [15:20:35] * Building fsfe.org/index.sv.html [15:20:35] * Building fsfe.org/index.tr.html [15:20:36] * Building fsfe.org/index.uk.html [15:20:36] * Building fsfe.org/index.zh.html [15:20:37] * Building fsfe.org/news/news.ar.html [15:20:37] * Building fsfe.org/news/news.bg.html [15:20:38] * Building fsfe.org/news/news.bs.html [15:20:38] * Building fsfe.org/news/news.ca.html [15:20:38] * Building fsfe.org/news/news.cs.html [15:20:39] * Building fsfe.org/news/news.da.html [15:20:39] * Building fsfe.org/news/news.de.html [15:20:40] * Building fsfe.org/news/news.el.html [15:20:40] * Building fsfe.org/news/news.en.html [15:20:40] * Building fsfe.org/news/news.es.html [15:20:40] * Building fsfe.org/news/news.et.html [15:20:41] * Building fsfe.org/news/news.fa.html [15:20:41] * Building fsfe.org/news/news.fi.html [15:20:41] * Building fsfe.org/news/news.fr.html [15:20:41] * Building fsfe.org/news/news.hr.html [15:20:42] * Building fsfe.org/news/news.hu.html [15:20:42] * Building fsfe.org/news/news.it.html [15:20:42] * Building fsfe.org/news/news.ja.html [15:20:42] * Building fsfe.org/news/news.mk.html [15:20:43] * Building fsfe.org/news/news.nb.html [15:20:43] * Building fsfe.org/news/news.nl.html [15:20:43] * Building fsfe.org/news/news.nn.html [15:20:44] * Building fsfe.org/news/news.pl.html [15:20:44] * Building fsfe.org/news/news.pt.html [15:20:44] * Building fsfe.org/news/news.ro.html [15:20:45] * Building fsfe.org/news/news.ru.html [15:20:45] * Building fsfe.org/news/news.sk.html [15:20:45] * Building fsfe.org/news/news.sl.html [15:20:46] * Building fsfe.org/news/news.sq.html [15:20:46] * Building fsfe.org/news/news.sr.html [15:20:46] * Building fsfe.org/news/news.sv.html [15:20:47] * Building fsfe.org/news/news.tr.html [15:20:47] * Building fsfe.org/news/news.uk.html [15:20:47] * Building fsfe.org/news/news.zh.html [15:20:47] * Building fsfe.org/news/podcast.ar.html [15:20:48] * Building fsfe.org/news/podcast.bg.html [15:20:48] * Building fsfe.org/news/podcast.bs.html [15:20:48] * Building fsfe.org/news/podcast.ca.html [15:20:48] * Building fsfe.org/news/podcast.cs.html [15:20:48] * Building fsfe.org/news/podcast.da.html [15:20:48] * Building fsfe.org/news/podcast.de.html [15:20:48] * Building fsfe.org/news/podcast.el.html [15:20:48] * Building fsfe.org/news/podcast.en.html [15:20:48] * Building fsfe.org/news/podcast.es.html [15:20:48] * Building fsfe.org/news/podcast.et.html [15:20:49] * Building fsfe.org/news/podcast.fa.html [15:20:49] * Building fsfe.org/news/podcast.fi.html [15:20:49] * Building fsfe.org/news/podcast.fr.html [15:20:49] * Building fsfe.org/news/podcast.hr.html [15:20:49] * Building fsfe.org/news/podcast.hu.html [15:20:49] * Building fsfe.org/news/podcast.it.html [15:20:49] * Building fsfe.org/news/podcast.ja.html [15:20:49] * Building fsfe.org/news/podcast.mk.html [15:20:49] * Building fsfe.org/news/podcast.nb.html [15:20:49] * Building fsfe.org/news/podcast.nl.html [15:20:49] * Building fsfe.org/news/podcast.nn.html [15:20:49] * Building fsfe.org/news/podcast.pl.html [15:20:49] * Building fsfe.org/news/podcast.pt.html [15:20:49] * Building fsfe.org/news/podcast.ro.html [15:20:49] * Building fsfe.org/news/podcast.ru.html [15:20:50] * Building fsfe.org/news/podcast.sk.html [15:20:50] * Building fsfe.org/news/podcast.sl.html [15:20:50] * Building fsfe.org/news/podcast.sq.html [15:20:50] * Building fsfe.org/news/podcast.sr.html [15:20:50] * Building fsfe.org/news/podcast.sv.html [15:20:50] * Building fsfe.org/news/podcast.tr.html [15:20:50] * Building fsfe.org/news/podcast.uk.html [15:20:50] * Building fsfe.org/news/podcast.zh.html [15:20:50] * Building fsfe.org/news/podcast-opus.ar.html [15:20:50] * Building fsfe.org/news/podcast-opus.bg.html [15:20:50] * Building fsfe.org/news/podcast-opus.bs.html [15:20:50] * Building fsfe.org/news/podcast-opus.ca.html [15:20:50] * Building fsfe.org/news/podcast-opus.cs.html [15:20:50] * Building fsfe.org/news/podcast-opus.da.html [15:20:50] * Building fsfe.org/news/podcast-opus.de.html [15:20:50] * Building fsfe.org/news/podcast-opus.el.html [15:20:51] * Building fsfe.org/news/podcast-opus.en.html [15:20:51] * Building fsfe.org/news/podcast-opus.es.html [15:20:51] * Building fsfe.org/news/podcast-opus.et.html [15:20:51] * Building fsfe.org/news/podcast-opus.fa.html [15:20:51] * Building fsfe.org/news/podcast-opus.fi.html [15:20:51] * Building fsfe.org/news/podcast-opus.fr.html [15:20:51] * Building fsfe.org/news/podcast-opus.hr.html [15:20:51] * Building fsfe.org/news/podcast-opus.hu.html [15:20:51] * Building fsfe.org/news/podcast-opus.it.html [15:20:51] * Building fsfe.org/news/podcast-opus.ja.html [15:20:51] * Building fsfe.org/news/podcast-opus.mk.html [15:20:51] * Building fsfe.org/news/podcast-opus.nb.html [15:20:51] * Building fsfe.org/news/podcast-opus.nl.html [15:20:51] * Building fsfe.org/news/podcast-opus.nn.html [15:20:51] * Building fsfe.org/news/podcast-opus.pl.html [15:20:51] * Building fsfe.org/news/podcast-opus.pt.html [15:20:52] * Building fsfe.org/news/podcast-opus.ro.html [15:20:52] * Building fsfe.org/news/podcast-opus.ru.html [15:20:52] * Building fsfe.org/news/podcast-opus.sk.html [15:20:52] * Building fsfe.org/news/podcast-opus.sl.html [15:20:52] * Building fsfe.org/news/podcast-opus.sq.html [15:20:52] * Building fsfe.org/news/podcast-opus.sr.html [15:20:52] * Building fsfe.org/news/podcast-opus.sv.html [15:20:52] * Building fsfe.org/news/podcast-opus.tr.html [15:20:52] * Building fsfe.org/news/podcast-opus.uk.html [15:20:52] * Building fsfe.org/news/podcast-opus.zh.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.ar.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.bg.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.bs.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.ca.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.cs.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.da.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.de.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.el.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.en.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.es.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.et.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.fa.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.fi.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.fr.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.hr.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.hu.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.it.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.ja.html [15:20:52] * Building fsfe.org/news/podcast/episode-26.mk.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.nb.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.nl.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.nn.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.pl.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.pt.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.ro.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.ru.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.sk.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.sl.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.sq.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.sr.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.sv.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.tr.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.uk.html [15:20:53] * Building fsfe.org/news/podcast/episode-26.zh.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.ar.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.bg.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.bs.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.ca.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.cs.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.da.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.de.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.el.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.en.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.es.html [15:20:53] * Building fsfe.org/tags/tagged-highlights.et.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.fa.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.fi.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.fr.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.hr.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.hu.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.it.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.ja.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.mk.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.nb.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.nl.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.nn.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.pl.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.pt.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.ro.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.ru.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.sk.html [15:20:54] * Building fsfe.org/tags/tagged-highlights.sl.html [15:20:55] * Building fsfe.org/tags/tagged-highlights.sq.html [15:20:55] * Building fsfe.org/tags/tagged-highlights.sr.html [15:20:55] * Building fsfe.org/tags/tagged-highlights.sv.html [15:20:55] * Building fsfe.org/tags/tagged-highlights.tr.html [15:20:55] * Building fsfe.org/tags/tagged-highlights.uk.html [15:20:55] * Building fsfe.org/tags/tagged-highlights.zh.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.ar.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.bg.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.bs.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.ca.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.cs.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.da.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.de.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.el.html [15:20:55] * Building fsfe.org/tags/tagged-ngi.en.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.es.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.et.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.fa.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.fi.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.fr.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.hr.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.hu.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.it.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.ja.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.mk.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.nb.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.nl.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.nn.html [15:20:56] * Building fsfe.org/tags/tagged-ngi.pl.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.pt.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.ro.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.ru.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.sk.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.sl.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.sq.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.sr.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.sv.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.tr.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.uk.html [15:20:57] * Building fsfe.org/tags/tagged-ngi.zh.html [15:20:57] * Building fsfe.org/tags/tagged-pmpc.ar.html [15:20:58] * Building fsfe.org/tags/tagged-pmpc.bg.html [15:20:58] * Building fsfe.org/tags/tagged-pmpc.bs.html [15:20:58] * Building fsfe.org/tags/tagged-pmpc.ca.html [15:20:58] * Building fsfe.org/tags/tagged-pmpc.cs.html [15:20:58] * Building fsfe.org/tags/tagged-pmpc.da.html [15:20:58] * Building fsfe.org/tags/tagged-pmpc.de.html [15:20:58] * Building fsfe.org/tags/tagged-pmpc.el.html [15:20:59] * Building fsfe.org/tags/tagged-pmpc.en.html [15:20:59] * Building fsfe.org/tags/tagged-pmpc.es.html [15:20:59] * Building fsfe.org/tags/tagged-pmpc.et.html [15:20:59] * Building fsfe.org/tags/tagged-pmpc.fa.html [15:21:00] * Building fsfe.org/tags/tagged-pmpc.fi.html [15:21:00] * Building fsfe.org/tags/tagged-pmpc.fr.html [15:21:00] * Building fsfe.org/tags/tagged-pmpc.hr.html [15:21:00] * Building fsfe.org/tags/tagged-pmpc.hu.html [15:21:01] * Building fsfe.org/tags/tagged-pmpc.it.html [15:21:01] * Building fsfe.org/tags/tagged-pmpc.ja.html [15:21:01] * Building fsfe.org/tags/tagged-pmpc.mk.html [15:21:01] * Building fsfe.org/tags/tagged-pmpc.nb.html [15:21:02] * Building fsfe.org/tags/tagged-pmpc.nl.html [15:21:02] * Building fsfe.org/tags/tagged-pmpc.nn.html [15:21:02] * Building fsfe.org/tags/tagged-pmpc.pl.html [15:21:02] * Building fsfe.org/tags/tagged-pmpc.pt.html [15:21:03] * Building fsfe.org/tags/tagged-pmpc.ro.html [15:21:03] * Building fsfe.org/tags/tagged-pmpc.ru.html [15:21:03] * Building fsfe.org/tags/tagged-pmpc.sk.html [15:21:03] * Building fsfe.org/tags/tagged-pmpc.sl.html [15:21:04] * Building fsfe.org/tags/tagged-pmpc.sq.html [15:21:04] * Building fsfe.org/tags/tagged-pmpc.sr.html [15:21:04] * Building fsfe.org/tags/tagged-pmpc.sv.html [15:21:04] * Building fsfe.org/tags/tagged-pmpc.tr.html [15:21:04] * Building fsfe.org/tags/tagged-pmpc.uk.html [15:21:05] * Building fsfe.org/tags/tagged-pmpc.zh.html [15:21:05] * Building fsfe.org/tags/tagged-podcast.ar.html [15:21:05] * Building fsfe.org/tags/tagged-podcast.bg.html [15:21:05] * Building fsfe.org/tags/tagged-podcast.bs.html [15:21:05] * Building fsfe.org/tags/tagged-podcast.ca.html [15:21:05] * Building fsfe.org/tags/tagged-podcast.cs.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.da.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.de.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.el.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.en.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.es.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.et.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.fa.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.fi.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.fr.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.hr.html [15:21:06] * Building fsfe.org/tags/tagged-podcast.hu.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.it.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.ja.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.mk.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.nb.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.nl.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.nn.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.pl.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.pt.html [15:21:07] * Building fsfe.org/tags/tagged-podcast.ro.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.ru.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.sk.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.sl.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.sq.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.sr.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.sv.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.tr.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.uk.html [15:21:08] * Building fsfe.org/tags/tagged-podcast.zh.html [15:21:09] * Building fsfe.org/news/news.ar.rss [15:21:09] * Building fsfe.org/news/news.bg.rss [15:21:09] * Building fsfe.org/news/news.bs.rss [15:21:10] * Building fsfe.org/news/news.ca.rss [15:21:10] * Building fsfe.org/news/news.cs.rss [15:21:10] * Building fsfe.org/news/news.da.rss [15:21:10] * Building fsfe.org/news/news.de.rss [15:21:11] * Building fsfe.org/news/news.el.rss [15:21:11] * Building fsfe.org/news/news.en.rss [15:21:11] * Building fsfe.org/news/news.es.rss [15:21:11] * Building fsfe.org/news/news.et.rss [15:21:12] * Building fsfe.org/news/news.fa.rss [15:21:12] * Building fsfe.org/news/news.fi.rss [15:21:12] * Building fsfe.org/news/news.fr.rss [15:21:12] * Building fsfe.org/news/news.hr.rss [15:21:13] * Building fsfe.org/news/news.hu.rss [15:21:14] * Building fsfe.org/news/news.it.rss [15:21:14] * Building fsfe.org/news/news.ja.rss [15:21:14] * Building fsfe.org/news/news.mk.rss [15:21:14] * Building fsfe.org/news/news.nb.rss [15:21:15] * Building fsfe.org/news/news.nl.rss [15:21:15] * Building fsfe.org/news/news.nn.rss [15:21:15] * Building fsfe.org/news/news.pl.rss [15:21:15] * Building fsfe.org/news/news.pt.rss [15:21:16] * Building fsfe.org/news/news.ro.rss [15:21:16] * Building fsfe.org/news/news.ru.rss [15:21:16] * Building fsfe.org/news/news.sk.rss [15:21:16] * Building fsfe.org/news/news.sl.rss [15:21:17] * Building fsfe.org/news/news.sq.rss [15:21:17] * Building fsfe.org/news/news.sr.rss [15:21:17] * Building fsfe.org/news/news.sv.rss [15:21:17] * Building fsfe.org/news/news.tr.rss [15:21:18] * Building fsfe.org/news/news.uk.rss [15:21:18] * Building fsfe.org/news/news.zh.rss [15:21:18] * Building fsfe.org/news/podcast.ar.rss [15:21:18] * Building fsfe.org/news/podcast.bg.rss [15:21:18] * Building fsfe.org/news/podcast.bs.rss [15:21:18] * Building fsfe.org/news/podcast.ca.rss [15:21:18] * Building fsfe.org/news/podcast.cs.rss [15:21:19] * Building fsfe.org/news/podcast.da.rss [15:21:19] * Building fsfe.org/news/podcast.de.rss [15:21:19] * Building fsfe.org/news/podcast.el.rss [15:21:19] * Building fsfe.org/news/podcast.en.rss [15:21:19] * Building fsfe.org/news/podcast.es.rss [15:21:19] * Building fsfe.org/news/podcast.et.rss [15:21:19] * Building fsfe.org/news/podcast.fa.rss [15:21:19] * Building fsfe.org/news/podcast.fi.rss [15:21:19] * Building fsfe.org/news/podcast.fr.rss [15:21:19] * Building fsfe.org/news/podcast.hr.rss [15:21:20] * Building fsfe.org/news/podcast.hu.rss [15:21:20] * Building fsfe.org/news/podcast.it.rss [15:21:20] * Building fsfe.org/news/podcast.ja.rss [15:21:20] * Building fsfe.org/news/podcast.mk.rss [15:21:20] * Building fsfe.org/news/podcast.nb.rss [15:21:20] * Building fsfe.org/news/podcast.nl.rss [15:21:20] * Building fsfe.org/news/podcast.nn.rss [15:21:20] * Building fsfe.org/news/podcast.pl.rss [15:21:20] * Building fsfe.org/news/podcast.pt.rss [15:21:20] * Building fsfe.org/news/podcast.ro.rss [15:21:20] * Building fsfe.org/news/podcast.ru.rss [15:21:20] * Building fsfe.org/news/podcast.sk.rss [15:21:20] * Building fsfe.org/news/podcast.sl.rss [15:21:20] * Building fsfe.org/news/podcast.sq.rss [15:21:20] * Building fsfe.org/news/podcast.sr.rss [15:21:20] * Building fsfe.org/news/podcast.sv.rss [15:21:21] * Building fsfe.org/news/podcast.tr.rss [15:21:21] * Building fsfe.org/news/podcast.uk.rss [15:21:21] * Building fsfe.org/news/podcast.zh.rss [15:21:21] * Building fsfe.org/news/podcast-opus.ar.rss [15:21:21] * Building fsfe.org/news/podcast-opus.bg.rss [15:21:21] * Building fsfe.org/news/podcast-opus.bs.rss [15:21:21] * Building fsfe.org/news/podcast-opus.ca.rss [15:21:21] * Building fsfe.org/news/podcast-opus.cs.rss [15:21:21] * Building fsfe.org/news/podcast-opus.da.rss [15:21:21] * Building fsfe.org/news/podcast-opus.de.rss [15:21:21] * Building fsfe.org/news/podcast-opus.el.rss [15:21:21] * Building fsfe.org/news/podcast-opus.en.rss [15:21:21] * Building fsfe.org/news/podcast-opus.es.rss [15:21:21] * Building fsfe.org/news/podcast-opus.et.rss [15:21:21] * Building fsfe.org/news/podcast-opus.fa.rss [15:21:21] * Building fsfe.org/news/podcast-opus.fi.rss [15:21:22] * Building fsfe.org/news/podcast-opus.fr.rss [15:21:22] * Building fsfe.org/news/podcast-opus.hr.rss [15:21:22] * Building fsfe.org/news/podcast-opus.hu.rss [15:21:22] * Building fsfe.org/news/podcast-opus.it.rss [15:21:22] * Building fsfe.org/news/podcast-opus.ja.rss [15:21:22] * Building fsfe.org/news/podcast-opus.mk.rss [15:21:22] * Building fsfe.org/news/podcast-opus.nb.rss [15:21:22] * Building fsfe.org/news/podcast-opus.nl.rss [15:21:22] * Building fsfe.org/news/podcast-opus.nn.rss [15:21:22] * Building fsfe.org/news/podcast-opus.pl.rss [15:21:22] * Building fsfe.org/news/podcast-opus.pt.rss [15:21:22] * Building fsfe.org/news/podcast-opus.ro.rss [15:21:22] * Building fsfe.org/news/podcast-opus.ru.rss [15:21:22] * Building fsfe.org/news/podcast-opus.sk.rss [15:21:22] * Building fsfe.org/news/podcast-opus.sl.rss [15:21:22] * Building fsfe.org/news/podcast-opus.sq.rss [15:21:23] * Building fsfe.org/news/podcast-opus.sr.rss [15:21:23] * Building fsfe.org/news/podcast-opus.sv.rss [15:21:23] * Building fsfe.org/news/podcast-opus.tr.rss [15:21:23] * Building fsfe.org/news/podcast-opus.uk.rss [15:21:23] * Building fsfe.org/news/podcast-opus.zh.rss [15:21:24] * Copying file fsfe.org/search/index.js [15:21:26] Finishing phase 2
Target update: 1343 updated files
[15:21:26] Syncing files to bunsen.fsfeurope.org [15:21:28] sending incremental file list [15:21:28] fsfe.org/index.ar.html [15:21:28] fsfe.org/index.bg.html [15:21:28] fsfe.org/index.bs.html [15:21:28] fsfe.org/index.ca.html [15:21:28] fsfe.org/index.cs.html [15:21:28] fsfe.org/index.da.html [15:21:28] fsfe.org/index.de.html [15:21:28] fsfe.org/index.el.html [15:21:28] fsfe.org/index.en.html [15:21:28] fsfe.org/index.es.html [15:21:28] fsfe.org/index.et.html [15:21:28] fsfe.org/index.fa.html [15:21:28] fsfe.org/index.fi.html [15:21:28] fsfe.org/index.fr.html [15:21:28] fsfe.org/index.hr.html [15:21:28] fsfe.org/index.hu.html [15:21:28] fsfe.org/index.it.html [15:21:28] fsfe.org/index.ja.html [15:21:28] fsfe.org/index.mk.html [15:21:28] fsfe.org/index.nb.html [15:21:28] fsfe.org/index.nl.html [15:21:28] fsfe.org/index.nn.html [15:21:28] fsfe.org/index.pl.html [15:21:28] fsfe.org/index.pt.html [15:21:28] fsfe.org/index.ro.html [15:21:28] fsfe.org/index.ru.html [15:21:28] fsfe.org/index.sk.html [15:21:28] fsfe.org/index.sl.html [15:21:28] fsfe.org/index.sq.html [15:21:28] fsfe.org/index.sr.html [15:21:28] fsfe.org/index.sv.html [15:21:28] fsfe.org/index.tr.html [15:21:28] fsfe.org/index.uk.html [15:21:28] fsfe.org/index.zh.html [15:21:28] fsfe.org/activities/publiccode/publiccode.ar.html [15:21:28] fsfe.org/activities/publiccode/publiccode.bg.html [15:21:28] fsfe.org/activities/publiccode/publiccode.bs.html [15:21:28] fsfe.org/activities/publiccode/publiccode.ca.html [15:21:28] fsfe.org/activities/publiccode/publiccode.cs.html [15:21:28] fsfe.org/activities/publiccode/publiccode.da.html [15:21:28] fsfe.org/activities/publiccode/publiccode.de.html [15:21:28] fsfe.org/activities/publiccode/publiccode.el.html [15:21:28] fsfe.org/activities/publiccode/publiccode.en.html [15:21:28] fsfe.org/activities/publiccode/publiccode.es.html [15:21:28] fsfe.org/activities/publiccode/publiccode.et.html [15:21:28] fsfe.org/activities/publiccode/publiccode.fa.html [15:21:28] fsfe.org/activities/publiccode/publiccode.fi.html [15:21:28] fsfe.org/activities/publiccode/publiccode.fr.html [15:21:28] fsfe.org/activities/publiccode/publiccode.hr.html [15:21:28] fsfe.org/activities/publiccode/publiccode.hu.html [15:21:28] fsfe.org/activities/publiccode/publiccode.it.html [15:21:28] fsfe.org/activities/publiccode/publiccode.ja.html [15:21:28] fsfe.org/activities/publiccode/publiccode.mk.html [15:21:28] fsfe.org/activities/publiccode/publiccode.nb.html [15:21:28] fsfe.org/activities/publiccode/publiccode.nl.html [15:21:28] fsfe.org/activities/publiccode/publiccode.nn.html [15:21:28] fsfe.org/activities/publiccode/publiccode.pl.html [15:21:28] fsfe.org/activities/publiccode/publiccode.pt.html [15:21:28] fsfe.org/activities/publiccode/publiccode.ro.html [15:21:28] fsfe.org/activities/publiccode/publiccode.ru.html [15:21:28] fsfe.org/activities/publiccode/publiccode.sk.html [15:21:28] fsfe.org/activities/publiccode/publiccode.sl.html [15:21:28] fsfe.org/activities/publiccode/publiccode.sq.html [15:21:28] fsfe.org/activities/publiccode/publiccode.sr.html [15:21:28] fsfe.org/activities/publiccode/publiccode.sv.html [15:21:28] fsfe.org/activities/publiccode/publiccode.tr.html [15:21:28] fsfe.org/activities/publiccode/publiccode.uk.html [15:21:28] fsfe.org/activities/publiccode/publiccode.zh.html [15:21:28] fsfe.org/news/news.ar.html [15:21:28] fsfe.org/news/news.ar.rss [15:21:28] fsfe.org/news/news.bg.html [15:21:28] fsfe.org/news/news.bg.rss [15:21:28] fsfe.org/news/news.bs.html [15:21:28] fsfe.org/news/news.bs.rss [15:21:28] fsfe.org/news/news.ca.html [15:21:28] fsfe.org/news/news.ca.rss [15:21:28] fsfe.org/news/news.cs.html [15:21:28] fsfe.org/news/news.cs.rss [15:21:28] fsfe.org/news/news.da.html [15:21:28] fsfe.org/news/news.da.rss [15:21:28] fsfe.org/news/news.de.html [15:21:28] fsfe.org/news/news.de.rss [15:21:28] fsfe.org/news/news.el.html [15:21:28] fsfe.org/news/news.el.rss [15:21:28] fsfe.org/news/news.en.html [15:21:28] fsfe.org/news/news.en.rss [15:21:28] fsfe.org/news/news.es.html [15:21:28] fsfe.org/news/news.es.rss [15:21:28] fsfe.org/news/news.et.html [15:21:28] fsfe.org/news/news.et.rss [15:21:28] fsfe.org/news/news.fa.html [15:21:28] fsfe.org/news/news.fa.rss [15:21:28] fsfe.org/news/news.fi.html [15:21:28] fsfe.org/news/news.fi.rss [15:21:28] fsfe.org/news/news.fr.html [15:21:28] fsfe.org/news/news.fr.rss [15:21:28] fsfe.org/news/news.hr.html [15:21:28] fsfe.org/news/news.hr.rss [15:21:28] fsfe.org/news/news.hu.html [15:21:28] fsfe.org/news/news.hu.rss [15:21:28] fsfe.org/news/news.it.html [15:21:28] fsfe.org/news/news.it.rss [15:21:28] fsfe.org/news/news.ja.html [15:21:28] fsfe.org/news/news.ja.rss [15:21:28] fsfe.org/news/news.mk.html [15:21:28] fsfe.org/news/news.mk.rss [15:21:28] fsfe.org/news/news.nb.html [15:21:28] fsfe.org/news/news.nb.rss [15:21:28] fsfe.org/news/news.nl.html [15:21:28] fsfe.org/news/news.nl.rss [15:21:28] fsfe.org/news/news.nn.html [15:21:28] fsfe.org/news/news.nn.rss [15:21:28] fsfe.org/news/news.pl.html [15:21:28] fsfe.org/news/news.pl.rss [15:21:28] fsfe.org/news/news.pt.html [15:21:28] fsfe.org/news/news.pt.rss [15:21:28] fsfe.org/news/news.ro.html [15:21:28] fsfe.org/news/news.ro.rss [15:21:28] fsfe.org/news/news.ru.html [15:21:28] fsfe.org/news/news.ru.rss [15:21:28] fsfe.org/news/news.sk.html [15:21:28] fsfe.org/news/news.sk.rss [15:21:28] fsfe.org/news/news.sl.html [15:21:28] fsfe.org/news/news.sl.rss [15:21:28] fsfe.org/news/news.sq.html [15:21:28] fsfe.org/news/news.sq.rss [15:21:28] fsfe.org/news/news.sr.html [15:21:28] fsfe.org/news/news.sr.rss [15:21:28] fsfe.org/news/news.sv.html [15:21:28] fsfe.org/news/news.sv.rss [15:21:28] fsfe.org/news/news.tr.html [15:21:28] fsfe.org/news/news.tr.rss [15:21:28] fsfe.org/news/news.uk.html [15:21:28] fsfe.org/news/news.uk.rss [15:21:28] fsfe.org/news/news.zh.html [15:21:28] fsfe.org/news/news.zh.rss [15:21:28] fsfe.org/news/podcast-opus.ar.html [15:21:28] fsfe.org/news/podcast-opus.ar.rss [15:21:28] fsfe.org/news/podcast-opus.bg.html [15:21:28] fsfe.org/news/podcast-opus.bg.rss [15:21:28] fsfe.org/news/podcast-opus.bs.html [15:21:28] fsfe.org/news/podcast-opus.bs.rss [15:21:28] fsfe.org/news/podcast-opus.ca.html [15:21:28] fsfe.org/news/podcast-opus.ca.rss [15:21:28] fsfe.org/news/podcast-opus.cs.html [15:21:28] fsfe.org/news/podcast-opus.cs.rss [15:21:28] fsfe.org/news/podcast-opus.da.html [15:21:28] fsfe.org/news/podcast-opus.da.rss [15:21:28] fsfe.org/news/podcast-opus.de.html [15:21:28] fsfe.org/news/podcast-opus.de.rss [15:21:28] fsfe.org/news/podcast-opus.el.html [15:21:28] fsfe.org/news/podcast-opus.el.rss [15:21:28] fsfe.org/news/podcast-opus.en.html [15:21:28] fsfe.org/news/podcast-opus.en.rss [15:21:28] fsfe.org/news/podcast-opus.es.html [15:21:28] fsfe.org/news/podcast-opus.es.rss [15:21:28] fsfe.org/news/podcast-opus.et.html [15:21:28] fsfe.org/news/podcast-opus.et.rss [15:21:28] fsfe.org/news/podcast-opus.fa.html [15:21:28] fsfe.org/news/podcast-opus.fa.rss [15:21:28] fsfe.org/news/podcast-opus.fi.html [15:21:28] fsfe.org/news/podcast-opus.fi.rss [15:21:28] fsfe.org/news/podcast-opus.fr.html [15:21:28] fsfe.org/news/podcast-opus.fr.rss [15:21:28] fsfe.org/news/podcast-opus.hr.html [15:21:28] fsfe.org/news/podcast-opus.hr.rss [15:21:28] fsfe.org/news/podcast-opus.hu.html [15:21:28] fsfe.org/news/podcast-opus.hu.rss [15:21:28] fsfe.org/news/podcast-opus.it.html [15:21:28] fsfe.org/news/podcast-opus.it.rss [15:21:28] fsfe.org/news/podcast-opus.ja.html [15:21:28] fsfe.org/news/podcast-opus.ja.rss [15:21:28] fsfe.org/news/podcast-opus.mk.html [15:21:28] fsfe.org/news/podcast-opus.mk.rss [15:21:28] fsfe.org/news/podcast-opus.nb.html [15:21:28] fsfe.org/news/podcast-opus.nb.rss [15:21:28] fsfe.org/news/podcast-opus.nl.html [15:21:28] fsfe.org/news/podcast-opus.nl.rss [15:21:28] fsfe.org/news/podcast-opus.nn.html [15:21:28] fsfe.org/news/podcast-opus.nn.rss [15:21:28] fsfe.org/news/podcast-opus.pl.html [15:21:28] fsfe.org/news/podcast-opus.pl.rss [15:21:28] fsfe.org/news/podcast-opus.pt.html [15:21:28] fsfe.org/news/podcast-opus.pt.rss [15:21:28] fsfe.org/news/podcast-opus.ro.html [15:21:28] fsfe.org/news/podcast-opus.ro.rss [15:21:28] fsfe.org/news/podcast-opus.ru.html [15:21:28] fsfe.org/news/podcast-opus.ru.rss [15:21:28] fsfe.org/news/podcast-opus.sk.html [15:21:28] fsfe.org/news/podcast-opus.sk.rss [15:21:28] fsfe.org/news/podcast-opus.sl.html [15:21:28] fsfe.org/news/podcast-opus.sl.rss [15:21:28] fsfe.org/news/podcast-opus.sq.html [15:21:28] fsfe.org/news/podcast-opus.sq.rss [15:21:28] fsfe.org/news/podcast-opus.sr.html [15:21:28] fsfe.org/news/podcast-opus.sr.rss [15:21:28] fsfe.org/news/podcast-opus.sv.html [15:21:28] fsfe.org/news/podcast-opus.sv.rss [15:21:28] fsfe.org/news/podcast-opus.tr.html [15:21:28] fsfe.org/news/podcast-opus.tr.rss [15:21:28] fsfe.org/news/podcast-opus.uk.html [15:21:28] fsfe.org/news/podcast-opus.uk.rss [15:21:28] fsfe.org/news/podcast-opus.zh.html [15:21:28] fsfe.org/news/podcast-opus.zh.rss [15:21:28] fsfe.org/news/podcast.ar.html [15:21:28] fsfe.org/news/podcast.ar.rss [15:21:28] fsfe.org/news/podcast.bg.html [15:21:28] fsfe.org/news/podcast.bg.rss [15:21:28] fsfe.org/news/podcast.bs.html [15:21:28] fsfe.org/news/podcast.bs.rss [15:21:28] fsfe.org/news/podcast.ca.html [15:21:28] fsfe.org/news/podcast.ca.rss [15:21:28] fsfe.org/news/podcast.cs.html [15:21:28] fsfe.org/news/podcast.cs.rss [15:21:28] fsfe.org/news/podcast.da.html [15:21:28] fsfe.org/news/podcast.da.rss [15:21:28] fsfe.org/news/podcast.de.html [15:21:28] fsfe.org/news/podcast.de.rss [15:21:28] fsfe.org/news/podcast.el.html [15:21:28] fsfe.org/news/podcast.el.rss [15:21:28] fsfe.org/news/podcast.en.html [15:21:28] fsfe.org/news/podcast.en.rss [15:21:28] fsfe.org/news/podcast.es.html [15:21:28] fsfe.org/news/podcast.es.rss [15:21:28] fsfe.org/news/podcast.et.html [15:21:28] fsfe.org/news/podcast.et.rss [15:21:28] fsfe.org/news/podcast.fa.html [15:21:28] fsfe.org/news/podcast.fa.rss [15:21:28] fsfe.org/news/podcast.fi.html [15:21:28] fsfe.org/news/podcast.fi.rss [15:21:28] fsfe.org/news/podcast.fr.html [15:21:28] fsfe.org/news/podcast.fr.rss [15:21:28] fsfe.org/news/podcast.hr.html [15:21:28] fsfe.org/news/podcast.hr.rss [15:21:28] fsfe.org/news/podcast.hu.html [15:21:28] fsfe.org/news/podcast.hu.rss [15:21:28] fsfe.org/news/podcast.it.html [15:21:28] fsfe.org/news/podcast.it.rss [15:21:28] fsfe.org/news/podcast.ja.html [15:21:28] fsfe.org/news/podcast.ja.rss [15:21:28] fsfe.org/news/podcast.mk.html [15:21:28] fsfe.org/news/podcast.mk.rss [15:21:28] fsfe.org/news/podcast.nb.html [15:21:28] fsfe.org/news/podcast.nb.rss [15:21:28] fsfe.org/news/podcast.nl.html [15:21:28] fsfe.org/news/podcast.nl.rss [15:21:28] fsfe.org/news/podcast.nn.html [15:21:28] fsfe.org/news/podcast.nn.rss [15:21:28] fsfe.org/news/podcast.pl.html [15:21:28] fsfe.org/news/podcast.pl.rss [15:21:28] fsfe.org/news/podcast.pt.html [15:21:28] fsfe.org/news/podcast.pt.rss [15:21:28] fsfe.org/news/podcast.ro.html [15:21:28] fsfe.org/news/podcast.ro.rss [15:21:28] fsfe.org/news/podcast.ru.html [15:21:31] fsfe.org/news/podcast.ru.rss [15:21:31] fsfe.org/news/podcast.sk.html [15:21:31] fsfe.org/news/podcast.sk.rss [15:21:31] fsfe.org/news/podcast.sl.html [15:21:31] fsfe.org/news/podcast.sl.rss [15:21:31] fsfe.org/news/podcast.sq.html [15:21:31] fsfe.org/news/podcast.sq.rss [15:21:31] fsfe.org/news/podcast.sr.html [15:21:31] fsfe.org/news/podcast.sr.rss [15:21:31] fsfe.org/news/podcast.sv.html [15:21:31] fsfe.org/news/podcast.sv.rss [15:21:31] fsfe.org/news/podcast.tr.html [15:21:31] fsfe.org/news/podcast.tr.rss [15:21:31] fsfe.org/news/podcast.uk.html [15:21:31] fsfe.org/news/podcast.uk.rss [15:21:31] fsfe.org/news/podcast.zh.html [15:21:31] fsfe.org/news/podcast.zh.rss [15:21:31] fsfe.org/news/podcast/episode-26.ar.html [15:21:31] fsfe.org/news/podcast/episode-26.bg.html [15:21:31] fsfe.org/news/podcast/episode-26.bs.html [15:21:31] fsfe.org/news/podcast/episode-26.ca.html [15:21:31] fsfe.org/news/podcast/episode-26.cs.html [15:21:31] fsfe.org/news/podcast/episode-26.da.html [15:21:31] fsfe.org/news/podcast/episode-26.de.html [15:21:31] fsfe.org/news/podcast/episode-26.el.html [15:21:31] fsfe.org/news/podcast/episode-26.en.html [15:21:31] fsfe.org/news/podcast/episode-26.es.html [15:21:31] fsfe.org/news/podcast/episode-26.et.html [15:21:31] fsfe.org/news/podcast/episode-26.fa.html [15:21:31] fsfe.org/news/podcast/episode-26.fi.html [15:21:31] fsfe.org/news/podcast/episode-26.fr.html [15:21:31] fsfe.org/news/podcast/episode-26.hr.html [15:21:31] fsfe.org/news/podcast/episode-26.hu.html [15:21:31] fsfe.org/news/podcast/episode-26.it.html [15:21:31] fsfe.org/news/podcast/episode-26.ja.html [15:21:31] fsfe.org/news/podcast/episode-26.mk.html [15:21:31] fsfe.org/news/podcast/episode-26.nb.html [15:21:31] fsfe.org/news/podcast/episode-26.nl.html [15:21:31] fsfe.org/news/podcast/episode-26.nn.html [15:21:31] fsfe.org/news/podcast/episode-26.pl.html [15:21:31] fsfe.org/news/podcast/episode-26.pt.html [15:21:31] fsfe.org/news/podcast/episode-26.ro.html [15:21:31] fsfe.org/news/podcast/episode-26.ru.html [15:21:31] fsfe.org/news/podcast/episode-26.sk.html [15:21:31] fsfe.org/news/podcast/episode-26.sl.html [15:21:31] fsfe.org/news/podcast/episode-26.sq.html [15:21:31] fsfe.org/news/podcast/episode-26.sr.html [15:21:31] fsfe.org/news/podcast/episode-26.sv.html [15:21:31] fsfe.org/news/podcast/episode-26.tr.html [15:21:31] fsfe.org/news/podcast/episode-26.uk.html [15:21:31] fsfe.org/news/podcast/episode-26.zh.html [15:21:31] fsfe.org/search/ [15:21:31] fsfe.org/search/index.js [15:21:31] fsfe.org/tags/tagged-highlights.ar.html [15:21:31] fsfe.org/tags/tagged-highlights.bg.html [15:21:31] fsfe.org/tags/tagged-highlights.bs.html [15:21:31] fsfe.org/tags/tagged-highlights.ca.html [15:21:31] fsfe.org/tags/tagged-highlights.cs.html [15:21:31] fsfe.org/tags/tagged-highlights.da.html [15:21:31] fsfe.org/tags/tagged-highlights.de.html [15:21:31] fsfe.org/tags/tagged-highlights.el.html [15:21:31] fsfe.org/tags/tagged-highlights.en.html [15:21:31] fsfe.org/tags/tagged-highlights.es.html [15:21:31] fsfe.org/tags/tagged-highlights.et.html [15:21:31] fsfe.org/tags/tagged-highlights.fa.html [15:21:31] fsfe.org/tags/tagged-highlights.fi.html [15:21:31] fsfe.org/tags/tagged-highlights.fr.html [15:21:31] fsfe.org/tags/tagged-highlights.hr.html [15:21:31] fsfe.org/tags/tagged-highlights.hu.html [15:21:31] fsfe.org/tags/tagged-highlights.it.html [15:21:31] fsfe.org/tags/tagged-highlights.ja.html [15:21:31] fsfe.org/tags/tagged-highlights.mk.html [15:21:31] fsfe.org/tags/tagged-highlights.nb.html [15:21:31] fsfe.org/tags/tagged-highlights.nl.html [15:21:31] fsfe.org/tags/tagged-highlights.nn.html [15:21:31] fsfe.org/tags/tagged-highlights.pl.html [15:21:31] fsfe.org/tags/tagged-highlights.pt.html [15:21:31] fsfe.org/tags/tagged-highlights.ro.html [15:21:31] fsfe.org/tags/tagged-highlights.ru.html [15:21:31] fsfe.org/tags/tagged-highlights.sk.html [15:21:31] fsfe.org/tags/tagged-highlights.sl.html [15:21:31] fsfe.org/tags/tagged-highlights.sq.html [15:21:31] fsfe.org/tags/tagged-highlights.sr.html [15:21:31] fsfe.org/tags/tagged-highlights.sv.html [15:21:31] fsfe.org/tags/tagged-highlights.tr.html [15:21:31] fsfe.org/tags/tagged-highlights.uk.html [15:21:31] fsfe.org/tags/tagged-highlights.zh.html [15:21:31] fsfe.org/tags/tagged-ngi.ar.html [15:21:31] fsfe.org/tags/tagged-ngi.bg.html [15:21:31] fsfe.org/tags/tagged-ngi.bs.html [15:21:31] fsfe.org/tags/tagged-ngi.ca.html [15:21:31] fsfe.org/tags/tagged-ngi.cs.html [15:21:31] fsfe.org/tags/tagged-ngi.da.html [15:21:31] fsfe.org/tags/tagged-ngi.de.html [15:21:31] fsfe.org/tags/tagged-ngi.el.html [15:21:31] fsfe.org/tags/tagged-ngi.en.html [15:21:31] fsfe.org/tags/tagged-ngi.es.html [15:21:31] fsfe.org/tags/tagged-ngi.et.html [15:21:31] fsfe.org/tags/tagged-ngi.fa.html [15:21:31] fsfe.org/tags/tagged-ngi.fi.html [15:21:31] fsfe.org/tags/tagged-ngi.fr.html [15:21:31] fsfe.org/tags/tagged-ngi.hr.html [15:21:31] fsfe.org/tags/tagged-ngi.hu.html [15:21:31] fsfe.org/tags/tagged-ngi.it.html [15:21:31] fsfe.org/tags/tagged-ngi.ja.html [15:21:31] fsfe.org/tags/tagged-ngi.mk.html [15:21:31] fsfe.org/tags/tagged-ngi.nb.html [15:21:31] fsfe.org/tags/tagged-ngi.nl.html [15:21:31] fsfe.org/tags/tagged-ngi.nn.html [15:21:31] fsfe.org/tags/tagged-ngi.pl.html [15:21:31] fsfe.org/tags/tagged-ngi.pt.html [15:21:31] fsfe.org/tags/tagged-ngi.ro.html [15:21:31] fsfe.org/tags/tagged-ngi.ru.html [15:21:31] fsfe.org/tags/tagged-ngi.sk.html [15:21:31] fsfe.org/tags/tagged-ngi.sl.html [15:21:31] fsfe.org/tags/tagged-ngi.sq.html [15:21:31] fsfe.org/tags/tagged-ngi.sr.html [15:21:31] fsfe.org/tags/tagged-ngi.sv.html [15:21:31] fsfe.org/tags/tagged-ngi.tr.html [15:21:31] fsfe.org/tags/tagged-ngi.uk.html [15:21:31] fsfe.org/tags/tagged-ngi.zh.html [15:21:31] fsfe.org/tags/tagged-pmpc.ar.html [15:21:31] fsfe.org/tags/tagged-pmpc.bg.html [15:21:31] fsfe.org/tags/tagged-pmpc.bs.html [15:21:31] fsfe.org/tags/tagged-pmpc.ca.html [15:21:31] fsfe.org/tags/tagged-pmpc.cs.html [15:21:31] fsfe.org/tags/tagged-pmpc.da.html [15:21:31] fsfe.org/tags/tagged-pmpc.de.html [15:21:31] fsfe.org/tags/tagged-pmpc.el.html [15:21:31] fsfe.org/tags/tagged-pmpc.en.html [15:21:31] fsfe.org/tags/tagged-pmpc.es.html [15:21:31] fsfe.org/tags/tagged-pmpc.et.html [15:21:31] fsfe.org/tags/tagged-pmpc.fa.html [15:21:31] fsfe.org/tags/tagged-pmpc.fi.html [15:21:31] fsfe.org/tags/tagged-pmpc.fr.html [15:21:31] fsfe.org/tags/tagged-pmpc.hr.html [15:21:31] fsfe.org/tags/tagged-pmpc.hu.html [15:21:31] fsfe.org/tags/tagged-pmpc.it.html [15:21:31] fsfe.org/tags/tagged-pmpc.ja.html [15:21:31] fsfe.org/tags/tagged-pmpc.mk.html [15:21:31] fsfe.org/tags/tagged-pmpc.nb.html [15:21:31] fsfe.org/tags/tagged-pmpc.nl.html [15:21:31] fsfe.org/tags/tagged-pmpc.nn.html [15:21:31] fsfe.org/tags/tagged-pmpc.pl.html [15:21:31] fsfe.org/tags/tagged-pmpc.pt.html [15:21:31] fsfe.org/tags/tagged-pmpc.ro.html [15:21:31] fsfe.org/tags/tagged-pmpc.ru.html [15:21:31] fsfe.org/tags/tagged-pmpc.sk.html [15:21:31] fsfe.org/tags/tagged-pmpc.sl.html [15:21:31] fsfe.org/tags/tagged-pmpc.sq.html [15:21:31] fsfe.org/tags/tagged-pmpc.sr.html [15:21:31] fsfe.org/tags/tagged-pmpc.sv.html [15:21:31] fsfe.org/tags/tagged-pmpc.tr.html [15:21:31] fsfe.org/tags/tagged-pmpc.uk.html [15:21:31] fsfe.org/tags/tagged-pmpc.zh.html [15:21:31] fsfe.org/tags/tagged-podcast.ar.html [15:21:31] fsfe.org/tags/tagged-podcast.bg.html [15:21:31] fsfe.org/tags/tagged-podcast.bs.html [15:21:31] fsfe.org/tags/tagged-podcast.ca.html [15:21:31] fsfe.org/tags/tagged-podcast.cs.html [15:21:31] fsfe.org/tags/tagged-podcast.da.html [15:21:31] fsfe.org/tags/tagged-podcast.de.html [15:21:31] fsfe.org/tags/tagged-podcast.el.html [15:21:31] fsfe.org/tags/tagged-podcast.en.html [15:21:31] fsfe.org/tags/tagged-podcast.es.html [15:21:31] fsfe.org/tags/tagged-podcast.et.html [15:21:31] fsfe.org/tags/tagged-podcast.fa.html [15:21:31] fsfe.org/tags/tagged-podcast.fi.html [15:21:31] fsfe.org/tags/tagged-podcast.fr.html [15:21:31] fsfe.org/tags/tagged-podcast.hr.html [15:21:31] fsfe.org/tags/tagged-podcast.hu.html [15:21:31] fsfe.org/tags/tagged-podcast.it.html [15:21:31] fsfe.org/tags/tagged-podcast.ja.html [15:21:31] fsfe.org/tags/tagged-podcast.mk.html [15:21:31] fsfe.org/tags/tagged-podcast.nb.html [15:21:31] fsfe.org/tags/tagged-podcast.nl.html [15:21:31] fsfe.org/tags/tagged-podcast.nn.html [15:21:31] fsfe.org/tags/tagged-podcast.pl.html [15:21:31] fsfe.org/tags/tagged-podcast.pt.html [15:21:31] fsfe.org/tags/tagged-podcast.ro.html [15:21:31] fsfe.org/tags/tagged-podcast.ru.html [15:21:31] fsfe.org/tags/tagged-podcast.sk.html [15:21:31] fsfe.org/tags/tagged-podcast.sl.html [15:21:31] fsfe.org/tags/tagged-podcast.sq.html [15:21:31] fsfe.org/tags/tagged-podcast.sr.html [15:21:31] fsfe.org/tags/tagged-podcast.sv.html [15:21:31] fsfe.org/tags/tagged-podcast.tr.html [15:21:31] fsfe.org/tags/tagged-podcast.uk.html [15:21:31] fsfe.org/tags/tagged-podcast.zh.html [15:21:31] [15:21:31] sent 8,692,431 bytes received 239,829 bytes 1,624,047.27 bytes/sec [15:21:31] total size is 1,539,104,251 speedup is 172.31 [15:21:31] Syncing files to noddack.fsfeurope.org [15:21:32] sending incremental file list [15:21:32] fsfe.org/index.ar.html [15:21:32] fsfe.org/index.bg.html [15:21:32] fsfe.org/index.bs.html [15:21:32] fsfe.org/index.ca.html [15:21:32] fsfe.org/index.cs.html [15:21:32] fsfe.org/index.da.html [15:21:32] fsfe.org/index.de.html [15:21:32] fsfe.org/index.el.html [15:21:32] fsfe.org/index.en.html [15:21:32] fsfe.org/index.es.html [15:21:32] fsfe.org/index.et.html [15:21:32] fsfe.org/index.fa.html [15:21:32] fsfe.org/index.fi.html [15:21:32] fsfe.org/index.fr.html [15:21:32] fsfe.org/index.hr.html [15:21:32] fsfe.org/index.hu.html [15:21:32] fsfe.org/index.it.html [15:21:32] fsfe.org/index.ja.html [15:21:32] fsfe.org/index.mk.html [15:21:32] fsfe.org/index.nb.html [15:21:32] fsfe.org/index.nl.html [15:21:32] fsfe.org/index.nn.html [15:21:32] fsfe.org/index.pl.html [15:21:32] fsfe.org/index.pt.html [15:21:32] fsfe.org/index.ro.html [15:21:32] fsfe.org/index.ru.html [15:21:32] fsfe.org/index.sk.html [15:21:32] fsfe.org/index.sl.html [15:21:32] fsfe.org/index.sq.html [15:21:32] fsfe.org/index.sr.html [15:21:32] fsfe.org/index.sv.html [15:21:32] fsfe.org/index.tr.html [15:21:32] fsfe.org/index.uk.html [15:21:32] fsfe.org/index.zh.html [15:21:32] fsfe.org/activities/publiccode/publiccode.ar.html [15:21:32] fsfe.org/activities/publiccode/publiccode.bg.html [15:21:32] fsfe.org/activities/publiccode/publiccode.bs.html [15:21:32] fsfe.org/activities/publiccode/publiccode.ca.html [15:21:32] fsfe.org/activities/publiccode/publiccode.cs.html [15:21:32] fsfe.org/activities/publiccode/publiccode.da.html [15:21:32] fsfe.org/activities/publiccode/publiccode.de.html [15:21:32] fsfe.org/activities/publiccode/publiccode.el.html [15:21:32] fsfe.org/activities/publiccode/publiccode.en.html [15:21:32] fsfe.org/activities/publiccode/publiccode.es.html [15:21:32] fsfe.org/activities/publiccode/publiccode.et.html [15:21:32] fsfe.org/activities/publiccode/publiccode.fa.html [15:21:32] fsfe.org/activities/publiccode/publiccode.fi.html [15:21:32] fsfe.org/activities/publiccode/publiccode.fr.html [15:21:32] fsfe.org/activities/publiccode/publiccode.hr.html [15:21:32] fsfe.org/activities/publiccode/publiccode.hu.html [15:21:32] fsfe.org/activities/publiccode/publiccode.it.html [15:21:32] fsfe.org/activities/publiccode/publiccode.ja.html [15:21:32] fsfe.org/activities/publiccode/publiccode.mk.html [15:21:32] fsfe.org/activities/publiccode/publiccode.nb.html [15:21:32] fsfe.org/activities/publiccode/publiccode.nl.html [15:21:32] fsfe.org/activities/publiccode/publiccode.nn.html [15:21:32] fsfe.org/activities/publiccode/publiccode.pl.html [15:21:32] fsfe.org/activities/publiccode/publiccode.pt.html [15:21:32] fsfe.org/activities/publiccode/publiccode.ro.html [15:21:32] fsfe.org/activities/publiccode/publiccode.ru.html [15:21:32] fsfe.org/activities/publiccode/publiccode.sk.html [15:21:32] fsfe.org/activities/publiccode/publiccode.sl.html [15:21:32] fsfe.org/activities/publiccode/publiccode.sq.html [15:21:32] fsfe.org/activities/publiccode/publiccode.sr.html [15:21:32] fsfe.org/activities/publiccode/publiccode.sv.html [15:21:32] fsfe.org/activities/publiccode/publiccode.tr.html [15:21:32] fsfe.org/activities/publiccode/publiccode.uk.html [15:21:32] fsfe.org/activities/publiccode/publiccode.zh.html [15:21:32] fsfe.org/news/news.ar.html [15:21:32] fsfe.org/news/news.ar.rss [15:21:32] fsfe.org/news/news.bg.html [15:21:32] fsfe.org/news/news.bg.rss [15:21:32] fsfe.org/news/news.bs.html [15:21:32] fsfe.org/news/news.bs.rss [15:21:32] fsfe.org/news/news.ca.html [15:21:32] fsfe.org/news/news.ca.rss [15:21:32] fsfe.org/news/news.cs.html [15:21:32] fsfe.org/news/news.cs.rss [15:21:32] fsfe.org/news/news.da.html [15:21:32] fsfe.org/news/news.da.rss [15:21:32] fsfe.org/news/news.de.html [15:21:32] fsfe.org/news/news.de.rss [15:21:32] fsfe.org/news/news.el.html [15:21:32] fsfe.org/news/news.el.rss [15:21:32] fsfe.org/news/news.en.html [15:21:32] fsfe.org/news/news.en.rss [15:21:32] fsfe.org/news/news.es.html [15:21:32] fsfe.org/news/news.es.rss [15:21:32] fsfe.org/news/news.et.html [15:21:32] fsfe.org/news/news.et.rss [15:21:32] fsfe.org/news/news.fa.html [15:21:32] fsfe.org/news/news.fa.rss [15:21:32] fsfe.org/news/news.fi.html [15:21:32] fsfe.org/news/news.fi.rss [15:21:32] fsfe.org/news/news.fr.html [15:21:32] fsfe.org/news/news.fr.rss [15:21:32] fsfe.org/news/news.hr.html [15:21:32] fsfe.org/news/news.hr.rss [15:21:32] fsfe.org/news/news.hu.html [15:21:32] fsfe.org/news/news.hu.rss [15:21:32] fsfe.org/news/news.it.html [15:21:32] fsfe.org/news/news.it.rss [15:21:32] fsfe.org/news/news.ja.html [15:21:32] fsfe.org/news/news.ja.rss [15:21:32] fsfe.org/news/news.mk.html [15:21:32] fsfe.org/news/news.mk.rss [15:21:32] fsfe.org/news/news.nb.html [15:21:32] fsfe.org/news/news.nb.rss [15:21:32] fsfe.org/news/news.nl.html [15:21:32] fsfe.org/news/news.nl.rss [15:21:32] fsfe.org/news/news.nn.html [15:21:32] fsfe.org/news/news.nn.rss [15:21:32] fsfe.org/news/news.pl.html [15:21:32] fsfe.org/news/news.pl.rss [15:21:32] fsfe.org/news/news.pt.html [15:21:32] fsfe.org/news/news.pt.rss [15:21:32] fsfe.org/news/news.ro.html [15:21:32] fsfe.org/news/news.ro.rss [15:21:32] fsfe.org/news/news.ru.html [15:21:32] fsfe.org/news/news.ru.rss [15:21:32] fsfe.org/news/news.sk.html [15:21:32] fsfe.org/news/news.sk.rss [15:21:32] fsfe.org/news/news.sl.html [15:21:32] fsfe.org/news/news.sl.rss [15:21:32] fsfe.org/news/news.sq.html [15:21:32] fsfe.org/news/news.sq.rss [15:21:32] fsfe.org/news/news.sr.html [15:21:32] fsfe.org/news/news.sr.rss [15:21:32] fsfe.org/news/news.sv.html [15:21:32] fsfe.org/news/news.sv.rss [15:21:32] fsfe.org/news/news.tr.html [15:21:32] fsfe.org/news/news.tr.rss [15:21:32] fsfe.org/news/news.uk.html [15:21:32] fsfe.org/news/news.uk.rss [15:21:32] fsfe.org/news/news.zh.html [15:21:32] fsfe.org/news/news.zh.rss [15:21:32] fsfe.org/news/podcast-opus.ar.html [15:21:32] fsfe.org/news/podcast-opus.ar.rss [15:21:32] fsfe.org/news/podcast-opus.bg.html [15:21:32] fsfe.org/news/podcast-opus.bg.rss [15:21:32] fsfe.org/news/podcast-opus.bs.html [15:21:32] fsfe.org/news/podcast-opus.bs.rss [15:21:32] fsfe.org/news/podcast-opus.ca.html [15:21:32] fsfe.org/news/podcast-opus.ca.rss [15:21:32] fsfe.org/news/podcast-opus.cs.html [15:21:32] fsfe.org/news/podcast-opus.cs.rss [15:21:32] fsfe.org/news/podcast-opus.da.html [15:21:32] fsfe.org/news/podcast-opus.da.rss [15:21:32] fsfe.org/news/podcast-opus.de.html [15:21:32] fsfe.org/news/podcast-opus.de.rss [15:21:32] fsfe.org/news/podcast-opus.el.html [15:21:32] fsfe.org/news/podcast-opus.el.rss [15:21:32] fsfe.org/news/podcast-opus.en.html [15:21:32] fsfe.org/news/podcast-opus.en.rss [15:21:32] fsfe.org/news/podcast-opus.es.html [15:21:32] fsfe.org/news/podcast-opus.es.rss [15:21:32] fsfe.org/news/podcast-opus.et.html [15:21:32] fsfe.org/news/podcast-opus.et.rss [15:21:32] fsfe.org/news/podcast-opus.fa.html [15:21:32] fsfe.org/news/podcast-opus.fa.rss [15:21:32] fsfe.org/news/podcast-opus.fi.html [15:21:32] fsfe.org/news/podcast-opus.fi.rss [15:21:32] fsfe.org/news/podcast-opus.fr.html [15:21:32] fsfe.org/news/podcast-opus.fr.rss [15:21:32] fsfe.org/news/podcast-opus.hr.html [15:21:32] fsfe.org/news/podcast-opus.hr.rss [15:21:32] fsfe.org/news/podcast-opus.hu.html [15:21:32] fsfe.org/news/podcast-opus.hu.rss [15:21:32] fsfe.org/news/podcast-opus.it.html [15:21:32] fsfe.org/news/podcast-opus.it.rss [15:21:32] fsfe.org/news/podcast-opus.ja.html [15:21:32] fsfe.org/news/podcast-opus.ja.rss [15:21:32] fsfe.org/news/podcast-opus.mk.html [15:21:32] fsfe.org/news/podcast-opus.mk.rss [15:21:32] fsfe.org/news/podcast-opus.nb.html [15:21:32] fsfe.org/news/podcast-opus.nb.rss [15:21:32] fsfe.org/news/podcast-opus.nl.html [15:21:32] fsfe.org/news/podcast-opus.nl.rss [15:21:32] fsfe.org/news/podcast-opus.nn.html [15:21:32] fsfe.org/news/podcast-opus.nn.rss [15:21:32] fsfe.org/news/podcast-opus.pl.html [15:21:32] fsfe.org/news/podcast-opus.pl.rss [15:21:32] fsfe.org/news/podcast-opus.pt.html [15:21:32] fsfe.org/news/podcast-opus.pt.rss [15:21:32] fsfe.org/news/podcast-opus.ro.html [15:21:32] fsfe.org/news/podcast-opus.ro.rss [15:21:32] fsfe.org/news/podcast-opus.ru.html [15:21:32] fsfe.org/news/podcast-opus.ru.rss [15:21:32] fsfe.org/news/podcast-opus.sk.html [15:21:32] fsfe.org/news/podcast-opus.sk.rss [15:21:32] fsfe.org/news/podcast-opus.sl.html [15:21:32] fsfe.org/news/podcast-opus.sl.rss [15:21:32] fsfe.org/news/podcast-opus.sq.html [15:21:32] fsfe.org/news/podcast-opus.sq.rss [15:21:32] fsfe.org/news/podcast-opus.sr.html [15:21:32] fsfe.org/news/podcast-opus.sr.rss [15:21:32] fsfe.org/news/podcast-opus.sv.html [15:21:32] fsfe.org/news/podcast-opus.sv.rss [15:21:32] fsfe.org/news/podcast-opus.tr.html [15:21:32] fsfe.org/news/podcast-opus.tr.rss [15:21:32] fsfe.org/news/podcast-opus.uk.html [15:21:32] fsfe.org/news/podcast-opus.uk.rss [15:21:32] fsfe.org/news/podcast-opus.zh.html [15:21:32] fsfe.org/news/podcast-opus.zh.rss [15:21:32] fsfe.org/news/podcast.ar.html [15:21:32] fsfe.org/news/podcast.ar.rss [15:21:32] fsfe.org/news/podcast.bg.html [15:21:32] fsfe.org/news/podcast.bg.rss [15:21:32] fsfe.org/news/podcast.bs.html [15:21:32] fsfe.org/news/podcast.bs.rss [15:21:32] fsfe.org/news/podcast.ca.html [15:21:32] fsfe.org/news/podcast.ca.rss [15:21:32] fsfe.org/news/podcast.cs.html [15:21:32] fsfe.org/news/podcast.cs.rss [15:21:32] fsfe.org/news/podcast.da.html [15:21:32] fsfe.org/news/podcast.da.rss [15:21:32] fsfe.org/news/podcast.de.html [15:21:32] fsfe.org/news/podcast.de.rss [15:21:32] fsfe.org/news/podcast.el.html [15:21:32] fsfe.org/news/podcast.el.rss [15:21:32] fsfe.org/news/podcast.en.html [15:21:32] fsfe.org/news/podcast.en.rss [15:21:32] fsfe.org/news/podcast.es.html [15:21:32] fsfe.org/news/podcast.es.rss [15:21:32] fsfe.org/news/podcast.et.html [15:21:32] fsfe.org/news/podcast.et.rss [15:21:32] fsfe.org/news/podcast.fa.html [15:21:32] fsfe.org/news/podcast.fa.rss [15:21:32] fsfe.org/news/podcast.fi.html [15:21:32] fsfe.org/news/podcast.fi.rss [15:21:32] fsfe.org/news/podcast.fr.html [15:21:32] fsfe.org/news/podcast.fr.rss [15:21:32] fsfe.org/news/podcast.hr.html [15:21:32] fsfe.org/news/podcast.hr.rss [15:21:32] fsfe.org/news/podcast.hu.html [15:21:32] fsfe.org/news/podcast.hu.rss [15:21:32] fsfe.org/news/podcast.it.html [15:21:32] fsfe.org/news/podcast.it.rss [15:21:32] fsfe.org/news/podcast.ja.html [15:21:32] fsfe.org/news/podcast.ja.rss [15:21:32] fsfe.org/news/podcast.mk.html [15:21:32] fsfe.org/news/podcast.mk.rss [15:21:32] fsfe.org/news/podcast.nb.html [15:21:32] fsfe.org/news/podcast.nb.rss [15:21:32] fsfe.org/news/podcast.nl.html [15:21:32] fsfe.org/news/podcast.nl.rss [15:21:32] fsfe.org/news/podcast.nn.html [15:21:32] fsfe.org/news/podcast.nn.rss [15:21:32] fsfe.org/news/podcast.pl.html [15:21:32] fsfe.org/news/podcast.pl.rss [15:21:32] fsfe.org/news/podcast.pt.html [15:21:32] fsfe.org/news/podcast.pt.rss [15:21:32] fsfe.org/news/podcast.ro.html [15:21:32] fsfe.org/news/podcast.ro.rss [15:21:32] fsfe.org/news/podcast.ru.html [15:21:33] fsfe.org/news/podcast.ru.rss [15:21:33] fsfe.org/news/podcast.sk.html [15:21:33] fsfe.org/news/podcast.sk.rss [15:21:33] fsfe.org/news/podcast.sl.html [15:21:33] fsfe.org/news/podcast.sl.rss [15:21:33] fsfe.org/news/podcast.sq.html [15:21:33] fsfe.org/news/podcast.sq.rss [15:21:33] fsfe.org/news/podcast.sr.html [15:21:33] fsfe.org/news/podcast.sr.rss [15:21:33] fsfe.org/news/podcast.sv.html [15:21:33] fsfe.org/news/podcast.sv.rss [15:21:33] fsfe.org/news/podcast.tr.html [15:21:33] fsfe.org/news/podcast.tr.rss [15:21:33] fsfe.org/news/podcast.uk.html [15:21:33] fsfe.org/news/podcast.uk.rss [15:21:33] fsfe.org/news/podcast.zh.html [15:21:33] fsfe.org/news/podcast.zh.rss [15:21:33] fsfe.org/news/podcast/episode-26.ar.html [15:21:33] fsfe.org/news/podcast/episode-26.bg.html [15:21:33] fsfe.org/news/podcast/episode-26.bs.html [15:21:33] fsfe.org/news/podcast/episode-26.ca.html [15:21:33] fsfe.org/news/podcast/episode-26.cs.html [15:21:33] fsfe.org/news/podcast/episode-26.da.html [15:21:33] fsfe.org/news/podcast/episode-26.de.html [15:21:33] fsfe.org/news/podcast/episode-26.el.html [15:21:33] fsfe.org/news/podcast/episode-26.en.html [15:21:33] fsfe.org/news/podcast/episode-26.es.html [15:21:33] fsfe.org/news/podcast/episode-26.et.html [15:21:33] fsfe.org/news/podcast/episode-26.fa.html [15:21:33] fsfe.org/news/podcast/episode-26.fi.html [15:21:33] fsfe.org/news/podcast/episode-26.fr.html [15:21:33] fsfe.org/news/podcast/episode-26.hr.html [15:21:33] fsfe.org/news/podcast/episode-26.hu.html [15:21:33] fsfe.org/news/podcast/episode-26.it.html [15:21:33] fsfe.org/news/podcast/episode-26.ja.html [15:21:33] fsfe.org/news/podcast/episode-26.mk.html [15:21:33] fsfe.org/news/podcast/episode-26.nb.html [15:21:33] fsfe.org/news/podcast/episode-26.nl.html [15:21:33] fsfe.org/news/podcast/episode-26.nn.html [15:21:33] fsfe.org/news/podcast/episode-26.pl.html [15:21:33] fsfe.org/news/podcast/episode-26.pt.html [15:21:33] fsfe.org/news/podcast/episode-26.ro.html [15:21:33] fsfe.org/news/podcast/episode-26.ru.html [15:21:33] fsfe.org/news/podcast/episode-26.sk.html [15:21:33] fsfe.org/news/podcast/episode-26.sl.html [15:21:33] fsfe.org/news/podcast/episode-26.sq.html [15:21:33] fsfe.org/news/podcast/episode-26.sr.html [15:21:33] fsfe.org/news/podcast/episode-26.sv.html [15:21:33] fsfe.org/news/podcast/episode-26.tr.html [15:21:33] fsfe.org/news/podcast/episode-26.uk.html [15:21:33] fsfe.org/news/podcast/episode-26.zh.html [15:21:33] fsfe.org/search/ [15:21:33] fsfe.org/search/index.js [15:21:33] fsfe.org/tags/tagged-highlights.ar.html [15:21:33] fsfe.org/tags/tagged-highlights.bg.html [15:21:33] fsfe.org/tags/tagged-highlights.bs.html [15:21:33] fsfe.org/tags/tagged-highlights.ca.html [15:21:33] fsfe.org/tags/tagged-highlights.cs.html [15:21:33] fsfe.org/tags/tagged-highlights.da.html [15:21:33] fsfe.org/tags/tagged-highlights.de.html [15:21:33] fsfe.org/tags/tagged-highlights.el.html [15:21:33] fsfe.org/tags/tagged-highlights.en.html [15:21:33] fsfe.org/tags/tagged-highlights.es.html [15:21:33] fsfe.org/tags/tagged-highlights.et.html [15:21:33] fsfe.org/tags/tagged-highlights.fa.html [15:21:33] fsfe.org/tags/tagged-highlights.fi.html [15:21:33] fsfe.org/tags/tagged-highlights.fr.html [15:21:33] fsfe.org/tags/tagged-highlights.hr.html [15:21:33] fsfe.org/tags/tagged-highlights.hu.html [15:21:33] fsfe.org/tags/tagged-highlights.it.html [15:21:33] fsfe.org/tags/tagged-highlights.ja.html [15:21:33] fsfe.org/tags/tagged-highlights.mk.html [15:21:33] fsfe.org/tags/tagged-highlights.nb.html [15:21:33] fsfe.org/tags/tagged-highlights.nl.html [15:21:33] fsfe.org/tags/tagged-highlights.nn.html [15:21:33] fsfe.org/tags/tagged-highlights.pl.html [15:21:33] fsfe.org/tags/tagged-highlights.pt.html [15:21:33] fsfe.org/tags/tagged-highlights.ro.html [15:21:33] fsfe.org/tags/tagged-highlights.ru.html [15:21:33] fsfe.org/tags/tagged-highlights.sk.html [15:21:33] fsfe.org/tags/tagged-highlights.sl.html [15:21:33] fsfe.org/tags/tagged-highlights.sq.html [15:21:33] fsfe.org/tags/tagged-highlights.sr.html [15:21:33] fsfe.org/tags/tagged-highlights.sv.html [15:21:33] fsfe.org/tags/tagged-highlights.tr.html [15:21:33] fsfe.org/tags/tagged-highlights.uk.html [15:21:33] fsfe.org/tags/tagged-highlights.zh.html [15:21:33] fsfe.org/tags/tagged-ngi.ar.html [15:21:33] fsfe.org/tags/tagged-ngi.bg.html [15:21:33] fsfe.org/tags/tagged-ngi.bs.html [15:21:33] fsfe.org/tags/tagged-ngi.ca.html [15:21:33] fsfe.org/tags/tagged-ngi.cs.html [15:21:33] fsfe.org/tags/tagged-ngi.da.html [15:21:33] fsfe.org/tags/tagged-ngi.de.html [15:21:33] fsfe.org/tags/tagged-ngi.el.html [15:21:33] fsfe.org/tags/tagged-ngi.en.html [15:21:33] fsfe.org/tags/tagged-ngi.es.html [15:21:33] fsfe.org/tags/tagged-ngi.et.html [15:21:33] fsfe.org/tags/tagged-ngi.fa.html [15:21:33] fsfe.org/tags/tagged-ngi.fi.html [15:21:33] fsfe.org/tags/tagged-ngi.fr.html [15:21:33] fsfe.org/tags/tagged-ngi.hr.html [15:21:33] fsfe.org/tags/tagged-ngi.hu.html [15:21:33] fsfe.org/tags/tagged-ngi.it.html [15:21:33] fsfe.org/tags/tagged-ngi.ja.html [15:21:33] fsfe.org/tags/tagged-ngi.mk.html [15:21:33] fsfe.org/tags/tagged-ngi.nb.html [15:21:33] fsfe.org/tags/tagged-ngi.nl.html [15:21:33] fsfe.org/tags/tagged-ngi.nn.html [15:21:33] fsfe.org/tags/tagged-ngi.pl.html [15:21:33] fsfe.org/tags/tagged-ngi.pt.html [15:21:33] fsfe.org/tags/tagged-ngi.ro.html [15:21:33] fsfe.org/tags/tagged-ngi.ru.html [15:21:33] fsfe.org/tags/tagged-ngi.sk.html [15:21:33] fsfe.org/tags/tagged-ngi.sl.html [15:21:33] fsfe.org/tags/tagged-ngi.sq.html [15:21:33] fsfe.org/tags/tagged-ngi.sr.html [15:21:33] fsfe.org/tags/tagged-ngi.sv.html [15:21:33] fsfe.org/tags/tagged-ngi.tr.html [15:21:33] fsfe.org/tags/tagged-ngi.uk.html [15:21:33] fsfe.org/tags/tagged-ngi.zh.html [15:21:33] fsfe.org/tags/tagged-pmpc.ar.html [15:21:33] fsfe.org/tags/tagged-pmpc.bg.html [15:21:33] fsfe.org/tags/tagged-pmpc.bs.html [15:21:33] fsfe.org/tags/tagged-pmpc.ca.html [15:21:33] fsfe.org/tags/tagged-pmpc.cs.html [15:21:33] fsfe.org/tags/tagged-pmpc.da.html [15:21:33] fsfe.org/tags/tagged-pmpc.de.html [15:21:33] fsfe.org/tags/tagged-pmpc.el.html [15:21:33] fsfe.org/tags/tagged-pmpc.en.html [15:21:33] fsfe.org/tags/tagged-pmpc.es.html [15:21:33] fsfe.org/tags/tagged-pmpc.et.html [15:21:33] fsfe.org/tags/tagged-pmpc.fa.html [15:21:33] fsfe.org/tags/tagged-pmpc.fi.html [15:21:33] fsfe.org/tags/tagged-pmpc.fr.html [15:21:33] fsfe.org/tags/tagged-pmpc.hr.html [15:21:33] fsfe.org/tags/tagged-pmpc.hu.html [15:21:33] fsfe.org/tags/tagged-pmpc.it.html [15:21:33] fsfe.org/tags/tagged-pmpc.ja.html [15:21:33] fsfe.org/tags/tagged-pmpc.mk.html [15:21:33] fsfe.org/tags/tagged-pmpc.nb.html [15:21:33] fsfe.org/tags/tagged-pmpc.nl.html [15:21:33] fsfe.org/tags/tagged-pmpc.nn.html [15:21:33] fsfe.org/tags/tagged-pmpc.pl.html [15:21:33] fsfe.org/tags/tagged-pmpc.pt.html [15:21:33] fsfe.org/tags/tagged-pmpc.ro.html [15:21:33] fsfe.org/tags/tagged-pmpc.ru.html [15:21:33] fsfe.org/tags/tagged-pmpc.sk.html [15:21:33] fsfe.org/tags/tagged-pmpc.sl.html [15:21:33] fsfe.org/tags/tagged-pmpc.sq.html [15:21:33] fsfe.org/tags/tagged-pmpc.sr.html [15:21:33] fsfe.org/tags/tagged-pmpc.sv.html [15:21:33] fsfe.org/tags/tagged-pmpc.tr.html [15:21:33] fsfe.org/tags/tagged-pmpc.uk.html [15:21:33] fsfe.org/tags/tagged-pmpc.zh.html [15:21:33] fsfe.org/tags/tagged-podcast.ar.html [15:21:33] fsfe.org/tags/tagged-podcast.bg.html [15:21:33] fsfe.org/tags/tagged-podcast.bs.html [15:21:33] fsfe.org/tags/tagged-podcast.ca.html [15:21:33] fsfe.org/tags/tagged-podcast.cs.html [15:21:33] fsfe.org/tags/tagged-podcast.da.html [15:21:33] fsfe.org/tags/tagged-podcast.de.html [15:21:33] fsfe.org/tags/tagged-podcast.el.html [15:21:33] fsfe.org/tags/tagged-podcast.en.html [15:21:33] fsfe.org/tags/tagged-podcast.es.html [15:21:33] fsfe.org/tags/tagged-podcast.et.html [15:21:33] fsfe.org/tags/tagged-podcast.fa.html [15:21:33] fsfe.org/tags/tagged-podcast.fi.html [15:21:33] fsfe.org/tags/tagged-podcast.fr.html [15:21:33] fsfe.org/tags/tagged-podcast.hr.html [15:21:33] fsfe.org/tags/tagged-podcast.hu.html [15:21:33] fsfe.org/tags/tagged-podcast.it.html [15:21:33] fsfe.org/tags/tagged-podcast.ja.html [15:21:33] fsfe.org/tags/tagged-podcast.mk.html [15:21:33] fsfe.org/tags/tagged-podcast.nb.html [15:21:33] fsfe.org/tags/tagged-podcast.nl.html [15:21:33] fsfe.org/tags/tagged-podcast.nn.html [15:21:33] fsfe.org/tags/tagged-podcast.pl.html [15:21:33] fsfe.org/tags/tagged-podcast.pt.html [15:21:33] fsfe.org/tags/tagged-podcast.ro.html [15:21:33] fsfe.org/tags/tagged-podcast.ru.html [15:21:33] fsfe.org/tags/tagged-podcast.sk.html [15:21:33] fsfe.org/tags/tagged-podcast.sl.html [15:21:33] fsfe.org/tags/tagged-podcast.sq.html [15:21:33] fsfe.org/tags/tagged-podcast.sr.html [15:21:33] fsfe.org/tags/tagged-podcast.sv.html [15:21:33] fsfe.org/tags/tagged-podcast.tr.html [15:21:33] fsfe.org/tags/tagged-podcast.uk.html [15:21:33] fsfe.org/tags/tagged-podcast.zh.html [15:21:33] [15:21:33] sent 8,692,407 bytes received 239,833 bytes 3,572,896.00 bytes/sec [15:21:33] total size is 1,539,104,251 speedup is 172.31 [15:21:33] Syncing files to gahn.fsfeurope.org [15:21:35] sending incremental file list [15:21:35] fsfe.org/index.ar.html [15:21:35] fsfe.org/index.bg.html [15:21:35] fsfe.org/index.bs.html [15:21:35] fsfe.org/index.ca.html [15:21:35] fsfe.org/index.cs.html [15:21:35] fsfe.org/index.da.html [15:21:35] fsfe.org/index.de.html [15:21:35] fsfe.org/index.el.html [15:21:35] fsfe.org/index.en.html [15:21:35] fsfe.org/index.es.html [15:21:35] fsfe.org/index.et.html [15:21:35] fsfe.org/index.fa.html [15:21:35] fsfe.org/index.fi.html [15:21:35] fsfe.org/index.fr.html [15:21:35] fsfe.org/index.hr.html [15:21:35] fsfe.org/index.hu.html [15:21:35] fsfe.org/index.it.html [15:21:35] fsfe.org/index.ja.html [15:21:35] fsfe.org/index.mk.html [15:21:35] fsfe.org/index.nb.html [15:21:35] fsfe.org/index.nl.html [15:21:35] fsfe.org/index.nn.html [15:21:35] fsfe.org/index.pl.html [15:21:35] fsfe.org/index.pt.html [15:21:35] fsfe.org/index.ro.html [15:21:35] fsfe.org/index.ru.html [15:21:35] fsfe.org/index.sk.html [15:21:35] fsfe.org/index.sl.html [15:21:35] fsfe.org/index.sq.html [15:21:35] fsfe.org/index.sr.html [15:21:35] fsfe.org/index.sv.html [15:21:35] fsfe.org/index.tr.html [15:21:35] fsfe.org/index.uk.html [15:21:35] fsfe.org/index.zh.html [15:21:35] fsfe.org/activities/publiccode/publiccode.ar.html [15:21:35] fsfe.org/activities/publiccode/publiccode.bg.html [15:21:35] fsfe.org/activities/publiccode/publiccode.bs.html [15:21:35] fsfe.org/activities/publiccode/publiccode.ca.html [15:21:35] fsfe.org/activities/publiccode/publiccode.cs.html [15:21:35] fsfe.org/activities/publiccode/publiccode.da.html [15:21:35] fsfe.org/activities/publiccode/publiccode.de.html [15:21:35] fsfe.org/activities/publiccode/publiccode.el.html [15:21:35] fsfe.org/activities/publiccode/publiccode.en.html [15:21:35] fsfe.org/activities/publiccode/publiccode.es.html [15:21:35] fsfe.org/activities/publiccode/publiccode.et.html [15:21:35] fsfe.org/activities/publiccode/publiccode.fa.html [15:21:35] fsfe.org/activities/publiccode/publiccode.fi.html [15:21:35] fsfe.org/activities/publiccode/publiccode.fr.html [15:21:35] fsfe.org/activities/publiccode/publiccode.hr.html [15:21:35] fsfe.org/activities/publiccode/publiccode.hu.html [15:21:35] fsfe.org/activities/publiccode/publiccode.it.html [15:21:35] fsfe.org/activities/publiccode/publiccode.ja.html [15:21:35] fsfe.org/activities/publiccode/publiccode.mk.html [15:21:35] fsfe.org/activities/publiccode/publiccode.nb.html [15:21:35] fsfe.org/activities/publiccode/publiccode.nl.html [15:21:35] fsfe.org/activities/publiccode/publiccode.nn.html [15:21:35] fsfe.org/activities/publiccode/publiccode.pl.html [15:21:35] fsfe.org/activities/publiccode/publiccode.pt.html [15:21:35] fsfe.org/activities/publiccode/publiccode.ro.html [15:21:35] fsfe.org/activities/publiccode/publiccode.ru.html [15:21:35] fsfe.org/activities/publiccode/publiccode.sk.html [15:21:35] fsfe.org/activities/publiccode/publiccode.sl.html [15:21:35] fsfe.org/activities/publiccode/publiccode.sq.html [15:21:35] fsfe.org/activities/publiccode/publiccode.sr.html [15:21:35] fsfe.org/activities/publiccode/publiccode.sv.html [15:21:35] fsfe.org/activities/publiccode/publiccode.tr.html [15:21:35] fsfe.org/activities/publiccode/publiccode.uk.html [15:21:35] fsfe.org/activities/publiccode/publiccode.zh.html [15:21:35] fsfe.org/news/news.ar.html [15:21:35] fsfe.org/news/news.ar.rss [15:21:35] fsfe.org/news/news.bg.html [15:21:35] fsfe.org/news/news.bg.rss [15:21:35] fsfe.org/news/news.bs.html [15:21:35] fsfe.org/news/news.bs.rss [15:21:35] fsfe.org/news/news.ca.html [15:21:35] fsfe.org/news/news.ca.rss [15:21:35] fsfe.org/news/news.cs.html [15:21:35] fsfe.org/news/news.cs.rss [15:21:35] fsfe.org/news/news.da.html [15:21:35] fsfe.org/news/news.da.rss [15:21:35] fsfe.org/news/news.de.html [15:21:35] fsfe.org/news/news.de.rss [15:21:35] fsfe.org/news/news.el.html [15:21:35] fsfe.org/news/news.el.rss [15:21:35] fsfe.org/news/news.en.html [15:21:35] fsfe.org/news/news.en.rss [15:21:35] fsfe.org/news/news.es.html [15:21:35] fsfe.org/news/news.es.rss [15:21:35] fsfe.org/news/news.et.html [15:21:35] fsfe.org/news/news.et.rss [15:21:35] fsfe.org/news/news.fa.html [15:21:35] fsfe.org/news/news.fa.rss [15:21:35] fsfe.org/news/news.fi.html [15:21:35] fsfe.org/news/news.fi.rss [15:21:35] fsfe.org/news/news.fr.html [15:21:35] fsfe.org/news/news.fr.rss [15:21:35] fsfe.org/news/news.hr.html [15:21:35] fsfe.org/news/news.hr.rss [15:21:35] fsfe.org/news/news.hu.html [15:21:35] fsfe.org/news/news.hu.rss [15:21:35] fsfe.org/news/news.it.html [15:21:35] fsfe.org/news/news.it.rss [15:21:35] fsfe.org/news/news.ja.html [15:21:35] fsfe.org/news/news.ja.rss [15:21:35] fsfe.org/news/news.mk.html [15:21:35] fsfe.org/news/news.mk.rss [15:21:35] fsfe.org/news/news.nb.html [15:21:35] fsfe.org/news/news.nb.rss [15:21:35] fsfe.org/news/news.nl.html [15:21:35] fsfe.org/news/news.nl.rss [15:21:35] fsfe.org/news/news.nn.html [15:21:35] fsfe.org/news/news.nn.rss [15:21:35] fsfe.org/news/news.pl.html [15:21:35] fsfe.org/news/news.pl.rss [15:21:35] fsfe.org/news/news.pt.html [15:21:35] fsfe.org/news/news.pt.rss [15:21:35] fsfe.org/news/news.ro.html [15:21:35] fsfe.org/news/news.ro.rss [15:21:35] fsfe.org/news/news.ru.html [15:21:35] fsfe.org/news/news.ru.rss [15:21:35] fsfe.org/news/news.sk.html [15:21:35] fsfe.org/news/news.sk.rss [15:21:35] fsfe.org/news/news.sl.html [15:21:35] fsfe.org/news/news.sl.rss [15:21:35] fsfe.org/news/news.sq.html [15:21:35] fsfe.org/news/news.sq.rss [15:21:35] fsfe.org/news/news.sr.html [15:21:35] fsfe.org/news/news.sr.rss [15:21:35] fsfe.org/news/news.sv.html [15:21:35] fsfe.org/news/news.sv.rss [15:21:35] fsfe.org/news/news.tr.html [15:21:35] fsfe.org/news/news.tr.rss [15:21:35] fsfe.org/news/news.uk.html [15:21:35] fsfe.org/news/news.uk.rss [15:21:35] fsfe.org/news/news.zh.html [15:21:35] fsfe.org/news/news.zh.rss [15:21:35] fsfe.org/news/podcast-opus.ar.html [15:21:35] fsfe.org/news/podcast-opus.ar.rss [15:21:35] fsfe.org/news/podcast-opus.bg.html [15:21:35] fsfe.org/news/podcast-opus.bg.rss [15:21:35] fsfe.org/news/podcast-opus.bs.html [15:21:35] fsfe.org/news/podcast-opus.bs.rss [15:21:35] fsfe.org/news/podcast-opus.ca.html [15:21:35] fsfe.org/news/podcast-opus.ca.rss [15:21:35] fsfe.org/news/podcast-opus.cs.html [15:21:35] fsfe.org/news/podcast-opus.cs.rss [15:21:35] fsfe.org/news/podcast-opus.da.html [15:21:35] fsfe.org/news/podcast-opus.da.rss [15:21:35] fsfe.org/news/podcast-opus.de.html [15:21:35] fsfe.org/news/podcast-opus.de.rss [15:21:35] fsfe.org/news/podcast-opus.el.html [15:21:35] fsfe.org/news/podcast-opus.el.rss [15:21:35] fsfe.org/news/podcast-opus.en.html [15:21:35] fsfe.org/news/podcast-opus.en.rss [15:21:35] fsfe.org/news/podcast-opus.es.html [15:21:35] fsfe.org/news/podcast-opus.es.rss [15:21:35] fsfe.org/news/podcast-opus.et.html [15:21:35] fsfe.org/news/podcast-opus.et.rss [15:21:35] fsfe.org/news/podcast-opus.fa.html [15:21:35] fsfe.org/news/podcast-opus.fa.rss [15:21:35] fsfe.org/news/podcast-opus.fi.html [15:21:35] fsfe.org/news/podcast-opus.fi.rss [15:21:35] fsfe.org/news/podcast-opus.fr.html [15:21:35] fsfe.org/news/podcast-opus.fr.rss [15:21:35] fsfe.org/news/podcast-opus.hr.html [15:21:35] fsfe.org/news/podcast-opus.hr.rss [15:21:35] fsfe.org/news/podcast-opus.hu.html [15:21:35] fsfe.org/news/podcast-opus.hu.rss [15:21:35] fsfe.org/news/podcast-opus.it.html [15:21:35] fsfe.org/news/podcast-opus.it.rss [15:21:35] fsfe.org/news/podcast-opus.ja.html [15:21:35] fsfe.org/news/podcast-opus.ja.rss [15:21:35] fsfe.org/news/podcast-opus.mk.html [15:21:35] fsfe.org/news/podcast-opus.mk.rss [15:21:35] fsfe.org/news/podcast-opus.nb.html [15:21:35] fsfe.org/news/podcast-opus.nb.rss [15:21:35] fsfe.org/news/podcast-opus.nl.html [15:21:35] fsfe.org/news/podcast-opus.nl.rss [15:21:35] fsfe.org/news/podcast-opus.nn.html [15:21:35] fsfe.org/news/podcast-opus.nn.rss [15:21:35] fsfe.org/news/podcast-opus.pl.html [15:21:35] fsfe.org/news/podcast-opus.pl.rss [15:21:35] fsfe.org/news/podcast-opus.pt.html [15:21:35] fsfe.org/news/podcast-opus.pt.rss [15:21:35] fsfe.org/news/podcast-opus.ro.html [15:21:35] fsfe.org/news/podcast-opus.ro.rss [15:21:35] fsfe.org/news/podcast-opus.ru.html [15:21:35] fsfe.org/news/podcast-opus.ru.rss [15:21:35] fsfe.org/news/podcast-opus.sk.html [15:21:35] fsfe.org/news/podcast-opus.sk.rss [15:21:35] fsfe.org/news/podcast-opus.sl.html [15:21:35] fsfe.org/news/podcast-opus.sl.rss [15:21:35] fsfe.org/news/podcast-opus.sq.html [15:21:35] fsfe.org/news/podcast-opus.sq.rss [15:21:35] fsfe.org/news/podcast-opus.sr.html [15:21:35] fsfe.org/news/podcast-opus.sr.rss [15:21:35] fsfe.org/news/podcast-opus.sv.html [15:21:35] fsfe.org/news/podcast-opus.sv.rss [15:21:35] fsfe.org/news/podcast-opus.tr.html [15:21:35] fsfe.org/news/podcast-opus.tr.rss [15:21:35] fsfe.org/news/podcast-opus.uk.html [15:21:35] fsfe.org/news/podcast-opus.uk.rss [15:21:35] fsfe.org/news/podcast-opus.zh.html [15:21:35] fsfe.org/news/podcast-opus.zh.rss [15:21:35] fsfe.org/news/podcast.ar.html [15:21:35] fsfe.org/news/podcast.ar.rss [15:21:35] fsfe.org/news/podcast.bg.html [15:21:35] fsfe.org/news/podcast.bg.rss [15:21:35] fsfe.org/news/podcast.bs.html [15:21:35] fsfe.org/news/podcast.bs.rss [15:21:35] fsfe.org/news/podcast.ca.html [15:21:35] fsfe.org/news/podcast.ca.rss [15:21:35] fsfe.org/news/podcast.cs.html [15:21:35] fsfe.org/news/podcast.cs.rss [15:21:35] fsfe.org/news/podcast.da.html [15:21:35] fsfe.org/news/podcast.da.rss [15:21:35] fsfe.org/news/podcast.de.html [15:21:35] fsfe.org/news/podcast.de.rss [15:21:35] fsfe.org/news/podcast.el.html [15:21:35] fsfe.org/news/podcast.el.rss [15:21:35] fsfe.org/news/podcast.en.html [15:21:35] fsfe.org/news/podcast.en.rss [15:21:35] fsfe.org/news/podcast.es.html [15:21:35] fsfe.org/news/podcast.es.rss [15:21:35] fsfe.org/news/podcast.et.html [15:21:35] fsfe.org/news/podcast.et.rss [15:21:35] fsfe.org/news/podcast.fa.html [15:21:35] fsfe.org/news/podcast.fa.rss [15:21:35] fsfe.org/news/podcast.fi.html [15:21:35] fsfe.org/news/podcast.fi.rss [15:21:35] fsfe.org/news/podcast.fr.html [15:21:35] fsfe.org/news/podcast.fr.rss [15:21:35] fsfe.org/news/podcast.hr.html [15:21:35] fsfe.org/news/podcast.hr.rss [15:21:35] fsfe.org/news/podcast.hu.html [15:21:35] fsfe.org/news/podcast.hu.rss [15:21:35] fsfe.org/news/podcast.it.html [15:21:35] fsfe.org/news/podcast.it.rss [15:21:35] fsfe.org/news/podcast.ja.html [15:21:35] fsfe.org/news/podcast.ja.rss [15:21:35] fsfe.org/news/podcast.mk.html [15:21:35] fsfe.org/news/podcast.mk.rss [15:21:35] fsfe.org/news/podcast.nb.html [15:21:35] fsfe.org/news/podcast.nb.rss [15:21:35] fsfe.org/news/podcast.nl.html [15:21:35] fsfe.org/news/podcast.nl.rss [15:21:35] fsfe.org/news/podcast.nn.html [15:21:35] fsfe.org/news/podcast.nn.rss [15:21:35] fsfe.org/news/podcast.pl.html [15:21:35] fsfe.org/news/podcast.pl.rss [15:21:35] fsfe.org/news/podcast.pt.html [15:21:35] fsfe.org/news/podcast.pt.rss [15:21:35] fsfe.org/news/podcast.ro.html [15:21:35] fsfe.org/news/podcast.ro.rss [15:21:35] fsfe.org/news/podcast.ru.html [15:21:39] fsfe.org/news/podcast.ru.rss [15:21:39] fsfe.org/news/podcast.sk.html [15:21:39] fsfe.org/news/podcast.sk.rss [15:21:39] fsfe.org/news/podcast.sl.html [15:21:39] fsfe.org/news/podcast.sl.rss [15:21:39] fsfe.org/news/podcast.sq.html [15:21:39] fsfe.org/news/podcast.sq.rss [15:21:39] fsfe.org/news/podcast.sr.html [15:21:39] fsfe.org/news/podcast.sr.rss [15:21:39] fsfe.org/news/podcast.sv.html [15:21:39] fsfe.org/news/podcast.sv.rss [15:21:39] fsfe.org/news/podcast.tr.html [15:21:39] fsfe.org/news/podcast.tr.rss [15:21:39] fsfe.org/news/podcast.uk.html [15:21:39] fsfe.org/news/podcast.uk.rss [15:21:39] fsfe.org/news/podcast.zh.html [15:21:39] fsfe.org/news/podcast.zh.rss [15:21:39] fsfe.org/news/podcast/episode-26.ar.html [15:21:39] fsfe.org/news/podcast/episode-26.bg.html [15:21:39] fsfe.org/news/podcast/episode-26.bs.html [15:21:39] fsfe.org/news/podcast/episode-26.ca.html [15:21:39] fsfe.org/news/podcast/episode-26.cs.html [15:21:39] fsfe.org/news/podcast/episode-26.da.html [15:21:39] fsfe.org/news/podcast/episode-26.de.html [15:21:39] fsfe.org/news/podcast/episode-26.el.html [15:21:39] fsfe.org/news/podcast/episode-26.en.html [15:21:39] fsfe.org/news/podcast/episode-26.es.html [15:21:39] fsfe.org/news/podcast/episode-26.et.html [15:21:39] fsfe.org/news/podcast/episode-26.fa.html [15:21:39] fsfe.org/news/podcast/episode-26.fi.html [15:21:39] fsfe.org/news/podcast/episode-26.fr.html [15:21:39] fsfe.org/news/podcast/episode-26.hr.html [15:21:39] fsfe.org/news/podcast/episode-26.hu.html [15:21:39] fsfe.org/news/podcast/episode-26.it.html [15:21:39] fsfe.org/news/podcast/episode-26.ja.html [15:21:39] fsfe.org/news/podcast/episode-26.mk.html [15:21:39] fsfe.org/news/podcast/episode-26.nb.html [15:21:39] fsfe.org/news/podcast/episode-26.nl.html [15:21:39] fsfe.org/news/podcast/episode-26.nn.html [15:21:39] fsfe.org/news/podcast/episode-26.pl.html [15:21:39] fsfe.org/news/podcast/episode-26.pt.html [15:21:39] fsfe.org/news/podcast/episode-26.ro.html [15:21:39] fsfe.org/news/podcast/episode-26.ru.html [15:21:39] fsfe.org/news/podcast/episode-26.sk.html [15:21:39] fsfe.org/news/podcast/episode-26.sl.html [15:21:39] fsfe.org/news/podcast/episode-26.sq.html [15:21:39] fsfe.org/news/podcast/episode-26.sr.html [15:21:39] fsfe.org/news/podcast/episode-26.sv.html [15:21:39] fsfe.org/news/podcast/episode-26.tr.html [15:21:39] fsfe.org/news/podcast/episode-26.uk.html [15:21:39] fsfe.org/news/podcast/episode-26.zh.html [15:21:39] fsfe.org/search/ [15:21:39] fsfe.org/search/index.js [15:21:39] fsfe.org/tags/tagged-highlights.ar.html [15:21:39] fsfe.org/tags/tagged-highlights.bg.html [15:21:39] fsfe.org/tags/tagged-highlights.bs.html [15:21:39] fsfe.org/tags/tagged-highlights.ca.html [15:21:39] fsfe.org/tags/tagged-highlights.cs.html [15:21:39] fsfe.org/tags/tagged-highlights.da.html [15:21:39] fsfe.org/tags/tagged-highlights.de.html [15:21:39] fsfe.org/tags/tagged-highlights.el.html [15:21:39] fsfe.org/tags/tagged-highlights.en.html [15:21:39] fsfe.org/tags/tagged-highlights.es.html [15:21:39] fsfe.org/tags/tagged-highlights.et.html [15:21:39] fsfe.org/tags/tagged-highlights.fa.html [15:21:39] fsfe.org/tags/tagged-highlights.fi.html [15:21:39] fsfe.org/tags/tagged-highlights.fr.html [15:21:39] fsfe.org/tags/tagged-highlights.hr.html [15:21:39] fsfe.org/tags/tagged-highlights.hu.html [15:21:39] fsfe.org/tags/tagged-highlights.it.html [15:21:39] fsfe.org/tags/tagged-highlights.ja.html [15:21:39] fsfe.org/tags/tagged-highlights.mk.html [15:21:39] fsfe.org/tags/tagged-highlights.nb.html [15:21:39] fsfe.org/tags/tagged-highlights.nl.html [15:21:39] fsfe.org/tags/tagged-highlights.nn.html [15:21:39] fsfe.org/tags/tagged-highlights.pl.html [15:21:39] fsfe.org/tags/tagged-highlights.pt.html [15:21:39] fsfe.org/tags/tagged-highlights.ro.html [15:21:39] fsfe.org/tags/tagged-highlights.ru.html [15:21:39] fsfe.org/tags/tagged-highlights.sk.html [15:21:39] fsfe.org/tags/tagged-highlights.sl.html [15:21:39] fsfe.org/tags/tagged-highlights.sq.html [15:21:39] fsfe.org/tags/tagged-highlights.sr.html [15:21:39] fsfe.org/tags/tagged-highlights.sv.html [15:21:39] fsfe.org/tags/tagged-highlights.tr.html [15:21:39] fsfe.org/tags/tagged-highlights.uk.html [15:21:39] fsfe.org/tags/tagged-highlights.zh.html [15:21:39] fsfe.org/tags/tagged-ngi.ar.html [15:21:39] fsfe.org/tags/tagged-ngi.bg.html [15:21:39] fsfe.org/tags/tagged-ngi.bs.html [15:21:39] fsfe.org/tags/tagged-ngi.ca.html [15:21:39] fsfe.org/tags/tagged-ngi.cs.html [15:21:39] fsfe.org/tags/tagged-ngi.da.html [15:21:39] fsfe.org/tags/tagged-ngi.de.html [15:21:39] fsfe.org/tags/tagged-ngi.el.html [15:21:39] fsfe.org/tags/tagged-ngi.en.html [15:21:39] fsfe.org/tags/tagged-ngi.es.html [15:21:39] fsfe.org/tags/tagged-ngi.et.html [15:21:39] fsfe.org/tags/tagged-ngi.fa.html [15:21:39] fsfe.org/tags/tagged-ngi.fi.html [15:21:39] fsfe.org/tags/tagged-ngi.fr.html [15:21:39] fsfe.org/tags/tagged-ngi.hr.html [15:21:39] fsfe.org/tags/tagged-ngi.hu.html [15:21:39] fsfe.org/tags/tagged-ngi.it.html [15:21:39] fsfe.org/tags/tagged-ngi.ja.html [15:21:39] fsfe.org/tags/tagged-ngi.mk.html [15:21:39] fsfe.org/tags/tagged-ngi.nb.html [15:21:39] fsfe.org/tags/tagged-ngi.nl.html [15:21:39] fsfe.org/tags/tagged-ngi.nn.html [15:21:39] fsfe.org/tags/tagged-ngi.pl.html [15:21:39] fsfe.org/tags/tagged-ngi.pt.html [15:21:39] fsfe.org/tags/tagged-ngi.ro.html [15:21:39] fsfe.org/tags/tagged-ngi.ru.html [15:21:39] fsfe.org/tags/tagged-ngi.sk.html [15:21:39] fsfe.org/tags/tagged-ngi.sl.html [15:21:39] fsfe.org/tags/tagged-ngi.sq.html [15:21:39] fsfe.org/tags/tagged-ngi.sr.html [15:21:39] fsfe.org/tags/tagged-ngi.sv.html [15:21:39] fsfe.org/tags/tagged-ngi.tr.html [15:21:39] fsfe.org/tags/tagged-ngi.uk.html [15:21:39] fsfe.org/tags/tagged-ngi.zh.html [15:21:39] fsfe.org/tags/tagged-pmpc.ar.html [15:21:39] fsfe.org/tags/tagged-pmpc.bg.html [15:21:39] fsfe.org/tags/tagged-pmpc.bs.html [15:21:39] fsfe.org/tags/tagged-pmpc.ca.html [15:21:39] fsfe.org/tags/tagged-pmpc.cs.html [15:21:39] fsfe.org/tags/tagged-pmpc.da.html [15:21:39] fsfe.org/tags/tagged-pmpc.de.html [15:21:39] fsfe.org/tags/tagged-pmpc.el.html [15:21:39] fsfe.org/tags/tagged-pmpc.en.html [15:21:39] fsfe.org/tags/tagged-pmpc.es.html [15:21:39] fsfe.org/tags/tagged-pmpc.et.html [15:21:39] fsfe.org/tags/tagged-pmpc.fa.html [15:21:39] fsfe.org/tags/tagged-pmpc.fi.html [15:21:39] fsfe.org/tags/tagged-pmpc.fr.html [15:21:39] fsfe.org/tags/tagged-pmpc.hr.html [15:21:39] fsfe.org/tags/tagged-pmpc.hu.html [15:21:39] fsfe.org/tags/tagged-pmpc.it.html [15:21:39] fsfe.org/tags/tagged-pmpc.ja.html [15:21:39] fsfe.org/tags/tagged-pmpc.mk.html [15:21:39] fsfe.org/tags/tagged-pmpc.nb.html [15:21:39] fsfe.org/tags/tagged-pmpc.nl.html [15:21:39] fsfe.org/tags/tagged-pmpc.nn.html [15:21:39] fsfe.org/tags/tagged-pmpc.pl.html [15:21:39] fsfe.org/tags/tagged-pmpc.pt.html [15:21:39] fsfe.org/tags/tagged-pmpc.ro.html [15:21:39] fsfe.org/tags/tagged-pmpc.ru.html [15:21:39] fsfe.org/tags/tagged-pmpc.sk.html [15:21:39] fsfe.org/tags/tagged-pmpc.sl.html [15:21:39] fsfe.org/tags/tagged-pmpc.sq.html [15:21:39] fsfe.org/tags/tagged-pmpc.sr.html [15:21:39] fsfe.org/tags/tagged-pmpc.sv.html [15:21:39] fsfe.org/tags/tagged-pmpc.tr.html [15:21:39] fsfe.org/tags/tagged-pmpc.uk.html [15:21:39] fsfe.org/tags/tagged-pmpc.zh.html [15:21:39] fsfe.org/tags/tagged-podcast.ar.html [15:21:39] fsfe.org/tags/tagged-podcast.bg.html [15:21:39] fsfe.org/tags/tagged-podcast.bs.html [15:21:39] fsfe.org/tags/tagged-podcast.ca.html [15:21:39] fsfe.org/tags/tagged-podcast.cs.html [15:21:39] fsfe.org/tags/tagged-podcast.da.html [15:21:39] fsfe.org/tags/tagged-podcast.de.html [15:21:39] fsfe.org/tags/tagged-podcast.el.html [15:21:39] fsfe.org/tags/tagged-podcast.en.html [15:21:39] fsfe.org/tags/tagged-podcast.es.html [15:21:39] fsfe.org/tags/tagged-podcast.et.html [15:21:39] fsfe.org/tags/tagged-podcast.fa.html [15:21:39] fsfe.org/tags/tagged-podcast.fi.html [15:21:39] fsfe.org/tags/tagged-podcast.fr.html [15:21:39] fsfe.org/tags/tagged-podcast.hr.html [15:21:39] fsfe.org/tags/tagged-podcast.hu.html [15:21:39] fsfe.org/tags/tagged-podcast.it.html [15:21:39] fsfe.org/tags/tagged-podcast.ja.html [15:21:39] fsfe.org/tags/tagged-podcast.mk.html [15:21:39] fsfe.org/tags/tagged-podcast.nb.html [15:21:39] fsfe.org/tags/tagged-podcast.nl.html [15:21:39] fsfe.org/tags/tagged-podcast.nn.html [15:21:39] fsfe.org/tags/tagged-podcast.pl.html [15:21:39] fsfe.org/tags/tagged-podcast.pt.html [15:21:39] fsfe.org/tags/tagged-podcast.ro.html [15:21:39] fsfe.org/tags/tagged-podcast.ru.html [15:21:39] fsfe.org/tags/tagged-podcast.sk.html [15:21:39] fsfe.org/tags/tagged-podcast.sl.html [15:21:39] fsfe.org/tags/tagged-podcast.sq.html [15:21:39] fsfe.org/tags/tagged-podcast.sr.html [15:21:39] fsfe.org/tags/tagged-podcast.sv.html [15:21:39] fsfe.org/tags/tagged-podcast.tr.html [15:21:39] fsfe.org/tags/tagged-podcast.uk.html [15:21:39] fsfe.org/tags/tagged-podcast.zh.html [15:21:39] [15:21:39] sent 8,692,435 bytes received 239,845 bytes 1,374,196.92 bytes/sec [15:21:39] total size is 1,539,104,251 speedup is 172.31