package org.tizen.nativeplatform.pkg.commander.rpm;
+import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Shell;
import org.tizen.common.util.log.UserInteraction;
import org.tizen.common.util.log.UserLogger;
import org.tizen.nativecommon.launch.TizenLaunchMessages;
+import org.tizen.nativeplatform.indexer.DefaultIncludePathImporter;
import org.tizen.nativeplatform.launch.PlatformLaunchMessages;
import org.tizen.nativeplatform.launch.wizards.ShowPackageStatusDialog;
import org.tizen.nativeplatform.pkg.commander.ICommandStatus;
import org.tizen.nativeplatform.types.CmdTargetTypes;
import org.tizen.nativeplatform.types.LaunchTypes;
import org.tizen.nativeplatform.types.PkgInstallTypes;
+import org.tizen.nativeplatform.util.PlatformLaunchUtil;
import org.tizen.nativeplatform.util.PlatformProjectUtil;
+import org.tizen.sdblib.exception.SdbCommandRejectedException;
+import org.tizen.sdblib.exception.TimeoutException;
import org.tizen.sdblib.util.DeviceUtil;
public class RpmPackageLauncher implements IPkgLauncher {
private boolean reinstallOp;
private List<IPackage> packages;
private boolean result = false;
+
+ private final Logger logger = LoggerFactory.getLogger(RpmPackageLauncher.class);
public RpmPackageLauncher(IProject project, PkgCommandTarget target, List<IPackage> packages,
boolean reinstallOp, boolean selectPkgOp) {
IProgressMonitor monitor, boolean useRds) throws InterruptedException {
if (!DeviceUtil.isOnline(target.getDevice())) {
newInterruptedException(TizenLaunchMessages.CANNOT_CONNECT_TO_DEVICE);
- } else if (!target.getDevice().isRoot()) {
+ } else if (!PlatformLaunchUtil.checkDeviceRootOn(target.getDevice())) {
newInterruptedException(PlatformLaunchMessages.DEVICE_IS_NOT_ROOT_ON);
} else {
PkgMgrInitializer initializer = new PkgMgrInitializer(target);
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.tizen.common.TizenPlatformConstants;
import org.tizen.common.connection.ConnectionPlugin;
import org.tizen.common.connection.ui.TizenRemoteFileDialog;
public static final String GDB_PACKAGE = "gdb";
public static final String AUL_PACKAGE = "aul";
+ private static final Logger logger = LoggerFactory.getLogger(PlatformLaunchUtil.class);
+
+ public static boolean checkDeviceRootOn(IDevice device) {
+ if (!device.isRoot()) {
+ try {
+ if (!device.becomeSuperUser(true)) {
+ return false;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.error(PlatformLaunchMessages.DEVICE_IS_NOT_ROOT_ON, e);
+ return false;
+ }
+ }
+ return true;
+ }
+
public static Shell getAvaiableShell() {
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (window == null) {