Project Description

During the last 3 years working on zypper we constantly reiterated the idea to refactor zypper to get rid of a lot of cruft that has collected over the years ,but just recently I realized that we maybe should go one step further.

Meet velcro, a new frontend and backend server implemented in Rust that is completly agnostic to the way how software is installed and maintained on a system. It is utilizing backends that implement the specific application management behavior controlled over a generic, programming language agnostic protocol, to support backends in various languages.

The Velcro protocol will support a lot of different features in a generic way but its important that the backends can decide which one of those they want to support. The zypp backend will for example support something like patches, the flatpak backend however does not. The frontend needs to tell the user which featues are avaible.

The following concepts should be available in velcro:

Repository management: add , remove, modify, refresh package/application sources Application management: add, remove applications/packages Update: update all packages on the system, Query: search for existing applications or packages

This is not another packagekit, we explicitely do not want to use D-Bus as a protocol language, this works only on full blown Linux installations and is not what we are looking for. We need a simple lightweight way of having backends using standard Linux facilities with minimal dependencies.

Goal for this Hackweek

Currently this is only a idea, but we should get all the details on how to communicate between the different velcro building blocks together and decide which IPC protocol is used. And hopefully start hacking on the prototype.

Resources

Documentation of initial idea

Looking for hackers with the skills:

rust packagemanagement softwaremanagement libzypp rpm flatpak snap

This project is part of:

Hack Week 20

Activity

  • about 3 years ago: LarsMB liked this project.
  • about 3 years ago: ybonatakis liked this project.
  • about 3 years ago: tjyrinki_suse liked this project.
  • about 3 years ago: j_renner liked this project.
  • about 3 years ago: cdywan joined this project.
  • about 3 years ago: cdywan liked this project.
  • about 3 years ago: zbenjamin started this project.
  • about 3 years ago: zbenjamin added keyword "rust" to this project.
  • about 3 years ago: zbenjamin added keyword "packagemanagement" to this project.
  • about 3 years ago: zbenjamin added keyword "softwaremanagement" to this project.
  • about 3 years ago: zbenjamin added keyword "libzypp" to this project.
  • about 3 years ago: zbenjamin added keyword "rpm" to this project.
  • about 3 years ago: zbenjamin added keyword "flatpak" to this project.
  • about 3 years ago: zbenjamin added keyword "snap" to this project.
  • about 3 years ago: zbenjamin originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    toniowm by fabriziosestito

    toniowm is yet another window manager written i...


    A Flight Dynamics Library written in Rust with an Entity Component System architecture by vcuadradojuan

    [comment]: # (Please use the project descriptio...


    Relm4-based user interface for Agama by IGonzalezSosa

    Motivation

    Disclaimer: the idea of this pr...


    Create a new markup language with parser in rust by nkrapp

    Project Description

    Write a parser for my...


    Waysettings by dspinella

    [comment]: # (Please use the project descriptio...


    A set of utilities to produce a "from scratch" OCI/Docker container using Opensuse/SLE rpms by ldragon

    [comment]: # (Please use the project descriptio...


    Switch software-o-o to parse repomd data by hennevogel

    Currently software.opensuse.org search is using...


    A CLI for Harvester by mohamed.belgaied

    [comment]: # Harvester does not officially come...


    Investigate zypper/openSUSE repository refresh optimisations by dirkmueller

    [comment]: # (Please use the project descriptio...


    Tumbleweed support for Raspberry Pi 4 with Quad SATA HAT by jbaier_cz

    [comment]: # (Please use the project descriptio...