Browse Source

improve the build-script

improve BROKEN, if(BROKEN==1){export BROKEN}else{unset BROKEN}
add NO_FAKETIME, to build without faketime
add variables vor faktime to docker-build.sh
some little improvements
Karsten Böddeker 8 years ago
parent
commit
abb320b2e4
3 changed files with 24 additions and 13 deletions
  1. 0 4
      Makefile
  2. 22 9
      build.sh
  3. 2 0
      docker-build.sh

+ 0 - 4
Makefile

@@ -5,10 +5,6 @@ LANG:=C
 
 GLUONDIR:=${CURDIR}/src
 
-ifeq ($(BROKEN),0)
-	undefine BROKEN
-endif
-
 include $(GLUONDIR)/include/gluon.mk
 include $(GLUONDIR)/targets/targets.mk
 

+ 22 - 9
build.sh

@@ -22,6 +22,7 @@
 #
 # expert/special usecase only (optional):
 # FAKETIME_LIB = path to libfaketime.so.1 if it is not in the standard location
+# NO_FAKETIME  = 0 (default) or 1, disables the use of Faketime
 
 
 ### includes
@@ -54,7 +55,13 @@ pushd ${MY_DIR} > /dev/null
 ### set reasonable defaults for unset environment variables
 [ -n "${AUTOUPDATER}" ] || AUTOUPDATER=${BRANCH}
 # ToDo: [ "${BASE}" == "master" ] && BASE="origin/master"
-[ -n "${BROKEN}" ] || BROKEN=0
+if [ -n "${BROKEN}" ]; then
+	if [ "${BROKEN}" -eq "1" ]; then
+		export BROKEN
+	else
+		unset BROKEN
+	fi
+fi
 [ -n "${BUILD_TS}" ] || BUILD_TS=$(date +"%Y-%m-%d %H:%M:%S")
 
 if [ -z "${DIRCLEAN}" ]; then
@@ -66,14 +73,18 @@ if [ -z "${DIRCLEAN}" ]; then
 fi
 
 [ -n "${MAKEJOBS}" ] || MAKEJOBS=$(grep -c "^processor" /proc/cpuinfo)
+[ -n "${NO_FAKETIME}" ] || NO_FAKETIME=0
 [ -n "${PRIORITY}" ] || PRIORITY=0
 [ -n "${SITE_REPO_FETCH_METHOD}" ] || SITE_REPO_FETCH_METHOD="http"
-[ -n "${TARGETS}" ] || TARGETS=$(BROKEN=${BROKEN} make list-targets | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
 [ -n "${VERBOSE}" ] || VERBOSE=0
 
+if [ -z "${TARGETS}" ]; then
+        TARGETS=$(make list-targets | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
+        info "building all tagets: '${TARGETS}'"
+fi
 if [ "${BRANCH}" == "experimental" -a -z "${VERSION}" ] ; then
 	VERSION=$(make default-release)
-	info "EXPERIMENTAL FIRMWARE: using version tag '$VERSION'"
+	info "EXPERIMENTAL FIRMWARE: using version tag '${VERSION}'"
 fi
 
 ### set some additional variables
@@ -84,7 +95,7 @@ else
 fi
 
 MAKE_PARAM=""
-[ "$VERBOSE" -eq "1" ] && MAKE_PARAM="${MAKE_PARAM} V=s"
+[ "${VERBOSE}" -eq "1" ] && MAKE_PARAM="${MAKE_PARAM} V=s"
 
 ### INIT /src IF NECESSARY
 if [ ! -d "${CODE_DIR}" ]; then
@@ -103,11 +114,11 @@ fi
 pushd ${CODE_DIR} > /dev/null
 
 ### CHECKOUT GLUON
-progress "Checking out GLUON '$BASE' ..."
+progress "Checking out GLUON '${BASE}' ..."
 # TODO: check if gluon got modified and bail out if necessary
 git fetch
 git checkout -q ${BASE}
-[ "$?" -eq "0" ] || abort "Failed to checkout '$BASE' gluon base version, mimimi." >&2
+[ "$?" -eq "0" ] || abort "Failed to checkout '${BASE}' gluon base version, mimimi." >&2
 GLUON_COMMIT=$(git rev-list --max-count=1 HEAD)
 
 
@@ -172,9 +183,11 @@ echo "TARGETS=${TARGETS}" >> ${build_info_path}
 echo "TS=${BUILD_TS}" >> ${build_info_path}
 
 ### SETUP FAKETIME (consistent build)
-[ -z "$FAKETIME_LIB" ] && FAKETIME_LIB="/usr/lib/${MACHTYPE}-${OSTYPE}/faketime/libfaketime.so.1"
-export LD_PRELOAD="${FAKETIME_LIB}"
-export FAKETIME="${BUILD_TS}"
+if [ "${NO_FAKETIME}" -eq "0" ]; then
+	[ -z "${FAKETIME_LIB}" ] && FAKETIME_LIB="/usr/lib/${MACHTYPE}-${OSTYPE}/faketime/libfaketime.so.1"
+	export LD_PRELOAD="${FAKETIME_LIB}"
+	export FAKETIME="${BUILD_TS}"
+fi
 
 ### BUILD FIRMWARE
 progress "Building the firmware - please stand by!"

+ 2 - 0
docker-build.sh

@@ -31,7 +31,9 @@ docker run -ti -h ffho-build -v "${MYDIR}:/code" \
     --env BROKEN="${BROKEN}" \
     --env BUILD_TS="${BUILD_TS}" \
     --env DIRCLEAN="${DIRCLEAN}" \
+    --env FAKETIME_LIB="/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1" \
     --env MAKEJOBS="${MAKEJOBS}" \
+    --env NO_FAKETIME="${NO_FAKETIME}" \
     --env PRIORITY="${PRIORITY}" \
     --env SITE_ID="${SITE_ID}" \
     --env TARGETS="${TARGETS}" \