From e798a570997c65e1a8cc2c7cfefc07c59273a7c7 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Mon, 8 Jun 2020 09:43:37 +0100 Subject: [PATCH] snap: 0.x: prevent user site package conflicts (#3879) * snap: restrict site-package checks Fixes #3514 * debug commit * sync master, revert debug --- .travis.yml | 1 + scripts/ci/before_install.sh | 8 ++++++-- snap/snapcraft.yaml | 5 ++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9c87f2699..616a30d8e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,6 +106,7 @@ jobs: - sudo /snap/bin/lxd.migrate -yes - sudo /snap/bin/lxd waitready - sudo /snap/bin/lxd init --auto + - git fetch --tags script: - ./scripts/build_snap.sh after_failure: diff --git a/scripts/ci/before_install.sh b/scripts/ci/before_install.sh index c7b39dcbf..1a02b3387 100644 --- a/scripts/ci/before_install.sh +++ b/scripts/ci/before_install.sh @@ -15,7 +15,7 @@ fi echo >env.sh -if [[ "$TRAVIS_BUILD_STAGE_NAME" == "Test" ]]; then +if [[ "$TRAVIS_BUILD_STAGE_NAME" == "test" ]]; then if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then # NOTE: ssh keys for ssh test to be able to ssh to the localhost ssh-keygen -t rsa -N "" -f mykey @@ -52,7 +52,11 @@ elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then fi if [[ -n "$TRAVIS_TAG" ]]; then - echo "export SNAP_CHANNEL=stable" >>env.sh + if [[ $(echo "$TRAVIS_TAG" | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$') ]]; then + echo "export SNAP_CHANNEL=stable" >>env.sh + else + echo "export SNAP_CHANNEL=beta" >>env.sh + fi else echo "export SNAP_CHANNEL=edge" >>env.sh fi diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index e88338a3e..75d0f7daa 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -29,7 +29,7 @@ parts: - git override-pull: | snapcraftctl pull - snapcraftctl set-version `cd $SNAPCRAFT_PART_SRC && git describe --tags` + snapcraftctl set-version $(cd $SNAPCRAFT_PART_SRC && git describe --tags) git diff --quiet || error_dirty_build echo 'PKG = "snap"' > $SNAPCRAFT_PART_SRC/dvc/utils/build.py # install all optional extras @@ -38,6 +38,9 @@ parts: sed -rin 's/.*git.*diff.*--quiet.*//' $SNAPCRAFT_PART_SRC/dvc/version.py override-build: | snapcraftctl build + # prevent user site packages interfering with this snap - reference: + # https://github.com/snapcore/snapcraft/blob/19393ef36cd773a28131cec10cc0bfb3bf9c7e77/tools/snapcraft-override-build.sh#L18 + sed -ri 's/^(ENABLE_USER_SITE = )None$/\1False/' $SNAPCRAFT_PART_INSTALL/usr/lib/python*/site.py cp $SNAPCRAFT_PART_BUILD/scripts/completion/dvc.bash $SNAPCRAFT_PART_INSTALL/completion.sh apps: dvc: