A couple of days ago I finished my thesis with the topic mentioned above.
It describes the currently used package formats and software management systems within the Linux as also the proprietary world of Microsoft respectively Apple plus the possibilities to reduce those systems and tools to a common denominator.
The prototype of this service, which emerged within the scope of the thesis, consists of the following three parts:
- PackageKit, which acts as broker between CIM and the local software management system
- CIM, which provides the standardized data model and communication and a
- Web-UI, which is more or less only a proof of concept
As the Common Information Model (CIM) is a widespread and well used standard (even Microsoft occupies it with its WMI stuff), its models are used for a common data structure as also for the operating system independent communication.
For implementing a usable service, classes (data structures) for Package, Update and Repository was needed.
These classes are based, out of compatibility reasons, on the already existing WMI implementation of Microsoft. Hence, it is possible with one and the same client to list packages (products in Microsoft speech) and Updates of Linux as also Windows computers.
To connect this CIM-classes to the local software management system it was necessary to develop so called CIM-providers.
The implemented providers communicate with PackageKit and not with the available software management systems (like ZYpp in case of openSUSE) itself. This is beneficial as there is no need anymore to develop a provider for every single software management system. As soon as there is a backend for PackageKit of the specific software management system this service is automatically usable.
The prototype of the service is fully usable to list, install and remove packages and patches as also to list, disable and enable repositories for all Linux distributions provided by PackageKit.
So, if you are interested and the thesis is accepted and marked (hopefully good) by my examiners, let me know and you’ll get a copy of it (90 pages, english).