mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-27 19:37:53 +01:00
b6e9a7a2e2
This reverts commit 9bbe06b004
.
Before that dtbs where included in each kernel packages which prevents
us to install multiple kernels.
Fix mtree-to-plist.awk to only generate a dtb.plist when we create
the kernel one (because dtb are installed during make installkernel).
Sponsored by: Beckhoff Automation GmbH & Co. KG
91 lines
1.8 KiB
Awk
91 lines
1.8 KiB
Awk
#!/usr/bin/awk
|
|
/^[^#]/ {
|
|
gsub(/^\./,"", $1)
|
|
uname = gname = mode = flags = tags = type = ""
|
|
for (i=2; i<=NF; i++) {
|
|
if ($i ~ /^uname=/) {
|
|
uname=$i
|
|
gsub(/uname=/, "", uname)
|
|
} else if ($i ~ /^gname=/) {
|
|
gname=$i
|
|
gsub(/gname=/, "", gname)
|
|
} else if ($i ~ /^mode=/) {
|
|
mode=$i
|
|
gsub(/mode=/,"", mode)
|
|
} else if ($i ~ /^flags=/) {
|
|
flags=$i
|
|
gsub(/flags=/, "", flags)
|
|
} else if ($i ~ /^tags=/) {
|
|
tags=$i
|
|
gsub(/tags=/, "", tags)
|
|
} else if ($i ~ /^type=dir/) {
|
|
type="dir"
|
|
}
|
|
}
|
|
if (kernel != "") {
|
|
if ($1 ~ /^\/boot\/dtb\//) {
|
|
tags="package=dtb"
|
|
} else {
|
|
tags="package=kernel"
|
|
if (_kernconf != "") {
|
|
tags=tags""_kernconf
|
|
}
|
|
}
|
|
}
|
|
if (length(tags) == 0)
|
|
next
|
|
if (tags ~ /package=/) {
|
|
ext = pkgname = pkgend = ""
|
|
split(tags, a, ",");
|
|
for (i in a) {
|
|
if (a[i] ~ /^package=/) {
|
|
pkgname=a[i]
|
|
if ($1 ~ /^\/boot\//) {
|
|
if (kernel != "" && $1 ~ /^\/boot\/dtb\//)
|
|
pkgname="dtb"
|
|
else
|
|
pkgname="bootloader"
|
|
}
|
|
gsub(/package=/, "", pkgname)
|
|
} else if (a[i] == "config") {
|
|
type="config"
|
|
} else if (a[i] == "development" || a[i] == "debug" || a[i] == "docs") {
|
|
pkgend=a[i]
|
|
} else {
|
|
if (ext != "")
|
|
ext=ext"-"a[i]
|
|
else
|
|
ext=a[i]
|
|
}
|
|
}
|
|
if (ext != "") {
|
|
pkgname=pkgname"-"ext
|
|
}
|
|
if (pkgend != "") {
|
|
if (pkgend == "docs") {
|
|
pkgname=pkgend
|
|
} else {
|
|
pkgname=pkgname"-"pkgend
|
|
}
|
|
}
|
|
} else {
|
|
print "No packages specified in line: $0"
|
|
next
|
|
}
|
|
if (kernel != "" && pkgname != "dtb") {
|
|
output="kernel"
|
|
if (_kernconf != "") {
|
|
output=output"."_kernconf
|
|
}
|
|
if ($1 ~ /^\/usr\/lib\/debug\/boot/) {
|
|
output=output"-dbg.plist"
|
|
} else {
|
|
output=output".plist"
|
|
}
|
|
} else {
|
|
output=pkgname".plist"
|
|
}
|
|
|
|
print "@"type"("uname","gname","mode","flags") " $1 > output
|
|
}
|