• Stars
    star
    134
  • Rank 270,967 (Top 6 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Arch Linux AUR tool for managing an auto-updating local 'aurto' package repository

aurto

An Arch Linux AUR tool for managing an auto-updating local 'aurto' package repository using aurutils.

  • Simple aurto add, aurto remove, aurto addpkg management of local aurto repo packages.
  • Automatic on startup & hourly update of aur packages in the aurto repo.
  • Automatic daily update of VCS, ie "*-git", packages in the aurto repo.
  • Maintainer trust system: Package maintainers must be ok-ed before adding into, or auto-updating in, the aurto repo.
  • Uses makechrootpkg to build packages isolated from the main system.
  • Automatic removal of packages no longer in the AUR from the aurto repo.
  • Automatic removal of packages with unknown/distrusted maintainers from the aurto repo.

Install

From a plain Arch install, first install aurutils from the aur (skip if already installed).

curl -L https://aur.archlinux.org/cgit/aur.git/snapshot/aurutils.tar.gz | tar xz
cd aurutils
gpg --recv-keys DBE7D3DD8C81D58D0A13D0E76BC26A17B9B7018A
makepkg -srci

Install aurto from the aur.

curl -L https://aur.archlinux.org/cgit/aur.git/snapshot/aurto.tar.gz | tar xz
cd aurto
makepkg -srci

Initialise the 'aurto' repo & systemd timers.

aurto init

Recommended: Add aurto to the 'aurto' repo to provide self updates.

aurto add aurto

Usage

You add aur packages to your local 'aurto' repo. This is different to installing them.

aurto add|addpkg|remove PACKAGES

Once added you can install them as normal with pacman. The packages are automatically updated periodically, you'll see aurto updates in the same way as other repos after a pacman -Syu.

Useful commands

View current packages, logs & info.

aurto status

Add a directory full of built packages to the aurto repo

aurto addpkg $(find /path/to/packages/*pkg.tar*)

Show no-repo installed packages, these may have not been added to aurto yet or may have been automatically dropped from aurto because of maintainer change or removal from the AUR.

pacman -Qm

Rebuild all aur/no-repo packages into the aurto repo

aurto add $(pacman -Qqm)

Maintainer Trust

aurto uses a system of maintainer trust for limited security. On adding packages with unknown maintainers you'll be asked whether you want to trust these maintainers.

$ aurto add spotify
aurto: Trust maintainer(s): AWhetter? [y/N]

If you don't say y the package is not added.

If any aurto repo packages change maintainer to an unknown user the packages will be removed from the aurto repo on the next update-aurto run. A warning will appear in the update-aurto logs

WARNING: Packages with unknown maintainers removed from aurto, ...

If desired such packages can be re-added and the new maintainers added to the local trusted users.

Local trusted users are stored in /etc/aurto/trusted-users initially populated with the aurutils & aurto maintainers.

Clear /etc/aurto/trusted-users to trust no-one.
Remove /etc/aurto/trusted-users to trust everyone.

Config

aurto builds packages in a chroot using /etc/aurto/makepkg-chroot.conf & /etc/aurto/pacman-chroot.conf. These can be customized in the same way as the main makepkg.conf, pacman.conf, for example to change compression.

Limitations & Security

aurto automatically builds and regularly re-builds updated remote code from the aur. Code is built in a clean chroot, but presumably will eventually be installed to your system. Take care trusting maintainers.

If aurto can't do what you want use aurutils directly.

More Repositories

1

glyph-brush

Fast GPU cached text rendering
Rust
675
star
2

ab-av1

AV1 re-encoding using ffmpeg, svt-av1 & vmaf.
Rust
380
star
3

ab-glyph

Rust API for loading, scaling, positioning and rasterizing OpenType font glyphs
Rust
345
star
4

spin-sleep

Rust accurate sleeping. Only use native sleep as far as it can be trusted, then spin.
Rust
150
star
5

apart-gtk

Linux GUI for cloning & restoring disk partitions to & from compressed image files
Python
63
star
6

linked-hash-set

Rust HashSet with insertion ordering
Rust
40
star
7

dynamics

Java library for handling nested dynamic data
Java
25
star
8

single-value-channel

Rust concurrent single-value update and receive channel
Rust
21
star
9

owned-ttf-parser

ttf-parser plus support for owned data
Rust
18
star
10

int-hash

Very fast, very simple hash algorithm designed for use in Rust integer hash maps & sets
Rust
18
star
11

vimg

CLI for video images. Generates animated video contact sheets fast.
Rust
16
star
12

ktx

Rust KTX texture storage format parsing
Rust
11
star
13

benjamin-batchly

Low latency batching tool. Bundle lots of single concurrent operations into sequential batches of work.
Rust
11
star
14

gfx-shader-watch

Gfx utility for watching shaders and reloading pipeline state on the fly
Rust
10
star
15

fluent

Java 8 common library for fluent coding
Java
6
star
16

mtd-vat-cli

CLI tool to query & submit UK VAT returns
Rust
5
star
17

dynamodb-lease

Dynamodb distributed lock client for Rust
Rust
5
star
18

old-school-gfx-glutin-ext

Extensions for glutin to initialize & update old school gfx
Rust
4
star
19

apart-core

Linux util for partition cloning GUIs
Rust
3
star
20

cargo-ab-lint

CLI with extra lints for rust projects
Rust
2
star
21

nix-user

Scripts and info for using nix packages without root access.
Shell
1
star
22

rusttmp

Rust issue reproductions
Rust
1
star