diff options
Diffstat (limited to 'meta')
23 files changed, 323 insertions, 30 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 40b0375e0b..9bab54c6bd 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -574,8 +574,8 @@ sdk_ext_preinst() { | |||
574 | exit 1 | 574 | exit 1 |
575 | fi | 575 | fi |
576 | # The relocation script used by buildtools installer requires python | 576 | # The relocation script used by buildtools installer requires python |
577 | if ! command -v python > /dev/null; then | 577 | if ! command -v python3 > /dev/null; then |
578 | echo "ERROR: The installer requires python, please install it first" | 578 | echo "ERROR: The installer requires python3, please install it first" |
579 | exit 1 | 579 | exit 1 |
580 | fi | 580 | fi |
581 | missing_utils="" | 581 | missing_utils="" |
@@ -634,7 +634,7 @@ sdk_ext_postinst() { | |||
634 | # current working directory when first ran, nor will it set $1 when | 634 | # current working directory when first ran, nor will it set $1 when |
635 | # sourcing a script. That is why this has to look so ugly. | 635 | # sourcing a script. That is why this has to look so ugly. |
636 | LOGFILE="$target_sdk_dir/preparing_build_system.log" | 636 | LOGFILE="$target_sdk_dir/preparing_build_system.log" |
637 | sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } | 637 | sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python3 $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; } |
638 | rm $target_sdk_dir/ext-sdk-prepare.py | 638 | rm $target_sdk_dir/ext-sdk-prepare.py |
639 | fi | 639 | fi |
640 | echo done | 640 | echo done |
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index c027901fdf..8eb5e7a864 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
@@ -81,6 +81,7 @@ RECIPE_MAINTAINER_pn-build-appliance-image = "Richard Purdie <richard.purdie@lin | |||
81 | RECIPE_MAINTAINER_pn-build-compare = "Paul Eggleton <paul.eggleton@linux.intel.com>" | 81 | RECIPE_MAINTAINER_pn-build-compare = "Paul Eggleton <paul.eggleton@linux.intel.com>" |
82 | RECIPE_MAINTAINER_pn-build-sysroots = "Richard Purdie <richard.purdie@linuxfoundation.org>" | 82 | RECIPE_MAINTAINER_pn-build-sysroots = "Richard Purdie <richard.purdie@linuxfoundation.org>" |
83 | RECIPE_MAINTAINER_pn-builder = "Richard Purdie <richard.purdie@linuxfoundation.org>" | 83 | RECIPE_MAINTAINER_pn-builder = "Richard Purdie <richard.purdie@linuxfoundation.org>" |
84 | RECIPE_MAINTAINER_pn-buildtools-extended-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>" | ||
84 | RECIPE_MAINTAINER_pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>" | 85 | RECIPE_MAINTAINER_pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>" |
85 | RECIPE_MAINTAINER_pn-busybox = "Andrej Valek <andrej.valek@siemens.com>" | 86 | RECIPE_MAINTAINER_pn-busybox = "Andrej Valek <andrej.valek@siemens.com>" |
86 | RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denys@ti.com>" | 87 | RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denys@ti.com>" |
diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc index ad75d3e2a3..69b6edee5f 100644 --- a/meta/conf/distro/include/yocto-uninative.inc +++ b/meta/conf/distro/include/yocto-uninative.inc | |||
@@ -6,9 +6,9 @@ | |||
6 | # to the distro running on the build machine. | 6 | # to the distro running on the build machine. |
7 | # | 7 | # |
8 | 8 | ||
9 | UNINATIVE_MAXGLIBCVERSION = "2.30" | 9 | UNINATIVE_MAXGLIBCVERSION = "2.32" |
10 | 10 | ||
11 | UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.7/" | 11 | UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.9/" |
12 | UNINATIVE_CHECKSUM[aarch64] ?= "e76a45886ee8a0b3904b761c17ac8ff91edf9811ee455f1832d10763ba794dfc" | 12 | UNINATIVE_CHECKSUM[aarch64] ?= "9f25a667aee225b1dd65c4aea73e01983e825b1cb9b56937932a1ee328b45f81" |
13 | UNINATIVE_CHECKSUM[i686] ?= "810d027dfb1c7675226afbcec07808770516c969ee7378f6d8240281083f8924" | 13 | UNINATIVE_CHECKSUM[i686] ?= "cae5d73245d95b07cf133b780ba3f6c8d0adca3ffc4e7e7fab999961d5e24d36" |
14 | UNINATIVE_CHECKSUM[x86_64] ?= "9498d8bba047499999a7310ac2576d0796461184965351a56f6d32c888a1f216" | 14 | UNINATIVE_CHECKSUM[x86_64] ?= "d07916b95c419c81541a19c8ef0ed8cbd78ae18437ff28a4c8a60ef40518e423" |
diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 9eabd62630..6c4d14a038 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh | |||
@@ -1,13 +1,8 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | [ -z "$ENVCLEANED" ] && exec /usr/bin/env -i ENVCLEANED=1 HOME="$HOME" \ | 3 | export LC_ALL=en_US.UTF-8 |
4 | LC_ALL=en_US.UTF-8 \ | 4 | # Remove invalid PATH elements first (maybe from a previously setup toolchain now deleted |
5 | TERM=$TERM \ | 5 | PATH=`python3 -c 'import os; print(":".join(e for e in os.environ["PATH"].split(":") if os.path.exists(e)))'` |
6 | ICECC_PATH="$ICECC_PATH" \ | ||
7 | http_proxy="$http_proxy" https_proxy="$https_proxy" ftp_proxy="$ftp_proxy" \ | ||
8 | no_proxy="$no_proxy" all_proxy="$all_proxy" GIT_PROXY_COMMAND="$GIT_PROXY_COMMAND" "$0" "$@" | ||
9 | [ -f /etc/environment ] && . /etc/environment | ||
10 | export PATH=`echo "$PATH" | sed -e 's/:\.//' -e 's/::/:/'` | ||
11 | 6 | ||
12 | tweakpath () { | 7 | tweakpath () { |
13 | case ":${PATH}:" in | 8 | case ":${PATH}:" in |
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py index 8a584d6ddd..96ebc36b8b 100644 --- a/meta/lib/oe/utils.py +++ b/meta/lib/oe/utils.py | |||
@@ -370,7 +370,7 @@ def host_gcc_version(d, taskcontextonly=False): | |||
370 | except subprocess.CalledProcessError as e: | 370 | except subprocess.CalledProcessError as e: |
371 | bb.fatal("Error running %s --version: %s" % (compiler, e.output.decode("utf-8"))) | 371 | bb.fatal("Error running %s --version: %s" % (compiler, e.output.decode("utf-8"))) |
372 | 372 | ||
373 | match = re.match(".* (\d\.\d)\.\d.*", output.split('\n')[0]) | 373 | match = re.match(r".* (\d+\.\d+)\.\d+.*", output.split('\n')[0]) |
374 | if not match: | 374 | if not match: |
375 | bb.fatal("Can't get compiler version from %s --version output" % compiler) | 375 | bb.fatal("Can't get compiler version from %s --version output" % compiler) |
376 | 376 | ||
diff --git a/meta/lib/oeqa/core/utils/concurrencytest.py b/meta/lib/oeqa/core/utils/concurrencytest.py index 1a58d35ba0..3e0e5d770c 100644 --- a/meta/lib/oeqa/core/utils/concurrencytest.py +++ b/meta/lib/oeqa/core/utils/concurrencytest.py | |||
@@ -194,7 +194,7 @@ def fork_for_tests(concurrency_num, suite): | |||
194 | oe.path.copytree(selftestdir, newselftestdir) | 194 | oe.path.copytree(selftestdir, newselftestdir) |
195 | 195 | ||
196 | for e in os.environ: | 196 | for e in os.environ: |
197 | if builddir in os.environ[e]: | 197 | if builddir + "/" in os.environ[e] or os.environ[e].endswith(builddir): |
198 | os.environ[e] = os.environ[e].replace(builddir, newbuilddir) | 198 | os.environ[e] = os.environ[e].replace(builddir, newbuilddir) |
199 | 199 | ||
200 | subprocess.check_output("git init; git add *; git commit -a -m 'initial'", cwd=newselftestdir, shell=True) | 200 | subprocess.check_output("git init; git add *; git commit -a -m 'initial'", cwd=newselftestdir, shell=True) |
diff --git a/meta/lib/oeqa/sdkext/testsdk.py b/meta/lib/oeqa/sdkext/testsdk.py index 57b2e0e03f..8ec5262d56 100644 --- a/meta/lib/oeqa/sdkext/testsdk.py +++ b/meta/lib/oeqa/sdkext/testsdk.py | |||
@@ -22,11 +22,8 @@ class TestSDKExt(TestSDKBase): | |||
22 | 22 | ||
23 | subprocesstweak.errors_have_output() | 23 | subprocesstweak.errors_have_output() |
24 | 24 | ||
25 | # extensible sdk can be contaminated if native programs are | 25 | # We need the original PATH for testing the eSDK, not with our manipulations |
26 | # in PATH, i.e. use perl-native instead of eSDK one. | 26 | os.environ['PATH'] = d.getVar("BB_ORIGENV", False).getVar("PATH") |
27 | paths_to_avoid = [d.getVar('STAGING_DIR'), | ||
28 | d.getVar('BASE_WORKDIR')] | ||
29 | os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid) | ||
30 | 27 | ||
31 | tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh") | 28 | tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh") |
32 | if not os.path.exists(tcname): | 29 | if not os.path.exists(tcname): |
diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py index 4fa99acbc9..8d585430be 100644 --- a/meta/lib/oeqa/selftest/cases/signing.py +++ b/meta/lib/oeqa/selftest/cases/signing.py | |||
@@ -40,7 +40,9 @@ class Signing(OESelftestTestCase): | |||
40 | origenv = os.environ.copy() | 40 | origenv = os.environ.copy() |
41 | 41 | ||
42 | for e in os.environ: | 42 | for e in os.environ: |
43 | if builddir in os.environ[e]: | 43 | if builddir + "/" in os.environ[e]: |
44 | os.environ[e] = os.environ[e].replace(builddir + "/", newbuilddir + "/") | ||
45 | if os.environ[e].endswith(builddir): | ||
44 | os.environ[e] = os.environ[e].replace(builddir, newbuilddir) | 46 | os.environ[e] = os.environ[e].replace(builddir, newbuilddir) |
45 | 47 | ||
46 | os.chdir(newbuilddir) | 48 | os.chdir(newbuilddir) |
diff --git a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch index b53f2ef2e2..a5c2992f2e 100644 --- a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch +++ b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch | |||
@@ -65,3 +65,36 @@ index 68822a6319..537bc35149 100644 | |||
65 | 65 | ||
66 | /* Load the locale data for CATEGORY from the file specified by *NAME. | 66 | /* Load the locale data for CATEGORY from the file specified by *NAME. |
67 | If *NAME is "", use environment variables as specified by POSIX, and | 67 | If *NAME is "", use environment variables as specified by POSIX, and |
68 | Index: git/locale/programs/locale.c | ||
69 | =================================================================== | ||
70 | --- git.orig/locale/programs/locale.c | ||
71 | +++ git/locale/programs/locale.c | ||
72 | @@ -632,6 +632,7 @@ nameentcmp (const void *a, const void *b | ||
73 | ((const struct nameent *) b)->name); | ||
74 | } | ||
75 | |||
76 | +static char _write_archive_locales_path[4096] attribute_hidden __attribute__ ((section (".gccrelocprefix"))) = ARCHIVE_NAME; | ||
77 | |||
78 | static int | ||
79 | write_archive_locales (void **all_datap, char *linebuf) | ||
80 | @@ -645,7 +646,7 @@ write_archive_locales (void **all_datap, | ||
81 | int fd, ret = 0; | ||
82 | uint32_t cnt; | ||
83 | |||
84 | - fd = open64 (ARCHIVE_NAME, O_RDONLY); | ||
85 | + fd = open64 (_write_archive_locales_path, O_RDONLY); | ||
86 | if (fd < 0) | ||
87 | return 0; | ||
88 | |||
89 | @@ -700,8 +701,8 @@ write_archive_locales (void **all_datap, | ||
90 | if (cnt) | ||
91 | putchar_unlocked ('\n'); | ||
92 | |||
93 | - printf ("locale: %-15.15s archive: " ARCHIVE_NAME "\n%s\n", | ||
94 | - names[cnt].name, linebuf); | ||
95 | + printf ("locale: %-15.15s archive: %s\n%s\n", | ||
96 | + names[cnt].name, _write_archive_locales_path, linebuf); | ||
97 | |||
98 | locrec = (struct locrecent *) (addr + names[cnt].locrec_offset); | ||
99 | |||
100 | |||
diff --git a/meta/recipes-core/meta/buildtools-extended-tarball.bb b/meta/recipes-core/meta/buildtools-extended-tarball.bb new file mode 100644 index 0000000000..94ed57585b --- /dev/null +++ b/meta/recipes-core/meta/buildtools-extended-tarball.bb | |||
@@ -0,0 +1,36 @@ | |||
1 | require recipes-core/meta/buildtools-tarball.bb | ||
2 | |||
3 | DESCRIPTION = "SDK type target for building a standalone tarball containing build-essentials, python3, chrpath, \ | ||
4 | make, git and tar. The tarball can be used to run bitbake builds on systems which don't meet the \ | ||
5 | usual version requirements and have ancient compilers." | ||
6 | SUMMARY = "Standalone tarball for running builds on systems with inadequate software and ancient compilers" | ||
7 | LICENSE = "MIT" | ||
8 | |||
9 | # Add nativesdk equivalent of build-essentials | ||
10 | TOOLCHAIN_HOST_TASK += "\ | ||
11 | nativesdk-automake \ | ||
12 | nativesdk-autoconf \ | ||
13 | nativesdk-binutils \ | ||
14 | nativesdk-binutils-symlinks \ | ||
15 | nativesdk-cpp \ | ||
16 | nativesdk-cpp-symlinks \ | ||
17 | nativesdk-gcc \ | ||
18 | nativesdk-gcc-symlinks \ | ||
19 | nativesdk-g++ \ | ||
20 | nativesdk-g++-symlinks \ | ||
21 | nativesdk-gettext \ | ||
22 | nativesdk-libatomic \ | ||
23 | nativesdk-libgcc \ | ||
24 | nativesdk-libstdc++ \ | ||
25 | nativesdk-libstdc++-dev \ | ||
26 | nativesdk-libstdc++-staticdev \ | ||
27 | nativesdk-libtool \ | ||
28 | nativesdk-pkgconfig \ | ||
29 | nativesdk-glibc-utils \ | ||
30 | nativesdk-python \ | ||
31 | nativesdk-libxcrypt-dev \ | ||
32 | " | ||
33 | |||
34 | TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-extended-nativesdk-standalone-${DISTRO_VERSION}" | ||
35 | |||
36 | SDK_TITLE = "Extended Build tools" | ||
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb index 91df6f1ae9..aba10b4cd6 100644 --- a/meta/recipes-core/meta/buildtools-tarball.bb +++ b/meta/recipes-core/meta/buildtools-tarball.bb | |||
@@ -72,7 +72,13 @@ create_sdk_files_append () { | |||
72 | toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} | 72 | toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} |
73 | 73 | ||
74 | echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script | 74 | echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script |
75 | echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script | ||
76 | echo 'export OPENSSL_CONF="${SDKPATHNATIVE}${sysconfdir}/ssl/openssl.cnf"' >>$script | ||
75 | 77 | ||
78 | mkdir -p ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ | ||
79 | echo '${SDKPATHNATIVE}${libdir} | ||
80 | ${SDKPATHNATIVE}${base_libdir} | ||
81 | include /etc/ld.so.conf' > ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ld.so.conf | ||
76 | if [ "${SDKMACHINE}" = "i686" ]; then | 82 | if [ "${SDKMACHINE}" = "i686" ]; then |
77 | echo 'export NO32LIBS="0"' >>$script | 83 | echo 'export NO32LIBS="0"' >>$script |
78 | echo 'echo "$BB_ENV_EXTRAWHITE" | grep -q "NO32LIBS"' >>$script | 84 | echo 'echo "$BB_ENV_EXTRAWHITE" | grep -q "NO32LIBS"' >>$script |
diff --git a/meta/recipes-core/meta/cve-update-db-native.bb b/meta/recipes-core/meta/cve-update-db-native.bb index db1d69a28e..e9a023e9bd 100644 --- a/meta/recipes-core/meta/cve-update-db-native.bb +++ b/meta/recipes-core/meta/cve-update-db-native.bb | |||
@@ -160,15 +160,20 @@ def update_db(c, jsondata): | |||
160 | if not elt['impact']: | 160 | if not elt['impact']: |
161 | continue | 161 | continue |
162 | 162 | ||
163 | accessVector = None | ||
163 | cveId = elt['cve']['CVE_data_meta']['ID'] | 164 | cveId = elt['cve']['CVE_data_meta']['ID'] |
164 | cveDesc = elt['cve']['description']['description_data'][0]['value'] | 165 | cveDesc = elt['cve']['description']['description_data'][0]['value'] |
165 | date = elt['lastModifiedDate'] | 166 | date = elt['lastModifiedDate'] |
166 | accessVector = elt['impact']['baseMetricV2']['cvssV2']['accessVector'] | ||
167 | cvssv2 = elt['impact']['baseMetricV2']['cvssV2']['baseScore'] | ||
168 | |||
169 | try: | 167 | try: |
168 | accessVector = elt['impact']['baseMetricV2']['cvssV2']['accessVector'] | ||
169 | cvssv2 = elt['impact']['baseMetricV2']['cvssV2']['baseScore'] | ||
170 | except KeyError: | ||
171 | cvssv2 = 0.0 | ||
172 | try: | ||
173 | accessVector = accessVector or elt['impact']['baseMetricV3']['cvssV3']['attackVector'] | ||
170 | cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore'] | 174 | cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore'] |
171 | except: | 175 | except KeyError: |
176 | accessVector = accessVector or "UNKNOWN" | ||
172 | cvssv3 = 0.0 | 177 | cvssv3 = 0.0 |
173 | 178 | ||
174 | c.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)", | 179 | c.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)", |
diff --git a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb index 6a8748acdf..ee7d7cd660 100644 --- a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb +++ b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb | |||
@@ -15,12 +15,15 @@ DUMMYPROVIDES = "\ | |||
15 | nativesdk-perl-module-file-find \ | 15 | nativesdk-perl-module-file-find \ |
16 | nativesdk-perl-module-file-glob \ | 16 | nativesdk-perl-module-file-glob \ |
17 | nativesdk-perl-module-file-path \ | 17 | nativesdk-perl-module-file-path \ |
18 | nativesdk-perl-module-file-spec \ | ||
18 | nativesdk-perl-module-file-stat \ | 19 | nativesdk-perl-module-file-stat \ |
19 | nativesdk-perl-module-getopt-long \ | 20 | nativesdk-perl-module-getopt-long \ |
20 | nativesdk-perl-module-io-file \ | 21 | nativesdk-perl-module-io-file \ |
22 | nativesdk-perl-module-overloading \ | ||
21 | nativesdk-perl-module-posix \ | 23 | nativesdk-perl-module-posix \ |
22 | nativesdk-perl-module-thread-queue \ | 24 | nativesdk-perl-module-thread-queue \ |
23 | nativesdk-perl-module-threads \ | 25 | nativesdk-perl-module-threads \ |
26 | nativesdk-perl-module-warnings \ | ||
24 | /usr/bin/perl \ | 27 | /usr/bin/perl \ |
25 | " | 28 | " |
26 | 29 | ||
diff --git a/meta/recipes-devtools/binutils/binutils/nativesdk-relocation.patch b/meta/recipes-devtools/binutils/binutils/nativesdk-relocation.patch new file mode 100644 index 0000000000..408f7d18b7 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/nativesdk-relocation.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | We need binutils to look at our ld.so.conf file within the SDK to ensure | ||
2 | we search the SDK's libdirs as well as those from the host system. | ||
3 | |||
4 | We therefore pass in the directory to the code using a define, then add | ||
5 | it to a section we relocate in a similar way to the way we relocate the | ||
6 | gcc internal paths. This ensures that ld works correctly in our buildtools | ||
7 | tarball. | ||
8 | |||
9 | Standard sysroot relocation doesn't work since we're not in a sysroot, | ||
10 | we want to use both the host system and SDK libs. | ||
11 | |||
12 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
13 | 2020/1/17 | ||
14 | Upstream-Status: Inappropriate [OE specific tweak] | ||
15 | |||
16 | Index: git/ld/Makefile.am | ||
17 | =================================================================== | ||
18 | --- git.orig/ld/Makefile.am | ||
19 | +++ git/ld/Makefile.am | ||
20 | @@ -36,7 +36,8 @@ am__skipyacc = | ||
21 | |||
22 | ELF_CLFAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \ | ||
23 | -DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \ | ||
24 | - -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ | ||
25 | + -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ \ | ||
26 | + -DSYSCONFDIR="\"$(sysconfdir)\"" | ||
27 | WARN_CFLAGS = @WARN_CFLAGS@ | ||
28 | NO_WERROR = @NO_WERROR@ | ||
29 | AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) | ||
30 | Index: git/ld/Makefile.in | ||
31 | =================================================================== | ||
32 | --- git.orig/ld/Makefile.in | ||
33 | +++ git/ld/Makefile.in | ||
34 | @@ -546,7 +546,8 @@ am__skiplex = | ||
35 | am__skipyacc = | ||
36 | ELF_CLFAGS = -DELF_LIST_OPTIONS=@elf_list_options@ \ | ||
37 | -DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \ | ||
38 | - -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ | ||
39 | + -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ \ | ||
40 | + -DSYSCONFDIR="\"$(sysconfdir)\"" | ||
41 | |||
42 | AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) | ||
43 | @ENABLE_PLUGINS_FALSE@PLUGIN_C = | ||
44 | Index: git/ld/emultempl/elf32.em | ||
45 | =================================================================== | ||
46 | --- git.orig/ld/emultempl/elf32.em | ||
47 | +++ git/ld/emultempl/elf32.em | ||
48 | @@ -1024,7 +1024,7 @@ gld${EMULATION_NAME}_check_ld_so_conf (c | ||
49 | |||
50 | info.path = NULL; | ||
51 | info.len = info.alloc = 0; | ||
52 | - tmppath = concat (ld_sysroot, "${prefix}/etc/ld.so.conf", | ||
53 | + tmppath = concat (ld_sysconfdir, "/ld.so.conf", | ||
54 | (const char *) NULL); | ||
55 | if (!gld${EMULATION_NAME}_parse_ld_so_conf (&info, tmppath)) | ||
56 | { | ||
57 | Index: git/ld/ldmain.c | ||
58 | =================================================================== | ||
59 | --- git.orig/ld/ldmain.c | ||
60 | +++ git/ld/ldmain.c | ||
61 | @@ -68,6 +68,7 @@ char *program_name; | ||
62 | |||
63 | /* The prefix for system library directories. */ | ||
64 | const char *ld_sysroot; | ||
65 | +char ld_sysconfdir[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSCONFDIR; | ||
66 | |||
67 | /* The canonical representation of ld_sysroot. */ | ||
68 | char *ld_canon_sysroot; | ||
69 | Index: git/ld/ldmain.h | ||
70 | =================================================================== | ||
71 | --- git.orig/ld/ldmain.h | ||
72 | +++ git/ld/ldmain.h | ||
73 | @@ -23,6 +23,7 @@ | ||
74 | |||
75 | extern char *program_name; | ||
76 | extern const char *ld_sysroot; | ||
77 | +extern char ld_sysconfdir[4096]; | ||
78 | extern char *ld_canon_sysroot; | ||
79 | extern int ld_canon_sysroot_len; | ||
80 | extern FILE *saved_script_handle; | ||
diff --git a/meta/recipes-devtools/binutils/binutils_2.31.bb b/meta/recipes-devtools/binutils/binutils_2.31.bb index 51a9748906..625e18c787 100644 --- a/meta/recipes-devtools/binutils/binutils_2.31.bb +++ b/meta/recipes-devtools/binutils/binutils_2.31.bb | |||
@@ -46,4 +46,9 @@ do_install_class-native () { | |||
46 | PACKAGE_BEFORE_PN += "libbfd" | 46 | PACKAGE_BEFORE_PN += "libbfd" |
47 | FILES_libbfd = "${libdir}/libbfd-*.so" | 47 | FILES_libbfd = "${libdir}/libbfd-*.so" |
48 | 48 | ||
49 | SRC_URI_append_class-nativesdk = "file://nativesdk-relocation.patch" | ||
50 | |||
51 | USE_ALTERNATIVES_FOR_class-nativesdk = "" | ||
52 | FILES_${PN}_append_class-nativesdk = " ${bindir}" | ||
53 | |||
49 | BBCLASSEXTEND = "native nativesdk" | 54 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-devtools/python/python3-testtools/no_traceback2.patch b/meta/recipes-devtools/python/python3-testtools/no_traceback2.patch new file mode 100644 index 0000000000..594510342b --- /dev/null +++ b/meta/recipes-devtools/python/python3-testtools/no_traceback2.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | traceback2 adds traceback for python2. Rather than depend on traceback2, we're | ||
2 | python3 only so just use traceback. | ||
3 | This caused breakage in oe-selftest -j which uses testtools on the autobuilder | ||
4 | using buildtools-tarball. | ||
5 | |||
6 | Upstream-Status: Inappropriate [Our recipe is python3 specific] | ||
7 | (Once py2 is EOL upstream probably could/should take this) | ||
8 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
9 | |||
10 | Index: testtools-2.3.0/testtools/content.py | ||
11 | =================================================================== | ||
12 | --- testtools-2.3.0.orig/testtools/content.py | ||
13 | +++ testtools-2.3.0/testtools/content.py | ||
14 | @@ -19,8 +19,7 @@ import os | ||
15 | import sys | ||
16 | |||
17 | from extras import try_import | ||
18 | -# To let setup.py work, make this a conditional import. | ||
19 | -traceback = try_import('traceback2') | ||
20 | +import traceback | ||
21 | |||
22 | from testtools.compat import ( | ||
23 | _b, | ||
diff --git a/meta/recipes-devtools/python/python3-testtools_2.3.0.bb b/meta/recipes-devtools/python/python3-testtools_2.3.0.bb index 896ecee65c..a254b90a75 100644 --- a/meta/recipes-devtools/python/python3-testtools_2.3.0.bb +++ b/meta/recipes-devtools/python/python3-testtools_2.3.0.bb | |||
@@ -1,2 +1,4 @@ | |||
1 | inherit setuptools3 | 1 | inherit setuptools3 |
2 | require python-testtools.inc | 2 | require python-testtools.inc |
3 | |||
4 | SRC_URI += "file://no_traceback2.patch" | ||
diff --git a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch new file mode 100644 index 0000000000..48d4f73e9c --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From ffe7797637f08cd6ee4c82e2d67462c5e194d30a Mon Sep 17 00:00:00 2001 | ||
2 | From: Jaewon Lee <jaewon.lee@xilinx.com> | ||
3 | Date: Thu, 25 Apr 2019 15:34:26 -0700 | ||
4 | Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME | ||
5 | |||
6 | There is one variable PYTHONHOME to determine where libraries are coming | ||
7 | from for both python2 and python3. This becomes an issue if only one has | ||
8 | libraries in the specified PYTHONHOME path, but they are using the same | ||
9 | PYTHONHOME. Creating another variable OEPYTHON3HOME to allow for a way | ||
10 | to set a different path for python3 | ||
11 | |||
12 | Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> | ||
13 | RP: Backported to 3.5.6 (code totally different to original path for | ||
14 | later python versions) | ||
15 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
16 | |||
17 | --- | ||
18 | Modules/main.c | 17 +++++++++++++---- | ||
19 | 1 file changed, 13 insertions(+), 4 deletions(-) | ||
20 | |||
21 | Index: Python-3.5.6/Python/pylifecycle.c | ||
22 | =================================================================== | ||
23 | --- Python-3.5.6.orig/Python/pylifecycle.c | ||
24 | +++ Python-3.5.6/Python/pylifecycle.c | ||
25 | @@ -864,7 +864,9 @@ Py_GetPythonHome(void) | ||
26 | { | ||
27 | wchar_t *home = default_home; | ||
28 | if (home == NULL && !Py_IgnoreEnvironmentFlag) { | ||
29 | - char* chome = Py_GETENV("PYTHONHOME"); | ||
30 | + char* chome = Py_GETENV("OEPYTHON3HOME"); | ||
31 | + if (!chome) | ||
32 | + chome = Py_GETENV("PYTHONHOME"); | ||
33 | if (chome) { | ||
34 | size_t size = Py_ARRAY_LENGTH(env_home); | ||
35 | size_t r = mbstowcs(env_home, chome, size); | ||
diff --git a/meta/recipes-devtools/python/python3_3.5.6.bb b/meta/recipes-devtools/python/python3_3.5.6.bb index b2f8a3d034..4633a3d239 100644 --- a/meta/recipes-devtools/python/python3_3.5.6.bb +++ b/meta/recipes-devtools/python/python3_3.5.6.bb | |||
@@ -50,6 +50,10 @@ SRC_URI += "\ | |||
50 | file://CVE-2019-9636.patch \ | 50 | file://CVE-2019-9636.patch \ |
51 | " | 51 | " |
52 | 52 | ||
53 | SRC_URI_append_class-nativesdk = " \ | ||
54 | file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \ | ||
55 | " | ||
56 | |||
53 | inherit multilib_header python3native update-alternatives qemu ptest | 57 | inherit multilib_header python3native update-alternatives qemu ptest |
54 | 58 | ||
55 | MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" | 59 | MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" |
@@ -184,7 +188,7 @@ do_install() { | |||
184 | } | 188 | } |
185 | 189 | ||
186 | do_install_append_class-nativesdk () { | 190 | do_install_append_class-nativesdk () { |
187 | create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} PYTHONHOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1' | 191 | create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1' |
188 | } | 192 | } |
189 | 193 | ||
190 | SSTATE_SCAN_FILES += "Makefile" | 194 | SSTATE_SCAN_FILES += "Makefile" |
diff --git a/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch b/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch new file mode 100644 index 0000000000..618ebcdc81 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From 0f1f2d4596aee037d3ccbcf10592466daa54107f Mon Sep 17 00:00:00 2001 | ||
2 | From: Laurent Vivier <laurent@vivier.eu> | ||
3 | Date: Tue, 12 Nov 2019 15:25:56 +0100 | ||
4 | Subject: [PATCH] linux-user: remove host stime() syscall | ||
5 | |||
6 | stime() has been withdrawn from glibc | ||
7 | (12cbde1dae6f "Use clock_settime to implement stime; withdraw stime.") | ||
8 | |||
9 | Implement the target stime() syscall using host | ||
10 | clock_settime(CLOCK_REALTIME, ...) as it is done internally in glibc. | ||
11 | |||
12 | Tested qemu-ppc/x86_64 with: | ||
13 | |||
14 | #include <time.h> | ||
15 | #include <stdio.h> | ||
16 | |||
17 | int main(void) | ||
18 | { | ||
19 | time_t t; | ||
20 | int ret; | ||
21 | |||
22 | /* date -u -d"2019-11-12T15:11:00" "+%s" */ | ||
23 | t = 1573571460; | ||
24 | ret = stime(&t); | ||
25 | printf("ret %d\n", ret); | ||
26 | return 0; | ||
27 | } | ||
28 | |||
29 | # date; ./stime; date | ||
30 | Tue Nov 12 14:18:32 UTC 2019 | ||
31 | ret 0 | ||
32 | Tue Nov 12 15:11:00 UTC 2019 | ||
33 | |||
34 | Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=0f1f2d4596aee037d3ccbcf10592466daa54107f] | ||
35 | Buglink: https://bugs.launchpad.net/qemu/+bug/1852115 | ||
36 | Reported-by: Cole Robinson <crobinso@redhat.com> | ||
37 | Signed-off-by: Laurent Vivier <laurent@vivier.eu> | ||
38 | Reviewed-by: Peter Maydell <peter.maydell@linaro.org> | ||
39 | Message-Id: <20191112142556.6335-1-laurent@vivier.eu> | ||
40 | --- | ||
41 | linux-user/syscall.c | 8 +++++--- | ||
42 | 1 file changed, 5 insertions(+), 3 deletions(-) | ||
43 | |||
44 | Index: qemu-3.0.0/linux-user/syscall.c | ||
45 | =================================================================== | ||
46 | --- qemu-3.0.0.orig/linux-user/syscall.c | ||
47 | +++ qemu-3.0.0/linux-user/syscall.c | ||
48 | @@ -8520,10 +8520,11 @@ abi_long do_syscall(void *cpu_env, int n | ||
49 | #ifdef TARGET_NR_stime /* not on alpha */ | ||
50 | case TARGET_NR_stime: | ||
51 | { | ||
52 | - time_t host_time; | ||
53 | - if (get_user_sal(host_time, arg1)) | ||
54 | + struct timespec ts; | ||
55 | + ts.tv_nsec = 0; | ||
56 | + if (get_user_sal(ts.tv_sec, arg1)) | ||
57 | goto efault; | ||
58 | - ret = get_errno(stime(&host_time)); | ||
59 | + ret = get_errno(clock_settime(CLOCK_REALTIME, &ts)); | ||
60 | } | ||
61 | break; | ||
62 | #endif | ||
diff --git a/meta/recipes-devtools/qemu/qemu_3.0.0.bb b/meta/recipes-devtools/qemu/qemu_3.0.0.bb index e483acab55..1daee7211f 100644 --- a/meta/recipes-devtools/qemu/qemu_3.0.0.bb +++ b/meta/recipes-devtools/qemu/qemu_3.0.0.bb | |||
@@ -42,6 +42,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ | |||
42 | file://CVE-2019-8934.patch \ | 42 | file://CVE-2019-8934.patch \ |
43 | file://0001-linux-user-assume-__NR_gettid-always-exists.patch \ | 43 | file://0001-linux-user-assume-__NR_gettid-always-exists.patch \ |
44 | file://0001-linux-user-rename-gettid-to-sys_gettid-to-avoid-clas.patch \ | 44 | file://0001-linux-user-rename-gettid-to-sys_gettid-to-avoid-clas.patch \ |
45 | file://0011-linux-user-remove-host-stime-syscall.patch \ | ||
45 | " | 46 | " |
46 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" | 47 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" |
47 | 48 | ||
diff --git a/meta/recipes-support/attr/attr_2.4.47.bb b/meta/recipes-support/attr/attr_2.4.47.bb index fc88bef830..c3da66a0c7 100644 --- a/meta/recipes-support/attr/attr_2.4.47.bb +++ b/meta/recipes-support/attr/attr_2.4.47.bb | |||
@@ -12,4 +12,7 @@ SRC_URI += "file://attr-Missing-configure.ac.patch \ | |||
12 | SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7" | 12 | SRC_URI[md5sum] = "84f58dec00b60f2dc8fd1c9709291cc7" |
13 | SRC_URI[sha256sum] = "25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859" | 13 | SRC_URI[sha256sum] = "25772f653ac5b2e3ceeb89df50e4688891e21f723c460636548971652af0a859" |
14 | 14 | ||
15 | # Has issues with newer versions of make | ||
16 | PARALLEL_MAKEINST = "" | ||
17 | |||
15 | BBCLASSEXTEND = "native nativesdk" | 18 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-support/iso-codes/iso-codes_4.1.bb b/meta/recipes-support/iso-codes/iso-codes_4.1.bb index 1761ded44e..a70513033d 100644 --- a/meta/recipes-support/iso-codes/iso-codes_4.1.bb +++ b/meta/recipes-support/iso-codes/iso-codes_4.1.bb | |||
@@ -5,7 +5,7 @@ BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues" | |||
5 | LICENSE = "LGPLv2.1" | 5 | LICENSE = "LGPLv2.1" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" |
7 | 7 | ||
8 | SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http" | 8 | SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http;branch=main;" |
9 | SRCREV = "164802d5fd8c7a8167816fd86a62b286680619f0" | 9 | SRCREV = "164802d5fd8c7a8167816fd86a62b286680619f0" |
10 | 10 | ||
11 | # inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which | 11 | # inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which |