--- old/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java 2019-07-24 16:44:00.731937065 +0300 +++ new/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java 2019-07-24 16:44:00.415943304 +0300 @@ -354,12 +354,13 @@ } - private String getArch() { - String arch = System.getProperty("os.arch"); - if ("i386".equals(arch)) + private static String getArch() { + String arch = System.getProperty("os.arch"); // JVM arch + if ("x86".equals(arch)) return "i386"; - else + if ("x86_64".equals(arch)) return "amd64"; + return arch; } private long getInstalledSizeKB(Map params) { --- old/src/jdk.jpackage/share/native/libapplauncher/IniFile.cpp 2019-07-24 16:44:01.479922330 +0300 +++ new/src/jdk.jpackage/share/native/libapplauncher/IniFile.cpp 2019-07-24 16:44:01.139929018 +0300 @@ -189,7 +189,7 @@ bool result = false; if (FMap.ContainsKey(SectionName) == true) { - IniSectionData* section; + IniSectionData* section = NULL; if (FMap.GetValue(SectionName, section) == true && section != NULL) { OrderedMap data = section->GetData(); --- old/src/jdk.jpackage/unix/native/libapplauncher/PosixPlatform.cpp 2019-07-24 16:44:02.183908496 +0300 +++ new/src/jdk.jpackage/unix/native/libapplauncher/PosixPlatform.cpp 2019-07-24 16:44:01.871914619 +0300 @@ -212,10 +212,6 @@ } else if (count == 0) { // break; } else { - if (buffer[count - 1] == EOF) { - buffer[count - 1] = '\0'; - } - std::list output = Helpers::StringToArray(buffer); FOutput.splice(FOutput.end(), output, output.begin(), output.end()); result = true; --- old/test/jdk/tools/jpackage/linux/base/Base.java 2019-07-24 16:44:02.955893367 +0300 +++ new/test/jdk/tools/jpackage/linux/base/Base.java 2019-07-24 16:44:02.611900108 +0300 @@ -22,6 +22,7 @@ */ import java.io.File; +import java.nio.file.Files; import java.util.ArrayList; import java.util.List; @@ -57,11 +58,21 @@ } } - private static void init(String name, String ext) { + static String getRpmArch() throws Exception { + File out = File.createTempFile("rpmbuild", ".out"); + out.deleteOnExit(); + int code = JPackageHelper.execute(out, "rpmbuild", "-E=%{_target_cpu}"); + if (code != 0) { + throw new AssertionError("Error: unable to get rpm arch"); + } + return Files.readAllLines(out.toPath()).get(0); + } + + private static void init(String name, String ext) throws Exception { TEST_NAME = name; EXT = ext; if (EXT.equals("rpm")) { - OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1.x86_64." + EXT; + OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1." + getRpmArch() + "." + EXT; } else { OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT; } --- old/test/jdk/tools/jpackage/linux/base/BundleNameBase.java 2019-07-24 16:44:03.783877199 +0300 +++ new/test/jdk/tools/jpackage/linux/base/BundleNameBase.java 2019-07-24 16:44:03.447883759 +0300 @@ -58,12 +58,12 @@ } } - private static void init(String name, String ext) { + private static void init(String name, String ext) throws Exception { TEST_NAME = name; BUNDLE_NAME = "jpackage-test-bundle-name"; EXT = ext; if (EXT.equals("rpm")) { - OUTPUT = "output" + File.separator + BUNDLE_NAME + "-1.0-1.x86_64." + EXT; + OUTPUT = "output" + File.separator + BUNDLE_NAME + "-1.0-1." + Base.getRpmArch() + "." + EXT; } else { OUTPUT = "output" + File.separator + BUNDLE_NAME + "-1.0." + EXT; } --- old/test/jdk/tools/jpackage/linux/base/FileAssociationsBase.java 2019-07-24 16:44:04.511863025 +0300 +++ new/test/jdk/tools/jpackage/linux/base/FileAssociationsBase.java 2019-07-24 16:44:04.187869327 +0300 @@ -120,12 +120,12 @@ } } - private static void init(String name, String ext) { + private static void init(String name, String ext) throws Exception { TEST_NAME = name; EXT = ext; TEST_EXT = "jptest1"; if (EXT.equals("rpm")) { - OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1.x86_64." + EXT; + OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1." + Base.getRpmArch() + "." + EXT; } else { OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT; } --- old/test/jdk/tools/jpackage/linux/base/InstallDirBase.java 2019-07-24 16:44:05.283848032 +0300 +++ new/test/jdk/tools/jpackage/linux/base/InstallDirBase.java 2019-07-24 16:44:04.939854702 +0300 @@ -63,11 +63,11 @@ } } - private static void init(String name, String ext) { + private static void init(String name, String ext) throws Exception { TEST_NAME = name; EXT = ext; if (EXT.equals("rpm")) { - OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1.x86_64." + EXT; + OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1." + Base.getRpmArch() + "." + EXT; } else { OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT; } --- old/test/jdk/tools/jpackage/linux/base/LicenseBase.java 2019-07-24 16:44:06.083832540 +0300 +++ new/test/jdk/tools/jpackage/linux/base/LicenseBase.java 2019-07-24 16:44:05.743839120 +0300 @@ -58,11 +58,11 @@ } } - private static void init(String name, String ext) { + private static void init(String name, String ext) throws Exception { TEST_NAME = name; EXT = ext; if (EXT.equals("rpm")) { - OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1.x86_64." + EXT; + OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1." + Base.getRpmArch() + "." + EXT; } else { OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT; } --- old/test/jdk/tools/jpackage/linux/base/LicenseTypeBase.java 2019-07-24 16:44:06.803818644 +0300 +++ new/test/jdk/tools/jpackage/linux/base/LicenseTypeBase.java 2019-07-24 16:44:06.483824820 +0300 @@ -79,12 +79,12 @@ } } - private static void init(String name, String ext) { + private static void init(String name, String ext) throws Exception { TEST_NAME = name; EXT = ext; JP_LICENSE_TYPE = "JP_LICENSE_TYPE"; if (EXT.equals("rpm")) { - OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1.x86_64." + EXT; + OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1." + Base.getRpmArch() + "." + EXT; } else { OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT; } --- old/test/jdk/tools/jpackage/linux/base/MaintainerBase.java 2019-07-24 16:44:07.603803248 +0300 +++ new/test/jdk/tools/jpackage/linux/base/MaintainerBase.java 2019-07-24 16:44:07.251810016 +0300 @@ -79,7 +79,7 @@ } } - private static void init(String name, String ext) { + private static void init(String name, String ext) throws Exception { TEST_NAME = name; EMAIL = "jpackage-test@java.com"; EXT = ext; --- old/test/jdk/tools/jpackage/linux/base/PackageDepsBase.java 2019-07-24 16:44:08.359788740 +0300 +++ new/test/jdk/tools/jpackage/linux/base/PackageDepsBase.java 2019-07-24 16:44:08.039794869 +0300 @@ -101,13 +101,13 @@ } } - private static void init(String name, String ext) { + private static void init(String name, String ext) throws Exception { TEST_NAME = name; DEP_NAME = name + "Dep"; EXT = ext; if (EXT.equals("rpm")) { - OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1.x86_64." + EXT; - OUTPUT_DEP = "output" + File.separator + DEP_NAME + "-1.0-1.x86_64." + EXT; + OUTPUT = "output" + File.separator + TEST_NAME + "-1.0-1." + Base.getRpmArch() + "." + EXT; + OUTPUT_DEP = "output" + File.separator + DEP_NAME + "-1.0-1." + Base.getRpmArch() + "." + EXT; } else { OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT; OUTPUT_DEP = "output" + File.separator + DEP_NAME + "-1.0." + EXT; --- old/test/jdk/tools/jpackage/linux/deb/BundleNameTest.java 2019-07-24 16:44:09.123774116 +0300 +++ new/test/jdk/tools/jpackage/linux/deb/BundleNameTest.java 2019-07-24 16:44:08.799780313 +0300 @@ -33,7 +33,7 @@ * @requires (os.family == "linux") * @modules jdk.jpackage * @modules jdk.jpackage/jdk.jpackage.internal - * @run main/othervm -Xmx512m BundleNameTest + * @run main/othervm/timeout=360 -Xmx512m BundleNameTest */ public class BundleNameTest { private static final String TEST_NAME = "BundleNameTest"; --- old/test/jdk/tools/jpackage/linux/deb/FileAssociationsTest.java 2019-07-24 16:44:09.847760303 +0300 +++ new/test/jdk/tools/jpackage/linux/deb/FileAssociationsTest.java 2019-07-24 16:44:09.535766256 +0300 @@ -33,7 +33,7 @@ * @requires (os.family == "linux") * @modules jdk.jpackage * @modules jdk.jpackage/jdk.jpackage.internal - * @run main/othervm -Xmx512m FileAssociationsTest + * @run main/othervm/timeout=360 -Xmx512m FileAssociationsTest */ public class FileAssociationsTest { private static final String TEST_NAME = "FileAssociationsTest"; --- old/test/jdk/tools/jpackage/linux/deb/InstallDirTest.java 2019-07-24 16:44:10.591746152 +0300 +++ new/test/jdk/tools/jpackage/linux/deb/InstallDirTest.java 2019-07-24 16:44:10.243752766 +0300 @@ -33,7 +33,7 @@ * @requires (os.family == "linux") * @modules jdk.jpackage * @modules jdk.jpackage/jdk.jpackage.internal - * @run main/othervm -Xmx512m InstallDirTest + * @run main/othervm/timeout=360 -Xmx512m InstallDirTest */ public class InstallDirTest { private static final String TEST_NAME = "InstallDirTest"; --- old/test/jdk/tools/jpackage/linux/deb/LicenseTest.java 2019-07-24 16:44:11.303732642 +0300 +++ new/test/jdk/tools/jpackage/linux/deb/LicenseTest.java 2019-07-24 16:44:10.983738703 +0300 @@ -33,7 +33,7 @@ * @requires (os.family == "linux") * @modules jdk.jpackage * @modules jdk.jpackage/jdk.jpackage.internal - * @run main/othervm -Xmx512m LicenseTest + * @run main/othervm/timeout=360 -Xmx512m LicenseTest */ public class LicenseTest { private static final String TEST_NAME = "LicenseTest"; --- old/test/jdk/tools/jpackage/linux/deb/MaintainerTest.java 2019-07-24 16:44:12.023719013 +0300 +++ new/test/jdk/tools/jpackage/linux/deb/MaintainerTest.java 2019-07-24 16:44:11.711724918 +0300 @@ -33,7 +33,7 @@ * @requires (os.family == "linux") * @modules jdk.jpackage * @modules jdk.jpackage/jdk.jpackage.internal - * @run main/othervm -Xmx512m MaintainerTest + * @run main/othervm/timeout=360 -Xmx512m MaintainerTest */ public class MaintainerTest { private static final String TEST_NAME = "MaintainerTest"; --- old/test/jdk/tools/jpackage/linux/deb/PackageDepsTest.java 2019-07-24 16:44:12.943701662 +0300 +++ new/test/jdk/tools/jpackage/linux/deb/PackageDepsTest.java 2019-07-24 16:44:12.627707622 +0300 @@ -33,7 +33,7 @@ * @requires (os.family == "linux") * @modules jdk.jpackage * @modules jdk.jpackage/jdk.jpackage.internal - * @run main/othervm/timeout=240 -Xmx512m PackageDepsTest + * @run main/othervm/timeout=420 -Xmx512m PackageDepsTest */ public class PackageDepsTest { private static final String TEST_NAME = "PackageDepsTest"; --- old/test/jdk/tools/jpackage/linux/deb/Test.java 2019-07-24 16:44:13.875684150 +0300 +++ new/test/jdk/tools/jpackage/linux/deb/Test.java 2019-07-24 16:44:13.559690086 +0300 @@ -33,7 +33,7 @@ * @requires (os.family == "linux") * @modules jdk.jpackage * @modules jdk.jpackage/jdk.jpackage.internal - * @run main/othervm -Xmx512m Test + * @run main/othervm/timeout=300 -Xmx512m Test */ public class Test { private static final String TEST_NAME = "Test"; --- old/test/jdk/tools/jpackage/linux/rpm/install.sh 2019-07-24 16:44:14.571671116 +0300 +++ new/test/jdk/tools/jpackage/linux/rpm/install.sh 2019-07-24 16:44:14.247677179 +0300 @@ -1,8 +1,9 @@ -sudo rpm --install fileassociationstest-1.0-1.x86_64.rpm -sudo rpm --install installdirtest-1.0-1.x86_64.rpm -sudo rpm --install licensetest-1.0-1.x86_64.rpm -sudo rpm --install licensetypetest-1.0-1.x86_64.rpm -sudo rpm --install packagedepstestdep-1.0-1.x86_64.rpm -sudo rpm --install packagedepstest-1.0-1.x86_64.rpm -sudo rpm --install test-1.0-1.x86_64.rpm -sudo rpm --install jpackage-test-bundle-name-1.0-1.x86_64.rpm +ARCH=$(rpmbuild -E='%{_target_cpu}') +sudo rpm --install fileassociationstest-1.0-1.${ARCH}.rpm +sudo rpm --install installdirtest-1.0-1.${ARCH}.rpm +sudo rpm --install licensetest-1.0-1.${ARCH}.rpm +sudo rpm --install licensetypetest-1.0-1.${ARCH}.rpm +sudo rpm --install packagedepstestdep-1.0-1.${ARCH}.rpm +sudo rpm --install packagedepstest-1.0-1.${ARCH}.rpm +sudo rpm --install test-1.0-1.${ARCH}.rpm +sudo rpm --install jpackage-test-bundle-name-1.0-1.${ARCH}.rpm