]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
*.mk: [un]install-manintro: Add target to [un]install intro(*) pages separately
authorAlejandro Colomar <alx@kernel.org>
Sun, 13 Aug 2023 11:45:27 +0000 (13:45 +0200)
committerAlejandro Colomar <alx@kernel.org>
Sun, 13 Aug 2023 11:57:09 +0000 (13:57 +0200)
Debian installs intro(*) pages --including intro(3)-- in the manpages
package, not in manpages-dev, even if they would otherwise belong to the
-dev one due to their section.  This is because even if someone may not
be interested in installing development manual pages, an introduction to
the section, explaining what one could find there when installed, is
useful.

Let's make it easy to do that with a specialized target that installs
all intro(*) pages.

This is a breaking change, since from now on, the only way to install
intro(*) pages is through this new target, and the old install-man*
targets won't install their own intro(*) pages.  However, of course, the
wrapper targets `install` and `install-man` still install the intro(*)
pages.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
Makefile
share/mk/install/man.mk
share/mk/src.mk

index 65eb234504684b738ddba67cb327ce2a541f6bcd..93a51a63cdb8ed001309a81b8b1b221739ecc587 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -102,6 +102,7 @@ help:
        $(info  )
        $(info  [un]install             Alias for "[un]install-man")
        $(info  [un]install-man         Wrapper for [un]install-man* targets)
+       $(info  [un]install-manintro    [Un]install intro(*) man pages)
        $(info  [un]install-man1        [Un]install man pages in section 1)
        $(info  [un]install-man2        [Un]install man pages in section 2)
        $(info  [un]install-man2type    [Un]install man pages in section 2type)
index a135788cdae584154d5acc60d878d5ffa813f534..ccc59dde596232fc509ab7adff73299166195e0b 100644 (file)
@@ -64,6 +64,7 @@ _man6dir      := $(DESTDIR)$(man6dir)
 _man7dir      := $(DESTDIR)$(man7dir)
 _man8dir      := $(DESTDIR)$(man8dir)
 
+_manintropages  := $(patsubst $(MANDIR)/%,$(_mandir)/%$(Z),$(MANINTROPAGES))
 _man1pages      := $(patsubst $(MANDIR)/man1/%,$(_man1dir)/%$(Z),$(MAN1PAGES))
 _man2pages      := $(patsubst $(MANDIR)/man2/%,$(_man2dir)/%$(Z),$(MAN2PAGES))
 _man2typepages  := $(patsubst $(MANDIR)/man2type/%,$(_man2typedir)/%$(Z),$(MAN2TYPEPAGES))
@@ -76,7 +77,8 @@ _man5pages      := $(patsubst $(MANDIR)/man5/%,$(_man5dir)/%$(Z),$(MAN5PAGES))
 _man6pages      := $(patsubst $(MANDIR)/man6/%,$(_man6dir)/%$(Z),$(MAN6PAGES))
 _man7pages      := $(patsubst $(MANDIR)/man7/%,$(_man7dir)/%$(Z),$(MAN7PAGES))
 _man8pages      := $(patsubst $(MANDIR)/man8/%,$(_man8dir)/%$(Z),$(MAN8PAGES))
-_manpages       := $(_man1pages) \
+_manpages       := $(_manintropages) \
+                   $(_man1pages) \
                    $(_man2pages) $(_man2typepages) \
                    $(_man3pages) $(_man3constpages) $(_man3headpages) $(_man3typepages) \
                    $(_man4pages) \
@@ -85,6 +87,7 @@ _manpages       := $(_man1pages) \
                    $(_man7pages) \
                    $(_man8pages)
 
+_manintropages_rm := $(addsuffix -rm,$(wildcard $(_manintropages)))
 _man1pages_rm     := $(addsuffix -rm,$(wildcard $(_man1pages)))
 _man2pages_rm     := $(addsuffix -rm,$(wildcard $(_man2pages)))
 _man2typepages_rm := $(addsuffix -rm,$(wildcard $(_man2typepages)))
@@ -103,6 +106,7 @@ install_manX     := $(foreach x,$(MAN_SECTIONS),install-man$(x))
 uninstall_manX   := $(foreach x,$(MAN_SECTIONS),uninstall-man$(x))
 
 
+$(_manintropages):  $(_mandir)/%$(Z):       $(MANDIR)/%           | $$(@D)/
 $(_man1pages):      $(_man1dir)/%$(Z):      $(MANDIR)/man1/%      | $$(@D)/
 $(_man2pages):      $(_man2dir)/%$(Z):      $(MANDIR)/man2/%      | $$(@D)/
 $(_man2typepages):  $(_man2typedir)/%$(Z):  $(MANDIR)/man2type/%  | $$(@D)/
@@ -164,6 +168,8 @@ else ifeq ($(Z),.xz)
 endif
 
 
+.PHONY: install-manintro
+install-manintro:  $(_manintropages);
 .PHONY: install-man1
 install-man1:      $(_man1pages);
 .PHONY: install-man2
@@ -190,13 +196,15 @@ install-man7:      $(_man7pages);
 install-man8:      $(_man8pages);
 
 .PHONY: install-man
-install-man: $(install_manX);
+install-man: install-manintro $(install_manX);
 
+.PHONY: uninstall-manintro
+uninstall-manintro: $(_manintropages_rm);
 .PHONY: $(uninstall_manX)
 $(uninstall_manX): uninstall-man%: $$(_man%pages_rm);
 
 .PHONY: uninstall-man
-uninstall-man: $(uninstall_manX);
+uninstall-man: uninstall-manintro $(uninstall_manX);
 
 
 endif  # include guard
index 78b8a9ebf893e2c34eaf9d0ca459b37033740fdf..186e5628bf359016c217a029cd3a43643995548f 100644 (file)
@@ -20,18 +20,26 @@ MANPAGES := $(shell $(FIND) $(MANDIR)/* -type f \
                | $(SORTMAN) \
                | $(SED) 's,:,\\:,g')
 
-MAN1PAGES      := $(filter $(MANDIR)/man1/%,$(filter %.1,$(MANPAGES)))
-MAN2PAGES      := $(filter $(MANDIR)/man2/%,$(filter %.2,$(MANPAGES)))
-MAN2TYPEPAGES  := $(filter $(MANDIR)/man2type/%,$(filter %.2type,$(MANPAGES)))
-MAN3PAGES      := $(filter $(MANDIR)/man3/%,$(filter %.3,$(MANPAGES)))
-MAN3CONSTPAGES := $(filter $(MANDIR)/man3const/%,$(filter %.3const,$(MANPAGES)))
-MAN3HEADPAGES  := $(filter $(MANDIR)/man3head/%,$(filter %.3head,$(MANPAGES)))
-MAN3TYPEPAGES  := $(filter $(MANDIR)/man3type/%,$(filter %.3type,$(MANPAGES)))
-MAN4PAGES      := $(filter $(MANDIR)/man4/%,$(filter %.4,$(MANPAGES)))
-MAN5PAGES      := $(filter $(MANDIR)/man5/%,$(filter %.5,$(MANPAGES)))
-MAN6PAGES      := $(filter $(MANDIR)/man6/%,$(filter %.6,$(MANPAGES)))
-MAN7PAGES      := $(filter $(MANDIR)/man7/%,$(filter %.7,$(MANPAGES)))
-MAN8PAGES      := $(filter $(MANDIR)/man8/%,$(filter %.8,$(MANPAGES)))
+
+MANINTROPAGES := $(shell $(FIND) $(MANDIR)/* -type f \
+               | $(GREP) '$(MANEXT)' \
+               | $(GREP) '/intro$(MANEXT)' \
+               | $(SORTMAN) \
+               | $(SED) 's,:,\\:,g')
+
+
+MAN1PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man1/%,$(filter %.1,$(MANPAGES))))
+MAN2PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man2/%,$(filter %.2,$(MANPAGES))))
+MAN2TYPEPAGES  := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man2type/%,$(filter %.2type,$(MANPAGES))))
+MAN3PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man3/%,$(filter %.3,$(MANPAGES))))
+MAN3CONSTPAGES := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man3const/%,$(filter %.3const,$(MANPAGES))))
+MAN3HEADPAGES  := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man3head/%,$(filter %.3head,$(MANPAGES))))
+MAN3TYPEPAGES  := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man3type/%,$(filter %.3type,$(MANPAGES))))
+MAN4PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man4/%,$(filter %.4,$(MANPAGES))))
+MAN5PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man5/%,$(filter %.5,$(MANPAGES))))
+MAN6PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man6/%,$(filter %.6,$(MANPAGES))))
+MAN7PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man7/%,$(filter %.7,$(MANPAGES))))
+MAN8PAGES      := $(filter-out $(MANINTROPAGES),$(filter $(MANDIR)/man8/%,$(filter %.8,$(MANPAGES))))
 
 
 endif  # include guard