Disambiguate pattern rules in extras/CustomTarget_autotext{share,user}.mk

One of my builds using make-4.4-3.fc38.x86_64 started to consistently fail now
with

> [ZIP] autotext/user/mytexts.bau
> S=... && I=$S/instdir && W=$S/workdir &&  cd $W/CustomTarget/extras/source/autotext/user/mytexts/ && zip -q0X --filesync --must-match $W/CustomTarget/extras/source/autotext/user/mytexts.bau mimetype && zip -qrX --must-match $W/CustomTarget/extras/source/autotext/user/mytexts.bau
>
> zip error: Nothing to do! (.../workdir/CustomTarget/extras/source/autotext/user/mytexts.bau)
> make: *** [.../extras/CustomTarget_autotextshare.mk:3668: .../workdir/CustomTarget/extras/source/autotext/user/mytexts.bau] Error 12
> make: *** Deleting file '.../workdir/CustomTarget/extras/source/autotext/user/mytexts.bau'

It turned out that this didn't use the expected

> $(call gb_CustomTarget_get_workdir,extras/source/autotext/user)/%.bau

rule in extras/CustomTarget_autotextuser.mk (with a stem of "mytexts"), but
rather the

> $(call gb_CustomTarget_get_workdir,extras/source/autotext)/%.bau

rule in extras/CustomTarget_autotextshare.mk (with a stem of "user/mytexts").
But in that mismatched rule the part

> $(call extras_AUTOTEXTSHARE_XMLFILES_RELATIVE,$*)

then expanded to nothing, calling zip with an empty list of files, which makes
zip fail.

No idea why this apparently worked reliably in the past, and why it started to
fail for just this one build scenario of mine (it still worked for other builds
also using make-4.4-3.fc38.x86_64 now).

Change-Id: I643fb0835313cacca5b64416006a3573e559ae78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148946
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
This commit is contained in:
Stephan Bergmann
2025-02-07 07:58:28 +01:00
committed by Stephan Bergmann
parent 926e16ed65
commit afe00aba4e
2 changed files with 10 additions and 10 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_AllLangPackage_AllLangPackage,autotextshare,$(gb_CustomTarget_workdir)/extras/source/autotext))
$(eval $(call gb_AllLangPackage_AllLangPackage,autotextshare,$(gb_CustomTarget_workdir)/extras/source/autotext/share))
$(eval $(call gb_AllLangPackage_add_files,autotextshare,$(LIBO_SHARE_FOLDER)/autotext,\
af/standard.bau \
+9 -9
View File
@@ -7,7 +7,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_CustomTarget_CustomTarget,extras/source/autotext))
$(eval $(call gb_CustomTarget_CustomTarget,extras/source/autotext/share))
extras_AUTOTEXTSHARE_XMLFILES := \
af/standard/BlockList.xml \
@@ -3637,31 +3637,31 @@ extras_AUTOTEXTSHARE_XMLFILES_RELATIVE = $(subst $(1)/,,$(filter $(1)/%,$(extras
.SECONDEXPANSION:
# secondexpansion since the patterns not just cover a filename portion, but also include a
# directory portion withdifferent number of elements
$(gb_CustomTarget_workdir)/extras/source/autotext/%/mimetype : \
| $$(dir $(gb_CustomTarget_workdir)/extras/source/autotext/$$*/mimetype).dir
$(gb_CustomTarget_workdir)/extras/source/autotext/share/%/mimetype : \
| $$(dir $(gb_CustomTarget_workdir)/extras/source/autotext/share/$$*/mimetype).dir
$(call gb_Output_announce,autotext/$*/mimetype,$(true),TCH,1)
$(call gb_Trace_StartRange,autotext/$*/mimetype,TCH)
touch $@
$(call gb_Trace_EndRange,autotext/$*/mimetype,TCH)
# rule for *.rdf, *.svm, *.png, …
$(gb_CustomTarget_workdir)/extras/source/autotext/% : $(SRCDIR)/extras/source/autotext/lang/% \
| $$(dir $(gb_CustomTarget_workdir)/extras/source/autotext/$$*).dir
$(gb_CustomTarget_workdir)/extras/source/autotext/share/% : $(SRCDIR)/extras/source/autotext/lang/% \
| $$(dir $(gb_CustomTarget_workdir)/extras/source/autotext/share/$$*).dir
$(call gb_Output_announce,autotext/$*,$(true),CPY,1)
$(call gb_Trace_StartRange,autotext/$*,CPY)
cp $< $@
$(call gb_Trace_EndRange,autotext/$*,CPY)
$(gb_CustomTarget_workdir)/extras/source/autotext/%.xml : $(SRCDIR)/extras/source/autotext/lang/%.xml \
$(gb_CustomTarget_workdir)/extras/source/autotext/share/%.xml : $(SRCDIR)/extras/source/autotext/lang/%.xml \
| $(call gb_ExternalExecutable_get_dependencies,xsltproc) \
$$(dir $(gb_CustomTarget_workdir)/extras/source/autotext/$$*.xml).dir
$$(dir $(gb_CustomTarget_workdir)/extras/source/autotext/share/$$*.xml).dir
$(call gb_Output_announce,autotext/$*.xml,$(true),XSL,1)
$(call gb_Trace_StartRange,autotext/$*.xml,XSL)
$(call gb_ExternalExecutable_get_command,xsltproc) --nonet -o $@ $(SRCDIR)/extras/util/compact.xsl $<
$(call gb_Trace_EndRange,autotext/$*.xml,XSL)
$(gb_CustomTarget_workdir)/extras/source/autotext/%.bau : \
$$(addprefix $(gb_CustomTarget_workdir)/extras/source/autotext/$$*/,\
$(gb_CustomTarget_workdir)/extras/source/autotext/share/%.bau : \
$$(addprefix $(gb_CustomTarget_workdir)/extras/source/autotext/share/$$*/,\
mimetype $$(call extras_AUTOTEXTSHARE_XMLFILES_RELATIVE,$$*))
$(call gb_Output_announce,autotext/$*.bau,$(true),ZIP,2)
$(call gb_Trace_StartRange,autotext/$*.bau,ZIP)