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

Re: How to ensure packages generated from -source are installable?

William Ballard <nospam_40811@alltel.net> writes:

> On Mon, Jan 03, 2005 at 11:33:21AM +0100, Thomas Hood wrote:
>> Right.  Do you regard this as a problem?
> It would be a lot smarter to check if the install would succeed
> before unpacking it.  If you were replacing a previous alsa-modules 
> package, the old one will be uninstalled and non-functional (please 
> correct me me if I'm wrong) and you won't have any sound until you get 
> around to fixing it.  If you were replacing a previous 
> ndiswrapper-modules, now your network card is hosed and you *can't* use 
> apt -f to fix the problem unless you connect to the network the other 
> way.

Yes, it would be smarter for dpkg to know that it will fail.

But you can always do

dpkg --unpack foobar.deb

to get to the same situation. dpkg -i foobar.deb is just simpler to
type and just maybe it works.

> Transactions should be atomic, consistent, isolated, and durable.  This 
> fails the "atomic" and "isolated" tests.
> Don't sweat it, I can very easily write my own wrapper around dpkg -i 
> that first dumps the depends and refuses to install if they aren't met.

Don't forget Pre-Depends, Depends, Conflicts, Replaces, the actual
files in each deb (do they overlap?), Provides, cycles and
combinations of those, different orders of when packages get unpacked
(relevant to file overlaps) or configured.

All this is a nice application of graph theory and pretty much what
apt does already. So your wraper is quite a waste of time.

What you should do is port the "apt-get -i foobar.deb" support from
the rpm capable apt back to debian. With a relatively simple and small
patch you gain all the already achieved work of apt, your wish to
install local debs with dependency checking and you make a lot of
people happy on top of it.


Reply to: