> hal-gnome-0.5.9.1-alt2 Requires python-module-pygtk-libglade > +hal-gnome-0.5.9.1-alt2 Requires python2.4(Const) > +hal-gnome-0.5.9.1-alt2 Requires python2.4(DeviceManager) > +hal-gnome-0.5.9.1-alt2 Requires python2.4(LibGladeApplication) > hal-gnome-0.5.9.1-alt2 Requires python2.4(dbus) > +hal-gnome-0.5.9.1-alt2 Requires python2.4(gnome) > hal-gnome-0.5.9.1-alt2 Requires python2.4(gobject) > hal-gnome-0.5.9.1-alt2 Requires python2.4(gtk) > +hal-gnome-0.5.9.1-alt2 Requires python2.4(pygtk) > hal-gnome-0.5.9.1-alt2 Requires(rpmlib) rpmlib(CompressedFileNames) <= 3.0.4-1 Короче я сделал хак к rpm-build-python, и теперь у hal-gnome своих собственных анметов нету, а получается вроде как раз как надо. $ compare_packages -i -a -R repo/athlon/RPMS.hasher/hal-gnome-0.5.9.1-alt3.athlon.rpm --- /tmp/.private/at/compare_packages.ZWPhz22467/1 2007-09-20 00:04:55 +0400 +++ /tmp/.private/at/compare_packages.ZWPhz22467/2 2007-09-20 00:04:54 +0400 @@ -1,11 +1,14 @@ coreutils hal = 0.5.9.1-alt3 +python-base python-module-pygnome python-module-pygnome-bonobo python-module-pygtk-libglade python2.4(dbus) +python2.4(gnome) python2.4(gobject) python2.4(gtk) +python2.4(pygtk) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 $ Правда, я не знаю, насколько хороший этот хак, и какие у него есть потенциальные drawback'и. Может у нас водятся специалисты которые что-нибудь понимают в питоне не меньше меня? commit df59da5698468ab337d4daa8f5aab2c1441b3088 Author: Alexey Tourbin Date: Wed Sep 19 23:53:06 2007 +0400 python.req.py: first attempt to implement stronger self-requires elimination diff --git a/rpm-build-python/python.req.py b/rpm-build-python/python.req.py index dabb1d5..797c367 100755 --- a/rpm-build-python/python.req.py +++ b/rpm-build-python/python.req.py @@ -126,6 +126,9 @@ else : # print d # for req in reqs : # print "\t",req + + all_prov_items = [] + map(lambda items: all_prov_items.extend(items), prov.values()) for src in files : ext = os.path.splitext(os.path.basename(src))[1] @@ -139,7 +142,8 @@ else : print >> sys.stderr, 'python.req: error while parsing %s' % src raise for item in match(lis) : - if not item in prov[os.path.dirname(src)] : + #if not item in prov[os.path.dirname(src)] : + if not item in all_prov_items : if not ignore(item) : print "%s(%s)" % (prefix,item)