• Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • None

      The libzfs-0.5.jar version is bundled with Jenkins.war. Apparently it is built from source code which is available from both https://java.net/projects/zfs/ (branch "libzfs-0.5", SVN revision 150) and from https://github.com/kohsuke/libzfs4j (tag "libzfs-0.5" = https://github.com/kohsuke/libzfs4j/tree/libzfs-0.5, commit https://github.com/kohsuke/libzfs4j/commit/400e25e5a17993b5f3c167044d260a51d3d7dc0d).

      Either way, the bundled code is from Mar 18 2009 while the head of GitHub version marched on to Sep 2013 and the java.net SVN stopped Mar 2013 at revision 180 equivalent to https://github.com/kohsuke/libzfs4j/commit/16dab80e3fee3c23511e2f958fb631cc9bc25874 with a few more fixes to the differences between OpenZFS and legacy (now again proprietary) ZFS codebase and ABIs.

      As part of this improvement, the libzfs.jar codebase should be revised to accommodate both proprietary and open ZFS ABIs (see JENKINS-41932 for related work), and the modernized version should be shipped with Jenkins. Also note the story JENKINS-41949 that Jenkins should enable ZFS support on OSes other than "SunOS".

          [JENKINS-42176] Old libzfs-java is used in Jenkins bundle

          Jim Klimov added a comment -

          In JENKINS-41932 for improvements vs. modern ZFS variations, the initial PR was accepted and digested into Kohsuke's libzfs4j codebase, and another PR is so far pending to take care of similar signature changes that took place over time - https://github.com/kohsuke/libzfs4j/pull/4 .

          The remaining task is to forge a "libzfs release" with these changes, and to actually do deliver JARs built from this codebase along with binary distributions of `jenkins.war` (weekly, later LTS).

          Jim Klimov added a comment - In JENKINS-41932 for improvements vs. modern ZFS variations, the initial PR was accepted and digested into Kohsuke's libzfs4j codebase, and another PR is so far pending to take care of similar signature changes that took place over time - https://github.com/kohsuke/libzfs4j/pull/4 . The remaining task is to forge a "libzfs release" with these changes, and to actually do deliver JARs built from this codebase along with binary distributions of `jenkins.war` (weekly, later LTS).

          Oleg Nenashev added a comment -

          I have created https://github.com/jenkinsci/jenkins/pull/2776 , but the build fails due to the binary incompatibility of the library. I am waiting for the fedback from jimklimov and kohsuke

          Oleg Nenashev added a comment - I have created https://github.com/jenkinsci/jenkins/pull/2776 , but the build fails due to the binary incompatibility of the library. I am waiting for the fedback from jimklimov and kohsuke

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/pom.xml
          http://jenkins-ci.org/commit/jenkins/e9f0995f4d87e41a048185d29d98515ba33bcef4
          Log:
          [JENKINS-41932, JENKINS-42176] - Update libzfs4j from 0.5 to 0.8 (#2776)

          • Update libzfs4j from 0.5 to 0.7
          • Change the groupId of libzfs
          • Pick libzfs 0.8 with compatibility fixes

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/pom.xml http://jenkins-ci.org/commit/jenkins/e9f0995f4d87e41a048185d29d98515ba33bcef4 Log: [JENKINS-41932, JENKINS-42176] - Update libzfs4j from 0.5 to 0.8 (#2776) Update libzfs4j from 0.5 to 0.7 Change the groupId of libzfs Pick libzfs 0.8 with compatibility fixes

          Oleg Nenashev added a comment -

          The fix has been integrated towards 2.55

          Oleg Nenashev added a comment - The fix has been integrated towards 2.55

            oleg_nenashev Oleg Nenashev
            jimklimov Jim Klimov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: