Skip to content

Commit a60cfc0

Browse files
committed
Updated common build scripts
1 parent 024f815 commit a60cfc0

File tree

3 files changed

+69
-23
lines changed

3 files changed

+69
-23
lines changed

autogen.sh

+16-8
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@
2424
# REVISION:
2525
#
2626

27+
#==============================================================
28+
# Autotools
29+
#==============================================================
30+
#
31+
# Instead of pipefail(for shells not support "set -o pipefail")
32+
#
33+
PIPEFAILURE_FILE="/tmp/.pipefailure.$(od -An -tu4 -N4 /dev/random | tr -d ' \n')"
34+
2735
#
2836
# Common variables
2937
#
@@ -32,7 +40,7 @@ AUTOGEN_DIR=$(dirname "${0}")
3240
SRCTOP=$(cd "${AUTOGEN_DIR}" || exit 1; pwd)
3341

3442
#
35-
# Run
43+
# Start to run
3644
#
3745
echo "[RUN] autogen.sh"
3846
echo ""
@@ -75,7 +83,7 @@ done
7583
#
7684
if [ "${UPDATE_VERSION_FILE}" -eq 1 ] && [ -f "${SRCTOP}/buildutils/make_release_version_file.sh" ]; then
7785
echo " [INFO] run make_release_version_file.sh"
78-
if ! /bin/sh -c "${SRCTOP}/buildutils/make_release_version_file.sh" "${PARAMETERS}" 2>&1 | sed -e 's|^| |g'; then
86+
if ({ /bin/sh -c "${SRCTOP}/buildutils/make_release_version_file.sh" "${PARAMETERS}" 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's|^| |g') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
7987
echo "[ERROR] update RELEASE_VERSION file"
8088
exit 1
8189
fi
@@ -102,7 +110,7 @@ fi
102110
#
103111
if [ ! -f configure.scan ] || [ -n "${FORCEPARAM}" ]; then
104112
echo " [INFO] run autoscan"
105-
if ! autoscan 2>&1 | sed -e 's|^| |g'; then
113+
if ({ autoscan 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's|^| |g') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
106114
echo "[ERROR] something error occurred in autoscan"
107115
exit 1
108116
fi
@@ -112,7 +120,7 @@ fi
112120
# Copy libtools
113121
#
114122
if grep -q 'LT_INIT' configure.ac configure.scan; then
115-
if ! libtoolize --force --copy 2>&1 | sed -e 's|^| |g'; then
123+
if ({ libtoolize --force --copy 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's|^| |g') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
116124
echo "[ERROR] something error occurred in libtoolize"
117125
exit 1
118126
fi
@@ -122,27 +130,27 @@ fi
122130
# Build configure and Makefile
123131
#
124132
echo " [INFO] run aclocal ${FORCEPARAM}"
125-
if ! /bin/sh -c "aclocal ${FORCEPARAM}" 2>&1 | sed -e 's|^| |g'; then
133+
if ({ /bin/sh -c "aclocal ${FORCEPARAM}" 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's|^| |g') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
126134
echo "[ERROR] something error occurred in aclocal ${FORCEPARAM}"
127135
exit 1
128136
fi
129137

130138
if grep -q 'AC_CONFIG_HEADERS' configure.ac configure.scan; then
131139
echo " [INFO] run autoheader"
132-
if ! autoheader 2>&1 | sed -e 's|^| |g'; then
140+
if ({ autoheader 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's|^| |g') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
133141
echo "[ERROR] something error occurred in autoheader"
134142
exit 1
135143
fi
136144
fi
137145

138146
echo " [INFO] run automake -c --add-missing"
139-
if ! automake -c --add-missing 2>&1 | sed -e 's|^| |g'; then
147+
if ({ automake -c --add-missing 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's|^| |g') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
140148
echo "[ERROR] something error occurred in automake -c --add-missing"
141149
exit 1
142150
fi
143151

144152
echo " [INFO] run autoconf"
145-
if ! autoconf 2>&1 | sed -e 's|^| |g'; then
153+
if ({ autoconf 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's|^| |g') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
146154
echo "[ERROR] something error occurred in autoconf"
147155
exit 1
148156
fi

buildutils/debian_build.sh

+28-9
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,28 @@
2222
# REVISION:
2323
#
2424

25+
#==============================================================
26+
# Autobuild for debian package
27+
#==============================================================
2528
#
26-
# Autobuid for debian package
29+
# Instead of pipefail(for shells not support "set -o pipefail")
2730
#
31+
PIPEFAILURE_FILE="/tmp/.pipefailure.$(od -An -tu4 -N4 /dev/random | tr -d ' \n')"
32+
33+
#
34+
# For shellcheck
35+
#
36+
if locale -a | grep -q -i '^[[:space:]]*C.utf8[[:space:]]*$'; then
37+
LANG=$(locale -a | grep -i '^[[:space:]]*C.utf8[[:space:]]*$' | sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' | tr -d '\n')
38+
LC_ALL="${LANG}"
39+
export LANG
40+
export LC_ALL
41+
elif locale -a | grep -q -i '^[[:space:]]*en_US.utf8[[:space:]]*$'; then
42+
LANG=$(locale -a | grep -i '^[[:space:]]*en_US.utf8[[:space:]]*$' | sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' | tr -d '\n')
43+
LC_ALL="${LANG}"
44+
export LANG
45+
export LC_ALL
46+
fi
2847

2948
#
3049
# Common variables
@@ -264,13 +283,13 @@ fi
264283
# Run configure for package version
265284
#
266285
echo "[INFO] Run autogen"
267-
if ! "${SRCTOP}"/autogen.sh | sed -e 's/^/ /'; then
286+
if ({ "${SRCTOP}"/autogen.sh || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
268287
echo "[ERROR] Failed to run autogen.sh." 1>&2
269288
exit 1
270289
fi
271290
echo ""
272291
echo "[INFO] Run configure"
273-
if ! /bin/sh -c "${SRCTOP}/configure ${CONFIGUREOPT}" | sed -e 's/^/ /'; then
292+
if ({ /bin/sh -c "${SRCTOP}/configure ${CONFIGUREOPT}" || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
274293
echo "[ERROR] Failed to run configure." 1>&2
275294
exit 1
276295
fi
@@ -295,7 +314,7 @@ fi
295314
#
296315
echo ""
297316
echo "[INFO] Create dist file(tar.gz)"
298-
if ! make dist | sed -e 's/^/ /'; then
317+
if ({ make dist || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
299318
echo "[ERROR] Failed to create dist package(make dist)." 1>&2
300319
exit 1
301320
fi
@@ -314,7 +333,7 @@ if ! cp "${SRCTOP}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz" "${BUILDDEBDIR}/."
314333
echo "[ERROR] Failed to copy ${SRCTOP}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz file to ${BUILDDEBDIR}" 1>&2
315334
exit 1
316335
fi
317-
if ! tar xvfz "${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz" | sed -e 's/^/ /'; then
336+
if ({ tar xvfz "${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz" || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
318337
echo "[ERROR] Failed to expand source code from ${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz" 1>&2
319338
exit 1
320339
fi
@@ -341,7 +360,7 @@ if [ -z "${LOGNAME}" ] && [ -z "${USER}" ]; then
341360
export USER="root"
342361
export LOGNAME="root"
343362
fi
344-
if ! /bin/sh -c "dh_make -f ${BUILDDEBDIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz --createorig --${PKG_CLASS_NAME} ${DH_MAKE_AUTORUN_OPTION}" | sed -e 's/^/ /'; then
363+
if ({ /bin/sh -c "dh_make -f ${BUILDDEBDIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz --createorig --${PKG_CLASS_NAME} ${DH_MAKE_AUTORUN_OPTION}" || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
345364
echo "[ERROR] Failed to run dh_make with ${BUILDDEBDIR}/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz for initializing debian directory." 1>&2
346365
exit 1
347366
fi
@@ -520,7 +539,7 @@ fi
520539
# This option can be removed if ubuntu16.04 is unsupported.
521540
#
522541
echo "[INFO] Create debian packages"
523-
if ! debuild -us -uc -d | sed -e 's/^/ /'; then
542+
if ({ debuild -us -uc -d || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
524543
echo "[ERROR] Failed to run \"debuild -us -uc\"." 1>&2
525544
exit 1
526545
fi
@@ -543,13 +562,13 @@ fi
543562
for _one_pkg in ${FOUND_DEB_PACKAGES}; do
544563
echo ""
545564
echo "[INFO] ${_one_pkg} package information"
546-
if ! dpkg -c "${_one_pkg}" | sed -e 's/^/ /'; then
565+
if ({ dpkg -c "${_one_pkg}" || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
547566
echo "[ERROR] Failed to print ${_one_pkg} package insformation by \"dpkg -c\"." 1>&2
548567
exit 1
549568
fi
550569
echo " ---------------------------"
551570

552-
if ! dpkg -I "${_one_pkg}" | sed -e 's/^/ /'; then
571+
if ({ dpkg -I "${_one_pkg}" || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
553572
echo "[ERROR] Failed to print ${_one_pkg} package insformation by \"dpkg -I\"." 1>&2
554573
exit 1
555574
fi

buildutils/rpm_build.sh

+25-6
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,28 @@
2222
# REVISION:
2323
#
2424

25+
#==============================================================
26+
# Autobuild for rpm package
27+
#==============================================================
2528
#
26-
# Autobuid for rpm package
29+
# Instead of pipefail(for shells not support "set -o pipefail")
2730
#
31+
PIPEFAILURE_FILE="/tmp/.pipefailure.$(od -An -tu4 -N4 /dev/random | tr -d ' \n')"
32+
33+
#
34+
# For shellcheck
35+
#
36+
if locale -a | grep -q -i '^[[:space:]]*C.utf8[[:space:]]*$'; then
37+
LANG=$(locale -a | grep -i '^[[:space:]]*C.utf8[[:space:]]*$' | sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' | tr -d '\n')
38+
LC_ALL="${LANG}"
39+
export LANG
40+
export LC_ALL
41+
elif locale -a | grep -q -i '^[[:space:]]*en_US.utf8[[:space:]]*$'; then
42+
LANG=$(locale -a | grep -i '^[[:space:]]*en_US.utf8[[:space:]]*$' | sed -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g' | tr -d '\n')
43+
LC_ALL="${LANG}"
44+
export LANG
45+
export LC_ALL
46+
fi
2847

2948
#
3049
# Common variables
@@ -184,13 +203,13 @@ done
184203
# Run configure for package version
185204
#
186205
echo "[INFO] Run autogen"
187-
if ! "${SRCTOP}"/autogen.sh | sed -e 's/^/ /'; then
206+
if ({ "${SRCTOP}"/autogen.sh || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
188207
echo "[ERROR] Failed to run autogen.sh." 1>&2
189208
exit 1
190209
fi
191210
echo ""
192211
echo "[INFO] Run configure"
193-
if ! /bin/sh -c "${SRCTOP}/configure ${CONFIGUREOPT}" | sed -e 's/^/ /'; then
212+
if ({ /bin/sh -c "${SRCTOP}/configure ${CONFIGUREOPT}" || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
194213
echo "[ERROR] Failed to run configure." 1>&2
195214
exit 1
196215
fi
@@ -217,7 +236,7 @@ if [ "$(git status -s | wc -l)" -eq 0 ]; then
217236
#
218237
# make source package(tar.gz) by git archive
219238
#
220-
if ! git archive HEAD --prefix="${PACKAGE_NAME}-${PACKAGE_VERSION}/" --output="${RPM_TOPDIR}/SOURCES/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz" | sed -e 's/^/ /'; then
239+
if ({ git archive HEAD --prefix="${PACKAGE_NAME}-${PACKAGE_VERSION}/" --output="${RPM_TOPDIR}/SOURCES/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz" || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
221240
echo "[ERROR] Could not make source tar ball(${RPM_TOPDIR}/SOURCES/${PACKAGE_NAME}-${PACKAGE_VERSION}.tar.gz) from github repository." 1>&2
222241
exit 1
223242
fi
@@ -231,7 +250,7 @@ else
231250
#
232251
# make dist package(tar.gz) and copy it
233252
#
234-
if ! make dist | sed -e 's/^/ /'; then
253+
if ({ make dist || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
235254
echo "[ERROR] Failed to create dist package(make dist)." 1>&2
236255
exit 1
237256
fi
@@ -259,7 +278,7 @@ fi
259278
# build RPM packages
260279
#
261280
echo "[INFO] Create RPM packages"
262-
if ! /bin/sh -c "rpmbuild -vv -ba ${RUN_AUTOGEN_FLAG} --define \"_topdir ${RPM_TOPDIR}\" --define \"_prefix /usr\" --define \"_mandir /usr/share/man\" --define \"_defaultdocdir /usr/share/doc\" --define \"package_revision ${BUILD_NUMBER}\" *.spec" 2>&1 | sed -e 's/^/ /'; then
281+
if ({ /bin/sh -c "rpmbuild -vv -ba ${RUN_AUTOGEN_FLAG} --define \"_topdir ${RPM_TOPDIR}\" --define \"_prefix /usr\" --define \"_mandir /usr/share/man\" --define \"_defaultdocdir /usr/share/doc\" --define \"package_revision ${BUILD_NUMBER}\" *.spec" 2>&1 || echo > "${PIPEFAILURE_FILE}"; } | sed -e 's/^/ /') && rm "${PIPEFAILURE_FILE}" >/dev/null 2>&1; then
263282
echo "[ERROR] Failed to build rpm packages by rpmbuild." 1>&2
264283
exit 1
265284
fi

0 commit comments

Comments
 (0)