aboutsummaryrefslogtreecommitdiffstats
path: root/Configurations
diff options
context:
space:
mode:
authorBob Beck <[email protected]>2026-08-08 02:06:04 +0200
committerTomas Mraz <[email protected]>2026-09-01 16:01:56 +0200
commitdb0d21bad3bc2dd8b9c4c68d9f63a651518a38bc (patch)
tree8b8bfc2f328e09ee899821b6066dace7e00de70e /Configurations
parentGenerate the error headers and tables at build time (diff)
downloadopenssl-db0d21bad3bc2dd8b9c4c68d9f63a651518a38bc.tar.gz
openssl-db0d21bad3bc2dd8b9c4c68d9f63a651518a38bc.zip
Install man pages a section at a time, not a process per page
Replace util/write-man-symlinks with util/install-man-pages.pl, which installs or uninstalls an entire man section in one process: copy, chmod and the NAME-alias symlinks that previously cost a basename, cp, chmod and a full perl interpreter for every one of the ~900 installed pages. Stale alias links are removed before being recreated, with one constraint carried over from the old script's silent symlink failures: on a case-insensitive file system an alias can collide with an installed page (OSSL_TRACE_ENABLED alongside OSSL_trace_enabled), so nothing that is not a symlink is ever removed, and an occupied alias name is skipped. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:04 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
Diffstat (limited to 'Configurations')
-rw-r--r--Configurations/unix-Makefile.tmpl84
1 files changed, 24 insertions, 60 deletions
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 909ef00cc48..f45a26effbb 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -1037,69 +1037,33 @@ install_man_docs: build_man_docs
@$(PERL) $(SRCDIR)/util/mkdir-p.pl "$(DESTDIR)$(MANDIR)/man5"
@$(PERL) $(SRCDIR)/util/mkdir-p.pl "$(DESTDIR)$(MANDIR)/man7"
@$(ECHO) "*** Installing manpages"
- @set -e; for x in dummy $(MANDOCS1); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX)"; \
- cp $$x "$(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX)"; \
- chmod 644 "$(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks install $(SRCDIR)/doc/man1 $(BLDDIR)/doc/man1 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man1"; \
- done
- @set -e; for x in dummy $(MANDOCS3); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX)"; \
- cp $$x "$(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX)"; \
- chmod 644 "$(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks install $(SRCDIR)/doc/man3 $(BLDDIR)/doc/man3 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man3"; \
- done
- @set -e; for x in dummy $(MANDOCS5); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX)"; \
- cp $$x "$(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX)"; \
- chmod 644 "$(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks install $(SRCDIR)/doc/man5 $(BLDDIR)/doc/man5 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man5"; \
- done
- @set -e; for x in dummy $(MANDOCS7); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "install $$x -> $(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX)"; \
- cp $$x "$(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX)"; \
- chmod 644 "$(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks install $(SRCDIR)/doc/man7 $(BLDDIR)/doc/man7 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man7"; \
- done
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl install \
+ $(SRCDIR)/doc/man1 $(BLDDIR)/doc/man1 \
+ "$(DESTDIR)$(MANDIR)/man1" "$(MANSUFFIX)" $(MANDOCS1)
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl install \
+ $(SRCDIR)/doc/man3 $(BLDDIR)/doc/man3 \
+ "$(DESTDIR)$(MANDIR)/man3" "$(MANSUFFIX)" $(MANDOCS3)
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl install \
+ $(SRCDIR)/doc/man5 $(BLDDIR)/doc/man5 \
+ "$(DESTDIR)$(MANDIR)/man5" "$(MANSUFFIX)" $(MANDOCS5)
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl install \
+ $(SRCDIR)/doc/man7 $(BLDDIR)/doc/man7 \
+ "$(DESTDIR)$(MANDIR)/man7" "$(MANSUFFIX)" $(MANDOCS7)
uninstall_man_docs: build_man_docs
@$(ECHO) "*** Uninstalling manpages"
- @set -e; for x in dummy $(MANDOCS1); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX)"; \
- $(RM) "$(DESTDIR)$(MANDIR)/man1/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks uninstall $(SRCDIR)/doc/man1 $(BLDDIR)/doc/man1 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man1"; \
- done
- @set -e; for x in dummy $(MANDOCS3); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX)"; \
- $(RM) "$(DESTDIR)$(MANDIR)/man3/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks uninstall $(SRCDIR)/doc/man3 $(BLDDIR)/doc/man3 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man3"; \
- done
- @set -e; for x in dummy $(MANDOCS5); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX)"; \
- $(RM) "$(DESTDIR)$(MANDIR)/man5/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks uninstall $(SRCDIR)/doc/man5 $(BLDDIR)/doc/man5 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man5"; \
- done
- @set -e; for x in dummy $(MANDOCS7); do \
- if [ "$$x" = "dummy" ]; then continue; fi; \
- fn=`basename $$x`; \
- $(ECHO) "$(RM) $(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX)"; \
- $(RM) "$(DESTDIR)$(MANDIR)/man7/$${fn}$(MANSUFFIX)"; \
- $(PERL) $(SRCDIR)/util/write-man-symlinks uninstall $(SRCDIR)/doc/man7 $(BLDDIR)/doc/man7 $${fn}$(MANSUFFIX) "$(DESTDIR)$(MANDIR)/man7"; \
- done
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl uninstall \
+ $(SRCDIR)/doc/man1 $(BLDDIR)/doc/man1 \
+ "$(DESTDIR)$(MANDIR)/man1" "$(MANSUFFIX)" $(MANDOCS1)
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl uninstall \
+ $(SRCDIR)/doc/man3 $(BLDDIR)/doc/man3 \
+ "$(DESTDIR)$(MANDIR)/man3" "$(MANSUFFIX)" $(MANDOCS3)
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl uninstall \
+ $(SRCDIR)/doc/man5 $(BLDDIR)/doc/man5 \
+ "$(DESTDIR)$(MANDIR)/man5" "$(MANSUFFIX)" $(MANDOCS5)
+ @$(PERL) $(SRCDIR)/util/install-man-pages.pl uninstall \
+ $(SRCDIR)/doc/man7 $(BLDDIR)/doc/man7 \
+ "$(DESTDIR)$(MANDIR)/man7" "$(MANSUFFIX)" $(MANDOCS7)
install_html_docs: install_image_docs build_html_docs
@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)