diff options
Diffstat (limited to 'external/poky/meta/recipes-core/meta')
11 files changed, 115 insertions, 18 deletions
diff --git a/external/poky/meta/recipes-core/meta/build-sysroots.bb b/external/poky/meta/recipes-core/meta/build-sysroots.bb index 7a712e2f..ad22a75e 100644 --- a/external/poky/meta/recipes-core/meta/build-sysroots.bb +++ b/external/poky/meta/recipes-core/meta/build-sysroots.bb @@ -20,6 +20,8 @@ deltask populate_sysroot python do_build_native_sysroot () { targetsysroot = d.getVar("STANDALONE_SYSROOT") nativesysroot = d.getVar("STANDALONE_SYSROOT_NATIVE") + import os + os.environ['PATH'] = "%s/bin:%s/usr/bin:%s" % (nativesysroot, nativesysroot, os.environ['PATH']) staging_populate_sysroot_dir(targetsysroot, nativesysroot, True, d) } do_build_native_sysroot[cleandirs] = "${STANDALONE_SYSROOT_NATIVE}" @@ -29,6 +31,8 @@ addtask do_build_native_sysroot before do_build python do_build_target_sysroot () { targetsysroot = d.getVar("STANDALONE_SYSROOT") nativesysroot = d.getVar("STANDALONE_SYSROOT_NATIVE") + import os + os.environ['PATH'] = "%s/bin:%s/usr/bin:%s" % (nativesysroot, nativesysroot, os.environ['PATH']) staging_populate_sysroot_dir(targetsysroot, nativesysroot, False, d) } do_build_target_sysroot[cleandirs] = "${STANDALONE_SYSROOT}" diff --git a/external/poky/meta/recipes-core/meta/buildtools-extended-tarball.bb b/external/poky/meta/recipes-core/meta/buildtools-extended-tarball.bb new file mode 100644 index 00000000..c32d0107 --- /dev/null +++ b/external/poky/meta/recipes-core/meta/buildtools-extended-tarball.bb @@ -0,0 +1,36 @@ +require recipes-core/meta/buildtools-tarball.bb + +DESCRIPTION = "SDK type target for building a standalone tarball containing build-essentials, python3, chrpath, \ + make, git and tar. The tarball can be used to run bitbake builds on systems which don't meet the \ + usual version requirements and have ancient compilers." +SUMMARY = "Standalone tarball for running builds on systems with inadequate software and ancient compilers" +LICENSE = "MIT" + +# Add nativesdk equivalent of build-essentials +TOOLCHAIN_HOST_TASK += "\ + nativesdk-automake \ + nativesdk-autoconf \ + nativesdk-binutils \ + nativesdk-binutils-symlinks \ + nativesdk-cpp \ + nativesdk-cpp-symlinks \ + nativesdk-gcc \ + nativesdk-gcc-symlinks \ + nativesdk-g++ \ + nativesdk-g++-symlinks \ + nativesdk-gettext \ + nativesdk-libatomic \ + nativesdk-libgcc \ + nativesdk-libgomp-dev \ + nativesdk-libstdc++ \ + nativesdk-libstdc++-dev \ + nativesdk-libstdc++-staticdev \ + nativesdk-libtool \ + nativesdk-pkgconfig \ + nativesdk-glibc-utils \ + nativesdk-libxcrypt-dev \ + " + +TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-extended-nativesdk-standalone-${DISTRO_VERSION}" + +SDK_TITLE = "Extended Build tools" diff --git a/external/poky/meta/recipes-core/meta/buildtools-tarball.bb b/external/poky/meta/recipes-core/meta/buildtools-tarball.bb index 91df6f1a..edf67ce2 100644 --- a/external/poky/meta/recipes-core/meta/buildtools-tarball.bb +++ b/external/poky/meta/recipes-core/meta/buildtools-tarball.bb @@ -25,6 +25,8 @@ TOOLCHAIN_HOST_TASK ?= "\ nativesdk-texinfo \ nativesdk-libnss-nis \ nativesdk-rpcsvc-proto \ + nativesdk-patch \ + nativesdk-mtools \ " MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" @@ -72,7 +74,13 @@ create_sdk_files_append () { toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script + echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script + echo 'export OPENSSL_CONF="${SDKPATHNATIVE}${sysconfdir}/ssl/openssl.cnf"' >>$script + mkdir -p ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ + echo '${SDKPATHNATIVE}${libdir} +${SDKPATHNATIVE}${base_libdir} +include /etc/ld.so.conf' > ${SDK_OUTPUT}/${SDKPATHNATIVE}${sysconfdir}/ld.so.conf if [ "${SDKMACHINE}" = "i686" ]; then echo 'export NO32LIBS="0"' >>$script echo 'echo "$BB_ENV_EXTRAWHITE" | grep -q "NO32LIBS"' >>$script diff --git a/external/poky/meta/recipes-core/meta/cve-update-db-native.bb b/external/poky/meta/recipes-core/meta/cve-update-db-native.bb index db1d69a2..32d6dbdf 100644 --- a/external/poky/meta/recipes-core/meta/cve-update-db-native.bb +++ b/external/poky/meta/recipes-core/meta/cve-update-db-native.bb @@ -13,8 +13,15 @@ deltask do_install deltask do_populate_sysroot python () { - if not d.getVar("CVE_CHECK_DB_FILE"): + cve_check_db_file = d.getVar("CVE_CHECK_DB_FILE") + if not cve_check_db_file: raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.") + + if os.path.exists("%s-journal" % cve_check_db_file ): + os.remove("%s-journal" % cve_check_db_file) + + if os.path.exists(cve_check_db_file): + os.remove(cve_check_db_file) } python do_populate_cve_db() { @@ -27,7 +34,7 @@ python do_populate_cve_db() { bb.utils.export_proxies(d) - BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-" + BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-" YEAR_START = 2002 db_file = d.getVar("CVE_CHECK_DB_FILE") @@ -59,7 +66,13 @@ python do_populate_cve_db() { json_url = year_url + ".json.gz" # Retrieve meta last modified date - response = urllib.request.urlopen(meta_url) + try: + response = urllib.request.urlopen(meta_url) + except urllib.error.URLError as e: + cve_f.write('Warning: CVE db update error, Unable to fetch CVE data.\n\n') + bb.warn("Failed to fetch CVE data (%s)" % e.reason) + return + if response: for l in response.read().decode("utf-8").splitlines(): key, value = l.split(":", 1) @@ -122,9 +135,12 @@ def parse_node_and_insert(c, node, cveId): product = cpe23[4] version = cpe23[5] - if version != '*': + if version != '*' and version != '-': # Version is defined, this is a '=' match yield [cveId, vendor, product, version, '=', '', ''] + elif version == '-': + # no version information is available + yield [cveId, vendor, product, version, '', '', ''] else: # Parse start version, end version and operators op_start = '' @@ -160,15 +176,20 @@ def update_db(c, jsondata): if not elt['impact']: continue + accessVector = None cveId = elt['cve']['CVE_data_meta']['ID'] cveDesc = elt['cve']['description']['description_data'][0]['value'] date = elt['lastModifiedDate'] - accessVector = elt['impact']['baseMetricV2']['cvssV2']['accessVector'] - cvssv2 = elt['impact']['baseMetricV2']['cvssV2']['baseScore'] - try: + accessVector = elt['impact']['baseMetricV2']['cvssV2']['accessVector'] + cvssv2 = elt['impact']['baseMetricV2']['cvssV2']['baseScore'] + except KeyError: + cvssv2 = 0.0 + try: + accessVector = accessVector or elt['impact']['baseMetricV3']['cvssV3']['attackVector'] cvssv3 = elt['impact']['baseMetricV3']['cvssV3']['baseScore'] - except: + except KeyError: + accessVector = accessVector or "UNKNOWN" cvssv3 = 0.0 c.execute("insert or replace into NVD values (?, ?, ?, ?, ?, ?)", diff --git a/external/poky/meta/recipes-core/meta/dummy-sdk-package.inc b/external/poky/meta/recipes-core/meta/dummy-sdk-package.inc index 4d653706..bedde296 100644 --- a/external/poky/meta/recipes-core/meta/dummy-sdk-package.inc +++ b/external/poky/meta/recipes-core/meta/dummy-sdk-package.inc @@ -16,11 +16,16 @@ python() { ALLOW_EMPTY_${PN} = "1" PR[vardeps] += "DUMMYPROVIDES" +PR[vardeps] += "DUMMYPROVIDES_PACKAGES" + +DUMMYPROVIDES_PACKAGES ??= "" +DUMMYPROVIDES_PACKAGES_MULTILIB = "${@' '.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar('DUMMYPROVIDES_PACKAGES').split()])}" +DUMMYPROVIDES += "${DUMMYPROVIDES_PACKAGES_MULTILIB}" python populate_packages_prepend() { p = d.getVar("PN") d.appendVar("RPROVIDES_%s" % p, "${DUMMYPROVIDES}") d.appendVar("RCONFLICTS_%s" % p, "${DUMMYPROVIDES}") - d.appendVar("RREPLACES_%s" % p, "${DUMMYPROVIDES}") + d.appendVar("RREPLACES_%s" % p, "${DUMMYPROVIDES_PACKAGES_MULTILIB}") } diff --git a/external/poky/meta/recipes-core/meta/meta-extsdk-toolchain.bb b/external/poky/meta/recipes-core/meta/meta-extsdk-toolchain.bb index 235d6ecc..0df681ac 100644 --- a/external/poky/meta/recipes-core/meta/meta-extsdk-toolchain.bb +++ b/external/poky/meta/recipes-core/meta/meta-extsdk-toolchain.bb @@ -16,6 +16,9 @@ addtask do_locked_sigs after do_populate_sysroot SSTATETASKS += "do_locked_sigs" do_locked_sigs[sstate-inputdirs] = "${LOCKED_SIGS_INDIR}" do_locked_sigs[sstate-outputdirs] = "${STAGING_DIR}/${PACKAGE_ARCH}/${PN}/locked-sigs" +# If a taskhash changes we need to use the latest hash changes. With unihash we may not rebuild. +# eSDK which uses this is nostamp anyway +do_locked_sigs[nostamp] = "1" python do_locked_sigs() { import oe.copy_buildsystem diff --git a/external/poky/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb b/external/poky/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb index 6a8748ac..cfa41c4a 100644 --- a/external/poky/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb +++ b/external/poky/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb @@ -1,6 +1,6 @@ DUMMYARCH = "buildtools-dummy-${SDKPKGSUFFIX}" -DUMMYPROVIDES = "\ +DUMMYPROVIDES_PACKAGES = "\ nativesdk-perl \ nativesdk-libxml-parser-perl \ nativesdk-perl-module-bytes \ @@ -15,12 +15,18 @@ DUMMYPROVIDES = "\ nativesdk-perl-module-file-find \ nativesdk-perl-module-file-glob \ nativesdk-perl-module-file-path \ + nativesdk-perl-module-file-spec \ nativesdk-perl-module-file-stat \ nativesdk-perl-module-getopt-long \ nativesdk-perl-module-io-file \ + nativesdk-perl-module-overloading \ nativesdk-perl-module-posix \ nativesdk-perl-module-thread-queue \ nativesdk-perl-module-threads \ + nativesdk-perl-module-warnings \ +" + +DUMMYPROVIDES = "\ /usr/bin/perl \ " diff --git a/external/poky/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb b/external/poky/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb index b891efa5..29f4dd36 100644 --- a/external/poky/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb +++ b/external/poky/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb @@ -1,10 +1,13 @@ DUMMYARCH = "sdk-provides-dummy-${SDKPKGSUFFIX}" +DUMMYPROVIDES_PACKAGES = "\ + pkgconfig \ +" + # Add /bin/sh? DUMMYPROVIDES = "\ /bin/bash \ /usr/bin/env \ - pkgconfig \ libGL.so()(64bit) \ libGL.so \ " diff --git a/external/poky/meta/recipes-core/meta/package-index.bb b/external/poky/meta/recipes-core/meta/package-index.bb index a4123b76..98c5bcb3 100644 --- a/external/poky/meta/recipes-core/meta/package-index.bb +++ b/external/poky/meta/recipes-core/meta/package-index.bb @@ -12,6 +12,7 @@ deltask do_patch deltask do_configure deltask do_compile deltask do_install +deltask do_populate_lic deltask do_populate_sysroot do_package_index[nostamp] = "1" diff --git a/external/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/external/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb index 0160cb8e..e3beeb79 100644 --- a/external/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb +++ b/external/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb @@ -1,6 +1,6 @@ DUMMYARCH = "sdk-provides-dummy-target" -DUMMYPROVIDES = "\ +DUMMYPROVIDES_PACKAGES = "\ busybox \ busybox-dev \ busybox-src \ @@ -20,6 +20,7 @@ DUMMYPROVIDES = "\ libxml-parser-perl \ perl-module-bytes \ perl-module-carp \ + perl-module-config \ perl-module-constant \ perl-module-data-dumper \ perl-module-errno \ @@ -35,18 +36,26 @@ DUMMYPROVIDES = "\ perl-module-getopt-long \ perl-module-io-file \ perl-module-overload \ + perl-module-overloading \ perl-module-posix \ - perl-module-overload \ perl-module-thread-queue \ perl-module-threads \ perl-module-warnings \ + perl-module-warnings-register \ + pkgconfig \ + pkgconfig-dev \ + pkgconfig-src \ +" + +DUMMYPROVIDES = "\ /bin/sh \ /bin/bash \ /usr/bin/env \ /usr/bin/perl \ - pkgconfig \ - pkgconfig-dev \ - pkgconfig-src \ + libperl.so.5 \ + libperl.so.5()(64bit) \ " require dummy-sdk-package.inc + +SSTATE_DUPWHITELIST += "${PKGDATA_DIR}/${PN} ${PKGDATA_DIR}/runtime/${PN}" diff --git a/external/poky/meta/recipes-core/meta/uninative-tarball.bb b/external/poky/meta/recipes-core/meta/uninative-tarball.bb index e0cb9ffe..39638eb8 100644 --- a/external/poky/meta/recipes-core/meta/uninative-tarball.bb +++ b/external/poky/meta/recipes-core/meta/uninative-tarball.bb @@ -16,6 +16,7 @@ TOOLCHAIN_HOST_TASK = "\ nativesdk-glibc-gconv-libjis \ nativesdk-patchelf \ nativesdk-libxcrypt \ + nativesdk-libxcrypt-compat \ nativesdk-libnss-nis \ " @@ -57,7 +58,7 @@ fakeroot create_sdk_files() { } -fakeroot tar_sdk() { +fakeroot archive_sdk() { cd ${SDK_OUTPUT}/${SDKPATH} DEST="./${SDK_ARCH}-${SDK_OS}" @@ -65,5 +66,5 @@ fakeroot tar_sdk() { rm sysroots -rf patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative - tar ${SDKTAROPTS} -c -j --file=${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . + ${SDK_ARCHIVE_CMD} } |