diff options
-rw-r--r-- | documentation/ref-manual/yocto-project-supported-features.rst | 2 | ||||
-rw-r--r-- | meta/classes-recipe/image_types_wic.bbclass | 12 | ||||
-rw-r--r-- | meta/classes/buildhistory.bbclass | 74 | ||||
-rw-r--r-- | meta/conf/distro/include/default-providers.inc | 18 | ||||
-rw-r--r-- | meta/conf/distro/include/maintainers.inc | 1 | ||||
-rw-r--r-- | meta/conf/machine/include/qemu.inc | 7 | ||||
-rw-r--r-- | meta/conf/machine/qemux86-64.conf | 6 | ||||
-rw-r--r-- | meta/conf/machine/qemux86.conf | 6 | ||||
-rw-r--r-- | meta/lib/oeqa/selftest/cases/distrodata.py | 2 | ||||
-rw-r--r-- | meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb | 39 | ||||
-rw-r--r-- | meta/recipes-graphics/mesa/mesa.inc | 4 |
11 files changed, 70 insertions, 101 deletions
diff --git a/documentation/ref-manual/yocto-project-supported-features.rst b/documentation/ref-manual/yocto-project-supported-features.rst index f67da0e6e8..06e298cbe5 100644 --- a/documentation/ref-manual/yocto-project-supported-features.rst +++ b/documentation/ref-manual/yocto-project-supported-features.rst | |||
@@ -226,7 +226,7 @@ builder(s): | |||
226 | - meta-virt | 226 | - meta-virt |
227 | * - :wikipedia:`RISC-V (32-bit) <RISC-V>` | 227 | * - :wikipedia:`RISC-V (32-bit) <RISC-V>` |
228 | - RISC-V architecture testing (32-bit) | 228 | - RISC-V architecture testing (32-bit) |
229 | - Collective effort | 229 | - TBD |
230 | - qemuriscv32, | 230 | - qemuriscv32, |
231 | qemuriscv32, | 231 | qemuriscv32, |
232 | qemuriscv32-tc | 232 | qemuriscv32-tc |
diff --git a/meta/classes-recipe/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass index 740ed946f8..6180874a4c 100644 --- a/meta/classes-recipe/image_types_wic.bbclass +++ b/meta/classes-recipe/image_types_wic.bbclass | |||
@@ -57,6 +57,16 @@ def wks_search(files, search_path): | |||
57 | if searched: | 57 | if searched: |
58 | return searched | 58 | return searched |
59 | 59 | ||
60 | def wks_checksums(files, search_path): | ||
61 | ret = "" | ||
62 | for f in files: | ||
63 | found, hist = bb.utils.which(search_path, f, history=True) | ||
64 | ret = ret + " " + " ".join(h + ":False" for h in hist[:-1]) | ||
65 | if found: | ||
66 | ret = ret + " " + found + ":True" | ||
67 | return ret | ||
68 | |||
69 | |||
60 | WIC_CREATE_EXTRA_ARGS ?= "" | 70 | WIC_CREATE_EXTRA_ARGS ?= "" |
61 | 71 | ||
62 | IMAGE_CMD:wic () { | 72 | IMAGE_CMD:wic () { |
@@ -98,7 +108,7 @@ do_image_wic[cleandirs] = "${WORKDIR}/build-wic" | |||
98 | 108 | ||
99 | # Rebuild when the wks file or vars in WICVARS change | 109 | # Rebuild when the wks file or vars in WICVARS change |
100 | USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}" | 110 | USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}" |
101 | WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}" | 111 | WKS_FILE_CHECKSUM = "${@wks_checksums(d.getVar('WKS_FILES').split(), d.getVar('WKS_SEARCH_PATH')) if '${USING_WIC}' else ''}" |
102 | do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" | 112 | do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}" |
103 | do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" | 113 | do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}" |
104 | 114 | ||
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index e970182620..4a380c10c6 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass | |||
@@ -16,28 +16,6 @@ BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory" | |||
16 | BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}" | 16 | BUILDHISTORY_DIR_IMAGE = "${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}" |
17 | BUILDHISTORY_DIR_PACKAGE = "${BUILDHISTORY_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}" | 17 | BUILDHISTORY_DIR_PACKAGE = "${BUILDHISTORY_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}" |
18 | 18 | ||
19 | # Setting this to non-empty will remove the old content of the buildhistory as part of | ||
20 | # the current bitbake invocation and replace it with information about what was built | ||
21 | # during the build. | ||
22 | # | ||
23 | # This is meant to be used in continuous integration (CI) systems when invoking bitbake | ||
24 | # for full world builds. The effect in that case is that information about packages | ||
25 | # that no longer get build also gets removed from the buildhistory, which is not | ||
26 | # the case otherwise. | ||
27 | # | ||
28 | # The advantage over manually cleaning the buildhistory outside of bitbake is that | ||
29 | # the "version-going-backwards" check still works. When relying on that, be careful | ||
30 | # about failed world builds: they will lead to incomplete information in the | ||
31 | # buildhistory because information about packages that could not be built will | ||
32 | # also get removed. A CI system should handle that by discarding the buildhistory | ||
33 | # of failed builds. | ||
34 | # | ||
35 | # The expected usage is via auto.conf, but passing via the command line also works | ||
36 | # with: BB_ENV_PASSTHROUGH_ADDITIONS=BUILDHISTORY_RESET BUILDHISTORY_RESET=1 | ||
37 | BUILDHISTORY_RESET ?= "" | ||
38 | |||
39 | BUILDHISTORY_OLD_DIR = "${BUILDHISTORY_DIR}/${@ "old" if "${BUILDHISTORY_RESET}" else ""}" | ||
40 | BUILDHISTORY_OLD_DIR_PACKAGE = "${BUILDHISTORY_OLD_DIR}/packages/${MULTIMACH_TARGET_SYS}/${PN}" | ||
41 | BUILDHISTORY_DIR_SDK = "${BUILDHISTORY_DIR}/sdk/${SDK_NAME}${SDK_EXT}/${IMAGE_BASENAME}" | 19 | BUILDHISTORY_DIR_SDK = "${BUILDHISTORY_DIR}/sdk/${SDK_NAME}${SDK_EXT}/${IMAGE_BASENAME}" |
42 | BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" | 20 | BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" |
43 | BUILDHISTORY_SDK_FILES ?= "conf/local.conf conf/bblayers.conf conf/auto.conf conf/locked-sigs.inc conf/devtool.conf" | 21 | BUILDHISTORY_SDK_FILES ?= "conf/local.conf conf/bblayers.conf conf/auto.conf conf/locked-sigs.inc conf/devtool.conf" |
@@ -70,9 +48,10 @@ SSTATEPOSTUNPACKFUNCS[vardepvalueexclude] .= "| buildhistory_emit_outputsigs" | |||
70 | # necessary because some of these items (package directories, files that | 48 | # necessary because some of these items (package directories, files that |
71 | # we no longer emit) might be obsolete. | 49 | # we no longer emit) might be obsolete. |
72 | # | 50 | # |
73 | # When extending build history, derive your class from buildhistory.bbclass | 51 | # The files listed here are either written by tasks that aren't do_package (e.g. |
74 | # and extend this list here with the additional files created by the derived | 52 | # latest_srcrev from do_fetch) so do_package must not remove them, or, they're |
75 | # class. | 53 | # used to read values in do_package before always being overwritten, e.g. latest, |
54 | # for version backwards checks. | ||
76 | BUILDHISTORY_PRESERVE = "latest latest_srcrev sysroot" | 55 | BUILDHISTORY_PRESERVE = "latest latest_srcrev sysroot" |
77 | 56 | ||
78 | PATCH_GIT_USER_EMAIL ?= "buildhistory@oe" | 57 | PATCH_GIT_USER_EMAIL ?= "buildhistory@oe" |
@@ -108,7 +87,6 @@ python buildhistory_emit_pkghistory() { | |||
108 | return 0 | 87 | return 0 |
109 | 88 | ||
110 | pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE') | 89 | pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE') |
111 | oldpkghistdir = d.getVar('BUILDHISTORY_OLD_DIR_PACKAGE') | ||
112 | 90 | ||
113 | class RecipeInfo: | 91 | class RecipeInfo: |
114 | def __init__(self, name): | 92 | def __init__(self, name): |
@@ -203,7 +181,7 @@ python buildhistory_emit_pkghistory() { | |||
203 | 181 | ||
204 | def getlastpkgversion(pkg): | 182 | def getlastpkgversion(pkg): |
205 | try: | 183 | try: |
206 | histfile = os.path.join(oldpkghistdir, pkg, "latest") | 184 | histfile = os.path.join(pkghistdir, pkg, "latest") |
207 | return readPackageInfo(pkg, histfile) | 185 | return readPackageInfo(pkg, histfile) |
208 | except EnvironmentError: | 186 | except EnvironmentError: |
209 | return None | 187 | return None |
@@ -219,20 +197,6 @@ python buildhistory_emit_pkghistory() { | |||
219 | items.sort() | 197 | items.sort() |
220 | return ' '.join(items) | 198 | return ' '.join(items) |
221 | 199 | ||
222 | def preservebuildhistoryfiles(pkg, preserve): | ||
223 | if os.path.exists(os.path.join(oldpkghistdir, pkg)): | ||
224 | listofobjs = os.listdir(os.path.join(oldpkghistdir, pkg)) | ||
225 | for obj in listofobjs: | ||
226 | if obj not in preserve: | ||
227 | continue | ||
228 | try: | ||
229 | bb.utils.mkdirhier(os.path.join(pkghistdir, pkg)) | ||
230 | shutil.copyfile(os.path.join(oldpkghistdir, pkg, obj), os.path.join(pkghistdir, pkg, obj)) | ||
231 | except IOError as e: | ||
232 | bb.note("Unable to copy file. %s" % e) | ||
233 | except EnvironmentError as e: | ||
234 | bb.note("Unable to copy file. %s" % e) | ||
235 | |||
236 | pn = d.getVar('PN') | 200 | pn = d.getVar('PN') |
237 | pe = d.getVar('PE') or "0" | 201 | pe = d.getVar('PE') or "0" |
238 | pv = d.getVar('PV') | 202 | pv = d.getVar('PV') |
@@ -260,14 +224,6 @@ python buildhistory_emit_pkghistory() { | |||
260 | if not os.path.exists(pkghistdir): | 224 | if not os.path.exists(pkghistdir): |
261 | bb.utils.mkdirhier(pkghistdir) | 225 | bb.utils.mkdirhier(pkghistdir) |
262 | else: | 226 | else: |
263 | # We need to make sure that all files kept in | ||
264 | # buildhistory/old are restored successfully | ||
265 | # otherwise next block of code wont have files to | ||
266 | # check and purge | ||
267 | if d.getVar("BUILDHISTORY_RESET"): | ||
268 | for pkg in packagelist: | ||
269 | preservebuildhistoryfiles(pkg, preserve) | ||
270 | |||
271 | # Remove files for packages that no longer exist | 227 | # Remove files for packages that no longer exist |
272 | for item in os.listdir(pkghistdir): | 228 | for item in os.listdir(pkghistdir): |
273 | if item not in preserve: | 229 | if item not in preserve: |
@@ -887,25 +843,7 @@ END | |||
887 | 843 | ||
888 | python buildhistory_eventhandler() { | 844 | python buildhistory_eventhandler() { |
889 | if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip(): | 845 | if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip(): |
890 | reset = e.data.getVar("BUILDHISTORY_RESET") | 846 | if isinstance(e, bb.event.BuildCompleted): |
891 | olddir = e.data.getVar("BUILDHISTORY_OLD_DIR") | ||
892 | if isinstance(e, bb.event.BuildStarted): | ||
893 | if reset: | ||
894 | import shutil | ||
895 | # Clean up after potentially interrupted build. | ||
896 | if os.path.isdir(olddir): | ||
897 | shutil.rmtree(olddir) | ||
898 | rootdir = e.data.getVar("BUILDHISTORY_DIR") | ||
899 | bb.utils.mkdirhier(rootdir) | ||
900 | entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ] | ||
901 | bb.utils.mkdirhier(olddir) | ||
902 | for entry in entries: | ||
903 | bb.utils.rename(os.path.join(rootdir, entry), | ||
904 | os.path.join(olddir, entry)) | ||
905 | elif isinstance(e, bb.event.BuildCompleted): | ||
906 | if reset: | ||
907 | import shutil | ||
908 | shutil.rmtree(olddir) | ||
909 | if e.data.getVar("BUILDHISTORY_COMMIT") == "1": | 847 | if e.data.getVar("BUILDHISTORY_COMMIT") == "1": |
910 | bb.note("Writing buildhistory") | 848 | bb.note("Writing buildhistory") |
911 | bb.build.exec_func("buildhistory_write_sigs", d) | 849 | bb.build.exec_func("buildhistory_write_sigs", d) |
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc index 4f09416354..3f113543cd 100644 --- a/meta/conf/distro/include/default-providers.inc +++ b/meta/conf/distro/include/default-providers.inc | |||
@@ -6,15 +6,13 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | |||
6 | PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" | 6 | PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg" |
7 | PREFERRED_PROVIDER_virtual/libsdl2 ?= "libsdl2" | 7 | PREFERRED_PROVIDER_virtual/libsdl2 ?= "libsdl2" |
8 | PREFERRED_PROVIDER_virtual/libsdl2-native ?= "libsdl2-native" | 8 | PREFERRED_PROVIDER_virtual/libsdl2-native ?= "libsdl2-native" |
9 | PREFERRED_PROVIDER_virtual/egl ?= "mesa" | 9 | PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}" |
10 | PREFERRED_PROVIDER_virtual/libegl-icd ?= "mesa" | 10 | PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
11 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | 11 | PREFERRED_PROVIDER_virtual/libgl-native ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd-native', 'mesa-native',d)}" |
12 | PREFERRED_PROVIDER_virtual/libglx-icd ?= "mesa" | 12 | PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'nativesdk-libglvnd', 'nativesdk-mesa',d)}" |
13 | PREFERRED_PROVIDER_virtual/libgl-native ?= "mesa-native" | 13 | PREFERRED_PROVIDER_virtual/libgles1 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
14 | PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "nativesdk-mesa" | 14 | PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
15 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | 15 | PREFERRED_PROVIDER_virtual/libgles3 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'glvnd', 'libglvnd', 'mesa',d)}" |
16 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
17 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
18 | PREFERRED_PROVIDER_virtual/mesa ?= "mesa" | 16 | PREFERRED_PROVIDER_virtual/mesa ?= "mesa" |
19 | PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-utils" | 17 | PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg-utils" |
20 | PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-utils-native" | 18 | PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-utils-native" |
@@ -68,4 +66,6 @@ PREFERRED_RPROVIDER_initd-functions ?= "initscripts" | |||
68 | PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa" | 66 | PREFERRED_PROVIDER_nativesdk-mesa ?= "nativesdk-mesa" |
69 | PREFERRED_PROVIDER_virtual/nativesdk-libsdl2 ?= "nativesdk-libsdl2" | 67 | PREFERRED_PROVIDER_virtual/nativesdk-libsdl2 ?= "nativesdk-libsdl2" |
70 | 68 | ||
69 | PREFERRED_RPROVIDER_virtual-libegl-icd ?= "mesa" | ||
70 | PREFERRED_RPROVIDER_virtual-libglx-icd ?= "mesa" | ||
71 | PREFERRED_RPROVIDER_virtual-x-terminal-emulator ?= "rxvt-unicode" | 71 | PREFERRED_RPROVIDER_virtual-x-terminal-emulator ?= "rxvt-unicode" |
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 870c81e85f..d94fb693e3 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
@@ -353,6 +353,7 @@ RECIPE_MAINTAINER:pn-libgcrypt = "Hongxu Jia <hongxu.jia@windriver.com>" | |||
353 | RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>" | 353 | RECIPE_MAINTAINER:pn-libgfortran = "Khem Raj <raj.khem@gmail.com>" |
354 | RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>" | 354 | RECIPE_MAINTAINER:pn-libgit2 = "Unassigned <unassigned@yoctoproject.org>" |
355 | RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>" | 355 | RECIPE_MAINTAINER:pn-libgloss = "Alejandro Hernandez <alejandro@enedino.org>" |
356 | RECIPE_MAINTAINER:pn-libglvnd = "Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>" | ||
356 | RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>" | 357 | RECIPE_MAINTAINER:pn-libglu = "Ross Burton <ross.burton@arm.com>" |
357 | RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>" | 358 | RECIPE_MAINTAINER:pn-libgpg-error = "Hongxu Jia <hongxu.jia@windriver.com>" |
358 | RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>" | 359 | RECIPE_MAINTAINER:pn-libgudev = "Ross Burton <ross.burton@arm.com>" |
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc index d7392d4762..c143e37f71 100644 --- a/meta/conf/machine/include/qemu.inc +++ b/meta/conf/machine/include/qemu.inc | |||
@@ -1,10 +1,3 @@ | |||
1 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | ||
2 | PREFERRED_PROVIDER_virtual/egl ?= "mesa" | ||
3 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | ||
4 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | ||
5 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
6 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
7 | |||
8 | XSERVER ?= "xserver-xorg \ | 1 | XSERVER ?= "xserver-xorg \ |
9 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \ | 2 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \ |
10 | xf86-video-fbdev \ | 3 | xf86-video-fbdev \ |
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf index 4a9c6d364b..62108b703b 100644 --- a/meta/conf/machine/qemux86-64.conf +++ b/meta/conf/machine/qemux86-64.conf | |||
@@ -2,12 +2,6 @@ | |||
2 | #@NAME: QEMU x86-64 machine | 2 | #@NAME: QEMU x86-64 machine |
3 | #@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU | 3 | #@DESCRIPTION: Machine configuration for running an x86-64 system on QEMU |
4 | 4 | ||
5 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | ||
6 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | ||
7 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | ||
8 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
9 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
10 | |||
11 | require conf/machine/include/qemu.inc | 5 | require conf/machine/include/qemu.inc |
12 | DEFAULTTUNE ?= "core2-64" | 6 | DEFAULTTUNE ?= "core2-64" |
13 | require conf/machine/include/x86/tune-x86-64-v3.inc | 7 | require conf/machine/include/x86/tune-x86-64-v3.inc |
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf index 1e072e1ae2..51f080bd2a 100644 --- a/meta/conf/machine/qemux86.conf +++ b/meta/conf/machine/qemux86.conf | |||
@@ -2,12 +2,6 @@ | |||
2 | #@NAME: QEMU x86 machine | 2 | #@NAME: QEMU x86 machine |
3 | #@DESCRIPTION: Machine configuration for running an x86 system on QEMU | 3 | #@DESCRIPTION: Machine configuration for running an x86 system on QEMU |
4 | 4 | ||
5 | PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" | ||
6 | PREFERRED_PROVIDER_virtual/libgl ?= "mesa" | ||
7 | PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa" | ||
8 | PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa" | ||
9 | PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa" | ||
10 | |||
11 | require conf/machine/include/qemu.inc | 5 | require conf/machine/include/qemu.inc |
12 | DEFAULTTUNE ?= "core2-32" | 6 | DEFAULTTUNE ?= "core2-32" |
13 | require conf/machine/include/x86/tune-corei7.inc | 7 | require conf/machine/include/x86/tune-corei7.inc |
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py index 1e88ea82e6..f2c6124d70 100644 --- a/meta/lib/oeqa/selftest/cases/distrodata.py +++ b/meta/lib/oeqa/selftest/cases/distrodata.py | |||
@@ -56,7 +56,7 @@ but their recipes claim otherwise by setting UPSTREAM_VERSION_UNKNOWN. Please re | |||
56 | 56 | ||
57 | def is_maintainer_exception(entry): | 57 | def is_maintainer_exception(entry): |
58 | exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data", | 58 | exceptions = ["musl", "newlib", "picolibc", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data", |
59 | "cve-update-nvd2-native", "barebox"] | 59 | "cve-update-nvd2-native", "barebox", "libglvnd"] |
60 | for i in exceptions: | 60 | for i in exceptions: |
61 | if i in entry: | 61 | if i in entry: |
62 | return True | 62 | return True |
diff --git a/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb new file mode 100644 index 0000000000..d2a4b2dc51 --- /dev/null +++ b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "the GL Vendor-Neutral Dispatch library" | ||
2 | DESCRIPTION = "libglvnd is a vendor-neutral dispatch layer for arbitrating \ | ||
3 | OpenGL API calls between multiple vendors." | ||
4 | HOMEPAGE = "https://gitlab.freedesktop.org/glvnd/libglvnd" | ||
5 | LICENSE = "MIT & BSD-1-Clause & BSD-3-Clause & GPL-3.0-with-autoconf-exception" | ||
6 | LIC_FILES_CHKSUM = "file://README.md;beginline=323;md5=7ac5f0111f648b92fe5427efeb08e8c4" | ||
7 | |||
8 | SRC_URI = "git://gitlab.freedesktop.org/glvnd/libglvnd.git;protocol=https;branch=master" | ||
9 | |||
10 | SRCREV = "faa23f21fc677af5792825dc30cb1ccef4bf33a6" | ||
11 | |||
12 | REQUIRED_DISTRO_FEATURES = "opengl glvnd" | ||
13 | |||
14 | inherit meson pkgconfig features_check | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | PACKAGECONFIG ?= "\ | ||
19 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ | ||
20 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl gles1 gles2', '', d)} \ | ||
21 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \ | ||
22 | " | ||
23 | |||
24 | PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libx11 libxext xorgproto" | ||
25 | PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,libx11 libxext xorgproto,,virtual-libglx-icd" | ||
26 | PACKAGECONFIG[egl] = "-Degl=true,-Degl=false,,virtual-libegl-icd" | ||
27 | PACKAGECONFIG[gles1] = "-Dgles1=true,-Dgles1=false," | ||
28 | PACKAGECONFIG[gles2] = "-Dgles2=true,-Dgles2=false," | ||
29 | |||
30 | BBCLASSEXTEND = "native nativesdk" | ||
31 | |||
32 | PROVIDES = " \ | ||
33 | ${@bb.utils.contains('PACKAGECONFIG', 'glx', 'virtual/libgl', '', d)} \ | ||
34 | ${@bb.utils.contains('PACKAGECONFIG', 'gles1', 'virtual/libgles1', '', d)} \ | ||
35 | ${@bb.utils.contains('PACKAGECONFIG', 'gles2', 'virtual/libgles2 virtual/libgles3', '', d)} \ | ||
36 | ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ | ||
37 | " | ||
38 | |||
39 | RPROVIDES:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'egl', 'libegl', '', d)}" | ||
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index c3adb5ef78..6b42a238cc 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc | |||
@@ -84,7 +84,7 @@ def strip_comma(s): | |||
84 | PACKAGECONFIG = " \ | 84 | PACKAGECONFIG = " \ |
85 | gallium \ | 85 | gallium \ |
86 | video-codecs \ | 86 | video-codecs \ |
87 | ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \ | 87 | ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ |
88 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ | 88 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ |
89 | ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ | 89 | ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ |
90 | " | 90 | " |
@@ -286,7 +286,7 @@ python __anonymous() { | |||
286 | if 'glvnd' in pkgconfig: | 286 | if 'glvnd' in pkgconfig: |
287 | for p in ("libegl", "libglx"): | 287 | for p in ("libegl", "libglx"): |
288 | fullp = mlprefix + p + "-mesa" + suffix | 288 | fullp = mlprefix + p + "-mesa" + suffix |
289 | d.appendVar("RPROVIDES:" + fullp, '%s-icd' % p) | 289 | d.appendVar("RPROVIDES:" + fullp, ' virtual-%s-icd' % p) |
290 | else: | 290 | else: |
291 | for p in (("egl", "libegl", "libegl1"), | 291 | for p in (("egl", "libegl", "libegl1"), |
292 | ("opengl", "libgl", "libgl1"), | 292 | ("opengl", "libgl", "libgl1"), |