Archived
This project has been archived by its maintainers, and is no longer receiving any updates.
aurblobs
========
Automatically build AUR packages and serve them from a repository
Installation
------------
The latest release can be installed from PyPi:
::
$ pip install aurblobs
and upgraded with:
::
$ pip install --upgrade aurblobs
Dependencies
------------
- Docker
- GnuPG
- versions >=2.1.0 will generate Ed25519 Signing Keys
- older versions will generate RSA (4096 Bit) Signing Keys
Usage
-----
::
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 packages
remove Remove a package from a repository
update Update packages in repository to latest version.
Initializing repository
/////////////////////
This will create the repository basedir and a dedicatd GPG keypair. It will also install
the public key into the basedir.
::
$ aurblobs init myrepo /srv/www/myrepo myrepo@example.com
Adding a package
////////////////
Adding a new package to a repository validates its existence on AUR and configures it to be built on the next update
run.
::
$ aurblobs add youtube-dl-git
If multiple repositories are set up the specific repository must be specified:
::
$ aurblobs add --repository myrepo youtube-dl-git
Listing configured repositories and packages
////////////////////////////////////////////
::
$ aurblobs list
myrepo: /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 for
updates. If updates for a package are available it will be rebuilt in a container, with
a 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 myrepo
youtube-dl-git is up-to-date
dino-git is up-to-date
tinc-pre-git is up-to-date
Sharing 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.sig
Configuring the repository locally
//////////////////////////////////
Download and import the repositories signing key into your truststore.
::
# wget https://example.com/myrepo/myrepo.gpg
# pacman-key --add myrepo.gpg
Lookup the key fingerprint:
::
# pacman-key --list-keys | grep -B2 "prebuilt repository key"
pub ed25519 2017-12-04 [SCA]
6E688777E2795B67C578EF3591149FE64075FE41
uid [ 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-25
Finally add the repository to ``/etc/pacman.conf``:
::
[myrepo]
Server = https://example.com/myrepo
========
Automatically build AUR packages and serve them from a repository
Installation
------------
The latest release can be installed from PyPi:
::
$ pip install aurblobs
and upgraded with:
::
$ pip install --upgrade aurblobs
Dependencies
------------
- Docker
- GnuPG
- versions >=2.1.0 will generate Ed25519 Signing Keys
- older versions will generate RSA (4096 Bit) Signing Keys
Usage
-----
::
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 packages
remove Remove a package from a repository
update Update packages in repository to latest version.
Initializing repository
/////////////////////
This will create the repository basedir and a dedicatd GPG keypair. It will also install
the public key into the basedir.
::
$ aurblobs init myrepo /srv/www/myrepo myrepo@example.com
Adding a package
////////////////
Adding a new package to a repository validates its existence on AUR and configures it to be built on the next update
run.
::
$ aurblobs add youtube-dl-git
If multiple repositories are set up the specific repository must be specified:
::
$ aurblobs add --repository myrepo youtube-dl-git
Listing configured repositories and packages
////////////////////////////////////////////
::
$ aurblobs list
myrepo: /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 for
updates. If updates for a package are available it will be rebuilt in a container, with
a 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 myrepo
youtube-dl-git is up-to-date
dino-git is up-to-date
tinc-pre-git is up-to-date
Sharing 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.sig
Configuring the repository locally
//////////////////////////////////
Download and import the repositories signing key into your truststore.
::
# wget https://example.com/myrepo/myrepo.gpg
# pacman-key --add myrepo.gpg
Lookup the key fingerprint:
::
# pacman-key --list-keys | grep -B2 "prebuilt repository key"
pub ed25519 2017-12-04 [SCA]
6E688777E2795B67C578EF3591149FE64075FE41
uid [ 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-25
Finally add the repository to ``/etc/pacman.conf``:
::
[myrepo]
Server = https://example.com/myrepo
Metadata
Release files for aurblobs 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aurblobs-0.5.2.tar.gz | 12.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aurblobs-0.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.1 kB
Release files / aurblobs-0.5.2.tar.gz
| Download URL | aurblobs-0.5.2.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ecf46c75d78b47e81f50288a95d74ce1ef5111240edc8fde0da0485ce4aa650b
|
|
BLAKE2b-256 checksum How to use checksums |
bcba3f2f7eac90f55f1ab44d8ad8630cb07193d7e528ba326959e3fa85560f85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.7
|
Release files / aurblobs-0.5.2-py3-none-any.whl
| Download URL | aurblobs-0.5.2-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
32ec21bf5b13b9ff67efa3118e7a4f1045f9a450d5aff5b50301788002054fc5
|
|
BLAKE2b-256 checksum How to use checksums |
9adf9017b828ac89cedbd00a4637d4fa520479bc9d1bf5b1725e5e31d380ca0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/3.7
|