From 6ca487bca920d48df38041b07d5aa31eb1b3f538 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Sun, 13 Jun 2021 13:56:10 +0200 Subject: [PATCH 1/3] Add metapackage to track Linux kernel series This change adds a metapackage that allows users to track the latest Linux kernel version for a Linux stable branch. --- debian/templates/control.in | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/debian/templates/control.in b/debian/templates/control.in index 06f44a4..c291748 100644 --- a/debian/templates/control.in +++ b/debian/templates/control.in @@ -40,6 +40,26 @@ Description: Linux kernel version specific tools for version @KVMAJMIN@ This package provides the architecture dependent parts for kernel version locked tools (such as perf and x86_energy_perf_policy) +Package: pve-headers-@KVMAJMIN@-edge +Architecture: all +Section: admin +Priority: optional +Depends: pve-headers-@KVNAME@, +Description: Latest Proxmox Edge Kernel Headers + This is a metapackage which will install the kernel headers + for the latest available Proxmox Edge kernel from the @KVMAJMIN@ + series. + +Package: pve-kernel-@KVMAJMIN@-edge +Architecture: all +Section: admin +Priority: optional +Depends: pve-firmware, + pve-kernel-@KVNAME@, +Description: Latest Proxmox Edge Kernel Image + This is a metapackage which will install the latest available + Proxmox Edge kernel from the @KVMAJMIN@ series. + Package: pve-headers-@KVNAME@ Section: devel Priority: optional @@ -47,8 +67,8 @@ Architecture: any Provides: linux-headers, linux-headers-2.6, Depends: -Description: The Proxmox PVE Kernel Headers - This package contains the linux kernel headers +Description: The Proxmox Edge Kernel Headers + This package contains the Proxmox Edge Linux kernel headers Package: pve-kernel-@KVNAME@ Section: admin @@ -61,7 +81,7 @@ Depends: busybox, initramfs-tools, Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub-efi-arm64, Description: The Proxmox PVE Kernel Image - This package contains the linux kernel and initial ramdisk used for booting + This package contains the Linux kernel and initial ramdisk used for booting Package: pve-kernel-libc-dev Section: devel From e33e999d2cbf90aad7b3cfef1804a840a39f923f Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Sun, 13 Jun 2021 15:25:50 +0200 Subject: [PATCH 2/3] Add workflow step to publish to CloudSmith This change adds a workflow step to release the Debian packages to CloudSmith, which will host Debian packages for Open Source projects for free. --- .github/workflows/release.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8f5958f..7f916d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,7 +49,7 @@ jobs: path: "*.deb" publish: name: Publish - runs-on: [ubuntu-latest] + runs-on: ubuntu-latest if: ${{ github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true }} needs: build steps: @@ -81,3 +81,12 @@ jobs: body: ${{ steps.format_release.outputs.changelog }} token: ${{ secrets.PAT }} artifacts: "artifacts/debs-generic/pve-headers-*.deb,artifacts/debs-generic/linux-tools-*.deb,artifacts/debs-*/pve-kernel-*.deb" + - name: Release to CloudSmith + run: | + pip install --upgrade cloudsmith-cli + find artifacts/debs-generic \ + -name '*.deb' \ + -not -name "*dbgsym*" \ + -exec cloudsmith push deb pve-edge/kernel/any-distro/any-version {} --republish \; + env: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} From a9ac4fd6fb8c93240427608d3bf784d47654041d Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Sun, 13 Jun 2021 13:51:14 +0200 Subject: [PATCH 3/3] Add usage instructions for Cloudsmith Debian repository This change adds instructions for how to use thhe Cloudsmith Debian repository to install the Proxmox Edge kernels. --- README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1dccd1f..9fe849a 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,30 @@ Custom Linux kernels for Proxmox VE 6. 2. [Navi Reset](https://github.com/fabianishere/pve-edge-kernel/issues/5) ## Installation -Select from the [Releases](https://github.com/fabianishere/pve-edge-kernel/releases) +[![Hosted By: Cloudsmith](https://img.shields.io/badge/OSS%20hosting%20by-cloudsmith-blue?logo=cloudsmith&style=flat-square)](https://cloudsmith.com) + +First, set up our Debian repository on your Proxmox installation: +1. Add the repository's GPG key: +```bash +curl -1sLf 'https://dl.cloudsmith.io/public/pve-edge/kernel/gpg.8EC01CCF309B98E7.key' | apt-key add - +``` +2. Set up the `pve-edge-kernel` repository: +```bash +echo "deb https://dl.cloudsmith.io/public/pve-edge/kernel/deb/debian bullseye main" > /etc/apt/sources.list.d/pve-edge-kernel.list +``` +3. Install a kernel package: +```bash +apt update +apt install pve-kernel-5.12-edge +``` + +Package repository hosting is graciously provided by [Cloudsmith](https://cloudsmith.com). +Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that +enables your organization to create, store and share packages in any format, to any place, with total +confidence. + +### Manual +Alternatively, you may manually install the kernels. Select from the [Releases](https://github.com/fabianishere/pve-edge-kernel/releases) page the kernel version you want to install and download the appropriate Debian package. Then, you can install the package as follows: