Initial import of percona-release-1.0-27
This commit is contained in:
commit
9acf61043e
77
SOURCES/PERCONA-PACKAGING-KEY
Normal file
77
SOURCES/PERCONA-PACKAGING-KEY
Normal file
@ -0,0 +1,77 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v2
|
||||
|
||||
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
|
||||
=cTh+
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
30
SOURCES/RPM-GPG-KEY-Percona
Normal file
30
SOURCES/RPM-GPG-KEY-Percona
Normal file
@ -0,0 +1,30 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.9 (GNU/Linux)
|
||||
|
||||
mQGiBEsm3aERBACyB1E9ixebIMRGtmD45c6c/wi2IVIa6O3G1f6cyHH4ump6ejOi
|
||||
AX63hhEs4MUCGO7KnON1hpjuNN7MQZtGTJC0iX97X2Mk+IwB1KmBYN9sS/OqhA5C
|
||||
itj2RAkug4PFHR9dy21v0flj66KjBS3GpuOadpcrZ/k0g7Zi6t7kDWV0hwCgxCa2
|
||||
f/ESC2MN3q3j9hfMTBhhDCsD/3+iOxtDAUlPMIH50MdK5yqagdj8V/sxaHJ5u/zw
|
||||
YQunRlhB9f9QUFfhfnjRn8wjeYasMARDctCde5nbx3Pc+nRIXoB4D1Z1ZxRzR/lb
|
||||
7S4i8KRr9xhommFnDv/egkx+7X1aFp1f2wN2DQ4ecGF4EAAVHwFz8H4eQgsbLsa6
|
||||
7DV3BACj1cBwCf8tckWsvFtQfCP4CiBB50Ku49MU2Nfwq7durfIiePF4IIYRDZgg
|
||||
kHKSfP3oUZBGJx00BujtTobERraaV7lIRIwETZao76MqGt9K1uIqw4NT/jAbi9ce
|
||||
rFaOmAkaujbcB11HYIyjtkAGq9mXxaVqCC3RPWGr+fqAx/akBLQ2UGVyY29uYSBN
|
||||
eVNRTCBEZXZlbG9wbWVudCBUZWFtIDxteXNxbC1kZXZAcGVyY29uYS5jb20+iGAE
|
||||
ExECACAFAksm3aECGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAcTL3NzS79
|
||||
Kpk/AKCQKSEgwX9r8jR+6tAnCVpzyUFOQwCfX+fw3OAoYeFZB3eu2oT8OBTiVYu5
|
||||
Ag0ESybdoRAIAKKUV8rbqlB8qwZdWlmrwQqg3o7OpoAJ53/QOIySDmqy5TmNEPLm
|
||||
lHkwGqEqfbFYoTbOCEEJi2yFLg9UJCSBM/sfPaqb2jGP7fc0nZBgUBnFuA9USX72
|
||||
O0PzVAF7rCnWaIz76iY+AMI6xKeRy91TxYo/yenF1nRSJ+rExwlPcHgI685GNuFG
|
||||
chAExMTgbnoPx1ka1Vqbe6iza+FnJq3f4p9luGbZdSParGdlKhGqvVUJ3FLeLTqt
|
||||
caOn5cN2ZsdakE07GzdSktVtdYPT5BNMKgOAxhXKy11IPLj2Z5C33iVYSXjpTelJ
|
||||
b2qHvcg9XDMhmYJyE3O4AWFh2no3Jf4ypIcABA0IAJO8ms9ov6bFqFTqA0UW2gWQ
|
||||
cKFN4Q6NPV6IW0rV61ONLUc0VFXvYDtwsRbUmUYkB/L/R9fHj4lRUDbGEQrLCoE+
|
||||
/HyYvr2rxP94PT6Bkjk/aiCCPAKZRj5CFUKRpShfDIiow9qxtqv7yVd514Qqmjb4
|
||||
eEihtcjltGAoS54+6C3lbjrHUQhLwPGqlAh8uZKzfSZq0C06kTxiEqsG6VDDYWy6
|
||||
L7qaMwOqWdQtdekKiCk8w/FoovsMYED2qlWEt0i52G+0CjoRFx2zNsN3v4dWiIhk
|
||||
ZSL00Mx+g3NA7pQ1Yo5Vhok034mP8L2fBLhhWaK3LG63jYvd0HLkUFhNG+xjkpeI
|
||||
SQQYEQIACQUCSybdoQIbDAAKCRAcTL3NzS79KlacAJ0aAkBQapIaHNvmAhtVjLPN
|
||||
wke4ZgCePe3sPPF49lBal7QaYPdjqapa1SQ=
|
||||
=qcCk
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
608
SOURCES/percona-release.sh
Executable file
608
SOURCES/percona-release.sh
Executable file
@ -0,0 +1,608 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
#
|
||||
#If you want to make script non-interactive please change this variable to NO
|
||||
INTERACTIVE=YES
|
||||
#
|
||||
if [[ $(id -u) -gt 0 ]]; then
|
||||
echo "Please run $(basename ${0}) as root!"
|
||||
exit 1
|
||||
fi
|
||||
#
|
||||
ALIASES="ps56 ps57 ps80 psmdb34 psmdb36 psmdb40 psmdb42 pxb24 pxb80 pxc56 pxc57 pxc80 ppg11 ppg11.5 ppg11.6 ppg11.7 ppg11.8 ppg12 ppg12.2 ppg12.3 pdmdb4.2 pdmdb4.2.6 pdmdb4.2.7 pdmdb4.2.8 pdps8.0.19 pdps8.0.20 pdpxc8.0.19 pdps8.0 pdpxc8.0 prel proxysql sysbench pt pmm-client pmm2-client mysql-shell pbm pdmdb4.4 pdmdb4.4.0 psmdb44"
|
||||
COMMANDS="enable enable-only setup disable show"
|
||||
REPOSITORIES="original ps-56 ps-57 ps-80 pxc-56 pxc-57 pxc-80 psmdb-36 psmdb-40 psmdb-42 pxb-24 pxb-80 tools ppg-11 ppg-11.5 ppg-11.6 ppg-11.7 ppg-11.8 ppg-12 ppg-12.2 ppg-12.3 pdmdb-4.2 pdmdb-4.2.6 pdmdb-4.2.7 pdmdb-4.2.8 pdps-8.0.19 pdpxc-8.0.19 pdps-8.0.20 pdps-8.0 pdpxc-8.0 prel proxysql sysbench pt mysql-shell pbm pmm-client pmm2-client pdmdb-4.4 pdmdb-4.4.0 psmdb-44"
|
||||
COMPONENTS="release testing experimental"
|
||||
URL="http://repo.percona.com"
|
||||
SUPPORTED_ARCHS="i386 noarch x86_64 sources"
|
||||
|
||||
if [[ -f /etc/default/percona-release ]]; then
|
||||
source /etc/default/percona-release
|
||||
fi
|
||||
|
||||
#
|
||||
DESCRIPTION=""
|
||||
DEFAULT_REPO_DESC="Percona Original"
|
||||
PREL_DESC="Percona Release"
|
||||
PT_DESC="Percona Toolkit"
|
||||
SYSBENCH_DESC="Sysbench"
|
||||
PROXYSQL_DESC="Proxysql"
|
||||
PBM_DESC="Percona Backup MongoDB"
|
||||
MYSQL_SHELL_DESC="Percona MySQL Shell"
|
||||
PMM_CLIENT_DESC="PMM Client"
|
||||
PMM2_CLIENT_DESC="PMM2 Client"
|
||||
PS56_DESC="Percona Server 5.6"
|
||||
PS57_DESC="Percona Server 5.7"
|
||||
PS80_DESC="Percona Server 8.0"
|
||||
PXB24_DESC="Percona XtraBackup 2.4"
|
||||
PXB80_DESC="Percona XtraBackup 8.0"
|
||||
PXC56_DESC="Percona XtraDB Cluster 5.6"
|
||||
PXC57_DESC="Percona XtraDB Cluster 5.7"
|
||||
PXC80_DESC="Percona XtraDB Cluster 8.0"
|
||||
PSMDB36_DESC="Percona Server for MongoDB 3.6"
|
||||
PSMDB40_DESC="Percona Server for MongoDB 4.0"
|
||||
PSMDB42_DESC="Percona Server for MongoDB 4.2"
|
||||
PSMDB_DESC="Percona Server for MongoDB"
|
||||
TOOLS_DESC="Percona Tools"
|
||||
PPG11_DESC="Percona Distribution for PostgreSQL 11"
|
||||
PPG11_5_DESC="Percona Distribution for PostgreSQL 11.5"
|
||||
PPG11_6_DESC="Percona Distribution for PostgreSQL 11.6"
|
||||
PPG11_7_DESC="Percona Distribution for PostgreSQL 11.7"
|
||||
PPG11_8_DESC="Percona Distribution for PostgreSQL 11.8"
|
||||
PDMDB4_2_DESC="Percona Distribution for MongoDB 4.2"
|
||||
PDMDB4_2_6_DESC="Percona Distribution for MongoDB 4.2.6"
|
||||
PDMDB4_2_7_DESC="Percona Distribution for MongoDB 4.2.7"
|
||||
PDMDB4_2_8_DESC="Percona Distribution for MongoDB 4.2.8"
|
||||
PPG12_DESC="Percona Distribution for PostgreSQL 12"
|
||||
PPG12_2_DESC="Percona Distribution for PostgreSQL 12.2"
|
||||
PPG12_3_DESC="Percona Distribution for PostgreSQL 12.3"
|
||||
PDPXC80_19_DESC="Percona Distribution for MySQL 8.0.19 - PXC"
|
||||
PDPS80_19_DESC="Percona Distribution for MySQL 8.0.19 - PS"
|
||||
PDPS80_20_DESC="Percona Distribution for MySQL 8.0.20 - PS"
|
||||
PDPS80_DESC="Percona Distribution for MySQL 8.0 - PS"
|
||||
PDPXC80_DESC="Percona Distribution for MySQL 8.0 - PXC"
|
||||
PPG_DESC="Percona Distribution for PostgreSQL"
|
||||
PDMDB_DESC="Percona Distribution for MongoDB"
|
||||
PDPS_DESC="Percona Distribution for MySQL - PS"
|
||||
PDPXC_DESC="Percona Distribution for MySQL - PXC"
|
||||
#
|
||||
PS56REPOS="ps-56 tools"
|
||||
PS57REPOS="ps-57 pxb-24"
|
||||
PS80REPOS="ps-80 tools"
|
||||
PXC56REPOS="pxc-56 tools"
|
||||
PXC57REPOS="pxc-57 pxb-24"
|
||||
PXC80REPOS="pxc-80 tools"
|
||||
PXB24REPOS="pxb-24"
|
||||
PXB80REPOS="pxb-80"
|
||||
PSMDB36REPOS="psmdb-36 pbm"
|
||||
PSMDB40REPOS="psmdb-40 tools"
|
||||
PSMDB42REPOS="psmdb-42 tools"
|
||||
PPG11REPOS="ppg-11"
|
||||
PPG11_5_REPOS="ppg-11.5"
|
||||
PPG11_6_REPOS="ppg-11.6"
|
||||
PPG11_7_REPOS="ppg-11.7"
|
||||
PPG11_8_REPOS="ppg-11.8"
|
||||
PDMDB4_2_6_REPOS="pdmdb-4.2.6"
|
||||
PDMDB4_2_7_REPOS="pdmdb-4.2.7"
|
||||
PDMDB4_2_8_REPOS="pdmdb-4.2.8"
|
||||
PDMDB4_2_REPOS="pdmdb-4.2"
|
||||
PPG12_REPOS="ppg-12"
|
||||
PPG12_2_REPOS="ppg-12.2"
|
||||
PPG12_3_REPOS="ppg-12.3"
|
||||
PDPS80_REPOS="pdps-8.0"
|
||||
PDPXC80_REPOS="pdpxc-8.0"
|
||||
PDPS80_19_REPOS="pdps-8.0.19"
|
||||
PDPS80_20_REPOS="pdps-8.0.20"
|
||||
PDPXC80_19_REPOS="pdpxc-8.0.19"
|
||||
PREL_REPOS="prel"
|
||||
PROXYSQL_REPOS="proxysql"
|
||||
SYSBENCH_REPOS="sysbench"
|
||||
PT_REPOS="pt"
|
||||
MYSQL_SHELL_REPOS="mysql-shell"
|
||||
PBM_REPOS="PBM"
|
||||
PMM_CLIENT_REPOS="pmm-client"
|
||||
PMM2_CLIENT_REPOS="pmm2-client"
|
||||
TOOLS_REPOS="tools"
|
||||
ORIGINAL_REPO="original"
|
||||
#
|
||||
AUTOUPDATE=NO
|
||||
MODIFIED=NO
|
||||
REPOFILE=""
|
||||
# RH derivatives and Amazon Linux
|
||||
if [[ -f /etc/redhat-release ]] || [[ -f /etc/system-release ]]; then
|
||||
LOCATION=/etc/yum.repos.d
|
||||
EXT=repo
|
||||
PKGTOOL=yum
|
||||
ARCH=$(rpm --eval %_arch)
|
||||
elif [[ -f /etc/debian_version ]]; then
|
||||
LOCATION=/etc/apt/sources.list.d
|
||||
EXT=list
|
||||
PKGTOOL="apt-get"
|
||||
CODENAME=$(lsb_release -sc)
|
||||
else
|
||||
echo "==>> ERROR: Unsupported operating system"
|
||||
exit 1
|
||||
fi
|
||||
#
|
||||
function show_enabled {
|
||||
echo "The following repositories are enabled on your system:"
|
||||
if [[ -f /etc/redhat-release ]] || [[ -f /etc/system-release ]]; then
|
||||
for line in $(yum repolist enabled | egrep -ie "percona|sysbench|proxysql|pmm" | awk '{print $1}' | awk -F'/' '{print $1}' ); do
|
||||
count=$(grep -o '-' <<< $line | wc -l)
|
||||
if [[ $count = 3 ]]; then
|
||||
echo $line | awk -F '-' '{print $1"-"$2,"- "$3,"| "$4}'
|
||||
else
|
||||
echo $line | awk -F '-' '{print $1" - "$2" | " $3}'
|
||||
fi
|
||||
done
|
||||
elif [[ -f /etc/debian_version ]]; then
|
||||
grep -E '^deb\s' /etc/apt/sources.list /etc/apt/sources.list.d/*.list | cut -f2- -d: | grep percona | awk '{print $2$4}' | sed 's;http://repo.percona.com/;;g' | sed 's;/apt; - ;g' | sed 's;percona;original;g' | sed 's;main;release;g'
|
||||
else
|
||||
echo "==>> ERROR: Unsupported operating system"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
#
|
||||
function is_supported_arch {
|
||||
local arch=$1
|
||||
|
||||
for _arch in ${SUPPORTED_ARCHS}; do
|
||||
[[ ${_arch} = ${arch} ]] && return
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
function check_specified_alias {
|
||||
local found=NO
|
||||
[[ -z ${1} ]] && echo "ERROR: No product alias specified!" && show_help && exit 2
|
||||
for _alias in ${ALIASES}; do
|
||||
NAME=$(echo ${1} | sed 's/-//' )
|
||||
[[ ${_alias} = ${NAME} ]] && found=YES
|
||||
done
|
||||
if [[ ${found} = NO ]]; then
|
||||
echo "ERROR: Unknown alias specification: ${1}"
|
||||
echo "Available product aliases are: ${ALIASES}"
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
|
||||
function check_specified_repo {
|
||||
local found=NO
|
||||
[[ -z ${1} ]] && echo "ERROR: No repository specified!" && show_help && exit 2
|
||||
for _repo in ${REPOSITORIES}; do
|
||||
[[ ${_repo} = ${1} ]] && found=YES
|
||||
done
|
||||
if [[ ${found} = NO ]]; then
|
||||
echo "ERROR: Unknown repository: ${1}"
|
||||
echo "Available repositories are: ${REPOSITORIES}"
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
#
|
||||
function check_os_support {
|
||||
REPO_NAME=$1
|
||||
if [[ ${PKGTOOL} = yum ]]; then
|
||||
if [ -f /etc/os-release ]; then
|
||||
OS_VER=$(grep VERSION_ID= /etc/os-release | awk -F'"' '{print $2}' | awk -F'.' '{print $1}')
|
||||
else
|
||||
OS_VER=$(cat /etc/system-release | awk '{print $(NF-1)}' | awk -F'.' '{print $1}')
|
||||
fi
|
||||
reply=$(curl -Is http://repo.percona.com/${REPO_NAME}/yum/release/${OS_VER}/ | head -n 1 | awk '{print $2}')
|
||||
elif [[ ${PKGTOOL} = "apt-get" ]]; then
|
||||
OS_VER=$(lsb_release -sc)
|
||||
reply=$(curl -Is http://repo.percona.com/${REPO_NAME}/apt/dists/${OS_VER}/ | head -n 1 | awk '{print $2}')
|
||||
fi
|
||||
if [[ ${reply} != 200 ]]; then
|
||||
echo "Specified repository is not supported for current operating system!"
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
#
|
||||
function check_repo_availability {
|
||||
if [[ "$2" == "-y" ]]; then
|
||||
REPO_NAME=${3}
|
||||
else
|
||||
REPO_NAME=${2}
|
||||
fi
|
||||
[[ -z ${REPO_NAME} ]] && return 0
|
||||
[[ ${REPO_NAME} == "original" ]] && REPO_NAME=percona
|
||||
[[ ${REPO_NAME} == "all" ]] && return 0
|
||||
if [ ${REPO_NAME} != "mysql-shell" -a ${REPO_NAME} != "pmm-client" -a ${REPO_NAME} != "pmm2-client" -a ${REPO_NAME} != "pmm2-components" ]; then
|
||||
REPO_NAME=$(echo ${REPO_NAME} | sed 's/-//' | sed 's/\([0-9]\)/-\1/')
|
||||
fi
|
||||
REPO_LINK="http://repo.percona.com/${REPO_NAME}/"
|
||||
reply=$(curl -Is ${REPO_LINK} | head -n 1 | awk '{print $2}')
|
||||
if [[ ${reply} == 200 ]]; then
|
||||
if [[ ${REPOSITORIES} != "*${REPONAME}*" ]]; then
|
||||
REPO_ALIAS=$(echo ${REPO_NAME} | sed 's/-//')
|
||||
ALIASES="${REPOSITORIES} ${REPO_ALIAS}"
|
||||
REPOSITORIES="${REPOSITORIES} ${REPO_NAME}"
|
||||
check_os_support ${REPO_NAME}
|
||||
fi
|
||||
else
|
||||
echo "Specified repository does not exist: ${REPO_LINK}"
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
#
|
||||
|
||||
function check_specified_component {
|
||||
local message=""
|
||||
local found=NO
|
||||
for _component in all ${COMPONENTS}; do
|
||||
[[ ${_component} = ${1} ]] && found=YES
|
||||
done
|
||||
[[ ${found} = NO ]] && message="ERROR: Unknown component specification: ${1}"
|
||||
[[ -n ${message} ]] && echo ${message} && show_help && exit 2
|
||||
}
|
||||
#
|
||||
function show_message {
|
||||
echo "<*> All done!"
|
||||
if [[ ${MODIFIED} = YES ]] && [[ ${PKGTOOL} = "apt-get" ]]; then
|
||||
echo "==> Please run \"${PKGTOOL} update\" to apply changes"
|
||||
fi
|
||||
}
|
||||
#
|
||||
function show_help {
|
||||
echo
|
||||
echo "Usage: $(basename ${0}) enable | enable-only | setup | disable (<REPO> | all) [COMPONENT] | show"
|
||||
echo " Example: $(basename ${0}) enable tools release"
|
||||
echo " Example: $(basename ${0}) enable-only ps-80 experimental"
|
||||
echo " Example: $(basename ${0}) setup ps57 | setup-57"
|
||||
echo " Example: $(basename ${0}) setup -y ps57 | setup -y ps-57"
|
||||
echo " Example: $(basename ${0}) show"
|
||||
echo
|
||||
echo "-> Available commands: ${COMMANDS}"
|
||||
echo "-> Available setup products: ${ALIASES}"
|
||||
echo "-> Available repositories: ${REPOSITORIES}"
|
||||
echo "-> Available components: ${COMPONENTS}"
|
||||
echo "=> The \"-y\" option for the setup command automatically answers \"yes\" for all interactive questions."
|
||||
echo "=> The \"show\" command will list all enabled Percona repos on the system."
|
||||
echo "=> Please see percona-release page for help: https://www.percona.com/doc/percona-repo-config/percona-release.html"
|
||||
}
|
||||
#
|
||||
function run_update {
|
||||
if [[ ${PKGTOOL} = "apt-get" ]]; then
|
||||
AUTOUPDATE="YES"
|
||||
${PKGTOOL} update
|
||||
fi
|
||||
}
|
||||
#
|
||||
function create_yum_repo {
|
||||
local _repo=${1}
|
||||
ARCH_LIST="${ARCH} sources"
|
||||
[[ ${1} = "original" ]] && _repo=percona && ARCH_LIST="${ARCH} noarch sources"
|
||||
[[ ${1} = "prel" ]] && ARCH_LIST="noarch"
|
||||
for _key in ${ARCH_LIST}; do
|
||||
if ! is_supported_arch "$_key"; then
|
||||
echo "WARNING: Skipping ${_key} architecture, as it's not supported"
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "[${_repo}-${2}-${_key}]" >> ${REPOFILE}
|
||||
echo "name = ${DESCRIPTION} ${2}/${_key} YUM repository" >> ${REPOFILE}
|
||||
if [[ ${_key} = sources ]]; then
|
||||
DIR=SRPMS
|
||||
rPATH=""
|
||||
ENABLE=0
|
||||
else
|
||||
DIR=RPMS
|
||||
rPATH="/${_key}"
|
||||
ENABLE=1
|
||||
fi
|
||||
echo "baseurl = ${URL}/${_repo}/yum/${2}/\$releasever/${DIR}${rPATH}" >> ${REPOFILE}
|
||||
echo "enabled = ${ENABLE}" >> ${REPOFILE}
|
||||
echo "gpgcheck = 1" >> ${REPOFILE}
|
||||
echo "gpgkey = file:///etc/pki/rpm-gpg/PERCONA-PACKAGING-KEY" >> ${REPOFILE}
|
||||
echo >> ${REPOFILE}
|
||||
done
|
||||
}
|
||||
#
|
||||
function create_apt_repo {
|
||||
local _repo=${1}
|
||||
[[ ${1} = "original" ]] && _repo=percona
|
||||
REPOURL="${URL}/${_repo}/apt ${CODENAME}"
|
||||
if [[ ${2} = release ]]; then
|
||||
_component=main
|
||||
echo "deb ${REPOURL} ${_component}" >> ${REPOFILE}
|
||||
echo "deb-src ${REPOURL} ${_component}" >> ${REPOFILE}
|
||||
else
|
||||
echo "deb ${REPOURL} ${_component}" >> ${REPOFILE}
|
||||
fi
|
||||
}
|
||||
#
|
||||
function enable_component {
|
||||
local _repo=percona-${1}
|
||||
[[ -n ${2} ]] && check_specified_component ${2}
|
||||
if [[ ${2} = all ]]; then
|
||||
dCOMP=${COMPONENTS}
|
||||
elif [[ -z ${2} ]]; then
|
||||
dCOMP=release
|
||||
else
|
||||
dCOMP=${2}
|
||||
fi
|
||||
#
|
||||
for _component in ${dCOMP}; do
|
||||
if [[ ${_repo} = percona-original ]]; then
|
||||
[[ -f ${LOCATION}/percona-percona-${_component}.${EXT} ]] && _repo="percona-percona"
|
||||
elif [[ ${_repo} = percona-percona ]]; then
|
||||
[[ -f ${LOCATION}/percona-original-${_component}.${EXT} ]] && _repo="percona-original"
|
||||
fi
|
||||
REPOFILE=${LOCATION}/${_repo}-${_component}.${EXT}
|
||||
echo "#" > ${REPOFILE}
|
||||
echo "# This repo is managed by \"$(basename ${0})\" utility, do not edit!" >> ${REPOFILE}
|
||||
echo "#" >> ${REPOFILE}
|
||||
if [[ ${PKGTOOL} = yum ]]; then
|
||||
create_yum_repo ${1} ${_component}
|
||||
elif [[ ${PKGTOOL} = "apt-get" ]]; then
|
||||
create_apt_repo ${1} ${_component}
|
||||
fi
|
||||
done
|
||||
}
|
||||
#
|
||||
function disable_component {
|
||||
local _repo=percona-${1}
|
||||
if [[ ${1} = all ]]; then
|
||||
for REPO_FILE in $(find ${LOCATION} -type f -iname "percona*.${EXT}" -not -iname "*prel-release*"); do
|
||||
mv -f ${REPO_FILE} ${REPO_FILE}.bak 2>/dev/null
|
||||
done
|
||||
elif [[ -z ${2} ]]; then
|
||||
for comp in testing experimental; do
|
||||
mv -f ${LOCATION}/${_repo}-${comp}.${EXT} ${LOCATION}/${_repo}-${comp}.${EXT}.bak 2>/dev/null
|
||||
done
|
||||
if [[ ${_repo} != *prel ]]; then
|
||||
mv -f ${LOCATION}/${_repo}-release.${EXT} ${LOCATION}/${_repo}-release.${EXT}.bak 2>/dev/null
|
||||
fi
|
||||
else
|
||||
check_specified_component ${2}
|
||||
if [[ ${_repo} != *prel ]]; then
|
||||
mv -f ${LOCATION}/${_repo}-${2}.${EXT} ${LOCATION}/${_repo}-${2}.${EXT}.bak 2>/dev/null
|
||||
else
|
||||
if [[ ${2} != "release" ]]; then
|
||||
mv -f ${LOCATION}/${_repo}-${2}.${EXT} ${LOCATION}/${_repo}-${2}.${EXT}.bak 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
#
|
||||
function enable_repository {
|
||||
check_specified_repo ${1}
|
||||
[[ ${1} = "ps-56" ]] && DESCRIPTION=${PS56_DESC}
|
||||
[[ ${1} = "ps-57" ]] && DESCRIPTION=${PS57_DESC}
|
||||
[[ ${1} = "ps-80" ]] && DESCRIPTION=${PS80_DESC}
|
||||
[[ ${1} = "pxc-56" ]] && DESCRIPTION=${PXC56_DESC}
|
||||
[[ ${1} = "pxc-57" ]] && DESCRIPTION=${PXC57_DESC}
|
||||
[[ ${1} = "pxc-80" ]] && DESCRIPTION=${PXC80_DESC}
|
||||
[[ ${1} = "pxb-24" ]] && DESCRIPTION=${PXB24_DESC}
|
||||
[[ ${1} = "pxb-80" ]] && DESCRIPTION=${PXB80_DESC}
|
||||
[[ ${1} = "psmdb-36" ]] && DESCRIPTION=${PSMDB36_DESC}
|
||||
[[ ${1} = "psmdb-40" ]] && DESCRIPTION=${PSMDB40_DESC}
|
||||
[[ ${1} = "psmdb-42" ]] && DESCRIPTION=${PSMDB42_DESC}
|
||||
[[ ${1} = "tools" ]] && DESCRIPTION=${TOOLS_DESC}
|
||||
[[ ${1} = "ppg-11" ]] && DESCRIPTION=${PPG11_DESC}
|
||||
[[ ${1} = "ppg-11.5" ]] && DESCRIPTION=${PPG11_5_DESC}
|
||||
[[ ${1} = "ppg-11.6" ]] && DESCRIPTION=${PPG11_6_DESC}
|
||||
[[ ${1} = "ppg-11.7" ]] && DESCRIPTION=${PPG11_7_DESC}
|
||||
[[ ${1} = "ppg-11.8" ]] && DESCRIPTION=${PPG11_8_DESC}
|
||||
[[ ${1} = "pdmdb-4.2" ]] && DESCRIPTION=${PDMDB4_2_DESC}
|
||||
[[ ${1} = "pdmdb-4.2.6" ]] && DESCRIPTION=${PDMDB4_2_6_DESC}
|
||||
[[ ${1} = "pdmdb-4.2.7" ]] && DESCRIPTION=${PDMDB4_2_7_DESC}
|
||||
[[ ${1} = "pdmdb-4.2.8" ]] && DESCRIPTION=${PDMDB4_2_8_DESC}
|
||||
[[ ${1} = "ppg-12" ]] && DESCRIPTION=${PPG12_DESC}
|
||||
[[ ${1} = "ppg-12.2" ]] && DESCRIPTION=${PPG12_2_DESC}
|
||||
[[ ${1} = "ppg-12.3" ]] && DESCRIPTION=${PPG12_3_DESC}
|
||||
[[ ${1} = "pdps-8.0" ]] && DESCRIPTION=${PDPS80_DESC}
|
||||
[[ ${1} = "pdpxc-8.0" ]] && DESCRIPTION=${PDPXC80_DESC}
|
||||
[[ ${1} = "pdps-8.0.19" ]] && DESCRIPTION=${PDMYSQL80_19_DESC}
|
||||
[[ ${1} = "pdps-8.0.20" ]] && DESCRIPTION=${PDMYSQL80_20_DESC}
|
||||
[[ ${1} = "pdpxc-8.0.19" ]] && DESCRIPTION=${PDPXC80_19_DESC}
|
||||
[[ ${1} = "prel" ]] && DESCRIPTION=${PREL_DESC}
|
||||
[[ ${1} = "proxysql" ]] && DESCRIPTION=${PROXYSQL_DESC}
|
||||
[[ ${1} = "sysbench" ]] && DESCRIPTION=${SYSBENCH_DESC}
|
||||
[[ ${1} = "pt" ]] && DESCRIPTION=${PT_DESC}
|
||||
[[ ${1} = "pbm" ]] && DESCRIPTION=${PBM_DESC}
|
||||
[[ ${1} = "mysql-shell" ]] && DESCRIPTION=${MYSQL_SHELL_DESC}
|
||||
[[ ${1} = "pmm-client" ]] && DESCRIPTION=${PMM_CLIENT_DESC}
|
||||
[[ ${1} = "pmm2-client" ]] && DESCRIPTION=${PMM2_CLIENT_DESC}
|
||||
if [[ -z ${DESCRIPTION} ]]; then
|
||||
REPO_NAME=$(echo ${1} | sed 's/-//')
|
||||
name=$(echo ${REPO_NAME} | sed 's/[0-9].*//g')
|
||||
version=$(echo ${REPO_NAME} | sed 's/[a-z]*//g')
|
||||
if [[ $version != *.* ]] ; then
|
||||
version=$(echo $version | sed -r ':A;s|([0-9])([0-9]){1}|\1.\2|g')
|
||||
fi
|
||||
[[ ${name} == ppg* ]] && DESCRIPTION="${PPG_DESC} $version"
|
||||
[[ ${name} == pdmdb* ]] && DESCRIPTION="${PDMDB_DESC} $version"
|
||||
[[ ${name} == psmdb* ]] && DESCRIPTION="${PSMDB_DESC} $version"
|
||||
[[ ${name} == pdps* ]] && DESCRIPTION="${PDPS_DESC} $version"
|
||||
[[ ${name} == pdpxc* ]] && DESCRIPTION="${PDPXC_DESC} $version"
|
||||
fi
|
||||
[[ -z ${DESCRIPTION} ]] && DESCRIPTION=${DEFAULT_REPO_DESC}
|
||||
echo "* Enabling the ${DESCRIPTION} repository"
|
||||
enable_component ${1} ${2}
|
||||
MODIFIED=YES
|
||||
}
|
||||
#
|
||||
function disable_repository {
|
||||
local _repos=${1}
|
||||
if [[ ${1} = all ]]; then
|
||||
disable_component all
|
||||
else
|
||||
check_specified_repo ${1}
|
||||
if [[ ${1} != "prel" ]]; then
|
||||
disable_component ${1} ${2}
|
||||
else
|
||||
if [[ ${2} != "release" ]]; then
|
||||
disable_component ${1} ${2}
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
MODIFIED=YES
|
||||
}
|
||||
#
|
||||
function disable_dnf_module {
|
||||
REPO_NAME=${1}
|
||||
MODULE="mysql"
|
||||
PRODUCT="Percona-Server"
|
||||
if [[ ${REPO_NAME} == ppg* ]]; then
|
||||
MODULE="postgresql llvm-toolset"
|
||||
PRODUCT="Percona PostgreSQL Distribution"
|
||||
fi
|
||||
if [[ ${REPO_NAME} == pdps* ]]; then
|
||||
MODULE="mysql"
|
||||
PRODUCT="Percona Distribution for MySQL - PS"
|
||||
fi
|
||||
if [[ ${REPO_NAME} == pdpxc* ]]; then
|
||||
MODULE="mysql"
|
||||
PRODUCT="Percona Distribution for MySQL - PXC"
|
||||
fi
|
||||
if [[ ${REPO_NAME} = pxc* ]]; then
|
||||
MODULE="mysql"
|
||||
PRODUCT="Percona XtraDB Cluster"
|
||||
fi
|
||||
|
||||
if [[ -f /usr/bin/dnf ]]; then
|
||||
if [[ ${INTERACTIVE} = YES ]]; then
|
||||
echo "On Red Hat 8 systems it is needed to disable the following DNF module(s): ${MODULE} to install ${PRODUCT}"
|
||||
read -r -p "Do you want to disable it? [y/N] " response
|
||||
if [[ "$response" =~ ^([yY][eE][sS]|[yY])+$ ]]
|
||||
then
|
||||
echo "Disabling dnf module..."
|
||||
dnf -y module disable ${MODULE}
|
||||
echo "DNF ${MODULE} module was disabled"
|
||||
else
|
||||
echo "Please note that some packages might be unavailable as packages that aren't included into DNF module are filtered"
|
||||
echo "If in the future you decide to disable module(s) please execute the next command:"
|
||||
echo " dnf module disable ${MODULE}"
|
||||
fi
|
||||
else
|
||||
echo "On Red Hat 8 systems it is needed to disable the following DNF module(s): ${MODULE} to install ${PRODUCT}"
|
||||
echo "Disabling DNF module..."
|
||||
dnf -y module disable ${MODULE}
|
||||
echo "DNF ${MODULE} module was disabled"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
#
|
||||
function enable_alias {
|
||||
local REPOS=""
|
||||
local NAME=$( echo ${1} | sed 's/-//' )
|
||||
check_specified_alias ${NAME}
|
||||
[[ ${NAME} = ps56 ]] && REPOS=${PS56REPOS:-}
|
||||
[[ ${NAME} = ps57 ]] && REPOS=${PS57REPOS:-}
|
||||
[[ ${NAME} = ps80 ]] && REPOS=${PS80REPOS:-}
|
||||
[[ ${NAME} = pxc56 ]] && REPOS=${PXC56REPOS:-}
|
||||
[[ ${NAME} = pxc57 ]] && REPOS=${PXC57REPOS:-}
|
||||
[[ ${NAME} = pxc80 ]] && REPOS=${PXC80REPOS:-}
|
||||
[[ ${NAME} = pxb24 ]] && REPOS=${PXB24REPOS:-}
|
||||
[[ ${NAME} = pxb80 ]] && REPOS=${PXB80REPOS:-}
|
||||
[[ ${NAME} = psmdb36 ]] && REPOS=${PSMDB36REPOS:-}
|
||||
[[ ${NAME} = psmdb40 ]] && REPOS=${PSMDB40REPOS:-}
|
||||
[[ ${NAME} = psmdb42 ]] && REPOS=${PSMDB42REPOS:-}
|
||||
[[ ${NAME} = ppg11 ]] && REPOS=${PPG11REPOS:-}
|
||||
[[ ${NAME} = ppg11.5 ]] && REPOS=${PPG11_5_REPOS:-}
|
||||
[[ ${NAME} = ppg11.6 ]] && REPOS=${PPG11_6_REPOS:-}
|
||||
[[ ${NAME} = ppg11.7 ]] && REPOS=${PPG11_7_REPOS:-}
|
||||
[[ ${NAME} = ppg11.8 ]] && REPOS=${PPG11_8_REPOS:-}
|
||||
[[ ${NAME} = pdmdb4.2 ]] && REPOS=${PDMDB4_2_REPOS:-}
|
||||
[[ ${NAME} = pdmdb4.2.6 ]] && REPOS=${PDMDB4_2_6_REPOS:-}
|
||||
[[ ${NAME} = pdmdb4.2.7 ]] && REPOS=${PDMDB4_2_7_REPOS:-}
|
||||
[[ ${NAME} = pdmdb4.2.8 ]] && REPOS=${PDMDB4_2_8_REPOS:-}
|
||||
[[ ${NAME} = ppg12 ]] && REPOS=${PPG12_REPOS:-}
|
||||
[[ ${NAME} = ppg12.2 ]] && REPOS=${PPG12_2_REPOS:-}
|
||||
[[ ${NAME} = ppg12.3 ]] && REPOS=${PPG12_3_REPOS:-}
|
||||
[[ ${NAME} = pdps8.0 ]] && REPOS=${PDPS80_REPOS:-}
|
||||
[[ ${NAME} = pdps8.0.19 ]] && REPOS=${PDPS80_19_REPOS:-}
|
||||
[[ ${NAME} = pdps8.0.20 ]] && REPOS=${PDPS80_20_REPOS:-}
|
||||
[[ ${NAME} = pdpxc8.0 ]] && REPOS=${PDPXC80_REPOS:-}
|
||||
[[ ${NAME} = pdpxc8.0.19 ]] && REPOS=${PDPXC80_19_REPOS:-}
|
||||
[[ ${NAME} = prel ]] && REPOS=${PREL_REPOS:-}
|
||||
[[ ${NAME} = proxysql ]] && REPOS=${PROXYSQL_REPOS:-}
|
||||
[[ ${NAME} = sysbench ]] && REPOS=${SYSBENCH_REPOS:-}
|
||||
[[ ${NAME} = pt ]] && REPOS=${PT_REPOS:-}
|
||||
[[ ${NAME} = pbm ]] && REPOS=${PBM_REPOS:-}
|
||||
[[ ${NAME} = mysqlshell ]] && REPOS=${MYSQL_SHELL_REPOS:-}
|
||||
[[ ${NAME} = pmmclient ]] && REPOS=${PMM_CLIENT_REPOS:-}
|
||||
[[ ${NAME} = pmm2client ]] && REPOS=${PMM2_CLIENT_REPOS:-}
|
||||
[[ ${NAME} = tools ]] && REPOS=${TOOLS_REPOS:-}
|
||||
[[ ${NAME} = original ]] && REPOS=${ORIGINAL_REPOS:-}
|
||||
[[ ${NAME} = percona ]] && REPOS=${ORIGINAL_REPOS:-}
|
||||
if [[ -z ${DESCRIPTION} ]]; then
|
||||
if [[ -z "${REPOS}" ]]; then
|
||||
name=$(echo ${NAME} | sed 's/[0-9].*//g')
|
||||
version=$(echo ${NAME} | sed 's/[a-z]*//g')
|
||||
[[ ${name} = "ppg" ]] && REPOS="$name-$version"
|
||||
[[ ${name} = "pdmdb" ]] && REPOS="$name-$version"
|
||||
[[ ${name} = "psmdb" ]] && REPOS="$name-$version"
|
||||
[[ ${name} = "pdps" ]] && REPOS="$name-$version"
|
||||
[[ ${name} = "pdpxc" ]] && REPOS="$name-$version"
|
||||
fi
|
||||
fi
|
||||
if [[ ${NAME} = ps80 ]] || [[ ${NAME} == pxc* ]] || [[ ${NAME} == ppg* ]] || [[ ${NAME} == pdps* ]] || [[ ${NAME} == pdpxc* ]]; then
|
||||
disable_dnf_module ${NAME}
|
||||
fi
|
||||
for _repo in ${REPOS}; do
|
||||
if [[ -z $(echo ${REPOSITORIES} | grep -o ${_repo}) ]]; then
|
||||
echo "ERROR: Selected product uses \"${REPOS}\" repositories. But the \"${_repo}\" repository is disabled"
|
||||
echo "Add \"${_repo}\" repository to REPOSITORIES=\"\" variable in /etc/default/percona-release file and re-run the script"
|
||||
exit 1
|
||||
fi
|
||||
enable_repository ${_repo}
|
||||
done
|
||||
run_update
|
||||
}
|
||||
#
|
||||
function check_setup_command {
|
||||
if [[ "$1" == "-y" || "${!#}" == "-y" ]]; then
|
||||
export INTERACTIVE=no
|
||||
elif [[ -n ${2} ]]; then
|
||||
echo "* \"setup\" command supports only \"-y\""
|
||||
show_help
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
#
|
||||
if [[ ${COMMANDS} != *${1}* ]]; then
|
||||
echo "ERROR: Unknown action specified: ${1}"
|
||||
show_help
|
||||
exit 2
|
||||
fi
|
||||
#
|
||||
check_repo_availability $@
|
||||
case $1 in
|
||||
enable )
|
||||
shift
|
||||
enable_repository $@
|
||||
;;
|
||||
enable-only )
|
||||
shift
|
||||
echo "* Disabling all Percona Repositories"
|
||||
disable_repository all all
|
||||
enable_repository $@
|
||||
;;
|
||||
setup )
|
||||
shift
|
||||
check_setup_command $@
|
||||
check_specified_alias ${@##-*}
|
||||
echo "* Disabling all Percona Repositories"
|
||||
disable_repository all all
|
||||
enable_alias ${@##-*}
|
||||
;;
|
||||
disable )
|
||||
shift
|
||||
disable_repository $@
|
||||
;;
|
||||
show )
|
||||
shift
|
||||
show_enabled
|
||||
;;
|
||||
* )
|
||||
show_help
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
#
|
||||
if [[ ${AUTOUPDATE} = NO ]]; then
|
||||
show_message
|
||||
fi
|
||||
#
|
94
SPECS/percona-release.spec
Normal file
94
SPECS/percona-release.spec
Normal file
@ -0,0 +1,94 @@
|
||||
Name: percona-release
|
||||
Version: 1.0
|
||||
Release: 27%{?dist}
|
||||
Summary: Package to install Percona GPG key and YUM repo
|
||||
License: GPL-3.0+
|
||||
Group: System Environment/Base
|
||||
BuildArch: noarch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}
|
||||
Requires: findutils curl grep
|
||||
Source0: PERCONA-PACKAGING-KEY
|
||||
Source1: percona-release.sh
|
||||
Source2: RPM-GPG-KEY-Percona
|
||||
|
||||
%description
|
||||
%{name} package contains Percona GPG public keys and Percona repository configuration for YUM
|
||||
|
||||
%clean
|
||||
%{__rm} -rf %{buildroot}
|
||||
|
||||
%prep
|
||||
|
||||
%build
|
||||
%{__cp} -f %{SOURCE0} %{_builddir}
|
||||
%{__cp} -f %{SOURCE1} %{_builddir}
|
||||
%{__cp} -f %{SOURCE2} %{_builddir}
|
||||
|
||||
%install
|
||||
%{__rm} -rf %{buildroot}
|
||||
%{__install} -D -m 0644 %{SOURCE0} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/PERCONA-PACKAGING-KEY
|
||||
%{__install} -D -m 0755 %{SOURCE1} %{buildroot}%{_bindir}/percona-release
|
||||
%{__install} -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Percona
|
||||
|
||||
%files
|
||||
%defattr(-, root, root, 0644)
|
||||
%{_sysconfdir}/pki/rpm-gpg/PERCONA-PACKAGING-KEY
|
||||
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Percona
|
||||
%attr(755, root, root) %{_bindir}/percona-release
|
||||
|
||||
|
||||
%doc PERCONA-PACKAGING-KEY
|
||||
%pubkey PERCONA-PACKAGING-KEY
|
||||
|
||||
|
||||
%post
|
||||
#
|
||||
OS=$(cat /etc/system-release | tr -dc '0-9.'|awk -F'.' {'print $1'})
|
||||
if [ "x${OS}" != "x8" ]; then
|
||||
rpm --import %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Percona
|
||||
fi
|
||||
#
|
||||
%{_bindir}/percona-release enable original release
|
||||
%{_bindir}/percona-release enable prel release
|
||||
#
|
||||
cat << EOF
|
||||
The percona-release package now contains a percona-release script that can enable additional repositories for our newer products.
|
||||
|
||||
For example, to enable the Percona Server 8.0 repository use:
|
||||
|
||||
percona-release setup ps80
|
||||
|
||||
Note: To avoid conflicts with older product versions, the percona-release setup command may disable our original repository for some products.
|
||||
|
||||
For more information, please visit:
|
||||
https://www.percona.com/doc/percona-repo-config/percona-release.html
|
||||
|
||||
EOF
|
||||
|
||||
%preun
|
||||
#
|
||||
if [ $1 -eq 0 ]; then
|
||||
%{_bindir}/percona-release disable all
|
||||
mv /etc/yum.repos.d/percona-prel-release.repo /etc/yum.repos.d/percona-prel-release.repo.bak
|
||||
fi
|
||||
#
|
||||
|
||||
%changelog
|
||||
* Wed Oct 24 2018 Alexey Bychko <alexey.bychko@percona.com> - 0.1-8
|
||||
- Changed rpm keys, added new paths for repositories
|
||||
- Added percona-release shell utility
|
||||
|
||||
* Wed Sep 06 2017 Alexey Bychko <alexey.bychko@percona.com> - 0.1-5
|
||||
- Changed description and email for keys, rpm refreshed
|
||||
|
||||
* Thu Jun 30 2016 Alexey Bychko <alexey.bychko@percona.com> - 0.1-4
|
||||
- Added new gpg key (SHA512)
|
||||
|
||||
* Tue Sep 23 2014 Alexey Bychko <alexey.bychko@percona.com> - 0.1-3
|
||||
- Disabled source repo by default
|
||||
|
||||
* Thu Sep 18 2014 Alexey Bychko <alexey.bychko@percona.com> - 0.1-2
|
||||
- Fixed bug #1371003 (removed /usr/bin/gpg dependency)
|
||||
|
||||
* Thu Sep 04 2014 Alexey Bychko <alexey.bychko@percona.com> - 0.1-1
|
||||
- Reworked old rpm from Alexander Kuzminsky
|
Loading…
Reference in New Issue
Block a user