summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLevente Polyak <anthraxx@archlinux.org>2022-09-12 01:34:08 +0200
committerLevente Polyak <anthraxx@archlinux.org>2023-05-19 22:27:12 +0200
commita8be7423efb287edd5ef80002a75a853fc0c9c1d (patch)
tree327592b654c18c8b66d0919570f7cdc973c65e04 /doc
parentd15bd29a9d411dedc0a0682ec54b55e079d4f00f (diff)
downloaddevtools-a8be7423efb287edd5ef80002a75a853fc0c9c1d.tar.xz
pkgctl: add a unified command-line frontend for devtools
This is the first step of a simple and highly structured unified interface to devtools commands in a single wrapper. The split is based on groups like `repo`, `build` and `diff` Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/man/devtools.7.asciidoc20
-rw-r--r--doc/man/diffpkg.1.asciidoc4
-rw-r--r--doc/man/pkgctl-diff.1.asciidoc73
-rw-r--r--doc/man/pkgctl-repo-clone.1.asciidoc42
-rw-r--r--doc/man/pkgctl-repo-configure.1.asciidoc32
-rw-r--r--doc/man/pkgctl-repo-web.1.asciidoc24
-rw-r--r--doc/man/pkgctl-repo.1.asciidoc51
-rw-r--r--doc/man/pkgctl.1.asciidoc32
8 files changed, 270 insertions, 8 deletions
diff --git a/doc/man/devtools.7.asciidoc b/doc/man/devtools.7.asciidoc
index 6b2d0c1..4ed11cf 100644
--- a/doc/man/devtools.7.asciidoc
+++ b/doc/man/devtools.7.asciidoc
@@ -8,16 +8,22 @@ devtools - Developer tools for the Arch Linux distribution
Description
-----------
-Devtools contains tools for package maintenance in Arch Linux. The toolset
-varies from tools for building packages in a clean chroot ('mkarchroot',...),
-packaging related tools for sonames ('sogrep', 'lddd') and tools for
-repository management such as ('pkgrepo')
+Devtools contains tools for package maintenance in Arch Linux. It comes with a
+unified command-line frontend called 'pkgctl' that aids to conveniently
+interact with all the different tools this collection provides.
+
+The toolset varies from tools for building packages in a clean chroot
+('mkarchroot', 'archbuild', ...), packaging related tools ('sogrep', 'diffpkg',
+'lddd') and tools for repository management such as ('pkgrepo').
Programs
--------
The list below gives a short overview; see the respective documentation
for details.
+linkman:pkgctl[1]
+ Unified command-line frontend for devtools
+
linkman:archbuild[1]
Build an Arch Linux package inside a clean chroot
@@ -27,6 +33,12 @@ linkman:arch-nspawn[1]
linkman:checkpkg[1]
Compare the current build package with the repository version
+linkman:diffpkg[1]
+ Compare package files using different modes
+
+linkman:export-pkgbuild-keys[1]
+ Export valid source signing keys from a PKGBUILD
+
linkman:find-libdeps[1]
Find soname dependencies for a package
diff --git a/doc/man/diffpkg.1.asciidoc b/doc/man/diffpkg.1.asciidoc
index bfb2094..2f7c115 100644
--- a/doc/man/diffpkg.1.asciidoc
+++ b/doc/man/diffpkg.1.asciidoc
@@ -30,7 +30,6 @@ Options
*-M, --makepkg-config*::
Set an alternate makepkg configuration file
-
*-P, --pool*='DIR'::
Search diff target in pool dir (default `'/srv/ftp/pool'`)
@@ -71,7 +70,4 @@ Modes
*-b, --buildinfo*::
Activate .BUILDINFO diff mode
-See Also
---------
-
include::include/footer.asciidoc[]
diff --git a/doc/man/pkgctl-diff.1.asciidoc b/doc/man/pkgctl-diff.1.asciidoc
new file mode 100644
index 0000000..7eb9e68
--- /dev/null
+++ b/doc/man/pkgctl-diff.1.asciidoc
@@ -0,0 +1,73 @@
+pkgctl-diff(1)
+==============
+
+Name
+----
+pkgctl-diff - Compare package files using different modes.
+
+Synopsis
+--------
+pkgctl diff [OPTIONS] [MODES] [FILE|PKGNAME...]
+
+Description
+-----------
+
+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 package archives using different modes while using
+simple tar content list by default.
+
+When given one package, use it to diff against the locally built one.
+When given two packages, diff both packages against each other.
+
+In either case, a package name will be converted to a filename from the cache
+or pool, and 'pkgctl diff' will proceed as though this filename was initially
+specified.
+
+Options
+-------
+
+*-M, --makepkg-config*::
+ Set an alternate makepkg configuration file
+
+*-P, --pool*='DIR'::
+ Search diff target in pool dir (default `'/srv/ftp/pool'`)
+
+*-v, --verbose*::
+ Provide more detailed/unfiltered output
+
+*-h, --help*::
+ Show a help text
+
+Output Options
+--------------
+
+*--color*[='WHEN']::
+ Color output; 'WHEN' is `'never'`, `'always'`, or `'auto'`; Plain *--color* means *--color='auto'*
+
+*-u, -U, --unified*::
+ Output 3 lines of unified context
+
+*-y, --side-by-side*::
+ Output in two columns
+
+*-W, --width*[='NUM']::
+ Output at most 'NUM' (default `'auto'`) print columns; 'NUM' can be `'auto'`, `'columns'` or a number.
+ `'auto'` will be resolved to the maximum line length of both files, guaranteeing the diff to be uncut.
+
+Modes
+-----
+
+*-l, --list*::
+ Activate tar content list diff mode (default)
+
+*-d, --diffoscope*::
+ Activate diffoscope diff mode
+
+*-p, --pkginfo*::
+ Activate .PKGINFO diff mode
+
+*-b, --buildinfo*::
+ Activate .BUILDINFO diff mode
+
+include::include/footer.asciidoc[]
diff --git a/doc/man/pkgctl-repo-clone.1.asciidoc b/doc/man/pkgctl-repo-clone.1.asciidoc
new file mode 100644
index 0000000..9770ef8
--- /dev/null
+++ b/doc/man/pkgctl-repo-clone.1.asciidoc
@@ -0,0 +1,42 @@
+pkgctl-repo-clone(1)
+======================
+
+Name
+----
+pkgctl-repo-clone - Clone a package repository
+
+Synopsis
+--------
+pkgctl repo clone [OPTIONS] [PKGNAME...]
+
+Description
+-----------
+
+Clone Git packaging repositories from the canonical namespace.
+
+The configure command is subsequently invoked to synchronize the distro
+specs and makepkg.conf settings. The unprivileged option can be used
+for cloning packaging repositories without SSH access using read-only
+HTTPS.
+
+Options
+-------
+
+*-m, --maintainer* 'NAME'::
+ Clone all packages of the named maintainer
+
+*-u, --unprivileged*::
+ Clone package with read-only access and without packager info as Git author
+
+*--universe*::
+ Clone all existing packages, useful for cache warming
+
+*-h, --help*::
+ Show a help text
+
+See Also
+--------
+
+linkman:pkgctl-repo-configure[1]
+
+include::include/footer.asciidoc[]
diff --git a/doc/man/pkgctl-repo-configure.1.asciidoc b/doc/man/pkgctl-repo-configure.1.asciidoc
new file mode 100644
index 0000000..c3a14de
--- /dev/null
+++ b/doc/man/pkgctl-repo-configure.1.asciidoc
@@ -0,0 +1,32 @@
+pkgctl-repo-configure(1)
+========================
+
+Name
+----
+pkgctl-repo-configure - Configure a clone according to distro specs
+
+Synopsis
+--------
+pkgctl repo configure [OPTIONS] [PATH...]
+
+Description
+-----------
+
+Configure Git packaging repositories according to distro specs and
+'makepkg.conf' settings.
+
+Git author information and the used signing key is set up from
+'makepkg.conf' read from any valid location like '/etc' or 'XDG_CONFIG_HOME'.
+The unprivileged option can be used for cloning packaging repositories
+without SSH access using read-only HTTPS.
+
+Options
+-------
+
+*-u, --unprivileged*::
+ Configure read-only repo without packager info as Git author
+
+*-h, --help*::
+ Show a help text
+
+include::include/footer.asciidoc[]
diff --git a/doc/man/pkgctl-repo-web.1.asciidoc b/doc/man/pkgctl-repo-web.1.asciidoc
new file mode 100644
index 0000000..8769be7
--- /dev/null
+++ b/doc/man/pkgctl-repo-web.1.asciidoc
@@ -0,0 +1,24 @@
+pkgctl-repo-web(1)
+==================
+
+Name
+----
+pkgctl-repo-web - Open the packaging repository's website
+
+Synopsis
+--------
+pkgctl repo web [OPTIONS] [PKGBASE...]
+
+Description
+-----------
+
+Open the packaging repository's website via xdg-open. If called with
+no arguments, open the package cloned in the current working directory.
+
+Options
+-------
+
+*-h, --help*::
+ Show a help text
+
+include::include/footer.asciidoc[]
diff --git a/doc/man/pkgctl-repo.1.asciidoc b/doc/man/pkgctl-repo.1.asciidoc
new file mode 100644
index 0000000..564679a
--- /dev/null
+++ b/doc/man/pkgctl-repo.1.asciidoc
@@ -0,0 +1,51 @@
+pkgctl-repo(1)
+================
+
+Name
+----
+pkgctl-repo - Manage Git packaging repositories and their configuration
+
+Synopsis
+--------
+pkgctl repo [OPTIONS] [SUBCOMMAND]
+
+Description
+-----------
+
+Manage Git packaging repositories and helps with their configuration
+according to distro specs.
+
+Git author information and the used signing key is set up from
+'makepkg.conf' read from any valid location like '/etc' or 'XDG_CONFIG_HOME'.
+The configure command can be used to synchronize the distro specs and
+makepkg.conf settings for previously cloned repositories.
+
+The unprivileged option can be used for cloning packaging repositories
+without SSH access using read-only HTTPS.
+
+Options
+-------
+
+*-h, --help*::
+ Show a help text
+
+Subcommands
+-----------
+
+pkgctl repo clone::
+ Clone a package repository
+
+pkgctl repo configure::
+ Configure a clone according to distro specs
+
+pkgctl repo web::
+ Open the packaging repository's website
+
+See Also
+--------
+
+linkman:pkgctl-repo-clone[1]
+linkman:pkgctl-repo-configure[1]
+linkman:pkgctl-repo-web[1]
+
+include::include/footer.asciidoc[]
diff --git a/doc/man/pkgctl.1.asciidoc b/doc/man/pkgctl.1.asciidoc
new file mode 100644
index 0000000..0455074
--- /dev/null
+++ b/doc/man/pkgctl.1.asciidoc
@@ -0,0 +1,32 @@
+pkgctl(1)
+=========
+
+Name
+----
+pkgctl - Unified command-line frontend for devtools
+
+Synopsis
+--------
+pkgctl [SUBCOMMAND] [OPTIONS]
+
+Description
+-----------
+
+TODO
+
+Subcommands
+-----------
+
+pkgctl diff::
+ Compare package files using different modes
+
+pkgctl repo::
+ Manage Git packaging repositories and their configuration
+
+See Also
+--------
+
+linkman:pkgctl-diff[1]
+linkman:pkgctl-repo[1]
+
+include::include/footer.asciidoc[]