#!/bin/bash kernel_version="6.7.6" zen_version="zen1" source_url="https://github.com/zen-kernel/zen-kernel/archive/refs/tags/v${kernel_version}-${zen_version}.tar.gz" source_file="v${kernel_version}-${zen_version}.tar.gz" is_package_installed() { dnf list installed "$1" &> /dev/null return $? } if [ -f "SOURCES/${source_file}" ]; then rm -f "SOURCES/${source_file}" fi for dir in BUILD BUILDROOT RPMS SOURCES SPECS SRPMS; do if [ ! -d "$dir" ]; then mkdir "$dir" fi done required_packages=(gcc make flex bison ncurses-devel elfutils-libelf-devel openssl openssl-devel clang llvm lld rpm-build redhat-rpm-config rpmdevtools dwarves) for package in "${required_packages[@]}"; do if ! is_package_installed "$package"; then sudo dnf install -y "$package" fi done if [ ! -f "SOURCES/${source_file}" ]; then wget -P SOURCES/ "${source_url}" fi rpmbuild -ba --define "_topdir $PWD" SPECS/linux-zen.spec