osmith has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-trx/+/38114?usp=email )

Change subject: contrib/jenkins: remove broken chroot + qemu code
......................................................................

contrib/jenkins: remove broken chroot + qemu code

The mirror where it would download images from is not online anymore,
and it looks like this whole block has not been executed in years (we
always test the arm builds on native arm machines nowadays, and run all
builds in docker).

Replace the whole block with a simple check that ensures when arm flags
are used, that the build is actually running on an arm machine.

Change-Id: I2e204e4a0a7dfcf32f011ed6fb403b564f8155a7
---
M contrib/jenkins.sh
1 file changed, 13 insertions(+), 54 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  Jenkins Builder: Verified
  pespin: Looks good to me, approved




diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index 73d3ffd..8aeeb41 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -9,60 +9,19 @@
 #
 set -ex

-substr() { [ -z "${2##*$1*}" ]; }
-
-#apt-get install qemu qemu-user-static qemu-system-arm debootstrap fakeroot 
proot
-mychroot_nocwd() {
-        # LC_ALL + LANGUAGE set to avoid lots of print errors due to locale 
not being set inside container
-        # PATH is needed to be able to reach binaries like ldconfig without 
logging in to root, which adds the paths to PATH.
-        # PROOT_NO_SECCOMP is required due to proot bug #106
-        LC_ALL=C LANGUAGE=C PATH="$PATH:/usr/sbin:/sbin" PROOT_NO_SECCOMP=1 
proot -r "$ROOTFS" -w / -b /proc --root-id -q qemu-arm-static "$@"
-}
-
-mychroot() {
-        mychroot_nocwd -w / "$@"
-}
-
-if [ -z "${INSIDE_CHROOT}" ]; then
-
-        # Only use ARM chroot if host is not ARM and the target is ARM:
-        if ! $(substr "arm" "$(uname -m)") && [ "x${INSTR}" = "x--with-neon" 
-o "x${INSTR}" = "x--with-neon-vfpv4" ]; then
-
-                OSMOTRX_DIR="$PWD" # we assume we are called as 
contrib/jenkins.sh
-                ROOTFS_PREFIX="${ROOTFS_PREFIX:-$HOME}"
-                ROOTFS="${ROOTFS_PREFIX}/qemu-img"
-                mkdir -p "${ROOTFS_PREFIX}"
-
-                # Prepare chroot:
-                if [ ! -d "$ROOTFS" ]; then
-                        mkdir -p "$ROOTFS"
-                        if [ "x${USE_DEBOOTSTRAP}" = "x1" ]; then
-                                fakeroot qemu-debootstrap --foreign 
--include="linux-image-armmp-lpae" --arch=armhf stretch "$ROOTFS" 
http://ftp.de.debian.org/debian/
-                                # Hack to avoid debootstrap trying to mount 
/proc, as it will fail with "no permissions" and anyway proot takes care of it:
-                                sed -i "s/setup_proc//g" 
"$ROOTFS/debootstrap/suite-script"
-                                mychroot /debootstrap/debootstrap 
--second-stage --verbose http://ftp.de.debian.org/debian/
-                        else
-                                YESTERDAY=$(python -c 'import datetime ; 
print((datetime.datetime.now() - 
datetime.timedelta(days=1)).strftime("%Y%m%d"))')
-                                wget -nc -q 
"https://uk.images.linuxcontainers.org/images/debian/stretch/armhf/default/${YESTERDAY}_22:42/rootfs.tar.xz";
-                                tar -xf rootfs.tar.xz -C "$ROOTFS/" || true
-                                echo "nameserver 8.8.8.8" > 
"$ROOTFS/etc/resolv.conf"
-                        fi
-                        mychroot -b /dev apt-get update
-                        mychroot apt-get -y install build-essential 
dh-autoreconf pkg-config libuhd-dev libusb-1.0-0-dev libusb-dev git 
libtalloc-dev libgnutls28-dev stow
-                fi
-                # Run jenkins.sh inside the chroot:
-                INSIDE_CHROOT=1 mychroot_nocwd \
-                 -w /osmo-trx \
-                 -b "$OSMOTRX_DIR:/osmo-trx" \
-                 -b "$(which 
osmo-clean-workspace.sh):/usr/bin/osmo-clean-workspace.sh" \
-                 -b "$(which osmo-build-dep.sh):/usr/bin/osmo-build-dep.sh" \
-                 -b "$(which osmo-deps.sh):/usr/bin/osmo-deps.sh" \
-                  ./contrib/jenkins.sh
-                exit 0
-        fi
-fi
-
-set -ex
+case "$INSTR" in
+       "--with-neon"*)
+               case "$(arch)" in
+                       arm*)
+                               ;;
+                       *)
+                               set +x
+                               echo "ERROR: trying to build with INSTR=$INSTR 
but not running on a 32-bit arm machine! (arch=$(arch))"
+                               exit 1
+                               ;;
+               esac
+               ;;
+esac

 if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then
        echo "Error: We need to have scripts/osmo-deps.sh from 
http://git.osmocom.org/osmo-ci/ in PATH !"

--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/38114?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I2e204e4a0a7dfcf32f011ed6fb403b564f8155a7
Gerrit-Change-Number: 38114
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: osmith <osm...@sysmocom.de>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>

Reply via email to