Dependencies
------------

Email-Reminder requires Python 3.6 or later, as well as the following packages:

- defusedxml
- PySide6.QtCore
- PySide6.QtGui
- PySide6.QtWidgets

Installation
------------

Here is the preferred way of installing Email-Reminder:

1- Run `make` to generate all binaries.

2- Run `make install` as root to install all program files.

3- Use the example systemd unit files or set up a cron job so that
   the "collect-reminders" and "send-reminders" scripts run every day
   as the `root` and `email-reminder` users, respectively. Under
   Debian, this is done by putting the following shell script under
   `/etc/cron.daily/`:

    #!/bin/sh
    COLLECT_SCRIPT=/usr/sbin/collect-reminders
    SEND_SCRIPT=/usr/bin/send-reminders
    
    if [ -x "$COLLECT_SCRIPT" -a -x "$SEND_SCRIPT" ]; then
        $COLLECT_SCRIPT
        su - email-reminder -c $SEND_SCRIPT
    fi

4- Add an `email-reminder` user account (usually done with the `adduser` or
   `useradd` commands).

5- Create the spool directory for that user only:

    mkdir /var/spool/email-reminder
    chown email-reminder:root /var/spool/email-reminder
    chmod 770 /var/spool/email-reminder

6- Should you wish to add a menu entry for Email-Reminder Editor, use
   the `email-reminder-editor.desktop` file.

7- Copy the example config file (`email-reminder.conf`) into `/etc` and adjust
   its permissions:

    cp examples/email-reminder.conf /etc/
    chown email-reminder:root /etc/email-reminder.conf
    chmod 640 /etc/email-reminder.conf
