Kind of regression in r693

Free Ekanayaka free at 64studio.com
Wed Sep 24 11:49:40 PDT 2008


Hi,

first of all thanks for the great project :)

I'm importing some of python classes of SmartPM in a project called
PDK [0], a tool used to build and maintain custom versions of
Debian-based distributions.

Basically I'm using Smart to calculate the dependency closure of sets
of packages called "components", which are basically xml files holding
information about deb packages, see an example here:

http://pdk.64studio.com/channels/ubuntu/hardy/ubuntu.com/grub.xml

So far I was using the smart package coming with Debian/etch (version
0.41+svn72) [1], and I was happy with it.

Now after upgrading to Debian/lenny with Smart version 1.0 I've found
that the dependency resolver doesn't work like I would expect. For
example if I try to calculate the dependency closure of this set
of packages:

http://pdk.64studio.com/channels/ubuntu/hardy/ubuntu.com/test.xml

Smart now outputs that one package is missing, namely debconf-english,
but actually the package set is dependency-closed.

After some tests I found out that the "regression" was first
introduced by commit r693, but I'm not enough familiar with the code
to actually say why.

Here is the relevant code of PDK:

http://trac.64studio.com/pdk/browser/pdk/workspace.py#L858

(the run_closure function). The code makes use of a special channel
backend called "pdk-deb", which basically turns a PDK xml component
into a SmartPM channel, the code is here:

http://trac.64studio.com/pdk/browser/smart/channels/pdk_deb.py
http://trac.64studio.com/pdk/browser/smart/channels/pdk_deb_info.py

I hope this information is enough to understand the problem, if needed
I can provide detailed steps about how to replicate the issue.

Thanks,

[0] http://trac.64studio.com/pdk/
[1] http://packages.debian.org/etch/smartpm



More information about the Smart mailing list