// This configuration is installed by FreedomBox.
//
// When Apt's cache is updated (i.e. apt-cache update) notify FreedomBox service
// via it's D-Bus API. FreedomBox may then handle upgrade of some packages.
//
APT::Update::Post-Invoke-Success {
    "/usr/bin/test x$FREEDOMBOX_INVOKED != 'xtrue' && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedombox.Service --object-path /org/freedombox/Service/PackageHandler --timeout 10 --method org.freedombox.Service.PackageHandler.CacheUpdated 2> /dev/null > /dev/null; /bin/echo > /dev/null";
};

// When Apt finishes an operation notify FreedomBox service via it's D-Bus API.
// FreedomBox may then handle post-install actions for some packages.
DPkg::Post-Invoke {
    "/usr/bin/test x$FREEDOMBOX_INVOKED != 'xtrue' && /usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call --system --dest org.freedombox.Service --object-path /org/freedombox/Service/PackageHandler --timeout 10 --method org.freedombox.Service.PackageHandler.DpkgInvoked 2> /dev/null > /dev/null; /bin/echo > /dev/null";
};

// Clean apt cache every 7 days
APT::Periodic::CleanInterval "7";
