-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zip files are incompatible with Java's java.util.zip #1
Comments
I put the test zip in aws/containers-roadmap#1112, and just now edited it to include an unzip program and jre version info. It's at the bottom of the issue text. |
Oh, and the zip was produced by provider "archive" {
# Use the patched provider.
version = "1.2.0-4-g347a1af"
}
data "archive_file" "test" {
type = "zip"
source_file = "${path.module}/src/test1.txt"
output_path = "${path.module}/test.zip"
normalize_files_metadata = true
} |
@sveniu So! Many thanks for the plethora of information (and sorry for the late reply) 🙂 First of all, there is a working solution. Now, there is a bigger picture discussion that needs to be taken into account. First, regarding the solution itself, it's straightforward to integrate the zipper library you've referenced. In the basic implementation, Since the I didn't do extensive testing, but I've written a simple Golang compressor, with integrated the Now, the discussion is ultimately about how to design/distribute the change. Assuming that the patch is stable, it should decided if:
I think option 2 is fine. I don't see any use case where a user would bother the flexibility given by option 1. Regarding the distribution, we have freedom here. The TF provider maintainers (there's really no nicer way to put this) simply don't care about this PR, so there are no restrictions here - if you think the processing should be added to the plugin, I'll do it, test it, release it, etc. Thanks for the participation 🙂 |
Source code of the program I've performed the tests with. Nothing special, just adding them for reference. |
I'm bringing this to closure :) In my previous reply, I've explained the solution (and tested it). I did not integrate because the maintainers are not showing interest in the topic. This fork, and the related work, sit therefore in a strange place between a contribution for an upstream project, and an internal one. From the upstreaming perspective, any work is a waste, since it's factually not considered. From our internal tooling perspective, any work is also a waste, since everything works for us already (and TF development in not in our focus). If the upstream project had interest, I'd certainly improve the PR, but this is not the case. Therefore, I've officially decided I'm done with any That said:
|
The zip files produced by this patch are causing incompatibility issues that don't seem to be very easy to work around.
The combination of Go's streaming (i.e. writing ext data descriptors after each file entry) and use of STORE is not supported by Java.
More details: hashicorp#47 (review)
The text was updated successfully, but these errors were encountered: