Skip to main content

Pacroller

The "Unattended Upgrades" for Arch Linux.

Concept

Parsing the output of pacman and pacman.log, searching for known patterns and notifying the user whether there is a potential error. Currently the design is regex-based, any output that is unable to match a set of regex is reported back to the user.

Installation

yay -S pacroller

Usage

pacroller has the following subcommands

run [-d --debug]
    start an upgrade
    if the upgrade fails or pacroller determines that human action is required,
    pacroller writes an exception to the status database, and refuses to run again
    without resetting its failure status.
status [-v --verbose] [-m --max <number>]
    print details of a previously successful upgrade
reset
    reset the current failure status
test-mail
    send test mails to all configured notification destinations

There is also a systemd timer for scheduled automatic upgrades.

Configuration

Pacroller reads /etc/pacroller/config.json on startup.

custom sync commands

Pacroller can be configured to use custom sync commands, which allows the usage of a different set of mirrors when syncing the database. Enable the "custom_sync" option and write your custom /etc/pacroller/sync.sh.

needrestart

If the "needrestart" option is enabled, needrestart should be called after a successful upgrade.

hold packages

Put your hold packages in a json keyval {package name: regex}, where the regex should have at least one matching group. If pacroller observes any changes of the matching group or the hold package is to be removed, it refuses to upgrade further.

ignored pacnew

A list of pacnew files that are silently ignored during parsing, any other pacnews will trigger a warning and prevent further upgrades.

custom pacman hooks and packages

Custom pacman hooks and packages output matching is configurable via /etc/pacroller/known_output_override.py.

check systemd status

The "systemd-check" option allows pacroller to check fo degraded systemd services before an upgrade.

check news from archinux.org

Automatically checks news before upgrade, unless "news-check" is set to false.

clear package cache

Pacroller wipes /var/cache/pacman/pkg after a successful upgrade if the option "clear_pkg_cache" is set.

save pacman output

Every time an upgrade is performed, the pacman output is stored into /var/log/pacroller. This can be configured via the "save_stdout" keyword.

Notification

When configuring your notification system, please note that pacroller will not send any notification if stdin is a tty (can be overridden by the --interactive switch). Notification will be sent through all configured methods when it requires manual inspection. Currently, two notification methods are supported: SMTP and telegram

SMTP

Configure /etc/pacroller/smtp.json to receive email notifications.

Telegram

Configure /etc/pacroller/telegram.json to receive telegram notifications.

Limitations

  • Your favourite package may not be supported, however it's easy to add another set of rules.
  • Restarting the whole system after a kernel upgrade is not implemented.
  • Human interaction is required occasionally.

Metadata

Release files for pacroller 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pacroller 0.1.9
File Size Uploaded Provenance Actions
pacroller-0.1.9.tar.gz 31.9 kB Without provenance Details for pacroller-0.1.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pacroller 0.1.9
File Interpreter ABI Platform Actions
pacroller-0.1.9-py3-none-any.whl Python 3 none any Details for pacroller-0.1.9-py3-none-any.whl

Total release size: 65.7 kB

Release files / pacroller-0.1.9.tar.gz

Download URL pacroller-0.1.9.tar.gz
Size 31.9 kB
Tags Source
SHA-256 checksum
How to use checksums
81702125f093fa086555ce8993197d205938604f052b28489fb78a90fde1fd94
BLAKE2b-256 checksum
How to use checksums
bc324a387b2b52071b720833efdb48044940d6964828870d259d9615cbf2cec3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.3

Release files / pacroller-0.1.9-py3-none-any.whl

Download URL pacroller-0.1.9-py3-none-any.whl
Size 33.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
55ea7ff68275134e8cf5723066e0886c098c7b14643b2549a63d9939a898b5b3
BLAKE2b-256 checksum
How to use checksums
b0b854b936bbf5e9d28d140b64264a889d6605b168e3c527aeeef99185aafd47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.3

Security for pacroller 0.1.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page