[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