]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Makefile: install mdcheck and make its path configurable
authorMartin Wilck <mwilck@suse.com>
Tue, 4 Nov 2025 16:03:23 +0000 (17:03 +0100)
committerXiaoNi87 <xni@redhat.com>
Wed, 19 Nov 2025 08:05:20 +0000 (16:05 +0800)
The mdcheck script is called by the systemd units, but it is currently not
installed. Fix it, using the make variable MISCDIR as target directory for
the installation of mdcheck (defaults to current location
/usr/share/mdadm).

Also, make sure that mdcheck calls the mdadm executable that we installed.

Signed-off-by: Martin Wilck <mwilck@suse.com>
Makefile
misc/mdcheck
systemd/mdcheck_continue.service
systemd/mdcheck_start.service

index 387e4a56f5190b2784234daafaaf562a6993d030..fa114f31f4a38eca8350d4c333213039d6b50b79 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -162,6 +162,7 @@ MANDIR  = /usr/share/man
 MAN4DIR = $(MANDIR)/man4
 MAN5DIR = $(MANDIR)/man5
 MAN8DIR = $(MANDIR)/man8
+MISCDIR = /usr/share/mdadm
 
 UDEVDIR := $(shell $(PKG_CONFIG) --variable=udevdir udev 2>/dev/null)
 ifndef UDEVDIR
@@ -302,7 +303,7 @@ install-systemd: systemd/mdmon@.service
                mdcheck_continue.timer mdcheck_continue.service \
                mdmonitor-oneshot.timer mdmonitor-oneshot.service \
                ; \
-       do sed -e 's,BINDIR,$(BINDIR),g' systemd/$$file > .install.tmp.2 && \
+       do sed -e 's,BINDIR,$(BINDIR),g;s,MISCDIR,$(MISCDIR),g' systemd/$$file > .install.tmp.2 && \
           $(ECHO) $(INSTALL) -D -m 644 systemd/$$file $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \
           $(INSTALL) -D -m 644 .install.tmp.2 $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \
           rm -f .install.tmp.2; \
@@ -313,6 +314,12 @@ install-systemd: systemd/mdmon@.service
           $(INSTALL) -D -m 755  .install.tmp.3 $(DESTDIR)$(SYSTEMD_DIR)-shutdown/$$file ; \
           rm -f .install.tmp.3; \
        done
+       @for file in mdcheck ; \
+       do sed -e 's,BINDIR,$(BINDIR),g' misc/$$file > .install.tmp.4 && \
+          $(ECHO) $(INSTALL) -D -m 755  misc/$$file $(DESTDIR)$(MISCDIR)/$$file ; \
+          $(INSTALL) -D -m 755  .install.tmp.4 $(DESTDIR)$(MISCDIR)/$$file ; \
+          rm -f .install.tmp.4; \
+       done
 
 install-bin: mdadm mdmon
        $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
index 13d4a11ade045fcf04e4f07f6d8840af6a42e5b6..e4f8fe2dc4a72fba21a4f3954d3c4cd14d4ab0ec 100644 (file)
@@ -181,7 +181,7 @@ do
 
        sys=${sync_act%/md/*}
        dev=$(devname "$sys") || continue
-       mdadm --detail --export "$dev" | grep '^MD_UUID=' > $tmp || continue
+       BINDIR/mdadm --detail --export "$dev" | grep '^MD_UUID=' > $tmp || continue
        source $tmp
        [[ "$MD_UUID" ]] || continue
 
index 6ea2bc1e404c94e6a42d74d2e569e9aff6ef0ccc..325bf2ae4c9614753735f376b6c940ea8739f153 100644 (file)
@@ -14,4 +14,4 @@ Type=simple
 Environment="MDADM_CHECK_DURATION=6 hours"
 # mdcheck --start will continues previously started checks, and starts from
 # zero for arrays without a "Checked_$UUID" marker in /var/lib/mdcheck
-ExecStart=/usr/share/mdadm/mdcheck --start --duration ${MDADM_CHECK_DURATION}
+ExecStart=MISCDIR/mdcheck --start --duration ${MDADM_CHECK_DURATION}
index c7ddd4f6e14c497560687a864c52e973e5a30f71..40e122993dcf6cc11d758c0ce5c9497cf9eedb39 100644 (file)
@@ -12,4 +12,4 @@ Documentation=man:mdadm(8)
 
 [Service]
 Type=simple
-ExecStart=/usr/share/mdadm/mdcheck --restart
+ExecStart=MISCDIR/mdcheck --restart