diff --git a/classes/cve-filter.bbclass b/classes/cve-filter.bbclass index 75eb1e5..14ac5e8 100644 --- a/classes/cve-filter.bbclass +++ b/classes/cve-filter.bbclass @@ -18,7 +18,7 @@ # The cve-filter class provides several configurable variables: -# CVE_FILTER_PREVIOUS_FILE: Specifies the previous version of +# CVE_FILTER_PREVIOUS_FILE: Specifies the previous version of # the CVE JSON file. If no file is provided, only the current # file will be considered. # Default: empty @@ -29,7 +29,7 @@ # Example: "1.0.0" # Default: "0.0.0" -# CVE_FILTER_MARKDOWN_FILE_NAME: Specifies the name of the +# CVE_FILTER_MARKDOWN_FILE_NAME: Specifies the name of the # output Markdown file containing the list of detected CVEs. # Default: "${IMAGE_NAME}.md" @@ -96,10 +96,12 @@ python do_cve_filter (){ bb.plain("DONE!!") } +do_cve_filter[doc] = "Compare the image CVE report against a previous version and emit a filtered Markdown summary of the new CVEs." addtask cve_filter after do_rootfs before do_image ROOTFS_POSTPROCESS_COMMAND:prepend = "link_cvefilter_markdownfile; " +link_cvefilter_markdownfile[doc] = "Create a stable-named symlink to the CVE filter Markdown report in the deploy directory." link_cvefilter_markdownfile () { ln -sf ${CVE_FILTER_MARKDOWN_FILE_NAME} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.md } diff --git a/classes/deploy-license-manifest.bbclass b/classes/deploy-license-manifest.bbclass index 2c4c914..a901626 100644 --- a/classes/deploy-license-manifest.bbclass +++ b/classes/deploy-license-manifest.bbclass @@ -1,6 +1,7 @@ ROOTFS_POSTPROCESS_COMMAND += "deploy_license_manifest;" IMAGE_POSTPROCESS_COMMAND += "link_license_manifest;" +deploy_license_manifest[doc] = "Copy the image license manifest into the deploy directory and generate a CSV variant." deploy_license_manifest () { if [ -e "${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest" ]; then cp ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest ${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest @@ -8,6 +9,7 @@ deploy_license_manifest () { fi } +link_license_manifest[doc] = "Create stable-named symlinks to the deployed license manifest and its CSV variant." link_license_manifest () { if [ -e "${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest" ]; then ln -sf ${IMAGE_NAME}.license_manifest ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.license_manifest diff --git a/classes/image-license-checker.bbclass b/classes/image-license-checker.bbclass index 8cadcc9..941fc29 100644 --- a/classes/image-license-checker.bbclass +++ b/classes/image-license-checker.bbclass @@ -43,7 +43,6 @@ IMAGE_LICENSE_CHECKER_ROOTFS_DENYLIST ?= "" IMAGE_LICENSE_CHECKER_NON_ROOTFS_DENYLIST ?= "" - def bad_license(d, license, denylist): """ Check if a license string is denylisted. The license string will be @@ -136,7 +135,6 @@ python check_rootfs_licenses() { } ROOTFS_POSTPROCESS_COMMAND:prepend = "check_rootfs_licenses; " - python check_deploy_licenses() { """ Check recipes that deploy files used in an image (e.g. U-Boot) for diff --git a/classes/layerdirs.bbclass b/classes/layerdirs.bbclass index 0350cdd..02e45b0 100644 --- a/classes/layerdirs.bbclass +++ b/classes/layerdirs.bbclass @@ -10,6 +10,7 @@ def save_layerdirs(d): for layername in (l.getVar('BBFILE_COLLECTIONS', True) or '').split(): d.setVar('LAYERDIR_%s' % layername, layerpath) +cfg_save_layerdirs[doc] = "Record each layer's directory in LAYERDIR_ at config-parse time." python cfg_save_layerdirs () { save_layerdirs(d) } diff --git a/classes/ossystems-factory-defaults.bbclass b/classes/ossystems-factory-defaults.bbclass index afde1a6..583e888 100644 --- a/classes/ossystems-factory-defaults.bbclass +++ b/classes/ossystems-factory-defaults.bbclass @@ -32,6 +32,7 @@ inherit ossystems-factory-defaults-base +member[doc] = "Shell helper: succeed when the first argument is present among the remaining arguments." member() { elt=$1 shift @@ -65,7 +66,7 @@ do_install:append() { local dir for file in $no_leading_slash; do dir="${D}/`dirname $file`" - mkdir -p $dir + install -d $dir cd $dir ln -sf ${OSSYSTEMS_FACTORY_DEFAULTS_RUNTIME_DIR}/$file `basename $file` done diff --git a/classes/release-bundle-generation.bbclass b/classes/release-bundle-generation.bbclass index 4a3964d..722f7c6 100644 --- a/classes/release-bundle-generation.bbclass +++ b/classes/release-bundle-generation.bbclass @@ -16,6 +16,8 @@ # # Released under the MIT license (see packages/COPYING) +inherit release-bundle + do_configure[noexec] = "1" do_compile[noexec] = "1" do_install[noexec] = "1" @@ -25,6 +27,7 @@ do_package_qa[noexec] = "1" do_packagedata[noexec] = "1" LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" PACKAGES = "" INHIBIT_DEFAULT_DEPS = "1" @@ -53,6 +56,7 @@ python() { } addtask collect_platform_source before do_release_bundle_finalize +do_collect_platform_source[doc] = "Garbage-collect and copy the platform source tree (.repo, sources, setup-environment) into the release bundle workdir." do_collect_platform_source[cleandirs] = "${RELEASE_BUNDLE_WORKDIR}" do_collect_platform_source[nostamp] = "1" do_collect_platform_source() { @@ -77,6 +81,7 @@ RELEASE_BUNDLE_TAR_OPTS = "--owner=root --group=root" RELEASE_BUNDLE_OLDEST_KERNEL = "3.2.0" RELEASE_BUNDLE_PATH = "\$HOME/src/${RELEASE_BUNDLE_NAME}/${RELEASE_BUNDLE_VERSION}" +tar_release_bundle[doc] = "Create the bzip2-compressed tarball of the assembled release bundle." fakeroot tar_release_bundle() { mkdir -p ${RELEASE_BUNDLE_DEPLOY} cd ${RELEASE_BUNDLE_WORKDIR} @@ -84,15 +89,19 @@ fakeroot tar_release_bundle() { } addtask release_bundle_finalize after do_unpack do_collect_platform_source before do_build +do_release_bundle_finalize[doc] = "Assemble the final self-extracting release bundle from the collected sources and download cache." do_release_bundle_finalize[dirs] = "${RELEASE_BUNDLE_WORKDIR}/download" do_release_bundle_finalize[depends] += "pbzip2-native:do_populate_sysroot " do_release_bundle_finalize() { - cp --archive -L ${RELEASE_BUNDLE_TMP_DOWNLOAD_CACHE}/*/* ${RELEASE_BUNDLE_WORKDIR}/ + # Only present when RELEASE_BUNDLE_RECIPES_WITH_SOURCE collected something. + if [ -n "$(ls -A "${RELEASE_BUNDLE_TMP_DOWNLOAD_CACHE}" 2>/dev/null)" ]; then + cp --archive -L ${RELEASE_BUNDLE_TMP_DOWNLOAD_CACHE}/*/* ${RELEASE_BUNDLE_WORKDIR}/ + fi find ${RELEASE_BUNDLE_WORKDIR} -type d -empty -delete tar_release_bundle - cp "${WORKDIR}/bundle-shar-extract.sh" ${RELEASE_BUNDLE_DEPLOY}/${RELEASE_BUNDLE_OUTPUTNAME}.sh + cp "${UNPACKDIR}/bundle-shar-extract.sh" ${RELEASE_BUNDLE_DEPLOY}/${RELEASE_BUNDLE_OUTPUTNAME}.sh # substitute variables sed -e "s#@RELEASE_BUNDLE_PATH@#${RELEASE_BUNDLE_PATH}#g" \ diff --git a/classes/restore-dumped-headrevs.bbclass b/classes/restore-dumped-headrevs.bbclass index 7b7ec18..fe6e81b 100644 --- a/classes/restore-dumped-headrevs.bbclass +++ b/classes/restore-dumped-headrevs.bbclass @@ -18,6 +18,7 @@ def restore_headrevs(d, dump_db_path): DUMP_HEADREVS_DB ?= '${COREBASE}/saved_persist_data.db' DUMP_HEADREVS_STAMP ?= '${STAMP}.restored_headrevs' +restore_dumped_headrevs[doc] = "Restore dumped BB_URI_HEADREVS persistent data once, at config-parse time, when a dump database is present." python restore_dumped_headrevs() { stamp_path = d.getVar('DUMP_HEADREVS_STAMP', True) dump_db_path = d.getVar('DUMP_HEADREVS_DB', True) diff --git a/contrib/oelint/ossystems-constants.json b/contrib/oelint/ossystems-constants.json new file mode 100644 index 0000000..3230c61 --- /dev/null +++ b/contrib/oelint/ossystems-constants.json @@ -0,0 +1,22 @@ +{ + "comment": "oelint-adv constant DB additions for the meta-ossystems-base layer. Merge with: oelint-adv --constantmods +contrib/oelint/ossystems-constants.json. These are real variables/overrides oelint cannot know about when run standalone (outside a full bitbake build).", + "variables": { + "known": [ + "OPENGL_WINSYS", + "OS_RELEASE_FIELDS", + "OSSYSTEMS_FACTORY_DEFAULTS_DIR", + "OSSYSTEMS_FACTORY_DEFAULTS_FILES", + "OSSYSTEMS_FACTORY_DEFAULTS_HOOKS", + "OSSYSTEMS_FACTORY_DEFAULTS_HOOKS_DIR", + "OSSYSTEMS_FACTORY_DEFAULTS_POSTINST_FILES", + "OSSYSTEMS_FACTORY_DEFAULTS_RUNTIME_DIR", + "RELEASE_BUNDLE_LAYERNAME", + "VERSION" + ] + }, + "replacements": { + "distros": [ + "oel" + ] + } +} diff --git a/contrib/oelint/run-oelint.sh b/contrib/oelint/run-oelint.sh new file mode 100755 index 0000000..31fcd5c --- /dev/null +++ b/contrib/oelint/run-oelint.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# Run oelint-adv over meta-ossystems-base with the project's constant-DB +# additions and the agreed suppressions. Requires oelint-adv on PATH. +set -eu + +here=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) +layer=$(CDPATH= cd -- "$here/../.." && pwd) + +# Suppressed rules (env limitations / project policy): +# - oelint.file.requirenotfound: image recipes 'require' OE-core files that +# only resolve inside a full bitbake build (BBPATH), not in standalone lint. +suppress="oelint.file.requirenotfound" + +files=$(find "$layer" \ + \( -name '*.bb' -o -name '*.bbappend' -o -name '*.bbclass' -o -name '*.inc' \) \ + | sort) + +# shellcheck disable=SC2086 +exec oelint-adv \ + --release wrynose \ + --constantmods "+$here/ossystems-constants.json" \ + --suppress "$suppress" \ + "$@" \ + $files diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init.bb b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init.bb index f85a8bc..9f55cd1 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init.bb +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init.bb @@ -1,4 +1,9 @@ SUMMARY = "Startup script and service for the Chromium Browser using Ozone" +DESCRIPTION = "Init script and systemd service that launch the Chromium browser \ +(Ozone/Wayland) at system startup." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "graphics" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" @@ -13,7 +18,7 @@ inherit systemd update-rc.d ## Configuration variables # URL to load when start. -CHROMIUM_URL ?= "https://ossystems.com.br" +CHROMIUM_URL ?= "https://ossystems.com.br" # Extra arguments to pass to 'chromium' application. CHROMIUM_EXTRA_ARGS ?= "" @@ -34,13 +39,13 @@ do_compile[noexec] = "1" do_install() { if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/chromium-ozone-wayland + install -Dm 0755 ${UNPACKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/chromium-ozone-wayland fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -Dm 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/chromium-ozone-wayland.service + install -Dm 0644 ${UNPACKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/chromium-ozone-wayland.service fi - install -Dm 0644 ${WORKDIR}/${BPN}.default ${D}${sysconfdir}/default/chromium-ozone-wayland + install -Dm 0644 ${UNPACKDIR}/${BPN}.default ${D}${sysconfdir}/default/chromium-ozone-wayland echo ${CHROMIUM_ENV} >> ${D}${sysconfdir}/default/chromium-ozone-wayland @@ -49,6 +54,6 @@ do_install() { -i ${D}${sysconfdir}/default/chromium-ozone-wayland } -RDEPENDS:${PN} += "chromium-ozone-wayland" - PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} += "chromium-ozone-wayland" diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init.bb b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init.bb index fb79172..6e45bf2 100644 --- a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init.bb +++ b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init.bb @@ -1,8 +1,13 @@ SUMMARY = "Startup script and service for the Kiosk Browser" +DESCRIPTION = "Init script and systemd service that launch the Qt kiosk browser \ +at system startup." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "graphics" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" -SRC_URI = " \ +SRC_URI = "\ file://${BPN}.default \ file://${BPN}.initd \ file://${BPN}.service \ @@ -21,7 +26,6 @@ QT_KIOSK_SCREENSAVER_TIME ?= "0" # Defines the time to restart the browser after entering in screen saving mode (0 to disable). QT_KIOSK_RESTART_TIME ?= "0" - SYSTEMD_SERVICE:${PN} = "qt-kiosk-browser.service" # Start after weston-init @@ -34,15 +38,15 @@ INITSCRIPT_NAME = "qt-kiosk-browser" do_install() { if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -Dm 0755 ${WORKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/kiosk + install -Dm 0755 ${UNPACKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/kiosk fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -Dm 0644 ${WORKDIR}/${PN}.service ${D}${systemd_system_unitdir}/qt-kiosk-browser.service + install -Dm 0644 ${UNPACKDIR}/${PN}.service ${D}${systemd_system_unitdir}/qt-kiosk-browser.service fi - install -Dm 0644 ${WORKDIR}/${PN}.default ${D}${sysconfdir}/default/qt-kiosk-browser + install -Dm 0644 ${UNPACKDIR}/${PN}.default ${D}${sysconfdir}/default/qt-kiosk-browser - install -Dm 0644 ${WORKDIR}/${PN}.conf ${D}${sysconfdir}/qt-kiosk-browser.conf + install -Dm 0644 ${UNPACKDIR}/${PN}.conf ${D}${sysconfdir}/qt-kiosk-browser.conf sed -e 's,@QT_KIOSK_URL@,${QT_KIOSK_URL},g' \ -e 's,@QT_KIOSK_RESTART_TIME@,${QT_KIOSK_RESTART_TIME},g' \ @@ -50,6 +54,6 @@ do_install() { -i ${D}${sysconfdir}/qt-kiosk-browser.conf } -RDEPENDS:${PN} += "qt-kiosk-browser" - PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} += "qt-kiosk-browser" diff --git a/recipes-browser/cog/cog-init.bb b/recipes-browser/cog/cog-init.bb index 4e76dd3..c0808d1 100644 --- a/recipes-browser/cog/cog-init.bb +++ b/recipes-browser/cog/cog-init.bb @@ -1,4 +1,9 @@ SUMMARY = "Startup script and service for the Cog Browser" +DESCRIPTION = "Init script and systemd service that launch the Cog web browser \ +at system startup." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "graphics" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" @@ -20,7 +25,7 @@ COG_PLATFORM ?= "wl" COG_PLATFORM_WL_VIEW_FULLSCREEN ?= "1" # URL to load when start. -COG_URL ?= "https://ossystems.com.br" +COG_URL ?= "https://ossystems.com.br" # Extra arguments to pass to 'cog' application. COG_EXTRA_ARGS ?= "" @@ -58,6 +63,6 @@ do_install() { -i ${D}${sysconfdir}/default/cog } -RDEPENDS:${PN} += "cog" - PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS:${PN} += "cog" diff --git a/recipes-connectivity/ppp/ppp_%.bbappend b/recipes-connectivity/ppp/ppp_%.bbappend index ef1cb93..66038c3 100644 --- a/recipes-connectivity/ppp/ppp_%.bbappend +++ b/recipes-connectivity/ppp/ppp_%.bbappend @@ -3,5 +3,5 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI += "file://options" do_install:append() { - install -Dm 0755 ${WORKDIR}/options ${D}${sysconfdir}/${PN}/options + install -Dm 0755 ${UNPACKDIR}/options ${D}${sysconfdir}/${PN}/options } diff --git a/recipes-core/images/initramfs-psplash-image.bb b/recipes-core/images/initramfs-psplash-image.bb index 4b55c9a..8caf113 100644 --- a/recipes-core/images/initramfs-psplash-image.bb +++ b/recipes-core/images/initramfs-psplash-image.bb @@ -1,13 +1,12 @@ +SUMMARY = "Initramfs image showing a psplash boot splash" DESCRIPTION = "Small image with psplash implementation to use as \ an alternative to the splash kernel." +LICENSE = "MIT" IMAGE_FSTYPES = "cpio.gz.u-boot" IMAGE_ROOTFS_SIZE = "0" -IMAGE_FEATURES = " \ - splash \ - debug-tweaks \ -" +IMAGE_FEATURES = "splash" # Avoid installation of syslog BAD_RECOMMENDATIONS += "busybox-syslog" @@ -17,7 +16,7 @@ USE_DEVFS = "1" inherit core-image -CORE_IMAGE_BASE_INSTALL = " \ +CORE_IMAGE_BASE_INSTALL = "\ initramfs-framework-base \ initramfs-module-psplash \ initramfs-module-rootfs \ diff --git a/recipes-core/images/ossystems-minimal-initramfs.bb b/recipes-core/images/ossystems-minimal-initramfs.bb index 7a942c5..26529e2 100644 --- a/recipes-core/images/ossystems-minimal-initramfs.bb +++ b/recipes-core/images/ossystems-minimal-initramfs.bb @@ -4,6 +4,8 @@ # Released under the MIT license SUMMARY = "The very minimal initramfs image capable of booting a device" +DESCRIPTION = "Minimal initramfs image capable of mounting the root filesystem \ +and booting the device." PACKAGE_INSTALL = "initramfs-module-mdev ${VIRTUAL-RUNTIME_base-utils} ${ROOTFS_BOOTSTRAP_INSTALL}" @@ -22,7 +24,7 @@ inherit core-image IMAGE_ROOTFS_SIZE = "8192" IMAGE_ROOTFS_EXTRA_SPACE = "0" -BAD_RECOMMENDATIONS += " \ +BAD_RECOMMENDATIONS += "\ busybox-udhcpc \ busybox-syslog \ initramfs-module-rootfs \ diff --git a/recipes-core/initrdscripts/initramfs-framework-psplash_1.0.bb b/recipes-core/initrdscripts/initramfs-framework-psplash_1.0.bb index 9344c28..94cee5b 100644 --- a/recipes-core/initrdscripts/initramfs-framework-psplash_1.0.bb +++ b/recipes-core/initrdscripts/initramfs-framework-psplash_1.0.bb @@ -1,28 +1,33 @@ SUMMARY = "Modular psplash to initramfs system" +DESCRIPTION = "initramfs-framework module that shows a psplash boot splash \ +during early boot." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "base" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" -RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" -RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" -PR = "r4" - -inherit allarch - -SRC_URI = " \ +SRC_URI = "\ file://psplash \ file://psplash-finish \ " S = "${UNPACKDIR}" +RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_base-utils}" +RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" + +PR = "r4" + +inherit allarch + do_install() { # psplash install -Dm 0755 ${S}/psplash ${D}/init.d/11-psplash install -Dm 0755 ${S}/psplash-finish ${D}/init.d/98-psplash_finish } -PACKAGES = "initramfs-module-psplash" - SUMMARY:initramfs-module-psplash = "initramfs psplash support" -RDEPENDS:initramfs-module-psplash = "initramfs-framework-base psplash" +PACKAGES = "initramfs-module-psplash" FILES:initramfs-module-psplash = "/init.d" +RDEPENDS:initramfs-module-psplash = "initramfs-framework-base psplash" diff --git a/recipes-core/net-persistent-mac/net-persistent-mac.bb b/recipes-core/net-persistent-mac/net-persistent-mac.bb index 5c6a777..e1bfbb1 100644 --- a/recipes-core/net-persistent-mac/net-persistent-mac.bb +++ b/recipes-core/net-persistent-mac/net-persistent-mac.bb @@ -1,5 +1,7 @@ SUMMARY = "Network device MAC persistency" DESCRIPTION = "Provides support to store/restore the MAC of a specific network device" +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" SECTION = "base" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" @@ -20,9 +22,9 @@ do_configure[noexec] = "1" do_compile[noexec] = "1" do_install() { - install -Dm 0644 ${WORKDIR}/${PN}.service ${D}${systemd_system_unitdir}/${PN}.service - install -Dm 0644 ${WORKDIR}/${PN}.default ${D}${sysconfdir}/default/${PN} - install -Dm 0755 ${WORKDIR}/${PN} ${D}${bindir}/${PN} + install -Dm 0644 ${UNPACKDIR}/${PN}.service ${D}${systemd_system_unitdir}/${PN}.service + install -Dm 0644 ${UNPACKDIR}/${PN}.default ${D}${sysconfdir}/default/${PN} + install -Dm 0755 ${UNPACKDIR}/${PN} ${D}${bindir}/${PN} } PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes-core/ossystems-factory-defaults/ossystems-factory-defaults.bb b/recipes-core/ossystems-factory-defaults/ossystems-factory-defaults.bb index 04b8e1b..48d8ec0 100644 --- a/recipes-core/ossystems-factory-defaults/ossystems-factory-defaults.bb +++ b/recipes-core/ossystems-factory-defaults/ossystems-factory-defaults.bb @@ -1,4 +1,9 @@ SUMMARY = "Tool to restore image state to factory defaults" +DESCRIPTION = "Restores selected files to their factory-default state on the \ +running image, with optional post-install hooks." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "base" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" diff --git a/recipes-core/release/generate-release-bundle.bb b/recipes-core/release/generate-release-bundle.bb index fa45482..79621f5 100644 --- a/recipes-core/release/generate-release-bundle.bb +++ b/recipes-core/release/generate-release-bundle.bb @@ -1,6 +1,10 @@ SUMMARY = "Generate release bundle" +DESCRIPTION = "Generates a self-extracting release bundle containing the \ +platform sources and downloads." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "devel" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - +# LICENSE and LIC_FILES_CHKSUM are provided by the inherited +# release-bundle-generation class. inherit release-bundle-generation diff --git a/recipes-demos/html5-demo/html5-demo_git.bb b/recipes-demos/html5-demo/html5-demo_git.bb index db9bfff..390af26 100644 --- a/recipes-demos/html5-demo/html5-demo_git.bb +++ b/recipes-demos/html5-demo/html5-demo_git.bb @@ -1,4 +1,8 @@ SUMMARY = "HTML5 demo useful for test browser performance" +DESCRIPTION = "Simple HTML5 page useful for evaluating web browser performance." +HOMEPAGE = "https://github.com/OSSystems/html5-demo" +BUGTRACKER = "https://github.com/OSSystems/html5-demo/issues" +SECTION = "graphics" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" diff --git a/recipes-devtools/telegraf/telegraf_1.14.5.bb b/recipes-devtools/telegraf/telegraf_1.14.5.bb index a900e6f..1499966 100644 --- a/recipes-devtools/telegraf/telegraf_1.14.5.bb +++ b/recipes-devtools/telegraf/telegraf_1.14.5.bb @@ -1,5 +1,8 @@ +SUMMARY = "Plugin-driven server agent for collecting and reporting metrics" DESCRIPTION = "The plugin-driven server agent for collecting & reporting metrics" HOMEPAGE = "https://github.com/influxdata/telegraf" +BUGTRACKER = "https://github.com/influxdata/telegraf/issues" +SECTION = "console/network" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${S}/src/${GO_IMPORT}/LICENSE;md5=4c87a94f9ef84eb3e8c5f0424fef3b9e" @@ -30,7 +33,7 @@ do_install:append() { install -Dm 0644 ${S}/src/${GO_IMPORT}/scripts/${PN}.service ${D}${systemd_system_unitdir}/${PN}.service install -d ${D}${sysconfdir}/${PN}/${PN}.d install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /var/log/${PN} 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/${PN}.conf + echo "d ${localstatedir}/log/${PN} 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/${PN}.conf } RDEPENDS:${PN}-dev += "bash" diff --git a/recipes-extended/zram-init/zram-init_git.bb b/recipes-extended/zram-init/zram-init_git.bb index b8f49b8..ccb87bb 100644 --- a/recipes-extended/zram-init/zram-init_git.bb +++ b/recipes-extended/zram-init/zram-init_git.bb @@ -1,6 +1,11 @@ SUMMARY = "A wrapper script for the zram kernel module with interactive and init support" +DESCRIPTION = "Wrapper script and init integration for the zram kernel module, \ +providing compressed RAM-based swap and block devices." +HOMEPAGE = "https://github.com/vaeth/zram-init" +BUGTRACKER = "https://github.com/vaeth/zram-init/issues" +SECTION = "base" LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://${S}/README.md;beginline=5;endline=7;md5=1c6f4971407e5a5b1aa502b9badcdf98" +LIC_FILES_CHKSUM = "file://README.md;beginline=5;endline=7;md5=1c6f4971407e5a5b1aa502b9badcdf98" inherit update-rc.d systemd diff --git a/recipes-graphics/weston-touch-calibrator-service/weston-touch-calibrator-service.bb b/recipes-graphics/weston-touch-calibrator-service/weston-touch-calibrator-service.bb index 9e15ec2..2c682f2 100644 --- a/recipes-graphics/weston-touch-calibrator-service/weston-touch-calibrator-service.bb +++ b/recipes-graphics/weston-touch-calibrator-service/weston-touch-calibrator-service.bb @@ -1,4 +1,9 @@ SUMMARY = "Weston Touch Screen Calibrator Service" +DESCRIPTION = "Systemd service that runs the Weston touchscreen calibrator and \ +persists the resulting calibration." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "graphics" LICENSE = "CLOSED" SRC_URI = "\ @@ -16,20 +21,20 @@ do_configure[noexec] = "1" do_compile[noexec] = "1" do_install() { - install -Dm 0644 ${WORKDIR}/weston-touch-calibrator.default ${D}${sysconfdir}/default/weston-touch-calibrator - install -Dm 0644 ${WORKDIR}/weston-touch-calibrator.service ${D}${systemd_system_unitdir}/weston-touch-calibrator.service - install -Dm 0755 ${WORKDIR}/save-touch-calibration ${D}${bindir}/save-touch-calibration - install -Dm 0644 ${WORKDIR}/touchscreen.rules ${D}${base_libdir}/udev/rules.d/98-touchscreen.rules + install -Dm 0644 ${UNPACKDIR}/weston-touch-calibrator.default ${D}${sysconfdir}/default/weston-touch-calibrator + install -Dm 0644 ${UNPACKDIR}/weston-touch-calibrator.service ${D}${systemd_system_unitdir}/weston-touch-calibrator.service + install -Dm 0755 ${UNPACKDIR}/save-touch-calibration ${D}${bindir}/save-touch-calibration + install -Dm 0644 ${UNPACKDIR}/touchscreen.rules ${D}${base_libdir}/udev/rules.d/98-touchscreen.rules } -RDEPENDS:${PN} += " \ - weston-init \ - weston-touch-calibrator \ -" - FILES:${PN} = "\ ${sysconfdir}/default \ ${systemd_system_unitdir} \ ${bindir} \ ${base_libdir}/udev/rules.d \ " + +RDEPENDS:${PN} += "\ + weston-init \ + weston-touch-calibrator \ +" diff --git a/recipes-staging/beep/beep_1.2.2.bb b/recipes-staging/beep/beep_1.2.2.bb index 6bc3c3d..9c4ede7 100644 --- a/recipes-staging/beep/beep_1.2.2.bb +++ b/recipes-staging/beep/beep_1.2.2.bb @@ -1,31 +1,28 @@ # beep: a console utility to "and allow a little more granularity # than you get with the default terminal bell" +SUMMARY = "Console utility to beep the PC speaker" DESCRIPTION = "A console utility to make a beep noise" +HOMEPAGE = "http://www.johnath.com/beep/" SECTION = "console/utils" -LICENSE = "GPL-2.0" +LICENSE = "GPL-2.0-only" PR = "r3" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI = "http://johnath.com/beep/beep-${PV}.tar.gz \ - file://linux-input.patch \ - " +SRC_URI = "http://johnath.com/beep/beep-${PV}.tar.gz \ + file://linux-input.patch \ + " -S = "${WORKDIR}/beep-${PV}" +S = "${UNPACKDIR}/beep-${PV}" EXTRA_OEMAKE += 'CC="${CC}"' EXTRA_OEMAKE += 'FLAGS="${CFLAGS} ${LDFLAGS}"' -# slugos requires beep in boot -BINDIR = "${bindir}" -BINDIR_slugos = "${base_bindir}" - do_install() { - # this is easier than patching the Makefile... - install -d "${D}${BINDIR}" - install -c -m 755 beep "${D}${BINDIR}/beep" - install -d "${D}${mandir}/man1" - install -c -m 644 beep.1.gz "${D}${mandir}/man1/beep.1.gz" + # this is easier than patching the Makefile... + install -d "${D}${bindir}" + install -c -m 755 beep "${D}${bindir}/beep" + install -d "${D}${mandir}/man1" + install -c -m 644 beep.1.gz "${D}${mandir}/man1/beep.1.gz" } -SRC_URI[md5sum] = "d541419fd7e5642952d7b48cbb40c712" SRC_URI[sha256sum] = "5c0445dac43950b7c7c3f235c6fb21f620ab3fd2f3aafaf09896e5730fcf49a1" diff --git a/recipes-staging/beep/files/linux-input.patch b/recipes-staging/beep/files/linux-input.patch index 1b38ba7..2d2f75b 100644 --- a/recipes-staging/beep/files/linux-input.patch +++ b/recipes-staging/beep/files/linux-input.patch @@ -1,3 +1,9 @@ +Add the missing include so beep.c builds against current +kernel headers. + +Upstream-Status: Inappropriate [upstream (http://johnath.com/beep) is unmaintained] +Signed-off-by: Otavio Salvador + # the diff between Alessandro Zummo's copy of beep.c and the original # one... diff --git a/recipes-staging/inputattach-config/inputattach-config.bb b/recipes-staging/inputattach-config/inputattach-config.bb index 68beec6..fc6853a 100644 --- a/recipes-staging/inputattach-config/inputattach-config.bb +++ b/recipes-staging/inputattach-config/inputattach-config.bb @@ -1,6 +1,10 @@ SUMMARY = "inputattach configuration file" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +DESCRIPTION = "Default configuration file consumed by the inputattach service." +HOMEPAGE = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base" +BUGTRACKER = "https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues" +SECTION = "base" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" SRC_URI = "file://inputattach.conf" @@ -8,5 +12,5 @@ do_configure[noexec] = "1" do_compile[noexec] = "1" do_install() { - install -Dm 0644 ${WORKDIR}/inputattach.conf ${D}${sysconfdir}/inputattach.conf + install -Dm 0644 ${UNPACKDIR}/inputattach.conf ${D}${sysconfdir}/inputattach.conf } diff --git a/recipes-staging/linuxconsole/linuxconsole_1.7.0.bb b/recipes-staging/linuxconsole/linuxconsole_1.7.0.bb index 6ea7392..b21ab79 100644 --- a/recipes-staging/linuxconsole/linuxconsole_1.7.0.bb +++ b/recipes-staging/linuxconsole/linuxconsole_1.7.0.bb @@ -5,7 +5,7 @@ input subsystem (providing support for serial mice, touchscreens etc.), and test the input event layer." HOMEPAGE = "https://sourceforge.net/projects/linuxconsole" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "libsdl2" @@ -21,7 +21,7 @@ SRC_URI = "\ SRC_URI[sha256sum] = "95d112f06393806116341d593bda002c8bc44119c1538407623268fed90d8c34" -S = "${WORKDIR}/linuxconsoletools-${PV}" +S = "${UNPACKDIR}/linuxconsoletools-${PV}" inherit systemd pkgconfig @@ -32,6 +32,11 @@ SYSTEMD_PACKAGES += "inputattach" SYSTEMD_SERVICE:inputattach = "inputattach.service" SYSTEMD_AUTO_ENABLE:inputattach = "enable" +do_configure:append() { + # Upstream hardcodes the udev dir to /lib/udev; honour ${nonarch_base_libdir}. + sed -i 's,$(DESTDIR)/lib/udev,$(DESTDIR)${nonarch_base_libdir}/udev,g' ${S}/utils/Makefile +} + do_compile() { oe_runmake } @@ -39,11 +44,11 @@ do_compile() { do_install() { oe_runmake install - install -Dm 0644 ${WORKDIR}/51-these-are-not-joysticks-rm.rules ${D}${base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules - install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${base_libdir}/udev/rules.d/60-joystick.rules + install -Dm 0644 ${UNPACKDIR}/51-these-are-not-joysticks-rm.rules ${D}${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules + install -Dm 0644 ${UNPACKDIR}/60-joystick.rules ${D}${nonarch_base_libdir}/udev/rules.d/60-joystick.rules - install -Dm 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service - install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl + install -Dm 0644 ${UNPACKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service + install -Dm 0755 ${UNPACKDIR}/inputattachctl ${D}${bindir}/inputattachctl } PACKAGES += "inputattach joystick" @@ -69,10 +74,10 @@ FILES:joystick += "\ ${bindir}/jscal-store \ ${bindir}/jstest \ ${datadir}/joystick \ - ${base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \ - ${base_libdir}/udev/js-set-enum-leds \ - ${base_libdir}/udev/rules.d/60-joystick.rules \ - ${base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \ + ${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \ + ${nonarch_base_libdir}/udev/js-set-enum-leds \ + ${nonarch_base_libdir}/udev/rules.d/60-joystick.rules \ + ${nonarch_base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \ " RDEPENDS:inputattach += "inputattach-config" diff --git a/recipes-staging/wifi-connect/wifi-connect-crates.inc b/recipes-staging/wifi-connect/wifi-connect-crates.inc index c296bf6..21c2ff8 100644 --- a/recipes-staging/wifi-connect/wifi-connect-crates.inc +++ b/recipes-staging/wifi-connect/wifi-connect-crates.inc @@ -1,7 +1,7 @@ # Autogenerated with 'bitbake -c update_crates wifi-connect' # from Cargo.lock -SRC_URI += " \ +SRC_URI += "\ crate://crates.io/aho-corasick/0.6.10 \ crate://crates.io/ansi_term/0.12.1 \ crate://crates.io/ascii/1.1.0 \ diff --git a/recipes-staging/wifi-connect/wifi-connect_4.11.3.bb b/recipes-staging/wifi-connect/wifi-connect_4.11.3.bb index 541de7d..ec12d77 100644 --- a/recipes-staging/wifi-connect/wifi-connect_4.11.3.bb +++ b/recipes-staging/wifi-connect/wifi-connect_4.11.3.bb @@ -1,7 +1,11 @@ +SUMMARY = "Set up WiFi on a headless device through a captive portal" DESCRIPTION = " \ WiFi Connect is a utility for dynamically setting the WiFi configuration on a Linux device via a captive portal. \ WiFi credentials are specified by connecting with a mobile phone or laptop to the access point that WiFi Connect creates. \ " +HOMEPAGE = "https://github.com/balena-os/wifi-connect" +BUGTRACKER = "https://github.com/balena-os/wifi-connect/issues" +SECTION = "console/network" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3bfd34238ccc26128aef96796a8bbf97" @@ -10,16 +14,16 @@ inherit cargo cargo-update-recipe-crates pkgconfig systemd require ${BPN}-crates.inc -DEPENDS = "dbus" +DEPENDS += "dbus" SRCREV_wifi-connect = "ac20e664d630712593f959a41cb29953686395a8" -SRC_URI += " \ +SRC_URI += "\ git://github.com/balena-os/wifi-connect;branch=master;protocol=https;name=${BPN};name=${BPN};destsuffix=${BPN} \ file://wifi-connect.service \ file://wifi-connect-start.sh \ " -S = "${WORKDIR}/wifi-connect" +S = "${UNPACKDIR}/wifi-connect" SRCREV_FORMAT .= "_wifi-connect" @@ -28,7 +32,7 @@ SRCREV_network-manager = "4da2e6a57de16b6ae911f74321f929d78af8b1ba" SRC_URI += "git://github.com/balena-io-modules/network-manager.git;branch=master;protocol=https;name=network-manager;destsuffix=network-manager" SRCREV_FORMAT .= "_network-manager" -EXTRA_OECARGO_PATHS += "${WORKDIR}/network-manager" +EXTRA_OECARGO_PATHS += "${UNPACKDIR}/network-manager" PV .= "+${SRCPV}" @@ -38,8 +42,8 @@ do_install:append() { install -d ${D}${datadir}/wifi-connect/ui cp -r ${S}/ui/build/* ${D}${datadir}/wifi-connect/ui - install -Dm 0644 ${WORKDIR}/wifi-connect.service ${D}${systemd_system_unitdir}/wifi-connect.service - install -Dm 0755 ${WORKDIR}/wifi-connect-start.sh ${D}${bindir}/wifi-connect-start.sh + install -Dm 0644 ${UNPACKDIR}/wifi-connect.service ${D}${systemd_system_unitdir}/wifi-connect.service + install -Dm 0755 ${UNPACKDIR}/wifi-connect-start.sh ${D}${bindir}/wifi-connect-start.sh } RDEPENDS:${PN} = "networkmanager"