Switch to new download format and add static-device-nodes service
This commit is contained in:
@@ -1,9 +1,21 @@
|
|||||||
name: kmod
|
name: kmod
|
||||||
description: Linux kernel module handling tools
|
description: Linux kernel module handling tools
|
||||||
version: 34.2
|
version: "34.2"
|
||||||
|
revision: 2
|
||||||
url: https://github.com/kmod-project/kmod
|
url: https://github.com/kmod-project/kmod
|
||||||
license: LGPL2.1,GPL2
|
license: LGPL2.1,GPL2
|
||||||
architecture: any
|
architecture: any
|
||||||
depends: ["glibc","openssl","xz-utils","zlib","zstd"]
|
|
||||||
make_depends: ["scdoc"]
|
|
||||||
type: source
|
type: source
|
||||||
|
depends:
|
||||||
|
- glibc
|
||||||
|
- openssl
|
||||||
|
- xz-utils
|
||||||
|
- zlib
|
||||||
|
- zstd
|
||||||
|
make_depends:
|
||||||
|
- scdoc
|
||||||
|
downloads:
|
||||||
|
- url: https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-${BPM_PKG_VERSION}.tar.xz
|
||||||
|
extract_to: ${BPM_SOURCE}
|
||||||
|
extract_strip_components: 1
|
||||||
|
checksum: 5a5d5073070cc7e0c7a7a3c6ec2a0e1780850c8b47b3e3892226b93ffcb9cb54
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
name: static-device-nodes
|
||||||
|
description: Create static device nodes
|
||||||
|
type: simple
|
||||||
|
start_cmd: /etc/esvm/scripts/static-device-nodes.sh
|
||||||
|
exit_method: kill
|
||||||
|
restart: false
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Create all static nodes
|
||||||
|
kmod static-nodes --format=devname | while read -r line; do
|
||||||
|
path=/dev/$(echo "$line" | awk '{print $2}')
|
||||||
|
type=$(echo "$line" | awk '{print $3}' | cut -c1-1)
|
||||||
|
major=$(echo "$line" | awk '{print $3}' | cut -c2- | cut -d':' -f1)
|
||||||
|
minor=$(echo "$line" | awk '{print $3}' | cut -c2- | cut -d':' -f2)
|
||||||
|
|
||||||
|
# Skip node if it already exists
|
||||||
|
[ -e "$path" ] && continue
|
||||||
|
|
||||||
|
install -d $(dirname $path)
|
||||||
|
mknod "$path" "$type" "$major" "$minor"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Set permissions for static nodes according to udev rules in 50-udev-default.rules
|
||||||
|
[ -e /dev/snd/seq ] && chmod 0660 /dev/snd/seq
|
||||||
|
[ -e /dev/snd/timer ] && chmod 0660 /dev/snd/timer
|
||||||
|
[ -e /dev/loop-control ] && chmod 0660 /dev/loop-control
|
||||||
|
[ -e /dev/net/tun ] && chmod 0666 /dev/net/tun
|
||||||
|
[ -e /dev/fuse ] && chmod 0666 /dev/fuse
|
||||||
|
[ -e /dev/vfio/vfio ] && chmod 0666 /dev/vfio/vfio
|
||||||
|
[ -e /dev/kvm ] && chmod 0666 /dev/kvm
|
||||||
|
[ -e /dev/vhost-net ] && chmod 0666 /dev/vhost-net
|
||||||
|
[ -e /dev/vhost-vsock ] && chmod 0666 /dev/vhost-vsock
|
||||||
|
|
||||||
|
# Set ownership for static nodes according to udev rules in 50-udev-default.rules
|
||||||
|
[ -e /dev/snd/seq ] && chgrp audio /dev/snd/seq
|
||||||
|
[ -e /dev/snd/timer ] && chgrp audio /dev/snd/timer
|
||||||
|
[ -e /dev/loop-control ] && chgrp disk /dev/loop-control
|
||||||
|
[ -e /dev/kvm ] && chgrp kvm /dev/kvm
|
||||||
|
[ -e /dev/vhost-net ] && chgrp kvm /dev/vhost-net
|
||||||
|
[ -e /dev/vhost-vsock ] && chgrp kvm /dev/vhost-vsock
|
||||||
@@ -2,16 +2,6 @@
|
|||||||
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
|
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
|
||||||
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
|
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
|
||||||
|
|
||||||
DOWNLOAD="https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-${BPM_PKG_VERSION}.tar.xz"
|
|
||||||
FILENAME="${DOWNLOAD##*/}"
|
|
||||||
|
|
||||||
# The prepare function is executed in the root of the temp directory
|
|
||||||
# This function is used for downloading files and putting them into the correct location
|
|
||||||
prepare() {
|
|
||||||
wget "$DOWNLOAD"
|
|
||||||
tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE"
|
|
||||||
}
|
|
||||||
|
|
||||||
# The build function is executed in the source directory
|
# The build function is executed in the source directory
|
||||||
# This function is used to compile the source code
|
# This function is used to compile the source code
|
||||||
build() {
|
build() {
|
||||||
@@ -36,6 +26,10 @@ package() {
|
|||||||
|
|
||||||
ln -sfv kmod "$BPM_OUTPUT"/usr/bin/lsmod
|
ln -sfv kmod "$BPM_OUTPUT"/usr/bin/lsmod
|
||||||
|
|
||||||
|
# Install esvm services
|
||||||
|
install -Dm755 "$BPM_WORKDIR"/static-device-nodes.sh "$BPM_OUTPUT"/etc/esvm/scripts/static-device-nodes.sh
|
||||||
|
install -Dm644 "$BPM_WORKDIR"/static-device-nodes.esv "$BPM_OUTPUT"/etc/esvm/services/static-device-nodes.esv
|
||||||
|
|
||||||
# Install package licenses
|
# Install package licenses
|
||||||
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/kmod/COPYING
|
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/kmod/COPYING
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user