From ab7228a83db581beee83e15dc0411e5c14b385db Mon Sep 17 00:00:00 2001 From: Yusuke Tsutsumi Date: Tue, 18 Feb 2020 21:35:46 -0800 Subject: [PATCH 1/3] build: adding sdist to build scripts Some operating systems (such as SUSE with py2pack) have an easier time packaging source distributions. Adding a check for the setup.py before attempting to build distributions. --- scripts/build.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index 97af69babc8..2ee7214b9dc 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,7 +6,7 @@ set -ev # Get the latest versions of packaging tools -python3 -m pip install --upgrade pip setuptools wheel +python3 -m pip install --user --upgrade pip setuptools wheel BASEDIR=$(dirname $(readlink -f $(dirname $0))) @@ -17,8 +17,14 @@ BASEDIR=$(dirname $(readlink -f $(dirname $0))) for d in opentelemetry-api/ opentelemetry-sdk/ ext/*/ ; do ( + echo "building $d" cd "$d" - python3 setup.py --verbose bdist_wheel --dist-dir "$BASEDIR/dist/" + # some ext directories (such as docker tests) + # are not intended to be packaged. Verify the + # intent by looking for a setup.py + if [ -f setup.py ]; then + python3 setup.py --verbose bdist_wheel --dist-dir "$BASEDIR/dist/" sdist --dist-dir "$BASEDIR/dist/" + fi ) done ) From b4e77482321278fb870e9a56c59ec8ec1b1f701c Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Thu, 20 Feb 2020 10:38:29 -0800 Subject: [PATCH 2/3] Build wheels from source dists --- scripts/build.sh | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index 2ee7214b9dc..cd857d048ad 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,25 +6,32 @@ set -ev # Get the latest versions of packaging tools -python3 -m pip install --user --upgrade pip setuptools wheel +python3 -m pip install --upgrade pip setuptools wheel BASEDIR=$(dirname $(readlink -f $(dirname $0))) +DISTDIR=dist ( cd $BASEDIR - mkdir -p dist - rm -rf dist/* + mkdir -p $DISTDIR + rm -rf $DISTDIR/* for d in opentelemetry-api/ opentelemetry-sdk/ ext/*/ ; do ( echo "building $d" cd "$d" - # some ext directories (such as docker tests) - # are not intended to be packaged. Verify the - # intent by looking for a setup.py + # Some ext directories (such as docker tests) are not intended to be + # packaged. Verify the intent by looking for a setup.py. if [ -f setup.py ]; then - python3 setup.py --verbose bdist_wheel --dist-dir "$BASEDIR/dist/" sdist --dist-dir "$BASEDIR/dist/" + python3 setup.py sdist --dist-dir "$BASEDIR/dist/" clean --all fi ) done + # Build a wheel for each source distribution + ( + cd $DISTDIR + for x in *.tar.gz ; do + pip wheel --no-deps $x + done + ) ) From 43ecf74152a99a616ab71f8a18e597c27ad9874b Mon Sep 17 00:00:00 2001 From: Chris Kleinknecht Date: Thu, 20 Feb 2020 15:10:24 -0800 Subject: [PATCH 3/3] Better safe than sorry: do `rm` without `-f` --- scripts/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index cd857d048ad..c66e234af05 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -14,7 +14,7 @@ DISTDIR=dist ( cd $BASEDIR mkdir -p $DISTDIR - rm -rf $DISTDIR/* + rm -r $DISTDIR/* for d in opentelemetry-api/ opentelemetry-sdk/ ext/*/ ; do (