An attempt at improving cross-distribution software deployment: The Psys Library

Denis Washington dwashington at gmx.net
Thu Jun 24 08:10:06 PDT 2010


On 24.06.2010 16:58, seth vidal wrote:
> On Thu, 2010-06-24 at 16:35 +0200, Michal Marek wrote:
>
>    
>>> If removing the package just involves removing the package's files (a
>>> common case for a lot of end-user applications), then "rpm -e" will work
>>> flawlessly (the installer informs the package manager about all
>>> installed files with libpsys). The interface does currently not allow
>>> installers to specify uninstall scripts, though this feature could be
>>> trivially added if needed.
>>>        
>> I consider this a bit dangerous, if the "official" uninstaller performs
>> other tasks than deleting files, these should be performed by rpm -e as
>> well.
>>
>>      
>
> Agreed. Sysadmins like to have everything in the packaging system for a
> number of reasons:
>
> 1. inventory
> 2. monitoring for updates
> 3. one-stop-shop for all info about what is on the system
> 4. ease of removal
> 5. ease of reinstallation/duplication.
>
> My thoughts on psys are something to this effect:
>
> 1. it should definitely add any uninstaller scripts to the %postun of
> the package system
>    

Agreed. This can be easily added as I have already stated.

> 2. it should potentially add an option to generate a package in the
> format of the packaging system from the files specified to it - that
> would aid in helping sysadmins deploy the isv software on more systems
> (number 5 above).
>
> so think of it something like:
>
> psys --install-from-files=<fileslist>  --name=myisv --version=1.1.1
> --release=1 --generate-package ... ... ..
>
> which puts a pkg entry into the packaging systems' db (rpmdb or deb
> packages list) and generates a package file (.rpm or .deb).
>    

Note that psys is a library, not a program (I should probably refer to 
it as libpsys to make things clear). The package generation would be 
quite doable, however, either by a wrapper program which catches the 
psys_register() calls of an installer and generates the package from the 
provided metadata, or automatically by the distribution's libpsys 
backend (which could put the generated package archive into its 
packaging system's cache, for instance, like /var/cache/apt/archives for 
Debian; this would have the added benefit that the package could be 
easily reinstalled with package management tools such as Synaptic).

Regards,
Denis


More information about the Distributions mailing list