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

Re: Why 2 inconsistent package managers frontents?



On Mon, 19 Jun 2000, Mircea Luca wrote:

>  OK,so I get it.Basically apt-get doesn't use the available file in
> /var/lib/dpkg .That means that with pretty much every new user and
> some old ones like myself who'll use only apt-get for installs
> there is a fairly big possibillity of packages not beeing on-sync.

That is *so* wrong. 

>  I'll reopen my bug-report then against tasksel but file it against
> apt-get since it's obvious for me that apt-get upgrade should deal with
> all available packages that dpkg and dselect knows about.

Wrong wrong wrong wrong :P

dselect/dpkg don't actually know about 'available packages'. The available
file was created as a way to allow the dselect methods to communicate a
list of available package up into the dselect program. dpkg provided some
infrastructure to make this simple for the methods-at-the-time.

APT uses it for exactly this same thing, communicating available packages
to dselect.

Internally APT keeps a much more complete database of available packages
that dpkg/dselect cannot handle (multiple versions, multiple URLs, version
pinning, etc). As the APT GUI's evolve it is going to become increasingly
difficult to maintain complete compatibility with old tools like dselect.

The problem is that other, non-dselect, programs have been written that
expect the available file to have something useful in it, but they don't
actually provide any way to update it. They expect that dselect has
already been run to fill in that file! 

APT outside of dselect has never touched any dpkg things, you can quite
happily use APT and dselect with some non-APT method and things will
magically work fine. Nowadays nobody actually does that, they just use APT
for everything.

Now, when you combine these new programs and APT outside dselect you get a
problem, the available file doesn't exist in any way they can understand
so they are left with no way to get package information.

The solution is not to have APT update the available file, but to teach
these other programs to speak to APT for the available information, with a
fall back to the available-file-hack if APT is not being used.

Ideally there would be nice perl/python bindings for all the necessary APT
functions, but there isn't really any good ones yet, and nobody has shown
much interest in making them.

Jason




Reply to: