diff options
author | Andrew Cady <d@jerkface.net> | 2020-10-16 13:08:28 -0400 |
---|---|---|
committer | Andrew Cady <d@jerkface.net> | 2020-10-16 13:08:28 -0400 |
commit | 76bf44393cbd4de3fac3f4535c8383c329f4e6b4 (patch) | |
tree | 5dd69ee639d81cc4ad935d6911d1298344d9e790 | |
parent | ff4814beec4ebf0b8dd447b70a1b5673bc7aaf91 (diff) |
handling of apt sources is intelligenter
-rw-r--r-- | selfpublish.sh | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/selfpublish.sh b/selfpublish.sh index 0d9dd96..eb3c5d9 100644 --- a/selfpublish.sh +++ b/selfpublish.sh | |||
@@ -37,12 +37,25 @@ apt_install() | |||
37 | as_root apt-get install "$@" | 37 | as_root apt-get install "$@" |
38 | } | 38 | } |
39 | 39 | ||
40 | write_line_once() | ||
41 | { | ||
42 | local line="$2" target_file="$1" | ||
43 | if grep -qF "$line" "$target_file" | ||
44 | then | ||
45 | return | ||
46 | else | ||
47 | printf %s "$line" | as_root tee -a "$target_file" >/dev/null | ||
48 | fi | ||
49 | } | ||
50 | |||
40 | dpkg_install() | 51 | dpkg_install() |
41 | { | 52 | { |
42 | case "$(lsb_release -cs)" in | 53 | case "$(lsb_release -cs)" in |
43 | buster) | 54 | buster) |
44 | echo 'deb http://httpredir.debian.org/debian buster-backports main' | | 55 | apt-cache policy | grep -q 'http://httpredir.debian.org/debian buster-backports/main' || |
45 | as_root tee -a /etc/apt/sources.list.d/buster-backports.list >/dev/null ;; | 56 | write_line_once /etc/apt/sources.list.d/buster-backports.list \ |
57 | 'deb http://httpredir.debian.org/debian buster-backports main' | ||
58 | ;; | ||
46 | esac | 59 | esac |
47 | 60 | ||
48 | as_root $SHELL -c "set -$- +e; dpkg -i $*; apt-get -t buster-backports -f install" | 61 | as_root $SHELL -c "set -$- +e; dpkg -i $*; apt-get -t buster-backports -f install" |