fix(ci): Handle luci.mk auto-generated PKG_NAME

- luci.mk auto-sets PKG_NAME from directory name
- Skip PKG_NAME check for packages using luci.mk
- PKG_VERSION/PKG_RELEASE are recommended for luci.mk packages
- PKG_LICENSE remains recommended for all packages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-03-17 13:00:34 +01:00
parent 49a6090dcf
commit 1edb8c880c

View File

@ -35,31 +35,38 @@ jobs:
PKG=$(dirname "$makefile") PKG=$(dirname "$makefile")
echo " 🔍 Checking $PKG..." echo " 🔍 Checking $PKG..."
# Required fields (must have) # Check if using luci.mk (auto-sets PKG_NAME from directory)
REQUIRED_FIELDS=( USES_LUCI_MK=false
"PKG_NAME" if grep -q "include.*luci.mk" "$makefile"; then
"PKG_VERSION" USES_LUCI_MK=true
"PKG_RELEASE" fi
)
# Recommended fields (warn if missing) # Required fields for non-luci.mk packages
RECOMMENDED_FIELDS=( if [[ "$USES_LUCI_MK" == "false" ]]; then
"PKG_LICENSE" if ! grep -q "^PKG_NAME:=" "$makefile"; then
) echo " ❌ Missing required: PKG_NAME"
for field in "${REQUIRED_FIELDS[@]}"; do
if ! grep -q "^${field}:=" "$makefile"; then
echo " ❌ Missing required: $field"
ERRORS=$((ERRORS + 1)) ERRORS=$((ERRORS + 1))
fi fi
done fi
for field in "${RECOMMENDED_FIELDS[@]}"; do # PKG_VERSION and PKG_RELEASE are recommended for luci.mk
for field in PKG_VERSION PKG_RELEASE; do
if ! grep -q "^${field}:=" "$makefile"; then if ! grep -q "^${field}:=" "$makefile"; then
echo " ⚠️ Missing recommended: $field" if [[ "$USES_LUCI_MK" == "true" ]]; then
WARNINGS=$((WARNINGS + 1)) echo " ⚠️ Missing recommended: $field"
WARNINGS=$((WARNINGS + 1))
else
echo " ❌ Missing required: $field"
ERRORS=$((ERRORS + 1))
fi
fi fi
done done
# PKG_LICENSE is always recommended
if ! grep -q "^PKG_LICENSE:=" "$makefile"; then
echo " ⚠️ Missing recommended: PKG_LICENSE"
WARNINGS=$((WARNINGS + 1))
fi
# Check for include statements # Check for include statements
if ! grep -q "include.*luci.mk\|include.*package.mk" "$makefile"; then if ! grep -q "include.*luci.mk\|include.*package.mk" "$makefile"; then