winlin

refine package, add os machine

1 -#!/bin/bash 1 +#!/bin/bash
2 2
3 -# user can config the following configs, then package. 3 +# user can config the following configs, then package.
4 INSTALL=/usr/local/srs 4 INSTALL=/usr/local/srs
5 5
6 -##################################################################################  
7 -##################################################################################  
8 -################################################################################## 6 +##################################################################################
  7 +##################################################################################
  8 +##################################################################################
9 # discover the current work dir, the log and access. 9 # discover the current work dir, the log and access.
10 echo "argv[0]=$0" 10 echo "argv[0]=$0"
11 if [[ ! -f $0 ]]; then 11 if [[ ! -f $0 ]]; then
@@ -26,16 +26,17 @@ ret=$?; if [[ $ret -ne 0 ]]; then exit $ret; fi @@ -26,16 +26,17 @@ ret=$?; if [[ $ret -ne 0 ]]; then exit $ret; fi
26 # check os version 26 # check os version
27 os_name=`lsb_release --id|awk '{print $3}'` && 27 os_name=`lsb_release --id|awk '{print $3}'` &&
28 os_release=`lsb_release --release|awk '{print $2}'` && 28 os_release=`lsb_release --release|awk '{print $2}'` &&
29 -os_major_version=`echo $os_release|awk -F '.' '{print $1}'` 29 +os_major_version=`echo $os_release|awk -F '.' '{print $1}'` &&
  30 +os_machine=`uname -m`
30 ret=$?; if [[ $ret -ne 0 ]]; then failed_msg "lsb_release get os info failed."; exit $ret; fi 31 ret=$?; if [[ $ret -ne 0 ]]; then failed_msg "lsb_release get os info failed."; exit $ret; fi
31 -ok_msg "target os is ${os_name}-${os_major_version} ${os_release}" 32 +ok_msg "target os is ${os_name}-${os_major_version} ${os_release} ${os_machine}"
32 33
33 -# build srs 34 +# build srs
34 # @see https://github.com/winlinvip/simple-rtmp-server/wiki/Build 35 # @see https://github.com/winlinvip/simple-rtmp-server/wiki/Build
35 -ok_msg "start build srs"  
36 -(  
37 - cd $work_dir &&  
38 - ./configure --with-ssl --with-hls --with-nginx --with-ffmpeg --with-http-callback --prefix=$INSTALL && 36 +ok_msg "start build srs"
  37 +(
  38 + cd $work_dir &&
  39 + ./configure --with-ssl --with-hls --with-nginx --with-ffmpeg --with-http-callback --prefix=$INSTALL &&
39 make && rm -rf $package_dir && make DESTDIR=$package_dir install 40 make && rm -rf $package_dir && make DESTDIR=$package_dir install
40 ) >> $log 2>&1 41 ) >> $log 2>&1
41 ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "build srs failed"; exit $ret; fi 42 ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "build srs failed"; exit $ret; fi
@@ -53,18 +54,28 @@ ok_msg "start copy extra files to package" @@ -53,18 +54,28 @@ ok_msg "start copy extra files to package"
53 ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "copy extra files failed"; exit $ret; fi 54 ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "copy extra files failed"; exit $ret; fi
54 ok_msg "copy extra files success" 55 ok_msg "copy extra files success"
55 56
  57 +# generate zip dir and zip filename
  58 +srs_version=`${build_objs}/srs -v 2>/dev/stdout 1>/dev/null` &&
  59 +zip_dir="SRS-${os_name}${os_major_version}-${os_machine}-${srs_version}"
  60 +ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "generate zip filename failed"; exit $ret; fi
  61 +ok_msg "generate zip filename success"
  62 +
56 # zip package. 63 # zip package.
57 ok_msg "start zip package" 64 ok_msg "start zip package"
58 ( 65 (
59 - srs_version=`${build_objs}/srs -v 2>/dev/stdout 1>/dev/null` &&  
60 - zip_dir="SRS-${os_name}${os_major_version}-${srs_version}" &&  
61 mv $package_dir ${build_objs}/${zip_dir} && 66 mv $package_dir ${build_objs}/${zip_dir} &&
62 - cd ${build_objs} && zip -q -r ${zip_dir}.zip ${zip_dir} && 67 + cd ${build_objs} && rm -rf ${zip_dir}.zip && zip -q -r ${zip_dir}.zip ${zip_dir} &&
63 mv ${build_objs}/${zip_dir} $package_dir 68 mv ${build_objs}/${zip_dir} $package_dir
64 ) >> $log 2>&1 69 ) >> $log 2>&1
65 ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "zip package failed"; exit $ret; fi 70 ret=$?; if [[ 0 -ne ${ret} ]]; then failed_msg "zip package failed"; exit $ret; fi
66 ok_msg "zip package success" 71 ok_msg "zip package success"
67 72
68 ok_msg "srs package success" 73 ok_msg "srs package success"
  74 +echo ""
  75 +echo "package: ${build_objs}/${zip_dir}.zip"
  76 +echo "install:"
  77 +echo " unzip -q ${zip_dir}.zip &&"
  78 +echo " cd ${zip_dir} &&"
  79 +echo " sudo bash INSTALL"
69 80
70 exit 0 81 exit 0