Skip to content

Distro/OS packaging #4

Open
Open

Description

@emansom

Description

Currently afaict no distro/OS specific packages exist

Proposed solution

Work with distro packagers and setup automated GitHub Actions to open up pull requests for specific package repos (e.g. winget, Fedora, Arch etc.), and/or automatic AUR publishers

Activity

  1. emansom commented on Mar 11, 2026

    @emansom
    ContributorAuthor

    For the time being I packaged it for Arch here:
    https://aur.archlinux.org/packages/siomon

    Feel free to message me to add maintainers of this project, to the co-maintainers list of the AUR package

  2. wendelltron commented on Mar 11, 2026

    @wendelltron
    Contributor

    I have never been a maintainer/comaintainer, but I am willing to learn the ropes from you to be a co-maintainer for arch to your lead here? thank you

  3. emansom commented on Mar 11, 2026

    @emansom
    ContributorAuthor

    I have never been a maintainer/comaintainer, but I am willing to learn the ropes from you to be a co-maintainer for arch to your lead here? thank you

    It's fairly easy, Arch/AUR packaging is mostly chroot+bash and their wiki is very detailed. However, automating it seems more sensible and future-proof. Less human error (and bus factor!) prone.

    For getting it into the main repos, the package needs some votes/popularity/usage and then a Package Maintainer (I am not one, just a User) can put it into the extra repo.

    For other distro's like Fedora/CentOS/Rocky/RHEL it's fairly similar: Copr -> Playground? -> main inclusion.

    Messaging active package maintainers for direct inclusion is also a possible route to take.

  4. emansom commented on Mar 18, 2026

    @emansom
    ContributorAuthor

    Testing building for Ubuntu PPA using Launchpad here:
    https://launchpad.net/~level1techs/+archive/ubuntu/siomon

    Still in Pending status, will take a few hours (~4h?) for the servers to process it
    https://launchpad.net/~level1techs/+archive/ubuntu/siomon/+builds?build_text=&build_state=all

    After it is all done (update: yep it works!), on Ubuntu 25.10 (and 24.04!) one should be able to execute the following to get siomon installed:

    foo@bar:~$ sudo apt update
    foo@bar:~$ sudo apt install software-properties-common
    foo@bar:~$ sudo add-apt-repository ppa:level1techs/siomon
    foo@bar:~$ sudo apt update
    foo@bar:~$ sudo apt install siomon

    Will contribute the build (containerized) scripts for publishing to AUR and PPA after it all works and the results are up to standards.

    Update 1

    Ah four hours waiting, just for the build to fail. I can see why the AUR is more popular than Launchpad/PPAs, lol.
    Figuring out what went wrong now, then retrying.

    Image
    Update 2

    Second try built successfully, now waiting on Pending publication for it to appear in the PPA APT repo..

    Image
    Update 3

    Works!

    root@d35e1fa59074:/# lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 25.10
    Release:        25.10
    Codename:       questing
    root@d35e1fa59074:/# apt update
    Hit:1 http://archive.ubuntu.com/ubuntu questing InRelease
    Hit:2 http://archive.ubuntu.com/ubuntu questing-updates InRelease
    Hit:3 http://archive.ubuntu.com/ubuntu questing-backports InRelease
    Hit:4 http://security.ubuntu.com/ubuntu questing-security InRelease
    16 packages can be upgraded. Run 'apt list --upgradable' to see them.
    root@d35e1fa59074:/# apt install software-properties-common
    Installing:                     
      software-properties-common
    
    Summary:
      Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 16
      Download size: 16.5 kB
      Space needed: 201 kB / 119 GB available
    
    Get:1 http://archive.ubuntu.com/ubuntu questing/main amd64 software-properties-common all 0.114 [16.5 kB]
    Fetched 16.5 kB in 0s (208 kB/s)                     
    debconf: unable to initialize frontend: Dialog
    debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 79, <STDIN> line 1.)
    debconf: falling back to frontend: Readline
    debconf: unable to initialize frontend: Readline
    debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC entries checked: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.40.1 /usr/local/share/perl/5.40.1 /usr/lib/x86_64-linux-gnu/perl5/5.40 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.40 /usr/share/perl/5.40 /usr/local/lib/site_perl) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 8, <STDIN> line 1.)
    debconf: falling back to frontend: Teletype
    Selecting previously unselected package software-properties-common.
    (Reading database ... 11603 files and directories currently installed.)
    Preparing to unpack .../software-properties-common_0.114_all.deb ...
    Unpacking software-properties-common (0.114) ...
    Setting up software-properties-common (0.114) ...
    Processing triggers for dbus (1.16.2-2ubuntu2) ...
    root@d35e1fa59074:/# add-apt-repository ppa:level1techs/siomon
    Repository: 'Types: deb
    URIs: https://ppa.launchpadcontent.net/level1techs/siomon/ubuntu/
    Suites: questing
    Components: main
    '
    More info: https://launchpad.net/~level1techs/+archive/ubuntu/siomon
    Adding repository.
    Press [ENTER] to continue or Ctrl-c to cancel.
    Hit:1 http://archive.ubuntu.com/ubuntu questing InRelease
    Hit:2 http://archive.ubuntu.com/ubuntu questing-updates InRelease                                                  
    Hit:3 http://archive.ubuntu.com/ubuntu questing-backports InRelease                                                
    Hit:4 http://security.ubuntu.com/ubuntu questing-security InRelease               
    Get:5 https://ppa.launchpadcontent.net/level1techs/siomon/ubuntu questing InRelease [20.0 kB]
    Get:6 https://ppa.launchpadcontent.net/level1techs/siomon/ubuntu questing/main amd64 Packages [425 B]
    Fetched 20.4 kB in 1s (31.9 kB/s) 
    Reading package lists... Done
    root@d35e1fa59074:/# apt update
    Hit:1 http://archive.ubuntu.com/ubuntu questing InRelease
    Hit:2 http://archive.ubuntu.com/ubuntu questing-updates InRelease                                                  
    Hit:3 http://archive.ubuntu.com/ubuntu questing-backports InRelease                                                
    Hit:4 https://ppa.launchpadcontent.net/level1techs/siomon/ubuntu questing InRelease   
    Hit:5 http://security.ubuntu.com/ubuntu questing-security InRelease               
    16 packages can be upgraded. Run 'apt list --upgradable' to see them.
    root@d35e1fa59074:/# apt install siomon
    Installing:                     
      siomon
    
    Summary:
      Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 16
      Download size: 1497 kB
      Space needed: 5785 kB / 119 GB available
    
    Get:1 https://ppa.launchpadcontent.net/level1techs/siomon/ubuntu questing/main amd64 siomon amd64 0.2.0+ds1-0ppa1~questing1 [1497 kB]
    Fetched 1497 kB in 0s (4938 kB/s)
    debconf: unable to initialize frontend: Dialog
    debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 79, <STDIN> line 1.)
    debconf: falling back to frontend: Readline
    debconf: unable to initialize frontend: Readline
    debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC entries checked: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.40.1 /usr/local/share/perl/5.40.1 /usr/lib/x86_64-linux-gnu/perl5/5.40 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.40 /usr/share/perl/5.40 /usr/local/lib/site_perl) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 8, <STDIN> line 1.)
    debconf: falling back to frontend: Teletype
    Selecting previously unselected package siomon.
    (Reading database ... 11619 files and directories currently installed.)
    Preparing to unpack .../siomon_0.2.0+ds1-0ppa1~questing1_amd64.deb ...
    Unpacking siomon (0.2.0+ds1-0ppa1~questing1) ...
    Setting up siomon (0.2.0+ds1-0ppa1~questing1) ...
    root@d35e1fa59074:/# sio -V
    sio 0.2.0
    root@d35e1fa59074:/#
  5. emansom commented on Mar 26, 2026

    @emansom
    ContributorAuthor

    Logging this here for posterity and so I don't forget, also bus factor

    Was browsing Phoronix and came across this article about Lemonade (seems to be a interesting project supporting Ryzen's NPUs!)

    The article mentioned new PPA repos, so I was immediately intrigued on how they achieved this.

    ...
    With Lemonade 10.0.1 the Debian packages are now available via a
    Personal Package Archive (PPA) for easier installation on Ubuntu Linux
    ...
    

    They seem to be using a similar workflow to what I proposed in #24 and #28, and more generalized across multiple files:

    https://github.com/lemonade-sdk/lemonade/blob/main/.github/workflows/linux_distro_builds.yml
    https://github.com/lemonade-sdk/lemonade/blob/main/.github/actions/prepare-debian-build/action.yml
    https://github.com/lemonade-sdk/lemonade/blob/main/.github/actions/build-debian-package/action.yml
    https://github.com/lemonade-sdk/lemonade/blob/main/.github/workflows/launchpad-ppa.yml
    https://github.com/lemonade-sdk/lemonade/blob/main/.github/workflows/upload.yml

    Later this week I'll be splitting through their exact implementation details, and adjusting the one in this repo if there's improvement to be gained

  6. Gdetrane commented on May 29, 2026

    @Gdetrane

    Hey @wendelltron this project is awesome!

    Given this is already published on crates.io, then I think it's worth adding a cross distro fallback installation path with cargo install --locked siomon, at the very top of the installation methods (and a link to https://doc.rust-lang.org/cargo/getting-started/installation.html).

    Being on Fedora daily for my work Thinkpad, I always felt like cargo has been a first class package manager even as someone who never used rust for development, normally I don't feel the need for a native package or copr when a rust one is available

  7. Gdetrane commented on May 29, 2026

    @Gdetrane

    Hey @wendelltron this project is awesome!

    Given this is already published on crates.io, then I think it's worth adding a cross distro fallback installation path with cargo install --locked siomon, at the very top of the installation methods (and a link to https://doc.rust-lang.org/cargo/getting-started/installation.html).

    Being on Fedora daily for my work Thinkpad, I always felt like cargo has been a first class package manager even as someone who never used rust for development, normally I don't feel the need for a native package or copr when a rust one is available

    Not trying to suggest that this shouldn't be packaged for Fedora, but I would consider this small addition an easy win until it is

  8. xyehya commented on Oct 14, 2026

    @xyehya

    @emansom @wendelltron I'm on Fedora 44 workstation, and id like to help get siomon packaged there following the COPR → official repos path suggested

    Steps/Questions:

    1. Add packaging/fedora/siomon.spec , generated with rust2rpm and test-built locally with mock for Fedora 43, 44 and rawhide.
      • It bundles the crate dependencies, which the Fedora Rust guidelines allow for this case. Everything except ipmi-rs and pci-ids is already packaged in Fedora.
      • It sets the capabilities with RPM's %caps(cap_perfmon,cap_sys_rawio=ep) , so no setcap post-install script is needed.
      • It ships the udev rules the tmpfiles config and the shell completions similar to the AUR and Debian packages.
      • It leaves out the sinfo_io kernel module? (it covers only Nuvoton NCT6775–NCT6799 chips?)
    2. Publish it on COPR, so Fedora users can run sudo dnf copr enable owner/siomon && sudo dnf install siomon
    3. Add a Fedora (COPR) section to the README.
    4. COPR under a level1techs group, like ppa:level1techs/siomo or should I start with it under my account and transfer it later?
    5. Do you want a COPR publish step in release.yml , next to the AUR and PPA jobs
      Official Fedora inclusion can follow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: packagingDistro packages, AUR, PPA, release pipelinehelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions