aboutsummaryrefslogtreecommitdiffstats
path: root/meta-mel
diff options
context:
space:
mode:
Diffstat (limited to 'meta-mel')
-rw-r--r--meta-mel/README.md33
-rw-r--r--meta-mel/classes/codename_is_corename.bbclass13
-rw-r--r--meta-mel/conf/distro/include/gdbserver-gplv3.inc17
-rw-r--r--meta-mel/conf/distro/include/mel-arm-tuning.inc28
-rw-r--r--meta-mel/conf/distro/include/sourcery-version-check.inc29
-rw-r--r--meta-mel/conf/distro/include/wic-bmap.inc12
-rw-r--r--meta-mel/conf/distro/mel-lite.conf15
-rw-r--r--meta-mel/conf/distro/mel.conf397
-rw-r--r--meta-mel/conf/include/drop-toolchain-from-sdk.inc17
-rw-r--r--meta-mel/conf/layer.conf23
-rw-r--r--meta-mel/files/kgdb.cfg4
-rw-r--r--meta-mel/lib/bblayers/mel_utils.py315
-rw-r--r--meta-mel/lib/oeqa/selftest/cases/recipetool_mel.py108
-rw-r--r--meta-mel/lib/recipetool/kernel.py227
-rw-r--r--meta-mel/mel-support/recipes-core/meta/archive-release.bbappend463
-rw-r--r--meta-mel/meta-python/recipes-devtools/python/python3-unidiff_%.bbappend5
-rw-r--r--meta-mel/openembedded-layer/recipes-connectivity/libwebsockets/libwebsockets_4.2.2.bbappend2
-rw-r--r--meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init.bb30
-rw-r--r--meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh196
-rw-r--r--meta-mel/openembedded-layer/recipes-support/lvm2/lvm2/lvm2-mel.service15
-rw-r--r--meta-mel/openembedded-layer/recipes-support/lvm2/lvm2_%.bbappend19
-rw-r--r--meta-mel/recipes-connectivity/connman/connman_%.bbappend9
-rw-r--r--meta-mel/recipes-core/base-files/base-files_3.0.14.bbappend10
-rw-r--r--meta-mel/recipes-core/base-files/mel/issue2
-rw-r--r--meta-mel/recipes-core/base-files/mel/issue.net2
-rw-r--r--meta-mel/recipes-core/busybox/busybox/beagleboard/hwclock-default2
-rw-r--r--meta-mel/recipes-core/busybox/busybox/fancy-head.cfg1
-rw-r--r--meta-mel/recipes-core/busybox/busybox/pidof.cfg2
-rw-r--r--meta-mel/recipes-core/busybox/busybox/setsid.cfg1
-rw-r--r--meta-mel/recipes-core/busybox/busybox/top.cfg5
-rw-r--r--meta-mel/recipes-core/busybox/busybox_%.bbappend14
-rw-r--r--meta-mel/recipes-core/images/console-image.bb20
-rw-r--r--meta-mel/recipes-core/images/mel-initramfs-image.bb37
-rw-r--r--meta-mel/recipes-core/initrdscripts/files/init-boot.sh21
-rw-r--r--meta-mel/recipes-core/initrdscripts/initramfs-boot_1.0.bbappend5
-rw-r--r--meta-mel/recipes-core/initrdscripts/initramfs-framework/lvm18
-rw-r--r--meta-mel/recipes-core/initrdscripts/initramfs-framework_%.bbappend8
-rw-r--r--meta-mel/recipes-core/kbd/kbd_2.5.0.bbappend13
-rw-r--r--meta-mel/recipes-core/meta/meta-environment.bbappend11
-rw-r--r--meta-mel/recipes-core/meta/sdk-env-kernelvars.bb21
-rw-r--r--meta-mel/recipes-core/os-release/os-release.bbappend12
-rw-r--r--meta-mel/recipes-core/packagegroups/packagegroup-base.bbappend7
-rw-r--r--meta-mel/recipes-core/packagegroups/packagegroup-core-boot.bbappend6
-rw-r--r--meta-mel/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend6
-rw-r--r--meta-mel/recipes-core/psplash/mel/0001-plash-colors.h-color-change.patch26
-rw-r--r--meta-mel/recipes-core/psplash/mel/0001-psplash-config-enable-fullscreen-image.patch24
-rw-r--r--meta-mel/recipes-core/psplash/mel/mel.pngbin169324 -> 0 bytes
-rw-r--r--meta-mel/recipes-core/psplash/mel/psplash-final.service12
-rwxr-xr-xmeta-mel/recipes-core/psplash/mel/psplash-quit.service12
-rwxr-xr-xmeta-mel/recipes-core/psplash/mel/psplash-start.service12
-rw-r--r--meta-mel/recipes-core/psplash/psplash_git.bbappend39
-rw-r--r--meta-mel/recipes-core/systemd/systemd/monotonic-timestamp.patch160
-rw-r--r--meta-mel/recipes-core/systemd/systemd_%.bbappend16
-rw-r--r--meta-mel/recipes-core/util-linux/util-linux_%.bbappend5
-rw-r--r--meta-mel/recipes-devtools/e2fsprogs/e2fsprogs_%.bbappend8
-rw-r--r--meta-mel/recipes-devtools/llvm/llvm_%.bbappend6
-rw-r--r--meta-mel/recipes-devtools/python/python3_%.bbappend54
-rw-r--r--meta-mel/recipes-graphics/images/weston-image.bb22
-rw-r--r--meta-mel/recipes-graphics/libsdl2/libsdl2_%.bbappend5
-rw-r--r--meta-mel/recipes-kernel/perf/perf.bbappend7
-rw-r--r--meta-mel/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend16
-rw-r--r--meta-mel/recipes-sato/images/core-image-sato.bbappend6
-rw-r--r--meta-mel/recipes-support/boost/boost_%.bbappend5
-rw-r--r--meta-mel/recipes-support/consolekit/consolekit/0001-Ensure-filesystems-are-still-mounted-when-consolekit.patch25
-rw-r--r--meta-mel/recipes-support/consolekit/consolekit_%.bbappend9
-rw-r--r--meta-mel/recipes-support/curl/curl_%.bbappend8
-rw-r--r--meta-mel/recipes-support/db/db_%.bbappend8
-rw-r--r--meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-2g.wks10
-rw-r--r--meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-4g.wks10
-rw-r--r--meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-8g.wks10
70 files changed, 0 insertions, 2716 deletions
diff --git a/meta-mel/README.md b/meta-mel/README.md
deleted file mode 100644
index 0f0885e3..00000000
--- a/meta-mel/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-Mentor Embedded Linux Flex OS Distribution Layer for Yocto/OE
-=====================================================
-
-This layer holds the Mentor Embedded Linux Flex OS distro configuration and
-associated policy.
-
-This layer depends on:
-
-URI: git://git.openembedded.org/openembedded-core
-Branch: master
-
-URI: git://git.yoctoproject.org/meta-yocto
-Revision: master
-
-We recommend including meta-mel-support and meta-mentor-staging as well, but
-these shouldn't be required.
-
-
-Contributing
-------------
-
-Browse url: http://git.yoctoproject.org/cgit/cgit.cgi/meta-mentor
-Clone url: git://git.yoctoproject.org/meta-mentor.git
-
-To contribute to this layer you should submit the patches for review to the
-mailing list.
-
-Mailing list: meta-mentor@yoctoproject.org
-
-When sending single patches, please use something like
-'git send-email -1 --subject-prefix 'PATCH][meta-mel' --to meta-mentor@yoctoproject.org'
-
-When sending a series, please use oe-core/scripts/create-pull-request.
diff --git a/meta-mel/classes/codename_is_corename.bbclass b/meta-mel/classes/codename_is_corename.bbclass
deleted file mode 100644
index afea0e65..00000000
--- a/meta-mel/classes/codename_is_corename.bbclass
+++ /dev/null
@@ -1,13 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-python codename_is_corename() {
- codename = d.getVar('DISTRO_CODENAME')
- if codename:
- corenames = d.getVar('LAYERSERIES_CORENAMES')
- if corenames and codename not in corenames.split():
- raise_sanity_error("This version of %s is incompatible with this version of openembedded-core (code name %s). Please use matching layer branches or update %s." % (d.getVar('DISTRO'), d.getVar('LAYERSERIES_CORENAMES'), d.getVar('DISTRO_NAME') or d.getVar('DISTRO')), d, network_error=False)
-}
-codename_is_corename[eventmask] = 'bb.event.SanityCheck'
-addhandler codename_is_corename
diff --git a/meta-mel/conf/distro/include/gdbserver-gplv3.inc b/meta-mel/conf/distro/include/gdbserver-gplv3.inc
deleted file mode 100644
index 098f93f5..00000000
--- a/meta-mel/conf/distro/include/gdbserver-gplv3.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# If ALLOW_GPLV3_GDBSERVER is set, allow {L,}GPLv3 for the gdb recipes
-ALLOW_GPLV3_GDBSERVER ?= ""
-INCOMPATIBLE_LICENSE_EXCEPTIONS += "\
- ${@'gdbserver-external:GPL-3.0 gdb:GPL-3.0' if '${ALLOW_GPLV3_GDBSERVER}' else ''} \
- ${@'gdb:LGPL-3.0' if '${ALLOW_GPLV3_GDBSERVER}' else ''} \
-"
-
-# If GPL-3.0 is in INCOMPATIBLE_LICENSE, and gdbserver/gdb isn't whitelisted,
-# then remove gdbserver from the codebench-debug image feature, otherwise the
-# build will fail.
-FEATURE_PACKAGES_codebench-debug:remove = "${@'gdbserver' if any_incompatible(d, ['gdbserver-external', 'gdb'], 'GPL-3.0-only') else ''}"
-
-INHERIT += "incompatible-packages-check"
diff --git a/meta-mel/conf/distro/include/mel-arm-tuning.inc b/meta-mel/conf/distro/include/mel-arm-tuning.inc
deleted file mode 100644
index dca2a7d0..00000000
--- a/meta-mel/conf/distro/include/mel-arm-tuning.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-# Use common compatible tuning values.
-#
-# This avoids unnecessary toolchain component rebuilds and increases reuse and compatibility amongst
-# compatible machines.
-#
-# Imported from https://github.com/96boards/meta-rpb/blob/master/conf/distro/include/arm-defaults.inc
-# Imported from https://github.com/Angstrom-distribution/meta-angstrom/blob/master/conf/distro/include/arm-defaults.inc
-
-def get_generic_tune(d):
- features = d.getVar('TUNE_FEATURES').split()
- if 'aarch64' in features:
- tune = 'armv8a'
- if 'crc' in features:
- tune += '-crc'
- if 'crypto' in features:
- tune += '-crypto'
- # cortexa* tune files only list 'arm' in features instead of 'armv7*'
- elif 'armv7a' in features or 'armv7ve' in features or ('arm' in features and 'neon' in features):
- tune = 'armv7athf'
- if 'bigendian' in features:
- tune += 'b'
- if 'neon' in features:
- tune += '-neon'
- else:
- tune = d.getVar('DEFAULTTUNE')
- return tune
-
-DEFAULTTUNE:mel := "${@get_generic_tune(d)}"
diff --git a/meta-mel/conf/distro/include/sourcery-version-check.inc b/meta-mel/conf/distro/include/sourcery-version-check.inc
deleted file mode 100644
index 6c9d042c..00000000
--- a/meta-mel/conf/distro/include/sourcery-version-check.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-python sourcery_version_check () {
- if d.getVar('TCMODE', True) == 'default':
- return
-
- sourcery_version = d.getVar('SOURCERY_VERSION', True)
- if not sourcery_version or sourcery_version == 'UNKNOWN':
- return
-
- def version(s):
- if s is None:
- return []
- ver = s.split('-', 1)[0].split('.')
- if len(ver) > 2:
- ver = ver[:2]
- return ver
-
- # Check for a specified required toolchain version for releases
- toolchain_required_version = d.getVar('SOURCERY_VERSION_REQUIRED')
- if toolchain_required_version:
- if version(sourcery_version) != version(toolchain_required_version):
- bb.fatal('Found toolchain version `%s`, expected `%s`. Please install the supported toolchain.' % (sourcery_version, toolchain_required_version))
-}
-# We run this at build start to ensure that bitbake -e still works
-sourcery_version_check[eventmask] = "bb.event.BuildStarted"
-addhandler sourcery_version_check
diff --git a/meta-mel/conf/distro/include/wic-bmap.inc b/meta-mel/conf/distro/include/wic-bmap.inc
deleted file mode 100644
index d77b0b83..00000000
--- a/meta-mel/conf/distro/include/wic-bmap.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# If a wic image type is enabled, also enable wic.bmap
-python add_wic_bmap () {
- image_fstypes = d.getVar('IMAGE_FSTYPES', True).split()
- if any(f == 'wic' or f.startswith('wic.') for f in image_fstypes):
- d.setVar('IMAGE_FSTYPES', " ".join (image_fstypes + ['wic.bmap']))
-}
-add_wic_bmap[eventmask] = "bb.event.ConfigParsed"
-addhandler add_wic_bmap
diff --git a/meta-mel/conf/distro/mel-lite.conf b/meta-mel/conf/distro/mel-lite.conf
deleted file mode 100644
index 3b23de22..00000000
--- a/meta-mel/conf/distro/mel-lite.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-require conf/distro/include/mel.conf
-
-DISTRO .= "-lite"
-DISTRO_NAME += "Lite"
-DISTROOVERRIDES = "${DISTRO}:mel"
-
-SANITY_TESTED_DISTROS = "\
- ubuntu-18.04 \n\
-"
-
-GLIBCVERSION ?= "2.28%"
diff --git a/meta-mel/conf/distro/mel.conf b/meta-mel/conf/distro/mel.conf
deleted file mode 100644
index 857f28b9..00000000
--- a/meta-mel/conf/distro/mel.conf
+++ /dev/null
@@ -1,397 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-## Vendor Integration {{{1
-VENDOR_CONF = "${@'conf/vendor/%s.conf' % d.getVar('VENDOR') if d.getVar('VENDOR') else ''}"
-require ${VENDOR_CONF}
-## }}}1
-## MEL Base Configuration {{{1
-DISTRO = "mel"
-ADE_DISTRO = "mel-flex-os"
-DISTRO_NAME = "Mentor Embedded Linux Flex OS"
-DISTRO_CODENAME = "kirkstone"
-MAINTAINER = "Siemens Digital Industries Software <embedded_support@mentor.com>"
-HOME_URL = "https://www.mentor.com/embedded-software/linux/mel-flex-os/"
-SUPPORT_URL = "https://support.sw.siemens.com/"
-BUG_REPORT_URL = "https://support.sw.siemens.com/"
-ADE_PROVIDER = "${DISTRO_NAME}"
-TARGET_VENDOR = "-mel"
-SDK_VENDOR = "-melsdk"
-
-# Distro and release versioning
-DISTRO_VERSION = "13.0+snapshot-${DATE}"
-ARCHIVE_RELEASE_VERSION = "${DISTRO_VERSION}.${BSP_VERSION}.${PATCH_VERSION}"
-PDK_LICENSE_VERSION_DATE = "20181206"
-
-# Version of the mel-scripts artifact, including setup-mel
-SCRIPTS_VERSION ?= "1"
-
-# Default values for BSP and PATCH version, to be redefined in other layers
-BSP_VERSION ?= "0"
-PATCH_VERSION ?= "0"
-
-SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
-DISTRO_VERSION[vardepsexclude] = "DATE"
-SDK_VERSION[vardepsexclude] = "DATE"
-
-SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}"
-SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}"
-
-# This is a single libc DISTRO, so exclude it from tmpdir name
-TCLIBCAPPEND = ""
-
-PSEUDO_IGNORE_PATHS:append = ",/run/"
-
-MEL_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot"
-MEL_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
-DISTRO_EXTRA_RDEPENDS += " ${MEL_DEFAULT_EXTRA_RDEPENDS}"
-DISTRO_EXTRA_RRECOMMENDS += " ${MEL_DEFAULT_EXTRA_RRECOMMENDS}"
-
-# Easier adjustment of oe-core QA check defaults
-WARN_TO_ERROR_QA ??= ""
-WARN_QA:remove = "${WARN_TO_ERROR_QA}"
-ERROR_QA:append = " ${WARN_TO_ERROR_QA}"
-
-# Default to the external toolchain if available
-TCMODE = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'sourcery', 'external-sourcery-rebuild-libc', bb.utils.contains('BBFILE_COLLECTIONS', 'external-toolchain', 'external', 'default', d), d)}"
-
-# We want media to auto-mount
-DISTRO_EXTRA_RRECOMMENDS += "udev-extraconf"
-
-# Paths
-MELDIR ?= "${COREBASE}/.."
-
-# Use a local PR server by default
-PRSERV_HOST ?= "localhost:0"
-
-# Default to ipk packaging
-PACKAGE_CLASSES ?= "package_ipk"
-
-# MEL's supported hosts
-SANITY_TESTED_DISTROS = "\
- ubuntu-18.04 \n\
- ubuntu-20.04 \n\
- centos-7* \n \
- centoslinux-7* \n \
- debian-10* \n \
- rhel*-8* \n \
- redhatenterprise*-8* \n \
-"
-
-# Sane default append for the kernel cmdline (not used by all BSPs)
-# TODO: rename APPEND to something more appropriate
-APPEND ?= "${APPEND_SERIAL} console=tty0 ${APPEND_SPLASH}"
-
-APPEND_SPLASH = "${@'quiet splash' if '${SPLASH}' else ''}"
-APPEND_SPLASH .= "${@' plymouth:ignore-serial-consoles' if '${SPLASH}' == 'plymouth' else ''}"
-
-APPEND_SERIAL = "${@'console=${CMD_SERIAL_CONSOLE}' if '${SERIAL_CONSOLE}' else ''}"
-CMD_SERIAL_CONSOLE ?= "${@','.join(reversed('${SERIAL_CONSOLE}'.split()))}"
-
-# Not in APPEND by default, but can be added to it as needed
-APPEND_KGDBOC = "kgdbwait kgdboc=${CMD_SERIAL_CONSOLE}"
-
-# Splash screen
-SPLASH:mel ?= "psplash"
-PLYMOUTH_THEME ?= "mel"
-PLYMOUTH_SHOWDELAY ?= "0"
-DISTRO_EXTRA_RRECOMMENDS += "${@'plymouth-mel' if '${SPLASH}' == 'plymouth' else ''}"
-
-# Configuring plymouth to use the logo rather than modifying the theme script
-# to use it is a tradeoff. It lets you switch themes while keeping the same
-# splash screen, which is nice, the downside is a change to the logo requires
-# recompilation of plymouth.
-PLYMOUTH_LOGO ?= "${datadir}/plymouth/themes/mel/mel.png"
-LOGO:pn-plymouth = "${PLYMOUTH_LOGO}"
-
-# Remove MACHINE from default volname
-UBI_VOLNAME = "rootfs"
-
-# If a wic image type is enabled, also enable wic.bmap
-require conf/distro/include/wic-bmap.inc
-
-# Additional dependencies for deployed files are often pulled in via
-# do_image_wic[depends], to ensure the files are available for
-# IMAGE_BOOT_FILES, but this bypasses the do_image[recrdeptask] on
-# do_populate_lic. Add it for do_image_wic as well.
-do_image_wic[recrdeptask] += "do_populate_lic"
-
-# do_image_complete requires licenses, so add recursive dependency
-# on do_populate_lic
-do_image_complete[recrdeptask] += "do_populate_lic"
-
-# Quadruple the normal extra space in an image. 'du' is not a good way to really
-# see how much space will be needed and fails badly as the fs size grows.
-IMAGE_ROOTFS_EXTRA_SPACE = "40960"
-
-# Default locale for images
-IMAGE_LINGUAS ?= "en-us"
-
-# Make host user contamination an error
-WARN_TO_ERROR_QA = "host-user-contaminated"
-
-# Also check for host user contamination in the rootfs
-ROOTFS_POSTPROCESS_COMMAND:append = " rootfs_check_host_user_contaminated;"
-
-# Default to systemd, not sysvinit
-INIT_MANAGER ?= "systemd"
-
-# Support shallow git tarballs
-BB_GENERATE_SHALLOW_TARBALLS ?= "1"
-BB_GIT_SHALLOW ?= "1"
-
-BB_GIT_SHALLOW_DEPTH_DEFAULT ?= "1"
-BB_GIT_SHALLOW_DEPTH ??= "${@'${BB_GIT_SHALLOW_DEPTH_DEFAULT}' if not '${BB_GIT_SHALLOW_REVS}' else '0'}"
-BB_GIT_SHALLOW_REVS ??= ""
-
-# For our kernel repository, we want to ship the user the history which they
-# can't easily re-acquire from upstream.
-LINUX_VERSION_TAG ??= "v${@'.'.join('${LINUX_VERSION}'.split('.')[:2])}"
-LINUX_VERSION ??= ""
-BB_GIT_SHALLOW_REVS:pn-linux-mel ??= "${@'${LINUX_VERSION_TAG}' if '${LINUX_VERSION_TAG}' and '${LINUX_VERSION}' else ''}"
-
-# Export path variables into the devshell for convenience
-OE_TOPDIR = "${TOPDIR}"
-OE_WORKDIR = "${WORKDIR}"
-OE_TERMINAL_EXPORTS += "OE_TOPDIR OE_WORKDIR COREBASE"
-
-require conf/distro/include/no-static-libs.inc
-require conf/distro/include/yocto-uninative.inc
-
-INHERIT += "uninative"
-## }}}1
-## Mechanisms provided for user customization {{{1
-# Support USER_FEATURES
-INHERIT += "user_features"
-
-# The PACKAGECONFIG_REMOVE indirection exists to make it possible to override
-# the removals, as bitbake doesn't provide a mechanism to do so yet
-PACKAGECONFIG_REMOVE ??= ""
-PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
-
-# Ease adding to the SDK from a global context
-TOOLCHAIN_HOST_TASK_EXTRA ?= ""
-TOOLCHAIN_HOST_TASK:append = " ${TOOLCHAIN_HOST_TASK_EXTRA}"
-TOOLCHAIN_TARGET_TASK_EXTRA ?= ""
-TOOLCHAIN_TARGET_TASK_EXTRA:pn-buildtools-tarball = ""
-TOOLCHAIN_TARGET_TASK:append = " ${TOOLCHAIN_TARGET_TASK_EXTRA}"
-
-# Easier addition of shared state mirrors
-SSTATE_MIRROR_SITES ?= ""
-SSTATE_MIRRORS += "${@''.join(r'file://.* %s/PATH;downloadfilename=PATH \n' % u for u in '${SSTATE_MIRROR_SITES}'.split())}"
-## }}}1
-## Distro Features & Recipe Configuration {{{1
-MEL_DEFAULT_DISTRO_FEATURES = "opengl multiarch pam"
-
-# This violates typical MACHINE/DISTRO boundaries, but is part of MEL's
-# supported features. If the vendor supports x11 and not wayland for its
-# machines, so do we.
-DISTRO_FEATURES_DEFAULT:remove = "x11"
-MEL_DEFAULT_DISTRO_FEATURES += "${@bb.utils.contains('MACHINE_FEATURES', 'x11', \
- bb.utils.contains('MACHINE_FEATURES', 'wayland', 'wayland', 'x11', d), 'wayland', d)}"
-
-DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} ${MEL_DEFAULT_DISTRO_FEATURES}"
-
-# Enable our staged fixes that are on their way upstream
-DISTRO_FEATURES:append = " mentor-staging"
-
-# Since many embedded systems don't have non-root users, allow autospawn for
-# root as well.
-PACKAGECONFIG:append:pn-pulseaudio = " autospawn-for-root"
-
-# We don't use dracut to build initramfs
-PACKAGECONFIG_REMOVE:pn-plymouth = "initrd"
-
-# Do not fetch the anti-virus db at compile-time
-INSTALL_CLAMAV_CVD ?= ""
-## }}}1
-## Inherits {{{1
-# We want information and history about build output
-INHERIT += "buildhistory"
-
-# Copy the image license manifest into DEPLOY_DIR_IMAGE
-INHERIT += "deploy-license-manifest"
-
-# Warn if there are available update layers which are not included in the
-# current configuration
-INHERIT += "mentor-updates-check"
-
-# Check PDK license
-INHERIT += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'mentor-private', 'pdk-license', '', d)}"
-
-# Warn the user and disable rootfs resizing for non-GPLv3 builds
-INHERIT += "resize-rootfs-gplv3"
-
-# Ensure that our DISTRO_CODENAME aligns with LAYERSERIES_CORENAMES
-INHERIT += "codename_is_corename"
-
-# Ensure we're building the toolchain in a supported configuration
-ERROR_QA:append = " disallowed-tuning"
-ALLOWED_TUNING = "armv5te armv7ahf-neon armv7a-neon armv7at armv8a i686 riscv64 x86-64"
-INHERIT += "required_toolchain_config"
-
-# Use our toolchain relocation scripts
-INHERIT += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'mentor-staging', 'toolchain_ship_relocate_sdk', '', d)}"
-TOOLCHAIN_SHAR_REL_TMPL = "${LAYERDIR_mentor-staging}/files/toolchain-shar-relocate.sh"
-TOOLCHAIN_EXT_REL_TMPL = "${LAYERDIR_mentor-staging}/files/toolchain-shar-extract.sh"
-RELOCATE_SDK_SH ?= "${LAYERDIR_mentor-staging}/files/relocate_sdk.sh"
-## }}}1
-## Preferences & Package Selection {{{1
-# Default to the Xorg X server if the BSP doesn't specify
-XSERVER ??= "\
- xserver-xorg \
- xf86-input-evdev \
- xf86-input-mouse \
- xf86-input-keyboard \
- xf86-video-fbdev \
-"
-
-# Obey our graphics image feature
-SYSTEMD_DEFAULT_TARGET ?= '${@bb.utils.contains_any("IMAGE_FEATURES", ["x11-base", "graphics", "weston"], "graphical.target", "multi-user.target", d)}'
-
-# We split out the initramfs install script bits into
-# core-image-minimal-install-initramfs, to keep core-image-minimal-initramfs
-# as generic as possible, but image-live may well expect the install bits.
-INITRD_IMAGE_LIVE ?= "core-image-minimal-install-initramfs"
-
-# Additional package groups
-#
-# We prefer wayland/weston, unless the vendor supports x11 but not wayland.
-FEATURE_PACKAGES_mel-weston = "weston weston-init weston-examples"
-FEATURE_PACKAGES_mel-x11 = "${FEATURE_PACKAGES_x11-base} ${FEATURE_PACKAGES_hwcodecs}"
-FEATURE_PACKAGES_graphics += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${FEATURE_PACKAGES_mel-weston}', '', d)}"
-FEATURE_PACKAGES_graphics += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${FEATURE_PACKAGES_mel-x11}', '', d)}"
-FEATURE_PACKAGES_tools-audio ?= "packagegroup-tools-audio"
-FEATURE_PACKAGES_tools-benchmark ?= "packagegroup-tools-benchmark"
-FEATURE_PACKAGES_multimedia ?= "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
-FEATURE_PACKAGES_virtualization ?= "docker-ce python3-docker-compose"
-FEATURE_PACKAGES_codebench-debug ?= "gdbserver strace openssh-sftp-server"
-
-# Baseline runtime for third party multilib executables.
-# libc/libgcc/libstdc++, plus lttng for tracing. Only applies to images
-# without MLPREFIX set (i.e. development-image, not lib32-development-image).
-MULTILIB_RUNTIME_PACKAGES = "glibc libgcc libstdc++ ${@bb.utils.contains('IMAGE_FEATURES', 'tools-profile', 'lttng-ust', '', d)}"
-MULTILIB_RUNTIME_FEATURE_PACKAGES = "${@' '.join(multilib_pkg_extend(d, pkg) for pkg in d.getVar('MULTILIB_RUNTIME_PACKAGES').split())}"
-FEATURE_PACKAGES_multilib-runtime ?= "${@d.getVar('MULTILIB_RUNTIME_FEATURE_PACKAGES') if not d.getVar('MLPREFIX') else ''}"
-
-# Analogous to the nfs-server group
-FEATURE_PACKAGES_samba-server ?= "samba swat"
-
-# Include nss-myhostname for sysvinit, so the hostname resolves. systemd
-# includes myhostname itself.
-DISTRO_EXTRA_RRECOMMENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'nss-myhostname', d)}"
-## }}}1
-## Workarounds & Overrides {{{1
-# Override arm tuning to reduce specificity and increase reuse.
-require conf/distro/include/mel-arm-tuning.inc
-
-# Ensure that the output directory always exists, this fixes use of meta-sca
-# with certain meta-imx recipes.
-do_sca_tracefiles[dirs] =+ "${SCA_SOURCES_DIR}"
-
-# We aren't supporting meta-intel's RMC
-BBMASK += "/meta-intel/common/recipes-bsp/systemd-boot/"
-
-# webkitgtk link fails due to memory exhaustion, so disable debug info to
-# reduce the memory footprint
-DEBUG_FLAGS:remove:pn-webkitgtk = "-g"
-
-# Work around git safe directory issue with METADATA_*, by forcing early expansion
-# while in a build user context.
-require classes/metadata_scm.bbclass
-METADATA_BRANCH := "${@base_detect_branch(d)}"
-METADATA_REVISION := "${@base_detect_revision(d)}"
-## }}}1
-## SDK & Application Development Environment {{{1
-# Use DEPLOY_DIR_ naming for consistency
-SDK_DEPLOY:mel = "${DEPLOY_DIR_SDK}"
-DEPLOY_DIR_SDK ?= "${DEPLOY_DIR}/sdk"
-
-# As we remove the toolchain from the sdk, naming it 'toolchain' is not
-# accurate, and sdk better describes what it is anyway.
-TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-sdk-${SDK_VERSION}"
-
-# Restore the default to buildtools-tarball, as that recipe sets it with ?=
-TOOLCHAIN_OUTPUTNAME:pn-buildtools-tarball = "${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION}"
-
-# Add KERNEL_* to the SDK environment (unexported) for use by the user
-TOOLCHAIN_TARGET_TASK_EXTRA += " sdk-env-kernelvars"
-
-# Set this so the ADE can set the right Yocto multilib display option
-EXTERNAL_SETUP_SCRIPT_VARS += "REAL_MULTIMACH_TARGET_SYS"
-EXTERNAL_REAL_MULTIMACH_TARGET_SYS ??= "${REAL_MULTIMACH_TARGET_SYS}"
-CB_MBS_OPTIONS[general.yocto.sdk.value] = "${EXTERNAL_REAL_MULTIMACH_TARGET_SYS}"
-
-# This allows us to control what base target packages are installed for the
-# configured multilibs, by altering SDK_MULTILIB_VARIANTS to differ from
-# MULTILIB_VARIANTS. We also append meta-environment to obey
-# SDK_MULTILIB_VARIANTS as well.
-IMAGE_CLASSES += "image-sdk-multilib-variants"
-
-# Cull duplicate/invalid files for windows SDKMACHINEs
-IMAGE_CLASSES += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'mentor-staging', 'win_sdk_cull', '', d)}"
-
-# We need to ensure we can distribute downloads for SDK/ADE builds
-IMAGE_CLASSES += "archive_sdk_downloads"
-
-# Create a 'latest' symlink for the SDK
-IMAGE_CLASSES += "sdk_latest_link"
-
-# If meta-mentor-private is available, pull in the populate-ade class
-ADE_IMAGE_CLASS = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'mentor-private', 'populate_ade archive_ade_downloads', '', d)}"
-IMAGE_CLASSES += "${ADE_IMAGE_CLASS}"
-## }}}1
-## MEL Releases {{{1
-# Default image for our installers
-RELEASE_IMAGE ?= "development-image"
-RELEASE_ARTIFACTS ?= "mel_layers mel_downloads templates images"
-
-# Apply any release-time srcrev lockdowns for AUTOREV recipes
-include ${MELDIR}/${MACHINE}/conf/autorevs.conf
-
-# LAYERDIRs for our layers, by name
-INHERIT += "layerdirs"
-
-# Populate a tree of downloads organized by layer
-ARCHIVE_RELEASE_DL_DIR ?= "${DEPLOY_DIR}/release-downloads"
-DL_LICENSE_INCLUDE ?= "*"
-INHERIT += "archive-release-downloads"
-
-# For our forks, also point an 'upstream' remote at upstream
-UPSTREAM_URL_meta-virtualization = "git://git.yoctoproject.org/meta-virtualization"
-FORKED_REPOS ?= "meta-virtualization"
-
-# Our public layers should use non-ssh URIs for their remotes
-PUBLIC_REPOS ?= "meta-mentor meta-sourcery meta-tracing ${FORKED_REPOS}"
-
-# Define a location for placing external artifacts to be used by the build
-MEL_EXTERNAL_ARTIFACTS ?= "${TOPDIR}/mel-external-artifacts"
-## }}}1
-## Includes {{{1
-
-# Support for SOURCERY_VERSION_REQUIRED
-require conf/distro/include/sourcery-version-check.inc
-
-# Handle GPLv3 gdbserver
-require conf/distro/include/gdbserver-gplv3.inc
-
-# QT5 configuration. These are includes rather than requires, as they live in
-# other layers.
-include conf/distro/include/qt5-mel.conf
-include conf/distro/include/qt5-versions.inc
-
-# Security configuration.
-include conf/distro/include/mel-security.conf
-
-# SWUpdate configuration.
-include conf/distro/include/mel-swupdate.conf
-
-# MCF configuration
-include conf/distro/include/mel-mcf.conf
-
-# INITRAMFS
-INITRAMFS_IMAGE ?= "mel-initramfs-image"
-INITRAMFS_IMAGE_BUNDLE ?= "${@bb.utils.contains('KERNEL_IMAGETYPES', 'fitimage', '', '1', d)}"
-## }}}1
-# vim: set fdm=marker fdl=0 :
diff --git a/meta-mel/conf/include/drop-toolchain-from-sdk.inc b/meta-mel/conf/include/drop-toolchain-from-sdk.inc
deleted file mode 100644
index 2634357d..00000000
--- a/meta-mel/conf/include/drop-toolchain-from-sdk.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# When we're using an external toolchain, we don't want to ship a newly built
-# toolchain inside the Yocto SDK. Normally meta-environment comes from the
-# same packagegroup which installs the toolchain, so add that back in
-# explicitly.
-python () {
- if oe.utils.inherits(d, 'populate_sdk_base'):
- host_task = d.getVar('TOOLCHAIN_HOST_TASK', True)
- tcmode = d.getVar('TCMODE', True)
- packagegroup = d.expand('packagegroup-cross-canadian-${MACHINE}')
- if packagegroup in host_task.split() and tcmode.startswith('external'):
- d.setVar('TOOLCHAIN_HOST_TASK:remove', 'packagegroup-cross-canadian-${MACHINE}')
- d.setVar('TOOLCHAIN_HOST_TASK:append', ' meta-environment-${MACHINE}')
-}
diff --git a/meta-mel/conf/layer.conf b/meta-mel/conf/layer.conf
deleted file mode 100644
index 906f471c..00000000
--- a/meta-mel/conf/layer.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-BBPATH .= ":${LAYERDIR}"
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-# Let us add layer-specific bbappends which are only applied when that
-# layer is included in our configuration
-BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \
- for layer in BBFILE_COLLECTIONS.split())}"
-BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bb' % layer \
- for layer in BBFILE_COLLECTIONS.split())}"
-
-LAYERDIR_RE ?= "${LAYERDIR}"
-BBFILE_COLLECTIONS += "mel"
-BBFILE_PRIORITY_mel = "12"
-BBFILE_PATTERN_mel = "^${LAYERDIR_RE}/"
-LAYERSERIES_COMPAT_mel = "kirkstone"
-LAYERDEPENDS_mel = "core mentor-common"
-LAYERRECOMMENDS_mel = "mel-support mentor-staging sourcery mentor-private tracing-layer"
-LAYERRECOMMENDS_mel += "openembedded-layer filesystems-layer networking-layer multimedia-layer gplv2"
diff --git a/meta-mel/files/kgdb.cfg b/meta-mel/files/kgdb.cfg
deleted file mode 100644
index ec98930e..00000000
--- a/meta-mel/files/kgdb.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_DEBUG_KERNEL=y
-CONFIG_KGDB=y
-CONFIG_KGDB_SERIAL_CONSOLE=y
-CONFIG_DEBUG_INFO=y
diff --git a/meta-mel/lib/bblayers/mel_utils.py b/meta-mel/lib/bblayers/mel_utils.py
deleted file mode 100644
index 666f6a88..00000000
--- a/meta-mel/lib/bblayers/mel_utils.py
+++ /dev/null
@@ -1,315 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# TODO: add an argument to enable/disable dependency traversal vs just the
-# specified recipes
-import argparse
-import logging
-import os
-import sys
-import tempfile
-
-from collections import defaultdict
-
-import bb.command
-import bb.cookerdata
-import bb.fetch
-import bb.utils
-
-from bblayers.common import LayerPlugin
-
-logger = logging.getLogger('bitbake-layers')
-
-
-def plugin_init(plugins):
- return MELUtilsPlugin()
-
-
-def iter_except(func, exception, first=None):
- """Call a function repeatedly until an exception is raised.
-
- Converts a call-until-exception interface to an iterator interface.
- Like __builtin__.iter(func, sentinel) but uses an exception instead
- of a sentinel to end the loop.
-
- Examples:
- bsddbiter = iter_except(db.next, bsddb.error, db.first)
- heapiter = iter_except(functools.partial(heappop, h), IndexError)
- dictiter = iter_except(d.popitem, KeyError)
- dequeiter = iter_except(d.popleft, IndexError)
- queueiter = iter_except(q.get_nowait, Queue.Empty)
- setiter = iter_except(s.pop, KeyError)
-
- """
- try:
- if first is not None:
- yield first()
- while 1:
- yield func()
- except exception:
- pass
-
-
-class MELUtilsPlugin(LayerPlugin):
- def _get_depgraph(self, targets, task='do_build'):
- depgraph = None
-
- self.tinfoil.set_event_mask(['bb.event.DepTreeGenerated', 'bb.command.CommandCompleted', 'bb.event.NoProvider', 'bb.command.CommandFailed', 'bb.command.CommandExit'])
- if not self.tinfoil.run_command('generateDepTreeEvent', targets, task):
- logger.critical('Error starting dep tree event command')
- return 1
-
- for event in iter_except(lambda: self.tinfoil.wait_event(0.25), Exception):
- if event is None:
- continue
- if isinstance(event, bb.command.CommandCompleted):
- break
- elif isinstance(event, bb.command.CommandFailed):
- return None, 'Error running command: %s' % event.error
- elif isinstance(event, bb.command.CommandExit):
- return None, 'Error running command: exited with %s' % event.exitcode
- elif isinstance(event, bb.event.NoProvider):
- if event._reasons:
- return None, 'Nothing provides %s: %s' % (event._item, event._reasons)
- else:
- return None, 'Nothing provides %s.' % event._item
- elif isinstance(event, bb.event.DepTreeGenerated):
- depgraph = event._depgraph
- break
- elif isinstance(event, logging.LogRecord):
- logger.handle(event)
- else:
- logger.warning('Unhandled event %s: %s' % (event.__class__.__name__, event))
- return depgraph, None
-
- def _localpaths_by_layer(self, data, recipe_filename, layer_for_file, mirrortarballs=False):
- def ud_localpaths(u, layer_name, dldir, d):
- if hasattr(u.method, 'process_submodules'):
- def archive_submodule(ud, url, module, modpath, workdir, d):
- url += ";bareclone=1;nobranch=1"
- newfetch = bb.fetch2.Fetch([url], d)
- for subud in newfetch.ud.values():
- return ud_localpaths(subud, layer_name, dldir, d)
-
- # If we're using a shallow mirror tarball it needs to be unpacked
- # temporarily so that we can examine the .gitmodules file
- if u.shallow and os.path.exists(u.fullshallow) and u.method.need_update(u, d):
- import tempfile
- with tempfile.TemporaryDirectory(dir=dldir) as tmpdir:
- bb.fetch2.runfetchcmd("tar -xzf %s" % u.fullshallow, d, workdir=tmpdir)
- u.method.process_submodules(u, tmpdir, archive_submodule, d)
- else:
- u.method.process_submodules(u, u.clonedir, archive_submodule, d)
-
- decoded = bb.fetch.decodeurl(u.url)
- if decoded[0] == 'file':
- return
-
- u.setup_localpath(data)
- localpath = u.localpath
-
- if mirrortarballs and hasattr(u, 'mirrortarballs'):
- for mt in u.mirrortarballs:
- mt_abs = os.path.join(dldir, mt)
- if os.path.exists(mt_abs):
- localpath = mt_abs
- break
-
- items_by_layer[layer_name].add(os.path.normpath(localpath))
-
- src_uri = data.getVar('SRC_URI').split()
- fetcher = bb.fetch.Fetch(src_uri, data)
- urldata = fetcher.ud
- dldir = data.getVar('DL_DIR')
-
- items_by_layer = defaultdict(set)
- items_files = data.varhistory.get_variable_items_files('SRC_URI')
- for item, filename in items_files.items():
- ud = urldata[item]
- layer_name = layer_for_file(filename)
- ud_localpaths(ud, layer_name, dldir, data)
-
- recipe_layer_name = layer_for_file(recipe_filename)
- for extra_item in set(src_uri) - set(items_files.keys()):
- logger.warning('Unable to determine correct layer for `%s`: this item is missing from variable history', extra_item)
- ud = urldata[extra_item]
- ud_localpaths(ud, recipe_layer_name, dldir, data)
-
- return items_by_layer
-
- def _collect_fetch_recipes(self, targets, ctask, depgraph):
- tdepends = depgraph['tdepends']
- fetch_recipes = set()
- for target in targets:
- if ':' in target:
- recipe, task = target.split(':', 1)
- else:
- recipe, task = target, ctask
-
- if not task.startswith('do_'):
- task = 'do_' + task
-
- if task == 'do_fetch':
- fetch_recipes.add(recipe)
-
- for task, taskdeps in tdepends.items():
- for dep in taskdeps:
- deprecipe, deptask = dep.rsplit('.', 1)
- if deptask == 'do_fetch':
- fetch_recipes.add(deprecipe)
- return fetch_recipes
-
- def _gather_downloads(self, args):
- if args.task is None:
- args.task = self.tinfoil.config_data.getVar('BB_DEFAULT_TASK') or 'build'
- if not args.task.startswith('do_'):
- args.task = 'do_' + args.task
-
- depgraph, error = self._get_depgraph(args.targets, args.task)
- if not depgraph:
- if error:
- logger.critical('Failed to get the dependency graph: %s' % error)
- return 1
- else:
- logger.critical('Failed to get the dependency graph')
- return 1
-
- layer_data = depgraph['layer-priorities']
-
- def layer_for_file(filename):
- for name, pattern, re, priority in layer_data:
- if re.match(filename):
- return name
-
- fetch_recipes = self._collect_fetch_recipes(args.targets, args.task, depgraph)
-
- self.tinfoil.run_command('enableDataTracking')
-
- items_by_layer = defaultdict(set)
- for recipe in fetch_recipes:
- try:
- fn = depgraph['pn'][recipe]['filename']
- except KeyError:
- mc = self.tinfoil.config_data.getVar('BBMULTICONFIG')
- if not mc:
- raise Exception("Could not find key '%s' in depgraph and no multiconfigs defined" % recipe)
- for cfg in mc.split():
- try:
- nkey = f"mc:{cfg}:{recipe}"
- fn = depgraph['pn'][nkey]['filename']
- except KeyError:
- continue
- if not fn:
- raise Exception("Could not find recipe for '%s' in depgraph" % recipe)
-
- real_fn, cls, mc = bb.cache.virtualfn2realfn(fn)
- recipe_layer = layer_for_file(real_fn)
- appends = self.tinfoil.get_file_appends(fn)
- data = self.tinfoil.parse_recipe_file(fn, appendlist=appends)
-
- for layer, items in self._localpaths_by_layer(data, real_fn, lambda f: layer_for_file(f) or recipe_layer, args.mirrortarballs).items():
- items_by_layer[layer] |= items
-
- # If a given download is used by multiple layers, prefer the lowest
- # priority, i.e. associating it with oe-core vs some random layer
- seen = set()
- layer_priorities = {l: p for l, _, _, p in layer_data}
- for layer in sorted(layer_priorities, key=lambda i: layer_priorities[i]):
- for item in sorted(items_by_layer[layer]):
- if item not in seen:
- seen.add(item)
- yield layer, item
-
- def do_gather_downloads(self, args):
- """Gather up downloads for the specified targets, grouped by layer."""
- for layer, item in self._gather_downloads(args):
- print('%s\t%s' % (layer, item))
-
- def do_dump_downloads(self, args):
- """Dump downloads by layer into ${TMPDIR}/downloads-by-layer.txt."""
- items = self._gather_downloads(args)
- filename = self.tinfoil.config_data.expand(args.filename)
- omode = 'a' if args.append else 'w'
- with open(filename, omode) as f:
- for layer, item in items:
- f.write('%s\t%s\n' % (layer, item))
-
- def do_dump_licenses(self, args):
- """Dump licenses of all packages in the depgraph of a target into ${TMPDIR}/pn-buildlist-licenses.txt."""
- if args.task is None:
- args.task = self.tinfoil.config_data.getVar('BB_DEFAULT_TASK') or 'build'
- if not args.task.startswith('do_'):
- args.task = 'do_' + args.task
-
- filename = self.tinfoil.config_data.expand(args.filename)
-
- depgraph, error = self._get_depgraph(args.targets, args.task)
- if not depgraph:
- if error:
- logger.critical('Failed to get the dependency graph: %s' % error)
- return 1
- else:
- logger.critical('Failed to get the dependency graph')
- return 1
-
- fetch_recipes = self._collect_fetch_recipes(args.targets, args.task, depgraph)
-
- omode = 'a' if args.append else 'w'
- with open(filename, omode) as f:
- for recipe in fetch_recipes:
- try:
- fn = depgraph['pn'][recipe]['filename']
- except KeyError:
- mc = self.tinfoil.config_data.getVar('BBMULTICONFIG')
- if not mc:
- raise Exception("Could not find key '%s' in depgraph and no multiconfigs defined" % recipe)
- for cfg in mc.split():
- try:
- nkey = f"mc:{cfg}:{recipe}"
- fn = depgraph['pn'][nkey]['filename']
- except KeyError:
- continue
- if not fn:
- raise Exception("Could not find recipe for '%s' in depgraph" % recipe)
-
- real_fn, cls, mc = bb.cache.virtualfn2realfn(fn)
- appends = self.tinfoil.get_file_appends(fn)
- data = self.tinfoil.parse_recipe_file(fn, appendlist=appends)
-
- pn = data.getVar('PN')
- pv = data.getVar('PV')
- lc = data.getVar('LICENSE')
-
- if not args.sourceinfo:
- f.write('%s,%s,%s\n' % (pn, pv, lc))
- else:
- # unset su, otherwise we get previous value if there is no current
- su = ''
- for url in data.getVar('SRC_URI').split():
- scheme, host, path, user, passwd, param = bb.fetch.decodeurl(url)
- if scheme != 'file':
- su = bb.fetch.encodeurl((scheme, host, path, '', '', ''))
- hp = data.getVar('HOMEPAGE')
-
- f.write('%s,%s,%s,%s,%s\n' % (pn, pv, lc, su, hp))
-
- # remove any duplicates added due to append flag
- uniqlines = set(open(filename).readlines())
- with open(filename, 'w') as f:
- f.writelines(uniqlines)
-
- def register_commands(self, sp):
- common = argparse.ArgumentParser(add_help=False)
- common.add_argument('--mirrortarballs', '-m', help='show existing mirror tarball paths rather than git clone paths', action='store_true')
- common.add_argument('--task', '-c', help='specify the task to use when not expicitly specified for a target (default: BB_DEFAULT_TASK or "build")')
- common.add_argument('targets', nargs='+')
-
- gather = self.add_command(sp, 'gather-downloads', self.do_gather_downloads, parents=[common], parserecipes=True)
- dump = self.add_command(sp, 'dump-downloads', self.do_dump_downloads, parents=[common], parserecipes=True)
- dump.add_argument('--append', '-a', help='append to output filename', action='store_true')
- dump.add_argument('--filename', '-f', help='filename to dump to', default='${TMPDIR}/downloads-by-layer.txt')
- license = self.add_command(sp, 'dump-licenses', self.do_dump_licenses, parents=[common], parserecipes=True)
- license.add_argument('--filename', '-f', help='filename to dump to', default='${TMPDIR}/pn-buildlist-licenses.txt')
- license.add_argument('--append', '-a', help='append to output filename', action='store_true')
- license.add_argument('--sourceinfo', '-s', help='additionally dump SRC_URI and HOMEPAGE variables too', action='store_true')
diff --git a/meta-mel/lib/oeqa/selftest/cases/recipetool_mel.py b/meta-mel/lib/oeqa/selftest/cases/recipetool_mel.py
deleted file mode 100644
index 587ec90d..00000000
--- a/meta-mel/lib/oeqa/selftest/cases/recipetool_mel.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-import os
-import logging
-import tempfile
-import urllib.parse
-
-from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer
-from oeqa.utils.decorators import testcase
-from oeqa.selftest.cases import recipetool
-
-
-templayerdir = None
-
-
-def setUpModule():
- global templayerdir
- templayerdir = tempfile.mkdtemp(prefix='recipetool-mel-qa')
- create_temp_layer(templayerdir, 'selftest-recipetool-mel')
- runCmd('bitbake-layers add-layer %s' % templayerdir)
-
-
-def tearDownModule():
- runCmd('bitbake-layers remove-layer %s' % templayerdir, ignore_status=True)
- runCmd('rm -rf %s' % templayerdir)
-
-
-class RecipetoolMelTests(recipetool.RecipetoolAppendsrcBase):
- def setUpLocal(self):
- super(RecipetoolMelTests, self).setUpLocal()
- self.templayerdir = templayerdir
-
- def _test_kernel_cmd(self, cmd, target, expected_file_info):
- testrecipe = get_bb_var('PN', target)
- machine = get_bb_var('MACHINE')
- expectedfiles = [os.path.join(machine, i) for i in expected_file_info.keys()]
-
- bbappendfile, _ = self._try_recipetool_appendcmd(cmd, testrecipe, expectedfiles)
-
- src_uri = get_bb_var('SRC_URI', testrecipe).split()
- for f, destdir in expected_file_info.items():
- if destdir:
- self.assertIn('file://%s;subdir=%s' % (f, destdir), src_uri)
- else:
- self.assertIn('file://%s' % f, src_uri)
-
- filesdir = os.path.join(os.path.dirname(bbappendfile), testrecipe)
- filesextrapaths = get_bb_var('FILESEXTRAPATHS', testrecipe).split(':')
- self.assertIn(filesdir, filesextrapaths)
-
-
- # FIXME: the test files should end in .dts
- def test_kernel_add_dts(self):
- testrecipe = 'virtual/kernel'
- srcdir = get_bb_var('S', testrecipe)
- workdir = get_bb_var('WORKDIR', testrecipe)
- if srcdir == get_bb_var('STAGING_KERNEL_DIR', testrecipe):
- # If S is directly set to STAGING_KERNEL_DIR, then we most likely
- # have a custom checkout or unpack process like linux-yocto, so we
- # don't know precisely where to place the files relative to
- # WORKDIR. We default to 'git' in this case.
- subdir = 'git'
- else:
- subdir = os.path.relpath(srcdir, workdir)
- destdir = 'arch/\\${ARCH}/boot/dts'
- if subdir != '.':
- destdir = os.path.join(subdir, destdir)
-
- expected_file_info = {
- os.path.basename(self.testfile): destdir,
- 'testfile2': destdir,
- }
-
- testfile2 = os.path.join(self.tempdir, 'testfile2')
- with open(testfile2, 'w') as f:
- f.write('Test File 2')
-
- cmd = 'recipetool kernel_add_dts %s %s %s' % (self.templayerdir, self.testfile, testfile2)
- self._test_kernel_cmd(cmd, testrecipe, expected_file_info)
-
- devtree = get_bb_var('KERNEL_DEVICETREE', testrecipe)
- if not devtree:
- self.fail('KERNEL_DEVICETREE not defined')
- devtree = devtree.split()
-
- for f in expected_file_info:
- self.assertIn(f.replace('dts', 'dtb'), devtree)
-
- def test_kernel_add_fragments(self):
- fragments = []
- for i in range(1, 5):
- fn = os.path.join(self.tempdir, 'fragment%d.cfg' % i)
- fragments.append(fn)
- open(fn, 'w')
-
- cmd = 'recipetool kernel_add_fragments %s %s' % (self.templayerdir, ' '.join(fragments))
- self._test_kernel_cmd(cmd, 'virtual/kernel', dict((os.path.basename(i), None) for i in fragments))
-
- def test_kernel_set_configs(self):
- # TODO: check the generated fragment content
- cmd = 'recipetool kernel_set_configs %s CONFIG_ONE=y CONFIG_TWO=n' % self.templayerdir
- self._test_kernel_cmd(cmd, 'virtual/kernel', {'recipetool0.cfg': None})
-
- def test_kernel_set_defconfig(self):
- cmd = 'recipetool kernel_set_defconfig -r linux-dummy %s %s' % (self.templayerdir, self.testfile)
- self._test_kernel_cmd(cmd, 'linux-dummy', {'defconfig': None})
diff --git a/meta-mel/lib/recipetool/kernel.py b/meta-mel/lib/recipetool/kernel.py
deleted file mode 100644
index e530a326..00000000
--- a/meta-mel/lib/recipetool/kernel.py
+++ /dev/null
@@ -1,227 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: GPL-2.0
-# ---------------------------------------------------------------------------------------------------------------------
-
-# Recipe creation tool - kernel plugin
-#
-# TODO: figure out how to get all the files added to a single SRC_URI +=
-# rather than multiple, while still getting the nice multi-line value
-# TODO: add support to oe.recipeutils to let us add include/require lines via
-# 'extralines', which is not currently supported. We could then
-# pull in linux-dtb.inc automatically if appropriate.
-#
-# These sub-commands are thin wrappers around appendsrcfile(s) coupled
-# with additional configuration variables.
-#
-# Examples:
-#
-# $ recipetool kernel_set_defconfig meta-mylayer /path/to/defconfig
-# $ recipetool kernel_add_fragments meta-mylayer one.cfg two.cfg
-# $ recipetool kernel_set_configs meta-mylayer CONFIG_LOCALVERSION_AUTO=n CONFIG_LOCALVERSION=-test
-# $ recipetool kernel_add_dts meta-mylayer *.dts
-#
-#
-# Copyright 2022 Siemens
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-import argparse
-import logging
-import os
-import re
-
-
-logger = logging.getLogger('recipetool')
-tinfoil = None
-
-
-def plugin_init(pluginlist):
- # Don't need to do anything here right now, but plugins must have this function defined
- pass
-
-
-def tinfoil_init(instance):
- global tinfoil
- tinfoil = instance
-
-
-def _get_recipe_file(cooker, pn):
- import oe.recipeutils
- best = cooker.findBestProvider(pn)
- recipefile = best[3]
- if not recipefile:
- skipreasons = oe.recipeutils.get_unavailable_reasons(cooker, pn)
- if skipreasons:
- logger.error('\n'.join(skipreasons))
- else:
- logger.error("Unable to find any recipe file matching %s" % pn)
- return recipefile
-
-
-def _parse_recipe(pn, tinfoil):
- recipefile = _get_recipe_file(tinfoil.cooker, pn)
- if not recipefile:
- # Error already logged
- return None
- return tinfoil.parse_recipe(pn)
-
-
-def append_srcfiles(destlayer, rd, files, use_workdir=False, use_machine=False, wildcard_version=False, extralines=None):
- import recipetool.append
-
- pn = rd.getVar('PN', True)
- if use_machine:
- machine = rd.getVar('MACHINE', True)
- else:
- machine = None
- appendargs = argparse.Namespace(destlayer=destlayer, recipe=pn, use_workdir=use_workdir, wildcard_version=wildcard_version, machine=machine)
- recipetool.append.appendsrc(appendargs, files, rd, extralines)
-
-
-def kernel_set_defconfig(args):
- rd = _parse_recipe(args.recipe, tinfoil)
- if not rd:
- return 1
-
- import bb.data
- if not bb.data.inherits_class('kernel-yocto', rd):
- extralines = []
- for configvar in ['KERNEL_DEFCONFIG', 'DEFCONFIG']:
- if rd.getVar(configvar, True):
- extralines.append('{0} = ${{WORKDIR}}/defconfig'.format(configvar))
- else:
- extralines = None
-
- return append_srcfiles(args.destlayer, rd, {args.defconfig: 'defconfig'}, use_workdir=True, use_machine=True, extralines=extralines)
-
-
-def kernel_add_dts(args):
- import oe.recipeutils
-
- rd = _parse_recipe(args.recipe, tinfoil)
- if not rd:
- return 1
-
- dtbs = (os.path.basename(dts.replace('dts', 'dtb')) for dts in args.dts_files)
- extralines = ['KERNEL_DEVICETREE += {0}'.format(' '.join(dtbs))]
- files = dict((dts, os.path.join('arch/${{ARCH}}/boot/dts/{0}'.format(os.path.basename(dts)))) for dts in args.dts_files)
- ret = append_srcfiles(args.destlayer, rd, files, use_workdir=False, use_machine=True, extralines=extralines)
-
- packages = rd.getVar('PACKAGES', True).split()
- if 'kernel-devicetree' not in packages:
- appendpath, _ = oe.recipeutils.get_bbappend_path(rd, args.destlayer, wildcardver=False)
- with open(appendpath, 'a') as f:
- f.write('require recipes-kernel/linux/linux-dtb.inc')
- return ret
-
-
-def kernel_add_fragments(args):
- rd = _parse_recipe(args.recipe, tinfoil)
- if not rd:
- return 1
-
- return _kernel_add_fragments(args.destlayer, rd, args.fragments)
-
-
-def _kernel_add_fragments(destlayer, rd, fragments, files=None, extralines=None):
- depends = rd.getVar('DEPENDS', True).split()
- md_depends = (rd.getVarFlag('do_kernel_metadata', 'depends', True) or '').split()
- depends.extend(dep.split(':', 1)[0] for dep in md_depends)
-
- if extralines is None:
- extralines = []
-
- if 'DELTA_KERNEL_DEFCONFIG' in rd:
- # linux-qoriq handles fragments itself
- extralines.append('DELTA_KERNEL_DEFCONFIG += {0}'.format(' '.join('${WORKDIR}/%s' % os.path.basename(f) for f in fragments)))
- else:
- if 'kern-tools-native' not in depends:
- logger.warn("kern-tools-native not found in the kernel's dependencies. This likely means that this kernel recipe ({0}) does not support configuration fragments.".format(rd.getVar('PN', True)))
-
- if files is None:
- files = dict((f, os.path.basename(f)) for f in fragments)
- return append_srcfiles(destlayer, rd, files, use_workdir=True, use_machine=True, extralines=extralines)
-
-
-def get_next_fragment_name(src_uri):
- fragpat = re.compile('file://recipetool([0-9]+)\.cfg$')
- matches = list(filter(None, [re.match(fragpat, u) for u in src_uri]))
- if matches:
- fragnums = sorted((int(m.group(1)) for m in matches), reverse=True)
- num = fragnums[0] + 1
- else:
- num = 0
- return 'recipetool%d' % num
-
-
-def kernel_set_configs(args):
- rd = _parse_recipe(args.recipe, tinfoil)
- if not rd:
- return 1
-
- if not args.name:
- src_uri = rd.getVar('SRC_URI', True).split()
- args.name = get_next_fragment_name(src_uri)
-
- import tempfile
- f = tempfile.NamedTemporaryFile(mode='w', delete=False)
- try:
- for cfgline in args.config_lines:
- f.write(cfgline + '\n')
- finally:
- f.close()
-
- fragfn = '{0}.cfg'.format(args.name)
- try:
- return _kernel_add_fragments(args.destlayer, rd, fragfn, files={f.name: fragfn})
- finally:
- os.unlink(f.name)
-
-
-def layer(layerpath):
- if not os.path.exists(os.path.join(layerpath, 'conf', 'layer.conf')):
- raise argparse.ArgumentTypeError('{0!r} must be a path to a valid layer'.format(layerpath))
- return layerpath
-
-
-def existing_path(filepath):
- if not os.path.exists(filepath):
- raise argparse.ArgumentTypeError('{0!r} must be an existing path'.format(filepath))
- return filepath
-
-
-def register_command(subparsers):
- common = argparse.ArgumentParser(add_help=False)
- common.add_argument('-r', '--recipe', help='Specify the kernel recipe to operate against (default: virtual/kernel)', default='virtual/kernel')
-
- parser = subparsers.add_parser('kernel_set_defconfig', help='Override the defconfig used for the kernel.', parents=[common])
- parser.add_argument('destlayer', metavar='DESTLAYER', help='Base directory of the destination layer to write the bbappend to', type=layer)
- parser.add_argument('defconfig', metavar='DEFCONFIG', help='File path to the defconfig to be used', type=existing_path)
- parser.set_defaults(func=kernel_set_defconfig, parserecipes=True)
-
- parser = subparsers.add_parser('kernel_add_dts', help='Add/replace device tree files in the kernel.', parents=[common])
- parser.add_argument('destlayer', metavar='DESTLAYER', help='Base directory of the destination layer to write the bbappend to', type=layer)
- parser.add_argument('dts_files', metavar='DTS_FILE', nargs='+', help='File path to a .dts', type=existing_path)
- parser.set_defaults(func=kernel_add_dts, parserecipes=True)
-
- parser = subparsers.add_parser('kernel_add_fragments', help='Add configuration fragments to the kernel.', parents=[common])
- parser.add_argument('destlayer', metavar='DESTLAYER', help='Base directory of the destination layer to write the bbappend to', type=layer)
- parser.add_argument('fragments', metavar='FRAGMENT', nargs='+', help='File path to a configuration fragment (.cfg)', type=existing_path)
- parser.set_defaults(func=kernel_add_fragments, parserecipes=True)
-
- parser = subparsers.add_parser('kernel_set_configs', help='Set kernel configuration parameters. Generates and includes kernel config fragments for you.', parents=[common])
- parser.add_argument('-n', '--name', metavar='NAME', help='Name of the fragment to be generated (without .cfg)')
- parser.add_argument('destlayer', metavar='DESTLAYER', help='Base directory of the destination layer to write the bbappend to', type=layer)
- parser.add_argument('config_lines', metavar='CONFIG_LINE', nargs='+', help='Kernel configuration line (e.g. CONFIG_FOO=y)')
- parser.set_defaults(func=kernel_set_configs, parserecipes=True)
diff --git a/meta-mel/mel-support/recipes-core/meta/archive-release.bbappend b/meta-mel/mel-support/recipes-core/meta/archive-release.bbappend
deleted file mode 100644
index f94b2de7..00000000
--- a/meta-mel/mel-support/recipes-core/meta/archive-release.bbappend
+++ /dev/null
@@ -1,463 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:append = ":${@':'.join('%s/../scripts/release:%s/../scripts' % (l, l) for l in '${BBPATH}'.split(':'))}"
-MEL_SCRIPTS_FILES = "mel-checkout version-sort setup-mel setup-workspace setup-ubuntu setup-rh setup-debian"
-SRC_URI += "${@' '.join(uninative_urls(d)) if 'mel_downloads' in '${RELEASE_ARTIFACTS}'.split() else ''}"
-SRC_URI += "${@' '.join('file://%s' % s for s in d.getVar('MEL_SCRIPTS_FILES').split())}"
-
-inherit layerdirs
-
-ARCHIVE_RELEASE_VERSION ?= "${DISTRO_VERSION}"
-SCRIPTS_VERSION ?= "1"
-MANIFEST_NAME ?= "${DISTRO}-${ARCHIVE_RELEASE_VERSION}-${MACHINE}"
-EXTRA_MANIFEST_NAME ?= "${DISTRO}-${ARCHIVE_RELEASE_VERSION}"
-SCRIPTS_ARTIFACT_NAME ?= "${DISTRO}-scripts-${DISTRO_VERSION}.${SCRIPTS_VERSION}"
-BSPFILES_INSTALL_PATH = "${MACHINE}/${ARCHIVE_RELEASE_VERSION}"
-GET_REMOTES_HOOK ?= ""
-
-# Layers which get their own extra manifests, rather than being included in
-# the main one. How they're combined or shipped from there is up to our
-# release scripts.
-INDIVIDUAL_MANIFEST_LAYERS ?= ""
-FORKED_REPOS ?= ""
-PUBLIC_REPOS ?= "${FORKED_REPOS}"
-
-# Define a location for placing external artifacts to be used by the build
-MEL_EXTERNAL_ARTIFACTS ?= "${TOPDIR}/mel-external-artifacts"
-
-RELEASE_EXCLUDED_LAYERNAMES ?= "workspacelayer"
-
-ARCHIVE_RELEASE_DL_DIR ?= "${DL_DIR}"
-ARCHIVE_RELEASE_DL_BY_LAYER_PATH = '${TMPDIR}/downloads-by-layer.txt'
-
-def mel_get_remotes(subdir, d):
- """Any non-public github repo or url including a mentor domain
- are considered private, so no remote is included.
- """
- try:
- url = bb.process.run(['git', 'config', 'remote.origin.url'], cwd=subdir)[0].rstrip()
- except bb.process.ExecutionError:
- return None
- else:
- if not url:
- return None
-
- remotes = {}
- test_url = url.replace('.git', '')
- public_repos = d.getVar('PUBLIC_REPOS').split()
- if 'MentorEmbedded' in test_url:
- if not any(test_url.endswith('/' + i) for i in public_repos):
- # Private github repo
- return None
- else:
- # For the public layers, we want the user to be able to fetch
- # anonymously, not just with ssh
- url = url.replace('ssh://git@', 'https://')
-
- forked_repos = d.getVar('FORKED_REPOS').split()
- for f in forked_repos:
- if test_url.endswith('/' + f):
- upstream = d.getVar('UPSTREAM_URL_%s' % f)
- if upstream:
- remotes['upstream'] = upstream
- break
- elif 'mentor.com' in test_url or 'mentorg.com' in test_url:
- # Internal repo
- return None
-
- remotes['origin'] = url
- return remotes
-
-GET_REMOTES_HOOK:mel ?= "mel_get_remotes"
-
-GIT_ROOT_TOO_FAR_PATHS = "${OEDIR} ${TOPDIR} ${HOME}"
-
-def layer_git_root(subdir, too_far_paths):
- try:
- git_root = bb.process.run(['git', 'rev-parse', '--show-toplevel'], cwd=subdir)[0].rstrip()
- except bb.process.CmdError:
- return None
-
- too_far_under_root = any(too_far_path.startswith(git_root + os.sep) for too_far_path in too_far_paths)
- if git_root in too_far_paths or too_far_under_root:
- return None
-
- return git_root
-
-def get_release_info(layerdir, layername, topdir, oedir, too_far_paths, indiv_only=None, indiv_only_toplevel=None, indiv_manifests=None):
- import collections
- import fnmatch
-
- if indiv_only is None:
- indiv_only = set()
- if indiv_only_toplevel is None:
- indiv_only_toplevel = set()
- if indiv_manifests is None:
- indiv_manifests = []
-
- relpath = None
- if layerdir not in indiv_only:
- git_root = layer_git_root(layerdir, too_far_paths)
- if git_root:
- return git_root, os.path.basename(git_root), False
-
- if layername and any(fnmatch.fnmatchcase(layername, pat) for pat in indiv_manifests):
- indiv_layer = True
- else:
- indiv_layer = False
-
- if (layerdir not in indiv_only_toplevel and
- not layerdir.startswith(topdir + os.sep) and
- layerdir.startswith(oedir + os.sep)):
- return layerdir, os.path.relpath(layerdir, oedir), indiv_layer
- else:
- return layerdir, os.path.basename(layerdir), indiv_layer
-
-python do_archive_mel_layers () {
- """Archive the layers used to build, as git pack files, with a manifest."""
- import collections
- import configparser
- import oe.reproducible
-
- if 'layerdirs' not in d.getVar('INHERIT').split():
- save_layerdirs(d)
-
- directories = d.getVar('BBLAYERS').split()
- bitbake_path = bb.utils.which(d.getVar('PATH'), 'bitbake')
- bitbake_bindir = os.path.dirname(bitbake_path)
- directories.append(os.path.dirname(bitbake_bindir))
-
- corebase = os.path.realpath(d.getVar('COREBASE'))
- oedir = os.path.dirname(corebase)
- topdir = os.path.realpath(d.getVar('TOPDIR'))
- indiv_only_toplevel = d.getVar('SUBLAYERS_INDIVIDUAL_ONLY_TOPLEVEL').split()
- indiv_only = d.getVar('SUBLAYERS_INDIVIDUAL_ONLY').split() + indiv_only_toplevel
- indiv_manifests = d.getVar('INDIVIDUAL_MANIFEST_LAYERS').split()
- excluded_layers = d.getVar('RELEASE_EXCLUDED_LAYERNAMES').split()
- too_far_paths = d.getVar('GIT_ROOT_TOO_FAR_PATHS').split()
- get_remotes_hook = d.getVar('GET_REMOTES_HOOK')
- if get_remotes_hook:
- get_remotes = bb.utils.get_context().get(get_remotes_hook)
- if not get_remotes:
- bb.fatal('Hook function specified in GET_REMOTES_HOOK (`%s`) does not exist' % get_remotes_hook)
- else:
- get_remotes = None
-
- layernames = {}
- for layername in d.getVar('BBFILE_COLLECTIONS').split():
- layerdir = d.getVar('LAYERDIR_%s' % layername)
- if layerdir:
- layernames[layerdir] = layername
-
- git_indivs = collections.defaultdict(set)
- to_archive, indiv_manifest_dirs = set(), set()
- path = d.getVar('PATH') + ':' + ':'.join(os.path.join(l, '..', 'scripts') for l in directories)
- for subdir in directories:
- subdir = os.path.realpath(subdir)
- layername = layernames.get(subdir)
- if layername in excluded_layers:
- bb.note('Skipping excluded layer %s' % layername)
- continue
-
- parent = os.path.dirname(subdir)
- git_root = layer_git_root(subdir, too_far_paths)
- if subdir in indiv_only and git_root:
- git_indivs[git_root].add(os.path.relpath(subdir, git_root))
- if layername and any(fnmatch.fnmatchcase(layername, pat) for pat in indiv_manifests):
- indiv_manifest_dirs.add(subdir)
- else:
- archive_path, dest_path, is_indiv = get_release_info(subdir, layername, topdir, oedir, too_far_paths, indiv_only=indiv_only, indiv_only_toplevel=indiv_only_toplevel, indiv_manifests=indiv_manifests)
- to_archive.add((archive_path, dest_path, None))
- if is_indiv:
- indiv_manifest_dirs.add(subdir)
-
- for parent, keep_files in git_indivs.items():
- to_archive.add((parent, os.path.basename(parent), tuple(keep_files)))
-
- outdir = d.expand('${S}/do_archive_mel_layers')
- mandir = os.path.join(outdir, 'manifests')
- bb.utils.mkdirhier(mandir)
- bb.utils.mkdirhier(os.path.join(mandir, 'extra'))
- objdir = os.path.join(outdir, 'git-bundles')
- bb.utils.mkdirhier(objdir)
- manifestfn = d.expand('%s/${MANIFEST_NAME}.manifest' % mandir)
- manifests = [manifestfn]
- message = '%s %s' % (d.getVar('DISTRO_NAME') or d.getVar('DISTRO'), d.getVar('DISTRO_VERSION'))
-
- l = d.createCopy()
- l.setVar('SRC_URI', 'git://')
- l.setVar('WORKDIR', '/invalid')
-
- manifestdata = collections.defaultdict(list)
- for subdir, path, keep_paths in sorted(to_archive):
- parent = None
- if os.path.exists(os.path.join(subdir, '.git')):
- parent = subdir
- else:
- try:
- git_topdir = bb.process.run(['git', 'rev-parse', '--show-toplevel'], cwd=subdir)[0].rstrip()
- except bb.process.CmdError:
- pass
- else:
- if git_topdir != subdir:
- subdir_relpath = os.path.relpath(subdir, git_topdir)
- try:
- ls = bb.process.run(['git', 'ls-tree', '-d', 'HEAD', subdir_relpath], cwd=subdir)
- except bb.process.CmdError as exc:
- pass
- else:
- if ls:
- parent = git_topdir
-
- if not parent:
- bb.fatal('Unable to archive non-git directory: %s' % subdir)
-
- l.setVar('S', subdir)
- source_date_epoch = oe.reproducible.get_source_date_epoch(l, parent or subdir)
-
- if get_remotes:
- remotes = get_remotes(subdir, d) or {}
- else:
- remotes = {}
- pack_base, head = git_archive(subdir, objdir, message, keep_paths, remotes)
-
- if not remotes:
- bb.note('Skipping remotes for %s' % path)
-
- head = git_archive(subdir, objdir, parent, message, keep_paths, source_date_epoch, is_public=bool(remotes))
-
- if subdir in indiv_manifest_dirs:
- name = path.replace('/', '_')
- bb.utils.mkdirhier(os.path.join(mandir, 'extra', name))
- fn = d.expand('%s/extra/%s/${EXTRA_MANIFEST_NAME}-%s.manifest' % (mandir, name, name))
- else:
- fn = manifestfn
- manifestdata[fn].append('\t'.join([path, head] + ['%s=%s' % (k,v) for k,v in remotes.items()]) + '\n')
- bb.process.run(['tar', '-cf', '%s.tar' % head, 'git-bundles/%s.bundle' % head], cwd=outdir)
- os.unlink(os.path.join(objdir, '%s.bundle' % head))
-
- os.rmdir(objdir)
-
- infofn = d.expand('%s/${MANIFEST_NAME}.info' % mandir)
- with open(infofn, 'w') as infofile:
- c = configparser.ConfigParser()
- c['DEFAULT'] = {'bspfiles_path': d.getVar('BSPFILES_INSTALL_PATH')}
- c.write(infofile)
-
- for fn, lines in manifestdata.items():
- with open(fn, 'w') as manifest:
- manifest.writelines(lines)
- files = [os.path.relpath(fn, outdir)]
- if fn == manifestfn:
- files.append(os.path.relpath(infofn, outdir))
- bb.process.run(['tar', '-cf', os.path.basename(fn) + '.tar'] + files, cwd=outdir)
-
- scripts = d.getVar('MEL_SCRIPTS_FILES').split()
- bb.process.run(['tar', '--transform=s,^,scripts/,', '--transform=s,^scripts/setup-mel,setup-mel,', '-cvf', d.expand('%s/${SCRIPTS_ARTIFACT_NAME}.tar' % outdir)] + scripts, cwd=d.getVar('WORKDIR'))
-}
-do_archive_mel_layers[dirs] = "${S}/do_archive_mel_layers ${S}"
-do_archive_mel_layers[vardeps] += "${GET_REMOTES_HOOK}"
-# We make use of the distro version, so want to avoid changing checksum issues
-# for snapshot builds.
-do_archive_mel_layers[vardepsexclude] += "DATE TIME"
-addtask archive_mel_layers after do_patch
-
-def git_archive(subdir, outdir, parent, message=None, keep_paths=None, source_date_epoch=None, is_public=False):
- """Create an archive for the specified subdir, holding a single git object
-
- 1. Clone or create the repo to a temporary location
- 2. Filter out paths not in keep_paths, if set
- 3. Make the repo shallow
- 4. Repack the repo into a single git pack
- 5. Copy the pack files to outdir
- """
- import glob
- import tempfile
-
- parent_git = os.path.join(parent, bb.process.run(['git', 'rev-parse', '--git-dir'], cwd=subdir)[0].rstrip())
- # Handle git worktrees
- _commondir = os.path.join(parent_git, 'commondir')
- if os.path.exists(_commondir):
- with open(_commondir, 'r') as f:
- parent_git = os.path.join(parent_git, f.read().rstrip())
-
- parent_head = bb.process.run(['git', 'rev-parse', 'HEAD'], cwd=subdir)[0].rstrip()
-
- with tempfile.TemporaryDirectory() as tmpdir:
- gitcmd = ['git', '--git-dir', tmpdir, '--work-tree', subdir]
- bb.process.run(gitcmd + ['init'])
-
- with open(os.path.join(tmpdir, 'objects', 'info', 'alternates'), 'w') as f:
- f.write(os.path.join(parent_git, 'objects') + '\n')
-
- if is_public and not keep_paths:
- head = parent_head
- else:
- bb.process.run(gitcmd + ['read-tree', parent_head])
-
- if message is None:
- message = 'Release of %s' % os.path.basename(subdir)
- commitcmd = ['commit-tree', '-m', message]
- commitcmd.extend(['-p', parent_head])
-
- bb.process.run(gitcmd + ['add', '-A', '.'], cwd=subdir)
- if keep_paths:
- files = bb.process.run(gitcmd + ['ls-tree', '-r', '--name-only', parent_head])[0].splitlines()
- kill_files = [f for f in files if f not in keep_paths and not any(f.startswith(p + '/') for p in keep_paths)]
- keep_files = set(files) - set(kill_files)
- if not keep_files:
- bb.fatal('No files kept for %s' % parent)
-
- bb.process.run(gitcmd + ['update-index', '--force-remove', '--'] + kill_files, cwd=subdir)
-
- tree = bb.process.run(gitcmd + ['write-tree'])[0].rstrip()
- commitcmd.append(tree)
-
- env = {
- 'GIT_AUTHOR_NAME': 'Build User',
- 'GIT_AUTHOR_EMAIL': 'build_user@build_host',
- 'GIT_COMMITTER_NAME': 'Build User',
- 'GIT_COMMITTER_EMAIL': 'build_user@build_host',
- }
- if source_date_epoch:
- env['GIT_AUTHOR_DATE'] = str(source_date_epoch)
- env['GIT_COMMITTER_DATE'] = str(source_date_epoch)
-
- head = bb.process.run(gitcmd + commitcmd, env=env)[0].rstrip()
-
- if not is_public:
- with open(os.path.join(tmpdir, 'shallow'), 'w') as f:
- f.write(head + '\n')
-
- # We need a ref to ensure repack includes the new commit, as it
- # does not include dangling objects in the pack.
- bb.process.run(['git', 'update-ref', 'refs/packing', head], cwd=tmpdir)
- bb.process.run(['git', 'prune', '--expire=now'], cwd=tmpdir)
- bb.process.run(['git', 'repack', '-a', '-d'], cwd=tmpdir)
- bb.process.run(['git', 'prune-packed'], cwd=tmpdir)
-
- bb.process.run(['git', 'bundle', 'create', os.path.join(outdir, '%s.bundle' % head), 'refs/packing'], cwd=tmpdir)
- return head
-
-def checksummed_downloads(dl_by_layer_fn, dl_by_layer_dl_dir, dl_dir):
- with open(dl_by_layer_fn, 'r') as f:
- lines = f.readlines()
-
- for layer_name, dl_path in (l.rstrip('\n').split('\t', 1) for l in lines):
- rel_path = os.path.relpath(dl_path, dl_by_layer_dl_dir)
- if rel_path.startswith('..'):
- bb.fatal('Download %s (in %s) is not relative to DL_DIR' % (dl_path, dl_by_layer_fn))
-
- dl_path = os.path.join(dl_dir, rel_path)
- if not os.path.exists(dl_path):
- # download is missing, probably excluded for license reasons
- bb.warn('Download %s does not exist, excluding' % dl_path)
- continue
-
- checksum = chksum_dl(dl_path)
- yield layer_name, dl_path, rel_path, checksum
-
-def uninative_downloads(workdir, dldir):
- for path in oe.path.find(os.path.join(workdir, 'uninative')):
- relpath = os.path.relpath(path, workdir)
- dlpath = os.path.join(dldir, relpath)
- checksum = chksum_dl(path, dlpath)
- yield None, path, relpath, checksum
-
-def chksum_dl(path, dlpath=None):
- import pickle
-
- if dlpath is None:
- dlpath = path
-
- donefile = dlpath + '.done'
- checksum = None
- if os.path.exists(donefile):
- with open(donefile, 'rb') as cachefile:
- try:
- checksums = pickle.load(cachefile)
- except EOFError:
- pass
- else:
- checksum = checksums['sha256']
-
- if not checksum:
- checksum = bb.utils.sha256_file(path)
-
- return checksum
-
-python do_archive_mel_downloads () {
- import collections
- import pickle
- import oe.path
-
- dl_dir = d.getVar('DL_DIR')
- archive_dl_dir = d.getVar('ARCHIVE_RELEASE_DL_DIR') or dl_dir
- dl_by_layer_fn = d.getVar('ARCHIVE_RELEASE_DL_BY_LAYER_PATH')
- if not os.path.exists(dl_by_layer_fn):
- bb.fatal('%s does not exist, but mel_downloads requires it. Please run `bitbake-layers dump-downloads` with appropriate arguments.' % dl_by_layer_fn)
-
- downloads = list(checksummed_downloads(dl_by_layer_fn, dl_dir, archive_dl_dir))
- downloads.extend(sorted(uninative_downloads(d.getVar('WORKDIR'), d.getVar('DL_DIR'))))
- outdir = d.expand('${S}/do_archive_mel_downloads')
- mandir = os.path.join(outdir, 'manifests')
- dldir = os.path.join(outdir, 'downloads')
- bb.utils.mkdirhier(mandir)
- bb.utils.mkdirhier(os.path.join(mandir, 'extra'))
- bb.utils.mkdirhier(dldir)
-
- layer_manifests = {}
- corebase = os.path.realpath(d.getVar('COREBASE'))
- oedir = os.path.dirname(corebase)
- topdir = os.path.realpath(d.getVar('TOPDIR'))
- indiv_only_toplevel = d.getVar('SUBLAYERS_INDIVIDUAL_ONLY_TOPLEVEL').split()
- indiv_only = d.getVar('SUBLAYERS_INDIVIDUAL_ONLY').split() + indiv_only_toplevel
- indiv_manifests = d.getVar('INDIVIDUAL_MANIFEST_LAYERS').split()
- too_far_paths = d.getVar('GIT_ROOT_TOO_FAR_PATHS').split()
-
- layers = set(i[0] for i in downloads)
- for layername in layers:
- if not layername:
- continue
-
- layerdir = d.getVar('LAYERDIR_%s' % layername)
- archive_path, dest_path, is_indiv = get_release_info(layerdir, layername, topdir, oedir, too_far_paths, indiv_only=indiv_only, indiv_only_toplevel=indiv_only_toplevel, indiv_manifests=indiv_manifests)
- if is_indiv:
- extra_name = dest_path.replace('/', '_')
- bb.utils.mkdirhier(os.path.join(mandir, 'extra', extra_name))
- manifestfn = d.expand('%s/extra/%s/${EXTRA_MANIFEST_NAME}-%s.downloads' % (mandir, extra_name, extra_name))
- layer_manifests[layername] = manifestfn
-
- main_manifest = d.expand('%s/${MANIFEST_NAME}.downloads' % mandir)
- manifests = collections.defaultdict(list)
- for layername, path, dest_path, checksum in downloads:
- manifestfn = layer_manifests.get(layername) or main_manifest
- manifests[manifestfn].append((layername, path, dest_path, checksum))
-
- for manifest, manifest_downloads in manifests.items():
- with open(manifest, 'w') as f:
- for _, _, download_path, checksum in manifest_downloads:
- f.write('%s\t%s\n' % (download_path, checksum))
-
- bb.process.run(['tar', '-cf', os.path.basename(manifest) + '.tar', os.path.relpath(manifest, outdir)], cwd=outdir)
-
- for name, path, dest_path, checksum in manifest_downloads:
- dest = os.path.join(dldir, checksum)
- oe.path.symlink(path, dest, force=True)
- bb.process.run(['tar', '-chf', '%s/download-%s.tar' % (dldir, checksum), os.path.relpath(dest, outdir)], cwd=outdir)
- os.unlink(dest)
-}
-do_archive_mel_downloads[depends] += "${@'${RELEASE_IMAGE}:${FETCHALL_TASK}' if '${RELEASE_IMAGE}' else ''}"
-
-archive_uninative_downloads () {
- # Ensure that uninative downloads are in ARCHIVE_RELEASE_DL_DIR, since
- # they're listed in the manifest
- find uninative -type f | while read -r fn; do
- mkdir -p "${ARCHIVE_RELEASE_DL_DIR}/$(dirname "$fn")"
- ln -sf "${DL_DIR}/$fn" "${ARCHIVE_RELEASE_DL_DIR}/$fn"
- done
-}
-archive_uninative_downloads[dirs] = "${WORKDIR}"
-do_archive_mel_downloads[prefuncs] += "archive_uninative_downloads"
diff --git a/meta-mel/meta-python/recipes-devtools/python/python3-unidiff_%.bbappend b/meta-mel/meta-python/recipes-devtools/python/python3-unidiff_%.bbappend
deleted file mode 100644
index 7c4e9f67..00000000
--- a/meta-mel/meta-python/recipes-devtools/python/python3-unidiff_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-BBCLASSEXTEND += "native"
diff --git a/meta-mel/openembedded-layer/recipes-connectivity/libwebsockets/libwebsockets_4.2.2.bbappend b/meta-mel/openembedded-layer/recipes-connectivity/libwebsockets/libwebsockets_4.2.2.bbappend
deleted file mode 100644
index 7742468a..00000000
--- a/meta-mel/openembedded-layer/recipes-connectivity/libwebsockets/libwebsockets_4.2.2.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-SRCREV:mel = "7e4482075d30bd276c66b9f8daa1f9b8871c8743"
-SRC_URI:mel = "git://github.com/MentorEmbedded/libwebsockets.git;protocol=https;branch=v4.2-stable"
diff --git a/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init.bb b/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init.bb
deleted file mode 100644
index 05b3970e..00000000
--- a/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SUMMARY = "MEL DM-Crypt Image initramfs init"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-DEPENDS = "virtual/kernel"
-RDEPENDS:${PN} += "cryptsetup"
-RDEPENDS:${PN} += "lvm2"
-RDEPENDS:${PN} += "lvm2-udevrules"
-RDEPENDS:${PN} += "udev"
-
-PR = "r0"
-
-SRC_URI = "file://init.sh"
-
-S = "${WORKDIR}"
-
-do_install() {
- install -m 0755 ${WORKDIR}/init.sh ${D}/init
- install -d ${D}/dev
- mknod -m 622 ${D}/dev/console c 5 1
-}
-
-FILES:${PN} += "/init /dev"
-
-# Due to kernel dependency
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh b/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh
deleted file mode 100644
index 1807ec7b..00000000
--- a/meta-mel/openembedded-layer/recipes-core/initrdscripts/dmcrypt-initramfs-init/init.sh
+++ /dev/null
@@ -1,196 +0,0 @@
-#!/bin/sh
-
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-CONSOLE="/dev/console"
-
-TARGET_ROOT_MOUNT="/target_rootfs"
-
-# LUKS-enabled devices
-TARGET_ROOTFS_NAME="rootfs"
-TARGET_LOGFS_NAME="logfs"
-TARGET_ROOTFS_DEVICE="/dev/mapper/${TARGET_ROOTFS_NAME}"
-
-LOG_FILE="${TARGET_BOOT_MOUNT}/boot.log"
-
-# log <error-level> <msg>
-function log {
- if [ "$#" -ne "2" ]; then
- echo "${FUNCNAME} <error-level> <msg>"
- fi
-
- local level="$1";
- local msg="$2";
-
- date=`date`;
-
- if [ -n "${SYSTEMD_ENV}" ] && [ "${SYSTEMD_ENV}" -eq "1" ]; then
- echo -e "${level} ${msg}"
- else
- echo -e "# ${date} ${level} ${msg}"
- fi
-
- echo "# ${date} ${level} ${msg}" >> ${LOG_FILE}
-
- if [ "${level}" == "error" ]; then
- local frame=0
- local stacktrace="";
-
- while true; do
- stacktrace+=`caller $frame`
- if [ "$?" -ne 0 ]; then
- break
- fi
-
- _ret=$?
- stacktrace+=$'\n'
- ((frame++));
- done
-
- stacktrace=`echo ${stacktrace} |cut -f1-2 -d' ' |tr ' ' ':'`
-
- echo "Stacktrace: "
- echo "${stacktrace}"
- echo "Stacktrace: " >> ${LOG_FILE}
- echo "${stacktrace}" >> ${LOG_FILE}
- fi;
-}
-
-udev_daemon() {
- OPTIONS="/sbin/udev/udevd /sbin/udevd /lib/udev/udevd /lib/systemd/systemd-udevd"
-
- for o in $OPTIONS; do
- if [ -x "$o" ]; then
- echo $o
- return 0
- fi
- done
-
- return 1
-}
-
-_UDEV_DAEMON=`udev_daemon`
-
-
-early_setup() {
- mkdir -p /proc
- mkdir -p /sys
- mount -t proc proc /proc
- mount -t sysfs sysfs /sys
- mount -n -o mode=0755 -t devtmpfs none /dev
-
-
- mkdir -p /run
- mkdir -p /var/run
- $_UDEV_DAEMON --daemon
- udevadm trigger --action=add
- udevadm settle --timeout=3
- return 0
-}
-
-read_args() {
- for arg in $CMDLINE; do
- optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'`
- case $arg in
- LABEL=*)
- label=$optarg
- ;;
- ROOT_PART=*)
- ROOT_PART=$optarg
- ;;
- esac
- done
-}
-
-do_boot() {
- echo "Boot procedure ..."
-
- if [ -z "${ROOT_PART}" ]; then
- log "error" "ROOT_PART not set"
- return 1
- fi
-
- # rootfs
- sleep 4s
- echo -ne "\n\n Open Encrypted root filesystem...\n"
- cmd="cryptsetup -v open ${ROOT_PART} ${TARGET_ROOTFS_NAME}"
- output=`eval ${cmd}`
- ret=$?
- if [ ${ret} -ne 0 ]; then
- log "error" "failed to open LUKS device ${ROOT_PART} as ${TARGET_ROOTFS_NAME}"
- log "error" "${cmd} (${ret}): ${output}"
- return 1
- fi;
-
- # TODO check filesystems
-
- # Watches the udev event queue, and exits if all current events are handled
- udevadm settle --timeout=3
- killall "${_UDEV_DAEMON##*/}" 2>/dev/null
-
- cmd="mkdir -p ${TARGET_ROOT_MOUNT}"
- output=`eval ${cmd}`
- ret=$?
- if [ ${ret} -ne 0 ]; then
- log "error" "${cmd} (${ret}): ${output}"
- return 1
- fi;
-
- cmd="mount -t ext4 ${TARGET_ROOTFS_DEVICE} ${TARGET_ROOT_MOUNT}"
- output=`eval ${cmd}`
- ret=$?
- if [ ${ret} -ne 0 ]; then
- log "error" "${cmd} (${ret}): ${output}"
- return 1
- fi;
-
- cd ${TARGET_ROOT_MOUNT}
- exec switch_root ${TARGET_ROOT_MOUNT} /sbin/init $CMDLINE
-}
-
-do_console() {
- echo "Starting console ..."
-
- # get name of active terminal
- CONSOLE=`cat /sys/devices/virtual/tty/console/active | cut -d " " -f2`
-
- # run shell on active terminal
- setsid sh -c "exec sh </dev/$CONSOLE >/dev/$CONSOLE 2>&1"
-}
-
-# Main
-
-early_setup
-if [ "$?" -ne "0" ]; then
- log "error" "early_setup failed"
- do_console
-fi;
-
-if [ $# -ne 0 ]; then
- CMDLINE="$@"
-else
- CMDLINE=`cat /proc/cmdline`
-fi;
-
-read_args
-case $label in
- boot)
- do_boot
- if [ "$?" -ne "0" ]; then
- log "error" "boot failed, rebooting in 10 sec"
- sleep 10
- reboot -f
- fi;
- ;;
-
- console)
- do_console
- ;;
- *)
- echo "Unrecognized option ${label}"
- ;;
-
-esac
diff --git a/meta-mel/openembedded-layer/recipes-support/lvm2/lvm2/lvm2-mel.service b/meta-mel/openembedded-layer/recipes-support/lvm2/lvm2/lvm2-mel.service
deleted file mode 100644
index 3977aa09..00000000
--- a/meta-mel/openembedded-layer/recipes-support/lvm2/lvm2/lvm2-mel.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=Linux Volume Manager
-DefaultDependencies=no
-Before=fsck-root.service local-fs.target
-After=udev.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/sbin/vgmknodes --refresh
-ExecStop=/usr/sbin/pvchange -an
-ExecStop=/usr/sbin/vgchange -an
-
-[Install]
-WantedBy=sysinit.target
diff --git a/meta-mel/openembedded-layer/recipes-support/lvm2/lvm2_%.bbappend b/meta-mel/openembedded-layer/recipes-support/lvm2/lvm2_%.bbappend
deleted file mode 100644
index 1505103d..00000000
--- a/meta-mel/openembedded-layer/recipes-support/lvm2/lvm2_%.bbappend
+++ /dev/null
@@ -1,19 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-SRC_URI:append = " file://lvm2-mel.service"
-
-PACKAGES += "${PN}-mel"
-SYSTEMD_PACKAGES += "${PN}-mel"
-SYSTEMD_SERVICE:${PN}-mel = "lvm2-mel.service"
-SYSTEMD_AUTO_ENABLE:${PN}-mel = "enable"
-RDEPENDS:${PN} += "${PN}-mel"
-
-do_install:append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -m 0644 ${WORKDIR}/${SYSTEMD_SERVICE:${PN}-mel} ${D}${systemd_system_unitdir}/
- fi
-}
diff --git a/meta-mel/recipes-connectivity/connman/connman_%.bbappend b/meta-mel/recipes-connectivity/connman/connman_%.bbappend
deleted file mode 100644
index aabe2b72..00000000
--- a/meta-mel/recipes-connectivity/connman/connman_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# do not use connman as a DNS proxy because both dnsmasq and connman try to
-# bind to same port 53.
-do_install:append:mel () {
- sed -i '/^ExecStart=/ s@-n@--nodnsproxy -n@g' ${D}${systemd_unitdir}/system/connman.service
-}
diff --git a/meta-mel/recipes-core/base-files/base-files_3.0.14.bbappend b/meta-mel/recipes-core/base-files/base-files_3.0.14.bbappend
deleted file mode 100644
index 67e358bd..00000000
--- a/meta-mel/recipes-core/base-files/base-files_3.0.14.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:prepend := "${THISDIR}:"
-
-dirs755:append:mel = "\
- ${sysconfdir}/alternatives \
- ${localstatedir}/lib/alternatives \
-"
diff --git a/meta-mel/recipes-core/base-files/mel/issue b/meta-mel/recipes-core/base-files/mel/issue
deleted file mode 100644
index 568cdd1e..00000000
--- a/meta-mel/recipes-core/base-files/mel/issue
+++ /dev/null
@@ -1,2 +0,0 @@
-\n \l
-
diff --git a/meta-mel/recipes-core/base-files/mel/issue.net b/meta-mel/recipes-core/base-files/mel/issue.net
deleted file mode 100644
index c0f4fd41..00000000
--- a/meta-mel/recipes-core/base-files/mel/issue.net
+++ /dev/null
@@ -1,2 +0,0 @@
-%h
-
diff --git a/meta-mel/recipes-core/busybox/busybox/beagleboard/hwclock-default b/meta-mel/recipes-core/busybox/busybox/beagleboard/hwclock-default
deleted file mode 100644
index 94ff4e85..00000000
--- a/meta-mel/recipes-core/busybox/busybox/beagleboard/hwclock-default
+++ /dev/null
@@ -1,2 +0,0 @@
-# Can we use hwclock on this system?
-HWCLOCKACCESS=no
diff --git a/meta-mel/recipes-core/busybox/busybox/fancy-head.cfg b/meta-mel/recipes-core/busybox/busybox/fancy-head.cfg
deleted file mode 100644
index 16017ea4..00000000
--- a/meta-mel/recipes-core/busybox/busybox/fancy-head.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_FEATURE_FANCY_HEAD=y
diff --git a/meta-mel/recipes-core/busybox/busybox/pidof.cfg b/meta-mel/recipes-core/busybox/busybox/pidof.cfg
deleted file mode 100644
index a33483c8..00000000
--- a/meta-mel/recipes-core/busybox/busybox/pidof.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
diff --git a/meta-mel/recipes-core/busybox/busybox/setsid.cfg b/meta-mel/recipes-core/busybox/busybox/setsid.cfg
deleted file mode 100644
index 5f1e1c98..00000000
--- a/meta-mel/recipes-core/busybox/busybox/setsid.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SETSID=y
diff --git a/meta-mel/recipes-core/busybox/busybox/top.cfg b/meta-mel/recipes-core/busybox/busybox/top.cfg
deleted file mode 100644
index 625cb612..00000000
--- a/meta-mel/recipes-core/busybox/busybox/top.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-CONFIG_FEATURE_TOP_INTERACTIVE=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
diff --git a/meta-mel/recipes-core/busybox/busybox_%.bbappend b/meta-mel/recipes-core/busybox/busybox_%.bbappend
deleted file mode 100644
index a6c14879..00000000
--- a/meta-mel/recipes-core/busybox/busybox_%.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/busybox:"
-
-# fancy-head.cfg is enabled so we have head -c, which we need for our tracing
-# scripts with lttng
-SRC_URI:append:mel = "\
- file://setsid.cfg \
- file://fancy-head.cfg \
- file://pidof.cfg \
- file://top.cfg \
-"
diff --git a/meta-mel/recipes-core/images/console-image.bb b/meta-mel/recipes-core/images/console-image.bb
deleted file mode 100644
index 09f07ab7..00000000
--- a/meta-mel/recipes-core/images/console-image.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SUMMARY = "A console-only image that fully supports the target device \
-hardware."
-
-# We want a package manager in our basic console image
-IMAGE_FEATURES += "package-management"
-
-# We want libgcc to always be available, even if nothing needs it, as its size
-# is minimal, and it's often needed by third party (or QA) binaries
-IMAGE_INSTALL:append:mel = " libgcc"
-
-LICENSE = "MIT"
-
-inherit core-image
-
-IMAGE_FEATURES .= "${@bb.utils.contains('COMBINED_FEATURES', 'alsa', ' tools-audio', '', d)}"
-IMAGE_INSTALL += " quota connman"
diff --git a/meta-mel/recipes-core/images/mel-initramfs-image.bb b/meta-mel/recipes-core/images/mel-initramfs-image.bb
deleted file mode 100644
index d932f182..00000000
--- a/meta-mel/recipes-core/images/mel-initramfs-image.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-DESCRIPTION = "MEL Image initramfs"
-
-PACKAGE_INSTALL = "initramfs-framework-base ${VIRTUAL-RUNTIME_base-utils} initramfs-module-udev udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}"
-
-# Do not pollute the initrd image with rootfs features
-IMAGE_FEATURES = ""
-
-export IMAGE_BASENAME = "${MLPREFIX}mel-initramfs-image"
-IMAGE_NAME_SUFFIX ?= ""
-IMAGE_LINGUAS = ""
-
-LICENSE = "MIT"
-
-IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
-inherit core-image
-
-IMAGE_ROOTFS_SIZE = "8192"
-IMAGE_ROOTFS_EXTRA_SPACE = "0"
-
-# We don't care about root password for login on initramfs images
-IMAGE_QA_COMMANDS:remove = "image_check_zapped_root_password"
-
-BAD_RECOMMENDATIONS += "busybox-syslog"
-
-# We don't need selinux labels in initramfs
-IMAGE_PREPROCESS_COMMAND:remove = "selinux_set_labels ;"
-
-COMPATIBLE_HOST:mel = "(arm|aarch64|i.86|x86_64).*-linux"
-
-# Take care of warnings due to dependency on noexec ${INITRAMFS_IMAGE}:do_image_complete's
-# do_packagedata() in our initramfs image for now. The fix needs to come from oe-core image
-# bbclass when available, after which this can be removed
-deltask do_packagedata
diff --git a/meta-mel/recipes-core/initrdscripts/files/init-boot.sh b/meta-mel/recipes-core/initrdscripts/files/init-boot.sh
deleted file mode 100644
index afe04581..00000000
--- a/meta-mel/recipes-core/initrdscripts/files/init-boot.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-
-mkdir -p /proc
-mkdir -p /sys
-mount -t proc proc /proc
-mount -t sysfs sysfs /sys
-
-# mount devtmpfs
-mount -n -o mode=0755 -t devtmpfs none "/dev"
-
-# get name of active terminal
-CONSOLE=`cat /sys/devices/virtual/tty/console/active | cut -d " " -f2`
-
-# run shell on active terminal
-setsid sh -c "exec sh </dev/$CONSOLE >/dev/$CONSOLE 2>&1"
diff --git a/meta-mel/recipes-core/initrdscripts/initramfs-boot_1.0.bbappend b/meta-mel/recipes-core/initrdscripts/initramfs-boot_1.0.bbappend
deleted file mode 100644
index bbaf9585..00000000
--- a/meta-mel/recipes-core/initrdscripts/initramfs-boot_1.0.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:prepend:mel := "${THISDIR}/files:"
diff --git a/meta-mel/recipes-core/initrdscripts/initramfs-framework/lvm b/meta-mel/recipes-core/initrdscripts/initramfs-framework/lvm
deleted file mode 100644
index e7cace85..00000000
--- a/meta-mel/recipes-core/initrdscripts/initramfs-framework/lvm
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-lvm_enabled() {
- if ! lvscan |grep -i -w "inactive" &>/dev/null;then
- return 1
- fi
- return 0
-}
-
-lvm_run() {
- lvm pvscan --cache --activate ay
- lvm vgscan --mknodes
- udevadm trigger --action=add
-}
diff --git a/meta-mel/recipes-core/initrdscripts/initramfs-framework_%.bbappend b/meta-mel/recipes-core/initrdscripts/initramfs-framework_%.bbappend
deleted file mode 100644
index fcc6cfc5..00000000
--- a/meta-mel/recipes-core/initrdscripts/initramfs-framework_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-RDEPENDS:initramfs-module-lvm += "lvm2"
-RRECOMMENDS:${PN}-base += "initramfs-module-lvm"
diff --git a/meta-mel/recipes-core/kbd/kbd_2.5.0.bbappend b/meta-mel/recipes-core/kbd/kbd_2.5.0.bbappend
deleted file mode 100644
index 41760e45..00000000
--- a/meta-mel/recipes-core/kbd/kbd_2.5.0.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SRC_URI:prepend:mel = "git://github.com/MentorEmbedded/kbd;branch=2.5;protocol=https "
-SRC_URI:remove:mel := "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz"
-SRCREV:mel = "57b52a3f3cef3b6ba144c85fc62b3d3c8f83e4cf"
-S:mel = "${WORKDIR}/git"
-
-DEPENDS:append:mel = " bison-native"
-
-# Don't exclude autopoint
-EXTRA_AUTORECONF:mel = ""
diff --git a/meta-mel/recipes-core/meta/meta-environment.bbappend b/meta-mel/recipes-core/meta/meta-environment.bbappend
deleted file mode 100644
index 47f799b3..00000000
--- a/meta-mel/recipes-core/meta/meta-environment.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SDK_MULTILIB_VARIANTS ?= "${MULTILIB_VARIANTS}"
-python set_multilib_variants () {
- variants = d.getVar('SDK_MULTILIB_VARIANTS', True)
- if variants:
- d.setVar('MULTILIB_VARIANTS', variants)
-}
-do_generate_content[prefuncs] += "set_multilib_variants"
diff --git a/meta-mel/recipes-core/meta/sdk-env-kernelvars.bb b/meta-mel/recipes-core/meta/sdk-env-kernelvars.bb
deleted file mode 100644
index e84ad9c3..00000000
--- a/meta-mel/recipes-core/meta/sdk-env-kernelvars.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SUMMARY = "Add the KERNEL_ variables to the SDK environment."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-# Needed to get the vars defined
-inherit kernel-arch
-
-do_install () {
- install -d "${D}/environment-setup.d"
- cat <<END >"${D}/environment-setup.d/kernel.sh"
-KERNEL_CC="${KERNEL_CC}"
-KERNEL_LD="${KERNEL_LD}"
-KERNEL_AR="${KERNEL_AR}"
-END
-}
-
-FILES:${PN} += "/environment-setup.d/*"
diff --git a/meta-mel/recipes-core/os-release/os-release.bbappend b/meta-mel/recipes-core/os-release/os-release.bbappend
deleted file mode 100644
index 1d46103d..00000000
--- a/meta-mel/recipes-core/os-release/os-release.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-OS_RELEASE_FIELDS:mel = "PRETTY_NAME NAME VERSION_ID VERSION VERSION_CODENAME ID HOME_URL SUPPORT_URL BUG_REPORT_URL"
-
-ID:mel = "flex-os"
-NAME:mel = "Flex OS"
-VERSION:mel = "${DISTRO_VERSION}${@' (%s)' % DISTRO_CODENAME if 'DISTRO_CODENAME' in d else ''}"
-VERSION_ID:mel = "${DISTRO_VERSION}"
-VERSION_CODENAME:mel = "${@'(%s)' % DISTRO_CODENAME if 'DISTRO_CODENAME' in d else ''}"
-PRETTY_NAME:mel = "${DISTRO_NAME} ${VERSION}"
diff --git a/meta-mel/recipes-core/packagegroups/packagegroup-base.bbappend b/meta-mel/recipes-core/packagegroups/packagegroup-base.bbappend
deleted file mode 100644
index 6051fe4f..00000000
--- a/meta-mel/recipes-core/packagegroups/packagegroup-base.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-RDEPENDS:packagegroup-base-bluetooth:append:mel = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio pulseaudio-server', '', d)}"
-
-RDEPENDS:packagegroup-base-nfs:append:mel = " nfs-utils-client"
diff --git a/meta-mel/recipes-core/packagegroups/packagegroup-core-boot.bbappend b/meta-mel/recipes-core/packagegroups/packagegroup-core-boot.bbappend
deleted file mode 100644
index c6fc6cc4..00000000
--- a/meta-mel/recipes-core/packagegroups/packagegroup-core-boot.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-#Don't use sysvinit based network configuration. We have connman for that purpose
-SYSVINIT_SCRIPTS:mel := "${@oe.utils.str_filter_out('init-ifupdown', SYSVINIT_SCRIPTS, d)}"
diff --git a/meta-mel/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend b/meta-mel/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend
deleted file mode 100644
index 7aafcd40..00000000
--- a/meta-mel/recipes-core/packagegroups/packagegroup-core-tools-profile.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# MEL Flex does not support systemtap. Systemtap brings boost which takes lots of resources. So we do not need it.
-SYSTEMTAP:mel = ""
diff --git a/meta-mel/recipes-core/psplash/mel/0001-plash-colors.h-color-change.patch b/meta-mel/recipes-core/psplash/mel/0001-plash-colors.h-color-change.patch
deleted file mode 100644
index ec3566f9..00000000
--- a/meta-mel/recipes-core/psplash/mel/0001-plash-colors.h-color-change.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e9a4653ac28d9d27ca2da1caab0997c1b957c8fc Mon Sep 17 00:00:00 2001
-From: Srikanth Krishnakar <Srikanth_Krishnakar@mentor.com>
-Date: Thu, 13 Oct 2016 19:48:55 +0530
-Subject: [PATCH] plash-colors.h: color change
-
-Signed-off-by: Srikanth Krishnakar <Srikanth_Krishnakar@mentor.com>
----
- psplash-colors.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/psplash-colors.h b/psplash-colors.h
-index d701089..24a3a05 100644
---- a/psplash-colors.h
-+++ b/psplash-colors.h
-@@ -20,7 +20,7 @@
- #define _HAVE_PSPLASH_COLORS_H
-
- /* This is the overall background color */
--#define PSPLASH_BACKGROUND_COLOR 0xec,0xec,0xe1
-+#define PSPLASH_BACKGROUND_COLOR 0x00,0x00,0x00
-
- /* This is the color of any text output */
- #define PSPLASH_TEXT_COLOR 0x6d,0x6d,0x70
---
-2.7.4
-
diff --git a/meta-mel/recipes-core/psplash/mel/0001-psplash-config-enable-fullscreen-image.patch b/meta-mel/recipes-core/psplash/mel/0001-psplash-config-enable-fullscreen-image.patch
deleted file mode 100644
index 0ead5544..00000000
--- a/meta-mel/recipes-core/psplash/mel/0001-psplash-config-enable-fullscreen-image.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 524a1568d8acd54c72bda67916831df2d8312b9a Mon Sep 17 00:00:00 2001
-From: Srikanth Krishnakar <Srikanth_Krishnakar@mentor.com>
-Date: Thu, 13 Oct 2016 17:06:31 +0530
-Subject: [PATCH] psplash-config: enable fullscreen image
-
-Signed-off-by: Srikanth Krishnakar <Srikanth_Krishnakar@mentor.com>
-
----
- psplash-config.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/psplash-config.h b/psplash-config.h
-index eb90ef3..d928248 100644
---- a/psplash-config.h
-+++ b/psplash-config.h
-@@ -18,7 +18,7 @@
-
- /* Bool indicating if the image is fullscreen, as opposed to split screen */
- #ifndef PSPLASH_IMG_FULLSCREEN
--#define PSPLASH_IMG_FULLSCREEN 0
-+#define PSPLASH_IMG_FULLSCREEN 1
- #endif
-
- /* Bool indicated if the progress bar should be disabled */
diff --git a/meta-mel/recipes-core/psplash/mel/mel.png b/meta-mel/recipes-core/psplash/mel/mel.png
deleted file mode 100644
index b7ca22d7..00000000
--- a/meta-mel/recipes-core/psplash/mel/mel.png
+++ /dev/null
Binary files differ
diff --git a/meta-mel/recipes-core/psplash/mel/psplash-final.service b/meta-mel/recipes-core/psplash/mel/psplash-final.service
deleted file mode 100644
index 90fe24ff..00000000
--- a/meta-mel/recipes-core/psplash/mel/psplash-final.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Show Psplash Final Screen
-After=getty@tty1.service display-manager.service psplash-start.service
-Before=systemd-reboot.service systemd-halt.service systemd-poweroff.service
-DefaultDependencies=no
-
-[Service]
-Environment=TMPDIR=/run
-ExecStart=/usr/bin/psplash
-
-[Install]
-WantedBy=reboot.target halt.target poweroff.target
diff --git a/meta-mel/recipes-core/psplash/mel/psplash-quit.service b/meta-mel/recipes-core/psplash/mel/psplash-quit.service
deleted file mode 100755
index 6881a948..00000000
--- a/meta-mel/recipes-core/psplash/mel/psplash-quit.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Terminate Psplash Boot Screen
-After=psplash-start.service
-ConditionPathExists=/run/psplash_fifo
-
-[Service]
-Environment=TMPDIR=/run
-Type=oneshot
-ExecStart=/usr/bin/psplash-write QUIT
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-mel/recipes-core/psplash/mel/psplash-start.service b/meta-mel/recipes-core/psplash/mel/psplash-start.service
deleted file mode 100755
index 05c2dd80..00000000
--- a/meta-mel/recipes-core/psplash/mel/psplash-start.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Starts Psplash Boot screen
-Wants=systemd-vconsole-setup.service
-After=systemd-vconsole-setup.service
-DefaultDependencies=no
-
-[Service]
-Environment=TMPDIR=/run
-ExecStart=/usr/bin/psplash
-
-[Install]
-WantedBy=sysinit.target
diff --git a/meta-mel/recipes-core/psplash/psplash_git.bbappend b/meta-mel/recipes-core/psplash/psplash_git.bbappend
deleted file mode 100644
index f8d44254..00000000
--- a/meta-mel/recipes-core/psplash/psplash_git.bbappend
+++ /dev/null
@@ -1,39 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:prepend := "${THISDIR}:"
-
-SRC_URI:append:mel = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '\
- file://psplash-quit.service \
- file://psplash-start.service \
- file://psplash-final.service \
- ', '', d)}"
-
-# Change background color and splash image with no progress bar
-SRC_URI:append:mel = " file://0001-psplash-config-enable-fullscreen-image.patch \
- file://0001-plash-colors.h-color-change.patch \
- "
-EXTRA_OECONF:append:mel = " --disable-progress-bar"
-
-# # Update to latest version of psplash
-# SRCREV:mel = "5b3c1cc28f5abdc2c33830150b48b278cc4f7bca"
-
-SPLASH_IMAGES:mel = "file://mel.png;outsuffix=default"
-
-SYSTEMD_INHERIT = ""
-SYSTEMD_INHERIT:mel = "systemd"
-inherit ${SYSTEMD_INHERIT}
-
-SYSTEMD_SERVICE:${PN}:mel = "psplash-start.service psplash-quit.service psplash-final.service"
-SYSTEMD_AUTO_ENABLE ?= "enable"
-
-do_install:append:mel() {
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/psplash-quit.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/psplash-start.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/psplash-final.service ${D}${systemd_unitdir}/system
- fi
- rm -f ${D}${systemd_unitdir}/system/psplash-systemd.service
-}
diff --git a/meta-mel/recipes-core/systemd/systemd/monotonic-timestamp.patch b/meta-mel/recipes-core/systemd/systemd/monotonic-timestamp.patch
deleted file mode 100644
index a79a4d5a..00000000
--- a/meta-mel/recipes-core/systemd/systemd/monotonic-timestamp.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From 349b0586d07a9d48b781c18c7932c0b3cd102e65 Mon Sep 17 00:00:00 2001
-From: Muhammad Shakeel <mshakeel@pkl-mshakeel-ubuntu.(none)>
-Date: Tue, 25 Jun 2013 18:58:02 +0500
-Subject: [PATCH] systemctl-clock: Use monotonic instead of realtime clock
-
-Currently if system clock is updated then 'ago' part of any service
-running time doesn't show correct information. This is reported here:
-https://bugs.freedesktop.org/show_bug.cgi?id=65616
----
- src/login/loginctl.c | 10 ++++++++--
- src/machine/machinectl.c | 2 +-
- src/shared/time-util.c | 2 +-
- src/systemctl/systemctl.c | 27 ++++++++++++++++++++++++---
- 4 files changed, 34 insertions(+), 7 deletions(-)
-
-diff --git a/src/login/loginctl.c b/src/login/loginctl.c
-index 736db6a..ea64546 100644
---- a/src/login/loginctl.c
-+++ b/src/login/loginctl.c
-@@ -339,6 +339,7 @@ typedef struct SessionStatusInfo {
- uid_t uid;
- const char *name;
- usec_t timestamp;
-+ usec_t timestamp_monotonic;
- int vtnr;
- const char *seat;
- const char *tty;
-@@ -358,6 +359,7 @@ typedef struct UserStatusInfo {
- uid_t uid;
- const char *name;
- usec_t timestamp;
-+ usec_t timestamp_monotonic;
- const char *state;
- char **sessions;
- const char *display;
-@@ -382,7 +384,7 @@ static void print_session_status_info(DBusConnection *bus, SessionStatusInfo *i)
- else
- printf("%u\n", (unsigned) i->uid);
-
-- s1 = format_timestamp_relative(since1, sizeof(since1), i->timestamp);
-+ s1 = format_timestamp_relative(since1, sizeof(since1), i->timestamp_monotonic);
- s2 = format_timestamp(since2, sizeof(since2), i->timestamp);
-
- if (s1)
-@@ -462,7 +464,7 @@ static void print_user_status_info(DBusConnection *bus, UserStatusInfo *i) {
- else
- printf("%u\n", (unsigned) i->uid);
-
-- s1 = format_timestamp_relative(since1, sizeof(since1), i->timestamp);
-+ s1 = format_timestamp_relative(since1, sizeof(since1), i->timestamp_monotonic);
- s2 = format_timestamp(since2, sizeof(since2), i->timestamp);
-
- if (s1)
-@@ -598,6 +600,8 @@ static int status_property_session(const char *name, DBusMessageIter *iter, Sess
-
- if (streq(name, "Timestamp"))
- i->timestamp = (usec_t) u;
-+ else if (streq(name, "TimestampMonotonic"))
-+ i->timestamp_monotonic = (usec_t) u;
-
- break;
- }
-@@ -670,6 +674,8 @@ static int status_property_user(const char *name, DBusMessageIter *iter, UserSta
-
- if (streq(name, "Timestamp"))
- i->timestamp = (usec_t) u;
-+ else if (streq(name, "TimestampMonotonic"))
-+ i->timestamp_monotonic = (usec_t) u;
-
- break;
- }
-diff --git a/src/shared/time-util.c b/src/shared/time-util.c
-index 9ee711a..08c8a2f 100644
---- a/src/shared/time-util.c
-+++ b/src/shared/time-util.c
-@@ -171,7 +171,7 @@ char *format_timestamp(char *buf, size_t l, usec_t t) {
- char *format_timestamp_relative(char *buf, size_t l, usec_t t) {
- usec_t n, d;
-
-- n = now(CLOCK_REALTIME);
-+ n = now(CLOCK_MONOTONIC);
-
- if (t <= 0 || t > n || t + USEC_PER_DAY*7 <= t)
- return NULL;
-diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 9f47b2c..a05b5f8 100644
---- a/src/systemctl/systemctl.c
-+++ b/src/systemctl/systemctl.c
-@@ -2515,6 +2515,9 @@ typedef struct UnitStatusInfo {
- usec_t active_enter_timestamp;
- usec_t active_exit_timestamp;
- usec_t inactive_enter_timestamp;
-+ usec_t active_enter_timestamp_monotonic;
-+ usec_t active_exit_timestamp_monotonic;
-+ usec_t inactive_enter_timestamp_monotonic;
-
- bool need_daemon_reload;
-
-@@ -2531,6 +2534,7 @@ typedef struct UnitStatusInfo {
- int exit_code, exit_status;
-
- usec_t condition_timestamp;
-+ usec_t condition_timestamp_monotonic;
- bool condition_result;
- bool failed_condition_trigger;
- bool failed_condition_negate;
-@@ -2560,7 +2564,7 @@ typedef struct UnitStatusInfo {
- static void print_status_info(UnitStatusInfo *i) {
- ExecStatusInfo *p;
- const char *on, *off, *ss;
-- usec_t timestamp;
-+ usec_t timestamp, timestamp_monotonic;
- char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
- char since2[FORMAT_TIMESTAMP_MAX], *s2;
- const char *path;
-@@ -2664,7 +2668,14 @@ static void print_status_info(UnitStatusInfo *i) {
- streq_ptr(i->active_state, "activating") ? i->inactive_exit_timestamp :
- i->active_exit_timestamp;
-
-- s1 = format_timestamp_relative(since1, sizeof(since1), timestamp);
-+ timestamp_monotonic = (streq_ptr(i->active_state, "active") ||
-+ streq_ptr(i->active_state, "reloading")) ? i->active_enter_timestamp_monotonic :
-+ (streq_ptr(i->active_state, "inactive") ||
-+ streq_ptr(i->active_state, "failed")) ? i->inactive_enter_timestamp_monotonic :
-+ streq_ptr(i->active_state, "activating") ? i->inactive_exit_timestamp_monotonic :
-+ i->active_exit_timestamp_monotonic;
-+
-+ s1 = format_timestamp_relative(since1, sizeof(since1), timestamp_monotonic);
- s2 = format_timestamp(since2, sizeof(since2), timestamp);
-
- if (s1)
-@@ -2675,7 +2686,7 @@ static void print_status_info(UnitStatusInfo *i) {
- printf("\n");
-
- if (!i->condition_result && i->condition_timestamp > 0) {
-- s1 = format_timestamp_relative(since1, sizeof(since1), i->condition_timestamp);
-+ s1 = format_timestamp_relative(since1, sizeof(since1), i->condition_timestamp_monotonic);
- s2 = format_timestamp(since2, sizeof(since2), i->condition_timestamp);
-
- printf(" start condition failed at %s%s%s\n",
-@@ -3030,6 +3041,16 @@ static int status_property(const char *name, DBusMessageIter *iter, UnitStatusIn
- i->active_exit_timestamp = (usec_t) u;
- else if (streq(name, "ConditionTimestamp"))
- i->condition_timestamp = (usec_t) u;
-+ else if (streq(name, "ActiveEnterTimestampMonotonic"))
-+ i->active_enter_timestamp_monotonic = (usec_t) u;
-+ else if (streq(name, "InactiveEnterTimestampMonotonic"))
-+ i->inactive_enter_timestamp_monotonic = (usec_t) u;
-+ else if (streq(name, "InactiveExitTimestampMonotonic"))
-+ i->inactive_exit_timestamp_monotonic = (usec_t) u;
-+ else if (streq(name, "ActiveExitTimestampMonotonic"))
-+ i->active_exit_timestamp_monotonic = (usec_t) u;
-+ else if (streq(name, "ConditionTimestampMonotonic"))
-+ i->condition_timestamp_monotonic = (usec_t) u;
-
- break;
- }
---
-1.8.3.4
-
diff --git a/meta-mel/recipes-core/systemd/systemd_%.bbappend b/meta-mel/recipes-core/systemd/systemd_%.bbappend
deleted file mode 100644
index 33ab5b6c..00000000
--- a/meta-mel/recipes-core/systemd/systemd_%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SYSTEMD_LOGLEVEL ?= "info"
-SYSTEMD_LOGLEVEL:mel ?= "emerg"
-
-do_compile:append:mel () {
- printf '[Manager]\n' >loglevel.conf
- printf 'LogLevel=${SYSTEMD_LOGLEVEL}\n' >>loglevel.conf
-}
-
-do_install:append:mel () {
- install -d "${D}${nonarch_libdir}/systemd/system.conf.d"
- install -m 0644 loglevel.conf "${D}${nonarch_libdir}/systemd/system.conf.d/"
-}
diff --git a/meta-mel/recipes-core/util-linux/util-linux_%.bbappend b/meta-mel/recipes-core/util-linux/util-linux_%.bbappend
deleted file mode 100644
index fa0fcffc..00000000
--- a/meta-mel/recipes-core/util-linux/util-linux_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-EXTRA_OECONF:append:class-native:mel = " --disable-schedutils"
diff --git a/meta-mel/recipes-devtools/e2fsprogs/e2fsprogs_%.bbappend b/meta-mel/recipes-devtools/e2fsprogs/e2fsprogs_%.bbappend
deleted file mode 100644
index f8b23c13..00000000
--- a/meta-mel/recipes-devtools/e2fsprogs/e2fsprogs_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# The e2fsprogs recipe has the main package depending upon blkid and badblocks
-# for compatibility, but we know we aren't bitten by that compatibility issue,
-# so we drop that dependency.
-RDEPENDS:e2fsprogs:mel = ""
diff --git a/meta-mel/recipes-devtools/llvm/llvm_%.bbappend b/meta-mel/recipes-devtools/llvm/llvm_%.bbappend
deleted file mode 100644
index b9af2c56..00000000
--- a/meta-mel/recipes-devtools/llvm/llvm_%.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# If build system has 8 or less CPU cores, build only 8 jobs in parallel
-PARALLEL_MAKE:mel = "-j ${@'8' if oe.utils.cpu_count() <= 8 else oe.utils.cpu_count() * 2}"
diff --git a/meta-mel/recipes-devtools/python/python3_%.bbappend b/meta-mel/recipes-devtools/python/python3_%.bbappend
deleted file mode 100644
index 3330ed55..00000000
--- a/meta-mel/recipes-devtools/python/python3_%.bbappend
+++ /dev/null
@@ -1,54 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# Needed by patchinfo
-PATCHINFO_PYTHONPATH = "${COMPONENTS_DIR}/${BUILD_ARCH}/python3-unidiff-native/${libdir}/python${PYTHON_MAJMIN}/site-packages"
-DEPENDS_UNIDIFF = ""
-DEPENDS_UNIDIFF:mel:class-target = "python3-unidiff-native:do_populate_sysroot"
-do_archive_release_downloads[depends] += "${DEPENDS_UNIDIFF}"
-
-# Write patch names and modified files to python3-patches.txt
-python do_archive_release_downloads:append:mel:class-target () {
- import csv
- import json
- from collections import defaultdict
- from pathlib import Path
-
- sources_dir = Path(sources_dir)
- layerdir = d.getVar('LAYERDIR_mel')
- script = Path(layerdir).parent / 'scripts' / 'patchinfo'
- if not script.exists():
- bb.fatal('Expected {} script does not exist'.format(str(script)))
-
- python = d.getVar('PYTHON')
- env = os.environ.copy()
- env['PYTHONPATH'] = d.getVar('PATCHINFO_PYTHONPATH')
-
- patchinfos = []
- patches = [bb.fetch.decodeurl(u)[2] for u in src_patches(d)]
- for patch in patches:
- try:
- info, _ = bb.process.run([python, str(script), patch], cwd=sources_dir, env=env)
- except bb.process.ExecutionError as exc:
- bb.warn("Failed to get patchinfo for %s: %s" % (patch, exc))
- continue
- else:
- try:
- patchinfo = json.loads(info)
- except json.decoder.JSONDecodeError as exc:
- bb.warn("Failed to decode json from patchinfo for %s" % patch)
- continue
- else:
- if 'Filename' in patchinfo and 'Files' in patchinfo:
- patchinfos.append(patchinfo)
- else:
- bb.warn("Unexpected json contents for patchinfo for %s" % patch)
-
- with open(sources_dir / 'python3-patches.txt', 'w') as f:
- for patchinfo in patchinfos:
- patch, files = patchinfo['Filename'], patchinfo['Files']
- f.write(patch + ':\n')
- for fn in files:
- f.write(' ' + fn + '\n')
-}
diff --git a/meta-mel/recipes-graphics/images/weston-image.bb b/meta-mel/recipes-graphics/images/weston-image.bb
deleted file mode 100644
index 84c8653f..00000000
--- a/meta-mel/recipes-graphics/images/weston-image.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SUMMARY = "Wayland/Weston image based on core-image-weston image recipe"
-
-IMAGE_FEATURES += "splash package-management hwcodecs"
-
-LICENSE = "MIT"
-
-inherit core-image features_check
-
-REQUIRED_DISTRO_FEATURES = "wayland"
-
-CORE_IMAGE_BASE_INSTALL += "weston weston-init weston-examples"
-
-# We want libgcc to always be available, even if nothing needs it, as its size
-# is minimal, and it's often needed by third party (or QA) binaries
-IMAGE_INSTALL:append:mel = " libgcc"
-
-IMAGE_FEATURES .= "${@bb.utils.contains('COMBINED_FEATURES', 'alsa', ' tools-audio', '', d)}"
-IMAGE_INSTALL += " quota connman"
diff --git a/meta-mel/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-mel/recipes-graphics/libsdl2/libsdl2_%.bbappend
deleted file mode 100644
index 2c3a3b38..00000000
--- a/meta-mel/recipes-graphics/libsdl2/libsdl2_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-DISTRO_FEATURES:remove:mel = "opengl"
diff --git a/meta-mel/recipes-kernel/perf/perf.bbappend b/meta-mel/recipes-kernel/perf/perf.bbappend
deleted file mode 100644
index 3f1b6404..00000000
--- a/meta-mel/recipes-kernel/perf/perf.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# MEL supports BSP kernel versions which upstream doesn't care about.
-# Remove -I/usr/local/include from the default INCLUDES
-EXTRA_OEMAKE:append:mel = " 'INCLUDES=-I. $(CONFIG_INCLUDES)'"
diff --git a/meta-mel/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-mel/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
deleted file mode 100644
index a3eaedc6..00000000
--- a/meta-mel/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-do_compile:append:mel () {
- # Work around a toolchain issue with the default resampler (speex-float-N)
- # by using speex-fixed-N. JIRA: SB-1495
- set_cfg_value src/daemon/daemon.conf resample-method speex-fixed-3
-}
-
-RDEPENDS:pulseaudio-server:append:mel = "\
- pulseaudio-module-switch-on-port-available \
- pulseaudio-module-cli \
- pulseaudio-module-dbus-protocol \
- pulseaudio-module-echo-cancel \
-"
diff --git a/meta-mel/recipes-sato/images/core-image-sato.bbappend b/meta-mel/recipes-sato/images/core-image-sato.bbappend
deleted file mode 100644
index 17bbd171..00000000
--- a/meta-mel/recipes-sato/images/core-image-sato.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-IMAGE_FEATURES:append:mel = "${@bb.utils.contains('COMBINED_FEATURES', 'alsa', ' tools-audio', '', d)}"
-IMAGE_INSTALL:append:mel = " quota"
diff --git a/meta-mel/recipes-support/boost/boost_%.bbappend b/meta-mel/recipes-support/boost/boost_%.bbappend
deleted file mode 100644
index 65aada9e..00000000
--- a/meta-mel/recipes-support/boost/boost_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-PARALLEL_MAKE:mel = "-j 4"
diff --git a/meta-mel/recipes-support/consolekit/consolekit/0001-Ensure-filesystems-are-still-mounted-when-consolekit.patch b/meta-mel/recipes-support/consolekit/consolekit/0001-Ensure-filesystems-are-still-mounted-when-consolekit.patch
deleted file mode 100644
index 580ccad4..00000000
--- a/meta-mel/recipes-support/consolekit/consolekit/0001-Ensure-filesystems-are-still-mounted-when-consolekit.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/data/console-kit-log-system-restart.service.in
-+++ b/data/console-kit-log-system-restart.service.in
-@@ -2,7 +2,7 @@
- Description=Console System Reboot Logging
- DefaultDependencies=no
- After=sysinit.target console-kit-log-system-start.service
--Before=shutdown.target
-+Before=shutdown.target umount.target
-
- [Service]
- Type=oneshot
---- a/data/console-kit-log-system-stop.service.in
-+++ b/cdata/onsole-kit-log-system-stop.service.in
-@@ -2,7 +2,7 @@
- Description=Console System Shutdown Logging
- DefaultDependencies=no
- After=sysinit.target console-kit-log-system-start.service
--Before=shutdown.target
-+Before=shutdown.target umount.target
-
- [Service]
- Type=oneshot
---
-2.7.4
-
diff --git a/meta-mel/recipes-support/consolekit/consolekit_%.bbappend b/meta-mel/recipes-support/consolekit/consolekit_%.bbappend
deleted file mode 100644
index 914c16af..00000000
--- a/meta-mel/recipes-support/consolekit/consolekit_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-SRC_URI:append:mel = " \
- file://0001-Ensure-filesystems-are-still-mounted-when-consolekit.patch \
-"
diff --git a/meta-mel/recipes-support/curl/curl_%.bbappend b/meta-mel/recipes-support/curl/curl_%.bbappend
deleted file mode 100644
index 2f1dd7c6..00000000
--- a/meta-mel/recipes-support/curl/curl_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# We need openssl support for nativesdk-curl to ensure we can clone https
-# repositories with nativesdk-git.
-DEPENDS:append:class-nativesdk:mel = " nativesdk-openssl"
-PACKAGECONFIG:append:class-nativesdk:mel = " ssl"
diff --git a/meta-mel/recipes-support/db/db_%.bbappend b/meta-mel/recipes-support/db/db_%.bbappend
deleted file mode 100644
index f4757dd2..00000000
--- a/meta-mel/recipes-support/db/db_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-SRC_URI:mel = "git://github.com/MentorEmbedded/libdb;branch=5.3;protocol=https"
-SRCREV:mel = "81e5dd637b0bd954904130a2a493d3ac281148dc"
-PV:mel = "5.3.28+git${SRCPV}"
-S:mel = "${WORKDIR}/git"
diff --git a/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-2g.wks b/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-2g.wks
deleted file mode 100644
index 3a6cae28..00000000
--- a/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-2g.wks
+++ /dev/null
@@ -1,10 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# short-description: Create SD card image with a boot partition
-# long-description: Creates a partitioned SD card image. Boot files
-# are located in the first vfat partition.
-
-part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 64M --extra-space 0
-part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096 --size 1710080K --extra-space 0 --overhead-factor 1
diff --git a/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-4g.wks b/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-4g.wks
deleted file mode 100644
index 1f9ff929..00000000
--- a/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-4g.wks
+++ /dev/null
@@ -1,10 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# short-description: Create SD card image with a boot partition
-# long-description: Creates a partitioned SD card image. Boot files
-# are located in the first vfat partition.
-
-part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 64M --extra-space 0
-part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4 --size 3600M --overhead-factor 1 --extra-space 0
diff --git a/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-8g.wks b/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-8g.wks
deleted file mode 100644
index e769a2df..00000000
--- a/meta-mel/scripts/lib/wic/canned-wks/sdimage-bootpart-8g.wks
+++ /dev/null
@@ -1,10 +0,0 @@
-# ---------------------------------------------------------------------------------------------------------------------
-# SPDX-License-Identifier: MIT
-# ---------------------------------------------------------------------------------------------------------------------
-
-# short-description: Create SD card image with a boot partition
-# long-description: Creates a partitioned SD card image. Boot files
-# are located in the first vfat partition.
-
-part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4 --size 64M --extra-space 0
-part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4 --size 7500M --overhead-factor 1 --extra-space 0