From patchwork Wed Jul 12 13:00:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 107505 Delivered-To: patch@linaro.org Received: by 10.140.101.44 with SMTP id t41csp787073qge; Wed, 12 Jul 2017 06:06:48 -0700 (PDT) X-Received: by 10.200.53.11 with SMTP id y11mr6455276qtb.98.1499864808329; Wed, 12 Jul 2017 06:06:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1499864808; cv=none; d=google.com; s=arc-20160816; b=xUZxgWanVBvJUEQabkeDhLSNUowy24aZKdDWIvmQ9l2KgP8YiJG8R97pIiybgA6cYI zKLyxdmJSUVtO3Iu6f18MfnntHOfYnAD5uP5sOp4bDdMQxYw+Y+1eYnVEwraryWuq/cw yW6ZAteR7xY8VJeVUDMPV6whlaTZuDPbGziAtttPtvUFWvAARmxAb7hAHW4zCR5J6ssY gwNwjzfv1S9S+4Jca+MHsyd/8iySjpnF/jP/3EEzOheqEHB6hvdVBAwfPyjkXZjRD7Q3 Ri1QIGaTjUswEYwe5zVgFtdd3fRfGlJpcMIHy56vI5USJXmmsM/7O6SZyAr1ZZTG/o4x 8kag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=fIvuazu7LdRl3v3ZgtesQFVtVCQLlo1OkWi7Hyy28M4=; b=FSsWWgFkGqzDe9I4Jt8Ycsg2sEhwinWMVcg6aX6KRh0cO8+ZVyjW1+/78smokR8uDq ir60pXfPuUir/UJG2WKD2Vxh/48hkj0HgBH2Zu1snOwOX5GCmyq1t+iJSQJGQkE0SqMp /Vcq0hnwTVieGq3ZGw8ys+NlLbmFi6RyLb6siS15FkbPY4ioGaHvlFSG3/bAd8G5lYrc wyVznCA7mfdloSFnuVIqzf3VDvafaiZVJmU30OX9760GslHzJQOF/HFNTnK+p6GUnc2C lSDYr+XhEzLbihi0PLvHEBapQ2yjnm4DUouiQ1Sllhm1Wb6MjIMigBZuPbXkXypkKCV+ Vuog== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id s58si2217681qte.115.2017.07.12.06.06.48; Wed, 12 Jul 2017 06:06:48 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id BD2CC62DF9; Wed, 12 Jul 2017 13:06:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 9EE6E644B9; Wed, 12 Jul 2017 13:02:15 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id BA234644B7; Wed, 12 Jul 2017 13:02:05 +0000 (UTC) Received: from forward1m.cmail.yandex.net (forward1m.cmail.yandex.net [5.255.216.2]) by lists.linaro.org (Postfix) with ESMTPS id ED6D760679 for ; Wed, 12 Jul 2017 13:00:17 +0000 (UTC) Received: from smtp3o.mail.yandex.net (smtp3o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::27]) by forward1m.cmail.yandex.net (Yandex) with ESMTP id 65C3021225 for ; Wed, 12 Jul 2017 16:00:16 +0300 (MSK) Received: from smtp3o.mail.yandex.net (localhost.localdomain [127.0.0.1]) by smtp3o.mail.yandex.net (Yandex) with ESMTP id 0E0AA2940F1B for ; Wed, 12 Jul 2017 16:00:14 +0300 (MSK) Received: by smtp3o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id 1plU0zQJQm-0DvOQlQi; Wed, 12 Jul 2017 16:00:13 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) X-Yandex-Suid-Status: 1 0 From: Github ODP bot To: lng-odp@lists.linaro.org Date: Wed, 12 Jul 2017 16:00:05 +0300 Message-Id: <1499864406-10454-3-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1499864406-10454-1-git-send-email-odpbot@yandex.ru> References: <1499864406-10454-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 73 Subject: [lng-odp] [PATCH v2 2/3] travis: simplify cross-compilation setup X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov Following Maxim's idea use apt-get to download and install cross-packages. Signed-off-by: Dmitry Eremin-Solenikov --- /** Email created from pull request 73 (lumag:cross-2) ** https://github.com/Linaro/odp/pull/73 ** Patch: https://github.com/Linaro/odp/pull/73.patch ** Base sha: 7fc6d27e937b57b31360b07028388c811f8300dc ** Merge commit sha: 3dd283d7e61ba21beed2607ef200584754f22d76 **/ .travis.yml | 65 ++++++++++++++++++++----------------------------------------- 1 file changed, 21 insertions(+), 44 deletions(-) diff --git a/.travis.yml b/.travis.yml index 665d70f8..36728afc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,10 +43,6 @@ addons: - clang-3.8 - automake autoconf libtool libssl-dev graphviz mscgen doxygen - libpcap-dev - - dpkg-cross equivs - - gcc-aarch64-linux-gnu pkg-config-aarch64-linux-gnu libc6-dev-arm64-cross - - gcc-arm-linux-gnueabihf pkg-config-arm-linux-gnueabihf libc6-dev-armhf-cross - - gcc-powerpc-linux-gnu pkg-config-powerpc-linux-gnu libc6-dev-powerpc-cross # coverity_scan: # project: # name: "$TRAVIS_REPO_SLUG" @@ -66,7 +62,24 @@ env: - CONF="--enable-schedule-iquery" before_install: -# Install cunit for the validation tests because distro version is too old and fails C99 compile + + # Install cross toolchains, etc + # apt-get update may fail thanks to Ubuntu removing Packages/indices while not removing relevant parts of Release file + - if [ -n "$CROSS_ARCH" ] ; + then + BUILD_GNU_TYPE=`dpkg-architecture -a"$CROSS_ARCH" -qDEB_BUILD_GNU_TYPE` ; + CROSS_GNU_TYPE=`dpkg-architecture -a"$CROSS_ARCH" -qDEB_HOST_GNU_TYPE` ; + CROSS_MULTIARCH=`dpkg-architecture -a"$CROSS_ARCH" -qDEB_HOST_MULTIARCH` ; + CROSS="--host="$CROSS_GNU_TYPE" --build="$BUILD_GNU_TYPE" --prefix=/usr --includedir=/usr/include/"$CROSS_MULTIARCH" --libdir=/usr/lib/"$CROSS_MULTIARCH" --libexecdir=/usr/lib/"$CROSS_MULTIARCH"" ; + sudo dpkg --add-architecture "$CROSS_ARCH" ; + sudo -E apt-add-repository -y "deb http://ports.ubuntu.com trusty main" ; + sudo -E apt-add-repository -y "deb http://ports.ubuntu.com trusty-updates main" ; + sudo -E apt-get -y update || true ; + sudo -E apt-get -y --no-install-suggests --no-install-recommends --force-yes install build-essential gcc-"$CROSS_GNU_TYPE" pkg-config-"$CROSS_GNU_TYPE" ; + sudo -E apt-get -y --no-install-suggests --no-install-recommends --force-yes install libc6-dev:"$CROSS_ARCH" libssl-dev:"$CROSS_ARCH" zlib1g-dev:"$CROSS_ARCH" libconfig-dev:"$CROSS_ARCH" ; + fi + + # Install cunit for the validation tests because distro version is too old and fails C99 compile - sudo apt-get remove libcunit1-dev libcunit1 - export CUNIT_VERSION=2.1-3 - curl -sSOL https://github.com/Linaro/libcunit/releases/download/${CUNIT_VERSION}/CUnit-${CUNIT_VERSION}.tar.bz2 @@ -134,63 +147,27 @@ jobs: include: - stage: test compiler: aarch64-linux-gnu-gcc - env: TEST="aarch64-linux-gnu" CROSS="--host=aarch64-linux-gnu --prefix=/usr/aarch64-linux-gnu" + env: TEST="aarch64-linux-gnu" CROSS_ARCH="arm64" install: true script: - - mkdir cross - - pushd cross - # one can not include colon in the command or bad things will happen, so mimic it - - env echo -e 'Provides\x3a multiarch-support, debconf, debconf-2.0' > dummy - - equivs-build -a arm64 dummy - - wget - http://ports.ubuntu.com/pool/main/o/openssl/libssl-dev_1.0.1f-1ubuntu2.22_arm64.deb - http://ports.ubuntu.com/pool/main/o/openssl/libssl1.0.0_1.0.1f-1ubuntu2.22_arm64.deb - http://ports.ubuntu.com/pool/main/z/zlib/zlib1g-dev_1.2.8.dfsg-1ubuntu1_arm64.deb - http://ports.ubuntu.com/pool/main/z/zlib/zlib1g_1.2.8.dfsg-1ubuntu1_arm64.deb - - sudo dpkg-cross -i -M -A -a arm64 *.deb - - popd - ./bootstrap - ./configure --prefix=$HOME/odp-install $CROSS --disable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-test-perf-proc --enable-test-example - make -j $(nproc) - stage: test compiler: arm-linux-gnueabihf-gcc - env: TEST="arm-linux-gnueabihf" CROSS="--host=arm-linux-gnueabihf --prefix=/usr/arm-linux-gnueabihf" + env: TEST="arm-linux-gnueabihf" CROSS_ARCH="armhf" install: true script: - - mkdir cross - - pushd cross - # one can not include colon in the command or bad things will happen, so mimic it - - env echo -e 'Provides\x3a multiarch-support, debconf, debconf-2.0' > dummy - - equivs-build -a armhf dummy - - wget - http://ports.ubuntu.com/pool/main/o/openssl/libssl-dev_1.0.1f-1ubuntu2.22_armhf.deb - http://ports.ubuntu.com/pool/main/o/openssl/libssl1.0.0_1.0.1f-1ubuntu2.22_armhf.deb - http://ports.ubuntu.com/pool/main/z/zlib/zlib1g-dev_1.2.8.dfsg-1ubuntu1_armhf.deb - http://ports.ubuntu.com/pool/main/z/zlib/zlib1g_1.2.8.dfsg-1ubuntu1_armhf.deb - - sudo dpkg-cross -i -M -A -a armhf *.deb - - popd - ./bootstrap - ./configure --prefix=$HOME/odp-install $CROSS --disable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-test-perf-proc --enable-test-example - make -j $(nproc) - stage: test compiler: powerpc-linux-gnu-gcc - env: TEST="powerpc-linux-gnu" CROSS="--host=powerpc-linux-gnu --prefix=/usr/powerpc-linux-gnu" + env: TEST="powerpc-linux-gnueabihf" CROSS_ARCH="powerpc" install: true script: - - mkdir cross - - pushd cross - # one can not include colon in the command or bad things will happen, so mimic it - - env echo -e 'Provides\x3a multiarch-support, debconf, debconf-2.0' > dummy - - equivs-build -a powerpc dummy - - wget - http://ports.ubuntu.com/pool/main/o/openssl/libssl-dev_1.0.1f-1ubuntu2.22_powerpc.deb - http://ports.ubuntu.com/pool/main/o/openssl/libssl1.0.0_1.0.1f-1ubuntu2.22_powerpc.deb - http://ports.ubuntu.com/pool/main/z/zlib/zlib1g-dev_1.2.8.dfsg-1ubuntu1_powerpc.deb - http://ports.ubuntu.com/pool/main/z/zlib/zlib1g_1.2.8.dfsg-1ubuntu1_powerpc.deb - - sudo dpkg-cross -i -M -A -a powerpc *.deb - - popd - ./bootstrap - ./configure --prefix=$HOME/odp-install $CROSS --disable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-test-perf-proc --enable-test-example