Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-10383

platformlabeler plugin doesn't detect 64-bit windows

    Details

    • Similar Issues:

      Description

      platformlabeler uses os.arch to determine bitness. However, that's not the
      OS architecture, but the JRE architecture. For a 64-bit JRE, or a 32-bit
      JRE running on a 32-bit OS, you get the right result, but for a 32-bit JRE
      running on a 64-bit OS, you don't.

      The list of Windows versions is also outdated.

      Attached patch works for Windows. Untested for linux, as I don't have a
      32-bit linux install available.

        Attachments

          Activity

          Hide
          ammon Ammon Riley added a comment -

          Updating patch to replace "/" with "+" in labels where I can't distinguish between different Windows versions based on kernel number.

          When a matrix job is configured to use a label containing a "/" in an axis, the selection of that label isn't remembered the next time you try to configure the job.

          Show
          ammon Ammon Riley added a comment - Updating patch to replace "/" with "+" in labels where I can't distinguish between different Windows versions based on kernel number. When a matrix job is configured to use a label containing a "/" in an axis, the selection of that label isn't remembered the next time you try to configure the job.
          Hide
          lifeless lifeless added a comment -

          Thanks for this, I need to get around to doing a dev setup for github, then I can apply this.

          Show
          lifeless lifeless added a comment - Thanks for this, I need to get around to doing a dev setup for github, then I can apply this.
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Nicolas De Loof
          Path:
          src/main/java/org/jvnet/hudson/plugins/platformlabeler/PlatformDetailsTask.java
          http://jenkins-ci.org/commit/platformlabeler-plugin/b04de4acd133f4b69d45b2cb3d73fd502ee524a7
          Log:
          [FIXED JENKINS-10383] svn patch applied
          thanks to Ammon Riley

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Nicolas De Loof Path: src/main/java/org/jvnet/hudson/plugins/platformlabeler/PlatformDetailsTask.java http://jenkins-ci.org/commit/platformlabeler-plugin/b04de4acd133f4b69d45b2cb3d73fd502ee524a7 Log: [FIXED JENKINS-10383] svn patch applied thanks to Ammon Riley
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Mark Waite
          Path:
          src/main/java/org/jvnet/hudson/plugins/platformlabeler/PlatformDetailsTask.java
          http://jenkins-ci.org/commit/platformlabeler-plugin/798c90fc19d99eac532b22b2205a4814fd0abf0a
          Log:
          Undo compatibility breaks of PR#2 & JENKINS-10383

          Prefer compatibility with prior behavior over new names for Windows
          operating system versions. Reverts some of the changes from the fix for
          JENKINS-10383.

          The plugin has not been released in 5+ years. Users have adapted
          to the existing behavior and will value retaining existing behavior
          more than they will value additional detection of specifically named
          Windows versions.

          Retain SunOS behavior from platformlabeler 1.1

          The code in the 1.1 release accepted os.name as an argument, folded
          it to lower case, then compared the result with "SunOS". Since there
          are upper case characters in "SunOS", the comparison would never have
          matched. Since it did not match, the result fell through to return the
          lower case form "sunos" rather than "solaris" the code hints was
          intended.

          Fix JENKINS-10383 - report bits of platform instead of JRE

          JENKINS-10383 changes behavior on 64 bit Windows and 64 bit Linux
          running a 32 bit JRE. Release 1.1 reported "x86" (32 bit) on a 32 bit
          JRE running on a 64 bit operating system. Release 2.0 and later reports
          "amd64" (64 bit) on a 32 bit JRE running on a 64 bit operating system.

          Before JENKINS-10383 the bits of the JRE were reported.
          After JENKINS-10383 the bits of the operating system are reported.

          There is no behavioral change for 32 bit machines running a 32 bit JRE.

          There is no behavioral change for 64 bit machines running a 64 bit JRE.

          There is no behavioral change for machines that are not Windows and not Linux.

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Mark Waite Path: src/main/java/org/jvnet/hudson/plugins/platformlabeler/PlatformDetailsTask.java http://jenkins-ci.org/commit/platformlabeler-plugin/798c90fc19d99eac532b22b2205a4814fd0abf0a Log: Undo compatibility breaks of PR#2 & JENKINS-10383 Prefer compatibility with prior behavior over new names for Windows operating system versions. Reverts some of the changes from the fix for JENKINS-10383 . The plugin has not been released in 5+ years. Users have adapted to the existing behavior and will value retaining existing behavior more than they will value additional detection of specifically named Windows versions. Retain SunOS behavior from platformlabeler 1.1 The code in the 1.1 release accepted os.name as an argument, folded it to lower case, then compared the result with "SunOS". Since there are upper case characters in "SunOS", the comparison would never have matched. Since it did not match, the result fell through to return the lower case form "sunos" rather than "solaris" the code hints was intended. Fix JENKINS-10383 - report bits of platform instead of JRE JENKINS-10383 changes behavior on 64 bit Windows and 64 bit Linux running a 32 bit JRE. Release 1.1 reported "x86" (32 bit) on a 32 bit JRE running on a 64 bit operating system. Release 2.0 and later reports "amd64" (64 bit) on a 32 bit JRE running on a 64 bit operating system. Before JENKINS-10383 the bits of the JRE were reported. After JENKINS-10383 the bits of the operating system are reported. There is no behavioral change for 32 bit machines running a 32 bit JRE. There is no behavioral change for 64 bit machines running a 64 bit JRE. There is no behavioral change for machines that are not Windows and not Linux.

            People

            • Assignee:
              lifeless lifeless
              Reporter:
              ammon Ammon Riley
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: