diff options
author | Gordon Tetlow <gordon@FreeBSD.org> | 2023-11-03 17:37:48 +0000 |
---|---|---|
committer | Gordon Tetlow <gordon@FreeBSD.org> | 2023-11-03 17:37:48 +0000 |
commit | e4fe068d29c902225fa3733db09af214cbfb3c02 (patch) | |
tree | f8f9cbff2b52e2e05c2e8e64aea2fc3210583273 /contrib/pam_modules/pam_passwdqc/ci/install-dependencies.sh | |
parent | 00d65bdc4b6c36b0692588d71ca18ff080826a75 (diff) |
Vendor import of pam_passwdqc v2.0.3.vendor/pam_modules/passwdqc/v2.0.3vendor/pam_modules
Diffstat (limited to 'contrib/pam_modules/pam_passwdqc/ci/install-dependencies.sh')
-rwxr-xr-x | contrib/pam_modules/pam_passwdqc/ci/install-dependencies.sh | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/contrib/pam_modules/pam_passwdqc/ci/install-dependencies.sh b/contrib/pam_modules/pam_passwdqc/ci/install-dependencies.sh new file mode 100755 index 000000000000..17124d527dc6 --- /dev/null +++ b/contrib/pam_modules/pam_passwdqc/ci/install-dependencies.sh @@ -0,0 +1,86 @@ +#!/bin/sh -ex +# +# Copyright (c) 2018-2020 The strace developers. +# All rights reserved. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +j=-j`nproc` || j= +type sudo >/dev/null 2>&1 && sudo=sudo || sudo= +common_packages='file gettext libaudit-dev libpam0g-dev make' + +retry_if_failed() +{ + for i in `seq 0 99`; do + "$@" && i= && break || sleep 1 + done + [ -z "$i" ] +} + +updated= +apt_get_install() +{ + [ -n "$updated" ] || { + retry_if_failed $sudo apt-get -qq update + updated=1 + } + retry_if_failed $sudo \ + apt-get -qq --no-install-suggests --no-install-recommends \ + install -y "$@" +} + +git_installed= +clone_repo() +{ + local src dst branch + src="$1"; shift + dst="$1"; shift + branch="${1-}" + + [ -n "$git_installed" ] || { + apt_get_install git ca-certificates + git_installed=1 + } + + case "$src" in + *://*) ;; + *) local url path + url="$(git config remote.origin.url)" + path="${url#*://*/}" + src="${url%$path}$src" + ;; + esac + + retry_if_failed \ + git clone --depth=1 ${branch:+--branch $branch} "$src" "$dst" +} + +case "$TARGET" in + x32|x86) + packages="$common_packages gcc-multilib" + ;; + *) + packages="$common_packages gcc" + ;; +esac + +case "$CC" in + gcc-*) + retry_if_failed \ + $sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test + case "$TARGET" in + x32|x86) + apt_get_install $packages "$CC"-multilib "$CC" + ;; + *) + apt_get_install $packages "$CC" + ;; + esac + ;; + clang*) + apt_get_install $packages "$CC" + ;; + *) + apt_get_install $packages + ;; +esac |