Add a buildroot utils/check-package linter check to pr-checks.yml (#1523)

Add buildroot utils/check-package check to the pr-checks.yml workflow.
It checks for common errors/mistakes when creating own buildroot
packages. Also fixed all warnings this utility output for our existing packages.
This commit is contained in:
Jens Maus 2021-09-04 10:46:55 +02:00 committed by GitHub
parent b6b8e3b1dc
commit 97dffedbcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 104 additions and 70 deletions

View File

@ -9,12 +9,20 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v1
uses: actions/checkout@v2
with:
submodules: true
- name: Check Dockerfile
uses: brpaz/hadolint-action@v1.1.0
with:
dockerfile: Dockerfile
- name: Check shell scripts
uses: ludeeus/action-shellcheck@1.1.0
with:
ignore: buildroot buildroot-external/package/xe-guest-utilities
- name: Check buildroot-external packages
run: |
buildroot/utils/check-package --exclude PackageHeader --br2-external buildroot-external/package/*/*

View File

@ -1,3 +1,7 @@
KernelDrivers/Makefile: add Makefile to get compiled as Linux kernel module
Signed-off-by: Jens Maus <mail@jens-maus.de>
--- ./KernelDrivers/Makefile.orig 2021-04-02 17:01:07.029932165 +0200
+++ ./KernelDrivers/Makefile 2020-06-04 14:36:10.188174788 +0200
@@ -0,0 +1 @@

View File

@ -1,3 +1,7 @@
KernelDrivers/eq3_char_loop.c: updated to latest 1.1 version
Signed-off-by: Jens Maus <mail@jens-maus.de>
--- ./KernelDrivers/eq3_char_loop.c.orig 2017-05-14 22:57:19.109181928 +0200
+++ ./KernelDrivers/eq3_char_loop.c 2020-06-04 14:36:10.188174788 +0200
@@ -48,8 +48,8 @@

View File

@ -1,4 +1,4 @@
#############################################################
################################################################################
#
# eQ-3 char loopback kernel module for HomeMatic/homematicIP
# dual stack implementations for the RPI-RF-MOD/HM-MOD-RPI-PCB
@ -6,7 +6,7 @@
# Copyright (c) 2015 by eQ-3 Entwicklung GmbH
# https://github.com/eq-3/occu/tree/master/KernelDrivers
#
#############################################################
################################################################################
EQ3_CHAR_LOOP_VERSION = e60183fc5b8375d9eea185c716f716c07657fa00
EQ3_CHAR_LOOP_SITE = $(call github,eq-3,occu,$(EQ3_CHAR_LOOP_VERSION))

View File

@ -1,3 +1,7 @@
kernel/Makefile: modification to get compile as buildroot package
Signed-off-by: Jens Maus <mail@jens-maus.de>
--- ./kernel/Makefile.orig 2020-12-14 13:09:44.406823210 +0100
+++ ./kernel/Makefile 2021-01-14 11:37:37.524474444 +0100
@@ -1,17 +1,26 @@

View File

@ -1,4 +1,4 @@
#############################################################
################################################################################
#
# Generic raw uart kernel module for low-latency uart
# communication with a RPI-RF-MOD/HM-MOD-RPI-PCB
@ -11,7 +11,7 @@
# https://github.com/eq-3/occu/tree/master/KernelDrivers
# https://github.com/jens-maus/RaspberryMatic/tree/master/buildroot-external/package/bcm2835_raw_uart
#
#############################################################
################################################################################
GENERIC_RAW_UART_VERSION = 9510818fa12e52baf40fe5ac84e58fd62db4f70e
GENERIC_RAW_UART_SITE = $(call github,alexreinert,piVCCU,$(GENERIC_RAW_UART_VERSION))

View File

@ -11,12 +11,12 @@ HARDKERNEL_BOOT_LICENSE_FILES = Licenses/gpl-2.0.txt
HARDKERNEL_BOOT_INSTALL_IMAGES = YES
HARDKERNEL_BOOT_DEPENDENCIES = uboot
ifeq ($(BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C2),y)
HARDKERNEL_BOOT_VERSION = 205c7b3259559283161703a1a200b787c2c445a5
HARDKERNEL_BOOT_BINS += sd_fuse/bl1.bin.hardkernel \
u-boot.gxbb
HARDKERNEL_BOOT_BINS += sd_fuse/bl1.bin.hardkernel
HARDKERNEL_BOOT_BINS += u-boot.gxbb
define HARDKERNEL_BOOT_BUILD_CMDS
$(@D)/fip/fip_create --bl30 $(@D)/fip/gxb/bl30.bin \
--bl301 $(@D)/fip/gxb/bl301.bin \
@ -89,9 +89,10 @@ endef
else ifeq ($(BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_XU4),y)
HARDKERNEL_BOOT_VERSION = 88af53fbcef8386cb4d5f04c19f4b2bcb69e90ca
HARDKERNEL_BOOT_BINS += sd_fuse/bl1.bin.hardkernel \
sd_fuse/bl2.bin.hardkernel.720k_uboot \
sd_fuse/tzsw.bin.hardkernel
HARDKERNEL_BOOT_BINS += sd_fuse/bl1.bin.hardkernel
HARDKERNEL_BOOT_BINS += sd_fuse/bl2.bin.hardkernel.720k_uboot
HARDKERNEL_BOOT_BINS += sd_fuse/tzsw.bin.hardkernel
define HARDKERNEL_BOOT_BUILD_CMDS
endef

View File

@ -5,6 +5,7 @@ config BR2_PACKAGE_INTEL_E1000E
bool "Intel Network Adapter Driver for PCIe"
depends on BR2_LINUX_KERNEL
help
Install Intel Network Adapter Driver for PCIe (external module)
Install Intel Network Adapter Driver for PCIe
(external module)
https://downloadcenter.intel.com/download/15817/Intel-Network-Adapter-Driver-for-PCIe-Intel-Gigabit-Ethernet-Network-Connections-Under-Linux-

View File

@ -11,7 +11,6 @@ KHADAS_BOOT_LICENSE_FILES = Licenses/gpl-2.0.txt
KHADAS_BOOT_INSTALL_IMAGES = YES
KHADAS_BOOT_DEPENDENCIES = uboot
ifeq ($(BR2_PACKAGE_KHADAS_BOOT_VIM3),y)
KHADAS_BOOT_VERSION = 251220
@ -40,7 +39,6 @@ define KHADAS_BOOT_BUILD_CMDS
cp $(KHADAS_BOOT_FIP_DIR)/aml_ddr.fw $(@D)/fip/
cp $(BINARIES_DIR)/u-boot.bin $(@D)/fip/bl33.bin
cd $(@D); $(KHADAS_BOOT_FIP_DIR)/blx_fix.sh \
fip/bl30.bin \
fip/zero_tmp \

View File

@ -1,9 +1,9 @@
config BR2_PACKAGE_QEMU_GUEST_AGENT
bool "QEMU Guest Agent"
depends on BR2_USE_MMU # libglib2
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_ZLIB
bool "QEMU Guest Agent"
help
QEMU guest agent for qemu based virtualisations

View File

@ -1,8 +1,9 @@
#############################################################
################################################################################
#
# rpi-eeprom
#
#############################################################
################################################################################
RPI_EEPROM_VERSION = 16bb29427f96dc8276a7102c0526154a1084bffd
RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION))
RPI_EEPROM_LICENSE = BSD-3-Clause

View File

@ -1,3 +1,9 @@
################################################################################
#
# rpi-firmware
#
################################################################################
ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4),y)
RPI_FIRMWARE_BOOT_FILES = \
start4.elf \
@ -24,4 +30,3 @@ define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
$(RPI_FIRMWARE_INSTALL_DTB)
$(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
endef

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_RPI_RF_MOD
bool "Support for RPI-RF-MOD/HM-MOD-RPI-PCB GPIO HAT"
select BR2_PACKAGE_EQ3_CHAR_LOOP
select BR2_PACKAGE_GENERIC_RAW_UART
bool "Support for RPI-RF-MOD/HM-MOD-RPI-PCB GPIO HAT"
if BR2_PACKAGE_RPI_RF_MOD

View File

@ -1,4 +1,4 @@
#############################################################
################################################################################
#
# Meta package for RPI-RF-MOD/HM-MOD-RPI-PCB device support
# for HomeMatic/homematicIP connectivity.
@ -9,7 +9,7 @@
# Copyright (c) 2018-2021 Jens Maus <mail@jens-maus.de>
# https://github.com/jens-maus/RaspberryMatic/tree/master/buildroot-external/package/rpi-rf-mod
#
#############################################################
################################################################################
RPI_RF_MOD_VERSION = 7f5d50c8ac72e114a6b11a4ae0e92e316260fb0d
RPI_RF_MOD_SITE = $(call github,jens-maus,RaspberryMatic,$(RPI_RF_MOD_VERSION))

View File

@ -8,6 +8,8 @@ Currently libsystemd-login is used to inhibit poweroff, sleep and
reboot. The library makes calls to systemd-logind which in turn needs
quite some services to be present. This can be problematic when using
udisks in early boot stages.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
configure.ac | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)

View File

@ -2,11 +2,13 @@ From abcac570bfe1db867fda504942e6c782ada2aa00 Mon Sep 17 00:00:00 2001
Message-Id: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Sat, 13 Mar 2021 14:39:31 +0100
Subject: [PATCH 1/3] Isolate authorization specific functions into new compile
Subject: [PATCH] Isolate authorization specific functions into new compile
unit
Introduce udisksauthorization.c for authorization related functionality.
This allows to make polkit optional much easier.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
src/Makefile.am | 1 +
src/udisksauthorization.c | 382 ++++++++++++++++++++++++++++++++

View File

@ -4,12 +4,14 @@ In-Reply-To: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agn
References: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Sat, 13 Mar 2021 15:24:45 +0100
Subject: [PATCH 2/3] Make polkit dependency optional
Subject: [PATCH] Make polkit dependency optional
Make authorization using polkit a compile time option. This allows to
build udisks2 without polkit.
Fixes: #615
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
configure.ac | 33 +++++++++++++++----
data/Makefile.am | 2 ++

View File

@ -4,11 +4,13 @@ In-Reply-To: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agn
References: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Fri, 19 Mar 2021 15:54:30 +0100
Subject: [PATCH 3/3] Avoid autoreconf error if introspection macros are not
Subject: [PATCH] Avoid autoreconf error if introspection macros are not
available
Don't make macros for introspection mandatory. This allows to run
autoreconf even without GObject introspection automake macros available.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
configure.ac | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

View File

@ -24,8 +24,8 @@ config BR2_PACKAGE_UDISKS2
interfaces that can be used to query and manipulate
storage devices.
o a command-line tool, udisksctl(1), that can be used to query
and use the daemon
o a command-line tool, udisksctl(1), that can be used to
query and use the daemon
https://github.com/storaged-project/udisks

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_XE_GUEST_UTILITIES
bool "Xen guest utilities"
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_THREADS
bool "Xen guest utilities"
help
Xen guest utilities for UNIX-like operating systems.