diff --git a/gnu/local.mk b/gnu/local.mk index 6a0f378bb0..91a3295e75 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1357,7 +1357,6 @@ dist_patch_DATA = \ %D%/packages/patches/mozjs38-version-detection.patch \ %D%/packages/patches/mrrescue-support-love-11.patch \ %D%/packages/patches/mtools-mformat-uninitialized.patch \ - %D%/packages/patches/multipath-tools-sans-systemd.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mumps-shared-libseq.patch \ %D%/packages/patches/mumps-shared-mumps.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8abeb976af..39abf6e2ba 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4430,7 +4430,7 @@ arrays when needed.") (define-public multipath-tools (package (name "multipath-tools") - (version "0.8.4") + (version "0.8.5") (source (origin (method git-fetch) (uri (git-reference @@ -4439,8 +4439,7 @@ arrays when needed.") (file-name (git-file-name name version)) (sha256 (base32 - "14n8pcgnliicqxzc40xvjxk4cafm4qx7a3rsx5qva74r3ydzx8rn")) - (patches (search-patches "multipath-tools-sans-systemd.patch")) + "0gipg0z79h76j0f449cx4wcrfsv69ravjlpphsac11h302g3nrvg")) (modules '((guix build utils))) (snippet '(begin @@ -4498,6 +4497,18 @@ arrays when needed.") (("-lmultipath -lcmocka") "-lmultipath -L$(mpathcmddir) -lmpathcmd -lcmocka")) #t)) + (add-after 'unpack 'skip-failing-tests + (lambda _ + ;; This test and the module's setup() test an arbitrary block + ;; device node name, but the build environment has none. + (substitute* "tests/devt.c" + (("return get_one_devt.*") "return 0;\n") + (("cmocka_unit_test\\(test_devt2devname_devt_good\\),") "")) + ;; The above triggers -Werror=unused-function. Ignore it. + (substitute* "tests/Makefile" + (("CFLAGS \\+= " match) + (string-append match "-Wno-error=unused-function "))) + #t)) (delete 'configure)))) ; no configure script (native-inputs `(("perl" ,perl) diff --git a/gnu/packages/patches/multipath-tools-sans-systemd.patch b/gnu/packages/patches/multipath-tools-sans-systemd.patch deleted file mode 100644 index 8f3144718c..0000000000 --- a/gnu/packages/patches/multipath-tools-sans-systemd.patch +++ /dev/null @@ -1,83 +0,0 @@ -Fix various compiler warnings when built without systemd. - -Submitted upstream at . - -diff --git a/libmultipath/config.c b/libmultipath/config.c ---- a/libmultipath/config.c -+++ b/libmultipath/config.c -@@ -696,7 +696,7 @@ process_config_dir(struct config *conf, char *dir) - pthread_cleanup_pop(1); - } - --static void set_max_checkint_from_watchdog(struct config *conf) -+static void set_max_checkint_from_watchdog(__attribute__((unused)) struct config *conf) - { - #ifdef USE_SYSTEMD - char *envp = getenv("WATCHDOG_USEC"); -diff --git a/multipathd/main.c b/multipathd/main.c ---- a/multipathd/main.c -+++ b/multipathd/main.c -@@ -176,6 +176,7 @@ daemon_status(void) - /* - * I love you too, systemd ... - */ -+#ifdef USE_SYSTEMD - static const char * - sd_notify_status(enum daemon_status state) - { -@@ -195,7 +196,6 @@ sd_notify_status(enum daemon_status state) - return NULL; - } - --#ifdef USE_SYSTEMD - static void do_sd_notify(enum daemon_status old_state, - enum daemon_status new_state) - { -@@ -247,7 +247,9 @@ enum daemon_status wait_for_state_change_if(enum daemon_status oldstate, - static void __post_config_state(enum daemon_status state) - { - if (state != running_state && running_state != DAEMON_SHUTDOWN) { -- enum daemon_status old_state = running_state; -+ /* save state for sd_notify */ -+ enum daemon_status -+ __attribute__((unused)) old_state = running_state; - - running_state = state; - pthread_cond_broadcast(&config_cond); -@@ -272,7 +274,9 @@ int set_config_state(enum daemon_status state) - pthread_cleanup_push(config_cleanup, NULL); - pthread_mutex_lock(&config_lock); - if (running_state != state) { -- enum daemon_status old_state = running_state; -+ /* save state for sd_notify */ -+ enum daemon_status -+ __attribute__((unused)) old_state = running_state; - - if (running_state == DAEMON_SHUTDOWN) - rc = EINVAL; -@@ -2280,7 +2284,6 @@ checkerloop (void *ap) - struct timespec last_time; - struct config *conf; - int foreign_tick = 0; -- bool use_watchdog; - - pthread_cleanup_push(rcu_unregister, NULL); - rcu_register_thread(); -@@ -2292,11 +2295,15 @@ checkerloop (void *ap) - get_monotonic_time(&last_time); - last_time.tv_sec -= 1; - -- /* use_watchdog is set from process environment and never changes */ - conf = get_multipath_config(); -- use_watchdog = conf->use_watchdog; - put_multipath_config(conf); - -+#ifdef USE_SYSTEMD -+ /* use_watchdog is set from process environment and never changes */ -+ bool use_watchdog; -+ use_watchdog = conf->use_watchdog; -+#endif -+ - while (1) { - struct timespec diff_time, start_time, end_time; - int num_paths = 0, strict_timing, rc = 0;