1#!/bin/bash
2
3check() {
4    [ -L "${dracutsysrootdir?}/lib" ]
5}
6
7depends() {
8    return 0
9}
10
11install() {
12    # dracut pre-installs a set of files before calling any of
13    # the modules, and dracut also messes up host vs. target
14    # system, so on a non-merged-usr host, it will prepare a
15    # non-merged-usr initramfs, even though the current config
16    # is for a merged-usr system.
17    # So undo its borkage.
18    for dir in lib bin sbin; do
19        mkdir -p "${initdir?}/usr/${dir}"
20        if [ -d "${initdir?}/${dir}" ]; then
21            mv "${initdir?}/${dir}/"* "${initdir?}/usr/${dir}"
22            rm -rf "${initdir?}/${dir}"
23            ln -s "usr/${dir}" "${initdir?}/${dir}"
24        fi
25    done
26}
27