/[MITgcm]/MITgcm/tools/mpack-1.6/mkreadme.pl
ViewVC logotype

Contents of /MITgcm/tools/mpack-1.6/mkreadme.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download)
Tue Feb 26 17:05:00 2008 UTC (16 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59o, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.3: +1 -1 lines
File MIME type: text/plain
put again new version (1.6-4, see MITgcm_contrib/mpack_src) of mpack sources.
among others:
 - fix MD5 code on some 64 bit platforms.
 - fix lot of compilation warnings.

1 #!/usr/bin/perl
2
3 $systype = $ARGV[0] || die "usage: $0 systype\n";
4 if ($ARGV[1]) {
5 $sysname = $ARGV[1];
6 } else {
7 $sysname = $systype;
8 }
9
10 open(VERSION, "version.h") || die "can't read version.h: $!\n";
11 while (<VERSION>) {
12 $version = $1 if /^#define MPACK_VERSION "(.*)"\n/;
13 }
14 die "Can't find version number in version.h\n" if !defined($version);
15
16 $hdr = "mpack/munpack version $version for $sysname\n";
17
18 print " " x ((75-length($hdr))/2), $hdr;
19
20 $dooutput = 1;
21 while (<DATA>) {
22 if (/^=/) {
23 $dooutput = /\W$systype\W/;
24 } elsif (/^!/) {
25 $dooutput = !/\W$systype\W/;
26 } elsif ($dooutput) {
27 s/^\.//;
28 print;
29 }
30 }
31
32 exit 0;
33
34 __END__
35
36 Mpack and munpack are utilities for encoding and decoding
37 (respectively) binary files in MIME (Multipurpose Internet Mail
38 Extensions) format mail messages. For compatibility with older forms
39 of transferring binary files, the munpack program can also decode
40 messages in split-uuencoded format. The Macintosh version can also
41 decode messages in split-BinHex format.
42
43 =arc
44 The Archimedes port interworks with Marcel (ANT's RISC OS MIME-compliant
45 MUA) to preserve filetypes, timestamps and access permissions. munpack
46 should correctly unpack any Marcel message. At present, mpack doesn't
47 include the filetype, etc. information. This may be implemented in a
48 future release.
49
50 !
51 The canonical FTP site for this software is ftp.andrew.cmu.edu:pub/mpack/
52 Binaries are no longer provided. The pc, os2, amiga and archimedes ports
53 have been removed. The mac version probably doesn't compile anymore, but
54 is still included (MacOS X users can use the unix version...)
55
56 This MIME implementation is intended to be as simple and portable as
57 possible. For a slightly more sophisticated MIME implementation, see
58 the program MetaMail, available via anonymous FTP to
59 thumper.bellcore.com, in directory pub/nsb
60
61
62 Decoding MIME messages:
63
64 =unix
65 First, you have to compile the munpack program. See the instructions
66 in the section "Compilation" below. If, after reading the
67 instructions, you are still unsure as to how to compile munpack,
68 please try to find someone locally to help you.
69
70 !
71 To decode a MIME message, first save it to a text file. If possible,
72 !mac
73 save it with all headers included. Munpack can decode some MIME files
74 =mac
75 save it with all headers included. Mpack can decode some MIME files
76 !
77 when the headers are missing or incomplete, other files it cannot
78 decode without having the information in the headers. In general,
79 messages which have a statement at the beginning that they are in MIME
80 format can be decoded without the headers. Messages which have been
81 split into multiple parts generally require all headers in order to be
82 reassembled and decoded.
83
84 Some LAN-based mail systems and some mail providers (including America
85 Online, as of the writing of this document) place the mail headers at
86 the bottom of the message, instead of at the top of the message. If
87 you are having problems decoding a MIME message on such a system, you
88 need to convert the mail back into the standard format by removing the
89 system's nonstandard headers and moving the standard Internet headers
90 to the top of the message (separated from the message body with a
91 blank line).
92
93 !mac
94 There must be exactly one message per file. Munpack cannot deal with
95 multiple messages in a single file, to decode things correctly it must
96 know when one message ends and the next one begins.
97
98 To decode a message, run the command:
99
100 munpack file
101
102 where "file" is the name of the file containing the message. More than
103 one filename may be specified, munpack will try to decode the message in
104 each file. For more information on ways to run munpack, see the section
105 "Using munpack" below.
106
107 =mac
108 There must be exactly one message per file. Mpack cannot deal with
109 multiple messages in a single file, to decode things correctly it must
110 know when one message ends and the next one begins.
111
112 The Macintosh version of mpack/munpack is a single standalone
113 application. A text file may be decoded either by drag & drop, or by
114 choosing the "Decode Files..." item from the application's File menu.
115 Non-text files may be encoded either by drag & drop, or by choosing
116 the "Encode Files..." item from the application's File menu.
117
118 The Macintosh version of mpack/munpack supports the new MacMIME
119 standard (RFC 1740). This allows cross-platform transport of
120 Macintosh files to any MIME-capable machine, and also preserves
121 Macintosh specific file attributes between two Macintoshes. Mpack
122 will use MacMIME for any unrecognized Macintosh file, and regular MIME
123 for standard MIME types.
124
125 For more details and descriptions of the preferences, see the "Help
126 Using Mpack..." menu item in mpack which can be found under the help
127 menu in systems 7 and above, and under the apple menu in older
128 systems.
129 !
130
131 Reporting bugs:
132
133 Bugs and comments should be reported to mpack-bugs@andrew.cmu.edu.
134 When reporting bugs or other problems, please include the following
135 information:
136
137 * The version number of Mpack
138 * The platform (Unix, PC, OS/2, Mac, Amiga, Archimedes)
139 * The EXACT output of any unsuccessful attempts.
140 * If having a problem decoding, the first couple of lines
141 of the input file.
142
143
144 Compilation:
145
146 =unix
147 Mpack uses autoconf and automake on unix.
148 refer to INSTALL for more information
149
150 =pc
151 The pc sources have been compiled with Microsoft C version 7.0. The
152 project files "mpack.mak" and "munpack.mak" are for mpack.exe and
153 munpack.exe, respectively.
154
155 =os2
156 The os2 sources have been compiled with IBM Cset++ version 2.1. The
157 makefiles "mpack.os2" and "munpack.os2" are for mpack.exe and
158 munpack.exe, respectively. Both makefiles also include statements to
159 compile the sources with EMX 0.9a from Eberhard Mattes.
160
161 =amiga
162 The amiga sources have been compiled with SAS/C version 6.3. To compile
163 with SAS/C, use the command "smake".
164
165 =arc
166 The RISC OS sources have been compiled with Acorn C version 4.0 and
167 UnixLib 3.6e (ftp-able from micros.hensa.ac.uk).
168
169 =mac
170 Mpack was compiled with THINK C 6.0 with the 4-byte int option turned
171 on (and the ANSI-small library compiled with the 4-byte int option)
172 and prototype enforcement turned off. Included with this distribution
173 should be the files "macproj.hqx" which is a BinHex4 version of the
174 THINK C 6.0 project file, and "macrsrc.hqx" which is a BinHex4 version
175 of the resources file.
176
177 Mpack checks for the existence of "Internet Config", and if it is
178 available, mpack uses it to translate MIME types to and from Macintosh
179 type/creator codes. Included is the file "macICglue.hqx" which is a
180 BinHex4 version of Internet Config's MPW object file library. This
181 needs to be linked with the application.
182
183 Using mpack:
184
185 See the "Help Using Mpack..." menu item in the application.
186
187 !mac
188 Using mpack:
189
190 Mpack is used to encode a file into one or more MIME format messages.
191 The program is invoked with:
192
193 mpack [options] -o outputfile file
194
195 =unix os2 amiga
196 or
197
198 mpack [options] file address...
199
200 or
201
202 mpack [options] -n newsgroups file
203
204 !mac
205 Where "[options]" is one or more optional switches described below.
206 "-o outputfile" is also described below. "file" is the name of the
207 !mac unix os2 amiga
208 file to encode.
209 =unix os2 amiga
210 file to encode, "address..." is one or more e-mail address to mail the
211 resulting messages to and "newsgroups" is a comma-separated list of
212 newsgroups to post the resulting messages to.
213
214 =amiga
215 There is extra flexibility in the options and addresses. Use "mpack
216 ?" for a list of options; a second "?" will print more information.
217 AmigaDOS 2.0 or later is required to run mpack.
218
219 !mac
220 The possible options are:
221
222 -s subject
223 Set the Subject header field to Subject. By default,
224 mpack will prompt for the contents of the subject
225 header.
226
227 -d descriptionfile
228 Include the contents of the file descriptionfile in an
229 introductory section at the beginning of the first
230 generated message.
231
232 -m maxsize
233 Split the message (if necessary) into partial messages,
234 each not exceeding maxsize characters. The default
235 limit is the value of the SPLITSIZE environment
236 variable, or no limit if the environment variable
237 does not exist. Specifying a maxsize of 0 means there
238 is no limit to the size of the generated message.
239
240 -c content-type
241 Label the included file as being of MIME type
242 content-type, which must be a subtype of application,
243 audio, image, or video. If this switch is not given,
244 mpack examines the file to determine its type.
245
246 -o outputfile
247 Write the generated message to the file outputfile. If
248 the message has to be split, the partial messages will
249 !mac arc
250 instead be written to the files outputfile.01,
251 outputfile.02, etc.
252
253 =arc
254 instead be written to the files outputfile/01,
255 outputfile/02, etc.
256
257 =os2
258 -f username
259 Specifies the user name to be used for mail or news. If
260 this option is ommitted, the environment variable LOGNAME
261 will be used to determine the user name.
262
263 !mac
264 The environment variables which control mpack's behavior are:
265
266 SPLITSIZE
267 Default value of the -m switch. Default "0".
268
269 =unix
270 TMPDIR
271 Directory to store temporary files. Default "/tmp".
272
273 =pc os2 amiga
274 HOSTNAME
275 Fully qualified domain name to use in generated message-ids.
276 Default "random-pc" or "random-amiga".
277
278 =arc
279 HOSTNAME
280 Fully qualified domain name to use in generated message-ids.
281 Default "random-arc".
282
283 =os2 amiga
284 DOMAINNAME
285 If $HOSTNAME does not have a '.' in it, this is appended to
286 $HOSTNAME to get the domain to use. Default is
287 "random-domain".
288
289 =amiga
290 POSTNEWS
291 Command to use to post news. Compatible with Dillon UUCP usage.
292
293 SENDMAIL
294 Command to use to send mail. Compatible with Dillon UUCP usage.
295
296 =os2
297 POSTNEWS
298 Command to use to post news. Compatible with UUPC inews.
299
300 SENDMAIL
301 Command to use to send mail. Compatible with IBM sendmail.
302
303 LOGNAME
304 User name for sending mail or posting news. Defaults to
305 "postmaster".
306
307 !mac
308
309 Using munpack:
310
311 Munpack is used to decode one or more messages in MIME or
312 split-uuencoded format and extract the embedded files. The program is
313 invoked with:
314
315 munpack [options] filename...
316
317 !mac pc arc
318 which reads the messages in the files "filename...". Munpack may also
319 be invoked with just:
320 =pc arc
321 which reads the messages in the files "filename...". Wildcards are
322 accepted. Munpack may also be invoked with just:
323 !mac
324
325 munpack [options]
326
327 which reads a message from the standard input.
328
329 =amiga
330 Munpack does not accept wildcards. Under AmigaDOS prior to 2.0, only
331 filenames are allowed. Under AmigaDOS 2.0 or later, the options
332 described later are supported, with extra flexibility. Use
333 "munpack ?" for a list of options; a second "?" will print more
334 information.
335
336 !mac
337 If the message suggests a file name to use for the imbedded part, that
338 name is cleaned of potential problem characters and used for the
339 output file. If the suggested filename includes subdirectories, they
340 will be created as necessary. If the message does not suggest a file
341 name, the names "part1", "part2", etc are used in sequence.
342
343 If the imbedded part was preceded with textual information, that
344 information is also written to a file. The file is named the same as
345 the imbedded part, with any filename extension replaced with
346 !mac pc os2 arc
347 ".desc"
348 =pc os2
349 ".dsc"
350 =arc
351 "/dsc"
352 !mac
353
354 The possible options are:
355
356 -f
357 Forces the overwriting of existing files. If a message
358 suggests a file name of an existing file, the file will be
359 =unix amiga
360 overwritten. Without this flag, munpack appends ".1", ".2",
361 etc to find a nonexistent file.
362 =pc os2
363 overwritten. Without this flag, munpack replaces any
364 filename extension with ".1", ".2", etc to find a
365 nonexistent file.
366 =arc
367 overwritten. Without this flag, munpack appends "/1", "/2",
368 etc to find a nonexistent file.
369 !mac
370
371 -t
372 Also unpack the text parts of multipart messages to files.
373 By default, text parts that do not have a filename parameter
374 do not get unpacked.
375
376 -q
377 Be quiet--suppress messages about saving partial messages.
378
379 -C directory
380 Change the current directory to "directory" before reading
381 any files. This is useful when invoking munpack
382 from a mail or news reader.
383 =os2
384
385 -e
386 Writes the MIME content type into the extended attribute
387 "MIME-TYPE". This extended attribute can be used by any
388 software that post processes the decoded files. The
389 following is an example program how to read this extended
390 attribute in Rexx:
391
392 ---------------------------cut here---------------------------------
393 /* This Rexx program demonstrates how to read the MIME-type *
394 * parameter out of the EA of the decoded file. Note, that the *
395 * options '-e' must be used to write this EA. */
396
397 call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
398 call SysLoadFuncs
399
400 parse ARG name
401
402 if SysGetEA(name, "MIME-TYPE", "TYPEINFO") = 0 then
403 parse var typeinfo 4 type
404 else
405 type = "undefined"
406
407 say "MIME content-type is" type
408 ---------------------------cut here---------------------------------
409 !mac
410
411 The environment variables which control munpack's behavior are:
412
413 =unix
414 TMPDIR
415 Root of directory to store partial messages awaiting
416 reassembly. Default is "/var/tmp". Partial messages
417 are stored in subdirectories of $TMPDIR/m-prts-$USER/
418
419 =pc os2
420 TMP
421 Root of directory to store partial messages awaiting
422 reassembly. Default is "\tmp". Partial messages are
423 stored in subdirectories of $TMP\parts\
424
425 =arc
426 Wimp$ScrapDir
427 Root of directory to store partial messages awaiting
428 reassembly. Default is "/tmp" which UnixLib should do
429 something sensible with. Partial messages are
430 stored in subdirectories of <Wimp$ScrapDir>.parts
431
432 =amiga
433 METAMAIL_P_DIR [amiga version only]
434 Root of directory to store partial messages awaiting
435 reassembly. Default is "t:". Partial messages are
436 stored in subdirectories of METAMAIL_P_DIR.
437
438 USER, USERNAME
439 Subdirectory of METMAIL_P_DIR where mime parts are stored. USER
440 is checked first, then USERNAME. Default "anonymous".
441
442 If the shared library netsupport.library is available, it will be used
443 to get the value of the environment variables. This allows them to be
444 set in uulib:config file instead of in the environment. If this
445 library not present, then a warning that the library was not found is
446 printed. You may ignore this warning.
447 !
448
449 Acknowledgements:
450
451 Written by John G. Myers, jgm+@cmu.edu
452
453 The mac version was written by Christopher J. Newman, chrisn+@cmu.edu
454
455 Send all bug reports to mpack-bugs@andrew.cmu.edu
456
457 Thanks to Nathaniel Borenstein for testing early versions of mpack and
458 for making many helpful suggestions.
459
460
461 PGP signature:
462
463 The mpack 1.6 distribution is not pgp signed.
464
465 Legalese:
466
467 (C) Copyright 1993,1994 by Carnegie Mellon University
468 All Rights Reserved.
469
470 Permission to use, copy, modify, distribute, and sell this software
471 and its documentation for any purpose is hereby granted without fee,
472 provided that the above copyright notice appear in all copies and that
473 both that copyright notice and this permission notice appear in
474 supporting documentation, and that the name of Carnegie Mellon
475 University not be used in advertising or publicity pertaining to
476 distribution of the software without specific, written prior
477 permission. Carnegie Mellon University makes no representations about
478 the suitability of this software for any purpose. It is provided "as
479 is" without express or implied warranty.
480
481 CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
482 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
483 AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
484 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
485 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
486 AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
487 OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
488 SOFTWARE.
489
490 Portions of this software are derived from code written by Bell
491 Communications Research, Inc. (Bellcore) and by RSA Data Security,
492 Inc. and bear similar copyrights and disclaimers of warranty.
493

  ViewVC Help
Powered by ViewVC 1.1.22