From 6b6f43cb0d204cd9f43396a2d6d950386b3929b2 Mon Sep 17 00:00:00 2001 From: bigeagle Date: Tue, 9 Aug 2016 23:08:00 +0800 Subject: [PATCH] added percona script --- percona.sh | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 percona.sh diff --git a/percona.sh b/percona.sh new file mode 100755 index 0000000..9701ee2 --- /dev/null +++ b/percona.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# requires: createrepo reposync wget curl +set -e +set -o pipefail + +_here=`dirname $(realpath $0)` +. ${_here}/helpers/apt-download + +[ -z "${LOADED_APT_DOWNLOAD}" ] && (echo "failed to load apt-download"; exit 1) + +BASE_PATH="${TUNASYNC_WORKING_DIR}" +BASE_URL=${TUNASYNC_UPSTREAM_URL:-"https://repo.percona.com"} + +YUM_PATH="${BASE_PATH}/yum" +APT_PATH="${BASE_PATH}/apt" + +APT_VERSIONS=("wheezy" "jessie" "trusty" "xenial") +EL_VERSIONS=("6" "7") + +mkdir -p ${YUM_PATH} ${APT_PATH} + + +# =================== APT repos =============================== +# export APT_DRY_RUN=0 +base_url="${BASE_URL}/apt" +for version in ${APT_VERSIONS[@]}; do + for arch in "amd64" "i386"; do + apt-download-binary ${base_url} "$version" "main" "$arch" "${APT_PATH}" || true + done +done +echo "APT finished" + +# =================== YUM/DNF repos ========================== + +cache_dir="/tmp/yum-percona-cache/" +cfg="/tmp/yum-percona.conf" +cat < ${cfg} +[main] +keepcache=0 + +EOF + +for elver in ${EL_VERSIONS[@]}; do +cat << EOF >> $cfg +[el${elver}] +name=el${elver} +baseurl=${BASE_URL}/centos/$elver/os/x86_64/ +enabled=1 +EOF +done + +reposync -c $cfg -d -p ${YUM_PATH} -e $cache_dir +for elver in ${EL_VERSIONS[@]}; do + createrepo --update -v -c $cache_dir -o ${YUM_PATH}/el${elver}/ ${YUM_PATH}/el${elver}/ +done