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

Re: FTP support



Jason Gunthorpe wrote:
> On Mon, 15 Mar 1999, Mitch Blevins wrote:
> > That would not help.  The problem was with people who did _not_ upgrade
> > their libapt-pkg-dev package, which still had the old link.  Nothing I
> > can do to the new (> 0.3.1) libapt-pkg-dev will help them.
> > Adding the Depends: for the libapt-pkg${LIBAPT_MAJOR} to libapt-pkg-dev
> > will work for everybody upgrading from 0.3.2 -> 0.x.x (where x.x > 3.2),
> > but we would still need a Conflicts for apt <= 0.3.1.
> > Still think Conflicts: is not the solution?
> 
> Well no, this only happens because there exists an old libapt-pkg-dev that
> does not use this scheme, we can advoid any future pain by having a 
> 
> Depends: libapt-pkg2.2 
> 
> On libapt-pkg-dev and a Provides: libapt-pkg2.2 on apt, APT will then
> prevent the two from getting out of sync. That is good enough.

It is not good enough if you don't want the dangling symlink for
users who have not upgraded their libapt-pkg-dev from 0.3.1 or earlier.
You can do this with no manual tweaking using (in libapt-pkg-dev)

Depends: libapt-pkg${libapt-pkg:major}

and having in apt (for versions 0.3.2 and up)

Conflicts: libapt-pkg-dev (<= 0.3.1)

This would be automatically maintained and should work for all future
versions.  Leaving out the Conflicts: ignores the cause of the dangling
symlink (users not upgrading libapt-pkg-dev when upgrading apt)

Example 1:
Joe Schmoe currently has the following installed:
apt_0.3.0, libapt-pkg-dev_0.3.0
He eagerly upgrades to apt_0.3.2 to have access to both the ftp method
and gnome-apt.  Now his libapt-pkg-dev is broken.

Example 2:
Jill Schmoe (Joe's sister) has the following installed:
apt_0.3.1, libapt-pkg-dev_0.3.1
She upgrades to apt_0.3.2, and has no problems because the libapt-pkg-dev_0.3.1
has a symlink still pointing to the 2.2 major version.
However, by the time apt_0.3.9 is released, the major version became 2.3, and
her libapt-pkg-dev is now broken because she never upgraded it.

In both these examples the Provides solution alone is insufficient, but the
Provides/Conflicts combo works fine.


-Mitch


Reply to: