On Fri, Feb 12, 2021 at 01:55:06PM -0800, Markus Mayer wrote: > On Fri, 12 Feb 2021 at 13:29, Eric Sandeen <sandeen@xxxxxxxxxxx> wrote: > > > > On 2/12/21 2:51 PM, Markus Mayer wrote: > > >> To prevent issues when the ".o" extension appears in a directory path, > > >> ensure that the ".o" -> ".lo" substitution is only performed for the > > >> final file extension. > > > > > > If the subject should be "[PATCH] xfsprogs: ...", please let me know. > > > > Nah, that's fine, I noticed it. > > > > So did you have a path component that had ".o" in it that got substituted? > > Is that what the bugfix is? > > Yes and yes. > > Specifically, I was asked to name the build directory in our build > system "workspace.o" (or something else ending in .o) because that > causes the automated backup to skip backing up temporary build Does the backup not know about the NODUMP flag, aka chattr +d ? --D > directories, which is what we want. There is an existing exclusion > pattern that skips .o files during backup runs, and they didn't want > to create specialized rules for different projects. Hence the request > for the oddly named directory to make it match the existing pattern. > > We also have a symlink without the ".o" extension (workspace -> > workspace.o) which is commonly used to access the work space, but > symlinks frequently get expanded when scripts run. In the end, the > xfsprogs build system saw the full path without the symlink > (".../workspace.o/.../xfsprogs-5.8.0/...") and started substituting > workspace.o with workspace.lo. And then the build died. > > Like this: > > >>> xfsprogs 5.8.0 Building > PATH="/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/host/bin:/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" > /usr/bin/make -j33 -C > /local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/build/xfsprogs-5.8.0/ > [HEADERS] include > [HEADERS] libxfs > Building include > [LN] disk > make[3]: Nothing to be done for 'include'. > Building libfrog > [CC] gen_crc32table > [GENERATE] crc32table.h > make[4]: *** No rule to make target > '/local/users/jenkins/workspace.lo/buildroot_linux-5.4_llvm/output/arm64/target/usr/include/uuid/uuid.h', > needed by 'bitmap.lo'. Stop. > make[4]: *** Waiting for unfinished jobs.... > [CC] avl64.lo > include/buildrules:35: recipe for target 'libfrog' failed > make[3]: *** [libfrog] Error 2 > Makefile:91: recipe for target 'default' failed > make[2]: *** [default] Error 2 > package/pkg-generic.mk:247: recipe for target > '/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/build/xfsprogs-5.8.0/.stamp_built' > failed > make[1]: *** [/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/build/xfsprogs-5.8.0/.stamp_built] > Error 2 > > Regards, > -Markus