]> git.ipfire.org Git - pakfire.git/commitdiff
man: Add scaffolding
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 9 Nov 2021 12:01:05 +0000 (12:01 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 9 Nov 2021 12:01:05 +0000 (12:01 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
configure.ac
man/.gitignore [new file with mode: 0644]
man/asciidoc.conf [new file with mode: 0644]
man/pakfire.txt [new file with mode: 0644]

index 001aa25f9f0d58aa176ff493217fcfe3552c5f69..060edb10a106e7084a93abb67645342eafb9c94e 100644 (file)
@@ -566,6 +566,72 @@ dist_macros_DATA = \
 
 # ------------------------------------------------------------------------------
 
+MANPAGES = \
+       man/pakfire.8
+
+MANPAGES_TXT  = $(patsubst %.8,%.txt,$(MANPAGES))
+MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT))
+MANPAGES_XML  = $(patsubst %.txt,%.xml,$(MANPAGES_TXT))
+
+AM_V_ASCIIDOC   = $(AM_V_ASCIIDOC_$(V))
+AM_V_ASCIIDOC_  = $(AM_V_ASCIIDOC_$(AM_DEFAULT_VERBOSITY))
+AM_V_ASCIIDOC_0 = @echo "  ASCIIDOC" $@;
+
+AM_V_XSLT       = $(AM_V_XSLT_$(V))
+AM_V_XSLT_      = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
+AM_V_XSLT_0     = @echo "  XSLT    " $@;
+
+.PHONY: man
+man: $(MANPAGES) $(MANPAGES_HTML)
+
+if ENABLE_MAN_PAGES
+man_MANS = \
+       $(MANPAGES)
+endif
+
+CLEANFILES += \
+       $(MANPAGES) \
+       $(MANPAGES_HTML) \
+       $(MANPAGES_XML)
+
+EXTRA_DIST += \
+       man/asciidoc.conf \
+       $(MANPAGES_TXT)
+
+XSLTPROC_FLAGS = \
+       --nonet \
+       --stringparam man.output.quietly 1 \
+       --stringparam funcsynopsis.style ansi \
+       --stringparam man.th.extra1.suppress 1 \
+       --stringparam man.authors.section.enabled 1 \
+       --stringparam man.copyright.section.enabled 1
+
+XSLTPROC_COMMAND_MAN = \
+       $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \
+       $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
+               http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+man/%.xml: man/%.txt man/asciidoc.conf
+       $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \
+       $(ASCIIDOC) \
+               -f $(abs_srcdir)/man/asciidoc.conf \
+               -d manpage -b docbook -o $@ $<
+
+man/%.8: man/%.xml
+       $(XSLTPROC_COMMAND_MAN)
+
+man/%.html: man/%.txt man/asciidoc.conf
+       $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \
+       $(ASCIIDOC) \
+               -f $(abs_srcdir)/man/asciidoc.conf \
+               -b html5 -a icons -a theme=flask -o $@ $<
+
+.PHONY: upload-man
+upload-man: $(MANPAGES_HTML)
+       rsync -avHz --delete --progress $(MANPAGES_HTML) ms@fs01.haj.ipfire.org:/pub/man-pages/$(PACKAGE_NAME)/
+
+# ------------------------------------------------------------------------------
+
 if HAVE_SYSTEMD
 systemdsystemunit_DATA = \
        src/systemd/pakfire-daemon.service
index 0ec3ae5f3365d7f5aae2834a53991d6d404256f2..ee6aeba3e708fae7f1ef24c59dfba3e2f856a588 100644 (file)
@@ -76,6 +76,21 @@ AS_IF([test "x$enable_online_tests" = "xyes"], [
        AC_DEFINE(ENABLE_ONLINE_TESTS, [1], [Online Tests])
 ])
 
+# Man Pages
+
+have_man_pages=no
+AC_ARG_ENABLE(man_pages, AS_HELP_STRING([--disable-man-pages],
+       [do not install man pages]))
+AS_IF([test "x$enable_man_pages" != xno], [have_man_pages=yes])
+AM_CONDITIONAL(ENABLE_MAN_PAGES, [test "x$have_man_pages" = "xyes"])
+
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+
+AC_CHECK_PROGS(ASCIIDOC, [asciidoc])
+if test "${have_man_pages}" = "yes" && test -z "${ASCIIDOC}"; then
+       AC_MSG_ERROR([Required program 'asciidoc' not found])
+fi
+
 # pkg-config
 PKG_PROG_PKG_CONFIG
 # This makes sure pkg.m4 is available.
diff --git a/man/.gitignore b/man/.gitignore
new file mode 100644 (file)
index 0000000..f891826
--- /dev/null
@@ -0,0 +1,3 @@
+/*.[13578]
+/*.html
+/*.xml
diff --git a/man/asciidoc.conf b/man/asciidoc.conf
new file mode 100644 (file)
index 0000000..243f81f
--- /dev/null
@@ -0,0 +1,12 @@
+ifdef::backend-docbook[]
+[link-inlinemacro]
+{0%{target}}
+{0#<citerefentry>}
+{0#<refentrytitle>{target}</refentrytitle><manvolnum>{0}</manvolnum>}
+{0#</citerefentry>}
+endif::backend-docbook[]
+
+ifdef::backend-html5[]
+[link-inlinemacro]
+<a href="{target}.html">{target}{0?({0})}</a>
+endif::backend-html5[]
diff --git a/man/pakfire.txt b/man/pakfire.txt
new file mode 100644 (file)
index 0000000..f4de318
--- /dev/null
@@ -0,0 +1,29 @@
+= pakfire(8)
+
+== NAME
+pakfire - The package management system for IPFire
+
+== SYNOPSIS
+[verse]
+`pakfire install ...`
+
+== DESCRIPTION
+`pakfire` is the command that controls the IPFire Package Management system.
+
+== OPTIONS
+
+--offline::
+       Enable offline mode
+
+TODO
+
+== COMMANDS
+
+TODO
+
+== BUG REPORTS
+Please report all bugs to the bugtracker at https://bugzilla.ipfire.org/;
+refer to https://wiki.ipfire.org/devel/bugzilla for details.
+
+== AUTHORS
+Michael Tremer