Efforts/Package Restructuring/Backends/Debian Package Manager/APT
DPKG / APT, similar to RPM / YUM or RPM / YaST, delegate responsibilities for managing already installed packages respectively for retrieving updates as well as managing a package pool (the repository) with packages of different sources.
To my knowledge there is no command line tool around, to modify the APT repository list (apt/sources.list) except apt-cdrom, which is used to add and register CDs only. Fortunately there is this "libapt-pkg" library, providing programmatic access to apt and hopefully supporting addition and removal of repositories.
Having Repository Support for APT would allow us, to leverage APT to achieve download installation as well as maintenance and would ease dependency handling, as this is already covered.
To query for the installed packages of a particular product (e.g. OOo):
~> dpkg -l "openoffice.org-*" | grep "^in" in openoffice.org-core01 <none> (no description available) in openoffice.org-core02 <none> (no description available) in openoffice.org-core03 <none> (no description available) in openoffice.org-core03u <none> (no description available) in openoffice.org-core04 <none> (no description available) in openoffice.org-core04u <none> (no description available) ...
To query for all available packages of a particular product (e.g. OOo):
~> apt-cache dumpavail | grep -i "^package.*openoffice" Package: openoffice.org-filter-so52 Package: openoffice.org-gtk-gnome Package: openoffice.org-help-en Package: openoffice.org-hyphenation-hr ...
To find the files belonging to a particular package, including the Java Installer .xpd files:
~> dpkg -L openoffice.org-writer /. /usr /usr/lib /usr/lib/openoffice /usr/lib/openoffice/program /usr/lib/openoffice/program/libwpft680lx.so /usr/lib/openoffice/program/liblwpft680lx.so /usr/lib/openoffice/program/libmsworks680lx.so /usr/lib/openoffice/program/libswui680lx.so ...
What we don't have yet is the .xpd information for not yet installed (downloaded) features. As a workaround, we could put the xpd description into a packages description, this would be enough information to start the Java Installer (the Product View) for any product.