Skip to content

This documentation explains the differences in options and interface changes between versions.

Changes between 0.2.2 and 0.3.0

pacopts is rewritten in Python. It reads the pacman databases through libalpm and talks directly to the AUR RPC interface: cower and expac are no longer used. The command line is now made of subcommands, see pacopts.

The general options still come before the command, e.g. pacopts -c aur search foo.

General options

0.2.2 0.3.0
-h -h, --help, also available after each command
-z -c, --color
-v 1, the default, only error messages -q, --quiet
-v 2, -v 3 no exact equivalent, the default prints the information messages
-v 4 -v, --verbose

Commands

0.2.2 0.3.0
pacopts origin pacopts origin
pacopts origin repo pacopts origin -r repo
pacopts origin repo package... pacopts origin -r repo package...
pacopts service package... pacopts service package...
pacopts build directory, new command

The repository of origin is now an option. The first argument is a package name: pacopts origin foo checks foo against obcore, it does not take foo as a repository anymore.

origin now finds the origin of a package even when two repositories provide the same version, or when the installed package is outdated, and reports the local builds.

service now only looks at the packages of the observice repository.

build builds a PKGBUILD in a rootless 66-ns sandbox on a build root, nothing is installed on the host.

AUR subcommands

The single letter options of aur become subcommands.

0.2.2 0.3.0
pacopts aur -s term... pacopts aur search term...
pacopts aur -m maintainer... pacopts aur search -b maintainer maintainer...
pacopts aur -i package... pacopts aur info package...
pacopts aur -d package... pacopts aur download package...
pacopts aur -u pacopts aur outdated
pacopts aur -u package... pacopts aur outdated package...
pacopts aur -U pacopts aur upgrade
pacopts aur -U package... pacopts aur upgrade package...
pacopts aur -b package... pacopts aur build package...
pacopts aur -I package... pacopts aur install package...
pacopts aur -d help, one help per option pacopts aur download -h, one help per subcommand
cower long options, e.g. --format=%D removed

download clones the git repository of the AUR package instead of downloading a snapshot with cower. An update follows the AUR exactly, any local change of the tracked files is lost. -f removes the repository and clones it again.

build now resolves the AUR dependencies of the package: they are built and installed first.

build, install and upgrade go on after a failure and skip the packages depending on it. They offer to import the PGP keys needed to check the sources.

Privileges

Unchanged for the existing commands: origin and service must be run with root privileges, aur without. The new build command must be run without root privileges.

Configuration

/etc/obarun/pacopts.conf is now in TOML format and every key is required, none has a default value. $HOME/.config/cower/config is no longer read. The values below are the ones of the shipped files.

0.2.2 0.3.0
OPTS_COWER removed
OPTS_MAKEPKG="-Cs --noconfirm --nosign" makepkg_opts = ["--noconfirm", "--nosign"]
OPTS_PACMAN="-U --noconfirm" pacman_opts = ["-U", "--noconfirm"]
TargetDir of $HOME/.config/cower/config, /tmp when empty workdir = "~/.cache/pacopts"
[sandbox] section, new

makepkg_opts only holds the options added to the ones pacopts always gives to makepkg: it always builds from a clean $srcdir and handles the dependencies itself. The options running pacman, -s, -i, -r and their long forms, are refused.