ArcH Linux ReposItory MANager
Go to file
Evgeniy Alekseev ab8ca16981 improve scripts
move logic to separated shell scripts and also create shell script for
repository setup

Also force create directory according to systemd recommendations
2021-10-11 02:20:16 +03:00
.github improve scripts 2021-10-11 02:20:16 +03:00
docs improve scripts 2021-10-11 02:20:16 +03:00
package improve scripts 2021-10-11 02:20:16 +03:00
src/ahriman more verbose help messages 2021-10-07 01:56:22 +03:00
tests more verbose help messages 2021-10-07 01:56:22 +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-09-26 14:39:35 +03:00
README.md improve scripts 2021-10-11 02:20:16 +03:00
setup.cfg Auth support (#25) 2021-09-02 23:36:00 +03:00
setup.py add debugtoolbar support 2021-09-26 12:31:12 +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 report generation (html).

  • Dependency manager.

  • Ability to patch AUR packages.

  • 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-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 (default: False)
  -v, --version         show program's version number and exit

command:
  {aur-search,search,key-import,package-add,add,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)   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           patches control
    patch-list          patches control
    patch-remove        patches control
    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 for web services
    user-remove         remove user for web services
    web                 web server

Subcommands have own help message as well.

Configuration

Every available option is described in the documentation.