diff options
-rw-r--r-- | .SRCINFO | 39 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 64 | ||||
-rw-r--r-- | zfs.install | 22 |
4 files changed, 130 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..aa4ec9b93e04 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,39 @@ +# Generated by mksrcinfo v8 +# Wed Dec 13 20:31:44 UTC 2017 +pkgbase = zfs-linux-vfio-git + pkgver = 2017.12.08.r3208.4e9b15696.4.13.12.2 + pkgrel = 1 + url = http://zfsonlinux.org/ + arch = x86_64 + license = CDDL + makedepends = linux-vfio-headers=4.13.12-2 + makedepends = git + makedepends = spl-linux-vfio-git-headers + depends = kmod + depends = spl-linux-vfio-git + depends = zfs-utils-common-git>=2017.12.08.r3208.4e9b15696 + depends = linux-vfio=4.13.12-2 + source = git+https://github.com/zfsonlinux/zfs.git + sha256sums = SKIP + +pkgname = zfs-linux-vfio-git + pkgdesc = Kernel modules for the Zettabyte File System. + install = zfs.install + groups = archzfs-linux-vfio-git + provides = zfs + conflicts = zfs-linux-vfio + replaces = zfs-git + +pkgname = zfs-linux-vfio-git-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-headers + conflicts = zfs-linux-zen-headers + conflicts = zfs-linux-zen-git-headers + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..57af7674dc61 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.tar.gz +*.tar.xz +*.sig +*.log +zfs/ diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ffef4a4be5da --- /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-git" +pkgname=("zfs-linux-vfio-git" "zfs-linux-vfio-git-headers") + +pkgver=2017.12.08.r3208.4e9b15696.4.13.12.2 +pkgrel=1 +makedepends=("linux-vfio-headers=4.13.12-2" "git" "spl-linux-vfio-git-headers") +arch=("x86_64") +url="http://zfsonlinux.org/" +source=("git+https://github.com/zfsonlinux/zfs.git") +sha256sums=("SKIP") +license=("CDDL") +depends=("kmod" "spl-linux-vfio-git" "zfs-utils-common-git>=2017.12.08.r3208.4e9b15696" "linux-vfio=4.13.12-2") + +build() { + cd "${srcdir}/zfs" + ./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-git() { + pkgdesc="Kernel modules for the Zettabyte File System." + install=zfs.install + provides=("zfs") + groups=("archzfs-linux-vfio-git") + conflicts=('zfs-linux-vfio') + replaces=("zfs-git") + cd "${srcdir}/zfs" + 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-git-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-headers' 'zfs-linux-zen-headers' 'zfs-linux-zen-git-headers' ) + cd "${srcdir}/zfs" + 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 +} |