[maemo-developers] Enriching the Application Manager scripting experience

From: Jari Tenhunen jari.tenhunen at iki.fi
Date: Fri Feb 23 19:05:17 EET 2007
On Fri, Feb 23, 2007 at 04:28:37PM +0200, Marius Gedminas wrote:


> >        <dist><automatic/></dist>

This looks a bit strange (=not intuitive).

> Compare this to a hyphotetical .ini-based format like the one used by
> GNOME/Freedesktop .desktop files
>     [install]
>     repo_name = Foobar Catalogue
>     repo_name[de_DE] = Foobar Katalog
>     repo_deb = http://example.com/ mistral main
>     repo_deb_3 = http://example.com/ bora main
>     package = maemofoo

I've never really liked the syntax of these ini-style install files.
Especially the artificially generated structure (with underscores, e.g.
repo_deb_3) looks ugly to me. I know it's too late but why not use

package = maemofoo

name = Foobar Catalogue
dist = mistral
deb = http://example.com/ mistral main

I know that the improvement would be merely cosmetic but actually it's
not that easy to make it radically better because of the limitations of
GKeyFiles and the GLib parser (only one level of hierarchy, group names
must be unique). Of course you could have support for multiple repos by
allowing magic group names (repository-*) or having something like

package = maemoxyzzy
repositories = maemofoo maemobar

name = Foobar ...


but that's a bit clumsy, although cleaner.

>     [install]
>     temporary_file_relative_repo_deb = .repository/mistral mistral
>     temporary_file_relative_repo_deb_3 = .repository/bora bora
>     package = frozen-bubble crazy-parking
>     repo_name = Foobar Games
>     repo_name[de_DE] = Foobar Spiele
>     repo_deb = http://foobar.com/ mistral main
>     repo_deb_3 = http://foobar.com/ bora main

Looks even uglier.

> > The old GKeyFile format used by IT OS 2007 is still supported.  You
> > can embed a X-expression in it as comments like so:
> > 
> >     # <install-instructions>
> >     #  ...
> >     # </install-instructions>
> Ouch.  Comments that are not really comments.  I can't say I like it.


> >     [install]
> >     repo_deb_3=deb http://foobar.com/ bora main
> >     package=maemofoo
> >     
> > If the Hildon Application Manager encounters such a file with an
> > embedded X-expression, it will use that and ignore the rest.  If there
> > is no X-expression, it will transform the GKeyFile according to the
> > following rules.
> Summary: I would prefer a straightforward extension of the current
> .ini-based file format.

My suggestion is that if you're going to change it, do it right this
time. Backwards-compatibility is nice but if you see that GKeyFiles will
cause inevitable problems in the future, drop them now. Do, however,
think a bit about the format so that people don't need to have Lisp
knowledge to write them.


Jari Tenhunen, stardate [-29]7187.98

More information about the maemo-developers mailing list