On 16 May 2003, seth vidal wrote: > > > --force is never used in current apt unless the user specifies that, the > > thing you find by grepping is: > > > > if (Cnf.Exists("RPM::Force")) > > { > > _error->Warning("RPM::Force is obsoleted. Add \"--force\" to > > RPM::Options instead."); > > if (Cnf.FindB("RPM::Force",false)) > > Cnf.Set("RPM::Options::", "--force"); > > } > > > > > > Thanks for the additional info - but why is --force even allowed? it > seems like one of those commands we wish we could de-invent, often > times. Apt (nowadays) allows passing any arbitrary option to rpm through RPM::Install-Options / Erase-Options which is "just in case" I think. Some older versions (0.3.19cnc* where the above code originated from IIRC) requires --force to allow installing an older kernel than one you already had, for example. Historical reasons basically :) > > > > --noorder is basically a performance optimization: apt calculates the > > order itself so there's no point making rpm do that again. --nodeps is > > used when necessary to work around the rpm cli limitation (or rather the > > fact it doesn't use rpmlib for the installation ...) > > I find when things that are !rpm attempt to think like rpm you end up > with two things not thinking the same way. This was a problem that yup > (the predecessor to yum) suffered from and I know apt has run into this > problem in the not-so-distant past wrt to Epoch: 0 handling. > > > Why doesn't apt you rpmlib for the installation? That is, and always has been, completely beyond my comprehension. Alfredo Kojima (the author of the original apt-rpm port) once mentioned something about being less vulnerable to rpmlib changes but since it's using rpmlib *anyway* I never bought that explanation. I'd love to see apt using rpmlib but I'm afraid that's a bit beyond my C++ capabilities :( The current way works relatively well (considering the circumstances) but you just need to look at the way Synaptic does rpm installation progress bar (and I've had to recode it in python) to start feeling really ill, when the same could be done trivially using rpmlib capabilities... - Panu -