Often when we test maintenance updates or when we decide to push an update for a package we want to know what that change may cause. Right now it is really difficult to figure out what package depends on a given package.

Motivation

When I was looking for orphan packages in SLE or in openSUSE what could start maintaining I was looking for low risk packages. Naturally for a less experienced package maintainer it is comforting to know that the package they start making updates for is not going to mess up hundreds of other packages. So when choosing a package to maintain it would be handy to know what other packages depend on the given package. Also when we are doing maintenance update validation for SLE it would be nice to know what other packages we should test with more attention. We test user scenarios and the whole platform, but if a package X depends on package Y and package Y gets a maintenance update then maybe it is a good idea to test the package X with extra attention.

Goal

  • Refresh a bit the rdepends project
  • Create a new project under the zypper development project in the Open Build Service
  • Push an initial version of a working prototype
  • Figure out if the plugin can be done in python without executing the zypper itself

Resources

Looking for hackers with the skills:

zypper libsolv python

This project is part of:

Hack Week 22

Activity

  • almost 3 years ago: okurz liked this project.
  • almost 3 years ago: wfrisch liked this project.
  • almost 3 years ago: iivanov liked this project.
  • almost 3 years ago: dfaggioli liked this project.
  • almost 3 years ago: idefx liked this project.
  • almost 3 years ago: robert.richardson liked this project.
  • almost 3 years ago: bzoltan1 added keyword "zypper" to this project.
  • almost 3 years ago: bzoltan1 added keyword "libsolv" to this project.
  • almost 3 years ago: bzoltan1 added keyword "python" to this project.
  • almost 3 years ago: bzoltan1 started this project.
  • almost 3 years ago: dmdiss liked this project.
  • almost 3 years ago: tinita liked this project.
  • almost 3 years ago: fbonazzi liked this project.
  • almost 3 years ago: amanzini liked this project.
  • almost 3 years ago: bzoltan1 originated this project.

  • Comments

    • dancermak
      almost 3 years ago by dancermak | Reply

      You might want to look at dnf's repoquery command, which supports exactly this use case. (And you can actually use dnf against openSUSE & SLE repos)

      • bzoltan1
        almost 3 years ago by bzoltan1 | Reply

        Thank you for the idea Dan. I will check it out. I am coming from Debian and Ubuntu and there is apt-cache rdepends command for this purpose.

      • zbenjamin
        almost 3 years ago by zbenjamin | Reply

        Or use the zypper se --requires-pkg functionality ;). It is not recursive though so it only checks the reverse deps of the given package

    Similar Projects

    File search subcommand for zypper by mook_work

    Description

    Zypper currently only supports searching for files in a few pre-defined prefixes (/usr/bin, /usr/sbin, etc.) via using rpm provides. This means that it is difficult to find files that are not in the explicit list.

    Doing this in zypper itself seems difficult.

    Goals

    Create a zypper subcommand (plugin) that can download file lists as needed to search for file contents. As a stretch goal, have a secondary subcommand that can list files in packages regardless of whether they are already installed.

    At this point, making the resulting code usable as part of zypper itself is not a goal, as it would probably take more time than available.

    Resources

    Upstream issue: https://github.com/openSUSE/zypper/issues/469

    Stretch goal: https://github.com/openSUSE/zypper/issues/164

    Subcommands: https://manpages.opensuse.org/Tumbleweed/zypper/zypper.8.en.html#SUBCOMMANDS


    Improvements to osc (especially with regards to the Git workflow) by mcepl

    Description

    There is plenty of hacking on osc, where we could spent some fun time. I would like to see a solution for https://github.com/openSUSE/osc/issues/2006 (which is sufficiently non-serious, that it could be part of HackWeek project).


    Bring to Cockpit + System Roles capabilities from YAST by miguelpc

    Bring to Cockpit + System Roles features from YAST

    Cockpit and System Roles have been added to SLES 16 There are several capabilities in YAST that are not yet present in Cockpit and System Roles We will follow the principle of "automate first, UI later" being System Roles the automation component and Cockpit the UI one.

    Goals

    The idea is to implement service configuration in System Roles and then add an UI to manage these in Cockpit. For some capabilities it will be required to have an specific Cockpit Module as they will interact with a reasource already configured.

    Resources

    A plan on capabilities missing and suggested implementation is available here: https://docs.google.com/spreadsheets/d/1ZhX-Ip9MKJNeKSYV3bSZG4Qc5giuY7XSV0U61Ecu9lo/edit

    Linux System Roles:

    First meeting Hackweek catchup


    Improve chore and screen time doc generator script `wochenplaner` by gniebler

    Description

    I wrote a little Python script to generate PDF docs, which can be used to track daily chore completion and screen time usage for several people, with one page per person/week.

    I named this script wochenplaner and have been using it for a few months now.

    It needs some improvements and adjustments in how the screen time should be tracked and how chores are displayed.

    Goals

    • Fix chore field separation lines
    • Change screen time tracking logic from "global" (week-long) to daily subtraction and weekly addition of remainders (more intuitive than current "weekly time budget method)
    • Add logic to fill in chore fields/lines, ideally with pictures, falling back to text.

    Resources

    tbd (Gitlab repo)


    Song Search with CLAP by gcolangiuli

    Description

    Contrastive Language-Audio Pretraining (CLAP) is an open-source library that enables the training of a neural network on both Audio and Text descriptions, making it possible to search for Audio using a Text input. Several pre-trained models for song search are already available on huggingface

    SUSE Hackweek AI Song Search

    Goals

    Evaluate how CLAP can be used for song searching and determine which types of queries yield the best results by developing a Minimum Viable Product (MVP) in Python. Based on the results of this MVP, future steps could include:

    • Music Tagging;
    • Free text search;
    • Integration with an LLM (for example, with MCP or the OpenAI API) for music suggestions based on your own library.

    The code for this project will be entirely written using AI to better explore and demonstrate AI capabilities.

    Result

    In this MVP we implemented:

    • Async Song Analysis with Clap model
    • Free Text Search of the songs
    • Similar song search based on vector representation
    • Containerised version with web interface

    We also documented what went well and what can be improved in the use of AI.

    You can have a look at the result here:

    Future implementation can be related to performance improvement and stability of the analysis.

    References


    Help Create A Chat Control Resistant Turnkey Chatmail/Deltachat Relay Stack - Rootless Podman Compose, OpenSUSE BCI, Hardened, & SELinux by 3nd5h1771fy

    Description

    The Mission: Decentralized & Sovereign Messaging

    FYI: If you have never heard of "Chatmail", you can visit their site here, but simply put it can be thought of as the underlying protocol/platform decentralized messengers like DeltaChat use for their communications. Do not confuse it with the honeypot looking non-opensource paid for prodect with better seo that directs you to chatmailsecure(dot)com

    In an era of increasing centralized surveillance by unaccountable bad actors (aka BigTech), "Chat Control," and the erosion of digital privacy, the need for sovereign communication infrastructure is critical. Chatmail is a pioneering initiative that bridges the gap between classic email and modern instant messaging, offering metadata-minimized, end-to-end encrypted (E2EE) communication that is interoperable and open.

    However, unless you are a seasoned sysadmin, the current recommended deployment method of a Chatmail relay is rigid, fragile, difficult to properly secure, and effectively takes over the entire host the "relay" is deployed on.

    Why This Matters

    A simple, host agnostic, reproducible deployment lowers the entry cost for anyone wanting to run a privacy‑preserving, decentralized messaging relay. In an era of perpetually resurrected chat‑control legislation threats, EU digital‑sovereignty drives, and many dangers of using big‑tech messaging platforms (Apple iMessage, WhatsApp, FB Messenger, Instagram, SMS, Google Messages, etc...) for any type of communication, providing an easy‑to‑use alternative empowers:

    • Censorship resistance - No single entity controls the relay; operators can spin up new nodes quickly.
    • Surveillance mitigation - End‑to‑end OpenPGP encryption ensures relay operators never see plaintext.
    • Digital sovereignty - Communities can host their own infrastructure under local jurisdiction, aligning with national data‑policy goals.

    By turning the Chatmail relay into a plug‑and‑play container stack, we enable broader adoption, foster a resilient messaging fabric, and give developers, activists, and hobbyists a concrete tool to defend privacy online.

    Goals

    As I indicated earlier, this project aims to drastically simplify the deployment of Chatmail relay. By converting this architecture into a portable, containerized stack using Podman and OpenSUSE base container images, we can allow anyone to deploy their own censorship-resistant, privacy-preserving communications node in minutes.

    Our goal for Hack Week: package every component into containers built on openSUSE/MicroOS base images, initially orchestrated with a single container-compose.yml (podman-compose compatible). The stack will:

    • Run on any host that supports Podman (including optimizations and enhancements for SELinux‑enabled systems).
    • Allow network decoupling by refactoring configurations to move from file-system constrained Unix sockets to internal TCP networking, allowing containers achieve stricter isolation.
    • Utilize Enhanced Security with SELinux by using purpose built utilities such as udica we can quickly generate custom SELinux policies for the container stack, ensuring strict confinement superior to standard/typical Docker deployments.
    • Allow the use of bind or remote mounted volumes for shared data (/var/vmail, DKIM keys, TLS certs, etc.).
    • Replace the local DNS server requirement with a remote DNS‑provider API for DKIM/TXT record publishing.

    By delivering a turnkey, host agnostic, reproducible deployment, we lower the barrier for individuals and small communities to launch their own chatmail relays, fostering a decentralized, censorship‑resistant messaging ecosystem that can serve DeltaChat users and/or future services adopting this protocol

    Resources