Plexus Components
  1. Plexus Components
  2. PLXCOMP-69

Tar and Zip arhivers can't handle >2GB, need to synchronize with Ant's zip and tar source

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: plexus-archiver
    • Labels:
      None
    • Environment:
      xp, windows
    • Number of attachments :
      2

      Description

      The current plexus-archive copied zip and tar source from Ant, where now has lots of bug fixes interm of handling archive sizes.
      I would like to propose to sync teh zip and tar source with Ant 1.7.0

      1. PLXCOMP-69.diff
        228 kB
        Dan Tran
      2. PLXCOMP-69-take-2.patch
        158 kB
        Dan Tran

        Activity

        Hide
        Dan Tran added a comment -

        Attached is the diff with the zip and tar packages copied from

        http://svn.apache.org/repos/asf/ant/core/tags/ANT_170/src/main/org/apache/tools/

        with package renamed to codehaus.

        fixed:

        2GB zip limitation, it now works with <4G. Still have limittation of 4GB but better
        2GB tar file entry size limittable

        Please see Ant's svn log for more details

        I tested with 25 Gig tar

        Show
        Dan Tran added a comment - Attached is the diff with the zip and tar packages copied from http://svn.apache.org/repos/asf/ant/core/tags/ANT_170/src/main/org/apache/tools/ with package renamed to codehaus. fixed: 2GB zip limitation, it now works with <4G. Still have limittation of 4GB but better 2GB tar file entry size limittable Please see Ant's svn log for more details I tested with 25 Gig tar
        Hide
        Andrew Williams added a comment -

        Are the licenses actually correct?

        That aside:
        1) I really don't think that the added distribution management is correct
        2) The code has been re-formatted away from the Plexus style, can this be fixed?

        Show
        Andrew Williams added a comment - Are the licenses actually correct? That aside: 1) I really don't think that the added distribution management is correct 2) The code has been re-formatted away from the Plexus style, can this be fixed?
        Hide
        Dan Tran added a comment -

        my bad,

        1. The license is from orignal ant 1.7.0 code

        2. Distribution Management is my mistake

        3 The code is from Ant 1.7 do you have Plexus style I can apply?

        Will make another attemp shortly

        -D

        Show
        Dan Tran added a comment - my bad, 1. The license is from orignal ant 1.7.0 code 2. Distribution Management is my mistake 3 The code is from Ant 1.7 do you have Plexus style I can apply? Will make another attemp shortly -D
        Hide
        Carlos Sanchez added a comment -

        if the code comes form Ant, does it really make sense not to use it directly?

        If not possible I wouldn't change the package names or formatting so future diffs of both codebases are easier. And consider creating a branch of the ant code at codehaus.

        Show
        Carlos Sanchez added a comment - if the code comes form Ant, does it really make sense not to use it directly? If not possible I wouldn't change the package names or formatting so future diffs of both codebases are easier. And consider creating a branch of the ant code at codehaus.
        Hide
        Max Bowsher added a comment -

        Wouldn't changing the package name be necessary to avoid the potential for weird classpath issues if both ant and plexus were being used in the same project?

        Show
        Max Bowsher added a comment - Wouldn't changing the package name be necessary to avoid the potential for weird classpath issues if both ant and plexus were being used in the same project?
        Hide
        Andrew Williams added a comment -

        Code style is as maven code style

        Max: Interesting point with the package names, forked code will likely need a different package name to avoid just that issue.

        Show
        Andrew Williams added a comment - Code style is as maven code style Max: Interesting point with the package names, forked code will likely need a different package name to avoid just that issue.
        Hide
        Dan Tran added a comment -

        another attemp, this time:

        • copy neccessary files from ant-1.7.0 to plexus-archiver
        • change license header the match with other files
        • change style to using latest maven format style( still look messy thou due to many changes since last sync)
        Show
        Dan Tran added a comment - another attemp, this time: copy neccessary files from ant-1.7.0 to plexus-archiver change license header the match with other files change style to using latest maven format style( still look messy thou due to many changes since last sync)
        Hide
        Dan Tran added a comment -

        another option is to push for commons-compress release. This package is smaller then Ant

        Show
        Dan Tran added a comment - another option is to push for commons-compress release. This package is smaller then Ant
        Hide
        Barrie Treloar added a comment -

        +1 to add dependency to ant jars and reuse the code

        Show
        Barrie Treloar added a comment - +1 to add dependency to ant jars and reuse the code
        Hide
        Sonia Lodovichetti added a comment -

        I really think this is an urgent matter that needs to be addressed, we've got a few tar files close to 3GB and this is a very annoying limitation...

        Show
        Sonia Lodovichetti added a comment - I really think this is an urgent matter that needs to be addressed, we've got a few tar files close to 3GB and this is a very annoying limitation...
        Hide
        Lee Thompson added a comment -

        An alternative is "truezip". See the truezip-maven-plugin. Seems to be a much better archiver implementation than the ant implementation. Much much faster.

        Show
        Lee Thompson added a comment - An alternative is "truezip". See the truezip-maven-plugin. Seems to be a much better archiver implementation than the ant implementation. Much much faster.
        Hide
        Dan Tran added a comment -

        actually behind the scence, truezip uses ant's internal implementation of tar,gzip, and bzip

        Show
        Dan Tran added a comment - actually behind the scence, truezip uses ant's internal implementation of tar,gzip, and bzip
        Hide
        Dan Tran added a comment -

        commons-compress has been released

        Show
        Dan Tran added a comment - commons-compress has been released
        Hide
        Olivier Lamy added a comment -

        using commons-compress 1.1 could be an option

        Show
        Olivier Lamy added a comment - using commons-compress 1.1 could be an option
        Hide
        Kristian Rosenvold added a comment -

        We support 2GB archives, but I'm afraid the patch is horribly stale.

        I think the proper fix for this solution is to switch to commons code for zip.

        Show
        Kristian Rosenvold added a comment - We support 2GB archives, but I'm afraid the patch is horribly stale. I think the proper fix for this solution is to switch to commons code for zip.

          People

          • Assignee:
            Kristian Rosenvold
            Reporter:
            Dan Tran
          • Votes:
            5 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: