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

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

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


Revision 1.4 - (hide annotations) (download)
Tue Feb 26 17:05:00 2008 UTC (16 years, 2 months 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 edhill 1.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 jmc 1.4 reassembly. Default is "/var/tmp". Partial messages
417 edhill 1.1 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