ArcH Linux ReposItory MANager
Go to file
2021-10-23 13:44:57 +03:00
.github improve scripts 2021-10-11 02:20:16 +03:00
docs split application class into traits 2021-10-23 13:44:57 +03:00
package logger improvements 2021-10-20 02:12:49 +03:00
src/ahriman split application class into traits 2021-10-23 13:44:57 +03:00
tests split application class into traits 2021-10-23 13:44:57 +03:00
.bandit-test.yml use nosec instead of disabling mktemp rule 2021-08-11 02:51:29 +03:00
.bandit.yml add bandit integration and fix its warnings 2021-08-11 02:45:13 +03:00
.gitignore add manpage 2021-09-19 13:56:11 +03:00
.pylintrc logging rethink 2021-08-17 00:23:34 +03:00
AUTHORS more templates 2021-03-29 00:13:20 +03:00
COPYING uploader demo 2021-03-05 04:10:29 +03:00
Makefile docs update 2021-10-15 04:55:46 +03:00
README.md docs update 2021-10-15 04:55:46 +03:00
setup.cfg Auth support (#25) 2021-09-02 23:36:00 +03:00
setup.py docs update 2021-10-15 04:55:46 +03:00
web.png documentation update 2021-09-10 03:32:45 +03:00

ArcH Linux ReposItory MANager

tests status setup status CodeFactor

Wrapper for managing custom repository inspired by repo-scripts.

Features

  • Install-configure-forget manager for own repository.

  • Multi-architecture support.

  • VCS packages support.

  • Sign support with gpg (repository, package, per package settings).

  • Synchronization to remote services (rsync, s3 and github) and report generation (html).

  • Dependency manager.

  • Ability to patch AUR packages and even create package from local PKGBUILDs.

  • Repository status interface with optional authorization and control options:

    web interface

Installation and run

For installation details please refer to the documentation. For command help, --help subcommand must be used, e.g.:

$ ahriman --help
usage: 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-sync,sync,repo-update,update,user-add,user-remove,web}
               ...

ArcH Linux ReposItory MANager

optional arguments:
  -h, --help            show this help message and exit
  -a ARCHITECTURE, --architecture ARCHITECTURE
                        target architectures (can be used multiple times) (default: None)
  -c CONFIGURATION, --configuration CONFIGURATION
                        configuration path (default: /etc/ahriman.ini)
  --force               force run, remove file lock (default: False)
  -l LOCK, --lock LOCK  lock file (default: /tmp/ahriman.lock)
  --no-report           force disable reporting to web service (default: False)
  -q, --quiet           force disable any logging (default: False)
  --unsafe              allow to run ahriman as non-ahriman user. Some actions might be unavailable (default: False)
  -v, --version         show program's version number and exit

command:
  {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-sync,sync,repo-update,update,user-add,user-remove,web}
                        command to run
    aur-search (search)
                        search for package
    key-import          import PGP key
    package-add (add, package-update)
                        add package
    package-remove (remove)
                        remove package
    package-status (status)
                        get package status
    package-status-remove
                        remove package status
    package-status-update (status-update)
                        update package status
    patch-add           add patch set
    patch-list          list patch sets
    patch-remove        remove patch set
    repo-check (check)  check for updates
    repo-clean (clean)  clean local caches
    repo-config (config)
                        dump configuration
    repo-init (init)    create repository tree
    repo-rebuild (rebuild)
                        rebuild repository
    repo-remove-unknown (remove-unknown)
                        remove unknown packages
    repo-report (report)
                        generate report
    repo-setup (setup)  initial service configuration
    repo-sign (sign)    sign packages
    repo-sync (sync)    sync repository
    repo-update (update)
                        update packages
    user-add            create or update user
    user-remove         remove user
    web                 web server

Subcommands have own help message as well.

Configuration

Every available option is described in the documentation.

FAQ