From: Kefu Chai Date: Thu, 4 Jan 2018 07:01:47 +0000 (+0800) Subject: */build_deb: pass env vars with quotes X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=7203d4a34e2a176043538d28de01b01997950d18;p=ceph-build.git */build_deb: pass env vars with quotes should double quote env var in command substitution, otherwise shell will perform field splitting with the substitution, and only the first element in it will be consumed. that's why CEPH_EXTRA_CMAKE_ARGS will always be `-DALLOCATOR=libc` when it reaches debian/rules, even if 'CEPH_EXTRA_CMAKE_ARGS' is "-DALLOCATOR=libc -DWITH_STATIC_LIBSTDCXX=ON", and it is passed to pbuilder like: sudo CEPH_EXTRA_CMAKE_ARGS=$CEPH_EXTRA_CMAKE_ARGS pbuilder ... Fixes: http://tracker.ceph.com/issues/22465 Signed-off-by: Kefu Chai --- diff --git a/ceph-build/build/build_deb b/ceph-build/build/build_deb index 1268ab52..9a437239 100644 --- a/ceph-build/build/build_deb +++ b/ceph-build/build/build_deb @@ -73,14 +73,12 @@ echo deb vers $bpvers echo building debs for $DIST -if [ -n $(extra_cmake_args) ]; then - CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS $(extra_cmake_args)" -fi +CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS $(extra_cmake_args)" # pass only those env vars specifically noted sudo \ - CEPH_EXTRA_CMAKE_ARGS=$CEPH_EXTRA_CMAKE_ARGS \ - CEPH_EXTRA_CONFIGURE_ARGS=$CEPH_EXTRA_CONFIGURE_ARGS \ + CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS" \ + CEPH_EXTRA_CONFIGURE_ARGS="$CEPH_EXTRA_CONFIGURE_ARGS" \ pbuilder build \ --distribution $DIST \ --basetgz $pbuilddir/$DIST.tgz \ diff --git a/ceph-dev-build/build/build_deb b/ceph-dev-build/build/build_deb index 962eeb84..ca4a23b5 100644 --- a/ceph-dev-build/build/build_deb +++ b/ceph-dev-build/build/build_deb @@ -73,14 +73,12 @@ echo deb vers $bpvers echo building debs for $DIST -if [ -n $(extra_cmake_args) ]; then - CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS $(extra_cmake_args)" -fi +CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS $(extra_cmake_args)" # pass only those env vars specifically noted sudo \ - CEPH_EXTRA_CMAKE_ARGS=$CEPH_EXTRA_CMAKE_ARGS \ - CEPH_EXTRA_CONFIGURE_ARGS=$CEPH_EXTRA_CONFIGURE_ARGS \ + CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS" \ + CEPH_EXTRA_CONFIGURE_ARGS="$CEPH_EXTRA_CONFIGURE_ARGS" \ pbuilder build \ --distribution $DIST \ --basetgz $pbuilddir/$DIST.tgz \ diff --git a/ceph-dev-new-build/build/build_deb b/ceph-dev-new-build/build/build_deb index 962eeb84..ca4a23b5 100644 --- a/ceph-dev-new-build/build/build_deb +++ b/ceph-dev-new-build/build/build_deb @@ -73,14 +73,12 @@ echo deb vers $bpvers echo building debs for $DIST -if [ -n $(extra_cmake_args) ]; then - CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS $(extra_cmake_args)" -fi +CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS $(extra_cmake_args)" # pass only those env vars specifically noted sudo \ - CEPH_EXTRA_CMAKE_ARGS=$CEPH_EXTRA_CMAKE_ARGS \ - CEPH_EXTRA_CONFIGURE_ARGS=$CEPH_EXTRA_CONFIGURE_ARGS \ + CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS" \ + CEPH_EXTRA_CONFIGURE_ARGS="$CEPH_EXTRA_CONFIGURE_ARGS" \ pbuilder build \ --distribution $DIST \ --basetgz $pbuilddir/$DIST.tgz \