[packagekit] Installing PackageKit catalogs

David D Lowe daviddlowe.flimm at gmail.com
Tue Aug 17 07:16:30 PDT 2010


On 16/08/10 18:47, Daniel Nicoletti wrote:
> Yes, catalogs are a file that you put on your website or ship with your app
> that does the installing job for you.
> It will contain that package names matching each distro which does not
> make sense to somehow be used to check if packages are installed
>
>    
To me, it makes perfect sense!
I'm designing a theme package format that would be able to specify 
dependencies on programs or libraries (GTK2 engines or the like). 
Because programs and libraries are distributed in different ways in 
different distros, I would need a way to specify different package names 
for different distros. Catalogs do this.

When installing a theme, I don't want to bother the user to install a 
dependency if that dependency is already installed. For example, I don't 
want the user to install Aurora, the GTK2 engine, over and over again 
every time he/she installs a GTK theme that relies on Aurora.

Something like this would be very useful in this case:
gpk-install-catalog --ignore-already-installed file.catalog

Obviously, having similar functionality in the DBus API would be handy 
as well.
>
> Yes the FAQ is not so good about explaining all the methods (you can help
> writting some :D )
>
>    
I think I will, but it will have to wait until September, sadly.
>> For some reason though, passing never to InstallCatalogs still  leaves one
>> dialog for the user to respond to, whether or not the package has  been
>> installed already.
>>      

I'm filing this as a bug:
https://bugs.freedesktop.org/show_bug.cgi?id=29612

> hmm now I understand your issue. As I don't know exactly your app I think you
> should not do this kind of thing.
>
> For example a burner app (K3B) starts and checks to see if cdrecord is
> installed,
> but this check if much faster and more reliable if done in the shell because
> the user might have installed a compiled version which the package manager
> knows nothing.
> If the command is not found call install catalog which will try to install all
> missing
> packages.
>
> does it sound better? (Also it might be slow to check this every time your app
> loads)
>
>    
I'm not worried about performance much, as installing themes is not a 
regular occurrence. GTK2 engines, for example, don't install executable 
files in the system path, so I can't use your suggested method to check 
whether it is already installed. I could check to see if a certain file 
has been installed, but the location of that file might be different 
with each distro, and I would have to distribute another file along with 
the .catalog file to indicate where the program files would be installed 
on each distro. It would be much handier to just use the .catalog file 
instead.

Thanks!
David D Lowe




More information about the PackageKit mailing list