wimpysworld / deb-get

apt-get for .debs published via GitHub or direct download 📦
MIT License
1.32k stars 122 forks source link

Add CoolerControl #969

Open yoshimo opened 9 months ago

yoshimo commented 9 months ago

Requesting a new app ✨

If you are requesting a new app to be added to deb-get please complete the following section, only one app per issue please.

CoolerControl features a GUI for viewing all your system's sensors and for creating custom fan and pump profiles based on any available temperature sensor. Paired with this is a systemd service that controls all your devices in the background. It's an extension of liquidctl and hwmon with a focus on controlling cooling devices such as AIO coolers and fans under Linux. Written in Python and Rust, it uses PySide for the UI.

philclifford commented 9 months ago

The Ubuntu/Debian section is actually

curl -1sLf \
  'https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/setup.deb.sh' \
  | sudo -E bash

so the key is https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/gpg.668189E5007F5A8D.key and the APT repo is based on

deb [signed-by=/usr/share/keyrings/coolercontrol-coolercontrol-archive-keyring.gpg] https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/deb/any-distro any-version main

when the config script fetches the repo definition using


function config_url {
    echo "https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/config.deb.txt?distro=${distro}&codename=${codename}&version=${version}&arch=${arch}" | sed 's/ /%20/g'
}

to generate something like

deb [signed-by=/usr/share/keyrings/coolercontrol-coolercontrol-archive-keyring.gpg] https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/deb/debian bullseye main

or

deb [signed-by=/usr/share/keyrings/coolercontrol-coolercontrol-archive-keyring.gpg] https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/deb/ubuntu jammy main

We can do similar behaviour here but tbh given they provide a script to handle adding their repo and key (which errors helpfully for unsupported or temporarly in-flight support situations and presumably is updated on future changes to the signing key ) perhaps this is better left to their script.