diff options
-rw-r--r-- | .SRCINFO | 38 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 64 | ||||
-rw-r--r-- | zfs.install | 22 |
4 files changed, 128 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..c044f907ca66 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,38 @@ +# Generated by mksrcinfo v8 +# Wed Dec 13 20:27:08 UTC 2017 +pkgbase = zfs-linux-vfio + pkgver = 0.7.4.4.13.12.2 + pkgrel = 1 + url = http://zfsonlinux.org/ + arch = x86_64 + license = CDDL + makedepends = linux-vfio-headers=4.13.12-2 + makedepends = spl-linux-vfio-headers + depends = kmod + depends = spl-linux-vfio + depends = zfs-utils-common=0.7.4 + depends = linux-vfio=4.13.12-2 + source = https://github.com/zfsonlinux/zfs/releases/download/zfs-0.7.4/zfs-0.7.4.tar.gz + sha256sums = SKIP + +pkgname = zfs-linux-vfio + pkgdesc = Kernel modules for the Zettabyte File System. + install = zfs.install + groups = archzfs-linux-vfio + provides = zfs + conflicts = zfs-linux-vfio-git + replaces = zfs-git + +pkgname = zfs-linux-vfio-headers + pkgdesc = Kernel headers for the Zettabyte File System. + conflicts = zfs-archiso-linux-headers + conflicts = zfs-linux-hardened-headers + conflicts = zfs-linux-hardened-git-headers + conflicts = zfs-linux-lts-headers + conflicts = zfs-linux-lts-git-headers + conflicts = zfs-linux-headers + conflicts = zfs-linux-git-headers + conflicts = zfs-linux-vfio-git-headers + conflicts = zfs-linux-zen-headers + conflicts = zfs-linux-zen-git-headers + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..401b4e6c29d6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.tar.gz +*.tar.xz +*.sig +*.log diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..699ea11532ff --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: 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-vfio packages will only work with the default linux-vfio 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="zfs-linux-vfio" +pkgname=("zfs-linux-vfio" "zfs-linux-vfio-headers") + +pkgver=0.7.4.4.13.12.2 +pkgrel=1 +makedepends=("linux-vfio-headers=4.13.12-2" "spl-linux-vfio-headers") +arch=("x86_64") +url="http://zfsonlinux.org/" +source=("https://github.com/zfsonlinux/zfs/releases/download/zfs-0.7.4/zfs-0.7.4.tar.gz") +sha256sums=("SKIP") +license=("CDDL") +depends=("kmod" "spl-linux-vfio" "zfs-utils-common=0.7.4" "linux-vfio=4.13.12-2") + +build() { + cd "${srcdir}/zfs-0.7.4" + ./autogen.sh + ./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --libdir=/usr/lib \ + --datadir=/usr/share --includedir=/usr/include --with-udevdir=/lib/udev \ + --libexecdir=/usr/lib/zfs-0.7.4 --with-config=kernel \ + --with-linux=/usr/lib/modules/4.13.12-2-vfio/build \ + --with-linux-obj=/usr/lib/modules/4.13.12-2-vfio/build + make +} + +package_zfs-linux-vfio() { + pkgdesc="Kernel modules for the Zettabyte File System." + install=zfs.install + provides=("zfs") + groups=("archzfs-linux-vfio") + conflicts=('zfs-linux-vfio-git') + replaces=("zfs-git") + cd "${srcdir}/zfs-0.7.4" + make DESTDIR="${pkgdir}" install + cp -r "${pkgdir}"/{lib,usr} + rm -r "${pkgdir}"/lib + # Remove src dir + rm -r "${pkgdir}"/usr/src +} + +package_zfs-linux-vfio-headers() { + pkgdesc="Kernel headers for the Zettabyte File System." + conflicts=('zfs-archiso-linux-headers' 'zfs-linux-hardened-headers' 'zfs-linux-hardened-git-headers' 'zfs-linux-lts-headers' 'zfs-linux-lts-git-headers' 'zfs-linux-headers' 'zfs-linux-git-headers' 'zfs-linux-vfio-git-headers' 'zfs-linux-zen-headers' 'zfs-linux-zen-git-headers' ) + cd "${srcdir}/zfs-0.7.4" + make DESTDIR="${pkgdir}" install + rm -r "${pkgdir}/lib" + # Remove reference to ${srcdir} + sed -i "s+${srcdir}++" ${pkgdir}/usr/src/zfs-*/4.13.12-2-vfio/Module.symvers +} diff --git a/zfs.install b/zfs.install new file mode 100644 index 000000000000..fc2f153a96de --- /dev/null +++ b/zfs.install @@ -0,0 +1,22 @@ +post_install() { + check_initramfs +} + +post_remove() { + check_initramfs 'remove' +} + +post_upgrade() { + check_initramfs +} + +check_initramfs() { + echo ">>> Updating ZFS module dependencies" + depmod -a 4.13.12-2-vfio + MK_CONF=$(grep -v '#' /etc/mkinitcpio.conf | grep zfs >/dev/null; echo $?); + if [[ ${MK_CONF} == '0' && $1 == 'remove' ]]; then + echo '>>> The ZFS packages have been removed, but "zfs" remains in the "hooks"' + echo '>>> list in mkinitcpio.conf! You will need to remove "zfs" from the ' + echo '>>> "hooks" list and then regenerate the initial ramdisk.' + fi +} |