diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2019-06-24 08:47:57 +0200 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2019-07-05 20:03:40 +0200 |
commit | 368c996b24e09c427a30972b3405493328db6779 (patch) | |
tree | b5eb704df1e21f4942eb73cd999ee7c58853b231 /solenv/gbuild/Package.mk | |
parent | 5111baa39117f6e16909566e28a8663a32e25269 (diff) |
Make font-based unit test depend on instdir fonts
The current dependency is already a hack, because there is no way
I know of to depend on delivered top-level modules like more_fonts.
The original patch parses the gb_Package_MODULE_ooo_fonts list of
registered packages to add them as build dependencies.
But this is not sufficient, as it just adds the dependencies on the
installed / unpacked fonts in the workdir (actually it's just the
installer filelist), where they can't be found by the unit test
running in the instdir environment.
So this converts the depndency into a make error, if either the
filelist is missing or the included font files. But if we are in
a full run and know the more_fonts module, we simply depend on its
delivered files.
This needs some minimal changes to gbuild, as neither the delivered
file list nor the modules class names are yet available. And this
moves the fontconfig handling to extras, where the opensymbol font
is already handled.
Change-Id: I1b70a4c45ff189266ce56c57e534ddc45e7c5c19
Reviewed-on: https://gerrit.libreoffice.org/74624
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'solenv/gbuild/Package.mk')
-rw-r--r-- | solenv/gbuild/Package.mk | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk index 841e819c7c78..b1f2c2f2cfe0 100644 --- a/solenv/gbuild/Package.mk +++ b/solenv/gbuild/Package.mk @@ -81,15 +81,15 @@ $(call gb_Package_get_target,%) : $(call gb_Output_announce,$*,$(true),PKG,2) $(if $(PACKAGE_DEFINED),,$(call gb_Output_error,Something depends on package $* which does not exist.)) rm -f $@ && \ - mv $(call var2file,$@.tmp,100,$(sort $(FILES))) $@ + mv $(call var2file,$@.tmp,100,$(sort $(call gb_Package_get_files,$*))) $@ # for other targets that want to create Packages, does not register at Module define gb_Package_Package_internal gb_Package_SOURCEDIR_$(1) := $(2) gb_Package_OUTDIR_$(1) := $(INSTROOT) $(call gb_Package_get_target,$(1)) : PACKAGE_DEFINED := $(true) -$(call gb_Package_get_target,$(1)) : FILES := -$(call gb_Package_get_clean_target,$(1)) : FILES := $(call gb_Package_get_target,$(1)) $(call gb_Package_get_preparation_target,$(1)) +gb_Package_$(1)_FILES := +$(call gb_Package_get_clean_target,$(1)) : override FILES := $(call gb_Package_get_target,$(1)) $(call gb_Package_get_preparation_target,$(1)) $(call gb_Package_get_target,$(1)) : $(call gb_Package_get_preparation_target,$(1)) $(call gb_Package_get_target,$(1)) : $(gb_Module_CURRENTMAKEFILE) $(call gb_Package_get_target,$(1)) :| $(dir $(call gb_Package_get_target,$(1))).dir @@ -105,7 +105,7 @@ $$(eval $$(call gb_Output_info,Currently known packages are: $(sort $(gb_Package $$(eval $$(call gb_Output_error,Package $(1) must be registered in Repository.mk or RepositoryExternal.mk)) endif $(call gb_Package_Package_internal,$(1),$(2)) -$$(eval $$(call gb_Module_register_target,$(call gb_Package_get_target,$(1)),$(call gb_Package_get_clean_target,$(1)))) +$$(eval $$(call gb_Module_register_target,Package_$(1),$(call gb_Package_get_target,$(1)),$(call gb_Package_get_clean_target,$(1)))) $(call gb_Helper_make_userfriendly_targets,$(1),Package) endef @@ -136,7 +136,7 @@ $(call gb_Package_get_target,$(1)) : $$(gb_Package_OUTDIR_$(1))/$(2) $$(gb_Package_OUTDIR_$(1))/$(2) :| $$(dir $$(gb_Package_OUTDIR_$(1))/$(2)).dir rm -f $$@ && ln -s $(3) $$@ -$(call gb_Package_get_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2) +gb_Package_$(1)_FILES += $$(gb_Package_OUTDIR_$(1))/$(2) $(call gb_Package_get_clean_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2) endef @@ -145,12 +145,15 @@ define gb_Package_add_file $(call gb_Package__check,$(1)) $(if $(strip $(3)),,$(call gb_Output_error,gb_Package_add_file requires 3 arguments)) $(call gb_Package_get_target,$(1)) : $$(gb_Package_OUTDIR_$(1))/$(2) -$(call gb_Package_get_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2) +gb_Package_$(1)_FILES += $$(gb_Package_OUTDIR_$(1))/$(2) $(call gb_Package_get_clean_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2) $(call gb_PackagePart_PackagePart,$(2),$$(gb_Package_SOURCEDIR_$(1))/$(3),$(call gb_Package_get_preparation_target,$(1)),$$(gb_Package_OUTDIR_$(1))) endef +# Returns the list of files of a package +gb_Package_get_files = $(gb_Package_$(1)_FILES) + # Adds several files at once. # # Files are copied directly into the specified directory. |