summaryrefslogtreecommitdiff
blob: b1198deefb2030f35db29e91a9c5b6380b75f7f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

set -e

MODE=snapshots
SRC=distfiles
SITEDIR=/var/www/mirrorstats.gentoo.org
REPODIR=${SITEDIR}/gentoo-mirrorstats/
MODEDIR=${REPODIR}/${MODE}_mirrors/
VARDIR=${SITEDIR}/var/${MODE}
HTDOCS=${SITEDIR}/htdocs/${MODE}
MIRMON=$(readlink -f "${SITEDIR}"/mirmon/mirmon)
CONFFILE=$(readlink -f "${MODEDIR}"/mirmon.conf)

# Grab mirrors from the web
mkdir -p "${VARDIR}"
"${REPODIR}"/get-mirrors-from-${SRC}-xml.rb > "${VARDIR}"/g.mirrors.tmp && mv -f "${VARDIR}"/g.mirrors{.tmp,}

# fatal if the state file is NOT present.
[[ -e ${VARDIR}/mirmon.state ]] || touch "${VARDIR}/mirmon.state"

# run mirmon
/usr/bin/perl "${MIRMON}" -c "${CONFFILE}" -q -get update

# Set up a nice link to our mirror page directly:
mkdir -p ${HTDOCS}
sed \
    -e 's#mirrors</H2>#<a href="http://www.gentoo.org/main/en/mirrors2.xml">mirrors</a></H2>#' \
    >"${HTDOCS}"/index.html.tmp <"${HTDOCS}"/index-wip.html \
	&& mv -f "${HTDOCS}"/index.html{.tmp,}

# Generate a json file containing the state of each mirror
"${REPODIR}"/generate-json.py \
	"${VARDIR}"/mirmon.state \
	>"${HTDOCS}"/state.json.tmp \
	&& mv -f "${HTDOCS}"/state.json{.tmp,}