ahriman(1)

NAME
ahriman

SYNOPSIS
ahriman [-h] [-a ARCHITECTURE] [-c CONFIGURATION] [--force] [-l LOCK] [--no-report] [-q] [--unsafe] [-v] {aur-search,search,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,repo-check,check,repo-clean,clean,repo-config,config,repo-init,init,repo-rebuild,rebuild,repo-remove-unknown,remove-unknown,repo-report,report,repo-setup,setup,repo-sign,sign,repo-status-update,repo-sync,sync,repo-update,update,user-add,user-remove,web} ...

DESCRIPTION
ArcH Linux ReposItory MANager

OPTIONS

-a ARCHITECTURE, --architecture ARCHITECTURE
    target architectures (can be used multiple times)

-c CONFIGURATION, --configuration CONFIGURATION
    configuration path

--force
    force run, remove file lock

-l LOCK, --lock LOCK
    lock file

--no-report
    force disable reporting to web service

-q, --quiet
    force disable any logging

--unsafe
    allow to run ahriman as non-ahriman user. Some actions might be unavailable

-v, --version
    show program's version number and exit

  Sub-commands

ahriman aur-search
    search for package

ahriman key-import
    import PGP key

ahriman package-add
    add package

ahriman package-remove
    remove package

ahriman package-status
    get package status

ahriman package-status-remove
    remove package status

ahriman package-status-update
    update package status

ahriman patch-add
    add patch set

ahriman patch-list
    list patch sets

ahriman patch-remove
    remove patch set

ahriman repo-check
    check for updates

ahriman repo-clean
    clean local caches

ahriman repo-config
    dump configuration

ahriman repo-init
    create repository tree

ahriman repo-rebuild
    rebuild repository

ahriman repo-remove-unknown
    remove unknown packages

ahriman repo-report
    generate report

ahriman repo-setup
    initial service configuration

ahriman repo-sign
    sign packages

ahriman repo-status-update
    update repository status

ahriman repo-sync
    sync repository

ahriman repo-update
    update packages

ahriman user-add
    create or update user

ahriman user-remove
    remove user

ahriman web
    web server

OPTIONS 'ahriman aur-search'
usage: ahriman aur-search [-h] [-i]
                        [--sort-by {category_id,description,first_submitted,id,last_modified,license,maintainer,name,num_votes,out_of_date,package_base,package_base_id,url,url_path,version}]
                        search [search ...] search for package in AUR using API

search
    search terms, can be specified multiple times, result will match all terms

-i, --info
    show additional package information

--sort-by {category_id,description,first_submitted,id,last_modified,license,maintainer,name,num_votes,out_of_date,package_base,package_base_id,url,url_path,version}
    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

OPTIONS 'ahriman search'
usage: ahriman aur-search [-h] [-i]
                        [--sort-by {category_id,description,first_submitted,id,last_modified,license,maintainer,name,num_votes,out_of_date,package_base,package_base_id,url,url_path,version}]
                        search [search ...] search for package in AUR using API

search
    search terms, can be specified multiple times, result will match all terms

-i, --info
    show additional package information

--sort-by {category_id,description,first_submitted,id,last_modified,license,maintainer,name,num_votes,out_of_date,package_base,package_base_id,url,url_path,version}
    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

OPTIONS 'ahriman key-import'
usage: ahriman key-import [-h] [--key-server KEY_SERVER] key import PGP key from public sources to the repository user

key PGP key to import from public server

--key-server KEY_SERVER
    key server for key import

OPTIONS 'ahriman package-add'
usage: ahriman package-add [-h] [-n]
                        [-s {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}]
                        [--without-dependencies]
                        package [package ...] add existing or new package to the build queue

package
    package source (base name, path to local files, remote URL)

-n, --now
    run update function after

-s {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}, --source {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}
    explicitly specify the package source for this command

--without-dependencies
    do not add dependencies

OPTIONS 'ahriman add'
usage: ahriman package-add [-h] [-n]
                        [-s {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}]
                        [--without-dependencies]
                        package [package ...] add existing or new package to the build queue

package
    package source (base name, path to local files, remote URL)

-n, --now
    run update function after

-s {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}, --source {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}
    explicitly specify the package source for this command

--without-dependencies
    do not add dependencies

OPTIONS 'ahriman package-update'
usage: ahriman package-add [-h] [-n]
                        [-s {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}]
                        [--without-dependencies]
                        package [package ...] add existing or new package to the build queue

package
    package source (base name, path to local files, remote URL)

-n, --now
    run update function after

-s {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}, --source {PackageSource.Auto,PackageSource.Archive,PackageSource.AUR,PackageSource.Directory,PackageSource.Local,PackageSource.Remote}
    explicitly specify the package source for this command

--without-dependencies
    do not add dependencies

OPTIONS 'ahriman package-remove'
usage: ahriman package-remove [-h] package [package ...] remove package from the repository

package
    package name or base

OPTIONS 'ahriman remove'
usage: ahriman package-remove [-h] package [package ...] remove package from the repository

package
    package name or base

OPTIONS 'ahriman package-status'
usage: ahriman package-status [-h] [--ahriman] [-i]
                        [-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}]
                        [package ...] request status of the package

package
    filter status by package base

--ahriman
    get service status itself

-i, --info
    show additional package information

-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}, --status {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}
    filter packages by status

OPTIONS 'ahriman status'
usage: ahriman package-status [-h] [--ahriman] [-i]
                        [-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}]
                        [package ...] request status of the package

package
    filter status by package base

--ahriman
    get service status itself

-i, --info
    show additional package information

-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}, --status {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}
    filter packages by status

OPTIONS 'ahriman package-status-remove'
usage: ahriman package-status-remove [-h] package [package ...] remove the package from the status page

package
    remove specified packages

OPTIONS 'ahriman package-status-update'
usage: ahriman package-status-update [-h]
                        [-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}]
                        [package ...] update package status on the status page

package
    set status for specified packages. If no packages supplied, service status will be updated

-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}, --status {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}
    new status

OPTIONS 'ahriman status-update'
usage: ahriman package-status-update [-h]
                        [-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}]
                        [package ...] update package status on the status page

package
    set status for specified packages. If no packages supplied, service status will be updated

-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}, --status {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}
    new status

OPTIONS 'ahriman patch-add'
usage: ahriman patch-add [-h] [-t TRACK] package create or update source patches

package
    path to directory with changed files for patch addition/update

-t TRACK, --track TRACK
    files which has to be tracked

OPTIONS 'ahriman patch-list'
usage: ahriman patch-list [-h] package list available patches for the package

package
    package base

OPTIONS 'ahriman patch-remove'
usage: ahriman patch-remove [-h] package remove patches for the package

package
    package base

OPTIONS 'ahriman repo-check'
usage: ahriman repo-check [-h] [--no-vcs] [package ...] check for packages updates. Same as update --dry-run --no-manual

package
    filter check by package base

--no-vcs
    do not check VCS packages

OPTIONS 'ahriman check'
usage: ahriman repo-check [-h] [--no-vcs] [package ...] check for packages updates. Same as update --dry-run --no-manual

package
    filter check by package base

--no-vcs
    do not check VCS packages

OPTIONS 'ahriman repo-clean'
usage: ahriman repo-clean [-h] [--build] [--cache] [--chroot] [--manual] [--packages] [--patches] remove local caches

--build
    clear directory with package sources

--cache
    clear directory with package caches

--chroot
    clear build chroot

--manual
    clear directory with manually added packages

--packages
    clear directory with built packages

--patches
    clear directory with patches

OPTIONS 'ahriman clean'
usage: ahriman repo-clean [-h] [--build] [--cache] [--chroot] [--manual] [--packages] [--patches] remove local caches

--build
    clear directory with package sources

--cache
    clear directory with package caches

--chroot
    clear build chroot

--manual
    clear directory with manually added packages

--packages
    clear directory with built packages

--patches
    clear directory with patches

OPTIONS 'ahriman repo-config'
usage: ahriman repo-config [-h] dump configuration for the specified architecture

OPTIONS 'ahriman config'
usage: ahriman repo-config [-h] dump configuration for the specified architecture

OPTIONS 'ahriman repo-init'
usage: ahriman repo-init [-h] create empty repository tree. Optional command for auto architecture support

OPTIONS 'ahriman init'
usage: ahriman repo-init [-h] create empty repository tree. Optional command for auto architecture support

OPTIONS 'ahriman repo-rebuild'
usage: ahriman repo-rebuild [-h] [--depends-on DEPENDS_ON] force rebuild whole repository

--depends-on DEPENDS_ON
    only rebuild packages that depend on specified package

OPTIONS 'ahriman rebuild'
usage: ahriman repo-rebuild [-h] [--depends-on DEPENDS_ON] force rebuild whole repository

--depends-on DEPENDS_ON
    only rebuild packages that depend on specified package

OPTIONS 'ahriman repo-remove-unknown'
usage: ahriman repo-remove-unknown [-h] [--dry-run] [-i] remove packages which are missing in AUR and do not have local PKGBUILDs

--dry-run
    just perform check for packages without removal

-i, --info
    show additional package information

OPTIONS 'ahriman remove-unknown'
usage: ahriman repo-remove-unknown [-h] [--dry-run] [-i] remove packages which are missing in AUR and do not have local PKGBUILDs

--dry-run
    just perform check for packages without removal

-i, --info
    show additional package information

OPTIONS 'ahriman repo-report'
usage: ahriman repo-report [-h] [target ...] generate repository report according to current settings

target
    target to generate report

OPTIONS 'ahriman report'
usage: ahriman repo-report [-h] [target ...] generate repository report according to current settings

target
    target to generate report

OPTIONS 'ahriman repo-setup'
usage: ahriman repo-setup [-h] [--build-command BUILD_COMMAND] [--from-configuration FROM_CONFIGURATION] [--no-multilib]
                        --packager PACKAGER --repository REPOSITORY [--sign-key SIGN_KEY]
                        [--sign-target {SignSettings.Packages,SignSettings.Repository}] [--web-port WEB_PORT] create initial service configuration, requires root

--build-command BUILD_COMMAND
    build command prefix

--from-configuration FROM_CONFIGURATION
    path to default devtools pacman configuration

--no-multilib
    do not add multilib repository

--packager PACKAGER
    packager name and email

--repository REPOSITORY
    repository name

--sign-key SIGN_KEY
    sign key id

--sign-target {SignSettings.Packages,SignSettings.Repository}
    sign options

--web-port WEB_PORT
    port of the web service

OPTIONS 'ahriman setup'
usage: ahriman repo-setup [-h] [--build-command BUILD_COMMAND] [--from-configuration FROM_CONFIGURATION] [--no-multilib]
                        --packager PACKAGER --repository REPOSITORY [--sign-key SIGN_KEY]
                        [--sign-target {SignSettings.Packages,SignSettings.Repository}] [--web-port WEB_PORT] create initial service configuration, requires root

--build-command BUILD_COMMAND
    build command prefix

--from-configuration FROM_CONFIGURATION
    path to default devtools pacman configuration

--no-multilib
    do not add multilib repository

--packager PACKAGER
    packager name and email

--repository REPOSITORY
    repository name

--sign-key SIGN_KEY
    sign key id

--sign-target {SignSettings.Packages,SignSettings.Repository}
    sign options

--web-port WEB_PORT
    port of the web service

OPTIONS 'ahriman repo-sign'
usage: ahriman repo-sign [-h] [package ...] (re-)sign packages and repository database according to current settings

package
    sign only specified packages

OPTIONS 'ahriman sign'
usage: ahriman repo-sign [-h] [package ...] (re-)sign packages and repository database according to current settings

package
    sign only specified packages

OPTIONS 'ahriman repo-status-update'
usage: ahriman repo-status-update [-h]
                        [-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}] update repository status on the status page

-s {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}, --status {BuildStatusEnum.Unknown,BuildStatusEnum.Pending,BuildStatusEnum.Building,BuildStatusEnum.Failed,BuildStatusEnum.Success}
    new status

OPTIONS 'ahriman repo-sync'
usage: ahriman repo-sync [-h] [target ...] sync repository files to remote server according to current settings

target
    target to sync

OPTIONS 'ahriman sync'
usage: ahriman repo-sync [-h] [target ...] sync repository files to remote server according to current settings

target
    target to sync

OPTIONS 'ahriman repo-update'
usage: ahriman repo-update [-h] [--dry-run] [--no-aur] [--no-manual] [--no-vcs] [package ...] check for packages updates and run build process if requested

package
    filter check by package base

--dry-run
    just perform check for updates, same as check command

--no-aur
    do not check for AUR updates. Implies --no-vcs

--no-manual
    do not include manual updates

--no-vcs
    do not check VCS packages

OPTIONS 'ahriman update'
usage: ahriman repo-update [-h] [--dry-run] [--no-aur] [--no-manual] [--no-vcs] [package ...] check for packages updates and run build process if requested

package
    filter check by package base

--dry-run
    just perform check for updates, same as check command

--no-aur
    do not check for AUR updates. Implies --no-vcs

--no-manual
    do not include manual updates

--no-vcs
    do not check VCS packages

OPTIONS 'ahriman user-add'
usage: ahriman user-add [-h] [--as-service] [--no-reload] [-p PASSWORD]
                        [-r {UserAccess.Safe,UserAccess.Read,UserAccess.Write}] [-s]
                        username update user for web services with the given password and role. In case if password was not entered it will be asked interactively

username
    username for web service

--as-service
    add user as service user

--no-reload
    do not reload authentication module

-p PASSWORD, --password PASSWORD
    user password. Blank password will be treated as empty password, which is in particular must be used for OAuth2 authorization type.

-r {UserAccess.Safe,UserAccess.Read,UserAccess.Write}, --role {UserAccess.Safe,UserAccess.Read,UserAccess.Write}
    user access level

-s, --secure
    set file permissions to user-only

OPTIONS 'ahriman user-remove'
usage: ahriman user-remove [-h] [--no-reload] [-s] username remove user from the user mapping and update the configuration

username
    username for web service

--no-reload
    do not reload authentication module

-s, --secure
    set file permissions to user-only

OPTIONS 'ahriman web'
usage: ahriman web [-h] start web server

COMMENTS
Argument list can also be read from file by using @ prefix.

AUTHORS
ahriman was written by ahriman team <>.

DISTRIBUTION
The latest version of ahriman may be downloaded from https://github.com/arcan1s/ahriman