# Pain in the APT
Pester people about available package updates by jabber or email

## Table of Contents

- 1. What does it do?
- 2. Options
- 3. Configuration
  - 3.1. XMPP
  - 3.2. SMTP
  - 3.3. MAILX
- 4. Usage
- 5. Resources
- 6. License
- 7. Logo
- 8. Author

Pain in the APT pesters people about available package upgrades, just like apticron or cron-apt. However, it does so by XMPP (direct, MUC/conference room, or pubsub node), SMTP, or by calling `mailx`.

## 1. What does it do?

1. updates the APT cache and checks for updates
2. sends list of available updates to Jabber contacts or a conference room or pubsub node immediately
3. or sends list of available updates and relevant changelogs (slow) to email recipients
4. downloads packages, but does not install them

Messages are only sent when there is any change in either the list of updates or in the configuration of `painintheapt`.

## 2. Options

`-c`, `--configfile` configuration file
  configuration file, (defaults: `/etc/painintheapt.conf`)
`-d`, `--debug`
  print debug output to stderr
`-f`, `--force`
  send message, even if updates did not change
`-h`, `--help`
  print help
`-s`, `--stampfile` stamp file
  stamp file (default: /var/lib/painintheapt/stamp)
`-t`, `--testmessage`
  send a test message only
`-v`, `--version`
  print version

## 3. Configuration

The default configuration file is `/etc/painintheapt.conf` in inifile format.

There are up to three sections, `XPMP`, `SMTP`, and `MAILX`.

### 3.1. XMPP

The keys for `XMPP` are `jid`, `password_file`, `avatar`, `to`, `room`, `pubsub_service`, `pubsub_node`, `send_changes`, `host`, and `port`. The latter two are only necessary in exceptional cases.

The most simple setup only needs `jid`, `password_file`, and `to`.

It is recommended to set the accompanying logo as Jabber avatar for the respective JID. This can be done automatically by `painintheapt`.

### 3.2. SMTP

The keys for `SMTP` are `server`, `port`, `username`, `password_file`, `from`, `to`, `cc`, and `send_changes`.

### 3.3. MAILX

The keys for `MAILX` are `from`, `to`, `cc`, and `send_changes`.

## 4. Usage

`painintheapt` is typically run from systemd timers. One may call `painintheapt` without arguments daily, and with the `--force` option weekly, just to make sure that everything works fine.

## 5. Resources

- Homepage: https://salsa.debian.org/debacle/painintheapt

## 6. License

Affero General Public License 3 or higher

## 7. Logo

     (___)
    ○(@ @)○
     -\∞/-
    /__‾__\

Maybe a cow, a gnu, or a dragon?

## 8. Author

Martin <debacle@debian.org>

Author: Build Daemon user

Validate