mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 07:17:17 +00:00
subcommand review
Some commands have been moved to another group and thus having another default name (old subcommands are still available...for now): * daemon -> repo-daemon * key-import -> service-key-import * repo-clean -> service-clean * repo-config -> service-config * repo-config-validate -> service-config-validate * repo-setup -> service-setup * repo-shell -> service-shell * version -> help-version
This commit is contained in:
parent
5a05c8ce91
commit
00ca06ffab
4
.github/workflows/setup.sh
vendored
4
.github/workflows/setup.sh
vendored
@ -38,9 +38,9 @@ systemd-machine-id-setup
|
|||||||
sed -i "s/handlers = syslog_handler/handlers = console_handler/g" /etc/ahriman.ini.d/logging.ini
|
sed -i "s/handlers = syslog_handler/handlers = console_handler/g" /etc/ahriman.ini.d/logging.ini
|
||||||
# initial setup command as root
|
# initial setup command as root
|
||||||
[[ -z $MINIMAL_INSTALL ]] && WEB_ARGS=("--web-port" "8080")
|
[[ -z $MINIMAL_INSTALL ]] && WEB_ARGS=("--web-port" "8080")
|
||||||
ahriman -a x86_64 repo-setup --packager "ahriman bot <ahriman@example.com>" --repository "github" "${WEB_ARGS[@]}"
|
ahriman -a x86_64 service-setup --packager "ahriman bot <ahriman@example.com>" --repository "github" "${WEB_ARGS[@]}"
|
||||||
# validate configuration
|
# validate configuration
|
||||||
ahriman -a x86_64 repo-config-validate --exit-code
|
ahriman -a x86_64 service-config-validate --exit-code
|
||||||
# enable services
|
# enable services
|
||||||
systemctl enable ahriman-web@x86_64
|
systemctl enable ahriman-web@x86_64
|
||||||
systemctl enable ahriman@x86_64.timer
|
systemctl enable ahriman@x86_64.timer
|
||||||
|
@ -45,10 +45,10 @@ fi
|
|||||||
if [ -n "$AHRIMAN_UNIX_SOCKET" ]; then
|
if [ -n "$AHRIMAN_UNIX_SOCKET" ]; then
|
||||||
AHRIMAN_SETUP_ARGS+=("--web-unix-socket" "$AHRIMAN_UNIX_SOCKET")
|
AHRIMAN_SETUP_ARGS+=("--web-unix-socket" "$AHRIMAN_UNIX_SOCKET")
|
||||||
fi
|
fi
|
||||||
ahriman "${AHRIMAN_DEFAULT_ARGS[@]}" repo-setup "${AHRIMAN_SETUP_ARGS[@]}"
|
ahriman "${AHRIMAN_DEFAULT_ARGS[@]}" service-setup "${AHRIMAN_SETUP_ARGS[@]}"
|
||||||
|
|
||||||
# validate configuration if set
|
# validate configuration if set
|
||||||
[ -n "$AHRIMAN_VALIDATE_CONFIGURATION" ] && ahriman "${AHRIMAN_DEFAULT_ARGS[@]}" repo-config-validate --exit-code
|
[ -n "$AHRIMAN_VALIDATE_CONFIGURATION" ] && ahriman "${AHRIMAN_DEFAULT_ARGS[@]}" service-config-validate --exit-code
|
||||||
|
|
||||||
# create machine-id which is required by build tools
|
# create machine-id which is required by build tools
|
||||||
systemd-machine-id-setup &> /dev/null
|
systemd-machine-id-setup &> /dev/null
|
||||||
|
310
docs/ahriman.1
310
docs/ahriman.1
@ -1,9 +1,9 @@
|
|||||||
.TH AHRIMAN "1" "2023\-01\-09" "ahriman" "Generated Python Manual"
|
.TH AHRIMAN "1" "2023\-01\-11" "ahriman" "Generated Python Manual"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ahriman
|
ahriman
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B ahriman
|
.B ahriman
|
||||||
[-h] [-a ARCHITECTURE] [-c CONFIGURATION] [--force] [-l LOCK] [--report | --no-report] [-q] [--unsafe] [-V] {aur-search,search,daemon,help,help-commands-unsafe,key-import,package-add,add,package-update,package-remove,remove,package-status,status,package-status-remove,package-status-update,status-update,patch-add,patch-list,patch-remove,patch-set-add,repo-backup,repo-check,check,repo-clean,clean,repo-config,config,repo-config-validate,config-validate,repo-rebuild,rebuild,repo-remove-unknown,remove-unknown,repo-report,report,repo-restore,repo-setup,init,repo-init,setup,repo-sign,sign,repo-status-update,repo-sync,sync,repo-tree,repo-triggers,repo-update,update,shell,user-add,user-list,user-remove,version,web} ...
|
[-h] [-a ARCHITECTURE] [-c CONFIGURATION] [--force] [-l LOCK] [--report | --no-report] [-q] [--unsafe] [-V] {aur-search,search,help,help-commands-unsafe,help-version,version,package-add,add,package-update,package-remove,remove,package-status,status,package-status-remove,package-status-update,status-update,patch-add,patch-list,patch-remove,patch-set-add,repo-backup,repo-check,check,repo-daemon,daemon,repo-rebuild,rebuild,repo-remove-unknown,remove-unknown,repo-report,report,repo-restore,repo-sign,sign,repo-status-update,repo-sync,sync,repo-tree,repo-triggers,repo-update,update,service-clean,clean,repo-clean,service-config,config,repo-config,service-config-validate,config-validate,repo-config-validate,service-key-import,key-import,service-setup,init,repo-init,repo-setup,setup,service-shell,shell,user-add,user-list,user-remove,web} ...
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
ArcH linux ReposItory MANager
|
ArcH linux ReposItory MANager
|
||||||
|
|
||||||
@ -46,17 +46,14 @@ COMMAND
|
|||||||
\fBahriman\fR \fI\,aur\-search\/\fR
|
\fBahriman\fR \fI\,aur\-search\/\fR
|
||||||
search for package
|
search for package
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,daemon\/\fR
|
|
||||||
run application as daemon
|
|
||||||
.TP
|
|
||||||
\fBahriman\fR \fI\,help\/\fR
|
\fBahriman\fR \fI\,help\/\fR
|
||||||
show help message
|
show help message
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,help\-commands\-unsafe\/\fR
|
\fBahriman\fR \fI\,help\-commands\-unsafe\/\fR
|
||||||
list unsafe commands
|
list unsafe commands
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,key\-import\/\fR
|
\fBahriman\fR \fI\,help\-version\/\fR
|
||||||
import PGP key
|
application version
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,package\-add\/\fR
|
\fBahriman\fR \fI\,package\-add\/\fR
|
||||||
add package
|
add package
|
||||||
@ -91,14 +88,8 @@ backup repository data
|
|||||||
\fBahriman\fR \fI\,repo\-check\/\fR
|
\fBahriman\fR \fI\,repo\-check\/\fR
|
||||||
check for updates
|
check for updates
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,repo\-clean\/\fR
|
\fBahriman\fR \fI\,repo\-daemon\/\fR
|
||||||
clean local caches
|
run application as daemon
|
||||||
.TP
|
|
||||||
\fBahriman\fR \fI\,repo\-config\/\fR
|
|
||||||
dump configuration
|
|
||||||
.TP
|
|
||||||
\fBahriman\fR \fI\,repo\-config\-validate\/\fR
|
|
||||||
validate system configuration
|
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,repo\-rebuild\/\fR
|
\fBahriman\fR \fI\,repo\-rebuild\/\fR
|
||||||
rebuild repository
|
rebuild repository
|
||||||
@ -112,9 +103,6 @@ generate report
|
|||||||
\fBahriman\fR \fI\,repo\-restore\/\fR
|
\fBahriman\fR \fI\,repo\-restore\/\fR
|
||||||
restore repository data
|
restore repository data
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,repo\-setup\/\fR
|
|
||||||
initial service configuration
|
|
||||||
.TP
|
|
||||||
\fBahriman\fR \fI\,repo\-sign\/\fR
|
\fBahriman\fR \fI\,repo\-sign\/\fR
|
||||||
sign packages
|
sign packages
|
||||||
.TP
|
.TP
|
||||||
@ -133,7 +121,22 @@ run triggers
|
|||||||
\fBahriman\fR \fI\,repo\-update\/\fR
|
\fBahriman\fR \fI\,repo\-update\/\fR
|
||||||
update packages
|
update packages
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,shell\/\fR
|
\fBahriman\fR \fI\,service\-clean\/\fR
|
||||||
|
clean local caches
|
||||||
|
.TP
|
||||||
|
\fBahriman\fR \fI\,service\-config\/\fR
|
||||||
|
dump configuration
|
||||||
|
.TP
|
||||||
|
\fBahriman\fR \fI\,service\-config\-validate\/\fR
|
||||||
|
validate system configuration
|
||||||
|
.TP
|
||||||
|
\fBahriman\fR \fI\,service\-key\-import\/\fR
|
||||||
|
import PGP key
|
||||||
|
.TP
|
||||||
|
\fBahriman\fR \fI\,service\-setup\/\fR
|
||||||
|
initial service configuration
|
||||||
|
.TP
|
||||||
|
\fBahriman\fR \fI\,service\-shell\/\fR
|
||||||
invoke python shell
|
invoke python shell
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,user\-add\/\fR
|
\fBahriman\fR \fI\,user\-add\/\fR
|
||||||
@ -145,9 +148,6 @@ user known users and their access
|
|||||||
\fBahriman\fR \fI\,user\-remove\/\fR
|
\fBahriman\fR \fI\,user\-remove\/\fR
|
||||||
remove user
|
remove user
|
||||||
.TP
|
.TP
|
||||||
\fBahriman\fR \fI\,version\/\fR
|
|
||||||
application version
|
|
||||||
.TP
|
|
||||||
\fBahriman\fR \fI\,web\/\fR
|
\fBahriman\fR \fI\,web\/\fR
|
||||||
web server
|
web server
|
||||||
|
|
||||||
@ -176,37 +176,6 @@ show additional package information (default: False)
|
|||||||
sort field by this field. In case if two packages have the same value of the specified field, they will be always sorted
|
sort field by this field. In case if two packages have the same value of the specified field, they will be always sorted
|
||||||
by name
|
by name
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman daemon'\/\fR
|
|
||||||
usage: ahriman daemon [\-h] [\-i INTERVAL] [\-\-aur | \-\-no\-aur] [\-\-local | \-\-no\-local] [\-\-manual | \-\-no\-manual]
|
|
||||||
[\-\-vcs | \-\-no\-vcs] [\-y]
|
|
||||||
|
|
||||||
start process which periodically will run update process
|
|
||||||
|
|
||||||
.SH OPTIONS \fI\,'ahriman daemon'\/\fR
|
|
||||||
.TP
|
|
||||||
\fB\-i\fR \fI\,INTERVAL\/\fR, \fB\-\-interval\fR \fI\,INTERVAL\/\fR
|
|
||||||
interval between runs in seconds
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-aur\fR, \fB\-\-no\-aur\fR
|
|
||||||
enable or disable checking for AUR updates. Implies \-\-no\-vcs (default: True)
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-local\fR, \fB\-\-no\-local\fR
|
|
||||||
enable or disable checking of local packages for updates (default: True)
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-manual\fR, \fB\-\-no\-manual\fR
|
|
||||||
include or exclude manual updates (default: True)
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-vcs\fR, \fB\-\-no\-vcs\fR
|
|
||||||
enable or disable checking of VCS packages (default: True)
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-y\fR, \fB\-\-refresh\fR
|
|
||||||
download fresh package databases from the mirror before actions, \-yy to force refresh even if up to date
|
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman help'\/\fR
|
.SH COMMAND \fI\,'ahriman help'\/\fR
|
||||||
usage: ahriman help [\-h] [command]
|
usage: ahriman help [\-h] [command]
|
||||||
|
|
||||||
@ -227,19 +196,10 @@ list unsafe commands as defined in default args
|
|||||||
instead of showing commands, just test command line for unsafe subcommand and return 0 in case if command is safe and 1
|
instead of showing commands, just test command line for unsafe subcommand and return 0 in case if command is safe and 1
|
||||||
otherwise
|
otherwise
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman key\-import'\/\fR
|
.SH COMMAND \fI\,'ahriman help\-version'\/\fR
|
||||||
usage: ahriman key\-import [\-h] [\-\-key\-server KEY_SERVER] key
|
usage: ahriman help\-version [\-h]
|
||||||
|
|
||||||
import PGP key from public sources to the repository user
|
print application and its dependencies versions
|
||||||
|
|
||||||
.TP
|
|
||||||
\fBkey\fR
|
|
||||||
PGP key to import from public server
|
|
||||||
|
|
||||||
.SH OPTIONS \fI\,'ahriman key\-import'\/\fR
|
|
||||||
.TP
|
|
||||||
\fB\-\-key\-server\fR \fI\,KEY_SERVER\/\fR
|
|
||||||
key server for key import
|
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman package\-add'\/\fR
|
.SH COMMAND \fI\,'ahriman package\-add'\/\fR
|
||||||
usage: ahriman package\-add [\-h] [\-e] [\-n] [\-y] [\-s {auto,archive,aur,directory,local,remote,repository}]
|
usage: ahriman package\-add [\-h] [\-e] [\-n] [\-y] [\-s {auto,archive,aur,directory,local,remote,repository}]
|
||||||
@ -427,47 +387,36 @@ enable or disable checking of VCS packages (default: True)
|
|||||||
\fB\-y\fR, \fB\-\-refresh\fR
|
\fB\-y\fR, \fB\-\-refresh\fR
|
||||||
download fresh package databases from the mirror before actions, \-yy to force refresh even if up to date
|
download fresh package databases from the mirror before actions, \-yy to force refresh even if up to date
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman repo\-clean'\/\fR
|
.SH COMMAND \fI\,'ahriman repo\-daemon'\/\fR
|
||||||
usage: ahriman repo\-clean [\-h] [\-\-cache | \-\-no\-cache] [\-\-chroot | \-\-no\-chroot] [\-\-manual | \-\-no\-manual]
|
usage: ahriman repo\-daemon [\-h] [\-i INTERVAL] [\-\-aur | \-\-no\-aur] [\-\-local | \-\-no\-local] [\-\-manual | \-\-no\-manual]
|
||||||
[\-\-packages | \-\-no\-packages] [\-\-pacman | \-\-no\-pacman]
|
[\-\-vcs | \-\-no\-vcs] [\-y]
|
||||||
|
|
||||||
remove local caches
|
start process which periodically will run update process
|
||||||
|
|
||||||
.SH OPTIONS \fI\,'ahriman repo\-clean'\/\fR
|
.SH OPTIONS \fI\,'ahriman repo\-daemon'\/\fR
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-cache\fR, \fB\-\-no\-cache\fR
|
\fB\-i\fR \fI\,INTERVAL\/\fR, \fB\-\-interval\fR \fI\,INTERVAL\/\fR
|
||||||
clear directory with package caches (default: False)
|
interval between runs in seconds
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-chroot\fR, \fB\-\-no\-chroot\fR
|
\fB\-\-aur\fR, \fB\-\-no\-aur\fR
|
||||||
clear build chroot (default: False)
|
enable or disable checking for AUR updates. Implies \-\-no\-vcs (default: True)
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-local\fR, \fB\-\-no\-local\fR
|
||||||
|
enable or disable checking of local packages for updates (default: True)
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-manual\fR, \fB\-\-no\-manual\fR
|
\fB\-\-manual\fR, \fB\-\-no\-manual\fR
|
||||||
clear manually added packages queue (default: False)
|
include or exclude manual updates (default: True)
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-packages\fR, \fB\-\-no\-packages\fR
|
\fB\-\-vcs\fR, \fB\-\-no\-vcs\fR
|
||||||
clear directory with built packages (default: False)
|
enable or disable checking of VCS packages (default: True)
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-pacman\fR, \fB\-\-no\-pacman\fR
|
\fB\-y\fR, \fB\-\-refresh\fR
|
||||||
clear directory with pacman local database cache (default: False)
|
download fresh package databases from the mirror before actions, \-yy to force refresh even if up to date
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman repo\-config'\/\fR
|
|
||||||
usage: ahriman repo\-config [\-h]
|
|
||||||
|
|
||||||
dump configuration for the specified architecture
|
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman repo\-config\-validate'\/\fR
|
|
||||||
usage: ahriman repo\-config\-validate [\-h] [\-e]
|
|
||||||
|
|
||||||
validate configuration and print found errors
|
|
||||||
|
|
||||||
.SH OPTIONS \fI\,'ahriman repo\-config\-validate'\/\fR
|
|
||||||
.TP
|
|
||||||
\fB\-e\fR, \fB\-\-exit\-code\fR
|
|
||||||
return non\-zero exit status if configuration is invalid
|
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman repo\-rebuild'\/\fR
|
.SH COMMAND \fI\,'ahriman repo\-rebuild'\/\fR
|
||||||
usage: ahriman repo\-rebuild [\-h] [\-\-depends\-on DEPENDS_ON] [\-\-dry\-run] [\-\-from\-database] [\-e]
|
usage: ahriman repo\-rebuild [\-h] [\-\-depends\-on DEPENDS_ON] [\-\-dry\-run] [\-\-from\-database] [\-e]
|
||||||
@ -522,60 +471,6 @@ path of the input archive
|
|||||||
\fB\-o\fR \fI\,OUTPUT\/\fR, \fB\-\-output\fR \fI\,OUTPUT\/\fR
|
\fB\-o\fR \fI\,OUTPUT\/\fR, \fB\-\-output\fR \fI\,OUTPUT\/\fR
|
||||||
root path of the extracted files
|
root path of the extracted files
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman repo\-setup'\/\fR
|
|
||||||
usage: ahriman repo\-setup [\-h] [\-\-build\-as\-user BUILD_AS_USER] [\-\-build\-command BUILD_COMMAND]
|
|
||||||
[\-\-from\-configuration FROM_CONFIGURATION] [\-\-makeflags\-jobs | \-\-no\-makeflags\-jobs]
|
|
||||||
[\-\-multilib | \-\-no\-multilib] \-\-packager PACKAGER \-\-repository REPOSITORY [\-\-sign\-key SIGN_KEY]
|
|
||||||
[\-\-sign\-target {disabled,packages,repository}] [\-\-web\-port WEB_PORT]
|
|
||||||
[\-\-web\-unix\-socket WEB_UNIX_SOCKET]
|
|
||||||
|
|
||||||
create initial service configuration, requires root
|
|
||||||
|
|
||||||
.SH OPTIONS \fI\,'ahriman repo\-setup'\/\fR
|
|
||||||
.TP
|
|
||||||
\fB\-\-build\-as\-user\fR \fI\,BUILD_AS_USER\/\fR
|
|
||||||
force makepkg user to the specific one
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-build\-command\fR \fI\,BUILD_COMMAND\/\fR
|
|
||||||
build command prefix
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-from\-configuration\fR \fI\,FROM_CONFIGURATION\/\fR
|
|
||||||
path to default devtools pacman configuration
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-makeflags\-jobs\fR, \fB\-\-no\-makeflags\-jobs\fR
|
|
||||||
append MAKEFLAGS variable with parallelism set to number of cores (default: True)
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-multilib\fR, \fB\-\-no\-multilib\fR
|
|
||||||
add or do not multilib repository (default: True)
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-packager\fR \fI\,PACKAGER\/\fR
|
|
||||||
packager name and email
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-repository\fR \fI\,REPOSITORY\/\fR
|
|
||||||
repository name
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-sign\-key\fR \fI\,SIGN_KEY\/\fR
|
|
||||||
sign key id
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-sign\-target\fR \fI\,{disabled,packages,repository}\/\fR
|
|
||||||
sign options
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-web\-port\fR \fI\,WEB_PORT\/\fR
|
|
||||||
port of the web service
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\-\-web\-unix\-socket\fR \fI\,WEB_UNIX_SOCKET\/\fR
|
|
||||||
path to unix socket used for interprocess communications
|
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman repo\-sign'\/\fR
|
.SH COMMAND \fI\,'ahriman repo\-sign'\/\fR
|
||||||
usage: ahriman repo\-sign [\-h] [package ...]
|
usage: ahriman repo\-sign [\-h] [package ...]
|
||||||
|
|
||||||
@ -654,8 +549,118 @@ enable or disable checking of VCS packages (default: True)
|
|||||||
\fB\-y\fR, \fB\-\-refresh\fR
|
\fB\-y\fR, \fB\-\-refresh\fR
|
||||||
download fresh package databases from the mirror before actions, \-yy to force refresh even if up to date
|
download fresh package databases from the mirror before actions, \-yy to force refresh even if up to date
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman shell'\/\fR
|
.SH COMMAND \fI\,'ahriman service\-clean'\/\fR
|
||||||
usage: ahriman shell [\-h] [code]
|
usage: ahriman service\-clean [\-h] [\-\-cache | \-\-no\-cache] [\-\-chroot | \-\-no\-chroot] [\-\-manual | \-\-no\-manual]
|
||||||
|
[\-\-packages | \-\-no\-packages] [\-\-pacman | \-\-no\-pacman]
|
||||||
|
|
||||||
|
remove local caches
|
||||||
|
|
||||||
|
.SH OPTIONS \fI\,'ahriman service\-clean'\/\fR
|
||||||
|
.TP
|
||||||
|
\fB\-\-cache\fR, \fB\-\-no\-cache\fR
|
||||||
|
clear directory with package caches (default: False)
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-chroot\fR, \fB\-\-no\-chroot\fR
|
||||||
|
clear build chroot (default: False)
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-manual\fR, \fB\-\-no\-manual\fR
|
||||||
|
clear manually added packages queue (default: False)
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-packages\fR, \fB\-\-no\-packages\fR
|
||||||
|
clear directory with built packages (default: False)
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-pacman\fR, \fB\-\-no\-pacman\fR
|
||||||
|
clear directory with pacman local database cache (default: False)
|
||||||
|
|
||||||
|
.SH COMMAND \fI\,'ahriman service\-config'\/\fR
|
||||||
|
usage: ahriman service\-config [\-h]
|
||||||
|
|
||||||
|
dump configuration for the specified architecture
|
||||||
|
|
||||||
|
.SH COMMAND \fI\,'ahriman service\-config\-validate'\/\fR
|
||||||
|
usage: ahriman service\-config\-validate [\-h] [\-e]
|
||||||
|
|
||||||
|
validate configuration and print found errors
|
||||||
|
|
||||||
|
.SH OPTIONS \fI\,'ahriman service\-config\-validate'\/\fR
|
||||||
|
.TP
|
||||||
|
\fB\-e\fR, \fB\-\-exit\-code\fR
|
||||||
|
return non\-zero exit status if configuration is invalid
|
||||||
|
|
||||||
|
.SH COMMAND \fI\,'ahriman service\-key\-import'\/\fR
|
||||||
|
usage: ahriman service\-key\-import [\-h] [\-\-key\-server KEY_SERVER] key
|
||||||
|
|
||||||
|
import PGP key from public sources to the repository user
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fBkey\fR
|
||||||
|
PGP key to import from public server
|
||||||
|
|
||||||
|
.SH OPTIONS \fI\,'ahriman service\-key\-import'\/\fR
|
||||||
|
.TP
|
||||||
|
\fB\-\-key\-server\fR \fI\,KEY_SERVER\/\fR
|
||||||
|
key server for key import
|
||||||
|
|
||||||
|
.SH COMMAND \fI\,'ahriman service\-setup'\/\fR
|
||||||
|
usage: ahriman service\-setup [\-h] [\-\-build\-as\-user BUILD_AS_USER] [\-\-build\-command BUILD_COMMAND]
|
||||||
|
[\-\-from\-configuration FROM_CONFIGURATION] [\-\-makeflags\-jobs | \-\-no\-makeflags\-jobs]
|
||||||
|
[\-\-multilib | \-\-no\-multilib] \-\-packager PACKAGER \-\-repository REPOSITORY
|
||||||
|
[\-\-sign\-key SIGN_KEY] [\-\-sign\-target {disabled,packages,repository}] [\-\-web\-port WEB_PORT]
|
||||||
|
[\-\-web\-unix\-socket WEB_UNIX_SOCKET]
|
||||||
|
|
||||||
|
create initial service configuration, requires root
|
||||||
|
|
||||||
|
.SH OPTIONS \fI\,'ahriman service\-setup'\/\fR
|
||||||
|
.TP
|
||||||
|
\fB\-\-build\-as\-user\fR \fI\,BUILD_AS_USER\/\fR
|
||||||
|
force makepkg user to the specific one
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-build\-command\fR \fI\,BUILD_COMMAND\/\fR
|
||||||
|
build command prefix
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-from\-configuration\fR \fI\,FROM_CONFIGURATION\/\fR
|
||||||
|
path to default devtools pacman configuration
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-makeflags\-jobs\fR, \fB\-\-no\-makeflags\-jobs\fR
|
||||||
|
append MAKEFLAGS variable with parallelism set to number of cores (default: True)
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-multilib\fR, \fB\-\-no\-multilib\fR
|
||||||
|
add or do not multilib repository (default: True)
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-packager\fR \fI\,PACKAGER\/\fR
|
||||||
|
packager name and email
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-repository\fR \fI\,REPOSITORY\/\fR
|
||||||
|
repository name
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-sign\-key\fR \fI\,SIGN_KEY\/\fR
|
||||||
|
sign key id
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-sign\-target\fR \fI\,{disabled,packages,repository}\/\fR
|
||||||
|
sign options
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-web\-port\fR \fI\,WEB_PORT\/\fR
|
||||||
|
port of the web service
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fB\-\-web\-unix\-socket\fR \fI\,WEB_UNIX_SOCKET\/\fR
|
||||||
|
path to unix socket used for interprocess communications
|
||||||
|
|
||||||
|
.SH COMMAND \fI\,'ahriman service\-shell'\/\fR
|
||||||
|
usage: ahriman service\-shell [\-h] [code]
|
||||||
|
|
||||||
drop into python shell while having created application
|
drop into python shell while having created application
|
||||||
|
|
||||||
@ -713,11 +718,6 @@ remove user from the user mapping and update the configuration
|
|||||||
\fBusername\fR
|
\fBusername\fR
|
||||||
username for web service
|
username for web service
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman version'\/\fR
|
|
||||||
usage: ahriman version [\-h]
|
|
||||||
|
|
||||||
print application and its dependencies versions
|
|
||||||
|
|
||||||
.SH COMMAND \fI\,'ahriman web'\/\fR
|
.SH COMMAND \fI\,'ahriman web'\/\fR
|
||||||
usage: ahriman web [\-h]
|
usage: ahriman web [\-h]
|
||||||
|
|
||||||
|
@ -81,6 +81,22 @@ In the most cases handlers spawn god class ``ahriman.application.application.App
|
|||||||
|
|
||||||
Application is designed to run from ``systemd`` services and provides parametrized by architecture timer and service file for that.
|
Application is designed to run from ``systemd`` services and provides parametrized by architecture timer and service file for that.
|
||||||
|
|
||||||
|
Subcommand design
|
||||||
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
All subcommands are divided into several groups depending on the role they are doing:
|
||||||
|
|
||||||
|
* ``aur`` (``aur-search``) group is for AUR operations.
|
||||||
|
* ``help`` (e.g. ``help``) are system commands.
|
||||||
|
* ``package`` subcommands (e.g. ``package-add``) allow to perform single package actions.
|
||||||
|
* ``patch`` subcommands (e.g. ``pacth-list``) are the special case of ``package`` subcommands introduced in order to control patches for packages.
|
||||||
|
* ``repo`` subcommands (e.g. ``repo-check``) usually perform actions on whole repository.
|
||||||
|
* ``service`` subcommands (e.g. ``service-setup``) perform actions which are related to whole service managing: create repository, show configuration.
|
||||||
|
* ``user`` subcommands (``user-add``) are intended for user management.
|
||||||
|
* ``web`` subcommands are related to web service management.
|
||||||
|
|
||||||
|
For historical reasons and in order to keep backward compatibility some subcommands have aliases to their shorter forms or even other groups, but the service doesn't guarantee that they will remain unchanged.
|
||||||
|
|
||||||
Database
|
Database
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
# AUTOMATICALLY GENERATED by `shtab`
|
# AUTOMATICALLY GENERATED by `shtab`
|
||||||
|
|
||||||
_shtab_ahriman_subparsers=('aur-search' 'search' 'daemon' 'help' 'help-commands-unsafe' 'key-import' 'package-add' 'add' 'package-update' 'package-remove' 'remove' 'package-status' 'status' 'package-status-remove' 'package-status-update' 'status-update' 'patch-add' 'patch-list' 'patch-remove' 'patch-set-add' 'repo-backup' 'repo-check' 'check' 'repo-clean' 'clean' 'repo-config' 'config' 'repo-config-validate' 'config-validate' 'repo-rebuild' 'rebuild' 'repo-remove-unknown' 'remove-unknown' 'repo-report' 'report' 'repo-restore' 'repo-setup' 'init' 'repo-init' 'setup' 'repo-sign' 'sign' 'repo-status-update' 'repo-sync' 'sync' 'repo-tree' 'repo-triggers' 'repo-update' 'update' 'shell' 'user-add' 'user-list' 'user-remove' 'version' 'web')
|
_shtab_ahriman_subparsers=('aur-search' 'search' 'help' 'help-commands-unsafe' 'help-version' 'version' 'package-add' 'add' 'package-update' 'package-remove' 'remove' 'package-status' 'status' 'package-status-remove' 'package-status-update' 'status-update' 'patch-add' 'patch-list' 'patch-remove' 'patch-set-add' 'repo-backup' 'repo-check' 'check' 'repo-daemon' 'daemon' 'repo-rebuild' 'rebuild' 'repo-remove-unknown' 'remove-unknown' 'repo-report' 'report' 'repo-restore' 'repo-sign' 'sign' 'repo-status-update' 'repo-sync' 'sync' 'repo-tree' 'repo-triggers' 'repo-update' 'update' 'service-clean' 'clean' 'repo-clean' 'service-config' 'config' 'repo-config' 'service-config-validate' 'config-validate' 'repo-config-validate' 'service-key-import' 'key-import' 'service-setup' 'init' 'repo-init' 'repo-setup' 'setup' 'service-shell' 'shell' 'user-add' 'user-list' 'user-remove' 'web')
|
||||||
|
|
||||||
_shtab_ahriman_option_strings=('-h' '--help' '-a' '--architecture' '-c' '--configuration' '--force' '-l' '--lock' '--report' '--no-report' '-q' '--quiet' '--unsafe' '-V' '--version')
|
_shtab_ahriman_option_strings=('-h' '--help' '-a' '--architecture' '-c' '--configuration' '--force' '-l' '--lock' '--report' '--no-report' '-q' '--quiet' '--unsafe' '-V' '--version')
|
||||||
_shtab_ahriman_aur_search_option_strings=('-h' '--help' '-e' '--exit-code' '--info' '--no-info' '--sort-by')
|
_shtab_ahriman_aur_search_option_strings=('-h' '--help' '-e' '--exit-code' '--info' '--no-info' '--sort-by')
|
||||||
_shtab_ahriman_search_option_strings=('-h' '--help' '-e' '--exit-code' '--info' '--no-info' '--sort-by')
|
_shtab_ahriman_search_option_strings=('-h' '--help' '-e' '--exit-code' '--info' '--no-info' '--sort-by')
|
||||||
_shtab_ahriman_daemon_option_strings=('-h' '--help' '-i' '--interval' '--aur' '--no-aur' '--local' '--no-local' '--manual' '--no-manual' '--vcs' '--no-vcs' '-y' '--refresh')
|
|
||||||
_shtab_ahriman_help_option_strings=('-h' '--help')
|
_shtab_ahriman_help_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_help_commands_unsafe_option_strings=('-h' '--help' '--command')
|
_shtab_ahriman_help_commands_unsafe_option_strings=('-h' '--help' '--command')
|
||||||
_shtab_ahriman_key_import_option_strings=('-h' '--help' '--key-server')
|
_shtab_ahriman_help_version_option_strings=('-h' '--help')
|
||||||
|
_shtab_ahriman_version_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_package_add_option_strings=('-h' '--help' '-e' '--exit-code' '-n' '--now' '-y' '--refresh' '-s' '--source' '--without-dependencies')
|
_shtab_ahriman_package_add_option_strings=('-h' '--help' '-e' '--exit-code' '-n' '--now' '-y' '--refresh' '-s' '--source' '--without-dependencies')
|
||||||
_shtab_ahriman_add_option_strings=('-h' '--help' '-e' '--exit-code' '-n' '--now' '-y' '--refresh' '-s' '--source' '--without-dependencies')
|
_shtab_ahriman_add_option_strings=('-h' '--help' '-e' '--exit-code' '-n' '--now' '-y' '--refresh' '-s' '--source' '--without-dependencies')
|
||||||
_shtab_ahriman_package_update_option_strings=('-h' '--help' '-e' '--exit-code' '-n' '--now' '-y' '--refresh' '-s' '--source' '--without-dependencies')
|
_shtab_ahriman_package_update_option_strings=('-h' '--help' '-e' '--exit-code' '-n' '--now' '-y' '--refresh' '-s' '--source' '--without-dependencies')
|
||||||
@ -26,12 +26,8 @@ _shtab_ahriman_patch_set_add_option_strings=('-h' '--help' '-t' '--track')
|
|||||||
_shtab_ahriman_repo_backup_option_strings=('-h' '--help')
|
_shtab_ahriman_repo_backup_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_repo_check_option_strings=('-h' '--help' '-e' '--exit-code' '--vcs' '--no-vcs' '-y' '--refresh')
|
_shtab_ahriman_repo_check_option_strings=('-h' '--help' '-e' '--exit-code' '--vcs' '--no-vcs' '-y' '--refresh')
|
||||||
_shtab_ahriman_check_option_strings=('-h' '--help' '-e' '--exit-code' '--vcs' '--no-vcs' '-y' '--refresh')
|
_shtab_ahriman_check_option_strings=('-h' '--help' '-e' '--exit-code' '--vcs' '--no-vcs' '-y' '--refresh')
|
||||||
_shtab_ahriman_repo_clean_option_strings=('-h' '--help' '--cache' '--no-cache' '--chroot' '--no-chroot' '--manual' '--no-manual' '--packages' '--no-packages' '--pacman' '--no-pacman')
|
_shtab_ahriman_repo_daemon_option_strings=('-h' '--help' '-i' '--interval' '--aur' '--no-aur' '--local' '--no-local' '--manual' '--no-manual' '--vcs' '--no-vcs' '-y' '--refresh')
|
||||||
_shtab_ahriman_clean_option_strings=('-h' '--help' '--cache' '--no-cache' '--chroot' '--no-chroot' '--manual' '--no-manual' '--packages' '--no-packages' '--pacman' '--no-pacman')
|
_shtab_ahriman_daemon_option_strings=('-h' '--help' '-i' '--interval' '--aur' '--no-aur' '--local' '--no-local' '--manual' '--no-manual' '--vcs' '--no-vcs' '-y' '--refresh')
|
||||||
_shtab_ahriman_repo_config_option_strings=('-h' '--help')
|
|
||||||
_shtab_ahriman_config_option_strings=('-h' '--help')
|
|
||||||
_shtab_ahriman_repo_config_validate_option_strings=('-h' '--help' '-e' '--exit-code')
|
|
||||||
_shtab_ahriman_config_validate_option_strings=('-h' '--help' '-e' '--exit-code')
|
|
||||||
_shtab_ahriman_repo_rebuild_option_strings=('-h' '--help' '--depends-on' '--dry-run' '--from-database' '-e' '--exit-code')
|
_shtab_ahriman_repo_rebuild_option_strings=('-h' '--help' '--depends-on' '--dry-run' '--from-database' '-e' '--exit-code')
|
||||||
_shtab_ahriman_rebuild_option_strings=('-h' '--help' '--depends-on' '--dry-run' '--from-database' '-e' '--exit-code')
|
_shtab_ahriman_rebuild_option_strings=('-h' '--help' '--depends-on' '--dry-run' '--from-database' '-e' '--exit-code')
|
||||||
_shtab_ahriman_repo_remove_unknown_option_strings=('-h' '--help' '--dry-run')
|
_shtab_ahriman_repo_remove_unknown_option_strings=('-h' '--help' '--dry-run')
|
||||||
@ -39,10 +35,6 @@ _shtab_ahriman_remove_unknown_option_strings=('-h' '--help' '--dry-run')
|
|||||||
_shtab_ahriman_repo_report_option_strings=('-h' '--help')
|
_shtab_ahriman_repo_report_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_report_option_strings=('-h' '--help')
|
_shtab_ahriman_report_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_repo_restore_option_strings=('-h' '--help' '-o' '--output')
|
_shtab_ahriman_repo_restore_option_strings=('-h' '--help' '-o' '--output')
|
||||||
_shtab_ahriman_repo_setup_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
|
||||||
_shtab_ahriman_init_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
|
||||||
_shtab_ahriman_repo_init_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
|
||||||
_shtab_ahriman_setup_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
|
||||||
_shtab_ahriman_repo_sign_option_strings=('-h' '--help')
|
_shtab_ahriman_repo_sign_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_sign_option_strings=('-h' '--help')
|
_shtab_ahriman_sign_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_repo_status_update_option_strings=('-h' '--help' '-s' '--status')
|
_shtab_ahriman_repo_status_update_option_strings=('-h' '--help' '-s' '--status')
|
||||||
@ -52,16 +44,32 @@ _shtab_ahriman_repo_tree_option_strings=('-h' '--help')
|
|||||||
_shtab_ahriman_repo_triggers_option_strings=('-h' '--help')
|
_shtab_ahriman_repo_triggers_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_repo_update_option_strings=('-h' '--help' '--dry-run' '-e' '--exit-code' '--aur' '--no-aur' '--local' '--no-local' '--manual' '--no-manual' '--vcs' '--no-vcs' '-y' '--refresh')
|
_shtab_ahriman_repo_update_option_strings=('-h' '--help' '--dry-run' '-e' '--exit-code' '--aur' '--no-aur' '--local' '--no-local' '--manual' '--no-manual' '--vcs' '--no-vcs' '-y' '--refresh')
|
||||||
_shtab_ahriman_update_option_strings=('-h' '--help' '--dry-run' '-e' '--exit-code' '--aur' '--no-aur' '--local' '--no-local' '--manual' '--no-manual' '--vcs' '--no-vcs' '-y' '--refresh')
|
_shtab_ahriman_update_option_strings=('-h' '--help' '--dry-run' '-e' '--exit-code' '--aur' '--no-aur' '--local' '--no-local' '--manual' '--no-manual' '--vcs' '--no-vcs' '-y' '--refresh')
|
||||||
|
_shtab_ahriman_service_clean_option_strings=('-h' '--help' '--cache' '--no-cache' '--chroot' '--no-chroot' '--manual' '--no-manual' '--packages' '--no-packages' '--pacman' '--no-pacman')
|
||||||
|
_shtab_ahriman_clean_option_strings=('-h' '--help' '--cache' '--no-cache' '--chroot' '--no-chroot' '--manual' '--no-manual' '--packages' '--no-packages' '--pacman' '--no-pacman')
|
||||||
|
_shtab_ahriman_repo_clean_option_strings=('-h' '--help' '--cache' '--no-cache' '--chroot' '--no-chroot' '--manual' '--no-manual' '--packages' '--no-packages' '--pacman' '--no-pacman')
|
||||||
|
_shtab_ahriman_service_config_option_strings=('-h' '--help')
|
||||||
|
_shtab_ahriman_config_option_strings=('-h' '--help')
|
||||||
|
_shtab_ahriman_repo_config_option_strings=('-h' '--help')
|
||||||
|
_shtab_ahriman_service_config_validate_option_strings=('-h' '--help' '-e' '--exit-code')
|
||||||
|
_shtab_ahriman_config_validate_option_strings=('-h' '--help' '-e' '--exit-code')
|
||||||
|
_shtab_ahriman_repo_config_validate_option_strings=('-h' '--help' '-e' '--exit-code')
|
||||||
|
_shtab_ahriman_service_key_import_option_strings=('-h' '--help' '--key-server')
|
||||||
|
_shtab_ahriman_key_import_option_strings=('-h' '--help' '--key-server')
|
||||||
|
_shtab_ahriman_service_setup_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
||||||
|
_shtab_ahriman_init_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
||||||
|
_shtab_ahriman_repo_init_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
||||||
|
_shtab_ahriman_repo_setup_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
||||||
|
_shtab_ahriman_setup_option_strings=('-h' '--help' '--build-as-user' '--build-command' '--from-configuration' '--makeflags-jobs' '--no-makeflags-jobs' '--multilib' '--no-multilib' '--packager' '--repository' '--sign-key' '--sign-target' '--web-port' '--web-unix-socket')
|
||||||
|
_shtab_ahriman_service_shell_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_shell_option_strings=('-h' '--help')
|
_shtab_ahriman_shell_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_user_add_option_strings=('-h' '--help' '-p' '--password' '-r' '--role' '-s' '--secure')
|
_shtab_ahriman_user_add_option_strings=('-h' '--help' '-p' '--password' '-r' '--role' '-s' '--secure')
|
||||||
_shtab_ahriman_user_list_option_strings=('-h' '--help' '-e' '--exit-code' '-r' '--role')
|
_shtab_ahriman_user_list_option_strings=('-h' '--help' '-e' '--exit-code' '-r' '--role')
|
||||||
_shtab_ahriman_user_remove_option_strings=('-h' '--help')
|
_shtab_ahriman_user_remove_option_strings=('-h' '--help')
|
||||||
_shtab_ahriman_version_option_strings=('-h' '--help')
|
|
||||||
_shtab_ahriman_web_option_strings=('-h' '--help')
|
_shtab_ahriman_web_option_strings=('-h' '--help')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_shtab_ahriman_pos_0_choices=('aur-search' 'search' 'daemon' 'help' 'help-commands-unsafe' 'key-import' 'package-add' 'add' 'package-update' 'package-remove' 'remove' 'package-status' 'status' 'package-status-remove' 'package-status-update' 'status-update' 'patch-add' 'patch-list' 'patch-remove' 'patch-set-add' 'repo-backup' 'repo-check' 'check' 'repo-clean' 'clean' 'repo-config' 'config' 'repo-config-validate' 'config-validate' 'repo-rebuild' 'rebuild' 'repo-remove-unknown' 'remove-unknown' 'repo-report' 'report' 'repo-restore' 'repo-setup' 'init' 'repo-init' 'setup' 'repo-sign' 'sign' 'repo-status-update' 'repo-sync' 'sync' 'repo-tree' 'repo-triggers' 'repo-update' 'update' 'shell' 'user-add' 'user-list' 'user-remove' 'version' 'web')
|
_shtab_ahriman_pos_0_choices=('aur-search' 'search' 'help' 'help-commands-unsafe' 'help-version' 'version' 'package-add' 'add' 'package-update' 'package-remove' 'remove' 'package-status' 'status' 'package-status-remove' 'package-status-update' 'status-update' 'patch-add' 'patch-list' 'patch-remove' 'patch-set-add' 'repo-backup' 'repo-check' 'check' 'repo-daemon' 'daemon' 'repo-rebuild' 'rebuild' 'repo-remove-unknown' 'remove-unknown' 'repo-report' 'report' 'repo-restore' 'repo-sign' 'sign' 'repo-status-update' 'repo-sync' 'sync' 'repo-tree' 'repo-triggers' 'repo-update' 'update' 'service-clean' 'clean' 'repo-clean' 'service-config' 'config' 'repo-config' 'service-config-validate' 'config-validate' 'repo-config-validate' 'service-key-import' 'key-import' 'service-setup' 'init' 'repo-init' 'repo-setup' 'setup' 'service-shell' 'shell' 'user-add' 'user-list' 'user-remove' 'web')
|
||||||
_shtab_ahriman_aur_search___sort_by_choices=('description' 'first_submitted' 'id' 'last_modified' 'maintainer' 'name' 'num_votes' 'out_of_date' 'package_base' 'package_base_id' 'popularity' 'repository' 'url' 'url_path' 'version')
|
_shtab_ahriman_aur_search___sort_by_choices=('description' 'first_submitted' 'id' 'last_modified' 'maintainer' 'name' 'num_votes' 'out_of_date' 'package_base' 'package_base_id' 'popularity' 'repository' 'url' 'url_path' 'version')
|
||||||
_shtab_ahriman_search___sort_by_choices=('description' 'first_submitted' 'id' 'last_modified' 'maintainer' 'name' 'num_votes' 'out_of_date' 'package_base' 'package_base_id' 'popularity' 'repository' 'url' 'url_path' 'version')
|
_shtab_ahriman_search___sort_by_choices=('description' 'first_submitted' 'id' 'last_modified' 'maintainer' 'name' 'num_votes' 'out_of_date' 'package_base' 'package_base_id' 'popularity' 'repository' 'url' 'url_path' 'version')
|
||||||
_shtab_ahriman_package_add__s_choices=('auto' 'archive' 'aur' 'directory' 'local' 'remote' 'repository')
|
_shtab_ahriman_package_add__s_choices=('auto' 'archive' 'aur' 'directory' 'local' 'remote' 'repository')
|
||||||
@ -78,12 +86,13 @@ _shtab_ahriman_package_status_update__s_choices=('unknown' 'pending' 'building'
|
|||||||
_shtab_ahriman_package_status_update___status_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
_shtab_ahriman_package_status_update___status_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
||||||
_shtab_ahriman_status_update__s_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
_shtab_ahriman_status_update__s_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
||||||
_shtab_ahriman_status_update___status_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
_shtab_ahriman_status_update___status_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
||||||
_shtab_ahriman_repo_setup___sign_target_choices=('disabled' 'packages' 'repository')
|
|
||||||
_shtab_ahriman_init___sign_target_choices=('disabled' 'packages' 'repository')
|
|
||||||
_shtab_ahriman_repo_init___sign_target_choices=('disabled' 'packages' 'repository')
|
|
||||||
_shtab_ahriman_setup___sign_target_choices=('disabled' 'packages' 'repository')
|
|
||||||
_shtab_ahriman_repo_status_update__s_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
_shtab_ahriman_repo_status_update__s_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
||||||
_shtab_ahriman_repo_status_update___status_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
_shtab_ahriman_repo_status_update___status_choices=('unknown' 'pending' 'building' 'failed' 'success')
|
||||||
|
_shtab_ahriman_service_setup___sign_target_choices=('disabled' 'packages' 'repository')
|
||||||
|
_shtab_ahriman_init___sign_target_choices=('disabled' 'packages' 'repository')
|
||||||
|
_shtab_ahriman_repo_init___sign_target_choices=('disabled' 'packages' 'repository')
|
||||||
|
_shtab_ahriman_repo_setup___sign_target_choices=('disabled' 'packages' 'repository')
|
||||||
|
_shtab_ahriman_setup___sign_target_choices=('disabled' 'packages' 'repository')
|
||||||
_shtab_ahriman_user_add__r_choices=('unauthorized' 'read' 'reporter' 'full')
|
_shtab_ahriman_user_add__r_choices=('unauthorized' 'read' 'reporter' 'full')
|
||||||
_shtab_ahriman_user_add___role_choices=('unauthorized' 'read' 'reporter' 'full')
|
_shtab_ahriman_user_add___role_choices=('unauthorized' 'read' 'reporter' 'full')
|
||||||
_shtab_ahriman_user_list__r_choices=('unauthorized' 'read' 'reporter' 'full')
|
_shtab_ahriman_user_list__r_choices=('unauthorized' 'read' 'reporter' 'full')
|
||||||
@ -114,24 +123,14 @@ _shtab_ahriman_search__e_nargs=0
|
|||||||
_shtab_ahriman_search___exit_code_nargs=0
|
_shtab_ahriman_search___exit_code_nargs=0
|
||||||
_shtab_ahriman_search___info_nargs=0
|
_shtab_ahriman_search___info_nargs=0
|
||||||
_shtab_ahriman_search___no_info_nargs=0
|
_shtab_ahriman_search___no_info_nargs=0
|
||||||
_shtab_ahriman_daemon__h_nargs=0
|
|
||||||
_shtab_ahriman_daemon___help_nargs=0
|
|
||||||
_shtab_ahriman_daemon___aur_nargs=0
|
|
||||||
_shtab_ahriman_daemon___no_aur_nargs=0
|
|
||||||
_shtab_ahriman_daemon___local_nargs=0
|
|
||||||
_shtab_ahriman_daemon___no_local_nargs=0
|
|
||||||
_shtab_ahriman_daemon___manual_nargs=0
|
|
||||||
_shtab_ahriman_daemon___no_manual_nargs=0
|
|
||||||
_shtab_ahriman_daemon___vcs_nargs=0
|
|
||||||
_shtab_ahriman_daemon___no_vcs_nargs=0
|
|
||||||
_shtab_ahriman_daemon__y_nargs=0
|
|
||||||
_shtab_ahriman_daemon___refresh_nargs=0
|
|
||||||
_shtab_ahriman_help__h_nargs=0
|
_shtab_ahriman_help__h_nargs=0
|
||||||
_shtab_ahriman_help___help_nargs=0
|
_shtab_ahriman_help___help_nargs=0
|
||||||
_shtab_ahriman_help_commands_unsafe__h_nargs=0
|
_shtab_ahriman_help_commands_unsafe__h_nargs=0
|
||||||
_shtab_ahriman_help_commands_unsafe___help_nargs=0
|
_shtab_ahriman_help_commands_unsafe___help_nargs=0
|
||||||
_shtab_ahriman_key_import__h_nargs=0
|
_shtab_ahriman_help_version__h_nargs=0
|
||||||
_shtab_ahriman_key_import___help_nargs=0
|
_shtab_ahriman_help_version___help_nargs=0
|
||||||
|
_shtab_ahriman_version__h_nargs=0
|
||||||
|
_shtab_ahriman_version___help_nargs=0
|
||||||
_shtab_ahriman_package_add_pos_0_nargs=+
|
_shtab_ahriman_package_add_pos_0_nargs=+
|
||||||
_shtab_ahriman_package_add__h_nargs=0
|
_shtab_ahriman_package_add__h_nargs=0
|
||||||
_shtab_ahriman_package_add___help_nargs=0
|
_shtab_ahriman_package_add___help_nargs=0
|
||||||
@ -223,42 +222,30 @@ _shtab_ahriman_check___vcs_nargs=0
|
|||||||
_shtab_ahriman_check___no_vcs_nargs=0
|
_shtab_ahriman_check___no_vcs_nargs=0
|
||||||
_shtab_ahriman_check__y_nargs=0
|
_shtab_ahriman_check__y_nargs=0
|
||||||
_shtab_ahriman_check___refresh_nargs=0
|
_shtab_ahriman_check___refresh_nargs=0
|
||||||
_shtab_ahriman_repo_clean__h_nargs=0
|
_shtab_ahriman_repo_daemon__h_nargs=0
|
||||||
_shtab_ahriman_repo_clean___help_nargs=0
|
_shtab_ahriman_repo_daemon___help_nargs=0
|
||||||
_shtab_ahriman_repo_clean___cache_nargs=0
|
_shtab_ahriman_repo_daemon___aur_nargs=0
|
||||||
_shtab_ahriman_repo_clean___no_cache_nargs=0
|
_shtab_ahriman_repo_daemon___no_aur_nargs=0
|
||||||
_shtab_ahriman_repo_clean___chroot_nargs=0
|
_shtab_ahriman_repo_daemon___local_nargs=0
|
||||||
_shtab_ahriman_repo_clean___no_chroot_nargs=0
|
_shtab_ahriman_repo_daemon___no_local_nargs=0
|
||||||
_shtab_ahriman_repo_clean___manual_nargs=0
|
_shtab_ahriman_repo_daemon___manual_nargs=0
|
||||||
_shtab_ahriman_repo_clean___no_manual_nargs=0
|
_shtab_ahriman_repo_daemon___no_manual_nargs=0
|
||||||
_shtab_ahriman_repo_clean___packages_nargs=0
|
_shtab_ahriman_repo_daemon___vcs_nargs=0
|
||||||
_shtab_ahriman_repo_clean___no_packages_nargs=0
|
_shtab_ahriman_repo_daemon___no_vcs_nargs=0
|
||||||
_shtab_ahriman_repo_clean___pacman_nargs=0
|
_shtab_ahriman_repo_daemon__y_nargs=0
|
||||||
_shtab_ahriman_repo_clean___no_pacman_nargs=0
|
_shtab_ahriman_repo_daemon___refresh_nargs=0
|
||||||
_shtab_ahriman_clean__h_nargs=0
|
_shtab_ahriman_daemon__h_nargs=0
|
||||||
_shtab_ahriman_clean___help_nargs=0
|
_shtab_ahriman_daemon___help_nargs=0
|
||||||
_shtab_ahriman_clean___cache_nargs=0
|
_shtab_ahriman_daemon___aur_nargs=0
|
||||||
_shtab_ahriman_clean___no_cache_nargs=0
|
_shtab_ahriman_daemon___no_aur_nargs=0
|
||||||
_shtab_ahriman_clean___chroot_nargs=0
|
_shtab_ahriman_daemon___local_nargs=0
|
||||||
_shtab_ahriman_clean___no_chroot_nargs=0
|
_shtab_ahriman_daemon___no_local_nargs=0
|
||||||
_shtab_ahriman_clean___manual_nargs=0
|
_shtab_ahriman_daemon___manual_nargs=0
|
||||||
_shtab_ahriman_clean___no_manual_nargs=0
|
_shtab_ahriman_daemon___no_manual_nargs=0
|
||||||
_shtab_ahriman_clean___packages_nargs=0
|
_shtab_ahriman_daemon___vcs_nargs=0
|
||||||
_shtab_ahriman_clean___no_packages_nargs=0
|
_shtab_ahriman_daemon___no_vcs_nargs=0
|
||||||
_shtab_ahriman_clean___pacman_nargs=0
|
_shtab_ahriman_daemon__y_nargs=0
|
||||||
_shtab_ahriman_clean___no_pacman_nargs=0
|
_shtab_ahriman_daemon___refresh_nargs=0
|
||||||
_shtab_ahriman_repo_config__h_nargs=0
|
|
||||||
_shtab_ahriman_repo_config___help_nargs=0
|
|
||||||
_shtab_ahriman_config__h_nargs=0
|
|
||||||
_shtab_ahriman_config___help_nargs=0
|
|
||||||
_shtab_ahriman_repo_config_validate__h_nargs=0
|
|
||||||
_shtab_ahriman_repo_config_validate___help_nargs=0
|
|
||||||
_shtab_ahriman_repo_config_validate__e_nargs=0
|
|
||||||
_shtab_ahriman_repo_config_validate___exit_code_nargs=0
|
|
||||||
_shtab_ahriman_config_validate__h_nargs=0
|
|
||||||
_shtab_ahriman_config_validate___help_nargs=0
|
|
||||||
_shtab_ahriman_config_validate__e_nargs=0
|
|
||||||
_shtab_ahriman_config_validate___exit_code_nargs=0
|
|
||||||
_shtab_ahriman_repo_rebuild__h_nargs=0
|
_shtab_ahriman_repo_rebuild__h_nargs=0
|
||||||
_shtab_ahriman_repo_rebuild___help_nargs=0
|
_shtab_ahriman_repo_rebuild___help_nargs=0
|
||||||
_shtab_ahriman_repo_rebuild___dry_run_nargs=0
|
_shtab_ahriman_repo_rebuild___dry_run_nargs=0
|
||||||
@ -283,30 +270,6 @@ _shtab_ahriman_report__h_nargs=0
|
|||||||
_shtab_ahriman_report___help_nargs=0
|
_shtab_ahriman_report___help_nargs=0
|
||||||
_shtab_ahriman_repo_restore__h_nargs=0
|
_shtab_ahriman_repo_restore__h_nargs=0
|
||||||
_shtab_ahriman_repo_restore___help_nargs=0
|
_shtab_ahriman_repo_restore___help_nargs=0
|
||||||
_shtab_ahriman_repo_setup__h_nargs=0
|
|
||||||
_shtab_ahriman_repo_setup___help_nargs=0
|
|
||||||
_shtab_ahriman_repo_setup___makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_repo_setup___no_makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_repo_setup___multilib_nargs=0
|
|
||||||
_shtab_ahriman_repo_setup___no_multilib_nargs=0
|
|
||||||
_shtab_ahriman_init__h_nargs=0
|
|
||||||
_shtab_ahriman_init___help_nargs=0
|
|
||||||
_shtab_ahriman_init___makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_init___no_makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_init___multilib_nargs=0
|
|
||||||
_shtab_ahriman_init___no_multilib_nargs=0
|
|
||||||
_shtab_ahriman_repo_init__h_nargs=0
|
|
||||||
_shtab_ahriman_repo_init___help_nargs=0
|
|
||||||
_shtab_ahriman_repo_init___makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_repo_init___no_makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_repo_init___multilib_nargs=0
|
|
||||||
_shtab_ahriman_repo_init___no_multilib_nargs=0
|
|
||||||
_shtab_ahriman_setup__h_nargs=0
|
|
||||||
_shtab_ahriman_setup___help_nargs=0
|
|
||||||
_shtab_ahriman_setup___makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_setup___no_makeflags_jobs_nargs=0
|
|
||||||
_shtab_ahriman_setup___multilib_nargs=0
|
|
||||||
_shtab_ahriman_setup___no_multilib_nargs=0
|
|
||||||
_shtab_ahriman_repo_sign_pos_0_nargs=*
|
_shtab_ahriman_repo_sign_pos_0_nargs=*
|
||||||
_shtab_ahriman_repo_sign__h_nargs=0
|
_shtab_ahriman_repo_sign__h_nargs=0
|
||||||
_shtab_ahriman_repo_sign___help_nargs=0
|
_shtab_ahriman_repo_sign___help_nargs=0
|
||||||
@ -356,6 +319,98 @@ _shtab_ahriman_update___vcs_nargs=0
|
|||||||
_shtab_ahriman_update___no_vcs_nargs=0
|
_shtab_ahriman_update___no_vcs_nargs=0
|
||||||
_shtab_ahriman_update__y_nargs=0
|
_shtab_ahriman_update__y_nargs=0
|
||||||
_shtab_ahriman_update___refresh_nargs=0
|
_shtab_ahriman_update___refresh_nargs=0
|
||||||
|
_shtab_ahriman_service_clean__h_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___help_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___cache_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___no_cache_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___chroot_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___no_chroot_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___manual_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___no_manual_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___packages_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___no_packages_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___pacman_nargs=0
|
||||||
|
_shtab_ahriman_service_clean___no_pacman_nargs=0
|
||||||
|
_shtab_ahriman_clean__h_nargs=0
|
||||||
|
_shtab_ahriman_clean___help_nargs=0
|
||||||
|
_shtab_ahriman_clean___cache_nargs=0
|
||||||
|
_shtab_ahriman_clean___no_cache_nargs=0
|
||||||
|
_shtab_ahriman_clean___chroot_nargs=0
|
||||||
|
_shtab_ahriman_clean___no_chroot_nargs=0
|
||||||
|
_shtab_ahriman_clean___manual_nargs=0
|
||||||
|
_shtab_ahriman_clean___no_manual_nargs=0
|
||||||
|
_shtab_ahriman_clean___packages_nargs=0
|
||||||
|
_shtab_ahriman_clean___no_packages_nargs=0
|
||||||
|
_shtab_ahriman_clean___pacman_nargs=0
|
||||||
|
_shtab_ahriman_clean___no_pacman_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean__h_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___help_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___cache_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___no_cache_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___chroot_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___no_chroot_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___manual_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___no_manual_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___packages_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___no_packages_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___pacman_nargs=0
|
||||||
|
_shtab_ahriman_repo_clean___no_pacman_nargs=0
|
||||||
|
_shtab_ahriman_service_config__h_nargs=0
|
||||||
|
_shtab_ahriman_service_config___help_nargs=0
|
||||||
|
_shtab_ahriman_config__h_nargs=0
|
||||||
|
_shtab_ahriman_config___help_nargs=0
|
||||||
|
_shtab_ahriman_repo_config__h_nargs=0
|
||||||
|
_shtab_ahriman_repo_config___help_nargs=0
|
||||||
|
_shtab_ahriman_service_config_validate__h_nargs=0
|
||||||
|
_shtab_ahriman_service_config_validate___help_nargs=0
|
||||||
|
_shtab_ahriman_service_config_validate__e_nargs=0
|
||||||
|
_shtab_ahriman_service_config_validate___exit_code_nargs=0
|
||||||
|
_shtab_ahriman_config_validate__h_nargs=0
|
||||||
|
_shtab_ahriman_config_validate___help_nargs=0
|
||||||
|
_shtab_ahriman_config_validate__e_nargs=0
|
||||||
|
_shtab_ahriman_config_validate___exit_code_nargs=0
|
||||||
|
_shtab_ahriman_repo_config_validate__h_nargs=0
|
||||||
|
_shtab_ahriman_repo_config_validate___help_nargs=0
|
||||||
|
_shtab_ahriman_repo_config_validate__e_nargs=0
|
||||||
|
_shtab_ahriman_repo_config_validate___exit_code_nargs=0
|
||||||
|
_shtab_ahriman_service_key_import__h_nargs=0
|
||||||
|
_shtab_ahriman_service_key_import___help_nargs=0
|
||||||
|
_shtab_ahriman_key_import__h_nargs=0
|
||||||
|
_shtab_ahriman_key_import___help_nargs=0
|
||||||
|
_shtab_ahriman_service_setup__h_nargs=0
|
||||||
|
_shtab_ahriman_service_setup___help_nargs=0
|
||||||
|
_shtab_ahriman_service_setup___makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_service_setup___no_makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_service_setup___multilib_nargs=0
|
||||||
|
_shtab_ahriman_service_setup___no_multilib_nargs=0
|
||||||
|
_shtab_ahriman_init__h_nargs=0
|
||||||
|
_shtab_ahriman_init___help_nargs=0
|
||||||
|
_shtab_ahriman_init___makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_init___no_makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_init___multilib_nargs=0
|
||||||
|
_shtab_ahriman_init___no_multilib_nargs=0
|
||||||
|
_shtab_ahriman_repo_init__h_nargs=0
|
||||||
|
_shtab_ahriman_repo_init___help_nargs=0
|
||||||
|
_shtab_ahriman_repo_init___makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_repo_init___no_makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_repo_init___multilib_nargs=0
|
||||||
|
_shtab_ahriman_repo_init___no_multilib_nargs=0
|
||||||
|
_shtab_ahriman_repo_setup__h_nargs=0
|
||||||
|
_shtab_ahriman_repo_setup___help_nargs=0
|
||||||
|
_shtab_ahriman_repo_setup___makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_repo_setup___no_makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_repo_setup___multilib_nargs=0
|
||||||
|
_shtab_ahriman_repo_setup___no_multilib_nargs=0
|
||||||
|
_shtab_ahriman_setup__h_nargs=0
|
||||||
|
_shtab_ahriman_setup___help_nargs=0
|
||||||
|
_shtab_ahriman_setup___makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_setup___no_makeflags_jobs_nargs=0
|
||||||
|
_shtab_ahriman_setup___multilib_nargs=0
|
||||||
|
_shtab_ahriman_setup___no_multilib_nargs=0
|
||||||
|
_shtab_ahriman_service_shell__h_nargs=0
|
||||||
|
_shtab_ahriman_service_shell___help_nargs=0
|
||||||
|
_shtab_ahriman_service_shell__v_nargs=0
|
||||||
|
_shtab_ahriman_service_shell___verbose_nargs=0
|
||||||
_shtab_ahriman_shell__h_nargs=0
|
_shtab_ahriman_shell__h_nargs=0
|
||||||
_shtab_ahriman_shell___help_nargs=0
|
_shtab_ahriman_shell___help_nargs=0
|
||||||
_shtab_ahriman_shell__v_nargs=0
|
_shtab_ahriman_shell__v_nargs=0
|
||||||
@ -370,8 +425,6 @@ _shtab_ahriman_user_list__e_nargs=0
|
|||||||
_shtab_ahriman_user_list___exit_code_nargs=0
|
_shtab_ahriman_user_list___exit_code_nargs=0
|
||||||
_shtab_ahriman_user_remove__h_nargs=0
|
_shtab_ahriman_user_remove__h_nargs=0
|
||||||
_shtab_ahriman_user_remove___help_nargs=0
|
_shtab_ahriman_user_remove___help_nargs=0
|
||||||
_shtab_ahriman_version__h_nargs=0
|
|
||||||
_shtab_ahriman_version___help_nargs=0
|
|
||||||
_shtab_ahriman_web__h_nargs=0
|
_shtab_ahriman_web__h_nargs=0
|
||||||
_shtab_ahriman_web___help_nargs=0
|
_shtab_ahriman_web___help_nargs=0
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ _shtab_ahriman_commands() {
|
|||||||
"daemon:start process which periodically will run update process"
|
"daemon:start process which periodically will run update process"
|
||||||
"help:show help message for application or command and exit"
|
"help:show help message for application or command and exit"
|
||||||
"help-commands-unsafe:list unsafe commands as defined in default args"
|
"help-commands-unsafe:list unsafe commands as defined in default args"
|
||||||
|
"help-version:print application and its dependencies versions"
|
||||||
"init:create initial service configuration, requires root"
|
"init:create initial service configuration, requires root"
|
||||||
"key-import:import PGP key from public sources to the repository user"
|
"key-import:import PGP key from public sources to the repository user"
|
||||||
"package-add:add existing or new package to the build queue"
|
"package-add:add existing or new package to the build queue"
|
||||||
@ -34,6 +35,7 @@ _shtab_ahriman_commands() {
|
|||||||
"repo-clean:remove local caches"
|
"repo-clean:remove local caches"
|
||||||
"repo-config:dump configuration for the specified architecture"
|
"repo-config:dump configuration for the specified architecture"
|
||||||
"repo-config-validate:validate configuration and print found errors"
|
"repo-config-validate:validate configuration and print found errors"
|
||||||
|
"repo-daemon:start process which periodically will run update process"
|
||||||
"repo-init:create initial service configuration, requires root"
|
"repo-init:create initial service configuration, requires root"
|
||||||
"repo-rebuild:force rebuild whole repository"
|
"repo-rebuild:force rebuild whole repository"
|
||||||
"repo-remove-unknown:remove packages which are missing in AUR and do not have local PKGBUILDs"
|
"repo-remove-unknown:remove packages which are missing in AUR and do not have local PKGBUILDs"
|
||||||
@ -48,6 +50,12 @@ _shtab_ahriman_commands() {
|
|||||||
"repo-update:check for packages updates and run build process if requested"
|
"repo-update:check for packages updates and run build process if requested"
|
||||||
"report:generate repository report according to current settings"
|
"report:generate repository report according to current settings"
|
||||||
"search:search for package in AUR using API"
|
"search:search for package in AUR using API"
|
||||||
|
"service-clean:remove local caches"
|
||||||
|
"service-config:dump configuration for the specified architecture"
|
||||||
|
"service-config-validate:validate configuration and print found errors"
|
||||||
|
"service-key-import:import PGP key from public sources to the repository user"
|
||||||
|
"service-setup:create initial service configuration, requires root"
|
||||||
|
"service-shell:drop into python shell while having created application"
|
||||||
"setup:create initial service configuration, requires root"
|
"setup:create initial service configuration, requires root"
|
||||||
"shell:drop into python shell while having created application"
|
"shell:drop into python shell while having created application"
|
||||||
"sign:(re-)sign packages and repository database according to current settings"
|
"sign:(re-)sign packages and repository database according to current settings"
|
||||||
@ -140,6 +148,10 @@ _shtab_ahriman_help_commands_unsafe_options=(
|
|||||||
"--command[instead of showing commands, just test command line for unsafe subcommand and return 0 in case if command is safe and 1 otherwise]:command:"
|
"--command[instead of showing commands, just test command line for unsafe subcommand and return 0 in case if command is safe and 1 otherwise]:command:"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_help_version_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
)
|
||||||
|
|
||||||
_shtab_ahriman_init_options=(
|
_shtab_ahriman_init_options=(
|
||||||
"(- : *)"{-h,--help}"[show this help message and exit]"
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
"--build-as-user[force makepkg user to the specific one]:build_as_user:"
|
"--build-as-user[force makepkg user to the specific one]:build_as_user:"
|
||||||
@ -281,6 +293,16 @@ _shtab_ahriman_repo_config_validate_options=(
|
|||||||
{-e,--exit-code}"[return non-zero exit status if configuration is invalid]"
|
{-e,--exit-code}"[return non-zero exit status if configuration is invalid]"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_repo_daemon_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
{-i,--interval}"[interval between runs in seconds]:interval:"
|
||||||
|
{--aur,--no-aur}"[enable or disable checking for AUR updates. Implies --no-vcs (default\: \%(default)s)]:aur:"
|
||||||
|
{--local,--no-local}"[enable or disable checking of local packages for updates (default\: \%(default)s)]:local:"
|
||||||
|
{--manual,--no-manual}"[include or exclude manual updates (default\: \%(default)s)]:manual:"
|
||||||
|
{--vcs,--no-vcs}"[enable or disable checking of VCS packages (default\: \%(default)s)]:vcs:"
|
||||||
|
"*"{-y,--refresh}"[download fresh package databases from the mirror before actions, -yy to force refresh even if up to date]"
|
||||||
|
)
|
||||||
|
|
||||||
_shtab_ahriman_repo_init_options=(
|
_shtab_ahriman_repo_init_options=(
|
||||||
"(- : *)"{-h,--help}"[show this help message and exit]"
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
"--build-as-user[force makepkg user to the specific one]:build_as_user:"
|
"--build-as-user[force makepkg user to the specific one]:build_as_user:"
|
||||||
@ -381,6 +403,50 @@ _shtab_ahriman_search_options=(
|
|||||||
"(*):search terms, can be specified multiple times, the result will match all terms:"
|
"(*):search terms, can be specified multiple times, the result will match all terms:"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_service_clean_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
{--cache,--no-cache}"[clear directory with package caches (default\: \%(default)s)]:cache:"
|
||||||
|
{--chroot,--no-chroot}"[clear build chroot (default\: \%(default)s)]:chroot:"
|
||||||
|
{--manual,--no-manual}"[clear manually added packages queue (default\: \%(default)s)]:manual:"
|
||||||
|
{--packages,--no-packages}"[clear directory with built packages (default\: \%(default)s)]:packages:"
|
||||||
|
{--pacman,--no-pacman}"[clear directory with pacman local database cache (default\: \%(default)s)]:pacman:"
|
||||||
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_service_config_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_service_config_validate_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
{-e,--exit-code}"[return non-zero exit status if configuration is invalid]"
|
||||||
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_service_key_import_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
"--key-server[key server for key import]:key_server:"
|
||||||
|
":PGP key to import from public server:"
|
||||||
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_service_setup_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
"--build-as-user[force makepkg user to the specific one]:build_as_user:"
|
||||||
|
"--build-command[build command prefix]:build_command:"
|
||||||
|
"--from-configuration[path to default devtools pacman configuration]:from_configuration:"
|
||||||
|
{--makeflags-jobs,--no-makeflags-jobs}"[append MAKEFLAGS variable with parallelism set to number of cores (default\: \%(default)s)]:makeflags_jobs:"
|
||||||
|
{--multilib,--no-multilib}"[add or do not multilib repository (default\: \%(default)s)]:multilib:"
|
||||||
|
"--packager[packager name and email]:packager:"
|
||||||
|
"--repository[repository name]:repository:"
|
||||||
|
"--sign-key[sign key id]:sign_key:"
|
||||||
|
"*--sign-target[sign options]:sign_target:(disabled packages repository)"
|
||||||
|
"--web-port[port of the web service]:web_port:"
|
||||||
|
"--web-unix-socket[path to unix socket used for interprocess communications]:web_unix_socket:"
|
||||||
|
)
|
||||||
|
|
||||||
|
_shtab_ahriman_service_shell_options=(
|
||||||
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
|
":instead of dropping into shell, just execute the specified code:"
|
||||||
|
)
|
||||||
|
|
||||||
_shtab_ahriman_setup_options=(
|
_shtab_ahriman_setup_options=(
|
||||||
"(- : *)"{-h,--help}"[show this help message and exit]"
|
"(- : *)"{-h,--help}"[show this help message and exit]"
|
||||||
"--build-as-user[force makepkg user to the specific one]:build_as_user:"
|
"--build-as-user[force makepkg user to the specific one]:build_as_user:"
|
||||||
@ -489,6 +555,7 @@ _shtab_ahriman() {
|
|||||||
daemon) _arguments -C $_shtab_ahriman_daemon_options ;;
|
daemon) _arguments -C $_shtab_ahriman_daemon_options ;;
|
||||||
help) _arguments -C $_shtab_ahriman_help_options ;;
|
help) _arguments -C $_shtab_ahriman_help_options ;;
|
||||||
help-commands-unsafe) _arguments -C $_shtab_ahriman_help_commands_unsafe_options ;;
|
help-commands-unsafe) _arguments -C $_shtab_ahriman_help_commands_unsafe_options ;;
|
||||||
|
help-version) _arguments -C $_shtab_ahriman_help_version_options ;;
|
||||||
init) _arguments -C $_shtab_ahriman_init_options ;;
|
init) _arguments -C $_shtab_ahriman_init_options ;;
|
||||||
key-import) _arguments -C $_shtab_ahriman_key_import_options ;;
|
key-import) _arguments -C $_shtab_ahriman_key_import_options ;;
|
||||||
package-add) _arguments -C $_shtab_ahriman_package_add_options ;;
|
package-add) _arguments -C $_shtab_ahriman_package_add_options ;;
|
||||||
@ -509,6 +576,7 @@ _shtab_ahriman() {
|
|||||||
repo-clean) _arguments -C $_shtab_ahriman_repo_clean_options ;;
|
repo-clean) _arguments -C $_shtab_ahriman_repo_clean_options ;;
|
||||||
repo-config) _arguments -C $_shtab_ahriman_repo_config_options ;;
|
repo-config) _arguments -C $_shtab_ahriman_repo_config_options ;;
|
||||||
repo-config-validate) _arguments -C $_shtab_ahriman_repo_config_validate_options ;;
|
repo-config-validate) _arguments -C $_shtab_ahriman_repo_config_validate_options ;;
|
||||||
|
repo-daemon) _arguments -C $_shtab_ahriman_repo_daemon_options ;;
|
||||||
repo-init) _arguments -C $_shtab_ahriman_repo_init_options ;;
|
repo-init) _arguments -C $_shtab_ahriman_repo_init_options ;;
|
||||||
repo-rebuild) _arguments -C $_shtab_ahriman_repo_rebuild_options ;;
|
repo-rebuild) _arguments -C $_shtab_ahriman_repo_rebuild_options ;;
|
||||||
repo-remove-unknown) _arguments -C $_shtab_ahriman_repo_remove_unknown_options ;;
|
repo-remove-unknown) _arguments -C $_shtab_ahriman_repo_remove_unknown_options ;;
|
||||||
@ -523,6 +591,12 @@ _shtab_ahriman() {
|
|||||||
repo-update) _arguments -C $_shtab_ahriman_repo_update_options ;;
|
repo-update) _arguments -C $_shtab_ahriman_repo_update_options ;;
|
||||||
report) _arguments -C $_shtab_ahriman_report_options ;;
|
report) _arguments -C $_shtab_ahriman_report_options ;;
|
||||||
search) _arguments -C $_shtab_ahriman_search_options ;;
|
search) _arguments -C $_shtab_ahriman_search_options ;;
|
||||||
|
service-clean) _arguments -C $_shtab_ahriman_service_clean_options ;;
|
||||||
|
service-config) _arguments -C $_shtab_ahriman_service_config_options ;;
|
||||||
|
service-config-validate) _arguments -C $_shtab_ahriman_service_config_validate_options ;;
|
||||||
|
service-key-import) _arguments -C $_shtab_ahriman_service_key_import_options ;;
|
||||||
|
service-setup) _arguments -C $_shtab_ahriman_service_setup_options ;;
|
||||||
|
service-shell) _arguments -C $_shtab_ahriman_service_shell_options ;;
|
||||||
setup) _arguments -C $_shtab_ahriman_setup_options ;;
|
setup) _arguments -C $_shtab_ahriman_setup_options ;;
|
||||||
shell) _arguments -C $_shtab_ahriman_shell_options ;;
|
shell) _arguments -C $_shtab_ahriman_shell_options ;;
|
||||||
sign) _arguments -C $_shtab_ahriman_sign_options ;;
|
sign) _arguments -C $_shtab_ahriman_sign_options ;;
|
||||||
|
@ -12,11 +12,11 @@ There are two variable types which have been added to default ones, they are pat
|
|||||||
|
|
||||||
Path values, except for casting to ``pathlib.Path`` type, will be also expanded to absolute paths relative to the configuration path. E.g. if path is set to ``ahriman.ini.d/logging.ini`` and root configuration path is ``/etc/ahriman.ini``, the value will be expanded to ``/etc/ahriman.ini.d/logging.ini``. In order to disable path expand, use the full path, e.g. ``/etc/ahriman.ini.d/logging.ini``.
|
Path values, except for casting to ``pathlib.Path`` type, will be also expanded to absolute paths relative to the configuration path. E.g. if path is set to ``ahriman.ini.d/logging.ini`` and root configuration path is ``/etc/ahriman.ini``, the value will be expanded to ``/etc/ahriman.ini.d/logging.ini``. In order to disable path expand, use the full path, e.g. ``/etc/ahriman.ini.d/logging.ini``.
|
||||||
|
|
||||||
There is also additional subcommand which will allow to validate configuration and print found errors. In order to do so, run ``repo-config-validate`` subcommand, e.g.:
|
There is also additional subcommand which will allow to validate configuration and print found errors. In order to do so, run ``service-config-validate`` subcommand, e.g.:
|
||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
ahriman -a x86_64 repo-config-validate
|
ahriman -a x86_64 service-config-validate
|
||||||
|
|
||||||
It will check current settings on common errors and compare configuration with known schema.
|
It will check current settings on common errors and compare configuration with known schema.
|
||||||
|
|
||||||
|
10
docs/faq.rst
10
docs/faq.rst
@ -18,7 +18,7 @@ TL;DR
|
|||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
yay -S ahriman
|
yay -S ahriman
|
||||||
sudo ahriman -a x86_64 repo-setup --packager "ahriman bot <ahriman@example.com>" --repository "repository"
|
sudo ahriman -a x86_64 service-setup --packager "ahriman bot <ahriman@example.com>" --repository "repository"
|
||||||
systemctl enable --now ahriman@x86_64.timer
|
systemctl enable --now ahriman@x86_64.timer
|
||||||
|
|
||||||
Long answer
|
Long answer
|
||||||
@ -33,7 +33,7 @@ There is special command which can be used in order to validate current configur
|
|||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
ahriman -a x86_64 repo-config-validate --exit-code
|
ahriman -a x86_64 service-config-validate --exit-code
|
||||||
|
|
||||||
This command will print found errors, based on `cerberus <https://docs.python-cerberus.org/>`_, e.g.:
|
This command will print found errors, based on `cerberus <https://docs.python-cerberus.org/>`_, e.g.:
|
||||||
|
|
||||||
@ -219,7 +219,7 @@ TL;DR
|
|||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
sudo -u ahriman ahriman key-import ...
|
sudo -u ahriman ahriman service-key-import ...
|
||||||
|
|
||||||
How to update VCS packages
|
How to update VCS packages
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@ -409,11 +409,11 @@ You can pass any of these variables by using ``-e`` argument, e.g.:
|
|||||||
Daemon service
|
Daemon service
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
There is special ``daemon`` subcommand which emulates systemd timer and will perform repository update periodically:
|
There is special ``repo-daemon`` subcommand which emulates systemd timer and will perform repository update periodically:
|
||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
docker run --privileged -v /path/to/local/repo:/var/lib/ahriman arcan1s/ahriman:latest daemon
|
docker run --privileged -v /path/to/local/repo:/var/lib/ahriman arcan1s/ahriman:latest repo-daemon
|
||||||
|
|
||||||
This command uses same rules as ``repo-update``, thus, e.g. requires ``--privileged`` flag.
|
This command uses same rules as ``repo-update``, thus, e.g. requires ``--privileged`` flag.
|
||||||
|
|
||||||
|
@ -10,9 +10,9 @@ Initial setup
|
|||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
sudo ahriman -a x86_64 repo-setup ...
|
sudo ahriman -a x86_64 service-setup ...
|
||||||
|
|
||||||
``repo-setup`` literally does the following steps:
|
``service-setup`` literally does the following steps:
|
||||||
|
|
||||||
#.
|
#.
|
||||||
Create ``/var/lib/ahriman/.makepkg.conf`` with ``makepkg.conf`` overrides if required (at least you might want to set ``PACKAGER``):
|
Create ``/var/lib/ahriman/.makepkg.conf`` with ``makepkg.conf`` overrides if required (at least you might want to set ``PACKAGER``):
|
||||||
|
@ -84,10 +84,9 @@ def _parser() -> argparse.ArgumentParser:
|
|||||||
subparsers = parser.add_subparsers(title="command", help="command to run", dest="command", required=True)
|
subparsers = parser.add_subparsers(title="command", help="command to run", dest="command", required=True)
|
||||||
|
|
||||||
_set_aur_search_parser(subparsers)
|
_set_aur_search_parser(subparsers)
|
||||||
_set_daemon_parser(subparsers)
|
|
||||||
_set_help_parser(subparsers)
|
_set_help_parser(subparsers)
|
||||||
_set_help_commands_unsafe_parser(subparsers)
|
_set_help_commands_unsafe_parser(subparsers)
|
||||||
_set_key_import_parser(subparsers)
|
_set_help_version_parser(subparsers)
|
||||||
_set_package_add_parser(subparsers)
|
_set_package_add_parser(subparsers)
|
||||||
_set_package_remove_parser(subparsers)
|
_set_package_remove_parser(subparsers)
|
||||||
_set_package_status_parser(subparsers)
|
_set_package_status_parser(subparsers)
|
||||||
@ -99,25 +98,26 @@ def _parser() -> argparse.ArgumentParser:
|
|||||||
_set_patch_set_add_parser(subparsers)
|
_set_patch_set_add_parser(subparsers)
|
||||||
_set_repo_backup_parser(subparsers)
|
_set_repo_backup_parser(subparsers)
|
||||||
_set_repo_check_parser(subparsers)
|
_set_repo_check_parser(subparsers)
|
||||||
_set_repo_clean_parser(subparsers)
|
_set_repo_daemon_parser(subparsers)
|
||||||
_set_repo_config_parser(subparsers)
|
|
||||||
_set_repo_config_validate_parser(subparsers)
|
|
||||||
_set_repo_rebuild_parser(subparsers)
|
_set_repo_rebuild_parser(subparsers)
|
||||||
_set_repo_remove_unknown_parser(subparsers)
|
_set_repo_remove_unknown_parser(subparsers)
|
||||||
_set_repo_report_parser(subparsers)
|
_set_repo_report_parser(subparsers)
|
||||||
_set_repo_restore_parser(subparsers)
|
_set_repo_restore_parser(subparsers)
|
||||||
_set_repo_setup_parser(subparsers)
|
|
||||||
_set_repo_sign_parser(subparsers)
|
_set_repo_sign_parser(subparsers)
|
||||||
_set_repo_status_update_parser(subparsers)
|
_set_repo_status_update_parser(subparsers)
|
||||||
_set_repo_sync_parser(subparsers)
|
_set_repo_sync_parser(subparsers)
|
||||||
_set_repo_tree_parser(subparsers)
|
_set_repo_tree_parser(subparsers)
|
||||||
_set_repo_triggers_parser(subparsers)
|
_set_repo_triggers_parser(subparsers)
|
||||||
_set_repo_update_parser(subparsers)
|
_set_repo_update_parser(subparsers)
|
||||||
_set_shell_parser(subparsers)
|
_set_service_clean_parser(subparsers)
|
||||||
|
_set_service_config_parser(subparsers)
|
||||||
|
_set_service_config_validate_parser(subparsers)
|
||||||
|
_set_service_key_import_parser(subparsers)
|
||||||
|
_set_service_setup_parser(subparsers)
|
||||||
|
_set_service_shell_parser(subparsers)
|
||||||
_set_user_add_parser(subparsers)
|
_set_user_add_parser(subparsers)
|
||||||
_set_user_list_parser(subparsers)
|
_set_user_list_parser(subparsers)
|
||||||
_set_user_remove_parser(subparsers)
|
_set_user_remove_parser(subparsers)
|
||||||
_set_version_parser(subparsers)
|
|
||||||
_set_web_parser(subparsers)
|
_set_web_parser(subparsers)
|
||||||
|
|
||||||
return parser
|
return parser
|
||||||
@ -147,35 +147,6 @@ def _set_aur_search_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
def _set_daemon_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|
||||||
"""
|
|
||||||
add parser for daemon subcommand
|
|
||||||
|
|
||||||
Args:
|
|
||||||
root(SubParserAction): subparsers for the commands
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
argparse.ArgumentParser: created argument parser
|
|
||||||
"""
|
|
||||||
parser = root.add_parser("daemon", help="run application as daemon",
|
|
||||||
description="start process which periodically will run update process",
|
|
||||||
formatter_class=_formatter)
|
|
||||||
parser.add_argument("-i", "--interval", help="interval between runs in seconds", type=int, default=60 * 60 * 12)
|
|
||||||
parser.add_argument("--aur", help="enable or disable checking for AUR updates. Implies --no-vcs",
|
|
||||||
action=argparse.BooleanOptionalAction, default=True)
|
|
||||||
parser.add_argument("--local", help="enable or disable checking of local packages for updates",
|
|
||||||
action=argparse.BooleanOptionalAction, default=True)
|
|
||||||
parser.add_argument("--manual", help="include or exclude manual updates",
|
|
||||||
action=argparse.BooleanOptionalAction, default=True)
|
|
||||||
parser.add_argument("--vcs", help="enable or disable checking of VCS packages",
|
|
||||||
action=argparse.BooleanOptionalAction, default=True)
|
|
||||||
parser.add_argument("-y", "--refresh", help="download fresh package databases from the mirror before actions, "
|
|
||||||
"-yy to force refresh even if up to date",
|
|
||||||
action="count", default=False)
|
|
||||||
parser.set_defaults(handler=handlers.Daemon, dry_run=False, exit_code=False, package=[])
|
|
||||||
return parser
|
|
||||||
|
|
||||||
|
|
||||||
def _set_help_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
def _set_help_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
"""
|
"""
|
||||||
add parser for listing help subcommand
|
add parser for listing help subcommand
|
||||||
@ -214,9 +185,9 @@ def _set_help_commands_unsafe_parser(root: SubParserAction) -> argparse.Argument
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
def _set_key_import_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
def _set_help_version_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
"""
|
"""
|
||||||
add parser for key import subcommand
|
add parser for version subcommand
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
root(SubParserAction): subparsers for the commands
|
root(SubParserAction): subparsers for the commands
|
||||||
@ -224,16 +195,10 @@ def _set_key_import_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
Returns:
|
Returns:
|
||||||
argparse.ArgumentParser: created argument parser
|
argparse.ArgumentParser: created argument parser
|
||||||
"""
|
"""
|
||||||
parser = root.add_parser("key-import", help="import PGP key",
|
parser = root.add_parser("help-version", aliases=["version"], help="application version",
|
||||||
description="import PGP key from public sources to the repository user",
|
description="print application and its dependencies versions", formatter_class=_formatter)
|
||||||
epilog="By default ahriman runs build process with package sources validation "
|
parser.set_defaults(handler=handlers.Versions, architecture=[""], lock=None, report=False, quiet=True,
|
||||||
"(in case if signature and keys are available in PKGBUILD). This process will "
|
unsafe=True)
|
||||||
"fail in case if key is not known for build user. This subcommand can be used "
|
|
||||||
"in order to import the PGP key to user keychain.",
|
|
||||||
formatter_class=_formatter)
|
|
||||||
parser.add_argument("--key-server", help="key server for key import", default="keyserver.ubuntu.com")
|
|
||||||
parser.add_argument("key", help="PGP key to import from public server")
|
|
||||||
parser.set_defaults(handler=handlers.KeyImport, architecture=[""], lock=None, report=False)
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
@ -492,9 +457,9 @@ def _set_repo_check_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
def _set_repo_clean_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
def _set_repo_daemon_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
"""
|
"""
|
||||||
add parser for repository clean subcommand
|
add parser for daemon subcommand
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
root(SubParserAction): subparsers for the commands
|
root(SubParserAction): subparsers for the commands
|
||||||
@ -502,58 +467,22 @@ def _set_repo_clean_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
Returns:
|
Returns:
|
||||||
argparse.ArgumentParser: created argument parser
|
argparse.ArgumentParser: created argument parser
|
||||||
"""
|
"""
|
||||||
parser = root.add_parser("repo-clean", aliases=["clean"], help="clean local caches",
|
parser = root.add_parser("repo-daemon", aliases=["daemon"], help="run application as daemon",
|
||||||
description="remove local caches",
|
description="start process which periodically will run update process",
|
||||||
epilog="The subcommand clears every temporary directories (builds, caches etc). Normally "
|
|
||||||
"you should not run this command manually. Also in case if you are going to clear "
|
|
||||||
"the chroot directories you will need root privileges.",
|
|
||||||
formatter_class=_formatter)
|
formatter_class=_formatter)
|
||||||
parser.add_argument("--cache", help="clear directory with package caches",
|
parser.add_argument("-i", "--interval", help="interval between runs in seconds", type=int, default=60 * 60 * 12)
|
||||||
action=argparse.BooleanOptionalAction, default=False)
|
parser.add_argument("--aur", help="enable or disable checking for AUR updates. Implies --no-vcs",
|
||||||
parser.add_argument("--chroot", help="clear build chroot", action=argparse.BooleanOptionalAction, default=False)
|
action=argparse.BooleanOptionalAction, default=True)
|
||||||
parser.add_argument("--manual", help="clear manually added packages queue",
|
parser.add_argument("--local", help="enable or disable checking of local packages for updates",
|
||||||
action=argparse.BooleanOptionalAction, default=False)
|
action=argparse.BooleanOptionalAction, default=True)
|
||||||
parser.add_argument("--packages", help="clear directory with built packages",
|
parser.add_argument("--manual", help="include or exclude manual updates",
|
||||||
action=argparse.BooleanOptionalAction, default=False)
|
action=argparse.BooleanOptionalAction, default=True)
|
||||||
parser.add_argument("--pacman", help="clear directory with pacman local database cache",
|
parser.add_argument("--vcs", help="enable or disable checking of VCS packages",
|
||||||
action=argparse.BooleanOptionalAction, default=False)
|
action=argparse.BooleanOptionalAction, default=True)
|
||||||
parser.set_defaults(handler=handlers.Clean, quiet=True, unsafe=True)
|
parser.add_argument("-y", "--refresh", help="download fresh package databases from the mirror before actions, "
|
||||||
return parser
|
"-yy to force refresh even if up to date",
|
||||||
|
action="count", default=False)
|
||||||
|
parser.set_defaults(handler=handlers.Daemon, dry_run=False, exit_code=False, package=[])
|
||||||
def _set_repo_config_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|
||||||
"""
|
|
||||||
add parser for config subcommand
|
|
||||||
|
|
||||||
Args:
|
|
||||||
root(SubParserAction): subparsers for the commands
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
argparse.ArgumentParser: created argument parser
|
|
||||||
"""
|
|
||||||
parser = root.add_parser("repo-config", aliases=["config"], help="dump configuration",
|
|
||||||
description="dump configuration for the specified architecture",
|
|
||||||
formatter_class=_formatter)
|
|
||||||
parser.set_defaults(handler=handlers.Dump, lock=None, report=False, quiet=True, unsafe=True)
|
|
||||||
return parser
|
|
||||||
|
|
||||||
|
|
||||||
def _set_repo_config_validate_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|
||||||
"""
|
|
||||||
add parser for config validation subcommand
|
|
||||||
|
|
||||||
Args:
|
|
||||||
root(SubParserAction): subparsers for the commands
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
argparse.ArgumentParser: created argument parser
|
|
||||||
"""
|
|
||||||
parser = root.add_parser("repo-config-validate", aliases=["config-validate"], help="validate system configuration",
|
|
||||||
description="validate configuration and print found errors",
|
|
||||||
formatter_class=_formatter)
|
|
||||||
parser.add_argument("-e", "--exit-code", help="return non-zero exit status if configuration is invalid",
|
|
||||||
action="store_true")
|
|
||||||
parser.set_defaults(handler=handlers.Validate, lock=None, report=False, quiet=True, unsafe=True)
|
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
@ -637,39 +566,6 @@ def _set_repo_restore_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
def _set_repo_setup_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|
||||||
"""
|
|
||||||
add parser for setup subcommand
|
|
||||||
|
|
||||||
Args:
|
|
||||||
root(SubParserAction): subparsers for the commands
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
argparse.ArgumentParser: created argument parser
|
|
||||||
"""
|
|
||||||
parser = root.add_parser("repo-setup", aliases=["init", "repo-init", "setup"], help="initial service configuration",
|
|
||||||
description="create initial service configuration, requires root",
|
|
||||||
epilog="Create _minimal_ configuration for the service according to provided options.",
|
|
||||||
formatter_class=_formatter)
|
|
||||||
parser.add_argument("--build-as-user", help="force makepkg user to the specific one")
|
|
||||||
parser.add_argument("--build-command", help="build command prefix", default="ahriman")
|
|
||||||
parser.add_argument("--from-configuration", help="path to default devtools pacman configuration",
|
|
||||||
type=Path, default=Path("/usr/share/devtools/pacman-extra.conf"))
|
|
||||||
parser.add_argument("--makeflags-jobs", help="append MAKEFLAGS variable with parallelism set to number of cores",
|
|
||||||
action=argparse.BooleanOptionalAction, default=True)
|
|
||||||
parser.add_argument("--multilib", help="add or do not multilib repository",
|
|
||||||
action=argparse.BooleanOptionalAction, default=True)
|
|
||||||
parser.add_argument("--packager", help="packager name and email", required=True)
|
|
||||||
parser.add_argument("--repository", help="repository name", required=True)
|
|
||||||
parser.add_argument("--sign-key", help="sign key id")
|
|
||||||
parser.add_argument("--sign-target", help="sign options", action="append",
|
|
||||||
type=SignSettings.from_option, choices=enum_values(SignSettings))
|
|
||||||
parser.add_argument("--web-port", help="port of the web service", type=int)
|
|
||||||
parser.add_argument("--web-unix-socket", help="path to unix socket used for interprocess communications", type=Path)
|
|
||||||
parser.set_defaults(handler=handlers.Setup, lock=None, report=False, quiet=True, unsafe=True)
|
|
||||||
return parser
|
|
||||||
|
|
||||||
|
|
||||||
def _set_repo_sign_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
def _set_repo_sign_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
"""
|
"""
|
||||||
add parser for sign subcommand
|
add parser for sign subcommand
|
||||||
@ -793,7 +689,130 @@ def _set_repo_update_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
def _set_shell_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
def _set_service_clean_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
|
"""
|
||||||
|
add parser for repository clean subcommand
|
||||||
|
|
||||||
|
Args:
|
||||||
|
root(SubParserAction): subparsers for the commands
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
argparse.ArgumentParser: created argument parser
|
||||||
|
"""
|
||||||
|
parser = root.add_parser("service-clean", aliases=["clean", "repo-clean"], help="clean local caches",
|
||||||
|
description="remove local caches",
|
||||||
|
epilog="The subcommand clears every temporary directories (builds, caches etc). Normally "
|
||||||
|
"you should not run this command manually. Also in case if you are going to clear "
|
||||||
|
"the chroot directories you will need root privileges.",
|
||||||
|
formatter_class=_formatter)
|
||||||
|
parser.add_argument("--cache", help="clear directory with package caches",
|
||||||
|
action=argparse.BooleanOptionalAction, default=False)
|
||||||
|
parser.add_argument("--chroot", help="clear build chroot", action=argparse.BooleanOptionalAction, default=False)
|
||||||
|
parser.add_argument("--manual", help="clear manually added packages queue",
|
||||||
|
action=argparse.BooleanOptionalAction, default=False)
|
||||||
|
parser.add_argument("--packages", help="clear directory with built packages",
|
||||||
|
action=argparse.BooleanOptionalAction, default=False)
|
||||||
|
parser.add_argument("--pacman", help="clear directory with pacman local database cache",
|
||||||
|
action=argparse.BooleanOptionalAction, default=False)
|
||||||
|
parser.set_defaults(handler=handlers.Clean, quiet=True, unsafe=True)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def _set_service_config_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
|
"""
|
||||||
|
add parser for config subcommand
|
||||||
|
|
||||||
|
Args:
|
||||||
|
root(SubParserAction): subparsers for the commands
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
argparse.ArgumentParser: created argument parser
|
||||||
|
"""
|
||||||
|
parser = root.add_parser("service-config", aliases=["config", "repo-config"], help="dump configuration",
|
||||||
|
description="dump configuration for the specified architecture",
|
||||||
|
formatter_class=_formatter)
|
||||||
|
parser.set_defaults(handler=handlers.Dump, lock=None, report=False, quiet=True, unsafe=True)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def _set_service_config_validate_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
|
"""
|
||||||
|
add parser for config validation subcommand
|
||||||
|
|
||||||
|
Args:
|
||||||
|
root(SubParserAction): subparsers for the commands
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
argparse.ArgumentParser: created argument parser
|
||||||
|
"""
|
||||||
|
parser = root.add_parser("service-config-validate", aliases=["config-validate", "repo-config-validate"],
|
||||||
|
help="validate system configuration",
|
||||||
|
description="validate configuration and print found errors",
|
||||||
|
formatter_class=_formatter)
|
||||||
|
parser.add_argument("-e", "--exit-code", help="return non-zero exit status if configuration is invalid",
|
||||||
|
action="store_true")
|
||||||
|
parser.set_defaults(handler=handlers.Validate, lock=None, report=False, quiet=True, unsafe=True)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def _set_service_key_import_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
|
"""
|
||||||
|
add parser for key import subcommand
|
||||||
|
|
||||||
|
Args:
|
||||||
|
root(SubParserAction): subparsers for the commands
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
argparse.ArgumentParser: created argument parser
|
||||||
|
"""
|
||||||
|
parser = root.add_parser("service-key-import", aliases=["key-import"], help="import PGP key",
|
||||||
|
description="import PGP key from public sources to the repository user",
|
||||||
|
epilog="By default ahriman runs build process with package sources validation "
|
||||||
|
"(in case if signature and keys are available in PKGBUILD). This process will "
|
||||||
|
"fail in case if key is not known for build user. This subcommand can be used "
|
||||||
|
"in order to import the PGP key to user keychain.",
|
||||||
|
formatter_class=_formatter)
|
||||||
|
parser.add_argument("--key-server", help="key server for key import", default="keyserver.ubuntu.com")
|
||||||
|
parser.add_argument("key", help="PGP key to import from public server")
|
||||||
|
parser.set_defaults(handler=handlers.KeyImport, architecture=[""], lock=None, report=False)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def _set_service_setup_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
|
"""
|
||||||
|
add parser for setup subcommand
|
||||||
|
|
||||||
|
Args:
|
||||||
|
root(SubParserAction): subparsers for the commands
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
argparse.ArgumentParser: created argument parser
|
||||||
|
"""
|
||||||
|
parser = root.add_parser("service-setup", aliases=["init", "repo-init", "repo-setup", "setup"],
|
||||||
|
help="initial service configuration",
|
||||||
|
description="create initial service configuration, requires root",
|
||||||
|
epilog="Create _minimal_ configuration for the service according to provided options.",
|
||||||
|
formatter_class=_formatter)
|
||||||
|
parser.add_argument("--build-as-user", help="force makepkg user to the specific one")
|
||||||
|
parser.add_argument("--build-command", help="build command prefix", default="ahriman")
|
||||||
|
parser.add_argument("--from-configuration", help="path to default devtools pacman configuration",
|
||||||
|
type=Path, default=Path("/usr/share/devtools/pacman-extra.conf"))
|
||||||
|
parser.add_argument("--makeflags-jobs", help="append MAKEFLAGS variable with parallelism set to number of cores",
|
||||||
|
action=argparse.BooleanOptionalAction, default=True)
|
||||||
|
parser.add_argument("--multilib", help="add or do not multilib repository",
|
||||||
|
action=argparse.BooleanOptionalAction, default=True)
|
||||||
|
parser.add_argument("--packager", help="packager name and email", required=True)
|
||||||
|
parser.add_argument("--repository", help="repository name", required=True)
|
||||||
|
parser.add_argument("--sign-key", help="sign key id")
|
||||||
|
parser.add_argument("--sign-target", help="sign options", action="append",
|
||||||
|
type=SignSettings.from_option, choices=enum_values(SignSettings))
|
||||||
|
parser.add_argument("--web-port", help="port of the web service", type=int)
|
||||||
|
parser.add_argument("--web-unix-socket", help="path to unix socket used for interprocess communications", type=Path)
|
||||||
|
parser.set_defaults(handler=handlers.Setup, lock=None, report=False, quiet=True, unsafe=True)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def _set_service_shell_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
"""
|
"""
|
||||||
add parser for shell subcommand
|
add parser for shell subcommand
|
||||||
|
|
||||||
@ -803,7 +822,7 @@ def _set_shell_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
Returns:
|
Returns:
|
||||||
argparse.ArgumentParser: created argument parser
|
argparse.ArgumentParser: created argument parser
|
||||||
"""
|
"""
|
||||||
parser = root.add_parser("shell", help="invoke python shell",
|
parser = root.add_parser("service-shell", aliases=["shell"], help="invoke python shell",
|
||||||
description="drop into python shell while having created application",
|
description="drop into python shell while having created application",
|
||||||
formatter_class=_formatter)
|
formatter_class=_formatter)
|
||||||
parser.add_argument("code", help="instead of dropping into shell, just execute the specified code", nargs="?")
|
parser.add_argument("code", help="instead of dropping into shell, just execute the specified code", nargs="?")
|
||||||
@ -879,23 +898,6 @@ def _set_user_remove_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
|
||||||
def _set_version_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
|
||||||
"""
|
|
||||||
add parser for version subcommand
|
|
||||||
|
|
||||||
Args:
|
|
||||||
root(SubParserAction): subparsers for the commands
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
argparse.ArgumentParser: created argument parser
|
|
||||||
"""
|
|
||||||
parser = root.add_parser("version", help="application version",
|
|
||||||
description="print application and its dependencies versions", formatter_class=_formatter)
|
|
||||||
parser.set_defaults(handler=handlers.Versions, architecture=[""], lock=None, report=False, quiet=True,
|
|
||||||
unsafe=True)
|
|
||||||
return parser
|
|
||||||
|
|
||||||
|
|
||||||
def _set_web_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
def _set_web_parser(root: SubParserAction) -> argparse.ArgumentParser:
|
||||||
"""
|
"""
|
||||||
add parser for web subcommand
|
add parser for web subcommand
|
||||||
|
@ -87,7 +87,7 @@ class Spawn(Thread, LazyLogging):
|
|||||||
server(str): PGP key server
|
server(str): PGP key server
|
||||||
"""
|
"""
|
||||||
kwargs = {} if server is None else {"key-server": server}
|
kwargs = {} if server is None else {"key-server": server}
|
||||||
self.spawn_process("key-import", key, **kwargs)
|
self.spawn_process("service-key-import", key, **kwargs)
|
||||||
|
|
||||||
def packages_add(self, packages: Iterable[str], *, now: bool) -> None:
|
def packages_add(self, packages: Iterable[str], *, now: bool) -> None:
|
||||||
"""
|
"""
|
||||||
|
@ -57,7 +57,7 @@ def test_check_unsafe(mocker: MockerFixture) -> None:
|
|||||||
must check if command is unsafe
|
must check if command is unsafe
|
||||||
"""
|
"""
|
||||||
check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
|
check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
|
||||||
UnsafeCommands.check_unsafe("repo-clean", ["repo-clean"], _parser())
|
UnsafeCommands.check_unsafe("service-clean", ["service-clean"], _parser())
|
||||||
check_mock.assert_called_once_with(True, True)
|
check_mock.assert_called_once_with(True, True)
|
||||||
|
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ def test_check_unsafe_safe(mocker: MockerFixture) -> None:
|
|||||||
must check if command is safe
|
must check if command is safe
|
||||||
"""
|
"""
|
||||||
check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
|
check_mock = mocker.patch("ahriman.application.handlers.Handler.check_if_empty")
|
||||||
UnsafeCommands.check_unsafe("package-status", ["repo-clean"], _parser())
|
UnsafeCommands.check_unsafe("package-status", ["service-clean"], _parser())
|
||||||
check_mock.assert_called_once_with(True, False)
|
check_mock.assert_called_once_with(True, False)
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,16 +14,16 @@ def test_parser(parser: argparse.ArgumentParser) -> None:
|
|||||||
"""
|
"""
|
||||||
must parse valid command line
|
must parse valid command line
|
||||||
"""
|
"""
|
||||||
parser.parse_args(["-a", "x86_64", "repo-config"])
|
parser.parse_args(["-a", "x86_64", "service-config"])
|
||||||
|
|
||||||
|
|
||||||
def test_parser_option_configuration(parser: argparse.ArgumentParser) -> None:
|
def test_parser_option_configuration(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
must convert configuration option to Path instance
|
must convert configuration option to Path instance
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-config"])
|
args = parser.parse_args(["-a", "x86_64", "service-config"])
|
||||||
assert isinstance(args.configuration, Path)
|
assert isinstance(args.configuration, Path)
|
||||||
args = parser.parse_args(["-a", "x86_64", "-c", "ahriman.ini", "repo-config"])
|
args = parser.parse_args(["-a", "x86_64", "-c", "ahriman.ini", "service-config"])
|
||||||
assert isinstance(args.configuration, Path)
|
assert isinstance(args.configuration, Path)
|
||||||
|
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ def test_multiple_architectures(parser: argparse.ArgumentParser) -> None:
|
|||||||
"""
|
"""
|
||||||
must accept multiple architectures
|
must accept multiple architectures
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["-a", "x86_64", "-a", "i686", "repo-config"])
|
args = parser.parse_args(["-a", "x86_64", "-a", "i686", "service-config"])
|
||||||
assert args.architecture == ["x86_64", "i686"]
|
assert args.architecture == ["x86_64", "i686"]
|
||||||
|
|
||||||
|
|
||||||
@ -65,38 +65,6 @@ def test_subparsers_aur_search_architecture(parser: argparse.ArgumentParser) ->
|
|||||||
assert args.architecture == [""]
|
assert args.architecture == [""]
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_daemon(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
daemon command must imply dry run, exit code and package
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["daemon"])
|
|
||||||
assert not args.dry_run
|
|
||||||
assert not args.exit_code
|
|
||||||
assert args.package == []
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_daemon_option_refresh(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
daemon command must count refresh options
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["daemon"])
|
|
||||||
assert args.refresh == 0
|
|
||||||
args = parser.parse_args(["daemon", "-y"])
|
|
||||||
assert args.refresh == 1
|
|
||||||
args = parser.parse_args(["daemon", "-yy"])
|
|
||||||
assert args.refresh == 2
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_daemon_option_interval(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
daemon command must convert interval option to int instance
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["daemon"])
|
|
||||||
assert isinstance(args.interval, int)
|
|
||||||
args = parser.parse_args(["daemon", "--interval", "10"])
|
|
||||||
assert isinstance(args.interval, int)
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_help(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_help(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
help command must imply architecture list, lock, report, quiet, unsafe and parser
|
help command must imply architecture list, lock, report, quiet, unsafe and parser
|
||||||
@ -139,21 +107,23 @@ def test_subparsers_help_commands_unsafe_architecture(parser: argparse.ArgumentP
|
|||||||
assert args.architecture == [""]
|
assert args.architecture == [""]
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_key_import(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_help_version(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
key-import command must imply architecture list, lock and report
|
help-version command must imply architecture, lock, report, quiet and unsafe
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["key-import", "key"])
|
args = parser.parse_args(["help-version"])
|
||||||
assert args.architecture == [""]
|
assert args.architecture == [""]
|
||||||
assert args.lock is None
|
assert args.lock is None
|
||||||
assert not args.report
|
assert not args.report
|
||||||
|
assert args.quiet
|
||||||
|
assert args.unsafe
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_key_import_architecture(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_help_version_architecture(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
key-import command must correctly parse architecture list
|
help-version command must correctly parse architecture list
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["-a", "x86_64", "key-import", "key"])
|
args = parser.parse_args(["-a", "x86_64", "help-version"])
|
||||||
assert args.architecture == [""]
|
assert args.architecture == [""]
|
||||||
|
|
||||||
|
|
||||||
@ -382,47 +352,36 @@ def test_subparsers_repo_check_option_refresh(parser: argparse.ArgumentParser) -
|
|||||||
assert args.refresh == 2
|
assert args.refresh == 2
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_clean(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_repo_daemon(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
repo-clean command must imply quiet and unsafe
|
repo-daemon command must imply dry run, exit code and package
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["repo-clean"])
|
args = parser.parse_args(["repo-daemon"])
|
||||||
assert args.quiet
|
assert not args.dry_run
|
||||||
assert args.unsafe
|
assert not args.exit_code
|
||||||
|
assert args.package == []
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_clean_architecture(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_repo_daemon_option_refresh(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
repo-clean command must correctly parse architecture list
|
repo-daemon command must count refresh options
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["repo-clean"])
|
args = parser.parse_args(["repo-daemon"])
|
||||||
assert args.architecture is None
|
assert args.refresh == 0
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-clean"])
|
args = parser.parse_args(["repo-daemon", "-y"])
|
||||||
assert args.architecture == ["x86_64"]
|
assert args.refresh == 1
|
||||||
|
args = parser.parse_args(["repo-daemon", "-yy"])
|
||||||
|
assert args.refresh == 2
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_config(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_repo_daemon_option_interval(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
repo-config command must imply lock, report, quiet and unsafe
|
repo-daemon command must convert interval option to int instance
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-config"])
|
args = parser.parse_args(["repo-daemon"])
|
||||||
assert args.architecture == ["x86_64"]
|
assert isinstance(args.interval, int)
|
||||||
assert args.lock is None
|
args = parser.parse_args(["repo-daemon", "--interval", "10"])
|
||||||
assert not args.report
|
assert isinstance(args.interval, int)
|
||||||
assert args.quiet
|
|
||||||
assert args.unsafe
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_config_validate(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
repo-config-validate command must imply lock, report, quiet and unsafe
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-config-validate"])
|
|
||||||
assert args.architecture == ["x86_64"]
|
|
||||||
assert args.lock is None
|
|
||||||
assert not args.report
|
|
||||||
assert args.quiet
|
|
||||||
assert args.unsafe
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_rebuild_architecture(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_repo_rebuild_architecture(parser: argparse.ArgumentParser) -> None:
|
||||||
@ -482,41 +441,6 @@ def test_subparsers_repo_restore_architecture(parser: argparse.ArgumentParser) -
|
|||||||
assert args.architecture == [""]
|
assert args.architecture == [""]
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_setup(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
repo-setup command must imply lock, report, quiet and unsafe
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-setup", "--packager", "John Doe <john@doe.com>",
|
|
||||||
"--repository", "aur-clone"])
|
|
||||||
assert args.architecture == ["x86_64"]
|
|
||||||
assert args.lock is None
|
|
||||||
assert not args.report
|
|
||||||
assert args.quiet
|
|
||||||
assert args.unsafe
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_setup_option_from_configuration(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
repo-setup command must convert from-configuration option to path instance
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-setup", "--packager", "John Doe <john@doe.com>",
|
|
||||||
"--repository", "aur-clone"])
|
|
||||||
assert isinstance(args.from_configuration, Path)
|
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-setup", "--packager", "John Doe <john@doe.com>",
|
|
||||||
"--repository", "aur-clone", "--from-configuration", "path"])
|
|
||||||
assert isinstance(args.from_configuration, Path)
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_setup_option_sign_target(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
repo-setup command must convert sign-target option to signsettings instance
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["-a", "x86_64", "repo-setup", "--packager", "John Doe <john@doe.com>",
|
|
||||||
"--repository", "aur-clone", "--sign-target", "packages"])
|
|
||||||
assert args.sign_target
|
|
||||||
assert all(isinstance(target, SignSettings) for target in args.sign_target)
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_repo_sign_architecture(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_repo_sign_architecture(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
repo-sign command must correctly parse architecture list
|
repo-sign command must correctly parse architecture list
|
||||||
@ -622,11 +546,107 @@ def test_subparsers_repo_update_option_refresh(parser: argparse.ArgumentParser)
|
|||||||
assert args.refresh == 2
|
assert args.refresh == 2
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_shell(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_service_clean(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
shell command must imply lock and report
|
service-clean command must imply quiet and unsafe
|
||||||
"""
|
"""
|
||||||
args = parser.parse_args(["shell"])
|
args = parser.parse_args(["service-clean"])
|
||||||
|
assert args.quiet
|
||||||
|
assert args.unsafe
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_clean_architecture(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-clean command must correctly parse architecture list
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["service-clean"])
|
||||||
|
assert args.architecture is None
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-clean"])
|
||||||
|
assert args.architecture == ["x86_64"]
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_config(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-config command must imply lock, report, quiet and unsafe
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-config"])
|
||||||
|
assert args.architecture == ["x86_64"]
|
||||||
|
assert args.lock is None
|
||||||
|
assert not args.report
|
||||||
|
assert args.quiet
|
||||||
|
assert args.unsafe
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_config_validate(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-config-validate command must imply lock, report, quiet and unsafe
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-config-validate"])
|
||||||
|
assert args.architecture == ["x86_64"]
|
||||||
|
assert args.lock is None
|
||||||
|
assert not args.report
|
||||||
|
assert args.quiet
|
||||||
|
assert args.unsafe
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_key_import(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-key-import command must imply architecture list, lock and report
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["service-key-import", "key"])
|
||||||
|
assert args.architecture == [""]
|
||||||
|
assert args.lock is None
|
||||||
|
assert not args.report
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_key_import_architecture(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-key-import command must correctly parse architecture list
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-key-import", "key"])
|
||||||
|
assert args.architecture == [""]
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_setup(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-setup command must imply lock, report, quiet and unsafe
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-setup", "--packager", "John Doe <john@doe.com>",
|
||||||
|
"--repository", "aur-clone"])
|
||||||
|
assert args.architecture == ["x86_64"]
|
||||||
|
assert args.lock is None
|
||||||
|
assert not args.report
|
||||||
|
assert args.quiet
|
||||||
|
assert args.unsafe
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_setup_option_from_configuration(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-setup command must convert from-configuration option to path instance
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-setup", "--packager", "John Doe <john@doe.com>",
|
||||||
|
"--repository", "aur-clone"])
|
||||||
|
assert isinstance(args.from_configuration, Path)
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-setup", "--packager", "John Doe <john@doe.com>",
|
||||||
|
"--repository", "aur-clone", "--from-configuration", "path"])
|
||||||
|
assert isinstance(args.from_configuration, Path)
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_setup_option_sign_target(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-setup command must convert sign-target option to signsettings instance
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["-a", "x86_64", "service-setup", "--packager", "John Doe <john@doe.com>",
|
||||||
|
"--repository", "aur-clone", "--sign-target", "packages"])
|
||||||
|
assert args.sign_target
|
||||||
|
assert all(isinstance(target, SignSettings) for target in args.sign_target)
|
||||||
|
|
||||||
|
|
||||||
|
def test_subparsers_service_shell(parser: argparse.ArgumentParser) -> None:
|
||||||
|
"""
|
||||||
|
service-shell command must imply lock and report
|
||||||
|
"""
|
||||||
|
args = parser.parse_args(["service-shell"])
|
||||||
assert args.lock is None
|
assert args.lock is None
|
||||||
assert not args.report
|
assert not args.report
|
||||||
|
|
||||||
@ -712,26 +732,6 @@ def test_subparsers_user_remove_architecture(parser: argparse.ArgumentParser) ->
|
|||||||
assert args.architecture == [""]
|
assert args.architecture == [""]
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_version(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
version command must imply architecture, lock, report, quiet and unsafe
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["version"])
|
|
||||||
assert args.architecture == [""]
|
|
||||||
assert args.lock is None
|
|
||||||
assert not args.report
|
|
||||||
assert args.quiet
|
|
||||||
assert args.unsafe
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_version_architecture(parser: argparse.ArgumentParser) -> None:
|
|
||||||
"""
|
|
||||||
version command must correctly parse architecture list
|
|
||||||
"""
|
|
||||||
args = parser.parse_args(["-a", "x86_64", "version"])
|
|
||||||
assert args.architecture == [""]
|
|
||||||
|
|
||||||
|
|
||||||
def test_subparsers_web(parser: argparse.ArgumentParser) -> None:
|
def test_subparsers_web(parser: argparse.ArgumentParser) -> None:
|
||||||
"""
|
"""
|
||||||
web command must imply lock, report and parser
|
web command must imply lock, report and parser
|
||||||
|
@ -42,7 +42,7 @@ def test_key_import(spawner: Spawn, mocker: MockerFixture) -> None:
|
|||||||
"""
|
"""
|
||||||
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
|
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
|
||||||
spawner.key_import("0xdeadbeaf", None)
|
spawner.key_import("0xdeadbeaf", None)
|
||||||
spawn_mock.assert_called_once_with("key-import", "0xdeadbeaf")
|
spawn_mock.assert_called_once_with("service-key-import", "0xdeadbeaf")
|
||||||
|
|
||||||
|
|
||||||
def test_key_import_with_server(spawner: Spawn, mocker: MockerFixture) -> None:
|
def test_key_import_with_server(spawner: Spawn, mocker: MockerFixture) -> None:
|
||||||
@ -51,7 +51,7 @@ def test_key_import_with_server(spawner: Spawn, mocker: MockerFixture) -> None:
|
|||||||
"""
|
"""
|
||||||
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
|
spawn_mock = mocker.patch("ahriman.core.spawn.Spawn.spawn_process")
|
||||||
spawner.key_import("0xdeadbeaf", "keyserver.ubuntu.com")
|
spawner.key_import("0xdeadbeaf", "keyserver.ubuntu.com")
|
||||||
spawn_mock.assert_called_once_with("key-import", "0xdeadbeaf", **{"key-server": "keyserver.ubuntu.com"})
|
spawn_mock.assert_called_once_with("service-key-import", "0xdeadbeaf", **{"key-server": "keyserver.ubuntu.com"})
|
||||||
|
|
||||||
|
|
||||||
def test_packages_add(spawner: Spawn, mocker: MockerFixture) -> None:
|
def test_packages_add(spawner: Spawn, mocker: MockerFixture) -> None:
|
||||||
|
Loading…
Reference in New Issue
Block a user