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

Re: Policy changes which completely break apt-cross

On Tue, 29 Jun 2010 16:45:46 +0200
Simon Richter <sjr@debian.org> wrote:

(no need to CC me, please)

> > No. The definition of "useful files" is only within the remit of
> > dpkg-cross and dpkg-cross can (and does) change the meaning of the
> > term without regard to apt-cross.
> The decision is made on the system that also runs dpkg-cross though --
> so some sort of "query mode" where apt-cross asks dpkg-cross whether
> it would find any of the files in a given list "useful" could work
> (i.e. when looking at a dependency, it will extract the file list for
> that package from the Contents file, query dpkg-cross, and add the
> package to the install or the exclude set.

Not everything can be identified just from the Contents file and I'm
not aware of an existing parser for Contents data suitable for
inclusion into apt-cross. Not all mirrors even provide Contents data -
then there are all the problems with the diffs. 

Can you imagine how adding 17Mb of compressed text into the dependency
calculations will improve things? apt-cross is slow enough as it is.

Besides, that's a whole lot of work on dpkg-cross which has nothing to
do with the main purpose of dpkg-cross or the codebase which will
eventually get merged into dpkg.

i.e. a Contents parser does not get us closer to the main goal of
dealing with cross dependencies properly.

> > > This is what I'm using to
> > > generate the packages in "cross-repo", and that has been mostly
> > > successful (it even handles the "flex" package correctly).
> > Mostly successful is what we have currently with apt-cross, so that
> > is no improvement.
> Right, but this is about avoiding a regression.

This isn't a regression, apt-cross has had severe issues for a long
time - it is a wrapper hacked around a series of hacks, as is
dpkg-cross. It was only a matter of time before this kind of problem
arose. If you haven't been affected by the bugs in apt-cross so far,
you're either lucky or only using stable. Working around one bug with a
another huge hack only to leave all the other bugs untouched is not
avoiding a regression, it's avoiding the point.

The problem is the lack of a Policy compliant alternative, not
selecting one potential problem with the current broken script to the
exclusion of the known problems.

apt-cross has been mostly unusable for Squeeze and Sid since the Lenny
release. apt-cross is OK where the package lists don't change often, it
has always had problems with unstable and has never been able to cope
properly with upgrading -cross packages over a system which already has
a variety of other -cross packages.

Whilst things continue to work, that is fine. Maybe people could start
working on alternatives before this becomes a persistent issue, not
wasting time on another huge hack.

> > apt-cross will continue to be mostly successful in
> > Squeeze and Sid for some time to come, but for those dependency
> > chains where it fails, the failure cannot be fixed.
> I'm suggesting how it could be fixed at the additional expense of
> downloading Contents files (or speculatively downloading packages).

... which are huge, yet such a parser won't fix the pre-existing
problems in apt-cross for Squeeze and Sid. It will do nothing to help
users upgrade an existing Sid system with some -cross packages already

My recommendation for a solution is to teach pbuilder how to resolve
cross dependencies and stop installing -cross packages outside a
chroot. We tried it, it is/was painful - let's learn the lesson, not
repeat previous mistakes.

> > This is about resolving dependencies, especially between suites. The
> > cross-repo stuff is single suite.
> If a dependency specification accepts packages from multiple suites,
> then it is allowed to pick any of them; if one is empty
> post-conversion and the other is not, then that is an error in the
> package's dependency specification, or in the filter used to select
> files, neither of which is apt-cross's responsibility.

apt-cross doesn't "pick the best one" currently - we need a replacement
that solves all the problems, not yet another hack to work around the
current breakage.


Neil Williams

Attachment: pgpc6wiHx_inC.pgp
Description: PGP signature

Reply to: