forked from HariSekhon/DevOps-Bash-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall_rpmforge.sh
executable file
·52 lines (42 loc) · 1.3 KB
/
install_rpmforge.sh
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env bash
# vim:ts=4:sts=4:sw=4:et
#
# Author: Hari Sekhon
# Date: 2012-06-25 15:20:39 +0100
#
# https://github.com/harisekhon/bash-tools
#
# License: see accompanying Hari Sekhon LICENSE file
#
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
#
# https://www.linkedin.com/in/harisekhon
#
set -euo pipefail
[ -n "${DEBUG:-}" ] && set -x
if [ "${NO_FAIL:-}" ]; then
set +eo pipefail
fi
if grep -qi "NAME=Fedora" /etc/*release; then
echo "Detected Fedora, skipping rpmforge install..."
exit 0
fi
if rpm -q rpmforge-release; then
echo "rpmforge-release rpm is already installed, skipping..."
#exit 0
fi
if yum repolist | grep -qi '\<rpmforge\>'; then
echo "rpmforge yum repo already detected in yum repolist, skipping..."
#exit 0
fi
[ $EUID -eq 0 ] && sudo="" || sudo=""
rpm -qi wget || yum install -y wget
major_release="$(grep -ho '[[:digit:]]' /etc/*release | head -n1)"
arch="$(uname -m)"
rpm_url="$(
curl -s http://repoforge.org/use/ |
grep -Eo "http://repository.it4i.cz/mirrors/repoforge/redhat/el$major_release/en/$arch/.*\.$arch\.rpm"
)"
wget -t 5 --retry-connrefused -O /tmp/repoforge.rpm "$rpm_url"
$sudo rpm -ivh /tmp/repoforge.rpm
rm -f /tmp/repoforge.rpm