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