From 01b6b0849ed098d4d3d8db3591443db3df6aa11b Mon Sep 17 00:00:00 2001 From: Levente Polyak Date: Sun, 26 Nov 2023 00:37:47 +0100 Subject: doc(man): fix cut off page names by switching to modern asciidoctor Asciidoc is the old reference implementation in Python, which has some shortcoming. Specifically we are hitting cut off page names for long subcommands. Fix this by switching to a more modern implementation named asciidoctor. During the migration, get rid of the explicit asciidoc.conf file that was required to define a linkman macro, which is now supported out of the box. Fixes #170 Signed-off-by: Levente Polyak --- .gitlab-ci.yml | 4 +-- Makefile | 4 +-- README.md | 2 +- doc/asciidoc.conf | 37 ---------------------------- doc/man/archbuild.1.asciidoc | 2 +- doc/man/checkpkg.1.asciidoc | 2 +- doc/man/devtools.7.asciidoc | 28 ++++++++++----------- doc/man/lddd.1.asciidoc | 2 +- doc/man/makerepropkg.1.asciidoc | 2 +- doc/man/mkarchroot.1.asciidoc | 2 +- doc/man/pkgctl-aur-drop-from-repo.1.asciidoc | 2 +- doc/man/pkgctl-aur.1.asciidoc | 2 +- doc/man/pkgctl-auth-login.1.asciidoc | 2 +- doc/man/pkgctl-auth-status.1.asciidoc | 2 +- doc/man/pkgctl-auth.1.asciidoc | 4 +-- doc/man/pkgctl-build.1.asciidoc | 4 +-- doc/man/pkgctl-db-update.1.asciidoc | 2 +- doc/man/pkgctl-release.1.asciidoc | 2 +- doc/man/pkgctl-repo-clone.1.asciidoc | 4 +-- doc/man/pkgctl-repo-create.1.asciidoc | 6 ++--- doc/man/pkgctl-repo.1.asciidoc | 10 ++++---- doc/man/pkgctl-search.1.asciidoc | 2 +- doc/man/pkgctl-version-check.1.asciidoc | 8 +++--- doc/man/pkgctl-version-upgrade.1.asciidoc | 8 +++--- doc/man/pkgctl-version.1.asciidoc | 8 +++--- doc/man/pkgctl.1.asciidoc | 18 +++++++------- 26 files changed, 66 insertions(+), 103 deletions(-) delete mode 100644 doc/asciidoc.conf diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3a75540..1a86515 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,7 @@ build: stage: build needs: [] script: - - pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoc + - pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoctor - make PREFIX=/usr - make PREFIX=/usr DESTDIR=build install @@ -16,6 +16,6 @@ check: stage: test needs: [] script: - - pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoc shellcheck + - pacman -Syu --noconfirm m4 make openssh subversion rsync arch-install-scripts git bzr mercurial diffutils asciidoctor shellcheck - make check || true - SHELLCHECK_OPTS="-S error" make check diff --git a/Makefile b/Makefile index 542ceef..708bec7 100644 --- a/Makefile +++ b/Makefile @@ -92,10 +92,10 @@ $(eval $(call buildInScript,build/bin,src/,.in,755)) $(eval $(call buildInScript,build/lib,src/lib/,,644)) $(foreach completion,$(wildcard contrib/completion/*),$(eval $(call buildInScript,build/$(completion),$(completion)/,.in,444))) -$(BUILDDIR)/doc/man/%: doc/man/%.asciidoc doc/asciidoc.conf doc/man/include/footer.asciidoc +$(BUILDDIR)/doc/man/%: doc/man/%.asciidoc doc/man/include/footer.asciidoc $(GEN_MSG) @mkdir -p $(BUILDDIR)/doc/man - @a2x --no-xmllint --asciidoc-opts="-f doc/asciidoc.conf" -d manpage -f manpage --destination-dir=$(BUILDDIR)/doc/man -a pkgdatadir=$(DATADIR) $< + @asciidoctor --backend=manpage --destination-dir=$(BUILDDIR)/doc/man --attribute pkgdatadir=$(DATADIR) $< conf: @install -d $(BUILDDIR)/makepkg.conf.d diff --git a/README.md b/README.md index 193d5b0..6e4f2a2 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ Component: pkgctl db remove ### Development Dependencies -- asciidoc +- asciidoctor - make - shellcheck diff --git a/doc/asciidoc.conf b/doc/asciidoc.conf deleted file mode 100644 index c675a20..0000000 --- a/doc/asciidoc.conf +++ /dev/null @@ -1,37 +0,0 @@ -## linkman: macro -# Inspired by/borrowed from the GIT source tree at Documentation/asciidoc.conf -# -# Usage: linkman:command[manpage-section] -# -# Note, {0} is the manpage section, while {target} is the command. -# -# Show man link as: (
); if section is defined, else just show -# the command. - -[macros] -(?su)[\\]?(?Plinkman):(?P\S*?)\[(?P.*?)\]= - -[attributes] -asterisk=* -plus=+ -caret=^ -startsb=[ -endsb=] -backslash=\ -tilde=~ -apostrophe=' -backtick=` -litdd=-- - -ifdef::backend-docbook[] -[linkman-inlinemacro] -{0%{target}} -{0#} -{0#{target}{0}} -{0#} -endif::backend-docbook[] - -ifdef::backend-xhtml11[] -[linkman-inlinemacro] -{target}{0?({0})} -endif::backend-xhtml11[] diff --git a/doc/man/archbuild.1.asciidoc b/doc/man/archbuild.1.asciidoc index 2a2d843..9c1973d 100644 --- a/doc/man/archbuild.1.asciidoc +++ b/doc/man/archbuild.1.asciidoc @@ -43,6 +43,6 @@ Options See Also -------- -linkman:devtools[7] +devtools(7) include::include/footer.asciidoc[] diff --git a/doc/man/checkpkg.1.asciidoc b/doc/man/checkpkg.1.asciidoc index bd41416..4be3ae8 100644 --- a/doc/man/checkpkg.1.asciidoc +++ b/doc/man/checkpkg.1.asciidoc @@ -38,6 +38,6 @@ Options See Also -------- -linkman:find-libprovides[1] +find-libprovides(1) include::include/footer.asciidoc[] diff --git a/doc/man/devtools.7.asciidoc b/doc/man/devtools.7.asciidoc index 4ed11cf..9156d50 100644 --- a/doc/man/devtools.7.asciidoc +++ b/doc/man/devtools.7.asciidoc @@ -21,47 +21,47 @@ Programs The list below gives a short overview; see the respective documentation for details. -linkman:pkgctl[1] +pkgctl(1) Unified command-line frontend for devtools -linkman:archbuild[1] +archbuild(1) Build an Arch Linux package inside a clean chroot -linkman:arch-nspawn[1] +arch-nspawn(1) Run a command or OS in a light-weight namespace container -linkman:checkpkg[1] +checkpkg(1) Compare the current build package with the repository version -linkman:diffpkg[1] +diffpkg(1) Compare package files using different modes -linkman:export-pkgbuild-keys[1] +export-pkgbuild-keys(1) Export valid source signing keys from a PKGBUILD -linkman:find-libdeps[1] +find-libdeps(1) Find soname dependencies for a package -linkman:find-libprovides[1] +find-libprovides(1) Find soname's which are provided by a package -linkman:lddd[1] +lddd(1) Find broken library links on your system -linkman:mkarchroot[1] +mkarchroot(1) Creates an arch chroot in a specified location with a specified set of packages -linkman:makechrootpkg[1] +makechrootpkg(1) Build a PKGBUILD in a given chroot environment -linkman:makerepropkg[1] +makerepropkg(1) Rebuild a package to see if it is reproducible -linkman:offload-build[1] +offload-build(1) Build a PKGBUILD on a remote server using makechrootpkg -linkman:sogrep[1] +sogrep(1) Find packages using a linked to a given shared library include::include/footer.asciidoc[] diff --git a/doc/man/lddd.1.asciidoc b/doc/man/lddd.1.asciidoc index c6bff26..f3eed9d 100644 --- a/doc/man/lddd.1.asciidoc +++ b/doc/man/lddd.1.asciidoc @@ -20,6 +20,6 @@ collected data is written to a temporary directory created by mktemp. See Also -------- -linkman:ldd[1] +ldd(1) include::include/footer.asciidoc[] diff --git a/doc/man/makerepropkg.1.asciidoc b/doc/man/makerepropkg.1.asciidoc index 51a81ff..e2a0bbb 100644 --- a/doc/man/makerepropkg.1.asciidoc +++ b/doc/man/makerepropkg.1.asciidoc @@ -16,7 +16,7 @@ Given the path to a built pacman package(s), attempt to rebuild it using the PKGBUILD in the current directory. The package will be built in an environment as closely matching the environment of the initial package as possible, by building up a chroot to match the information exposed in the package's -linkman:BUILDINFO[5] manifest. On success, the resulting package will be +BUILDINFO(5) manifest. On success, the resulting package will be compared to the input package, and makerepropkg will report whether the artifacts are identical. diff --git a/doc/man/mkarchroot.1.asciidoc b/doc/man/mkarchroot.1.asciidoc index a435852..99905c8 100644 --- a/doc/man/mkarchroot.1.asciidoc +++ b/doc/man/mkarchroot.1.asciidoc @@ -44,6 +44,6 @@ Options See Also -------- -linkman:pacman[1] +pacman(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-aur-drop-from-repo.1.asciidoc b/doc/man/pkgctl-aur-drop-from-repo.1.asciidoc index a9d39c6..0b17f3b 100644 --- a/doc/man/pkgctl-aur-drop-from-repo.1.asciidoc +++ b/doc/man/pkgctl-aur-drop-from-repo.1.asciidoc @@ -36,6 +36,6 @@ Options See Also -------- -linkman:pkgctl-db-remove[1] +pkgctl-db-remove(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-aur.1.asciidoc b/doc/man/pkgctl-aur.1.asciidoc index d69124a..a42f611 100644 --- a/doc/man/pkgctl-aur.1.asciidoc +++ b/doc/man/pkgctl-aur.1.asciidoc @@ -32,6 +32,6 @@ pkgctl aur drop-from-repo:: See Also -------- -linkman:pkgctl-aur-drop-from-repo[1] +pkgctl-aur-drop-from-repo(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-auth-login.1.asciidoc b/doc/man/pkgctl-auth-login.1.asciidoc index eeeec4e..0383c7e 100644 --- a/doc/man/pkgctl-auth-login.1.asciidoc +++ b/doc/man/pkgctl-auth-login.1.asciidoc @@ -35,6 +35,6 @@ Options See Also -------- -linkman:pkgctl-auth-status[1] +pkgctl-auth-status(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-auth-status.1.asciidoc b/doc/man/pkgctl-auth-status.1.asciidoc index e23ee2e..e71d5ac 100644 --- a/doc/man/pkgctl-auth-status.1.asciidoc +++ b/doc/man/pkgctl-auth-status.1.asciidoc @@ -27,6 +27,6 @@ Options See Also -------- -linkman:pkgctl-auth-login[1] +pkgctl-auth-login(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-auth.1.asciidoc b/doc/man/pkgctl-auth.1.asciidoc index 4912b02..d4ecf50 100644 --- a/doc/man/pkgctl-auth.1.asciidoc +++ b/doc/man/pkgctl-auth.1.asciidoc @@ -32,7 +32,7 @@ pkgctl auth status:: See Also -------- -linkman:pkgctl-auth-login[1] -linkman:pkgctl-auth-status[1] +pkgctl-auth-login(1) +pkgctl-auth-status(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-build.1.asciidoc b/doc/man/pkgctl-build.1.asciidoc index f7abdeb..d36daff 100644 --- a/doc/man/pkgctl-build.1.asciidoc +++ b/doc/man/pkgctl-build.1.asciidoc @@ -107,7 +107,7 @@ Options See Also -------- -linkman:pkgctl-release[1] -linkman:pkgctl-db-update[1] +pkgctl-release(1) +pkgctl-db-update(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-db-update.1.asciidoc b/doc/man/pkgctl-db-update.1.asciidoc index ce73c01..02f92a3 100644 --- a/doc/man/pkgctl-db-update.1.asciidoc +++ b/doc/man/pkgctl-db-update.1.asciidoc @@ -1,5 +1,5 @@ pkgctl-db-update(1) -================= +=================== Name ---- diff --git a/doc/man/pkgctl-release.1.asciidoc b/doc/man/pkgctl-release.1.asciidoc index 01a0c9e..b114b01 100644 --- a/doc/man/pkgctl-release.1.asciidoc +++ b/doc/man/pkgctl-release.1.asciidoc @@ -46,6 +46,6 @@ Options See Also -------- -linkman:pkgctl-db-update[1] +pkgctl-db-update(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-repo-clone.1.asciidoc b/doc/man/pkgctl-repo-clone.1.asciidoc index 421c71f..3ed218c 100644 --- a/doc/man/pkgctl-repo-clone.1.asciidoc +++ b/doc/man/pkgctl-repo-clone.1.asciidoc @@ -46,7 +46,7 @@ Options See Also -------- -linkman:pkgctl-repo-configure[1] -linkman:pkgctl-repo-switch[1] +pkgctl-repo-configure(1) +pkgctl-repo-switch(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-repo-create.1.asciidoc b/doc/man/pkgctl-repo-create.1.asciidoc index 7c58776..f2606cc 100644 --- a/doc/man/pkgctl-repo-create.1.asciidoc +++ b/doc/man/pkgctl-repo-create.1.asciidoc @@ -33,8 +33,8 @@ Options See Also -------- -linkman:pkgctl-auth[1] -linkman:pkgctl-repo-clone[1] -linkman:pkgctl-repo-configure[1] +pkgctl-auth(1) +pkgctl-repo-clone(1) +pkgctl-repo-configure(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-repo.1.asciidoc b/doc/man/pkgctl-repo.1.asciidoc index 57be170..3d0f3f1 100644 --- a/doc/man/pkgctl-repo.1.asciidoc +++ b/doc/man/pkgctl-repo.1.asciidoc @@ -50,10 +50,10 @@ pkgctl repo web:: See Also -------- -linkman:pkgctl-repo-clone[1] -linkman:pkgctl-repo-configure[1] -linkman:pkgctl-repo-create[1] -linkman:pkgctl-repo-switch[1] -linkman:pkgctl-repo-web[1] +pkgctl-repo-clone(1) +pkgctl-repo-configure(1) +pkgctl-repo-create(1) +pkgctl-repo-switch(1) +pkgctl-repo-web(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-search.1.asciidoc b/doc/man/pkgctl-search.1.asciidoc index 8172b00..4df8db1 100644 --- a/doc/man/pkgctl-search.1.asciidoc +++ b/doc/man/pkgctl-search.1.asciidoc @@ -66,6 +66,6 @@ Output Options See Also -------- -linkman:pkgctl-auth[1] +pkgctl-auth(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-version-check.1.asciidoc b/doc/man/pkgctl-version-check.1.asciidoc index 2543bcb..53e80db 100644 --- a/doc/man/pkgctl-version-check.1.asciidoc +++ b/doc/man/pkgctl-version-check.1.asciidoc @@ -28,8 +28,8 @@ required to track version changes from upstream sources. Configuration ------------- -Uses linkman:nvchecker[1] and a `.nvchecker.toml` file located alongside the -PKGBUILD. Refer to the configuration section in linkman:pkgctl-version[1]. +Uses nvchecker(1) and a `.nvchecker.toml` file located alongside the +PKGBUILD. Refer to the configuration section in pkgctl-version(1). Options ------- @@ -60,7 +60,7 @@ On exit, return one of the following codes: See Also -------- -linkman:pkgctl-version[1] -linkman:nvchecker[1] +pkgctl-version(1) +nvchecker(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-version-upgrade.1.asciidoc b/doc/man/pkgctl-version-upgrade.1.asciidoc index 68e6369..044545d 100644 --- a/doc/man/pkgctl-version-upgrade.1.asciidoc +++ b/doc/man/pkgctl-version-upgrade.1.asciidoc @@ -29,8 +29,8 @@ required to track and implement version changes from upstream sources. Configuration ------------- -Uses linkman:nvchecker[1] and a `.nvchecker.toml` file located alongside the -PKGBUILD. Refer to the configuration section in linkman:pkgctl-version[1]. +Uses nvchecker(1) and a `.nvchecker.toml` file located alongside the +PKGBUILD. Refer to the configuration section in pkgctl-version(1). Options ------- @@ -44,7 +44,7 @@ Options See Also -------- -linkman:pkgctl-version[1] -linkman:nvchecker[1] +pkgctl-version(1) +nvchecker(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl-version.1.asciidoc b/doc/man/pkgctl-version.1.asciidoc index fa83314..e6e4037 100644 --- a/doc/man/pkgctl-version.1.asciidoc +++ b/doc/man/pkgctl-version.1.asciidoc @@ -15,7 +15,7 @@ Description Commands related to package versions, including checks for outdated packages. -Uses linkman:nvchecker[1] and a `.nvchecker.toml` file located alongside the +Uses nvchecker(1) and a `.nvchecker.toml` file located alongside the PKGBUILD. Configuration @@ -28,7 +28,7 @@ corresponding package. For detailed information on the various configuration options available for the `.nvchecker.toml` file, refer to the configuration files section in -linkman:nvchecker[1]. This documentation provides insights into the possible +nvchecker(1). This documentation provides insights into the possible options that can be utilized to customize the version checking process. To supply GitHub or GitLab tokens to nvchecker, a `keyfile.toml` should be @@ -54,7 +54,7 @@ pkgctl version upgrade:: See Also -------- -linkman:pkgctl-version-check[1] -linkman:pkgctl-version-upgrade[1] +pkgctl-version-check(1) +pkgctl-version-upgrade(1) include::include/footer.asciidoc[] diff --git a/doc/man/pkgctl.1.asciidoc b/doc/man/pkgctl.1.asciidoc index d9a1d8c..e028e84 100644 --- a/doc/man/pkgctl.1.asciidoc +++ b/doc/man/pkgctl.1.asciidoc @@ -56,14 +56,14 @@ pkgctl version:: See Also -------- -linkman:pkgctl-aur[1] -linkman:pkgctl-auth[1] -linkman:pkgctl-build[1] -linkman:pkgctl-db[1] -linkman:pkgctl-diff[1] -linkman:pkgctl-release[1] -linkman:pkgctl-repo[1] -linkman:pkgctl-search[1] -linkman:pkgctl-version[1] +pkgctl-aur(1) +pkgctl-auth(1) +pkgctl-build(1) +pkgctl-db(1) +pkgctl-diff(1) +pkgctl-release(1) +pkgctl-repo(1) +pkgctl-search(1) +pkgctl-version(1) include::include/footer.asciidoc[] -- cgit v1.2.3-54-g00ecf