Actual example
The following is a complete example of what I did when I installed GNU
groff. GNU programs are generally very easy to install. They are all
configured in almost exactly the same way, often compile the
first time, and install into our system very easily.
[0 7:43pm camelot:/ccs/src/gnu]
> tar -tvzf groff-1.09.tar.gz
groff-1.09/
groff-1.09/include/
groff-1.09/include/Makefile.sub
groff-1.09/include/assert.h
. . .
[1 7:43pm camelot:/ccs/src/gnu]
> tar -xvzf groff-1.09.tar.gz
. . .
[0 7:44pm camelot:/ccs/src/gnu]
> cd groff-1.09/
[0 7:44pm camelot:/ccs/src/gnu/groff-1.09]
> ls
[0 7:48pm camelot:/ccs/src/gnu/groff-1.09]
> more README
. . .
[0 7:48pm camelot:/ccs/src/gnu/groff-1.09]
> more INSTALL
. . .
[0 7:50pm camelot:/ccs/src/gnu/groff-1.09]
> ./configure --prefix=/arch/gnu/packages/groff-1.09
checking for gcc
checking if C compiler is also a C++ compiler
checking that C++ compiler can compile very simple C++ program
checking that C++ static constructors and destructors are called
checking for C++ header files
checking for lpr
checking for lp
checking for lpq
checking for perl
checking for byacc
checking for bison
checking for ranlib
checking for install
checking for ln -s
checking for etags C++ option
checking for csh # hack
checking for unistd.h
checking how to run the C preprocessor
checking for dirent.h
checking how to run the C preprocessor
checking for limits.h
checking how to run the C preprocessor
checking for sys/dir.h
checking how to run the C preprocessor
checking for stdlib.h
checking how to run the C preprocessor
checking for ISC 3.x or 4.x
checking for whether -D_POSIX_SOURCE is necessary
checking for C++
checking for C++
checking for declaration of getopt in stdlib.h
checking for declaration of getopt in unistd.h
checking for declaration of putenv
checking for declaration of popen
checking for declaration of pclose
checking for time_t
checking for return type of signal handlers
checking for struct exception
checking for mmap
checking for pid_t in sys/types.h
checking for vfork.h
checking for working vfork
checking for fmod
checking for strtol
checking for getcwd
checking for strerror
checking for putenv
checking for rename
checking for mkstemp
checking for sys_siglist
checking for gcc/g++ delete bug
checking for cfront ANSI C INT_MIN bug
checking for new array delete syntax
checking for traditional preprocessor
checking for w_coredump
using default value of 7 for grops -b option
guessing letter size paper
creating config.status
creating Makefile
[0 7:52pm camelot:/ccs/src/gnu/groff-1.09]
> make
make[1]: Entering directory `/export/camelot2/src-1/gnu/groff-1.09'
make[2]: Entering directory `/export/camelot2/src-1/gnu/groff-1.09/include'
make[2]: Leaving directory `/export/camelot2/src-1/gnu/groff-1.09/include'
make[2]: Entering directory `/export/camelot2/src-1/gnu/groff-1.09/libgroff'
gcc -I. -I. -I../include -I./../include -DHAVE_UNISTD_H=1 \
-DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_DIR_H=1 \
-DHAVE_STDLIB_H=1 -DHAVE_CC_LIMITS_H=1 -DHAVE_CC_OSFCN_H=1 \
-DSTDLIB_H_DECLARES_GETOPT=1 -DSTDLIB_H_DECLARES_PUTENV=1 \
-DSTDIO_H_DECLARES_POPEN=1 -DSTDIO_H_DECLARES_PCLOSE=1 \
-DRETSIGTYPE=void -DHAVE_STRUCT_EXCEPTION=1 -DHAVE_MMAP=1 \
-DHAVE_VFORK_H=1 -DHAVE_RENAME=1 -DHAVE_MKSTEMP=1 -DHAVE_SYS_SIGLIST=1 \
-DWCOREFLAG=0200 -O -c change_lf.cc
. . . It compiled cleanly the first time.
[1 8:10pm camelot:/ccs/src/gnu/groff-1.09]
> soft-install gnu/groff-1.09
'/arch/gnu/packages/groff-1.09' does not exist.
Is this a new package? (Y/n)
Press Control-C to abort...
Enter the description of this package. (minimum of 2 words)
> GNU groff text processor, a replacement for 'nroff' and friends.
Who is the author of this package (Format: Real Name <email_address>)
> James Clark <jjc@jclark.com>
Where was the source obtained (Format: URL)
> ftp://ftp.uu.net:/systems/gnu/groff-1.09.tar.gz
When was this package released (Format: MM/DD/YY):
> 02/19/94
Enter the categories this package belongs to.
> Text/Utils, Text/Printing
----------------------------------------
Package name: groff
Collection: gnu
Description: GNU groff text processor, a replacement for 'nroff' and friends.
Author: James Clark
Source: ftp://ftp.uu.net:/systems/gnu/groff-1.09.tar.gz
Version: 1.09
Release Date: 02/19/94
Categories: Text/Utils, Text/Printing
Package dirs: bin man/man{1,2,3,4,5,6,7,8,9} etc lib include info
Link directives: symlink bin/* man/*/* lib/lib*.a include/* !*~ !*.bak !RCS
Are these options correct (y/N)? y
Making new package 'groff-1.09' under the gnu collection...
Storing package configuration in '/arch/gnu/packages/groff-1.09/Install/Package.config'...
Empty package directories have been created.
Now you need to do a 'make install' or whatever is required to install
the application into the right directories under
/arch/gnu/packages/groff-1.09
Once you have finished the install, run: soft-install gnu/groff-1.09
to perform the -clean stage.
[0 8:11pm camelot:/ccs/src/gnu/groff-1.09]
> make install
[0 8:14pm camelot:/ccs/src/gnu/groff-1.09]
> pushd /arch/gnu/packages/groff-1.09
[0 8:14pm camelot:/arch/gnu/packages/groff-1.09]
> ls -lg *
Install:
total 1
-rw-r--r-- 1 bdowling src 534 Feb 16 20:31 Package.config
bin:
total 2086
-rwxr-xr-x 1 bdowling src 49152 Feb 16 20:44 addftinfo*
-rwxr-xr-x 1 bdowling src 8418 Feb 16 20:45 afmtodit*
-rwxr-xr-x 1 bdowling src 204800 Feb 16 20:44 geqn*
-rwxr-xr-x 1 bdowling src 65536 Feb 16 20:44 gindxbib*
-rwxr-xr-x 1 bdowling src 73728 Feb 16 20:44 glookbib*
-rwxr-xr-x 1 bdowling src 165 Feb 16 20:44 gneqn*
-rwxr-xr-x 1 bdowling src 789 Feb 16 20:46 gnroff*
-rwxr-xr-x 1 bdowling src 278528 Feb 16 20:44 gpic*
-rwxr-xr-x 1 bdowling src 172032 Feb 16 20:44 grefer*
-rwxr-xr-x 1 bdowling src 114688 Feb 16 20:44 grodvi*
-rwxr-xr-x 1 bdowling src 98304 Feb 16 20:44 groff*
-rwxr-xr-x 1 bdowling src 2627 Feb 16 20:46 grog*
-rwxr-xr-x 1 bdowling src 147456 Feb 16 20:44 grops*
-rwxr-xr-x 1 bdowling src 81920 Feb 16 20:44 grotty*
-rwxr-xr-x 1 bdowling src 49152 Feb 16 20:44 gsoelim*
-rwxr-xr-x 1 bdowling src 131072 Feb 16 20:44 gtbl*
-rwxr-xr-x 1 bdowling src 401408 Feb 16 20:44 gtroff*
-rwxr-xr-x 1 bdowling src 73728 Feb 16 20:44 lkbib*
-rwxr-xr-x 1 bdowling src 24576 Feb 16 20:45 pfbtops*
-rwxr-xr-x 1 bdowling src 24576 Feb 16 20:45 psbb*
-rwxr-xr-x 1 bdowling src 73728 Feb 16 20:44 tfmtodit*
. . .
[0 8:15pm camelot:/arch/gnu/packages/groff-1.09]
> soft-install
soft-install operation mode: link
Collection: gnu
Package: groff
Version: 1.09
Arch: /arch/gnu
Share: /arch/gnu
Link type: default
Exporting environment:
SOFT_PACKAGE_ARCH = /arch/gnu/packages/groff-1.09
SOFT_SHARE = /arch/gnu
SOFT_PACAKGE_VERSION = 1.09
SOFT_PACKAGE_SHARE = /arch/gnu/packages/groff-1.09
SOFT_ARCH = /arch/gnu
SOFT_PACKAGE_NAME = groff
Internal directive: symlink ('bin/*', 'man/*/*', 'lib/lib*.a', 'include/*', '!^.*~!^.*.bak!^RCS$')
Once the installation complete, be sure to test it out, then if it all
seems good, send mail to ccs.systems.announce (it's a newsgroup)
...
The SoftInst Project