mirror of
https://github.com/git/git.git
synced 2024-05-11 07:46:09 +02:00
cde6b9b78d
In preparation for a future change that will make perforce installation optional in macOS, make sure that the check for it is done without triggering scary looking errors and add a user friendly message instead. All other existing uses of 'type <cmd>' in our shell scripts that check the availability of a command <cmd> send both standard output and error stream to /dev/null to squelch "<cmd> not found" diagnostic output, but this script left the standard error stream shown. Redirect it just like everybody else to squelch this error message that we fully expect to see. Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
97 lines
2.8 KiB
Bash
Executable File
97 lines
2.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Install dependencies required to build and test Git on Linux and macOS
|
|
#
|
|
|
|
. ${0%/*}/lib.sh
|
|
|
|
P4WHENCE=http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION
|
|
LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION
|
|
UBUNTU_COMMON_PKGS="make libssl-dev libcurl4-openssl-dev libexpat-dev
|
|
tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl
|
|
libemail-valid-perl libio-socket-ssl-perl libnet-smtp-ssl-perl"
|
|
|
|
case "$runs_on_pool" in
|
|
ubuntu-latest)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install language-pack-is libsvn-perl apache2 \
|
|
$UBUNTU_COMMON_PKGS $CC_PACKAGE
|
|
mkdir --parents "$P4_PATH"
|
|
pushd "$P4_PATH"
|
|
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
|
|
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4"
|
|
chmod u+x p4d
|
|
chmod u+x p4
|
|
popd
|
|
mkdir --parents "$GIT_LFS_PATH"
|
|
pushd "$GIT_LFS_PATH"
|
|
wget --quiet "$LFSWHENCE/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
|
|
tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz"
|
|
cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
|
|
popd
|
|
;;
|
|
macos-latest)
|
|
export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
|
|
# Uncomment this if you want to run perf tests:
|
|
# brew install gnu-time
|
|
test -z "$BREW_INSTALL_PACKAGES" ||
|
|
brew install $BREW_INSTALL_PACKAGES
|
|
brew link --force gettext
|
|
brew install --cask --no-quarantine perforce || {
|
|
# Update the definitions and try again
|
|
cask_repo="$(brew --repository)"/Library/Taps/homebrew/homebrew-cask &&
|
|
git -C "$cask_repo" pull --no-stat --ff-only &&
|
|
brew install --cask --no-quarantine perforce
|
|
} ||
|
|
brew install homebrew/cask/perforce
|
|
|
|
if test -n "$CC_PACKAGE"
|
|
then
|
|
BREW_PACKAGE=${CC_PACKAGE/-/@}
|
|
brew install "$BREW_PACKAGE"
|
|
brew link "$BREW_PACKAGE"
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
case "$jobname" in
|
|
StaticAnalysis)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install coccinelle libcurl4-openssl-dev libssl-dev \
|
|
libexpat-dev gettext make
|
|
;;
|
|
sparse)
|
|
sudo apt-get -q update -q
|
|
sudo apt-get -q -y install libssl-dev libcurl4-openssl-dev \
|
|
libexpat-dev gettext zlib1g-dev
|
|
;;
|
|
Documentation)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install asciidoc xmlto docbook-xsl-ns make
|
|
|
|
test -n "$ALREADY_HAVE_ASCIIDOCTOR" ||
|
|
sudo gem install --version 1.5.8 asciidoctor
|
|
;;
|
|
linux-gcc-default)
|
|
sudo apt-get -q update
|
|
sudo apt-get -q -y install $UBUNTU_COMMON_PKGS
|
|
;;
|
|
esac
|
|
|
|
if type p4d >/dev/null 2>&1 && type p4 >/dev/null 2>&1
|
|
then
|
|
echo "$(tput setaf 6)Perforce Server Version$(tput sgr0)"
|
|
p4d -V | grep Rev.
|
|
echo "$(tput setaf 6)Perforce Client Version$(tput sgr0)"
|
|
p4 -V | grep Rev.
|
|
else
|
|
echo >&2 "WARNING: perforce wasn't installed, see above for clues why"
|
|
fi
|
|
if type git-lfs >/dev/null 2>&1
|
|
then
|
|
echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)"
|
|
git-lfs version
|
|
else
|
|
echo >&2 "WARNING: git-lfs wasn't installed, see above for clues why"
|
|
fi
|