Rumen Yotov wrote:
> Michael Tindal wrote:
> 
> 
>>Hello,
>>
>>So a long time ago solar wrote a bashrc for portage, and posted it on
>>this mailing list for everyone to see.  I took it, and started extending
>>it with various things of my own design, and some contributions from
>>others.  I've since updated it with the things solar's been adding to
>>his bashrc, plus adding the functionality from ChrisWhites bashrc.
>>Well, adding all of that stuff made the bashrc quite large.  In addition
>>I was using CVS for a while, and wrote a lot of hooks to work with CVS,
>>when I went back to 2.0.51, I didnt want to lose all of those, so I
>>backported in a way the hooks from CVS (I mean in a way because the post
>>hooks arent really post hooks, they just run before the pre hook of the
>>next phase), but that meant the bashrc was huge.
>>
>>So, sometime last night or this morning I set out to create a modular
>>portage bashrc [1], and I have done so.  I'll admit, the code is ugly,
>>and it probably could've been done better.  But it does lay a good
>>framework for future extensions.
>>
>>The bashrc file is just a skeleton that loads the modules, and handles
>>the pseudo-hook implementation.  The real magic happens in the
>>bashrc-modules subdirectory.  core-functions.bmod contains the basic
>>functions and handles loading other modules.  hooks.bmod defines the
>>hooks used and defines functions used to add new function calls to the
>>hooks.  The other bmod files define some sort of library for other
>>modules (like an eclass) or functions that get loaded into the hooks.  I
>>don't have any documentation written up for that, so read through the
>>source and you should get an idea of how it all works.
>>
>>The BASHRC_DYN_MODULES variable can be defined in make.conf to limit the
>>modules that are loaded by the bashrc.  This is useful if you only want
>>to use a subset of the functionality available in the modules, and dont
>>want to load them all.  The default behavior is to load all of the
>>modules under ${ROOT}/etc/portage/bashrc-modules/.  To extend the
>>bashrc, for example, to add another feature, you simply create a new
>>bmod following the examples given, then either let it load automatically
>>or add it to BASHRC_DYN_MODULES.
>>
>>I've done some thorough testing and beu did some testing as well, so
>>there shouldnt be any major bugs, but if you find some, please e-mail me
>>with them.  I'm especially interested in command not found errors.  This
>>is some really ugly bash code, so if you run into obscure errors, dont
>>freak out, theyre a result of how I deal with the infrastructure.
>>Overall though, it appears to be stable, and I'm currently using it on
>>my system.
>>
>>Finally, I'd like to thank the people who directly or indirectly helped
>>with this bashrc and the bashrc system:  solar, ChrisWhite, beu,
>>bluefoxicy, and anyone else who I forgot to name.  Enjoy everyone!
>>
>>Mike Tindal
>>
>>PS:  Heed the warning given in the setup phase, you *cannot* modify
>>variables that affect depends because the environment the bashrc
>>modifies isnt picked up by depends.  Be very careful with what you do
>>with category.use, since that can very easily break builds.
>>
>>[1]
>>http://dev.gentoo.org/~urilith/portage-tools/bashrc-2.0.51-modular-20050612.tar.bz2
>>
>>I've got some sample files in that dir for the random files the bashrc
>>supports.
>> 
>>
> 
> Hi,
> Till now used the old/org bashrc-script plus package.* files.
> Now when replaced them with the new one get some errors, seems just
> syntax ones.
> Here's the log when using it:
> ...
> 
>>>>Loading module hooks.bmod...
>>>>Loading module string-utils.bmod...
>>>>Loading module audit.bmod...
>>>>Loading module autooverlay.bmod...
>>>>Loading module autopatch.bmod...
>>>>Loading module conf.bmod...
>>>>Loading module distdir-clean.bmod...
>>>>Loading module enotice.bmod...
>>>>Loading module etc-portage.bmod...
> 
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 103:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 104: syntax
> error: unexpected end of file
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 108:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 109: syntax
> error: unexpected end of file
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 103:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 104: syntax
> error: unexpected end of file
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 108:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 109: syntax
> error: unexpected end of file
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 103:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 104: syntax
> error: unexpected end of file
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 108:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 109: syntax
> error: unexpected end of file
> 
>>>>Loading module eutils.bmod...
>>>>Loading module optipng.bmod...
>>>>Loading module pathchk.bmod...
>>>>Loading module prelink.bmod...
>>>>Loading module setup.bmod...
>>>>Loading module whatis.bmod...
>>>>root -sandbox(setup) [Enter]
> 
>                                                       !!!!!!  !!!!!! Do
> !!NOT!! use these files to modify variables
> that would        !!!!!! alter the dependencies of the package.  If you
> do, things        !!!!!! WILL break.  This
> bashrc has no control before the               !!!!!! depend phase, so
> the files cannot be used to modify             
> !!!!!! dependency-related variables.  These files are mostly           
> !!!!!! used to enable features and/or
> variables on a per-package        !!!!!! basis without having to
> cluttler /etc/make.conf      !!!!!! -------- WARNING
> ON PER-PACKAGE FEATURES IN THIS BASHRC --------
> !!!//etc/portage/bashrc-modules/core-functions.bmod: eval: line 103:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 104: syntax
> error: unexpected end of file
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 108:
> unexpected EOF while looking for matching `''
> //etc/portage/bashrc-modules/core-functions.bmod: eval: line 109: syntax
> error: unexpected end of file
> 
>>>>Using package.cflags entry for target sys-devel for sys-devel/gettext
>>>>root +sandbox(setup) [Leave]
>>>>root +sandbox(unpack) [Enter]
> 
> /var/tmp/portage/gettext-0.14.4/temp/environment: eval: line 2942:
> unexpected EOF while looking for matching `''
> /var/tmp/portage/gettext-0.14.4/temp/environment: eval: line 2943:
> syntax error: unexpected end of file
> /var/tmp/portage/gettext-0.14.4/temp/environment: eval: line 2946:
> unexpected EOF while looking for matching `''
> /var/tmp/portage/gettext-0.14.4/temp/environment: eval: line 2947:
> syntax error: unexpected end of file
> 
>>>>Using package.cflags entry for target sys-devel for sys-devel/gettext
>>>>Unpacking source...
> 
> ...
> PS: will also look into it but not now, later. Will report anything new.
> Thanks for your work. Rumen

There have been some new releases lately.  Look in the portage-tools
directory and try again.  Also, mail these to me, not the list, since
the bugs are my reponsibility :).

Mike

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to