Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
1.5.0
-
None
-
Distributor ID: Ubuntu
Description: Ubuntu 12.04.3 LTS
Release: 12.04
Codename: precise
Description
There are 2 issues here:
1) After application installation, I see lot of temporary icon files that are getting created.
Example: /usr/share/pixmaps/my_app.desktop.tmp.OW6MB.1
/usr/share/pixmaps/hicolor/16x16/apps/my_app.png.tmp.dyaGP.1
2) After uninstallation, the uninstaller deletes all my icon files that were previously installed using "InstallIcons" of the addOperation, but sometimes they are not deleted.
What is the expected behavior? Is the uninstaller expected to clean then up or do I need to keep track of each installed icon and then explicitly delete them using UNDOEXECUTE rm "icon file path"?
If that is the case it would be quite unreasonable to remember each icon file while installation and then explicitly delete them.
The below script may not reproduce the problem at first run as I mentioned it is inconsistent, nevertheless I am pasting it below:
function Component()
{
installer.setDefaultPageVisible(QInstaller.TargetDirectory, false);
installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false);
installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
gui.clickButton(buttons.NextButton);
}
Component.prototype.createOperations = function()
{
// call default implementation to actually install README.txt!
component.createOperations();
//Move nautilus library to /usr/lib/nautilus/extensions-3.0
component.addOperation("Execute", "mv", "@TargetDir@/my_app/usr/lib/nautilus/extensions-3.0/libnautilus-my_app.so",
"/usr/lib/nautilus/extensions-3.0/libnautilus-my_app.so", "UNDOEXECUTE", "rm", "/usr/lib/nautilus/extensions-3.0/libnautilus-my_app.so");
//Create symbolic link for the binary in /usr/bin
component.addOperation("Execute", "ln", "-s", "@TargetDir@/my_app/onecom-my_app", "/usr/bin/onecom-my_app", "UNDOEXECUTE", "rm", "/usr/bin/onecom-my_app");
//Install all the icons in standard locations as defined in freedesktop.org
component.addOperation("InstallIcons", "@TargetDir@/my_app/usr/share/applications");
component.addOperation("InstallIcons", "@TargetDir@/my_app/usr/share/icons");
}