Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Envy 2.06 (first public release)



Name           DSLI  Description                                  Info
-----------    ----  -------------------------------------------- -----
Envy           RmpO  Shell independent environment-variable mgmt  JPRIT


Envy is a shell-independent (sh/ksh/bash/zsh/csh/tcsh) solution for
environment-variable management:

1. Easily customizable profile/login scripts are included for booting
the environment upon login.

2. A mechanism is provided for setting environment-variables in a
variety of flexible ways.

3. Essential absolute paths are specified once.  Everything else can
be relative.

Get it from http://www.perl.com/CPAN/authors/id/JPRIT/!
  (Also see LinkTree & Manifest)


##################
# RE@ENT CHAN@ES #
##################

** 11-24-97 Released 2.06

- Initial public release.


----------------------------------------------------------------------

Here's what it looks like:

[joshua@grdevl137] ~% envy
   dailydb-dev                          imag-dbo-testdb
 x dev                                  imag-dev-2513
   dev-area-setup                       imag-dev-2519
   fame                                 imag-prod
   framemaker                           java
 x fvwm95-2.0.43a                       objstore
   gcc                                x openwin
   gems-1.9.1-dev                       printing
   gems-2.0-dev                         prod
   gems-2.0.alpha.14                    prod-new
   gems-dev                             research
   gems-intl-rpts                     x reuters
   gems-prod                            solaris
   imag-2519                            sunpro
   imag-batch-hilarydb                x sybase
   imag-batch-proddb                    tcltk
   imag-batch-testdb                    tcltk-7.6
   imag-dbo-hilarydb                    tcltk-8.0
   imag-dbo-proddb                   

The 'x' indicates 'loaded'.

[joshua@grdevl137] ~% envy list
All envys currently available (2.06):
 
   dailydb-dev         /nw/dev/usr/etc/envy/dailydb-dev.env
 x dev                 /nw/dev/usr/etc/envy/dev.env
   dev-area-setup      /nw/dev/usr/mo/dev-area-setup.mo
   fame                /nw/dist/prod/mo/fame.mo
   framemaker          /nw/dist/prod/etc/framemaker.mo
 x fvwm95-2.0.43a      /nw/dev/usr/mo/fvwm95-2.0.43a.mo
   gcc                 /nw/dev/usr/etc/envy/gcc.env
   gems-1.9.1-dev      /nw/dev/usr/etc/envy/gems-1.9.1-dev.env
   gems-2.0-dev        /nw/dev/usr/mo/gems-2.0-dev.mo
   gems-2.0.alpha.14   /nw/dev/usr/etc/envy/gems-2.0.alpha.14.env
   gems-dev            /nw/dev/usr/etc/envy/gems-dev.env
   gems-intl-rpts      /nw/dist/prod/mo/gems-intl-rpts.mo
   gems-prod           /nw/dist/prod/mo/gems-prod.mo
   imag-2519           /nw/dev/usr/etc/envy/imag-2519.env
   imag-batch-hilarydb /nw/dev/usr/etc/envy/imag-batch-hilarydb.env
   imag-batch-proddb   /nw/dist/prod/etc/imag-batch-proddb.mo
   imag-batch-testdb   /nw/dev/usr/etc/envy/imag-batch-testdb.env
   imag-dbo-hilarydb   /nw/dev/usr/etc/envy/imag-dbo-hilarydb.env
   imag-dbo-proddb     /nw/dev/usr/etc/envy/imag-dbo-proddb.env
   imag-dbo-testdb     /nw/dev/usr/etc/envy/imag-dbo-testdb.env
   imag-dev-2513       /nw/dist/prod/etc/imag-dev-2513.mo
   imag-dev-2519       /nw/dist/prod/etc/imag-dev-2519.mo
   imag-prod           /nw/dev/usr/etc/envy/imag-prod.env
   java                /nw/dist/prod/etc/java.mo
   objstore            /nw/dist/prod/etc/objstore.mo
 x openwin             /nw/dev/usr/mo/openwin.mo
   ...

[joshua@grdevl137] ~% cat /nw/dev/usr/mo/openwin.mo
# X11 and Motif
#
PATH+=/usr/dt/bin:/usr/openwin/bin
MANPATH+=/usr/dt/man:/usr/openwin/man
LD_LIBRARY_PATH+=/usr/dt/lib:/usr/openwin/lib
OPENWINHOME=/usr/openwin

This means that when 'openwin' is loaded, two components are prepended
to the PATH, MANPATH, and LD_LIBRARY_PATH; and OPENWINHOME is set to
/usr/openwin.  What makes envy unique is that YOU CAN ALSO UNLOAD
'openwin' to unprepend and unset each of the variables modified during
the load.

----------------------------------------------------------------------

* How does a typical install work?

First, edit envy_config.pm and install envy.  Then you need to setup
the initial production & development (& test?) environments.  $ETOP
needs to be set to the top of your production tree such that:

  $ETOP/(bin|etc|include|lib|man|share|var)

You'll need an prod.env that looks like this:

  ETOP=/nw/prod/usr
  PATH+=/nw/prod/usr/bin
  LD_LIBRARY_PATH+=/nw/prod/usr/lib
  PERL5LIB+=/nw/prod/usr/lib/perl5
  MANPATH+=/nw/prod/usr/man:/nw/prod/usr/lib/perl5/man
  ENVY_PATH+=/nw/prod/usr/etc/envy

You can also create a dev.env file for development:

  ETOP=/nw/dev/usr
  PATH+=/nw/dev/usr/bin
  LD_LIBRARY_PATH+=/nw/dev/usr/lib
  PERL5LIB+=/nw/dev/usr/lib/perl5
  MANPATH+=/nw/dev/usr/man:/nw/dev/usr/lib/perl5/man
  ENVY_PATH+=/nw/dev/usr/etc/envy

Put both of these files in /nw/prod/usr/etc/envy/.  To set up a
particular user for envy, all you have to do is replace $HOME/.profile
or $HOME/.login with symlinks:

  ln -s /nw/prod/usr/etc/login/dot.profile $HOME/.profile
  ln -s /nw/prod/usr/etc/login/dot.login $HOME/.login

Any old $HOME/dot files will be renamed if necessary (and not
deleted).



Messages sorted by: Reverse Date, Date, Thread, Author