source: packaging/CreateRPMs.sh@ 1083

Last change on this file since 1083 was 1079, checked in by Dmitry A. Kuminov, 14 years ago

packaging: Change package base name from "qt" to "qt4".

This is to not mix with any previous or future major version of Qt
(which will be binary and may be even source incompatible anyway).

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
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
14spec_file=qt4.spec
15
16#
17# Functions
18#
19
20die() { echo "ERROR: $@"; cd "$start_dir"; exit 1; }
21
22run()
23{
24 echo "$@"
25 "$@" || die \
26"Last command failed (exit status $?)."
27}
28
29cmd_all()
30{
31 local src_base="$1"
32
33 run $env_cmd rpmbuild \
34 -D "QT_SOURCE_TREE $src_base" \
35 -ba $spec_file
36}
37
38cmd_build()
39{
40 local src_base="$1"
41
42 run $env_cmd rpmbuild \
43 -D "QT_SOURCE_TREE $src_base" \
44 -D "skip_prep_export 1" -D "skip_prep_clean 1" \
45 --short-circuit -bc $spec_file
46}
47
48cmd_install()
49{
50 local src_base="$1"
51
52 run $env_cmd rpmbuild \
53 -D "QT_SOURCE_TREE $src_base" \
54 -D "skip_prep_export 1" -D "skip_prep_clean 1" \
55 --short-circuit -bi $spec_file
56}
57
58cmd_rpm()
59{
60 run $env_cmd rpmbuild \
61 -D "skip_prep_export 1" -D "skip_prep_clean 1" \
62 -D "skip_build 1" -D "skip_install 1" \
63 --short-circuit -bb $spec_file
64}
65
66#
67# Main
68#
69
70script_path=$(readlink -e $0)
71script_dir=${script_path%/*}
72script_name=$(basename $0)
73
74start_dir=$(pwd)
75
76[ -f "$start_dir/env.sh" ] && . "$start_dir/env.sh"
77
78env_cmd=
79[ -f "$start_dir/env.cmd" ] && env_cmd="cmd /c env.cmd"
80
81# Parse arguments
82
83cmd_help()
84{
85 echo \
86"
87Usage:
88 $script_name all <srcdir> Do everything (RPM, SRPM, ZIP)
89 $script_name build <srcdir> Build product (in BUILD/<product>)
90 $script_name install <srcdir> Install product (to BUILDROOT/<product>)
91 $script_name rpm Build RPMs only
92
93Options:
94 <srcdir> Qt SVN source tree location
95"
96}
97
98case "$1" in
99 all|build|install)
100 if [ -n "$2" ]; then
101 [ -d "$2" ] || die "'$2' is not a directory."
102 cmd_$1 $(echo "$2" | tr '\\' '/')
103 else
104 cmd_help
105 fi;;
106 rpm) cmd_rpm;;
107 -h|-?|--help|*) cmd_help;;
108esac
109
110# end of story
111
112exit 0
Note: See TracBrowser for help on using the repository browser.