describe, descc, descu version 1.0.2. This version was updated

by Soenke Behrens.  See the readme for change details.
This commit is contained in:
gdr 1996-01-22 02:40:50 +00:00
parent 3a79f5a3a6
commit c6cf2a3fa4
13 changed files with 464 additions and 165 deletions

View File

@ -1,14 +1,14 @@
$Id: README,v 1.1 1996/01/22 01:37:59 gdr Exp $ $Id: README,v 1.2 1996/01/22 02:40:43 gdr Exp $
This is the README file for the describe package. This package is This is the README file for the describe package. This package is
designated as version 1.0.1, and consists of the following utilities: designated as version 1.0.2, and consists of the following utilities:
describe v1.0.1 - show database entries describing the current describe v1.0.2 - show database entries describing the current
status of programs status of programs
descc v1.0.1 - the describe source compiler descc v1.0.2 - the describe source compiler
descu v1.0 - the describe source updater descu v1.0.2 - the describe source updater
ABOUT DESCRIBE AND DESCC ABOUT DESCRIBE AND DESCC
======================== ========================
@ -21,9 +21,10 @@ different people are releasing these days. The reason it sat around on
my harddrive so long is I was having qualms about its designated role in my harddrive so long is I was having qualms about its designated role in
life. I wasn't sure exactly what I wanted it to do. Well, I've decided life. I wasn't sure exactly what I wanted it to do. Well, I've decided
to KISS for now: descc simply compiles the utility list, which I maintain, to KISS for now: descc simply compiles the utility list, which I maintain,
into a (very) simple "database" located in /usr/local/lib/. The companion into a (very) simple "database" located in /usr/local/lib/
utility 'describe' is used to fetch information about a particular utility [alternatively, the full path given in the environment variable DESCDB will be
from this "database". used, if it is set. sb]. The companion utility 'describe' is used to
fetch information about a particular utility from this "database".
descc is fairly limited, as is the "database" format itself. Part of the descc is fairly limited, as is the "database" format itself. Part of the
KISS (or it wouldn't be out now) design philosophy ;). Usage is simple: KISS (or it wouldn't be out now) design philosophy ;). Usage is simple:
@ -81,7 +82,18 @@ CHANGES
This details changes to the entire distribution. This details changes to the entire distribution.
v1.1 May 1995 v1.02 October 1995
descc now circumvents a bug in ORCA/C's ftell() function.
describe can now find entries that are not all lower-case.
describe will now print the name of entries in the case
they were entered into the database.
descu now sorts the describe source file case-insensitive.
describe and descc can now find the database in a path given
by the environment variable DESCDB. If DESCDB is not set,
/usr/local/lib/describe is used, as before.
A new "Shell:" field has been added to the format of the database.
v1.01 May 1995
Initial release for descu. Initial release for descu.
Added -h and -v flags to describe and descc. Added -h and -v flags to describe and descc.
Common defines and typedefs were extracted to desc.h. Common defines and typedefs were extracted to desc.h.
@ -102,9 +114,12 @@ AUTHORS
The original describe and descc utilities and the describe format were The original describe and descc utilities and the describe format were
written by James Brookes <jamesb@ecst.csuchico.edu>. written by James Brookes <jamesb@ecst.csuchico.edu>.
The descu utility and v1.1 modifications to describe and descc were by The descu utility and v1.01 modifications to describe and descc were by
Devin Reade <gdr@myrias.ab.ca>. Devin Reade <gdr@myrias.ab.ca>.
v1.02 modifications to describe, descc and descu were by Soenke Behrens
<sbehrens@contech.demon.co.uk>.
LEGALESE LEGALESE
======== ========

View File

@ -9,10 +9,11 @@
#define FIELD_LEN 9 #define FIELD_LEN 9
#define NAME_LEN 34 #define NAME_LEN 34
#define MAX_LINE_LENGTH 81 #define MAX_LINE_LENGTH 81
#define FIELD_COUNT 6 /* number of fields below, not including comments */ #define FIELD_COUNT 7 /* number of fields below, not including comments */
#define NAME "Name: " #define NAME "Name: "
#define VERSION "Version: " #define VERSION "Version: "
#define SHELL "Shell: "
#define AUTHOR "Author: " #define AUTHOR "Author: "
#define CONTACT "Contact: " #define CONTACT "Contact: "
#define WHERE "Where: " #define WHERE "Where: "
@ -20,6 +21,7 @@
#define NAME_SHORT "Name:" #define NAME_SHORT "Name:"
#define VERSION_SHORT "Version:" #define VERSION_SHORT "Version:"
#define SHELL_SHORT "Shell:"
#define AUTHOR_SHORT "Author:" #define AUTHOR_SHORT "Author:"
#define CONTACT_SHORT "Contact:" #define CONTACT_SHORT "Contact:"
#define WHERE_SHORT "Where:" #define WHERE_SHORT "Where:"

View File

@ -1,4 +1,4 @@
.TH DESCC 8 "System Administration" "7 May 1995" "Version 1.0.1" .TH DESCC 8 "System Administration" "7 May 1995" "Version 1.0.2"
.SH NAME .SH NAME
descc \- the describe(1) source compiler descc \- the describe(1) source compiler
.SH SYNOPSIS .SH SYNOPSIS
@ -19,12 +19,13 @@ and saves the result to the system describe database.
The describe source file consists of comments and records. A comment The describe source file consists of comments and records. A comment
is any line starting with the is any line starting with the
.BR # .BR #
character. Each record consists of seven fields. The first character. Each record consists of eight fields. The first
six consist of one line of text and begin with the following identifiers: seven consist of one line of text and begin with the following identifiers:
.nf .nf
Name: (The name of the program.) Name: (The name of the program.)
Version: (The current version number.) Version: (The current version number.)
Shell: (The shell(s) the program was written for.)
Author: (The author or maintainer of the program.) Author: (The author or maintainer of the program.)
Contact: (How to contact the Author, typically an Contact: (How to contact the Author, typically an
email address.) email address.)
@ -38,16 +39,17 @@ a brief description of the program. The following is an example of
a complete record: a complete record:
.nf .nf
Name: descc Name: describe
Version: 1.0.1 Version: 1.0.2
Shell: ORCA/Shell, GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /usr/local/bin Where: /usr/local/bin
FTP: ftp.cco.caltech.edu FTP: ftp.cco.caltech.edu
Print a multi-line description obtained from the compiled Print a multi-line description obtained from the compiled
'describe' database; giving utility name, version, author, 'describe' database; giving utility name, version, intended shell,
author's contact, where the utility is, as well as where the author, author's contact, where the utility is, as well as where the
utility can be FTPd from on the InterNet. utility can be FTPd from on the InterNet.
.fi .fi
@ -69,13 +71,22 @@ in the following format:
4 bytes: Long Int, offset of the \fBrecord\fR in file. 4 bytes: Long Int, offset of the \fBrecord\fR in file.
Records Records
7 variable-length NULL-terminated strings. 8 variable-length NULL-terminated strings.
.fi .fi
.SH FILES .SH FILES
/usr/local/lib/describe \- the system /usr/local/lib/describe \- the system
.B describe .B describe
database. database. If the environment variable
.B DESCDB
is set, its value will be used instead.
.SH ENVIRONMENT
.IP DESCDB
Full path to the system describe database. If
.B DESCDB
is set, its value is used instead of the default location
/usr/local/lib/describe.
.SH AUTHOR .SH AUTHOR
James Brookes <jamesb@ecst.csuchico.edu>. James Brookes <jamesb@ecst.csuchico.edu>.
.SH "SEE ALSO" .SH "SEE ALSO"

View File

@ -1,6 +1,10 @@
/* */ /* */
/* descc - compile info file into describe database file */ /* descc - compile info file into describe database file */
/* */ /* */
/* v1.0.2 - One bug removed. Recompiled to accomodate new */
/* SHELL line and DESCDB environment var */
/* Soenke Behrens [Sun Oct 22 1995] */
/* */
/* v1.0.1 - Added -h and -V flags [Sat May 06 1995] */ /* v1.0.1 - Added -h and -V flags [Sat May 06 1995] */
/* Extracted certain #defines to "desc.h" */ /* Extracted certain #defines to "desc.h" */
/* Now uses getopt for command line parsing. */ /* Now uses getopt for command line parsing. */
@ -26,7 +30,7 @@
/* */ /* */
/* Records */ /* Records */
/* */ /* */
/* 7 variable-length Null-terminated strings. */ /* 8 variable-length Null-terminated strings. */
/* */ /* */
#pragma optimize 15 #pragma optimize 15
@ -38,7 +42,7 @@
#include <assert.h> #include <assert.h>
#include "desc.h" #include "desc.h"
#define _VERSION_ "v1.0.1" #define _VERSION_ "v1.0.2"
/* prototypes */ /* prototypes */
@ -114,6 +118,7 @@ int main (int argc, char **argv) {
int2 lines, namecount, i, j; int2 lines, namecount, i, j;
nameEntry nameStruct; nameEntry nameStruct;
int c, errflag; int c, errflag;
char *db_path;
/* initialize globals */ /* initialize globals */
Vflag=0; Vflag=0;
@ -125,6 +130,24 @@ int main (int argc, char **argv) {
assert(sizeof(int2)==2); assert(sizeof(int2)==2);
assert(sizeof(int4)==4); assert(sizeof(int4)==4);
/* Get database path: If DESCDB is set, use it,
otherwise use DATABASE */
if (getenv("DESCDB") == 0)
{
if ((db_path = strdup(DATABASE)) == 0)
{
fprintf(stderr,"couldn't allocate path variable\n");
exit (-1);
}
} else {
if ((db_path = strdup(getenv("DESCDB"))) == 0)
{
fprintf(stderr,"couldn't allocate path variable\n");
exit (-1);
}
}
/* parse command line */ /* parse command line */
while ((c = getopt(argc, argv, "hV")) != EOF) { while ((c = getopt(argc, argv, "hV")) != EOF) {
switch (c) { switch (c) {
@ -138,23 +161,29 @@ int main (int argc, char **argv) {
} }
} }
if (errflag || (argc-optind != 1)) if (errflag || (argc-optind != 1))
{
free (db_path);
usage(basename(argv[0])); usage(basename(argv[0]));
}
/* open input and output files */ /* open input and output files */
if ((buffer = malloc (MAX_LINE_LENGTH)) == NULL) { if ((buffer = malloc (MAX_LINE_LENGTH)) == NULL) {
fprintf(stderr,"couldn't allocate line buffer\n"); fprintf(stderr,"couldn't allocate line buffer\n");
free (db_path);
exit (-1); exit (-1);
} }
if ((FInPtr = fopen(argv[argc-1],"r")) == NULL) { if ((FInPtr = fopen(argv[argc-1],"r")) == NULL) {
fprintf(stderr,"Error opening %s; exiting.\n",argv[argc-1]); fprintf(stderr,"Error opening %s; exiting.\n",argv[argc-1]);
free (db_path);
free(buffer); free(buffer);
exit(1); exit(1);
} }
if ((FOutPtr = fopen(DATABASE,"wb+")) == NULL) { if ((FOutPtr = fopen(db_path,"wb+")) == NULL) {
fprintf(stderr,"Error opening database file %s; exiting.\n",DATABASE); fprintf(stderr,"Error opening database file %s; exiting.\n",db_path);
free (db_path);
free(buffer); free(buffer);
exit(1); exit(1);
} }
@ -164,13 +193,13 @@ int main (int argc, char **argv) {
namecount = 0; namecount = 0;
/* space for # of array entries */ /* space for # of array entries */
fwrite(&namecount,sizeof(namecount),1,FOutPtr); fwrite((void *)&namecount,sizeof(namecount),1,FOutPtr);
while(mygets(buffer,&lines,FInPtr) != -1) { while(mygets(buffer,&lines,FInPtr) != -1) {
if (!strncmp(buffer,NAME,FIELD_LEN)) { /* found a match */ if (!strncmp(buffer,NAME,FIELD_LEN)) { /* found a match */
strncpy(nameStruct.name,&buffer[FIELD_LEN],NAME_LEN-1); strncpy(nameStruct.name,&buffer[FIELD_LEN],NAME_LEN-1);
nameStruct.name[NAME_LEN-1] = '\0'; nameStruct.name[NAME_LEN-1] = '\0';
fwrite(&nameStruct,sizeof(nameStruct),1,FOutPtr); fwrite((void *)&nameStruct,sizeof(nameStruct),1,FOutPtr);
namecount++; namecount++;
} }
} }
@ -181,21 +210,27 @@ int main (int argc, char **argv) {
exit(-1); exit(-1);
} }
rewind(FInPtr); rewind(FInPtr);
fflush(FInPtr);
buffer[0] = '\0'; buffer[0] = '\0';
lines = 0; lines = 0;
fprintf(FOutPtr,"\t"); fputc('\t',FOutPtr);
/* Increment to first field */ /* Increment to first field */
while (strncmp(buffer,NAME,FIELD_LEN)) /* found a match! */ while (strncmp(buffer,NAME,FIELD_LEN)) /* found a match! */
mygets(buffer,&lines,FInPtr); mygets(buffer,&lines,FInPtr);
{ /* BUGBUG 22/10/95 Soenke Behrens */
/* ORCA/C does not advance the file position indicator */
/* correctly after above fputc(). This tries to remedy */
/* the situation. Take out once library has been fixed */
fprintf(FOutPtr,"Junk");
fseek(FOutPtr,-4,SEEK_CUR);
}
/* Write out records and keep track of their file offsets */ /* Write out records and keep track of their file offsets */
for (i = 0; i < namecount; i++) { for (i = 0; i < namecount; i++) {
record_locs[i] = ftell(FOutPtr); record_locs[i] = ftell(FOutPtr);
/* print out <Version>, <Author>, <Contact>, <Where>, <FTP> */ /* print out <Version>, <Shell>, <Author>, <Contact>, <Where>, <FTP> */
for (j = 0; j < FIELD_COUNT-1; j++) { for (j = 0; j < FIELD_COUNT-1; j++) {
buffer[FIELD_LEN] = '\0'; buffer[FIELD_LEN] = '\0';
mygets(buffer,&lines,FInPtr); mygets(buffer,&lines,FInPtr);
@ -208,13 +243,13 @@ int main (int argc, char **argv) {
if (!strncmp(buffer,NAME,FIELD_LEN)) break; if (!strncmp(buffer,NAME,FIELD_LEN)) break;
fprintf(FOutPtr,"%s ",buffer); fprintf(FOutPtr,"%s ",buffer);
} }
fprintf(FOutPtr,"\n"); fputc('\n',FOutPtr);
} }
endOfFile = ftell(FOutPtr); endOfFile = ftell(FOutPtr);
fflush(FOutPtr); /*gdr 1*/ fflush(FOutPtr); /*gdr 1*/
rewind(FOutPtr); rewind(FOutPtr);
fwrite(&namecount,sizeof(namecount),1,FOutPtr); fwrite((void *)&namecount,sizeof(namecount),1,FOutPtr);
fflush(FOutPtr); /*gdr 1*/ fflush(FOutPtr); /*gdr 1*/
/* time to go through the record_locs array and backpatch in */ /* time to go through the record_locs array and backpatch in */
@ -225,12 +260,13 @@ int main (int argc, char **argv) {
fread(&nameStruct,sizeof(nameStruct),1,FOutPtr); fread(&nameStruct,sizeof(nameStruct),1,FOutPtr);
fseek(FOutPtr,-(sizeof(nameStruct)),SEEK_CUR); fseek(FOutPtr,-(sizeof(nameStruct)),SEEK_CUR);
nameStruct.offset = record_locs[i]; nameStruct.offset = record_locs[i];
fwrite(&nameStruct,sizeof(nameStruct),(size_t) 1,FOutPtr); fwrite((void *)&nameStruct,sizeof(nameStruct),(size_t) 1,FOutPtr);
fflush(FOutPtr); fflush(FOutPtr);
} }
fseek(FOutPtr,endOfFile,SEEK_SET); fseek(FOutPtr,endOfFile,SEEK_SET);
fclose(FOutPtr); fclose(FOutPtr);
free(db_path);
free(record_locs); free(record_locs);
free(buffer); free(buffer);

View File

@ -0,0 +1,10 @@
Name: descc
Version: 1.0.2
Shell: ORCA/Shell, GNO/ME
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/sbin
FTP: ftp.cco.caltech.edu
Compile a source file into a 'describe' database file.

View File

@ -1,4 +1,4 @@
.TH DESCRIBE 1 "Commands and Applications" "7 May 1995" "Version 1.0.1" .TH DESCRIBE 1 "Commands and Applications" "7 May 1995" "Version 1.0.2"
.SH NAME .SH NAME
describe \- show information about a program describe \- show information about a program
.SH SYNOPSIS .SH SYNOPSIS
@ -13,6 +13,7 @@ This information includes:
The name of the program; The name of the program;
The program version number; The program version number;
The shell the program was written for;
The author (or the person currently maintaining the program); The author (or the person currently maintaining the program);
Contact information for the author; Contact information for the author;
Where the utility should be installed; Where the utility should be installed;
@ -35,7 +36,16 @@ uses a database compiled by
.SH FILES .SH FILES
/usr/local/lib/describe \- the system /usr/local/lib/describe \- the system
.B describe .B describe
database. database. If the environment variable
.B DESCDB
is set, its value will be used instead.
.SH ENVIRONMENT
.IP DESCDB
Full path to the system describe database. If
.B DESCDB
is set, its value is used instead of the default location
/usr/local/lib/describe.
.SH AUTHOR .SH AUTHOR
James Brookes <jamesb@ecst.csuchico.edu>. James Brookes <jamesb@ecst.csuchico.edu>.
.SH "SEE ALSO" .SH "SEE ALSO"

View File

@ -16,7 +16,7 @@
#include <getopt.h> #include <getopt.h>
#include "desc.h" #include "desc.h"
#define _VERSION_ "v1.0.1" #define _VERSION_ "v1.0.2"
/* prototypes */ /* prototypes */
@ -62,15 +62,24 @@ void myprintf(char *string, int wordwrap_size) {
void print_entry(FILE *FInPtr, long int index) { void print_entry(FILE *FInPtr, long int index) {
char *buffer; char *buffer;
int i;
buffer = (char *) malloc (1024); if ((buffer = (char *) malloc (1024)) == 0)
{
fprintf(stderr,"couldn't allocate buffer\n");
exit (-1);
}
fseek(FInPtr,index,SEEK_SET); fseek(FInPtr,index,SEEK_SET);
printf("%s",VERSION); printf("%s",VERSION);
fgets(buffer,MAX_LINE_LENGTH,FInPtr); fgets(buffer,MAX_LINE_LENGTH,FInPtr);
printf("%s",buffer); printf("%s",buffer);
printf("%s",SHELL);
fgets(buffer,MAX_LINE_LENGTH,FInPtr);
printf("%s",buffer);
printf("%s",AUTHOR); printf("%s",AUTHOR);
fgets(buffer,MAX_LINE_LENGTH,FInPtr); fgets(buffer,MAX_LINE_LENGTH,FInPtr);
printf("%s",buffer); printf("%s",buffer);
@ -103,8 +112,9 @@ int main (int argc, char **argv) {
int2 verbose, numOfEntries, cmp, offset1, offset2, check, i; int2 verbose, numOfEntries, cmp, offset1, offset2, check, i;
nameEntry nameStruct; nameEntry nameStruct;
int c, errflag; int c, errflag;
char *p; char *p, *tmp;
char *db_path;
#ifdef STACK_CHECK #ifdef STACK_CHECK
begin_stack_check(); begin_stack_check();
#endif #endif
@ -113,6 +123,24 @@ int main (int argc, char **argv) {
Vflag = FALSE; Vflag = FALSE;
errflag = FALSE; errflag = FALSE;
/* Get database path: If DESCDB is set, use it,
otherwise use DATABASE */
if (getenv("DESCDB") == 0)
{
if ((db_path = strdup(DATABASE)) == 0)
{
fprintf(stderr,"couldn't allocate path variable\n");
exit (-1);
}
} else {
if ((db_path = strdup(getenv("DESCDB"))) == 0)
{
fprintf(stderr,"couldn't allocate path variable\n");
exit (-1);
}
}
while ((c = getopt(argc,argv,"hvV")) != EOF) { while ((c = getopt(argc,argv,"hvV")) != EOF) {
switch (c) { switch (c) {
case 'v': case 'v':
@ -128,17 +156,21 @@ int main (int argc, char **argv) {
} }
} }
if (errflag || (argc-optind != 1)) if (errflag || (argc-optind != 1))
{
free (db_path);
usage(basename(argv[0])); usage(basename(argv[0]));
}
if ((FInPtr = fopen(DATABASE,"r")) == NULL) {
if ((FInPtr = fopen(db_path,"rb")) == NULL) {
perror("couldn't open database"); perror("couldn't open database");
free (db_path);
exit(-1); exit(-1);
} }
fread(&numOfEntries,2,1,FInPtr); fread(&numOfEntries,2,1,FInPtr);
offset1 = 0; offset1 = 0;
offset2 = numOfEntries-1; offset2 = numOfEntries-1;
strcpy(searchName,argv[optind]); strcpy(searchName,argv[optind]);
i=0; i=0;
p = searchName; p = searchName;
@ -154,26 +186,41 @@ int main (int argc, char **argv) {
check = ((offset2-offset1)/2) + offset1; check = ((offset2-offset1)/2) + offset1;
fseek(FInPtr,2+(check*sizeof(nameEntry)),SEEK_SET); fseek(FInPtr,2+(check*sizeof(nameEntry)),SEEK_SET);
fread(&nameStruct,sizeof(nameEntry),1,FInPtr); fread(&nameStruct,sizeof(nameEntry),1,FInPtr);
if((tmp = strdup(nameStruct.name)) == 0)
{
fprintf(stderr,"couldn't copy name string\n");
free (db_path);
exit (-1);
}
p = nameStruct.name;
while (*p) {
*p = tolower(*p);
p++;
}
cmp = strcmp(nameStruct.name,searchName); cmp = strcmp(nameStruct.name,searchName);
if (verbose) if (verbose)
printf(" checked %s\n",nameStruct.name); printf(" checked %s\n",tmp);
if (cmp > 0) { if (cmp > 0) { /* name bigger than searchName */
offset2 = check-1; offset2 = check-1;
} else if (cmp < 0) { } else if (cmp < 0) { /* name smaller than searchName */
offset1 = check+1; offset1 = check+1;
} else { } else {
if (verbose) { if (verbose) {
printf("Found entry %s!\n",searchName); printf("Found entry %s!\n",tmp);
#ifdef STACK_CHECK #ifdef STACK_CHECK
printf("Stack: %d\n",end_stack_check()); printf("Stack: %d\n",end_stack_check());
#endif #endif
exit(0); free (db_path);
free (tmp);
exit(0);
} }
printf("%s%s\n",NAME,searchName); printf("%s%s\n",NAME,tmp);
free (db_path);
free (tmp);
print_entry(FInPtr,nameStruct.offset); print_entry(FInPtr,nameStruct.offset);
} }
@ -182,6 +229,8 @@ int main (int argc, char **argv) {
#ifdef STACK_CHECK #ifdef STACK_CHECK
printf("Stack: %d\n",end_stack_check()); printf("Stack: %d\n",end_stack_check());
#endif #endif
free (db_path);
free (tmp);
exit(1); exit(1);
} }
} }

View File

@ -0,0 +1,13 @@
Name: describe
Version: 1.0.2
Shell: ORCA/Shell, GNO/ME
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/local/bin
FTP: ftp.cco.caltech.edu
Print a multi-line description obtained from the compiled 'describe'
database; giving utility name, version, intended shell, author, author's
contact, where the utility is, as well as where the utility can be FTPd
from on the InterNet.

View File

@ -1,5 +1,5 @@
#============================================================================= #=============================================================================
# List of shell applications for GNO/ME Last revision: 07 May 95 # List of shell applications for GNO/ME Last revision: 22 Oct 95
#============================================================================= #=============================================================================
# #
# About this file # About this file
@ -7,22 +7,28 @@
# This file is in human readable form, but is intended to be compiled with # This file is in human readable form, but is intended to be compiled with
# the program 'descc' into the 'describe' database. Just type 'descc # the program 'descc' into the 'describe' database. Just type 'descc
# <filename>', where <filename> is the name you saved this file to, and # <filename>', where <filename> is the name you saved this file to, and
# descc will compile the file into the file /usr/local/lib/describe. Make # descc will compile the file into the file /usr/local/lib/describe, or
# sure the directory structure '/usr/local/lib/' exists first! Information # alternatively into a file named 'describe' in the path given by the
# may be later culled from the file with the command 'describe <utility>'. # environment variable DESCDB. Make sure the path that DESCDB points to
# or /usr/local/lib exist first! Information may be later culled from the
# file with the command 'describe <utility>'.
# #
# While this file may be updated manually, new entries and updates may # While this file may be updated manually, new entries and updates may
# also be merged through the use of 'descu'. # also be merged through the use of 'descu'.
# #
# This file is sorted lexicographically based on the Name field. This # This file is sorted lexicographically, ignoring case, based on the
# means that any names starting with capital letters will appear before # Name field.
# those starting with lower case letters.
# #
# Send additions/corrections to: # Online home of describe
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~
# James Brookes # http://www.webzone1.co.uk/www/thesonkpage/describe.htm
# ftp://ftp.cco.caltech.edu/pub/apple2/shellutils/
# #
# jamesb@ecst.csuchico.edu # Updates and corrections may be submitted through the web page,
# or sent by email to sbehrens@contech.demon.co.uk.
#
# If you have trouble connecting to www.webzone1.co.uk,
# try webzone1.co.uk or 194.72.60.96.
# #
# To obtain the version number of a file: # To obtain the version number of a file:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -34,17 +40,9 @@
# actually mean the original author of the program. # actually mean the original author of the program.
#============================================================================== #==============================================================================
Name: DRWM
Version: 2.01
Author: Dave J. Roberts
Contact: dave@mary.iia.org
Where: /usr/X/bin
FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
Davis Rex Window Manager. A window manager for GNO.
Name: argv0 Name: argv0
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -55,6 +53,7 @@ shell scripts with #!/... syntax. Runs s16 programs with arguments.
Name: aw30 Name: aw30
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Robert Hill Author: Robert Hill
Contact: rhill@eecs.ukans.edu Contact: rhill@eecs.ukans.edu
Where: /usr/local/bin Where: /usr/local/bin
@ -66,6 +65,7 @@ terminal types.
Name: bc Name: bc
Version: 1.01 Version: 1.01
Shell: GNO/ME
Author: Frank Petroski Author: Frank Petroski
Contact: Contact:
Where: /usr/bin Where: /usr/bin
@ -78,6 +78,7 @@ POSIX P1003.2/D11 draft standard. Copyright Free Software Foundation.
Name: bed Name: bed
Version: 1.1.1 Version: 1.1.1
Shell: GNO/ME
Author: Phil Vandry Author: Phil Vandry
Contact: vandry@cam.org Contact: vandry@cam.org
Where: /usr/local/bin Where: /usr/local/bin
@ -88,6 +89,7 @@ in the file. Intended for editing binary files.
Name: binprint Name: binprint
Version: 1.2 Version: 1.2
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -97,34 +99,28 @@ FTP:
Name: bison Name: bison
Version: 1.19 Version: 1.19
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ... FTP: ftp://ftp.cco.caltech.edu/pub/apple2/source/
A port of the FSF's yacc replacement. bison is part of the GNU project. A port of the FSF's yacc replacement. bison is part of the GNU project.
yacc is a parser generator (also known as "compiler compiler"). yacc is a parser generator (also known as "compiler compiler").
Name: booz Name: booz
Version: 2.0 Version: 2.01
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ... FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils
Unpacks files that were packed with Zoo 2.1 or earlier. Unpacks files that were packed with Zoo 2.1 or earlier.
Name: cal
Version: x
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP:
Prints a calendar for the current month or any month.
Name: calls Name: calls
Version: 2.0 (16 Dec 93) Version: 2.0 (16 Dec 93)
Shell: GNO/ME
Author: Ported by Devin Reade Author: Ported by Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
@ -134,28 +130,41 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu.
functions within a program. It's more flexible than Orca shell version. functions within a program. It's more flexible than Orca shell version.
Requires cpp. Requires cpp.
Name: cal
Version: x
Shell: GNO/ME
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP:
Prints a calendar for the current month or any month.
Name: cclean Name: cclean
Version: 1.02 Version: 1.02
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: sbehrens@contech.demon.co.uk Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu FTP: Part of occ package
For use with occ. Remove the lines ccprep put into a source file from that For use with occ. Remove the lines ccprep put into a source file from that
source file. Part of the occ 1.12 distribution. source file. Part of the occ 1.12 distribution.
Name: ccprep Name: ccprep
Version: 1.1 Version: 1.1
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: sbehrens@contech.demon.co.uk Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu FTP: Part of occ package
For use with occ. Puts a "#line 2" statement into source files to For use with occ. Puts a "#line 2" statement into source files to
get around problems with occ 1.12 and ORCA/C 2.03. get around problems with occ 1.12 and ORCA/C 2.03.
Name: chat Name: chat
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -166,6 +175,7 @@ for replies, etc..
Name: chmod Name: chmod
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /bin Where: /bin
@ -176,6 +186,7 @@ including the read, write, destroy, backup, and invisible bits.
Name: copycat Name: copycat
Version: 1.4.1 Version: 1.4.1
Shell: GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /usr/bin Where: /usr/bin
@ -186,6 +197,7 @@ can be used as a simple dumb terminal program.
Name: cron Name: cron
Version: x Version: x
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/sbin Where: /usr/sbin
@ -195,6 +207,7 @@ FTP: ...
Name: cu Name: cu
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Dave J. Roberts Author: Dave J. Roberts
Contact: daver@interactive.net Contact: daver@interactive.net
Where: /usr/local/bin Where: /usr/local/bin
@ -204,6 +217,7 @@ A simple dialup utility.
Name: date Name: date
Version: 1.2 Version: 1.2
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -212,7 +226,8 @@ FTP: ...
Shows the date and time (optionally, continuously). Shows the date and time (optionally, continuously).
Name: descc Name: descc
Version: 1.0.1 Version: 1.0.2
Shell: ORCA/Shell, GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /usr/sbin Where: /usr/sbin
@ -221,18 +236,21 @@ FTP: ftp.cco.caltech.edu
Compile a source file into a 'describe' database file. Compile a source file into a 'describe' database file.
Name: describe Name: describe
Version: 1.0.1 Version: 1.0.2
Shell: ORCA/Shell, GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /usr/local/bin Where: /usr/local/bin
FTP: ftp.cco.caltech.edu FTP: ftp.cco.caltech.edu
Print a multi-line description obtained from the compiled 'describe' Print a multi-line description obtained from the compiled 'describe'
database; giving utility name, version, author, author's contact, where the database; giving utility name, version, intended shell, author, author's
utility is, as well as where the utility can be FTPd from on the InterNet. contact, where the utility is, as well as where the utility can be FTPd
from on the InterNet.
Name: descu Name: descu
Version: 1.0 Version: 1.0.2
Shell: ORCA/Shell, GNO/ME
Author: Devin Reade Author: Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/sbin Where: /usr/sbin
@ -240,8 +258,19 @@ FTP: ftp.cco.caltech.edu
Update a 'describe' source file. Update a 'describe' source file.
Name: dialup
Version: 1.1
Shell: GNO/ME
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/sbin
FTP: ...
Run from inittab to handle modems on dialup lines.
Name: dial Name: dial
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -250,17 +279,9 @@ FTP: ...
Uses your modem to dial telephone numbers stored in a database by name, Uses your modem to dial telephone numbers stored in a database by name,
or looks up the numbers and reports without dialing. or looks up the numbers and reports without dialing.
Name: dialup
Version: 1.1
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/sbin
FTP: ...
Run from inittab to handle modems on dialup lines.
Name: dmake Name: dmake
Version: 1.0 (4 Jul 94) Version: 1.0 (4 Jul 94)
Shell: GNO/ME
Author: Ported by Devin Reade. Author: Ported by Devin Reade.
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
@ -268,8 +289,19 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu.
A Unix-style make utility for automated compilation. A Unix-style make utility for automated compilation.
Name: DRWM
Version: 2.01
Shell: GNO/ME
Author: Dave J. Roberts
Contact: dave@mary.iia.org
Where: /usr/X/bin
FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
Davis Rex Window Manager. A window manager for GNO.
Name: dsort Name: dsort
Version: 1.0 (14 Jun 94) Version: 1.0 (14 Jun 94)
Shell: GNO/ME
Author: Devin Reade. Author: Devin Reade.
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
@ -280,6 +312,7 @@ with msort.
Name: dsplit Name: dsplit
Version: 1.0 (19 Dec 93) Version: 1.0 (19 Dec 93)
Shell: GNO/ME
Author: Ported by Devin Reade. Author: Ported by Devin Reade.
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
@ -291,6 +324,7 @@ resource fork) file.
Name: eps Name: eps
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /usr/bin Where: /usr/bin
@ -300,6 +334,7 @@ FTP: ...
Name: expr Name: expr
Version: 1.1 Version: 1.1
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -310,6 +345,7 @@ scientific notation. Uses C like syntax.
Name: finger Name: finger
Version: 1.1 Version: 1.1
Shell: GNO/ME
Author: Leslie M. Barstow III Author: Leslie M. Barstow III
Contact: wdphoenix@delphi.com Contact: wdphoenix@delphi.com
Where: /usr/bin Where: /usr/bin
@ -322,32 +358,45 @@ further information.
Name: flex Name: flex
Version: 2.38 Version: 2.38
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ... FTP: ftp://grind.isca.uiowa.edu/2/apple2/nodak/gs/shell.stuff/
A port of the FSF's lex replacement. flex is part of the GNU project. A port of the FSF's lex replacement. flex is part of the GNU project.
lex is a tokenizer generator, to be used in conjunction with yacc. Note lex is a tokenizer generator, to be used in conjunction with yacc. Note
that due to the way the FSF writes their code (yuck), flex has some problems that due to the way the FSF writes their code (yuck), flex has some problems
with ints being 16-bit instead of 32-bit on the GS. A version that fixes with ints being 16-bit instead of 32-bit on the GS..
these problems will be released as soon as the more annoying bugs are out
of ORCA/C 2.0.1.
Name: fmake Name: fmake
Version: 1.0 Version: 1.0
Shell: ORCA/Shell, GNO/ME
Author: Felix Blank Author: Felix Blank
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ... FTP: ...
fmake is Unixish make utility. It only understands a small subset of make fmake is a Unixish make utility. It only understands a small subset of make
commands, though, barely enough to maintain small projects. Written originally commands, though, barely enough to maintain small projects. Written originally
by Felix Blank, now "maintained" by Soenke Behrens. The need for this utility by Felix Blank. The need for this utility vanished with the advent of dmake.
vanished with the advent of dmake.
Name: fortune
Version: 1 (941115)
Shell: GNO/ME
Author: Douglas E. Mitton
Contact: dmitton@mulberry.com
Where: /usr/bin, /etc
FTP: grind.isca.uiowa.edu, GEnie A2Pro #4402
'fortune.shk' (71k) is a simple shell utility which displays
a random fortune. It contains a text based fortune collection.
The ORCA/C source is included. I ported this from a QNX2 shell
utility.
Name: ftn Name: ftn
Version: 1.1 (11 Oct 94) Version: 1.1 (11 Oct 94)
Shell: GNO/ME
Author: Dave J. Roberts. Version 1.1 changes by Devin Reade. Author: Dave J. Roberts. Version 1.1 changes by Devin Reade.
Contact: daver@rush.cc.edu, droberts@chaos.bsu.edu Contact: daver@rush.cc.edu, droberts@chaos.bsu.edu
Where: /usr/local/bin Where: /usr/local/bin
@ -357,6 +406,7 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
Name: getvers Name: getvers
Version: 1.2 Version: 1.2
Shell: GNO/ME
Author: Ian Schmidt Author: Ian Schmidt
Contact: irsman@iastate.edu Contact: irsman@iastate.edu
Where: /usr/bin Where: /usr/bin
@ -367,6 +417,7 @@ other information the author wishes to include, printing it to standard out.
Name: gzip Name: gzip
Version: 1.2.4 (Gno) Version: 1.2.4 (Gno)
Shell: GNO/ME
Author: Joseph Lee Author: Joseph Lee
Contact: eaiu410@ea.oac.uci.edu Contact: eaiu410@ea.oac.uci.edu
Where: /usr/local/bin Where: /usr/local/bin
@ -375,17 +426,9 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
GNU zip -- compress or expand files. Ported from the Free Software GNU zip -- compress or expand files. Ported from the Free Software
Foundation's gzip. Also has functionality of gunzip and gzcat. Foundation's gzip. Also has functionality of gunzip and gzcat.
Name: init
Version: 1.0
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Sends commands to the init daemon.
Name: initd Name: initd
Version: 1.4 Version: 1.4
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/sbin Where: /usr/sbin
@ -394,8 +437,19 @@ FTP: ...
Starts and kills processes, maintains the system run level, and runs Starts and kills processes, maintains the system run level, and runs
syslogd (log daemon) syslogd (log daemon)
Name: init
Version: 1.0
Shell: GNO/ME
Author: Phillip Vandry
Contact: vandry@CAM.ORG
Where: /usr/bin
FTP: ...
Sends commands to the init daemon.
Name: joinpara Name: joinpara
Version: 1.0 (16 Dec 93) Version: 1.0 (16 Dec 93)
Shell: GNO/ME
Author: Devin Reade Author: Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
@ -407,6 +461,7 @@ processor documents.
Name: last Name: last
Version: 1.1 Version: 1.1
Shell: GNO/ME
Author: Steve Reeves Author: Steve Reeves
Contact: Internet: reevess@cse.fau.edu, GEnie: S.REEVES2 Contact: Internet: reevess@cse.fau.edu, GEnie: S.REEVES2
Where: /usr/bin Where: /usr/bin
@ -418,6 +473,7 @@ It is only useful with GNO's Multi-User package.
Name: machtype Name: machtype
Version: 1.4 Version: 1.4
Shell: GNO/ME
Author: Ian Schmidt Author: Ian Schmidt
Contact: irsman@iastate.edu Contact: irsman@iastate.edu
Where: /usr/bin Where: /usr/bin
@ -428,6 +484,7 @@ memory, versions of GNO, GS/OS, and the ROM, accelerator type if any, and more.
Name: makedmake Name: makedmake
Version: 1.1.1 (16 Jan 94) Version: 1.1.1 (16 Jan 94)
Shell: GNO/ME
Author: Ported by Devin Reade Author: Ported by Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
@ -439,6 +496,7 @@ This is a particularily brain-dead port that will likely be superceded.
Name: makewhatis Name: makewhatis
Version: 1.1 (29 May 94) Version: 1.1 (29 May 94)
Shell: GNO/ME
Author: Devin Reade. Author: Devin Reade.
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/sbin Where: /usr/sbin
@ -447,16 +505,18 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
Generates the whatis database used by apropos(1) and whatis(1). Generates the whatis database used by apropos(1) and whatis(1).
Name: martian Name: martian
Version: ?? Version: 1.0
Shell: GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin or /usr/local/games Where: /usr/local/bin or /usr/local/games
FTP: ... FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils/
Creates martian poetry in nroff format. Creates martian poetry in nroff format.
Name: mem Name: mem
Version: 1.2 Version: 1.2
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -466,6 +526,7 @@ FTP: ...
Name: mkdir Name: mkdir
Version: 1.2 Version: 1.2
Shell: GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /bin Where: /bin
@ -475,6 +536,7 @@ FTP: ...
Name: mkfs Name: mkfs
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -484,6 +546,7 @@ FTP: ...
Name: msort Name: msort
Version: 1.0 (14 Jun 94) Version: 1.0 (14 Jun 94)
Shell: GNO/ME
Author: Devin Reade. Author: Devin Reade.
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
@ -494,6 +557,7 @@ with dsort.
Name: mugs Name: mugs
Version: 3.0 Version: 3.0
Shell: GNO/ME
Author: Brian Tao Author: Brian Tao
Contact: taob@io.org Contact: taob@io.org
Where: /usr/bin Where: /usr/bin
@ -503,18 +567,19 @@ FTP: ionews.io.org:/pub/apple/16bit/GNO
processor. Utilities for creating message packets on the UNIX system processor. Utilities for creating message packets on the UNIX system
and delivering replies are included. MicroEMACS 3.11c is required. and delivering replies are included. MicroEMACS 3.11c is required.
Name: newuser Name: ndp
Version: 1.0 Version: 1.08
Author: James Brookes Shell: ORCA/Shell, GNO/ME
Contact: jamesb@ecst.csuchico.edu Author: Soenke Behrens
Where: /usr/sbin Contact: sbehrens@contech.demon.co.uk
FTP: ... Where: /usr/local/bin
FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils/
Create a home directory with basic gshrc for a new user, and add user Merges a FIDO nodediff into a FIDO nodelist
into /etc/passwd file for immediate access.
Name: newuserv Name: newuserv
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /usr/sbin Where: /usr/sbin
@ -523,18 +588,31 @@ FTP: ...
Create a home directory with basic gshrc for new user, and add user Create a home directory with basic gshrc for new user, and add user
to /var/adm/newuser/newusers file for validation by the system operator. to /var/adm/newuser/newusers file for validation by the system operator.
Name: newuser
Version: 1.0
Shell: GNO/ME
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/sbin
FTP: ...
Create a home directory with basic gshrc for a new user, and add user
into /etc/passwd file for immediate access.
Name: occ Name: occ
Version: 1.12 Version: 1.13
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: sbehrens@contech.demon.co.uk Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils/
Unixish front-end for ORCA/C. Particularly useful in combination with Unixish front-end for ORCA/C. Particularly useful in combination with
dmake. Requires ORCA/C 2.0.3 (compiler version 2.0.2). dmake. Requires ORCA/C 2.0.3 (compiler version 2.0.2).
Name: parent Name: parent
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -545,6 +623,7 @@ level process.
Name: phone Name: phone
Version: 1.0.1 Version: 1.0.1
Shell: GNO/ME
Author: Robert Hill Author: Robert Hill
Contact: rhill@eecs.ukans.edu Contact: rhill@eecs.ukans.edu
Where: /usr/bin Where: /usr/bin
@ -555,6 +634,7 @@ split-screen format.
Name: rdial Name: rdial
Version: 1.1 (28 Feb 95) Version: 1.1 (28 Feb 95)
Shell: GNO/ME
Author: Jeremy Rand. Author: Jeremy Rand.
Contact: <u8902848@muss.mcmaster.ca> Contact: <u8902848@muss.mcmaster.ca>
Where: /usr/local/bin Where: /usr/local/bin
@ -564,6 +644,7 @@ Auto redial a system with a login script.
Name: rmdir Name: rmdir
Version: 1.0 (28 Nov 94) Version: 1.0 (28 Nov 94)
Shell: GNO/ME
Author: Devin Reade. Author: Devin Reade.
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /bin Where: /bin
@ -572,18 +653,32 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
Remove empty directories. Remove empty directories.
Name: rndname Name: rndname
Version: 4.0 Version: 4.1
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin or /usr/local/games Where: /usr/local/bin or /usr/games
FTP: ... FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils
Creates random names by a set of certain rules. Great if you have to come Creates random names by a set of certain rules.
up with names for your next RPG session and hate having to think up 20+
silly-sounding names all by yourself :) Name: rsound
Version: 1.1a
Shell: GNO/ME
Author: Douglas E. Mitton
Contact: dmitton@mulberry.com
Where: /usr/bin
FTP: grind.isca.uiowa.edu, GEnie A2Pro #4762
'GNO.rSound.SHK' (76K) is a shell utility which will list and
play any installed rSound in the '*:system:sounds' directory.
ORCA/C source is included as well as 2 home made rSound samples.
This program was written as an example with input from various
A2Pro personalities. "Add sounds to all your scripts, etc."
Name: rtf2text Name: rtf2text
Version: 1.0.6 Version: 1.0.6
Shell: GNO/ME
Author: Robert Hill Author: Robert Hill
Contact: rhill@eecs.ukans.edu Contact: rhill@eecs.ukans.edu
Where: /usr/bin Where: /usr/bin
@ -593,6 +688,7 @@ FTP: ...
Name: scpp Name: scpp
Version: 1.1 (15 Feb 94) Version: 1.1 (15 Feb 94)
Shell: GNO/ME
Author: Ported by Devin Reade Author: Ported by Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/bin Where: /usr/bin
@ -604,6 +700,7 @@ to read by removing unnecessary code (such as that for other architectures).
Name: sendmail Name: sendmail
Version: 1.1 Version: 1.1
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/lib/ Where: /usr/lib/
@ -614,6 +711,7 @@ destinations.
Name: setvers Name: setvers
Version: 1.0.2 Version: 1.0.2
Shell: GNO/ME
Author: Ian Schmidt Author: Ian Schmidt
Contact: irsman@iastate.edu Contact: irsman@iastate.edu
Where: /usr/bin Where: /usr/bin
@ -624,6 +722,7 @@ other information the author wishes to include.
Name: su Name: su
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: /bin Where: /bin
@ -633,6 +732,7 @@ FTP: ...
Name: sync Name: sync
Version: x Version: x
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -642,6 +742,7 @@ FTP: ...
Name: tee Name: tee
Version: 1.1 (23 Nov 93) Version: 1.1 (23 Nov 93)
Shell: GNO/ME
Author: Devin Reade Author: Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /bin Where: /bin
@ -652,6 +753,7 @@ in one or more text files.
Name: timelimit Name: timelimit
Version: 1.1 (16 Dec 93) Version: 1.1 (16 Dec 93)
Shell: GNO/ME
Author: Ported by Devin Reade Author: Ported by Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/bin Where: /usr/bin
@ -662,6 +764,7 @@ specified process a series of SIGINTs.
Name: tn Name: tn
Version: 1.1 (11 Oct 94) Version: 1.1 (11 Oct 94)
Shell: GNO/ME
Author: Dave J. Roberts. Version 1.1 changes by Devin Reade. Author: Dave J. Roberts. Version 1.1 changes by Devin Reade.
Contact: daver@rush.cc.edu, droberts@chaos.bsu.edu Contact: daver@rush.cc.edu, droberts@chaos.bsu.edu
Where: /usr/local/bin Where: /usr/local/bin
@ -671,16 +774,18 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
Name: udl Name: udl
Version: 1.14 Version: 1.14
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens, Devin Reade Author: Soenke Behrens, Devin Reade
Contact: sbehrens@contech.demon.co.uk, gdr@myrias.ab.ca Contact: sbehrens@contech.demon.co.uk, gdr@myrias.ab.ca
Where: /usr/local/bin Where: /usr/local/bin
FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils/
Converts text between the CR, LF and CR/LF forms. Also available for Unix Converts text between the CR, LF and CR/LF forms. Also available for Unix
machines, reasonably fast yet secure. machines, reasonably fast yet secure.
Name: uname Name: uname
Version: 2.0.2 Version: 2.0.2
Shell: GNO/ME
Author: Ian Schmidt Author: Ian Schmidt
Contact: irsman@drift.winternet.com Contact: irsman@drift.winternet.com
Where: /bin/ Where: /bin/
@ -691,34 +796,27 @@ other information such as your hostname if you are running the MU package.
Name: unarj Name: unarj
Version: 2.42 Version: 2.42
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ... FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils/
Unpacks files that were packed with ARJ 2.41 or earlier. Unpacks files that were packed with ARJ 2.41 or earlier.
Name: unpp Name: unpp
Version: 1.1 Version: 1.1
Shell: ORCA/Shell, GNO/ME
Author: Soenke Behrens Author: Soenke Behrens
Contact: schaf@meadow.muc.de Contact: sbehrens@contech.demon.co.uk
Where: /usr/local/bin Where: /usr/local/bin
FTP: ... FTP: ftp://ftp.cco.caltech.edu/pub/apple2/shellutils/
Uncompresses PowerPacker(tm) documents, which are created by them Amigoids. Uncompresses PowerPacker(tm) documents, which are created by them Amigoids.
Name: uptime
Version: 1.0
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/bin
FTP: ...
Reports the time, amount of time the system has been up, number of
users, and system load averages for the last 1, 5, and 15 minutes.
Name: uptimed Name: uptimed
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: Robert Hill Author: Robert Hill
Contact: rhill@eecs.ukans.edu Contact: rhill@eecs.ukans.edu
Where: /usr/sbin Where: /usr/sbin
@ -727,8 +825,20 @@ FTP: ...
Keeps track of system load averages for the uptime utility over the last Keeps track of system load averages for the uptime utility over the last
1, 5 and 15 minutes. 1, 5 and 15 minutes.
Name: uptime
Version: 1.0
Shell: GNO/ME
Author: James Brookes
Contact: jamesb@ecst.csuchico.edu
Where: /usr/bin
FTP: ...
Reports the time, amount of time the system has been up, number of
users, and system load averages for the last 1, 5, and 15 minutes.
Name: whereis Name: whereis
Version: v1.1 (2 Jan 93) Version: v1.1 (2 Jan 93)
Shell: GNO/ME
Author: v1.1 update by Devin Reade Author: v1.1 update by Devin Reade
Contact: gdr@myrias.ab.ca Contact: gdr@myrias.ab.ca
Where: /usr/bin Where: /usr/bin
@ -739,6 +849,7 @@ reports the location of source, executables, and man pages.
Name: wrap Name: wrap
Version: 1.1 Version: 1.1
Shell: GNO/ME
Author: Phillip Vandry Author: Phillip Vandry
Contact: vandry@CAM.ORG Contact: vandry@CAM.ORG
Where: /usr/bin Where: /usr/bin
@ -749,6 +860,7 @@ data and is very fast.
Name: write Name: write
Version: 2.1 Version: 2.1
Shell: GNO/ME
Author: Leslie M. Barstow III Author: Leslie M. Barstow III
Contact: wdphoenix@delphi.com Contact: wdphoenix@delphi.com
Where: /usr/bin Where: /usr/bin
@ -761,6 +873,7 @@ you enter a blank line.
Name: xargs Name: xargs
Version: 0.9 (3 Mar 95) Version: 0.9 (3 Mar 95)
Shell: GNO/ME
Author: Jeremy Rand. Author: Jeremy Rand.
Contact: <u8902848@muss.mcmaster.ca> Contact: <u8902848@muss.mcmaster.ca>
Where: /usr/local/bin Where: /usr/local/bin
@ -770,6 +883,7 @@ Pass parameters to a command through standard input.
Name: xbiff Name: xbiff
Version: 1.0 Version: 1.0
Shell: GNO/ME
Author: James Brookes Author: James Brookes
Contact: jamesb@ecst.csuchico.edu Contact: jamesb@ecst.csuchico.edu
Where: */system/desk.accs/ Where: */system/desk.accs/
@ -781,6 +895,7 @@ content region causes a title bar to appear, allowing the window to be moved.
Name: xclock Name: xclock
Version: 1.12 Version: 1.12
Shell: GNO/ME
Author: Dave J. Roberts Author: Dave J. Roberts
Contact: dave@mary.iia.org Contact: dave@mary.iia.org
Where: /usr/X/bin Where: /usr/X/bin
@ -790,6 +905,7 @@ graphical analog time display unit
Name: xlogin Name: xlogin
Version: 2.21 Version: 2.21
Shell: GNO/ME
Author: Dave J. Roberts Author: Dave J. Roberts
Contact: dave@mary.iia.org Contact: dave@mary.iia.org
Where: /usr/X/bin Where: /usr/X/bin
@ -798,6 +914,7 @@ FTP: ftp.cco.caltech.edu, grind.isca.uiowa.edu
Name: zsh Name: zsh
Version: 2.0 Version: 2.0
Shell: GNO/ME
Author: Leslie M. Barstow III Author: Leslie M. Barstow III
Contact: wdphoenix@delphi.com Contact: wdphoenix@delphi.com
Where: /bin Where: /bin

View File

@ -1,4 +1,4 @@
.TH DESCU 8 "System Administration" "7 May 1995" "Version 1.0" .TH DESCU 8 "System Administration" "7 May 1995" "Version 1.0.2"
.SH NAME .SH NAME
descu \- the describe(1) source updater descu \- the describe(1) source updater
.SH SYNOPSIS .SH SYNOPSIS
@ -31,13 +31,14 @@ field. If an entry in
is already in is already in
.IR sourcefile , .IR sourcefile ,
it replaces the original; otherwise the entry is appended. In both it replaces the original; otherwise the entry is appended. In both
cases, the output is sorted lexicographically, based on the cases, the output is sorted lexicographically (ignoring case), based on
the
.BR Name: .BR Name:
field. field.
.LP .LP
.BR descu .BR descu
will create the file will create the file
.B describe.rej .B descu.rej
in the current directory. This contains all records that were removed in the current directory. This contains all records that were removed
from from
.IR sourcefile . .IR sourcefile .

View File

@ -10,7 +10,7 @@
* Copyright 1995 by Devin Reade for James Brookes' describe(1) utility. * Copyright 1995 by Devin Reade for James Brookes' describe(1) utility.
* See the included README file and man page for details. * See the included README file and man page for details.
* *
* $Id: descu.c,v 1.1 1996/01/22 01:38:05 gdr Exp $ * $Id: descu.c,v 1.2 1996/01/22 02:40:49 gdr Exp $
*/ */
#pragma optimize -1 #pragma optimize -1
@ -28,7 +28,7 @@
#include <getopt.h> #include <getopt.h>
#include "desc.h" #include "desc.h"
#define _VERSION_ "v1.0.1" #define _VERSION_ "v1.0.2"
#define MAX_BUFFER 65534 #define MAX_BUFFER 65534
#define SLOTS_QUANTUM 20 #define SLOTS_QUANTUM 20
#define REJECT_FILE "descu.rej" #define REJECT_FILE "descu.rej"
@ -38,6 +38,7 @@ ssize_t read(int, void *, size_t);
#endif #endif
char *strerror(int); char *strerror(int);
void convert (char *); void convert (char *);
int my_stricmp (const char *cs, const char *ct);
char *versionStr = _VERSION_; char *versionStr = _VERSION_;
static char *header=NULL; /* comments before the first describe entry */ static char *header=NULL; /* comments before the first describe entry */
@ -251,7 +252,7 @@ void insert(char *buffer, int initial_buffer) {
/* /*
* sortArray - do a heapsort on <array> consisting of <slotsUsed> elements. * sortArray - do a heapsort on <array> consisting of <slotsUsed> elements.
* The sort is based on the field array[i]->name, sorted * The sort is based on the field array[i]->name, sorted
* lexicographically. * lexicographically ignoring case.
*/ */
void sortArray(descEntry **array, int slotsUsed) { void sortArray(descEntry **array, int slotsUsed) {
@ -286,8 +287,8 @@ void sortArray(descEntry **array, int slotsUsed) {
i = l; /* set up to sift down element rra to its proper place */ i = l; /* set up to sift down element rra to its proper place */
j = l << 1; j = l << 1;
while (j<=ir) { while (j<=ir) {
if (j<ir && (strcmp(array[j]->name,array[j+1]->name)<0)) ++j; if (j<ir && (my_stricmp(array[j]->name,array[j+1]->name)<0)) ++j;
if (strcmp(rra->name,array[j]->name)<0) { /* demote rra */ if (my_stricmp(rra->name,array[j]->name)<0) { /* demote rra */
array[i] = array[j]; array[i] = array[j];
i = j; i = j;
j += i; j += i;
@ -297,6 +298,27 @@ void sortArray(descEntry **array, int slotsUsed) {
} }
} }
/*
* int my_stricmp (const char *cs, const char *ct);
*
* Compare the two strings cs and ct case-insensitive. Return
* <0 if cs<ct, 0 if cs == ct, >0 if cs>ct.
*
*/
int my_stricmp (const char *cs, const char *ct)
{
char a, b;
while ((a = tolower(*cs)) && (b = tolower(*ct))) {
if (a < b) return -1;
if (a > b) return 1;
cs++; ct++;
}
if (*cs == *ct) return 0;
else if (*cs) return -1;
else return 1;
}
/* /*
* ns_strcmp (no-space string compare) -- compare two strings, ignoring * ns_strcmp (no-space string compare) -- compare two strings, ignoring

View File

@ -0,0 +1,10 @@
Name: descu
Version: 1.0.2
Shell: ORCA/Shell, GNO/ME
Author: Devin Reade
Contact: gdr@myrias.ab.ca
Where: /usr/sbin
FTP: ftp.cco.caltech.edu
Update a 'describe' source file.

View File

@ -15,17 +15,20 @@ INSTALL = /bin/cp
build: describe descc descu build: describe descc descu
descc: descc.o basename.o descc: descc.o basename.o descc.r
@purge @purge
$(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS)
copyfork descc.r descc
describe: describe.o basename.o describe: describe.o basename.o describe.r
@purge @purge
$(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS)
copyfork describe.r describe
descu: descu.o basename.o descu: descu.o basename.o descu.r
@purge @purge
$(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS)
copyfork descu.r descu
basename.o: basename.c basename.o: basename.c
$(CC) -c $(CFLAGS) basename.c $(CC) -c $(CFLAGS) basename.c