source: packaging/CreateRPMs.sh@ 1068

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

packaging: Further work on .spec.

  • 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
14qt_spec=qt.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 [ -d "$src_base" ] || die "'$src_base' is not a directory."
34
35 run $env_cmd rpmbuild \
36 -D "QT_SOURCE_TREE $src_base" \
37 -ba $qt_spec
38}
39
40cmd_build()
41{
42 local src_base="$1"
43
44 [ -d "$src_base" ] || die "'$src_base' is not a directory."
45
46 run $env_cmd rpmbuild \
47 -D "QT_SOURCE_TREE $src_base" -D "skip_prep_export 1" \
48 -bc $qt_spec
49}
50
51cmd_rpm()
52{
53 local inst_base="$1"
54
55 [ -d "$inst_base" ] || die "'$inst_base' is not a directory."
56
57 run $env_cmd rpmbuild \
58 -D "QT_BUILD_TREE $inst_base" \
59 --short-circuit -bi $qt_spec
60}
61
62#
63# Main
64#
65
66script_path=$(readlink -e $0)
67script_dir=${script_path%/*}
68script_name=$(basename $0)
69
70start_dir=$(pwd)
71
72[ -f "$start_dir/env.sh" ] && . "$start_dir/env.sh"
73
74env_cmd=
75[ -f "$start_dir/env.cmd" ] && env_cmd="cmd /c env.cmd"
76
77# Parse arguments
78
79cmd_help()
80{
81 echo \
82"
83Usage:
84 $script_name all <srcdir> Do everything (RPM, SRPM, ZIP)
85 $script_name build <srcdir> Build product (shadow build)
86 $script_name rpm [<instdir>] Build RPMs only
87
88Options:
89 <srcdir> Qt SVN source tree location
90 <instdir> Qt installation tree location
91 (default: $HOME/rpmbuild/BUILDROOT/qt-X.Y.Z)
92"
93}
94
95case "$1" in
96 all|build)
97 if [ -n "$2" ]; then
98 cmd_$1 $(echo "$2" | tr '\\' '/')
99 else
100 cmd_help
101 fi;;
102 rpm)
103 if [ -n "$2" ]; then
104 cmd_rpm $(echo "$2" | tr '\\' '/')
105 else
106 cmd_rpm
107 fi;;
108 -h|-?|--help|*) cmd_help;;
109esac
110
111# end of story
112
113exit 0
Note: See TracBrowser for help on using the repository browser.