package com.buglabs.app.bugdash2.controller.software;
import com.buglabs.app.bugdash2.Package;
public class PackageUpgradeControllerPBUG extends PackageUpgradeController {
public CommandItem[] getCommands() {
/*
* This process is taken from jconnelly's BUGUpgrade
*
* 1. remove service-tracker
* "ipkg --force-depends remove service-tracker"
*
* 2. ipkg update
* "ipkg update"
*
* 3. install service-tracker
* "ipkg --force-depends install service-tracker"
*
* 4. do actual upgrade
* "ipkg --force-overwrite upgrade -t /home/root/"
*
* 5. install task-bug
* "ipkg --force-overwrite install task-bug -t /home/root/"
*
* 6. echo \"-istart com.buglabs.osgi.sewing.jar\" >> /usr/share/java/init.xargs
* This is a workaround until sewing becomes part of BUG rootfs
*
* 7. Deleting storage directory and reboot happens after a user gives confirmation
*
* UPDATE:
* 2010-01-07 AK Added fbprogress to be removed; removed adding sewing to init.xargs
*
*/
String cmd = Package.getIpkgCommand();
CommandItem[] commands = {
new CommandItem(cmd + " --force-depends remove fbprogress service-tracker",
"Clean up before starting", 0),
new CommandItem(cmd + " update",
"Update list of available packages", 20),
new CommandItem(cmd + " --force-depends install service-tracker fbprogress",
"Install service tracker", 30),
new CommandItem("/bin/sh -c yes | ipkg --force-overwrite upgrade -t /home/root/",
"Upgrade all installed packages to latest version", 50),
new CommandItem("/bin/sh -c yes | ipkg --force-overwrite install task-bug -t /home/root/",
"Install task-bug", 90),
new CommandItem("echo \"upgrade done\"", "Done", 100)
};
return commands;
}
}