[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cross-dpkg problems

> The installation process is a bit difficult. There are four scripts,
> {pre,post}{rm,inst} which are run before and after removal or installation
> of packages. The scripts are run with an argument, which defines if it is an
> upgrade, a new install, a removal or purge (removes configuration too) etc.

What sorts of things are done be these preinstall scripts?  Can they be
bypassed?  Is it safe to say that they won't be required if installing onto
an empty filesystem where we can say a priori there is nothing conflicting
or relevant already installed?

> If the postinst fails, the package is left in a "half-installed" state.
> Running "dpkg --pending --configure" after reboot will do what you want.
> There are other options, for a fine adjustment of dpkg's behaviour.
> You can also only unpack the files, which is sometimes dangerous (in
> a running system, at least :)

I'm glad to hear it is flexible in these ways.  I think what we should
recommend for people installing a hurd system from another system is the
dpkg command that does this "half-install" without even trying to run the
post-install scripts (so people don't get strange errors and core dumps and
whatnot).  Then we can hopefully eventually replace the hurd "SETUP" script
one runs on first boot with just "dpkg --pending --configure", or something
like that.

We still need to figure out the pre-install script issue.  But I think it
would be a good feature for dpkg in general to be able to do pure
cross-system installs in this way without attempting anything that needs to
be run on the target system, so I would like to see a general resolution to
this question rather than just getting by for the hurd.

Reply to: