The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.02

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

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: 0)

do you want to set PATH for tools

tldx (type: bool, default: 0)

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: 0)

do you want ls baseline coloring

lsco (type: bool, default: 0)

do you want ls standard coloring

long (type: bool, default: 1)

do you want --long opt for ls coloring

pete (type: bool, default: 0)

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

prof (type: file, default: /local/tools/share/aegis/profile)

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
        0.02 MV md5 issues

SEE ALSO

Error(3), File::Basename(3), Meta::Baseline::Aegis(3), Meta::Ds::Ohash(3), Meta::Utils::File::File(3), Meta::Utils::Opts::Opts(3), Meta::Utils::Output(3), Meta::Utils::System(3), POSIX(3), strict(3)

TODO

-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).

-remove the functions here which have to do with paths, evnrionment and the like and use my modules instead.

-add an option to set default posgresql and mysql env variables here (like default database name and other stuff).