install 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash -ex
  2. COMMON="meson curl git make file bzip2 jose tang cryptsetup ${CC}"
  3. case "${DISTRO}" in
  4. debian:*|ubuntu:*)
  5. # This solves an intermittant error when fetching packages on debian
  6. sed -i 's|httpredir.debian.org|ftp.us.debian.org|g' /etc/apt/sources.list
  7. sed -i 's|\/archive.ubuntu|\/us.archive.ubuntu|g' /etc/apt/sources.list
  8. apt-get clean
  9. while ! apt-get update; do
  10. sleep 5
  11. done
  12. while ! apt-get -y \
  13. -o Dpkg::Options::="--force-confdef" \
  14. -o Dpkg::Options::="--force-confnew" \
  15. dist-upgrade; do
  16. sleep 5
  17. done
  18. DEBIAN_FRONTEND=noninteractive apt-get install -y keyboard-configuration \
  19. console-setup
  20. while ! apt-get -y install ${COMMON} \
  21. build-essential pkg-config libssl-dev libjansson-dev libjose-dev \
  22. luksmeta libluksmeta-dev libpwquality-tools libglib2.0-dev \
  23. libudisks2-dev libaudit-dev; do
  24. sleep 5
  25. done
  26. ;;
  27. fedora:*)
  28. dnf -y clean all
  29. dnf -y --setopt=deltarpm=0 update
  30. dnf -y install ${COMMON} pkgconfig openssl-devel jansson-devel \
  31. findutils libjose-devel luksmeta libluksmeta-devel audit-libs-devel \
  32. libudisks2-devel tpm2-tools desktop-file-utils
  33. ;;
  34. centos:*)
  35. yum -y clean all
  36. yum -y --setopt=deltarpm=0 update
  37. yum install -y yum-utils
  38. yum config-manager -y --set-enabled PowerTools || true
  39. yum -y install epel-release
  40. yum -y install ${COMMON} pkgconfig openssl-devel openssl zlib-devel \
  41. jansson-devel findutils gcc libjose-devel luksmeta libluksmeta-devel \
  42. audit-libs-devel tpm2-tools desktop-file-utils cracklib-dicts
  43. sed -i 's|>=1\.0\.2|>=1\.0\.1|' meson.build
  44. ;;
  45. esac
  46. # vim: set ts=8 shiftwidth=4 softtabstop=4 expandtab smarttab colorcolumn=80: