Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    N9 Uninstall scripts

    Reply
    Page 1 of 2 | 1   2   | Next
    tortoisedoc | # 1 | 2013-05-11, 21:45 | Report

    So, I have made this service app.
    And I have my prerm / postinstall scripts working fine from Qt Creator.

    Butbut!
    When uninstalling the app from the device, it says
    "Application still running, cannot install" (or something similar).

    Now, looking a bit around got me to this :

    http://www.developer.nokia.com/Commu...ips_and_Tricks

    where they say that:

    Originally Posted by
    The system does not close the application running on the background when the user uninstalls the application. If the application needs to handle these situations gracefully a preremove/postremove script needs to be used. <more information later>
    Gotta love the <more information later> part.

    Anyone has solved the issue?

    EDIT : FYI, I followed the instructions found here :
    http://meegoharmattandev.blogspot.fi...ackground.html
    for the prerm / postinstall scripts.

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by tortoisedoc; 2013-05-11 at 21:52.

     
    rainisto | # 2 | 2013-05-11, 22:00 | Report

    Does your daemon run as root or user? Ie have you ensured that your kill command run as root if your daemon runs as root? That can be done with aegis manifest.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    tortoisedoc | # 3 | 2013-05-11, 23:01 | Report

    This is my upstart .conf file command:

    exec /usr/bin/aegis-exec -s -u user /opt/debota/lancia


    as devel-su,
    start/stop apps/debota_daemon

    works flawlessy.

    Also, installing not from QtCreator, but from .deb package via download works (as in, app is started after install thanks to postinst script as expected).

    But upon uninstall, it fails.
    It is as if the prerm script would not be there.

    How to check?

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by tortoisedoc; 2013-05-11 at 23:05.

     
    tortoisedoc | # 4 | 2013-05-13, 04:44 | Report

    *BUMP*
    an update; apparently, the process is killed no problem if assigned to "nobody".

    So problem seems to actually be linked to forcing the daemon into user / users via aegis (as instructed by the above link, same place where i got the postinst / prerm scripts from):

    <credential name="UID::user" />
    <credential name="GID::users" />

    Thought the package daemon runs as root??

    Edit | Forward | Quote | Quick Reply | Thanks

     
    ajalkane | # 5 | 2013-05-13, 17:41 | Report

    Are you sure you didn't have the application UI open (ie. the non-daemon part) when uninstalling?

    That's when I have gotten that message. There's been no problem stopping the daemon part.

    Running as "nobody" is usually not a good idea, at least it caused me problems. But depending on what the daemon is doing, it may be harmless.

    Uninstalling applications runs as root.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    tortoisedoc | # 6 | 2013-05-16, 00:51 | Report

    Ooook!
    So, yes, my daemon is actually an app (!) and yes, it has a window.

    So, daemon is no go.

    How about prestart / Applifed ? It seems the best alternative, but according to harmattan official docs /etc/prestart is *NOT* in the nokia QA path exception list - does this mean that making my app prestartable will invalidate it automagically for nokia store?

    Any help on this?? PLEASE!

    Edit | Forward | Quote | Quick Reply | Thanks

     
    tortoisedoc | # 7 | 2013-05-16, 04:05 | Report

    Nevermind, found my info.
    File is part of system integration, therefore cannot be modified.
    Unfortunately, this request was not even considered by Nokia so it seems the applifed daemon only relies on nokia.conf which is LAME.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    rainisto | # 8 | 2013-05-16, 07:20 | Report

    What problem are you trying to solve by doing prestart? You can just kill the ui part from the script too.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    tortoisedoc | # 9 | 2013-05-16, 08:28 | Report

    Originally Posted by rainisto View Post
    What problem are you trying to solve by doing prestart? You can just kill the ui part from the script too.
    I want my app to start on boot (preferably with the prestarted apps and before the user can interact with the homeview); of course there is upstart, but upstart is started after the -prestart's (which is not really optimal, as it makes my ui not available straight away); so I was keeping it as a (very not wanted) backup solution; and whilst testing it prevently, I encountered the problem during the deinstallation mentioned above.

    Applifed would have been perfect solution, for the starting on boot (but once again meh nokia ), but for the uninstalling maybe things are different.

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by tortoisedoc; 2013-05-16 at 09:16.

     
    ajalkane | # 10 | 2013-05-16, 12:28 | Report

    Originally Posted by tortoisedoc View Post
    I want my app to start on boot (preferably with the prestarted apps and before the user can interact with the homeview); of course there is upstart, but upstart is started after the -prestart's (which is not really optimal, as it makes my ui not available straight away); so I was keeping it as a (very not wanted) backup solution; and whilst testing it prevently, I encountered the problem during the deinstallation mentioned above.

    Applifed would have been perfect solution, for the starting on boot (but once again meh nokia ), but for the uninstalling maybe things are different.
    You could probably do it in open mode or using inception, but then no-dice getting the application to Nokia Store.

    Apart from that, using Upstart is AFAIK the only possibility.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    Page 1 of 2 | 1   2   | Next
vBulletin® Version 3.8.8
Normal Logout