On Mon, Aug 20, 2018 at 02:53:40PM -0700, Darrick J. Wong wrote: > > 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. Not quite. I added the cleanup patch the maint branch (from which 1.44.4 was released). The maint branch then got merged into the next/master branches (which is where e2scrub was). Eric is probably testing e2fsprogs on the master branch, and I hadn't noticed this issue because I had been focused on building e2fsprogs on the maint branch. - Ted P.S. BTW, you can now do a completely reproducible debian build the way I build my debian packages using git-buildpackage: gbp pull https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git gbp buildpackage I'm doing my builds using a minimal sbuild chroot (which is what the Debian auto-builders are using). Setup instructions are here, and it's pretty easy to set up: https://wiki.debian.org/sbuild I have in ~/.sbuildrc: $build_arch_all = 1; $distribution = 'unstable'; $source_only_changes = 1; ... and in ~/.gbp.conf: [buildpackage] builder = sbuild export-dir = /tmp/gbp [tag] sign-tags = True The bits of the gbp configuration which is not build-environment specific can be found in debian/gbp.conf in the e2fsprogs sources. The debian packaging specific bits (for which there are none for now) are in debian/master, and the delta file to reconstruct a bit-for-bit e2fsprogs_1.44.4.orig.tar.gz file is in the pristine-tar branch. I timed "gbp buildpackage" and although I cheated a little because I have ccache installed, the total build time was only 65 seconds. So that's basically the maximum overhead of setting up the build schroot session, doing an apt-get install of the e2fsprogs specific build packages (cached using apt-cacher-ng), the dpkg-buildpackage (cached using ccache), doing an apt-get install of lintian and its dependencies, and then running lintian on the output. Or, of course, if you don't care about hermetic builds and if you don't care about build a source .deb and .changes file suitable for uploading to a debian archive, you can just checkout the maint branch, apply your patches, and then just run "dpkg-buildpackage -us -uc -b". :-)