[arch-projects] [devtools] [PATCH 0/2] [RFC] Add an pages
This patch series intends to be an RFC for adding man pages for every tool provided by devtools. The first man page for lddd is written in mdoc and is lacking a way to reduce duplication of common headers such as BUGS/AUTHORS. Note that the pacman bug motto was re-used, it's up for debate and the same for the bug location. Do we prefer the bugtracker of mailing lists for bug reports? Jelle van der Waa (2): Add lddd manual install man pages Makefile | 5 +++++ doc/lddd.1 | 27 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 doc/lddd.1 -- 2.18.0
---
doc/lddd.1 | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 doc/lddd.1
diff --git a/doc/lddd.1 b/doc/lddd.1
new file mode 100644
index 0000000..74f9c5e
--- /dev/null
+++ b/doc/lddd.1
@@ -0,0 +1,27 @@
+.Dd August 13, 2018
+.\" Patch this in our groff's mdoc.local
+.ds volume-operating-system Arch Linux
+.ds default-operating-system Arch Linux
+.Os Arch Linux
+.Dt lddd 1
+.Sh NAME
+.Nm lddd
+.Nd find broken library links on your machine
+.Sh SYNOPSIS
+.Nm lddd
+.Sh DESCRIPTION
+lddd scans all elf binaries in $PATH, /lib, /usr/local/lib or specified in
+/etc/ld.so.conf.d/*.conf, looks for missing symbols and suggests which packages
+might need to be rebuild. The collected data is written to a temporary
+directory created by mktemp.
+.Sh SEE ALSO
+.Xr ldd 1
+.Sh BUGS
+Bugs? You must be kidding; there are no bugs in this software. But if we happen
+to be wrong, send us an email with as much detail as possible to
+arch-projects@archlinux.org
+.Sh AUTHORS
+.An Aaron Griffin
On Sat, 25 Aug 2018 13:14:35 +0200
Jelle van der Waa
--- doc/lddd.1 | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 doc/lddd.1
diff --git a/doc/lddd.1 b/doc/lddd.1 new file mode 100644 index 0000000..74f9c5e --- /dev/null +++ b/doc/lddd.1 @@ -0,0 +1,27 @@ +.Dd August 13, 2018 +.\" Patch this in our groff's mdoc.local +.ds volume-operating-system Arch Linux +.ds default-operating-system Arch Linux +.Os Arch Linux +.Dt lddd 1 +.Sh NAME +.Nm lddd +.Nd find broken library links on your machine +.Sh SYNOPSIS +.Nm lddd +.Sh DESCRIPTION +lddd scans all elf binaries in $PATH, /lib, /usr/local/lib or specified in +/etc/ld.so.conf.d/*.conf, looks for missing symbols and suggests which packages
I don't think that's right. lddd uses ldd, which AFAIK, only checks for linked files, not individual symbols.
+might need to be rebuild. The collected data is written to a temporary +directory created by mktemp. +.Sh SEE ALSO +.Xr ldd 1 +.Sh BUGS +Bugs? You must be kidding; there are no bugs in this software. But if we happen +to be wrong, send us an email with as much detail as possible to +arch-projects@archlinux.org +.Sh AUTHORS +.An Aaron Griffin
+.An Pierre Schmitz +.An Lukas Fleischer +.An Luke Shumaker -- 2.18.0
--- Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile index 2d29c83..d132e1f 100644 --- a/Makefile +++ b/Makefile @@ -60,6 +60,9 @@ BASHCOMPLETION_LINKS = \ archco \ communityco +MAN1_PAGES = \ + lddd.1 + all: $(BINPROGS) bash_completion zsh_completion edit = sed -e "s|@pkgdatadir[@]|$(DESTDIR)$(PREFIX)/share/devtools|g" @@ -78,6 +81,7 @@ clean: install: install -dm0755 $(DESTDIR)$(PREFIX)/bin install -dm0755 $(DESTDIR)$(PREFIX)/share/devtools + install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man1 install -m0755 ${BINPROGS} $(DESTDIR)$(PREFIX)/bin install -m0644 ${CONFIGFILES} $(DESTDIR)$(PREFIX)/share/devtools for l in ${COMMITPKG_LINKS}; do ln -sf commitpkg $(DESTDIR)$(PREFIX)/bin/$$l; done @@ -88,6 +92,7 @@ install: for l in ${BASHCOMPLETION_LINKS}; do ln -sf devtools $(DESTDIR)/usr/share/bash-completion/completions/$$l; done install -Dm0644 zsh_completion $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_devtools ln -sf archco $(DESTDIR)$(PREFIX)/bin/communityco + for m in ${MAN1_PAGES}; do install -m644 doc/$$m $(DESTDIR)$(PREFIX)/share/man/man1/$$m; done uninstall: for f in ${BINPROGS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done -- 2.18.0
From: Luke Shumaker
This patch series intends to be an RFC for adding man pages for every tool provided by devtools. The first man page for lddd is written in mdoc and is lacking a way to reduce duplication of common headers such as BUGS/AUTHORS.
I've written more detailed usage-text for several of the commands. I
haven't submitted it upstream to you before; because you don't have
the `print`, `prose`, and `flag` localization & formatting functions
that I used.
However, feel free to steal some of the language I used :)
checkpkg.in | 27 +++++++++++++++++++++++++--
find-libdeps.in | 28 ++++++++++++++++++++++++----
finddeps.in | 18 ++++++++++++------
lddd.in | 18 +++++++++++++++++-
4 files changed, 78 insertions(+), 13 deletions(-)
diff --git a/checkpkg.in b/checkpkg.in
index e0e1f83..cfec71e 100644
--- a/checkpkg.in
+++ b/checkpkg.in
@@ -3,7 +3,28 @@
shopt -s extglob
-m4_include(lib/common.sh)
+. "$(librelib messages)"
+
+usage() {
+ print 'Usage: %s [-h]' "${0##*/}"
+ print 'Compare a locally built a package with the one in the repositories.'
+ echo
+ prose 'This should be run from a directory containing a
+ PKGBUILD. It searches for a locally built package
+ corresponding to the PKGBUILD, and downloads the last
+ version of that package from the pacman repositories.
+ It then compares the list of .so files provided by each
+ version of the package. It does this for each part of
+ a split package.'
+}
+
+if [[ $1 = '-h' ]]; then
+ usage
+ exit 0
+elif [[ $# -gt 0 ]]; then
+ usage >&2
+ exit 1
+fi
# Source makepkg.conf; fail if it is not found
if [[ -r '/etc/makepkg.conf' ]]; then
@@ -23,7 +44,9 @@ elif [[ -r "$HOME/.makepkg.conf" ]]; then
fi
if [[ ! -f PKGBUILD ]]; then
- die 'This must be run in the directory of a built package.'
+ error 'This must be run in the directory of a built package.'
+ usage >&2
+ exit 1
fi
# shellcheck source=PKGBUILD.proto
diff --git a/find-libdeps.in b/find-libdeps.in
index 1fb1fdf..cb68237 100644
--- a/find-libdeps.in
+++ b/find-libdeps.in
@@ -1,7 +1,7 @@
#!/bin/bash
# License: Unspecified
-m4_include(lib/common.sh)
+. "$(librelib messages)"
set -e
shopt -s extglob
@@ -20,12 +20,32 @@ case $script_mode in
*) die "Unknown mode %s" "$script_mode" ;;
esac
+usage() {
+ print "Usage: find-lib(deps|provides) [options]
participants (3)
-
Doug Newgard
-
Jelle van der Waa
-
Luke Shumaker