All Projects → aurblobs → aurblobs

aurblobs / aurblobs

Licence: AGPL-3.0 license
Automatically create binary repositories from AUR packages

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to aurblobs

gitkraken
Arch User Repository Gitkraken
Stars: ✭ 113 (+707.14%)
Mutual labels:  aur, archlinux, pkgbuild
Yay
Yet another Yogurt - An AUR Helper written in Go
Stars: ✭ 7,100 (+50614.29%)
Mutual labels:  aur, archlinux, pkgbuild
PKGBUILD
PKGBUILDs; almost all on the AUR
Stars: ✭ 16 (+14.29%)
Mutual labels:  aur, archlinux, pkgbuild
toolbox
Unified kit with all the scripts required for maintaining the repository 🧰
Stars: ✭ 60 (+328.57%)
Mutual labels:  aur, archlinux, pkgbuild
abs
PKGBUILDs for the Arch User Repository
Stars: ✭ 38 (+171.43%)
Mutual labels:  aur, archlinux, pkgbuild
Pacaur
[unmaintained] An AUR helper that minimizes user interaction
Stars: ✭ 818 (+5742.86%)
Mutual labels:  aur, archlinux
Aur Out Of Date
Determines out-of-date AUR packages w.r.t. upstream version
Stars: ✭ 33 (+135.71%)
Mutual labels:  aur, archlinux
Mal
MAL: A MyAnimeList Command Line Interface [BROKEN: BLAME MyAnimeList]
Stars: ✭ 104 (+642.86%)
Mutual labels:  aur, archlinux
Cylon
A CLI TUI menu driven bash shell script supporting updates, maintenance, backups and system checks for an Arch based Linux distro
Stars: ✭ 121 (+764.29%)
Mutual labels:  aur, archlinux
Octopi
A powerful Pacman (Package Manager) front end using Qt libs
Stars: ✭ 331 (+2264.29%)
Mutual labels:  aur, archlinux
Sielo Legacy
An open source browser made with Qt and WebEngine
Stars: ✭ 113 (+707.14%)
Mutual labels:  aur, archlinux
Pacback
Advanced Version Control for Arch Linux
Stars: ✭ 146 (+942.86%)
Mutual labels:  aur, archlinux
Trizen
Lightweight AUR Package Manager
Stars: ✭ 696 (+4871.43%)
Mutual labels:  aur, archlinux
Aurdroid
Android AUR [Arch Linux user Repository] packages browser
Stars: ✭ 88 (+528.57%)
Mutual labels:  aur, archlinux
Aurutils
Helper tools for the AUR.
Stars: ✭ 695 (+4864.29%)
Mutual labels:  aur, archlinux
Asus Fan Control
🌀 Fan control for ASUS devices running Linux.
Stars: ✭ 120 (+757.14%)
Mutual labels:  aur, archlinux
Packages
Aim to be the bioinformatics repository with more and newer packages
Stars: ✭ 13 (-7.14%)
Mutual labels:  repository, archlinux
Rua
Build tool for Arch Linux providing control, review and jailed build options
Stars: ✭ 224 (+1500%)
Mutual labels:  aur, archlinux
Mirrorlist Repo
Arch Linux CN Community repo mirrors list
Stars: ✭ 307 (+2092.86%)
Mutual labels:  repository, archlinux
Deepin Wine Tim Arch
Tencent TIM on Deepin Wine5(com.qq.office.deepin) For Archlinux
Stars: ✭ 255 (+1721.43%)
Mutual labels:  aur, archlinux

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 [email protected]

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!) <[email protected]>

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].