6.28. Bash-3.2 and exec /bin/bash --login +h

Trent Shea tjshea at telus.net
Thu Sep 6 10:41:22 PDT 2007

On Monday 03 September 2007 10:19, paul.rogers at juno.com wrote:
> May I offer another idea.
Of course!

> AIUI, you've already got one complete
> build script?
Yea, it's still a very rough script; each time I look at it I find 
something to learn. 

> If'n it were me, the simplest thing would be to cut it 
> into two right at the point where you want to change environments. 
> The first half script builds under the old environment.  The second
> half script picks it up there and continues in the new environment. 
> No markers, no skipping around.  KISS.  I suppose if I just HAD to
> have one script I could wrap them in a script that setup the first
> environment, called the first half, on return changed the environment
> and called the second.
Those both work too. I like the second approach; just one command to 
invoke everything.

For now I've settled on not executing the new bash shell until heading 
into chapter 7. The next revision of the script will involve some 
implementation for executing new shells though, as I've noticed it a 
few places throughout the book.

I'm really hoping to find some way to pass a process. Currently, I 
have 'chapter' scripts: basically an ugly script that calls each 
package's script (ie. this && this && this ... very long, very ugly. I 
have an idea how to clean that up, but for now it's doing what I need). 
I only want to edit the main/chapter scripts when there are package 
changes (order, addition, removal). Which to me means: the smaller 
scripts need to behave.

So far the two approaches I think would suit my purposes are:
1. Pass the main script (process).
2. A Sub-routine, which when called: slashes the completed part of the 
script off and invokes the new shell with the edited script.

I'm going to start with the first approach. There is a good chance that 
I am way, way, off. I really don't know anything about system 
internals, not even the basics. Things like: what a process has 
associated with it, if anything is editable, what tools I need, is 
there already a framework in place to pass processes (seems like it 
could be common enough...), etc, are all going to have to be learned. 
Even if it turns out I can't do it, not a big deal. It's all stuff I 
should know.


More information about the lfs-support mailing list