Comment 15 for bug 876298

Revision history for this message
Michael Vogt (mvo) wrote : Re: [MASTER] We need to better handle external payloads (Flash, msttcorefonts) not being available.

So I was thinking about something like:
/usr/share/fetchme/requests.d/

that contains files like "flashplugin.fetchme":
"""
Url: http://example.com/flash.bin
Sha256: 123213

Url: http://example.com/flash-me-more.bin
Sha256 22213

Script: /usr/share/flashplugin/downloaded.sh
"""

We add a dpkg trigger on that dir a cron job (daily?) that regularly scan it and look for new files
there. If a new file is there the script tries download all files and run the script with the local path
of the downloaded files as its argument and records it is successful if the script exits with 0. That
means that if the connection is there essentially nothing changes, but if its not its queued and retried
later without failing the entire operation.

We need to warn that the script can not do any dpkg operations and that the system may be in a
state of flux when its run. This maybe a problem for e.g. update-alternatives calls, we need to think
a bit more what to do here (Script-Run-After-Dpkg-Finished: register.sh maybe?).

The other bit that is tricky is that we need to communicate failures in some way - or at least failures
that are permanent. (for permanent e.g. more than 3 days). One way could be to create a update-notifier
notification and to provide a cli tool like fetchme --show-queue or --show-incomplete. Plus a clear message
in the apt log everytime its triggered what is missing and that it queued it for later if it has to.