-/* SPDX-License-Identifier: LGPL-2.1+ */
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include <getopt.h>
#include "hwdb-util.h"
#include "udevadm.h"
-#include "util.h"
static const char *arg_test = NULL;
static const char *arg_root = NULL;
" -r --root=PATH Alternative root path in the filesystem\n\n"
"NOTE:\n"
"The sub-command 'hwdb' is deprecated, and is left for backwards compatibility.\n"
- "Please use systemd-hwdb instead.\n"
- , program_invocation_short_name);
+ "Please use systemd-hwdb instead.\n",
+ program_invocation_short_name);
return 0;
}
int c;
while ((c = getopt_long(argc, argv, "ust:r:Vh", options, NULL)) >= 0)
- switch(c) {
+ switch (c) {
case 'u':
arg_update = true;
break;
case '?':
return -EINVAL;
default:
- assert_not_reached("Unknown option");
+ assert_not_reached();
}
return 1;
int hwdb_main(int argc, char *argv[], void *userdata) {
int r;
- log_set_max_level_realm(LOG_REALM_SYSTEMD, log_get_max_level());
-
r = parse_argv(argc, argv);
if (r <= 0)
return r;
- if (!arg_update && !arg_test) {
- log_error("Either --update or --test must be used.");
- return -EINVAL;
- }
+ if (!arg_update && !arg_test)
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "Either --update or --test must be used.");
+
+ log_notice("udevadm hwdb is deprecated. Use systemd-hwdb instead.");
- if (arg_update) {
+ if (arg_update && !hwdb_bypass()) {
r = hwdb_update(arg_root, arg_hwdb_bin_dir, arg_strict, true);
if (r < 0)
return r;
}
if (arg_test)
- return hwdb_query(arg_test);
+ return hwdb_query(arg_test, NULL);
return 0;
}