How important is comps.xml to us these days? Which packages should be in comps.xml and which not?
Kevin Kofler
kevin.kofler at chello.at
Tue Sep 23 01:44:33 UTC 2008
Jesse Keating <jkeating <at> redhat.com> writes:
> I won't argue that it could use improvement. I will however argue that
> the way to improve it is to have dialog with those using it and
> producing it, rather than deciding off project somewhere to just ignore
> it or apply filtering/modification to it without consulting the project
> at all.
Indeed. PackageKit should be fixed to use comps groups unmunged. Unfortunately,
PackageKit's design is fundamentally broken and thus fixing this needs API
changes. See this enum:
typedef enum {
PK_GROUP_ENUM_ACCESSIBILITY,
PK_GROUP_ENUM_ACCESSORIES,
PK_GROUP_ENUM_ADMIN_TOOLS,
PK_GROUP_ENUM_COMMUNICATION,
PK_GROUP_ENUM_DESKTOP_GNOME,
PK_GROUP_ENUM_DESKTOP_KDE,
PK_GROUP_ENUM_DESKTOP_OTHER,
PK_GROUP_ENUM_DESKTOP_XFCE,
PK_GROUP_ENUM_EDUCATION,
PK_GROUP_ENUM_FONTS,
PK_GROUP_ENUM_GAMES,
PK_GROUP_ENUM_GRAPHICS,
PK_GROUP_ENUM_INTERNET,
PK_GROUP_ENUM_LEGACY,
PK_GROUP_ENUM_LOCALIZATION,
PK_GROUP_ENUM_MAPS,
PK_GROUP_ENUM_MULTIMEDIA,
PK_GROUP_ENUM_NETWORK,
PK_GROUP_ENUM_OFFICE,
PK_GROUP_ENUM_OTHER,
PK_GROUP_ENUM_POWER_MANAGEMENT,
PK_GROUP_ENUM_PROGRAMMING,
PK_GROUP_ENUM_PUBLISHING,
PK_GROUP_ENUM_REPOS,
PK_GROUP_ENUM_SECURITY,
PK_GROUP_ENUM_SERVERS,
PK_GROUP_ENUM_SYSTEM,
PK_GROUP_ENUM_VIRTUALIZATION,
PK_GROUP_ENUM_SCIENCE,
PK_GROUP_ENUM_DOCUMENTATION,
PK_GROUP_ENUM_ELECTRONICS,
PK_GROUP_ENUM_COLLECTIONS,
PK_GROUP_ENUM_UNKNOWN
} PkGroupEnum;
This enum is all the way down in libpackagekit and the backends have no control
over its contents. This is exactly how things should NOT be done! The list of
groups should be determined by the backend (entirely, not as a bitfield of
the "which of the groups in the enum do we support" type). It should be the
backend's task to return a string and an optional icon (with a sane default,
like that "metapackage" icon) for each of the groups which are actually
present, they should not have to force their groups into a set of hardcoded
integers (and throw away everything the enum doesn't cover). The current system
is overly simplistic, inflexible and just plain dumb.
Kevin Kofler
More information about the fedora-devel-list
mailing list