From patchwork Sun Jan 20 19:19:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 10772513 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8885214E5 for ; Sun, 20 Jan 2019 19:20:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 65C962A2B4 for ; Sun, 20 Jan 2019 19:20:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 53CE22A2B0; Sun, 20 Jan 2019 19:20:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E32442A2B0 for ; Sun, 20 Jan 2019 19:20:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727591AbfATTUA (ORCPT ); Sun, 20 Jan 2019 14:20:00 -0500 Received: from mx1.polytechnique.org ([129.104.30.34]:52126 "EHLO mx1.polytechnique.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727208AbfATTUA (ORCPT ); Sun, 20 Jan 2019 14:20:00 -0500 Received: from localhost.localdomain (89-156-252-9.rev.numericable.fr [89.156.252.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 1D6E85611EB for ; Sun, 20 Jan 2019 20:19:56 +0100 (CET) From: Nicolas Iooss To: selinux@vger.kernel.org Subject: [PATCH 1/3] Travis-CI: upgrade PyPy to 6.0 Date: Sun, 20 Jan 2019 20:19:31 +0100 Message-Id: <20190120191933.21343-1-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Sun Jan 20 20:19:56 2019 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org Sender: selinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP PyPy 6.0 was released in April 2018 but became available on Travis-CI only recently. Now that it is available, use it. While at it, compile Python modules with libpypy-c.so, now that PyPy provides this library. This would enable linking Python modules with -Wl,-no-undefined (or -Wl,-z,defs) and help fixing issues with https://github.com/SELinuxProject/selinux/pull/130. Tracking issues: * https://github.com/travis-ci/travis-ci/issues/9542 * https://travis-ci.community/t/pypy-2-7-on-xenial/889 Signed-off-by: Nicolas Iooss Acked-by: Petr Lautrbach --- .travis.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 08a29b2f5adc..b8e97f83bbcd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,10 +20,8 @@ env: - PYVER=python2.7 RUBYLIBVER=2.5.1 - PYVER=python3.5 RUBYLIBVER=2.5.1 - PYVER=python3.6 RUBYLIBVER=2.5.1 - # pypy2.7 seems not to be available in Travis-CI Xenial template yet. - # https://github.com/travis-ci/travis-ci/issues/9542 - #- PYVER=pypy RUBYLIBVER=2.5.1 - - PYVER=pypy3.5 RUBYLIBVER=2.5.1 + - PYVER=pypy2.7-6.0 RUBYLIBVER=2.5.1 + - PYVER=pypy3.5-6.0 RUBYLIBVER=2.5.1 # Test several Ruby versions - PYVER=python3.7 RUBYLIBVER=2.4 @@ -98,8 +96,12 @@ before_script: - export PYTHON="$VIRTUAL_ENV/bin/python" # Use the header files in /opt/python/... for Python because the virtualenvs do not provide Python.h - export PKG_CONFIG_PATH="/opt/python/$($PYTHON -c 'import sys;print("%d.%d.%d" % sys.version_info[:3])')/lib/pkgconfig" - # PyPy does not provide a config file for pkg-config nor a pypy-c.so - - if echo "$PYVER" | grep -q pypy ; then export PYINC=-I$($PYTHON -c 'import sys;print(sys.prefix)')/include PYLIBS= ; fi + # PyPy does not provide a config file for pkg-config + # libpypy-c.so is provided in bin/libpypy-c.so for PyPy and bin/libpypy3-c.so for PyPy3 + - if echo "$PYVER" | grep -q pypy ; then + export PYINC=-I$($PYTHON -c 'import sys;print(sys.prefix)')/include ; + export PYLIBS="$($PYTHON -c 'import sys;print("-L%s/bin -l%s" % (sys.prefix, "pypy-c" if sys.version_info < (3,) else "pypy3-c"))')" ; + fi # Find the Ruby executable with version $RUBYLIBVER - rvm reinstall ruby-$RUBYLIBVER --binary From patchwork Sun Jan 20 19:19:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 10772517 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5900517F0 for ; Sun, 20 Jan 2019 19:20:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 45AEB2A2B0 for ; Sun, 20 Jan 2019 19:20:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 39BD72A2B5; Sun, 20 Jan 2019 19:20:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0FBB12A2B1 for ; Sun, 20 Jan 2019 19:20:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727208AbfATTUA (ORCPT ); Sun, 20 Jan 2019 14:20:00 -0500 Received: from mx1.polytechnique.org ([129.104.30.34]:57647 "EHLO mx1.polytechnique.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727568AbfATTUA (ORCPT ); Sun, 20 Jan 2019 14:20:00 -0500 Received: from localhost.localdomain (89-156-252-9.rev.numericable.fr [89.156.252.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id E03CB56120C for ; Sun, 20 Jan 2019 20:19:57 +0100 (CET) From: Nicolas Iooss To: selinux@vger.kernel.org Subject: [PATCH 2/3] Travis-CI: add Ruby 2.6 to the test matrix Date: Sun, 20 Jan 2019 20:19:32 +0100 Message-Id: <20190120191933.21343-2-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190120191933.21343-1-nicolas.iooss@m4x.org> References: <20190120191933.21343-1-nicolas.iooss@m4x.org> MIME-Version: 1.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Sun Jan 20 20:19:58 2019 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org Sender: selinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Nicolas Iooss --- .travis.yml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index b8e97f83bbcd..19914f4c2823 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,19 +11,20 @@ compiler: env: matrix: # Test the last version of Python and Ruby together, with some linkers - - PYVER=python3.7 RUBYLIBVER=2.5.1 - - PYVER=python3.7 RUBYLIBVER=2.5.1 TEST_FLAGS_OVERRIDE=1 - - PYVER=python3.7 RUBYLIBVER=2.5.1 LINKER=gold - - PYVER=python3.7 RUBYLIBVER=2.5.1 LINKER=bfd + - PYVER=python3.7 RUBYLIBVER=2.6 + - PYVER=python3.7 RUBYLIBVER=2.6 TEST_FLAGS_OVERRIDE=1 + - PYVER=python3.7 RUBYLIBVER=2.6 LINKER=gold + - PYVER=python3.7 RUBYLIBVER=2.6 LINKER=bfd # Test several Python versions - - PYVER=python2.7 RUBYLIBVER=2.5.1 - - PYVER=python3.5 RUBYLIBVER=2.5.1 - - PYVER=python3.6 RUBYLIBVER=2.5.1 - - PYVER=pypy2.7-6.0 RUBYLIBVER=2.5.1 - - PYVER=pypy3.5-6.0 RUBYLIBVER=2.5.1 + - PYVER=python2.7 RUBYLIBVER=2.6 + - PYVER=python3.5 RUBYLIBVER=2.6 + - PYVER=python3.6 RUBYLIBVER=2.6 + - PYVER=pypy2.7-6.0 RUBYLIBVER=2.6 + - PYVER=pypy3.5-6.0 RUBYLIBVER=2.6 - # Test several Ruby versions + # Test several Ruby versions (http://rubies.travis-ci.org/) + - PYVER=python3.7 RUBYLIBVER=2.5.1 - PYVER=python3.7 RUBYLIBVER=2.4 - PYVER=python3.7 RUBYLIBVER=2.3 - PYVER=python3.7 RUBYLIBVER=2.2 @@ -31,9 +32,9 @@ env: matrix: exclude: - compiler: clang - env: PYVER=python3.7 RUBYLIBVER=2.5.1 LINKER=gold + env: PYVER=python3.7 RUBYLIBVER=2.6 LINKER=gold - compiler: clang - env: PYVER=python3.7 RUBYLIBVER=2.5.1 LINKER=bfd + env: PYVER=python3.7 RUBYLIBVER=2.6 LINKER=bfd # Use Travis-CI Ubuntu 16.04 Xenial Xerus infrastructure, "full image" variant sudo: required From patchwork Sun Jan 20 19:19:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Iooss X-Patchwork-Id: 10772515 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0B33B1874 for ; Sun, 20 Jan 2019 19:20:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EECB52A2B1 for ; Sun, 20 Jan 2019 19:20:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E36452A2B4; Sun, 20 Jan 2019 19:20:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DA2082A2B2 for ; Sun, 20 Jan 2019 19:20:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727633AbfATTUC (ORCPT ); Sun, 20 Jan 2019 14:20:02 -0500 Received: from mx1.polytechnique.org ([129.104.30.34]:58006 "EHLO mx1.polytechnique.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727568AbfATTUC (ORCPT ); Sun, 20 Jan 2019 14:20:02 -0500 Received: from localhost.localdomain (89-156-252-9.rev.numericable.fr [89.156.252.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id B805B56120C for ; Sun, 20 Jan 2019 20:19:59 +0100 (CET) From: Nicolas Iooss To: selinux@vger.kernel.org Subject: [PATCH 3/3] scripts: introduce env_use_destdir.sh helper Date: Sun, 20 Jan 2019 20:19:33 +0100 Message-Id: <20190120191933.21343-3-nicolas.iooss@m4x.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190120191933.21343-1-nicolas.iooss@m4x.org> References: <20190120191933.21343-1-nicolas.iooss@m4x.org> MIME-Version: 1.0 X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Sun Jan 20 20:20:00 2019 +0100 (CET)) X-Org-Mail: nicolas.iooss.2010@polytechnique.org Sender: selinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Set-up environment variables in order to use DESTDIR in Python, Ruby, etc. This makes testing Python scripts easier. Signed-off-by: Nicolas Iooss --- .travis.yml | 5 +---- scripts/env_use_destdir | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100755 scripts/env_use_destdir diff --git a/.travis.yml b/.travis.yml index 19914f4c2823..7a9e73ce55db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,10 +129,7 @@ script: - make all $EXPLICIT_MAKE_VARS -k # Set up environment variables for the tests - - export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib" - - export PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH" - - export PYTHONPATH="$DESTDIR$($PYTHON -c "from distutils.sysconfig import *;print(get_python_lib(prefix='/usr'))")" - - export RUBYLIB="$DESTDIR/$($RUBY -e 'puts RbConfig::CONFIG["vendorlibdir"]'):$DESTDIR/$($RUBY -e 'puts RbConfig::CONFIG["vendorarchdir"]')" + - . ./scripts/env_use_destdir # Show variables (to help debugging issues) - echo "$LD_LIBRARY_PATH" diff --git a/scripts/env_use_destdir b/scripts/env_use_destdir new file mode 100755 index 000000000000..4fbfb8dec44f --- /dev/null +++ b/scripts/env_use_destdir @@ -0,0 +1,36 @@ +#!/bin/sh +# Set-up environment variables to run programs which are built in DESTDIR folder +# +# Usage example to use variables in the current shell: +# $ export DESTDIR=$HOME/selinux-destdir +# $ make install install-pywrap install-rubywrap +# $ . ./scripts/env_use_destdir +# $ make test +# +# Or to use variables in a subcommand, for example to run tests: +# $ export DESTDIR=$HOME/selinux-destdir +# $ make install install-pywrap install-rubywrap +# $ ./scripts/env_use_destdir secilc ... +# $ ./scripts/env_use_destdir make test + +if [ -z "${DESTDIR:-}" ] ; then + echo >&2 "Error: variable DESTDIR needs to be defined in order to use this script." + echo >&2 "Example:" + # shellcheck disable=SC2164 + echo >&2 " DESTDIR=$(cd "$(dirname -- "$0")/.." ; pwd)/DESTDIR . $0" + exit 1 +fi + +export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib" +export PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH" + +# shellcheck disable=SC2155 +export PYTHONPATH="$DESTDIR$(${PYTHON:-python} -c "from distutils.sysconfig import *;print(get_python_lib(prefix='/usr'))")" + +# shellcheck disable=SC2155 +export RUBYLIB="$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorlibdir"]'):$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorarchdir"]')" + +# Run the command given on the command line +if [ $# -gt 0 ] ; then + exec "$@" +fi