[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Anaconda threads and Yum with rpm backend



On 12/10/2012 05:20 AM, Martin Sivak wrote:
> We execute everything in a thread while other threads are letting the user setup his system. Unfortunately, RPM chroots immediately at the beginning of the install transaction. As we use Yum in a library form and Yum is using RPM also as a library.. well the process that gets suddenly chrooted is anaconda itself.
> 
> This situation disrupts the environment anaconda uses for work and most of the stuff stops working (because all the files we do not have handle to are suddenly missing). It is not too visible atm as we have a bare minimum of customization screens (only password). But we (and other teams) will be adding more and this will get progressively worse to workaround.
> 
> I have talked to Panu about libRPM and while he agreed with me that calling chroot or exit in a library is an evil thing, he also said that there is not much that can be done on the RPM side, because some internal mechanisms like lua scripts need the root to be changed this way.

The claim "there is not much that can be done on the RPM side" is unclear to me.
What is wrong with [lib]rpm just fork() immediately before the chroot(), then have
the child side do the chroot (and everything that depends on chroot) while the
parent waits?  The amount of status info that the child would have to tell the
parent seems to be small, and thus easy to communicate.  Why not?

-- 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]