[Cupt-devel] Bug#575786: cupt: should use selections instead of --force-* options

Eugene V. Lyubimkin jackyf at debian.org
Tue Dec 17 19:49:05 UTC 2013


Control: severity 575786 wishlist

Hi Guillem,

2013-12-17 16:58, Guillem Jover:
> Actually, this is a bug in cupt, let's reassign it then. Please see
> the other related bug in apt #579790, for other details related to
> the use of --force-* options.

I'm not sure can it be classified as "bug" or not (after all, it uses
documented interfaces to achieve what is wanted), but I agree that if
dpkg has some kind of transactions, using them might be an improvement
from the current situation.

> > That's because the request to dpkg was not explicit enough. The way to
> > do that is to create a “dpkg transaction”, by setting the apropriate
> > selections so that dpkg knows what it can do. This is how the “venerable”
> > dselect has worked all this time w/o ever requiring any kind of --force
> > option.
> > 
> > The rationale is that dpkg does not really like to remove packages if not
> > asked explicitly, and in a case like this, just removing the interface
> > providing package might not be enough, and other packages might suddenly
> > have unsatisfiable dependencies, and dpkg should not start removing stuff
> > until the situation is ok. That's why either the user or the frontend
> > should exactly specify what it can do.

Great, that sounds exactly what Cupt would want to do.

> > Please see the test case on CPR interfaces in the dpkg test suite, as
> > an example usage:
> > 
> >   <http://anonscm.debian.org/gitweb/?p=dpkg/pkg-tests.git;a=tree;f=t-conflict-provide-replace-interface;hb=HEAD>

That's a good start, but where do I find latest and greatest
documentation of dpkg transactions so I can find what can Cupt rely on?
If I'm not mistaken, the man page dpkg(1) has no mention of
transactions.

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++ GNU/Linux userspace developer, Debian Developer



More information about the Cupt-devel mailing list