Issue 14518

Summary: W32-tcsh: installation sets are broken
Product: Build Tools Reporter: quetschke
Component: codeAssignee: Martin Hollmichel <nesshof>
Status: CLOSED IRREPRODUCIBLE QA Contact: issues@tools <issues>
Severity: Trivial    
Priority: P3 CC: hans-joachim.lankenau, issues
Version: OOo 1.1 Beta2   
Target Milestone: OOo 1.1 RC   
Hardware: PC   
OS: Windows 2000   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on:    
Issue Blocks: 12046    
Attachments:
Description Flags
Patch for scpzip.cxx none

Description quetschke 2003-05-16 10:44:22 UTC
I realized a serious problem with the installation sets generated by the
instsetoo using a W32-tcsh environment.

the packed files, e.g. 01/normal/f_0001 contain subdirectories, the zip -j
option didn't work.

This comes from various aspects.

1. the zip in the cygwin distribution has a bug, it doesn't strip the
   directories when used with w32 native paths, e.g.
    zip -j archive c:\foo\bar.ext.
   It does, when you use the "semi-native" format
    zip -j archive c:/foo/bar.ext
   So it is kind of broken, it is pure luck that it supports the c:\.. format
   anyway. We're in a posix like build environment, but we use native paths.
   (I send a note to the zip maintainer, but that may take a while.)

2. Regardless of the input paths, lzip and scpzip mangling the paths
   to the "correct" format anyway.
   As the native W32 zip also works with / directory seperators I used
   the following patch to get a working installation set with W32-tcsh.

IMHO the "correct" version would be to add a switch to lzip and scpzip
which file systems to use, at the moment this is hardcoded at compile time.

Or just use this switch, make a comment about this issue and the reasons,
and apply the patch.

Volker
Comment 1 quetschke 2003-05-16 10:47:24 UTC
Created attachment 6221 [details]
Patch for scpzip.cxx
Comment 2 quetschke 2003-05-16 10:48:08 UTC
Set target and dependency
Comment 3 hjs 2003-05-16 12:06:26 UTC
i think cygwin zip is quite consistent as it regardes the backslash as
an escape char and therefor part of the filename. with this view a
"-j" option to zip shouldn't change anything as there is not diretory
portion of the name ;-)

generally i would prefer a dynamic solution respecting the
filesystem/path format of the calling shell ( isn't $^O a nice thing
in perl :-)).

in this special case (just calling zip, possible EOL when introducing
native installer) the proposed workaround should do.
Comment 4 quetschke 2003-05-17 12:48:24 UTC
I just discovered, that I had an older version of cygwin zip in my
path. cygcheck -c zip said it was version 2.3-3, but it wasn't.

zip -v of the old, not working version said:
...
This is Zip 2.3 (November 29th 1999), by Info-ZIP.
...
Compiled with gcc 2.95.2-6 19991024 (cygwin experimental) for Unix
(Intel 386) on Jan 14 2001.

zip -v of the working version 2.3-3 says:
...
This is Zip 2.3 (November 29th 1999), by Info-ZIP.
...
Compiled with gcc 2.95.3-5 (cygwin special) for Unix (Intel 386) on
May 12 2002.

The current version doesn't need the patch.

I close this issue as worksforme, but this is nasty, because the bug
only manifests itself in the installation set.
Comment 5 quetschke 2003-05-17 12:49:01 UTC
c.
Comment 6 quetschke 2003-06-14 16:27:27 UTC
*** Issue 15618 has been marked as a duplicate of this issue. ***
Comment 7 crewotclasour 2010-11-10 23:43:08 UTC
Created attachment 73854