jpackage will use wrong arch suffix for RPM bundle when running on Debian Linux

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P4
    • 27
    • Affects Version/s: 27
    • Component/s: tools
    • master
    • generic
    • linux

      When running Linux tests on Ubuntu with rpm tools installed, jpackage creates rpm bundles with wrong suffixes:

      $ dpkg --print-architecture
      amd64
      $ rpm --eval=%{_target_cpu}
      x86_64

      Bundles created by jpackage:
      DEB: SimplePackageTest/test/output/simplepackagetest_1.0_amd64.deb
      RPM: SimplePackageTest/test/output/simplepackagetest-1.0-1.amd64.rpm

      The expected RPM bundle name should be SimplePackageTest/test/output/simplepackagetest-1.0-1.x86_64.rpm

      SimplePackageTest fails:

      [14:27:53.674] Command [PID: 6771]:
          rpm -qp --queryformat %{Name}\n%{Version}\n%{Release}\n%{Arch} SimplePackageTest/test/output/simplepackagetest-1.0-1.amd64.rpm
      [14:27:53.674] Output:
          simplepackagetest
          1.0
          1
          x86_64
      [14:27:53.674] Returned: 0

      [14:27:53.675] Expected value of "Arch" property is [amd64]. Actual value in output package is [x86_64]. Looks like custom "simplepackagetest.spec" file from resource directory contained hard coded value of "Arch" property
      [14:27:53.675] Dont explicitly set value of {0} property in custom "{1}" file
      [14:27:53.690] TRACE: exec: Done. Exit code: 0
      [14:27:53.692] TRACE: assertEquals(0): Check command tool provider [jpackage --input SimplePackageTest/test/input --dest SimplePackageTest/test/output --name SimplePackageTest --type rpm --main-jar hello.jar --main-class Hello --runtime-image /home/asemenyu/.gradle/build/jpackage-dev-6BB1388E166EE904EA5E2BBA4D8DD1E0/test/jdk/tools/jpackage/jpackage-fake-runtime --verbose](16) exited with 0 code
      [14:27:53.693] TRACE: assertStringListEquals(): Check jpackage didn't modify ${RUNTIME_IMAGE}=[/home/asemenyu/.gradle/build/jpackage-dev-6BB1388E166EE904EA5E2BBA4D8DD1E0/test/jdk/tools/jpackage/jpackage-fake-runtime]
      [14:27:53.695] TRACE: assertStringListEquals(1, #)
      [14:27:53.696] TRACE: assertStringListEquals(2, lib#)
      [14:27:53.696] TRACE: assertStringListEquals(3, lib/bulk#2026-03-05T19:27:39.632571805Z)
      [14:27:53.696] ERROR: Failed: Check [SimplePackageTest/test/output/simplepackagetest-1.0-1.x86_64.rpm] path exists
      [14:27:53.697] [ FAILED ] SimplePackageTest.test; checks=47
      java.lang.AssertionError: Failed: Check [SimplePackageTest/test/output/simplepackagetest-1.0-1.x86_64.rpm] path exists
              at jdk.jpackage.test.TKit.error(TKit.java:349)
              at jdk.jpackage.test.TKit.assertTrue(TKit.java:797)
              at jdk.jpackage.test.TKit.assertTrue(TKit.java:784)
              at jdk.jpackage.test.TKit.assertPathExists(TKit.java:817)
              at jdk.jpackage.test.TKit.assertFileExists(TKit.java:899)
              at jdk.jpackage.test.PackageTest$Handler.processAction(PackageTest.java:741)
              at jdk.jpackage.test.PackageTest$PackageTypePipeline.accept(PackageTest.java:579)
              at jdk.jpackage.test.PackageTest$PackageTypePipeline.accept(PackageTest.java:512)
              ...
              at jdk.jpackage.test.Main.main(Main.java:77)
              at jdk.jpackage.test.Main.main(Main.java:53)
      [14:27:53.704] [==========] 1 tests ran
      [14:27:53.705] [ PASSED ] 0 tests
      [14:27:53.707] [ FAILED ] 1 test, listed below
      [14:27:53.707] [ FAILED ] SimplePackageTest.test; workDir=[SimplePackageTest/test]
      [14:27:53.708] 1 FAILED TEST

      In the regular Linux test environment, only DEB or RPM packaging is available. In this case jpackage tests pass. That is why it is unclear when the issue was introduced.

            Assignee:
            Alexey Semenyuk
            Reporter:
            Alexey Semenyuk
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: