install_packages.sh (2021B)
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_NIGHTLY:-n}" == y; then 59 say "Setup nightly packages" 60 echo "deb [trusted=yes] https://deb.taler.net/apt-nightly $VERSION_CODENAME main" >/etc/apt/sources.list.d/taler.list 61 else 62 echo "deb [signed-by=/etc/apt/keyrings/taler-systems.gpg] https://deb.taler.net/apt/debian $VERSION_CODENAME main" >/etc/apt/sources.list.d/taler.list 63 fi 64 ;; 65 ubuntu) 66 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 67 ;; 68 *) 69 say "Unsupported distro: $DISTRO" 70 exit 1 71 ;; 72 esac 73 74 wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log 75 76 ## Specific GNU Taler packages 77 78 say "Installing GNU Taler packages (this may take a while)..." 79 80 apt-get update &>> setup.log 81 apt-get install \ 82 taler-exchange \ 83 taler-terms-generator \ 84 taler-merchant \ 85 taler-harness \ 86 taler-wallet-cli \ 87 taler-exchange-offline \ 88 libeufin-bank \ 89 libeufin-nexus \ 90 -y \ 91 &>> setup.log