On Tue, 2003-07-01 at 23:27, Michael Adams wrote:
> On 01 Jul 2003 15:51:18 -0700
> James Sparenberg <[EMAIL PROTECTED]> wrote:
> 
> > On Tue, 2003-07-01 at 14:57, Pierre Fortin wrote:
> > > On 01 Jul 2003 14:45:24 -0700 James Sparenberg <[EMAIL PROTECTED]>
> > > wrote:
> > > 
> > > > On Tue, 2003-07-01 at 13:37, Pierre Fortin wrote:
> > > > > On 01 Jul 2003 12:52:33 -0700 James Sparenberg <[EMAIL PROTECTED]>
> > > > > wrote:
> > > > > 
> > > > > > It works as expected.. the parent automatically dies and the child
> > > > > > continues it's run... Problem is when I put a similar case into an
> > > > > > RPM and it runs it.  It hangs.  RPM will not continue until child
> > > > > > runs it's course.  And all the time that rpm #1 is open I can't
> > > > > > start installing rpm #2 (the rpm database does not multi-task.) 
> > > > > > grrrr.  Although rpm uses bash shell scripts it sure doesn't use
> > > > > > them correctly.
> > > > > 
> > > > > Sorry, I don't follow all the threads...  From what you say here, I
> > > > > think what you are up against is DB locking...  and that won't be
> > > > > solved with multiple threads unless the DB allows it, which I doubt. 
> > > > > Kinda sounds like the rpm DB is Linux' "registry" in this respect...
> > > > 
> > > > correct and if I can figure out how to make rpm start the auto install
> > > > script ... then release it to continue on it's merry way I can cut
> > > > installation time for my company by 40% Or at least the time required to
> > > > find out if all rpms install correctly.  (the rpm in question takes
> > > > about 80% of the total install time just waiting for the script is
> > > > spawns to run.) Not to disimilar to the situation where you install a
> > > > new  kernel.  It runs a number of commands (such as install_kernel) that
> > > > if there was a way to run them ... then let the rpm command finish while
> > > > they continue on their own.  The system would be able to begin
> > > > installing the next rpm while the install_kernel command etc finished on
> > > > it's own.  You know the old theory ... you can do anything with
> > > > software... we'll, I'm trying to prove just that. *grin*
> > > 
> > > So you're gonna rip rpm apart and have it use separate DBs aligned with
> > > the package categories already defined by Mdk...  Cool!  :^) :^)
> > 
> > 
> > Not quite.... I'm trying to find a way to make rpm -Uvh spawn off
> > processes that allow the first rpm -Uvh to end, freeing up the rpmdb to
> > accept a new rpm -Uvh.  kinda like 
> > 
> > 
> >                     _ installation script for rpm1 running.
> >                    /
> >                   /
> > rpm -Uvh rpm1.rpm (rpm complets)         _ installation script rpm2
> >                     \                     /
> >                      \                   /
> >                       - rpm -Uvh rpm2.rpm (rpm completes)
> >                                             \
> >                                              \
> >                                               - rpm -Uvh rpm3.rpm
> > 
> > 
> > instead of the more linear process it is now.  I don't want to get into
> > rpm itself... but rather figure out how to spawn independent processes
> > rather than dependent ones.   Right now if in the rpm I put 
> > 
> > %postin
> > nohup /usr/local/bin/autoinstallscript1 > & 
> > 
> >  
> > 
> > RPM itself will wait no matter what for that command string to finish. 
> > I don't want it to wait.  I want it to do anything else it has to do,
> > finish and not care what happens to the above command string.  I can do
> > this from a command line ... but for reasons beyond my ken when bash
> > commands are used in rpm they act differently.  
> > 
> > On your point.. yes ... I agree that rpm could more affectively handle
> > the database.  There is no reason why it should lock the db after it
> > figures out if all dependencies are met unless it's actively writing to
> > the db.  Data can be gathered and written asynchronously as easily as it
> > could be done synchronously so why not... but that's another battle for
> > another day.  
> > 
> > James
> > 


If The script that I want to break off had any affect on the rpm
database the answer would be yes... I'd have trouble.  However it
doesn't At the point I'm trying to break out (%postin) Everything that
needs to be done, and in fact can be done concerning the rpm database is
completed.  All that is left as far as the RPM is concerned is writing
to the rpm database.  So what I'm trying to do is make it write to that
database .... and exit Leaving the auto-install script to run it's
course separately and on it's own.  I don't want to run rpm twice in
parallel but rather have rpm kick out a process that runs independent of
the rpm command.  Rather more like this.

At 12:15 A enters a bank to close out his/her account.  
by 12:45 The clerk has completed the close out transaction all accept
for getting final signatures and collecting all bank cards.  The
computer sends a signal to the accounting dept that all
records/transactions on this account need to be closed out and archived
and they begin this process.  
At 12:50 The clerk thanks the customer and the customer leaves.

Now here is the reaction the way rpm currently works.

The bank closes all lines and all customers must wait until accounting
signals that they have completed all transaction accounting needed in
relation to closing this account.  Once it's all completed the bank
opens and takes one more customer. 

What I want.

The clerk calls "Next Please" and the customer begins to be serviced
with their needs.  Meanwhile the accounting dept is doing what it needs
to do in relation to the previous transaction.  

James



Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to