Please add your comments, and don't delete the comments of others. I'll sign this section to reflect the last time the main page was changed by me.
Jeff Licquia 12:38, 27 February 2008 (PST)
Robert Schweikert -- 02/28/08
compare_dependency()
While we cannot prevent people from shooting themselves in the foot or hacking those walking extensions off alltogether I am wondering if we can come up with a way to narrow the scope of this API. As described in the proposal we do not want people to look for every possible package under the sun. After all the idea here is that we are dealing with an LSB certified client that only needs to check for the LSB version. Further we need to be able to check for vendor packages where the vendor is not the distribution provider. Thus, a way to restrict the API to the "ligitemate" uses would probably be a good idea.
register_package()
I would prefer manifest_t to be a FILE* pointing to an XML file, something I discussed with Seth briefly in Berlin and at last years LF collaboration summit. We'll define the schema using xsd or dtd format and publish it. ISVs can then generate the manifest file automatically.
Note here that we probably want to find a name other than manifest file to avoid creating confusion for people who think of the relatively recently introduced manifest files on windoze. The windoze manifest files are an attempt to avoid dll hell.
The API will need to validate the XML install manifest to be valid against the schema. That means we need some kind of XML validation engine to be part of the LSB.
unregister_package()
I think this should take a second argument to allow the client to specify whether or not the files should be removed.
bool unregister_package(const char *package_name, bool remove_files)
oiaohm(Peter Dolding) 19/5/08 Few things missing. Registration of what package is.
bool register_package(const char *package_name, const char * description, const char *version, manifest_t manifest)
Next thing is update detection. Out of date packages are always a security nightmare.
bool register_update_detection(const char * package_name, const char * updateprog)
Simple program that can be run as a normal user to find out if a package needs updating.
Of course this might get expanded with time with way to update a out of date package.