File PKGBUILD of Package linux-clear-bin

# Maintainer: 

_ktarget=native

url="https://github.com/clearlinux-pkgs/linux"
pkgbase=linux-clear-bin
pkgname=(linux-clear-bin linux-clear-headers-bin)
_pkgver=6.15.7
_clr=1591
pkgver=${_pkgver}.${_clr}
pkgrel=1
pkgdesc='Clear Linux'
arch=('x86_64')
license=('GPL2')
options=('!strip')

_kversion="${_pkgver}-${_clr}.${_ktarget}"

source=("https://download.clearlinux.org/current/x86_64/os/Packages/linux-${_pkgver}-${_clr}.x86_64.rpm"
        "https://download.clearlinux.org/current/x86_64/os/Packages/linux-dev-${_pkgver}-${_clr}.x86_64.rpm")

package_linux-clear-bin() {
    pkgdesc="The $pkgdesc kernel and modules"
    depends=('coreutils' 'linux-firmware' 'kmod')
    optdepends=('mkinitcpio>=0.7: to create custom init cpio'
                'intel-ucode-clear: intel cpu and i915 firmware'
                'linux-clear-headers-bin: header files for the kernel'
                'crda: to set the correct wireless channels of your country')
    provides=("WIREGUARD-MODULE")

    local kernelname=${pkgname#linux}
    local extramodules="extramodules$kernelname"
    local modulesdir="$pkgdir/usr/lib/modules/$_kversion"
    local extradir="$pkgdir/usr/lib/modules/$extramodules"

    mkdir -p $extradir
    echo $_kversion > $extradir/version
    chmod 644 $extradir/version
    
    cp -r "$srcdir/usr/lib/modules" "$pkgdir/usr/lib"
    rm -rf "$modulesdir/build"

    msg2 "Installing boot image..."
    # systemd expects to find the kernel here to allow hibernation
    # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
    install -Dm644 "$srcdir/usr/lib/kernel/org.clearlinux.${_ktarget}.${_pkgver}-${_clr}" "$modulesdir/vmlinuz"
    install -Dm644 "$srcdir/usr/lib/kernel/cmdline-${_kversion}" "$pkgdir/boot/vmlinuz-${pkgname}.cmdline"
    
    install -Dm644 "$srcdir/usr/lib/kernel/config-${_kversion}" "$modulesdir"

    echo 'module.sig_unenforce' >> "$pkgdir/boot/vmlinuz-${pkgname}.cmdline"
    sed -i '/^init=/d' "$pkgdir/boot/vmlinuz-${pkgname}.cmdline"

    # Used by mkinitcpio to name the kernel
    echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"

    msg2 "Fixing permissions..."
    chmod -Rc u=rwX,go=rX "$pkgdir"
}

package_linux-clear-headers-bin() {
    pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
    
    mkdir -p "$pkgdir/usr/lib/modules/$_kversion"
    cp -r "$srcdir/usr/lib/modules/$_kversion/build" "$pkgdir/usr/lib/modules/$_kversion"
    ln -sf ../../../modules/$_kversion/config-$_kversion "$pkgdir"/usr/lib/modules/$_kversion/build/.config
}

sha256sums=('SKIP' 'SKIP')
openSUSE Build Service is sponsored by