Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/oe-linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Lint

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
run-linters:
name: Run linters
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Check out Git repository
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Get changed files
id: changed-files
uses: tj-actions/[email protected]

- name: Install linters
run: pip3 install oelint-adv codespell

- name: Linting all modified files
run: |
for file in ${{ steps.changed-files.outputs.all_modified_files }}; do
echo "linting $file"
oelint-adv --quiet --color --relpaths --rulefile=oelint-rulefile.json $file
done

- name: Codespell
run: |
for file in ${{ steps.changed-files.outputs.all_modified_files }}; do
echo "spell checking $file"
codespell $file --skip=oelint-rulefile.json
done
13 changes: 12 additions & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@ Collection of layers for the OE-core universe

Main layer maintainer: Khem Raj <[email protected]>

This repository is a collection of layers to suppliment OE-Core
This repository is a collection of layers to supplement OE-Core
with additional packages, Each layer have designated maintainer
Please see the respective READMEs in the layer subdirectories

# Linting

We use [oelint-adv](`https://github.com/priv-kweihmann/oelint-adv`)
as a linter to ensure consistent quality. You can lint your recipes
with the same linting rules with:

oelint-adv --rulefile=oelint-rulefile.json --quiet <recipe>

This is using a sub-set of rules (no info-level rules). If you
want an even stricter linting omit the `--rulefile` argument.
225 changes: 225 additions & 0 deletions oelint-rulefile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
{
"oelint.append.protvars": "error",
"oelint.append.protvars.PV": "error",
"oelint.append.protvars.PR": "error",
"oelint.append.protvars.SRCREV": "error",
"oelint.append.protvars.LICENSE": "error",
"oelint.append.protvars.LIC_FILES_CHKSUM": "error",
"oelint.file.includenotfound": "warning",
"oelint.file.requireinclude": "warning",
"oelint.file.nospaces": "error",
"oelint.file.patchsignedoff": "warning",
"oelint.file.requirenotfound": "error",
"oelint.file.underscores": "error",
"oelint.func.specific": "error",
"oelint.newline.consecutive": "warning",
"oelint.newline.eof": "warning",
"oelint.spaces.linebeginning": "warning",
"oelint.spaces.linecont": "error",
"oelint.spaces.emptyline": "warning",
"oelint.spaces.lineend": "warning",
"oelint.tabs.notabs": "warning",
"oelint.task.addnotaskbody": "warning",
"oelint.task.noanonpython": "warning",
"oelint.task.customorder": "error",
"oelint.task.heredocs": "warning",
"oelint.task.nocopy": "error",
"oelint.task.nomkdir": "error",
"oelint.task.nopythonprefix": "warning",
"oelint.task.order": "warning",
"oelint.task.order.do_fetch": "warning",
"oelint.task.order.do_unpack": "warning",
"oelint.task.order.do_patch": "warning",
"oelint.task.order.do_configure": "warning",
"oelint.task.order.do_compile": "warning",
"oelint.task.order.do_install": "warning",
"oelint.task.order.do_populate_sysroot": "warning",
"oelint.task.order.do_build": "warning",
"oelint.task.order.do_package": "warning",
"oelint.task.pythonprefix": "warning",
"oelint.vars.appendop": "error",
"oelint.vars.autorev": "warning",
"oelint.vars.bbvars": "warning",
"oelint.vars.bbvars.BB_CONSOLELOG": "warning",
"oelint.vars.bbvars.BB_CURRENTTASK": "warning",
"oelint.vars.bbvars.BB_DANGLINGAPPENDS_WARNONLY": "warning",
"oelint.vars.bbvars.BB_DEFAULT_TASK": "warning",
"oelint.vars.bbvars.BB_DISKMON_DIRS": "warning",
"oelint.vars.bbvars.BB_DISKMON_WARNINTERVAL": "warning",
"oelint.vars.bbvars.BB_ENV_EXTRAWHITE": "warning",
"oelint.vars.bbvars.BB_ENV_WHITELIST": "warning",
"oelint.vars.bbvars.BB_FETCH_PREMIRRORONLY": "warning",
"oelint.vars.bbvars.BB_FILENAME": "warning",
"oelint.vars.bbvars.BB_GENERATE_MIRROR_TARBALLS": "warning",
"oelint.vars.bbvars.BB_HASHBASE_WHITELIST": "warning",
"oelint.vars.bbvars.BB_HASHCHECK_FUNCTION": "warning",
"oelint.vars.bbvars.BB_HASHCONFIG_WHITELIST": "warning",
"oelint.vars.bbvars.BB_INVALIDCONF": "warning",
"oelint.vars.bbvars.BB_LOGFMT": "warning",
"oelint.vars.bbvars.BB_NICE_LEVEL": "warning",
"oelint.vars.bbvars.BB_NO_NETWORK": "warning",
"oelint.vars.bbvars.BB_NUMBER_PARSE_THREADS": "warning",
"oelint.vars.bbvars.BB_NUMBER_THREADS": "warning",
"oelint.vars.bbvars.BB_ORIGENV": "warning",
"oelint.vars.bbvars.BB_PRESERVE_ENV": "warning",
"oelint.vars.bbvars.BB_RUNFMT": "warning",
"oelint.vars.bbvars.BB_RUNTASK": "warning",
"oelint.vars.bbvars.BB_SCHEDULER": "warning",
"oelint.vars.bbvars.BB_SCHEDULERS": "warning",
"oelint.vars.bbvars.BB_SETSCENE_DEPVALID": "warning",
"oelint.vars.bbvars.BB_SETSCENE_VERIFY_FUNCTION": "warning",
"oelint.vars.bbvars.BB_SIGNATURE_EXCLUDE_FLAGS": "warning",
"oelint.vars.bbvars.BB_SIGNATURE_HANDLER": "warning",
"oelint.vars.bbvars.BB_SRCREV_POLICY": "warning",
"oelint.vars.bbvars.BB_STAMP_POLICY": "warning",
"oelint.vars.bbvars.BB_STAMP_WHITELIST": "warning",
"oelint.vars.bbvars.BB_STRICT_CHECKSUM": "warning",
"oelint.vars.bbvars.BB_TASK_NICE_LEVEL": "warning",
"oelint.vars.bbvars.BB_TASKHASH": "warning",
"oelint.vars.bbvars.BB_VERBOSE_LOGS": "warning",
"oelint.vars.bbvars.BB_WORKERCONTEXT": "warning",
"oelint.vars.bbvars.BBDEBUG": "warning",
"oelint.vars.bbvars.BBFILE_COLLECTIONS": "warning",
"oelint.vars.bbvars.BBFILE_PATTERN": "warning",
"oelint.vars.bbvars.BBFILE_PRIORITY": "warning",
"oelint.vars.bbvars.BBFILES": "warning",
"oelint.vars.bbvars.BBINCLUDED": "warning",
"oelint.vars.bbvars.BBINCLUDELOGS": "warning",
"oelint.vars.bbvars.BBINCLUDELOGS_LINES": "warning",
"oelint.vars.bbvars.BBLAYERS": "warning",
"oelint.vars.bbvars.BBMASK": "warning",
"oelint.vars.bbvars.BBPATH": "warning",
"oelint.vars.bbvars.BBSERVER": "warning",
"oelint.vars.bbvars.BBVERSIONS": "warning",
"oelint.vars.bbvars.BITBAKE_UI": "warning",
"oelint.vars.bbvars.BUILDNAME": "warning",
"oelint.vars.bbvars.CACHE": "warning",
"oelint.vars.bbvars.DL_DIR": "warning",
"oelint.vars.bbvars.FILE": "warning",
"oelint.vars.bbvars.FILESDIR": "warning",
"oelint.vars.bbvars.FILESPATH": "warning",
"oelint.vars.bbvars.INHERIT": "warning",
"oelint.vars.bbvars.LAYERDEPENDS": "warning",
"oelint.vars.bbvars.LAYERDIR": "warning",
"oelint.vars.bbvars.LAYERVERSION": "warning",
"oelint.vars.bbvars.MIRRORS": "warning",
"oelint.vars.bbvars.MULTI_PROVIDER_WHITELIST": "warning",
"oelint.vars.bbvars.PERSISTENT_DIR": "warning",
"oelint.vars.bbvars.PREFERRED_PROVIDER": "warning",
"oelint.vars.bbvars.PREFERRED_PROVIDERS": "warning",
"oelint.vars.bbvars.PREFERRED_VERSION": "warning",
"oelint.vars.bbvars.PREMIRRORS": "warning",
"oelint.vars.bbvars.PRSERV_HOST": "warning",
"oelint.vars.bbvars.STAMP": "warning",
"oelint.vars.bbvars.TOPDIR": "warning",
"oelint.vars.bugtrackerisurl": "warning",
"oelint.vars.dependsappend": "error",
"oelint.vars.dependsordered": "warning",
"oelint.vars.descriptionsame": "warning",
"oelint.vars.descriptiontoobrief": "warning",
"oelint.vars.doublemodify": "error",
"oelint.vars.duplicate": "warning",
"oelint.vars.fileextrapaths": "warning",
"oelint.vars.fileextrapathsop": "error",
"oelint.var.filesoverride": "warning",
"oelint.vars.homepageprefix": "warning",
"oelint.vars.homepageping": "warning",
"oelint.vars.inconspaces": "error",
"oelint.vars.insaneskip": "error",
"oelint.var.licenseremotefile": "warning",
"oelint.vars.licfileprefix": "warning",
"oelint.vars.mispell": "warning",
"oelint.vars.pbpusage": "error",
"oelint.vars.pkgspecific": "error",
"oelint.vars.pkgspecific.RDEPENDS": "error",
"oelint.vars.pkgspecific.RRECOMMENDS": "error",
"oelint.vars.pkgspecific.RSUGGESTS": "error",
"oelint.vars.pkgspecific.RCONFLICTS": "error",
"oelint.vars.pkgspecific.RPROVIDES": "error",
"oelint.vars.pkgspecific.RREPLACES": "error",
"oelint.vars.pkgspecific.FILES": "error",
"oelint.vars.pkgspecific.pkg_preinst": "error",
"oelint.vars.pkgspecific.pkg_postinst": "error",
"oelint.vars.pkgspecific.pkg_prerm": "error",
"oelint.vars.pkgspecific.pkg_postrm": "error",
"oelint.vars.pkgspecific.ALLOW_EMPTY": "error",
"oelint.vars.pnbpnusage": "error",
"oelint.vars.pnusagediscouraged": "warning",
"oelint.vars.valuequoted": "error",
"oelint.var.rootfspostcmd": "warning",
"oelint.vars.sectionlowercase": "warning",
"oelint.vars.spacesassignment": "warning",
"oelint.vars.specific": "error",
"oelint.vars.srcurioptions": "warning",
"oelint.vars.srcuriappend": "error",
"oelint.vars.srcuridomains": "warning",
"oelint.vars.srcurifile": "warning",
"oelint.vars.srcurigittag": "warning",
"oelint.vars.srcurisrcrevtag": "error",
"oelint.var.srcuriwildcard": "error",
"oelint.vars.summary80chars": "warning",
"oelint.vars.summarylinebreaks": "warning",
"oelint.vars.notrailingslash": "error",
"oelint.vars.filessetting": "warning",
"oelint.vars.filessetting.hidden": "warning",
"oelint.vars.filessetting.double": "warning",
"oelint.var.improperinherit": "error",
"oelint.vars.listappend": "error",
"oelint.var.mandatoryvar": "error",
"oelint.var.mandatoryvar.SUMMARY": "error",
"oelint.var.mandatoryvar.DESCRIPTION": "error",
"oelint.var.mandatoryvar.HOMEPAGE": "error",
"oelint.var.mandatoryvar.LICENSE": "error",
"oelint.var.mandatoryvar.SRC_URI": "error",
"oelint.var.multiinclude": "warning",
"oelint.var.multiinherit": "warning",
"oelint.var.nativefilename": "warning",
"oelint.var.nativesdkfilename": "warning",
"oelint.var.order": "warning",
"oelint.var.order.SUMMARY": "warning",
"oelint.var.order.DESCRIPTION": "warning",
"oelint.var.order.AUTHOR": "warning",
"oelint.var.order.HOMEPAGE": "warning",
"oelint.var.order.BUGTRACKER": "warning",
"oelint.var.order.SECTION": "warning",
"oelint.var.order.LICENSE": "warning",
"oelint.var.order.LIC_FILES_CHKSUM": "warning",
"oelint.var.order.DEPENDS": "warning",
"oelint.var.order.PROVIDES": "warning",
"oelint.var.order.PV": "warning",
"oelint.var.order.SRC_URI": "warning",
"oelint.var.order.SRCREV": "warning",
"oelint.var.order.S": "warning",
"oelint.var.order.inherit": "warning",
"oelint.var.order.PACKAGECONFIG": "warning",
"oelint.var.order.EXTRA_QMAKEVARS_POST": "warning",
"oelint.var.order.EXTRA_OECONF": "warning",
"oelint.var.order.PACKAGE_ARCH": "warning",
"oelint.var.order.PACKAGES": "warning",
"oelint.var.order.FILES": "warning",
"oelint.var.order.RDEPENDS": "warning",
"oelint.var.order.RRECOMMENDS": "warning",
"oelint.var.order.RSUGGESTS": "warning",
"oelint.var.order.RPROVIDES": "warning",
"oelint.var.order.RCONFLICTS": "warning",
"oelint.var.order.BBCLASSEXTEND": "warning",
"oelint.vars.pathhardcode": "warning",
"oelint.vars.pathhardcode.systemd_user_unitdir": "warning",
"oelint.vars.pathhardcode.systemd_system_unitdir": "warning",
"oelint.vars.pathhardcode.docdir": "warning",
"oelint.vars.pathhardcode.infodir": "warning",
"oelint.vars.pathhardcode.mandir": "warning",
"oelint.vars.pathhardcode.libexecdir": "warning",
"oelint.vars.pathhardcode.systemd_unitdir": "warning",
"oelint.vars.pathhardcode.libdir": "warning",
"oelint.vars.pathhardcode.bindir": "warning",
"oelint.vars.pathhardcode.datadir": "warning",
"oelint.vars.pathhardcode.includedir": "warning",
"oelint.vars.pathhardcode.localstatedir": "warning",
"oelint.vars.pathhardcode.nonarch_base_libdir": "warning",
"oelint.vars.pathhardcode.sbindir": "warning",
"oelint.vars.pathhardcode.servicedir": "warning",
"oelint.vars.pathhardcode.sharedstatedir": "warning",
"oelint.vars.pathhardcode.sysconfdir": "warning",
"oelint.var.override": "error"
}