@@ -1,7 +1,9 @@
FROM fedora:28
RUN dnf -y install wget curl xterm gcc git xz make diffutils findutils expect valgrind valgrind-devel ccache dtc openssl-devel
RUN dnf -y install gcc-powerpc64-linux-gnu
+# below packages are for building dtc
+RUN dnf -y install flex bison
RUN if [ `arch` = "x86_64" ]; then dnf -y install http://public.dhe.ibm.com/software/server/powerfuncsim/p9/packages/v1.1-0/systemsim-p9-1.1-0.f22.x86_64.rpm; fi
COPY . /build/
WORKDIR /build
-ENTRYPOINT ./opal-ci/build-fedora27.sh
+ENTRYPOINT ./opal-ci/build-fedora28.sh
new file mode 100755
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -uo pipefail
+set -e
+set -vx
+
+MAKE_J=$(grep -c processor /proc/cpuinfo)
+export CROSS="ccache powerpc64-linux-gnu-"
+
+# There's a bug in dtc v1.4.7 packaged on fedora 28 that makes our device tree
+# tests fail, so for the moment, build a slightly older DTC
+git clone --depth=1 -b v1.4.4 https://git.kernel.org/pub/scm/utils/dtc/dtc.git
+(cd dtc; make -j${MAKE_J})
+export PATH=`pwd`/dtc:$PATH
+
+make -j${MAKE_J} all
+make -j${MAKE_J} check
+(make clean; cd external/gard && CROSS= make -j${MAKE_J})
+(cd external/pflash; make -j${MAKE_J})
+make clean
+# Disable GCOV builds on Fedora 24 as toolchain gives us:
+# /usr/bin/powerpc64-linux-gnu-ld: section .bss VMA [0000000000200000,000000000024d757] overlaps section .sym_map VMA [000000000019f340,0000000000208e5c]
+# (we shoud fix it, but not yet)
+#SKIBOOT_GCOV=1 make -j${MAKE_J}
+#SKIBOOT_GCOV=1 make -j${MAKE_J} check
+
+make clean
+rm -rf builddir
+mkdir builddir
+make SRC=$(pwd) -f ../Makefile -C builddir -j${MAKE_J}
+make clean
There are patches that will go into dtc to fix the issues we hit, but for the moment let's just build and use a slightly older version. Signed-off-by: Stewart Smith <stewart@linux.ibm.com> --- opal-ci/Dockerfile-fedora28 | 4 +++- opal-ci/build-fedora28.sh | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100755 opal-ci/build-fedora28.sh