FS-7273 Add support for build server to optionally specify revision when packaging RPM.

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.
This commit is contained in:
Chris Rienzo 2015-02-12 15:48:59 -05:00
parent 9593796420
commit 66486713b0
5 changed files with 79 additions and 19 deletions

View 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

View File

@ -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

View File

@ -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/.

View File

@ -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

View File

@ -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