[Installit-dev] "package manager " becomes "InstallIt"

Benedikt Meurer benedikt.meurer at unix-ag.uni-siegen.de
Wed Aug 24 14:40:51 CEST 2005


Jannis Pohlmann wrote:
>>Exactly. So to the user it should not matter whether a binary package is 
>>available or not (well, except that building source requires -devel 
>>packages, but that's another story).
>>
>>If you install from source, after the "make install" step is done, the 
>>package backend will be asked to register the installed package with the 
>>package management system.
>>
>>Then, if the user selects uninstall, InstallIt will ask the package 
>>backend to uninstall the package from the system (e.g. using 
>>pkg_deinstall, pkg_delete, dpkg -P, rpm -e, ...).
>>
>>It looks like a lot of work, but it's really trivial for most of the 
>>systems (e.g. on Debian systems, you basicly add your files for 
>>/var/lib/dpkg/info/ and a note to /var/lib/dpkg/status and you are done, 
>>etc.). I can write the backends for the 4 systems mentioned above. The 
>>important thing - as mentioned already - is to define a good API for the 
>>package backends, which covers everything we need to be platform 
>>independent.
> 
> Okay, would be great if you could develop this API (if you have the time
> to do it) and some of the backends. You seem to have higher knowledge
> regarding this topic than I or Johannes.

Sure. I'll hopefully have more spare time next month.

>>There are several things that will need to be done for binary and source 
>>packages, and for source-only installation, which will need to be addressed:
>>
>>1) When installing new MIME types, you'll need to call 
>>update-mime-database on the mime directory after installation and after 
>>removal of the package. There are several ways to address this problem, 
>>and each has disadvantages.
>>
>>2) Same for the .desktop files, where you'll need to call 
>>update-desktop-database.
>>
>>3) For icons, you'll need to call gtk-update-icon-cache on the themes to 
>>which new icons where installed to (hicolor in most cases), and same on 
>>removal.
>>
>>These and other points make me think, that it might be a good idea to 
>>turn the source-only variant into a "pseudo package management system", 
>>which will also implement the above API. So, from the upper layers (i.e. 
>>the GUI), you use solely the backend API to "communicate with the 
>>underlying system".
> 
> Sounds like a good way for me.

It'd be good if you could sum up the important points from this thread 
on the Wiki, as mailinglist threads tend to grow too fast to keep track 
of everything. ;-)

> - Jannis

Benedikt



More information about the Installit-dev mailing list