GithubHelp home page GithubHelp logo

Use hawkey/librepo (libhif?) about rpm-ostree HOT 5 CLOSED

coreos avatar coreos commented on September 16, 2024
Use hawkey/librepo (libhif?)

from rpm-ostree.

Comments (5)

cgwalters avatar cgwalters commented on September 16, 2024

I have a WIP branch on this here: https://github.com/cgwalters/rpm-ostree/tree/wip/hawkey-librepo that I'm slowly playing with on the side.

from rpm-ostree.

cgwalters avatar cgwalters commented on September 16, 2024

Using libhif ( https://github.com/hughsie/libhif )

Oriented towards mutating current system

With rpm-ostree, we're going for a model where we always construct a new tree for any system mutation - no changes are applied live. But libhif is pretty oriented towards being a backend for PackageKit which does live system changes.

I kept hitting places in libhif where it would load the system RPM database, such as the keyrings.

And places where it (or hawkey) would bomb out trying to create a new root.

This should all be fixable.

Though actually this gets into an interesting question - for compose tree, where do we find the trusted GPG keyring? And clearly for rpm-ostree, it won't work to store the trusted keys in the system RPM database.

Would like to be able to more easily synthesize configuration passed in

We have hif_context_set_repo_dir() but currently with "rpm-ostree compose tree" I don't have enabled=1 in the .repo files. Though I could.

Need deep control over RPM installation

This is a big one. I can't use HifTransaction as is, because I need to inspect the RPM packages. I'd also like finer grained control over download phase versus installation in general.

I don't need support for removals, because in the rpm-ostree package layering model you can't do that - you instead construct a new tree that doesn't have that package to start with.

Currently not privilege separated

My prototype of using librepo does the fetches as an unprivileged user (default "bin"), communicating over dbus

Need to figure out a concurrency design

This is not a libhif bug, but it'd be really nice if we had an "rpm-ostree compose docker" that could be run multiple times concurrently, and automatically cached metadata and packages shared between the two. (And for that matter, with compose tree and with the host system updates too)

from rpm-ostree.

cgwalters avatar cgwalters commented on September 16, 2024

@hughsie ^

from rpm-ostree.

cgwalters avatar cgwalters commented on September 16, 2024

New (working) branch: https://github.com/cgwalters/rpm-ostree/commits/wip/libhif

from rpm-ostree.

cgwalters avatar cgwalters commented on September 16, 2024

This is done in master.

from rpm-ostree.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.