On 10/06/2016 05:45 AM, Adam Williamson wrote:
On Wed, 2016-10-05 at 20:38 -0700, Andrew Lutomirski wrote:
> I don't understand how you arrive at this conclusion. dnf is sitting
>> on the top of a house of cards when it's running in Terminal. If
>> anything below it dies, dnf dies and by extension so is rpm. Could dnf
>> be put into it's own session or scope (whatever it's called), and
>> would that prevent it from dying if the whole GUI died?
>
>
> Yes. dnf would prepare the transaction, solve dependencies, etc, and
> then kick off a service to do the actual work. The service would pipe
> the progress state and such back to the client.
FWIW, someone told me today (in rather colorful terms) that apt-get is
designed exactly this way. It survives the death of its controlling
terminal (and, allegedly - again, I don't know this from personal
experience - has decent support for completing failed transactions if
the apt-get process itself crashes).
apt-get and dpkg cannot survive arbitrary crashes, but in general, the
combination will rerun the equivalent of %preinst and %postinst scripts,
to make sure that all installed packages are in a properly configured state.
It also intercepts ^C, so that you don't end up with an inconsistent
package database simply because the administrator hit ^C in the wrong
terminal.
Florian