build/prefetch: choose a random mirror that can take a beating or two

This commit is contained in:
Franco Fichtner 2016-02-02 20:51:03 +01:00
parent ee8c114a34
commit f3f062de66
3 changed files with 21 additions and 12 deletions

View File

@ -20,6 +20,12 @@ NAME?= OPNsense
TYPE?= opnsense-devel
FLAVOUR?= OpenSSL
SETTINGS?= 16.1
MIRROR?= https://opnsense.c0urier.net \
http://mirrors.nycbug.org/pub/opnsense \
http://mirror.wdc1.us.leaseweb.net/opnsense \
http://mirror.sfo12.us.leaseweb.net/opnsense \
http://mirror.fra10.de.leaseweb.net/opnsense \
http://mirror.ams1.nl.leaseweb.net/opnsense
_VERSION!= date '+%Y%m%d%H%M'
VERSION?= ${_VERSION}
PRIVKEY?= /root/repo.key
@ -63,5 +69,5 @@ ${STEP}:
-f ${FLAVOUR} -n ${NAME} -v ${VERSION} -s ${SETTINGS} \
-S ${SRCDIR} -P ${PORTSDIR} -p ${PLUGINSDIR} -T ${TOOLSDIR} \
-C ${COREDIR} -R ${PORTSREFDIR} -t ${TYPE} -k ${PRIVKEY} \
-K ${PUBKEY} ${${STEP}_ARGS}
-K ${PUBKEY} -m ${MIRROR:Ox:[1]} ${${STEP}_ARGS}
.endfor

View File

@ -33,11 +33,11 @@ usage()
{
echo "Usage: ${0} -f flavour -n name -v version -R freebsd-ports.git" >&2
echo " -C core.git -P ports.git -S src.git -T tools.git -t type" >&2
echo " -k /path/to/privkey -K /path/to/pubkey [...]" >&2
echo " -k /path/to/privkey -K /path/to/pubkey -m web_mirror [...]" >&2
exit 1
}
while getopts C:f:K:k:n:P:p:R:S:s:T:t:v: OPT; do
while getopts C:f:K:k:m:n:P:p:R:S:s:T:t:v: OPT; do
case ${OPT} in
C)
export COREDIR=${OPTARG}
@ -47,10 +47,6 @@ while getopts C:f:K:k:n:P:p:R:S:s:T:t:v: OPT; do
export PRODUCT_FLAVOUR=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
n)
export PRODUCT_NAME=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
K)
export PRODUCT_PUBKEY=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
@ -59,6 +55,14 @@ while getopts C:f:K:k:n:P:p:R:S:s:T:t:v: OPT; do
export PRODUCT_PRIVKEY=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
m)
export PRODUCT_MIRROR=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
n)
export PRODUCT_NAME=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
;;
P)
export PORTSDIR=${OPTARG}
SCRUB_ARGS=${SCRUB_ARGS};shift;shift
@ -102,6 +106,7 @@ if [ -z "${PRODUCT_NAME}" -o \
-z "${PRODUCT_FLAVOUR}" -o \
-z "${PRODUCT_VERSION}" -o \
-z "${PRODUCT_SETTINGS}" -o \
-z "${PRODUCT_MIRROR}" -o \
-z "${PRODUCT_PRIVKEY}" -o \
-z "${PRODUCT_PUBKEY}" -o \
-z "${TOOLSDIR}" -o \

View File

@ -29,24 +29,22 @@ set -e
. ./common.sh && $(${SCRUB_ARGS})
MIRROR="https://pkg.opnsense.org/sets"
for ARG in ${@}; do
case ${ARG} in
base)
sh ./clean.sh ${ARG}
URL="${MIRROR}/${ARG}-${PRODUCT_VERSION}-${ARCH}"
URL="${PRODUCT_MIRROR}/sets/${ARG}-${PRODUCT_VERSION}-${ARCH}"
fetch -o ${SETSDIR} ${URL}.obsolete
fetch -o ${SETSDIR} ${URL}.txz
;;
kernel)
sh ./clean.sh ${ARG}
URL="${MIRROR}/${ARG}-${PRODUCT_VERSION}-${ARCH}"
URL="${PRODUCT_MIRROR}/sets/${ARG}-${PRODUCT_VERSION}-${ARCH}"
fetch -o ${SETSDIR} ${URL}.txz
;;
packages)
sh ./clean.sh ${ARG}
URL="${MIRROR}/${ARG}-${PRODUCT_VERSION}-${PRODUCT_FLAVOUR}-${ARCH}"
URL="${PRODUCT_MIRROR}/sets/${ARG}-${PRODUCT_VERSION}-${PRODUCT_FLAVOUR}-${ARCH}"
fetch -o ${SETSDIR} ${URL}.tar
;;
esac