On Mon, Aug 20, 2018 at 01:40:54PM -0700, Eric Biggers wrote: > Hi Darrick, > > On Fri, Mar 23, 2018 at 06:57:09PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > > > Implement online fsck for ext* filesystems which live on LVM-managed > > logical volumes. The basic strategy mirrors that of e2croncheck -- > > create a snapshot, fsck the snapshot, report whatever errors appear, > > remove snapshot. Unlike e2croncheck, this utility accepts any LVM > > device path, knows about snapshots running out of space, and can call > > fstrim having validated that the fs metadata is ok. > > > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > [...] > > diff --git a/scrub/Makefile.in b/scrub/Makefile.in > > new file mode 100644 > > index 0000000..a8bb06b > > --- /dev/null > > +++ b/scrub/Makefile.in > > @@ -0,0 +1,97 @@ > > +# > > +# Makefile for e2scrub > > +# > > + > > +srcdir = @srcdir@ > > +top_srcdir = @top_srcdir@ > > +VPATH = @srcdir@ > > +top_builddir = .. > > +my_dir = scrub > > +INSTALL = @INSTALL@ > > + > > +@MCONFIG@ > > + > > +PROGS= e2scrub > > +MANPAGES= e2scrub.8 > > +CONFFILES= e2scrub.conf > > + > > +ifeq ($(HAVE_UDEV),yes) > > +UDEV_RULES = e2scrub.rules > > +INSTALLDIRS_TGT += installdirs-udev > > +INSTALL_TGT += install-udev > > +UNINSTALL_TGT += uninstall-udev > > +endif > > + > > +all:: $(PROGS) $(MANPAGES) $(CONFFILES) $(UDEV_RULES) > > + > > +e2scrub: $(DEP_SUBSTITUTE) e2scrub.in > > + $(E) " SUBST $@" > > + $(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2scrub.in $@ > > + $(Q) chmod a+x $@ > > + > > +%.8: %.8.in $(DEP_SUBSTITUTE) > > + $(E) " SUBST $@" > > + $(Q) $(SUBSTITUTE_UPTIME) $< $@ > > + > > +%.conf: %.conf.in $(DEP_SUBSTITUTE) > > + $(E) " SUBST $@" > > + $(Q) $(SUBSTITUTE_UPTIME) $< $@ > > + > > +%.rules: %.rules.in $(DEP_SUBSTITUTE) > > + $(E) " SUBST $@" > > + $(Q) $(SUBSTITUTE_UPTIME) $< $@ > > + > > +installdirs-udev: > > + $(E) " MKINSTALLDIRS $(UDEV_RULES_DIR)" > > + $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(UDEV_RULES_DIR) > > I'm getting an error here, in the "installdirs-udev" target, when trying to > build the latest e2fsprogs (commit 6ac81e4526a4e1) into a Debian package: Uhhhh... what happened here?? ...it looks like e2scrub got pulled into 1.44.4. Ross Burton submitted a patch (in 2014) to remove MKINSTALLDIRS in favor of MKDIR_P; this patch has also been pulled into 1.44.4. Mr. Burton's patch did not convert the scrub/ directory (since it did not exist four years ago) which AFAICT is why the build doesn't work. :/ I was not expecting any of the e2scrub stuff to appear until 1.45. (I guess this explains Lukas' (withdrawn) patch from this morning...) --D > make[2]: Entering directory '/home/ebiggers/src/e2fsprogs/debian/BUILD-STD/scrub' > /home/ebiggers/src/e2fsprogs/debian/tmp/lib/udev/rules.d > make[2]: /home/ebiggers/src/e2fsprogs/debian/tmp/lib/udev/rules.d: Command not found > Makefile:412: recipe for target 'installdirs-udev' failed > make[2]: *** [installdirs-udev] Error 127 > make[2]: Leaving directory '/home/ebiggers/src/e2fsprogs/debian/BUILD-STD/scrub' > Makefile:422: recipe for target 'install-progs-recursive' failed > make[1]: *** [install-progs-recursive] Error 1 > make[1]: Leaving directory '/home/ebiggers/src/e2fsprogs/debian/BUILD-STD' > debian/rules:334: recipe for target 'install' failed > make: *** [install] Error 2 > dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 > > > Apparently $(MKINSTALLDIRS) isn't defined. Where is it supposed to be defined? > > - Eric