Skip to content

Commit 751da59

Browse files
authored
Merge pull request #127 from lucianogdittgen/backport/master-fixes-wrynose
wrynose: Backport master fixes
2 parents da0ed97 + 7720f0b commit 751da59

91 files changed

Lines changed: 4652 additions & 689 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/backport.yaml

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,21 @@
1-
name: Backport labeled merged pull requests
1+
name: Backport merged pull requests
22
on:
33
pull_request_target:
4-
types: [closed]
4+
types: [closed, labeled]
5+
6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
510
jobs:
6-
build:
11+
backport:
712
name: Create backport PRs
813
runs-on: ubuntu-latest
9-
# Only run when pull request is merged
10-
# or when a comment containing `/backport` is created
14+
# Run on merged PRs that carry a 'backport <branch>' label, whether the
15+
# label was added before the merge or afterwards.
1116
if: github.event.pull_request.merged
1217
steps:
13-
- uses: actions/checkout@v2
18+
- uses: actions/checkout@v4
1419
with:
15-
# Required to find all branches
1620
fetch-depth: 0
17-
- name: Create backport PRs
18-
# Should be kept in sync with `version`
19-
uses: zeebe-io/backport-action@v0.0.4
20-
with:
21-
# Required
22-
# Version of the backport-action
23-
# Must equal the version in `uses`
24-
# Recommended: latest tag or `master`
25-
version: v0.0.4
26-
27-
github_token: ${{ secrets.GITHUB_TOKEN }}
28-
github_workspace: ${{ github.workspace }}
21+
- uses: korthout/backport-action@v4

.github/workflows/oelint.yaml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: OE Lint
2+
3+
on:
4+
pull_request:
5+
merge_group:
6+
push:
7+
branches:
8+
- master
9+
10+
concurrency:
11+
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
oelint:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: ossystems/nix-actions@v1
19+
with:
20+
install-nix: true
21+
flake-check: false
22+
build-hosts: false
23+
build-devshells: false
24+
devshell: github:OSSystems/yocto-env.nix#lint
25+
run: ./contrib/oelint/run-oelint.sh

.oelint.cfg

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# oelint-adv defaults for this layer. Auto-loaded when oelint-adv runs with this
2+
# directory as the working directory (see contrib/oelint/run-oelint.sh).
3+
#
4+
# The only layer-wide suppression is oelint.var.bbclassextend: every recipe in
5+
# this layer is target-only, so the "add BBCLASSEXTEND" suggestion never applies
6+
# and would otherwise need a redundant inline comment on every single recipe.
7+
# All other exceptions stay inline as '# nooelint: <rule.id>' comments next to
8+
# the finding, so new recipes are always fully linted and each exception is
9+
# documented in place.
10+
[oelint]
11+
release = wrynose
12+
suppress = oelint.var.bbclassextend

README

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,19 @@ revision: HEAD
1414
Contributing
1515
------------
1616

17-
To contribute to this layer you should submit the patches for review
18-
to our server at https://code.ossystems.com.br
17+
To contribute to this layer you should submit the pull requests
18+
on GitHub at https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base
1919

2020
Please refer to:
21-
http://openembedded.org/wiki/Commit_Patch_Message_Guidelines
21+
https://docs.yoctoproject.org/contributor-guide/
2222

2323
for some useful guidelines to be followed when submitting patches.
2424

2525
Source code:
2626

27-
https://code.ossystems.com.br/gitweb?p=meta-ossystems-base.git
27+
https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base
28+
29+
Maintainer
30+
----------
31+
32+
Otavio Salvador <otavio.salvador@ossystems.com.br>

SECURITY.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
How to Report a Potential Vulnerability?
2+
========================================
3+
4+
Confirmed or potential security vulnerabilities in the meta-ossystems-base layer should
5+
be submitted directly via the
6+
[Issues](https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/issues) page.
7+
8+
If you are dealing with a not-yet released or urgent issue, please send a
9+
message to the maintainer listed in the [README](README). Include as
10+
many details as possible:
11+
- the layer or software module affected
12+
- the recipe and its version
13+
- any example code, if available
14+
15+
Branches maintained with security fixes
16+
---------------------------------------
17+
18+
See https://wiki.yoctoproject.org/wiki/Releases for the list of current
19+
releases. We only accept patches for the LTS releases and the master branch.

classes/cve-filter.bbclass

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# nooelint: oelint.bbclass.underscores oelint.file.inlinesuppress_na no EXPORT_FUNCTIONS here, so the dash is harmless
12
# Copyright (c) 2024 O.S. Systems Software LTDA.
23
# Usage Instructions for the Yocto CVE Filter Class
34

@@ -18,7 +19,7 @@
1819

1920
# The cve-filter class provides several configurable variables:
2021

21-
# CVE_FILTER_PREVIOUS_FILE: Specifies the previous version of
22+
# CVE_FILTER_PREVIOUS_FILE: Specifies the previous version of
2223
# the CVE JSON file. If no file is provided, only the current
2324
# file will be considered.
2425
# Default: empty
@@ -29,7 +30,7 @@
2930
# Example: "1.0.0"
3031
# Default: "0.0.0"
3132

32-
# CVE_FILTER_MARKDOWN_FILE_NAME: Specifies the name of the
33+
# CVE_FILTER_MARKDOWN_FILE_NAME: Specifies the name of the
3334
# output Markdown file containing the list of detected CVEs.
3435
# Default: "${IMAGE_NAME}.md"
3536

@@ -96,10 +97,12 @@ python do_cve_filter (){
9697
bb.plain("DONE!!")
9798
}
9899

100+
do_cve_filter[doc] = "Compare the image CVE report against a previous version and emit a filtered Markdown summary of the new CVEs."
99101
addtask cve_filter after do_rootfs before do_image
100102

101103
ROOTFS_POSTPROCESS_COMMAND:prepend = "link_cvefilter_markdownfile; "
102104

105+
link_cvefilter_markdownfile[doc] = "Create a stable-named symlink to the CVE filter Markdown report in the deploy directory."
103106
link_cvefilter_markdownfile () {
104107
ln -sf ${CVE_FILTER_MARKDOWN_FILE_NAME} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.md
105108
}

classes/deploy-license-manifest.bbclass

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1+
# nooelint: oelint.bbclass.underscores oelint.file.inlinesuppress_na no EXPORT_FUNCTIONS here, so the dash is harmless
12
ROOTFS_POSTPROCESS_COMMAND += "deploy_license_manifest;"
23
IMAGE_POSTPROCESS_COMMAND += "link_license_manifest;"
34

5+
deploy_license_manifest[doc] = "Copy the image license manifest into the deploy directory and generate a CSV variant."
46
deploy_license_manifest () {
57
if [ -e "${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest" ]; then
68
cp ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest ${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest
79
sed -n '/PACKAGE NAME/{: start; /^ *$/b done; /LICENSE:/{s/: /: "/; s/$/"/;}; s/^.*://; H; n; b start; : done; x; s/^[\n ]*//; s/ *\n */,/g; p}' ${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest >${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest.csv
810
fi
911
}
1012

13+
link_license_manifest[doc] = "Create stable-named symlinks to the deployed license manifest and its CSV variant."
1114
link_license_manifest () {
1215
if [ -e "${IMGDEPLOYDIR}/${IMAGE_NAME}.license_manifest" ]; then
1316
ln -sf ${IMAGE_NAME}.license_manifest ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.license_manifest

classes/easysplash-animation.bbclass

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# nooelint: oelint.bbclass.underscores oelint.file.inlinesuppress_na no EXPORT_FUNCTIONS here, so the dash is harmless
12
# -*- python -*-
23
# easysplash-animation.bbclass allows for easy packaging of EasySplash
34
# animation packages.

classes/image-license-checker.bbclass

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# nooelint: oelint.bbclass.underscores oelint.file.inlinesuppress_na no EXPORT_FUNCTIONS here, so the dash is harmless
12
# Copyright (c) 2018 Arm Limited and Contributors. All rights reserved.
23
#
34
# SPDX-License-Identifier: MIT
@@ -43,7 +44,6 @@
4344
IMAGE_LICENSE_CHECKER_ROOTFS_DENYLIST ?= ""
4445
IMAGE_LICENSE_CHECKER_NON_ROOTFS_DENYLIST ?= ""
4546

46-
4747
def bad_license(d, license, denylist):
4848
"""
4949
Check if a license string is denylisted. The license string will be
@@ -134,9 +134,9 @@ python check_rootfs_licenses() {
134134
if bad_packages:
135135
bb.fatal("Packages have denylisted licenses: {}".format(", ".join(bad_packages)))
136136
}
137+
check_rootfs_licenses[doc] = "Fail the build if any package installed on the rootfs has a denylisted license."
137138
ROOTFS_POSTPROCESS_COMMAND:prepend = "check_rootfs_licenses; "
138139

139-
140140
python check_deploy_licenses() {
141141
"""
142142
Check recipes that deploy files used in an image (e.g. U-Boot) for
@@ -153,4 +153,5 @@ python check_deploy_licenses() {
153153
if bad_recipes:
154154
bb.fatal("Deployed image dependencies have denylisted licenses: {}".format(", ".join(bad_recipes)))
155155
}
156+
check_deploy_licenses[doc] = "Fail the build if any recipe deploying files into the image has a denylisted license."
156157
IMAGE_POSTPROCESS_COMMAND:prepend = "check_deploy_licenses; "

classes/layerdirs.bbclass

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ def save_layerdirs(d):
1010
for layername in (l.getVar('BBFILE_COLLECTIONS', True) or '').split():
1111
d.setVar('LAYERDIR_%s' % layername, layerpath)
1212

13+
cfg_save_layerdirs[doc] = "Record each layer's directory in LAYERDIR_<collection> at config-parse time."
1314
python cfg_save_layerdirs () {
1415
save_layerdirs(d)
1516
}

0 commit comments

Comments
 (0)