Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unprivileged operation infrastructure #209

Closed
wants to merge 16 commits into from

Commits on Feb 10, 2016

  1. Major revamp/extension of libhif/unpacker code

    This is in preparation for `rpm-ostree container`, which handles
    unpacking RPMs as non-root.
    
    At the moment, I'm copying code in from both ostree's libarchive bits
    (fixable...may need to export some utility functions) and some
    functions from libhif (harder, see:
    http://lists.rpm.org/pipermail/rpm-ecosystem/2016-January/000297.html )
    
    There's lots more cleanup to do here, but I don't want to block on the
    resolution of the libhif changes.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    66cbe63 View commit details
    Browse the repository at this point in the history
  2. Add a container builtin

    This is just a tech demo.  Example usage:
    
    ```
    mkdir -p ~/.cache/rpmostree-containers
    cd ~/.cache/rpmostree-containers
    rpm-ostree container init
    cp /etc/yum.repos.d/CentOS-Core.repo rpmmd.repos.d
    rpm-ostree container assemble bash
    rpm-ostree container assemble httpd
    ```
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    c84e3b0 View commit details
    Browse the repository at this point in the history
  3. build: Port to master libhif

    This is a work-in-progress port against the libhif master + some
    outstanding PRs.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    a7a69c7 View commit details
    Browse the repository at this point in the history
  4. Rename rpmostree-hif.[ch] -> core

    This is really going to be the heart of rpm-ostree, so let's give it a
    better name.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    0c5da93 View commit details
    Browse the repository at this point in the history
  5. Introduce RpmOstreeContext as an object

    This helps unify some code more initially between the treecompose and
    container bits.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    e8604a6 View commit details
    Browse the repository at this point in the history
  6. libpriv: Make the OSTree repo implicit

    It's the default for unprivileged composes if it exists.  This is an
    incremental step towards always using the ostree repo.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    28b90c9 View commit details
    Browse the repository at this point in the history
  7. tests: Use createrepo_c

    It's what more components are standardizing on.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    eb026e3 View commit details
    Browse the repository at this point in the history
  8. Introduce "treespec" concept as GKeyFile

    I debated config file formats a lot.  JSON is fairly awkward for
    humans to write, and really painful to parse from C.  YAML is nice,
    but also painful from C.
    
    Both are fairly overpowered for what we really need.  Keyfiles
    (desktop spec, `GKeyFile`) have a lot of limitations, but at least
    it's used by systemd and `.desktop` files, and we already have a
    parser.
    
    We still parse the JSON treefiles, but internally convert them to
    `GKeyFile` (which is in turn converted to `GVariant` for a canonical
    form).
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    ed519bd View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    df9fb2f View commit details
    Browse the repository at this point in the history
  10. treecompose: Make use of cachedir again (just for metadata)

    We need to do selinux first.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    dc30e27 View commit details
    Browse the repository at this point in the history
  11. libpriv: Unify /usr/local, /etc -> /usr/etc, rpmdb handling

    Right now we're doing the /etc -> /usr/etc inside the RPM import, but
    we might as well do the /usr/local bits in both.  Also, use
    /usr/share/rpm by default for treecompose too so that is unified.
    
    Other things like systemd unit files and kernel handling are only
    going to be used for host side composes.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    1452248 View commit details
    Browse the repository at this point in the history
  12. Use a dummy install root for unprivileged composes

    Sadly, libhif keeps trying to auto-create it.  It'll need patching
    there, and possibly in librpm.
    cgwalters committed Feb 10, 2016
    Configuration menu
    Copy the full SHA
    ceb8ee9 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2016

  1. Configuration menu
    Copy the full SHA
    d0fadbf View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2016

  1. Configuration menu
    Copy the full SHA
    0918df3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b2c6765 View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2016

  1. Configuration menu
    Copy the full SHA
    b5980b9 View commit details
    Browse the repository at this point in the history