Rule 1: You must be using an ODS-5 disk, anything else will not work and will cause more trouble than it is worth.
Rule 2: Enable extended parsing in your login.com (SET PROC/PARSE=EXTEND) or the unzipped files will mangle.
Rule 3: Use GZIPped distributions rather than ZIP files as this will prove more reliable.
Rule 4: Use the GNU version of TAR contained in GNV, e.g. (bash$ gnutar -xzvf package.tar.gz)
Unzipping downloaded distributions
- WayneSewell
- Posts: 4
- Joined: Sun Sep 11, 2005 9:50 pm
- Location: Houston area
I found that even extended parse is insufficient when the file name includes a dot. For instance, the file in the zip is "my.great.file". The unzip from info-zip will preserve the lower case with extended parse, but will change the first dot to an underscore.
I wrote a command procedure that scans the listing from the zip file (which shows the true file name) and renames each file that should have multiple dots (from my_great.file to my^.great.file).
I wrote a command procedure that scans the listing from the zip file (which shows the true file name) and renames each file that should have multiple dots (from my_great.file to my^.great.file).
Wayne
- WillemGrooters
- VMS Guru
- Posts: 59
- Joined: Wed Jul 20, 2005 10:17 am
- Location: Netherlands
- Contact:
Another way to unzip
Not my favourite, but very handy in this situation: Use JAVA to explode the zipfile. It will preserve multiple dots in the filename, allow dots in the directory name if required, but will leave the extracted files in STREAM_LF record format, which can be a problem. (Thanks to Aplhaman who gave me the idea)
ZIP files
Use JAVA to unpack ZIP archives,
jar xvf archive.zip
jar xvf archive.zip
One additional tip for using jar to unzip dists
The trick to getting jar working right is to make sure the java$filename_controls logical is set correctly. Out of the box that logical is set to -1, which means it will do the underscore for multiple dots translation, and a host of other fun file tricks. By defining the logical like so...
you turn off all the dot replacements. Look at JAVA$FILENAME_CONTROLS.COM in the Java COM directory for a full explanation of what numbers do what for filename translations.
Code: Select all
$ def/job JAVA$FILENAME_CONTROLS 8