// get installed packages using rpm
cmd = String.format("%s;%s", getResetDbCmd(), getInstalledPkgListCmd());
command = getChrootedCommand(path, cmd);
- result = CommandLauncher.executeSudoOutput(command);
- splitStr = result.split("\n");
- for (String s : splitStr) {
- s = s.replaceAll(" ", "").trim();
+ result = CommandLauncher.executeSudoOutput(command);
+ int firstIndex = result.indexOf("<pkg>");
+ int lastIndex = result.lastIndexOf("</pkg>");
+ result = result.substring(firstIndex, lastIndex);
+ splitStr = result.split("</pkg>");
+ for (String s : splitStr) {
+ s = s.replaceAll(" ", "").replaceAll("<pkg>", "");
String[] part = s.split(",");
if (part.length == 3) {
String name = part[0];
// get list using zypper
String command = String.format("%s;%s;%s", getProxyCmd(),
getResetDbCmd(), getRemotePkgListCmd());
- //rec.cleanLog();
+ rec.cleanLog();
executeDeviceShellCommand(device, command, rec);
+
for (String s : rec.getLog()) {
s = s.replaceAll(" ", "");
String[] part = s.split("\\|");
// get installed packages using rpm
command = String.format("%s;%s", getResetDbCmd(),
getInstalledPkgListCmdDevice());
- //rec.cleanLog();
+ rec.cleanLog();
executeDeviceShellCommand(device, command, rec);
- for (String s : rec.getLog()) {
- s = s.replaceAll(" ", "").trim();
+ String result = rec.getLog()[0];
+ int firstIndex = result.indexOf("<pkg>");
+ int lastIndex = result.lastIndexOf("</pkg>");
+ result = result.substring(firstIndex, lastIndex);
+ String[] splitStr = result.split("</pkg>");
+
+ for (String s : splitStr) {
+ s = s.replaceAll(" ", "").replaceAll("<pkg>", "");
String[] part = s.split(",");
if (part.length == 3) {
String name = part[0];
String arch = part[2];
Package pkg = packageHash.get(name);
if (pkg == null) {
- packageHash.put(name, new Package(name, version, "",
- arch));
+ packageHash.put(name, new Package(name, version, "", arch));
} else {
pkg.setInstalledVersion(version);
}
Command.List.Repo = zypper lr -u
Command.Reset.Repo = rm -rf /etc/zypp/repos.d/*
Command.List.Remote.Pkg = zypper --non-interactive pa
-Command.List.Installed.Pkg = rpm -qa --qf \\\"%{NAME},%{VERSION}-%{RELEASE},%{ARCH}\\n\\\"
-Command.List.Installed.Pkg.Device = rpm -qa --qf \"%{NAME},%{VERSION}-%{RELEASE},%{ARCH}\\n\"
+Command.List.Installed.Pkg = rpm -qa --qf \\\\<pkg\\\\>%{NAME},%{VERSION}-%{RELEASE},%{ARCH}\\\\<\\\\/pkg\\\\>
+Command.List.Installed.Pkg.Device = rpm -qa --qf \\<pkg\\>%{NAME},%{VERSION}-%{RELEASE},%{ARCH}\\<\\/pkg\\>
Command.Show.Pkg = rpm -qa %s
Command.Show.Info.Pkg = rpm -qi %s
Command.Info.Pkg.File = rpm -qp --qf "%%{%s}\n" %s