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

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: