<br>On Wed, May 7, 2014 at 2:53 PM, Richard Hughes <hughsient@gmail.com> wrote:<br>
<blockquote type="cite"><div class="plaintext" style="white-space: pre-wrap;">On 6 May 2014 14:20, Colin Walters <walters@verbum.org> wrote:
<blockquote> Would that make sense?
</blockquote>
I think making ostree use libhif for installation too is a good idea.</div></blockquote><div><br></div><div>I'm interested in that, but I'm not sure how practical it's going to be in the short term. The thing is that rpm-ostree is going to need to poke deeply into the RPM structure. See:</div><div><br></div><div><a href="http://lists.rpm.org/pipermail/rpm-maint/2014-April/003682.html">http://lists.rpm.org/pipermail/rpm-maint/2014-April/003682.html</a></div><div><br></div><div>I'll need to be able to unpack the RPMs into a scratch area for inspection before attempting to install them. Furthermore, I want to keep the RPMs inside the local ostree repository itself, instead of in a lookaside cache.</div><div><br></div><div>For example, with your normal package manager flow (yum/apt-get), they do depsolving, and download packages into a scratch area. Then once all downloads are complete, they are all unpacked in serial.</div><div><br></div><div>This leads to potentially large peak space usage. The way I have planned for rpm-ostree is quite different - we unpack the packages as they're downloaded and stage the content into the de-duplicating ostree repository. Each object is carefully fsync()'d to disk at this time, the same way "ostree pull" works.</div><div><br></div><div>Unpacking as they're downloaded will also help me analyze them per above.</div><div><br></div><div>It seems difficult to capture this flow in libhif versus the traditional flow. Maybe you could scatter the API with callbacks or something, but I think what I want in the short term is a convenient GObject wrapper around hawkey/librepo, which libhif is a good starting point.</div><br><blockquote type="cite"><div class="plaintext" style="white-space: pre-wrap;">I'll have some more example code in a few days time.</div></blockquote><br><div>Cool! Looking forward to it.</div><div><br></div>