From 030005d0c8d0434c0c00a481799634ad045a6449 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 28 May 2020 22:03:59 +0000 Subject: do not run texlinks if it is not installed git-svn-id: svn://tug.org/texlive/trunk@55329 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/ChangeLog | 6 ++++++ Build/source/Makefile.am | 7 +++++-- Build/source/Makefile.in | 7 +++++-- Build/source/texk/texlive/tl_support/ChangeLog | 12 ++++++++++++ Build/source/texk/texlive/tl_support/Makefile.am | 21 +++++++++++++-------- Build/source/texk/texlive/tl_support/Makefile.in | 15 +++++++-------- 6 files changed, 48 insertions(+), 20 deletions(-) diff --git a/Build/source/ChangeLog b/Build/source/ChangeLog index f3a4c2278c5..96ca08c2888 100644 --- a/Build/source/ChangeLog +++ b/Build/source/ChangeLog @@ -1,3 +1,9 @@ +2020-05-28 Karl Berry + + * Makefile.am (world): do not descend into $(texlinks_dir) if it + doesn't exist. Report from Andreas Scherer, + https://tug.org/pipermail/tlbuild/2020q1/004614.html. + 2020-05-14 Karl Berry * reautoconf for removal of poppler support. diff --git a/Build/source/Makefile.am b/Build/source/Makefile.am index 729fc8beb68..7db6b6b5136 100644 --- a/Build/source/Makefile.am +++ b/Build/source/Makefile.am @@ -53,8 +53,11 @@ world: all @echo "top-level make $@: running install-strip..." $(MAKE) $(AM_MAKEFLAGS) install-strip # - @echo "top-level make $@: making run-texlinks in $(texlinks_dir) ..." - cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks +# Just in case it's not a full checkout. + if test -d "$(texlinks_dir)"; then \ + echo "top-level make $@: making run-texlinks in $(texlinks_dir) ..."; \ + cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks; \ + else :; fi # @echo "top-level make $@: running $(check_target)..." $(MAKE) $(AM_MAKEFLAGS) $(check_target) diff --git a/Build/source/Makefile.in b/Build/source/Makefile.in index 4bc4cc11296..bb4be69d7f6 100644 --- a/Build/source/Makefile.in +++ b/Build/source/Makefile.in @@ -1044,8 +1044,11 @@ world: all @echo "top-level make $@: running install-strip..." $(MAKE) $(AM_MAKEFLAGS) install-strip # - @echo "top-level make $@: making run-texlinks in $(texlinks_dir) ..." - cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks +# Just in case it's not a full checkout. + if test -d "$(texlinks_dir)"; then \ + echo "top-level make $@: making run-texlinks in $(texlinks_dir) ..."; \ + cd $(texlinks_dir) && $(MAKE) $(AM_MAKEFLAGS) run-texlinks; \ + else :; fi # @echo "top-level make $@: running $(check_target)..." $(MAKE) $(AM_MAKEFLAGS) $(check_target) diff --git a/Build/source/texk/texlive/tl_support/ChangeLog b/Build/source/texk/texlive/tl_support/ChangeLog index dd8bb62b818..2db19b13364 100644 --- a/Build/source/texk/texlive/tl_support/ChangeLog +++ b/Build/source/texk/texlive/tl_support/ChangeLog @@ -1,3 +1,15 @@ +2020-05-28 Karl Berry + + * Makefile.am (run-texlinks): do nothing if the texlinks script + or the needed fmtutil.cnf do not exist or are empty files. This + can happen with, e.g., --disable-texlive. + (texlinks_fmtutil): new variable for fmtutil.cnf location. + ($(DESTDIR)$(bindir)/texlinks, + $(DESTDIR)$(web2cdir)/fmtutil.cnf): remove targets, since we check + explicitly for the files now. make install must be run first. + Report from Andreas Scherer, + https://tug.org/pipermail/tlbuild/2020q1/004614.html. + 2020-01-31 Karl Berry * mktexlsr.1, diff --git a/Build/source/texk/texlive/tl_support/Makefile.am b/Build/source/texk/texlive/tl_support/Makefile.am index d37a03ca878..06593ac5e8d 100644 --- a/Build/source/texk/texlive/tl_support/Makefile.am +++ b/Build/source/texk/texlive/tl_support/Makefile.am @@ -79,18 +79,23 @@ xfmtutil.1: fmtutil.help2man $(tl_scripts_dir)/fmtutil.pl ## fmtutil.cnf file to use for the sake of distro builds. ## We pass along the executable extension for the sake of cygwin, so we ## don't create dangling symlinks there (even though they work). -# +## +## The texlinks script is installed by ../linked_scripts/Makefile[.am]. +## If it doesn't exist, e.g., if --disable-texlive was given, do nothing here. +## So we do not specify make-level dependencies, but instead check if +## the texlinks file (normally a symlink) and fmtutil.cnf exist. +## texlinks_prog = $(DESTDIR)$(bindir)/texlinks +texlinks_fmtutil = $(DESTDIR)$(web2cdir)/fmtutil.cnf # run_texlinks = $(texlinks_prog) -v \ - -f $(DESTDIR)$(web2cdir)/fmtutil.cnf \ + -f $(texlinks_fmtutil) \ -e "$(EXEEXT)" $(DESTDIR)$(bindir) # -run-texlinks: $(DESTDIR)$(bindir)/texlinks +run-texlinks: if !WIN32 - PATH="$(DESTDIR)$(bindir):$(PATH)"; export PATH; $(run_texlinks) + if test -s $(texlinks_prog) && test -s $(texlinks_fmtutil); then \ + echo "running texlinks in `pwd` via: $(run_texlinks)"; \ + PATH="$(DESTDIR)$(bindir):$(PATH)"; export PATH; $(run_texlinks); \ + else :; fi endif !WIN32 -# -$(DESTDIR)$(bindir)/texlinks: $(DESTDIR)$(web2cdir)/fmtutil.cnf -$(DESTDIR)$(web2cdir)/fmtutil.cnf: - $(MAKE) $(AM_MAKEFLAGS) install diff --git a/Build/source/texk/texlive/tl_support/Makefile.in b/Build/source/texk/texlive/tl_support/Makefile.in index 5258464cb93..f1ebfda1a9f 100644 --- a/Build/source/texk/texlive/tl_support/Makefile.in +++ b/Build/source/texk/texlive/tl_support/Makefile.in @@ -287,11 +287,11 @@ dist_web2c_DATA = fmtutil.cnf EXTRA_DIST = updmap.help2man fmtutil.help2man Master_dir = $(top_srcdir)/../../../../Master tl_scripts_dir = $(Master_dir)/texmf-dist/scripts/texlive -# texlinks_prog = $(DESTDIR)$(bindir)/texlinks +texlinks_fmtutil = $(DESTDIR)$(web2cdir)/fmtutil.cnf # run_texlinks = $(texlinks_prog) -v \ - -f $(DESTDIR)$(web2cdir)/fmtutil.cnf \ + -f $(texlinks_fmtutil) \ -e "$(EXEEXT)" $(DESTDIR)$(bindir) all: all-am @@ -696,12 +696,11 @@ xfmtutil.1: fmtutil.help2man $(tl_scripts_dir)/fmtutil.pl .PHONY: run-texlinks # -run-texlinks: $(DESTDIR)$(bindir)/texlinks -@WIN32_FALSE@ PATH="$(DESTDIR)$(bindir):$(PATH)"; export PATH; $(run_texlinks) -# -$(DESTDIR)$(bindir)/texlinks: $(DESTDIR)$(web2cdir)/fmtutil.cnf -$(DESTDIR)$(web2cdir)/fmtutil.cnf: - $(MAKE) $(AM_MAKEFLAGS) install +run-texlinks: +@WIN32_FALSE@ if test -s $(texlinks_prog) && test -s $(texlinks_fmtutil); then \ +@WIN32_FALSE@ echo "running texlinks in `pwd` via: $(run_texlinks)"; \ +@WIN32_FALSE@ PATH="$(DESTDIR)$(bindir):$(PATH)"; export PATH; $(run_texlinks); \ +@WIN32_FALSE@ else :; fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. -- cgit v1.2.3