From 2d90d1e0aa466eab6fb77a116d3a0ef51cf4529a Mon Sep 17 00:00:00 2001 From: Robert Sturla Date: Sat, 27 Apr 2024 08:06:37 +0100 Subject: [PATCH] chore: remove Fedora 38 & kmods images (#562) --- .github/ISSUE_TEMPLATE/feature_request.yml | 1 - .github/workflows/build-38.yml | 15 ----- .github/workflows/reusable-build.yml | 48 ++------------ Containerfile | 23 +------ README.md | 5 +- kmods-install.sh | 58 ----------------- .../etc/modprobe.d/broadcom-wl-blacklist.conf | 2 - .../default-disable-broadcom-wl.conf | 3 - packages.json | 63 ------------------- 9 files changed, 9 insertions(+), 209 deletions(-) delete mode 100644 .github/workflows/build-38.yml delete mode 100755 kmods-install.sh delete mode 100644 kmods-sys_files/usr/etc/modprobe.d/broadcom-wl-blacklist.conf delete mode 100644 kmods-sys_files/usr/etc/modprobe.d/default-disable-broadcom-wl.conf diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 929b5209..ad4d4f38 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -36,7 +36,6 @@ body: - All Images - Bazzite - Kinoite - - LXQt - Mate - Silverblue - Ubuntu diff --git a/.github/workflows/build-38.yml b/.github/workflows/build-38.yml deleted file mode 100644 index 149b2011..00000000 --- a/.github/workflows/build-38.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: ublue main 38 -on: - pull_request: - merge_group: - schedule: - - cron: '10 15 * * *' # 3pm-ish UTC everyday (timed against official fedora container pushes) - workflow_dispatch: - -jobs: - build: - name: build - uses: ./.github/workflows/reusable-build.yml - secrets: inherit - with: - fedora_version: 38 \ No newline at end of file diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index a05845ad..0b217a59 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -3,7 +3,7 @@ on: workflow_call: inputs: fedora_version: - description: 'The Fedora release version: 38, 39, 40, etc' + description: 'The Fedora release version: 39, 40, 41 etc' required: true type: string env: @@ -32,32 +32,14 @@ jobs: - sericea - onyx - base - - lxqt - lazurite - mate - vauxite - build_target: [nokmods, kmods] exclude: - # There is no Fedora 38 version of onyx or lazurite - - image_name: onyx - fedora_version: 38 - - image_name: lazurite - fedora_version: 38 - # There is no Fedora 39+ version of lxqt as it was replaced by lazurite - - image_name: lxqt - fedora_version: 39 - - image_name: lxqt - fedora_version: 40 # There is currently no Fedora 40 version of mate - image_name: mate fedora_version: 40 - # THE FOLLOWING EXCLUDE IS MESSY BUT TEMPORARY UNTIL F38 IS GONE - # see: https://github.com/ublue-os/main/issues/369 - # Fedora 39+ images do not include custom kmods (legacy) - - build_target: kmods - fedora_version: 39 - - build_target: kmods - fedora_version: 40 + steps: # Checkout push-to-registry action GitHub repository - name: Checkout Push to Registry action @@ -66,27 +48,13 @@ jobs: - name: Matrix Variables shell: bash run: | - if [[ "${{ matrix.image_name }}" == "lxqt" || "${{ matrix.image_name }}" == "mate" ]]; then + if [[ "${{ matrix.image_name }}" == "mate" ]]; then echo "SOURCE_IMAGE=base" >> $GITHUB_ENV else echo "SOURCE_IMAGE=${{ matrix.image_name }}" >> $GITHUB_ENV fi echo "SOURCE_ORG=fedora-ostree-desktops" >> $GITHUB_ENV - - # THE FOLLOWING IS MESSY BUT TEMPORARY UNTIL F38 IS GONE - # see: https://github.com/ublue-os/main/issues/369 - # Fedora 39+ images do not include custom kmods (legacy) - if [[ "${{ matrix.fedora_version}}" -ge "39" && "${{ matrix.build_target }}" == "nokmods" ]]; then - export IMAGE_FLAVOR=main - elif [[ "${{ matrix.fedora_version}}" -lt "39" && "${{ matrix.build_target }}" == "nokmods" ]]; then - export IMAGE_FLAVOR=nokmods - elif [[ "${{ matrix.fedora_version}}" -lt "39" && "${{ matrix.build_target }}" == "kmods" ]]; then - export IMAGE_FLAVOR=main - else - echo "ERROR: invalid workflow request - ${{ matrix.fedora_version }} - ${{ matrix.build_target }}" - exit 1 - fi - echo "IMAGE_NAME=${{ matrix.image_name }}-${IMAGE_FLAVOR}" >> $GITHUB_ENV + echo "IMAGE_NAME=${{ matrix.image_name }}-main" >> $GITHUB_ENV - name: Generate tags id: generate-tags @@ -96,11 +64,7 @@ jobs: TIMESTAMP="$(date +%Y%m%d)" VARIANT="${{ matrix.fedora_version }}" - if [[ "${{ matrix.fedora_version }}" -eq "38" ]]; then - IS_LATEST_VERSION=false - IS_STABLE_VERSION=true - IS_GTS_VERSION=false - elif [[ "${{ matrix.fedora_version }}" -eq "39" ]]; then + if [[ "${{ matrix.fedora_version }}" -eq "39" ]]; then IS_LATEST_VERSION=false IS_STABLE_VERSION=true IS_GTS_VERSION=true @@ -218,8 +182,6 @@ jobs: RPMFUSION_MIRROR=${{ vars.RPMFUSION_MIRROR }} labels: ${{ steps.meta.outputs.labels }} oci: false - extra-args: | - --target=${{ matrix.build_target }} # Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR. # https://github.com/macbre/push-to-ghcr/issues/12 diff --git a/Containerfile b/Containerfile index 6dc5c219..fe3c8502 100644 --- a/Containerfile +++ b/Containerfile @@ -4,7 +4,7 @@ ARG SOURCE_ORG="${SOURCE_ORG:-fedora-ostree-desktops}" ARG BASE_IMAGE="quay.io/${SOURCE_ORG}/${SOURCE_IMAGE}" ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}" -FROM ${BASE_IMAGE}:${FEDORA_MAJOR_VERSION} AS nokmods +FROM ${BASE_IMAGE}:${FEDORA_MAJOR_VERSION} ARG IMAGE_NAME="${IMAGE_NAME:-silverblue}" ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}" @@ -30,24 +30,3 @@ RUN mkdir -p /var/lib/alternatives && \ mkdir -p /var/lib && mv /staged-alternatives /var/lib/alternatives && \ mkdir -p /tmp /var/tmp && \ chmod -R 1777 /tmp /var/tmp - - -# !!! WARNING - KMODS IN MAIN IMAGES ARE DEPRECATED !!! - -# Only "legacy" (Fedora 38 and older) have custom kmods included in the "main" images. -FROM nokmods AS kmods - -ARG IMAGE_NAME="${IMAGE_NAME:-silverblue}" -ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-38}" -ARG RPMFUSION_MIRROR="" - -COPY kmods-install.sh /tmp/kmods-install.sh -COPY kmods-sys_files /tmp/kmods-files - -COPY --from=ghcr.io/ublue-os/akmods:main-${FEDORA_MAJOR_VERSION} /rpms /tmp/akmods-rpms - -# kmods-install.sh will error if running in Fedora 39 or newer. -RUN /tmp/kmods-install.sh && \ - rm -rf /tmp/* /var/* && \ - ostree container commit && \ - mkdir -p /var/tmp && chmod -R 1777 /var/tmp diff --git a/README.md b/README.md index 8f228fe2..ff72e0dc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Main -[![build-38](https://github.com/ublue-os/main/actions/workflows/build-38.yml/badge.svg)](https://github.com/ublue-os/main/actions/workflows/build-38.yml) [![build-39](https://github.com/ublue-os/main/actions/workflows/build-39.yml/badge.svg)](https://github.com/ublue-os/main/actions/workflows/build-39.yml) [![build-40](https://github.com/ublue-os/main/actions/workflows/build-40.yml/badge.svg)](https://github.com/ublue-os/main/actions/workflows/build-40.yml) +[![build-39](https://github.com/ublue-os/main/actions/workflows/build-39.yml/badge.svg)](https://github.com/ublue-os/main/actions/workflows/build-39.yml) +[![build-40](https://github.com/ublue-os/main/actions/workflows/build-40.yml/badge.svg)](https://github.com/ublue-os/main/actions/workflows/build-40.yml) A common main image for all other uBlue images, with minimal (but important) adjustments to Fedora. <3 @@ -8,4 +9,4 @@ A common main image for all other uBlue images, with minimal (but important) adj - [Main website](https://universal-blue.org) - [Documentation](https://universal-blue.discourse.group/docs?category=4) -- [Scope document](https://universal-blue.discourse.group/t/universal-blue-project-governance/51) \ No newline at end of file +- [Scope document](https://universal-blue.discourse.group/t/universal-blue-project-governance/51) diff --git a/kmods-install.sh b/kmods-install.sh deleted file mode 100755 index ff50b5f3..00000000 --- a/kmods-install.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - -set -ouex pipefail - -# !!! WARNING - KMODS IN MAIN IMAGES ARE DEPRECATED !!! - -echo "DEPRECATED: Universal Blue will not include kmods in *-main images for Fedora 39 and newer." - -# Only run if FEDORA_MAJOR_VERSION is less than 39 -if [[ ${FEDORA_MAJOR_VERSION} -gt 38 ]]; then \ - exit 1 -fi - -# proceed with rest of script without further version checks - - -# copy kmods related files into image filesystem -cp -rf /tmp/kmods-files/* / - - -for REPO in $(rpm -ql ublue-os-akmods-addons|grep ^"/etc"|grep repo$); do - echo "akmods: enable default entry: ${REPO}" - sed -i '0,/enabled=0/{s/enabled=0/enabled=1/}' ${REPO} -done - -if [[ "${FEDORA_MAJOR_VERSION}" -ge 39 ]]; then - # note: this is done before single mirror hack to ensure this persists in image and is not reset - echo "Enable rpmfusion-(non)free-updates-testing with low priority for Fedora ${FEDORA_MAJOR_VERSION}" - sed -i '0,/enabled=0/{s/enabled=0/enabled=1\npriority=110/}' /etc/yum.repos.d/rpmfusion-*-updates-testing.repo -fi - -if [ -n "${RPMFUSION_MIRROR}" ]; then - # force use of single rpmfusion mirror - echo "Using single rpmfusion mirror: ${RPMFUSION_MIRROR}" - sed -i.bak "s%^metalink=%#metalink=%" /etc/yum.repos.d/rpmfusion-*.repo - sed -i "s%^#baseurl=http://download1.rpmfusion.org%baseurl=${RPMFUSION_MIRROR}%" /etc/yum.repos.d/rpmfusion-*.repo -fi - -rpm-ostree install \ - kernel-devel-matched \ - /tmp/akmods-rpms/kmods/*xpadneo*.rpm \ - /tmp/akmods-rpms/kmods/*xone*.rpm \ - /tmp/akmods-rpms/kmods/*openrazer*.rpm \ - /tmp/akmods-rpms/kmods/*wl*.rpm - -# Disabled due to failure to build on 6.8 -# /tmp/akmods-rpms/kmods/*v4l2loopback*.rpm \ - -for REPO in $(rpm -ql ublue-os-akmods-addons|grep ^"/etc"|grep repo$); do - echo "akmods: disable per defaults: ${REPO}" - sed -i 's@enabled=1@enabled=0@g' ${REPO} -done - -if [ -n "${RPMFUSION_MIRROR}" ]; then - # reset forced use of single rpmfusion mirror - echo "Revert from single rpmfusion mirror: ${RPMFUSION_MIRROR}" - rename -v .repo.bak .repo /etc/yum.repos.d/rpmfusion-*repo.bak -fi diff --git a/kmods-sys_files/usr/etc/modprobe.d/broadcom-wl-blacklist.conf b/kmods-sys_files/usr/etc/modprobe.d/broadcom-wl-blacklist.conf deleted file mode 100644 index 40af9405..00000000 --- a/kmods-sys_files/usr/etc/modprobe.d/broadcom-wl-blacklist.conf +++ /dev/null @@ -1,2 +0,0 @@ -# This file intentionally left empty to prevent wl package from disabling drivers needed for other hardware by default. -# If you wish to use wl, delete this file and /etc/modprobe.d/default-disable-broadcom-wl.conf diff --git a/kmods-sys_files/usr/etc/modprobe.d/default-disable-broadcom-wl.conf b/kmods-sys_files/usr/etc/modprobe.d/default-disable-broadcom-wl.conf deleted file mode 100644 index 0d24a79d..00000000 --- a/kmods-sys_files/usr/etc/modprobe.d/default-disable-broadcom-wl.conf +++ /dev/null @@ -1,3 +0,0 @@ -# Prevents wl package from loading along side drivers it conflicts with. -# If you wish to use wl, delete this file and /etc/modprobe.d/broadcom-wl-blacklist.conf -blacklist wl diff --git a/packages.json b/packages.json index 513022f4..5fbad618 100644 --- a/packages.json +++ b/packages.json @@ -61,43 +61,6 @@ "kio-admin", "ksshaskpass" ], - "lxqt": [ - "breeze-cursor-theme", - "breeze-gtk", - "breeze-icon-theme", - "falkon", - "firewall-config", - "initial-setup-gui", - "libqtxdg", - "lxqt-about", - "lxqt-archiver", - "lxqt-config", - "lxqt-globalkeys", - "lxqt-notificationd", - "lxqt-openssh-askpass", - "lxqt-panel", - "lxqt-policykit", - "lxqt-powermanagement", - "lxqt-qtplugin", - "lxqt-runner", - "lxqt-session", - "lxqt-themes", - "lxqt-themes-fedora", - "network-manager-applet", - "nm-connection-editor", - "notification-daemon", - "obconf", - "openbox", - "pcmanfm-qt", - "perl-File-MimeInfo", - "qt5-qtimageformats", - "qterminal", - "sddm", - "sddm-themes", - "upower", - "xdg-desktop-portal-kde", - "xdg-user-dirs" - ], "mate": [ "NetworkManager-adsl", "NetworkManager-openconnect-gnome", @@ -227,32 +190,6 @@ ] } }, - "38": { - "include": { - "all": [ - "bootc" - ], - "silverblue": [ - "raw-thumbnailer" - ], - "mate": [ - "f38-backgrounds-base", - "f38-backgrounds-extras-base", - "f38-backgrounds-extras-mate", - "f38-backgrounds-mate", - "raw-thumbnailer" - ], - "vauxite": [ - "raw-thumbnailer" - ], - "kinoite": [ - "xwaylandvideobridge" - ] - }, - "exclude": { - "all": [] - } - }, "39": { "include": { "all": [