summaryrefslogtreecommitdiff
path: root/pcr/spl-git
diff options
context:
space:
mode:
authorOmar Vega Ramos <ovruni@gnu.org.pe>2015-08-28 15:51:37 -0500
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-09-22 16:14:58 -0300
commit988251d1438b7c7d93cf26718cf0d9c060aabe32 (patch)
treef123f2c6237fef9c0680fcf74dd0a0dc4936daf7 /pcr/spl-git
parent9d1c5c5f172de149bfa07971c2d747b8182d1c75 (diff)
spl-git: add new package to [pcr]
Diffstat (limited to 'pcr/spl-git')
-rw-r--r--pcr/spl-git/PKGBUILD68
-rw-r--r--pcr/spl-git/spl.install37
2 files changed, 105 insertions, 0 deletions
diff --git a/pcr/spl-git/PKGBUILD b/pcr/spl-git/PKGBUILD
new file mode 100644
index 000000000..46700cc8c
--- /dev/null
+++ b/pcr/spl-git/PKGBUILD
@@ -0,0 +1,68 @@
+# Maintainer (Arch): Jesus Alvarez <jeezusjr at gmail dot com>
+# Contributor (Arch): Kyle Fuller <inbox at kylefuller dot co dot uk>
+# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
+#
+# This PKGBUILD was generated by the archzfs build scripts located at
+#
+# http://github.com/demizer/archzfs
+#
+# The build script generates and updates the pkgver and _kernel* variables.
+#
+pkgname="spl-git"
+pkgver=0.6.4.2_r0_g04974ca_4.1.6_1
+pkgrel=1
+license=('GPL')
+
+# Used incase the i686 and x86_64 linux packages get out of sync with the
+# PKGREL. This occurred on January 31, 2014 where i686 was versioned at
+# 3.12.9-1 and x86_64 was versioned at 3.12.9-2.
+_kernel_version_x32="4.1.6-1"
+_kernel_version_x32_full="4.1.6-gnu-1"
+_kernel_version_x64="4.1.6-1"
+_kernel_version_x64_full="4.1.6-gnu-1"
+
+if [[ $CARCH == "i686" ]]; then
+ _kernel_version=${_kernel_version_x32}
+ _kernel_version_full=${_kernel_version_x32_full}
+else
+ _kernel_version=${_kernel_version_x64}
+ _kernel_version_full=${_kernel_version_x64_full}
+fi
+
+pkgdesc="Solaris Porting Layer kernel modules."
+depends=("spl-utils-git" "linux=${_kernel_version}")
+makedepends=("git" "linux-headers=${_kernel_version}")
+arch=("i686" "x86_64")
+url="http://zfsonlinux.org/"
+source=("git+https://github.com/zfsonlinux/spl.git#commit=04974ca1")
+groups=("archzfs-git")
+md5sums=('SKIP')
+replaces=("spl")
+provides=("spl")
+conflicts=("spl" "spl-lts")
+install=spl.install
+
+build() {
+ cd "${srcdir}/spl"
+ ./autogen.sh
+
+ _at_enable=""
+ [ "${CARCH}" == "i686" ] && _at_enable="--enable-atomic-spinlocks"
+
+ ./configure --prefix=/usr \
+ --libdir=/usr/lib \
+ --sbindir=/usr/bin \
+ --with-linux=/usr/lib/modules/${_kernel_version_full}/build \
+ --with-config=kernel \
+ ${_at_enable}
+
+ make
+}
+
+package() {
+ cd "${srcdir}/spl"
+ make DESTDIR="${pkgdir}" install
+
+ mv "${pkgdir}/lib" "${pkgdir}/usr/"
+ sed -i "s+${srcdir}++" ${pkgdir}/usr/src/spl-*/${_kernel_version_full}/Module.symvers
+}
diff --git a/pcr/spl-git/spl.install b/pcr/spl-git/spl.install
new file mode 100644
index 000000000..e316e7542
--- /dev/null
+++ b/pcr/spl-git/spl.install
@@ -0,0 +1,37 @@
+post_install() {
+ check_hostid
+ run_depmod
+}
+
+post_remove() {
+ run_depmod
+}
+
+post_upgrade() {
+ check_hostid
+ run_depmod
+}
+
+check_hostid() {
+ # Check /etc/hostid to see if it set to the sentinel value, see
+ # https://wiki.archlinux.org/index.php/ZFS for more information.
+ HOSTID=$(hostid)
+ if [ "0x$HOSTID" == "0xffffffff" ]; then
+ # Generate a new hostid
+ : >/etc/hostid
+ HOSTID=$(hostid)
+ # hostid is 4 byte little endian
+ printf $(echo -n $HOSTID | sed 's/\(..\)\(..\)\(..\)\(..\)/\\x\4\\x\3\\x\2\\x\1/') >/etc/hostid
+ fi
+}
+
+run_depmod() {
+ echo ">>> Updating module dependencies. Please wait ..."
+
+ _kernel_version_x32_full="4.1.6-gnu-1"
+ _kernel_version_x64_full="4.1.6-gnu-1"
+
+ [[ $CARCH == "i686" ]] && _kernel_version_full=${_kernel_version_x32_full} || _kernel_version_full=${_kernel_version_x64_full}
+
+ depmod ${_kernel_version_full}
+}