summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 98eccc7d779b28c1eb64ec8a324618ff97d38813 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Maintainer: Jan Houben <jan@nexttrex.de>
# Contributor: Jesus Alvarez <jeezusjr at gmail dot com>
#
# This PKGBUILD was generated by the archzfs build scripts located at
#
# http://github.com/archzfs/archzfs
#
# ! WARNING !
#
# The archzfs packages are kernel modules, so these PKGBUILDS will only work with the kernel package they target. In this
# case, the archzfs-linux-hardened packages will only work with the default linux-hardened package! To have a single PKGBUILD target
# many kernels would make for a cluttered PKGBUILD!
#
# If you have a custom kernel, you will need to change things in the PKGBUILDS. If you would like to have AUR or archzfs repo
# packages for your favorite kernel package built using the archzfs build tools, submit a request in the Issue tracker on the
# archzfs github page.
#
pkgbase="spl-linux-hardened"
pkgname=("spl-linux-hardened" "spl-linux-hardened-headers")
_splver="0.7.13"
_kernelver="5.0.16.a-1"
_extramodules="5.0.16.a-1-hardened"

pkgver="${_splver}_$(echo ${_kernelver} | sed s/-/./g)"
pkgrel=1
makedepends=("linux-hardened-headers=${_kernelver}")
arch=("x86_64")
url="http://zfsonlinux.org/"
source=("https://github.com/zfsonlinux/zfs/releases/download/zfs-${_splver}/spl-${_splver}.tar.gz"
        "linux-5.1-compat-drop-ULLONG_MAX-and-LLONG_MAX-definitions.patch"
        "linux-5.1-compat-get-ds-removed.patch")
sha256sums=("6fd4445850ac67b228fdd82fff7997013426a1c2a8fa9017ced70cc9ad2a4338"
            "f110bd86a81602e531dda943cf0d066f09f3d58c297159ea285957ce28f0f0c1"
            "d4a6c27aea521cf5635c1b9f679633c068b024606f634d5e6bf1a7b97db486c4")
license=("GPL")
depends=("kmod" "linux-hardened=${_kernelver}")
prepare() {
    cd "${srcdir}/spl-${_splver}"
    patch -Np1 -i ${srcdir}/linux-5.1-compat-drop-ULLONG_MAX-and-LLONG_MAX-definitions.patch
    patch -Np1 -i ${srcdir}/linux-5.1-compat-get-ds-removed.patch
}

build() {
    cd "${srcdir}/spl-${_splver}"
    ./autogen.sh
    ./configure --prefix=/usr --libdir=/usr/lib --sbindir=/usr/bin \
                --with-linux=/usr/lib/modules/${_extramodules}/build \
                --with-linux-obj=/usr/lib/modules/${_extramodules}/build \
                --with-config=kernel
    make
}

package_spl-linux-hardened() {
    pkgdesc="Solaris Porting Layer kernel modules."
    provides=("spl")
    groups=("archzfs-linux-hardened")
    conflicts=("spl-dkms" "spl-dkms-git" 'spl-linux-hardened-git')
    cd "${srcdir}/spl-${_splver}"
    make DESTDIR="${pkgdir}" install
    mv "${pkgdir}/lib" "${pkgdir}/usr/"
    # Remove src dir
    rm -r "${pkgdir}"/usr/src
}

package_spl-linux-hardened-headers() {
    pkgdesc="Solaris Porting Layer kernel headers."
    provides=("spl-headers")
    conflicts=("spl-dkms" "spl-dkms-git" "spl-dkms-rc" "spl-headers")
    cd "${srcdir}/spl-${_splver}"
    make DESTDIR="${pkgdir}" install
    rm -r "${pkgdir}/lib"
    # Remove reference to ${srcdir}
    sed -i "s+${srcdir}++" ${pkgdir}/usr/src/spl-*/${_extramodules}/Module.symvers
}