# ============================================================================= # KERNEL-STABLE SPEC - Ro-ASD Stable Kernel # ============================================================================= %global debug_package %{nil} %global __strip /bin/true %global _build_id_links none %global _default_patch_fuzz 2 %global _disable_source_fetch 0 # === Temel Bilgiler === Name: ro-kernel-stable Version: 6.19.6 Release: 100%{?dist} Summary: Ro-ASD Stable Linux Kernel - Maximum reliability for production License: GPLv2 URL: https://www.kernel.org Vendor: Ro-ASD Kernel Team ExclusiveArch: x86_64 # === Makro Tanımları === %define kverrel %{version}-%{release}.%{_arch} %define kverstr %{version}-%{release} # Compression %global compression xz %global compression_flags --compress %global compext xz # === Kaynaklar === Source0: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-%{version}.tar.xz Source1: config Source2: kvm_stat.logrotate Source3: Makefile.rhelver # === Patch'ler === Patch0: patch-6.19-redhat.patch # === Build Bağımlılıkları === BuildRequires: bash bc binutils bison flex gcc gcc-c++ make perl-interpreter BuildRequires: rsync openssl openssl-devel elfutils-libelf-devel dwarves BuildRequires: python3 python3-devel python3-pyyaml BuildRequires: kernel-rpm-macros BuildRequires: kmod bash coreutils tar git-core which BuildRequires: bzip2 xz findutils m4 perl-Carp perl-devel perl-generators diffutils gawk BuildRequires: asciidoc xmlto python3-docutils BuildRequires: libcap-devel libcap-ng-devel ncurses-devel BuildRequires: libtraceevent-devel libtracefs-devel libbpf-devel >= 0.6.0 # === Paket Bağımlılıkları === Requires: linux-firmware >= 20150904 Requires(pre): coreutils systemd >= 203 Requires(post): %{name}-modules = %{version}-%{release} %description Ro-ASD Stable Linux Kernel - Maximum reliability for production. # === CORE PAKET === %package core Summary: Stable kernel core package Provides: installonlypkg(kernel) Provides: kernel = %{version}-%{release} Provides: kernel-core = %{version}-%{release} Provides: kernel-uname-r = %{kverrel} Provides: kernel-core-uname-r = %{kverrel} Requires: bash coreutils linux-firmware Requires: /usr/bin/kernel-install Requires: %{name}-modules = %{version}-%{release} %description core Ro-ASD Stable Linux kernel core (vmlinuz) with maximum reliability. # === MODULES PAKET === %package modules Summary: Kernel modules for the stable kernel Provides: installonlypkg(kernel-module) Provides: kernel-modules = %{version}-%{release} Provides: kernel-modules-uname-r = %{kverrel} Requires: kmod %description modules Loadable kernel modules for the Ro-ASD stable kernel. # === DEVEL PAKET === %package devel Summary: Development headers for building external modules Provides: kernel-devel = %{version}-%{release} Provides: kernel-devel-uname-r = %{kverrel} AutoReqProv: no Requires: findutils perl-interpreter openssl-devel Requires: elfutils-libelf-devel bison flex make gcc Requires: %{name}-core = %{version}-%{release} Enhances: akmods dkms %description devel Kernel headers and makefiles for building external kernel modules. # === PREP === %prep %setup -q -n linux-%{version} # Makefile.rhelver'ı kopyala (KRİTİK!) cp %{SOURCE3} Makefile.rhelver # Config'i kopyala cp %{SOURCE1} .config # Patch'i uygula %if 0%{?nopatches} == 0 patch -p1 -i %{PATCH0} %endif # Config'i finalize et make %{?_smp_mflags} olddefconfig cp .config config-linux-stable # === BUILD === %build make %{?_smp_mflags} bzImage modules KCFLAGS="-g0 -O2" # === INSTALL === %install mkdir -p %{buildroot}/boot mkdir -p %{buildroot}/lib/modules/%{kverrel} mkdir -p %{buildroot}/usr/src/kernels/%{kverrel} ImageName=$(make KERNELRELEASE=%{kverrel} image_name | tail -n 1) cp -v $ImageName %{buildroot}/boot/vmlinuz-%{kverrel} chmod 755 %{buildroot}/boot/vmlinuz-%{kverrel} make %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} \ KERNELRELEASE=%{kverrel} modules_install make %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install cp -v .config %{buildroot}/boot/config-%{kverrel} cp -v System.map %{buildroot}/boot/System.map-%{kverrel} cp -v .config %{buildroot}/lib/modules/%{kverrel}/config cp -v System.map %{buildroot}/lib/modules/%{kverrel}/System.map # Devel hazırlığı cd %{_builddir}/linux-%{version} rm -f %{buildroot}/lib/modules/%{kverrel}/build rm -f %{buildroot}/lib/modules/%{kverrel}/source mkdir -p %{buildroot}/lib/modules/%{kverrel}/build (cd %{buildroot}/lib/modules/%{kverrel} ; ln -s build source) cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` \ %{buildroot}/lib/modules/%{kverrel}/build [ -e Module.symvers ] && cp Module.symvers %{buildroot}/lib/modules/%{kverrel}/build cp System.map %{buildroot}/lib/modules/%{kverrel}/build cp -a scripts %{buildroot}/lib/modules/%{kverrel}/build/ rm -rf %{buildroot}/lib/modules/%{kverrel}/build/scripts/tracing cp -a include %{buildroot}/lib/modules/%{kverrel}/build/include %ifarch x86_64 cp -a --parents arch/x86/entry/syscalls/syscall_*.tbl \ %{buildroot}/lib/modules/%{kverrel}/build/ cp -a --parents arch/x86/tools/relocs*.c \ %{buildroot}/lib/modules/%{kverrel}/build/ %endif mkdir -p %{buildroot}/usr/src/kernels mv %{buildroot}/lib/modules/%{kverrel}/build \ %{buildroot}/usr/src/kernels/%{kverrel} ln -sf /usr/src/kernels/%{kverrel} \ %{buildroot}/lib/modules/%{kverrel}/build pushd %{buildroot}/lib/modules/%{kverrel}/ rm -f modules.{alias,dep,symbols}{,.bin} popd # === POST SCRIPTS === %post core if [ "$(uname -i)" = "x86_64" ] && [ -f /etc/sysconfig/kernel ]; then /bin/sed -r -i 's/^DEFAULTKERNEL=.*$/DEFAULTKERNEL=ro-kernel-stable/' \ /etc/sysconfig/kernel || : fi %posttrans core /usr/bin/kernel-install add %{kverrel} \ /lib/modules/%{kverrel}/vmlinuz || exit $? if command -v grubby &>/dev/null; then grubby --set-default="/boot/vmlinuz-%{kverrel}" 2>/dev/null || : fi %preun core /usr/bin/kernel-install remove %{kverrel} \ /lib/modules/%{kverrel}/vmlinuz || exit $? %post modules /sbin/depmod -a %{kverrel} %postun modules /sbin/depmod -a %{kverrel} %post devel if [ "$HARDLINK" != "no" ] && [ -x /usr/bin/hardlink ]; then (cd /usr/src/kernels/%{kverrel} && \ /usr/bin/find . -type f | while read f; do \ hardlink -c /usr/src/kernels/*/$f $f 2>/dev/null || : \ done) || : fi # === FILES === %files core %license COPYING %attr(0755,root,root) /boot/vmlinuz-%{kverrel} %attr(0644,root,root) /boot/config-%{kverrel} %attr(0644,root,root) /boot/System.map-%{kverrel} %ghost %attr(0600,root,root) /boot/initramfs-%{kverrel}.img %ghost %attr(0644,root,root) /boot/symvers-%{kverrel}.%{compext} %dir /lib/modules %dir /lib/modules/%{kverrel} /lib/modules/%{kverrel}/config /lib/modules/%{kverrel}/System.map /lib/modules/%{kverrel}/vmlinuz /lib/modules/%{kverrel}/modules.builtin* /lib/modules/%{kverrel}/symvers.%{compext} %ghost %attr(0644,root,root) /lib/modules/%{kverrel}/modules.alias %ghost %attr(0644,root,root) /lib/modules/%{kverrel}/modules.dep %files modules %dir /lib/modules/%{kverrel} /lib/modules/%{kverrel}/kernel/ %exclude /lib/modules/%{kverrel}/build %exclude /lib/modules/%{kverrel}/source %files devel %dir /usr/src/kernels /usr/src/kernels/%{kverrel}/ /lib/modules/%{kverrel}/build /lib/modules/%{kverrel}/source %changelog * Thu Mar 12 2026 Ro-ASD Kernel Team - 6.19.6-100 - Initial stable kernel build