Add initial GitLab CI support

* .gitlab-ci.yml: New file.
* travis-build.sh: Print $CC -print-multi-lib.  Print config.log
in case of configure failure.
* travis-install.sh: Check sudo availability.  Install autoconf,
automake, file, gawk, gcc-multilib, git, gzip, make, and xz-utils
for all targets.
(musl-gcc): Install ca-certificates.
This commit is contained in:
Дмитрий Левин 2017-11-29 03:52:27 +00:00
parent acffeae467
commit 66b37bb737
3 changed files with 58 additions and 13 deletions

37
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,37 @@
image: "ubuntu:17.10"
before_script:
- ./travis-install.sh
variables:
GIT_DEPTH: "2147483647"
SLEEP_A_BIT: "sleep 0.2"
VERBOSE: "1"
gcc-x86_64:
stage: test
script: ./travis-build.sh
variables:
CC: "gcc"
TARGET: "x86_64"
gcc-x86:
stage: test
script: ./travis-build.sh
variables:
CC: "gcc"
TARGET: "x86"
clang-x86_64:
stage: test
script: ./travis-build.sh
variables:
CC: "clang"
TARGET: "x86_64"
clang-x86:
stage: test
script: ./travis-build.sh
variables:
CC: "clang"
TARGET: "x86"

View File

@ -49,6 +49,7 @@ libc="$(ldd /bin/sh |sed -n 's|^[^/]*\(/[^ ]*/libc\.so[^ ]*\).*|\1|p' |head -1)"
$libc |head -1
file -L /bin/sh
$CC --version |head -1
$CC -print-multi-lib ||:
make --version |head -1
autoconf --version |head -1
automake --version |head -1
@ -62,7 +63,11 @@ export CC_FOR_BUILD="$CC"
./bootstrap
./configure --enable-maintainer-mode \
${DISTCHECK_CONFIGURE_FLAGS-} \
#
|| {
rc=$?
cat config.log
exit $rc
}
j=-j`getconf _NPROCESSORS_ONLN 2> /dev/null` || j=

View File

@ -1,21 +1,24 @@
#!/bin/sh -ex
type sudo >/dev/null 2>&1 && sudo=sudo || sudo=
common_packages='autoconf automake file gawk gcc-multilib git gzip make xz-utils'
updated=
apt_get_install()
{
[ -n "$updated" ] || {
sudo apt-get -qq update
$sudo apt-get -qq update
updated=1
}
sudo apt-get -qq --no-install-suggests --no-install-recommends \
$sudo apt-get -qq --no-install-suggests --no-install-recommends \
install -y "$@"
}
case "$KHEADERS" in
*/*)
git clone --depth=1 https://github.com/"$KHEADERS" kernel
sudo make -C kernel headers_install INSTALL_HDR_PATH=/opt/kernel
sudo rm -rf kernel
$sudo make -C kernel headers_install INSTALL_HDR_PATH=/opt/kernel
$sudo rm -rf kernel
KHEADERS_INC=/opt/kernel/include
;;
*)
@ -25,17 +28,17 @@ esac
case "$CC" in
gcc)
apt_get_install gcc-multilib
apt_get_install $common_packages
;;
gcc-*)
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
apt_get_install gcc-multilib "$CC"-multilib
$sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
apt_get_install $common_packages "$CC"-multilib
;;
clang-*)
apt_get_install gcc-multilib "$CC"
clang*)
apt_get_install $common_packages "$CC"
;;
musl-gcc)
apt_get_install gcc-multilib
apt_get_install $common_packages ca-certificates
git clone --depth=1 https://github.com/strace/musl
cd musl
CC=gcc
@ -51,10 +54,10 @@ case "$CC" in
esac
./configure --prefix=/opt/musl --exec-prefix=/usr ${build}
make
sudo make install
$sudo make install
cd -
rm -rf musl
sudo ln -s \
$sudo ln -s \
$KHEADERS_INC/asm* \
$KHEADERS_INC/linux \
$KHEADERS_INC/mtd \