diff options
| author | Bob Beck <[email protected]> | 2026-08-08 02:06:04 +0200 |
|---|---|---|
| committer | Tomas Mraz <[email protected]> | 2026-09-01 16:01:56 +0200 |
| commit | db0d21bad3bc2dd8b9c4c68d9f63a651518a38bc (patch) | |
| tree | 8b8bfc2f328e09ee899821b6066dace7e00de70e /Configurations | |
| parent | Generate the error headers and tables at build time (diff) | |
| download | openssl-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.tmpl | 84 |
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) |
