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 > Wouldn't you run into trouble with databases. There is a built in interlock which only allows one instance to have rw access to a record at a time. Others may have read but not read-write access. I'll explain it further with a joint bank account. Balance = $155.00 Scenario 1 12:55.02 - He accesses the account with his Eftpos card to pay for a bussiness lunch of $130.00 - Eftpos grabs the balance of $155.00 and prepares the transaction. 12:55.04 - She is at the 'ladies club' and also tries to pay for lunch at $125.00 - Eftpos grabs the balance of $155.00 and prepares teh transaction. 12:55.06 - His transaction completes and the balance is ammended. Now there is $25.00 in the account. 12:55.08 - Her transaction completes and the balance is ammended. $155.00 - $125.00 = $25.00 gets written back to the account as the balance overwriting the previous transaction and the bank is out of pocket. He gets a free lunch. Scenario 2 12:55.02 - He accesses the account with his Eftpos card to pay for a bussiness lunch - a lock is placed until transaction completes. 12:55.04 - She is at the 'ladies club' and also tries to pay for lunch. Read access only so the Eftpos says, try again. 12:55.06 - His transaction completes and the balance is ammended. Now there is $25.00 in the account. 12:55.11 - She tries again and finds there is only $25.00 in the cheque account so has to use the savings account.
Want to buy your Pack or Services from MandrakeSoft? Go to http://www.mandrakestore.com
