.! .! Copyright © 1993, 1994 by Eric M. LaFranchi. All Rights Reserved. .! .! This software is Copyright 1993, 1994 by Eric M. LaFranchi. Permission .! to use, copy, and freely redistributed this software in its entirety is .! hereby granted provided that the above copyright notice and this .! permission notice are retained. This software may not be sold for profit .! or incorporated in commercial software products without the written .! permission of the author. This software is provided "as is", the author .! nor his employer make any representation of warranty, express or implied, .! with respect to any code or other information herein. In addition, the .! author disclaim's any liability whatsoever for any use of such code or .! other information. .! .!+-+ .! .! Module: .! PACKASM.RNH .! .! Abstract: .! RUNOFF source for the "package assembler utility" PACKASM help .! .! Author: .! Eric M. LaFranchi .! .! Creation Date: .! 12-May-1993 .! .! Modification History: .! EML003 Eric M. LaFranchi 12-JAN-1994 .! Added /SEPARATOR qualifier for version v2.3 .! .! EML002 Eric M. LaFranchi 21-SEP-1993 .! Added /ARTICLE and /OVERRIDE qualifier .! .! EML001 Eric M. LaFranchi 16-JUL-1993 .! Added /ANU_NEWS, /PROTOCOL, /NEWS_GROUP, /NNTP_SERVER qualifiers. .! Updated /OUTPUT text to refect new functionality. Updated Example .! to include example of extracting packages from news groups. .! .! EML000 Eric M. LaFranchi 31-MAY-1993 .! Added the /Delete qualifier text, reworded and moved the /Decode .! to be in alphabetic order. .! .!-+- .! .spr 0, 0, 2 1 PACKASM .s .sa .lm+2 .p Copyright © 1993, 1994 by Eric M. LaFranchi. .s .p PACKASM is a utility for extracting and assembling packages from VMS Mail and USENET news. News articles are accessed via NNTP or disk-based ANUNEWS. The PACKASM utility was created as a time saver to reduce the amount of time users spend manually unpacking packages. PACKASM takes a list of package names and, optionally, the folder(s) or newsgroup(s) to be searched. .res .s .i+4;Format: .i+8;PACKASM package[,...] .s 2 Parameters .sa .s .lm+2 Package .s .p Specifies the name of the package or packages to be extracted and assembled from VMS Mail or USENET news. If you specify more than one package, separate the package specifications with commas (,). Wildcard characters (* and %) are allowed in the package specification. .s Articles .s .p When the /ARTICLES qualifier is specified, the package list is interpreted as a list of article numbers. Articles are specified in the following format: .s .i+4;PACKASM article[-article][,article] .s See the /ARTICLES qualifier for more information. .res .s 2 Qualifiers .s /ARTICLES .s .i+4;/ARTICLES .sa .s .lm+2 .p The /ARTICLES qualifier specifies that the package list be interpreted as a list of article numbers. Articles are specified as by article number(s) or by range of numbers, or any combination of the two (e.g. 1,2-4,5). The article numbers specified are assumed to be part of a single package and will be processed in the order specified. Note that a range can run backwards, (e.g. 7-4) and will be processed in reverse order. In addition, it is necessary to specify an output file using the /OUTPUT qualifier. The /BEFORE and /SINCE date qualifiers are not allowed with the /ARTICLES qualifier. .res .s /ANU__NEWS .s .i+4;/ANU__NEWS .sa .s .lm+2 .p Specifies that news is to be extracted from the disk-based database maintained by ANU NEWS. Specifying this qualifier means that the PACKASM utility will only search the news groups specified. See the /NEWS__GROUPS qualifier for more details. .res .s /BEFORE .s .i+4;/BEFORE[=time] .sa .s .lm+2 .p Selects only those package parts dated prior to the specified time. You can specify time as an absolute time, as a combination of absolute and delta times, or as one of the following keywords: TODAY (default), TOMORROW, or YESTERDAY. This qualifier is only interpreted when selecting packages from VMS Mail. .s For complete information on specifying time values, see the VMS DCL Concepts Manual. .res .s /CONFIRM .s .i+4;/CONFIRM .i+4;/NOCONFIRM (default) .sa .s .lm+2 .p Controls whether the user is queried as to whether a package part is to be used in assembling a package. The following responses are valid: .s .lt YES NO QUIT TRUE FALSE Ctrl/Z 1 0 ALL .el .s .p You can use any combination of uppercase and lowercase letters for word responses. You can abbreviate word responses to one or more letters (for example, T, TR, or TRU for TRUE), but these abbreviations must be unique. Affirmative answers are YES, TRUE, and 1. Negative answers include: NO, FALSE, 0, and pressing the Return key. Entering QUIT or pressing Ctrl/Z indicates that you want to stop processing the command at that point. When you respond by entering ALL, the command continues to process but no further prompts are given. If you type a response other than one of those in the list, an error message is issued and the prompt is redisplayed. .res .s /DECODE .s .i+4;/DECODE .i+4;/NODECODE (default) .sa .s .lm+2 .p Specifies that in addition to unpacking the package into the specified ASCII file, the package will be decoded into its binary form using the file names encoded in the package. Only UUENCODED packages are supported in this release; the DECODE qualifier is ignored for all other package types. Note that if a package is a UUENCODED file, the filename is determined from the saved filename in the packages, even if the /OUTPUT qualifier is specified. .res .s /DELETE .s .i+4;/DELETE .i+4;/NODELETE (default) .sa .s .lm+2 .p VMS Mail articles processed and assembled into a package will be deleted after the package is assembled. It is recommended that the /CONFIRM qualifier be used with the /DELETE qualifier. .res .s /EXCLUDE .s .i+4;/EXCLUDE=(package[,...]) .sa .s .lm+2 .p Excludes the specified packages from being extracted and assembled. Wildcard characters (* and %) are allowed in the package specification. .res .s /FOLDERS .s .i+4;/FOLDERS = (folder-name[,...]) .sa .s .lm+2 .p Specifies the folders that are searched in VMS Mail when PACKASM is looking for packages to assemble. By default, the folder MAIL is searched. .res .s /LOG .s .i+4;/LOG .i+4;/NOLOG (default) .sa .s .lm+2 .p Controls whether an informational message will be written for each package part that is to be assembled. .p When you use the /LOG qualifier, the PACKASM utility displays the following for each article processed. .res .s .lt o The package name o The current part being processed o The total number of parts in the package .el .s /NEWS__GROUPS .s .i+4;/NEWS__GROUPS = (newsgroup[,...]) .sa .s .lm+2 .p Specifies the newsgroup(s) that are to be searched. The qualifier is used in conjunction with the /ANU__NEWS qualifier or the /NNTP__SERVER qualifier. By default, the newsgroup "vmsnet.sources" is searched. Note that this qualifier applies only to newsgroups and not VMS Mail. .res .s /NNTP__SERVER .s .i+4;/NNTP__SERVER = server-name .sa .s .lm+2 .p Specifies the host name of the NNTP server to which a connection is established for extracting and assembling packages from USENET news. For information on specifying newsgroup names, see the /NEWS__GROUPS qualifier. .s Do not specify this qualifier if you intend to extract and assemble packages from VMS Mail. .res .s /OUTPUT .s .i+4;/OUTPUT=filename .sa .s .lm+2 .p Specifies the directory specification and/or filename to which the package is written. By default the output filename is the name of the package. If the package name is a VMS_SHARE file, the ".COM" extension is appended to the package name to form the filename. .s Note: if an output file is specified and multiple packages are extracted, they will all have the same filename. .res .s /OVERRIDE .s .i+4;/OVERRIDE .sa .s .lm+2 .p Specifies that the keywords used to ignore subject lines are not checked. By default, subject lines containing "RE:", "WAS:", and "REPOST" are ignored. For example, a user may wish to assemble a package that was reposted and the subject line contains "REPOST: subject [m/n]". .res .s /PROTOCOL .s .i+4;/PROTOCOL[=type] .sa .s .lm+2 .p Specifies the protocol type to be used to communicate with the NNTP server. The current supported protocols are TCP and DECNET. By default, the TCP protocol is used. If you are using NNTP via DECNET, the /PROTOCOL = DECNET qualifier must be specified in addition to the /NNTP__SERVER qualifier. .res .s /REMOVE__HEADERS .s .i+4;/REMOVE__HEADERS .i+4;/NOREMOVE__HEADERS (default) .sa .s .lm+2 .p Removes the mail/news headers from text articles. This qualifier can only be used with the /NOUNPACK qualifier. .res .s /SEPARATOR .s .i+4;/SEPARATOR=separator .sa .s .lm+2 .p Allows the user to specify a string be added to the default list of separators used to identify part specifiers in a package subject. The default part separators include the following list: "/", "\", "|", "-OF-", and "_OF_". The separator is any string of characters. For example, both of the following are valid separators: .b .i+4;/SEPARATOR = ":" .b .i+4;/SEPARATOR = "anystring" .res .s /SINCE .s .i+4;/SINCE[=time] .sa .s .lm+2 .p Selects only those package parts dated after the specified time. You can specify time as an absolute time, a combination of absolute and delta times, or as one of the following keywords: TODAY (default), TOMORROW, or YESTERDAY. This qualifier is only interpreted when selecting packages from VMS Mail. .s .p For complete information on specifying time values, see the VMS DCL Concepts Manual. .res .s /UNPACK .s .i+4;/UNPACK (default) .i+4;/NOUNPACK .sa .s .lm+2 .p Specifies that this package is a VMS__SHARE or UUENCODED package and that the header and trailer text should be removed. Note that /UNPACK is the default. If you are unpacking packages of types different from those specified above, you must use the /NOUNPACK qualifier. .res .s 2 Examples .s .sa .lm+2 .lt $ PACKASM/ANU_NEWS/NEWS_GROUPS=NEWS.ANSWERS/NOUNPACK/REMOVE_HEADERS/LOG REC.ROL* Package Assembler (PACKASM) Utility - Version 2.3 Copyright © 1993 by Eric M. LaFranchi. All rights reserved. %PACKASM-I-PROCESSING, Processing package rec.roller-coaster part 1 of 3 %PACKASM-I-PROCESSING, Processing package rec.roller-coaster part 2 of 3 %PACKASM-I-PROCESSING, Processing package rec.roller-coaster part 3 of 3 %PACKASM-I-ASSEMBLED, Assembled package rec.roller-coaster, 3 parts to file FAQ:[REC.ROLLER]REC.ROLLER-COASTER .el .s .p As shown in the example, this command will extract the "REC.ROLLER-COASTER" FAQ from the news group "NEWS.ANSWERS". The /ANU__NEWS qualifier specifies that disk based ANU news is used to locate the news articles. The /NOUNPACK qualifier specifies that all the text from the article is to be included. The /REMOVE_HEADERS qualifier removes headers, leaving on the text from the articles. .res .s .s .sa .lm+2 .lt $ PACKASM UNZIP50P1/FOLDERS =(MAIL, UNZIP)/LOG .el .s .p This example extracts the package UNZIP50P1 into output file UNZIP50P1.COM from VMS Mail. The folders named MAIL and UNZIP are searched for the package parts, and an informational message is displayed as each part of the package is extracted. .res .s .s .sa .lm+2 .lt $ PACKASM */NEWS_GROUP=(alt.binaries.pictures.misc)/DECODE - _$ /NNTP_SERVER=server/OUTPUT=SYS$LOGIN: .el .s .p This example makes a connection to the NNTP server "server" via TCP protocol and extracts all the packages (conforming to the subject parsing algorithm) from the news groups "alt.binaries.pictures.misc" and puts them into the directory SYS$LOGIN. The /DECODE qualifier specifies that all UUENCODED packages be assembled and output in binary form. .res .s .s .sa .lm+2 .lt $ PACKASM /NNTP_SERVER=server/PROTOCOL=DECNET - _$ /NEWS_GROUP=(alt.binaries.pictures.erotica) *.gif .el .s .p This example makes a connection to the NNTP server "server" via the DECNET protocol, then extracts all the packages with the .gif extension from the news group "alt.binaries.pictures.erotica" and places them into the current working directory. Note that the /DECODE qualifier was not specified, so the packages will be output in UUENCODED text files. .res .s .s .sa .lm+2 .lt $ packasm/folder=newmail/log/articles/delete/output=test.com 1-7 Package Assembler (PACKASM) Utility - Version 2.3 Copyright © 1993 by Eric M. LaFranchi. All rights reserved. %PACKASM-I-PROCESSING, processing package TEST.COM part 1 of 7 %PACKASM-I-PROCESSING, processing package TEST.COM part 2 of 7 %PACKASM-I-PROCESSING, processing package TEST.COM part 3 of 7 %PACKASM-I-PROCESSING, processing package TEST.COM part 4 of 7 %PACKASM-I-PROCESSING, processing package TEST.COM part 5 of 7 %PACKASM-I-PROCESSING, processing package TEST.COM part 6 of 7 %PACKASM-I-PROCESSING, processing package TEST.COM part 7 of 7 %PACKASM-I-ASSEMBLED, assembled package TEST.COM, 7 parts to file EML$TOOLS:[PACKASM]TEST.COM %PACKASM-I-DELETE, deleted part 1 of package TEST.COM from folder NEWMAIL %PACKASM-I-DELETE, deleted part 2 of package TEST.COM from folder NEWMAIL %PACKASM-I-DELETE, deleted part 3 of package TEST.COM from folder NEWMAIL %PACKASM-I-DELETE, deleted part 4 of package TEST.COM from folder NEWMAIL %PACKASM-I-DELETE, deleted part 5 of package TEST.COM from folder NEWMAIL %PACKASM-I-DELETE, deleted part 6 of package TEST.COM from folder NEWMAIL %PACKASM-I-DELETE, deleted part 7 of package TEST.COM from folder NEWMAIL .el .s .p This example extracts a package consisting of the articles 1 though 7 from the folder NEWMAIL, and writes it to the file foo.com. The articles are then delete form the NEWMAIL folder. .res