summaryrefslogtreecommitdiff
path: root/pcr
diff options
context:
space:
mode:
Diffstat (limited to 'pcr')
-rw-r--r--pcr/acpi_call-parabola-grsec/PKGBUILD66
-rw-r--r--pcr/acpi_call-parabola-grsec/kmod.install14
-rw-r--r--pcr/bbswitch-parabola-grsec/PKGBUILD59
-rw-r--r--pcr/bbswitch-parabola-grsec/kmod.install14
-rw-r--r--pcr/bbswitch-parabola-lts/PKGBUILD59
-rw-r--r--pcr/bbswitch-parabola-lts/kmod.install14
-rw-r--r--pcr/lirc-parabola-grsec/PKGBUILD137
-rw-r--r--pcr/lirc-parabola-grsec/irexec.service11
-rw-r--r--pcr/lirc-parabola-grsec/kmod.install14
-rw-r--r--pcr/lirc-parabola-grsec/lirc-utils.install13
-rw-r--r--pcr/lirc-parabola-grsec/lirc.logrotate5
-rw-r--r--pcr/lirc-parabola-grsec/lirc.tmpfiles1
-rw-r--r--pcr/lirc-parabola-grsec/wpc8769l-build-fix.patch90
-rw-r--r--pcr/lirc-parabola-lts/PKGBUILD137
-rw-r--r--pcr/lirc-parabola-lts/irexec.service11
-rw-r--r--pcr/lirc-parabola-lts/kmod.install14
-rw-r--r--pcr/lirc-parabola-lts/lirc-utils.install13
-rw-r--r--pcr/lirc-parabola-lts/lirc.logrotate5
-rw-r--r--pcr/lirc-parabola-lts/lirc.tmpfiles1
-rw-r--r--pcr/lirc-parabola-lts/wpc8769l-build-fix.patch90
-rw-r--r--pcr/tp_smapi-parabola-grsec/PKGBUILD81
-rw-r--r--pcr/tp_smapi-parabola-grsec/kmod.install14
-rw-r--r--pcr/vhba-module-parabola-grsec/60-vhba.rules1
-rw-r--r--pcr/vhba-module-parabola-grsec/PKGBUILD62
-rw-r--r--pcr/vhba-module-parabola-grsec/vhba-module.install20
-rw-r--r--pcr/vhba-module-parabola-lts/60-vhba.rules1
-rw-r--r--pcr/vhba-module-parabola-lts/PKGBUILD62
-rw-r--r--pcr/vhba-module-parabola-lts/vhba-module.install20
28 files changed, 1029 insertions, 0 deletions
diff --git a/pcr/acpi_call-parabola-grsec/PKGBUILD b/pcr/acpi_call-parabola-grsec/PKGBUILD
new file mode 100644
index 000000000..05bf0c697
--- /dev/null
+++ b/pcr/acpi_call-parabola-grsec/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 116819 2014-08-04 07:10:28Z tpowa $
+# Maintainer (Arch): Maxime Gauduin <alucryd@gmail.com>
+# Contributor (Arch): mortzu <me@mortzu.de>
+# Contributor (Arch): fnord0 <fnord0@riseup.net>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.15
+_kernelname=-grsec
+
+# Source info
+_pkgname=acpi_call
+pkgver=1.1.0
+pkgdesc="A linux kernel module that enables calls to ACPI methods through /proc/acpi/call (built for the linux-libre${_kernelname} kernel package)"
+url="http://github.com/mkottman/${_pkgname}"
+license=('GPL')
+source=("${url}/archive/v${pkgver}.tar.gz")
+sha256sums=('d0d14b42944282724fca76f57d598eed794ef97448f387d1c489d85ad813f2f0')
+
+# Package info
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+install='kmod.install'
+_replaces=("${_pkgname}" "${_pkgname}-libre")
+_provides=("${_pkgname}")
+
+# Generic (you shouldn't have to modify any of these variables)
+pkgname=${_pkgname}-parabola${_kernelname}
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+replaces=( "${_replaces[@]/%/${_kernelname}}")
+conflicts=("${_replaces[@]/%/${_kernelname}}")
+provides=( "${_provides[@]/%/${_kernelname}=${pkgver}}")
+if [[ -n "${_kernelname}" ]]; then
+ provides+=("${_pkgname}-parabola=${pkgver}") # pkgname without _kernelname
+fi
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ make KVERSION="${_kernver}"
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ # Actually install
+ install -dm 755 "${pkgdir}"/usr/lib/{modules/${_extramodules},modules-load.d}
+ install -m 644 ${_pkgname}.ko "${pkgdir}"/usr/lib/modules/${_extramodules}
+ gzip "${pkgdir}"/usr/lib/modules/${_extramodules}/${_pkgname}.ko
+ echo ${_pkgname} > "${pkgdir}"/usr/lib/modules-load.d/${pkgname}.conf
+
+ install -dm 755 "${pkgdir}"/usr/share/${pkgname}
+ cp -dr --no-preserve='ownership' {examples,support} "${pkgdir}"/usr/share/${pkgname}/
+}
diff --git a/pcr/acpi_call-parabola-grsec/kmod.install b/pcr/acpi_call-parabola-grsec/kmod.install
new file mode 100644
index 000000000..d4bd8cb34
--- /dev/null
+++ b/pcr/acpi_call-parabola-grsec/kmod.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/pcr/bbswitch-parabola-grsec/PKGBUILD b/pcr/bbswitch-parabola-grsec/PKGBUILD
new file mode 100644
index 000000000..393ef3d73
--- /dev/null
+++ b/pcr/bbswitch-parabola-grsec/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 116821 2014-08-04 07:12:07Z tpowa $
+# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor (Arch): M0Rf30
+# Contributor (Arch): Samsagax <samsagax@gmail.com>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.15
+_kernelname=-grsec
+
+# Source info
+_pkgname=bbswitch
+pkgver=0.8
+pkgdesc="Kernel module allowing to switch dedicated graphics card on Optimus laptops (built for the linux-libre${_kernelname} kernel package)"
+url="http://github.com/Bumblebee-Project/bbswitch"
+license=('GPL')
+source=("https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz")
+md5sums=('5b116b31ace3604ddf9d1fc1f4bc5807')
+
+# Package info
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+install='kmod.install'
+
+# Generic (you shouldn't have to modify any of these variables)
+pkgname=${_pkgname}-parabola${_kernelname}
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+replaces=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+conflicts=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+provides=("${_pkgname}${_kernelname}=${pkgver}") # for Arch-compatibility
+if [[ -n "${_kernelname}" ]]; then
+ provides+=("${_pkgname}-parabola=${pkgver}") # pkgname without _kernelname
+fi
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ make KDIR=/lib/modules/${_kernver}/build
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ # Actually install
+ install -Dm644 bbswitch.ko "${pkgdir}"/usr/lib/modules/${_extramodules}/bbswitch.ko
+ gzip "${pkgdir}/usr/lib/modules/${_extramodules}/bbswitch.ko"
+}
diff --git a/pcr/bbswitch-parabola-grsec/kmod.install b/pcr/bbswitch-parabola-grsec/kmod.install
new file mode 100644
index 000000000..d4bd8cb34
--- /dev/null
+++ b/pcr/bbswitch-parabola-grsec/kmod.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/pcr/bbswitch-parabola-lts/PKGBUILD b/pcr/bbswitch-parabola-lts/PKGBUILD
new file mode 100644
index 000000000..6182e10c7
--- /dev/null
+++ b/pcr/bbswitch-parabola-lts/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 116821 2014-08-04 07:12:07Z tpowa $
+# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor (Arch): M0Rf30
+# Contributor (Arch): Samsagax <samsagax@gmail.com>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.14
+_kernelname=-lts
+
+# Source info
+_pkgname=bbswitch
+pkgver=0.8
+pkgdesc="Kernel module allowing to switch dedicated graphics card on Optimus laptops (built for the linux-libre${_kernelname} kernel package)"
+url="http://github.com/Bumblebee-Project/bbswitch"
+license=('GPL')
+source=("https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz")
+md5sums=('5b116b31ace3604ddf9d1fc1f4bc5807')
+
+# Package info
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+install='kmod.install'
+
+# Generic (you shouldn't have to modify any of these variables)
+pkgname=${_pkgname}-parabola${_kernelname}
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+replaces=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+conflicts=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+provides=("${_pkgname}${_kernelname}=${pkgver}") # for Arch-compatibility
+if [[ -n "${_kernelname}" ]]; then
+ provides+=("${_pkgname}-parabola=${pkgver}") # pkgname without _kernelname
+fi
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ make KDIR=/lib/modules/${_kernver}/build
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ # Actually install
+ install -Dm644 bbswitch.ko "${pkgdir}"/usr/lib/modules/${_extramodules}/bbswitch.ko
+ gzip "${pkgdir}/usr/lib/modules/${_extramodules}/bbswitch.ko"
+}
diff --git a/pcr/bbswitch-parabola-lts/kmod.install b/pcr/bbswitch-parabola-lts/kmod.install
new file mode 100644
index 000000000..d4bd8cb34
--- /dev/null
+++ b/pcr/bbswitch-parabola-lts/kmod.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/pcr/lirc-parabola-grsec/PKGBUILD b/pcr/lirc-parabola-grsec/PKGBUILD
new file mode 100644
index 000000000..b0e04451f
--- /dev/null
+++ b/pcr/lirc-parabola-grsec/PKGBUILD
@@ -0,0 +1,137 @@
+# $Id: PKGBUILD 220120 2014-08-16 22:32:11Z lfleischer $
+# Maintainer (Arch): Paul Mattal <paul@archlinux.org>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.15
+_kernelname=-grsec
+
+# Source info
+_pkgname=lirc-parabola${_kernelname}
+# Only build lirc-utils once; for the stock kernel
+if [[ -n "${_kernelname}" ]]; then
+ pkgname=$_pkgname
+else
+ pkgbase=$_pkgname
+ pkgname=("$_pkgname" lirc-parabola-utils)
+fi
+
+_pkgver=0.9.1a
+[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver"
+
+url="http://www.lirc.org/"
+license=('GPL')
+source=("http://prdownloads.sourceforge.net/lirc/lirc-${_pkgver}.tar.bz2"
+ "wpc8769l-build-fix.patch"
+ lirc.logrotate
+ irexec.service
+ lirc.tmpfiles)
+md5sums=('1f1fac162ed309dd50f307e96a292957'
+ '9ec33169b3407f74264062d7679dd269'
+ '3deb02604b37811d41816e9b4385fcc3'
+ '32df3b9bc859565d6acf5f0e5b747083'
+ 'febf25c154a7d36f01159e84f26c2d9a')
+
+# Package info
+pkgrel=1
+epoch=1
+arch=('i686' 'x86_64' 'mips64el')
+options=('!makeflags' '!strip')
+makedepends=('help2man' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2')
+
+# Generic (you shouldn't have to modify any of these variables)
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+makedepends+=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}"
+ "linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+
+prepare() {
+ cd "${srcdir}/lirc-${_pkgver}"
+
+ patch -Np1 -i "${srcdir}/wpc8769l-build-fix.patch"
+
+ sed -i '/AC_PATH_XTRA/d' configure.ac
+ sed -e 's/@X_CFLAGS@//g' \
+ -e 's/@X_LIBS@//g' \
+ -e 's/@X_PRE_LIBS@//g' \
+ -e 's/@X_EXTRA_LIBS@//g' -i Makefile.am tools/Makefile.am
+
+ libtoolize
+ autoreconf
+}
+
+build() {
+ cd "${srcdir}/lirc-${_pkgver}"
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
+ --with-driver=all --with-kerneldir="/usr/lib/modules/${_kernver}/build/" \
+ --with-moduledir="/usr/lib/modules/${_kernver}/kernel/drivers/misc" \
+ --sbindir=/usr/bin --with-transmitter
+
+ # Remove drivers already in kernel
+ sed -e "s:lirc_dev::" -e "s:lirc_bt829::" -e "s:lirc_igorplugusb::" \
+ -e "s:lirc_imon::" -e "s:lirc_parallel::" -e "s:lirc_sasem::" \
+ -e "s:lirc_serial::" -e "s:lirc_sir::" -e "s:lirc_ttusbir::" \
+ -e "s:lirc_atiusb::" -e "s:lirc_i2c::" \
+ -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
+ make
+}
+
+_package_lirc() {
+ pkgdesc="Linux Infrared Remote Control kernel modules (built for the linux-libre${_kernelname} kernel package)"
+ depends=('lirc-utils' "linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+ replaces=('lirc+pctv')
+ [[ -z "$_kernelname" ]] || provides=("lirc-parabola=${pkgver}")
+ install=kmod.install
+
+ replaces+=("lirc${_kernelname}")
+ conflicts+=("lirc${_kernelname}")
+ provides+=("lirc${_kernelname}=${pkgver}")
+
+ cd "${srcdir}/lirc-${_pkgver}/drivers"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install
+ gzip -9 "${pkgdir}/usr/lib/modules/${_extramodules}"/*.ko
+}
+if [[ -n "$_kernelname" ]]; then
+ eval "package() { _package_lirc; }"
+else
+ eval "package_${_pkgname}() { _package_lirc; }"
+fi
+
+package_lirc-parabola-utils() {
+ pkgdesc="Linux Infrared Remote Control utilities"
+ depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman')
+ optdepends=('python2: pronto2lirc utility')
+ options=('strip')
+ backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf')
+
+ replaces=('lirc-utils')
+ conflicts=('lirc-utils')
+ provides=("lirc-utils=$pkgver")
+ install=kmod.install
+
+ cd "${srcdir}/lirc-${_pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service
+ install -Dm644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf
+
+ cp -rp remotes "${pkgdir}/usr/share/lirc"
+ chmod -R go-w "${pkgdir}/usr/share/lirc/"
+
+ # install the logrotate config
+ install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
+
+ # remove built modules
+ rm -r "${pkgdir}/usr/lib/modules"
+}
diff --git a/pcr/lirc-parabola-grsec/irexec.service b/pcr/lirc-parabola-grsec/irexec.service
new file mode 100644
index 000000000..dffbbf5e0
--- /dev/null
+++ b/pcr/lirc-parabola-grsec/irexec.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=LIRC command handler
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/irexec --daemon
+
+[Install]
+WantedBy=multi-user.target
+Wants=lircd.service
diff --git a/pcr/lirc-parabola-grsec/kmod.install b/pcr/lirc-parabola-grsec/kmod.install
new file mode 100644
index 000000000..d4bd8cb34
--- /dev/null
+++ b/pcr/lirc-parabola-grsec/kmod.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/pcr/lirc-parabola-grsec/lirc-utils.install b/pcr/lirc-parabola-grsec/lirc-utils.install
new file mode 100644
index 000000000..f7faa07eb
--- /dev/null
+++ b/pcr/lirc-parabola-grsec/lirc-utils.install
@@ -0,0 +1,13 @@
+post_install() {
+ systemd-tmpfiles --create lirc.conf
+}
+
+post_upgrade() {
+ post_install
+
+ if [[ "$(vercmp $2 1:0.9.1-1)" -lt 0 ]]; then
+ echo ':: lirc.service and lircm.service have been replaced'
+ echo ' by the upstream unit files lircd.service and'
+ echo ' lircmd.service.'
+ fi
+}
diff --git a/pcr/lirc-parabola-grsec/lirc.logrotate b/pcr/lirc-parabola-grsec/lirc.logrotate
new file mode 100644
index 000000000..623c4f328
--- /dev/null
+++ b/pcr/lirc-parabola-grsec/lirc.logrotate
@@ -0,0 +1,5 @@
+/var/log/lircd {
+ missingok
+ notifempty
+ delaycompress
+}
diff --git a/pcr/lirc-parabola-grsec/lirc.tmpfiles b/pcr/lirc-parabola-grsec/lirc.tmpfiles
new file mode 100644
index 000000000..0b80e2e47
--- /dev/null
+++ b/pcr/lirc-parabola-grsec/lirc.tmpfiles
@@ -0,0 +1 @@
+d /run/lirc 0755 root root -
diff --git a/pcr/lirc-parabola-grsec/wpc8769l-build-fix.patch b/pcr/lirc-parabola-grsec/wpc8769l-build-fix.patch
new file mode 100644
index 000000000..5e25693ab
--- /dev/null
+++ b/pcr/lirc-parabola-grsec/wpc8769l-build-fix.patch
@@ -0,0 +1,90 @@
+diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+index 790efa2..4248fe9 100644
+--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
++++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+@@ -51,17 +51,13 @@
+ #include <linux/irq.h>
+
+ #include <linux/acpi.h>
++#include <linux/types.h>
+
+ #include <linux/platform_device.h>
++#include <asm-generic/bitops/find.h>
+
+-#include "drivers/kcompat.h"
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
+-#include <media/lirc.h>
+-#include <media/lirc_dev.h>
+-#else
+-#include "drivers/lirc.h"
+-#include "drivers/lirc_dev/lirc_dev.h"
+-#endif
++#include "media/lirc_dev.h"
++#include "media/lirc.h"
+
+ #include "lirc_wpc8769l.h"
+
+@@ -105,11 +101,11 @@ static unsigned int baseport2;
+ static unsigned int irq;
+
+ /* Debugging flag. */
+-static int debug;
++static bool debug;
+
+ /* If true, we skip ACPI autodetection and use the parameter-supplied I/O and
+ * IRQ. */
+-static int skip_probe;
++static bool skip_probe;
+
+ /* Whether the device is open or not. */
+ static int lirc_wpc8769l_is_open;
+@@ -360,14 +356,14 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs)
+ size = count << 3;
+
+ ldata = (unsigned long *) data_buf;
+- next_one = generic_find_next_le_bit(ldata, size, 0);
++ next_one = find_next_bit(ldata, size, 0);
+
+ if (next_one > 0)
+ put_pulse_bit(next_one
+ * WPC8769L_USECS_PER_BIT);
+
+ while (next_one < size) {
+- next_zero = generic_find_next_zero_le_bit(ldata,
++ next_zero = find_next_zero_bit(ldata,
+ size, next_one + 1);
+
+ put_space_bit(
+@@ -375,7 +371,7 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs)
+ * WPC8769L_USECS_PER_BIT);
+
+ if (next_zero < size) {
+- next_one = generic_find_next_le_bit(ldata,
++ next_one = find_next_bit(ldata,
+ size, next_zero + 1);
+
+ put_pulse_bit(
+@@ -922,12 +918,12 @@ static int wpc8769l_acpi_detect(void)
+ #ifdef MODULE
+ static struct platform_device *lirc_wpc8769l_platform_dev;
+
+-static int __devinit lirc_wpc8769l_probe(struct platform_device *dev)
++static int lirc_wpc8769l_probe(struct platform_device *dev)
+ {
+ return 0;
+ }
+
+-static int __devexit lirc_wpc8769l_remove(struct platform_device *dev)
++static int lirc_wpc8769l_remove(struct platform_device *dev)
+ {
+ return 0;
+ }
+@@ -955,7 +951,7 @@ static int lirc_wpc8769l_resume(struct platform_device *dev)
+
+ static struct platform_driver lirc_wpc8769l_platform_driver = {
+ .probe = lirc_wpc8769l_probe,
+- .remove = __devexit_p(lirc_wpc8769l_remove),
++ .remove = lirc_wpc8769l_remove,
+ .suspend = lirc_wpc8769l_suspend,
+ .resume = lirc_wpc8769l_resume,
+ .driver = {
diff --git a/pcr/lirc-parabola-lts/PKGBUILD b/pcr/lirc-parabola-lts/PKGBUILD
new file mode 100644
index 000000000..15a503e3a
--- /dev/null
+++ b/pcr/lirc-parabola-lts/PKGBUILD
@@ -0,0 +1,137 @@
+# $Id: PKGBUILD 220120 2014-08-16 22:32:11Z lfleischer $
+# Maintainer (Arch): Paul Mattal <paul@archlinux.org>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.14
+_kernelname=-lts
+
+# Source info
+_pkgname=lirc-parabola${_kernelname}
+# Only build lirc-utils once; for the stock kernel
+if [[ -n "${_kernelname}" ]]; then
+ pkgname=$_pkgname
+else
+ pkgbase=$_pkgname
+ pkgname=("$_pkgname" lirc-parabola-utils)
+fi
+
+_pkgver=0.9.1a
+[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver"
+
+url="http://www.lirc.org/"
+license=('GPL')
+source=("http://prdownloads.sourceforge.net/lirc/lirc-${_pkgver}.tar.bz2"
+ "wpc8769l-build-fix.patch"
+ lirc.logrotate
+ irexec.service
+ lirc.tmpfiles)
+md5sums=('1f1fac162ed309dd50f307e96a292957'
+ '9ec33169b3407f74264062d7679dd269'
+ '3deb02604b37811d41816e9b4385fcc3'
+ '32df3b9bc859565d6acf5f0e5b747083'
+ 'febf25c154a7d36f01159e84f26c2d9a')
+
+# Package info
+pkgrel=1
+epoch=1
+arch=('i686' 'x86_64' 'mips64el')
+options=('!makeflags' '!strip')
+makedepends=('help2man' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2')
+
+# Generic (you shouldn't have to modify any of these variables)
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+makedepends+=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}"
+ "linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+
+prepare() {
+ cd "${srcdir}/lirc-${_pkgver}"
+
+ patch -Np1 -i "${srcdir}/wpc8769l-build-fix.patch"
+
+ sed -i '/AC_PATH_XTRA/d' configure.ac
+ sed -e 's/@X_CFLAGS@//g' \
+ -e 's/@X_LIBS@//g' \
+ -e 's/@X_PRE_LIBS@//g' \
+ -e 's/@X_EXTRA_LIBS@//g' -i Makefile.am tools/Makefile.am
+
+ libtoolize
+ autoreconf
+}
+
+build() {
+ cd "${srcdir}/lirc-${_pkgver}"
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
+ --with-driver=all --with-kerneldir="/usr/lib/modules/${_kernver}/build/" \
+ --with-moduledir="/usr/lib/modules/${_kernver}/kernel/drivers/misc" \
+ --sbindir=/usr/bin --with-transmitter
+
+ # Remove drivers already in kernel
+ sed -e "s:lirc_dev::" -e "s:lirc_bt829::" -e "s:lirc_igorplugusb::" \
+ -e "s:lirc_imon::" -e "s:lirc_parallel::" -e "s:lirc_sasem::" \
+ -e "s:lirc_serial::" -e "s:lirc_sir::" -e "s:lirc_ttusbir::" \
+ -e "s:lirc_atiusb::" -e "s:lirc_i2c::" \
+ -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
+ make
+}
+
+_package_lirc() {
+ pkgdesc="Linux Infrared Remote Control kernel modules (built for the linux-libre${_kernelname} kernel package)"
+ depends=('lirc-utils' "linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+ replaces=('lirc+pctv')
+ [[ -z "$_kernelname" ]] || provides=("lirc-parabola=${pkgver}")
+ install=kmod.install
+
+ replaces+=("lirc${_kernelname}")
+ conflicts+=("lirc${_kernelname}")
+ provides+=("lirc${_kernelname}=${pkgver}")
+
+ cd "${srcdir}/lirc-${_pkgver}/drivers"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install
+ gzip -9 "${pkgdir}/usr/lib/modules/${_extramodules}"/*.ko
+}
+if [[ -n "$_kernelname" ]]; then
+ eval "package() { _package_lirc; }"
+else
+ eval "package_${_pkgname}() { _package_lirc; }"
+fi
+
+package_lirc-parabola-utils() {
+ pkgdesc="Linux Infrared Remote Control utilities"
+ depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman')
+ optdepends=('python2: pronto2lirc utility')
+ options=('strip')
+ backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf')
+
+ replaces=('lirc-utils')
+ conflicts=('lirc-utils')
+ provides=("lirc-utils=$pkgver")
+ install=kmod.install
+
+ cd "${srcdir}/lirc-${_pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service
+ install -Dm644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf
+
+ cp -rp remotes "${pkgdir}/usr/share/lirc"
+ chmod -R go-w "${pkgdir}/usr/share/lirc/"
+
+ # install the logrotate config
+ install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
+
+ # remove built modules
+ rm -r "${pkgdir}/usr/lib/modules"
+}
diff --git a/pcr/lirc-parabola-lts/irexec.service b/pcr/lirc-parabola-lts/irexec.service
new file mode 100644
index 000000000..dffbbf5e0
--- /dev/null
+++ b/pcr/lirc-parabola-lts/irexec.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=LIRC command handler
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/irexec --daemon
+
+[Install]
+WantedBy=multi-user.target
+Wants=lircd.service
diff --git a/pcr/lirc-parabola-lts/kmod.install b/pcr/lirc-parabola-lts/kmod.install
new file mode 100644
index 000000000..d4bd8cb34
--- /dev/null
+++ b/pcr/lirc-parabola-lts/kmod.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/pcr/lirc-parabola-lts/lirc-utils.install b/pcr/lirc-parabola-lts/lirc-utils.install
new file mode 100644
index 000000000..f7faa07eb
--- /dev/null
+++ b/pcr/lirc-parabola-lts/lirc-utils.install
@@ -0,0 +1,13 @@
+post_install() {
+ systemd-tmpfiles --create lirc.conf
+}
+
+post_upgrade() {
+ post_install
+
+ if [[ "$(vercmp $2 1:0.9.1-1)" -lt 0 ]]; then
+ echo ':: lirc.service and lircm.service have been replaced'
+ echo ' by the upstream unit files lircd.service and'
+ echo ' lircmd.service.'
+ fi
+}
diff --git a/pcr/lirc-parabola-lts/lirc.logrotate b/pcr/lirc-parabola-lts/lirc.logrotate
new file mode 100644
index 000000000..623c4f328
--- /dev/null
+++ b/pcr/lirc-parabola-lts/lirc.logrotate
@@ -0,0 +1,5 @@
+/var/log/lircd {
+ missingok
+ notifempty
+ delaycompress
+}
diff --git a/pcr/lirc-parabola-lts/lirc.tmpfiles b/pcr/lirc-parabola-lts/lirc.tmpfiles
new file mode 100644
index 000000000..0b80e2e47
--- /dev/null
+++ b/pcr/lirc-parabola-lts/lirc.tmpfiles
@@ -0,0 +1 @@
+d /run/lirc 0755 root root -
diff --git a/pcr/lirc-parabola-lts/wpc8769l-build-fix.patch b/pcr/lirc-parabola-lts/wpc8769l-build-fix.patch
new file mode 100644
index 000000000..5e25693ab
--- /dev/null
+++ b/pcr/lirc-parabola-lts/wpc8769l-build-fix.patch
@@ -0,0 +1,90 @@
+diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+index 790efa2..4248fe9 100644
+--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
++++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+@@ -51,17 +51,13 @@
+ #include <linux/irq.h>
+
+ #include <linux/acpi.h>
++#include <linux/types.h>
+
+ #include <linux/platform_device.h>
++#include <asm-generic/bitops/find.h>
+
+-#include "drivers/kcompat.h"
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
+-#include <media/lirc.h>
+-#include <media/lirc_dev.h>
+-#else
+-#include "drivers/lirc.h"
+-#include "drivers/lirc_dev/lirc_dev.h"
+-#endif
++#include "media/lirc_dev.h"
++#include "media/lirc.h"
+
+ #include "lirc_wpc8769l.h"
+
+@@ -105,11 +101,11 @@ static unsigned int baseport2;
+ static unsigned int irq;
+
+ /* Debugging flag. */
+-static int debug;
++static bool debug;
+
+ /* If true, we skip ACPI autodetection and use the parameter-supplied I/O and
+ * IRQ. */
+-static int skip_probe;
++static bool skip_probe;
+
+ /* Whether the device is open or not. */
+ static int lirc_wpc8769l_is_open;
+@@ -360,14 +356,14 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs)
+ size = count << 3;
+
+ ldata = (unsigned long *) data_buf;
+- next_one = generic_find_next_le_bit(ldata, size, 0);
++ next_one = find_next_bit(ldata, size, 0);
+
+ if (next_one > 0)
+ put_pulse_bit(next_one
+ * WPC8769L_USECS_PER_BIT);
+
+ while (next_one < size) {
+- next_zero = generic_find_next_zero_le_bit(ldata,
++ next_zero = find_next_zero_bit(ldata,
+ size, next_one + 1);
+
+ put_space_bit(
+@@ -375,7 +371,7 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs)
+ * WPC8769L_USECS_PER_BIT);
+
+ if (next_zero < size) {
+- next_one = generic_find_next_le_bit(ldata,
++ next_one = find_next_bit(ldata,
+ size, next_zero + 1);
+
+ put_pulse_bit(
+@@ -922,12 +918,12 @@ static int wpc8769l_acpi_detect(void)
+ #ifdef MODULE
+ static struct platform_device *lirc_wpc8769l_platform_dev;
+
+-static int __devinit lirc_wpc8769l_probe(struct platform_device *dev)
++static int lirc_wpc8769l_probe(struct platform_device *dev)
+ {
+ return 0;
+ }
+
+-static int __devexit lirc_wpc8769l_remove(struct platform_device *dev)
++static int lirc_wpc8769l_remove(struct platform_device *dev)
+ {
+ return 0;
+ }
+@@ -955,7 +951,7 @@ static int lirc_wpc8769l_resume(struct platform_device *dev)
+
+ static struct platform_driver lirc_wpc8769l_platform_driver = {
+ .probe = lirc_wpc8769l_probe,
+- .remove = __devexit_p(lirc_wpc8769l_remove),
++ .remove = lirc_wpc8769l_remove,
+ .suspend = lirc_wpc8769l_suspend,
+ .resume = lirc_wpc8769l_resume,
+ .driver = {
diff --git a/pcr/tp_smapi-parabola-grsec/PKGBUILD b/pcr/tp_smapi-parabola-grsec/PKGBUILD
new file mode 100644
index 000000000..79dc1f2ea
--- /dev/null
+++ b/pcr/tp_smapi-parabola-grsec/PKGBUILD
@@ -0,0 +1,81 @@
+# $Id: PKGBUILD 116831 2014-08-04 07:32:08Z tpowa $
+# Maintainer (Arch): Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor (Arch): xduugu
+# Contributor (Arch): nh2
+# Contributor (Arch): Steven Davidovitz <steviedizzle ð gmail đ com>
+# Contributor (Arch): Nick B <Shirakawasuna ð gmail đ com>
+# Contributor (Arch): Christof Musik <christof ð senfdax đ de>
+# Contributor (Arch): Stefan Rupp <archlinux ð stefanrupp đ de>
+# Contributor (Arch): Ignas Anikevicius <anikevicius ð gmail đ com>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.15
+_kernelname=-grsec
+
+# Source info
+_pkgname=tp_smapi
+pkgver=0.41
+pkgdesc="Modules for ThinkPad's SMAPI functionality (built for the linux-libre${_kernelname} kernel package)"
+url='https://github.com/evgeni/tp_smapi'
+license=('GPL')
+source=("https://github.com/downloads/evgeni/${_pkgname}/${_pkgname}-${pkgver}.tar.gz")
+md5sums=('63c683415c764568f6bf17c7eabe4752')
+
+# Package info
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+install='kmod.install'
+
+# Generic (you shouldn't have to modify any of these variables)
+pkgname=${_pkgname}-parabola${_kernelname}
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+replaces=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+conflicts=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+provides=("${_pkgname}${_kernelname}=${pkgver}") # for Arch-compatibility
+if [[ -n "${_kernelname}" ]]; then
+ provides+=("${_pkgname}-parabola=${pkgver}") # pkgname without _kernelname
+fi
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ sed -ri -e "s/^(KVER\s*:=).*$/\1 ${_kernver}/" \
+ -e "s#^(KBASE\s*:=).*\$#\1 /usr/lib/modules/${_kernver}#" Makefile
+
+ make HDAPS=1
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ # Actually install
+ make -C "/usr/lib/modules/${_kernver}/build" \
+ INSTALL_MOD_PATH="${pkgdir}/usr" \
+ M="${srcdir}/${_pkgname}-${pkgver}" modules_install
+
+ cd "${pkgdir}/usr/lib/modules"
+ mv "${_kernver}/extra" "${_extramodules}"
+ rmdir "${_kernver}"
+
+ # compress kernel modules
+ find "${pkgdir}" -name "*.ko" -exec gzip -9 {} +
+
+ # load module on startup
+ install -dm 755 "${pkgdir}/usr/lib/modules-load.d"
+ echo ${_pkgname} > "${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf"
+}
diff --git a/pcr/tp_smapi-parabola-grsec/kmod.install b/pcr/tp_smapi-parabola-grsec/kmod.install
new file mode 100644
index 000000000..d4bd8cb34
--- /dev/null
+++ b/pcr/tp_smapi-parabola-grsec/kmod.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/pcr/vhba-module-parabola-grsec/60-vhba.rules b/pcr/vhba-module-parabola-grsec/60-vhba.rules
new file mode 100644
index 000000000..39ae3a4ec
--- /dev/null
+++ b/pcr/vhba-module-parabola-grsec/60-vhba.rules
@@ -0,0 +1 @@
+ACTION=="add", KERNEL=="vhba_ctl", NAME="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu", TAG+="uaccess"
diff --git a/pcr/vhba-module-parabola-grsec/PKGBUILD b/pcr/vhba-module-parabola-grsec/PKGBUILD
new file mode 100644
index 000000000..468d7ab0e
--- /dev/null
+++ b/pcr/vhba-module-parabola-grsec/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 116828 2014-08-04 07:19:43Z tpowa $
+# Maintainer (Arch): Ray Rashif <schiv@archlinux.org>
+# Contributor (Arch): Mateusz Herych <heniekk@gmail.com>
+# Contributor (Arch): Charles Lindsay <charles@chaoslizard.org>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.15
+_kernelname=-grsec
+
+# Source info
+_pkgname=vhba-module
+pkgver=20140629
+pkgdesc="Kernel module that emulates SCSI devices (built for the linux-libre${_kernelname} kernel package)"
+url="http://cdemu.sourceforge.net/"
+license=('GPL')
+source=("http://downloads.sourceforge.net/cdemu/$_pkgname-$pkgver.tar.bz2"
+ '60-vhba.rules')
+md5sums=('6b307a80df9c163768cc7ecb3ccebb71'
+ '4dc37dc348b5a2c83585829bde790dcc')
+
+# Package info
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+options=(!makeflags)
+install=$_pkgname.install
+
+# Generic (you shouldn't have to modify any of these variables)
+pkgname=${_pkgname}-parabola${_kernelname}
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+replaces=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+conflicts=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+provides=("${_pkgname}${_kernelname}=${pkgver}") # for Arch-compatibility
+if [[ -n "${_kernelname}" ]]; then
+ provides+=("${_pkgname}-parabola=${pkgver}") # pkgname without _kernelname
+fi
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ make KDIR=/usr/lib/modules/$_kernver/build
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ # Actually install
+ install -Dm644 vhba.ko "$pkgdir/usr/lib/modules/$_extramodules/vhba.ko"
+ install -Dm644 ../60-vhba.rules "$pkgdir/usr/lib/udev/rules.d/60-vhba.rules"
+}
diff --git a/pcr/vhba-module-parabola-grsec/vhba-module.install b/pcr/vhba-module-parabola-grsec/vhba-module.install
new file mode 100644
index 000000000..04d26b27b
--- /dev/null
+++ b/pcr/vhba-module-parabola-grsec/vhba-module.install
@@ -0,0 +1,20 @@
+_updatemod() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_install() {
+ getent group cdemu &>/dev/null || groupadd -r cdemu
+ _updatemod
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ _updatemod
+ groupdel cdemu
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/vhba-module-parabola-lts/60-vhba.rules b/pcr/vhba-module-parabola-lts/60-vhba.rules
new file mode 100644
index 000000000..39ae3a4ec
--- /dev/null
+++ b/pcr/vhba-module-parabola-lts/60-vhba.rules
@@ -0,0 +1 @@
+ACTION=="add", KERNEL=="vhba_ctl", NAME="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu", TAG+="uaccess"
diff --git a/pcr/vhba-module-parabola-lts/PKGBUILD b/pcr/vhba-module-parabola-lts/PKGBUILD
new file mode 100644
index 000000000..ed17049c8
--- /dev/null
+++ b/pcr/vhba-module-parabola-lts/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 116828 2014-08-04 07:19:43Z tpowa $
+# Maintainer (Arch): Ray Rashif <schiv@archlinux.org>
+# Contributor (Arch): Mateusz Herych <heniekk@gmail.com>
+# Contributor (Arch): Charles Lindsay <charles@chaoslizard.org>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+# Kernel info
+_basekernel=3.14
+_kernelname=-lts
+
+# Source info
+_pkgname=vhba-module
+pkgver=20140629
+pkgdesc="Kernel module that emulates SCSI devices (built for the linux-libre${_kernelname} kernel package)"
+url="http://cdemu.sourceforge.net/"
+license=('GPL')
+source=("http://downloads.sourceforge.net/cdemu/$_pkgname-$pkgver.tar.bz2"
+ '60-vhba.rules')
+md5sums=('6b307a80df9c163768cc7ecb3ccebb71'
+ '4dc37dc348b5a2c83585829bde790dcc')
+
+# Package info
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+options=(!makeflags)
+install=$_pkgname.install
+
+# Generic (you shouldn't have to modify any of these variables)
+pkgname=${_pkgname}-parabola${_kernelname}
+_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1)))
+_extramodules=extramodules-${_basekernel}${_kernelname}
+depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}")
+makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}")
+replaces=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+conflicts=("${_pkgname}${_kernelname}" "${_pkgname}-libre${_kernelname}") # for Arch-compatibility
+provides=("${_pkgname}${_kernelname}=${pkgver}") # for Arch-compatibility
+if [[ -n "${_kernelname}" ]]; then
+ provides+=("${_pkgname}-parabola=${pkgver}") # pkgname without _kernelname
+fi
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ make KDIR=/usr/lib/modules/$_kernver/build
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # Set the correct extramodules directory for install
+ cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
+ true && install=${install}.pkg
+ sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}"
+
+ # Actually install
+ install -Dm644 vhba.ko "$pkgdir/usr/lib/modules/$_extramodules/vhba.ko"
+ install -Dm644 ../60-vhba.rules "$pkgdir/usr/lib/udev/rules.d/60-vhba.rules"
+}
diff --git a/pcr/vhba-module-parabola-lts/vhba-module.install b/pcr/vhba-module-parabola-lts/vhba-module.install
new file mode 100644
index 000000000..04d26b27b
--- /dev/null
+++ b/pcr/vhba-module-parabola-lts/vhba-module.install
@@ -0,0 +1,20 @@
+_updatemod() {
+ _extramodules=THIS_IS_AUTOMATICALLY_SET_BY_PKGBUILD
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_install() {
+ getent group cdemu &>/dev/null || groupadd -r cdemu
+ _updatemod
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ _updatemod
+ groupdel cdemu
+}
+
+# vim:set ts=2 sw=2 et: