#!/bin/bash

build() {
    map add_binary \
        '/usr/lib/systemd/systemd-udevd' \
        '/usr/bin/udevadm' \
        '/usr/lib/udev/ata_id' \
        '/usr/lib/udev/scsi_id' \
        '/usr/lib/libkmod.so.2'

    # meson-templated path
    # shellcheck disable=SC2157
    if [[ -n '/usr/bin/systemd-tmpfiles' ]]; then
        add_binary '/usr/bin/systemd-tmpfiles'
    fi

    map add_udev_rule \
        '50-udev-default.rules' \
        '60-persistent-storage.rules' \
        '64-btrfs.rules' \
        '80-drivers.rules'

    # add hwdb binaries to the initramfs
    map add_file \
        /usr/lib/udev/hwdb.bin \
        /etc/udev/hwdb.bin

    add_runscript
}

help() {
    cat <<HELPEOF
This hook adds the udev daemon to the initramfs, allowing for dynamic loading
of modules and reliable detection of the root device via tags (e.g. UUID or
LABEL). Do not remove this hook unless you are using the systemd hook, or you
know what you're doing.
HELPEOF
}

# vim: set ft=sh ts=4 sw=4 et:
