2020-04-04 01:08:49 +00:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Install dependencies required to build and test Git inside container
|
|
|
|
#
|
|
|
|
|
2023-11-09 08:05:34 +00:00
|
|
|
. ${0%/*}/lib.sh
|
|
|
|
|
|
|
|
begin_group "Install dependencies"
|
|
|
|
|
2020-04-04 01:08:49 +00:00
|
|
|
case "$jobname" in
|
2021-11-23 16:29:10 +00:00
|
|
|
linux32)
|
2020-04-04 01:08:49 +00:00
|
|
|
linux32 --32bit i386 sh -c '
|
|
|
|
apt update >/dev/null &&
|
|
|
|
apt install -y build-essential libcurl4-openssl-dev \
|
|
|
|
libssl-dev libexpat-dev gettext python >/dev/null
|
|
|
|
'
|
|
|
|
;;
|
2020-04-04 01:08:50 +00:00
|
|
|
linux-musl)
|
2023-11-09 08:05:54 +00:00
|
|
|
apk add --update shadow sudo build-base curl-dev openssl-dev expat-dev gettext \
|
ci: install test dependencies for linux-musl
The linux-musl CI job executes tests on Alpine Linux, which is based on
musl libc instead of glibc. We're missing some test dependencies though,
which causes us to skip a subset of tests.
Install these test dependencies to increase our test coverage on this
platform. There are still some missing test dependecies, but these do
not have a corresponding package in the Alpine repositories:
- p4 and p4d, both parts of the Perforce version control system.
- cvsps, which generates patch sets for CVS.
- Subversion and the SVN::Core Perl library, the latter of which is
not available in the Alpine repositories. While the tool itself is
available, all Subversion-related tests are skipped without the
SVN::Core Perl library anyway.
The Apache2-based tests require a bit more care though. For one, the
module path is different on Alpine Linux, which requires us to add it to
the list of known module paths to detect it. But second, the WebDAV
module on Alpine Linux is broken because it does not bundle the default
database backend [1]. We thus need to skip the WebDAV-based tests on
Alpine Linux for now.
[1]: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13112
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-11-09 08:05:50 +00:00
|
|
|
pcre2-dev python3 musl-libintl perl-utils ncurses \
|
|
|
|
apache2 apache2-http2 apache2-proxy apache2-ssl apache2-webdav apr-util-dbd_sqlite3 \
|
|
|
|
bash cvs gnupg perl-cgi perl-dbd-sqlite >/dev/null
|
2020-04-04 01:08:50 +00:00
|
|
|
;;
|
2023-12-28 11:02:50 +00:00
|
|
|
linux-*|StaticAnalysis)
|
2023-11-09 08:05:54 +00:00
|
|
|
# Required so that apt doesn't wait for user input on certain packages.
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
|
|
|
|
apt update -q &&
|
|
|
|
apt install -q -y sudo git make language-pack-is libsvn-perl apache2 libssl-dev \
|
|
|
|
libcurl4-openssl-dev libexpat-dev tcl tk gettext zlib1g-dev \
|
|
|
|
perl-modules liberror-perl libauthen-sasl-perl libemail-valid-perl \
|
|
|
|
libdbd-sqlite3-perl libio-socket-ssl-perl libnet-smtp-ssl-perl ${CC_PACKAGE:-${CC:-gcc}} \
|
|
|
|
apache2 cvs cvsps gnupg libcgi-pm-perl subversion
|
2023-12-28 11:02:50 +00:00
|
|
|
|
|
|
|
if test "$jobname" = StaticAnalysis
|
|
|
|
then
|
|
|
|
apt install -q -y coccinelle
|
|
|
|
fi
|
2023-11-09 08:05:54 +00:00
|
|
|
;;
|
2021-08-09 01:38:33 +00:00
|
|
|
pedantic)
|
|
|
|
dnf -yq update >/dev/null &&
|
|
|
|
dnf -yq install make gcc findutils diffutils perl python3 gettext zlib-devel expat-devel openssl-devel curl-devel pcre2-devel >/dev/null
|
|
|
|
;;
|
2020-04-04 01:08:49 +00:00
|
|
|
esac
|
2023-11-09 08:05:34 +00:00
|
|
|
|
|
|
|
end_group "Install dependencies"
|