37 lines
947 B
Bash
Executable File
37 lines
947 B
Bash
Executable File
#!/bin/bash
|
|
|
|
kernel_version="6.7.2"
|
|
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-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
|
|
|