Bug#207400: An RPM port of APT
(copying 207400@bugs.debian.org, which will track the progress of merging
RPM package support)
On Tue, Aug 26, 2003 at 05:06:46PM -0300, Gustavo Niemeyer wrote:
> > I don't need every change in small chunks, but it would help a great
> > deal if you could assist me in separating the RPM support from the other
> > enhancements (such as lua scripting, SWIG, etc.). I've pulled down the
> > complete diff, but there are a large number of unrelated changes and it
> > this makes it difficult to follow.
>
> It'll be a pleasure to help you in that task. Can you please explain
> better what code you're classifying as "RPM support" inside the apt-pkg
> directory? Code inside this directory should be completely unrelated to
> RPM itself. This code is in apt-pkg/rpm/
There are a number of changes in apt-pkg/ itself (not apt-pkg/rpm) which
certainly seem to be related to RPM support.
For example, DepCache::CheckDep seems to be mostly replaced, and I presume
that the two versions are not interchangeable. There is a comment about RPM
needing to check the dependency type in order to determine if it is
satisfied. Also, pkgCache::FindPkg is changed to be case-sensitive. These
are the kinds of things that I would like to merge in a cleaner way, but
in some cases the intent is not clear to me.
For FindPkg, it seems logical to add a method to the pkgSystem or
pkgVersioningSystem to perform package name comparison in a system-dependent
way.
> Yes. I've looked at this before trying with SWIG. It was quite limited
> at the time I've looked, perhaps this has changed?
It is still rather limited, but it provides a somewhat more natural Python
API rather than directly translating the C++ API. If there are things
missing that you need, I think I would rather add them to python-apt than
use swig.
I actually tried the same thing back in 2001, and that seemed to be the
opinion then:
http://lists.debian.org/deity/2001/deity-200108/msg00030.html
> > I'd like to start with the rpm pkgsystem, along with whatever supporting
> > code changes it needs in order to not require any #ifdefs in order to
> > work. Then we can tackle the rest.
>
> I think you should go in the oposide direction. Port every interesting
> feature from the main trunk, and the rpm support will already be there.
> As far as I know, there's nothing in the current trunk of apt-rpm which
> couldn't be used as an improvement in the upstream apt.
I do not think this is feasible for several reasons. First, there seem to
be places where deb support has been broken in common code. These cases
need to be resolved in a way that allows both rpm and deb to work correctly.
Also, you have implemented a lot of changes, and I am not familiar with your
code, so I would be introducing a lot of instability into Debian's apt,
which I do not think is wise. I would rather merge a piece at a time and
get everything working well for both of us.
> > Colin Walters and Isaac Jones have implemented repository authentication
> > (http://monk.debian.net/apt-secure/), which it seems you have as well.
> > I'd like to merge a unified system for this.
>
> This would be nice. Are you able to explain how different it is from our
> system, and what features you miss? I'd like to be part of the merging
> process, as we have a good deal of real world experience on this specific
> area.
I have not done a direct comparison of the two; the URL I gave above
provides a high-level description of how apt-secure works.
http://bugs.debian.org/203741 contains discussion on the progress of merging
this work.
--
- mdz
Reply to: