X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=.ci%2Fdeps.sh;h=523e7aa799ffee46862d5ff6af4117980dce8dad;hb=09dda64ce99668c918fada04b9ad6bf9cd2ab104;hp=2f0dab2d816968868606edaf08e7ce9aa96c6a40;hpb=d6866ff0f130704ff963d9e053b1d85407ed2d7c;p=tinc diff --git a/.ci/deps.sh b/.ci/deps.sh index 2f0dab2d..523e7aa7 100755 --- a/.ci/deps.sh +++ b/.ci/deps.sh @@ -6,25 +6,28 @@ deps_linux_alpine() { apk upgrade apk add \ - git binutils make autoconf automake gcc linux-headers diffutils \ - procps socat shadow sudo libgcrypt-dev texinfo texlive gzip \ + git binutils meson pkgconf gcc linux-headers diffutils \ + procps socat shadow sudo libgcrypt-dev texinfo gzip \ openssl-dev zlib-dev lzo-dev ncurses-dev readline-dev musl-dev lz4-dev vde2-dev } -deps_linux_debian() { - export DEBIAN_FRONTEND=noninteractive - - HOST=${HOST:-} +deps_linux_debian_mingw() { + apt-get install -y \ + mingw-w64 mingw-w64-tools \ + wine wine-binfmt \ + libgcrypt-mingw-w64-dev \ + "$@" +} +deps_linux_debian_linux() { if [ -n "$HOST" ]; then dpkg --add-architecture "$HOST" fi apt-get update - apt-get upgrade -y apt-get install -y \ - git binutils make autoconf automake gcc diffutils sudo texinfo texlive netcat-openbsd procps socat \ + binutils make gcc \ zlib1g-dev:"$HOST" \ libssl-dev:"$HOST" \ liblzo2-dev:"$HOST" \ @@ -38,6 +41,36 @@ deps_linux_debian() { if [ -n "$HOST" ]; then apt-get install -y crossbuild-essential-"$HOST" qemu-user + else + linux_openssl3 + fi +} + +deps_linux_debian() { + export DEBIAN_FRONTEND=noninteractive + + apt-get update + apt-get upgrade -y + apt-get install -y git pkgconf diffutils sudo texinfo \ + netcat-openbsd procps socat + + HOST=${HOST:-} + if [ "$HOST" = mingw ]; then + deps_linux_debian_mingw "$@" + else + deps_linux_debian_linux "$@" + fi + + . /etc/os-release + + # Debian Buster ships an old version of meson (0.49). + # MinGW cross-compilation requires something newer than 0.55 that ships in Bullseye, + # or it fails when looking for dependencies in the OpenSSL wrap. + if [ "${ID:-}/${VERSION_CODENAME:-}" = debian/buster ] || [ "$HOST" = mingw ]; then + apt-get install -y python3 python3-pip ninja-build + pip3 install meson + else + apt-get install -y meson fi } @@ -54,7 +87,7 @@ deps_linux_rhel() { yum upgrade -y yum install -y \ - git binutils make autoconf automake gcc diffutils sudo texinfo-tex netcat procps systemd perl-IPC-Cmd \ + git binutils make meson pkgconf gcc diffutils sudo texinfo-tex netcat procps systemd perl-IPC-Cmd \ findutils socat lzo-devel zlib-devel lz4-devel ncurses-devel readline-devel libgcrypt-devel "$@" if yum info openssl11-devel; then @@ -69,11 +102,6 @@ deps_linux_rhel() { } linux_openssl3() { - if [ -n "${HOST:-}" ]; then - echo >&2 "Not installing OpenSSL 3 to a cross-compilation job" - return - fi - src=/usr/local/src/openssl ssl3=/opt/ssl3 @@ -86,7 +114,12 @@ linux_openssl3() { make -j"$(nproc)" make install_sw - ldconfig -v $ssl3/lib64 + if [ -f /etc/ld.so.conf ]; then + echo $ssl3/lib64 >>/etc/ld.so.conf + ldconfig -v + else + ldconfig -v $ssl3/lib64 + fi cd - } @@ -101,7 +134,6 @@ deps_linux() { debian | ubuntu) deps_linux_debian "$@" - linux_openssl3 ;; centos | almalinux | fedora) @@ -114,7 +146,7 @@ deps_linux() { } deps_macos() { - brew install coreutils netcat automake lzo lz4 miniupnpc libgcrypt openssl "$@" + brew install coreutils netcat lzo lz4 miniupnpc libgcrypt openssl meson "$@" pip3 install --user compiledb }