Clozure / ccl

Clozure Common Lisp
http://ccl.clozure.com
Apache License 2.0
850 stars 103 forks source link

non-conformant zip files in 1.12.1 release? #400

Closed 3b closed 1 year ago

3b commented 2 years ago

The 1.12.1 windows .zip files (https://github.com/Clozure/ccl/releases/download/v1.12.1/ccl-1.12.1-windowsx86.zip and https://github.com/Clozure/ccl/releases/download/v1.12.1/windowsx86.zip) seem to be using \ as path separator instead of / as required by zip spec.

This confuses the roswell (roswell/roswell#491), preventing it from installing current CCL. Might also be causing the problems with 7-zip mentioned in #385.

Microsoft tools extract it without complaint, and unzip with only a warning, so contents are probably otherwise OK and zip just needs to be rebuilt.

xrme commented 2 years ago

What unzip program should I use to test that I made the zip file correctly?

3b commented 2 years ago

should be able to tell if roswell will be able to use it with

(ql:quickload 'zip)
(zip:unzip "/tmp/ccl-1.12.1-windowsx86.zip"
           "/tmp/ccltmp/"
            :IF-EXISTS :ERROR :VERBOSE t :FORCE-UTF-8 NIL)

there is a command line zipdetails that will print very verbose info including the names stored in the file, i have it on my msys2 and ubuntu systems, but not sure exactly which packages provide it.

the unzip program shows it as well, either in names with -t or as warning when decompressing

$ unzip -t ccl-1.12.1-windowsx86.zip
Archive:  ccl-1.12.1-windowsx86.zip
    testing: ccl\win32-headers\       OK
    testing: ccl\win64-headers\       OK
    testing: ccl\.gitattributes       OK
    testing: ccl\.gitignore           OK
...

Archive:  ccl-1.12.1-windowsx86.zip
warning:  ccl-1.12.1-windowsx86.zip appears to use backslashes as path separators
   creating: ccl/win32-headers/
   creating: ccl/win64-headers/
  inflating: ccl/.gitattributes
  inflating: ccl/.gitignore
...
asmaloney commented 2 years ago

@xrme Any way the current ccl-1.12.1-windowsx86.zip could be fixed and re-uploaded? (Or maybe do a new release with latest changes & fix it then?)

When you unzip it all the files are in one dir because of this path issue:

Screen Shot 2022-06-10 at 22 51 08 PM

This is preventing my project from using it ☹️

asmaloney commented 2 years ago

@xrme Would it be possible to get this repacked or a new release to fix it please? Standard tooling for zips (e.g. go's std lib which is what I'm using) won't read this file properly.

I tried to back off to 1.12, but ran into this problem, so I'm stuck...

Thanks!

edoneel commented 2 years ago

Hi

I have rebuilt them and uploaded them to the URLs below. I tested them with (zip:unzip ...)

http://www.pckswarms.ch/ccl/ccltmp/ccl-1.12.1-windowsx86-beo.zip

http://www.pckswarms.ch/ccl/ccltmp/windowsx86-beo.zip

You have to decide if this is a good idea to download them or not but I can not upload them to the real place.

cheers

bruce

asmaloney commented 2 years ago

Thanks Bruce! That will be helpful for testing.

My research tool automatically downloads the releases from the ccl repo, so it would be helpful to get a fixed version put up here. I recently switched from SBCL because this looked easier to download & use in my context.

ntrocado commented 1 year ago

You have to decide if this is a good idea to download them or not but I can not upload them to the real place.

I trusted and it works.

asmaloney commented 1 year ago

Looks like this is fixed with 1.12.2.

xrme commented 1 year ago

When I used built-in Windows functionality to make the zip files, it used backslashes as the path separator. I made the 1.12.2 zip files with the info-zip zip program this time, and it used the forward slash.

Now that the 1.12.2 release has correct zip files, I'll close this issue.