Skip to content

Commit f72499f

Browse files
committed
Install dependencies, unified removal of failures & build only current system
1 parent fc0a136 commit f72499f

File tree

3 files changed

+63
-20
lines changed

3 files changed

+63
-20
lines changed

install-dependencies.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env bash
2+
3+
#
4+
# This file install the system dependencies needed to build QEmu. It should be
5+
# of interest only when generating prebuild releases
6+
#
7+
8+
set -o pipefail
9+
10+
APT='apt-get -qq -y'
11+
12+
# Update cache
13+
#dpkg --add-architecture i386 &&
14+
#dpkg --add-architecture amd64 &&
15+
$APT update || exit 1
16+
17+
#$APT install libsdl1.2-dev:i386 zlib1g-dev:i386 \
18+
# libsdl1.2-dev:amd64 zlib1g-dev:amd64 || exit 20
19+
$APT install libsdl1.2-dev zlib1g-dev || exit 20

scripts/BigRedButton

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
#!/usr/bin/env bash
22

33

4-
MACHINE=i686 npm run build || exit 1
5-
MACHINE=x86_64 npm run build || exit 2
4+
#
5+
# Generate prebuilds
6+
#
7+
8+
npm run build || exit 1
9+
#MACHINE=i686 npm run build || exit 1
10+
#MACHINE=x86_64 npm run build || exit 2
611

712

813
#

scripts/build

+37-18
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ QEMU_VERSION=`node -p "require('./package.json').version"`
99

1010
QEMU_URL=http://wiki.qemu-project.org/download/qemu-$QEMU_VERSION.tar.bz2
1111

12-
SRC_DIR=`pwd`/deps/qemu
13-
1412

1513
if [[ -z $JOBS ]]; then
1614
JOBS=$((`getconf _NPROCESSORS_ONLN` + 1))
@@ -22,12 +20,14 @@ fi
2220
case $MACHINE in
2321
i[345678]86)
2422
ARCH=ia32
25-
CC="$CC -m32"
23+
# CC="cc -m32"
24+
# CXX="cpp -m32"
2625
;;
2726

2827
x86_64)
2928
ARCH=x64
30-
CC="$CC -m64"
29+
# CC="cc -m64"
30+
# CXX="cpp -m64"
3131
;;
3232

3333
*)
@@ -53,38 +53,55 @@ case $OS in
5353
esac
5454

5555

56+
function rmStep(){
57+
rm -rf $1
58+
rmdir -p --ignore-fail-on-non-empty `dirname $1`
59+
}
60+
5661
# Clean object dir and return the input error
5762
function err(){
58-
rm -rf $OBJ_DIR
59-
rmdir -p --ignore-fail-on-non-empty `dirname $OBJ_DIR`
63+
rmStep $STEP_DIR
6064
exit $1
6165
}
6266

6367

68+
#
69+
# Define steps paths
70+
#
71+
72+
SRC_DIR=`pwd`/deps/qemu
73+
OBJ_DIR=`pwd`/build/$MACHINE
74+
OUT_DIR=`pwd`
75+
PREBUILD=`pwd`/prebuilds/$PLATFORM-$ARCH.tar.gz
76+
77+
6478
#
6579
# Download QEmu
6680
#
6781

68-
OBJ_DIR=$SRC_DIR
82+
STEP_DIR=$SRC_DIR
83+
84+
if [[ ! -d $STEP_DIR ]]; then
85+
mkdir -p $STEP_DIR || exit 3
6986

70-
if [[ ! -d $OBJ_DIR ]]; then
71-
mkdir -p $OBJ_DIR || exit 3
87+
rmStep $OBJ_DIR
7288

73-
curl $QEMU_URL | tar -xj --strip-components=1 -C $OBJ_DIR || err 4
89+
curl $QEMU_URL | tar -xj --strip-components=1 -C $STEP_DIR || err 4
7490
fi
7591

7692

7793
#
7894
# Build qemu
7995
#
8096

81-
OBJ_DIR=`pwd`/build/$MACHINE
82-
OUT_DIR=`pwd`
97+
STEP_DIR=$OBJ_DIR
8398

84-
if [[ ! -d $OBJ_DIR ]]; then
99+
if [[ ! -d $STEP_DIR ]]; then
85100
(
86-
mkdir -p $OBJ_DIR &&
87-
cd $OBJ_DIR || exit 5
101+
mkdir -p $STEP_DIR &&
102+
cd $STEP_DIR || exit 5
103+
104+
rmStep $PREBUILD
88105

89106
$SRC_DIR/configure --prefix=$OUT_DIR \
90107
--cpu=$MACHINE \
@@ -95,13 +112,15 @@ if [[ ! -d $OBJ_DIR ]]; then
95112

96113
make -j$JOBS &&
97114
make install || exit 7
98-
) #|| err $?
115+
) || err $?
99116
fi
100117

101118

102119
#
103120
# Pack qemu in a node-gyp compatible way
104121
#
105122

106-
mkdir -p prebuilds &&
107-
tar -cf - bin libexec share | gzip > prebuilds/$PLATFORM-$ARCH.tar.gz || exit 8
123+
STEP_DIR=$PREBUILD
124+
125+
mkdir -p prebuilds &&
126+
tar -cf - bin libexec share | gzip > $PREBUILD || err 8

0 commit comments

Comments
 (0)