feat: build input features by case
This commit is contained in:
79
bin/build.sh
79
bin/build.sh
@@ -2,17 +2,84 @@
|
|||||||
|
|
||||||
deb_build_dir=../debbuild
|
deb_build_dir=../debbuild
|
||||||
src_pkg_root=../pkg
|
src_pkg_root=../pkg
|
||||||
src_bin_dir=../../ocs/bin
|
src_ocs_dir=../../ocs
|
||||||
|
src_bin_dir=$src_ocs_dir/bin
|
||||||
release_root=../release
|
release_root=../release
|
||||||
release_date=`date +%Y%m%d`
|
release_date=`date +%Y%m%d`
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage: $0 [ocs|scp|ussdgw] [OPTION] "
|
||||||
|
echo
|
||||||
|
echo "Build OCS package, option as follow:"
|
||||||
|
echo " ocs|scp|ussdgw, ocs: OCS package build by dpkg"
|
||||||
|
echo " scp: SCP package build by dpkg"
|
||||||
|
echo " ussdgw: USSD Gateway package, build by rpmbuild"
|
||||||
|
echo
|
||||||
|
echo "OPTION:"
|
||||||
|
echo " -t [norfolk|cook|pncc|zed] Build binary tag"
|
||||||
|
echo " -h, --help Display this help and exit"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_type=""
|
||||||
|
new_args=()
|
||||||
|
# Traverse all parameters
|
||||||
|
for arg in "$@"; do
|
||||||
|
if [[ "$arg" == "ocs" || "$arg" == "scp" || "$arg" == "ussdgw" ]]; then
|
||||||
|
pkg_type=$arg
|
||||||
|
else
|
||||||
|
new_args+=("$arg") # Add non pkg_type parameters to a new parameter list
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$pkg_type" ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use a new parameter list
|
||||||
|
set -- "${new_args[@]}"
|
||||||
|
|
||||||
|
while getopts "t:h" option; do
|
||||||
|
case $option in
|
||||||
|
t)
|
||||||
|
bin_tag=$OPTARG
|
||||||
|
;;
|
||||||
|
h)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
\?)
|
||||||
|
echo "Invalid option: -$OPTARG" >&2
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
make_ocs_bin()
|
||||||
|
{
|
||||||
|
cd $src_ocs_dir
|
||||||
|
echo -n "make clean ... "
|
||||||
|
make clean 1>/dev/null 2>&1
|
||||||
|
echo "done"
|
||||||
|
echo -n "make $bin_tag ... "
|
||||||
|
make ${bin_tag} 1>make.log 2>&1
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "failed"
|
||||||
|
echo "Please refer to make.log for details"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "done"
|
||||||
|
cd $OLDPWD
|
||||||
|
}
|
||||||
|
|
||||||
pre_common_build()
|
pre_common_build()
|
||||||
{
|
{
|
||||||
test -d $deb_build_dir || mkdir -p $deb_build_dir
|
test -d $deb_build_dir || mkdir -p $deb_build_dir
|
||||||
cd $deb_build_dir
|
cd $deb_build_dir
|
||||||
rm -rf *
|
rm -rf *
|
||||||
mkdir -p $deb_build_dir/DEBIAN
|
mkdir -p $deb_build_dir/DEBIAN
|
||||||
cd -
|
cd $OLDPWD
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_ocs_build()
|
pre_ocs_build()
|
||||||
@@ -46,10 +113,11 @@ pre_ussdgw_build()
|
|||||||
mkdir -p $deb_build_dir/lib/systemd/system
|
mkdir -p $deb_build_dir/lib/systemd/system
|
||||||
}
|
}
|
||||||
|
|
||||||
case $1 in
|
case $pkg_type in
|
||||||
ocs)
|
ocs)
|
||||||
pre_common_build
|
pre_common_build
|
||||||
pre_ocs_build
|
pre_ocs_build
|
||||||
|
make_ocs_bin
|
||||||
src_pkg_dir=$src_pkg_root/ocs
|
src_pkg_dir=$src_pkg_root/ocs
|
||||||
release_dir=$release_root/ocs/amd64
|
release_dir=$release_root/ocs/amd64
|
||||||
|
|
||||||
@@ -68,6 +136,7 @@ case $1 in
|
|||||||
scp)
|
scp)
|
||||||
pre_common_build
|
pre_common_build
|
||||||
pre_scp_build
|
pre_scp_build
|
||||||
|
make_ocs_bin
|
||||||
src_pkg_dir=$src_pkg_root/scp
|
src_pkg_dir=$src_pkg_root/scp
|
||||||
release_dir=$release_root/scp/amd64
|
release_dir=$release_root/scp/amd64
|
||||||
deb_file_name=scp-r2409.6-${release_date}-ub22.deb
|
deb_file_name=scp-r2409.6-${release_date}-ub22.deb
|
||||||
@@ -87,6 +156,7 @@ case $1 in
|
|||||||
ussdgw)
|
ussdgw)
|
||||||
pre_common_build
|
pre_common_build
|
||||||
pre_ussdgw_build
|
pre_ussdgw_build
|
||||||
|
make_ocs_bin
|
||||||
src_pkg_dir=$src_pkg_root/ussdgw
|
src_pkg_dir=$src_pkg_root/ussdgw
|
||||||
release_dir=$release_root/ussdgw/amd64
|
release_dir=$release_root/ussdgw/amd64
|
||||||
deb_file_name=ussdgw-r2501.22-${release_date}-ub22.deb
|
deb_file_name=ussdgw-r2501.22-${release_date}-ub22.deb
|
||||||
@@ -104,7 +174,6 @@ case $1 in
|
|||||||
fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name
|
fakeroot dpkg-deb --build $deb_build_dir $release_dir/$deb_file_name
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Usage: $0 [ocs|scp|ussdgw]"
|
usage
|
||||||
exit 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
Reference in New Issue
Block a user