Outro dia precisei instalar um .deb no maemo através de uma aplicação. Aparentemente podemos instalar usando apt ou dpkg, mas pra isso a aplicação deveria ter privilégios de super usuário, e isso implicaria em uma quebra de segurança. Niguém gostaria de uma aplicação que ficasse instalando pacotes sem autorização não é mesmo? Após debater o tema com uns amigos, a melhor saída foi delegar a instalação do pacote para o Application Manager do Maemo. E com mais um pouco de pesquisa descobri o seguinte comando:

$ dbus-send –print-reply –dest=com.nokia.hildon_application_manager /com/nokia/hildon_application_manager com.nokia.hildon_application_manager.mime_open string:”/media/mmc2/pacote.deb”

method return sender=:1.432 -> dest=:1.431

Esse comando ativa um pop-up do Application Manager pedindo ao usuário a confirmação para instalar o pacote passado pela URI. O Hildon Application Manager é um GUI front-end para o apt e dpkg do maemo.

Quando a hildon_mime_open_* API é chamada passando-se uma URI o GnomeVFS é usado pra pegar o MIME type. Aí uma mensagem Dbus é enviada pra ativar o serviço especificado pelo valor do “X-Osso-Service” para achar o arquivo desktop da aplicação, e a URI é passada pra ser aberta.

Para instalar mais de um .deb pode-se passar um arquivo . Install.

refs:

http://hildon-app-mgr.garage.maemo.org/index.html

https://stage.maemo.org/svn/maemo/projects/haf/trunk/libhildonmime/

Anúncios

Hello world!

07/04/2009

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!