version: 1 accept_configuration: condition: and conditions: - condition: property property: host.osVersion equals_value: Ubuntu_18_04 - condition: property property: target.osVersion equals_value: QEMU - condition: property property: target.arch in_values: [ARMv7, ARM64] environment: &environment type: Group instructions: - type: EnvironmentVariable variableName: POKY_SHA1 variableValue: 1adc7478a0548e1ebd75d96d2b938c5852c78365 - type: EnvironmentVariable variableName: OE_SHA1 variableValue: daa50331352c1f75da3a8ef6458ae3ddf94ef863 - type: EnvironmentVariable variableName: PYTHON2_SHA1 variableValue: 8fc9be701d430388b4c5234c97e623debd26a1df - type: EnvironmentVariable variableName: MACHINE variableValue: qemuarm64 enable_if: condition: property property: target.arch equals_value: ARM64 - type: EnvironmentVariable variableName: MACHINE variableValue: qemux86 enable_if: condition: property property: target.arch equals_value: ARMv7 build_instructions: - *environment - type: SetBuildDirectory directory: "{{.AgentWorkingDir}}/build" - type: MakeDirectory directory: "{{.BuildDir}}" - type: ChangeDirectory directory: "{{.BuildDir}}" - type: ExecuteCommand command: ["sudo", "mkdir", "-p", "/mnt/yocto-cache"] userMessageOnFailure: "Could not create '/mnt/yocto-cache' directory" - type: ExecuteCommand command: ["sudo", "mount", "yocto-cache.intra.qt.io:/srv/yocto-cache", "/mnt/yocto-cache"] userMessageOnFailure: "Could not mount yocto cache." - type: WriteFile fileContents: | # https://github.com/shr-project/jenkins-jobs/blob/master/jenkins-job.sh INHERIT += "reproducible_build_simple" # We want musl and glibc to share the same tmpfs, so instead of appending default "-${TCLIBC}" we append "fs" TCLIBCAPPEND = "fs" PREFERRED_PROVIDER_udev = "systemd" PREFERRED_PROVIDER_virtual/fftw = "fftw" # use gold DISTRO_FEATURES_append = " ld-is-gold" # use ptest DISTRO_FEATURES_append = " ptest" # use systemd DISTRO_FEATURES_append = " systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" VIRTUAL-RUNTIME_initscripts = "" # use opengl DISTRO_FEATURES_append = " opengl" # use wayland to fix building weston and qtwayland DISTRO_FEATURES_append = " wayland" PREFERRED_PROVIDER_jpeg = "libjpeg-turbo" PREFERRED_PROVIDER_jpeg-native = "libjpeg-turbo-native" PREFERRED_PROVIDER_gpsd = "gpsd" PREFERRED_PROVIDER_e-wm-sysactions = "e-wm" ESYSACTIONS = "e-wm-sysactions" # don't pull libhybris unless explicitly asked for PREFERRED_PROVIDER_virtual/libgl ?= "mesa" PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" PREFERRED_PROVIDER_virtual/egl ?= "mesa" # to fix fsoaudiod, alsa-state conflict in shr-image-all VIRTUAL-RUNTIME_alsa-state = "" # to prevent alsa-state being pulled into -dev or -dbg images RDEPENDS_${PN}-dev_pn-alsa-state = "" RDEPENDS_${PN}-dbg_pn-alsa-state = "" # to fix dependency on conflicting x11-common from packagegroup-core-x11 VIRTUAL-RUNTIME_xserver_common ?= "xserver-common" RDEPENDS_${PN}-dev_pn-x11-common = "" RDEPENDS_${PN}-dbg_pn-x11-common = "" # to fix apm, fso-apm conflict in shr-image-all VIRTUAL-RUNTIME_apm = "fso-apm" # remove qtwebkit-dev USE_RUBY = "" # require conf/distro/include/qt5-versions.inc # QT5_VERSION = "5.4.0+git%" # for qtwebkit etc # see https://bugzilla.yoctoproject.org/show_bug.cgi?id=5013 # DEPENDS_append_pn-qtbase = " mesa" PACKAGECONFIG_append_pn-qtbase = " icu gl accessibility freetype fontconfig" # qtwayland doesn't like egl and xcomposite-glx enabled at the same time # http://lists.openembedded.org/pipermail/openembedded-devel/2016-December/110444.html PACKAGECONFIG_remove_pn-qtwayland = "xcomposite-egl xcomposite-glx" # for webkit-efl PACKAGECONFIG_append_pn-harfbuzz = " icu" inherit blacklist # PNBLACKLIST[samsung-rfs-mgr] = "needs newer libsamsung-ipc with negative D_P: Requested 'samsung-ipc-1.0 >= 0.2' but version of libsamsung-ipc is 0.1.0" PNBLACKLIST[android-system] = "depends on lxc from meta-virtualiazation which isn't included in my world builds" PNBLACKLIST[bigbuckbunny-1080p] = "big and doesn't really need to be tested so much" PNBLACKLIST[bigbuckbunny-480p] = "big and doesn't really need to be tested so much" PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much" PNBLACKLIST[bigbuckbunny-720p] = "big and doesn't really need to be tested so much" PNBLACKLIST[tearsofsteel-1080p] = "big and doesn't really need to be tested so much" PNBLACKLIST[build-appliance-image] = "tries to include whole downloads directory in /home/builder/poky :/" # enable reporting # needs http://patchwork.openembedded.org/patch/68735/ #ERR_REPORT_SERVER = "errors.yoctoproject.org" #ERR_REPORT_PORT = "80" #ERR_REPORT_USERNAME = "Martin Jansa" #ERR_REPORT_EMAIL = "Martin.Jansa@gmail.com" #ERR_REPORT_UPLOAD_FAILURES = "1" #INHERIT += "report-error" # needs patch with buildstats-summary.bbclass INHERIT += "buildstats buildstats-summary" # be more strict with QA warnings, turn them all to errors: ERROR_QA_append = " ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated uppercase-pn" WARN_QA_remove = " ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated uppercase-pn" # enable thumb for broader test coverage (oe-core autobuilder doesn't have thumb enabled) PREFERRED_ARM_INSTRUCTION_SET ?= "thumb" ARM_INSTRUCTION_SET = "${PREFERRED_ARM_INSTRUCTION_SET}" # use musl for qemux86 and qemux86copy TCLIBC_qemux86 = "musl" TCLIBC_qemux86copy = "musl" # limit parallel make to avoid OOM PARALLEL_MAKE_pn-qtwebkit = "-j 8" filename: "{{.BuildDir}}/world_fixes.inc" fileMode: 420 - type: WriteFile fileContents: | #!/bin/bash -xe git clone git://git.yoctoproject.org/poky --reference /mnt/yocto-cache/mirror/poky.git (cd poky; git checkout ${POKY_SHA1}) git clone git://github.com/openembedded/meta-openembedded --reference /mnt/yocto-cache/mirror/meta-openembedded.git (cd meta-openembedded; git checkout ${OE_SHA1}) git clone git://git.openembedded.org/meta-python2 --reference /mnt/yocto-cache/mirror/meta-python2.git (cd meta-python2; git checkout ${PYTHON2_SHA1}) source ./poky/oe-init-build-env export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SSTATE_DIR DL_DIR" export DL_DIR=/mnt/yocto-cache/downloads export BB_GENERATE_MIRROR_TARBALLS=1 export SSTATE_DIR=/mnt/yocto-cache/sstate-caches/$(sed -n -e "s/DISTRO_CODENAME.*\"\(.*\)\"/\1/p" ../poky/meta-*/conf/distro/poky.conf) bitbake-layers add-layer ../meta-openembedded/meta-oe bitbake-layers add-layer ../meta-python2 bitbake-layers add-layer ${SOURCE_DIR} echo 'require ../world_fixes.inc' >> conf/local.conf # EXCLUDE_FROM_WORLD rm -f ${SOURCE_DIR}/recipes-qt/examples/qt5-opengles2-test_git.bb bitbake $(find ${SOURCE_DIR} -name *.bb | xargs -n1 basename | sed -e 's/\([^._]*\).*/\1/') filename: "{{.BuildDir}}/start-build" fileMode: 420 - type: ExecuteCommand command: ["chmod", "+x", "{{.BuildDir}}/start-build"] userMessageOnFailure: "Could not add execution right to the start-build." - type: EnvironmentVariable variableName: DL_DIR variableValue: "/mnt/yocto-cache/downloads" - type: EnvironmentVariable variableName: SOURCE_DIR variableValue: "{{.SourceDir}}" - type: ExecuteCommand command: ["{{.BuildDir}}/start-build"] maxTimeInSeconds: 28800 maxTimeBetweenOutput: 28800 userMessageOnFailure: "Build failed." - type: ExecuteCommand command: ["sudo", "umount", "/mnt/yocto-cache"] userMessageOnFailure: "Unmounting cache failed." test_instructions: []