NAME
develop_rc.pl - a development startup script.
COPYRIGHT
Copyright (C) 2001, 2002 Mark Veltzer; All rights reserved.
LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
DETAILS
MANIFEST: develop_rc.pl
PROJECT: meta
VERSION: 0.01
SYNOPSIS
develop_rc.pl
DESCRIPTION
"AEGIS - the best project manager this side of the sahara..." As usual - take heed... This is the standard text to be a Meta developer. Place this text in a fixed location (~/.develop_rc /etc/develop_rc etc...) and source it at startup. some explanation on this file: This file exists because when we want to work on the baseline we have to set a few environment variables for the command line to work (we do work on the command line...). setting environment variables is not done from perl or other language scripts but rather from a shell script (the same one your'e using - currently bash2) because: 0. its not a practice to change your parent process data (it seems to me that you cant realy do that without the concent of your parent process). 1. its difficut. 2. its non standard. 3. I hate it. 4. Its impossible. Therefore we wrote this script. This script should be "sourced" as this is the only way to change the env variables of the calling process. Routines here are characterised by the fact that they change the environment parameters of the calling shell. A rule of thumb about putting routines here should be: if the routine is supposed to deal with environment parameters it should be here if not - write a perl script instead. The routines here change the runtime affecting values of variables - not the compile time ones...
Important for developers:
It is important that all the interactive stuff be done AFTER the basic path settings since they may run a few executables and those will need to path settings in order to run...
OPTIONS
- help (type: bool, default: 0)
-
display help message
- pod (type: bool, default: 0)
-
display pod options snipplet
- man (type: bool, default: 0)
-
display manual page
- quit (type: bool, default: 0)
-
quit without doing anything
- gtk (type: bool, default: 0)
-
run a gtk ui to get the parameters
- license (type: bool, default: 0)
-
show license and exit
- copyright (type: bool, default: 0)
-
show copyright and exit
- description (type: bool, default: 0)
-
show description and exit
- history (type: bool, default: 0)
-
show history and exit
- aegi (type: dire, default: /local/tools/bin)
-
where is your aegis located
- tvbi (type: path, default: /usr/games:/usr/sbin:/local/tools/bin)
-
extra path for the shell runner
- tvld (type: path, default: /local/tools/lib)
-
extra path for the dynamic linkder
- tvma (type: path, default: /local/tools/man)
-
extra path for the man pager
- tvin (type: path, default: /local/tools/info)
-
extra path for the info pager
- xmli (type: flst, default: )
-
extra path for the XML catalogs
- sgmi (type: flst, default: )
-
extra path for the SGML catalogs
- sgpi (type: path, default: )
-
extra path for the sgml path
- bplt (type: stri, default: reg.cpp.bin.dbg)
-
what is the binary platform you are working on
- dplt (type: stri, default: reg.cpp.dll.dbg)
-
what is the dll platform you are working on
- shel (type: stri, default: bash2)
-
what is your shell
- tbin (type: bool, default: 1)
-
do you want to set PATH for tools
- tldx (type: bool, default: 1)
-
do you want to set LD_LIBRARY_PATH for tools
- tman (type: bool, default: 1)
-
do you want to set MANPATH for tools
- tinf (type: bool, default: 1)
-
do you want to set INFOPATH for tools
- txml (type: bool, default: 0)
-
do you want to set XML_CATALOG_FILES for tools
- tsgm (type: bool, default: 0)
-
do you want to set SGML_CATALOG_FILES for tools
- tsgp (type: bool, default: 0)
-
do you want to set SGML_SEARCH_PATH for tools
- tsgs (type: bool, default: 0)
-
do you want to set SGML_PATH for tools
- binx (type: bool, default: 1)
-
do you want to set PATH for tools
- ldxx (type: bool, default: 1)
-
do you want to set LD_LIBRARY_PATH for tools
- manx (type: bool, default: 0)
-
do you want to set MANPATH for tools
- info (type: bool, default: 0)
-
do you want to set INFOPATH for tools
- java (type: bool, default: 1)
-
do you want to set CLASSPATH for tools
- perl (type: bool, default: 0)
-
do you want to set PERL5LIB for tools
- txmd (type: bool, default: 0)
-
do you want to set XML_CATALOG_FILES for tools
- sgml (type: bool, default: 0)
-
do you want to set SGML_CATALOG_FILES for tools
- sgpl (type: bool, default: 0)
-
do you want to set SGML_SEARCH_PATH for tools
- pyth (type: bool, default: 1)
-
do you want to set PYTHONPATH for tools
- base (type: bool, default: 1)
-
do you want perl baseline executables settings (this is for libs and bins)
- cdpa (type: bool, default: 1)
-
do you want to set the CDPATH for development
- cdch (type: bool, default: 1)
-
do you want to cd to your change on login
- colo (type: bool, default: 1)
-
do you want ls coloring
- lsco (type: bool, default: 1)
-
do you want ls color aliasing
- long (type: bool, default: 1)
-
do you want --long opt for ls coloring
- pete (type: bool, default: 1)
-
do you want aegis type (Peter) shortcuts (only valid for bash)
- nprj (type: bool, default: 1)
-
do you want to set your AEGIS_PROJECT from your aegis prefs
- nchn (type: bool, default: 1)
-
do you want to set your AEGIS_CHANGE from your aegis prefs
- blxx (type: bool, default: 1)
-
do you want to set the BL environment variable to point to the baseline
- chxx (type: bool, default: 1)
-
do you want to set the CH environment variable to point to the change
- ps1x (type: bool, default: 1)
-
do you want to set the PS1 environment variable for the shell
- page (type: bool, default: 1)
-
do you want to set the PAGER environment varialbe
- manp (type: bool, default: 1)
-
do you want to set the MANPAGER variable
-
where is your aegis profile located
- verb (type: bool, default: 0)
-
do you want verbosity
no free arguments are allowed
BUGS
None.
AUTHOR
Name: Mark Veltzer
Email: mailto:veltzer@cpan.org
WWW: http://www.veltzer.org
CPAN id: VELTZER
HISTORY
0.00 MV move tests to modules
0.01 MV finish papers
SEE ALSO
File::Basename(3), Meta::Utils::File::File(3), Meta::Utils::Opts::Opts(3), Meta::Utils::Output(3), Meta::Utils::System(3), POSIX(3), strict(3)
TODO
-make this script with an option just to write the changes to be made to the environment and not do them and so we could run this without the shell at the end and just execute the stuff its telling us to.
-get the $- variable from the shell as input (the shell has it) and use it to make checks whether this script runs interactivly or not...
-make routine in here more accessible in that users could change their platform / architecture in the middle of a shell session.
-make options to put the development stuff ahead of everything and the reverse.
-make stuff here more generic (all the variables are handled pretty much the same...).
-make the coloring work again (the code is commented).