]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
*/build_deb: pass env vars with quotes 942/head
authorKefu Chai <tchaikov@gmail.com>
Thu, 4 Jan 2018 07:01:47 +0000 (15:01 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 5 Jan 2018 14:32:24 +0000 (22:32 +0800)
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 <kchai@redhat.com>
ceph-build/build/build_deb
ceph-dev-build/build/build_deb
ceph-dev-new-build/build/build_deb

index 1268ab522bb468f1b4ea27898460df3c4485d4fe..9a437239c05dea3ac5b70885b3d86b6fd5e02ea5 100644 (file)
@@ -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 \
index 962eeb84a097bc59790747638b990ac4152ef295..ca4a23b5935645a4a12ee567742937cf11d9e628 100644 (file)
@@ -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 \
index 962eeb84a097bc59790747638b990ac4152ef295..ca4a23b5935645a4a12ee567742937cf11d9e628 100644 (file)
@@ -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 \