Hello Marius

### Overview

The Application Manager offers some pre-defined 'interaction flows'
that can be controlled with a ".install" file.  Such a .install file
is a text file following the GKeyfile format, as defined by glib.

I like this approach very much. (convention over configuration)


For example, the following file will offer to install the `maemofoo`
package from the Foobar catalogue:

    [install]
    catalogues = foobar
    package = maemofoo

    [foobar]
    name = Foobar Catalogue
    name[en_GB] = Foobar Catalogue
    name[de_DE] = Foobar Katalog
    uri = http://foobar.com/repository
    components = main

I would try to make the file more self describing so that that you
really can create a syntax for it. therefore I would replace the
[foobar] with [catalogue]. does the glib ini file parser allow mutiple
init entries with the same name?

[catalogue]
id = foobar
name = Foobar Catalogue
name[nl_NL] = .....



As explained below, omitting the "dist" key means that the 'current'
distribution will be used.

### Catalogues
### Adding catalogues.

Each catalogue is considered in turn and the user is asked whether to
add it or not.  When it should be added and a catalogue is already
configured in the Application Manager that is equal to the one
considered, the configured catalogue is removed first.  When the user
declines the adding, the next catalogue is considered.

What happens if the .install file wants to replace the uri or name of
a catalogue?
Is this considered a security risk?

    [sdk]
    name = maemo SDK catalogue
    uri = http://repository.maemo.org/
    components = free non-freees

I still think this all looks way to much like debian , nobody in
theire right mind
would create an installer with different components, repositories.
They would also not
let the package management system tell then where to download the deb
, they would just list the direct uri's /.install files for all the
dependent packages.
.

Each catalogue is considered in turn and when it there isn't already a
catalogue configured that is equal to it, the user is informed that it
needs to be added and is asked for confirmation.  Alternatively, when
a catalogue is already present but disabled, the user is informed that
it needs to be enabled and is asked for confirmation.  When the user
confirms, the catalogue is added and processing continues.  When s/he
declines, processing of the .install file stops and the changes to the
configured catalogues that have been made for it are reverted.

I tried to install maemo-mapper for the n770 this week-end, it did not contain
a it2006 repository and the installer just told me the installation "failed".
I think you are right it should be an all or nothing situation. currently
even after those steps are completed. the install still can fail
because some deps are missing. If possible I would present the user
with a list of changes that are going to happen
-add repo bla
-update repo x
-install libsqlite3 from maemo-repo
-install maemo-mapper from contributors-repo
(ok/cancel)

The "packages" key lists the names of packages that can be installed
from the memory card, using the "card_catalogues".

Installation of the packages happens in a temporary environment: in
this environment, the normally configured catalogues are not
available, only the catalogues listed by the "card_catalogues" key are
configured.  All of these catalogues must use "file_uri" instead of
"uri".

Is a package allowed to have both a file_uri and a "web"uri?


The packages are installed in this temporary environment.  The user
gets to select them from a list.  Only packages that are not already
installed or are not uptodate are offered.  When the offered list
would be empty, processing stops with an appropriate note.

would there be some "autorun.bat" file on the media card?
is there a format that just gets executed from the file manager?

### Compatibility with IT OS 2007.

In addition to the format described above, the Hildon Application
Manager also understands the old .install files from IT OS 2007.

why is it Hildon Application Manager and not Maemo Application Manager?

where URI, DIST, and COMPONENTS are parsed out of DEB, as
appropriate.

Are we thinking planing on automatic server side enhancements to the
.install file, if not
when does the deb get parsed?

The main thing really is that I would not allow all these catalogue
information  and translations to end up in the .install files. I will
be a mess in no time. so I would "just"
create a website where developers can register catalogue names /
perform translations.
the manager would download the list once in a while.  The install file
format would be
very simple because it would only list the required repositories,

The catalogue file format would also allow to give more information
about the catalogues.
100% of the irc users thrust the maemo-hackers catelogue.


greetings
_______________________________________________
maemo-developers mailing list
[email protected]
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to