| [1061] | 1 | #!/bih/sh
 | 
|---|
 | 2 | 
 | 
|---|
 | 3 | #
 | 
|---|
 | 4 | # Qt4 distribution RPM archive creator.
 | 
|---|
 | 5 | #
 | 
|---|
 | 6 | # NOTE: This script requires the basic set of unix tools such as cp, mkdir,
 | 
|---|
 | 7 | # pwd, readlink, find etc.
 | 
|---|
 | 8 | #
 | 
|---|
 | 9 | 
 | 
|---|
 | 10 | #
 | 
|---|
 | 11 | # Defaults
 | 
|---|
 | 12 | #
 | 
|---|
 | 13 | 
 | 
|---|
| [1079] | 14 | spec_file=qt4.spec
 | 
|---|
| [1068] | 15 | 
 | 
|---|
| [1061] | 16 | #
 | 
|---|
 | 17 | # Functions
 | 
|---|
 | 18 | #
 | 
|---|
 | 19 | 
 | 
|---|
 | 20 | die() { echo "ERROR: $@"; cd "$start_dir"; exit 1; }
 | 
|---|
 | 21 | 
 | 
|---|
 | 22 | run()
 | 
|---|
 | 23 | {
 | 
|---|
 | 24 |     echo "$@"
 | 
|---|
 | 25 |     "$@" || die \
 | 
|---|
 | 26 | "Last command failed (exit status $?)."
 | 
|---|
 | 27 | }
 | 
|---|
 | 28 | 
 | 
|---|
| [1068] | 29 | cmd_all()
 | 
|---|
| [1061] | 30 | {
 | 
|---|
| [1068] | 31 |     run $env_cmd rpmbuild \
 | 
|---|
| [1092] | 32 |         -D "master_mode 1" \
 | 
|---|
 | 33 |         -D "create_zips_script $start_dir/CreateZIPs.sh" \
 | 
|---|
| [1075] | 34 |         -ba $spec_file
 | 
|---|
| [1061] | 35 | }
 | 
|---|
 | 36 | 
 | 
|---|
| [1068] | 37 | cmd_build()
 | 
|---|
 | 38 | {
 | 
|---|
 | 39 |     local src_base="$1"
 | 
|---|
| [1092] | 40 |     local src_base_arg=
 | 
|---|
 | 41 |     [ -n "$src_base" ] && src_base_arg=-D "QT_SOURCE_TREE $src_base"
 | 
|---|
| [1068] | 42 | 
 | 
|---|
| [1092] | 43 |     run $env_cmd rpmbuild $src_base_arg \
 | 
|---|
 | 44 |         -D "master_mode 1" \
 | 
|---|
 | 45 |         -D "skip_prep_export 1" -D "skip_prep_clean 1" -D "skip_clean 1" \
 | 
|---|
| [1075] | 46 |         --short-circuit -bc $spec_file
 | 
|---|
 | 47 | }
 | 
|---|
| [1068] | 48 | 
 | 
|---|
| [1075] | 49 | cmd_install()
 | 
|---|
 | 50 | {
 | 
|---|
 | 51 |     local src_base="$1"
 | 
|---|
| [1092] | 52 |     local src_base_arg=
 | 
|---|
 | 53 |     [ -n "$src_base" ] && src_base_arg=-D "QT_SOURCE_TREE $src_base"
 | 
|---|
| [1075] | 54 | 
 | 
|---|
| [1092] | 55 |     run $env_cmd rpmbuild $src_base_arg \
 | 
|---|
 | 56 |         -D "master_mode 1" \
 | 
|---|
 | 57 |         -D "skip_prep_export 1" -D "skip_prep_clean 1" -D "skip_clean 1" \
 | 
|---|
| [1075] | 58 |         --short-circuit -bi $spec_file
 | 
|---|
| [1068] | 59 | }
 | 
|---|
 | 60 | 
 | 
|---|
 | 61 | cmd_rpm()
 | 
|---|
 | 62 | {
 | 
|---|
 | 63 |     run $env_cmd rpmbuild \
 | 
|---|
| [1092] | 64 |         -D "master_mode 1" \
 | 
|---|
 | 65 |         -D "skip_prep_export 1" -D "skip_prep_clean 1" -D "skip_clean 1" \
 | 
|---|
| [1075] | 66 |         -D "skip_build 1" -D "skip_install 1" \
 | 
|---|
 | 67 |         --short-circuit -bb $spec_file
 | 
|---|
| [1068] | 68 | }
 | 
|---|
 | 69 | 
 | 
|---|
| [1061] | 70 | #
 | 
|---|
 | 71 | # Main
 | 
|---|
 | 72 | #
 | 
|---|
 | 73 | 
 | 
|---|
 | 74 | script_path=$(readlink -e $0)
 | 
|---|
 | 75 | script_dir=${script_path%/*}
 | 
|---|
 | 76 | script_name=$(basename $0)
 | 
|---|
 | 77 | 
 | 
|---|
 | 78 | start_dir=$(pwd)
 | 
|---|
 | 79 | 
 | 
|---|
| [1068] | 80 | [ -f "$start_dir/env.sh" ] && . "$start_dir/env.sh"
 | 
|---|
 | 81 | 
 | 
|---|
 | 82 | env_cmd=
 | 
|---|
 | 83 | [ -f "$start_dir/env.cmd" ] && env_cmd="cmd /c env.cmd"
 | 
|---|
 | 84 | 
 | 
|---|
| [1061] | 85 | # Parse arguments
 | 
|---|
 | 86 | 
 | 
|---|
 | 87 | cmd_help()
 | 
|---|
 | 88 | {
 | 
|---|
 | 89 |     echo \
 | 
|---|
 | 90 | "
 | 
|---|
 | 91 | Usage:
 | 
|---|
| [1092] | 92 |   $script_name all                Do everything (RPM, SRPM, ZIP)
 | 
|---|
 | 93 |   $script_name build [<srcdir>]   Build product (in BUILD/<product>)
 | 
|---|
 | 94 |   $script_name install [<srcdir>] Install product (to BUILDROOT/<product>)
 | 
|---|
 | 95 |   $script_name rpm                Build RPMs only
 | 
|---|
| [1061] | 96 | 
 | 
|---|
 | 97 | Options:
 | 
|---|
| [1098] | 98 |   <srcdir>      Source tree location (default is BUILD/<product>)
 | 
|---|
| [1061] | 99 | "
 | 
|---|
 | 100 | }
 | 
|---|
 | 101 | 
 | 
|---|
 | 102 | case "$1" in
 | 
|---|
| [1092] | 103 |     build|install)
 | 
|---|
| [1061] | 104 |         if [ -n "$2" ]; then
 | 
|---|
| [1075] | 105 |             [ -d "$2" ] || die "'$2' is not a directory."
 | 
|---|
| [1092] | 106 |         fi
 | 
|---|
 | 107 |         cmd_$1 $(echo "$2" | tr '\\' '/');;
 | 
|---|
 | 108 |     all|rpm) cmd_$1;;
 | 
|---|
| [1061] | 109 |     -h|-?|--help|*) cmd_help;;
 | 
|---|
 | 110 | esac
 | 
|---|
 | 111 | 
 | 
|---|
 | 112 | # end of story
 | 
|---|
 | 113 | 
 | 
|---|
 | 114 | exit 0
 | 
|---|