install_packages.sh (2447B)
1 #!/bin/bash 2 # This file is in the public domain. 3 4 set -eu 5 6 source functions.sh 7 8 detect_distro 9 10 # Program versions 11 PG_VERSION=$( ./postgres_version.sh ) 12 13 if [[ "$PG_VERSION" -lt 15 ]] 14 then 15 echo "Available postgresql version $PG_VERSION is too old" 16 exit 1 17 fi 18 19 20 say "Installing necessary packages (this may take a while)..." 21 22 ## Update 23 24 apt-get update &>> setup.log 25 26 ## General requirements 27 28 apt-get install \ 29 uuid-runtime \ 30 make \ 31 sudo \ 32 curl \ 33 jq \ 34 wget \ 35 nginx \ 36 gettext-base \ 37 "postgresql-${PG_VERSION}" \ 38 "postgresql-client-${PG_VERSION}" \ 39 dbconfig-pgsql \ 40 certbot \ 41 python3-sphinx \ 42 python3-pip \ 43 python3-certbot-nginx -y &>> setup.log 44 45 # These extra packages are used by the setup scripts 46 pip3 install --break-system-packages \ 47 argon2-cffi \ 48 sphinx-markdown-builder \ 49 pycryptodome &>> setup.log 50 51 ## Add GNU Taler deb.taler.net to /etc/apt/sources.list 52 53 say "Adding GNU Taler apt repository" 54 say "Detected distro $DISTRO" 55 56 case $DISTRO in 57 debian) 58 if test "${APT_TESTING:-n}" == y; then 59 cat >/etc/apt/sources.list.d/taler.sources <<EOF 60 Architectures: amd64 61 Components: main 62 X-Repolib-Name: Taler 63 Signed-By: /etc/apt/keyrings/taler-systems.gpg 64 Suites: $VERSION_CODENAME-testing 65 Types: deb 66 URIs: https://deb.taler.net/apt/debian 67 EOF 68 say "Setup $VERSION_CODENAME-testing packages" 69 wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log 70 else 71 cat >/etc/apt/sources.list.d/taler.sources <<EOF 72 Architectures: amd64 73 Components: main 74 X-Repolib-Name: Taler 75 Signed-By: /etc/apt/keyrings/taler-systems.gpg 76 Suites: $VERSION_CODENAME 77 Types: deb 78 URIs: https://deb.taler.net/apt/debian 79 EOF 80 wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log 81 fi 82 ;; 83 ubuntu) 84 echo "deb [signed-by=/etc/apt/keyrings/taler-systems.gpg] https://deb.taler.net/apt/ubuntu $VERSION_CODENAME main" >/etc/apt/sources.list.d/taler.list 85 wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log 86 ;; 87 *) 88 say "Unsupported distro: $DISTRO" 89 exit 1 90 ;; 91 esac 92 93 ## Specific GNU Taler packages 94 95 say "Installing GNU Taler packages (this may take a while)..." 96 97 apt-get update &>> setup.log 98 apt-get install \ 99 taler-exchange \ 100 taler-terms-generator \ 101 taler-merchant \ 102 taler-harness \ 103 taler-wallet-cli \ 104 taler-exchange-offline \ 105 libeufin-bank \ 106 libeufin-nexus \ 107 -y \ 108 &>> setup.log