~peter-pearse/ubuntu/natty/unzip/prop001

« back to all changes in this revision

Viewing changes to vms/INSTALL.VMS

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2009-05-08 20:02:40 UTC
  • mfrom: (2.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090508200240-rk23wg0jdoyc6caj
Tags: 6.0-1
* New upstream release. Closes: #496989.
* Enabled new Unicode support. Closes: #197427. This may or may not work
  for your already created zipfiles, but it's not a bug unless they were
  created using the Unicode feature present in zip 3.0.
* Built using DATE_FORMAT=DF_YMD so that unzip -l show dates in ISO format,
  as that's the only available one which makes sense. Closes: #312886.
* Enabled new bzip2 support. Closes: #426798.
* Exit code for zipgrep should now be the right one. Closes: #441997.
* The reason why a file may not be created is now shown. Closes: #478791.
* Summary of changes in this version not being the debian/* files:
- Manpages in section 1, not 1L.
- Branding patch. UnZip by Debian. Original by Info-ZIP.
- Always #include <unistd.h>. Debian GNU/kFreeBSD needs it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
  VMS (OpenVMS):
 
3
 
 
4
     On VMS, two build methods are provided: a command procedure, and
 
5
     description files for MMS or MMK.  Both methods must be run from
 
6
     the main directory, not the [.VMS] subdirectory.
 
7
 
 
8
     A simple build using the command procedure looks like this:
 
9
          @ [.VMS]BUILD_UNZIP.COM
 
10
 
 
11
     A simple build using MMS or MMK looks like this:
 
12
          MMS /DESCRIP = [.VMS]DESCRIP.MMS      ! Or, with MMK, ...
 
13
          MMK /DESCRIP = [.VMS]DESCRIP.MMS
 
14
 
 
15
     Various options for each build method are explained in comments in
 
16
     the main builder file, either BUILD_UNZIP.COM or DESCRIP.MMS.
 
17
 
 
18
     Here are some more complex build examples:
 
19
 
 
20
     o Build with the large-file option enabled (non-VAX only):
 
21
 
 
22
          @ [.VMS]BUILD_UNZIP LARGE
 
23
       or:
 
24
          MMS /DESC = [.VMS] /MACRO = LARGE=1
 
25
 
 
26
     o Re-link the executables (small-file and large-file):
 
27
 
 
28
          @ [.VMS]BUILD_UNZIP LINK
 
29
          @ [.VMS]BUILD_UNZIP LARGE LINK
 
30
       or
 
31
          MMK /DESC = [.VMS] CLEAN_EXE  ! Deletes existing executables.
 
32
          MMK /DESC = [.VMS]            ! Builds new executables.
 
33
          MMK /DESC = [.VMS] /MACRO = LARGE=1 CLEAN_EXE
 
34
          MMK /DESC = [.VMS] /MACRO = LARGE=1
 
35
 
 
36
     o Build a large-file product from scratch, for debug, getting
 
37
       compiler listings and link maps:
 
38
 
 
39
          MMS /DESC = [.VMS] CLEAN
 
40
          MMS /DESC = [.VMS] /MACRO = (DBG=1, LARGE=1. LIST=1)
 
41
 
 
42
     On VAX, the builders attempt to cope with the various available C
 
43
     compilers, DEC/Compaq/HP C, VAX C, or GNU C.  If DEC/Compaq/HP C is
 
44
     not available or not desired, comments in the relevant builder file
 
45
     explain the command-line options used to select a different
 
46
     compiler.
 
47
 
 
48
     By default, Zip uses (and UnZip supports) the "deflate" compression
 
49
     method.  To add support for the optional "bzip2" compression method,
 
50
     first obtain and build the bzip2 software (http://www.bzip.org/ or,
 
51
     for a more VMS-friendly kit, http://antinode.info/dec/sw/bzip2.html).
 
52
     Then, define the macro IZ_BZIP2 on the BUILD_UNZIP.COM or MMS/MMK
 
53
     command line to specify the directory where the bzip2 files may be
 
54
     found.  For example:
 
55
 
 
56
          @ [.VMS]BUILD_UNZIP LARGE -
 
57
           IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_4B_VMS]
 
58
     or:
 
59
          MMS /DESC = [.VMS] /MACRO = (LARGE=1, -
 
60
           IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_4B_VMS])
 
61
 
 
62
     Note that historically, UnZip has been built with the default
 
63
     compiler option, /NAMES = UPPERCASE, while bzip2 is normally built
 
64
     with /NAMES = AS_IS, to avoid name collisions.  With modern
 
65
     compilers, the "#pragma names" directives in [.VMS]BZLIB.H will
 
66
     handle these differences without user intervention.  An old
 
67
     compiler (for example, DEC C V4.0-000) will emit complaints
 
68
     %CC-I-UNKNOWNPRAGMA, and will mishandle the bzip2 library function
 
69
     names, which will cause the link to fail.  To solve this problem,
 
70
     either build the bzip2 BZ_NO_STDIO object library with /NAMES =
 
71
     UPPERCASE, or else build UnZip with /NAMES = AS_IS.  For example:
 
72
 
 
73
          @ [.VMS]BUILD_UNZIP LARGE "CCOPTS=/NAMES=AS_IS" -
 
74
           IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_4B_VMS]
 
75
     or:
 
76
          MMS /DESC = [.VMS] /MACRO = (LARGE=1, "CCOPTS=/NAMES=AS_IS", -
 
77
           IZ_BZIP2=SYS$SYSDEVICE:[UTILITY.SOURCE.BZIP2.BZIP2-1_0_4B_VMS])
 
78
 
 
79
     System-architecture-specific files (like objects and executables)
 
80
     are placed in separate directories, such as [.ALPHA], [.IA64], or
 
81
     [.VAX].  Large-file products get their own directories, [.ALPHAL]
 
82
     or [.IA64L].  On VAX, VAX C products are placed in [.VAXV], GNU C
 
83
     products in [.VAXG].  Each product builder announces what the
 
84
     destination directory will be when it is run.
 
85
 
 
86
     Common files, such as the help libraries (UNZIP.HLP for the default
 
87
     UNIX-like command-line interface, UNZIP_CLI.HLP for the VMS-like
 
88
     command-line interface), are placed in the main directory.  With a
 
89
     mixed-architecture VMS cluster, the same main directory on a shared
 
90
     disk may may be used by all system types.  (Using the NOHELP option
 
91
     with BUILD_UNZIP.COM can keep it from making the same help files
 
92
     repeatedly.)  Building the help files is detailed below.
 
93
 
 
94
  Completing installation:
 
95
 
 
96
     To complete the installation, the executables may be left in place,
 
97
     or moved (or copied) to a convenient place.  While other methods
 
98
     (like DCL$PATH) exist, most users define symbols to make the UnZip
 
99
     executables available as foreign commands.  These symbol definitions
 
100
     may be placed in a user's SYS$LOGIN:LOGIN.COM, or in a more central
 
101
     location, like SYS$MANAGER:SYLOGIN.COM.  Typical symbol definitions
 
102
     might look like these:
 
103
 
 
104
          UNZIP :== $ dev:[dir]UNZIP.EXE        ! UNIX-like command line.
 
105
     or:
 
106
          UNZIP :== $ dev:[dir]UNZIP_CLI.EXE    ! VMS-like command line.
 
107
 
 
108
     On a non-VAX system, different symbols could be defined for the
 
109
     small-file and large-file programs.  For example:
 
110
 
 
111
          UNZIPS  :== $ dev:[dir.ALPHA]UNZIP.EXE  ! UNZIPS = small-file UnZip.
 
112
          UNZIP*L :== $ dev:[dir.ALPHAL]UNZIP.EXE !UNZIP[L] = large-file UnZip.
 
113
 
 
114
     The builders create help text files, UNZIP.HLP and UNZIP_CLI.HLP.
 
115
     These may be incorporated into an existing help library, or a separate
 
116
     UnZip help library may be created using commands like these, using
 
117
     either UNZIP.HLP (as shown) or UNZIP_CLI.HLP:
 
118
 
 
119
          LIBRARY /HELP dev:[dir]existing_library.HLB UNZIP.HLP
 
120
 
 
121
          LIBRARY /CREATE /HELP UNZIP.HLB UNZIP.HLP
 
122
 
 
123
     UnZip help may then be accessed from a separate UnZip help library
 
124
     using a command like:
 
125
 
 
126
          HELP /LIBRARY = device:[directory]UNZIP.HLB
 
127
 
 
128
     For greater ease, the user (or system manager) may define a
 
129
     HLP$LIBRARY logical name to allow the HELP utility to find the UnZip
 
130
     help library automatically.  See HELP HELP /USERLIBRARY for more
 
131
     details.   The command procedure HLP_LIB_NEXT.COM may be used to
 
132
     determine the next available HLP$LIBRARY logical name, and could be
 
133
     adapted to define a HLP$LIBRARY logical name for a UnZip help library.
 
134
 
 
135
     The builders also create VMS message files, UNZIP_MSG.EXE, in the
 
136
     destination directory with the program executables.  A user may
 
137
     gain DCL access to the UnZip error messages using a command like:
 
138
 
 
139
          SET MESSAGE device:[directory]UNZIP_MSG.EXE
 
140
 
 
141
     For system-wide access, the system manager may move or copy this
 
142
     file to SYS$MESSAGE, although this could cause some confusion if
 
143
     multiple versions of UnZip are used on the system, and their error
 
144
     message source files differ.
 
145