-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·144 lines (127 loc) · 2.33 KB
/
Copy pathbuild.sh
File metadata and controls
executable file
·144 lines (127 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#!/bin/bash
#
# One build script to rule them all
#
SCRIPTNAME="$(basename $0)"
SCRIPT_DIR=$(readlink -f $(dirname $0))
cd $SCRIPT_DIR
PRODUCTS_TO_FETCH="crun fuse-overlayfs parallax passt sarusctl"
PRODUCTS_TO_BUILD="conmon podman squashfuse"
PRODUCTS_TO_BUILD_RPM="conmon crun fuse-overlayfs parallax sarusctl"
FINAL_PRODUCT_TO_BUILD="sarus-suite"
function print_help() {
cat <<EOF
Usage: $SCRIPTNAME <OPTIONS>
Options:
--build-os <OS> : build artifacts for a specific OS.
Default: $DEFAULT_BUILD_OS
Supported build OSes: ${SUPPORTED_BUILD_OS}
EOF
}
function parse_args() {
[ $# -eq 0 ] && return
case "$1" in
"--build-os")
shift
BUILD_OS="$1"
[ -z "${BUILD_OS}" ] && echo "ERROR: unspecified build os" && exit 1
shift
;;
"--help"|"-h")
print_help
exit 0
;;
*)
echo "ERROR: unrecognized option: \"$1\""
print_help
exit 1
;;
esac
}
function check_input() {
check_build_os || exit 1
export BUILD_OS
check_build_container_image || exit 1
}
. lib/common.sh
parse_args $@ || exit 1
check_input || exit 1
. etc/release.cfg
cd products
for PRODUCT in ${PRODUCTS_TO_FETCH}
do
echo "Fetching ${PRODUCT} ..."
echo
${PRODUCT}/fetch.sh
RC=$?
if [ $RC -eq 0 ]
then
RESULT="succeeded"
else
RESULT="failed"
fi
echo
echo "${PRODUCT} fetching ${RESULT}. RC=$RC"
echo
if [ $RC -ne 0 ]
then
break
fi
done
for PRODUCT in ${PRODUCTS_TO_BUILD}
do
echo "Building ${PRODUCT} ..."
echo
${PRODUCT}/build.sh
RC=$?
if [ $RC -eq 0 ]
then
RESULT="succeeded"
else
RESULT="failed"
fi
echo
echo "${PRODUCT} building ${RESULT}. RC=$RC"
echo
if [ $RC -ne 0 ]
then
break
fi
done
for PRODUCT in ${PRODUCTS_TO_BUILD_RPM}
do
echo "Building ${PRODUCT} RPM ..."
echo
${PRODUCT}/build_rpm.sh
RC=$?
if [ $RC -eq 0 ]
then
RESULT="succeeded"
else
RESULT="failed"
fi
echo
echo "${PRODUCT} RPM building ${RESULT}. RC=$RC"
echo
if [ $RC -ne 0 ]
then
break
fi
done
for PRODUCT in ${FINAL_PRODUCT_TO_BUILD}
do
echo "Building ${PRODUCT} RPM ..."
echo
${PRODUCT}/build.sh
RC=$?
if [ $RC -eq 0 ]
then
RESULT="succeeded"
else
RESULT="failed"
fi
echo
echo "${PRODUCT} RPM building ${RESULT}. RC=$RC"
echo
done
exit $RC