Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
Upstream-Status: Backport [767e0316450911f1158bd4f7fd8dcd066bae5c55]
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
|
||||
From 0ce0a85597db48a2fca619bd95e34af091e54ae8 Mon Sep 17 00:00:00 2001
|
||||
From: Ross Burton <ross.burton@arm.com>
|
||||
Date: Thu, 22 Jul 2021 16:31:11 +0100
|
||||
Subject: [PATCH] Fix build race in Makefile
|
||||
|
||||
The current rule for the binaries is:
|
||||
|
||||
glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
|
||||
|
||||
In parallel builds, all of those targets happen at the same time. This
|
||||
means that 'bin' can happen *after* 'bin/$(GLEWINFO.BIN)', which is a
|
||||
problem as the 'bin' target's responsibility is to create the directory
|
||||
that the other target writes into.
|
||||
|
||||
Solve this by not having a separate 'create directory' target which is
|
||||
fundamentally racy, and simply mkdir in each target which writes into it.
|
||||
---
|
||||
Makefile | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index d0e4614..04af44c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -171,21 +171,20 @@ VISUALINFO.BIN.OBJ := $(VISUALINFO.BIN.OBJ:.c=.o)
|
||||
# Don't build glewinfo or visualinfo for NaCL, yet.
|
||||
|
||||
ifneq ($(filter nacl%,$(SYSTEM)),)
|
||||
-glew.bin: glew.lib bin
|
||||
+glew.bin: glew.lib
|
||||
else
|
||||
-glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
|
||||
+glew.bin: glew.lib bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
|
||||
endif
|
||||
|
||||
-bin:
|
||||
- mkdir bin
|
||||
-
|
||||
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
|
||||
+ @mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS)
|
||||
ifneq ($(STRIP),)
|
||||
$(STRIP) -x $@
|
||||
endif
|
||||
|
||||
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
|
||||
+ @mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJ) $(BIN.LIBS)
|
||||
ifneq ($(STRIP),)
|
||||
$(STRIP) -x $@
|
||||
--
|
||||
2.25.1
|
||||
|
||||
12
sources/poky/meta/recipes-graphics/glew/glew/no-strip.patch
Normal file
12
sources/poky/meta/recipes-graphics/glew/glew/no-strip.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
Don't forcibly strip the binaries.
|
||||
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
Upstream-Status: Backport [d7693eea09ac76c67f5f3aa538bb911ce2291e2c]
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 6a9803c..170c0ce 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -285 +285 @@ install.bin: glew.bin
|
||||
- $(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
|
||||
+ $(INSTALL) -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
|
||||
21
sources/poky/meta/recipes-graphics/glew/glew/notempdir.patch
Normal file
21
sources/poky/meta/recipes-graphics/glew/glew/notempdir.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
We don't use the dist-* targets and hence DIST_DIR isn't used. The current code
|
||||
creates a new temp directory in /tmp/ for every invocation of make. Lets
|
||||
not do that.
|
||||
|
||||
https://github.com/nigels-com/glew/issues/334
|
||||
|
||||
Upstream-Status: Pending [a revised version would be needed for upstream]
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Index: glew-2.2.0/Makefile
|
||||
===================================================================
|
||||
--- glew-2.2.0.orig/Makefile
|
||||
+++ glew-2.2.0/Makefile
|
||||
@@ -56,7 +56,6 @@ DIST_SRC_ZIP ?= $(shell pwd)/$(DIST_NAME
|
||||
DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz
|
||||
DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip
|
||||
|
||||
-DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
|
||||
|
||||
# To disable stripping of linked binaries either:
|
||||
# - use STRIP= on gmake command-line
|
||||
46
sources/poky/meta/recipes-graphics/glew/glew_2.2.0.bb
Normal file
46
sources/poky/meta/recipes-graphics/glew/glew_2.2.0.bb
Normal file
@@ -0,0 +1,46 @@
|
||||
SUMMARY = "OpenGL extension loading library"
|
||||
DESCRIPTION = "The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library."
|
||||
HOMEPAGE = "http://glew.sourceforge.net/"
|
||||
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=67586"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \
|
||||
file://0001-Fix-build-race-in-Makefile.patch \
|
||||
file://notempdir.patch \
|
||||
file://no-strip.patch"
|
||||
|
||||
SRC_URI[md5sum] = "3579164bccaef09e36c0af7f4fd5c7c7"
|
||||
SRC_URI[sha256sum] = "d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1"
|
||||
|
||||
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/glew/files/glew"
|
||||
UPSTREAM_CHECK_REGEX = "/glew/(?P<pver>(\d+[\.\-_]*)+)/"
|
||||
|
||||
inherit lib_package pkgconfig features_check
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "opengl"
|
||||
|
||||
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', 'egl-gles2', d)}"
|
||||
|
||||
# The opengl and egl-XXX options are exclusive, enable only one.
|
||||
PACKAGECONFIG[opengl] = "SYSTEM='linux',,virtual/libx11 virtual/libgl libglu libxext libxi libxmu,,,egl-gles2"
|
||||
PACKAGECONFIG[egl-gles2] = "SYSTEM='linux-egl' GLEW_NO_GLU='-DGLEW_NO_GLU' LDFLAGS.GL='-lEGL -lGLESv2',,virtual/egl virtual/libgles2,,,opengl"
|
||||
|
||||
CFLAGS += "-D_GNU_SOURCE"
|
||||
# Override SYSTEM (via PACKAGECONFIG_CONFARGS) to avoid calling config.guess,
|
||||
# we're cross-compiling. Pass our CFLAGS via POPT as that's the optimisation
|
||||
# variable and safely overwritten.
|
||||
EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} \
|
||||
CC='${CC}' LD='${CC}' STRIP='' \
|
||||
LDFLAGS.EXTRA='${LDFLAGS}' \
|
||||
POPT='${CFLAGS}' \
|
||||
GLEW_PREFIX='${prefix}' BINDIR='${bindir}' \
|
||||
LIBDIR='${libdir}' INCDIR='${includedir}/GL' PKGDIR='${libdir}/pkgconfig'"
|
||||
|
||||
do_compile() {
|
||||
oe_runmake
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install.all
|
||||
}
|
||||
Reference in New Issue
Block a user