chiark / gitweb /
udev: add hardware database support
[elogind.git] / src / udev / udevadm.c
index 0858c37be8ab735cef35b4361ac8409497cc0797..d1e9756b2e5f3417e95c5cbead0c58f8348b9770 100644 (file)
@@ -56,6 +56,7 @@ static const struct udevadm_cmd *udevadm_cmds[] = {
         &udevadm_settle,
         &udevadm_control,
         &udevadm_monitor,
+        &udevadm_hwdb,
         &udevadm_test,
         &udevadm_test_builtin,
         &udevadm_version,
@@ -99,10 +100,10 @@ int main(int argc, char *argv[])
         if (udev == NULL)
                 goto out;
 
-        log_open();
         log_parse_environment();
+        log_open();
         udev_set_log_fn(udev, udev_main_log);
-        udev_selinux_init(udev);
+        label_init("/dev");
 
         for (;;) {
                 int option;
@@ -128,14 +129,12 @@ int main(int argc, char *argv[])
         }
         command = argv[optind];
 
-        log_debug("runtime dir '%s'\n", udev_get_run_path(udev));
-
         if (command != NULL)
                 for (i = 0; i < ELEMENTSOF(udevadm_cmds); i++) {
                         if (strcmp(udevadm_cmds[i]->name, command) == 0) {
                                 argc -= optind;
                                 argv += optind;
-                                optind = 0;
+                                optind = 1;
                                 rc = run_command(udev, udevadm_cmds[i], argc, argv);
                                 goto out;
                         }
@@ -145,7 +144,7 @@ int main(int argc, char *argv[])
         adm_help(udev, argc, argv);
         rc = 2;
 out:
-        udev_selinux_exit(udev);
+        label_finish();
         udev_unref(udev);
         log_close();
         return rc;