Bug in gb_Package_use_unpacked?

Michael Stahl mst at libreoffice.org
Mon Feb 8 15:27:09 UTC 2021


On 05.02.21 13:31, Stephan Bergmann wrote:
> With a configuration containing --enable-ext-numbertext, my latest 
> not-from-scratch build after 
> <https://git.libreoffice.org/core/+/e6165b7cac5d91458d61da3de35486cde3004897%5E%21> 
> "tdf#136368 bump to libnumbertext 1.0.7" failed with
> 
>> ~/lo/core/external/libnumbertext/ExternalPackage_numbertext.mk:12: *** 
>> file ~/lo/core/workdir/UnpackedTarball/libnumbertext/data/ga.sor does 
>> not exist in the tarball.  Stop.
> 
> (and `make UnpackedTarball_libnumbertext.clean` worked around the issue).
> 
> I think the issue is that
> 
>> commit df4ff3547078c17cf69f7574dd7995cc51cc7934
>> Author: David Tardon <dtardon at redhat.com>
>> Date:   Mon Aug 20 11:15:05 2012 +0200
>>
>>     add support for external tarballs to gbuild
>>     Change-Id: Ic6645e9943b2445ebb37bb99114f777527c69af9
> [...]
>> diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk
>> index e1d199e4f142..23aeceeb8fe0 100644
>> --- a/solenv/gbuild/Package.mk
>> +++ b/solenv/gbuild/Package.mk
>> @@ -114,4 +114,10 @@ $(foreach file,$(3),$(call 
>> gb_Package_add_file,$(1),$(2)/$(file),$(file)))
>>
>>  endef
>>
>> +# Package files from unpacked tarball of an external project
>> +define gb_Package_use_unpacked
>> +$(call gb_Package_get_preparation_target,$(1)) :| $(call 
>> gb_UnpackedTarball_get_target,$(2))
>> +
>> +endef
>> +
>>  # vim: set noet sw=4:
> 
> made the dependency on gb_UnpackedTarball_get_target,libnumberext 
> (triggered via `$(eval $(call 
> gb_ExternalPackage_ExternalPackage,libnumbertext_numbertext,libnumbertext))` 
> -> gb_ExternalPackage_ExternalPackage_internal -> 
> gb_Package_use_unpacked) order-only.  The old unpacked 
> libnumbertext-1.0.6.tar.xz already exists at 
> workdir/UnpackedTarball/libnumbertext, but lacks data/ga.sor which the 
> new external/libnumbertext/ExternalPackage_numbertext.mk now wants to 
> package.

hmm.... no, that doesn't look likely.

> define gb_UnpackedTarball_mark_output_file
> $(call gb_UnpackedTarball_get_final_target,$(1)) : $(call gb_UnpackedTarball_get_dir,$(1))/$(2)
> $(call gb_UnpackedTarball_get_dir,$(1))/$(2) : $(call gb_UnpackedTarball_get_target,$(1))

^ this ought to be enough to prevent the problem you're seeing, not sure 
why it doesn't work...


More information about the LibreOffice mailing list