config() {
  NEW="$1"
  OLD="$(dirname $NEW)/$(basename $NEW .new)"
  if [ ! -r $OLD ]; then
    mv $NEW $OLD
  elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
    rm $NEW
  fi
}

config etc/fwupd/fwupd.conf.new
config etc/fwupd/remotes.d/fwupd-tests.conf.new
config etc/fwupd/remotes.d/lvfs-testing.conf.new
config etc/fwupd/remotes.d/lvfs.conf.new
config etc/fwupd/remotes.d/vendor-directory.conf.new
config etc/fwupd/remotes.d/vendor.conf.new

if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
  if [ -x /usr/bin/gtk-update-icon-cache ]; then
    /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
  fi
fi

if ! grep -q 'Start Firmware update daemon' etc/rc.d/rc.local; then
  cat << 'EOF' >> etc/rc.d/rc.local

# Start Firmware update daemon:
if [ -x /usr/libexec/fwupd/fwupd ]; then
  echo "Starting Firmware Update Daemon: /usr/libexec/fwupd/fwupd &"
  /usr/libexec/fwupd/fwupd &
fi
EOF
fi

# Load fwupd modules
if [ -f etc/rc.d/rc.modules.local ]; then
  grep -q 'modprobe i2c_dev' etc/rc.d/rc.modules.local || \
    echo '/sbin/modprobe i2c_dev' >> etc/rc.d/rc.modules.local
  grep -q 'modprobe msr' etc/rc.d/rc.modules.local || \
    echo '/sbin/modprobe msr' >> etc/rc.d/rc.modules.local
else
  cat << 'EOF' > etc/rc.d/rc.modules.local
/sbin/modprobe i2c_dev
/sbin/modprobe msr
EOF
  chmod +x etc/rc.d/rc.modules.local
fi

# Load immediately if running
/sbin/modprobe i2c_dev 2>/dev/null
/sbin/modprobe msr 2>/dev/null
