]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
ceph-build: report deb build started status to shaman
authorAndrew Schoen <aschoen@redhat.com>
Tue, 18 Oct 2016 19:33:36 +0000 (14:33 -0500)
committerAndrew Schoen <aschoen@redhat.com>
Tue, 18 Oct 2016 19:33:36 +0000 (14:33 -0500)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
ceph-build/build/build_deb
ceph-build/build/setup_deb [new file with mode: 0644]
ceph-build/config/definitions/ceph-build.yml

index ca987ca918e5ae0b022296eaa65774a44cfbadde..fa3b826ba818f16ab379f14050e2d9620d49846b 100644 (file)
@@ -1,98 +1,6 @@
 #!/bin/bash
 set -ex
 
-# Only do actual work when we are a DEB distro
-if test -f /etc/redhat-release ; then
-    exit 0
-fi
-
-cd $WORKSPACE
-
-get_bptag() {
-    dist=$1
-
-    [ "$dist" = "sid" ] && dver=""
-    [ "$dist" = "jessie" ] && dver="~bpo80+1"
-    [ "$dist" = "wheezy" ] && dver="~bpo70+1"
-    [ "$dist" = "squeeze" ] && dver="~bpo60+1"
-    [ "$dist" = "lenny" ] && dver="~bpo50+1"
-    [ "$dist" = "xenial" ] && dver="$dist"
-    [ "$dist" = "trusty" ] && dver="$dist"
-    [ "$dist" = "saucy" ] && dver="$dist"
-    [ "$dist" = "precise" ] && dver="$dist"
-    [ "$dist" = "oneiric" ] && dver="$dist"
-    [ "$dist" = "natty" ] && dver="$dist"
-    [ "$dist" = "maverick" ] && dver="$dist"
-    [ "$dist" = "lucid" ] && dver="$dist"
-    [ "$dist" = "karmic" ] && dver="$dist"
-
-    echo $dver
-}
-
-BPTAG=`get_bptag $DIST`
-
-# slap -rc to the ref if we are doing a release-candidate build
-[ "$RC" = true ] && chacra_ref="$BRANCH-rc" || chacra_ref="$BRANCH"
-[ "$TEST" = true ] && chacra_ref="test"
-vers=`cat ./dist/version`
-
-# We used to detect the $distro variable by inspecting at the host, but this is
-# not accurate because we are using pbuilder and just ubuntu to build
-# everything. That would cause POSTing binaries to incorrect chacra endpoints
-# like project/ref/ubuntu/jessie/.
-distro=""
-case $DIST in
-    jessie|wheezy)
-        distro="debian"
-        ;;
-    *)
-        distro="ubuntu"
-        ;;
-esac
-
-debian_version=${vers}-1
-
-gen_debian_version() {
-    raw=$1
-    dist=$2
-
-    [ "$dist" = "sid" ] && dver="$raw"
-    [ "$dist" = "jessie" ] && dver="$raw~bpo80+1"
-    [ "$dist" = "wheezy" ] && dver="$raw~bpo70+1"
-    [ "$dist" = "squeeze" ] && dver="$raw~bpo60+1"
-    [ "$dist" = "lenny" ] && dver="$raw~bpo50+1"
-    [ "$dist" = "precise" ] && dver="$raw$dist"
-    [ "$dist" = "saucy" ] && dver="$raw$dist"
-    [ "$dist" = "trusty" ] && dver="$raw$dist"
-    [ "$dist" = "xenial" ] && dver="$raw$dist"
-
-    echo $dver
-}
-
-bpvers=`gen_debian_version $debian_version $DIST`
-
-# look for a specific package to tell if we can avoid the build
-chacra_endpoint="ceph/${chacra_ref}/${SHA1}/${distro}/${DIST}/${ARCH}"
-chacra_repo_endpoint="ceph/${chacra_ref}/${SHA1}/${distro}/${DIST}"
-DEB_ARCH=`dpkg-architecture | grep DEB_BUILD_ARCH\= | cut -d '=' -f 2`
-chacra_check_url="${chacra_endpoint}/librados2_${bpvers}_${DEB_ARCH}.deb"
-
-if [ "$THROWAWAY" = false ] ; then
-    # this exists in scripts/build_utils.sh
-    check_binary_existence $chacra_check_url
-fi
-
-HOST=$(hostname --short)
-echo "Building on $(hostname)"
-echo "  DIST=${DIST}"
-echo "  BPTAG=${BPTAG}"
-echo "  WS=$WORKSPACE"
-echo "  PWD=$(pwd)"
-echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
-echo "*****"
-env
-echo "*****"
-
 # create a release directory for ceph-build tools
 mkdir -p release
 cp -a dist release/${vers}
diff --git a/ceph-build/build/setup_deb b/ceph-build/build/setup_deb
new file mode 100644 (file)
index 0000000..779fbff
--- /dev/null
@@ -0,0 +1,120 @@
+#!/bin/bash
+
+set -ex
+HOST=$(hostname --short)
+echo "Building on $(hostname)"
+echo "  DIST=${DIST}"
+echo "  BPTAG=${BPTAG}"
+echo "  KEYID=${KEYID}"
+echo "  WS=$WORKSPACE"
+echo "  PWD=$(pwd)"
+echo "  BUILD SOURCE=$COPYARTIFACT_BUILD_NUMBER_CEPH_SETUP"
+echo "*****"
+env
+echo "*****"
+
+DIR=/tmp/install-deps.$$
+trap "rm -fr $DIR" EXIT
+mkdir -p $DIR
+if test $(id -u) != 0 ; then
+    SUDO=sudo
+fi
+export LC_ALL=C # the following is vulnerable to i18n
+
+$SUDO apt-get install -y lsb-release
+
+# unpack the tar.gz that contains the debian dir
+cd dist
+tar xzf *.orig.tar.gz
+cd ceph-*
+pwd
+
+BRANCH=`branch_slash_filter $BRANCH`
+
+cd $WORKSPACE
+
+get_bptag() {
+    dist=$1
+
+    [ "$dist" = "sid" ] && dver=""
+    [ "$dist" = "jessie" ] && dver="~bpo80+1"
+    [ "$dist" = "wheezy" ] && dver="~bpo70+1"
+    [ "$dist" = "squeeze" ] && dver="~bpo60+1"
+    [ "$dist" = "lenny" ] && dver="~bpo50+1"
+    [ "$dist" = "xenial" ] && dver="$dist"
+    [ "$dist" = "trusty" ] && dver="$dist"
+    [ "$dist" = "saucy" ] && dver="$dist"
+    [ "$dist" = "precise" ] && dver="$dist"
+    [ "$dist" = "oneiric" ] && dver="$dist"
+    [ "$dist" = "natty" ] && dver="$dist"
+    [ "$dist" = "maverick" ] && dver="$dist"
+    [ "$dist" = "lucid" ] && dver="$dist"
+    [ "$dist" = "karmic" ] && dver="$dist"
+
+    echo $dver
+}
+
+BPTAG=`get_bptag $DIST`
+
+chacra_ref="$BRANCH"
+vers=`cat ./dist/version`
+
+# We used to detect the $distro variable by inspecting at the host, but this is
+# not accurate because we are using pbuilder and just ubuntu to build
+# everything. That would cause POSTing binaries to incorrect chacra endpoints
+# like project/ref/ubuntu/jessie/.
+distro=""
+case $DIST in
+    jessie|wheezy)
+        distro="debian"
+        ;;
+    *)
+        distro="ubuntu"
+        ;;
+esac
+
+debian_version=${vers}-1
+
+gen_debian_version() {
+    raw=$1
+    dist=$2
+
+    [ "$dist" = "sid" ] && dver="$raw"
+    [ "$dist" = "jessie" ] && dver="$raw~bpo80+1"
+    [ "$dist" = "wheezy" ] && dver="$raw~bpo70+1"
+    [ "$dist" = "squeeze" ] && dver="$raw~bpo60+1"
+    [ "$dist" = "lenny" ] && dver="$raw~bpo50+1"
+    [ "$dist" = "precise" ] && dver="$raw$dist"
+    [ "$dist" = "saucy" ] && dver="$raw$dist"
+    [ "$dist" = "trusty" ] && dver="$raw$dist"
+    [ "$dist" = "xenial" ] && dver="$raw$dist"
+
+    echo $dver
+}
+
+bpvers=`gen_debian_version $debian_version $DIST`
+
+# Normalize variables across rpm/deb builds
+NORMAL_DISTRO=$distro
+NORMAL_DISTRO_VERSION=$DIST
+NORMAL_ARCH=$ARCH
+
+# create build status in shaman
+create_build_status "started" "ceph" $NORMAL_DISTRO $NORMAL_DISTRO_VERSION $NORMAL_ARCH
+
+pkgs=( "chacractl>=0.0.4" )
+install_python_packages "pkgs[@]"
+
+make_chacractl_config
+
+# look for a specific package to tell if we can avoid the build
+chacra_endpoint="ceph/${chacra_ref}/${SHA1}/${distro}/${DIST}/${ARCH}/flavors/${FLAVOR}"
+chacra_repo_endpoint="ceph/${chacra_ref}/${SHA1}/${distro}/${DIST}/flavors/${FLAVOR}"
+DEB_ARCH=`dpkg-architecture | grep DEB_BUILD_ARCH\= | cut -d '=' -f 2`
+chacra_check_url="${chacra_endpoint}/librados2_${bpvers}_${DEB_ARCH}.deb"
+
+if [ "$THROWAWAY" = false ] ; then
+    # this exists in scripts/build_utils.sh
+    # TODO if this exits we need to post to shaman a success
+    check_binary_existence $chacra_check_url
+fi
index 07e8a567043a9ce85e73a20175f08686b357ac96..d9bebfd78cbc4642d73e8ef6190ecd2af9a55825 100644 (file)
@@ -61,7 +61,7 @@
           !include-raw:
             - ../../build/validate_deb
             - ../../../scripts/build_utils.sh
-            - ../../build/setup
+            - ../../build/setup_deb
             - ../../build/setup_pbuilder
             - ../../build/build_deb
       # rpm build scripts