First attempt at making this nicely installable.
This commit is contained in:
		
							
								
								
									
										54
									
								
								Files.base
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								Files.base
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
INSTALL
 | 
			
		||||
LICENSE
 | 
			
		||||
MANIFEST
 | 
			
		||||
README
 | 
			
		||||
pgp_public_key.txt
 | 
			
		||||
cowsay
 | 
			
		||||
cowsay.1
 | 
			
		||||
cows/
 | 
			
		||||
cows/beavis.zen.cow
 | 
			
		||||
cows/bong.cow
 | 
			
		||||
cows/bud-frogs.cow
 | 
			
		||||
cows/bunny.cow
 | 
			
		||||
cows/cheese.cow
 | 
			
		||||
cows/cower.cow
 | 
			
		||||
cows/default.cow
 | 
			
		||||
cows/devil.cow
 | 
			
		||||
cows/dragon-and-cow.cow
 | 
			
		||||
cows/dragon.cow
 | 
			
		||||
cows/elephant-in-snake.cow
 | 
			
		||||
cows/elephant.cow
 | 
			
		||||
cows/eyes.cow
 | 
			
		||||
cows/flaming-sheep.cow
 | 
			
		||||
cows/ghostbusters.cow
 | 
			
		||||
cows/head-in.cow
 | 
			
		||||
cows/hellokitty.cow
 | 
			
		||||
cows/kiss.cow
 | 
			
		||||
cows/kitty.cow
 | 
			
		||||
cows/koala.cow
 | 
			
		||||
cows/kosh.cow
 | 
			
		||||
cows/luke-koala.cow
 | 
			
		||||
cows/mech-and-cow
 | 
			
		||||
cows/meow.cow
 | 
			
		||||
cows/milk.cow
 | 
			
		||||
cows/moofasa.cow
 | 
			
		||||
cows/moose.cow
 | 
			
		||||
cows/mutilated.cow
 | 
			
		||||
cows/ren.cow
 | 
			
		||||
cows/satanic.cow
 | 
			
		||||
cows/sheep.cow
 | 
			
		||||
cows/skeleton.cow
 | 
			
		||||
cows/small.cow
 | 
			
		||||
cows/sodomized.cow
 | 
			
		||||
cows/stegosaurus.cow
 | 
			
		||||
cows/stimpy.cow
 | 
			
		||||
cows/supermilker.cow
 | 
			
		||||
cows/surgery.cow
 | 
			
		||||
cows/telebears.cow
 | 
			
		||||
cows/three-eyes.cow
 | 
			
		||||
cows/turkey.cow
 | 
			
		||||
cows/turtle.cow
 | 
			
		||||
cows/udder.cow
 | 
			
		||||
cows/vader-koala.cow
 | 
			
		||||
cows/www.cow
 | 
			
		||||
cows/vader.cow
 | 
			
		||||
							
								
								
									
										15
									
								
								INSTALL
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								INSTALL
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
=================
 | 
			
		||||
Installing cowsay
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
If you really want to get things installed a nice and pretty way,
 | 
			
		||||
 | 
			
		||||
	sh install.sh
 | 
			
		||||
 | 
			
		||||
It will ask approximately one question.  If you can't answer it,
 | 
			
		||||
you need serious help.
 | 
			
		||||
 | 
			
		||||
If the install goes well, you can start cowing immediately!  Just
 | 
			
		||||
be sure to read the manual page first...
 | 
			
		||||
 | 
			
		||||
$Id$
 | 
			
		||||
							
								
								
									
										36
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
==============
 | 
			
		||||
cowsay License
 | 
			
		||||
==============
 | 
			
		||||
 | 
			
		||||
cowsay is distributed under the same licensing terms as Perl: the
 | 
			
		||||
Artistic License or the GNU General Public License.  If you don't
 | 
			
		||||
want to track down these licenses and read them for yourself, use
 | 
			
		||||
the parts that I'd prefer:
 | 
			
		||||
 | 
			
		||||
(0) I wrote it and you didn't.
 | 
			
		||||
 | 
			
		||||
(1) Give credit where credit is due if you borrow the code for some
 | 
			
		||||
other purpose.
 | 
			
		||||
 | 
			
		||||
(2) If you have any bugfixes or suggestions, please notify me so
 | 
			
		||||
that I may incorporate them.
 | 
			
		||||
 | 
			
		||||
(3) If you try to make money off of cowsay, you suck.
 | 
			
		||||
 | 
			
		||||
===============
 | 
			
		||||
cowsay Legalese
 | 
			
		||||
===============
 | 
			
		||||
 | 
			
		||||
(0) Copyright (c) 1999 Tony Monroe.  All rights reserved.  All
 | 
			
		||||
lefts may or may not be reversed at my discretion.
 | 
			
		||||
 | 
			
		||||
(1) This software package can be freely redistributed or modified
 | 
			
		||||
under the terms described above in the "cowsay License" section
 | 
			
		||||
of this file.
 | 
			
		||||
 | 
			
		||||
(2) cowsay is provided "as is," with no warranties whatsoever,
 | 
			
		||||
expressed or implied.  If you want some implied warranty about
 | 
			
		||||
merchantability and/or fitness for a particular purpose, you will
 | 
			
		||||
not find it here, because there is no such thing here.
 | 
			
		||||
 | 
			
		||||
(3) I hate legalese.
 | 
			
		||||
							
								
								
									
										9
									
								
								MANIFEST
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								MANIFEST
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
INSTALL			Instructions for installing cowsay.
 | 
			
		||||
LICENSE			The license for use and redistribution of cowsay.
 | 
			
		||||
MANIFEST		This file.
 | 
			
		||||
README			Read this first.  Really.
 | 
			
		||||
cows/*			Support files used by cowsay.
 | 
			
		||||
cowsay			Main cowsay executable.
 | 
			
		||||
cowsay.1		Main cowsay manual page.
 | 
			
		||||
install.sh		cowsay installation script.
 | 
			
		||||
pgp_public_key.txt	Verify the signature file with this key.
 | 
			
		||||
							
								
								
									
										40
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
##
 | 
			
		||||
## Makefile for managing simple NetHirc-related tasks
 | 
			
		||||
##
 | 
			
		||||
## $Id$
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
FILES= Files.base
 | 
			
		||||
PRODUCT= cowsay
 | 
			
		||||
VER= 3.0
 | 
			
		||||
BASE= ${PRODUCT}-${VER}
 | 
			
		||||
TARZ= ${BASE}.tar.Z
 | 
			
		||||
TARGZ= ${BASE}.tar.gz
 | 
			
		||||
TARS= ${TARZ} ${TARGZ}
 | 
			
		||||
SIGZ= ${TARZ}.sig
 | 
			
		||||
SIGGZ= ${TARGZ}.sig
 | 
			
		||||
SIGS= ${SIGZ} ${SIGGZ}
 | 
			
		||||
FTP= jariten:ftp/cowsay
 | 
			
		||||
 | 
			
		||||
release: run-pax sign upload
 | 
			
		||||
 | 
			
		||||
tar: run-pax
 | 
			
		||||
 | 
			
		||||
run-pax: ${FILES}
 | 
			
		||||
	-chmod +x install.sh
 | 
			
		||||
	pax -w -d -x tar \
 | 
			
		||||
		-s ",^,${BASE}/," \
 | 
			
		||||
		-f ${BASE}.tar \
 | 
			
		||||
		`cat ${FILES}`
 | 
			
		||||
	gzip -c ${BASE}.tar > ${TARGZ}
 | 
			
		||||
	compress ${BASE}.tar
 | 
			
		||||
 | 
			
		||||
sign: ${TARS}
 | 
			
		||||
	for i in ${TARS}; do pgp -sb $$i; done
 | 
			
		||||
	chmod 644 ${SIGS}
 | 
			
		||||
 | 
			
		||||
upload: ${TARS} ${SIGS}
 | 
			
		||||
	scp ${TARS} ${SIGS} ${FTP}
 | 
			
		||||
 | 
			
		||||
clean: 
 | 
			
		||||
	-rm -f ${TARS} ${SIGS}
 | 
			
		||||
							
								
								
									
										28
									
								
								README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								README
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
==========
 | 
			
		||||
cowsay 3.0
 | 
			
		||||
==========
 | 
			
		||||
 | 
			
		||||
cowsay is a configurable talking cow, written in Perl.  It operates
 | 
			
		||||
much as the figlet program does, and it written in the same spirit
 | 
			
		||||
of silliness.
 | 
			
		||||
 | 
			
		||||
cowsay is actually a pretty old program.  It has not really been
 | 
			
		||||
released before, and I am releasing it in the hope that someone
 | 
			
		||||
other than myself will be amused by it. 
 | 
			
		||||
 | 
			
		||||
The first major version of cowsay had one cow and one message
 | 
			
		||||
template: $foo is $verb $bar.  Not very flexible, but people managed
 | 
			
		||||
to do pretty interesting things with it.  The second major version
 | 
			
		||||
scrapped many of the limitations of the first, by allowing arbitrary
 | 
			
		||||
messages, multiple cowfiles, and even support for cows talking in
 | 
			
		||||
figlet.  The third version was a rewrite of the second into Perl
 | 
			
		||||
5, whereupon the code got a lot smaller and more manageable. :-)
 | 
			
		||||
 | 
			
		||||
To install cowsay, consult the INSTALL file in this directory.
 | 
			
		||||
 | 
			
		||||
For the terms and conditions of use, consult the LICENSE file in
 | 
			
		||||
this directory.
 | 
			
		||||
 | 
			
		||||
-- Tony Monroe (tony@nog.net)
 | 
			
		||||
 | 
			
		||||
$Id$
 | 
			
		||||
							
								
								
									
										9
									
								
								cowsay
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								cowsay
									
									
									
									
									
								
							@@ -1,8 +1,9 @@
 | 
			
		||||
#!/usr/bin/perl -w
 | 
			
		||||
#%BANGPERL%
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Cowsay 3.0
 | 
			
		||||
## Tony Monroe, 13 April 1999
 | 
			
		||||
##
 | 
			
		||||
## This file is part of cowsay.  (c) 1999 Tony Monroe.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
use Text::Wrap qw(wrap fill $columns $tabstop);
 | 
			
		||||
@@ -15,7 +16,7 @@ $progname = basename($0);
 | 
			
		||||
$eyes = "oo";
 | 
			
		||||
$tongue = "  ";
 | 
			
		||||
$wrap = 40;
 | 
			
		||||
$cowpath = $ENV{'COWPATH'} || '/usr/local/share/cows';
 | 
			
		||||
$cowpath = $ENV{'COWPATH'} || '%PREFIX%/share/cows';
 | 
			
		||||
@message = ();
 | 
			
		||||
$thoughts = "";
 | 
			
		||||
%opts = (
 | 
			
		||||
@@ -159,7 +160,7 @@ sub get_cow {
 | 
			
		||||
 | 
			
		||||
sub display_usage {
 | 
			
		||||
	die <<EOF;
 | 
			
		||||
cow{say,think} version $version, (c) 1999 Tony's SquidWarez
 | 
			
		||||
cow{say,think} version $version, (c) 1999 Tony Monroe
 | 
			
		||||
Usage: $progname [-bdgpstwy] [-h] [-e eyes] [-f cowfile] 
 | 
			
		||||
          [-l] [-n] [-T tongue] [-W wrapcolumn] [message]
 | 
			
		||||
EOF
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										182
									
								
								cowsay.1
									
									
									
									
									
								
							
							
						
						
									
										182
									
								
								cowsay.1
									
									
									
									
									
								
							@@ -1,44 +1,57 @@
 | 
			
		||||
.so /usr/local/etc/nmh/tmac.h
 | 
			
		||||
.TH COWSAY 1 "Barnyard Animal Management"
 | 
			
		||||
.\" 
 | 
			
		||||
.\" cowsay.1
 | 
			
		||||
.\"
 | 
			
		||||
.\" $Id$
 | 
			
		||||
.\"
 | 
			
		||||
.\" This file is part of cowsay.  (c) 1999 Tony Monroe.
 | 
			
		||||
.\"
 | 
			
		||||
.ds Nm Cowsay
 | 
			
		||||
.ds nm cowsay
 | 
			
		||||
.TH \*(nm 1 "$Date$"
 | 
			
		||||
.SH NAME
 | 
			
		||||
cowsay, cowthink \- configurable speaking/thinking cow
 | 
			
		||||
\*(nm/cowthink \- configurable speaking/thinking cow (and a bit more)
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
cowsay
 | 
			
		||||
\%[\-e eye_string]
 | 
			
		||||
\%[\-f cowfile]
 | 
			
		||||
\%[\-h]
 | 
			
		||||
\%[\-l]
 | 
			
		||||
\%[\-n]
 | 
			
		||||
\%[\-T tongue_string] 
 | 
			
		||||
\%[\-W column]
 | 
			
		||||
\%[\-bdgpstwy]
 | 
			
		||||
.RB [ \-e 
 | 
			
		||||
.IR eye_string ]
 | 
			
		||||
.RB [ \-f 
 | 
			
		||||
.IR cowfile ]
 | 
			
		||||
.RB [ \-h ]
 | 
			
		||||
.RB [ \-l ]
 | 
			
		||||
.RB [ \-n ]
 | 
			
		||||
.RB [ \-T 
 | 
			
		||||
.IR tongue_string ] 
 | 
			
		||||
.RB [ \-W 
 | 
			
		||||
.IR column ]
 | 
			
		||||
.RB [ \-bdgpstwy ]
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
.I Cowsay
 | 
			
		||||
generates an ASCII picture of a cow saying something provided by the
 | 
			
		||||
user.  If run with no arguments, it accepts standard input, word-wraps
 | 
			
		||||
the message given at about 40 columns, and prints the cow saying the
 | 
			
		||||
given message on standard output.
 | 
			
		||||
 | 
			
		||||
To aid in the use of arbitrary messages with arbitrary whitespace, use the
 | 
			
		||||
.B -n
 | 
			
		||||
option.  If it is specified, the given message will not
 | 
			
		||||
be word-wrapped.  This is possibly useful if you want to make the cow
 | 
			
		||||
think or speak in figlet(6).  If 
 | 
			
		||||
.B -n
 | 
			
		||||
is specified, there must not be any command-line arguments left after
 | 
			
		||||
all the switches have been processed.  
 | 
			
		||||
 | 
			
		||||
.PP
 | 
			
		||||
To aid in the use of arbitrary messages with arbitrary whitespace,
 | 
			
		||||
use the
 | 
			
		||||
.B \-n
 | 
			
		||||
option.  If it is specified, the given message will not be
 | 
			
		||||
word-wrapped.  This is possibly useful if you want to make the cow
 | 
			
		||||
think or speak in figlet(6).  If
 | 
			
		||||
.B \-n
 | 
			
		||||
is specified, there must not be any command-line arguments left
 | 
			
		||||
after all the switches have been processed.
 | 
			
		||||
.PP
 | 
			
		||||
The
 | 
			
		||||
.B -W
 | 
			
		||||
specifies roughly (where the message should be wrapped.  The default is
 | 
			
		||||
equivalent to 
 | 
			
		||||
.B -W 40
 | 
			
		||||
i.e. wrap words at or before the 40th column.  
 | 
			
		||||
 | 
			
		||||
.B \-W
 | 
			
		||||
specifies roughly (where the message should be wrapped.  The default
 | 
			
		||||
is equivalent to
 | 
			
		||||
.B \-W 40
 | 
			
		||||
i.e. wrap words at or before the 40th column.
 | 
			
		||||
.PP
 | 
			
		||||
If any command-line arguments are left over after all switches have
 | 
			
		||||
been processed, they become the cow\'s message.  The program will not
 | 
			
		||||
been processed, they become the cow's message.  The program will not
 | 
			
		||||
accept standard input for a message in this case.
 | 
			
		||||
 | 
			
		||||
.PP
 | 
			
		||||
There are several provided modes which change the appearance of the
 | 
			
		||||
cow depending on its particular emotional/physical state.  The 
 | 
			
		||||
.B \-b
 | 
			
		||||
@@ -54,79 +67,94 @@ makes the cow appear thoroughly stoned;
 | 
			
		||||
.B \-t
 | 
			
		||||
yields a tired cow;
 | 
			
		||||
.B \-w
 | 
			
		||||
is somewhat the opposite of \-t, and initiates wired mode;
 | 
			
		||||
is somewhat the opposite of 
 | 
			
		||||
.BR \-t , 
 | 
			
		||||
and initiates wired mode;
 | 
			
		||||
.B \-y
 | 
			
		||||
brings on the cow's youthful appearance.
 | 
			
		||||
 | 
			
		||||
.PP
 | 
			
		||||
The user may specify the
 | 
			
		||||
.B -e 
 | 
			
		||||
option to select the appearance of the cow's eyes, in which
 | 
			
		||||
case the first two characters of the argument string 
 | 
			
		||||
.B eye_string
 | 
			
		||||
.B \-e
 | 
			
		||||
option to select the appearance of the cow's eyes, in which case
 | 
			
		||||
the first two characters of the argument string
 | 
			
		||||
.I eye_string
 | 
			
		||||
will be used.  The default eyes are 'oo'.  The tongue is similarly
 | 
			
		||||
configurable through
 | 
			
		||||
.B -T
 | 
			
		||||
.B \-T
 | 
			
		||||
and
 | 
			
		||||
.B tongue_string; 
 | 
			
		||||
it must be two characters and does not appear by
 | 
			
		||||
default.  However, it does appear in the 'dead' and 'stoned' modes.
 | 
			
		||||
Any configuration done by
 | 
			
		||||
.B -e
 | 
			
		||||
.IR tongue_string ;
 | 
			
		||||
it must be two characters and does not appear by default.  However,
 | 
			
		||||
it does appear in the 'dead' and 'stoned' modes.  Any configuration
 | 
			
		||||
done by
 | 
			
		||||
.B \-e
 | 
			
		||||
and
 | 
			
		||||
.B -T
 | 
			
		||||
.B \-T
 | 
			
		||||
will be lost if one of the provided modes is used.
 | 
			
		||||
 | 
			
		||||
.PP
 | 
			
		||||
The
 | 
			
		||||
.B -f
 | 
			
		||||
.B \-f
 | 
			
		||||
option specifies a particular cow picture file (``cowfile'') to
 | 
			
		||||
use.  If the cowfile spec contains / then it will be interpreted
 | 
			
		||||
use.  If the cowfile spec contains '/' then it will be interpreted
 | 
			
		||||
as a path relative to the current directory.  Otherwise, cowsay
 | 
			
		||||
will search the path specified in the COWPATH environment variable.
 | 
			
		||||
To list all cowfiles on the current $COWPATH, invoke
 | 
			
		||||
.B cowsay
 | 
			
		||||
will search the path specified in the 
 | 
			
		||||
.B COWPATH 
 | 
			
		||||
environment variable.
 | 
			
		||||
To list all cowfiles on the current 
 | 
			
		||||
.BR COWPATH , 
 | 
			
		||||
invoke
 | 
			
		||||
.B \*(nm
 | 
			
		||||
with the
 | 
			
		||||
.B -l
 | 
			
		||||
.B \-l
 | 
			
		||||
switch.
 | 
			
		||||
 | 
			
		||||
.PP
 | 
			
		||||
If the program is invoked as 
 | 
			
		||||
.B cowthink 
 | 
			
		||||
then the cow will think its message instead of saying it.
 | 
			
		||||
 | 
			
		||||
.PP
 | 
			
		||||
.SH COWFILE FORMAT
 | 
			
		||||
A cowfile is made up of a simple block of perl(1) code, which
 | 
			
		||||
assigns a picture of a cow to the variable ``$the_cow''.  Should
 | 
			
		||||
you wish to customize the eyes or the tongue of the cow, then the
 | 
			
		||||
variables ``$eyes'' and ``$tongue'' may be used.  The trail leading
 | 
			
		||||
up to the cow\'s message balloon is composed of the character(s)
 | 
			
		||||
in the ``$thoughts'' variable.  Any backslashes must be reduplicated
 | 
			
		||||
to prevent interpolation.  The name of a cowfile should end with
 | 
			
		||||
``.cow'', otherwise it is assumed not to be a cowfile.  Also,
 | 
			
		||||
at-signs (``@'') must be backslashed because that is what Perl 5
 | 
			
		||||
expects.
 | 
			
		||||
 | 
			
		||||
A cowfile is made up of a simple block of
 | 
			
		||||
.BR perl (1)
 | 
			
		||||
code, which assigns a picture of a cow to the variable
 | 
			
		||||
.BR $the_cow .
 | 
			
		||||
Should you wish to customize the eyes or the tongue of the cow,
 | 
			
		||||
then the variables
 | 
			
		||||
.BR $eyes and $tongue
 | 
			
		||||
may be used.  The trail leading up to the cow's message balloon is
 | 
			
		||||
composed of the character(s) in the
 | 
			
		||||
.B $thoughts
 | 
			
		||||
variable.  Any backslashes must be reduplicated to prevent
 | 
			
		||||
interpolation.  The name of a cowfile should end with
 | 
			
		||||
.BR .cow ,
 | 
			
		||||
otherwise it is assumed not to be a cowfile.  Also, at-signs (``@'')
 | 
			
		||||
must be backslashed because that is what Perl 5 expects.
 | 
			
		||||
.PP
 | 
			
		||||
.SH COMPATIBILITY WITH OLDER VERSIONS
 | 
			
		||||
.PP
 | 
			
		||||
What older versions? :-)
 | 
			
		||||
.PP
 | 
			
		||||
Version 3.0 is fully backward-compatible with 2.x versions.  If
 | 
			
		||||
you're still using a 1.x version, consider upgrading.
 | 
			
		||||
 | 
			
		||||
.SH ENVIRONMENT
 | 
			
		||||
The COWPATH environment variable, if present, will be used to search
 | 
			
		||||
for cowfiles.  It contains a colon-separated list of directories,
 | 
			
		||||
much like PATH or MANPATH.  It should always contain the
 | 
			
		||||
/usr/local/share/cows directory, or at least a directory with a
 | 
			
		||||
file called ``default.cow'' in it.
 | 
			
		||||
 | 
			
		||||
much like
 | 
			
		||||
.B PATH or
 | 
			
		||||
.BR MANPATH .
 | 
			
		||||
It should always contain the
 | 
			
		||||
.B /usr/local/share/cows
 | 
			
		||||
directory, or at least a directory with a file called 
 | 
			
		||||
.B default.cow
 | 
			
		||||
in it.
 | 
			
		||||
.SH FILES
 | 
			
		||||
/usr/local/share/cows holds a sample set of cowfiles.  If your
 | 
			
		||||
COWPATH is not explicitly set, it automatically contains this directory.
 | 
			
		||||
 | 
			
		||||
.B %PREFIX%/share/cows
 | 
			
		||||
holds a sample set of cowfiles.  If your
 | 
			
		||||
.B COWPATH
 | 
			
		||||
is not explicitly set, it automatically contains this directory.
 | 
			
		||||
.SH BUGS
 | 
			
		||||
If there are any left, please notify the author at the address below.
 | 
			
		||||
 | 
			
		||||
.SH AUTHOR
 | 
			
		||||
Tony Monroe (tmonroe@csua.berkeley.edu), with suggestions from Shannon
 | 
			
		||||
Appel (appel@csua.berkeley.edu) and contributions from Anthony Polito
 | 
			
		||||
(aspolito@csua.berkeley.edu).
 | 
			
		||||
 | 
			
		||||
Tony Monroe (tony@nog.net), with suggestions from Shannon
 | 
			
		||||
Appel (appel@CSUA.Berkeley.EDU) and contributions from Anthony Polito
 | 
			
		||||
(aspolito@CSUA.Berkeley.EDU).
 | 
			
		||||
.SH SEE ALSO
 | 
			
		||||
perl(1), wall(1), nwrite(1), figlet(6), /csua/bin/rootcow
 | 
			
		||||
 | 
			
		||||
perl(1), wall(1), nwrite(1), figlet(6)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										84
									
								
								install.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										84
									
								
								install.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,84 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## install.sh
 | 
			
		||||
##
 | 
			
		||||
## Installation script for cowsay.
 | 
			
		||||
##
 | 
			
		||||
## $Id$
 | 
			
		||||
##
 | 
			
		||||
## This file is part of cowsay.  (c) 1999 Tony Monroe.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
rcs_id='$Id$'
 | 
			
		||||
 | 
			
		||||
filelist='cows'
 | 
			
		||||
 | 
			
		||||
cat <<DOG
 | 
			
		||||
===================
 | 
			
		||||
cowsay Installation
 | 
			
		||||
===================
 | 
			
		||||
 | 
			
		||||
Searching for useful perl executables...
 | 
			
		||||
DOG
 | 
			
		||||
 | 
			
		||||
pathdirs=`echo $PATH | tr : " "`
 | 
			
		||||
for p in $pathdirs; do
 | 
			
		||||
	set $p/perl $p/perl5*
 | 
			
		||||
	while [ ! -z $1 ]; do
 | 
			
		||||
		if [ -x $1 ]; then
 | 
			
		||||
			echo Found perl in $1
 | 
			
		||||
			perls="$perls $1"
 | 
			
		||||
		fi
 | 
			
		||||
		shift
 | 
			
		||||
	done
 | 
			
		||||
done
 | 
			
		||||
for perl in $perls; do
 | 
			
		||||
	if $perl -MText::Wrap -e0 >/dev/null 2>&1; then
 | 
			
		||||
		echo Found a good perl in $perl
 | 
			
		||||
		goodperls="$goodperls $perl"
 | 
			
		||||
	fi
 | 
			
		||||
done
 | 
			
		||||
echo The following perl executables will run cowsay:
 | 
			
		||||
echo $goodperls
 | 
			
		||||
echo I recommend the latest stable perl you can find.
 | 
			
		||||
set $goodperls
 | 
			
		||||
if [ -z "$1" ]; then
 | 
			
		||||
	echo Ack!  You do not have Perl 5 installed correctly!
 | 
			
		||||
	echo Get thee to CPAN!
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
usethisperl=$1
 | 
			
		||||
echo I will be using $1 because I know it will work.
 | 
			
		||||
 | 
			
		||||
echo Now I need an installation prefix.  I will use /usr/local unless
 | 
			
		||||
printf "you give me a better idea here: "
 | 
			
		||||
read prefix
 | 
			
		||||
PREFIX=${prefix:-/usr/local}
 | 
			
		||||
 | 
			
		||||
echo Okay, time to install this puppy.
 | 
			
		||||
 | 
			
		||||
echo s,%BANGPERL%,!$usethisperl,\; > install.pl
 | 
			
		||||
echo s,%PREFIX%,$PREFIX,\; >> install.pl
 | 
			
		||||
set -x
 | 
			
		||||
mkdir -p $PREFIX/bin || (mkdir $PREFIX; mkdir $PREFIX/bin)
 | 
			
		||||
$usethisperl -p install.pl nhirc.pl > $PREFIX/bin/cowsay
 | 
			
		||||
chmod a+x $PREFIX/bin/cowsay
 | 
			
		||||
ln -s $PREFIX/bin/cowsay $PREFIX/bin/cowthink
 | 
			
		||||
mkdir -p $PREFIX/man/man1 || ($mkdir $PREFIX; mkdir $PREFIX/man; mkdir $PREFIX/man/man1)
 | 
			
		||||
$usethisperl -p install.pl cowsay.1 > $PREFIX/man/man1/cowsay.1
 | 
			
		||||
chmod a+r $PREFIX/man/man1/cowsay.1
 | 
			
		||||
ln -s $PREFIX/man/man1/cowsay.1 $PREFIX/man/man1/cowthink.1
 | 
			
		||||
mkdir -p $PREFIX/share/cows || (mkdir $PREFIX; mkdir $PREFIX/share; mkdir $PREFIX/share/cows)
 | 
			
		||||
tar -cf - $filelist | (cd $PREFIX/share && tar -xvf -)
 | 
			
		||||
set +x
 | 
			
		||||
 | 
			
		||||
echo Okay, let us see if the install actually worked.
 | 
			
		||||
 | 
			
		||||
if [ ! -f $PREFIX/share/cows/default.cow ]; then
 | 
			
		||||
    echo The default cow file did not make it across!
 | 
			
		||||
    echo Ooops, it failed...sorry!
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo Installation complete!  Enjoy the cows!
 | 
			
		||||
		Reference in New Issue
	
	Block a user