]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7273 Add support for build server to optionally specify revision when packaging...
authorChris Rienzo <chris.rienzo@grasshopper.com>
Thu, 12 Feb 2015 20:48:59 +0000 (15:48 -0500)
committerChris Rienzo <chris.rienzo@grasshopper.com>
Thu, 26 Feb 2015 15:53:45 +0000 (10:53 -0500)
        common.sh optionally accepts revision number and sets version in freeswitch-config-rayo.spec
config-rayo.sh updated to be consistent with rpmbuilder.sh
        rpmbuilder.sh optionally accepts revision number
        src_tarball.sh will now produce freeswitch.spec and freeswitch-config-rayo.spec as artifacts.

freeswitch-config-rayo.spec
scripts/ci/common.sh
scripts/ci/config-rayo.sh
scripts/ci/rpmbuilder.sh
scripts/ci/src_tarball.sh

index ee56e44893d5660e2786bc5d837ac69b8de7a7e6..c9abfaf6346922caabb4b9c9b65ad7687986dcfa 100644 (file)
@@ -1,7 +1,7 @@
 ######################################################################################################################
 #
 # freeswitch-config-rayo for FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
-# Copyright (C) 2013-2014, Grasshopper
+# Copyright (C) 2013-2015, Grasshopper
 #
 # Version: MPL 1.1
 #
@@ -28,8 +28,8 @@
 #
 ######################################################################################################################
 
-%define version %{VERSION_NUMBER}
-%define release %{BUILD_NUMBER}
+%define version 1.5.16
+%define release 1
 
 %define fsname freeswitch
 
index 535044ca1857d2b7996324ad5d3a9958ef30ed2d..6158356a1cc9dae22774e689498483565eea9b77 100755 (executable)
@@ -116,14 +116,38 @@ set_fs_ver () {
       mv configure.ac.$$ configure.ac
   fi
 
-  sed -e "s|\(%define version \).*|\1$major.$minor.$micro|"  \
+  local rpm_version
+  if [ -n "$rev" ]; then
+    rpm_version="$major.$minor.$micro.$rev"
+  else
+    rpm_version="$major.$minor.$micro"
+  fi
+
+  sed -e "s|\(%define version \).*|\1$rpm_version|"  \
        freeswitch.spec > freeswitch.spec.$$
   mv freeswitch.spec.$$ freeswitch.spec
 
+  sed -e "s|\(%define version \).*|\1$rpm_version|"  \
+       freeswitch-config-rayo.spec > freeswitch-config-rayo.spec.$$
+  mv freeswitch-config-rayo.spec.$$ freeswitch-config-rayo.spec
+
 #%define version 1.5.16
 
 }
 
+set_fs_release () {
+  local release="$1"
+  if [ -n "$release" ]; then
+    sed -e "s|\(%define release \).*|\1$release|"  \
+         freeswitch.spec > freeswitch.spec.$$
+    mv freeswitch.spec.$$ freeswitch.spec
+
+    sed -e "s|\(%define release \).*|\1$release|"  \
+         freeswitch-config-rayo.spec > freeswitch-config-rayo.spec.$$
+    mv freeswitch-config-rayo.spec.$$ freeswitch-config-rayo.spec
+  fi
+}
+
 gnuize () {
   ./bootstrap.sh
   mv bootstrap.sh rebootstrap.sh
index 119e01ea961129b7dca21ffff0cca5164ce3c74b..54b77f81caf2647a2992ccd535d04f69293cd97f 100755 (executable)
@@ -1,19 +1,39 @@
 #!/bin/sh
 ##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
 
-src_repo="$(pwd)"
+sdir="."
+[ -n "${0%/*}" ] && sdir="${0%/*}"
+. $sdir/common.sh
 
-if [ ! -d .git ]; then
-  echo "error: must be run from within the top level of a FreeSWITCH git tree." 1>&2
-  exit 1;
+check_pwd
+check_input_ver_build $@
+eval $(parse_version "$1")
+
+if [ -n "$rev" ]; then
+  dst_name="freeswitch-$cmajor.$cminor.$cmicro.$rev"
+else
+  dst_name="freeswitch-$cmajor.$cminor.$cmicro"
+fi
+dst_parent="/tmp/"
+dst_dir="/tmp/$dst_name"
+release="1"
+if [ $# -gt 1 ]; then
+  release="$2"
 fi
 
-rpmbuild --define "VERSION_NUMBER $1" \
-  --define "BUILD_NUMBER $2" \
-  --define "_topdir %(pwd)/rpmbuild" \
+(mkdir -p rpmbuild && cd rpmbuild && mkdir -p SOURCES BUILD BUILDROOT i386 x86_64 SPECS)
+
+cd $src_repo
+cp -a src_dist/*.spec rpmbuild/SPECS/ || true
+cp -a src_dist/* rpmbuild/SOURCES/ || true
+cd rpmbuild/SPECS
+set_fs_release "$release"
+cd ../../
+
+rpmbuild --define "_topdir %(pwd)/rpmbuild" \
   --define "_rpmdir %{_topdir}" \
   --define "_srcrpmdir %{_topdir}" \
-  -ba freeswitch-config-rayo.spec
+  -ba rpmbuild/SPECS/freeswitch-config-rayo.spec
 
 mkdir -p $src_repo/RPMS
 mv $src_repo/rpmbuild/*/freeswitch-config-rayo*.rpm $src_repo/RPMS/.
index 894d28e1626392ba07d1de44d70fe7510aabe415..28c00931cf352a5566c7c8a35da66607a6220cb3 100755 (executable)
@@ -8,23 +8,34 @@ sdir="."
 check_pwd
 check_input_ver_build $@
 eval $(parse_version "$1")
-build="$2"
 
-dst_name="freeswitch-$cmajor.$cminor.$cmicro"
+if [ -n "$rev" ]; then
+  dst_name="freeswitch-$cmajor.$cminor.$cmicro.$rev"
+else
+  dst_name="freeswitch-$cmajor.$cminor.$cmicro"
+fi
 dst_parent="/tmp/"
 dst_dir="/tmp/$dst_name"
+release="1"
+if [ $# -gt 1 ]; then
+  release="$2"
+fi
 
 (mkdir -p rpmbuild && cd rpmbuild && mkdir -p SOURCES BUILD BUILDROOT i386 x86_64 SPECS)
 
 cd $src_repo
+cp -a src_dist/*.spec rpmbuild/SPECS/ || true
 cp -a src_dist/* rpmbuild/SOURCES/ || true
+cd rpmbuild/SPECS
+set_fs_release "$release"
+cd ../../
 
 rpmbuild --define "_topdir %(pwd)/rpmbuild" \
   --define "_rpmdir %{_topdir}" \
   --define "_srcrpmdir %{_topdir}" \
-  -ba freeswitch.spec
+  -ba rpmbuild/SPECS/freeswitch.spec
 
-mkdir $src_repo/RPMS
+mkdir -p $src_repo/RPMS
 mv $src_repo/rpmbuild/*/*.rpm $src_repo/RPMS/.
 
 cat 1>&2 <<EOF
index da47e38fea95aa823a46180cca03aeaff11e9304..5f3b6299532e61d4501a60c458d3a391015b0170 100755 (executable)
@@ -7,13 +7,16 @@ sdir="."
 
 check_pwd
 version=`cat build/next-release.txt`
-check_input_ver_build $version
+if [ $# -gt 0 ]; then
+       version="$version.$1"
+fi
 eval $(parse_version "$version")
 if [ -n "$grev" ]; then 
        dst_name="freeswitch-$cmajor.$cminor.$cmicro.$grev"
 else
        dst_name="freeswitch-$cmajor.$cminor.$cmicro"
 fi
+check_input_ver_build $version
 
 #This should be a RAM Drive
 build_dir="jenkins.$$"
@@ -40,11 +43,13 @@ bzip2 -z -k ${dst_name}.tar || echo "bzip2 not available"
 xz -z -9 -k ${dst_name}.tar || echo "xz / xz-utils not available"
 zip -r $dst_name.zip $dst_name
 
-rm -rf ${dst_name}.tar $dst_dir
-
 mkdir -p ${src_repo}/../src_dist
 mv -f ${dst_name}.tar.* ${src_repo}/../src_dist
 mv -f $dst_name.zip ${src_repo}/../src_dist
+cp -f ${dst_dir}/freeswitch.spec ${src_repo}/../src_dist
+cp -f ${dst_dir}/freeswitch-config-rayo.spec ${src_repo}/../src_dist
+
+rm -rf ${dst_name}.tar $dst_dir
 
 cd ${tmp_dir}
 ls -al