ldconfig &&
default_final &&
# ensure that all groups used in 50-default.rules exist
create_group disk
create_group cdrom
create_group floppy
create_group burning
create_group video
create_group audio
create_group uucp
create_group dialout
create_group firewire
create_group tape
create_group input
create_group kvm

# create hardware database
udevadm hwdb --update

# warn of coming changes
message "\n${PROBLEM_COLOR}About persistent net interfaces naming:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR" \
        "\nThe spell now uses udev rules generator. Next time you"   \
        "boot, udev will\ngenerate a rules file called"              \
        "/etc/udev/rules.d/70-persistent-net.rules\nfor all the"     \
        "interfaces it has detected. Then you can modify the name"   \
        "of\nthe interface by changing the NAME key. Udev will"      \
        "not erase it.\nThe old configuration stuff with the"        \
        "DEVICE_MAC field in netconf is now\nobsolete." \
        "\nudevinfo is gone. use udevadm instead. $DEFAULT_COLOR"
# udev-174 changes
message "\n${PROBLEM_COLOR}Udev-174 changes:" \
        "$DEFAULT_COLOR$MESSAGE_COLOR"        \
        "\nThe udev daemon moved to /lib/udev/udevd"
# udev-177 changes
message "\n${PROBLEM_COLOR}Udev-177 changes:" \
        "$DEFAULT_COLOR$MESSAGE_COLOR"        \
        "'\nudevadm control --reload-rules' option has been renamed to '--reload'" \
# udev-178 changes
message "\n${PROBLEM_COLOR}Udev-178 changes:" \
        "$DEFAULT_COLOR$MESSAGE_COLOR"        \
        "\nThe RUN+="socket:.." option is deprecated" \
        "\nServices which listen to udev events,need to subscribe to the netlink" \
        "messages with libudev and not let udev block" \
        "in the rules execution until the message is delivered "
# udev-182 changes
message "\n${PROBLEM_COLOR}Udev-182 changes:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR"         \
        "\nRules files in /etc/udev/rules.d/ take precedence over those " \
        "in /run/udev/rules.d" \
        "\n/dev/.udev is no longer used.  Now uses /run/udev"
# udev-183 changes
message "\n${PROBLEM_COLOR}Udev-183 changes:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR"         \
        "\n/lib/udev/devices/ are not read anymore" \
        "\nRUN+="socket:... is no longer supported""
# udev-186 changes
message "\n${PROBLEM_COLOR}Udev-186 changes:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR"         \
        "\nudevadm is now in /sbin" \
        "\n'udevadm info' now takes a /dev or /sys path as argument," \
        "and does the right thing."
# udev-195 changes
message "\n${PROBLEM_COLOR}Udev-195 / eudev-1 changes:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR\n"         \
        "\neudev now has its own integrated hardware database;" \
        "\npciutils and hwdata are no longer used"
# udev-197 changes
message "\n${PROBLEM_COLOR}Udev-197 / eudev-1.0 changes:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR\n"         \
        "\nnew predictable device naming rules based on hardware configuration" \
        "\nThis affects mainly network and sound devices" \
        "\nThe old persistent naming is now optional" \
        "\nlibudev is now .so.1"
# eudev-v1.1 changes
message "\n${PROBLEM_COLOR}Udev-205 / eudev-v1.1 changes:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR\n"         \
        "\nupdated hwdb"  \
        "\nnow uses builtin kmod for module loading"
# eudev-v1.2 changes
message "\n${PROBLEM_COLOR}Udev-206 / eudev-v1.2 changes:"  \
        "$DEFAULT_COLOR$MESSAGE_COLOR\n"         \
        "\nmigration from external to internal keymaps"  \
        "\n"

# final warning
message "\n${PROBLEM_COLOR}Check any local scripts and udev rules !!!" \
        "$DEFAULT_COLOR$MESSAGE_COLOR\nRead the NEWS file"

message "\n${PROBLEM_COLOR}See https://wiki.gentoo.org/wiki/Udev/Upgrade_Guide for steps to upgrade${DEFAULT_COLOR}"
