]> git.proxmox.com Git - ceph.git/blob - ceph/do_freebsd.sh
bump version to 18.2.2-pve1
[ceph.git] / ceph / do_freebsd.sh
1 #!/bin/sh -xve
2 export NPROC=`sysctl -n hw.ncpu`
3
4 if [ x"$1"x = x"--deps"x ]; then
5 sudo ./install-deps.sh
6 fi
7
8 if [ x"$CEPH_DEV"x != xx ]; then
9 BUILDOPTS="$BUILDOPTS V=1 VERBOSE=1"
10 CXX_FLAGS_DEBUG="-DCEPH_DEV"
11 C_FLAGS_DEBUG="-DCEPH_DEV"
12 fi
13
14 # To test with a new release Clang, use with cmake:
15 # -D CMAKE_CXX_COMPILER="/usr/local/bin/clang++-devel" \
16 # -D CMAKE_C_COMPILER="/usr/local/bin/clang-devel" \
17 COMPILE_FLAGS="-O0 -g"
18 COMPILE_FLAGS="${COMPILE_FLAGS} -fuse-ld=/usr/local/bin/ld -Wno-unused-command-line-argument"
19 CMAKE_CXX_FLAGS_DEBUG="$CXX_FLAGS_DEBUG $COMPILE_FLAGS"
20 CMAKE_C_FLAGS_DEBUG="$C_FLAGS_DEBUG $COMPILE_FLAGS"
21
22 #
23 # On FreeBSD we need to preinstall all the tools that are required for building
24 # dashboard, because versions fetched are not working on FreeBSD.
25
26
27 [ -z "$BUILD_DIR" ] && BUILD_DIR=build
28
29 echo Keeping the old build
30 if [ -d ${BUILD_DIR}.old ]; then
31 sudo mv ${BUILD_DIR}.old ${BUILD_DIR}.del
32 sudo rm -rf ${BUILD_DIR}.del &
33 fi
34 if [ -d ${BUILD_DIR} ]; then
35 sudo mv ${BUILD_DIR} ${BUILD_DIR}.old
36 fi
37
38 mkdir ${BUILD_DIR}
39 ./do_cmake.sh "$*" \
40 -D WITH_CCACHE=ON \
41 -D CMAKE_BUILD_TYPE=Debug \
42 -D CMAKE_CXX_FLAGS_DEBUG="$CMAKE_CXX_FLAGS_DEBUG" \
43 -D CMAKE_C_FLAGS_DEBUG="$CMAKE_C_FLAGS_DEBUG" \
44 -D ENABLE_GIT_VERSION=OFF \
45 -D WITH_RADOSGW_AMQP_ENDPOINT=OFF \
46 -D WITH_RADOSGW_KAFKA_ENDPOINT=OFF \
47 -D WITH_SYSTEMD=OFF \
48 -D WITH_SYSTEM_BOOST=ON \
49 -D WITH_SYSTEM_NPM=ON \
50 -D WITH_LTTNG=OFF \
51 -D WITH_BABELTRACE=OFF \
52 -D WITH_SEASTAR=OFF \
53 -D WITH_FUSE=ON \
54 -D WITH_KRBD=OFF \
55 -D WITH_XFS=OFF \
56 -D WITH_KVS=ON \
57 -D CEPH_MAN_DIR=man \
58 -D WITH_LIBCEPHFS=OFF \
59 -D WITH_CEPHFS=OFF \
60 -D WITH_MGR=YES \
61 -D WITH_RDMA=OFF \
62 -D WITH_SPDK=OFF \
63 -D WITH_JAEGER=OFF \
64 2>&1 | tee cmake.log
65
66 echo -n "start building: "; date
67 printenv
68
69 cd ${BUILD_DIR}
70 gmake -j$CPUS V=1 VERBOSE=1
71 gmake tests
72 echo -n "start testing: "; date ;
73 ctest -j $CPUS || RETEST=1
74
75 echo "Testing result, retest: = " $RETEST
76
77 if [ $RETEST -eq 1 ]; then
78 # make sure no leftovers are there
79 killall ceph-osd || true
80 killall ceph-mgr || true
81 killall ceph-mds || true
82 killall ceph-mon || true
83 # clean up after testing
84 rm -rf td/* /tmp/td src/test/td/* || true
85 rm -rf /tmp/ceph-asok.* || true
86 rm -rf /tmp/cores.* || true
87 rm -rf /tmp/*.core || true
88
89 ctest --output-on-failure --rerun-failed
90 fi
91
92 STATUS=$?
93
94 # cleanup after the fact
95 rm -rf /tmp/tmp* /tmp/foo /tmp/pip* /tmp/big* /tmp/pymp* $TMPDIR || true
96
97 echo -n "Ended: "; date
98
99 return $STATUS
100