Package: aurblobs
aurblobs========Automatically build AUR packages and serve them from a repositoryInstallation------------The latest release can be installed from PyPi:::$ pip install aurblobsand upgraded with:::$ pip install --upgrade aurblobsDependencies------------- Docker- GnuPG- versions >=2.1.0 will generate Ed25519 Signing Keys- older versions will generate RSA (4096 Bit) Signing KeysUsage-----::Usage: aurblobs [OPTIONS] COMMAND [ARGS]...Options:--version  Show the version and exit.--help     Show this message and exit.Commands:add     Add a new package to an existing repository.init    Initialize a new repository.list    List repositories and related packagesremove  Remove a package from a repositoryupdate  Update packages in repository to latest version.Initializing repository/////////////////////This will create the repository basedir and a dedicatd GPG keypair. It will also installthe public key into the basedir.::$ aurblobs init myrepo /srv/www/myrepo myrepo@example.comAdding a package////////////////Adding a new package to a repository validates its existence on AUR and configures it to be built on the next updaterun.::$ aurblobs add youtube-dl-gitIf multiple repositories are set up the specific repository must be specified:::$ aurblobs add --repository myrepo youtube-dl-gitListing configured repositories and packages////////////////////////////////////////////::$ aurblobs listmyrepo: /srv/www/myrepo (3 packages)- dino-git (r214.dc2dde5-1)- youtube-dl-git (2017.12.02.r7.b271e3352-1)- tinc-pre-git (1.1pre15.21.gb8acb89a-1)Building packages/////////////////With the update command all configured repositories and packages can be checked forupdates. If updates for a package are available it will be rebuilt in a container, witha minimal Arch Linux build environment.The build container will be pulled from the Docker Hub just before the first build is started.::% aurblobs update --repository myrepoyoutube-dl-git is up-to-datedino-git is up-to-datetinc-pre-git is up-to-dateSharing the repository//////////////////////The repository basedir should then be exposed via a webserver.::$ tree /srv/www/myrepo/srv/www/myrepo├── myrepo.db -> myrepo.db.tar.gz├── myrepo.db.tar.gz├── myrepo.db.tar.gz.old├── myrepo.files -> myrepo.files.tar.gz├── myrepo.files.tar.gz├── myrepo.files.tar.gz.old├── myrepo.gpg├── dino-git-r214.dc2dde5-1-x86_64.pkg.tar.xz├── dino-git-r214.dc2dde5-1-x86_64.pkg.tar.xz.sig├── tinc-pre-git-1.1pre15.21.gb8acb89a-1-any.pkg.tar.xz├── tinc-pre-git-1.1pre15.21.gb8acb89a-1-any.pkg.tar.xz.sig├── youtube-dl-git-2017.12.02.r8.3c4fbfeca-1-any.pkg.tar.xz└── youtube-dl-git-2017.12.02.r8.3c4fbfeca-1-any.pkg.tar.xz.sigConfiguring the repository locally//////////////////////////////////Download and import the repositories signing key into your truststore.::# wget https://example.com/myrepo/myrepo.gpg# pacman-key --add myrepo.gpgLookup the key fingerprint:::# pacman-key --list-keys | grep -B2 "prebuilt repository key"pub   ed25519 2017-12-04 [SCA]6E688777E2795B67C578EF3591149FE64075FE41uid           [  full  ] prebuilt repository key (insecure!) <myrepo@example.com>And sign the key locally:::# pacman-key --lsign-key <fingerprint>-> Locally signing key <fingerprint>...==> Updating trust database...gpg: next trustdb check due at 2018-06-25Finally add the repository to ``/etc/pacman.conf``:::[myrepo]Server = https://example.com/myrepo