Re: [PATCH] include/buildrules: substitute ".o" for ".lo" only at the very end

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/12/21 3:55 PM, 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
> 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.

haha, no comment on the strategy ;)

But I agree that we should not be substituting anything but the root filename
suffix, so the patch is fine by me.

-Eric

> 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
> 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux